[
  {
    "path": ".azuredevops/multinode-ci-nightly.yml",
    "content": "resources:\n  repositories:\n  - repository: pipelines_repo\n    type: github\n    endpoint: ROCm\n    name: ROCm/ROCm\n\nvariables:\n- group: common\n- template: /.azuredevops/variables-global.yml@pipelines_repo\n- name: pytestFolder\n  value: '.azuredevops/tests/pytest'\n\nparameters:\n- name: pytestList\n  type: object\n  default:\n    - HelloWorld\n\ntrigger: none\npr: none\nschedules:\n  - cron: \"0 5 * 11-3 *\"  # 11 PM CST (November - March)\n    displayName: \"Nightly Build (CST)\"\n    branches:\n      include:\n        - develop\n    always: false\n\n  - cron: \"0 4 * 4-10 *\"  # 11 PM CDT (April - October)\n    displayName: \"Nightly Build (CDT)\"\n    branches:\n      include:\n        - develop\n    always: false\n\njobs:\n- job: rccl\n  timeoutInMinutes: 180\n  pool: rocm-ci_rccl_pool\n  workspace:\n    clean: all\n  steps:\n  - task: DeleteFiles@1\n    inputs:\n      Contents: '**/*'\n  - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml@pipelines_repo\n    parameters:\n      submoduleBehaviour: recursive\n  - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml@pipelines_repo\n    parameters:\n      installEnabled: false\n      printDiskSpace: false\n      extraBuildFlags: >-\n        -DCMAKE_BUILD_TYPE=Release\n        -DBUILD_TESTS=ON\n        -GNinja\n  - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml@pipelines_repo\n    parameters:\n      componentName: rccl\n      testDir: $(Build.SourcesDirectory)/build/test\n      testExecutable: 'LD_LIBRARY_PATH=$(Build.SourcesDirectory)/build:${LD_LIBRARY_PATH} NCCL_DEBUG=INFO RCCL_ENABLE_SIGNALHANDLER=1 ./rccl-UnitTests'\n      testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'\n  - ${{ each pytestScript in parameters.pytestList }}:\n    - task: Bash@3\n      displayName: Test ${{ pytestScript }}\n      continueOnError: true\n      inputs:\n        targetType: inline\n        workingDirectory: $(Build.SourcesDirectory)/$(pytestFolder)\n        script: pytest ${{ pytestScript }}.py\n"
  },
  {
    "path": ".azuredevops/multinode-ci-pr.yml",
    "content": "resources:\n  repositories:\n  - repository: pipelines_repo\n    type: github\n    endpoint: ROCm\n    name: ROCm/ROCm\n\nvariables:\n- group: common\n- template: /.azuredevops/variables-global.yml@pipelines_repo\n- name: pytestFolder\n  value: '.azuredevops/tests/pytest'\n\nparameters:\n- name: pytestList\n  type: object\n  default:\n    - HelloWorld\n\ntrigger: none\npr:\n  autoCancel: true\n  branches:\n    include:\n    - develop\n  paths:\n    exclude:\n    - .github\n    - .jenkins\n    - docs\n    - '*.md'\n    - LICENSE.txt\n    - NOTICES.txt\n  drafts: false\n\nstages:\n- stage: rcclStage\n  displayName: 'RCCL develop PR'\n  jobs:\n  - deployment: rccl_pr_approval\n    displayName: \"CI Run Requires Approval\"\n    environment: rccl\n  - job: rccl\n    timeoutInMinutes: 180\n    pool: rocm-ci_rccl_pool\n    workspace:\n      clean: all\n    steps:\n    - task: DeleteFiles@1\n      inputs:\n        Contents: '**/*'\n    - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml@pipelines_repo\n      parameters:\n        submoduleBehaviour: recursive\n    - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml@pipelines_repo\n      parameters:\n        installEnabled: false\n        printDiskSpace: false\n        extraBuildFlags: >-\n          -DCMAKE_BUILD_TYPE=Release\n          -DBUILD_TESTS=ON\n          -DGPU_TARGETS=gfx942\n          -GNinja\n    - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml@pipelines_repo\n      parameters:\n        componentName: rccl\n        testDir: $(Build.SourcesDirectory)/build/test\n        testExecutable: 'LD_LIBRARY_PATH=$(Build.SourcesDirectory)/build:${LD_LIBRARY_PATH} NCCL_DEBUG=INFO RCCL_ENABLE_SIGNALHANDLER=1 ./rccl-UnitTests'\n        testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes'\n    - ${{ each pytestScript in parameters.pytestList }}:\n      - task: Bash@3\n        displayName: Test ${{ pytestScript }}\n        continueOnError: true\n        inputs:\n          targetType: inline\n          workingDirectory: $(Build.SourcesDirectory)/$(pytestFolder)\n          script: pytest ${{ pytestScript }}.py\n"
  },
  {
    "path": ".azuredevops/multinode-ci-slurm-nightly.yml",
    "content": "resources:\n  repositories:\n  - repository: pipelines_repo\n    type: github\n    endpoint: ROCm\n    name: ROCm/ROCm\n\nvariables:\n- group: common\n- template: /.azuredevops/variables-global.yml@pipelines_repo\n\ntrigger: none\npr: none\nschedules:\n  - cron: \"0 5 * 11-3 *\"  # 11 PM CST (November - March)\n    displayName: \"Nightly Build (CST)\"\n    branches:\n      include:\n        - develop\n    always: false\n\n  - cron: \"0 4 * 4-10 *\"  # 11 PM CDT (April - October)\n    displayName: \"Nightly Build (CDT)\"\n    branches:\n      include:\n        - develop\n    always: false\n\njobs:\n- job: rccl\n  timeoutInMinutes: 240\n  pool: rocm-ci_rccl_slurm_pool\n  workspace:\n    clean: all\n  steps:\n  - task: DeleteFiles@1\n    inputs:\n      Contents: '**/*'\n  - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml@pipelines_repo\n    parameters:\n      submoduleBehaviour: recursive\n  - template: templates/build.yml\n  - template: templates/test_rccl-UnitTests.yml\n  - template: templates/test_rccl-tests.yml\n"
  },
  {
    "path": ".azuredevops/multinode-ci-slurm-pr.yml",
    "content": "resources:\n  repositories:\n  - repository: pipelines_repo\n    type: github\n    endpoint: ROCm\n    name: ROCm/ROCm\n\nvariables:\n- group: common\n- template: /.azuredevops/variables-global.yml@pipelines_repo\n\ntrigger: none\npr:\n  autoCancel: true\n  branches:\n    include:\n    - develop\n  paths:\n    exclude:\n    - .github\n    - .jenkins\n    - docs\n    - '*.md'\n    - LICENSE.txt\n    - NOTICES.txt\n  drafts: false\n\nstages:\n- stage: rcclStage\n  displayName: 'RCCL develop PR'\n  jobs:\n  - deployment: rccl_pr_approval\n    displayName: \"CI Run Requires Approval\"\n    environment: rccl\n  - job: rccl\n    timeoutInMinutes: 240\n    pool: rocm-ci_rccl_slurm_pool\n    workspace:\n      clean: all\n    steps:\n    - task: DeleteFiles@1\n      inputs:\n        Contents: '**/*'\n    - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml@pipelines_repo\n      parameters:\n        submoduleBehaviour: recursive\n    - template: templates/build.yml\n    - template: templates/test_rccl-UnitTests.yml\n    - template: templates/test_rccl-tests.yml\n"
  },
  {
    "path": ".azuredevops/rocm-ci.yml",
    "content": "variables:\n- group: common\n- template: /.azuredevops/variables-global.yml@pipelines_repo\n\nparameters:\n- name: pipelinesRepoRef\n  type: string\n  default: refs/heads/develop\n- name: systemsRepoRef\n  type: string\n  default: refs/heads/develop\n- name: systemsSparseCheckoutDir\n  type: string\n  default: 'projects/rocprofiler-sdk'\n- name: triggerDownstreamJobs\n  type: boolean\n  default: true\n\nresources:\n  repositories:\n  - repository: pipelines_repo\n    type: github\n    endpoint: ROCm\n    name: ROCm/ROCm\n    ref: ${{ parameters.pipelinesRepoRef }}\n  - repository: systems_repo\n    type: github\n    endpoint: ROCm\n    name: ROCm/rocm-systems\n    ref: ${{ parameters.systemsRepoRef }}\n\ntrigger:\n  batch: true\n  branches:\n    include:\n    - develop\n    - mainline\n  paths:\n    exclude:\n    - .github\n    - .jenkins\n    - docs\n    - '.*.y*ml'\n    - '*.md'\n    - LICENSE.txt\n    - NOTICES.txt\n\npr:\n  autoCancel: true\n  branches:\n    include:\n    - develop\n    - mainline\n  paths:\n    exclude:\n    - .github\n    - .jenkins\n    - docs\n    - '.*.y*ml'\n    - '*.md'\n    - LICENSE.txt\n    - NOTICES.txt\n  drafts: false\n\nstages:\n- stage: rccl\n  jobs:\n  - template: ${{ variables.CI_COMPONENT_PATH }}/rccl.yml@pipelines_repo\n    parameters:\n      sparseCheckoutDir: ''\n      systemsRepo: systems_repo\n      systemsSparseCheckoutDir: ${{ parameters.systemsSparseCheckoutDir }}\n      triggerDownstreamJobs: ${{ parameters.triggerDownstreamJobs }}\n"
  },
  {
    "path": ".azuredevops/slurm/build.sh",
    "content": "#!/bin/bash\n#SBATCH --job-name=rccl-build\n#SBATCH --output=rccl-build-%j.out\n#SBATCH --error=rccl-build-%j.out\n#SBATCH --time=60\n#SBATCH --nodes=1\n#SBATCH --exclusive\n#SBATCH --partition=gt\n\nshort_id=$(hostname | cut -d'.' -f1 | cut -d'-' -f3-)\necho \"Node identifier: $short_id\"\n\nsource /etc/profile.d/lmod.sh\nmodule load rocm/6.4.1\n\n# Setup local binary path\nexport PATH=\"$HOME/.local/bin:$PATH\"\nmkdir -p \"$HOME/.local/bin\"\n\n# Install Ninja if not already available\nif ! command -v ninja &>/dev/null; then\n  echo \"Ninja not found. Installing locally...\"\n  wget -q https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip -O /tmp/ninja.zip\n  unzip -q /tmp/ninja.zip -d \"$HOME/.local/bin\"\n  chmod +x \"$HOME/.local/bin/ninja\"\nfi\n\necho \"Using Ninja at: $(which ninja)\"\nninja --version\n\n# Define GPU target\nexport GPU_TARGETS=\"gfx942\"\n\ncd \"${SLURM_SUBMIT_DIR:-$PWD}\"\n## Building RCCL\nmkdir -p build\ncd build\ncmake -G Ninja -DCMAKE_INSTALL_PREFIX=\"$BINARIES_DIR\" -DCMAKE_BUILD_TYPE=Release -DGPU_TARGETS=${GPU_TARGETS} -DBUILD_TESTS=ON -DROCM_PATH=\"$ROCM_PATH\" ..\ncmake --build .\ncmake --build . --target install\n\n# Building RCCL Replayer\ncd ../tools/RcclReplayer 2>/dev/null || cd ../RcclReplayer\nRCCL_DIR=\"../../build\" ROCM_DIR=\"$ROCM_PATH\" MPI_DIR=\"$MPI_HOME\" make\n\ncd \"${SLURM_SUBMIT_DIR:-$PWD}\"\n## Building RCCL-Tests\ngit clone https://github.com/ROCm/rccl-tests\ncd rccl-tests\nmkdir -p build\ncd build\ncmake -DCMAKE_PREFIX_PATH=\"$BINARIES_DIR;$MPI_HOME\" -DUSE_MPI=ON -DCMAKE_INSTALL_PREFIX=\"$BINARIES_DIR\" -DCMAKE_BUILD_TYPE=Release -DGPU_TARGETS=${GPU_TARGETS} -DROCM_PATH=\"$ROCM_PATH\" ..\ncmake --build .\ncmake --build . --target install\n"
  },
  {
    "path": ".azuredevops/slurm/test_rccl-UnitTests.sh",
    "content": "#!/bin/bash\n#SBATCH --job-name=rccl-UnitTests\n#SBATCH --output=%x-%j.out\n#SBATCH --error=%x-%j.out\n#SBATCH --time=180\n#SBATCH --nodes=1\n#SBATCH --exclusive\n#SBATCH --partition=gt\n\nshort_id=$(hostname | cut -d'.' -f1 | cut -d'-' -f3-)\necho \"Node identifier: $short_id\"\n\nsource /etc/profile.d/lmod.sh\nmodule load rocm/6.4.1\ncd \"$BINARIES_DIR/bin\"\nLD_LIBRARY_PATH=\"$BINARIES_DIR/lib:$LD_LIBRARY_PATH\" NCCL_DEBUG=INFO RCCL_ENABLE_SIGNALHANDLER=1 HSA_NO_SCRATCH_RECLAIM=1 ./rccl-UnitTests --gtest_output=xml:$PIPELINE_WORKSPACE/rccl-UnitTests_output.xml --gtest_color=yes\n"
  },
  {
    "path": ".azuredevops/slurm/test_rccl-tests.sh",
    "content": "#!/bin/bash\n#SBATCH --job-name=rccl-tests\n#SBATCH --output=%x-%j.out\n#SBATCH --error=%x-%j.out\n#SBATCH --time=60\n#SBATCH --nodes=1\n#SBATCH --exclusive\n#SBATCH --partition=gt\n\nshort_id=$(hostname | cut -d'.' -f1 | cut -d'-' -f3-)\necho \"Node identifier: $short_id\"\n\nsource /etc/profile.d/lmod.sh\nmodule load rocm/6.4.1\n\ncd ${PIPELINE_WORKSPACE}/TestResults\nmkdir -p ${PIPELINE_WORKSPACE}/TestResults/rccl-tests_logs\nexport WORKDIR=${PIPELINE_WORKSPACE}/TestResults/rccl-tests_logs\n\nexport PATH=\"$BINARIES_DIR/bin:$PATH\"\nexport LD_LIBRARY_PATH=\"$BINARIES_DIR/lib:$LD_LIBRARY_PATH\"\n\n### create hostlist\n#nodelist=($(scontrol show hostnames))\n#echo \"SLURM nodes:\"\n#echo ${nodelist[@]}\n#echo \"\"\n#\n#hosts_8ppn=()\n#for node in \"${nodelist[@]}\"\n#do\n#    hosts_8ppn+=(\"${node}:8\")\n#done\n#echo ${hosts_8ppn[@]}\n\n### Run multi- and single-node RCCL-Tests\n## Run single-node RCCL-Tests\nfor n in 1\ndo\n    total=$((n*8))\n    #h_8ppn=`echo ${hosts_8ppn[@]:0:${n}} | tr ' ' ','`\n\n    for coll in all_reduce all_gather reduce_scatter alltoall alltoallv broadcast gather reduce scatter sendrecv\n    do\n        for dtype in float bfloat16 half fp8_e5m2\n        do\n            out_filename=\"${WORKDIR}/rccl-tests_${coll}_1KB-16GB_nodes${n}_gpus${total}_${dtype}.log\"\n            #cmd=\"${MPI_HOME}/bin/mpirun -np ${total} --host ${h_8ppn} -mca pml ob1 -mca btl ^openib -mca oob_tcp_if_exclude docker,lo -mca btl_tcp_if_exclude docker,lo -x PATH -x LD_LIBRARY_PATH -x NCCL_DEBUG=VERSION -x NCCL_IB_HCA=bnxt_re0,bnxt_re1,bnxt_re2,bnxt_re3,bnxt_re4,bnxt_re5,bnxt_re6,bnxt_re7 -x NCCL_IGNORE_CPU_AFFINITY=1 -x HSA_NO_SCRATCH_RECLAIM=1 -x NCCL_IB_GID_INDEX=3 ${BINARIES_DIR}/bin/${coll}_perf -b 1K -e 16G -f 2 -g 1 -n 100 -w 50 -d ${dtype} -Z json -x ${WORKDIR}/rccl-tests_${coll}_nodes${n}_gpus${total}_${dtype}.json\"\n            cmd=\"${MPI_HOME}/bin/mpirun -np ${total} -mca pml ^ucx -mca osc ^ucx -mca btl ^openib -mca oob_tcp_if_exclude docker,lo -mca btl_tcp_if_exclude docker,lo -x PATH -x LD_LIBRARY_PATH -x NCCL_DEBUG=VERSION -x NCCL_IGNORE_CPU_AFFINITY=1 -x HSA_NO_SCRATCH_RECLAIM=1 ${BINARIES_DIR}/bin/${coll}_perf -b 1K -e 16G -f 2 -g 1 -n 100 -w 50 -d ${dtype} -Z json -x ${WORKDIR}/rccl-tests_${coll}_nodes${n}_gpus${total}_${dtype}.json\"\n\n            echo \"Running ${coll}\" 2>&1 | tee ${out_filename}\n            echo \"Run cmd: ${cmd}\" 2>&1 | tee -a ${out_filename}\n            eval ${cmd} 2>&1 | tee -a ${out_filename}\n\n            sleep 2\n        done\n    done\ndone\n\n## To add\n### Summarize results\n### Convert to junit\n"
  },
  {
    "path": ".azuredevops/templates/build.yml",
    "content": "# small subset of files to check for install to determine pass/fail\nparameters:\n- name: expectedInstallFiles\n  type: object\n  default:\n    - bin/rccl-UnitTests\n    - include/rccl/rccl.h\n    - lib/cmake/rccl/rccl-config.cmake\n    - lib/librccl.so\n    - share/doc/rccl/LICENSE.txt\n    - share/rccl/msccl-algorithms\n    - share/rccl/msccl-unit-test-algorithms\n\nsteps:\n  - task: Bash@3\n    displayName: Build Job\n    env:\n      BINARIES_DIR: $(Build.BinariesDirectory)\n    inputs:\n      targetType: inline\n      script: |\n        echo \"##[section]Starting build job...\"\n\n        rm -rf $(Build.BinariesDirectory)/*\n\n        echo \"Submitting build job...\"\n        mkdir -p $(Build.BinariesDirectory)\n        BUILD_JOB_ID=$(sbatch --export=ALL --parsable $(Build.SourcesDirectory)/.azuredevops/slurm/build.sh)\n        echo \"Submitted build job: $BUILD_JOB_ID\"\n        echo \"##vso[task.setvariable variable=BUILD_JOB_ID]$BUILD_JOB_ID\"\n\n        echo \"Waiting for build job to start...\"\n        while squeue -j $BUILD_JOB_ID 2>/dev/null | grep -q $BUILD_JOB_ID; do\n          echo \"##[section]Build job $BUILD_JOB_ID is still running...\"\n          sleep 60\n        done\n\n        echo \"Waiting for final status via sacct...\"\n        LOOP_COUNT=0\n        MAX_LOOPS=30  # Maximum of 30 loops (30 minutes)\n        while true; do\n          STATE=$(sacct -j \"$BUILD_JOB_ID\" --format=JobID,State --noheader | awk '$1 ~ /\\.batch$/ { print $2; exit }' | xargs)\n          echo \"##[section]Build job state: $STATE\"\n          if [[ \"$STATE\" == \"COMPLETED\" ]]; then\n            break\n          elif [[ \"$STATE\" =~ ^(FAILED|CANCELLED|TIMEOUT)$ ]]; then\n            echo \"Build failed with state $STATE\"\n            break\n          fi\n          sleep 60\n          LOOP_COUNT=$((LOOP_COUNT + 1))\n          if [ $LOOP_COUNT -ge $MAX_LOOPS ]; then\n            echo \"Time limit reached while waiting for final status.\"\n            exit 1  # Exit with an error code if time limit is reached\n          fi\n        done\n\n        echo \"Checking for expected installed files...\"\n        MISSING_FILES=0\n\n        expectedFiles=\"${{ join(' ', parameters.expectedInstallFiles) }}\"\n        i=1\n        total=$(echo \"$expectedFiles\" | wc -w)\n        while [ $i -le $total ]; do\n          relpath=$(echo \"$expectedFiles\" | cut -d ' ' -f\"$i\")\n          fullpath=\"$BINARIES_DIR/$relpath\"\n          if [ ! -e \"$fullpath\" ]; then\n            echo \"##vso[task.logissue type=error]Missing expected file: $fullpath\"\n            MISSING_FILES=1\n          fi\n          i=$((i + 1))\n        done\n\n        if [ \"$MISSING_FILES\" -eq 1 ]; then\n          echo \"One or more expected files are missing from the install directory.\"\n          exit 1\n        else\n          echo \"All expected files are present in the install directory.\"\n        fi\n  - task: Bash@3\n    displayName: Build Logs\n    condition: always()\n    inputs:\n      targetType: inline\n      script: |\n        cat rccl-build-${BUILD_JOB_ID}.out || echo \"No log found\"\n"
  },
  {
    "path": ".azuredevops/templates/test_rccl-UnitTests.yml",
    "content": "steps:\n  - task: Bash@3\n    displayName: RCCL UnitTests\n    env:\n      BINARIES_DIR: $(Build.BinariesDirectory)\n      PIPELINE_WORKSPACE: $(Pipeline.Workspace)\n    inputs:\n      targetType: inline\n      script: |\n        echo \"Submitting test job...\"\n        TEST_JOB_ID=$(sbatch --export=ALL --parsable $(Build.SourcesDirectory)/.azuredevops/slurm/test_rccl-UnitTests.sh)\n        echo \"Submitted test job: $TEST_JOB_ID\"\n        echo \"##vso[task.setvariable variable=TEST_JOB_ID]$TEST_JOB_ID\"\n\n        echo \"Waiting for test job to start...\"\n        while squeue -j $TEST_JOB_ID 2>/dev/null | grep -q $TEST_JOB_ID; do\n          echo \"##[section]Test job $TEST_JOB_ID is still running...\"\n          sleep 60\n        done\n\n        echo \"Waiting for final status via sacct...\"\n        LOOP_COUNT=0\n        MAX_LOOPS=120  # Maximum of 120 loops (120 minutes)\n        while true; do\n          STATE=$(sacct -j \"$TEST_JOB_ID\" --format=JobID,State --noheader | awk '$1 ~ /\\.batch$/ { print $2; exit }' | xargs)\n          echo \"##[section]Test job state: $STATE\"\n          if [[ \"$STATE\" == \"COMPLETED\" ]]; then\n            break\n          elif [[ \"$STATE\" =~ ^(FAILED|CANCELLED|TIMEOUT)$ ]]; then\n            echo \"Test failed with state $STATE\"\n            break\n          fi\n          sleep 60\n          LOOP_COUNT=$((LOOP_COUNT + 1))\n          if [ $LOOP_COUNT -ge $MAX_LOOPS ]; then\n            echo \"Time limit reached while waiting for final status.\"\n            exit 1  # Exit with an error code if time limit is reached\n          fi\n        done\n\n        echo \"Checking test result XML for failures...\"\n        TEST_XML=$(find \"$(Pipeline.Workspace)\" -name 'rccl-UnitTests_output.xml' | head -n1)\n        if [ -z \"$TEST_XML\" ]; then\n          echo \"##vso[task.logissue type=error]No $TEST_XML file found\"\n          echo \"##vso[task.complete result=Failed;]DONE\"\n          exit 1\n        fi\n\n        if grep -q 'failures=\"[^0]' \"$TEST_XML\"; then\n          echo \"##vso[task.logissue type=error]Test failures detected in $TEST_XML\"\n          echo \"##vso[task.complete result=Failed;]DONE\"\n          exit 1\n        else\n          echo \"No test failures detected.\"\n        fi\n  - task: Bash@3\n    displayName: Test Logs\n    condition: always()\n    inputs:\n      targetType: inline\n      script: |\n        cat rccl-UnitTests-${TEST_JOB_ID}.out || echo \"No log found\"\n  - task: PublishTestResults@2\n    displayName: 'Publish Results'\n    condition: succeededOrFailed()\n    inputs:\n      searchFolder: $(Pipeline.Workspace)\n      testResultsFormat: JUnit\n      testResultsFiles: '**/rccl-UnitTests_output.xml'\n"
  },
  {
    "path": ".azuredevops/templates/test_rccl-tests.yml",
    "content": "steps:\n  - task: Bash@3\n    displayName: RCCL-Tests\n    env:\n      BINARIES_DIR: $(Build.BinariesDirectory)\n      PIPELINE_WORKSPACE: $(Pipeline.Workspace)\n    inputs:\n      targetType: inline\n      script: |\n        echo \"Submitting test job...\"\n        TEST_JOB_ID=$(sbatch --export=ALL --parsable $(Build.SourcesDirectory)/.azuredevops/slurm/test_rccl-tests.sh)\n        echo \"Submitted test job: $TEST_JOB_ID\"\n        echo \"##vso[task.setvariable variable=TEST_JOB_ID]$TEST_JOB_ID\"\n\n        echo \"Waiting for test job to start...\"\n        while squeue -j $TEST_JOB_ID 2>/dev/null | grep -q $TEST_JOB_ID; do\n          echo \"##[section]Test job $TEST_JOB_ID is still running...\"\n          sleep 60\n        done\n\n        echo \"Waiting for final status via sacct...\"\n        LOOP_COUNT=0\n        MAX_LOOPS=120  # Maximum of 120 loops (120 minutes)\n        while true; do\n          STATE=$(sacct -j \"$TEST_JOB_ID\" --format=JobID,State --noheader | awk '$1 ~ /\\.batch$/ { print $2; exit }' | xargs)\n          echo \"##[section]Test job state: $STATE\"\n          if [[ \"$STATE\" == \"COMPLETED\" ]]; then\n            break\n          elif [[ \"$STATE\" =~ ^(FAILED|CANCELLED|TIMEOUT)$ ]]; then\n            echo \"Test failed with state $STATE\"\n            break\n          fi\n          sleep 60\n          LOOP_COUNT=$((LOOP_COUNT + 1))\n          if [ $LOOP_COUNT -ge $MAX_LOOPS ]; then\n            echo \"Time limit reached while waiting for final status.\"\n            exit 1  # Exit with an error code if time limit is reached\n          fi\n        done\n\n        echo \"Checking test result json for failures...\"\n        TEST_JSON=$(find \"$(Pipeline.Workspace)\" -name 'rccl-tests*.json')\n        if [ -z \"$TEST_JSON\" ]; then\n          echo \"##vso[task.logissue type=error]No $TEST_JSON file(s) found\"\n          echo \"##vso[task.complete result=Failed;]DONE\"\n          exit 1\n        fi\n\n        #echo \"Checking test result XML for failures...\"\n        #TEST_XML=$(find \"$(Pipeline.Workspace)\" -name 'rccl-tests_output.xml' | head -n1)\n        #if [ -z \"$TEST_XML\" ]; then\n        #  echo \"##vso[task.logissue type=error]No $TES_XML file found\"\n        #  echo \"##vso[task.complete result=Failed;]DONE\"\n        #  exit 1\n        #fi\n\n        #if grep -q 'failures=\"[^0]' \"$TEST_XML\"; then\n        #  echo \"##vso[task.logissue type=error]Test failures detected in $TEST_XML\"\n        #  echo \"##vso[task.complete result=Failed;]DONE\"\n        #  exit 1\n        #else\n        #  echo \"No test failures detected.\"\n        #fi\n  - task: Bash@3\n    displayName: Test Logs\n    condition: always()\n    inputs:\n      targetType: inline\n      script: |\n        cat rccl-tests-${TEST_JOB_ID}.out || echo \"No log found\"\n#  - task: PublishTestResults@2\n#    displayName: 'Publish Results'\n#    condition: succeededOrFailed()\n#    inputs:\n#      searchFolder: $(Pipeline.Workspace)\n#      testResultsFormat: JUnit\n#      testResultsFiles: '**/rccl-tests_output.xml'\n"
  },
  {
    "path": ".azuredevops/tests/pytest/HelloWorld.py",
    "content": "import pytest\n\ndef test_HelloWorld():\n    greeting = \"Hello, World!\"\n    assert greeting == \"Hello, World!\"\n"
  },
  {
    "path": ".clang-format",
    "content": "# Style file for MLSE Libraries based on the modified rocBLAS style\n\n# Common settings\nBasedOnStyle:  WebKit\nTabWidth:        4\nIndentWidth:     4\nUseTab:          Never\nColumnLimit: 100\nUseCRLF: false\n\n# Other languages JavaScript, Proto\n---\nLanguage: Json\nDisableFormat: true\n\n---\nLanguage: Cpp\n\n# http://releases.llvm.org/6.0.1/tools/clang/docs/ClangFormatStyleOptions.html#disabling-formatting-on-a-piece-of-code\n# int formatted_code;\n# // clang-format off\n#     void    unformatted_code  ;\n# // clang-format on\n# void formatted_code_again;\n\nDisableFormat: false\nStandard: Cpp11\n\nAccessModifierOffset: -4\nAlignAfterOpenBracket: true\nAlignArrayOfStructures: Right\nAlignConsecutiveAssignments: true\nAlignConsecutiveDeclarations: true\nAlignEscapedNewlines: Left\nAlignOperands: true\nAlignTrailingComments: false\nAllowAllArgumentsOnNextLine: false\nAllowAllParametersOfDeclarationOnNextLine: true\nAllowShortBlocksOnASingleLine: Never\nAllowShortCaseLabelsOnASingleLine: true\nAllowShortFunctionsOnASingleLine: Empty\nAllowShortIfStatementsOnASingleLine: false\nAllowShortLoopsOnASingleLine: false\nAlwaysBreakAfterReturnType: None\nAlwaysBreakBeforeMultilineStrings: false\nAlwaysBreakTemplateDeclarations: Yes\nBinPackArguments: false\nBinPackParameters: false\nBitFieldColonSpacing: Both\n# Configure each individual brace in BraceWrapping\nBreakBeforeBraces: Custom\n# Control of individual brace wrapping cases\nBraceWrapping:\n    AfterCaseLabel: true\n    AfterClass: true\n    AfterControlStatement: Always\n    AfterEnum: true\n    AfterExternBlock: false\n    AfterFunction: true\n    AfterNamespace: true\n    AfterStruct: true\n    AfterUnion: true\n    BeforeCatch: true\n    BeforeElse: true\n    BeforeLambdaBody: true\n    BeforeWhile: true\n    IndentBraces: false\n    SplitEmptyFunction: false\n    SplitEmptyRecord: false\n    SplitEmptyNamespace: false\nBreakBeforeBinaryOperators: All\nBreakBeforeTernaryOperators: true\nBreakConstructorInitializers: BeforeComma\nBreakInheritanceList: BeforeComma\nBreakStringLiterals: true\nCommentPragmas: '^ IWYU pragma:'\nCompactNamespaces: false\nConstructorInitializerIndentWidth: 4\nContinuationIndentWidth: 4\nCpp11BracedListStyle: true\nDeriveLineEnding: false\nDerivePointerAlignment: false\nEmptyLineAfterAccessModifier: Never\nEmptyLineBeforeAccessModifier: Always\nExperimentalAutoDetectBinPacking: false\nFixNamespaceComments: true\nForEachMacros: []\nIfMacros: []\nIncludeBlocks: Preserve\nIndentAccessModifiers: false\nIndentCaseBlocks: true\nIndentCaseLabels: true\nIndentExternBlock: NoIndent\nIndentPPDirectives: BeforeHash\nIndentWrappedFunctionNames: true\nKeepEmptyLinesAtTheStartOfBlocks: true\nLambdaBodyIndentation: Signature\nMacroBlockBegin: ''\nMacroBlockEnd: ''\nMaxEmptyLinesToKeep: 1\nNamespaceIndentation: None\nPPIndentWidth: -1\nPackConstructorInitializers: NextLine\nPenaltyBreakBeforeFirstCallParameter: 19\nPenaltyBreakComment: 300\nPenaltyBreakFirstLessLess: 120\nPenaltyBreakString: 1000\nPenaltyExcessCharacter: 1000000\nPenaltyReturnTypeOnItsOwnLine: 60\nPointerAlignment: Left\nQualifierAlignment: Leave\nReferenceAlignment: Pointer\nReflowComments: false\nShortNamespaceLines: 0\nSortIncludes: CaseSensitive\nSortUsingDeclarations: true\nSpaceAfterCStyleCast: false\nSpaceAfterLogicalNot: false\nSpaceAfterTemplateKeyword: false\nSpaceAroundPointerQualifiers: Default\nSpaceBeforeAssignmentOperators: true\nSpaceBeforeCaseColon: false\nSpaceBeforeCpp11BracedList: false\nSpaceBeforeCtorInitializerColon: true\nSpaceBeforeInheritanceColon: true\nSpaceBeforeParens: Never\nSpaceBeforeRangeBasedForLoopColon: true\nSpaceBeforeSquareBrackets: false\nSpaceInEmptyBlock: false\nSpaceInEmptyParentheses: false\nSpacesBeforeTrailingComments: 1\nSpacesInAngles: Never\nSpacesInCStyleCastParentheses: false\nSpacesInConditionalStatement: false\nSpacesInContainerLiterals: true\nSpacesInParentheses: false\nSpacesInSquareBrackets: false\n\n---\n"
  },
  {
    "path": ".github/CODEOWNERS",
    "content": "* @ROCm/rccl-reviewers\n\n# Documentation files\ndocs/ @ROCm/rocm-documentation\n*.md @ROCm/rocm-documentation\n*.rst @ROCm/rocm-documentation\n.readthedocs.yaml @ROCm/rocm-documentation\n\nsrc/include/api_trace.h @ROCm/ROCM-DevTools-Team\n"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "content": "## Details\n___Do not mention proprietary info or link to internal work items in this PR.___\n\n**Work item:** _\"Internal\", or link to GitHub issue (if applicable)._\n\n**What were the changes?**  \n_One sentence describing the work done._\n\n**Why were the changes made?**  \n_Explain the motivation behind the work. Provide any publicly-available historical context._\n\n**How was the outcome achieved?**  \n_Technical details behind the work. Explain any publicly-available hardware peculiarities._\n\n**Additional Documentation:**  \n_What else should the reviewer know?_\n\n## Approval Checklist\n___Do not approve until these items are satisfied.___\n- [ ] Verify the CHANGELOG has been updated, if\n  - there are any NCCL API version changes,\n  - any changes impact library users, and/or\n  - any changes impact any other ROCm library.\n"
  },
  {
    "path": ".github/dependabot.yml",
    "content": ""
  },
  {
    "path": ".github/scripts/therock_configure_ci.py",
    "content": "# Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n# SPDX-License-Identifier: MIT \n\nimport fnmatch\nimport json\nimport os\nfrom pathlib import Path\nimport subprocess\nimport sys\nfrom typing import Iterable, Optional, Mapping\n\ndef gha_set_output(vars: Mapping[str, str | Path]):\n    \"\"\"Sets values in a step's output parameters.\n\n    This appends to the file located at the $GITHUB_OUTPUT environment variable.\n\n    See\n      * https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-output-parameter\n      * https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/passing-information-between-jobs\n    \"\"\"\n    print(f\"Setting github output:\\n{vars}\")\n\n    step_output_file = os.getenv(\"GITHUB_OUTPUT\")\n    if not step_output_file:\n        print(\"  Warning: GITHUB_OUTPUT env var not set, can't set github outputs\")\n        return\n\n    with open(step_output_file, \"a\") as f:\n        f.writelines(f\"{k}={str(v)}\" + \"\\n\" for k, v in vars.items())\n\ndef get_modified_paths(base_ref: str) -> Optional[Iterable[str]]:\n    \"\"\"Returns the paths of modified files relative to the base reference.\"\"\"\n    try:\n        return subprocess.run(\n            [\"git\", \"diff\", \"--name-only\", base_ref],\n            stdout=subprocess.PIPE,\n            check=True,\n            text=True,\n            timeout=60,\n        ).stdout.splitlines()\n    except TimeoutError:\n        print(\n            \"Computing modified files timed out. Not using PR diff to determine\"\n            \" jobs to run.\",\n            file=sys.stderr,\n        )\n        return None\n    \nGITHUB_WORKFLOWS_CI_PATTERNS = [\n    \"therock*.yml\",\n]\n\n\ndef is_path_workflow_file_related_to_ci(path: str) -> bool:\n    return any(\n        fnmatch.fnmatch(path, \".github/workflows/\" + pattern)\n        for pattern in GITHUB_WORKFLOWS_CI_PATTERNS\n    )\n    \ndef check_for_workflow_file_related_to_ci(paths: Optional[Iterable[str]]) -> bool:\n    if paths is None:\n        return False\n    return any(is_path_workflow_file_related_to_ci(p) for p in paths)\n\n# Paths matching any of these patterns are considered to have no influence over\n# build or test workflows so any related jobs can be skipped if all paths\n# modified by a commit/PR match a pattern in this list.\nSKIPPABLE_PATH_PATTERNS = [\n    \"docs/*\",\n    \"*.gitignore\",\n    \"*.md\",\n    \"*LICENSE*\",\n    \"*NOTICES*\",\n    '.github/CODEOWNERS',\n    '.github/*.md',\n    '.github/dependabot.yml',\n    '.azuredevops*',\n]\n\ndef is_path_skippable(path: str) -> bool:\n    \"\"\"Determines if a given relative path to a file matches any skippable patterns.\"\"\"\n    return any(fnmatch.fnmatch(path, pattern) for pattern in SKIPPABLE_PATH_PATTERNS)\n\ndef check_for_non_skippable_path(paths: Optional[Iterable[str]]) -> bool:\n    \"\"\"Returns true if at least one path is not in the skippable set.\"\"\"\n    if paths is None:\n        return False\n    return any(not is_path_skippable(p) for p in paths)\n\ndef should_ci_run_given_modified_paths(paths: Optional[Iterable[str]]) -> bool:\n    \"\"\"Returns true if CI workflows should run given a list of modified paths.\"\"\"\n\n    if paths is None:\n        print(\"No files were modified, skipping TheRock CI jobs\")\n        return False\n\n    paths_set = set(paths)\n    github_workflows_paths = set(\n        [p for p in paths if p.startswith(\".github/workflows\")]\n    )\n    other_paths = paths_set - github_workflows_paths\n    \n    related_to_ci = check_for_workflow_file_related_to_ci(github_workflows_paths)\n    contains_other_non_skippable_files = check_for_non_skippable_path(other_paths)\n\n    print(\"should_ci_run_given_modified_paths findings:\")\n    print(f\"  contains_other_non_skippable_files: {contains_other_non_skippable_files}\")\n\n    if related_to_ci:\n        print(\"Enabling build jobs since a related workflow file was modified\")\n        return True\n    elif contains_other_non_skippable_files:\n        print(\"Enabling TheRock CI jobs since a non-skippable path was modified\")\n        return True\n    else:\n        print(\n            \"Only unrelated and/or skippable paths were modified, skipping TheRock CI jobs\"\n        )\n        return False\n\ndef main(args):\n    base_ref = args.get(\"base_ref\")\n    modified_paths = get_modified_paths(base_ref)\n    print(\"modified_paths (max 200):\", modified_paths[:200])\n    enable_jobs = should_ci_run_given_modified_paths(modified_paths)\n    output = {\n        'enable_therock_ci': json.dumps(enable_jobs)\n    }\n    gha_set_output(output)\n\nif __name__ == \"__main__\":\n    args = {}\n    args[\"base_ref\"] = os.environ.get(\"BASE_REF\", \"HEAD^1\")\n    main(args)\n"
  },
  {
    "path": ".github/workflows/therock-ci-linux.yml",
    "content": "name: TheRock CI Linux\n\non:\n  workflow_call:\n    inputs:\n      amdgpu_families:\n        type: string\n      artifact_group:\n        type: string\n      extra_cmake_options:\n        type: string\n\npermissions:\n  contents: read\n\njobs:\n  therock-build-linux:\n    name: Build Linux Packages\n    runs-on: azure-linux-scale-rocm\n    permissions:\n      id-token: write\n    container:\n      image: ghcr.io/rocm/therock_build_manylinux_x86_64@sha256:1f1ce0ab151146c7f86ee4345be74c42d8ca83200d9d26843e8a71df01ecad4e\n      options: -v /runner/config:/home/awsconfig/\n    env:\n      AMDGPU_FAMILIES: ${{ inputs.amdgpu_families }}\n      TEATIME_FORCE_INTERACTIVE: 0\n      AWS_SHARED_CREDENTIALS_FILE: /home/awsconfig/credentials.ini\n      CACHE_DIR: ${{ github.workspace }}/.container-cache\n      # The ccache.conf will be written by setup_ccache.py before this gets used.\n      CCACHE_CONFIGPATH: ${{ github.workspace }}/.ccache/ccache.conf\n    steps:\n      - name: Checkout TheRock repository\n        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2\n        with:\n          repository: \"ROCm/TheRock\"\n          ref: ff46daa79b4c826c4f4676893d0d6586de567dfa # 2026-01-12 commit\n\n      - name: Checkout rccl repository\n        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2\n        with:\n          repository: \"ROCm/rccl\"\n          path: rccl\n\n      - name: Checkout rccl-tests repository\n        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2\n        with:\n          repository: \"ROCm/rccl-tests\"\n          path: rccl-tests\n\n      - name: Install python deps\n        run: |\n          pip install -r requirements.txt\n\n      # safe.directory must be set before Runner Health Status\n      - name: Adjust git config\n        run: |\n          git config --global --add safe.directory $PWD\n          git config fetch.parallel 10\n\n      - name: Setup ccache\n        run: |\n          ./build_tools/setup_ccache.py \\\n            --config-preset \"github-oss-presubmit\" \\\n            --dir \"$(dirname $CCACHE_CONFIGPATH)\" \\\n            --local-path \"$CACHE_DIR/ccache\"\n\n      - name: Runner health status\n        run: |\n          ./build_tools/health_status.py\n\n      - name: Fetch sources\n        run: |\n          ./build_tools/fetch_sources.py --jobs 12\n\n      - name: Configure Projects\n        env:\n          amdgpu_families: ${{ env.AMDGPU_FAMILIES }}\n          package_version: ADHOCBUILD\n          extra_cmake_options: ${{ inputs.extra_cmake_options }}\n          BUILD_DIR: build\n        run: |\n          python3 build_tools/github_actions/build_configure.py\n\n      - name: Build therock-dist\n        run: cmake --build build\n\n      - name: Build therock-archives\n        run: cmake --build build --target therock-archives\n\n      - name: Report\n        #if: ${{ !cancelled() }}\n        run: |\n          echo \"Full SDK du:\"\n          echo \"------------\"\n          du -h -d 1 build/dist/rocm\n          echo \"Artifact Archives:\"\n          echo \"------------------\"\n          ls -lh build/artifacts/*.tar.xz\n          echo \"Artifacts:\"\n          echo \"----------\"\n          du -h -d 1 build/artifacts\n          echo \"CCache Stats:\"\n          echo \"-------------\"\n          ccache -s -v\n          tail -v -n +1 .ccache/compiler_check_cache/* > build/logs/ccache_compiler_check_cache.log\n\n      - name: Configure AWS Credentials for non-forked repos\n        if: ${{ always() && !github.event.pull_request.head.repo.fork }}\n        uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4.3.1\n        with:\n          aws-region: us-east-2\n          role-to-assume: arn:aws:iam::692859939525:role/therock-artifacts-external\n\n      - name: Post Build Upload\n        if: always()\n        run: |\n          python3 build_tools/github_actions/post_build_upload.py \\\n            --run-id ${{ github.run_id }} \\\n            --artifact-group ${{ env.AMDGPU_FAMILIES }} \\\n            --build-dir build \\\n            --upload\n\n  therock-test-linux-multi-node:\n    name: \"Test multi-node\"\n    if: ${{ inputs.amdgpu_families == 'gfx950-dcgpu' }}\n    permissions:\n      contents: read\n      id-token: write\n    needs: [therock-build-linux]\n    uses: ./.github/workflows/therock-test-packages-multi-node.yml\n    with:\n      amdgpu_families: ${{ inputs.amdgpu_families }}\n      artifact_group: ${{ inputs.artifact_group }}\n      test_runs_on: nova-linux-slurm-scale-runner\n      artifact_run_id: ${{ github.run_id }}\n\n  therock-test-linux-single-node:\n    name: \"Test single-node\"\n    if: ${{ inputs.amdgpu_families == 'gfx94X-dcgpu' }}\n    needs: [therock-build-linux]\n    uses: ./.github/workflows/therock-test-packages-single-node.yml\n    with:\n      amdgpu_families: ${{ inputs.amdgpu_families }}\n      artifact_group: ${{ inputs.artifact_group }}\n      test_runs_on: linux-mi325-4gpu-ossci-rocm\n      artifact_run_id: ${{ github.run_id }}\n"
  },
  {
    "path": ".github/workflows/therock-ci.yml",
    "content": "name: TheRock CI for rccl\n\non:\n  push:\n    branches:\n      - develop\n  pull_request:\n    types:\n      - labeled\n      - opened\n      - synchronize\n  workflow_dispatch:\n\npermissions:\n  contents: read\n\nconcurrency:\n  # A PR number if a pull request and otherwise the commit hash. This cancels\n  # queued and in-progress runs for the same PR (presubmit) or commit\n  # (postsubmit). The workflow name is prepended to avoid conflicts between\n  # different workflows.\n  group: ${{ github.workflow }}-${{ github.event.number || github.sha }}\n  cancel-in-progress: true\n\njobs:\n  setup:\n    runs-on: ubuntu-24.04\n    env:\n      # The commit being checked out is the merge commit for a PR. Its first\n      # parent will be the tip of the base branch.\n      BASE_REF: HEAD^\n    outputs:\n      enable_therock_ci: ${{ steps.configure.outputs.enable_therock_ci }}\n    steps:\n      - name: \"Checking out repository\"\n        uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0\n        with:\n          # We need the parent commit to do a diff\n          fetch-depth: 2\n\n      - name: \"Configuring CI options\"\n        id: configure\n        run: python .github/scripts/therock_configure_ci.py\n\n  therock-ci-linux:\n    name: TheRock CI Linux\n    needs: setup\n    if: ${{ needs.setup.outputs.enable_therock_ci == 'true' }}\n    permissions:\n      contents: read\n      id-token: write\n    strategy:\n      fail-fast: false\n      matrix:\n        amdgpu_family: [gfx94X-dcgpu, gfx950-dcgpu]\n    uses: ./.github/workflows/therock-ci-linux.yml\n    secrets: inherit\n    with:\n      amdgpu_families: ${{ matrix.amdgpu_family }}\n      artifact_group: ${{ matrix.amdgpu_family }}\n      extra_cmake_options: >\n        -DTHEROCK_ENABLE_ALL=OFF \n        -DTHEROCK_BUILD_TESTING=ON \n        -DTHEROCK_BUNDLE_SYSDEPS=ON \n        -DTHEROCK_ENABLE_COMM_LIBS=ON \n        -DTHEROCK_ENABLE_ROCPROFV3=ON \n        -DTHEROCK_USE_EXTERNAL_RCCL=ON \n        -DTHEROCK_USE_EXTERNAL_RCCL_TESTS=ON \n        -DTHEROCK_RCCL_SOURCE_DIR=./rccl \n        -DTHEROCK_RCCL_TESTS_SOURCE_DIR=./rccl-tests\n        -DTHEROCK_ENABLE_MPI=ON\n\n  therock_ci_summary:\n    name: TheRock CI Summary\n    if: always()\n    needs:\n      - setup\n      - therock-ci-linux\n    runs-on: ubuntu-24.04\n    steps:\n      - name: Output failed jobs\n        run: |\n          echo '${{ toJson(needs) }}'\n          FAILED_JOBS=\"$(echo '${{ toJson(needs) }}' \\\n            | jq --raw-output \\\n            'map_values(select(.result!=\"success\" and .result!=\"skipped\")) | keys | join(\",\")' \\\n          )\"\n          if [[ \"${FAILED_JOBS}\" != \"\" ]]; then\n            echo \"The following jobs failed: ${FAILED_JOBS}\"\n            exit 1\n          fi\n"
  },
  {
    "path": ".github/workflows/therock-test-packages-multi-node.yml",
    "content": "name: TheRock Test Packages multi-node\n\non:\n  workflow_call:\n    inputs:\n      amdgpu_families:\n        type: string\n      artifact_group:\n        type: string\n      test_runs_on:\n        type: string\n      artifact_run_id:\n        type: string\n  workflow_dispatch:\n    inputs:\n      amdgpu_families:\n        type: string\n      artifact_group:\n        type: string\n      test_runs_on:\n        type: string\n      artifact_run_id:\n        type: string\n        \npermissions:\n  contents: read\n  id-token: write\n\njobs:\n  test_rccl_multi_node:\n    name: 'Test multi-node'\n    runs-on: ${{ inputs.test_runs_on }}\n    defaults:\n      run:\n        shell: bash\n    permissions:\n      contents: read\n      id-token: write\n    env:\n      VENV_DIR: ${{ github.workspace }}/.venv\n      ARTIFACT_RUN_ID: \"${{ inputs.artifact_run_id }}\"\n      OUTPUT_ARTIFACTS_DIR: /apps/cvs_tests/dist_new/dist/rocm\n      THEROCK_BIN_DIR: \"./build/bin\"\n      AWS_SHARED_CREDENTIALS_FILE: /apps/cvs_tests/awsconfig/credentials.ini\n    steps:\n      - name: Checkout Repository\n        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2\n        with:\n          repository: \"ROCm/TheRock\"\n          ref: ff46daa79b4c826c4f4676893d0d6586de567dfa # 2026-01-12 commit\n\n      - name: Run setup test environment workflow\n        uses: './.github/actions/setup_test_environment'\n        with:\n          ARTIFACT_RUN_ID: ${{ env.ARTIFACT_RUN_ID }}\n          AMDGPU_FAMILIES: ${{ inputs.amdgpu_families }}\n          ARTIFACT_GROUP: ${{ inputs.artifact_group }}\n          OUTPUT_ARTIFACTS_DIR: ${{ env.OUTPUT_ARTIFACTS_DIR }}\n          VENV_DIR: ${{ env.VENV_DIR }}\n          FETCH_ARTIFACT_ARGS: \"--rccl --tests\"\n          IS_PR_FROM_FORK: ${{ github.event.pull_request.head.repo.fork }}\n\n      # The following step leverages slurm to run multi node rccl tests on the slurm mi350x cluster.\n      # salloc will hold 4 nodes while the commands inside the block run. After the block completes, salloc automatically releases the nodes.\n      # sbatch script runs rccl_heatmap_cvs script which validates and generates a bandwidth heatmap file for different rccl collectives\n      - name: Test gfx950\n        if: ${{ inputs.amdgpu_families == 'gfx950-dcgpu' }}\n        run: |\n          SETUP_NODES=1 sbatch --wait -N4 /apps/cvs_tests/cvs-sbatch/sbatch/default.sbatch\n\n      - name: Configure AWS Credentials for non-forked repos\n        if: ${{ always() && !github.event.pull_request.head.repo.fork }}\n        uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4.3.1\n        with:\n          aws-region: us-east-2\n          role-to-assume: arn:aws:iam::692859939525:role/therock-artifacts-external\n\n      - name: Post test report upload\n        if: always()\n        working-directory: ${{ github.workspace }}\n        run: |\n          export PYTHONPATH=\"${PYTHONPATH}:${{ github.workspace }}/build_tools\"\n          python3 build_tools/github_actions/upload_test_report_script.py \\\n            --run-id \"${{ github.run_id }}\" \\\n            --amdgpu-family \"${{ inputs.amdgpu_families }}\" \\\n            --report-path \"/apps/cvs_tests/test_reports\" \\\n            --log-destination \"/logs/gfx950-dcgpu\" \\\n            --index-file-name \"index_rccl_test_report.html\"\n"
  },
  {
    "path": ".github/workflows/therock-test-packages-single-node.yml",
    "content": "name: TheRock Test Packages single-node\n\non:\n  workflow_call:\n    inputs:\n      amdgpu_families:\n        type: string\n      artifact_group:\n        type: string\n      test_runs_on:\n        type: string\n      artifact_run_id:\n        type: string\n  workflow_dispatch:\n    inputs:\n      amdgpu_families:\n        type: string\n      artifact_group:\n        type: string\n      test_runs_on:\n        type: string\n      artifact_run_id:\n        type: string\n\npermissions:\n  contents: read\n\njobs:\n  test_rccl_single_node:\n    name: 'Test single-node'\n    runs-on: ${{ inputs.test_runs_on }}\n    container:\n      image: ghcr.io/rocm/no_rocm_image_ubuntu24_04@sha256:4150afe4759d14822f0e3f8930e1124f26e11f68b5c7b91ec9a02b20b1ebbb98\n      options: --ipc host\n        --group-add video\n        --device /dev/kfd\n        --device /dev/dri\n        --group-add 110\n        --ulimit memlock=-1:-1\n        --security-opt seccomp=unconfined\n        --env-file /etc/podinfo/gha-gpu-isolation-settings\n        --user 0:0\n    defaults:\n      run:\n        shell: bash\n    env:\n      VENV_DIR: ${{ github.workspace }}/.venv\n      ARTIFACT_RUN_ID: \"${{ inputs.artifact_run_id }}\"\n      OUTPUT_ARTIFACTS_DIR: \"./build\"\n      THEROCK_BIN_DIR: \"./build/bin\"\n    steps:\n      - name: Checkout Repository\n        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2\n        with:\n          repository: \"ROCm/TheRock\"\n          ref: ff46daa79b4c826c4f4676893d0d6586de567dfa # 2026-01-12 commit\n\n      - name: Run setup test environment workflow\n        uses: './.github/actions/setup_test_environment'\n        with:\n          ARTIFACT_RUN_ID: ${{ env.ARTIFACT_RUN_ID }}\n          AMDGPU_FAMILIES: ${{ inputs.amdgpu_families }}\n          ARTIFACT_GROUP: ${{ inputs.artifact_group }}\n          OUTPUT_ARTIFACTS_DIR: ${{ env.OUTPUT_ARTIFACTS_DIR }}\n          VENV_DIR: ${{ env.VENV_DIR }}\n          FETCH_ARTIFACT_ARGS: \"--rccl --tests\"\n          IS_PR_FROM_FORK: ${{ github.event.pull_request.head.repo.fork }}\n\n      - name: Test\n        timeout-minutes: 15\n        # Currently, TheRock CI in RCCL always builds with MPI-supported enabled which causes the\n        # RCCL correctness tests to fail on the mi325 runners which don't have MPI pre-installed.\n        # TODO (geomin12): Rebuild rccl-tests without MPI to enable RCCL correctness tests.\n        run: |\n          pytest ./build_tools/github_actions/test_executable_scripts/test_rccl.py -v -s \\\n            -k \"not test_rccl_correctness_tests\" \\\n            --log-cli-level=info\n"
  },
  {
    "path": ".gitignore",
    "content": "# Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved.\n*.gcov\n/coverage/\nbuild/\next/\nsrc/transport/net_ib_rocm.cc\n# Visual Studio Code\n.vscode\n"
  },
  {
    "path": ".gitmodules",
    "content": "[submodule \"ext-src/mscclpp\"]\n\tpath = ext-src/mscclpp\n\turl = https://github.com/microsoft/mscclpp.git\n\tignore = dirty\n\tshallow = true\n[submodule \"ext-src/json\"]\n\tpath = ext-src/json\n\turl = https://github.com/nlohmann/json.git\n\tignore = dirty\n\tshallow = true\n[submodule \"ext-src/rocSHMEM\"]\n\tpath = ext-src/rocSHMEM\n\turl = https://github.com/ROCm/rocSHMEM.git\n\tbranch = develop\n"
  },
  {
    "path": ".readthedocs.yaml",
    "content": "# Read the Docs configuration file\n# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details\n\nversion: 2\n\nbuild:\n   os: ubuntu-22.04\n   tools:\n      python: \"3.10\"\n\nsphinx:\n   configuration: docs/conf.py\n\nformats: [htmlzip, pdf, epub]\n\npython:\n   install:\n   - requirements: docs/sphinx/requirements.txt\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "# Changelog for RCCL\n\nFull documentation for RCCL is available at [https://rccl.readthedocs.io](https://rccl.readthedocs.io)\n\n## Unreleased - RCCL 2.28.3 for ROCm 7.11\n\n### Known issues\n* AllGather regression for small message sizes (less than 1 MB) due to the Direct algorithm.\n* ROCTx feature needs to be verified.\n* Profiler plugin needs to be verified.\n\n### Changed\n* Compatibility with NCCL 2.28.3.\n* The MSCCL feature is now disabled by default. The `--disable-msccl-kernel` build flag is replaced with `--enable-msccl-kernel` in the `rccl/install.sh` script.\n* MSCCL and NPKIT are deprecated and will be removed in a future release of RCCL.\n\n## Unreleased - RCCL 2.27.7 for ROCm 7.2.0\n\n### Changed\n* RCCL error messages have been made more verbose in several cases. RCCL now prints out fatal error messages by default. Fatal error messages can be suppressed by setting `NCCL_DEBUG=NONE`.\n* Disabled `reduceCopyPacks` pipelining for `gfx950`.\n* Experimental support for traffic shaping using warp specialization (also known as WarpSpeed) is now available for the Ring algorithm.\n* Enabling WarpSpeed in auto mode using RCCL_WARP_SPEED_AUTO optimizes performance and reduces the CU count by 50% on a single node for AllReduce, AllGather from 64MB, and ReduceScatter from 256MB.\n* The following configuration knobs control WarpSpeed behavior for debugging purposes: `RCCL_WARP_SPEED_ENABLE`, `RCCL_UNROLL_FACTOR`, `RCCL_WARP_SPEED_CU_COUNT`, and `RCCL_THREADS_PER_BLOCK`. Note that the effective unroll factor is calculated as 2 raised to the value of `RCCL_UNROLL_FACTOR`.\n\n### Known issues\n* AllToAllv/AlltoAll for single GPU is hanging.\n\n## Unreleased - RCCL 2.27.7 for ROCm 7.1.1\n\n### Changed\n* Enabling P2P batching with `RCCL_P2P_BATCH_ENABLE=1` is only applicable up to 32 nodes.\n\n### Resolved Issues\n\n* Fixed crash when using the librccl-profiler plugin with the all-to-all collective after the 2.27 update.\n\n## RCCL 2.27.7 for ROCm 7.1.0\n\n### Added\n* Added `RCCL_IB_QPS_PER_P2P` to set the number of QPs per connection for P2P operations. When set (≥1), P2P operations (Send/Recv) use `RCCL_IB_QPS_PER_P2P`, while other collective operations continue to use `NCCL_IB_QPS_PER_CONNECTION`. When not set, `NCCL_IB_QPS_PER_CONNECTION` applies to all operations.\n* Added `RCCL_FORCE_ENABLE_DMABUF` as a debugging feature if the user wants to explicitly enable DMABUF and forego system/kernel checks.\n* Added `RCCL_P2P_BATCH_THRESHOLD` to set the message size limit for batching P2P operations. This mainly affects small message performance for alltoall at a large scale but also applies to alltoallv.\n* Added `RCCL_P2P_BATCH_ENABLE` to enable batching P2P operations to receive performance gains for smaller messages up to 4MB for alltoall when the workload requires it. This is to avoid performance dips for larger messages.\n* Added `RCCL_CHANNEL_TUNING_ENABLE` to enable channel tuning that overrides RCCL's internal adjustments based on threadThreshold.\n\n\n### Changed\n\n* The MSCCL++ feature is now disabled by default. The `--disable-mscclpp` build flag is replaced with `--enable-mscclpp` in the `rccl/install.sh` script.\n* Compatibility with NCCL 2.27.7.\n\n### Optimized\n* Enabled and optimized batched P2P operations to improve small message performance for AllToAll and AllGather.\n* Optimized channel count selection to improve efficiency for small to medium message sizes in ReduceScatter.\n* Changed code inlining to improve latency for small message sizes for AllReduce, AllGather, and ReduceScatter.\n\n### Known issues\n* Symmetric memory kernels are currently disabled due to ongoing CUMEM enablement work.\n* When running this version of RCCL using ROCm versions earlier than 6.4.0, the user must set the environment flag `HSA_NO_SCRATCH_RECLAIM=1`.\n\n## RCCL 2.26.6 for ROCm 7.0.0\n\n### Resolved issues\n\n* Resolved an issue when using more than 64 channels when multiple collectives are used in the same `ncclGroup()` call.\n* Fixed unit test failures in tests ending with `ManagedMem` and `ManagedMemGraph` suffixes.\n* Suboptimal algorithmic switching point for AllReduce on MI300x.\n* Fixed the known issue \"When splitting a communicator using `ncclCommSplit` in some GPU configurations, MSCCL initialization can cause a segmentation fault.\" with a design change to use `comm` instead of `rank` for `mscclStatus`. The Global map for `comm` to `mscclStatus` is still not thread safe but should be explicitly handled by mutexes for read writes. This is tested for correctness, but there is a plan to use a thread-safe map data structure in upcoming changes.\n* Fixed broken functionality within the LL protocol on gfx950 by disabling inlining of LLGenericOp kernels.\n\n### Added\n\n* Added new GPU target `gfx950`.\n* Added support for `unroll=1` in device-code generation to improve performance,\n* Set a default of 112 channels for a single node with `8 * gfx950`,\n* Enabled LL128 protocol on `gfx950`.\n* Added MSCCL support for AllGather multinode gfx942/gfx950 (i.e., 16 and 32 GPUs). To enable, set the environment variable `RCCL_MSCCL_FORCE_ENABLE=1`. Max message size for MSCCL AllGather usage is `12292 * sizeof(datatype) * nGPUs`.\n* Thread thresholds for LL/LL128 are selected in Tuning Models for the MI300X. This impacts the number of channels used for AG and RS. Channel tuning model is bypassed if `NCCL_THREAD_THRESHOLDS`, `NCCL_MIN_NCHANNELS', or 'NCCL_MAX_NCHANNELS` are set.\n* Multi-node tuning for AllGather, AllReduce, and ReduceScatter that leverages LL/LL64/LL128 protocol to use nontemporal vector load/store for tunable message size ranges.\n* LL/LL128 usage ranges for AR, AG, and RS are part of the tuning models, which enable architecture-specific tuning in conjunction with the existing Rome Models scheme in RCCL.\n* Two new APIs are exposed as part of an initiative to separate RCCL code. These APIs are `rcclGetAlgoInfo` and `rcclFuncMaxSendRecvCount`. However, user-level invocation requires that RCCL be built with `RCCL_EXPOSE_STATIC` enabled.\n* Enabled double-buffering in `reduceCopyPacks` to trigger pipelining, especially to overlap `bf16` arithmetic and bridge the gap between `fp32` performance and `bf16` for both `gfx942` and `gfx950`. Pipelining has been made tunable via `rcclSetPipelining`, similar to algorithms/protocols so that regression is avoided in certain message sizes.\n* Added a direct allgather algorithm. This is enabled by default for multi-node if there are 16 nodes or fewer. The message size threshold is 4MB.\n* Added `RCCL_OVERRIDE_PROTO` and `RCCL_OVERRIDE_ALGO` to allow direct replacement of protocol and algorithm choices. Unlike `NCCL_PROTO` and `NCCL_ALGO`, which re-run the model across enabled combinations and may not guarantee the intended override, these new options enforce the specified selections explicitly.\n\n### Changed\n\n* Compatibility with NCCL 2.23.4.\n* Compatibility with NCCL 2.24.3.\n* Compatibility with NCCL 2.25.1.\n* Compatibility with NCCL 2.26.6.\n\n### Optimized\n* Improved the performance of the `FP8` Sum operation by upcasting to `FP16`.\n\n### Known Issues\n* When running this version of RCCL using ROCm versions earlier than 6.4.0, the user must set the environment flag `HSA_NO_SCRATCH_RECLAIM=1`.\n\n## RCCL 2.22.3 for ROCm 6.4.2\n\n### Added\n\n* Added support for the LL128 protocol on gfx942.\n\n## RCCL 2.22.3 for ROCm 6.4.1\n\n### Resolved issues\n\n* Fixed the accuracy issue for MSCCLPP `allreduce7` kernel in graph mode.\n* Fixed IntraNet performance.\n* Fixed an issue where, in rare circumstances, the application could stop responding due to a proxy thread synchronization issue.\n\n### Known issues\n\n* When splitting a communicator using `ncclCommSplit` in some GPU configurations, MSCCL initialization can cause a segmentation fault.\n  The recommended workaround is to disable MSCCL with `export RCCL_MSCCL_ENABLE=0`.\n* Within the RCCL-UnitTests test suite, failures occur in tests ending with the `ManagedMem` and `ManagedMemGraph` suffixes. These failures only affect the test results and do not affect the RCCL component itself. This issue will be resolved in the next major release.\n\n## RCCL 2.22.3 for ROCm 6.4.0\n\n### Added\n\n* `RCCL_SOCKET_REUSEADDR` and `RCCL_SOCKET_LINGER` environment parameters.\n* Setting `NCCL_DEBUG=TRACE NCCL_DEBUG_SUBSYS=VERBS` will generate traces for fifo and data `ibv_post_sends`.\n* Added `--log-trace` flag to enable traces through the install.sh script (e.g. `./install.sh --log-trace`).\n\n### Changed\n\n* Compatibility with NCCL 2.22.3\n* Added support for the rail-optimized tree algorithm for the MI300 series. This feature requires the use of all eight GPUs within\n  each node. It limits NIC traffic to use only GPUs of the same index across nodes and should not impact performance\n  on non-rail-optimized network topologies. The original method of building trees can be enabled by setting the\n  environment variable `RCCL_DISABLE_RAIL_TREES=1`.\n* Additional debug information about how the trees are built can be logged to the GRAPH logging subsys by setting\n  `RCCL_OUTPUT_TREES=1`.\n* Added documentation about the NPS4 and CPX partition modes performance benefits on the MI300X.\n\n## RCCL 2.21.5 for ROCm 6.3.1\n\n### Added\n\n### Changed\n\n* Enhanced user documentation\n\n### Resolved issues\n\n* Corrected user help strings in `install.sh`\n\n## RCCL 2.21.5 for ROCm 6.3.0\n\n### Added\n\n* MSCCL++ integration for AllReduce and AllGather on gfx942\n* Performance collection to rccl_replayer\n* Tuner Plugin example for MI300\n* Tuning table for large number of nodes\n* Support for amdclang++\n* Allow NIC ID remapping using `NCCL_RINGS_REMAP` environment variable\n\n### Changed\n\n* Compatibility with NCCL 2.21.5\n* Increased channel count for MI300X multi-node\n* Enabled MSCCL for single-process multi-threaded contexts\n* Enabled gfx12\n* Enabled CPX mode for MI300X\n* Enabled tracing with rocprof\n* Improved version reporting\n* Enabled GDRDMA for Linux kernel 6.4.0+\n\n### Resolved issues\n\n* Fixed model matching with PXN enable\n\n## RCCL 2.20.5 for ROCm 6.2.1\n### Fixed\n- GDR support flag now set with DMABUF\n### Known issues\n- On systems running Linux kernel 6.8.0, such as Ubuntu 24.04, Direct Memory Access (DMA) transfers between the GPU and NIC are disabled and impacts multi-node RCCL performance.\n  - This issue was reproduced with RCCL 2.20.5 (ROCm 6.2.0 and 6.2.1) on systems with Broadcom Thor-2 NICs and affects other systems with RoCE networks using Linux 6.8.0 or newer.\n  - Older RCCL versions are also impacted.\n  - This issue will be addressed in a future ROCm release.\n\n## RCCL 2.20.5 for ROCm 6.2.0\n### Changed\n- Compatibility with NCCL 2.20.5\n- Compatibility with NCCL 2.19.4\n- Performance tuning for some collective operations on MI300\n- Enabled NVTX code in RCCL\n- Replaced rccl_bfloat16 with hip_bfloat16\n- NPKit updates:\n  - Removed warm-up iteration removal by default, need to opt in now\n  - Doubled the size of buffers to accommodate for more channels\n- Modified rings to be rail-optimized topology friendly\n- Replaced ROCmSoftwarePlatform links with ROCm links\n### Added\n- Support for fp8 and rccl_bfloat8\n- Support for using HIP contiguous memory\n- Implemented ROC-TX for host-side profiling\n- Enabled static build\n- Added new rome model\n- Added fp16 and fp8 cases to unit tests\n- New unit test for main kernel stack size\n- New -n option for topo_expl to override # of nodes\n- Improved debug messages of memory allocations\n### Fixed\n- Bug when configuring RCCL for only LL128 protocol\n- Scratch memory allocation after API change for MSCCL\n\n## RCCL 2.18.6 for ROCm 6.1.0\n### Changed\n- Compatibility with NCCL 2.18.6\n\n## RCCL 2.18.3 for ROCm 6.0.0\n### Changed\n- Compatibility with NCCL 2.18.3\n\n## RCCL 2.17.1-1 for ROCm 5.7.0\n### Changed\n- Compatibility with NCCL 2.17.1-1\n- Performance tuning for some collective operations\n### Added\n- Minor improvements to MSCCL codepath\n- NCCL_NCHANNELS_PER_PEER support\n- Improved compilation performance\n- Support for gfx94x\n### Fixed\n- Potential race-condition during ncclSocketClose()\n\n## RCCL 2.16.2 for ROCm 5.6.0\n### Changed\n- Compatibility with NCCL 2.16.2\n### Fixed\n- Remove workaround and use indirect function call\n\n## RCCL 2.15.5 for ROCm 5.5.0\n### Changed\n- Compatibility with NCCL 2.15.5\n- Unit test executable renamed to rccl-UnitTests\n### Added\n- HW-topology aware binary tree implementation\n- Experimental support for MSCCL\n- New unit tests for hipGraph support\n- NPKit integration\n### Fixed\n- rocm-smi ID conversion\n- Support for HIP_VISIBLE_DEVICES for unit tests\n- Support for p2p transfers to non (HIP) visible devices\n### Removed\n- Removed TransferBench from tools.  Exists in standalone repo: https://github.com/ROCm/TransferBench\n\n## RCCL-2.13.4 for ROCm 5.4.0\n### Changed\n- Compatibility with NCCL 2.13.4\n- Improvements to RCCL when running with hipGraphs\n- RCCL_ENABLE_HIPGRAPH environment variable is no longer necessary to enable hipGraph support\n- Minor latency improvements\n### Fixed\n- Resolved potential memory access error due to asynchronous memset\n\n## RCCL-2.12.10 for ROCm 5.3.0\n### Changed\n- Improvements to LL128 algorithms\n### Added\n- Adding initial hipGraph support via opt-in environment variable RCCL_ENABLE_HIPGRAPH\n- Integrating with NPKit (https://github.com/microsoft/NPKit) profiling code\n\n## RCCL-2.12.10 for ROCm 5.2.3\n### Added\n- Compatibility with NCCL 2.12.10\n- Packages for test and benchmark executables on all supported OSes using CPack.\n- Adding custom signal handler - opt-in with RCCL_ENABLE_SIGNALHANDLER=1\n  - Additional details provided if Binary File Descriptor library (BFD) is pre-installed\n- Adding support for reusing ports in NET/IB channels\n  - Opt-in with NCCL_IB_SOCK_CLIENT_PORT_REUSE=1 and NCCL_IB_SOCK_SERVER_PORT_REUSE=1\n  - When \"Call to bind failed : Address already in use\" error happens in large-scale AlltoAll\n    (e.g., >=64 MI200 nodes), users are suggested to opt-in either one or both of the options\n    to resolve the massive port usage issue\n  - Avoid using NCCL_IB_SOCK_SERVER_PORT_REUSE when NCCL_NCHANNELS_PER_NET_PEER is tuned >1\n### Removed\n- Removed experimental clique-based kernels\n\n## RCCL-2.11.4 for ROCm 5.2.0\n### Changed\n- Unit testing framework rework\n- Minor bug fixes\n### Known issues\n- Managed memory is not currently supported for clique-based kernels\n\n## RCCL-2.11.4 for ROCm 5.1.0\n### Added\n- Compatibility with NCCL 2.11.4\n### Known issues\n- Managed memory is not currently supported for clique-based kernels\n\n## RCCL-2.10.3 for ROCm 5.0.0\n### Added\n- Compatibility with NCCL 2.10.3\n### Known issues\n- Managed memory is not currently supported for clique-based kernels\n\n## RCCL-2.9.9 for ROCm 4.5.0\n### Changed\n- Packaging split into a runtime package called rccl and a development package called rccl-devel. The development package depends on runtime. The runtime package suggests the development package for all supported OSes except CentOS 7 to aid in the transition. The suggests feature in packaging is introduced as a deprecated feature and will be removed in a future rocm release.\n### Added\n- Compatibility with NCCL 2.9.9\n### Known issues\n- Managed memory is not currently supported for clique-based kernels\n\n## [RCCL-2.8.4 for ROCm 4.3.0]\n### Added\n- Ability to select the number of channels to use for clique-based all reduce (RCCL_CLIQUE_ALLREDUCE_NCHANNELS).  This can be adjusted to tune for performance when computation kernels are being executed in parallel.\n### Optimizations\n- Additional tuning for clique-based kernel AllReduce performance (still requires opt in with RCCL_ENABLE_CLIQUE=1)\n- Modification of default values for number of channels / byte limits for clique-based all reduce based on device architecture\n### Changed\n- Replaced RCCL_FORCE_ENABLE_CLIQUE to RCCL_CLIQUE_IGNORE_TOPO\n- Clique-based kernels can now be enabled on topologies where all active GPUs are XGMI-connected\n- Topologies not normally supported by clique-based kernels require RCCL_CLIQUE_IGNORE_TOPO=1\n### Fixed\n- Install script '-r' flag invoked alone no longer incorrectly deletes any existing builds.\n### Known issues\n- Managed memory is not currently supported for clique-based kernels\n\n## [RCCL-2.8.4 for ROCm 4.2.0]\n### Added\n- Compatibility with NCCL 2.8.4\n\n### Optimizations\n- Additional tuning for clique-based kernels\n- Enabling GPU direct RDMA read from GPU\n- Fixing potential memory leak issue when re-creating multiple communicators within same process\n- Improved topology detection\n### Known issues\n- None\n\n## [RCCL-2.7.8 for ROCm 4.1.0]\n### Added\n- Experimental support for clique-based kernels (opt in with RCCL_ENABLE_CLIQUE=1)\n- Clique-based kernels may offer better performance for smaller input sizes\n- Clique-based kernels are currently only enabled for AllReduce under a certain byte limit (controlled via RCCL_CLIQUE_ALLREDUCE_BYTE_LIMIT)\n### Optimizations\n- Performance improvements for Rome-based systems\n### Known issues\n- Clique-based kernels are currently experimental and have not been fully tested on all topologies.  By default, clique-based kernels are disabled if the detected topology is not supported (override with RCCL_FORCE_ENABLE_CLIQUE)\n- Clique-based kernels may hang if there are differences between environment variables set across ranks.\n- Clique-based kernels may fail if the input / output device pointers are not the base device pointers returned by hipMalloc.\n\n\n## [RCCL-2.7.8 for ROCm 3.9.0]\n### Added\n- Adding support for alltoallv RCCL kernel\n### Optimizations\n- Modifications to topology based on XGMI links\n### Known issues\n- None\n\n## [RCCL-2.7.6 for ROCm 3.8.0]\n### Added\n- Support for static library builds\n### Known issues\n- None\n\n## [RCCL-2.7.6 for ROCm 3.7.0]\n### Added\n- Updated to RCCL API version of 2.7.6\n- Added gather, scatter and all-to-all collectives\n\n## [RCCL-2.7.0 for ROCm 3.6.0]\n### Added\n- Updated to RCCL API version of 2.6.4\n\n## [RCCL-2.7.0 for ROCm 3.5.0]\n### Added\n- Compatibility with NCCL 2.6\n- Network interface improvements with API v3\n### Optimizations\n- Fixing issues and built time improvements for hip-clang\n- Network topology detection\n- Improved CPU type detection\n- Infiniband adaptive routing support\n### Changed\n- Switched to hip-clang as default compiler\n### Deprecated\n- Deprecated hcc build\n"
  },
  {
    "path": "CMakeLists.txt",
    "content": "# Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n# Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n\n# CMake version minimum requirements\n#==================================================================================================\ncmake_minimum_required(VERSION 3.16)\n\n# CMake Toolchain file to define compilers and path to ROCm\n#==================================================================================================\nif (NOT CMAKE_TOOLCHAIN_FILE)\n  set(CMAKE_TOOLCHAIN_FILE \"${CMAKE_CURRENT_SOURCE_DIR}/toolchain-linux.cmake\")\n  message(STATUS \"CMAKE_TOOLCHAIN_FILE: ${CMAKE_TOOLCHAIN_FILE}\")\nendif()\n\n# RCCL project\n#==================================================================================================\nproject(rccl CXX)\n\n# Build options\n#==================================================================================================\noption(BUILD_ADDRESS_SANITIZER                 \"Enable address sanitizer\"                      OFF)\noption(BUILD_BFD                               \"Enable custom backtrace (if bfd.h exists)\"     OFF)\noption(BUILD_LOCAL_GPU_TARGET_ONLY             \"Build only for GPUs detected on this machine\"  OFF)\noption(BUILD_SHARED_LIBS                       \"Build as shared library\"                       ON)\noption(BUILD_TESTS                             \"Build unit test programs\"                      OFF)\noption(COLLTRACE                               \"Collective Trace Option\"                       ON)\noption(DUMP_ASM                                \"Disassemble and dump\"                          OFF)\noption(ENABLE_CODE_COVERAGE                    \"Enable code coverage\"                          OFF)\noption(ENABLE_MSCCL_KERNEL                     \"Enable MSCCL while compiling\"                  OFF)\noption(ENABLE_MSCCLPP                          \"Enable MSCCL++\"                                OFF)\noption(ENABLE_MSCCLPP_CLIP                     \"Enable MSCCL++ CLIP\"                           OFF)\noption(ENABLE_MSCCLPP_EXECUTOR                 \"Enable MSCCL++ Executor\"                       OFF)\noption(ENABLE_MSCCLPP_FORMAT_CHECKS            \"Enable formatting checks in MSCCL++\"           OFF)\noption(ENABLE_NPKIT                            \"Enable NPKit\"                                  OFF)\noption(ENABLE_IFC                              \"Enable indirect function call\"                 OFF)\noption(GENERATE_SYM_KERNELS                    \"Generate symmetric memory kernels\"             OFF)\noption(INSTALL_DEPENDENCIES                    \"Force install dependencies\"                    OFF)\noption(REPORT_KERNEL_RESOURCE_USE              \"Append -Rpass-analysis=kernel to CXX flags\"    OFF)\noption(ROCTX                                   \"Enable ROCTX\"                                  ON)\noption(PROFILE                                 \"Enable profiling\"                              OFF)\noption(TIMETRACE                               \"Enable time-trace during compilation\"          OFF)\noption(TRACE                                   \"Enable additional tracing\"                     OFF)\noption(FAULT_INJECTION                         \"Enable fault injection\"                        ON)\noption(QUIET_WARNINGS                          \"Supress compiler warnings\"                     OFF)\noption(ENABLE_ROCSHMEM                         \"Enable rocSHMEM support in RCCL\"               OFF)\n\n# Default GPU architectures to build\n#==================================================================================================\nset(DEFAULT_GPUS\n      gfx906\n      gfx908\n      gfx90a\n      gfx942\n      gfx950\n      gfx1030\n      gfx1100\n      gfx1101\n      gfx1102\n      gfx1200\n      gfx1201)\n\n# Load CMake modules\n#==================================================================================================\ninclude(CheckIncludeFiles)\ninclude(CheckSymbolExists)\ninclude(cmake/Dependencies.cmake) # GTest, rocm-cmake, rocm_local_targets\ninclude(cmake/CheckSymbolExistsNoWarn.cmake)\n\n# Include rocSHMEM build module only if enabled\nif(ENABLE_ROCSHMEM)\n  include(cmake/ROCSHMEM.cmake)\nendif()\n\nlist(APPEND CMAKE_MODULE_PATH \"${CMAKE_CURRENT_SOURCE_DIR}/cmake\")\n\n# Build only for local GPU architecture\nif (BUILD_LOCAL_GPU_TARGET_ONLY)\n  message(STATUS \"Building only for local GPU target\")\n  if (COMMAND rocm_local_targets)\n    rocm_local_targets(DEFAULT_GPUS)\n  else()\n    message(WARNING \"Unable to determine local GPU targets. Falling back to default GPUs.\")\n  endif()\nendif()\n\n# Determine which GPU architectures to build for\nset(GPU_TARGETS \"${DEFAULT_GPUS}\" CACHE STRING \"Target default GPUs if GPU_TARGETS is not defined.\")\n\n# ROCM NetIB patch\ninclude(cmake/rocmIb.cmake)\n\n# Modify GPU architectures for Address Sanitizer builds by appending \"xnack+\"\nif (BUILD_ADDRESS_SANITIZER)\n  SET(amdgpu_targets \"\")\n  foreach(amdgpu_target IN LISTS GPU_TARGETS)\n    if(NOT amdgpu_target STREQUAL \"\")\n      string(FIND \"${amdgpu_target}\" \":xnack+\" HAS_XNACK_SUFFIX)\n      if(HAS_XNACK_SUFFIX EQUAL -1)\n        list(APPEND amdgpu_targets \"${amdgpu_target}:xnack+\")\n      else()\n        list(APPEND amdgpu_targets \"${amdgpu_target}\")\n      endif()\n    endif()\n  endforeach()\n  SET(GPU_TARGETS \"${amdgpu_targets}\")\nendif()\n\n# Check if clang compiler can offload to GPU_TARGETS\nif (COMMAND rocm_check_target_ids)\n  message(STATUS \"Checking for ROCm support for GPU targets: \" \"${GPU_TARGETS}\")\n  rocm_check_target_ids(SUPPORTED_GPUS TARGETS ${GPU_TARGETS})\nelse()\n  message(WARNING \"Unable to check for supported GPU targets. Falling back to default GPUs.\")\n  set(SUPPORTED_GPUS ${DEFAULT_GPUS})\nendif()\n\nset(GPU_TARGETS \"${SUPPORTED_GPUS}\")\nmessage(STATUS \"Compiling for ${GPU_TARGETS}\")\n\n## NOTE: Reload rocm-cmake in order to update GPU_TARGETS\ninclude(cmake/Dependencies.cmake) # Reloading to use desired GPU_TARGETS instead of defaults\n\n# Try to establish ROCM_PATH (for find_package)\n#==================================================================================================\nif(NOT DEFINED ROCM_PATH)\n  # Guess default location\n  set(ROCM_PATH \"/opt/rocm\")\n  message(WARNING \"Unable to find ROCM_PATH: Falling back to ${ROCM_PATH}\")\nelse()\n  message(STATUS \"ROCM_PATH found: ${ROCM_PATH}\")\nendif()\nset(ENV{ROCM_PATH} ${ROCM_PATH})\n\nif(\"${CMAKE_CXX_COMPILER}\" MATCHES \".*amdclang\\\\+\\\\+\")\n  message(STATUS \"Compiling with amdclang++\")\n  set(COMPILER_EXE_NAME amdclang++)\n  set(COMPILER_GREP_STRING \"AMD clang version\")\n  set(COMPILER_AWK_CMD \"awk -F\\\" \\\" '{ printf $4}'\")\nelseif(\"${CMAKE_CXX_COMPILER}\" MATCHES \".*clang\\\\+\\\\+\")\n  message(STATUS \"Compiling with clang++\")\n  set(COMPILER_EXE_NAME clang++)\n  set(COMPILER_GREP_STRING \"AMD clang version\")\n  set(COMPILER_AWK_CMD \"awk -F\\\" \\\" '{ printf $4}'\")\nelseif(\"${CMAKE_CXX_COMPILER}\" MATCHES \".*hipcc$\")\n  message(STATUS \"Compiling with hipcc\")\n  set(COMPILER_EXE_NAME hipcc)\n  set(COMPILER_GREP_STRING \"HIP version\")\n  set(COMPILER_AWK_CMD \"awk -F\\\" \\\" '{ printf $3}' | awk -F\\\"-\\\" '{ printf $1}'\")\nelse()\n  message(FATAL_ERROR \"RCCL can be built only with hipcc or amdclang++\")\nendif()\n\n# Set CMAKE flags\n#==================================================================================================\nset(CMAKE_INSTALL_PREFIX \"${ROCM_PATH}\" CACHE PATH \"\")\nset(CMAKE_CXX_STANDARD   17)   # We use C++17 features, this will add compile option: -std=c++17\nset(CMAKE_CXX_EXTENSIONS OFF)  # Without this line, it will add -std=gnu++17 instead, which has some issues.\nif(ROCM_PATH)\n  list(APPEND CMAKE_PREFIX_PATH  # Add ROCM_PATH to CMake search paths (for finding HIP / HSA\n              ${ROCM_PATH}\n              ${ROCM_PATH}/hip\n              ${ROCM_PATH}/llvm)\nendif()\n\n# Check for required dependencies\n#==================================================================================================\n## Check for Threads\nset(THREADS_PREFER_PTHREAD_FLAG ON)\nfind_package(Threads REQUIRED)\n\n## Check for HIP\nfind_package(hip REQUIRED)\nmessage(STATUS \"HIP compiler:     ${HIP_COMPILER}\")\nmessage(STATUS \"HIP runtime:      ${HIP_RUNTIME}\")\nif(NOT \"${HIP_COMPILER}\" MATCHES \"clang\")\n  message(FATAL_ERROR \"RCCL requires clang-based compiler (amdclang++ or hipcc)\")\nendif()\n\n## Check for compiler version\nfind_program(compiler_executable ${COMPILER_EXE_NAME})\nmessage(STATUS \"${COMPILER_EXE_NAME} executable: ${compiler_executable}\")\nexecute_process(\n  COMMAND         bash \"-c\" \"${compiler_executable} --version | grep \\\"${COMPILER_GREP_STRING}\\\" | ${COMPILER_AWK_CMD}\"\n  OUTPUT_VARIABLE compiler_version_string)\nmessage(STATUS \"${COMPILER_EXE_NAME} version:    ${compiler_version_string}\")\n\n## Check for HIP version\nfind_program(hipconfig_executable hipconfig)\nmessage(STATUS \"hipconfig executable: ${hipconfig_executable}\")\nexecute_process(\n  COMMAND         bash \"-c\" \"${hipconfig_executable} -v | awk -F\\\"-\\\" '{ printf $1 }'\"\n  OUTPUT_VARIABLE hip_version_string)\nmessage(STATUS \"${COMPILER_EXE_NAME} HIP version:    ${hip_version_string}\")\n\n## Check for ROCm version\nset(EXPLICIT_ROCM_VERSION \"\" CACHE STRING \"Explicit ROCM version to compile to (auto detect if empty)\")\nif(NOT DEFINED ROCMCORE_PATH)\n  set(ROCMCORE_PATH \"${ROCM_PATH}\" CACHE PATH \"Path to ROCm core\")\nendif()\n\nif(EXPLICIT_ROCM_VERSION)\n  set(rocm_version_string \"${EXPLICIT_ROCM_VERSION}\")\nelseif(ROCMCORE_PATH)\n  message(STATUS \"Reading ROCM version from ${ROCMCORE_PATH}/.info/version\")\n  file(READ \"${ROCMCORE_PATH}/.info/version\" rocm_version_string)\nelse()\n  message(FATAL_ERROR \"Could not determine ROCM version (set EXPLICIT_ROCM_VERSION or set ROCM_PATH to a valid installation)\")\nendif()\nstring(REGEX MATCH \"([0-9]+)\\\\.([0-9]+)\\\\.([0-9]+)\" rocm_version_matches ${rocm_version_string})\nif (rocm_version_matches)\n    set(ROCM_MAJOR_VERSION ${CMAKE_MATCH_1})\n    set(ROCM_MINOR_VERSION ${CMAKE_MATCH_2})\n    set(ROCM_PATCH_VERSION ${CMAKE_MATCH_3})\n\n    message(STATUS \"ROCm version: ${ROCM_MAJOR_VERSION}.${ROCM_MINOR_VERSION}.${ROCM_PATCH_VERSION}\")\n\n    # Convert the version components to int for comparison\n    math(EXPR ROCM_VERSION \"(10000 * ${ROCM_MAJOR_VERSION}) + (100 * ${ROCM_MINOR_VERSION}) + ${ROCM_PATCH_VERSION}\")\n    add_definitions(\"-DROCM_VERSION=${ROCM_VERSION}\")\nelse()\n    message(WARNING \"Failed to extract ROCm version.\")\nendif()\n\n### Required for checking HIP device symbols when building with amdclang++\nset(CMAKE_REQUIRED_LIBRARIES hip::device)\n\n### Check for hipDeviceMallocUncached support\ncheck_symbol_exists(\"hipDeviceMallocUncached\" \"hip/hip_runtime_api.h\" HIP_UNCACHED_MEMORY)\n\n### Check for hipHostMallocUncached support\ncheck_symbol_exists(\"hipHostMallocUncached\" \"hip/hip_runtime_api.h\" HIP_HOST_UNCACHED_MEMORY)\n\n### Check for hipDeviceMallocContiguous support\ncheck_symbol_exists(\"hipDeviceMallocContiguous\" \"hip/hip_runtime_api.h\" HIP_CONTIGUOUS_MEMORY)\n\nunset(CMAKE_REQUIRED_LIBRARIES)\n\n### Check for indirect function call support\nif(ENABLE_IFC)\n  if(\"${hip_version_string}\" VERSION_GREATER_EQUAL \"5.5.30201\")\n    set(IFC_ENABLED ON)\n    message(STATUS \"Indirect function call enabled\")\n  else()\n    set(IFC_ENABLED OFF)\n    message(WARNING \"Indirect function call disabled - requires HIP version >= 5.5.30201\")\n  endif()\nelse()\n  set(IFC_ENABLED OFF)\nendif()\n\n## Check for LL128 support\nif(\"${hip_version_string}\" VERSION_GREATER_EQUAL \"6.1.33591\")\n  set(LL128_ENABLED ON)\n  message(STATUS \"RCCL LL128 protocol enabled\")\nelse()\n  message(STATUS \"RCCL LL128 protocol disabled - requires HIP version >= 6.1.33591\")\nendif()\n\n## Check for hsa-runtime64\nfind_package(hsa-runtime64 REQUIRED)\nget_target_property(HSA_INCLUDE_PATH hsa-runtime64::hsa-runtime64 INTERFACE_INCLUDE_DIRECTORIES)\nmessage(STATUS \"HSA runtime: ${HSA_INCLUDE_PATH}\")\n\n## Check for amd-smi if ROCm 7.11.0 or newer\nif(ROCM_VERSION VERSION_GREATER_EQUAL \"71100\")\n  find_package(amd_smi PATHS ${ROCM_PATH}/lib/cmake/amd_smi)\n  if(amd_smi_FOUND)\n    message(STATUS \"amd_smi_INCLUDE_DIR: ${amd_smi_INCLUDE_DIR}\")\n    message(STATUS \"amd_smi_LIB_DIR: ${amd_smi_LIB_DIR}\")\n    set(SMI_INCLUDE_DIR \"${amd_smi_INCLUDE_DIR}\" CACHE INTERNAL \"amd-smi include directory\")\n    set(SMI_LIB_DIR \"${amd_smi_LIB_DIR}\" CACHE INTERNAL \"amd-smi library directory\")\n    set(SMI_LIB_NAME \"amd-smi-lib\" CACHE INTERNAL \"amd-smi-lib for packaging\")\n    if(NOT EXISTS \"${SMI_INCLUDE_DIR}\" OR NOT EXISTS \"${SMI_LIB_DIR}\")\n      message(FATAL_ERROR \"amd_smi not found in ${SMI_INCLUDE_DIR}\")\n    endif()\n    message(STATUS \"Found amd_smi at ${SMI_INCLUDE_DIR}\")\n    set(SMI_LIBRARIES amd_smi)\n    set(USE_AMDSMI ON CACHE INTERNAL \"Use amd-smi instead of rocm-smi\")\n  endif()\nendif()\n\nif(NOT USE_AMDSMI)\n  ## Fallback to rocm-smi if amd-smi not found or ROCm < 7.11.0\n  message(WARNING \"Could not find amd_smi. Falling back to rocm_smi.\")\n  find_package(rocm_smi PATHS ${ROCM_PATH}/lib/cmake/rocm_smi)\n  if(rocm_smi_FOUND)\n    set(SMI_INCLUDE_DIR \"${rocm_smi_INCLUDE_DIR}\" CACHE INTERNAL \"rocm-smi include directory\")\n    set(SMI_LIB_DIR \"${rocm_smi_LIB_DIR}\" CACHE INTERNAL \"rocm-smi library directory\")\n  else()\n    message(WARNING \"CMake could not find rocm-smi. Checking old include directory structure for rocm_smi\")\n    set(SMI_INCLUDE_DIR \"${ROCM_PATH}/rocm_smi/include\")\n    set(SMI_LIB_DIR     \"${ROCM_PATH}/rocm_smi/lib\")\n  endif()\n\n  if(NOT EXISTS \"${SMI_INCLUDE_DIR}\" OR NOT EXISTS \"${SMI_LIB_DIR}\")\n    message(FATAL_ERROR \"rocm_smi not found in ${SMI_INCLUDE_DIR}\")\n  endif()\n  message(STATUS \"Found rocm_smi at ${SMI_INCLUDE_DIR}\")\n  set(SMI_LIB_NAME \"rocm-smi-lib\" CACHE INTERNAL \"rocm-smi-lib for packaging\")\n  set(SMI_LIBRARIES rocm_smi64)\n\n  check_include_file_cxx(\"${SMI_INCLUDE_DIR}/rocm_smi/rocm_smi64Config.h\" HAVE_ROCM_SMI64CONFIG)\n\n  ### Check for RSMI_INIT_FLAG_THRAD_ONLY_MUTEX support\n  file(READ \"${SMI_INCLUDE_DIR}/rocm_smi/rocm_smi.h\" rocm_smi_incl)\n  string(FIND \"${rocm_smi_incl}\" \"RSMI_INIT_FLAG_THRAD_ONLY_MUTEX\" matchres)\n  if(${matchres} EQUAL -1)\n    message(STATUS \"RSMI_INIT_FLAG_THRAD_ONLY_MUTEX not supported\")\n  else()\n    message(STATUS \"RSMI_INIT_FLAG_THRAD_ONLY_MUTEX supported\")\n    set(HAVE_ROCM_SMI_THREAD_ONLY_MUTEX True)\n  endif ()\nendif()\n\n## Check for BFD library if custom backtrace is requested\nif(BUILD_BFD)\n  enable_language(C)\n  check_include_files(bfd.h HAVE_BFD)\n  if (HAVE_BFD)\n    message(STATUS \"-- Found BFD support\")\n\n    ### Required for checking HIP device symbols when building with amdclang++\n    set(CMAKE_REQUIRED_LIBRARIES hip::device)\n\n    # Check for specific BFD feature support\n    CHECK_SYMBOL_EXISTS(bfd_get_section_flags \"bfd.h\" HAVE_DECL_BFD_GET_SECTION_FLAGS)\n    CHECK_SYMBOL_EXISTS(bfd_get_section_vma   \"bfd.h\" HAVE_DECL_BFD_GET_SECTION_VMA)\n    CHECK_CXX_SOURCE_COMPILES(\n      \"#include <bfd.h>\n\n       int main (int argc, char **argv){\n           bfd_size_type size;\n           bfd abfd;\n           asection sec;\n           size = bfd_section_size(&abfd, &sec);\n           return (int)(size);\n       }\"\n      HAVE_TWO_ARG_BFD_SECTION_SIZE)\n\n    unset(CMAKE_REQUIRED_LIBRARIES)\n\n    # Check for iberty support\n    find_library(HAVE_IBERTY iberty PATHS /usr/lib64 /usr/lib/ PATH_SUFFIXES x86_64-linux-gnu)\n    if(HAVE_IBERTY)\n      message(STATUS \"iberty found @ ${HAVE_IBERTY}\")\n    endif()\n\n    # Check for demangle support\n    find_path(DEMANGLE_DIR demangle.h PATHS /usr/include PATH_SUFFIXES libiberty)\n    if(NOT DEMANGLE_DIR)\n      message(WARNING \"Could not find demangle.h ${DEMANGLE_DIR}\")\n    else()\n      message(STATUS \"Found demangle.h in ${DEMANGLE_DIR}\")\n    endif()\n  else()\n    message(WARNING \"bfd.h header not found - Disabling custom backtrace\")\n  endif()\nendif()\n\n\n\n# Check for --amdgpu-kernarg-preload-count\ncheck_cxx_compiler_flag(\"-mllvm --amdgpu-kernarg-preload-count=16\" HAVE_KERNARG_PRELOAD)\nif (HAVE_KERNARG_PRELOAD)\n  message(STATUS \"Kernarg preloading to SGPR enabled\")\nendif()\n\ncheck_cxx_compiler_flag(\"-parallel-jobs=12\" HAVE_PARALLEL_JOBS)\nif (HAVE_PARALLEL_JOBS)\n  message(STATUS \"Parallel jobs enabled\")\nendif()\n\n## Disable building MSCCL++ if the build environment is invalid\n## Currently MSCCL++ is supported only on gfx942 and gfx950, and only on Ubuntu and CentOS\nset(MSCCLPP_SUPPORTED_ARCHS \"gfx942\" \"gfx942:xnack-\" \"gfx942:xnack+\" \"gfx950\" \"gfx950:xnack-\" \"gfx950:xnack+\")\n\n\n# Check if any of the supported architectures are in GPU_TARGETS\nset(ARCH_MATCH_FOUND OFF)\nset(MSCCLPP_GPU_TARGETS \"\")\nforeach(ARCH IN LISTS GPU_TARGETS)\n  if(ARCH IN_LIST MSCCLPP_SUPPORTED_ARCHS)\n    set(ARCH_MATCH_FOUND ON)\n    list(APPEND MSCCLPP_GPU_TARGETS \"${ARCH}\")\n  endif()\nendforeach()\nset(MSCCLPP_GPU_TARGETS \"${MSCCLPP_GPU_TARGETS}\" CACHE STRING \"GPU Targets supported by MSCCL++\" FORCE)\n\nif (ENABLE_MSCCLPP AND NOT ARCH_MATCH_FOUND)\n  set(ENABLE_MSCCLPP OFF)\n  message(WARNING \"Can only build MSCCL++ for supported GPU_TARGETS: ${MSCCLPP_SUPPORTED_ARCHS}; current GPU_TARGETS: ${GPU_TARGETS}; so disabling MSCCL++ build\")\nendif()\n\n# MSCCL++ is only supported on ROCm 6.2.0 or newer\nif (ENABLE_MSCCLPP AND ROCM_VERSION VERSION_LESS \"60200\")\n  set(ENABLE_MSCCLPP OFF)\n  message(WARNING \"MSCCL++ integration only supported on ROCm 6.2.0 or greater; disabling MSCCL++ build\")\nendif()\n\n## Disable WARP_SPEED if the build environment is invalid\nset(WARP_SPEED_SUPPORTED_ARCHS \"gfx942\" \"gfx942:xnack-\" \"gfx942:xnack+\" \"gfx950\" \"gfx950:xnack-\" \"gfx950:xnack+\")\nset(ARCH_MATCH_FOUND OFF)\nforeach(ARCH IN LISTS GPU_TARGETS)\n  if(ARCH IN_LIST WARP_SPEED_SUPPORTED_ARCHS)\n    set(ARCH_MATCH_FOUND ON)\n  endif()\nendforeach()\nif (NOT ARCH_MATCH_FOUND)\n  set(ENABLE_WARP_SPEED OFF)\n  message(WARNING \"Can only build WARP_SPEED for supported GPU_TARGETS: ${WARP_SPEED_SUPPORTED_ARCHS}; current GPU_TARGETS: ${GPU_TARGETS}; so disabling WARP_SPEED build\")\nendif()\n\n\n# cmake_host_system_information(RESULT HOST_OS_ID QUERY DISTRIB_ID) ## Requires cmake 3.22\nexecute_process(\n  COMMAND bash -c \"grep '^ID=' /etc/os-release | cut -d'=' -f2 | cut -d'\\\"' -f2\"\n  OUTPUT_VARIABLE HOST_OS_ID\n  OUTPUT_STRIP_TRAILING_WHITESPACE\n)\n\nexecute_process(\n  COMMAND bash -c \"grep '^ID_LIKE=' /etc/os-release | cut -d'=' -f2 | cut -d'\\\"' -f2\"\n  OUTPUT_VARIABLE HOST_OS_FAMILY\n  OUTPUT_STRIP_TRAILING_WHITESPACE\n)\n\nif (ENABLE_MSCCLPP AND NOT(${HOST_OS_ID} STREQUAL \"ubuntu\" OR ${HOST_OS_ID} STREQUAL \"centos\"))\n  set(ENABLE_MSCCLPP OFF)\n  message(WARNING \"MSCCL++ integration not supported on this OS (${HOST_OS_ID}); disabling MSCCL++ build\")\nendif()\n\n# Check for ROCTX\nif(ROCTX)\n  find_library(ROCTX_LIB NAMES roctx64)\n  find_path(ROCTRACER_INCLUDE_DIR \"roctracer/roctx.h\")\n  if(ROCTX_LIB AND ROCTRACER_INCLUDE_DIR)\n    set(ROCTX_ENABLE ON)\n    message(STATUS \"ROCTX include directory found: ${ROCTRACER_INCLUDE_DIR}\")\n    message(STATUS \"ROCTX library found: ${ROCTX_LIB}\")\n  else()\n    message(WARNING \"ROCTX library not found. Skipping ROCTX linking.\")\n  endif()\nendif()\n\n# Determine version from makefiles/version.mk and fill in templates\n#==================================================================================================\n## parse version from Makefile NCCL_MAJOR, NCCL_MINOR, NCCL_PATCH must exist\n## NCCL_SUFFIX is optional\n## NCCL_VERSION formatting is ((X) * 1000 + (Y) * 100 + (Z)) so we must first detect one or two digits first\nfile(READ makefiles/version.mk version_mk_text)\nif(\"${version_mk_text}\" MATCHES \"NCCL_MAJOR *:= *([0-9]*)\")\n  set(NCCL_MAJOR ${CMAKE_MATCH_1})\nelse()\n  message(FATAL_ERROR \"Failed to parse NCCL_MAJOR\")\nendif()\nif(\"${version_mk_text}\" MATCHES \"NCCL_MINOR *:= *([0-9]*)\")\n  set(NCCL_MINOR ${CMAKE_MATCH_1})\nelse()\n  message(FATAL_ERROR \"Failed to parse NCCL_MINOR\")\nendif()\nif(\"${version_mk_text}\" MATCHES \"NCCL_PATCH *:= *([0-9]*)\")\n  set(NCCL_PATCH ${CMAKE_MATCH_1})\nelse()\n  message(FATAL_ERROR \"Failed to parse NCCL_PATCH\")\nendif()\nif(\"${version_mk_text}\" MATCHES \"NCCL_SUFFIX *:= *([0-9]*)\")\n  set(NCCL_SUFFIX ${CMAKE_MATCH_1})\nelse()\n  set(NCCL_SUFFIX)\nendif()\nif(\"${version_mk_text}\" MATCHES \"PKG_REVISION *:= *([0-9]*)\")\n  set(PKG_REVISION ${CMAKE_MATCH_1})\nelse()\n  message(FATAL_ERROR \"Failed to parse PKG_REVISION\")\nendif()\nif(\"${NCCL_PATCH}\" MATCHES \"[0-9][0-9]\")\n  set(NCCL_VERSION \"${NCCL_MAJOR}${NCCL_MINOR}${NCCL_PATCH}\")\nelse()\n  set(NCCL_VERSION \"${NCCL_MAJOR}${NCCL_MINOR}0${NCCL_PATCH}\")\nendif()\n\n## Setup VERSION\nset(VERSION_STRING \"${NCCL_MAJOR}.${NCCL_MINOR}.${NCCL_PATCH}\")\nrocm_setup_version(VERSION ${VERSION_STRING})\n\n## Fill in version information for main header file\nconfigure_file(src/nccl.h.in ${PROJECT_BINARY_DIR}/include/rccl/rccl.h) # For external linking\nconfigure_file(src/nccl.h.in ${PROJECT_BINARY_DIR}/include/nccl.h)      # Used by some internal files\n\n# Collect list of all source files\n#==================================================================================================\n# E.g: find src -type f \\( -name \"*.cc\" -o -name \"*.h\" -o -name \"*.hpp\" \\) | sort\nset(SRC_FILES\n  src/allocator.cc\n  src/bootstrap.cc\n  src/ce_coll.cc\n  src/channel.cc\n  src/collectives.cc\n  src/commDump.cc\n  src/debug.cc\n  src/dev_runtime.cc\n  src/enqueue.cc\n  src/group.cc\n  src/init.cc\n  src/init_nvtx.cc\n  src/mnnvl.cc\n  src/msccl.cc\n  src/proxy.cc\n  src/rccl_wrap.cc\n  src/sym_kernels.cc\n  src/transport.cc\n  src/device/all_gather.h\n  src/device/all_reduce.h\n  src/device/alltoall_pivot.h\n  src/device/alltoall_gda.h\n  src/device/broadcast.h\n  src/device/common.h\n  src/device/common_kernel.h\n  src/device/op128.h\n  src/device/primitives.h\n  src/device/prims_ll128.h\n  src/device/prims_ll.h\n  src/device/prims_simple.h\n  src/device/reduce.h\n  src/device/reduce_kernel.h\n  src/device/reduce_scatter.h\n  src/device/rccl_metadata.h\n  src/device/rccl_ptr.h\n  src/device/sendrecv.h\n  src/device/common.cu\n  src/device/onerank.cu\n  src/device/network/unpack/unpack_defs.h\n  src/device/network/unpack/unpack.h\n  src/device/symmetric/all_gather.cuh\n  src/device/symmetric/all_reduce.cuh\n  src/device/symmetric/kernel.cuh\n  src/device/symmetric/primitives.cuh\n  src/device/symmetric/reduce_scatter.cuh\n  src/graph/connect.cc\n  src/graph/paths.cc\n  src/graph/rings.cc\n  src/graph/rings.h\n  src/graph/rome_models.cc\n  src/graph/rome_models.h\n  src/graph/search.cc\n  src/graph/topo.cc\n  src/graph/topo.h\n  src/graph/trees.cc\n  src/graph/tuning.cc\n  src/graph/xml.cc\n  src/graph/xml.h\n  src/include/alloc.h\n  src/include/allocator.h\n  src/include/alt_rsmi.h\n  src/include/archinfo.h\n  src/include/api_trace.h\n  src/include/argcheck.h\n  src/include/BfdBacktrace.hpp\n  src/include/bitops.h\n  src/include/bootstrap.h\n  src/include/ce_coll.h\n  src/include/channel.h\n  src/include/checks.h\n  src/include/collectives.h\n  src/include/coll_net.h\n  src/include/comm.h\n  src/include/core.h\n  src/include/cpuset.h\n# src/include/cudawrap.h\n  src/include/debug.h\n  src/include/dev_runtime.h\n  src/include/device.h\n  src/include/enqueue.h\n  src/include/gdrwrap.h\n  src/include/git_version.h\n  src/include/graph.h\n  src/include/group.h\n  src/include/hip_rocm_version_info.h\n  src/include/ibvcore.h\n  src/include/ibvsymbols.h\n  src/include/ibvwrap.h\n  src/include/info.h\n  src/include/ipcsocket.h\n  src/include/mnnvl.h\n  src/include/nccl_common.h\n  src/include/nccl_device.h\n  src/include/net_device.h\n  src/include/net.h\n  src/include/nvmlwrap.h\n  src/include/nvtx.h\n  src/include/nvtx_payload_schemas.h\n  src/include/nvtx_stub.h\n  src/include/p2p.h\n  src/include/param.h\n  src/include/profiler.h\n  src/include/proxy.h\n  src/include/ras.h\n  src/include/rccl_common.h\n  src/include/rccl_vars.h\n  src/include/register.h\n  src/include/register_inline.h\n  src/include/rccl_float8.h\n  src/include/rocmwrap.h\n  src/include/roctx.h\n  src/include/recorder.h\n  src/include/scheduler.h\n  src/include/shm.h\n  src/include/shmutils.h\n  src/include/signals.h\n  src/include/socket.h\n  src/include/strongstream.h\n  src/include/sym_kernels.h\n  src/include/timer.h\n  src/include/transport.h\n  src/include/trees.h\n  src/include/tuner.h\n  src/include/utils.h\n  src/include/mlx5/mlx5dvcore.h\n  src/include/mlx5/mlx5dvsymbols.h\n  src/include/mlx5/mlx5dvwrap.h\n  src/include/ionic/ionicdvcore.h\n  src/include/ionic/ionicdvsymbols.h\n  src/include/ionic/ionicdvwrap.h\n  src/include/msccl/msccl_lifecycle.h\n  src/include/msccl/msccl_parser.h\n  src/include/msccl/msccl_scheduler.h\n  src/include/msccl/msccl_setup.h\n  src/include/msccl/msccl_status.h\n  src/include/msccl/msccl_struct.h\n  src/include/nccl_device/comm.h\n  src/include/nccl_device/coop.h\n  src/include/nccl_device/core.h\n  src/include/nccl_device/ll_a2a.h\n  src/include/nccl_device/mem_barrier.h\n  src/include/nccl_device/ptr.h\n  src/include/nccl_device/utility.h\n  src/include/nccl_device/impl/comm__funcs.h\n  src/include/nccl_device/impl/comm__types.h\n  src/include/nccl_device/impl/core__funcs.h\n  src/include/nccl_device/impl/core__types.h\n  src/include/nccl_device/impl/ll_a2a__funcs.h\n  src/include/nccl_device/impl/ll_a2a__types.h\n  src/include/nccl_device/impl/mem_barrier__funcs.h\n  src/include/nccl_device/impl/mem_barrier__types.h\n  src/include/nccl_device/impl/ptr__funcs.h\n  src/include/nccl_device/impl/ptr__types.h\n  src/include/npkit/npkit.h\n  src/include/npkit/npkit_event.h\n  src/include/npkit/npkit_struct.h\n  src/include/nvtx3/nvToolsExt.h\n  src/include/nvtx3/nvToolsExtCounters.h\n  src/include/nvtx3/nvToolsExtCuda.h\n  src/include/nvtx3/nvToolsExtCudaRt.h\n  src/include/nvtx3/nvToolsExtMem.h\n  src/include/nvtx3/nvToolsExtMemCudaRt.h\n  src/include/nvtx3/nvToolsExtOpenCL.h\n  src/include/nvtx3/nvToolsExtPayload.h\n  src/include/nvtx3/nvToolsExtPayloadHelper.h\n  src/include/nvtx3/nvToolsExtSemanticsCounters.h\n  src/include/nvtx3/nvToolsExtSemanticsScope.h\n  src/include/nvtx3/nvToolsExtSync.h\n  src/include/nvtx3/nvtx3.hpp\n  src/include/nvtx3/nvtxDetail/nvtxExtHelperMacros.h\n  src/include/nvtx3/nvtxDetail/nvtxExtImpl.h\n  src/include/nvtx3/nvtxDetail/nvtxExtImplCounters_v1.h\n  src/include/nvtx3/nvtxDetail/nvtxExtImplMem_v1.h\n  src/include/nvtx3/nvtxDetail/nvtxExtImplMemCudaRt_v1.h\n  src/include/nvtx3/nvtxDetail/nvtxExtImplPayload_v1.h\n  src/include/nvtx3/nvtxDetail/nvtxExtInit.h\n  src/include/nvtx3/nvtxDetail/nvtxExtPayloadHelperInternal.h\n  src/include/nvtx3/nvtxDetail/nvtxExtPayloadTypeInfo.h\n  src/include/nvtx3/nvtxDetail/nvtxExtTypes.h\n  src/include/nvtx3/nvtxDetail/nvtxImpl.h\n  src/include/nvtx3/nvtxDetail/nvtxImplCore.h\n  src/include/nvtx3/nvtxDetail/nvtxImplCuda_v3.h\n  src/include/nvtx3/nvtxDetail/nvtxImplCudaRt_v3.h\n  src/include/nvtx3/nvtxDetail/nvtxImplOpenCL_v3.h\n  src/include/nvtx3/nvtxDetail/nvtxImplSync_v3.h\n  src/include/nvtx3/nvtxDetail/nvtxInit.h\n  src/include/nvtx3/nvtxDetail/nvtxInitDecls.h\n  src/include/nvtx3/nvtxDetail/nvtxInitDefs.h\n  src/include/nvtx3/nvtxDetail/nvtxLinkOnce.h\n  src/include/nvtx3/nvtxDetail/nvtxTypes.h\n  src/include/proxy_trace/proxy_trace.h\n  src/include/plugin/nccl_net.h\n  src/include/plugin/nccl_profiler.h\n  src/include/plugin/nccl_tuner.h\n  src/include/plugin/plugin.h\n  src/include/plugin/net/net_v6.h\n  src/include/plugin/net/net_v7.h\n  src/include/plugin/net/net_v8.h\n  src/include/plugin/net/net_v9.h\n  src/include/plugin/net/net_v10.h\n  src/include/plugin/net/net_v11.h\n  src/include/plugin/profiler/net_ib_v1.h\n  src/include/plugin/profiler/net_ib.h\n  src/include/plugin/profiler/net_socket_v1.h\n  src/include/plugin/profiler/net_socket.h\n  src/include/plugin/profiler/profiler_v1.h\n  src/include/plugin/profiler/profiler_v2.h\n  src/include/plugin/profiler/profiler_v3.h\n  src/include/plugin/profiler/profiler_v4.h\n  src/include/plugin/profiler/profiler_v5.h\n  src/include/plugin/tuner/tuner_v2.h\n  src/include/plugin/tuner/tuner_v3.h\n  src/include/plugin/tuner/tuner_v4.h\n  src/include/plugin/tuner/tuner_v5.h\n  src/misc/alt_rsmi.cc\n  src/misc/archinfo.cc\n  src/misc/argcheck.cc\n  src/misc/api_trace.c\n  src/misc/api_trace.cc\n# src/misc/cudawrap.cc\n# src/misc/gdrwrap.cc\n  src/misc/ibvsymbols.cc\n  src/misc/ibvwrap.cc\n  src/misc/ipcsocket.cc\n  src/misc/mlx5dvsymbols.cc\n  src/misc/mlx5dvwrap.cc\n  src/misc/ionicdvsymbols.cc\n  src/misc/ionicdvwrap.cc\n  src/misc/npkit.cc\n# src/misc/nvmlwrap.cc\n  src/misc/nvmlwrap_stub.cc\n  src/misc/param.cc\n  src/misc/rocmwrap.cc\n  src/misc/roctx.cc\n  src/misc/recorder.cc\n  src/misc/shmutils.cc\n  src/misc/signals.cc\n  src/misc/socket.cc\n  src/misc/strongstream.cc\n  src/misc/utils.cc\n  src/misc/msccl/msccl_lifecycle.cc\n  src/misc/msccl/msccl_parser.cc\n  src/misc/msccl/msccl_setup.cc\n  src/misc/msccl/msccl_status.cc\n  src/misc/proxy_trace/proxy_trace.cc\n  src/nccl_device/core.cc\n  src/nccl_device/ll_a2a.cc\n  src/nccl_device/mem_barrier.cc\n  src/plugin/net.cc\n  src/plugin/plugin_open.cc\n  src/plugin/profiler.cc\n  src/plugin/tuner.cc\n  src/plugin/net/net_v6.cc\n  src/plugin/net/net_v7.cc\n  src/plugin/net/net_v8.cc\n  src/plugin/net/net_v9.cc\n  src/plugin/net/net_v10.cc\n  src/plugin/net/net_v11.cc\n  src/plugin/profiler/profiler_v1.cc\n  src/plugin/profiler/profiler_v2.cc\n  src/plugin/profiler/profiler_v3.cc\n  src/plugin/profiler/profiler_v4.cc\n  src/plugin/profiler/profiler_v5.cc\n  src/plugin/tuner/tuner_v2.cc\n  src/plugin/tuner/tuner_v3.cc\n  src/plugin/tuner/tuner_v4.cc\n  src/plugin/tuner/tuner_v5.cc\n  src/ras/client.cc\n  src/ras/client_support.cc\n  src/ras/collectives.cc\n  src/ras/peers.cc\n  src/ras/ras.cc\n  src/ras/ras_internal.h\n  src/ras/rasnet.cc\n  src/register/coll_reg.cc\n  src/register/register.cc\n  src/register/sendrecv_reg.cc\n  src/scheduler/symmetric_sched.cc\n  src/transport/coll_net.cc\n  src/transport/generic.cc\n  src/transport/net.cc\n  src/transport/net_ib.cc\n  src/transport/net_ib_rocm.cc\n  src/transport/net_socket.cc\n  src/transport/nvls.cc\n  src/transport/p2p.cc\n  src/transport/profiler.cc\n  src/transport/shm.cc\n  src/include/latency_profiler/CollTrace.h\n  src/include/latency_profiler/CollTraceEvent.h\n  src/include/latency_profiler/CollTraceFunc.h\n  src/include/latency_profiler/CollTraceUtils.h\n  src/include/latency_profiler/EventQueue.h\n  src/misc/latency_profiler/CollTrace.cc\n  src/misc/latency_profiler/CollTraceEvent.cc\n  src/misc/latency_profiler/CollTraceFunc.cc\n  src/misc/latency_profiler/CollTraceUtils.cc\n)\n\nif(USE_AMDSMI)\n  set(SMI_SOURCES\n    src/include/amdsmi_wrap.h\n    src/misc/amdsmi_wrap.cc\n  )\nelse()\n  set(SMI_SOURCES\n    src/include/rocm_smi_wrap.h\n    src/misc/rocm_smi_wrap.cc\n  )\nendif()\nlist(APPEND SRC_FILES ${SMI_SOURCES})\n\nif (ENABLE_MSCCL_KERNEL)\n  set(MSCCL_KERNEL_SOURCES\n    src/device/msccl_kernel_impl.h\n    src/include/msccl/msccl_kernel.h\n  )\n  list(APPEND SRC_FILES ${MSCCL_KERNEL_SOURCES})\nendif()\n\nif (ENABLE_MSCCLPP)\n  set(MSCCLPP_SOURCES\n    src/include/mscclpp/mscclpp_nccl.h\n    src/misc/mscclpp/mscclpp_nccl.cc\n  )\n  list(APPEND SRC_FILES ${MSCCLPP_SOURCES})\nendif()\n\n# Hipify source files (copy of source generated into hipify directory)\n#==================================================================================================\nfind_program(hipify-perl_executable hipify-perl)\nif(NOT hipify-perl_executable)\n  message(FATAL_ERROR \"hipify-perl not found\")\nendif()\nset(HIPIFY_DIR \"${CMAKE_CURRENT_BINARY_DIR}/hipify\")\n\n## Loop over each source file to hipify\nforeach(SRC_FILE ${SRC_FILES})\n  # Check that file exists\n  if (NOT EXISTS ${CMAKE_SOURCE_DIR}/${SRC_FILE})\n    message(FATAL_ERROR \"Unable to find file listed in CMakeLists.txt: ${CMAKE_SOURCE_DIR}/${SRC_FILE}\")\n  endif()\n\n  # Establish hipified copy of the source file\n  set(HIP_FILE \"${HIPIFY_DIR}/${SRC_FILE}\")\n  get_filename_component(HIP_FILE_DIR ${HIP_FILE} DIRECTORY)\n\n  # Make sure the file name is unique and there is no duplicate\n  add_file_unique(HIP_SOURCES ${HIP_FILE})\n\n  # Convert .cu files to .cpp so that they get processed properly\n  string(REPLACE \"\\.cuh\" \"\\.h\" HIP_FILE ${HIP_FILE})\n  string(REPLACE \"\\.cu\" \"\\.cu.cpp\" HIP_FILE ${HIP_FILE})\n  list(APPEND HIP_SOURCES ${HIP_FILE})\n\n  # Create a custom command to create hipified source code\n  if (FAULT_INJECTION)\n    add_custom_command(\n      OUTPUT ${HIP_FILE}\n      COMMAND mkdir -p ${HIP_FILE_DIR}\n              && ${hipify-perl_executable} -quiet-warnings ${CMAKE_SOURCE_DIR}/${SRC_FILE} -o ${HIP_FILE}\n              && ${CMAKE_COMMAND} -E env bash ${CMAKE_CURRENT_SOURCE_DIR}/cmake/scripts/add_unroll.sh ${HIP_FILE}\n              && ${CMAKE_COMMAND} -E env bash ${CMAKE_CURRENT_SOURCE_DIR}/cmake/scripts/add_faults.sh ${HIP_FILE}\n      MAIN_DEPENDENCY ${SRC_FILE}\n      COMMENT \"Hipifying ${SRC_FILE} -> ${HIP_FILE}\"\n    )\n  else()\n    add_custom_command(\n      OUTPUT ${HIP_FILE}\n      COMMAND mkdir -p ${HIP_FILE_DIR}\n              && ${hipify-perl_executable} -quiet-warnings ${CMAKE_SOURCE_DIR}/${SRC_FILE} -o ${HIP_FILE}\n              && ${CMAKE_COMMAND} -E env bash ${CMAKE_CURRENT_SOURCE_DIR}/cmake/scripts/add_unroll.sh ${HIP_FILE}\n      MAIN_DEPENDENCY ${SRC_FILE}\n      COMMENT \"Hipifying ${SRC_FILE} -> ${HIP_FILE}\"\n    )\n  endif()\nendforeach()\n\n# Adding custom target to hipify all the source files\n# This is required to make sure that all the hipified source files are\n# available before compiling the unit tests executable(s)\nadd_custom_target(hipify_all DEPENDS ${HIP_SOURCES})\n\n# Generate device/host tables and all the collective functions that are going to be in librccl.so\n#==================================================================================================\nfind_package(Python3 COMPONENTS Interpreter REQUIRED)\nif (NOT Python3_FOUND)\n  message(FATAL_ERROR \"RCCL requires Python3 for generating host/device tables\")\nendif()\n\nset(GEN_DIR \"${HIPIFY_DIR}/gensrc\")\nset(GEN_SYM_DIR \"${GEN_DIR}/symmetric\")\n\nif(ONLY_FUNCS)\n  message(WARNING \"Using ONLY_FUNCS = ${ONLY_FUNCS}. Not meant for release builds.\")\nendif()\n\n# Execute the python script to generate required collective functions\nexecute_process(\n    COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/device/generate.py ${GEN_DIR} ${IFC_ENABLED} ${COLLTRACE} ${ENABLE_MSCCL_KERNEL} ${BUILD_LOCAL_GPU_TARGET_ONLY} ${ONLY_FUNCS}\n    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}\n    RESULT_VARIABLE gen_py_result\n    ERROR_VARIABLE gen_py_error\n)\nif (gen_py_result)\n  message(SEND_ERROR \"Error: ${gen_py_error}\")\n  message(FATAL_ERROR \"${CMAKE_SOURCE_DIR}/src/device/generate.py failed\")\nendif()\n\nif (GENERATE_SYM_KERNELS)\n  # Execute the python script to generate required symmetric memory kernels\n  execute_process(\n    COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/device/symmetric/generate.py ${GEN_SYM_DIR}\n    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}\n    RESULT_VARIABLE gen_sym_py_result\n    ERROR_VARIABLE gen_sym_py_error\n  )\n  if (gen_sym_py_result)\n    message(SEND_ERROR \"Error: ${gen_sym_py_error}\")\n    message(FATAL_ERROR \"${CMAKE_SOURCE_DIR}/src/device/symmetric/generate.py failed\")\n  endif()\nendif()\n\n# Find the generated files in the output directory\nfile(GLOB_RECURSE GENERATED_FILES \"${GEN_DIR}/*\")\n\n# Append all found generated files to the list\nforeach(file ${GENERATED_FILES})\n  list(APPEND HIP_SOURCES ${file})\nendforeach()\n\n# Create an initial git_version.cpp file (that will be updated with latest git version)\n#==================================================================================================\n# Create initial empty file at configure time\nfile(WRITE ${CMAKE_CURRENT_BINARY_DIR}/git_version.cpp \"\")\n\n# Add a custom target that always runs at build time to update git version\nadd_custom_target(update_git_version\n  ALL\n  COMMAND ${CMAKE_COMMAND} -DRCCL_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DRCCL_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/scripts/git_version.cmake\n  BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/git_version.cpp\n  COMMENT \"Updating git version information\"\n  VERBATIM\n)\n\nlist(APPEND HIP_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/git_version.cpp)\n\n# Set up RCCL library\n#==================================================================================================\n## Set RCCL source files\nadd_library(rccl ${HIP_SOURCES})\n\n## Set RCCL dependencies\n## Ensure git version is updated before building rccl\nadd_dependencies(rccl update_git_version)\n\n## Set RCCL include directories\ntarget_include_directories(rccl PRIVATE ${PROJECT_BINARY_DIR}/include)        # for generated rccl.h header\ntarget_include_directories(rccl PRIVATE ${HIPIFY_DIR}/src)                    # for hipfied headers\ntarget_include_directories(rccl PRIVATE ${HIPIFY_DIR}/src/device)\ntarget_include_directories(rccl PRIVATE ${HIPIFY_DIR}/src/device/network/unpack)\ntarget_include_directories(rccl PRIVATE ${HIPIFY_DIR}/src/include)\ntarget_include_directories(rccl PRIVATE ${HIPIFY_DIR}/src/include/mlx5)\ntarget_include_directories(rccl PRIVATE ${HIPIFY_DIR}/src/include/nccl_device)\ntarget_include_directories(rccl PRIVATE ${HIPIFY_DIR}/src/include/ionic)\ntarget_include_directories(rccl PRIVATE ${HIPIFY_DIR}/src/include/plugin)\ntarget_include_directories(rccl PRIVATE ${HIPIFY_DIR}/gensrc)\ntarget_include_directories(rccl PRIVATE ${HSA_INCLUDE_PATH})\ntarget_include_directories(rccl PRIVATE ${ROCM_SMI_INCLUDE_DIR})\ntarget_include_directories(rccl PRIVATE ${ROCMCORE_PATH}/include)\nif(DEMANGLE_DIR)\n  target_include_directories(rccl PRIVATE ${DEMANGLE_DIR})\nendif()\nif(ROCTX_ENABLE)\n  target_include_directories(rccl PRIVATE ${ROCTRACER_INCLUDE_DIR})\nendif()\n\n\n## Set RCCL compile definitions\nif(COLLTRACE)\n  target_compile_definitions(rccl PRIVATE ENABLE_COLLTRACE)\nendif()\nif(ENABLE_MSCCL_KERNEL)\n  message(WARNING \"MSCCL is deprecated and will be removed in a future version of RCCL.\")\n  target_compile_definitions(rccl PRIVATE COMPILE_MSCCL_KERNEL)\nendif()\nif(ENABLE_MSCCLPP)\n  target_compile_definitions(rccl PRIVATE ENABLE_MSCCLPP)\nendif()\n\nif(USE_AMDSMI)\n  target_compile_definitions(rccl PRIVATE USE_AMDSMI)\nelse()\n  if(HAVE_ROCM_SMI64CONFIG)\n    target_compile_definitions(rccl PRIVATE USE_ROCM_SMI64CONFIG)\n  endif()\n  if(HAVE_ROCM_SMI_THREAD_ONLY_MUTEX)\n    target_compile_definitions(rccl PRIVATE USE_ROCM_SMI_THREAD_ONLY_MUTEX)\n  endif()\nendif()\nif(ENABLE_WARP_SPEED)\n  target_compile_definitions(rccl PRIVATE ENABLE_WARP_SPEED)\nendif()\nif(ENABLE_ROCSHMEM)\n  target_compile_definitions(rccl PRIVATE ENABLE_ROCSHMEM)\nendif()\n\n# ==== rocSHMEM integration (optional) ====\n\nif (ENABLE_ROCSHMEM)\n  add_rocshmem_targets()\n  # Ensure rocSHMEM is fully built/installed before compiling rccl\n  if (TARGET rocshmem_ext)\n    add_dependencies(rccl rocshmem_ext)\n  endif()\n\n  if (ROCSHMEM_INCLUDE_DIR)\n    target_include_directories(rccl PRIVATE ${ROCSHMEM_INCLUDE_DIR})\n  endif()\n\n  # Moved to where MSCCL target_links\n  ## target_link_libraries(rccl PRIVATE ${ROCSHMEM_LIBRARY})\n  target_link_libraries(rccl PRIVATE ${IBVERBS})\n\nendif()\n\n# NPKit flags\n## May be better to move these to a separate file\nif(ENABLE_NPKIT)\n  message(WARNING \"NPKit is deprecated and will be removed in a future version of RCCL. Please consider using alternative profiling tools.\")\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_TIME_SYNC_GPU)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_TIME_SYNC_CPU)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_COPY_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_COPY_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_DIRECT_COPY_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_DIRECT_COPY_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_DIRECT_RECV_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_DIRECT_RECV_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_DIRECT_RECV_COPY_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_DIRECT_RECV_COPY_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_DIRECT_RECV_REDUCE_COPY_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_DIRECT_RECV_REDUCE_COPY_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_DIRECT_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_DIRECT_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_DIRECT_SEND_FROM_OUTPUT_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_DIRECT_SEND_FROM_OUTPUT_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_RECV_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_RECV_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_RECV_COPY_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_RECV_COPY_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_RECV_REDUCE_COPY_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_RECV_REDUCE_COPY_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_RECV_REDUCE_COPY_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_RECV_REDUCE_COPY_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_RECV_REDUCE_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_RECV_REDUCE_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_SEND_FROM_OUTPUT_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_SEND_FROM_OUTPUT_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_PRIM_SIMPLE_WAIT_PEER_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_PRIM_SIMPLE_WAIT_PEER_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_PRIM_LL_WAIT_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_PRIM_LL_WAIT_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_PRIM_LL128_WAIT_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_PRIM_LL128_WAIT_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_PRIM_LL128_DATA_PROCESS_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_PRIM_LL128_DATA_PROCESS_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_NET_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_NET_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_NET_TEST_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_NET_TEST_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_NET_RECV_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_NET_RECV_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_RECV_REDUCE_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_RECV_REDUCE_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_REDUCE_COPY_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_REDUCE_COPY_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_COPY_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_COPY_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_REDUCE_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_REDUCE_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_BROADCAST_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_BROADCAST_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_BROADCAST_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_BROADCAST_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_BROADCAST_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_BROADCAST_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_SEND_RECV_LOCAL_COPY_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_SEND_RECV_LOCAL_COPY_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_SEND_RECV_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_SEND_RECV_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_SEND_RECV_RECV_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_SEND_RECV_RECV_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_GATHER_RING_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_GATHER_RING_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_GATHER_RING_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_GATHER_RING_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_GATHER_RING_RECV_COPY_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_GATHER_RING_RECV_COPY_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_GATHER_RING_DIRECT_RECV_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_ALL_GATHER_RING_DIRECT_RECV_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_MSCCL_GENERIC_OP_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_MSCCL_GENERIC_OP_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_MSCCL_REDUCE_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_MSCCL_REDUCE_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_MSCCL_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_MSCCL_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_MSCCL_RECV_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_MSCCL_RECV_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_MSCCL_RUN_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_MSCCL_RUN_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_MSCCL_RECV_REDUCE_COPY_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_MSCCL_RECV_REDUCE_COPY_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_MSCCL_INIT_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_MSCCL_INIT_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_BROADCAST_RING_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_BROADCAST_RING_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_SEND_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_SEND_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_COPY_ENTRY)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_COPY_EXIT)\n  target_compile_definitions(rccl PRIVATE ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME)\nendif()\n\nif(PROFILE)\n  target_compile_definitions(rccl PRIVATE ENABLE_PROFILING)\nendif()\nif(ROCTX_ENABLE)\n  target_compile_definitions(rccl PRIVATE ROCTX_ENABLE)\nelse()\n  target_compile_definitions(rccl PRIVATE NVTX_NO_IMPL)\n  target_compile_definitions(rccl PRIVATE NVTX_DISABLE)\nendif()\nif(TRACE)\n  target_compile_definitions(rccl PRIVATE ENABLE_TRACE)\nendif()\nif(${HIP_CONTIGUOUS_MEMORY})\n  target_compile_definitions(rccl PRIVATE HIP_CONTIGUOUS_MEMORY)\n  message(STATUS \"HIP_CONTIGUOUS_MEMORY enabled\")\nelse()\n  message(STATUS \"HIP_CONTIGUOUS_MEMORY disabled\")\nendif()\nif(\"${hip_version_string}\" VERSION_GREATER_EQUAL \"5.7.31920\")\n  target_compile_definitions(rccl PRIVATE HIP_UNCACHED_MEMORY)\n  message(STATUS \"HIP_UNCACHED_MEMORY enabled\")\nelse()\n  message(STATUS \"HIP_UNCACHED_MEMORY disabled - requires HIP version >= 5.7.31920\")\n  # keep --hipcc-func-supp on older HIP and compiler\n  if(NOT IFC_ENABLED)\n    target_compile_options(rccl PRIVATE --hipcc-func-supp)\n    message(STATUS \"--hipcc-func-supp enabled\")\n  else()\n    message(STATUS \"--hipcc-func-supp disabled\")\n  endif()\nendif()\nif (HIP_HOST_UNCACHED_MEMORY)\n  target_compile_definitions(rccl PRIVATE HIP_HOST_UNCACHED_MEMORY)\n  message(STATUS \"HIP_HOST_UNCACHED_MEMORY enabled\")\nelse()\n  message(STATUS \"HIP_HOST_UNCACHED_MEMORY disabled\")\nendif()\nif (BUILD_BFD)\n  if (HAVE_BFD)\n    target_compile_definitions(rccl PRIVATE HAVE_BFD)\n  endif()\n  if (HAVE_DECL_BFD_GET_SECTION_FLAGS)\n    target_compile_definitions(rccl PRIVATE HAVE_DECL_BFD_GET_SECTION_FLAGS)\n  endif()\n  if (HAVE_DECL_BFD_GET_SECTION_VMA)\n    target_compile_definitions(rccl PRIVATE HAVE_DECL_BFD_GET_SECTION_VMA)\n  endif()\n  if (HAVE_TWO_ARG_BFD_SECTION_SIZE)\n    target_compile_definitions(rccl PRIVATE HAVE_TWO_ARG_BFD_SECTION_SIZE)\n  endif()\nendif()\nif (IFC_ENABLED)\n  target_compile_definitions(rccl PRIVATE USE_INDIRECT_FUNCTION_CALL)\nendif()\nif(DEMANGLE_DIR)\n  target_compile_definitions(rccl PRIVATE \"HAVE_CPLUS_DEMANGLE=1\")\n  target_compile_definitions(rccl PRIVATE \"HAVE_DECL_BASENAME=1\")\nendif()\nif(LL128_ENABLED)\n  target_compile_definitions(rccl PRIVATE ENABLE_LL128)\nendif()\n\n## Set RCCL compile options\nif (HAVE_PARALLEL_JOBS)\n  target_compile_options(rccl PRIVATE -parallel-jobs=12)\nendif()\n\nif (ROCM_VERSION VERSION_GREATER_EQUAL \"60200\")\n  target_compile_options(rccl PRIVATE --offload-compress)    # Compress GPU code at compile time.\n  target_link_libraries(rccl PRIVATE --offload-compress)     # Compress GPU code at link time.\n  message(STATUS \"--offload-compress enabled - ROCm version >= 6.2.0\")\nelse()\n  message(STATUS \"--offload-compress disabled - ROCm version < 6.2.0\")\nendif()\n\ntarget_compile_options(rccl PRIVATE -Werror=uninitialized)\ntarget_compile_options(rccl PRIVATE -Werror=sometimes-uninitialized)\ntarget_compile_options(rccl PRIVATE -Wall)\ntarget_compile_options(rccl PRIVATE -Werror=deprecated-copy-with-user-provided-copy)\ntarget_compile_options(rccl PRIVATE -Wno-format-nonliteral)\ntarget_compile_options(rccl PRIVATE -Wno-unused-function)\ntarget_compile_options(rccl PRIVATE -fgpu-rdc)\n\nif(QUIET_WARNINGS)\n  target_compile_options(rccl PRIVATE -Wno-invalid-offsetof)\n  target_compile_options(rccl PRIVATE -Wno-unused-result)\n  target_compile_options(rccl PRIVATE -Wno-macro-redefined)\n  target_compile_options(rccl PRIVATE -Wno-unused-label)\n  target_compile_options(rccl PRIVATE -Wno-unused-variable)\n  target_compile_options(rccl PRIVATE -Wno-unused-private-field)\n  target_compile_options(rccl PRIVATE -Wno-null-conversion)\n  target_compile_options(rccl PRIVATE -Wno-missing-braces)\nendif()\n\n## Set RCCL compile and linker options for unit tests and code coverage\nif(ENABLE_CODE_COVERAGE)\n  if(NOT CMAKE_BUILD_TYPE MATCHES \"Debug\")\n    message(FATAL_ERROR \"Code coverage is enabled, but the build type is '${CMAKE_BUILD_TYPE}'. \"\n                        \"Code coverage requires 'Debug' build types to expose internal symbols. \"\n                        \"Please set CMAKE_BUILD_TYPE to 'Debug' and reconfigure.\")\n  endif()\n\n  message(STATUS \"Code coverage is enabled with build type '${CMAKE_BUILD_TYPE}'.\")\n\n  target_compile_options(rccl PRIVATE\n    -fvisibility=default -Xarch_host -fprofile-instr-generate -Xarch_host -fcoverage-mapping)\n\n  set(COVERAGE_SHARED_LINKER_FLAGS\n    -fprofile-generate\n    -Wl,--enable-new-dtags,--build-id=sha1,--rpath,$ORIGIN\n  )\n\n  set(COVERAGE_EXE_LINKER_FLAGS\n    -fprofile-generate\n    -Wl,--enable-new-dtags,--build-id=sha1,--rpath,$ORIGIN/../lib\n  )\n\n  target_link_options(rccl PRIVATE ${COVERAGE_SHARED_LINKER_FLAGS})\n  target_link_options(rccl PRIVATE ${COVERAGE_EXE_LINKER_FLAGS})\nelseif(BUILD_TESTS) # Enable default/hidden visibility based on build type and ROCM_VERSION\n  if (ROCM_VERSION VERSION_GREATER_EQUAL \"60400\" AND CMAKE_BUILD_TYPE MATCHES \"Debug\")\n    target_compile_options(rccl PRIVATE -fvisibility=default)\n  else()\n    target_compile_options(rccl PRIVATE -fvisibility=hidden)\n  endif()\nelse()  # Enable hidden visibility for library without tests/code coverage enabled\n  target_compile_options(rccl PRIVATE -fvisibility=hidden)\nendif()\n\nif (HAVE_KERNARG_PRELOAD)\n  target_compile_options(rccl PRIVATE -mllvm --amdgpu-kernarg-preload-count=16)\nendif()\n\nif (REPORT_KERNEL_RESOURCE_USE)\n  target_link_options(rccl PRIVATE -Rpass-analysis=kernel-resource-usage)\nendif()\n\nif (DUMP_ASM) # Save temporary files from kernel compilation\n  message(STATUS \"Disassembling librccl.so to asm\")\n  # Maintain symbols but without changing code.  Keep additional data in dwarf section of binary.\n  target_compile_options(rccl PRIVATE -gline-tables-only)\n  set(OBJ_DUMP ${ROCM_PATH}/llvm/bin/llvm-objdump)\n\n  add_custom_command(TARGET rccl POST_BUILD\n    COMMENT \"Disassembling RCCL library\"\n    COMMAND /bin/bash -c \"${OBJ_DUMP} --offload-fatbin librccl.so\"\n    VERBATIM\n  )\n  foreach(GPUARCH ${GPU_TARGETS})\n    add_custom_command(TARGET rccl POST_BUILD\n        COMMENT \"Disassembling RCCL library to dump assembly for ${GPUARCH}\"\n        COMMAND /bin/bash -c \"${OBJ_DUMP} -d -l --source --symbolize-operands librccl.so.0.hipv4-amdgcn-amd-amdhsa--${GPUARCH} > librccl.${GPUARCH}.s\"\n        VERBATIM\n    )\n  endforeach()\nendif()\n\n## NOTE: This is currently being handled by rocm-cmake, however may need to be re-enabled in the future\n#foreach(target ${GPU_TARGETS})\n#  target_compile_options(rccl PRIVATE --offload-arch=${target})\n#endforeach()\n\nif(BUILD_ADDRESS_SANITIZER)\n  target_compile_options(rccl PRIVATE -fsanitize=address -shared-libasan)\nendif()\nif(TIMETRACE)\n  target_compile_options(rccl PRIVATE -ftime-trace)\nendif()\nif (FAULT_INJECTION)\n  target_compile_definitions(rccl PRIVATE ENABLE_FAULT_INJECTION)\n  message(STATUS \"Fault injection enabled\")\nendif()\n\n## Set RCCL linked library directories\ntarget_link_directories(rccl PRIVATE ${SMI_LIB_DIR})\n\nif (ROCM_VERSION VERSION_GREATER_EQUAL \"60100\")\n    option(RCCL_ROCPROFILER_REGISTER \"Enable rocprofiler-register support\" ON)\nelse()\n    if(RCCL_ROCPROFILER_REGISTER)\n        message(AUTHOR_WARNING \"RCCL_ROCPROFILER_REGISTER is not valid option for ROCm < 6.2. Current ROCm version: ${ROCM_VERSION}\")\n    endif()\n    set(RCCL_ROCPROFILER_REGISTER OFF CACHE BOOL \"\" FORCE)\nendif()\nif(RCCL_ROCPROFILER_REGISTER)\n  find_package(rocprofiler-register REQUIRED)\n  target_compile_definitions(rccl PRIVATE RCCL_ROCPROFILER_REGISTER=1)\n  target_link_libraries(\n      rccl PRIVATE rocprofiler-register::rocprofiler-register)\nendif()\n\n## Set RCCL linked libraries\nif (HAVE_BFD)\n  target_link_libraries(rccl PRIVATE bfd)\n  if(HAVE_IBERTY)\n    target_link_libraries(rccl PRIVATE iberty z)\n  endif()\nendif()\nif (ROCTX_ENABLE)\n  target_link_libraries(rccl PRIVATE ${ROCTX_LIB})\nendif()\ntarget_link_libraries(rccl PRIVATE   -fgpu-rdc)             # Required when linking relocatable device code\ntarget_link_libraries(rccl PRIVATE   Threads::Threads)\ntarget_link_libraries(rccl INTERFACE hip::host)\ntarget_link_libraries(rccl PRIVATE   hip::device)\ntarget_link_libraries(rccl PRIVATE   dl)\ntarget_link_libraries(rccl PRIVATE   ${SMI_LIBRARIES})\ntarget_link_libraries(rccl PRIVATE fmt::fmt-header-only)\nif(ENABLE_MSCCLPP)\n  target_link_libraries(rccl PRIVATE mscclpp_nccl)\nendif()\nif(ENABLE_ROCSHMEM)\n  target_link_libraries(rccl PRIVATE ${ROCSHMEM_LIBRARY})\n  target_link_libraries(rccl PRIVATE ${IBVERBS})\nendif()\n\n## Set RCCL link options\n## Find out available memory\nexecute_process(\n  COMMAND bash \"-c\" \"cat /sys/fs/cgroup/memory.max\"\n  OUTPUT_VARIABLE memory_max_string)\nif (${memory_max_string} MATCHES \"^[0-9]+\")\n  math(EXPR memory_in_gb \"${memory_max_string} / (1024 * 1024 * 1024)\")\nelse()\n  execute_process(\n    COMMAND bash \"-c\" \"free | grep -o '[[:digit:]]*' | head -1\"\n    OUTPUT_VARIABLE memory_max_string)\n  ## memory_max_string holds the free memory in KB\n  if (${memory_max_string} MATCHES \"^[0-9]+\")\n    math(EXPR memory_in_gb \"${memory_max_string} / (1024 * 1024)\") ## KB to GB conversion\n  else()\n    cmake_host_system_information(RESULT memory_max_string QUERY AVAILABLE_PHYSICAL_MEMORY )\n    math(EXPR memory_in_gb \"${memory_max_string} / 1024\")\n  endif()\nendif()\n## Reserve 16GB for each linker job. Limit max number of linker jobs to 16\nif (HAVE_PARALLEL_JOBS)\n  math(EXPR num_linker_jobs \"(${memory_in_gb} + 15) / 16\")\n  if (${num_linker_jobs} GREATER_EQUAL \"16\")\n    set(num_linker_jobs \"16\")\n  endif()\n  message(STATUS \"Use ${num_linker_jobs} jobs for linking\")\n  target_link_options(rccl PRIVATE -parallel-jobs=${num_linker_jobs})       # Use multiple threads to link\nendif()\nif(BUILD_ADDRESS_SANITIZER)\n  target_link_options(rccl PRIVATE -fuse-ld=lld)\nendif()\nif(TIMETRACE)\n  target_link_options(rccl PRIVATE -ftime-trace)\nendif()\n\nif(NOT BUILD_SHARED_LIBS)\n  message(STATUS \"Building static RCCL library\")\nelse()\n  message(STATUS \"Building shared RCCL library\")\nendif()\nif (HAVE_KERNARG_PRELOAD)\n  target_link_options(rccl PRIVATE \"SHELL:-Xoffload-linker -mllvm=-amdgpu-kernarg-preload-count=16\")\nendif()\n\nif(ENABLE_MSCCLPP)\n  include(cmake/MSCCLPP.cmake)\nendif()\n\n## Track linking time\nset_property(TARGET rccl PROPERTY RULE_LAUNCH_LINK \"${CMAKE_COMMAND} -E time\")\n\n## Setup librccl.so version\nrocm_set_soversion(rccl \"1.0\")\n\nif(NOT BUILD_SHARED_LIBS)\n  # To create a static lib with `-fgpu-rdc`, you need `--emit-static-lib` and `--hip-link`.\n  # You also need to invoke amdclang++ again to trigger GPU code generation.\n  set(static_link_flags\n    ${CXXFLAGS}\n    --hip-link\n    -fgpu-rdc\n    --emit-static-lib\n  )\n\n  # Find all the libraries we need to link at link time to include them in the clang link\n  # command line.\n  get_target_property(rccl_libs rccl LINK_LIBRARIES)\n  foreach(target ${rccl_libs})\n    if(TARGET ${target})\n      get_target_property(location ${target} LOCATION)\n      if(location)\n        LIST(APPEND static_link_flags -l${location})\n      endif()\n    endif()\n  endforeach()\n\n  foreach(target ${GPU_TARGETS})\n    list(APPEND static_link_flags --offload-arch=${target})\n  endforeach()\n  list(JOIN static_link_flags \" \" flags_str)\n\n  # Invoking amdclang++ this way will produce a static archive, so just override ARCHIVE_CREATE.\n  set(CMAKE_CXX_ARCHIVE_CREATE \"<CMAKE_CXX_COMPILER> ${flags_str} -o <TARGET> <OBJECTS>\")\nendif()\n\n# Install settings\n#==================================================================================================\n## Specify install targets\nrocm_install_targets(TARGETS rccl)\nrocm_install(FILES       ${PROJECT_BINARY_DIR}/include/rccl/rccl.h src/include/plugin/nccl_net.h\n             DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/rccl)\nrocm_install(FILES       src/include/api_trace.h\n             DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/rccl/amd_detail)\nfile(COPY tools/msccl-algorithms DESTINATION ${PROJECT_BINARY_DIR})\nfile(COPY tools/msccl-unit-test-algorithms DESTINATION ${PROJECT_BINARY_DIR})\n## Install Algorithm files under share folder\nrocm_install(DIRECTORY ${PROJECT_BINARY_DIR}/msccl-algorithms DESTINATION ${CMAKE_INSTALL_DATADIR}/rccl)\nrocm_install(DIRECTORY ${PROJECT_BINARY_DIR}/msccl-unit-test-algorithms DESTINATION ${CMAKE_INSTALL_DATADIR}/rccl)\n\nrocm_export_targets(\n  NAMESPACE roc::\n  TARGETS   rccl\n  DEPENDS   hip)\n\n## Set package dependencies\nif(BUILD_ADDRESS_SANITIZER)\n  set(DEPENDS_HIP_RUNTIME \"hip-runtime-amd-asan\" )\nelse()\n  set(DEPENDS_HIP_RUNTIME \"hip-runtime-amd\" )\nendif()\n\nrocm_package_add_dependencies(DEPENDS \"${DEPENDS_HIP_RUNTIME} >= 4.5.0\" \"${SMI_LIB_NAME}\")\nset(CPACK_DEB_COMPONENT_INSTALL ON)\nset(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)\nset(CPACK_RPM_COMPONENT_INSTALL ON)\nset(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION \"/opt\" \"${ROCM_PATH}\")\n\nfind_file (DEBIAN debian_version debconf.conf PATHS /etc)\nif(DEBIAN)\n  # Write copyright file\n  file(WRITE \"${CMAKE_BINARY_DIR}/copyright\"\n  \"Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/\nUpstream-Name: rccl\nSource: https://github.com/ROCm/rccl\n\nFiles: *\nCopyright: (c) 2016-2020, NVIDIA CORPORATION. All rights reserved.\nModifications Copyright (c) 2020-2023 Advanced Micro Devices, Inc. All rights reserved.\nModifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\nLicense: See LICENSE.txt for license information\\n\")\n  rocm_install(FILES \"${CMAKE_BINARY_DIR}/copyright\" DESTINATION ${CMAKE_INSTALL_DATADIR}/rccl)\n  # Write changelog file\n  find_program( date_executable date )\n  execute_process(COMMAND ${date_executable} -R OUTPUT_VARIABLE TIMESTAMP)\n  file(WRITE \"${CMAKE_BINARY_DIR}/changelog\"\n  \"rccl (${VERSION_STRING}-1) unstable; urgency=medium\n\n  * Initial release.\n\n -- RCCL Maintainer <rccl-maintainer@amd.com>  ${TIMESTAMP}\\n\")\n  find_program( gzip_executable gzip )\n  execute_process(COMMAND bash \"-c\" \"${gzip_executable} -9 -c -n ${CMAKE_BINARY_DIR}/changelog\"\n    WORKING_DIRECTORY ${CMAKE_BINARY_DIR} OUTPUT_FILE \"${CMAKE_BINARY_DIR}/changelog.Debian.gz\")\n  rocm_install(FILES \"${CMAKE_BINARY_DIR}/changelog.Debian.gz\" DESTINATION ${CMAKE_INSTALL_DATADIR}/rccl)\n  set(CPACK_DEBIAN_PACKAGE_DESCRIPTION \"ROCm Communication Collectives Library\n  Optimized primitives for collective multi-GPU communication\")\nendif()\n\n## Building RCCL RAS\ninclude(cmake/rcclRAS.cmake)\n\nif(BUILD_TESTS)\n  rocm_package_setup_component(clients)\n  rocm_package_setup_client_component(tests PACKAGE_NAME unittests)\n  add_subdirectory(test)\n\n  if(BUILD_SHARED_LIBS)\n    add_custom_command(TARGET rccl POST_BUILD\n      COMMENT \"Extracting metadata from librccl.so\"\n      COMMAND COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/scripts/extract_metadata.cmake\n      VERBATIM\n    )\n  endif()\nendif()\n\nrocm_create_package(\n  NAME        rccl\n  DESCRIPTION \"ROCm Communication Collectives Library\"\n  MAINTAINER  \"RCCL Maintainer <rccl-maintainer@amd.com>\"\n  LDCONFIG)\n"
  },
  {
    "path": "CppCheckSuppressions.txt",
    "content": "arrayIndexThenCheck:src/bootstrap.cc:304\narrayIndexThenCheck:src/debug.cc:88\narrayIndexThenCheck:src/graph/search.cc:844\narrayIndexThenCheck:src/graph/search.cc:916\narrayIndexThenCheck:src/graph/search.cc:927\nclarifyCalculation:src/graph/topo.cc:702\nclarifyCalculation:src/graph/topo.cc:720\nclarifyCondition:src/enqueue.cc:416\nfuncArgNamesDifferent:src/graph/topo.cc:135\nfuncArgNamesDifferent:src/graph/topo.h:144\nnullPointerRedundantCheck:src/misc/utils.cc:102\nnullPointerRedundantCheck:src/misc/utils.cc:109\nnullPointerRedundantCheck:src/proxy.cc:143\nnullPointerRedundantCheck:src/proxy.cc:144\nnullPointerRedundantCheck:src/proxy.cc:147\nnullPointerRedundantCheck:src/proxy.cc:148\nnullPointerRedundantCheck:src/proxy.cc:149\nnullPointerRedundantCheck:src/proxy.cc:150\nnullPointerRedundantCheck:src/proxy.cc:151\nnullPointerRedundantCheck:src/proxy.cc:155\nnullPointerRedundantCheck:src/proxy.cc:159\nnullPointerRedundantCheck:src/proxy.cc:160\nnullPointerRedundantCheck:src/proxy.cc:161\nnullPointerRedundantCheck:src/proxy.cc:163\nnullPointerRedundantCheck:src/proxy.cc:165\nnullPointerRedundantCheck:src/proxy.cc:167\nnullPointerRedundantCheck:src/proxy.cc:168\nnullPointerRedundantCheck:src/proxy.cc:340\nnullPointerRedundantCheck:src/proxy.cc:342\nnullPointerRedundantCheck:src/proxy.cc:93\nnullPointerRedundantCheck:src/proxy.cc:94\nredundantAssignment:src/proxy.cc:161\nredundantAssignment:src/proxy.cc:163\nredundantCopy:src/graph/rings.cc:16\nredundantCopy:src/graph/rings.cc:17\nterminateStrncpy:src/misc/utils.cc:99\nterminateStrncpy:src/transport/net_socket.cc:245\nunreachableCode:src/transport/net.cc:555\nunreadVariable:src/graph/tuning.cc:109\nunreadVariable:src/graph/tuning.cc:110\nunreadVariable:src/graph/tuning.cc:113\nunusedFunction:src/graph/topo.cc:37\nunusedFunction:src/graph/topo.cc:836\nunusedFunction:src/misc/gdrwrap.cc:109\nunusedFunction:src/misc/gdrwrap.cc:117\nunusedFunction:src/misc/gdrwrap.cc:130\nunusedFunction:src/misc/gdrwrap.cc:144\nunusedFunction:src/misc/gdrwrap.cc:158\nunusedFunction:src/misc/gdrwrap.cc:172\nunusedFunction:src/misc/gdrwrap.cc:186\nunusedFunction:src/misc/gdrwrap.cc:200\nunusedFunction:src/misc/gdrwrap.cc:209\nunusedFunction:src/misc/gdrwrap.cc:218\nunusedFunction:src/misc/gdrwrap.cc:232\nunusedFunction:src/misc/gdrwrap.cc:52\nunusedFunction:src/misc/ibvwrap.cc:203\nunusedFunction:src/misc/ibvwrap.cc:239\nunusedFunction:src/misc/ibvwrap.cc:255\nunusedFunction:src/misc/nvmlwrap.cc:112\nunusedFunction:src/misc/nvmlwrap_stub.cc:31\nunusedFunction:src/misc/nvmlwrap_stub.cc:35\nunusedFunction:src/transport.cc:71\nunusedLabel:src/bootstrap.cc:349\nunusedLabel:src/clique/ShmObject.h:112\nunusedLabel:src/clique/ShmObject.h:204\nunusedLabel:src/enqueue.cc:108\nunusedLabel:src/enqueue.cc:1093\nunusedLabel:src/enqueue.cc:989\nunusedLabel:src/init.cc:1189\nunusedLabel:src/init.cc:1240\nunusedLabel:src/init.cc:1267\nunusedLabel:src/transport.cc:238\nunusedStructMember:src/graph/xml.cc:410\nunusedStructMember:src/graph/xml.cc:411\nunusedStructMember:src/graph/xml.cc:412\nunusedStructMember:src/graph/xml.cc:428\nunusedStructMember:src/graph/xml.cc:431\nunusedStructMember:src/graph/xml.cc:432\nunusedStructMember:src/graph/xml.cc:435\nunusedStructMember:src/graph/xml.cc:437\nvariableScope:src/graph/search.cc:494\nvariableScope:src/init.cc:240\nvariableScope:src/transport/net_ib.cc:117\nvariableScope:src/transport/net_socket.cc:431\n"
  },
  {
    "path": "LICENSE.txt",
    "content": "\nAttributions\n\nContains contributions from NVIDIA.\n\nCopyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved.\nModifications Copyright (c) 2019-2025 Advanced Micro Devices, Inc. All rights reserved.\nModifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n*  Redistributions of source code must retain the above copyright\n   notice, this list of conditions and the following disclaimer.\n*  Redistributions in binary form must reproduce the above copyright\n   notice, this list of conditions and the following disclaimer in the\n   documentation and/or other materials provided with the distribution.\n*  Neither the name of NVIDIA CORPORATION, Lawrence Berkeley National\n   Laboratory, the U.S. Department of Energy, nor the names of their\n   contributors may be used to endorse or promote products derived\n   from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR\nCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\nEXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\nPROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\nOF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nThe U.S. Department of Energy funded the development of this software\nunder subcontract 7078610 with Lawrence Berkeley National Laboratory.\n\n\nThis code also includes files from the NVIDIA Tools Extension SDK project.\n\nSee:\n\nhttps://github.com/NVIDIA/NVTX\n\nfor more information and license details.\n"
  },
  {
    "path": "Makefile",
    "content": "#\n# Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n.PHONY : all clean\n\ndefault : src.build\ninstall : src.install\nBUILDDIR ?= $(abspath ./build)\nABSBUILDDIR := $(abspath $(BUILDDIR))\nTARGETS := src pkg\nclean: ${TARGETS:%=%.clean}\ntest.build: src.build\nLICENSE_FILES := LICENSE.txt\nLICENSE_TARGETS := $(LICENSE_FILES:%=$(BUILDDIR)/%)\nlic: $(LICENSE_TARGETS)\n\n${BUILDDIR}/%.txt: %.txt\n\t@printf \"Copying    %-35s > %s\\n\" $< $@\n\tmkdir -p ${BUILDDIR}\n\tcp $< $@\n\nsrc.%:\n\t${MAKE} -C src $* BUILDDIR=${ABSBUILDDIR}\n\npkg.%:\n\t${MAKE} -C pkg $* BUILDDIR=${ABSBUILDDIR}\n\npkg.debian.prep: lic\npkg.txz.prep: lic\n"
  },
  {
    "path": "NOTICES.txt",
    "content": "Notices and Licenses file\n_______________________________________________________________\n\nDependencies on nvidia-nccl v2.27.3-1 (BSD3)\n\nCopyright (c) 2015-2025, NVIDIA CORPORATION. All rights reserved.\nModifications Copyright (c) 2019-2024 Advanced Micro Devices, Inc. All rights reserved.\nModifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n  * Redistributions of source code must retain the above copyright\n    notice, this list of conditions and the following disclaimer.\n  * Redistributions in binary form must reproduce the above copyright\n    notice, this list of conditions and the following disclaimer in the\n    documentation and/or other materials provided with the distribution.\n  * Neither the name of NVIDIA CORPORATION, Lawrence Berkeley National\n    Laboratory, the U.S. Department of Energy, nor the names of their\n    contributors may be used to endorse or promote products derived\n    from this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY\n EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR\n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n The U.S. Department of Energy funded the development of this software\n under subcontract 7078610 with Lawrence Berkeley National Laboratory.\n\n\nThis code also includes files from the NVIDIA Tools Extension SDK project.\n\nSee:\n\n   https://github.com/NVIDIA/NVTX\n\nfor more information and license details.\n\n_______________________________________________________________\n\nDependencies on NPKit (MIT License)\n\n    Copyright (c) Microsoft Corporation.\n\n    Permission is hereby granted, free of charge, to any person obtaining a copy\n    of this software and associated documentation files (the \"Software\"), to deal\n    in the Software without restriction, including without limitation the rights\n    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n    copies of the Software, and to permit persons to whom the Software is\n    furnished to do so, subject to the following conditions:\n\n    The above copyright notice and this permission notice shall be included in all\n    copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n    SOFTWARE\n\n_______________________________________________________________\n\nDependencies on MSCCL++ (MIT License)\n\n    Copyright (c) Microsoft Corporation.\n\n    Permission is hereby granted, free of charge, to any person obtaining a copy\n    of this software and associated documentation files (the \"Software\"), to deal\n    in the Software without restriction, including without limitation the rights\n    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n    copies of the Software, and to permit persons to whom the Software is\n    furnished to do so, subject to the following conditions:\n\n    The above copyright notice and this permission notice shall be included in all\n    copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n    SOFTWARE\n\nSee:\n\n    https://github.com/microsoft/mscclpp\n\nfor more information and license details.\n\n_______________________________________________________________\n\nDependencies on Latency Profiler (MIT License)\n\n    Copyright (c) Meta Platforms, Inc. and affiliates.\n\n    Permission is hereby granted, free of charge, to any person obtaining a copy\n    of this software and associated documentation files (the \"Software\"), to deal\n    in the Software without restriction, including without limitation the rights\n    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n    copies of the Software, and to permit persons to whom the Software is\n    furnished to do so, subject to the following conditions:\n\n    The above copyright notice and this permission notice shall be included in all\n    copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n    SOFTWARE.\n\nSee:\n\n    src/include/latency_profiler\n    src/misc/latency_profiler\n"
  },
  {
    "path": "README.md",
    "content": "# RCCL\n\n> [!CAUTION]\n> The rccl repository is retired, please use the [ROCm/rocm-systems](https://github.com/ROCm/rocm-systems) repository\n\nROCm Communication Collectives Library\n\n[![RCCL](https://dev.azure.com/ROCm-CI/ROCm-CI/_apis/build/status%2Frccl?repoName=ROCm%2Frccl&branchName=develop)](https://dev.azure.com/ROCm-CI/ROCm-CI/_build/latest?definitionId=107&repoName=ROCm%2Frccl&branchName=develop)\n[![TheRock CI](https://github.com/ROCm/rccl/actions/workflows/therock-ci.yml/badge.svg?branch=develop&event=push)](https://github.com/ROCm/rccl/actions/workflows/therock-ci.yml)\n\n> **Note:** The published documentation is available at [RCCL](https://rocm.docs.amd.com/projects/rccl/en/latest/index.html) in an organized easy-to-read format that includes a table of contents and search functionality. The documentation source files reside in the [rccl/docs](https://github.com/ROCm/rccl/tree/develop/docs) folder in this repository. As with all ROCm projects, the documentation is open source. For more information, see [Contribute to ROCm documentation](https://rocm.docs.amd.com/en/latest/contribute/contributing.html).\n\n## Introduction\n\nRCCL (pronounced \"Rickle\") is a stand-alone library of standard collective communication routines for GPUs, implementing all-reduce, all-gather, reduce, broadcast, reduce-scatter, gather, scatter, and all-to-all. There is also initial support for direct GPU-to-GPU send and receive operations.  It has been optimized to achieve high bandwidth on platforms using PCIe, xGMI as well as networking using InfiniBand Verbs or TCP/IP sockets. RCCL supports an arbitrary number of GPUs installed in a single node or multiple nodes, and can be used in either single- or multi-process (e.g., MPI) applications.\n\nThe collective operations are implemented using ring and tree algorithms and have been optimized for throughput and latency. For best performance, small operations can be either batched into larger operations or aggregated through the API.\n\n## Requirements\n\n1. ROCm supported GPUs\n2. ROCm stack installed on the system (HIP runtime & HIP-Clang)\n\n## Quickstart RCCL Build\n\nRCCL directly depends on HIP runtime plus the HIP-Clang compiler, which are part of the ROCm software stack.\nFor ROCm installation instructions, see https://github.com/ROCm/ROCm.\n\nThe root of this repository has a helper script `install.sh` to build and install RCCL with a single command. It hard-codes configurations that can be specified through invoking cmake directly, but it's a great way to get started quickly and can serve as an example of how to build/install RCCL.\n\n### To build the library using the install script:\n\n```shell\n./install.sh\n```\n\nFor more info on build options/flags when using the install script, use `./install.sh --help`\n```shell\n./install.sh --help\nRCCL build & installation helper script\n Options:\n       --address-sanitizer     Build with address sanitizer enabled\n    -c|--enable-code-coverage  Enable code coverage\n    -d|--dependencies          Install RCCL dependencies\n       --debug                 Build debug library\n       --enable_backtrace      Build with custom backtrace support\n       --disable-colltrace     Build without collective trace\n       --enable-msccl-kernel   Build with MSCCL kernels\n       --enable-mscclpp        Build with MSCCL++ support\n       --enable-mscclpp-clip   Build MSCCL++ with clip wrapper on bfloat16 and half addition routines\n       --disable-roctx         Build without ROCTX logging\n    -f|--fast                  Quick-build RCCL (local gpu arch only, no backtrace, and collective trace support)\n    -h|--help                  Prints this help message\n    -i|--install               Install RCCL library (see --prefix argument below)\n    -j|--jobs                  Specify how many parallel compilation jobs to run ($nproc by default)\n    -l|--local_gpu_only        Only compile for local GPU architecture\n       --amdgpu_targets        Only compile for specified GPU architecture(s). For multiple targets, separate by ';' (builds for all supported GPU architectures by default)\n       --no_clean              Don't delete files if they already exist\n       --npkit-enable          Compile with npkit enabled\n       --log-trace             Build with log trace enabled (i.e. NCCL_DEBUG=TRACE)\n       --openmp-test-enable    Enable OpenMP in rccl unit tests\n    -p|--package_build         Build RCCL package\n       --prefix                Specify custom directory to install RCCL to (default: `/opt/rocm`)\n       --run_tests_all         Run all rccl unit tests (must be built already)\n    -r|--run_tests_quick       Run small subset of rccl unit tests (must be built already)\n       --static                Build RCCL as a static library instead of shared library\n    -t|--tests_build           Build rccl unit tests, but do not run\n       --time-trace            Plot the build time of RCCL (requires `ninja-build` package installed on the system)\n       --verbose               Show compile commands\n```\n\nBy default, RCCL builds for all GPU targets defined in `DEFAULT_GPUS` in `CMakeLists.txt`. To target specific GPU(s), and potentially reduce build time, use `--amdgpu_targets` as a `;` separated string listing GPU(s) to target.\n\n## Manual build\n\n### To build the library using CMake:\n\n```shell\n$ git clone --recursive https://github.com/ROCm/rccl.git\n$ cd rccl\n$ mkdir build\n$ cd build\n$ cmake ..\n$ make -j 16      # Or some other suitable number of parallel jobs\n```\nIf you have already cloned, you can checkout the external submodules manually.\n```shell\n$ git submodule update --init --recursive --depth=1\n```\nYou may substitute an installation path of your own choosing by passing `CMAKE_INSTALL_PREFIX`. For example:\n```shell\n$ cmake -DCMAKE_INSTALL_PREFIX=$PWD/rccl-install -DCMAKE_BUILD_TYPE=Release ..\n```\nNote: ensure rocm-cmake is installed, `apt install rocm-cmake`.\n\n### To build the RCCL package and install package :\n\nAssuming you have already cloned this repository and built the library as shown in the previous section:\n\n```shell\n$ cd rccl/build\n$ make package\n$ sudo dpkg -i *.deb\n```\n\nRCCL package install requires sudo/root access because it installs under `/opt/rocm/`. This is an optional step as RCCL can instead be used directly by including the path containing `librccl.so`.\n\n## Docker build\n\nRefer to [docker/README.md](docker/README.md \"docker/README.md\")\n\n## Tests\n\nThere are rccl unit tests implemented with the Googletest framework in RCCL.  The rccl unit tests require Googletest 1.10 or higher to build and execute properly (installed with the -d option to install.sh).\nTo invoke the rccl unit tests, go to the build folder, then the test subfolder, and execute the appropriate rccl unit test executable(s).\n\nrccl unit test names are now of the format:\n\n    CollectiveCall.[Type of test]\n\nFiltering of rccl unit tests should be done with environment variable and by passing the `--gtest_filter` command line flag, for example:\n\n```shell\nUT_DATATYPES=ncclBfloat16 UT_REDOPS=prod ./rccl-UnitTests --gtest_filter=\"AllReduce.C*\"\n```\n\nwill run only AllReduce correctness tests with float16 datatype. A list of available filtering environment variables appears at the top of every run. See \"Running a Subset of the Tests\" at https://google.github.io/googletest/advanced.html#running-a-subset-of-the-tests for more information on how to form more advanced filters.\n\nThere are also other performance and error-checking tests for RCCL.  These are maintained separately at https://github.com/ROCm/rccl-tests.\nSee the rccl-tests README for more information on how to build and run those tests.\n\n## Library and API Documentation\n\nPlease refer to the [RCCL Documentation Site](https://rocm.docs.amd.com/projects/rccl/en/latest/) for current documentation.\n\n### How to build documentation\n\nRun the steps below to build documentation locally.\n\n```shell\ncd docs\npip3 install -r sphinx/requirements.txt\npython3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html\n```\n\n## Copyright\n\nAll source code and accompanying documentation is copyright (c) 2015-2025, NVIDIA CORPORATION. All rights reserved.\n\nAll modifications are copyright (c) 2019-2025 Advanced Micro Devices, Inc. All rights reserved.\n"
  },
  {
    "path": "cmake/CheckSymbolExistsNoWarn.cmake",
    "content": "# MIT License\n#\n# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in all\n# copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n# SOFTWARE.\n\n# These overrides are due to CMake CHECK_SYMBOL_EXISTS modifying CMAKE_CXX_FLAGS to do a test compile,\n# while ROCMChecks gives a warning if this variable is modified manually without a target.\n\n# We now choose to disable ROCMChecks for this one case.\n\nset(DISABLE_ROCM_CHECK OFF)\n\nfunction(rocm_check_toolchain_var var access value list_file)\n  if(NOT DISABLE_ROCM_CHECK)\n    _rocm_check_toolchain_var(\"${var}\" \"${access}\" \"${value}\" \"${list_file}\")\n  endif()\nendfunction()\n\nmacro(CHECK_SYMBOL_EXISTS)\n  set(DISABLE_ROCM_CHECK ON)\n  _check_symbol_exists(${ARGN})\n  set(DISABLE_ROCM_CHECK OFF)\nendmacro()\n"
  },
  {
    "path": "cmake/Dependencies.cmake",
    "content": "# MIT License\n#\n# Copyright (c) 2020 Advanced Micro Devices, Inc. All rights reserved.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in all\n# copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n# SOFTWARE.\n\n# Dependencies\n\n# HIP dependency is handled earlier in the project cmake file\n# when VerifyCompiler.cmake is included.\n\n# GIT\n\n# Test dependencies\n\n# For downloading, building, and installing required dependencies\ninclude(cmake/DownloadProject.cmake)\n\ninclude(FetchContent)\n\nif(NOT INSTALL_DEPENDENCIES)\n    find_package(GTest 1.11)\nendif()\n\nif(NOT GTest_FOUND AND BUILD_TESTS OR INSTALL_DEPENDENCIES)\n    if(CMAKE_CXX_COMPILER MATCHES \".*/hipcc$\")\n        # hip-clang cannot compile googlebenchmark for some reason\n        set(COMPILER_OVERRIDE \"-DCMAKE_CXX_COMPILER=g++\")\n    endif()\n\n#       unset(GTEST_INCLUDE_DIR CACHE)\n#\tunset(GTEST_INCLUDE_DIRS CACHE)\n    message(STATUS \"GTest not found. Downloading and building GTest.\")\n    # Download, build and install googletest library\n    set(GTEST_ROOT ${CMAKE_CURRENT_BINARY_DIR}/gtest CACHE PATH \"\")\n\n    download_project(PROJ                googletest\n                     GIT_REPOSITORY      https://github.com/google/googletest.git\n                     GIT_TAG             release-1.12.0\n                     INSTALL_DIR         ${GTEST_ROOT}\n                     CMAKE_ARGS          -DBUILD_GTEST=ON -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> ${COMPILER_OVERRIDE} -DBUILD_SHARED_LIBS=OFF\n                     LOG_DOWNLOAD        TRUE\n                     LOG_CONFIGURE       TRUE\n                     LOG_BUILD           TRUE\n                     LOG_INSTALL         TRUE\n                     UPDATE_DISCONNECTED TRUE\n    )\n    set(GTEST_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/gtest/include CACHE PATH \"\")\n    set(GMOCK_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/gmock/include CACHE PATH \"\")\n    if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/gtest/lib)\n        set(GTEST_BOTH_LIBRARIES ${CMAKE_CURRENT_BINARY_DIR}/gtest/lib/libgtest.a;${CMAKE_CURRENT_BINARY_DIR}/gtest/lib/libgtest_main.a CACHE PATH \"\")\n        set(GMOCK_BOTH_LIBRARIES ${CMAKE_CURRENT_BINARY_DIR}/gtest/lib/libgmock.a;${CMAKE_CURRENT_BINARY_DIR}/gtest/lib/libgmock_main.a CACHE PATH \"\")\n    elseif(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/gtest/lib64)\n        set(GTEST_BOTH_LIBRARIES ${CMAKE_CURRENT_BINARY_DIR}/gtest/lib64/libgtest.a;${CMAKE_CURRENT_BINARY_DIR}/gtest/lib64/libgtest_main.a CACHE PATH \"\")\n        set(GMOCK_BOTH_LIBRARIES ${CMAKE_CURRENT_BINARY_DIR}/gtest/lib64/libgmock.a;${CMAKE_CURRENT_BINARY_DIR}/gtest/lib64/libgmock_main.a CACHE PATH \"\")\n    else()\n        message(FATAL_ERROR \"Cannot find gtest library installation path.\")\n    find_package(GTest REQUIRED CONFIG PATHS ${GTEST_ROOT})\n    find_package(GMock REQUIRED CONFIG PATHS ${GTEST_ROOT})\n    endif()\nelseif(GTest_FOUND AND BUILD_TESTS)\n    set(GTEST_BOTH_LIBRARIES \"GTest::gtest;GTest::gtest_main\")\n    set(GMOCK_BOTH_LIBRARIES \"GTest::gmock;GTest::gmock_main\")\nendif()\n\n# Find or download/install rocm-cmake project\nset( PROJECT_EXTERN_DIR ${CMAKE_CURRENT_BINARY_DIR}/extern )\nfind_package(ROCM 0.7.3 QUIET CONFIG PATHS /opt/rocm)\nif(NOT ROCM_FOUND)\n    set(rocm_cmake_tag \"master\" CACHE STRING \"rocm-cmake tag to download\")\n    file(\n        DOWNLOAD https://github.com/ROCm/rocm-cmake/archive/${rocm_cmake_tag}.zip\n        ${PROJECT_EXTERN_DIR}/rocm-cmake-${rocm_cmake_tag}.zip\n        STATUS rocm_cmake_download_status LOG rocm_cmake_download_log\n    )\n    list(GET rocm_cmake_download_status 0 rocm_cmake_download_error_code)\n    if(rocm_cmake_download_error_code)\n        message(FATAL_ERROR \"Error: downloading \"\n            \"https://github.com/ROCm/rocm-cmake/archive/${rocm_cmake_tag}.zip failed \"\n            \"error_code: ${rocm_cmake_download_error_code} \"\n            \"log: ${rocm_cmake_download_log} \"\n        )\n    endif()\n\n    execute_process(\n        COMMAND ${CMAKE_COMMAND} -E tar xzf ${PROJECT_EXTERN_DIR}/rocm-cmake-${rocm_cmake_tag}.zip\n        WORKING_DIRECTORY ${PROJECT_EXTERN_DIR}\n        RESULT_VARIABLE rocm_cmake_unpack_error_code\n    )\n    execute_process( COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${PROJECT_EXTERN_DIR}/rocm-cmake .\n      WORKING_DIRECTORY ${PROJECT_EXTERN_DIR}/rocm-cmake-${rocm_cmake_tag} )\n    execute_process( COMMAND ${CMAKE_COMMAND} --build rocm-cmake-${rocm_cmake_tag} --target install\n      WORKING_DIRECTORY ${PROJECT_EXTERN_DIR})\n\n    if(rocm_cmake_unpack_error_code)\n        message(FATAL_ERROR \"Error: unpacking ${CMAKE_CURRENT_BINARY_DIR}/rocm-cmake-${rocm_cmake_tag}.zip failed\")\n    endif()\n    find_package( ROCM 0.7.3 REQUIRED CONFIG PATHS ${PROJECT_EXTERN_DIR}/rocm-cmake )\nendif()\n\nset(CMAKE_INSTALL_LIBDIR lib CACHE STRING \"Define install directory for libraries\" FORCE)\n\n# Find or download/install fmt\nfind_package(fmt QUIET)\nif(NOT fmt_FOUND)\n    set(FMT_INSTALL OFF)\n    message(STATUS \"fmt not found, fetching from source...\")\n    FetchContent_Declare(\n        fmt\n        GIT_REPOSITORY https://github.com/fmtlib/fmt\n        GIT_TAG        e69e5f977d458f2650bb346dadf2ad30c5320281 # 10.2.1\n    )\n    FetchContent_MakeAvailable(fmt)\nelse()\n    message(STATUS \"Using system fmt\")\n    get_target_property(FMT_INCLUDE_DIRS fmt::fmt-header-only INTERFACE_INCLUDE_DIRECTORIES)\n    message(STATUS \"fmt include directories: ${FMT_INCLUDE_DIRS}\")\nendif()\n\n# Find available local ROCM targets\n# NOTE: This will eventually be part of ROCm-CMake and should be removed at that time\nfunction(rocm_local_targets VARIABLE)\n  set(${VARIABLE} \"NOTFOUND\" PARENT_SCOPE)\n  find_program(_rocm_agent_enumerator rocm_agent_enumerator HINTS /opt/rocm/bin ENV ROCM_PATH)\n  if(NOT _rocm_agent_enumerator STREQUAL \"_rocm_agent_enumerator-NOTFOUND\")\n    execute_process(\n      COMMAND \"${_rocm_agent_enumerator}\"\n      RESULT_VARIABLE _found_agents\n      OUTPUT_VARIABLE _rocm_agents\n      ERROR_QUIET\n      )\n    if (_found_agents EQUAL 0)\n      string(REPLACE \"\\n\" \";\" _rocm_agents \"${_rocm_agents}\")\n      unset(result)\n      foreach (agent IN LISTS _rocm_agents)\n        if (NOT agent STREQUAL \"gfx000\")\n          list(APPEND result \"${agent}\")\n        endif()\n      endforeach()\n      if(result)\n        list(REMOVE_DUPLICATES result)\n        set(${VARIABLE} \"${result}\" PARENT_SCOPE)\n      endif()\n    endif()\n  endif()\nendfunction()\n\n# Iterate over the \"source\" list and check if there is a duplicate file name\n# NOTE: This is due to compiler bug '--save-temps' and can be removed when fix availabe\nfunction(add_file_unique FILE_LIST FILE)\n  get_filename_component(FILE_NAME \"${FILE}\" NAME)\n\n  # Iterate over whatever is in the list so far\n  foreach(curr_file IN LISTS ${FILE_LIST})\n    get_filename_component(curr_file_name ${curr_file} NAME)\n\n    # Check if duplicate\n    if(${FILE_NAME} STREQUAL ${curr_file_name})\n      get_filename_component(DIR_PATH \"${FILE}\" DIRECTORY)\n      get_filename_component(FILE_NAME_WE \"${FILE}\" NAME_WE)\n      get_filename_component(FILE_EXT \"${FILE}\" EXT)\n\n      # Construct a new file name by adding _tmp\n      set(HIP_FILE \"${DIR_PATH}/${FILE_NAME_WE}_tmp${FILE_EXT}\" PARENT_SCOPE)\n    endif()\n  endforeach()\nendfunction()\n\ninclude(ROCMSetupVersion)\ninclude(ROCMCreatePackage)\ninclude(ROCMInstallTargets)\ninclude(ROCMPackageConfigHelpers)\ninclude(ROCMInstallSymlinks)\ninclude(ROCMCheckTargetIds)\ninclude(ROCMClients)\ninclude(ROCMHeaderWrapper)\n"
  },
  {
    "path": "cmake/DownloadProject.CMakeLists.cmake.in",
    "content": "# Distributed under the OSI-approved MIT License.  See accompanying\n# file LICENSE or https://github.com/Crascit/DownloadProject for details.\n\ncmake_minimum_required(VERSION 2.8.2)\n\nproject(${DL_ARGS_PROJ}-download NONE)\n\ninclude(ExternalProject)\nExternalProject_Add(${DL_ARGS_PROJ}-download\n                    ${DL_ARGS_UNPARSED_ARGUMENTS}\n                    SOURCE_DIR          \"${DL_ARGS_SOURCE_DIR}\"\n                    BUILD_IN_SOURCE     TRUE\n                    TEST_COMMAND        \"\"\n)"
  },
  {
    "path": "cmake/DownloadProject.cmake",
    "content": "# Distributed under the OSI-approved MIT License.  See accompanying\n# file LICENSE or https://github.com/Crascit/DownloadProject for details.\n#\n# MODULE:   DownloadProject\n#\n# PROVIDES:\n#   download_project( PROJ projectName\n#                    [PREFIX prefixDir]\n#                    [DOWNLOAD_DIR downloadDir]\n#                    [SOURCE_DIR srcDir]\n#                    [BINARY_DIR binDir]\n#                    [QUIET]\n#                    ...\n#   )\n#\n#       Provides the ability to download and unpack a tarball, zip file, git repository,\n#       etc. at configure time (i.e. when the cmake command is run). How the downloaded\n#       and unpacked contents are used is up to the caller, but the motivating case is\n#       to download source code which can then be included directly in the build with\n#       add_subdirectory() after the call to download_project(). Source and build\n#       directories are set up with this in mind.\n#\n#       The PROJ argument is required. The projectName value will be used to construct\n#       the following variables upon exit (obviously replace projectName with its actual\n#       value):\n#\n#           projectName_SOURCE_DIR\n#           projectName_BINARY_DIR\n#\n#       The SOURCE_DIR and BINARY_DIR arguments are optional and would not typically\n#       need to be provided. They can be specified if you want the downloaded source\n#       and build directories to be located in a specific place. The contents of\n#       projectName_SOURCE_DIR and projectName_BINARY_DIR will be populated with the\n#       locations used whether you provide SOURCE_DIR/BINARY_DIR or not.\n#\n#       The DOWNLOAD_DIR argument does not normally need to be set. It controls the\n#       location of the temporary CMake build used to perform the download.\n#\n#       The PREFIX argument can be provided to change the base location of the default\n#       values of DOWNLOAD_DIR, SOURCE_DIR and BINARY_DIR. If all of those three arguments\n#       are provided, then PREFIX will have no effect. The default value for PREFIX is\n#       CMAKE_BINARY_DIR.\n#\n#       The QUIET option can be given if you do not want to show the output associated\n#       with downloading the specified project.\n#\n#       In addition to the above, any other options are passed through unmodified to\n#       ExternalProject_Add() to perform the actual download, patch and update steps.\n#\n#       Only those ExternalProject_Add() arguments which relate to downloading, patching\n#       and updating of the project sources are intended to be used. Also note that at\n#       least one set of download-related arguments are required.\n#\n#       If using CMake 3.2 or later, the UPDATE_DISCONNECTED option can be used to\n#       prevent a check at the remote end for changes every time CMake is run\n#       after the first successful download. See the documentation of the ExternalProject\n#       module for more information. It is likely you will want to use this option if it\n#       is available to you. Note, however, that the ExternalProject implementation contains\n#       bugs which result in incorrect handling of the UPDATE_DISCONNECTED option when\n#       using the URL download method or when specifying a SOURCE_DIR with no download\n#       method. Fixes for these have been created, the last of which is scheduled for\n#       inclusion in CMake 3.8.0. Details can be found here:\n#\n#           https://gitlab.kitware.com/cmake/cmake/commit/bdca68388bd57f8302d3c1d83d691034b7ffa70c\n#           https://gitlab.kitware.com/cmake/cmake/issues/16428\n#\n#       If you experience build errors related to the update step, consider avoiding\n#       the use of UPDATE_DISCONNECTED.\n#\n# EXAMPLE USAGE:\n#\n#   include(DownloadProject)\n#   download_project(PROJ                googletest\n#                    GIT_REPOSITORY      https://github.com/google/googletest.git\n#                    GIT_TAG             master\n#                    UPDATE_DISCONNECTED 1\n#                    QUIET\n#   )\n#\n#   add_subdirectory(${googletest_SOURCE_DIR} ${googletest_BINARY_DIR})\n#\n#========================================================================================\n\n\nset(_DownloadProjectDir \"${CMAKE_CURRENT_LIST_DIR}\")\n\ninclude(CMakeParseArguments)\n\nfunction(download_project)\n\n    set(options QUIET)\n    set(oneValueArgs\n        PROJ\n        PREFIX\n        DOWNLOAD_DIR\n        SOURCE_DIR\n        BINARY_DIR\n    )\n    set(multiValueArgs \"\")\n\n    cmake_parse_arguments(DL_ARGS \"${options}\" \"${oneValueArgs}\" \"${multiValueArgs}\" ${ARGN})\n\n    # Hide output if requested\n    if (DL_ARGS_QUIET)\n        set(OUTPUT_QUIET \"OUTPUT_QUIET\")\n    else()\n        unset(OUTPUT_QUIET)\n        message(STATUS \"Downloading/updating ${DL_ARGS_PROJ}\")\n    endif()\n\n    # Set up where we will put our temporary CMakeLists.txt file and also\n    # the base point below which the default source and binary dirs will be.\n    # The prefix must always be an absolute path.\n    if (NOT DL_ARGS_PREFIX)\n        set(DL_ARGS_PREFIX \"${CMAKE_BINARY_DIR}\")\n    else()\n        get_filename_component(DL_ARGS_PREFIX \"${DL_ARGS_PREFIX}\" ABSOLUTE\n                               BASE_DIR \"${CMAKE_CURRENT_BINARY_DIR}\")\n    endif()\n    if (NOT DL_ARGS_DOWNLOAD_DIR)\n        set(DL_ARGS_DOWNLOAD_DIR \"${DL_ARGS_PREFIX}/${DL_ARGS_PROJ}-download\")\n    endif()\n\n    # Ensure the caller can know where to find the source and build directories\n    if (NOT DL_ARGS_SOURCE_DIR)\n        set(DL_ARGS_SOURCE_DIR \"${DL_ARGS_PREFIX}/${DL_ARGS_PROJ}-src\")\n    endif()\n    if (NOT DL_ARGS_BINARY_DIR)\n        set(DL_ARGS_BINARY_DIR \"${DL_ARGS_PREFIX}/${DL_ARGS_PROJ}-build\")\n    endif()\n    set(${DL_ARGS_PROJ}_SOURCE_DIR \"${DL_ARGS_SOURCE_DIR}\" PARENT_SCOPE)\n    set(${DL_ARGS_PROJ}_BINARY_DIR \"${DL_ARGS_BINARY_DIR}\" PARENT_SCOPE)\n\n    # The way that CLion manages multiple configurations, it causes a copy of\n    # the CMakeCache.txt to be copied across due to it not expecting there to\n    # be a project within a project.  This causes the hard-coded paths in the\n    # cache to be copied and builds to fail.  To mitigate this, we simply\n    # remove the cache if it exists before we configure the new project.  It\n    # is safe to do so because it will be re-generated.  Since this is only\n    # executed at the configure step, it should not cause additional builds or\n    # downloads.\n    file(REMOVE \"${DL_ARGS_DOWNLOAD_DIR}/CMakeCache.txt\")\n\n    # Create and build a separate CMake project to carry out the download.\n    # If we've already previously done these steps, they will not cause\n    # anything to be updated, so extra rebuilds of the project won't occur.\n    # Make sure to pass through CMAKE_MAKE_PROGRAM in case the main project\n    # has this set to something not findable on the PATH.\n    configure_file(\"${_DownloadProjectDir}/DownloadProject.CMakeLists.cmake.in\"\n                   \"${DL_ARGS_DOWNLOAD_DIR}/CMakeLists.txt\")\n    execute_process(COMMAND ${CMAKE_COMMAND} -G \"${CMAKE_GENERATOR}\"\n                        -D \"CMAKE_MAKE_PROGRAM:FILE=${CMAKE_MAKE_PROGRAM}\"\n                        .\n                    RESULT_VARIABLE result\n                    ${OUTPUT_QUIET}\n                    WORKING_DIRECTORY \"${DL_ARGS_DOWNLOAD_DIR}\"\n    )\n    if(result)\n        message(FATAL_ERROR \"CMake step for ${DL_ARGS_PROJ} failed: ${result}\")\n    endif()\n    execute_process(COMMAND ${CMAKE_COMMAND} --build . -j16\n                    RESULT_VARIABLE result\n                    ${OUTPUT_QUIET}\n                    WORKING_DIRECTORY \"${DL_ARGS_DOWNLOAD_DIR}\"\n    )\n    if(result)\n        message(FATAL_ERROR \"Build step for ${DL_ARGS_PROJ} failed: ${result}\")\n    endif()\n\nendfunction()\n"
  },
  {
    "path": "cmake/FindIBVerbs.cmake",
    "content": "# MIT License\n#\n# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in all\n# copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n# SOFTWARE.\n\nfind_path(IBVERBS_INCLUDE_DIRS\n  NAMES infiniband/verbs.h\n  HINTS\n  ${IBVERBS_INCLUDE_DIR}\n  ${IBVERBS_ROOT_DIR}\n  ${IBVERBS_ROOT_DIR}/include)\n\nfind_library(IBVERBS_LIBRARIES\n  NAMES ibverbs\n  HINTS\n  ${IBVERBS_LIB_DIR}\n  ${IBVERBS_ROOT_DIR}\n  ${IBVERBS_ROOT_DIR}/lib)\n\ninclude(FindPackageHandleStandardArgs)\nfind_package_handle_standard_args(IBVerbs DEFAULT_MSG IBVERBS_INCLUDE_DIRS IBVERBS_LIBRARIES)\nmark_as_advanced(IBVERBS_INCLUDE_DIR IBVERBS_LIBRARIES)\n"
  },
  {
    "path": "cmake/Findmscclpp_nccl.cmake",
    "content": "# MIT License\n#\n# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in all\n# copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n# SOFTWARE.\n\nfind_path(MSCCLPP_INCLUDE_DIRS\n    NAMES mscclpp/gpu.hpp\n    HINTS\n    ${MSCCLPP_ROOT}/include)\n\nfind_library(MSCCLPP_LIBRARIES\n    NAMES mscclpp_nccl\n    HINTS\n    ${MSCCLPP_ROOT}/lib)\n\ninclude (FindPackageHandleStandardArgs)\nfind_package_handle_standard_args(mscclpp_nccl DEFAULT_MSG MSCCLPP_INCLUDE_DIRS MSCCLPP_LIBRARIES)\nmark_as_advanced(MSCCLPP_INCLUDE_DIRS MSCCLPP_LIBRARIES)\n    "
  },
  {
    "path": "cmake/Findrocshmem_static.cmake",
    "content": "# MIT License\n#\n# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in all\n# copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n# SOFTWARE.\n\nfind_path(ROCSHMEM_INCLUDE_DIR\n    NAMES rocshmem/rocshmem.hpp rocshmem/rocshmem.h\n    HINTS ${ROCSHMEM_INSTALL_DIR}/include/)\n\nfind_library(ROCSHMEM_LIBRARY\n    NAMES rocshmem\n        HINTS ${ROCSHMEM_INSTALL_DIR}/lib)\n  \n## -- todo --- what to do with verbs? add to handle args call below? -- ##\nfind_library(IBVERBS ibverbs)\n\nfind_package_handle_standard_args(rocshmem_static DEFAULT_MSG ROCSHMEM_INCLUDE_DIR ROCSHMEM_LIBRARY)\n## mark_as_advanced(MSCCLPP_INCLUDE_DIRS MSCCLPP_NCCL_STATIC_LIB) add this for Rocshmem?\n"
  },
  {
    "path": "cmake/MSCCLPP.cmake",
    "content": "# MIT License\n#\n# Copyright (c) 2020 Advanced Micro Devices, Inc. All rights reserved.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in all\n# copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n# SOFTWARE.\n\n# Dependencies\n\n# HIP dependency is handled earlier in the project cmake file\n# when VerifyCompiler.cmake is included.\n\n# GIT\n\n# Test dependencies\n\n# For downloading, building, and installing required dependencies\ninclude(cmake/DownloadProject.cmake)\n\nif(ENABLE_MSCCLPP)\n    # Try to find the mscclpp install\n    set(MSCCLPP_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/ext/mscclpp CACHE PATH \"\")\n    execute_process(\n        COMMAND mkdir -p ${MSCCLPP_ROOT}\n    )\n    list(APPEND CMAKE_MODULE_PATH \"${CMAKE_CURRENT_SOURCE_DIR}/cmake\")\n    find_package(mscclpp_nccl)\n\n    #if(NOT mscclpp_nccl_FOUND)\n        # Ensure the source code is checked out\n        set(MSCCLPP_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/mscclpp CACHE PATH \"\")\n        set(JSON_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/json CACHE PATH \"\")\n        if((NOT EXISTS ${MSCCLPP_SOURCE}/CMakeLists.txt) OR (NOT EXISTS ${JSON_SOURCE}/CMakeLists.txt))\n            message(STATUS \"Checking out external code\")\n            execute_process(\n                COMMAND git submodule update --init --recursive\n                WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}\n            )\n        endif()\n\n        execute_process(\n            COMMAND git apply ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/cpx.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/read-allred.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/mscclpp_ibv_access_relaxed_ordering.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/mem-reg.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/non-multiple-128-fix.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/bf16-tuning.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/reg-fix.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/no-cache.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/device-flag.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/remove-clip.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/disable-executor.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/disable-format-checks.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        set(CMAKE_INHERITED_ARGS \"\")\n        set(CMAKE_ARGS_LIST \"CMAKE_PREFIX_PATH;CMAKE_INSTALL_RPATH_USE_LINK_PATH;HIP_COMPILER\")\n        foreach(arg IN LISTS CMAKE_ARGS_LIST)\n            if(DEFINED ${arg})\n                string(REPLACE \";\" \"%\" ARG_VALUE \"${${arg}}\") # Replace ; with new list separator symbol % to avoid CMake errors\n                string(STRIP \"${ARG_VALUE}\" ARG_VALUE) # Eliminate whitespace, reducing to empty string if necessary\n\n                # Only add a cmake argument if it has a value\n                if(\"${ARG_VALUE}\" STREQUAL \"\")\n                    continue()\n                endif()\n                string(APPEND CMAKE_INHERITED_ARGS \"-D${arg}=\\\"${ARG_VALUE}\\\" \")\n            endif()\n        endforeach()\n\n        if(NOT DEFINED CACHE{MSCCLPP_GPU_TARGETS})\n            message(STATUS \"Building MSCCL++ only for supported variants: gfx942;gfx950\")\n            set(MSCCLPP_GPU_TARGETS \"gfx942;gfx950\")\n            if(BUILD_ADDRESS_SANITIZER)\n                set(MSCCLPP_GPU_TARGETS \"gfx942:xnack+;gfx950:xnack+\")\n            endif()\n        else()\n            message(STATUS \"Building MSCCL++ for ${MSCCLPP_GPU_TARGETS}\")\n        endif()\n\n        string(REPLACE \";\" \"%\" MSCCLPP_GPU_TARGETS \"${MSCCLPP_GPU_TARGETS}\")\n\n        download_project(PROJ                mscclpp_nccl\n                         #GIT_REPOSITORY      https://github.com/microsoft/mscclpp.git\n                         #GIT_TAG             4ee15b7ad085daaf74349d4c49c9b8480d28f0dc\n                         INSTALL_DIR         ${MSCCLPP_ROOT}\n                         LIST_SEPARATOR      %\n\t\t\t CMAKE_ARGS          \"-DGPU_TARGETS=${MSCCLPP_GPU_TARGETS}\" -DMSCCLPP_BYPASS_GPU_CHECK=ON -DMSCCLPP_USE_ROCM=ON -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DMSCCLPP_BUILD_APPS_NCCL=ON -DMSCCLPP_BUILD_PYTHON_BINDINGS=OFF -DMSCCLPP_BUILD_TESTS=OFF -DMSCCLPP_CLIP_ENABLED=${ENABLE_MSCCLPP_CLIP} -DMSCCLPP_ENABLE_EXECUTOR=${ENABLE_MSCCLPP_EXECUTOR} -DMSCCLPP_ENABLE_FORMAT_CHECKS=${ENABLE_MSCCLPP_FORMAT_CHECKS} -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_VERBOSE_MAKEFILE=1 \"${CMAKE_INHERITED_ARGS}\" -DFETCHCONTENT_SOURCE_DIR_JSON=${JSON_SOURCE}\n                         LOG_DOWNLOAD        FALSE\n                         LOG_CONFIGURE       FALSE\n                         LOG_BUILD           FALSE\n                         LOG_INSTALL         FALSE\n                         UPDATE_DISCONNECTED TRUE\n                         SOURCE_DIR          ${MSCCLPP_SOURCE}\n        )\n\n        find_package(mscclpp_nccl REQUIRED)\n\n        execute_process(\n            COMMAND git apply --reverse ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/disable-format-checks.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply --reverse ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/disable-executor.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply --reverse ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/remove-clip.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply --reverse ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/device-flag.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply --reverse ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/no-cache.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply --reverse ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/reg-fix.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply --reverse ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/bf16-tuning.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply --reverse ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/non-multiple-128-fix.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply --reverse ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/mem-reg.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply --reverse ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/mscclpp_ibv_access_relaxed_ordering.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply --reverse ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/read-allred.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n        execute_process(\n            COMMAND git apply --reverse ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/cpx.patch\n            WORKING_DIRECTORY ${MSCCLPP_SOURCE}\n        )\n\n    #endif()\n\n    execute_process(COMMAND objcopy\n                    --redefine-syms=${CMAKE_CURRENT_SOURCE_DIR}/src/misc/mscclpp/mscclpp_nccl_syms.txt\n                    \"${MSCCLPP_ROOT}/lib/libmscclpp_nccl_static.a\"\n                    \"${PROJECT_BINARY_DIR}/libmscclpp_nccl.a\"\n    )\n    add_library(mscclpp_nccl STATIC IMPORTED)\n    set_target_properties(mscclpp_nccl PROPERTIES IMPORTED_LOCATION ${PROJECT_BINARY_DIR}/libmscclpp_nccl.a)\n\nendif()\n"
  },
  {
    "path": "cmake/ROCSHMEM.cmake",
    "content": "# MIT License\n#\n# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in all\n# copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n# SOFTWARE.\n\ninclude(ExternalProject)\n\nfunction(add_rocshmem_targets)\n\n    # Check for an existing installation via the user-provided prefix ROCSHMEM_INSTALL DIR\n    if(ROCSHMEM_INSTALL_DIR)\n        list(APPEND CMAKE_MODULE_PATH \"${CMAKE_CURRENT_SOURCE_DIR}/cmake\")\n        find_package(rocshmem_static)\n        if(NOT IBVERBS)\n            find_library(IBVERBS ibverbs)\n            if(IBVERBS)\n                set(IBVERBS ${IBVERBS} PARENT_SCOPE)\n            endif()\n        endif()\n    endif()\n\n    # If no pre-existing installation, build from submodule into ext/rocshmem\n    if(NOT rocshmem_static_FOUND)\n        set(_rccl_root            \"${CMAKE_SOURCE_DIR}\")\n        set(ROCSHMEM_SOURCE       \"${_rccl_root}/ext-src/rocSHMEM\")\n        set(ROCSHMEM_INSTALL_DIR  \"${_rccl_root}/ext/rocshmem\")\n\n        # Make sure submodule exists (same style as MSCCL++: custom rule + target)\n        add_custom_command(\n            OUTPUT \"${ROCSHMEM_SOURCE}/CMakeLists.txt\"\n            COMMAND git submodule update --init --recursive ext-src/rocSHMEM\n            WORKING_DIRECTORY \"${_rccl_root}\"\n            COMMENT \"Checking out submodule: ext-src/rocSHMEM\"\n            VERBATIM\n        )\n\n        add_custom_target(rocshmem_checkout_submodule\n            DEPENDS \"${ROCSHMEM_SOURCE}/CMakeLists.txt\")\n\n        # Where our patch files live (like MSCCL++)\n        set(EXT_SOURCE \"${_rccl_root}/ext-src\")\n\n            # Build and install rocSHMEM. We run `../build_scripts/gdx_bxnt`\n        # from a 'build' dir just like the README shows.\n        ExternalProject_Add(rocshmem_ext\n            SOURCE_DIR          \"${ROCSHMEM_SOURCE}\"\n            INSTALL_DIR         \"${ROCSHMEM_INSTALL_DIR}\"\n            UPDATE_DISCONNECTED TRUE\n            LOG_DOWNLOAD        FALSE\n            LOG_CONFIGURE       FALSE\n            LOG_BUILD           FALSE\n            LOG_INSTALL         FALSE\n            BUILD_IN_SOURCE     TRUE\n            DOWNLOAD_COMMAND    \"\"   # using the submodule checkout above\n            TEST_COMMAND        \"\"\n            DEPENDS             rocshmem_checkout_submodule   \n\n            # Rocshmem submodule commit hash -> commit b28a56bd54ccc581d05a439ffa466c3dacb3385\n            # The project has its own scripts; we replicate the README sequence:\n            CONFIGURE_COMMAND   \"\"\n            BUILD_COMMAND\n                ${CMAKE_COMMAND} -E make_directory build\n\t\t&& ${CMAKE_COMMAND} -E chdir build bash -lc \"../scripts/build_configs/gda_bnxt -DUSE_EXTERNAL_MPI=OFF -DUSE_IPC=ON -DBUILD_EXAMPLES=OFF \"\n                && ${CMAKE_COMMAND} -E chdir build ${CMAKE_COMMAND}\n                    -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}\n                    -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>\n                    -DBUILD_EXAMPLES=OFF ..\n                && ${CMAKE_COMMAND} -E chdir build ${CMAKE_MAKE_PROGRAM} -j\n            INSTALL_COMMAND\n                ${CMAKE_COMMAND} -E chdir build ${CMAKE_MAKE_PROGRAM} install\n        )\n\n         # After build, define the variables RCCL expects\n        set(ROCSHMEM_INCLUDE_DIR \"${ROCSHMEM_INSTALL_DIR}/include\" PARENT_SCOPE)\n        set(ROCSHMEM_LIBRARY      \"${ROCSHMEM_INSTALL_DIR}/lib/librocshmem.a\" PARENT_SCOPE)\n        find_library(_IBVERBS ibverbs)\n        if(NOT _IBVERBS)\n            message(FATAL_ERROR \"libibverbs not found (install rdma-core/libibverbs-dev)\")\n        endif()\n        set(IBVERBS ${_IBVERBS} PARENT_SCOPE)\n\n        # Provide a dummy target other code can depend on\n        add_custom_target(rocshmem_static ALL DEPENDS rocshmem_ext)\n    else()\n    # We found a prebuilt rocSHMEM; export variables upward as-is\n    set(ROCSHMEM_INCLUDE_DIR  \"${ROCSHMEM_INCLUDE_DIR}\" PARENT_SCOPE)\n    set(ROCSHMEM_LIBRARY      \"${ROCSHMEM_LIBRARY}\"      PARENT_SCOPE)\n\n    find_library(_IBVERBS ibverbs)\n    if(NOT _IBVERBS)\n        message(FATAL_ERROR \"libibverbs not found\")\n    endif()\n    set(IBVERBS ${_IBVERBS} PARENT_SCOPE)\n    endif()\n\nendfunction()\n"
  },
  {
    "path": "cmake/rcclRAS.cmake",
    "content": "# Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n\ncmake_minimum_required(VERSION 3.16)\n\nmessage(\"Building rccl RAS client executable\")\n\nadd_executable(rcclras \"${PROJECT_BINARY_DIR}/hipify/src/ras/client.cc\")\n\ntarget_include_directories(rcclras PRIVATE ${PROJECT_BINARY_DIR}/include)\ntarget_include_directories(rcclras PRIVATE ${HIPIFY_DIR}/src)\ntarget_include_directories(rcclras PRIVATE ${HIPIFY_DIR}/src/include)\n\ntarget_link_libraries(rcclras PRIVATE hip::host)\ntarget_link_libraries(rcclras PRIVATE dl)\n\nif(BUILD_SHARED_LIBS)\n  target_link_libraries(rcclras PRIVATE rccl hip::device)\nelse()\n  add_dependencies(rcclras rccl)\n  target_link_libraries(rcclras PRIVATE dl rt -lrccl -L${CMAKE_BINARY_DIR} -lamdhip64 -L${ROCM_PATH}/lib)\nendif()\n\n\nrocm_install(TARGETS rcclras)\n"
  },
  {
    "path": "cmake/rocmIb.cmake",
    "content": "# MIT License\n#\n# Copyright (c) 2020 Advanced Micro Devices, Inc. All rights reserved.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in all\n# copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n# SOFTWARE.\n\n# Dependencies\n\n# HIP dependency is handled earlier in the project cmake file\n# when VerifyCompiler.cmake is included.\n\n# GIT\n\n# Test dependencies\n\n# For downloading, building, and installing required dependencies\ninclude(cmake/DownloadProject.cmake)\n\nmessage(STATUS \"Generating ROCM NetIB... \")\n\n# -------------------------\n# Configurable paths\n# -------------------------\n# Path to RCCL source tree (local clone)\nset(RCCL_SRC_DIR \"${CMAKE_SOURCE_DIR}\" CACHE PATH \"Path to RCCL source directory\")\n# Path to patch file\nset(ROCM_NETIB_PATCH_FILE \"${CMAKE_SOURCE_DIR}/ext-src/rocm_netib.patch\" CACHE FILEPATH \"ROCM NETIB Patch file to apply to RCCL\")\nset(ROCM_NETIB_FILE \"${CMAKE_SOURCE_DIR}/src/transport/net_ib_rocm.cc\" CACHE FILEPATH \"Generated ROCM NETIB file\")\n\n# -------------------------\n# Find tools\n# -------------------------\nfind_program(PATCH_EXECUTABLE patch)\nfind_program(SED_EXECUTABLE sed)\n\nexecute_process(\n  COMMAND ${CMAKE_COMMAND} -E echo \"Applying RCCL ROCM NetIB patch... to ${CMAKE_SOURCE_DIR}\"\n  COMMAND bash -c \"patch -p1 -i ${ROCM_NETIB_PATCH_FILE} -o ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/NCCL_PARAM(Ib/NCCL_PARAM(RocmIb/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/RCCL_PARAM(Ib/RCCL_PARAM(RocmIb/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclParamIb/ncclParamRocmIb/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/rcclParamIb/rcclParamRocmIb/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbMergedDevs/rocmIbMergedDevs/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbDevs/rocmIbDevs/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbLock/rocmIbLock/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ibProviderName/rocmIbProviderName/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbAsyncThread/rocmIbAsyncThread/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbGdrSupport/rocmIbGdrSupport/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbDmaBufSupport/rocmIbDmaBufSupport/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbInitCommDevBase/rocmIbInitCommDevBase/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbDestroyBase/rocmIbDestroyBase/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbRtrQp/rocmIbRtrQp/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbRtsQp/rocmIbRtsQp/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ForceEnableGdrdma/RocmForceEnableGdrdma/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbCheckVProps/rocmIbCheckVProps/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbGetRequest/rocmIbGetRequest/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbFreeRequest/rocmIbFreeRequest/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbRegMrDmaBufInternal/rocmIbRegMrDmaBufInternal/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbGetNetCommDevBase/rocmIbGetNetCommDevBase/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbDeregMrInternal/rocmIbDeregMrInternal/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbPostFifo/rocmIbPostFifo/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/reqTypeStr/rocmIbReqTypeStr/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/rcclNetP2pPolicy/rcclRocmNetP2pPolicy/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbMakeVDeviceInternal/rocmIbMakeVDeviceInternal/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbMakeVDevice/rocmIbMakeVDevice/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbInit/rocmIbInit/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbDevices/rocmIbDevices/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbGetPhysProperties/rocmIbGetPhysProperties/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbGetProperties/rocmIbGetProperties/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbListen\\(/rocmIbListen\\(/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbListen,/rocmIbListen,/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbConnect\\(/rocmIbConnect\\(/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbConnect /rocmIbConnect /g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbConnect,/rocmIbConnect,/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbAccept/rocmIbAccept/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbTest/rocmIbTest/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbRegMrDmaBuf/rocmIbRegMrDmaBuf/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbRegMr/rocmIbRegMr/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbDeregMr/rocmIbDeregMr/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbIsend/rocmIbIsend/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbIrecv/rocmIbIrecv/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbIflush/rocmIbIflush/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbCloseSend/rocmIbCloseSend/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbCloseRecv/rocmIbCloseRecv/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbCloseListen/rocmIbCloseListen/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclNetIb/rocmNetIb/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbFinalize/rocmNetIbFinalize/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nexecute_process(\n  COMMAND bash -c \"sed -i 's/ncclIbSetNetAttr/rocmNetIbSetNetAttr/g' ${ROCM_NETIB_FILE}\"\n  WORKING_DIRECTORY ${RCCL_SRC_DIR}\n)\nlist(APPEND CMAKE_MODULE_PATH \"${CMAKE_CURRENT_SOURCE_DIR}/cmake\")\n"
  },
  {
    "path": "cmake/scripts/add_faults.sh",
    "content": "# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in all\n# copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n# SOFTWARE.\n\nHIP_FILE=$1\n\nif [[ \"$HIP_FILE\" =~ .*/src/device/.*\\.h ]]; then\n  sed -i \"s/__syncthreads()/__syncthreads(); insert_random_delay_per_warp()/\" \"$HIP_FILE\"\n\n  echo \"Added fault injection to $HIP_FILE\"\nfi"
  },
  {
    "path": "cmake/scripts/add_unroll.sh",
    "content": "# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in all\n# copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n# SOFTWARE.\n\nHIP_FILE=$1\n\nif [[ \"$HIP_FILE\" =~ .*/src/device/.*\\.h ]]; then\n  perl -pi -e 's/(template<typename T, typename RedOp(?:, typename Proto)?)(, bool isNetOffload.*?)?>/\\1, int USE_ACC, int COLL_UNROLL, int Pipeline\\2>/g' \"$HIP_FILE\"\n  perl -pi -e 's/(template<typename T, typename RedOp(?:, typename Proto)?(?:, int RCCLMetadata)?)(, bool isNetOffload.*?)?>/\\1, int USE_ACC, int COLL_UNROLL, int Pipeline\\2>/g' \"$HIP_FILE\"\n  perl -pi -e 's/(ProtoSimple<[^,]*?,[^,]+?)>/\\1, USE_ACC, COLL_UNROLL>/g' \"$HIP_FILE\"\n  perl -pi -e 's/(runRing<T.*?)((, (true|false))?>\\()/\\1, USE_ACC, COLL_UNROLL\\2/g' \"$HIP_FILE\"\n  perl -pi -e 's/(runTreeUpDown<T.*?)>\\(/\\1, USE_ACC, COLL_UNROLL>(/' \"$HIP_FILE\"\n  perl -pi -e 's/(runTreeSplit<T.*?)>\\(/\\1, USE_ACC, COLL_UNROLL>(/' \"$HIP_FILE\"\n\n  perl -pi -e 's/(runTreeSplit<T, RedOp, (ProtoLL|ProtoLL128), USE_ACC, COLL_UNROLL.*?)>/\\1, 0>/' \"$HIP_FILE\"\n  perl -pi -e 's/(runTreeUpDown<T, RedOp, (ProtoLL|ProtoLL128), USE_ACC, COLL_UNROLL.*?)>/\\1, 0>/' \"$HIP_FILE\"\n  perl -pi -e 's/(runRing<T, RedOp, (ProtoLL|ProtoLL128), USE_ACC, COLL_UNROLL.*?)>/\\1, 0>/' \"$HIP_FILE\"\n  perl -pi -e 's/(runRing<T, RedOp, (ProtoLL|ProtoLL128), (RCCL_ONE_NODE_RING_SIMPLE|RCCL_METADATA_EMPTY), USE_ACC, COLL_UNROLL.*?)>/\\1, 0>/' \"$HIP_FILE\"\n\n  perl -pi -e 's/(runRing<T, RedOp, Proto, (RCCL_ONE_NODE_RING_SIMPLE|RCCL_METADATA_EMPTY), USE_ACC, COLL_UNROLL.*?)>/\\1, Pipeline>/' \"$HIP_FILE\"\n  perl -pi -e 's/(runRing<T, RedOp, Proto, USE_ACC, COLL_UNROLL.*?)>/\\1, Pipeline>/' \"$HIP_FILE\"\n  perl -pi -e 's/(runTreeSplit<T, RedOp, Proto, USE_ACC, COLL_UNROLL.*?)>/\\1, Pipeline>/' \"$HIP_FILE\"\n  perl -pi -e 's/(runTreeUpDown<T, RedOp, Proto, USE_ACC, COLL_UNROLL.*?)>/\\1, Pipeline>/' \"$HIP_FILE\"\n  sed -i \"s/\\\\(struct RunWorkBatch<ncclFunc[^>]*\\\\)>*/\\\\1, USE_ACC, COLL_UNROLL, Pipeline>/\" \"$HIP_FILE\"\n  sed -i \"s/\\\\(RunWorkColl<[^,]*,[^,]*,[^,]*,[^,]*,[^>]*\\\\)>/\\\\1, USE_ACC, COLL_UNROLL, Pipeline>/\" \"$HIP_FILE\"\nfi"
  },
  {
    "path": "cmake/scripts/extract_metadata.cmake",
    "content": "# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in all\n# copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n# SOFTWARE.\n\nset(EXTRACT_TIMEOUT 5 CACHE STRING \"Timeout in seconds for roc-obj-* calls\")\n\n## List the objects for each gfx architecture\nexecute_process( COMMAND roc-obj-ls librccl.so\n    RESULT_VARIABLE list_result\n    OUTPUT_VARIABLE cmd_output\n    ERROR_VARIABLE cmd_error\n    OUTPUT_STRIP_TRAILING_WHITESPACE\n    ERROR_STRIP_TRAILING_WHITESPACE\n    TIMEOUT ${EXTRACT_TIMEOUT}\n)\n\nif(list_result EQUAL 0)\n    ## Convert cmd output to list of lines\n    string(REGEX REPLACE \"\\n$\" \"\" cmd_output \"${cmd_output}\")\n    string(REPLACE \"\\n\" \";\" cmd_output \"${cmd_output}\")\n\n    ## Extract file paths for the selected gfx archs\n    foreach(line ${cmd_output})\n        if(line MATCHES \"(gfx90a|gfx942|gfx950)\")\n            string(REGEX MATCH \"\\\\file://(.*)\" file_match ${line})\n            if(file_match)\n                list(APPEND file_paths ${file_match})\n            endif()\n        endif()\n    endforeach()\n\n    ## Extract objects from files\n    foreach(file ${file_paths})\n        execute_process(\n          COMMAND roc-obj-extract ${file}\n          RESULT_VARIABLE extraction_result\n          ERROR_VARIABLE extraction_error\n          OUTPUT_STRIP_TRAILING_WHITESPACE\n          ERROR_STRIP_TRAILING_WHITESPACE\n          TIMEOUT ${EXTRACT_TIMEOUT}\n        )\n        if(extraction_result STREQUAL \"TIMEOUT\")\n          message(\n            WARNING\n              \"[Timeout] Extraction of '${file}' did not finish within ${EXTRACT_TIMEOUT}s. stderr: ${extraction_error}.\n                    Timeouts have been known to happen as a result of mismatched ROCm versions/executables/etc.\"\n          )\n        elseif(NOT extraction_result EQUAL 0)\n          message(\n            WARNING\n              \"[Error ${extraction_result}] Could not extract objects from '${file}'. stderr: ${extraction_error}\"\n          )\n        endif()\n    endforeach()\n\nelseif(list_result STREQUAL \"TIMEOUT\")\n  message(\n    WARNING\n      \"[Timeout] roc-obj-ls did not finish within ${EXTRACT_TIMEOUT}s. stderr: ${cmd_error}.\n                     Timeouts have been known to happen as a result of mismatched ROCm versions/executables/etc\"\n  )\nelse()\n    ## We don't want to stop building unit-tests if this command fails.\n    message(WARNING \"[Error ${list_result}] roc-obj-ls failed. stderr: ${cmd_error}\")\nendif()\n"
  },
  {
    "path": "cmake/scripts/git_version.cmake",
    "content": "# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in all\n# copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n# SOFTWARE.\n\n# Attempt to collect the latest git hash\n# Use RCCL_SOURCE_DIR if passed, otherwise fallback to CMAKE_CURRENT_SOURCE_DIR\nif(NOT DEFINED RCCL_SOURCE_DIR)\n  set(RCCL_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})\nendif()\nif(NOT DEFINED RCCL_BINARY_DIR)\n  set(RCCL_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})\nendif()\n\nexecute_process(COMMAND git log --pretty=format:'%h' -n 1\n                WORKING_DIRECTORY ${RCCL_SOURCE_DIR}\n                OUTPUT_VARIABLE GIT_REV\n                ERROR_QUIET)\n\n# Check if git information was found\nif (\"${GIT_REV}\" STREQUAL \"\")\n  set(CURR_GIT_VERSION \"const char *rcclGitHash =\\\"Unknown \\\";\")\nelse()\n  # Check for changes (denote with a '+') after hash\n  execute_process(\n    COMMAND bash -c \"git diff --quiet --exit-code || echo +\"\n    WORKING_DIRECTORY ${RCCL_SOURCE_DIR}\n    OUTPUT_VARIABLE GIT_DIFF)\n  # Collect branch information\n  execute_process(\n    COMMAND git rev-parse --abbrev-ref HEAD\n    WORKING_DIRECTORY ${RCCL_SOURCE_DIR}\n    OUTPUT_VARIABLE GIT_BRANCH)\n\n  string(STRIP \"${GIT_REV}\" GIT_REV)\n  string(SUBSTRING \"${GIT_REV}\" 1 7 GIT_REV)\n  string(STRIP \"${GIT_DIFF}\" GIT_DIFF)\n  string(STRIP \"${GIT_BRANCH}\" GIT_BRANCH)\n\n  set(CURR_GIT_VERSION \"const char *rcclGitHash =\\\"${GIT_BRANCH}:${GIT_REV}${GIT_DIFF}\\\";\")\nendif()\n\n# Compare file with older git version file (git_version.cpp)\nif (EXISTS ${RCCL_BINARY_DIR}/git_version.cpp)\n  #MESSAGE(STATUS \"Found ${RCCL_BINARY_DIR}/git_version.cpp\")\n  file(READ ${RCCL_BINARY_DIR}/git_version.cpp PREV_GIT_VERSION)\n  #message(STATUS \"CURR GIT version: ${CURR_GIT_VERSION}\")\n  #message(STATUS \"PREV GIT version: ${PREV_GIT_VERSION}\")\n  if (NOT \"${CURR_GIT_VERSION}\" STREQUAL \"${PREV_GIT_VERSION}\")\n    message(STATUS \"Updating git_version.cpp\")\n    file(WRITE ${RCCL_BINARY_DIR}/git_version.cpp \"${CURR_GIT_VERSION}\")\n  else()\n    message(STATUS \"No changes to git_version.cpp required\")\n  endif()\nelse()\n  # Create git_version.cpp if it doesn't exist yet\n  file(WRITE ${RCCL_BINARY_DIR}/git_version.cpp \"${CURR_GIT_VERSION}\")\nendif()\n"
  },
  {
    "path": "docker/Dockerfile.ubuntu",
    "content": "## base docker image\nARG ROCM_IMAGE_NAME=rocm/dev-ubuntu-22.04\nARG ROCM_IMAGE_TAG=latest\nFROM \"${ROCM_IMAGE_NAME}:${ROCM_IMAGE_TAG}\"\n\n## rccl repo\nARG RCCL_REPO=https://github.com/ROCm/rccl\nARG RCCL_BRANCH=develop\n\n## rccl-tests repo\nARG RCCL_TESTS_REPO=https://github.com/ROCm/rccl-tests\nARG RCCL_TESTS_BRANCH=develop\n\n## AMD GPU Targets\nARG GPU_TARGETS=gfx942\n\n## creating scratch space\nENV WORKDIR /workspace\nRUN mkdir -p ${WORKDIR}\nWORKDIR ${WORKDIR}\n\n## install dependencies\nRUN apt-get update \\\n    && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \\\n    ca-certificates \\\n    git \\\n    make \\\n    rocm-cmake \\\n    ninja-build \\\n    gfortran \\\n    build-essential \\\n    libomp5 \\\n    libomp-dev \\\n    libbfd-dev \\\n    libboost-all-dev \\\n    libnuma1 \\\n    libnuma-dev \\\n    libpthread-stubs0-dev \\\n    libzstd-dev \\\n    lcov \\\n    zip \\\n    zlib1g-dev \\\n    wget \\\n    pkg-config \\\n    unzip \\\n    chrpath \\\n    doxygen \\\n    lshw \\\n    build-essential \\\n    libssl-dev \\\n    curl \\\n    libncursesw5-dev \\\n    xz-utils \\\n    liblzma-dev \\\n    python3-pip \\\n    python3-setuptools \\\n    python3-venv \\\n    python3-dev \\\n    python3-tk \\\n    python3-yaml \\\n    vim \\\n    less \\\n    && \\\n    apt-get clean && \\\n    rm -rf /var/lib/apt/lists/*\n\nRUN wget https://github.com/Kitware/CMake/releases/download/v3.28.0/cmake-3.28.0-linux-x86_64.sh \\\n    && chmod +x cmake-3.28.0-linux-x86_64.sh \\\n    && bash ./cmake-3.28.0-linux-x86_64.sh --prefix=/usr --exclude-subdir --skip-license \\\n    && rm cmake-3.28.0-linux-x86_64.sh\n\n## Set ROCm path\nENV ROCM_PATH=/opt/rocm\n\n## Install UCX\nENV UCX_INSTALL_PREFIX=/opt/ucx\nRUN wget https://github.com/openucx/ucx/releases/download/v1.16.0/ucx-1.16.0.tar.gz \\\n    && mkdir -p ucx \\\n    && tar -zxf ucx-1.16.0.tar.gz -C ucx --strip-components=1 \\\n    && cd ucx \\\n    && mkdir build \\\n    && cd build \\\n    && ../configure --prefix=${UCX_INSTALL_PREFIX} --with-rocm=${ROCM_PATH} \\\n    && make -j16 install \\\n    && cd ../.. \\\n    && rm -rf ucx ucx-1.16.0.tar.gz\n\n## Install OpenMPI\nENV MPI_INSTALL_PREFIX=/opt/ompi\nRUN wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.6.tar.gz \\\n    && mkdir -p ompi4 \\\n    && tar -zxf openmpi-4.1.6.tar.gz -C ompi4 --strip-components=1 \\\n    && cd ompi4 \\\n    && mkdir build \\\n    && cd build \\\n    && ../configure --prefix=${MPI_INSTALL_PREFIX} --with-ucx=${UCX_INSTALL_PREFIX} --disable-oshmem --disable-mpi-fortran --enable-orterun-prefix-by-default \\\n    && make -j16 install \\\n    && cd ../.. \\\n    && rm -rf ompi4 openmpi-4.1.6.tar.gz\n\n\n## building RCCL\nENV RCCL_INSTALL_PREFIX=${WORKDIR}/rccl/install\nRUN git clone --recurse-submodules -b \"${RCCL_BRANCH}\" \"${RCCL_REPO}\" \\\n    && cd ./rccl \\\n    && ./install.sh --amdgpu_targets=${GPU_TARGETS} --prefix=${RCCL_INSTALL_PREFIX}\n\n## building RCCL-Tests\nRUN git clone -b \"${RCCL_TESTS_BRANCH}\" \"${RCCL_TESTS_REPO}\" ./rccl-tests \\\n    && cd ./rccl-tests \\\n    && mkdir build \\\n    && cd build \\\n    && cmake -DCMAKE_BUILD_TYPE=Release -DUSE_MPI=ON -DCMAKE_PREFIX_PATH=\"${RCCL_INSTALL_PREFIX};${MPI_INSTALL_PREFIX}\" -DGPU_TARGETS=${GPU_TARGETS} .. \\\n    && make -j16\n\n\n## set environment variables\nENV PATH=\"${MPI_INSTALL_PREFIX}/bin:${ROCM_PATH}/bin:${PATH}\"\nENV LD_LIBRARY_PATH=\"${RCCL_INSTALL_PREFIX}:${MPI_INSTALL_PREFIX}/lib:${ROCM_PATH}/lib:${LD_LIBRARY_PATH}\"\nENV UCX_WARN_UNUSED_ENV_VARS=n\nENV OMPI_ALLOW_RUN_AS_ROOT=1\nENV OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1\nENV NCCL_DEBUG=VERSION\n\n"
  },
  {
    "path": "docker/README.md",
    "content": "# Using RCCL/RCCL-Tests in a docker environment\n\n## Docker build\n\nAssuming you have docker installed on your system:\n\n### To build the docker image :\n\nBy default, the given Dockerfile uses `docker.io/rocm/dev-ubuntu-22.04:latest` as the base docker image, and then installs RCCL (develop branch) and RCCL-Tests (develop branch), targetting `gfx942` GPUs.\n```shell\n$ docker build -t rccl-tests -f Dockerfile.ubuntu --pull .\n```\n\nThe base docker image, rccl repo, rccl-tests repo, and GPU targets can be modified using `--build-args` in the `docker build` command above. E.g., to use a different base docker image for the MI250 GPU:\n```shell\n$ docker build -t rccl-tests -f Dockerfile.ubuntu --build-arg=\"ROCM_IMAGE_NAME=rocm/dev-ubuntu-20.04\" --build-arg=\"ROCM_IMAGE_TAG=6.2\" --build-arg=\"GPU_TARGETS=gfx90a\" --pull .\n```\n\n### To start an interactive docker container on a system with AMD GPUs :\n\n```shell\n$ docker run --rm --device=/dev/kfd --device=/dev/dri --group-add video --ipc=host --network=host --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -it rccl-tests /bin/bash\n```\n\n### To run rccl-tests (all\\_reduce\\_perf) on 8 AMD GPUs (inside the docker container) :\n\nIf using ROCm 6.3.x or earlier\n```shell\n$ mpirun --allow-run-as-root -np 8 --mca pml ucx --mca btl ^openib -x NCCL_DEBUG=VERSION -x HSA_NO_SCRATCH_RECLAIM=1 /workspace/rccl-tests/build/all_reduce_perf -b 1 -e 16G -f 2 -g 1\n```\n\nIf using ROCm 6.4.0 or later\n```shell\n$ mpirun --allow-run-as-root -np 8 --mca pml ucx --mca btl ^openib -x NCCL_DEBUG=VERSION /workspace/rccl-tests/build/all_reduce_perf -b 1 -e 16G -f 2 -g 1\n```\n\nFor more information on rccl-tests options, refer to the [Usage](https://github.com/ROCm/rccl-tests#usage) section of rccl-tests.\n\n\n## Copyright\n\nAll modifications are copyright (c) 2019-2025 Advanced Micro Devices, Inc. All rights reserved.\n"
  },
  {
    "path": "docs/.gitignore",
    "content": "_build/\r\n_doxygen/\r\ndoxygen/html\r\ndoxygen/xml\r\nsphinx/_toc.yml\r\n"
  },
  {
    "path": "docs/api-reference/api-library.rst",
    "content": ".. meta::\n   :description: RCCL is a stand-alone library that provides multi-GPU and multi-node collective communication primitives optimized for AMD GPUs\n   :keywords: RCCL, ROCm, library, API\n\n.. _api-library:\n\n***********\nAPI library\n***********\n\nRCCL (pronounced \"Rickle\") is a stand-alone library of standard collective communication routines for GPUs, implementing all-reduce, all-gather, reduce, broadcast, reduce-scatter, gather, scatter, and all-to-all. There is also initial support for direct GPU-to-GPU send and receive operations. It has been optimized to achieve high bandwidth on platforms using PCIe, xGMI as well as networking using InfiniBand Verbs or TCP/IP sockets. RCCL supports an arbitrary number of GPUs installed in a single node or multiple nodes, and can be used in either single- or multi-process (e.g., MPI) applications.\n\nThe collective operations are implemented using ring and tree algorithms and have been optimized for throughput and latency. For best performance, small operations can be either batched into larger operations or aggregated through the API.\n\nOperations\n==========\n\n.. doxygenindex::\n"
  },
  {
    "path": "docs/api-reference/env-variables.rst",
    "content": ".. meta::\n   :description: RCCL is a stand-alone library that provides multi-GPU and multi-node collective communication primitives optimized for AMD GPUs\n   :keywords: RCCL, ROCm, library, API, reference, environment variable, environment\n\n.. _env-variables:\n\n********************************************************************\nRCCL environment variables\n********************************************************************\n\nThis section describes the most important RCCL environment variables,\nwhich are grouped by functionality.\n\nConfiguration and setup\n========================\n\nThe configuration and setup environment variables for RCCL are collected\nin the following table.\n\n.. list-table::\n    :header-rows: 1\n    :widths: 70,30\n\n    * - **Environment variable**\n      - **Value**\n\n    * - | ``NCCL_CONF_FILE``\n        | Specifies the path to the RCCL configuration file.\n      - | String path to configuration file\n        | Default: ``~/.rccl.conf`` or ``/etc/rccl.conf``\n\n    * - | ``NCCL_HOSTID``\n        | Sets the host identifier for multi-node communication.\n      - | String value for host identification\n        | Used for host hash generation\n\nLogging and debugging\n=====================\n\nThe logging and debugging environment variables for RCCL are collected\nin the following table.\n\n.. list-table::\n    :header-rows: 1\n    :widths: 70,30\n\n    * - **Environment variable**\n      - **Value**\n\n    * - | ``RCCL_LOG_LEVEL``\n        | Controls RCCL logging verbosity.\n      - | Integer value (default: ``1``)\n        | Higher values increase logging detail\n\n    * - | ``NCCL_DEBUG_SUBSYS``\n        | Controls which subsystems generate debug output.\n      - | Comma-separated list of subsystems (e.g., ``INIT,COLL``)\n        | Prefix with ``^`` to invert selection\n\nAlgorithm and protocol control\n==============================\n\nThe algorithm and protocol control environment variables for RCCL are\ncollected in the following table.\n\n.. list-table::\n    :header-rows: 1\n    :widths: 70,30\n\n    * - **Environment variable**\n      - **Value**\n\n    * - | ``NCCL_ALGO``\n        | Forces specific algorithm selection for collectives.\n      - | Algorithm name string\n        | Used to override automatic algorithm selection\n\n    * - | ``NCCL_PROTO``\n        | Forces specific protocol selection for communication.\n      - | Protocol name string\n        | Used to override automatic protocol selection\n\nNetwork and topology\n====================\n\nThe network and topology environment variables for RCCL are collected\nin the following table.\n\n.. list-table::\n    :header-rows: 1\n    :widths: 70,30\n\n    * - **Environment variable**\n      - **Value**\n\n    * - | ``NCCL_IB_HCA``\n        | Specifies InfiniBand device:port to use.\n      - | Device specification string\n        | Prefix with ``^`` for exclusion, ``=`` for exact match\n\n    * - | ``NCCL_IB_GID_INDEX``\n        | Defines the Global ID index used in RoCE mode.\n      - | Integer value (default: ``-1``)\n        | See InfiniBand ``show_gids`` command for valid values\n\n    * - | ``NCCL_SOCKET_IFNAME``\n        | Specifies which IP interfaces to use for communication.\n      - | Interface prefix string or list\n        | Multiple prefixes separated by ``,``\n        | Prefix with ``^`` for exclusion, ``=`` for exact match\n        | Example: ``eth`` (all eth interfaces), ``=eth0`` (exact match)\n\n    * - | ``NCCL_SOCKET_FAMILY``\n        | Forces IPv4/IPv6 interface selection.\n      - | ``AF_INET``: Force IPv4\n        | ``AF_INET6``: Force IPv6\n        | Unset: Use first available\n\n    * - | ``NCCL_NET_MERGE_LEVEL``\n        | Controls network device merging behavior.\n      - | Integer value specifying merge level\n        | Default: ``PATH_PORT``\n\n    * - | ``NCCL_NET_FORCE_MERGE``\n        | Forces merging of network devices.\n      - | String specifying forced merge configuration\n\n    * - | ``NCCL_RINGS``\n        | Defines custom ring topology.\n      - | Ring topology specification string\n        | Overrides automatic topology detection\n\n    * - | ``RCCL_TREES``\n        | Defines custom tree topology.\n      - | Tree topology specification string\n        | Alternative to ring topology\n\n    * - | ``NCCL_RINGS_REMAP``\n        | Controls ring remapping for specific topologies.\n      - | Remapping specification string\n        | Used with Rome 4P2H topology\n\nDevelopment and testing (advanced)\n==================================\n\nThe development and testing environment variables for RCCL are\ncollected in the following table. These variables are primarily\nintended for debugging and development purposes.\n\n.. list-table::\n    :header-rows: 1\n    :widths: 70,30\n\n    * - **Environment variable**\n      - **Value**\n\n    * - | ``CUDA_LAUNCH_BLOCKING``\n        | Controls CUDA kernel launch blocking behavior.\n      - | ``0``: Non-blocking launches\n        | ``1`` or non-zero: Blocking launches\n\n    * - | ``NCCL_COMM_ID``\n        | Enables multi-process mode in test applications.\n      - | Any non-empty value enables multi-process mode\n        | Used with test executables for distributed testing\n"
  },
  {
    "path": "docs/api-reference/library-specification.rst",
    "content": ".. meta::\n   :description: RCCL is a stand-alone library that provides multi-GPU and multi-node collective communication primitives optimized for AMD GPUs\n   :keywords: RCCL, ROCm, library, API\n\n.. _library-specification:\n\n============================\nRCCL library specification\n============================\n\nThis document provides details of the API library. \n\nCommunicator functions\n----------------------\n\n.. doxygenfunction:: ncclGetUniqueId\n\n.. doxygenfunction:: ncclCommInitRank\n\n.. doxygenfunction:: ncclCommInitAll\n\n.. doxygenfunction:: ncclCommDestroy\n\n.. doxygenfunction:: ncclCommAbort\n\n.. doxygenfunction:: ncclCommCount\n\n.. doxygenfunction:: ncclCommCuDevice\n\n.. doxygenfunction:: ncclCommUserRank\n\nCollective communication operations\n-----------------------------------\n\nCollective communication operations must be called separately for each communicator in a communicator clique.\n\nThey return when operations have been enqueued on the hipstream.\n\nSince they may perform inter-CPU synchronization, each call has to be done from a different thread or process, or need to use Group Semantics (see below).\n\n.. doxygenfunction:: ncclReduce\n\n.. doxygenfunction:: ncclBcast\n\n.. doxygenfunction:: ncclBroadcast\n\n.. doxygenfunction:: ncclAllReduce\n\n.. doxygenfunction:: ncclReduceScatter\n\n.. doxygenfunction:: ncclAllGather\n\n.. doxygenfunction:: ncclSend\n\n.. doxygenfunction:: ncclRecv\n\n.. doxygenfunction:: ncclGather\n\n.. doxygenfunction:: ncclScatter\n\n.. doxygenfunction:: ncclAllToAll\n\nGroup semantics\n---------------\nWhen managing multiple GPUs from a single thread, and since NCCL collective\ncalls may perform inter-CPU synchronization, we need to \"group\" calls for\ndifferent ranks/devices into a single call.\n\nGrouping NCCL calls as being part of the same collective operation is done\nusing ncclGroupStart and ncclGroupEnd. ncclGroupStart will enqueue all\ncollective calls until the ncclGroupEnd call, which will wait for all calls\nto be complete. Note that for collective communication, ncclGroupEnd only\nguarantees that the operations are enqueued on the streams, not that\nthe operation is effectively done.\n\nBoth collective communication and ncclCommInitRank can be used in conjunction\nof ncclGroupStart/ncclGroupEnd.\n\n.. doxygenfunction:: ncclGroupStart\n\n.. doxygenfunction:: ncclGroupEnd\n\nLibrary functions\n-----------------\n\n.. doxygenfunction:: ncclGetVersion\n\n.. doxygenfunction:: ncclGetErrorString\n\nTypes\n-----\n\nThere are few data structures that are internal to the library. The pointer types to these\nstructures are given below. The user would need to use these types to create handles and pass them\nbetween different library functions.\n\n.. doxygentypedef:: ncclComm_t\n\n.. doxygenstruct:: ncclUniqueId\n\n\n\nEnumerations\n------------\n\nThis section provides all the enumerations used.\n\n.. doxygenenum:: ncclResult_t\n\n.. doxygenenum:: ncclRedOp_t\n\n.. _rccl-supported-data-types:\n\n.. doxygenenum:: ncclDataType_t\n"
  },
  {
    "path": "docs/attributions.rst",
    "content": ".. meta::\n   :description: RCCL attributions information\n   :keywords: RCCL, ROCm, library, API, attributions\n\n.. toctree::\n   :maxdepth: 4\n   :caption: Attributions\n\nAttributions\n============\n\nContains contributions from NVIDIA.\n\nCopyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n-  Redistributions of source code must retain the above copyright\n   notice, this list of conditions and the following disclaimer.\n-  Redistributions in binary form must reproduce the above copyright\n   notice, this list of conditions and the following disclaimer in the\n   documentation and/or other materials provided with the distribution.\n-  Neither the name of NVIDIA CORPORATION, Lawrence Berkeley National\n   Laboratory, the U.S. Department of Energy, nor the names of their\n   contributors may be used to endorse or promote products derived\n   from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR\nCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\nEXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\nPROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\nOF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nThe U.S. Department of Energy funded the development of this software\nunder subcontract 7078610 with Lawrence Berkeley National Laboratory.\n\nThis code also includes files from the NVIDIA Tools Extension SDK project.\n\nFor more information and license details, see `https://github.com/NVIDIA/NVTX <https://github.com/NVIDIA/NVTX>`_\n"
  },
  {
    "path": "docs/conf.py",
    "content": "# Configuration file for the Sphinx documentation builder.\n#\n# This file only contains a selection of the most common options. For a full\n# list see the documentation:\n# https://www.sphinx-doc.org/en/master/usage/configuration.html\n\nimport subprocess\n\nfrom rocm_docs import ROCmDocs\n\nname = \"RCCL\"\nget_major = r'sed -n -e \"s/^NCCL_MAJOR.*\\([0-9]\\+\\).*/\\1/p\" ../makefiles/version.mk'\nget_minor = r'sed -n -e \"s/^NCCL_MINOR.*\\([0-9]\\{2,\\}\\).*/\\1/p\" ../makefiles/version.mk'\nget_patch = r'sed -n -e \"s/^NCCL_PATCH.*\\([0-9]\\+\\).*/\\1/p\" ../makefiles/version.mk'\nmajor = subprocess.getoutput(get_major)\nminor = subprocess.getoutput(get_minor)\npatch = subprocess.getoutput(get_patch)\nversion_number = f\"{major}.{minor}.{patch}\"\n\n# for PDF output on Read the Docs\nproject = f\"{name} Documentation\"\nauthor = \"Advanced Micro Devices, Inc.\"\ncopyright = \"Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.\"\nversion = version_number\nrelease = version_number\n\nexternal_toc_path = \"./sphinx/_toc.yml\"\n\ndocs_core = ROCmDocs(f\"{name} {version_number} Documentation\")\ndocs_core.run_doxygen(doxygen_root=\"doxygen\", doxygen_path=\"doxygen/xml\")\ndocs_core.setup()\n\nexternal_projects_current_project = \"rccl\"\n\nfor sphinx_var in ROCmDocs.SPHINX_VARS:\n    globals()[sphinx_var] = getattr(docs_core, sphinx_var)\n"
  },
  {
    "path": "docs/doxygen/Doxyfile",
    "content": "# Doxyfile 1.8.17\n\n# This file describes the settings to be used by the documentation system\n# doxygen (www.doxygen.org) for a project.\n#\n# All text after a double hash (##) is considered a comment and is placed in\n# front of the TAG it is preceding.\n#\n# All text after a single hash (#) is considered a comment and will be ignored.\n# The format is:\n# TAG = value [value, ...]\n# For lists, items can also be appended using:\n# TAG += value [value, ...]\n# Values that contain spaces should be placed between quotes (\\\" \\\").\n\n#---------------------------------------------------------------------------\n# Project related configuration options\n#---------------------------------------------------------------------------\n\n# This tag specifies the encoding used for all characters in the configuration\n# file that follow. The default is UTF-8 which is also the encoding used for all\n# text before the first occurrence of this tag. Doxygen uses libiconv (or the\n# iconv built into libc) for the transcoding. See\n# https://www.gnu.org/software/libiconv/ for the list of possible encodings.\n# The default value is: UTF-8.\n\nDOXYFILE_ENCODING      = UTF-8\n\n# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by\n# double-quotes, unless you are using Doxywizard) that should identify the\n# project for which the documentation is generated. This name is used in the\n# title of most generated pages and in a few other places.\n# The default value is: My Project.\n\nPROJECT_NAME           = \"RCCL\"\n\n# The PROJECT_NUMBER tag can be used to enter a project or revision number. This\n# could be handy for archiving the generated documentation or if some version\n# control system is used.\n\nPROJECT_NUMBER         = v2.18.3\n\n# Using the PROJECT_BRIEF tag one can provide an optional one line description\n# for a project that appears at the top of each page and should give viewer a\n# quick idea about the purpose of the project. Keep the description short.\n\nPROJECT_BRIEF          = \"ROCm Collective Communications Library\"\n\n# With the PROJECT_LOGO tag one can specify a logo or an icon that is included\n# in the documentation. The maximum height of the logo should not exceed 55\n# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy\n# the logo to the output directory.\n\nPROJECT_LOGO           =\n\n# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path\n# into which the generated documentation will be written. If a relative path is\n# entered, it will be relative to the location where doxygen was started. If\n# left blank the current directory will be used.\n\nOUTPUT_DIRECTORY       = .\n\n# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-\n# directories (in 2 levels) under the output directory of each output format and\n# will distribute the generated files over these directories. Enabling this\n# option can be useful when feeding doxygen a huge amount of source files, where\n# putting all generated files in the same directory would otherwise causes\n# performance problems for the file system.\n# The default value is: NO.\n\nCREATE_SUBDIRS         = NO\n\n# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII\n# characters to appear in the names of generated files. If set to NO, non-ASCII\n# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode\n# U+3044.\n# The default value is: NO.\n\nALLOW_UNICODE_NAMES    = NO\n\n# The OUTPUT_LANGUAGE tag is used to specify the language in which all\n# documentation generated by doxygen is written. Doxygen will use this\n# information to generate all constant output in the proper language.\n# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,\n# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),\n# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,\n# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),\n# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,\n# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,\n# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,\n# Ukrainian and Vietnamese.\n# The default value is: English.\n\nOUTPUT_LANGUAGE        = English\n\n# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all\n# documentation generated by doxygen is written. Doxygen will use this\n# information to generate all generated output in the proper direction.\n# Possible values are: None, LTR, RTL and Context.\n# The default value is: None.\n\nOUTPUT_TEXT_DIRECTION  = None\n\n# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member\n# descriptions after the members that are listed in the file and class\n# documentation (similar to Javadoc). Set to NO to disable this.\n# The default value is: YES.\n\nBRIEF_MEMBER_DESC      = YES\n\n# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief\n# description of a member or function before the detailed description\n#\n# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the\n# brief descriptions will be completely suppressed.\n# The default value is: YES.\n\nREPEAT_BRIEF           = YES\n\n# This tag implements a quasi-intelligent brief description abbreviator that is\n# used to form the text in various listings. Each string in this list, if found\n# as the leading text of the brief description, will be stripped from the text\n# and the result, after processing the whole list, is used as the annotated\n# text. Otherwise, the brief description is used as-is. If left blank, the\n# following values are used ($name is automatically replaced with the name of\n# the entity):The $name class, The $name widget, The $name file, is, provides,\n# specifies, contains, represents, a, an and the.\n\nABBREVIATE_BRIEF       = \"The $name class\" \\\n                         \"The $name widget\" \\\n                         \"The $name file\" \\\n                         is \\\n                         provides \\\n                         specifies \\\n                         contains \\\n                         represents \\\n                         a \\\n                         an \\\n                         the\n\n# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then\n# doxygen will generate a detailed section even if there is only a brief\n# description.\n# The default value is: NO.\n\nALWAYS_DETAILED_SEC    = YES\n\n# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all\n# inherited members of a class in the documentation of that class as if those\n# members were ordinary class members. Constructors, destructors and assignment\n# operators of the base classes will not be shown.\n# The default value is: NO.\n\nINLINE_INHERITED_MEMB  = NO\n\n# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path\n# before files name in the file list and in the header files. If set to NO the\n# shortest path that makes the file name unique will be used\n# The default value is: YES.\n\nFULL_PATH_NAMES        = NO\n\n# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.\n# Stripping is only done if one of the specified strings matches the left-hand\n# part of the path. The tag can be used to show relative paths in the file list.\n# If left blank the directory from which doxygen is run is used as the path to\n# strip.\n#\n# Note that you can specify absolute paths here, but also relative paths, which\n# will be relative from the directory where doxygen is started.\n# This tag requires that the tag FULL_PATH_NAMES is set to YES.\n\nSTRIP_FROM_PATH        =\n\n# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the\n# path mentioned in the documentation of a class, which tells the reader which\n# header file to include in order to use a class. If left blank only the name of\n# the header file containing the class definition is used. Otherwise one should\n# specify the list of include paths that are normally passed to the compiler\n# using the -I flag.\n\nSTRIP_FROM_INC_PATH    =\n\n# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but\n# less readable) file names. This can be useful is your file systems doesn't\n# support long names like on DOS, Mac, or CD-ROM.\n# The default value is: NO.\n\nSHORT_NAMES            = NO\n\n# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the\n# first line (until the first dot) of a Javadoc-style comment as the brief\n# description. If set to NO, the Javadoc-style will behave just like regular Qt-\n# style comments (thus requiring an explicit @brief command for a brief\n# description.)\n# The default value is: NO.\n\nJAVADOC_AUTOBRIEF      = NO\n\n# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line\n# such as\n# /***************\n# as being the beginning of a Javadoc-style comment \"banner\". If set to NO, the\n# Javadoc-style will behave just like regular comments and it will not be\n# interpreted by doxygen.\n# The default value is: NO.\n\nJAVADOC_BANNER         = NO\n\n# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first\n# line (until the first dot) of a Qt-style comment as the brief description. If\n# set to NO, the Qt-style will behave just like regular Qt-style comments (thus\n# requiring an explicit \\brief command for a brief description.)\n# The default value is: NO.\n\nQT_AUTOBRIEF           = NO\n\n# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a\n# multi-line C++ special comment block (i.e. a block of //! or /// comments) as\n# a brief description. This used to be the default behavior. The new default is\n# to treat a multi-line C++ comment block as a detailed description. Set this\n# tag to YES if you prefer the old behavior instead.\n#\n# Note that setting this tag to YES also means that rational rose comments are\n# not recognized any more.\n# The default value is: NO.\n\nMULTILINE_CPP_IS_BRIEF = NO\n\n# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the\n# documentation from any documented member that it re-implements.\n# The default value is: YES.\n\nINHERIT_DOCS           = YES\n\n# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new\n# page for each member. If set to NO, the documentation of a member will be part\n# of the file/class/namespace that contains it.\n# The default value is: NO.\n\nSEPARATE_MEMBER_PAGES  = NO\n\n# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen\n# uses this value to replace tabs by spaces in code fragments.\n# Minimum value: 1, maximum value: 16, default value: 4.\n\nTAB_SIZE               = 4\n\n# This tag can be used to specify a number of aliases that act as commands in\n# the documentation. An alias has the form:\n# name=value\n# For example adding\n# \"sideeffect=@par Side Effects:\\n\"\n# will allow you to put the command \\sideeffect (or @sideeffect) in the\n# documentation, which will result in a user-defined paragraph with heading\n# \"Side Effects:\". You can put \\n's in the value part of an alias to insert\n# newlines (in the resulting output). You can put ^^ in the value part of an\n# alias to insert a newline as if a physical newline was in the original file.\n# When you need a literal { or } or , in the value part of an alias you have to\n# escape them by means of a backslash (\\), this can lead to conflicts with the\n# commands \\{ and \\} for these it is advised to use the version @{ and @} or use\n# a double escape (\\\\{ and \\\\})\n\nALIASES                =\n\n# This tag can be used to specify a number of word-keyword mappings (TCL only).\n# A mapping has the form \"name=value\". For example adding \"class=itcl::class\"\n# will allow you to use the command class in the itcl::class meaning.\n\nTCL_SUBST              =\n\n# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources\n# only. Doxygen will then generate output that is more tailored for C. For\n# instance, some of the names that are used will be different. The list of all\n# members will be omitted, etc.\n# The default value is: NO.\n\nOPTIMIZE_OUTPUT_FOR_C  = YES\n\n# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or\n# Python sources only. Doxygen will then generate output that is more tailored\n# for that language. For instance, namespaces will be presented as packages,\n# qualified scopes will look different, etc.\n# The default value is: NO.\n\nOPTIMIZE_OUTPUT_JAVA   = NO\n\n# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran\n# sources. Doxygen will then generate output that is tailored for Fortran.\n# The default value is: NO.\n\nOPTIMIZE_FOR_FORTRAN   = NO\n\n# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL\n# sources. Doxygen will then generate output that is tailored for VHDL.\n# The default value is: NO.\n\nOPTIMIZE_OUTPUT_VHDL   = NO\n\n# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice\n# sources only. Doxygen will then generate output that is more tailored for that\n# language. For instance, namespaces will be presented as modules, types will be\n# separated into more groups, etc.\n# The default value is: NO.\n\nOPTIMIZE_OUTPUT_SLICE  = NO\n\n# Doxygen selects the parser to use depending on the extension of the files it\n# parses. With this tag you can assign which parser to use for a given\n# extension. Doxygen has a built-in mapping, but you can override or extend it\n# using this tag. The format is ext=language, where ext is a file extension, and\n# language is one of the parsers supported by doxygen: IDL, Java, JavaScript,\n# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice,\n# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:\n# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser\n# tries to guess whether the code is fixed or free formatted code, this is the\n# default for Fortran type files), VHDL, tcl. For instance to make doxygen treat\n# .inc files as Fortran files (default is PHP), and .f files as C (default is\n# Fortran), use: inc=Fortran f=C.\n#\n# Note: For files without extension you can use no_extension as a placeholder.\n#\n# Note that for custom extensions you also need to set FILE_PATTERNS otherwise\n# the files are not read by doxygen.\n\nEXTENSION_MAPPING      = in=C\n\n# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments\n# according to the Markdown format, which allows for more readable\n# documentation. See https://daringfireball.net/projects/markdown/ for details.\n# The output of markdown processing is further processed by doxygen, so you can\n# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in\n# case of backward compatibilities issues.\n# The default value is: YES.\n\nMARKDOWN_SUPPORT       = YES\n\n# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up\n# to that level are automatically included in the table of contents, even if\n# they do not have an id attribute.\n# Note: This feature currently applies only to Markdown headings.\n# Minimum value: 0, maximum value: 99, default value: 5.\n# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.\n\nTOC_INCLUDE_HEADINGS   = 5\n\n# When enabled doxygen tries to link words that correspond to documented\n# classes, or namespaces to their corresponding documentation. Such a link can\n# be prevented in individual cases by putting a % sign in front of the word or\n# globally by setting AUTOLINK_SUPPORT to NO.\n# The default value is: YES.\n\nAUTOLINK_SUPPORT       = YES\n\n# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want\n# to include (a tag file for) the STL sources as input, then you should set this\n# tag to YES in order to let doxygen match functions declarations and\n# definitions whose arguments contain STL classes (e.g. func(std::string);\n# versus func(std::string) {}). This also make the inheritance and collaboration\n# diagrams that involve STL classes more complete and accurate.\n# The default value is: NO.\n\nBUILTIN_STL_SUPPORT    = NO\n\n# If you use Microsoft's C++/CLI language, you should set this option to YES to\n# enable parsing support.\n# The default value is: NO.\n\nCPP_CLI_SUPPORT        = NO\n\n# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:\n# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen\n# will parse them like normal C++ but will assume all classes use public instead\n# of private inheritance when no explicit protection keyword is present.\n# The default value is: NO.\n\nSIP_SUPPORT            = NO\n\n# For Microsoft's IDL there are propget and propput attributes to indicate\n# getter and setter methods for a property. Setting this option to YES will make\n# doxygen to replace the get and set methods by a property in the documentation.\n# This will only work if the methods are indeed getting or setting a simple\n# type. If this is not the case, or you want to show the methods anyway, you\n# should set this option to NO.\n# The default value is: YES.\n\nIDL_PROPERTY_SUPPORT   = YES\n\n# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC\n# tag is set to YES then doxygen will reuse the documentation of the first\n# member in the group (if any) for the other members of the group. By default\n# all members of a group must be documented explicitly.\n# The default value is: NO.\n\nDISTRIBUTE_GROUP_DOC   = YES\n\n# If one adds a struct or class to a group and this option is enabled, then also\n# any nested class or struct is added to the same group. By default this option\n# is disabled and one has to add nested compounds explicitly via \\ingroup.\n# The default value is: NO.\n\nGROUP_NESTED_COMPOUNDS = NO\n\n# Set the SUBGROUPING tag to YES to allow class member groups of the same type\n# (for instance a group of public functions) to be put as a subgroup of that\n# type (e.g. under the Public Functions section). Set it to NO to prevent\n# subgrouping. Alternatively, this can be done per class using the\n# \\nosubgrouping command.\n# The default value is: YES.\n\nSUBGROUPING            = YES\n\n# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions\n# are shown inside the group in which they are included (e.g. using \\ingroup)\n# instead of on a separate page (for HTML and Man pages) or section (for LaTeX\n# and RTF).\n#\n# Note that this feature does not work in combination with\n# SEPARATE_MEMBER_PAGES.\n# The default value is: NO.\n\nINLINE_GROUPED_CLASSES = NO\n\n# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions\n# with only public data fields or simple typedef fields will be shown inline in\n# the documentation of the scope in which they are defined (i.e. file,\n# namespace, or group documentation), provided this scope is documented. If set\n# to NO, structs, classes, and unions are shown on a separate page (for HTML and\n# Man pages) or section (for LaTeX and RTF).\n# The default value is: NO.\n\nINLINE_SIMPLE_STRUCTS  = NO\n\n# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or\n# enum is documented as struct, union, or enum with the name of the typedef. So\n# typedef struct TypeS {} TypeT, will appear in the documentation as a struct\n# with name TypeT. When disabled the typedef will appear as a member of a file,\n# namespace, or class. And the struct will be named TypeS. This can typically be\n# useful for C code in case the coding convention dictates that all compound\n# types are typedef'ed and only the typedef is referenced, never the tag name.\n# The default value is: NO.\n\nTYPEDEF_HIDES_STRUCT   = YES\n\n# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This\n# cache is used to resolve symbols given their name and scope. Since this can be\n# an expensive process and often the same symbol appears multiple times in the\n# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small\n# doxygen will become slower. If the cache is too large, memory is wasted. The\n# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range\n# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536\n# symbols. At the end of a run doxygen will report the cache usage and suggest\n# the optimal cache size from a speed point of view.\n# Minimum value: 0, maximum value: 9, default value: 0.\n\nLOOKUP_CACHE_SIZE      = 0\n\n#---------------------------------------------------------------------------\n# Build related configuration options\n#---------------------------------------------------------------------------\n\n# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in\n# documentation are documented, even if no documentation was available. Private\n# class members and static file members will be hidden unless the\n# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.\n# Note: This will also disable the warnings about undocumented members that are\n# normally produced when WARNINGS is set to YES.\n# The default value is: NO.\n\nEXTRACT_ALL            = YES\n\n# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will\n# be included in the documentation.\n# The default value is: NO.\n\nEXTRACT_PRIVATE        = NO\n\n# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual\n# methods of a class will be included in the documentation.\n# The default value is: NO.\n\nEXTRACT_PRIV_VIRTUAL   = NO\n\n# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal\n# scope will be included in the documentation.\n# The default value is: NO.\n\nEXTRACT_PACKAGE        = NO\n\n# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be\n# included in the documentation.\n# The default value is: NO.\n\nEXTRACT_STATIC         = NO\n\n# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined\n# locally in source files will be included in the documentation. If set to NO,\n# only classes defined in header files are included. Does not have any effect\n# for Java sources.\n# The default value is: YES.\n\nEXTRACT_LOCAL_CLASSES  = YES\n\n# This flag is only useful for Objective-C code. If set to YES, local methods,\n# which are defined in the implementation section but not in the interface are\n# included in the documentation. If set to NO, only methods in the interface are\n# included.\n# The default value is: NO.\n\nEXTRACT_LOCAL_METHODS  = NO\n\n# If this flag is set to YES, the members of anonymous namespaces will be\n# extracted and appear in the documentation as a namespace called\n# 'anonymous_namespace{file}', where file will be replaced with the base name of\n# the file that contains the anonymous namespace. By default anonymous namespace\n# are hidden.\n# The default value is: NO.\n\nEXTRACT_ANON_NSPACES   = NO\n\n# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all\n# undocumented members inside documented classes or files. If set to NO these\n# members will be included in the various overviews, but no documentation\n# section is generated. This option has no effect if EXTRACT_ALL is enabled.\n# The default value is: NO.\n\nHIDE_UNDOC_MEMBERS     = NO\n\n# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all\n# undocumented classes that are normally visible in the class hierarchy. If set\n# to NO, these classes will be included in the various overviews. This option\n# has no effect if EXTRACT_ALL is enabled.\n# The default value is: NO.\n\nHIDE_UNDOC_CLASSES     = NO\n\n# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend\n# declarations. If set to NO, these declarations will be included in the\n# documentation.\n# The default value is: NO.\n\nHIDE_FRIEND_COMPOUNDS  = NO\n\n# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any\n# documentation blocks found inside the body of a function. If set to NO, these\n# blocks will be appended to the function's detailed documentation block.\n# The default value is: NO.\n\nHIDE_IN_BODY_DOCS      = NO\n\n# The INTERNAL_DOCS tag determines if documentation that is typed after a\n# \\internal command is included. If the tag is set to NO then the documentation\n# will be excluded. Set it to YES to include the internal documentation.\n# The default value is: NO.\n\nINTERNAL_DOCS          = NO\n\n# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file\n# names in lower-case letters. If set to YES, upper-case letters are also\n# allowed. This is useful if you have classes or files whose names only differ\n# in case and if your file system supports case sensitive file names. Windows\n# (including Cygwin) ands Mac users are advised to set this option to NO.\n# The default value is: system dependent.\n\nCASE_SENSE_NAMES       = NO\n\n# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with\n# their full class and namespace scopes in the documentation. If set to YES, the\n# scope will be hidden.\n# The default value is: NO.\n\nHIDE_SCOPE_NAMES       = NO\n\n# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will\n# append additional text to a page's title, such as Class Reference. If set to\n# YES the compound reference will be hidden.\n# The default value is: NO.\n\nHIDE_COMPOUND_REFERENCE = NO\n\n# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of\n# the files that are included by a file in the documentation of that file.\n# The default value is: YES.\n\nSHOW_INCLUDE_FILES     = YES\n\n# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each\n# grouped member an include statement to the documentation, telling the reader\n# which file to include in order to use the member.\n# The default value is: NO.\n\nSHOW_GROUPED_MEMB_INC  = NO\n\n# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include\n# files with double quotes in the documentation rather than with sharp brackets.\n# The default value is: NO.\n\nFORCE_LOCAL_INCLUDES   = NO\n\n# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the\n# documentation for inline members.\n# The default value is: YES.\n\nINLINE_INFO            = YES\n\n# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the\n# (detailed) documentation of file and class members alphabetically by member\n# name. If set to NO, the members will appear in declaration order.\n# The default value is: YES.\n\nSORT_MEMBER_DOCS       = YES\n\n# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief\n# descriptions of file, namespace and class members alphabetically by member\n# name. If set to NO, the members will appear in declaration order. Note that\n# this will also influence the order of the classes in the class list.\n# The default value is: NO.\n\nSORT_BRIEF_DOCS        = NO\n\n# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the\n# (brief and detailed) documentation of class members so that constructors and\n# destructors are listed first. If set to NO the constructors will appear in the\n# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.\n# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief\n# member documentation.\n# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting\n# detailed member documentation.\n# The default value is: NO.\n\nSORT_MEMBERS_CTORS_1ST = NO\n\n# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy\n# of group names into alphabetical order. If set to NO the group names will\n# appear in their defined order.\n# The default value is: NO.\n\nSORT_GROUP_NAMES       = NO\n\n# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by\n# fully-qualified names, including namespaces. If set to NO, the class list will\n# be sorted only by class name, not including the namespace part.\n# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.\n# Note: This option applies only to the class list, not to the alphabetical\n# list.\n# The default value is: NO.\n\nSORT_BY_SCOPE_NAME     = NO\n\n# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper\n# type resolution of all parameters of a function it will reject a match between\n# the prototype and the implementation of a member function even if there is\n# only one candidate or it is obvious which candidate to choose by doing a\n# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still\n# accept a match between prototype and implementation in such cases.\n# The default value is: NO.\n\nSTRICT_PROTO_MATCHING  = NO\n\n# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo\n# list. This list is created by putting \\todo commands in the documentation.\n# The default value is: YES.\n\nGENERATE_TODOLIST      = YES\n\n# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test\n# list. This list is created by putting \\test commands in the documentation.\n# The default value is: YES.\n\nGENERATE_TESTLIST      = YES\n\n# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug\n# list. This list is created by putting \\bug commands in the documentation.\n# The default value is: YES.\n\nGENERATE_BUGLIST       = YES\n\n# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)\n# the deprecated list. This list is created by putting \\deprecated commands in\n# the documentation.\n# The default value is: YES.\n\nGENERATE_DEPRECATEDLIST = YES\n\n# The ENABLED_SECTIONS tag can be used to enable conditional documentation\n# sections, marked by \\if <section_label> ... \\endif and \\cond <section_label>\n# ... \\endcond blocks.\n\nENABLED_SECTIONS       =\n\n# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the\n# initial value of a variable or macro / define can have for it to appear in the\n# documentation. If the initializer consists of more lines than specified here\n# it will be hidden. Use a value of 0 to hide initializers completely. The\n# appearance of the value of individual variables and macros / defines can be\n# controlled using \\showinitializer or \\hideinitializer command in the\n# documentation regardless of this setting.\n# Minimum value: 0, maximum value: 10000, default value: 30.\n\nMAX_INITIALIZER_LINES  = 30\n\n# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at\n# the bottom of the documentation of classes and structs. If set to YES, the\n# list will mention the files that were used to generate the documentation.\n# The default value is: YES.\n\nSHOW_USED_FILES        = YES\n\n# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This\n# will remove the Files entry from the Quick Index and from the Folder Tree View\n# (if specified).\n# The default value is: YES.\n\nSHOW_FILES             = YES\n\n# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces\n# page. This will remove the Namespaces entry from the Quick Index and from the\n# Folder Tree View (if specified).\n# The default value is: YES.\n\nSHOW_NAMESPACES        = YES\n\n# The FILE_VERSION_FILTER tag can be used to specify a program or script that\n# doxygen should invoke to get the current version for each file (typically from\n# the version control system). Doxygen will invoke the program by executing (via\n# popen()) the command command input-file, where command is the value of the\n# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided\n# by doxygen. Whatever the program writes to standard output is used as the file\n# version. For an example see the documentation.\n\nFILE_VERSION_FILTER    =\n\n# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed\n# by doxygen. The layout file controls the global structure of the generated\n# output files in an output format independent way. To create the layout file\n# that represents doxygen's defaults, run doxygen with the -l option. You can\n# optionally specify a file name after the option, if omitted DoxygenLayout.xml\n# will be used as the name of the layout file.\n#\n# Note that if you run doxygen from a directory containing a file called\n# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE\n# tag is left empty.\n\nLAYOUT_FILE            =\n\n# The CITE_BIB_FILES tag can be used to specify one or more bib files containing\n# the reference definitions. This must be a list of .bib files. The .bib\n# extension is automatically appended if omitted. This requires the bibtex tool\n# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info.\n# For LaTeX the style of the bibliography can be controlled using\n# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the\n# search path. See also \\cite for info how to create references.\n\nCITE_BIB_FILES         =\n\n#---------------------------------------------------------------------------\n# Configuration options related to warning and progress messages\n#---------------------------------------------------------------------------\n\n# The QUIET tag can be used to turn on/off the messages that are generated to\n# standard output by doxygen. If QUIET is set to YES this implies that the\n# messages are off.\n# The default value is: NO.\n\nQUIET                  = NO\n\n# The WARNINGS tag can be used to turn on/off the warning messages that are\n# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES\n# this implies that the warnings are on.\n#\n# Tip: Turn warnings on while writing the documentation.\n# The default value is: YES.\n\nWARNINGS               = YES\n\n# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate\n# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag\n# will automatically be disabled.\n# The default value is: YES.\n\nWARN_IF_UNDOCUMENTED   = YES\n\n# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for\n# potential errors in the documentation, such as not documenting some parameters\n# in a documented function, or documenting parameters that don't exist or using\n# markup commands wrongly.\n# The default value is: YES.\n\nWARN_IF_DOC_ERROR      = YES\n\n# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that\n# are documented, but have no documentation for their parameters or return\n# value. If set to NO, doxygen will only warn about wrong or incomplete\n# parameter documentation, but not about the absence of documentation. If\n# EXTRACT_ALL is set to YES then this flag will automatically be disabled.\n# The default value is: NO.\n\nWARN_NO_PARAMDOC       = YES\n\n# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when\n# a warning is encountered.\n# The default value is: NO.\n\nWARN_AS_ERROR          = YES\n\n# The WARN_FORMAT tag determines the format of the warning messages that doxygen\n# can produce. The string should contain the $file, $line, and $text tags, which\n# will be replaced by the file and line number from which the warning originated\n# and the warning text. Optionally the format may contain $version, which will\n# be replaced by the version of the file (if it could be obtained via\n# FILE_VERSION_FILTER)\n# The default value is: $file:$line: $text.\n\nWARN_FORMAT            = \"$file:$line: $text\"\n\n# The WARN_LOGFILE tag can be used to specify a file to which warning and error\n# messages should be written. If left blank the output is written to standard\n# error (stderr).\n\nWARN_LOGFILE           =\n\n#---------------------------------------------------------------------------\n# Configuration options related to the input files\n#---------------------------------------------------------------------------\n\n# The INPUT tag is used to specify the files and/or directories that contain\n# documented source files. You may enter file names like myfile.cpp or\n# directories like /usr/src/myproject. Separate the files or directories with\n# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING\n# Note: If this tag is empty the current directory is searched.\n\nINPUT                  = ../../src/nccl.h.in\n\n# This tag can be used to specify the character encoding of the source files\n# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses\n# libiconv (or the iconv built into libc) for the transcoding. See the libiconv\n# documentation (see: https://www.gnu.org/software/libiconv/) for the list of\n# possible encodings.\n# The default value is: UTF-8.\n\nINPUT_ENCODING         = UTF-8\n\n# If the value of the INPUT tag contains directories, you can use the\n# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and\n# *.h) to filter out the source-files in the directories.\n#\n# Note that for custom extensions or not directly supported extensions you also\n# need to set EXTENSION_MAPPING for the extension otherwise the files are not\n# read by doxygen.\n#\n# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,\n# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,\n# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,\n# *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment),\n# *.doc (to be provided as doxygen C comment), *.txt (to be provided as doxygen\n# C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f, *.for, *.tcl, *.vhd,\n# *.vhdl, *.ucf, *.qsf and *.ice.\n\nFILE_PATTERNS          = *.c \\\n                         *.cc \\\n                         *.cxx \\\n                         *.cpp \\\n                         *.c++ \\\n                         *.java \\\n                         *.ii \\\n                         *.ixx \\\n                         *.ipp \\\n                         *.i++ \\\n                         *.inl \\\n                         *.idl \\\n                         *.ddl \\\n                         *.odl \\\n                         *.h \\\n                         *.hh \\\n                         *.hxx \\\n                         *.hpp \\\n                         *.h++ \\\n                         *.cs \\\n                         *.d \\\n                         *.php \\\n                         *.php4 \\\n                         *.php5 \\\n                         *.phtml \\\n                         *.inc \\\n                         *.m \\\n                         *.markdown \\\n                         *.md \\\n                         *.mm \\\n                         *.dox \\\n                         *.py \\\n                         *.f90 \\\n                         *.f \\\n                         *.for \\\n                         *.tcl \\\n                         *.vhd \\\n                         *.vhdl \\\n                         *.ucf \\\n                         *.qsf \\\n                         *.as \\\n                         *.js\n\n# The RECURSIVE tag can be used to specify whether or not subdirectories should\n# be searched for input files as well.\n# The default value is: NO.\n\nRECURSIVE              = NO\n\n# The EXCLUDE tag can be used to specify files and/or directories that should be\n# excluded from the INPUT source files. This way you can easily exclude a\n# subdirectory from a directory tree whose root is specified with the INPUT tag.\n#\n# Note that relative paths are relative to the directory from which doxygen is\n# run.\n\nEXCLUDE                =\n\n# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or\n# directories that are symbolic links (a Unix file system feature) are excluded\n# from the input.\n# The default value is: NO.\n\nEXCLUDE_SYMLINKS       = NO\n\n# If the value of the INPUT tag contains directories, you can use the\n# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude\n# certain files from those directories.\n#\n# Note that the wildcards are matched against the file with absolute path, so to\n# exclude all test directories for example use the pattern */test/*\n\nEXCLUDE_PATTERNS       =\n\n# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names\n# (namespaces, classes, functions, etc.) that should be excluded from the\n# output. The symbol name can be a fully qualified name, a word, or if the\n# wildcard * is used, a substring. Examples: ANamespace, AClass,\n# AClass::ANamespace, ANamespace::*Test\n#\n# Note that the wildcards are matched against the file with absolute path, so to\n# exclude all test directories use the pattern */test/*\n\nEXCLUDE_SYMBOLS        =\n\n# The EXAMPLE_PATH tag can be used to specify one or more files or directories\n# that contain example code fragments that are included (see the \\include\n# command).\n\nEXAMPLE_PATH           =\n\n# If the value of the EXAMPLE_PATH tag contains directories, you can use the\n# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and\n# *.h) to filter out the source-files in the directories. If left blank all\n# files are included.\n\nEXAMPLE_PATTERNS       = *\n\n# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be\n# searched for input files to be used with the \\include or \\dontinclude commands\n# irrespective of the value of the RECURSIVE tag.\n# The default value is: NO.\n\nEXAMPLE_RECURSIVE      = NO\n\n# The IMAGE_PATH tag can be used to specify one or more files or directories\n# that contain images that are to be included in the documentation (see the\n# \\image command).\n\nIMAGE_PATH             =\n\n# The INPUT_FILTER tag can be used to specify a program that doxygen should\n# invoke to filter for each input file. Doxygen will invoke the filter program\n# by executing (via popen()) the command:\n#\n# <filter> <input-file>\n#\n# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the\n# name of an input file. Doxygen will then use the output that the filter\n# program writes to standard output. If FILTER_PATTERNS is specified, this tag\n# will be ignored.\n#\n# Note that the filter must not add or remove lines; it is applied before the\n# code is scanned, but not when the output code is generated. If lines are added\n# or removed, the anchors will not be placed correctly.\n#\n# Note that for custom extensions or not directly supported extensions you also\n# need to set EXTENSION_MAPPING for the extension otherwise the files are not\n# properly processed by doxygen.\n\nINPUT_FILTER           =\n\n# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern\n# basis. Doxygen will compare the file name with each pattern and apply the\n# filter if there is a match. The filters are a list of the form: pattern=filter\n# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how\n# filters are used. If the FILTER_PATTERNS tag is empty or if none of the\n# patterns match the file name, INPUT_FILTER is applied.\n#\n# Note that for custom extensions or not directly supported extensions you also\n# need to set EXTENSION_MAPPING for the extension otherwise the files are not\n# properly processed by doxygen.\n\nFILTER_PATTERNS        =\n\n# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using\n# INPUT_FILTER) will also be used to filter the input files that are used for\n# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).\n# The default value is: NO.\n\nFILTER_SOURCE_FILES    = NO\n\n# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file\n# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and\n# it is also possible to disable source filtering for a specific pattern using\n# *.ext= (so without naming a filter).\n# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.\n\nFILTER_SOURCE_PATTERNS =\n\n# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that\n# is part of the input, its contents will be placed on the main page\n# (index.html). This can be useful if you have a project on for instance GitHub\n# and want to reuse the introduction page also for the doxygen output.\n\nUSE_MDFILE_AS_MAINPAGE =\n\n#---------------------------------------------------------------------------\n# Configuration options related to source browsing\n#---------------------------------------------------------------------------\n\n# If the SOURCE_BROWSER tag is set to YES then a list of source files will be\n# generated. Documented entities will be cross-referenced with these sources.\n#\n# Note: To get rid of all source code in the generated output, make sure that\n# also VERBATIM_HEADERS is set to NO.\n# The default value is: NO.\n\nSOURCE_BROWSER         = NO\n\n# Setting the INLINE_SOURCES tag to YES will include the body of functions,\n# classes and enums directly into the documentation.\n# The default value is: NO.\n\nINLINE_SOURCES         = NO\n\n# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any\n# special comment blocks from generated source code fragments. Normal C, C++ and\n# Fortran comments will always remain visible.\n# The default value is: YES.\n\nSTRIP_CODE_COMMENTS    = YES\n\n# If the REFERENCED_BY_RELATION tag is set to YES then for each documented\n# entity all documented functions referencing it will be listed.\n# The default value is: NO.\n\nREFERENCED_BY_RELATION = NO\n\n# If the REFERENCES_RELATION tag is set to YES then for each documented function\n# all documented entities called/used by that function will be listed.\n# The default value is: NO.\n\nREFERENCES_RELATION    = NO\n\n# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set\n# to YES then the hyperlinks from functions in REFERENCES_RELATION and\n# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will\n# link to the documentation.\n# The default value is: YES.\n\nREFERENCES_LINK_SOURCE = YES\n\n# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the\n# source code will show a tooltip with additional information such as prototype,\n# brief description and links to the definition and documentation. Since this\n# will make the HTML file larger and loading of large files a bit slower, you\n# can opt to disable this feature.\n# The default value is: YES.\n# This tag requires that the tag SOURCE_BROWSER is set to YES.\n\nSOURCE_TOOLTIPS        = YES\n\n# If the USE_HTAGS tag is set to YES then the references to source code will\n# point to the HTML generated by the htags(1) tool instead of doxygen built-in\n# source browser. The htags tool is part of GNU's global source tagging system\n# (see https://www.gnu.org/software/global/global.html). You will need version\n# 4.8.6 or higher.\n#\n# To use it do the following:\n# - Install the latest version of global\n# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file\n# - Make sure the INPUT points to the root of the source tree\n# - Run doxygen as normal\n#\n# Doxygen will invoke htags (and that will in turn invoke gtags), so these\n# tools must be available from the command line (i.e. in the search path).\n#\n# The result: instead of the source browser generated by doxygen, the links to\n# source code will now point to the output of htags.\n# The default value is: NO.\n# This tag requires that the tag SOURCE_BROWSER is set to YES.\n\nUSE_HTAGS              = NO\n\n# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a\n# verbatim copy of the header file for each class for which an include is\n# specified. Set to NO to disable this.\n# See also: Section \\class.\n# The default value is: YES.\n\nVERBATIM_HEADERS       = YES\n\n# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the\n# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the\n# cost of reduced performance. This can be particularly helpful with template\n# rich C++ code for which doxygen's built-in parser lacks the necessary type\n# information.\n# Note: The availability of this option depends on whether or not doxygen was\n# generated with the -Duse_libclang=ON option for CMake.\n# The default value is: NO.\n\nCLANG_ASSISTED_PARSING = NO\n\n# If clang assisted parsing is enabled you can provide the compiler with command\n# line options that you would normally use when invoking the compiler. Note that\n# the include paths will already be set by doxygen for the files and directories\n# specified with INPUT and INCLUDE_PATH.\n# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.\n\nCLANG_OPTIONS          =\n\n# If clang assisted parsing is enabled you can provide the clang parser with the\n# path to the compilation database (see:\n# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) used when the files\n# were built. This is equivalent to specifying the \"-p\" option to a clang tool,\n# such as clang-check. These options will then be passed to the parser.\n# Note: The availability of this option depends on whether or not doxygen was\n# generated with the -Duse_libclang=ON option for CMake.\n\nCLANG_DATABASE_PATH    =\n\n#---------------------------------------------------------------------------\n# Configuration options related to the alphabetical class index\n#---------------------------------------------------------------------------\n\n# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all\n# compounds will be generated. Enable this if the project contains a lot of\n# classes, structs, unions or interfaces.\n# The default value is: YES.\n\nALPHABETICAL_INDEX     = YES\n\n# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in\n# which the alphabetical index list will be split.\n# Minimum value: 1, maximum value: 20, default value: 5.\n# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.\n\nCOLS_IN_ALPHA_INDEX    = 5\n\n# In case all classes in a project start with a common prefix, all classes will\n# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag\n# can be used to specify a prefix (or a list of prefixes) that should be ignored\n# while generating the index headers.\n# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.\n\nIGNORE_PREFIX          =\n\n#---------------------------------------------------------------------------\n# Configuration options related to the HTML output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output\n# The default value is: YES.\n\nGENERATE_HTML          = YES\n\n# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a\n# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of\n# it.\n# The default directory is: html.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nHTML_OUTPUT            = html\n\n# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each\n# generated HTML page (for example: .htm, .php, .asp).\n# The default value is: .html.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nHTML_FILE_EXTENSION    = .html\n\n# The HTML_HEADER tag can be used to specify a user-defined HTML header file for\n# each generated HTML page. If the tag is left blank doxygen will generate a\n# standard header.\n#\n# To get valid HTML the header file that includes any scripts and style sheets\n# that doxygen needs, which is dependent on the configuration options used (e.g.\n# the setting GENERATE_TREEVIEW). It is highly recommended to start with a\n# default header using\n# doxygen -w html new_header.html new_footer.html new_stylesheet.css\n# YourConfigFile\n# and then modify the file new_header.html. See also section \"Doxygen usage\"\n# for information on how to generate the default header that doxygen normally\n# uses.\n# Note: The header is subject to change so you typically have to regenerate the\n# default header when upgrading to a newer version of doxygen. For a description\n# of the possible markers and block names see the documentation.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nHTML_HEADER            =\n\n# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each\n# generated HTML page. If the tag is left blank doxygen will generate a standard\n# footer. See HTML_HEADER for more information on how to generate a default\n# footer and what special commands can be used inside the footer. See also\n# section \"Doxygen usage\" for information on how to generate the default footer\n# that doxygen normally uses.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nHTML_FOOTER            =\n\n# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style\n# sheet that is used by each HTML page. It can be used to fine-tune the look of\n# the HTML output. If left blank doxygen will generate a default style sheet.\n# See also section \"Doxygen usage\" for information on how to generate the style\n# sheet that doxygen normally uses.\n# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as\n# it is more robust and this tag (HTML_STYLESHEET) will in the future become\n# obsolete.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nHTML_STYLESHEET        =\n\n# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined\n# cascading style sheets that are included after the standard style sheets\n# created by doxygen. Using this option one can overrule certain style aspects.\n# This is preferred over using HTML_STYLESHEET since it does not replace the\n# standard style sheet and is therefore more robust against future updates.\n# Doxygen will copy the style sheet files to the output directory.\n# Note: The order of the extra style sheet files is of importance (e.g. the last\n# style sheet in the list overrules the setting of the previous ones in the\n# list). For an example see the documentation.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nHTML_EXTRA_STYLESHEET  =\n\n# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or\n# other source files which should be copied to the HTML output directory. Note\n# that these files will be copied to the base HTML output directory. Use the\n# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these\n# files. In the HTML_STYLESHEET file, use the file name only. Also note that the\n# files will be copied as-is; there are no commands or markers available.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nHTML_EXTRA_FILES       =\n\n# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen\n# will adjust the colors in the style sheet and background images according to\n# this color. Hue is specified as an angle on a colorwheel, see\n# https://en.wikipedia.org/wiki/Hue for more information. For instance the value\n# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300\n# purple, and 360 is red again.\n# Minimum value: 0, maximum value: 359, default value: 220.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nHTML_COLORSTYLE_HUE    = 220\n\n# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors\n# in the HTML output. For a value of 0 the output will use grayscales only. A\n# value of 255 will produce the most vivid colors.\n# Minimum value: 0, maximum value: 255, default value: 100.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nHTML_COLORSTYLE_SAT    = 100\n\n# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the\n# luminance component of the colors in the HTML output. Values below 100\n# gradually make the output lighter, whereas values above 100 make the output\n# darker. The value divided by 100 is the actual gamma applied, so 80 represents\n# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not\n# change the gamma.\n# Minimum value: 40, maximum value: 240, default value: 80.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nHTML_COLORSTYLE_GAMMA  = 80\n\n# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML\n# page will contain the date and time when the page was generated. Setting this\n# to YES can help to show when doxygen was last run and thus if the\n# documentation is up to date.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nHTML_TIMESTAMP         = NO\n\n# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML\n# documentation will contain a main index with vertical navigation menus that\n# are dynamically created via JavaScript. If disabled, the navigation index will\n# consists of multiple levels of tabs that are statically embedded in every HTML\n# page. Disable this option to support browsers that do not have JavaScript,\n# like the Qt help browser.\n# The default value is: YES.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nHTML_DYNAMIC_MENUS     = YES\n\n# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML\n# documentation will contain sections that can be hidden and shown after the\n# page has loaded.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nHTML_DYNAMIC_SECTIONS  = NO\n\n# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries\n# shown in the various tree structured indices initially; the user can expand\n# and collapse entries dynamically later on. Doxygen will expand the tree to\n# such a level that at most the specified number of entries are visible (unless\n# a fully collapsed tree already exceeds this amount). So setting the number of\n# entries 1 will produce a full collapsed tree by default. 0 is a special value\n# representing an infinite number of entries and will result in a full expanded\n# tree by default.\n# Minimum value: 0, maximum value: 9999, default value: 100.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nHTML_INDEX_NUM_ENTRIES = 100\n\n# If the GENERATE_DOCSET tag is set to YES, additional index files will be\n# generated that can be used as input for Apple's Xcode 3 integrated development\n# environment (see: https://developer.apple.com/xcode/), introduced with OSX\n# 10.5 (Leopard). To create a documentation set, doxygen will generate a\n# Makefile in the HTML output directory. Running make will produce the docset in\n# that directory and running make install will install the docset in\n# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at\n# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy\n# genXcode/_index.html for more information.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nGENERATE_DOCSET        = NO\n\n# This tag determines the name of the docset feed. A documentation feed provides\n# an umbrella under which multiple documentation sets from a single provider\n# (such as a company or product suite) can be grouped.\n# The default value is: Doxygen generated docs.\n# This tag requires that the tag GENERATE_DOCSET is set to YES.\n\nDOCSET_FEEDNAME        = \"Doxygen generated docs\"\n\n# This tag specifies a string that should uniquely identify the documentation\n# set bundle. This should be a reverse domain-name style string, e.g.\n# com.mycompany.MyDocSet. Doxygen will append .docset to the name.\n# The default value is: org.doxygen.Project.\n# This tag requires that the tag GENERATE_DOCSET is set to YES.\n\nDOCSET_BUNDLE_ID       = org.doxygen.Project\n\n# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify\n# the documentation publisher. This should be a reverse domain-name style\n# string, e.g. com.mycompany.MyDocSet.documentation.\n# The default value is: org.doxygen.Publisher.\n# This tag requires that the tag GENERATE_DOCSET is set to YES.\n\nDOCSET_PUBLISHER_ID    = org.doxygen.Publisher\n\n# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.\n# The default value is: Publisher.\n# This tag requires that the tag GENERATE_DOCSET is set to YES.\n\nDOCSET_PUBLISHER_NAME  = Publisher\n\n# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three\n# additional HTML index files: index.hhp, index.hhc, and index.hhk. The\n# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop\n# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on\n# Windows.\n#\n# The HTML Help Workshop contains a compiler that can convert all HTML output\n# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML\n# files are now used as the Windows 98 help format, and will replace the old\n# Windows help format (.hlp) on all Windows platforms in the future. Compressed\n# HTML files also contain an index, a table of contents, and you can search for\n# words in the documentation. The HTML workshop also contains a viewer for\n# compressed HTML files.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nGENERATE_HTMLHELP      = NO\n\n# The CHM_FILE tag can be used to specify the file name of the resulting .chm\n# file. You can add a path in front of the file if the result should not be\n# written to the html output directory.\n# This tag requires that the tag GENERATE_HTMLHELP is set to YES.\n\nCHM_FILE               =\n\n# The HHC_LOCATION tag can be used to specify the location (absolute path\n# including file name) of the HTML help compiler (hhc.exe). If non-empty,\n# doxygen will try to run the HTML help compiler on the generated index.hhp.\n# The file has to be specified with full path.\n# This tag requires that the tag GENERATE_HTMLHELP is set to YES.\n\nHHC_LOCATION           =\n\n# The GENERATE_CHI flag controls if a separate .chi index file is generated\n# (YES) or that it should be included in the master .chm file (NO).\n# The default value is: NO.\n# This tag requires that the tag GENERATE_HTMLHELP is set to YES.\n\nGENERATE_CHI           = NO\n\n# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)\n# and project file content.\n# This tag requires that the tag GENERATE_HTMLHELP is set to YES.\n\nCHM_INDEX_ENCODING     =\n\n# The BINARY_TOC flag controls whether a binary table of contents is generated\n# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it\n# enables the Previous and Next buttons.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_HTMLHELP is set to YES.\n\nBINARY_TOC             = NO\n\n# The TOC_EXPAND flag can be set to YES to add extra items for group members to\n# the table of contents of the HTML help documentation and to the tree view.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_HTMLHELP is set to YES.\n\nTOC_EXPAND             = NO\n\n# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and\n# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that\n# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help\n# (.qch) of the generated HTML documentation.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nGENERATE_QHP           = NO\n\n# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify\n# the file name of the resulting .qch file. The path specified is relative to\n# the HTML output folder.\n# This tag requires that the tag GENERATE_QHP is set to YES.\n\nQCH_FILE               =\n\n# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help\n# Project output. For more information please see Qt Help Project / Namespace\n# (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).\n# The default value is: org.doxygen.Project.\n# This tag requires that the tag GENERATE_QHP is set to YES.\n\nQHP_NAMESPACE          = org.doxygen.Project\n\n# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt\n# Help Project output. For more information please see Qt Help Project / Virtual\n# Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-\n# folders).\n# The default value is: doc.\n# This tag requires that the tag GENERATE_QHP is set to YES.\n\nQHP_VIRTUAL_FOLDER     = doc\n\n# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom\n# filter to add. For more information please see Qt Help Project / Custom\n# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-\n# filters).\n# This tag requires that the tag GENERATE_QHP is set to YES.\n\nQHP_CUST_FILTER_NAME   =\n\n# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the\n# custom filter to add. For more information please see Qt Help Project / Custom\n# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-\n# filters).\n# This tag requires that the tag GENERATE_QHP is set to YES.\n\nQHP_CUST_FILTER_ATTRS  =\n\n# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this\n# project's filter section matches. Qt Help Project / Filter Attributes (see:\n# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes).\n# This tag requires that the tag GENERATE_QHP is set to YES.\n\nQHP_SECT_FILTER_ATTRS  =\n\n# The QHG_LOCATION tag can be used to specify the location of Qt's\n# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the\n# generated .qhp file.\n# This tag requires that the tag GENERATE_QHP is set to YES.\n\nQHG_LOCATION           =\n\n# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be\n# generated, together with the HTML files, they form an Eclipse help plugin. To\n# install this plugin and make it available under the help contents menu in\n# Eclipse, the contents of the directory containing the HTML and XML files needs\n# to be copied into the plugins directory of eclipse. The name of the directory\n# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.\n# After copying Eclipse needs to be restarted before the help appears.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nGENERATE_ECLIPSEHELP   = NO\n\n# A unique identifier for the Eclipse help plugin. When installing the plugin\n# the directory name containing the HTML and XML files should also have this\n# name. Each documentation set should have its own identifier.\n# The default value is: org.doxygen.Project.\n# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.\n\nECLIPSE_DOC_ID         = org.doxygen.Project\n\n# If you want full control over the layout of the generated HTML pages it might\n# be necessary to disable the index and replace it with your own. The\n# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top\n# of each HTML page. A value of NO enables the index and the value YES disables\n# it. Since the tabs in the index contain the same information as the navigation\n# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nDISABLE_INDEX          = NO\n\n# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index\n# structure should be generated to display hierarchical information. If the tag\n# value is set to YES, a side panel will be generated containing a tree-like\n# index structure (just like the one that is generated for HTML Help). For this\n# to work a browser that supports JavaScript, DHTML, CSS and frames is required\n# (i.e. any modern browser). Windows users are probably better off using the\n# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can\n# further fine-tune the look of the index. As an example, the default style\n# sheet generated by doxygen has an example that shows how to put an image at\n# the root of the tree instead of the PROJECT_NAME. Since the tree basically has\n# the same information as the tab index, you could consider setting\n# DISABLE_INDEX to YES when enabling this option.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nGENERATE_TREEVIEW      = NO\n\n# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that\n# doxygen will group on one line in the generated HTML documentation.\n#\n# Note that a value of 0 will completely suppress the enum values from appearing\n# in the overview section.\n# Minimum value: 0, maximum value: 20, default value: 4.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nENUM_VALUES_PER_LINE   = 1\n\n# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used\n# to set the initial width (in pixels) of the frame in which the tree is shown.\n# Minimum value: 0, maximum value: 1500, default value: 250.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nTREEVIEW_WIDTH         = 250\n\n# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to\n# external symbols imported via tag files in a separate window.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nEXT_LINKS_IN_WINDOW    = NO\n\n# Use this tag to change the font size of LaTeX formulas included as images in\n# the HTML documentation. When you change the font size after a successful\n# doxygen run you need to manually remove any form_*.png images from the HTML\n# output directory to force them to be regenerated.\n# Minimum value: 8, maximum value: 50, default value: 10.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nFORMULA_FONTSIZE       = 10\n\n# Use the FORMULA_TRANSPARENT tag to determine whether or not the images\n# generated for formulas are transparent PNGs. Transparent PNGs are not\n# supported properly for IE 6.0, but are supported on all modern browsers.\n#\n# Note that when changing this option you need to delete any form_*.png files in\n# the HTML output directory before the changes have effect.\n# The default value is: YES.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nFORMULA_TRANSPARENT    = YES\n\n# The FORMULA_MACROFILE can contain LaTeX \\newcommand and \\renewcommand commands\n# to create new LaTeX commands to be used in formulas as building blocks. See\n# the section \"Including formulas\" for details.\n\nFORMULA_MACROFILE      =\n\n# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see\n# https://www.mathjax.org) which uses client side JavaScript for the rendering\n# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX\n# installed or if you want to formulas look prettier in the HTML output. When\n# enabled you may also need to install MathJax separately and configure the path\n# to it using the MATHJAX_RELPATH option.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nUSE_MATHJAX            = YES\n\n# When MathJax is enabled you can set the default output format to be used for\n# the MathJax output. See the MathJax site (see:\n# http://docs.mathjax.org/en/latest/output.html) for more details.\n# Possible values are: HTML-CSS (which is slower, but has the best\n# compatibility), NativeMML (i.e. MathML) and SVG.\n# The default value is: HTML-CSS.\n# This tag requires that the tag USE_MATHJAX is set to YES.\n\nMATHJAX_FORMAT         = HTML-CSS\n\n# When MathJax is enabled you need to specify the location relative to the HTML\n# output directory using the MATHJAX_RELPATH option. The destination directory\n# should contain the MathJax.js script. For instance, if the mathjax directory\n# is located at the same level as the HTML output directory, then\n# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax\n# Content Delivery Network so you can quickly see the result without installing\n# MathJax. However, it is strongly recommended to install a local copy of\n# MathJax from https://www.mathjax.org before deployment.\n# The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/.\n# This tag requires that the tag USE_MATHJAX is set to YES.\n\nMATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest\n\n# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax\n# extension names that should be enabled during MathJax rendering. For example\n# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols\n# This tag requires that the tag USE_MATHJAX is set to YES.\n\nMATHJAX_EXTENSIONS     =\n\n# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces\n# of code that will be used on startup of the MathJax code. See the MathJax site\n# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an\n# example see the documentation.\n# This tag requires that the tag USE_MATHJAX is set to YES.\n\nMATHJAX_CODEFILE       =\n\n# When the SEARCHENGINE tag is enabled doxygen will generate a search box for\n# the HTML output. The underlying search engine uses javascript and DHTML and\n# should work on any modern browser. Note that when using HTML help\n# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)\n# there is already a search function so this one should typically be disabled.\n# For large projects the javascript based search engine can be slow, then\n# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to\n# search using the keyboard; to jump to the search box use <access key> + S\n# (what the <access key> is depends on the OS and browser, but it is typically\n# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down\n# key> to jump into the search results window, the results can be navigated\n# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel\n# the search. The filter options can be selected when the cursor is inside the\n# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>\n# to select a filter and <Enter> or <escape> to activate or cancel the filter\n# option.\n# The default value is: YES.\n# This tag requires that the tag GENERATE_HTML is set to YES.\n\nSEARCHENGINE           = YES\n\n# When the SERVER_BASED_SEARCH tag is enabled the search engine will be\n# implemented using a web server instead of a web client using JavaScript. There\n# are two flavors of web server based searching depending on the EXTERNAL_SEARCH\n# setting. When disabled, doxygen will generate a PHP script for searching and\n# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing\n# and searching needs to be provided by external tools. See the section\n# \"External Indexing and Searching\" for details.\n# The default value is: NO.\n# This tag requires that the tag SEARCHENGINE is set to YES.\n\nSERVER_BASED_SEARCH    = NO\n\n# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP\n# script for searching. Instead the search results are written to an XML file\n# which needs to be processed by an external indexer. Doxygen will invoke an\n# external search engine pointed to by the SEARCHENGINE_URL option to obtain the\n# search results.\n#\n# Doxygen ships with an example indexer (doxyindexer) and search engine\n# (doxysearch.cgi) which are based on the open source search engine library\n# Xapian (see: https://xapian.org/).\n#\n# See the section \"External Indexing and Searching\" for details.\n# The default value is: NO.\n# This tag requires that the tag SEARCHENGINE is set to YES.\n\nEXTERNAL_SEARCH        = NO\n\n# The SEARCHENGINE_URL should point to a search engine hosted by a web server\n# which will return the search results when EXTERNAL_SEARCH is enabled.\n#\n# Doxygen ships with an example indexer (doxyindexer) and search engine\n# (doxysearch.cgi) which are based on the open source search engine library\n# Xapian (see: https://xapian.org/). See the section \"External Indexing and\n# Searching\" for details.\n# This tag requires that the tag SEARCHENGINE is set to YES.\n\nSEARCHENGINE_URL       =\n\n# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed\n# search data is written to a file for indexing by an external tool. With the\n# SEARCHDATA_FILE tag the name of this file can be specified.\n# The default file is: searchdata.xml.\n# This tag requires that the tag SEARCHENGINE is set to YES.\n\nSEARCHDATA_FILE        = searchdata.xml\n\n# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the\n# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is\n# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple\n# projects and redirect the results back to the right project.\n# This tag requires that the tag SEARCHENGINE is set to YES.\n\nEXTERNAL_SEARCH_ID     =\n\n# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen\n# projects other than the one defined by this configuration file, but that are\n# all added to the same external search index. Each project needs to have a\n# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of\n# to a relative location where the documentation can be found. The format is:\n# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...\n# This tag requires that the tag SEARCHENGINE is set to YES.\n\nEXTRA_SEARCH_MAPPINGS  =\n\n#---------------------------------------------------------------------------\n# Configuration options related to the LaTeX output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.\n# The default value is: YES.\n\nGENERATE_LATEX         = NO\n\n# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a\n# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of\n# it.\n# The default directory is: latex.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nLATEX_OUTPUT           = latex\n\n# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be\n# invoked.\n#\n# Note that when not enabling USE_PDFLATEX the default is latex when enabling\n# USE_PDFLATEX the default is pdflatex and when in the later case latex is\n# chosen this is overwritten by pdflatex. For specific output languages the\n# default can have been set differently, this depends on the implementation of\n# the output language.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nLATEX_CMD_NAME         = latex\n\n# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate\n# index for LaTeX.\n# Note: This tag is used in the Makefile / make.bat.\n# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file\n# (.tex).\n# The default file is: makeindex.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nMAKEINDEX_CMD_NAME     = makeindex\n\n# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to\n# generate index for LaTeX. In case there is no backslash (\\) as first character\n# it will be automatically added in the LaTeX code.\n# Note: This tag is used in the generated output file (.tex).\n# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat.\n# The default value is: makeindex.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nLATEX_MAKEINDEX_CMD    = makeindex\n\n# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX\n# documents. This may be useful for small projects and may help to save some\n# trees in general.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nCOMPACT_LATEX          = NO\n\n# The PAPER_TYPE tag can be used to set the paper type that is used by the\n# printer.\n# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x\n# 14 inches) and executive (7.25 x 10.5 inches).\n# The default value is: a4.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nPAPER_TYPE             = a4\n\n# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names\n# that should be included in the LaTeX output. The package can be specified just\n# by its name or with the correct syntax as to be used with the LaTeX\n# \\usepackage command. To get the times font for instance you can specify :\n# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times}\n# To use the option intlimits with the amsmath package you can specify:\n# EXTRA_PACKAGES=[intlimits]{amsmath}\n# If left blank no extra packages will be included.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nEXTRA_PACKAGES         =\n\n# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the\n# generated LaTeX document. The header should contain everything until the first\n# chapter. If it is left blank doxygen will generate a standard header. See\n# section \"Doxygen usage\" for information on how to let doxygen write the\n# default header to a separate file.\n#\n# Note: Only use a user-defined header if you know what you are doing! The\n# following commands have a special meaning inside the header: $title,\n# $datetime, $date, $doxygenversion, $projectname, $projectnumber,\n# $projectbrief, $projectlogo. Doxygen will replace $title with the empty\n# string, for the replacement values of the other commands the user is referred\n# to HTML_HEADER.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nLATEX_HEADER           =\n\n# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the\n# generated LaTeX document. The footer should contain everything after the last\n# chapter. If it is left blank doxygen will generate a standard footer. See\n# LATEX_HEADER for more information on how to generate a default footer and what\n# special commands can be used inside the footer.\n#\n# Note: Only use a user-defined footer if you know what you are doing!\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nLATEX_FOOTER           =\n\n# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined\n# LaTeX style sheets that are included after the standard style sheets created\n# by doxygen. Using this option one can overrule certain style aspects. Doxygen\n# will copy the style sheet files to the output directory.\n# Note: The order of the extra style sheet files is of importance (e.g. the last\n# style sheet in the list overrules the setting of the previous ones in the\n# list).\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nLATEX_EXTRA_STYLESHEET =\n\n# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or\n# other source files which should be copied to the LATEX_OUTPUT output\n# directory. Note that the files will be copied as-is; there are no commands or\n# markers available.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nLATEX_EXTRA_FILES      =\n\n# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is\n# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will\n# contain links (just like the HTML output) instead of page references. This\n# makes the output suitable for online browsing using a PDF viewer.\n# The default value is: YES.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nPDF_HYPERLINKS         = YES\n\n# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate\n# the PDF file directly from the LaTeX files. Set this option to YES, to get a\n# higher quality PDF documentation.\n# The default value is: YES.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nUSE_PDFLATEX           = YES\n\n# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode\n# command to the generated LaTeX files. This will instruct LaTeX to keep running\n# if errors occur, instead of asking the user for help. This option is also used\n# when generating formulas in HTML.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nLATEX_BATCHMODE        = NO\n\n# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the\n# index chapters (such as File Index, Compound Index, etc.) in the output.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nLATEX_HIDE_INDICES     = NO\n\n# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source\n# code with syntax highlighting in the LaTeX output.\n#\n# Note that which sources are shown also depends on other settings such as\n# SOURCE_BROWSER.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nLATEX_SOURCE_CODE      = NO\n\n# The LATEX_BIB_STYLE tag can be used to specify the style to use for the\n# bibliography, e.g. plainnat, or ieeetr. See\n# https://en.wikipedia.org/wiki/BibTeX and \\cite for more info.\n# The default value is: plain.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nLATEX_BIB_STYLE        = plain\n\n# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated\n# page will contain the date and time when the page was generated. Setting this\n# to NO can help when comparing the output of multiple runs.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nLATEX_TIMESTAMP        = NO\n\n# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute)\n# path from which the emoji images will be read. If a relative path is entered,\n# it will be relative to the LATEX_OUTPUT directory. If left blank the\n# LATEX_OUTPUT directory will be used.\n# This tag requires that the tag GENERATE_LATEX is set to YES.\n\nLATEX_EMOJI_DIRECTORY  =\n\n#---------------------------------------------------------------------------\n# Configuration options related to the RTF output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The\n# RTF output is optimized for Word 97 and may not look too pretty with other RTF\n# readers/editors.\n# The default value is: NO.\n\nGENERATE_RTF           = NO\n\n# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a\n# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of\n# it.\n# The default directory is: rtf.\n# This tag requires that the tag GENERATE_RTF is set to YES.\n\nRTF_OUTPUT             = rtf\n\n# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF\n# documents. This may be useful for small projects and may help to save some\n# trees in general.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_RTF is set to YES.\n\nCOMPACT_RTF            = NO\n\n# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will\n# contain hyperlink fields. The RTF file will contain links (just like the HTML\n# output) instead of page references. This makes the output suitable for online\n# browsing using Word or some other Word compatible readers that support those\n# fields.\n#\n# Note: WordPad (write) and others do not support links.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_RTF is set to YES.\n\nRTF_HYPERLINKS         = NO\n\n# Load stylesheet definitions from file. Syntax is similar to doxygen's\n# configuration file, i.e. a series of assignments. You only have to provide\n# replacements, missing definitions are set to their default value.\n#\n# See also section \"Doxygen usage\" for information on how to generate the\n# default style sheet that doxygen normally uses.\n# This tag requires that the tag GENERATE_RTF is set to YES.\n\nRTF_STYLESHEET_FILE    =\n\n# Set optional variables used in the generation of an RTF document. Syntax is\n# similar to doxygen's configuration file. A template extensions file can be\n# generated using doxygen -e rtf extensionFile.\n# This tag requires that the tag GENERATE_RTF is set to YES.\n\nRTF_EXTENSIONS_FILE    =\n\n# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code\n# with syntax highlighting in the RTF output.\n#\n# Note that which sources are shown also depends on other settings such as\n# SOURCE_BROWSER.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_RTF is set to YES.\n\nRTF_SOURCE_CODE        = NO\n\n#---------------------------------------------------------------------------\n# Configuration options related to the man page output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for\n# classes and files.\n# The default value is: NO.\n\nGENERATE_MAN           = NO\n\n# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a\n# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of\n# it. A directory man3 will be created inside the directory specified by\n# MAN_OUTPUT.\n# The default directory is: man.\n# This tag requires that the tag GENERATE_MAN is set to YES.\n\nMAN_OUTPUT             = man\n\n# The MAN_EXTENSION tag determines the extension that is added to the generated\n# man pages. In case the manual section does not start with a number, the number\n# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is\n# optional.\n# The default value is: .3.\n# This tag requires that the tag GENERATE_MAN is set to YES.\n\nMAN_EXTENSION          = .3\n\n# The MAN_SUBDIR tag determines the name of the directory created within\n# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by\n# MAN_EXTENSION with the initial . removed.\n# This tag requires that the tag GENERATE_MAN is set to YES.\n\nMAN_SUBDIR             =\n\n# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it\n# will generate one additional man file for each entity documented in the real\n# man page(s). These additional files only source the real man page, but without\n# them the man command would be unable to find the correct page.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_MAN is set to YES.\n\nMAN_LINKS              = NO\n\n#---------------------------------------------------------------------------\n# Configuration options related to the XML output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that\n# captures the structure of the code including all documentation.\n# The default value is: NO.\n\nGENERATE_XML           = YES\n\n# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a\n# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of\n# it.\n# The default directory is: xml.\n# This tag requires that the tag GENERATE_XML is set to YES.\n\nXML_OUTPUT             = xml\n\n# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program\n# listings (including syntax highlighting and cross-referencing information) to\n# the XML output. Note that enabling this will significantly increase the size\n# of the XML output.\n# The default value is: YES.\n# This tag requires that the tag GENERATE_XML is set to YES.\n\nXML_PROGRAMLISTING     = YES\n\n# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include\n# namespace members in file scope as well, matching the HTML output.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_XML is set to YES.\n\nXML_NS_MEMB_FILE_SCOPE = NO\n\n#---------------------------------------------------------------------------\n# Configuration options related to the DOCBOOK output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files\n# that can be used to generate PDF.\n# The default value is: NO.\n\nGENERATE_DOCBOOK       = NO\n\n# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.\n# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in\n# front of it.\n# The default directory is: docbook.\n# This tag requires that the tag GENERATE_DOCBOOK is set to YES.\n\nDOCBOOK_OUTPUT         = docbook\n\n# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the\n# program listings (including syntax highlighting and cross-referencing\n# information) to the DOCBOOK output. Note that enabling this will significantly\n# increase the size of the DOCBOOK output.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_DOCBOOK is set to YES.\n\nDOCBOOK_PROGRAMLISTING = NO\n\n#---------------------------------------------------------------------------\n# Configuration options for the AutoGen Definitions output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an\n# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures\n# the structure of the code including all documentation. Note that this feature\n# is still experimental and incomplete at the moment.\n# The default value is: NO.\n\nGENERATE_AUTOGEN_DEF   = NO\n\n#---------------------------------------------------------------------------\n# Configuration options related to the Perl module output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module\n# file that captures the structure of the code including all documentation.\n#\n# Note that this feature is still experimental and incomplete at the moment.\n# The default value is: NO.\n\nGENERATE_PERLMOD       = NO\n\n# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary\n# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI\n# output from the Perl module output.\n# The default value is: NO.\n# This tag requires that the tag GENERATE_PERLMOD is set to YES.\n\nPERLMOD_LATEX          = NO\n\n# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely\n# formatted so it can be parsed by a human reader. This is useful if you want to\n# understand what is going on. On the other hand, if this tag is set to NO, the\n# size of the Perl module output will be much smaller and Perl will parse it\n# just the same.\n# The default value is: YES.\n# This tag requires that the tag GENERATE_PERLMOD is set to YES.\n\nPERLMOD_PRETTY         = YES\n\n# The names of the make variables in the generated doxyrules.make file are\n# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful\n# so different doxyrules.make files included by the same Makefile don't\n# overwrite each other's variables.\n# This tag requires that the tag GENERATE_PERLMOD is set to YES.\n\nPERLMOD_MAKEVAR_PREFIX =\n\n#---------------------------------------------------------------------------\n# Configuration options related to the preprocessor\n#---------------------------------------------------------------------------\n\n# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all\n# C-preprocessor directives found in the sources and include files.\n# The default value is: YES.\n\nENABLE_PREPROCESSING   = YES\n\n# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names\n# in the source code. If set to NO, only conditional compilation will be\n# performed. Macro expansion can be done in a controlled way by setting\n# EXPAND_ONLY_PREDEF to YES.\n# The default value is: NO.\n# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.\n\nMACRO_EXPANSION        = NO\n\n# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then\n# the macro expansion is limited to the macros specified with the PREDEFINED and\n# EXPAND_AS_DEFINED tags.\n# The default value is: NO.\n# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.\n\nEXPAND_ONLY_PREDEF     = NO\n\n# If the SEARCH_INCLUDES tag is set to YES, the include files in the\n# INCLUDE_PATH will be searched if a #include is found.\n# The default value is: YES.\n# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.\n\nSEARCH_INCLUDES        = YES\n\n# The INCLUDE_PATH tag can be used to specify one or more directories that\n# contain include files that are not input files but should be processed by the\n# preprocessor.\n# This tag requires that the tag SEARCH_INCLUDES is set to YES.\n\nINCLUDE_PATH           =\n\n# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard\n# patterns (like *.h and *.hpp) to filter out the header-files in the\n# directories. If left blank, the patterns specified with FILE_PATTERNS will be\n# used.\n# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.\n\nINCLUDE_FILE_PATTERNS  =\n\n# The PREDEFINED tag can be used to specify one or more macro names that are\n# defined before the preprocessor is started (similar to the -D option of e.g.\n# gcc). The argument of the tag is a list of macros of the form: name or\n# name=definition (no spaces). If the definition and the \"=\" are omitted, \"=1\"\n# is assumed. To prevent a macro definition from being undefined via #undef or\n# recursively expanded use the := operator instead of the = operator.\n# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.\n\nPREDEFINED             =\n\n# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this\n# tag can be used to specify a list of macro names that should be expanded. The\n# macro definition that is found in the sources will be used. Use the PREDEFINED\n# tag if you want to use a different macro definition that overrules the\n# definition found in the source code.\n# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.\n\nEXPAND_AS_DEFINED      =\n\n# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will\n# remove all references to function-like macros that are alone on a line, have\n# an all uppercase name, and do not end with a semicolon. Such function macros\n# are typically used for boiler-plate code, and will confuse the parser if not\n# removed.\n# The default value is: YES.\n# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.\n\nSKIP_FUNCTION_MACROS   = YES\n\n#---------------------------------------------------------------------------\n# Configuration options related to external references\n#---------------------------------------------------------------------------\n\n# The TAGFILES tag can be used to specify one or more tag files. For each tag\n# file the location of the external documentation should be added. The format of\n# a tag file without this location is as follows:\n# TAGFILES = file1 file2 ...\n# Adding location for the tag files is done as follows:\n# TAGFILES = file1=loc1 \"file2 = loc2\" ...\n# where loc1 and loc2 can be relative or absolute paths or URLs. See the\n# section \"Linking to external documentation\" for more information about the use\n# of tag files.\n# Note: Each tag file must have a unique name (where the name does NOT include\n# the path). If a tag file is not located in the directory in which doxygen is\n# run, you must also specify the path to the tagfile here.\n\nTAGFILES               =\n\n# When a file name is specified after GENERATE_TAGFILE, doxygen will create a\n# tag file that is based on the input files it reads. See section \"Linking to\n# external documentation\" for more information about the usage of tag files.\n\nGENERATE_TAGFILE       =\n\n# If the ALLEXTERNALS tag is set to YES, all external class will be listed in\n# the class index. If set to NO, only the inherited external classes will be\n# listed.\n# The default value is: NO.\n\nALLEXTERNALS           = NO\n\n# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed\n# in the modules index. If set to NO, only the current project's groups will be\n# listed.\n# The default value is: YES.\n\nEXTERNAL_GROUPS        = YES\n\n# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in\n# the related pages index. If set to NO, only the current project's pages will\n# be listed.\n# The default value is: YES.\n\nEXTERNAL_PAGES         = YES\n\n#---------------------------------------------------------------------------\n# Configuration options related to the dot tool\n#---------------------------------------------------------------------------\n\n# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram\n# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to\n# NO turns the diagrams off. Note that this option also works with HAVE_DOT\n# disabled, but it is recommended to install and use dot, since it yields more\n# powerful graphs.\n# The default value is: YES.\n\nCLASS_DIAGRAMS         = NO\n\n# You can include diagrams made with dia in doxygen documentation. Doxygen will\n# then run dia to produce the diagram and insert it in the documentation. The\n# DIA_PATH tag allows you to specify the directory where the dia binary resides.\n# If left empty dia is assumed to be found in the default search path.\n\nDIA_PATH               =\n\n# If set to YES the inheritance and collaboration graphs will hide inheritance\n# and usage relations if the target is undocumented or is not a class.\n# The default value is: YES.\n\nHIDE_UNDOC_RELATIONS   = YES\n\n# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is\n# available from the path. This tool is part of Graphviz (see:\n# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent\n# Bell Labs. The other options in this section have no effect if this option is\n# set to NO\n# The default value is: YES.\n\nHAVE_DOT               = NO\n\n# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed\n# to run in parallel. When set to 0 doxygen will base this on the number of\n# processors available in the system. You can set it explicitly to a value\n# larger than 0 to get control over the balance between CPU load and processing\n# speed.\n# Minimum value: 0, maximum value: 32, default value: 0.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nDOT_NUM_THREADS        = 0\n\n# When you want a differently looking font in the dot files that doxygen\n# generates you can specify the font name using DOT_FONTNAME. You need to make\n# sure dot is able to find the font, which can be done by putting it in a\n# standard location or by setting the DOTFONTPATH environment variable or by\n# setting DOT_FONTPATH to the directory containing the font.\n# The default value is: Helvetica.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nDOT_FONTNAME           = Helvetica\n\n# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of\n# dot graphs.\n# Minimum value: 4, maximum value: 24, default value: 10.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nDOT_FONTSIZE           = 10\n\n# By default doxygen will tell dot to use the default font as specified with\n# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set\n# the path where dot can find it using this tag.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nDOT_FONTPATH           =\n\n# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for\n# each documented class showing the direct and indirect inheritance relations.\n# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.\n# The default value is: YES.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nCLASS_GRAPH            = YES\n\n# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a\n# graph for each documented class showing the direct and indirect implementation\n# dependencies (inheritance, containment, and class references variables) of the\n# class with other documented classes.\n# The default value is: YES.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nCOLLABORATION_GRAPH    = YES\n\n# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for\n# groups, showing the direct groups dependencies.\n# The default value is: YES.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nGROUP_GRAPHS           = YES\n\n# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and\n# collaboration diagrams in a style similar to the OMG's Unified Modeling\n# Language.\n# The default value is: NO.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nUML_LOOK               = NO\n\n# If the UML_LOOK tag is enabled, the fields and methods are shown inside the\n# class node. If there are many fields or methods and many nodes the graph may\n# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the\n# number of items for each type to make the size more manageable. Set this to 0\n# for no limit. Note that the threshold may be exceeded by 50% before the limit\n# is enforced. So when you set the threshold to 10, up to 15 fields may appear,\n# but if the number exceeds 15, the total amount of fields shown is limited to\n# 10.\n# Minimum value: 0, maximum value: 100, default value: 10.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nUML_LIMIT_NUM_FIELDS   = 10\n\n# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and\n# collaboration graphs will show the relations between templates and their\n# instances.\n# The default value is: NO.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nTEMPLATE_RELATIONS     = NO\n\n# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to\n# YES then doxygen will generate a graph for each documented file showing the\n# direct and indirect include dependencies of the file with other documented\n# files.\n# The default value is: YES.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nINCLUDE_GRAPH          = YES\n\n# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are\n# set to YES then doxygen will generate a graph for each documented file showing\n# the direct and indirect include dependencies of the file with other documented\n# files.\n# The default value is: YES.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nINCLUDED_BY_GRAPH      = YES\n\n# If the CALL_GRAPH tag is set to YES then doxygen will generate a call\n# dependency graph for every global function or class method.\n#\n# Note that enabling this option will significantly increase the time of a run.\n# So in most cases it will be better to enable call graphs for selected\n# functions only using the \\callgraph command. Disabling a call graph can be\n# accomplished by means of the command \\hidecallgraph.\n# The default value is: NO.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nCALL_GRAPH             = NO\n\n# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller\n# dependency graph for every global function or class method.\n#\n# Note that enabling this option will significantly increase the time of a run.\n# So in most cases it will be better to enable caller graphs for selected\n# functions only using the \\callergraph command. Disabling a caller graph can be\n# accomplished by means of the command \\hidecallergraph.\n# The default value is: NO.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nCALLER_GRAPH           = NO\n\n# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical\n# hierarchy of all classes instead of a textual one.\n# The default value is: YES.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nGRAPHICAL_HIERARCHY    = YES\n\n# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the\n# dependencies a directory has on other directories in a graphical way. The\n# dependency relations are determined by the #include relations between the\n# files in the directories.\n# The default value is: YES.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nDIRECTORY_GRAPH        = YES\n\n# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images\n# generated by dot. For an explanation of the image formats see the section\n# output formats in the documentation of the dot tool (Graphviz (see:\n# http://www.graphviz.org/)).\n# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order\n# to make the SVG files visible in IE 9+ (other browsers do not have this\n# requirement).\n# Possible values are: png, png:cairo, png:cairo:cairo, png:cairo:gd, png:gd,\n# png:gd:gd, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, gif, gif:cairo,\n# gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd, png:cairo,\n# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and\n# png:gdiplus:gdiplus.\n# The default value is: png.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nDOT_IMAGE_FORMAT       = png\n\n# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to\n# enable generation of interactive SVG images that allow zooming and panning.\n#\n# Note that this requires a modern browser other than Internet Explorer. Tested\n# and working are Firefox, Chrome, Safari, and Opera.\n# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make\n# the SVG files visible. Older versions of IE do not have SVG support.\n# The default value is: NO.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nINTERACTIVE_SVG        = NO\n\n# The DOT_PATH tag can be used to specify the path where the dot tool can be\n# found. If left blank, it is assumed the dot tool can be found in the path.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nDOT_PATH               =\n\n# The DOTFILE_DIRS tag can be used to specify one or more directories that\n# contain dot files that are included in the documentation (see the \\dotfile\n# command).\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nDOTFILE_DIRS           =\n\n# The MSCFILE_DIRS tag can be used to specify one or more directories that\n# contain msc files that are included in the documentation (see the \\mscfile\n# command).\n\nMSCFILE_DIRS           =\n\n# The DIAFILE_DIRS tag can be used to specify one or more directories that\n# contain dia files that are included in the documentation (see the \\diafile\n# command).\n\nDIAFILE_DIRS           =\n\n# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the\n# path where java can find the plantuml.jar file. If left blank, it is assumed\n# PlantUML is not used or called during a preprocessing step. Doxygen will\n# generate a warning when it encounters a \\startuml command in this case and\n# will not generate output for the diagram.\n\nPLANTUML_JAR_PATH      =\n\n# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a\n# configuration file for plantuml.\n\nPLANTUML_CFG_FILE      =\n\n# When using plantuml, the specified paths are searched for files specified by\n# the !include statement in a plantuml block.\n\nPLANTUML_INCLUDE_PATH  =\n\n# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes\n# that will be shown in the graph. If the number of nodes in a graph becomes\n# larger than this value, doxygen will truncate the graph, which is visualized\n# by representing a node as a red box. Note that doxygen if the number of direct\n# children of the root node in a graph is already larger than\n# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that\n# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.\n# Minimum value: 0, maximum value: 10000, default value: 50.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nDOT_GRAPH_MAX_NODES    = 50\n\n# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs\n# generated by dot. A depth value of 3 means that only nodes reachable from the\n# root by following a path via at most 3 edges will be shown. Nodes that lay\n# further from the root node will be omitted. Note that setting this option to 1\n# or 2 may greatly reduce the computation time needed for large code bases. Also\n# note that the size of a graph can be further restricted by\n# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.\n# Minimum value: 0, maximum value: 1000, default value: 0.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nMAX_DOT_GRAPH_DEPTH    = 0\n\n# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent\n# background. This is disabled by default, because dot on Windows does not seem\n# to support this out of the box.\n#\n# Warning: Depending on the platform used, enabling this option may lead to\n# badly anti-aliased labels on the edges of a graph (i.e. they become hard to\n# read).\n# The default value is: NO.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nDOT_TRANSPARENT        = NO\n\n# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output\n# files in one run (i.e. multiple -o and -T options on the command line). This\n# makes dot run faster, but since only newer versions of dot (>1.8.10) support\n# this, this feature is disabled by default.\n# The default value is: NO.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nDOT_MULTI_TARGETS      = NO\n\n# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page\n# explaining the meaning of the various boxes and arrows in the dot generated\n# graphs.\n# The default value is: YES.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nGENERATE_LEGEND        = YES\n\n# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot\n# files that are used to generate the various graphs.\n# The default value is: YES.\n# This tag requires that the tag HAVE_DOT is set to YES.\n\nDOT_CLEANUP            = YES\n"
  },
  {
    "path": "docs/how-to/rccl-usage-tips.rst",
    "content": ".. meta::\n   :description: Usage tips for the RCCL library of collective communication primitives\n   :keywords: RCCL, ROCm, library, API, peer-to-peer, transport\n\n.. _rccl-usage-tips:\n\n\n*****************************************\nRCCL usage tips\n*****************************************\n\nThis topic describes some of the more common RCCL extensions, such as NPKit and MSCCL, and provides tips on how to\nconfigure and customize the application.\n\nNPKit\n=====\n\nRCCL integrates `NPKit <https://github.com/microsoft/npkit>`_, a profiler framework that\nenables the collection of fine-grained trace events in RCCL components, especially in giant collective GPU kernels.\nSee the `NPKit sample workflow for RCCL <https://github.com/microsoft/NPKit/tree/main/rccl_samples>`_ for\na fully-automated usage example. It also provides useful templates for the following manual instructions.\n\nTo manually build RCCL with NPKit enabled, pass ``-DNPKIT_FLAGS=\"-DENABLE_NPKIT -DENABLE_NPKIT_...(other NPKit compile-time switches)\"`` to the ``cmake`` command. \nAll NPKit compile-time switches are declared in the RCCL code base as macros with the prefix ``ENABLE_NPKIT_``.\nThese switches control the information that is collected.\n\n.. note::\n   \n   NPKit only supports the collection of non-overlapped events on the GPU.\n   The ``-DNPKIT_FLAGS`` settings must follow this rule.\n\nTo manually run RCCL with NPKit enabled, set the environment variable ``NPKIT_DUMP_DIR``\nto the NPKit event dump directory. NPKit only supports one GPU per process.\nTo manually analyze the NPKit dump results, use `npkit_trace_generator.py <https://github.com/microsoft/NPKit/blob/main/rccl_samples/npkit_trace_generator.py>`_.\n\nMSCCL/MSCCL++\n=============\n\nRCCL integrates `MSCCL <https://github.com/microsoft/msccl>`_ and `MSCCL++ <https://github.com/microsoft/mscclpp>`_ to\nleverage these highly efficient GPU-GPU communication primitives for collective operations.\nMicrosoft Corporation collaborated with AMD for this project.\n\nMSCCL uses XMLs for different collective algorithms on different architectures. \nRCCL collectives can leverage these algorithms after the user provides the corresponding XML.\nThe XML files contain sequences of send-recv and reduction operations for the kernel to run.\n\nMSCCL is enabled by default on the AMD Instinct™ MI300X accelerator. On other platforms, users might have to enable it\nusing the setting ``RCCL_MSCCL_FORCE_ENABLE=1``. By default, MSCCL is only used if every rank belongs\nto a unique process. To disable this restriction for multi-threaded or single-threaded configurations,\nuse the setting ``RCCL_MSCCL_ENABLE_SINGLE_PROCESS=1``.\n\nRCCL allreduce and allgather collectives can leverage the efficient MSCCL++ communication kernels\nfor certain message sizes. MSCCL++ support is available whenever MSCCL support is available.\nTo run a RCCL workload with MSCCL++ support, set the following RCCL environment variable:\n\n.. code-block:: shell\n\n   RCCL_MSCCLPP_ENABLE=1\n\nTo set the message size threshold for using MSCCL++, use the environment variable ``RCCL_MSCCLPP_THRESHOLD``,\nwhich has a default value of 1MB. After ``RCCL_MSCCLPP_THRESHOLD`` has been set,\nRCCL invokes MSCCL++ kernels for all message sizes less than or equal to the specified threshold.\n\nThe following restrictions apply when using MSCCL++. If these restrictions are not met,\noperations fall back to using MSCCL or RCCL.\n\n*  The message size must be a non-zero multiple of 32 bytes\n*  It does not support ``hipMallocManaged`` buffers\n*  Allreduce only supports the ``float16``, ``int32``, ``uint32``, ``float32``, and ``bfloat16`` data types\n*  Allreduce only supports the sum operation\n\nEnabling peer-to-peer transport\n===============================\n\nTo enable peer-to-peer access on machines with PCIe-connected GPUs,\nset the HSA environment variable as follows:\n\n.. code-block:: shell\n\n   HSA_FORCE_FINE_GRAIN_PCIE=1\n\nThis feature requires GPUs that support peer-to-peer access along with\nproper large BAR addressing support.\n\nIgnoring CPU affinity with multi-node\n=====================================\n\nDepending on the job launcher and the requirements of your workload, performance as the communication workload scales\ncan be improved by setting ``NCCL_IGNORE_CPU_AFFINITY``.  This allows the RCCL communication library to \nignore the job's supplied CPU affinity and use the GPU affinity only.\n\n.. code-block:: shell\n\n   NCCL_IGNORE_CPU_AFFINITY=1\n\nFor general usage, this environment variable is not set so it doesn't interfere with the user or launcher\nsupplied preferences.\n\nImproving performance on the MI300X \n===================================\n\nThis section outlines ways to improve RCCL performance on MI300X systems,\nincluding guidelines for systems with fewer than eight GPUs and the most efficient\nGPU partition modes.\n\nConfiguration with fewer than eight GPUs\n----------------------------------------\n\nOn a system with eight MI300X accelerators, each pair of accelerators is\nconnected with dedicated Infinity Fabric™ links in a fully connected topology.\nFor collective operations, this can achieve good performance when all eight\naccelerators (and all Infinity Fabric links) are used. When fewer than eight\nGPUs are used, however, this can only achieve a fraction of the potential\nbandwidth on the system. However, if your workload warrants using fewer than\neight MI300X accelerators on a system, you can set the run-time variable\n``NCCL_MIN_NCHANNELS`` to increase the number of channels. For example:\n\n.. code-block:: shell\n\n   export NCCL_MIN_NCHANNELS=32\n\nIncreasing the number of channels can benefit performance, but it also increases\nGPU utilization for collective operations.\nAdditionally, RCCL pre-defines a higher number of channels when only two or four\naccelerators are in use on a 8\\*MI300X system. In this situation, RCCL uses 32\nchannels with two MI300X accelerators and 24 channels for four MI300X\naccelerators.\n\n.. _nps4_cpx_mi300_rccl:\n\nNPS4 and CPX partition modes\n----------------------------\n\nThe term compute partitioning modes, or Modular Chiplet Platform (MCP), refers to the\nlogical partitioning of XCDs into devices in the ROCm stack. The names are\nderived from the number of logical partitions that are created out of the eight\nXCDs. In the default mode, SPX (Single Partition X-celerator), all eight XCDs are\nviewed as a single logical compute element, meaning that the :doc:`amd-smi <amdsmi:index>`\nutility will show a single MI300X device. In CPX (Core Partitioned X-celerator)\nmode, each XCD appears as a separate logical GPU, for example, as eight separate\nGPUs in :doc:`amd-smi <amdsmi:index>` per MI300X. CPX mode can be viewed as\nhaving explicit scheduling privileges for each individual compute element (XCD).\n\nWhile compute partitioning modes change the space on which you can assign work\nto compute units, the memory partitioning modes (known as Non-Uniform Memory\nAccess (NUMA) Per Socket (NPS)) change the number of NUMA domains that a device\nexposes. In other words, it changes the number of HBM stacks which are\naccessible to a compute unit, and therefore the size of its memory space. However,\nfor the MI300X, the number of memory partitions must be less than or equal to\nthe number of compute partitions. NPS4 (viewing pairs of HBM stacks as a\ndisparate element), for example, is only enabled when in CPX mode (viewing each\nXCD as a disparate element).\n\n- Compute partition modes \n\n  - In SPX mode, workgroups launched to the device are distributed\n    round-robin to the XCDs in the device, meaning that the programmer cannot\n    have explicit control over which XCD a workgroup is assigned to.\n\n  - In CPX mode, workgroups are launched to a single XCD, meaning the\n    programmer has explicit control over work placement onto the XCDs.\n  \n- Memory partition modes \n\n  - In NPS1 mode (compatible with CPX and SPX), the entire memory is accessible\n    to all XCDs.\n\n  - In NPS4 mode (compatible with CPX), each memory quadrant of the memory is\n    directly visible to the logical devices in its quadrant. An XCD can still\n    access all portions of memory through multi-GPU programming techniques.\n\nThe MI300 CPX mode can be accessed using the following :doc:`amdsmi:index`\ncommands.\n\n.. code-block:: shell\n\n   amd-smi set --gpu all --compute-partition CPX\n   amd-smi set --gpu all --memory-partition NPS4\n\nRCCL performance with CPX and NPS4\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nTo run RCCL allreduce on 64 GPUs with CPX+NPS4 mode on the MI300X, use this\nexample:\n\n.. code-block:: shell\n\n   mpirun -np 64 --bind-to numa rccl-tests/build/all_reduce_perf -b 8 -e 1G -f 2 -g 1\n\nTo run RCCL allreduce on 8 GPUs in the same OAM with CPX+NPS4 mode on the\nMI300X, use this example:\n\n.. code-block:: shell\n\n   export ROCR_VISIBLE_DEVICES=0,1,2,3,4,5,6,7\n\n   mpirun -np 8 --bind-to numa rccl-tests/build/all_reduce_perf -b 8 -e 1G -f 2 -g 1\n\nRCCL delivers improved allreduce performance in CPX mode for TP=8 (8 GPUs in\nthe same OAM) on the MI300X.\n\n.. code-block:: shell\n\n   export HIP_FORCE_DEV_KERNARG=1\n   export RCCL_MSCCLPP_THRESHOLD=1073741824\n\n   export MSCCLPP_READ_ALLRED=1 \n   export ROCR_VISIBLE_DEVICES=0,1,2,3,4,5,6,7\n\n   mpirun -np 8 --bind-to numa rccl-tests/build/all_reduce_perf -b 32 -e 1G -f 2 -g 1 -G 2 -w 20 -n 50\n\nHere are the benchmark results for in-place (where the output buffer is used as\nthe input buffer) and out-of-place allreduce bus bandwidth.\n\n.. figure:: ../data/how-to/rccl-usage-tips/in-place_allreduce.png\n    :alt: In-place allreduce benchmark results\n    :align: center\n\n.. figure:: ../data/how-to/rccl-usage-tips/out-of-place_allreduce.png\n    :alt: Out-of-place allreduce benchmark results\n    :align: center\n\nA significant performance improvement is achievable with optimized CPX mode,\nwhich peaks at ~340 GB/s with a single OAM. The difference in bus bandwidth\nbetween the unoptimized and optimized modes increases as the buffer size grows.\n\nUsing RCCL and CPX in PyTorch\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nThe PyTorch all_reduce benchmark is used to reproduce the performance reported\nby RCCL-Tests with the RCCL and CPX optimizations.\n\n.. note::\n\n   To use RCCL with CPX mode in PyTorch, check the RCCL version used by PyTorch.\n\n   For a virtualenv with a .whl-based PyTorch setup (such as nightly/rocm6.2),\n   this would be in \n   ``<path-to-your-venv>/lib/<python-version>/site-packages/torch/lib/librccl.so``\n   This is the version of RCCL that is packaged as part of ROCm version 6.2.\n\n   RCCL for CPX mode was enabled in ROCm 6.3.0. To use the CPX features, replace\n   the existing ``librccl.so`` with one from ROCm 6.3.0 or newer or from a local\n   build of the RCCL develop branch.\n\nTo test the effects of RCCL on PyTorch, the `stas00 all reduce benchmark <https://github.com/stas00/ml-engineering/blob/master/network/benchmarks/all_reduce_bench.py>`_\nwas used. The following command is used to run a single OAM allreduce\nbenchmark:\n\n.. code-block:: shell\n\n   export ROCR_VISIBLE_DEVICES=0,1,2,3,4,5,6,7\n   python -u -m torch.distributed.run --nproc_per_node=8 --rdzv_endpoint localhost:6000  --rdzv_backend c10d all_reduce_bench.py\n\nFor better performance, the ``HIP_FORCE_DEV_KERNARG``, ``RCCL_MSCCLPP_THRESHOLD``,\nand ``TORCH_NCCL_USE_TENSOR_REGISTER_ALLOCATOR_HOOK`` environment variables are\nset during the benchmark in the following manner:\n\n.. code-block:: shell\n\n   export TORCH_NCCL_USE_TENSOR_REGISTER_ALLOCATOR_HOOK=1\n   export HIP_FORCE_DEV_KERNARG=1\n   export RCCL_MSCCLPP_THRESHOLD=$((2*1024*1024*1024))\n   export MSCCLPP_READ_ALLRED=1\n   export ROCR_VISIBLE_DEVICES=0,1,2,3,4,5,6,7\n   python -u -m torch.distributed.run --nproc_per_node=8 --rdzv_endpoint localhost:6000  --rdzv_backend c10d all_reduce_bench.py\n\nThe default allreduce PyTorch benchmark peak bus bandwidth performance is\n~170 GB/s on a single OAM with ROCm 6.2.4, while the optimized run for CPX on a\nsingle OAM peaks at ~315 GB/s.\n\nContext tracking on GPUs\n----------------------------------------\nContext tracking is disabled by default for optimal performance. However, enabling of context tracking can significantly improve performance\nin certain scenarios. To enable context tracking, set the following environment variable:\n\n.. code-block:: shell\n\n\n   export RCCL_ENABLE_CONTEXT_TRACKING=1\n\n"
  },
  {
    "path": "docs/how-to/troubleshooting-rccl.rst",
    "content": ".. meta::\n   :description: A guide to troubleshooting the RCCL library of multi-GPU and multi-node collective communication primitives optimized for AMD GPUs\n   :keywords: RCCL, ROCm, library, API, debug\n\n.. _troubleshooting-rccl:\n\n*********************\nTroubleshooting RCCL\n*********************\n\nThis topic explains the steps to troubleshoot functional and performance issues with RCCL.\nWhile debugging, collect the output from the commands in this guide. This data\ncan be used as supporting information when submitting an issue report to AMD.\n\n.. _debugging-system-info:\n\nCollecting system information\n=============================\n\nCollect this information about the ROCm version, GPU/accelerator, platform, and configuration.\n\n*  Verify the ROCm version. This might be a release version or a\n   mainline or staging version. Use this command to display the version:\n\n   .. code:: shell\n\n      cat /opt/rocm/.info/version\n\n   Run the following command and collect the output:\n\n   .. code:: shell\n\n      rocm_agent_enumerator\n\n   Also, collect the name of the GPU or accelerator:\n\n   .. code:: shell\n\n      rocminfo\n\n*  Run these ``amd-smi`` commands to display the system topology.\n\n   .. code:: shell\n\n      amd-smi\n      amd-smi topology\n      amd-smi static --driver\n      amd-smi firmware\n      amd-smi xgmi\n\n*  Determine the values of the ``PATH`` and ``LD_LIBRARY_PATH`` environment variables.\n\n   .. code:: shell\n\n      echo $PATH\n      echo $LD_LIBRARY_PATH\n\n*  Collect the HIP configuration.\n\n   .. code:: shell\n\n      /opt/rocm/bin/hipconfig --full\n\n*  Verify the network settings and setup. Use the ``ibv_devinfo`` command \n   to display information about the available RDMA devices and determine \n   whether they are installed and functioning properly. Run ``rdma link``\n   to print a summary of the network links.\n\n   .. code:: shell\n\n      ibv_devinfo\n      rdma link\n\nIsolating the issue\n-------------------\n\nThe problem might be a general issue or specific to the architecture or system.\nTo narrow down the issue, collect information about the GPU or accelerator and other\ndetails about the platform and system. Some issues to consider include:\n\n*  Is ROCm running on:\n\n   *  A bare-metal setup\n   *  In a Docker container (determine the name of the Docker image)\n   *  In an SR-IOV virtualized\n   *  Some combination of these configurations\n\n*  Is the problem only seen on a specific GPU architecture?\n*  Is it only seen on a specific system type?\n*  Is it happening on a single node or multinode setup?\n*  Use the following troubleshooting techniques to attempt to isolate the issue.\n\n   *  Build or run the develop branch version of RCCL and see if the problem persists.\n   *  Try an earlier RCCL version (minor or major).\n   *  If you recently changed the ROCm runtime configuration, AMD Kernel-mode GPU Driver (KMD), or compiler,\n      rerun the test with the previous configuration.\n\n.. _collecting-rccl-info:\n\nCollecting RCCL information\n=============================\n\nCollect the following information about the RCCL installation and configuration.\n\n*  Run the ``ldd`` command to list any dynamic dependencies for RCCL.\n\n   .. code:: shell\n\n      ldd <specify-path-to-librccl.so>\n\n*  Determine the RCCL version. This might be the pre-packaged component in\n   ``/opt/rocm/lib`` or a version that was built from source. To verify the RCCL version,\n   enter the following command, then run either rccl-tests or an e2e application.\n\n   .. code:: shell\n\n      export NCCL_DEBUG=VERSION\n\n*  Run rccl-tests and collect the results. For information on how to build and run rccl-tests, see the\n   `rccl-tests GitHub <https://github.com/ROCm/rccl-tests/blob/develop/README.md>`_.\n\n*  Collect the RCCL logging information. Enable the debug logs, \n   then run rccl-tests or any e2e workload to collect the logs. Use the \n   following command to enable the logs.\n\n   .. code:: shell\n\n      export NCCL_DEBUG=INFO\n\n.. _use-rccl-replayer:\n\nUsing the RCCL Replayer\n------------------------\n\nThe RCCL Replayer is a debugging tool designed to analyze and replay the collective logs obtained from RCCL runs. \nIt can be helpful when trying to reproduce problems, because it uses dummy data and doesn't have any dependencies \non non-RCCL calls. For more information, \nsee `RCCL Replayer GitHub documentation <https://github.com/ROCm/rccl/tree/develop/tools/RcclReplayer>`_.\n\nYou must build the RCCL Replayer before you can use it. To build it, run these commands. Ensure ``MPI_DIR`` is set to \nthe path where MPI is installed.\n\n.. code:: shell\n\n   cd rccl/tools/rccl_replayer\n   MPI_DIR=/path/to/mpi make\n\nTo use the RCCL Replayer, follow these steps: \n\n#. Collect the per-rank logs from the RCCL run by adding the following environment variables.\n   This prevents any race conditions that might cause ranks to interrupt the output from other ranks.\n\n   .. code:: shell\n\n      NCCL_DEBUG=INFO NCCL_DEBUG_SUBSYS=COLL NCCL_DEBUG_FILE=some_name_here.%h.%p.log\n\n#. Combine all the logs into a single file. This will become the input to the RCCL Replayer.\n\n   .. code:: shell\n\n      cat some_name_here_*.log > some_name_here.log\n\n#. Run the RCCL Replayer using the following command. Replace ``<numProcesses>`` with the number of MPI processes to \n   run, ``</path/to/logfile>`` with the path to the collective log file generated during \n   the RCCL runs, and ``<numGpusPerMpiRank>`` with the number of GPUs per MPI rank used in the application.\n\n   .. code:: shell\n\n      mpirun -np <numProcesses> ./rcclReplayer </path/to/logfile> <numGpusPerMpiRank>\n\n   In a multi-node application environment, you can replay the collective logs on multiple nodes\n   using the following command:\n\n   .. code:: shell\n\n      mpirun --hostfile <path/to/hostfile.txt> -np <numProcesses> ./rcclReplayer </path/to/logfile> <numGpusPerMpiRank>\n\n   .. note::\n\n      Depending on the MPI library you're using, you might need to modify the ``mpirun`` command.\n\n.. _analyze-performance-info:\n\nAnalyzing performance issues\n=============================\n\nIf the issues involve performance issues in an e2e workload, try the following \nmicrobenchmarks and collect the results. Follow the instructions in the subsequent sections\nto run these benchmarks and provide the results to the support team.\n\n*  TransferBench\n*  RCCL Unit Tests\n*  rccl-tests\n  \nCollect the TransferBench data\n---------------------------------\n\nTransferBench allows you to benchmark simultaneous copies between\nuser-specified devices. For more information, \nsee the :doc:`TransferBench documentation <transferbench:index>`.\n\nTo collect the TransferBench data, follow these steps:\n\n#. Clone the TransferBench Git repository.\n\n   .. code:: shell\n\n      git clone https://github.com/ROCm/TransferBench.git \n\n#. Change to the new directory and build the component.\n\n   .. code:: shell\n\n      cd TransferBench\n      make\n\n#. Run the TransferBench utility with the following parameters and save the results.\n\n   .. code:: shell\n\n      USE_FINE_GRAIN=1 GFX_UNROLL=2 ./TransferBench a2a 64M 8\n\nCollect the RCCL microbenchmark data\n-------------------------------------\n\nTo use the RCCL tests to collect the RCCL benchmark data, follow these steps:\n\n#. Disable NUMA auto-balancing using the following command:\n\n   .. code:: shell\n\n      sudo sysctl kernel.numa_balancing=0\n\n   Run the following command to verify the setting. The expected output is ``0``.\n\n   .. code:: shell\n\n      cat /proc/sys/kernel/numa_balancing\n\n#. Build MPI, RCCL, and rccl-tests. To download and install MPI, see either \n   `OpenMPI <https://www.open-mpi.org/software/ompi/v5.0/>`_ or `MPICH <https://www.mpich.org/>`_.\n   To learn how to build and run rccl-tests, see the `rccl-tests GitHub <https://github.com/ROCm/rccl-tests/blob/develop/README.md>`_.\n\n#. Run rccl-tests with MPI and collect the performance numbers.\n\nRCCL and NCCL comparisons\n=============================\n\nIf you are also using NVIDIA hardware or NCCL and notice a performance gap between the two systems,\ncollect the system and performance data on the NVIDIA platform. \nProvide both sets of data to the support team.\n"
  },
  {
    "path": "docs/how-to/using-nccl.rst",
    "content": ".. meta::\n   :description: How to use the NCCL Net API\n   :keywords: RCCL, ROCm, library, API, NCCL Net, plugin\n\n.. _using-nccl:\n\n*****************************\nUsing the NCCL Net plugin API\n*****************************\n\nNCCL provides a way to use external plugins to let NCCL run on many network types. This \ntopic describes the NCCL Net plugin API and explains how to implement a network plugin for NCCL.\n\nPlugins implement the NCCL network API and decouple NCCL binary builds, which are built against a\nparticular version of the GPU stack (such as NVIDIA CUDA), from the network code, which is built against a\nparticular version of the networking stack. Using this method, you can easily integrate any CUDA version\nwith any network stack version.\n\nNCCL network plugins are packaged as a shared library called ``librccl-net.so``. The shared library\ncontains one or more implementations of the NCCL Net API in the form of versioned structs,\nwhich are filled with pointers to all required functions.\n\nPlugin architecture\n===================\n\nWhen NCCL is initialized, it searches for a ``librccl-net.so`` library and dynamically loads it,\nthen searches for symbols inside the library.\n\nThe ``NCCL_NET_PLUGIN`` environment variable allows multiple plugins to coexist. If it's set, NCCL\nlooks for a library named ``librccl-net-${NCCL_NET_PLUGIN}.so``. It is therefore\nrecommended that you name the library according to that pattern, with a symlink pointing from ``librccl-net.so``\nto ``librccl-net-${NCCL_NET_PLUGIN}.so``. This lets users select the correct plugin\nif there are multiple plugins in the path.\n\nStruct versioning\n-----------------\n\nAfter a library is found, NCCL looks for a symbol named ``ncclNet_vX``, with ``X`` increasing\nover time. This versioning pattern ensures that the plugin and the NCCL core are compatible.\n\nPlugins are encouraged to provide a number of these symbols, implementing many versions\nof the NCCL Net API. This is so the same plugin can be compiled for and support a wide range of NCCL\nversions.\n\nConversely, and to ease transition, NCCL can choose to support different plugin versions. It can look\nfor the latest ``ncclNet`` struct version but also search for older versions, so that older plugins\nstill work.\n\nIn-network collective operations (collNet)\n----------------------------------------------\n\nIn addition to the ``ncclNet`` structure, network plugins can provide a ``collNet`` structure which\nimplements any supported in-network collective operations. This is an optional\nstructure provided by the network plugin,\nbut its versioning is tied to the ``ncclNet`` structure and many functions are common between the two to\nease implementation. The ``collNet`` structure can be used by the NCCL ``collNet``\nalgorithm to accelerate inter-node reductions in allReduce.\n\nHeader management\n------------------\n\nTo help users effortlessly build plugins, plugins should copy the ``ncclNet_vX`` definitions\nthey support to their list of internal includes. An example is shown in ``ext-net/example/``, which stores\nall headers in the ``nccl/`` directory and provides thin layers to implement old versions on top\nof newer ones.\n\nThe ``nccl/`` directory is populated with ``net_vX.h`` files, which extract all relevant definitions\nfrom the old API versions. It also provides error codes in ``err.h``.\n\nAPI (v6)\n=========\n\nHere is the main ``ncclNet_v6`` struct. Each function is explained in later sections.\n\n.. code:: shell\n\n    typedef struct {\n    // Name of the network (mainly for logs)\n    const char* name;\n    // Initialize the network.\n    ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n    // Return the number of adapters.\n    ncclResult_t (*devices)(int* ndev);\n    // Get various device properties.\n    ncclResult_t (*getProperties)(int dev, ncclNetProperties_v6_t* props);\n    // Create a receiving object and provide a handle to connect to it. The\n    // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n    // between ranks to create a connection.\n    ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n    // Connect to a handle and return a sending comm object for that peer.\n    // This call must not block for the connection to be established, and instead\n    // should return successfully with sendComm == NULL with the expectation that\n    // it will be called again until sendComm != NULL.\n    ncclResult_t (*connect)(int dev, void* handle, void** sendComm);\n    // Finalize connection establishment after remote peer has called connect.\n    // This call must not block for the connection to be established, and instead\n    // should return successfully with recvComm == NULL with the expectation that\n    // it will be called again until recvComm != NULL.\n    ncclResult_t (*accept)(void* listenComm, void** recvComm);\n    // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n    // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n    ncclResult_t (*regMr)(void* comm, void* data, int size, int type, void** mhandle);\n    /* DMA-BUF support */\n    ncclResult_t (*regMrDmaBuf)(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n    ncclResult_t (*deregMr)(void* comm, void* mhandle);\n    // Asynchronous send to a peer.\n    // May return request == NULL if the call cannot be performed (or would block)\n    ncclResult_t (*isend)(void* sendComm, void* data, int size, int tag, void* mhandle, void** request);\n    // Asynchronous recv from a peer.\n    // May return request == NULL if the call cannot be performed (or would block)\n    ncclResult_t (*irecv)(void* recvComm, int n, void** data, int* sizes, int* tags, void** mhandles, void** request);\n    // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n    // visible to the GPU\n    ncclResult_t (*iflush)(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request);\n    // Test whether a request is complete. If size is not NULL, it returns the\n    // number of bytes sent/received.\n    ncclResult_t (*test)(void* request, int* done, int* sizes);\n    // Close and free send/recv comm objects\n    ncclResult_t (*closeSend)(void* sendComm);\n    ncclResult_t (*closeRecv)(void* recvComm);\n    ncclResult_t (*closeListen)(void* listenComm);\n    } ncclNet_v6_t;\n\nError codes\n-----------\n\nAll plugins functions use NCCL error codes as their return value. ``ncclSuccess`` should be returned upon\nsuccess. Otherwise, plugins can return one of the following codes:\n\n* ``ncclSystemError`` is the most common error for network plugins. It should be returned when a call to the Linux kernel or a system library fails. This typically includes all network and hardware errors.\n* ``ncclInternalError`` is returned when the NCCL core code is using the network plugin in an incorrect way, for example, allocating more requests than it should or passing an invalid argument in API calls.\n* ``ncclInvalidUsage`` should be returned when the error is most likely due to user error. This can include misconfiguration, but also size mismatches.\n* ``ncclInvalidArgument`` should not typically be used by plugins because arguments should be checked by the NCCL core layer.\n* ``ncclUnhandledCudaError`` is returned when an error is received from NVIDIA CUDA. Network plugins should not need to rely on CUDA, so this error should not be common.\n\nOperational overview\n--------------------\n\nNCCL first calls the ``init`` function, queries the number of network devices with the\n``devices`` function, and retrieves the properties from each network device using ``getProperties``.\n\nTo establish a connection between two network devices, NCCL first calls ``listen`` on the\nreceiving side. It passes the returned handle to the sender side of the connection, and uses it to call ``connect``.\nFinally, ``accept`` is called on the receiving side to finalize the establishment of the connection.\n\nAfter the connection is established, communication is performed using the functions ``isend``,\n``irecv``, and ``test``. Prior to calling ``isend`` or ``irecv``, NCCL calls the ``regMr`` function on\nall buffers to allow RDMA NICs to prepare the buffers. ``deregMr`` is used to unregister buffers.\n\nIn certain conditions, ``iflush`` is called after a ``receive`` call completes to allow the network\nplugin to flush data and ensure the GPU processes the newly written data.\n\nTo close the connections, NCCL calls ``closeListen`` to close the object returned by ``listen``,\n``closeSend`` to close the object returned by ``connect``, and ``closeRecv`` to close the object returned\nby ``accept``.\n\nAPI Functions\n-------------\n\nThe RCCL Tuner plugin API provides the following interface for initialization, connection management, and\ncommunications.\n\nInitialization\n^^^^^^^^^^^^^^\n\n*  ``name`` - The ``name`` field should point to a character string with the name of the network plugin. This name is used for all logging, especially when ``NCCL_DEBUG=INFO`` is set.\n\n   .. note::\n\n      Setting ``NCCL_NET=<plugin name>`` ensures a specific network implementation is used, with\n      a matching ``name``. This is not to be confused with ``NCCL_NET_PLUGIN`` which defines a suffix for the\n      ``librccl-net.so`` library name to load.\n\n*  ``init`` - As soon as NCCL finds the plugin and the correct ``ncclNet`` symbol, it calls the ``init`` function. This allows the plugin to discover network devices and ensure they are usable.\n   If the ``init`` function does not return ``ncclSuccess``, then NCCL does not use the plugin and falls back to internal ones.\n\n   To allow the plugin logs to seamlessly integrate into the NCCL logs, NCCL provides a logging function to ``init``. This function is typically used to allow ``INFO`` and ``WARN`` macros within the plugin code by adding the following definitions:\n\n   .. code:: shell\n\n      #define WARN(...) logFunction(NCCL_LOG_WARN, NCCL_ALL, __FILE__, __LINE__, __VA_ARGS__)\n      #define INFO(FLAGS, ...) logFunction(NCCL_LOG_INFO, (FLAGS), __func__, __LINE__, __VA_ARGS__)\n\n*  ``devices`` - After the plugin is initialized, NCCL queries the number of devices available. \n   This should not be zero. Otherwise, NCCL initialization will fail. If no device is present or usable, the ``init`` function should not return ``ncclSuccess``.\n\n*  ``getProperties`` - Right after retrieving the number of devices, NCCL queries the properties for each available network device. \n   These properties are necessary when multiple adapters are present to ensure NCCL uses each adapter in the optimal way.\n\n   *  The ``name`` is only used for logging.\n\n   *  The ``pciPath`` is the base for all topology detection and should point to the PCI device directory\n      in ``/sys``. This is typically the directory pointed to by ``/sys/class/net/eth0/device`` or\n      ``/sys/class/infiniband/mlx5_0/device``. If the network interface is virtual, then ``pciPath`` should\n      be ``NULL``.\n\n   *  The ``guid`` field is used to determine whether network adapters are connected to multiple PCI\n      endpoints. For normal cases, this is set to the device number. If multiple network devices have\n      the same ``guid``, then NCCL understands them to be sharing the same network port to the fabric. In this case,\n      it will not use the port multiple times.\n\n   *  The ``ptrSupport`` field indicates whether or not CUDA pointers are supported. If so, it should be\n      set to ``NCCL_PTR_HOST|NCCL_PTR_CUDA``. Otherwise, it should be set to ``NCCL_PTR_HOST``. If the plugin\n      supports ``dmabuf``, it should set ``ptrSupport`` to ``NCCL_PTR_HOST|NCCL_PTR_CUDA|NCCL_PTR_DMABUF`` and\n      provide a ``regMrDmaBuf`` function.\n\n   *  The ``regIsGlobal`` field allows NCCL to register buffers in advance, for example, using a loopback connection.\n      Later, it also lets NCCL expect that a subsequent registration on a buffer from a previous registration\n      will happen nearly immediately, because the buffer is already known by the network adapter. A typical\n      implementation maintains a registration cache, with the call to ``ncclCommRegister`` creating the\n      initial entry in the cache using ``regMr()`` on a loopback connection. Any later call to the NCCL\n      system can call ``regMr()`` again on the real connection, with the real buffer (which could be at a\n      different offset within the original buffer, with a smaller size, for example). It\n      could then call ``deregMr()`` immediately afterwards.\n      The ``ncclCommDeregister`` call should issue the final call to ``deregMr()`` and effectively remove the mapping\n      on the network adapter.\n\n   *  The ``speed`` field indicates the speed of the network port in Mbps (10^6 bits per second).\n      This ensures proper optimization of flows within the node.\n\n   *  The ``port`` field indicates the port number. This is important for topology detection and\n      flow optimization within the node when a NIC with a single PCI connection is connected to the fabric through multiple ports.\n\n   *  The ``latency`` field indicates the network latency in microseconds. This can be useful to\n      improve the NCCL tuning and ensure NCCL switches from tree to ring at the correct size.\n\n   *  The ``maxComms`` field indicates the maximum number of connections that can be created.\n\n   *  The ``maxRecvs`` field indicates the maximum number for grouped receive operations (see grouped receive).\n\nConnection establishment\n^^^^^^^^^^^^^^^^^^^^^^^^\n\nConnections are used in an unidirectional manner, with a sender side and a receiver\nside.\n\n*  ``listen`` - To create a connection, NCCL calls ``listen`` on the receiver side.\n   This function accepts a device number as an input argument and returns a local ``listenComm`` object and a ``handle``\n   to pass to the other side of the connection, so that the sender can connect to the receiver.\n   The ``handle`` is a buffer of size ``NCCL_NET_HANDLE_MAXSIZE`` and is provided by NCCL.\n   This call should never block, but unlike ``connect`` and ``accept``, ``listenComm`` should never be ``NULL``\n   if the call succeeds.\n\n*  ``connect`` - NCCL uses its bootstrap infrastructure to provide the ``handle`` to the sender side,\n   then calls ``connect`` on the sender side on a given device index ``dev`` and provides the ``handle``.\n   ``connect`` should not block either. Instead, it sets ``sendComm`` to ``NULL`` and returns ``ncclSuccess``.\n   In that case, NCCL will keep calling ``accept`` again until it succeeds.\n\n*  ``accept`` - To finalize the connection, the receiver side calls ``accept`` on the ``listenComm`` object\n   previously returned by the ``listen`` call. If the sender did not connect yet, ``accept`` should not block.\n   It should return ``ncclSuccess``, setting ``recvComm`` to ``NULL``. NCCL will keep calling ``accept``\n   again until it succeeds.\n\n*  ``closeListen`` / ``closeSend`` / ``closeRecv`` - When a ``listenComm``, ``sendComm``, or ``recvComm`` object is no longer\n   needed, NCCL calls ``closeListen``, ``closeSend``, or ``closeRecv`` to free the associated resources.\n\nCommunication\n^^^^^^^^^^^^^\n\nCommunication is handled using the asynchronous send and receive operations: ``isend``, ``irecv``, and ``test``.\nTo support RDMA capabilities, buffer registration and flush functions are provided.\n\nTo keep track of asynchronous send, receive, and flush operations, requests are returned to NCCL,\nthen queried using ``test``. Each ``sendComm`` or ``recvComm`` must be able to handle\n``NCCL_NET_MAX_REQUESTS`` requests in parallel.\n\n.. note::\n\n   This value should be multiplied by the multi-receive capability of the plugin for the sender\n   side, so the plugin can effectively have ``NCCL_NET_MAX_REQUESTS`` multi-receive operations happening\n   in parallel. If ``maxRecvs`` is 8 and ``NCCL_NET_MAX_REQUESTS`` is 8, then each\n   ``sendComm`` must be able to handle up to 64 (8x8) concurrent ``isend`` operations.\n\n*  ``regMr`` - Prior to sending or receiving data, NCCL calls ``regMr`` with any buffers later used for communication.\n   It provides a ``sendComm`` or ``recvComm`` object for the ``comm`` argument,\n   the buffer pointer ``data``, the ``size``, and the ``type``. The type is either ``NCCL_PTR_HOST`` or ``NCCL_PTR_CUDA`` if\n   the network supports CUDA pointers.\n\n   The network plugin can use the output argument ``mhandle`` to store any reference to the memory registration, because\n   ``mhandle`` is returned for all ``isend``, ``irecv``, ``iflush``, and ``deregMr`` calls.\n\n*  ``regMrDmaBuf`` - If the plugin has set the ``NCCL_PTR_DMABUF`` property in ``ptrSupport``, \n   NCCL uses ``regMrDmaBuf`` instead of ``regMr``. If the property was not set, ``regMrDmaBuf`` can be set to ``NULL``.\n\n*  ``deregMr`` - When buffers are no longer used for communication, NCCL calls ``deregMr`` to let the plugin\n   free resources. This function is used to deregister handles returned by ``regMr`` and ``regMrDmaBuf``.\n\n*  ``isend`` - Data is sent through the connection using ``isend``, passing the ``sendComm`` object previously created\n   by ``connect``, the buffer described by ``data``, ``size``, and ``mhandle``. A ``tag`` must\n   be used if the network supports multi-receive operations (see ``irecv``) to distinguish between different send requests\n   matching the same multi-receive. Otherwise it can be set to ``0``.\n\n   The ``isend`` operation returns a handle in the ``request`` argument for further calls to ``test``.\n   If the ``isend`` operation cannot be initiated, ``request`` is set to ``NULL``. NCCL will call ``isend`` again later.\n\n*  ``irecv`` - To receive data, NCCL calls ``irecv`` with the ``recvComm`` returned by ``accept``.\n   The argument ``n`` configures NCCL for multi-receive, to allow grouping of multiple sends\n   through a single network connection. Each buffer can be described by the ``data``, ``sizes``, and ``mhandles`` arrays.\n   ``tags`` specify a tag for each receive so that each of the ``n`` independent ``isend`` operations is received\n   into the right buffer.\n\n   If all receive operations can be initiated, ``irecv`` returns a handle in the ``request`` pointer. Otherwise,\n   it sets the pointer to ``NULL``. In the case of multi-receive, all ``n`` receive operations are handled by a single request handle.\n\n   The sizes provided to ``irecv`` can (and will) be larger than the size of the ``isend`` operation.\n   However, it is an error if the receive size is smaller than the send size.\n\n   .. note::\n\n      For a given connection, send and receive operations should always match in the order they were\n      posted. Tags provided for receive operations are only used to assign a given send operation to one\n      of the buffers of the first (multi-)receive operation in the queue, not to allow for out-of-order tag\n      matching on any receive operation posted.\n\n*  ``test`` - After an ``isend`` or ``irecv`` operation is initiated, NCCL calls ``test`` on the request handles until\n   the operation completes. When that happens, ``done`` is set to ``1`` and ``sizes`` is set to the real size sent or received,\n   the latter could potentially be lower than the size passed to ``irecv``.\n\n   In the case of a multi-receive, all receives are considered as part of a single operation, the goal\n   being to allow aggregation. Therefore, they share a single request and a single ``done`` status. However,\n   they can have different sizes, so if ``done`` is non-zero, the ``sizes`` array should contain the ``n`` sizes\n   corresponding to the buffers passed to ``irecv``.\n\n   After ``test`` returns ``1`` in ``done``, the request handle can be freed. This means that NCCL will never\n   call ``test`` again on that request, unless it is reallocated by another call to ``isend`` or ``irecv``.\n\n*  ``iflush`` - After a receive operation completes, if the operation was targeting GPU memory and received\n   a non-zero number of bytes, NCCL calls ``iflush``. This lets the network flush any buffer to ensure\n   the GPU can read it immediately without seeing stale data. This flush operation is decoupled from\n   the ``test`` code to improve the latency of ``LL*`` protocols, because those are capable of determining\n   when data is valid or not.\n\n   ``iflush`` returns a request which must be queried using ``test`` until it completes.\n"
  },
  {
    "path": "docs/how-to/using-rccl-tuner-plugin-api.rst",
    "content": ".. meta::\n   :description: How to use the RCCL Tuner plugin API\n   :keywords: RCCL, ROCm, library, API, Tuner, plugin\n\n.. _using-rccl-tuner-plugin:\n\n*******************************\nUsing the RCCL Tuner plugin API\n*******************************\n\nAn external plugin enables users to hand-tailor the selection of an algorithm,\nprotocol, and number of channels (thread blocks) based on an input configuration specifying the\nmessage size, number of nodes and GPUs, and link types (for instance, PCIe, XGMI, or NET).\nOne advantage of this plugin is that each user can create and maintain their own hand-tailored tuner\nwithout relying on RCCL to develop and maintain it. This topic describes the API required to implement\nan external tuner plugin for RCCL.\n\nThe following usage notes are relevant when using the RCCL Tuner plugin API:\n\n*  The API allows partial outputs: tuners can set only the algorithm and protocol and let RCCL set the remaining fields,\n   such as the number of channels.\n*  If ``getCollInfo()`` fails, RCCL uses its default internal mechanisms to determine the best collective configuration.\n*  ``getCollInfo`` is called for each collective invocation per communicator, so special care\n   must be taken to avoid introducing excessive latency.\n*  The supported RCCL algorithms are ``NCCL_ALGO_TREE``, and ``NCCL_ALGO_RING``.\n*  The supported RCCL protocols are ``NCCL_PROTO_SIMPLE``, ``NCCL_PROTO_LL`` and ``NCCL_PROTO_LL128``.\n\n   *  Until support is present for network collectives, use the example in the ``pluginGetCollInfo`` API implementation\n      to ignore other algorithms as follows:\n\n      .. code-block:: cpp\n\n         if ((a == NCCL_ALGO_COLLNET_DIRECT || a == NCCL_ALGO_COLLNET_CHAIN) && collNetSupport != 1) continue;\n         if ((a == NCCL_ALGO_NVLS || a == NCCL_ALGO_NVLS_TREE) && nvlsSupport != 1) continue;\n         if (a == NCCL_ALGO_NVLS && collNetSupport != 1) continue;\n\n.. note::\n   \n   The `example plugin <https://github.com/ROCm/rccl/blob/develop/ext-tuner/example/plugin.c>`_\n   uses math models to approximate the bandwidth and latency of the available selection of algorithms and protocols\n   and select the one with the lowest calculated latency. It is customized for the AMD Instinct MI300 accelerators and RoCEv2 networks\n   on a limited number of nodes. This example, which is intended for demonstration purposes only, is not meant to be inclusive of all potential AMD GPUs and network configuration.\n\nAPI description\n================\n\nTo build a custom tuner, implement the ``ncclTuner_v1_t`` structure.\n\nStructure: ncclTuner_v1_t\n---------------------------\n\n**Fields**\n\n*  ``name``\n  \n   *  **Type**: ``const char*``\n   *  **Description**: The name of the tuner, which can be used for logging purposes when ``NCCL_DEBUG=info`` and ``NCCL_DEBUG_SUBSYS=tune`` are set.\n\n**Functions**\n\n*  ``init`` (called upon communicator initialization with ``ncclCommInitRank``)\n\n   Initializes the tuner states. Each communicator initializes its tuner. ``nNodes`` x ``nRanks`` = the total number of GPUs participating in the collective communication.\n\n   *  **Parameters**:\n\n      * ``nRanks`` (``size_t``): The number of devices (GPUs).\n      * ``nNodes`` (``size_t``): The number of operating system nodes (physical nodes or VMs).\n      * ``logFunction`` (``ncclDebugLogger_t``): A log function for certain debugging info.\n\n   *  **Return**:\n\n      *  **Type**: ``ncclResult_t``\n      *  **Description**: The result of the initialization.\n\n*  ``getCollInfo`` (called for each collective call per communicator)\n\n   Retrieves information about the collective algorithm, protocol, and number of channels for the given input parameters.\n\n   *  **Parameters**:\n\n      * ``collType`` (``ncclFunc_t``): The collective type, for example, ``allreduce``, ``allgather``, etc.\n      * ``nBytes`` (``size_t``): The size of the collective in bytes.\n      * ``collNetSupport`` (``int``): Whether ``collNet`` supports this type.\n      * ``nvlsSupport`` (``int``): Whether NVLink SHARP supports this type.\n      * ``numPipeOps`` (``int``): The number of operations in the group.\n  \n   *  **Outputs**:\n\n      * ``algorithm`` (``int*``): The selected algorithm to be used for the given collective.\n      * ``protocol`` (``int*``): The selected protocol to be used for the given collective.\n      * ``nChannels`` (``int*``): The number of channels (and SMs) to be used.\n     \n   *  **Description**:\n\n      If ``getCollInfo()`` does not return ``ncclSuccess``, RCCL falls back to its default tuning for the given collective.\n      The tuner is allowed to leave fields unset, in which case RCCL automatically sets those fields.\n\n   *  **Return**:\n\n      *  **Type**: ``ncclResult_t``\n      *  **Description**: The result of the operation.\n\n*  ``destroy`` (called upon communicator finalization with ``ncclCommFinalize``)\n\n   Terminates the plugin and cleans up any resources allocated by the tuner.\n\n   *  **Return**:\n\n      *  **Type**: ``ncclResult_t`` \n      *  **Description**: The result of the cleanup process.\n\nBuild and usage instructions\n============================\n\nTo use the external plugin, implement the desired algorithm and protocol selection technique using the API described above.\nAs a reference, the `following example <https://github.com/ROCm/rccl/blob/develop/ext-tuner/example/plugin.c>`_ is based on the\nMI300 tuning table by default.\n\nBuilding and using the example libnccl-tuner.so file\n-----------------------------------------------------\n\n#. Build the ``libnccl-tuner.so`` file following `the example Makefile <https://github.com/ROCm/rccl/blob/develop/ext-tuner/example/Makefile>`_.\n\n   .. code-block:: shell\n\n      cd $RCCL_HOME/ext-tuner/example/\n      make\n\n#. Tell RCCL to use the custom ``libnccl-tuner.so`` file by setting the following environment variable\n   to the file path:\n\n   .. code-block:: shell\n\n      export NCCL_TUNER_PLUGIN=$RCCL_HOME/ext-tuner/example/libnccl-tuner.so\n"
  },
  {
    "path": "docs/index.rst",
    "content": ".. meta::\n   :description: RCCL is a stand-alone library that provides multi-GPU and multi-node collective communication primitives optimized for AMD GPUs\n   :keywords: RCCL, ROCm, library, API\n\n.. _index:\n\n******************\nRCCL documentation\n******************\n\nThe ROCm Communication Collectives Library (RCCL) is a stand-alone library\nthat provides multi-GPU and multi-node collective communication primitives\noptimized for AMD GPUs. It uses PCIe and xGMI high-speed interconnects.\nTo learn more, see :doc:`what-is-rccl`\n\nThe RCCL public repository is located at `<https://github.com/ROCm/rccl>`_.\n\n.. grid:: 2\n  :gutter: 3\n\n  .. grid-item-card:: Install\n\n    * :doc:`Installing RCCL using the install script <./install/installation>`\n    * :doc:`Running RCCL using Docker <./install/docker-install>`\n    * :doc:`Building and installing RCCL from source code <./install/building-installing>`\n\n  .. grid-item-card:: How to\n\n    * :doc:`Using the RCCL Tuner plugin <./how-to/using-rccl-tuner-plugin-api>`\n    * :doc:`Using the NCCL Net plugin <./how-to/using-nccl>`\n    * :doc:`Troubleshoot RCCL <./how-to/troubleshooting-rccl>`\n    * :doc:`RCCL usage tips <./how-to/rccl-usage-tips>`\n\n\n  .. grid-item-card:: Examples\n\n    * `RCCL Tuner plugin examples <https://github.com/ROCm/rccl/tree/develop/ext-tuner/example>`_\n    * `NCCL Net plugin examples <https://github.com/ROCm/rccl/tree/develop/ext-net/example>`_\n\n  .. grid-item-card:: API reference\n\n    * :ref:`Library specification<library-specification>`\n    * :ref:`api-library`\n    * :ref:`Environment variables<env-variables>`\n\nTo contribute to the documentation, see\n`Contributing to ROCm  <https://rocm.docs.amd.com/en/latest/contribute/contributing.html>`_.\n\nYou can find licensing information on the\n`Licensing <https://rocm.docs.amd.com/en/latest/about/license.html>`_ page.\n"
  },
  {
    "path": "docs/install/building-installing.rst",
    "content": ".. meta::\r\n   :description: Information on how to build the RCCL library from source code\r\n   :keywords: RCCL, ROCm, library, API, build, install\r\n\r\n.. _building-from-source:\r\n\r\n*********************************************\r\nBuilding and installing RCCL from source code\r\n*********************************************\r\n\r\nTo build RCCL directly from the source code, follow these steps. This guide also includes\r\ninstructions explaining how to test the build.\r\nFor information on using the quick start install script to build RCCL, see :doc:`installation`.\r\n\r\nRequirements\r\n============\r\n\r\nThe following prerequisites are required to build RCCL:\r\n\r\n1. ROCm-supported GPUs\r\n2. Having the ROCm stack installed on the system, including the :doc:`HIP runtime <hip:index>` and the HIP-Clang compiler.\r\n\r\nBuilding the library using CMake:\r\n---------------------------------\r\n\r\nTo build the library from source, follow these steps:\r\n\r\n.. code-block:: shell\r\n\r\n    git clone --recursive https://github.com/ROCm/rccl.git\r\n    cd rccl\r\n    mkdir build\r\n    cd build\r\n    cmake ..\r\n    make -j 16      # Or some other suitable number of parallel jobs\r\n\r\nIf you have already cloned the repository, you can checkout the external submodules manually.\r\n\r\n.. code-block:: shell\r\n\r\n    git submodule update --init --recursive --depth=1\r\n\r\nYou can substitute a different installation path by providing the path as a parameter\r\nto ``CMAKE_INSTALL_PREFIX``, for example:\r\n\r\n.. code-block:: shell\r\n\r\n    cmake -DCMAKE_INSTALL_PREFIX=$PWD/rccl-install -DCMAKE_BUILD_TYPE=Release ..\r\n\r\n.. note::\r\n\r\n    Ensure ROCm CMake is installed using the command ``apt install rocm-cmake``. By default,\r\n    CMake builds the component in debug mode unless ``DCMAKE_BUILD_TYPE`` is specified.\r\n\r\n\r\nBuilding the RCCL package and install package:\r\n----------------------------------------------\r\n\r\nAfter you have cloned the repository and built the library as described in the previous section,\r\nuse this command to build the package:\r\n\r\n.. code-block:: shell\r\n\r\n    cd rccl/build\r\n    make package\r\n    sudo dpkg -i *.deb\r\n\r\n.. note::\r\n   \r\n   The RCCL package install process requires ``sudo`` or root access because it creates a directory\r\n   named ``rccl`` in ``/opt/rocm/``. This is an optional step. RCCL can be used directly by including the path containing ``librccl.so``.\r\n\r\nTesting RCCL\r\n============\r\n\r\nThe RCCL unit tests are implemented using the Googletest framework in RCCL. These unit tests require Googletest 1.10\r\nor higher to build and run (this dependency can be installed using the ``-d`` option for ``install.sh``).\r\nTo run the RCCL unit tests, go to the ``build`` folder and the ``test`` subfolder,\r\nthen run the appropriate RCCL unit test executables.\r\n\r\nThe RCCL unit test names follow this format:\r\n\r\n.. code-block:: shell\r\n\r\n    CollectiveCall.[Type of test]\r\n\r\nFiltering of the RCCL unit tests can be done using environment variables\r\nand by passing the ``--gtest_filter`` command line flag:\r\n\r\n.. code-block:: shell\r\n\r\n    UT_DATATYPES=ncclBfloat16 UT_REDOPS=prod ./rccl-UnitTests --gtest_filter=\"AllReduce.C*\"\r\n\r\nThis command runs only the ``AllReduce`` correctness tests with the ``float16`` datatype.\r\nA list of the available environment variables for filtering appears at the top of every run.\r\nSee the `Googletest documentation <https://google.github.io/googletest/advanced.html#running-a-subset-of-the-tests>`_\r\nfor more information on how to form advanced filters.\r\n\r\nThere are also other performance and error-checking tests for RCCL. They are maintained separately at `<https://github.com/ROCm/rccl-tests>`_.\r\n\r\n.. note::\r\n\r\n    For more information on how to build and run rccl-tests, see the `rccl-tests README file <https://github.com/ROCm/rccl-tests/blob/develop/README.md>`_ .\r\n"
  },
  {
    "path": "docs/install/docker-install.rst",
    "content": ".. meta::\n   :description: Instruction on how to install the RCCL library for collective communication primitives using Docker\n   :keywords: RCCL, ROCm, library, API, install, Docker\n\n.. _install-docker:\n\n*****************************************\nRunning RCCL using Docker\n*****************************************\n\nTo use Docker to run RCCL, Docker must already be installed on the system.\nTo build the Docker image and run the container, follow these steps.\n\n#. Build the Docker image\n\n   By default, the Dockerfile uses ``docker.io/rocm/dev-ubuntu-22.04:latest`` as the base Docker image.\n   It then installs RCCL and rccl-tests (in both cases, it uses the version from the ``develop`` branch).\n\n   Use this command to build the Docker image:\n\n   .. code-block:: shell\n\n      docker build -t rccl-tests -f Dockerfile.ubuntu --pull .\n\n   The base Docker image, rccl repository, rccl-tests repository, and GPU targets can be modified\n   by using ``--build-args`` in the ``docker build`` command above. For example, to use a different base Docker image for the MI250 GPU,\n   use this command:\n\n   .. code-block:: shell\n\n      docker build -t rccl-tests -f Dockerfile.ubuntu --build-arg=\"ROCM_IMAGE_NAME=rocm/dev-ubuntu-20.04\" --build-arg=\"ROCM_IMAGE_TAG=6.2\" --build-arg=\"GPU_TARGETS=gfx90a\" --pull .\n\n#. Launch an interactive Docker container on a system with AMD GPUs:\n\n   .. code-block:: shell\n\n      docker run --rm --device=/dev/kfd --device=/dev/dri --group-add video --ipc=host --network=host --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -it rccl-tests /bin/bash\n\nTo run, for example, the ``all_reduce_perf`` test from rccl-tests on 8 AMD GPUs from inside the Docker container, use this command\nfor ROCm 6.4.1 or earlier:\n\n.. code-block:: shell\n\n   mpirun --allow-run-as-root -np 8 --mca pml ucx --mca btl ^openib -x NCCL_DEBUG=VERSION -x HSA_NO_SCRATCH_RECLAIM=1 /workspace/rccl-tests/build/all_reduce_perf -b 1 -e 16G -f 2 -g 1\n\nFor ROCm 6.4.2 or later, use this command:\n\n.. code-block:: shell\n\n   mpirun --allow-run-as-root -np 8 --mca pml ucx --mca btl ^openib -x NCCL_DEBUG=VERSION /workspace/rccl-tests/build/all_reduce_perf -b 1 -e 16G -f 2 -g 1\n\nFor more information on the rccl-tests options, see the `Usage guidelines <https://github.com/ROCm/rccl-tests#usage>`_ in the GitHub repository.\n"
  },
  {
    "path": "docs/install/installation.rst",
    "content": ".. meta::\r\n   :description: Instruction on how to install the RCCL library for collective communication primitives using the quick start install script\r\n   :keywords: RCCL, ROCm, library, API, install\r\n\r\n.. _install:\r\n\r\n*****************************************\r\nInstalling RCCL using the install script\r\n*****************************************\r\n\r\nTo quickly install RCCL using the install script, follow these steps.\r\nFor instructions on building RCCL from the source code, see :doc:`building-installing`.\r\nFor additional tips, see :doc:`../how-to/rccl-usage-tips`.\r\n\r\nRequirements\r\n============\r\n\r\nThe following prerequisites are required to use RCCL:\r\n\r\n1. ROCm-supported GPUs\r\n2. The ROCm stack must be installed on the system, including the :doc:`HIP runtime <hip:index>` and the HIP-Clang compiler.\r\n\r\nQuick start RCCL build\r\n======================\r\n\r\nRCCL directly depends on the HIP runtime plus the HIP-Clang compiler, which are part of the ROCm software stack.\r\nFor ROCm installation instructions, see the :doc:`package manager installation guide <rocm-install-on-linux:install/install-methods/package-manager-index>`.\r\n\r\nUse the `install.sh helper script <https://github.com/ROCm/rccl/blob/develop/install.sh>`_,\r\nlocated in the root directory of the RCCL repository,\r\nto build and install RCCL with a single command. It uses hard-coded configurations that can be specified directly\r\nwhen using cmake. However, it's a great way to get started quickly and provides an\r\nexample of how to build and install RCCL.\r\n\r\nBuilding the library using the install script:\r\n----------------------------------------------\r\n\r\nTo build the library using the install script, use this command:\r\n\r\n.. code-block:: shell\r\n\r\n    ./install.sh\r\n\r\nFor more information on the build options and flags for the install script, run the following command:\r\n\r\n.. code-block:: shell\r\n\r\n    ./install.sh --help\r\n\r\nThe RCCL build and installation helper script options are as follows:\r\n\r\n.. code-block:: shell\r\n\r\n       --address-sanitizer     Build with address sanitizer enabled\r\n    -d|--dependencies          Install RCCL dependencies\r\n       --debug                 Build debug library\r\n       --enable_backtrace      Build with custom backtrace support\r\n       --disable-colltrace     Build without collective trace\r\n       --disable-msccl-kernel  Build without MSCCL kernels\r\n       --enable-mscclpp        Build with MSCCL++ support\r\n    -f|--fast                  Quick-build RCCL (local gpu arch only, no backtrace, and collective trace support)\r\n    -h|--help                  Prints this help message\r\n    -i|--install               Install RCCL library (see --prefix argument below)\r\n    -j|--jobs                  Specify how many parallel compilation jobs to run ($nproc by default)\r\n    -l|--local_gpu_only        Only compile for local GPU architecture\r\n       --amdgpu_targets        Only compile for specified GPU architecture(s). For multiple targets, separate by ';' (builds for all supported GPU architectures by default)\r\n       --no_clean              Don't delete files if they already exist\r\n       --npkit-enable          Compile with npkit enabled\r\n       --openmp-test-enable    Enable OpenMP in rccl unit tests\r\n       --roctx-enable          Compile with roctx enabled (example usage: rocprof --roctx-trace ./rccl-program)\r\n    -p|--package_build         Build RCCL package\r\n       --prefix                Specify custom directory to install RCCL to (default: `/opt/rocm`)\r\n       --rm-legacy-include-dir Remove legacy include dir Packaging added for file/folder reorg backward compatibility\r\n       --run_tests_all         Run all rccl unit tests (must be built already)\r\n    -r|--run_tests_quick       Run small subset of rccl unit tests (must be built already)\r\n       --static                Build RCCL as a static library instead of shared library\r\n    -t|--tests_build           Build rccl unit tests, but do not run\r\n       --time-trace            Plot the build time of RCCL (requires `ninja-build` package installed on the system)\r\n       --verbose               Show compile commands\r\n\r\n.. tip::\r\n\r\n    By default, the RCCL install script builds all the GPU targets that are defined in ``DEFAULT_GPUS`` in `CMakeLists.txt <https://github.com/ROCm/rccl/blob/develop/CMakeLists.txt>`_.\r\n    To target specific GPUs and potentially reduce the build time, use ``--amdgpu_targets`` along with\r\n    a semicolon (``;``) separated string list of the GPU targets.\r\n"
  },
  {
    "path": "docs/license.rst",
    "content": ".. meta::\r\n   :description: RCCL licensing information\r\n   :keywords: RCCL, ROCm, library, API, license\r\n\r\nLicense\r\n=======\r\n\r\n.. include:: ../LICENSE.txt\r\n"
  },
  {
    "path": "docs/sphinx/_toc.yml.in",
    "content": "root: index\nsubtrees:\n\n- entries:\n  - file: what-is-rccl.rst\n    title: What is RCCL?\n\n- caption: Install\n  entries:\n  - file: install/installation\n    title: Installation guide\n  - file: install/docker-install\n    title: Running RCCL using Docker\n  - file: install/building-installing\n    title: Building and installing from source\n\n- caption: How to\n  entries:\n  - file: how-to/using-rccl-tuner-plugin-api\n    title: Using the RCCL Tuner plugin\n  - file: how-to/using-nccl\n    title: Using the NCCL Net plugin\n  - file: how-to/troubleshooting-rccl\n    title: Troubleshoot RCCL\n  - file: how-to/rccl-usage-tips\n\n- caption: Examples\n  entries:\n  - url: https://github.com/ROCm/rccl/tree/develop/ext-tuner/example\n    title: RCCL Tuner plugin examples\n  - url: https://github.com/ROCm/rccl/tree/develop/ext-net/example\n    title: NCCL Net plugin examples\n\n- caption: API reference\n  entries:\n  - file: api-reference/library-specification\n    title: Library specification\n  - file: api-reference/api-library\n  - file: api-reference/env-variables\n    title: Environment variables\n\n- caption: About\n  entries:\n  - file: license\n  - file: attributions\n"
  },
  {
    "path": "docs/sphinx/requirements.in",
    "content": "rocm-docs-core==1.29.0\n"
  },
  {
    "path": "docs/sphinx/requirements.txt",
    "content": "#\n# This file is autogenerated by pip-compile with Python 3.10\n# by the following command:\n#\n#    pip-compile requirements.in\n#\naccessible-pygments==0.0.5\n    # via pydata-sphinx-theme\nalabaster==0.7.16\n    # via sphinx\nasttokens==3.0.0\n    # via stack-data\nattrs==24.3.0\n    # via\n    #   jsonschema\n    #   jupyter-cache\n    #   referencing\nbabel==2.15.0\n    # via\n    #   pydata-sphinx-theme\n    #   sphinx\nbeautifulsoup4==4.12.3\n    # via pydata-sphinx-theme\nbreathe==4.35.0\n    # via rocm-docs-core\ncertifi==2024.7.4\n    # via requests\ncffi==2.0.0\n    # via\n    #   cryptography\n    #   pynacl\ncharset-normalizer==3.3.2\n    # via requests\nclick==8.1.7\n    # via\n    #   jupyter-cache\n    #   sphinx-external-toc\ncomm==0.2.2\n    # via ipykernel\ncryptography==44.0.1\n    # via pyjwt\ndebugpy==1.8.12\n    # via ipykernel\ndecorator==5.1.1\n    # via ipython\ndeprecated==1.2.14\n    # via pygithub\ndocutils==0.21.2\n    # via\n    #   breathe\n    #   myst-parser\n    #   pydata-sphinx-theme\n    #   sphinx\nexceptiongroup==1.2.2\n    # via ipython\nexecuting==2.1.0\n    # via stack-data\nfastjsonschema==2.19.1\n    # via\n    #   nbformat\n    #   rocm-docs-core\ngitdb==4.0.11\n    # via gitpython\ngitpython==3.1.43\n    # via rocm-docs-core\ngreenlet==3.1.1\n    # via sqlalchemy\nidna==3.7\n    # via requests\nimagesize==1.4.1\n    # via sphinx\nimportlib-metadata==8.6.1\n    # via\n    #   jupyter-cache\n    #   myst-nb\nipykernel==6.29.5\n    # via myst-nb\nipython==8.31.0\n    # via\n    #   ipykernel\n    #   myst-nb\njedi==0.19.2\n    # via ipython\njinja2==3.1.6\n    # via\n    #   myst-parser\n    #   sphinx\njsonschema==4.23.0\n    # via nbformat\njsonschema-specifications==2024.10.1\n    # via jsonschema\njupyter-cache==1.0.1\n    # via myst-nb\njupyter-client==8.6.3\n    # via\n    #   ipykernel\n    #   nbclient\njupyter-core==5.7.2\n    # via\n    #   ipykernel\n    #   jupyter-client\n    #   nbclient\n    #   nbformat\nmarkdown-it-py==3.0.0\n    # via\n    #   mdit-py-plugins\n    #   myst-parser\nmarkupsafe==2.1.5\n    # via jinja2\nmatplotlib-inline==0.1.7\n    # via\n    #   ipykernel\n    #   ipython\nmdit-py-plugins==0.4.1\n    # via myst-parser\nmdurl==0.1.2\n    # via markdown-it-py\nmyst-nb==1.1.2\n    # via rocm-docs-core\nmyst-parser==3.0.1\n    # via myst-nb\nnbclient==0.10.2\n    # via\n    #   jupyter-cache\n    #   myst-nb\nnbformat==5.10.4\n    # via\n    #   jupyter-cache\n    #   myst-nb\n    #   nbclient\nnest-asyncio==1.6.0\n    # via ipykernel\npackaging==24.0\n    # via\n    #   ipykernel\n    #   sphinx\nparso==0.8.4\n    # via jedi\npexpect==4.9.0\n    # via ipython\nplatformdirs==4.3.6\n    # via jupyter-core\nprompt-toolkit==3.0.50\n    # via ipython\npsutil==6.1.1\n    # via ipykernel\nptyprocess==0.7.0\n    # via pexpect\npure-eval==0.2.3\n    # via stack-data\npycparser==2.22\n    # via cffi\npydata-sphinx-theme==0.16.1\n    # via\n    #   rocm-docs-core\n    #   sphinx-book-theme\npygithub==2.3.0\n    # via rocm-docs-core\npygments==2.18.0\n    # via\n    #   accessible-pygments\n    #   ipython\n    #   pydata-sphinx-theme\n    #   sphinx\npyjwt[crypto]==2.8.0\n    # via pygithub\npynacl==1.6.2\n    # via pygithub\npython-dateutil==2.9.0.post0\n    # via jupyter-client\npyyaml==6.0.1\n    # via\n    #   jupyter-cache\n    #   myst-nb\n    #   myst-parser\n    #   rocm-docs-core\n    #   sphinx-external-toc\npyzmq==26.2.0\n    # via\n    #   ipykernel\n    #   jupyter-client\nreferencing==0.36.1\n    # via\n    #   jsonschema\n    #   jsonschema-specifications\nrequests==2.32.4\n    # via\n    #   pygithub\n    #   sphinx\nrocm-docs-core==1.29.0\n    # via -r requirements.in\nrpds-py==0.22.3\n    # via\n    #   jsonschema\n    #   referencing\nsix==1.17.0\n    # via python-dateutil\nsmmap==5.0.1\n    # via gitdb\nsnowballstemmer==2.2.0\n    # via sphinx\nsoupsieve==2.5\n    # via beautifulsoup4\nsphinx==7.3.7\n    # via\n    #   breathe\n    #   myst-nb\n    #   myst-parser\n    #   pydata-sphinx-theme\n    #   rocm-docs-core\n    #   sphinx-book-theme\n    #   sphinx-copybutton\n    #   sphinx-design\n    #   sphinx-external-toc\n    #   sphinx-notfound-page\nsphinx-book-theme==1.1.2\n    # via rocm-docs-core\nsphinx-copybutton==0.5.2\n    # via rocm-docs-core\nsphinx-design==0.6.0\n    # via rocm-docs-core\nsphinx-external-toc==1.0.1\n    # via rocm-docs-core\nsphinx-notfound-page==1.0.2\n    # via rocm-docs-core\nsphinxcontrib-applehelp==1.0.8\n    # via sphinx\nsphinxcontrib-devhelp==1.0.6\n    # via sphinx\nsphinxcontrib-htmlhelp==2.0.5\n    # via sphinx\nsphinxcontrib-jsmath==1.0.1\n    # via sphinx\nsphinxcontrib-qthelp==1.0.7\n    # via sphinx\nsphinxcontrib-serializinghtml==1.1.10\n    # via sphinx\nsqlalchemy==2.0.37\n    # via jupyter-cache\nstack-data==0.6.3\n    # via ipython\ntabulate==0.9.0\n    # via jupyter-cache\ntomli==2.0.1\n    # via sphinx\ntornado==6.5.1\n    # via\n    #   ipykernel\n    #   jupyter-client\ntraitlets==5.14.3\n    # via\n    #   comm\n    #   ipykernel\n    #   ipython\n    #   jupyter-client\n    #   jupyter-core\n    #   matplotlib-inline\n    #   nbclient\n    #   nbformat\ntyping-extensions==4.12.0\n    # via\n    #   ipython\n    #   myst-nb\n    #   pydata-sphinx-theme\n    #   pygithub\n    #   referencing\n    #   sqlalchemy\nurllib3==2.6.3\n    # via\n    #   pygithub\n    #   requests\nwcwidth==0.2.13\n    # via prompt-toolkit\nwrapt==1.16.0\n    # via deprecated\nzipp==3.21.0\n    # via importlib-metadata\n"
  },
  {
    "path": "docs/what-is-rccl.rst",
    "content": ".. meta::\n   :description: RCCL is a stand-alone library that provides multi-GPU and multi-node collective communication primitives optimized for AMD GPUs\n   :keywords: RCCL, ROCm, library, API\n\n.. _what-is:\n\n******************\nWhat is RCCL?\n******************\n\nThe ROCm Communication Collectives Library (RCCL) includes multi-GPU and\nmulti-node collective communication primitives optimized for AMD GPUs.\nIt implements routines such as ``all-reduce``, ``all-gather``, ``reduce``,\n``broadcast``, ``reduce-scatter``, ``gather``, ``scatter``, ``all-to-allv``,\nand ``all-to-all``, as well as direct point-to-point (GPU-to-GPU) send\nand receive operations. It is optimized to achieve high bandwidth\non platforms using PCIe and xGMI and networking using InfiniBand Verbs or TCP/IP\nsockets. RCCL supports an arbitrary number of GPUs installed in a single node\nor multiple nodes and can be used in either\nsingle- or multi-process (for example, MPI) applications.\n\nThe collective operations are implemented using ring and tree algorithms and have been optimized\nfor throughput and latency by leveraging topology awareness, high-speed interconnects,\nand RDMA-based collectives. For best performance, small operations can be either\nbatched into larger operations or aggregated through the API.\n\nRCCL uses PCIe and xGMI high-speed interconnects for intra-node communication\nas well as InfiniBand, RoCE, and TCP/IP for inter-node communication.\nIt supports an arbitrary number of GPUs installed in a single-node or\nmulti-node platform and can easily integrate into\nsingle- or multi-process (for example, MPI) applications."
  },
  {
    "path": "ext-net/README.md",
    "content": "# NCCL Net Plugin Documentation\n\nThis page describes the NCCL Net plugin API and how to implement a network plugin for NCCL.\n\n# Overview\n\nTo allow NCCL to work on any network type, NCCL provides a way to use external plugins. Plugins\nimplement the NCCL network API, and decouple NCCL binary builds which are built against a\nparticular version of the GPU stack (i.e. CUDA) from the network code which is built against a\nparticular version of the networking stack. That way, we can easily integrate any CUDA version\nwith any network stack version.\n\nNCCL network plugins come as a shared library called `libnccl-net.so`. That shared library\ncontains one or more implementations of the NCCL NET API, in the form of versioned structs,\nfilled with pointers to all required functions.\n\n# Plugin architecture\n\n## Plugin name and supporting multiple network plugins\n\nWhen NCCL is initialized, it will look for a `libnccl-net.so` library and dynamically load it,\nthen look for symbols inside the library.\n\nThe `NCCL_NET_PLUGIN` environment variable allows multiple plugins to coexist. If set, NCCL\nwill look for a library with a name of `libnccl-net-${NCCL_NET_PLUGIN}.so`. It is therefore\nadvised to name the library following that pattern, with a symlink pointing `libnccl-net.so`\nto `libnccl-net-${NCCL_NET_PLUGIN}.so`. That way, if there are multiple plugins in the path,\nsetting `NCCL_NET_PLUGIN` will allow users to select the right plugin.\n\n## Struct versioning\n\nOnce a library is found, NCCL will look for a symbol named `ncclNet_vX`, with `X` increasing\nover time. The versioning ensures that the plugin and the NCCL core are compatible.\n\nPlugins are encouraged to provide multiple of those symbols, implementing multiple versions\nof the NCCL NET API, so that the same plugin can be compiled and support a wide range of NCCL\nversions.\n\nConversely, and to ease transition, NCCL can choose to support different plugin versions, looking\nfor the latest ncclNet struct version, but also looking for older ones so that older plugins\nwould still work.\n\n## In-network collective operations, a.k.a. collNet\n\nAdditionally to the ncclNet structure, network plugins can provide a collNet structure which\nimplements in-network collective operations, if supported. That can be used by the NCCL collNet\nalgorithm to accelerate inter-node reductions in allReduce.\n\nThe collNet struct is a different, optional struct provided by the network plugin, but its\nversioning is tied to the ncclNet struct and many functions are common between the two to\nease the implementation.\n\n## Headers management\n\nTo help users build plugins effortlessly, plugins should copy the `ncclNet_vX` definitions\nthey support to their internal includes. An example is shown in `ext-net/example/` where we keep\nall headers in the `nccl/` directory and provide thin layers to implement old versions on top\nof newer ones.\n\nThe `nccl/` directory is populated with `net_vX.h` files extracting all relevant definitions\nfrom old API versions. It also provides error codes in `err.h`.\n\n# API (v11)\n\nBelow is the main `ncclNet_v11` struct. Each function is explained in later sections.\n\n```\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(void** ctx, uint64_t commId, ncclNetCommConfig_v11_t* config, ncclDebugLogger_t logFunction, ncclProfilerCallback_t profFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v11_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(void* ctx, int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with sendComm == NULL with the expectation that\n  // it will be called again until sendComm != NULL.\n  // If *sendDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*connect)(void* ctx, int dev, void* handle, void** sendComm, ncclNetDeviceHandle_v11_t** sendDevComm);\n  // Finalize connection establishment after remote peer has called connect.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with recvComm == NULL with the expectation that\n  // it will be called again until recvComm != NULL.\n  // If *recvDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*accept)(void* listenComm, void** recvComm, ncclNetDeviceHandle_v11_t** recvDevComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, size_t size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, size_t size, int tag, void* mhandle, void* pHandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles, void** pHandles, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* sizes);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n\n  // Copy the given mhandle to a dptr in a format usable by this plugin's device code\n  ncclResult_t (*getDeviceMr)(void* comm, void* mhandle, void** dptr_mhandle);\n\n  // Notify the plugin that a recv has completed by the device\n  ncclResult_t (*irecvConsumed)(void* recvComm, int n, void* request);\n\n  // Virtual NIC APIs. makeVDevice will create a virtual NIC given the specified properties, and tell the caller\n  // what index this new vNIC exists at\n  ncclResult_t (*makeVDevice)(int* d, ncclNetVDeviceProps_t* props);\n} ncclNet_t;\n```\n\n## Error codes\n\nAll plugins functions use NCCL error codes as return value. `ncclSuccess` should be returned upon\nsuccess.\n\nOtherwise, plugins can return one of the following:\n - `ncclSystemError` is the most common error for network plugins, when a call to the linux kernel\nor a system library fails. This typically includes all network/hardware errors.\n - `ncclInternalError` is returned when the NCCL core code is using the network plugin in an\nincorrect way, for example allocating more requests than it should, or passing an invalid argument\nto calls.\n - `ncclInvalidUsage` should be returned when the error is most likely a user error. This can\ninclude misconfiguration, but also sizes mismatch.\n - `ncclInvalidArgument` should usually not be used by plugins since arguments should be checked by\nthe NCCL core layer.\n - `ncclUnhandledCudaError` is returned when an error comes from CUDA. Since network plugins should\nnot need to rely on CUDA, this should not be common.\n\n## Operation overview\n\nNCCL will call the `init` function first, then query the number of network devices with the\n`devices` function, getting each network device properties with `getProperties`.\n\nIf NCCL wishes to initialize virtual devices, used in NIC fusion currently, it can call `makeVDevice`\nspecifying a list of physical devices (the original devices listed from `devices`) it wishes to\nmerge together. If the plugin does not support NIC fusion, it can set `makeVDevice` to null.\n\nTo establish a connection between two network devices, NCCL will first call `listen` on the\nreceiving side, pass the returned handle to the sender side of the connection, and call `connect`\nwith that handle. Finally, `accept` will be called on the receiving side to finalize the connection\nestablishment.\n\n`connect` and `accept` can receive an optional `netDevComm` pointer from the caller, if the caller\nwishes to make use of device networking. This parameter may be ignored by the plugin if it does\nnot support device-side networking.\n\nOnce the connection is established, communication will be done using the functions `isend`,\n`irecv` and `test`. Prior to calling `isend` or `irecv`, NCCL will call the `regMr` function on\nall buffers to allow RDMA NICs to prepare buffers. `deregMr` will be used to unregister buffers.\n\nIn certain conditions, `iflush` will be called after a receive calls completes to allow the network\nplugin to flush data and ensure the GPU will observe the newly written data.\n\nTo close the connections NCCL will call `closeListen` to close the object returned by `listen`,\n`closeSend` to close the object returned by `connect` and `closeRecv` to close the object returned\nby `accept`.\n\n## API Functions\n\n### Initialization\n`name`\n\nThe `name` field should point to a character string with the name of the network plugin. This will\nbe used for all logging, especially when `NCCL_DEBUG=INFO` is set.\n\nNote: setting `NCCL_NET=<plugin name>` will ensure a specific network implementation is used, with\na matching `name`. This is not to be confused with `NCCL_NET_PLUGIN` which defines a suffix to the\n`libnccl-net.so`library name to load.\n\n`init`\n\nAs soon as NCCL finds the plugin and the correct ncclNet symbol, it will call the `init` function.\nThis will allow the plugin to discover network devices and make sure they are usable. If the\n`init` function does not return `ncclSuccess`, then NCCL will not use the plugin and fall back on\ninternal ones.\n\nEvery call to `init` returns an opaque context that the plugin uses internally to allocate resources\nand manage state. Such context is passed to other net plugin calls that create further resources,\nsuch as `listen` and `connect`. Every context is uniquely associated to a communicator\nusing the commId. The network can also be initialized with a per communicator configuration using\nthe `config` argument.\n\nTo allow the plugin logs to integrate into the NCCL logs seemlessly, NCCL provides a logging\nfunction to `init`. This function is typically used to allow for `INFO` and `WARN` macros within\nthe plugin code adding the following definitions:\n\n```\n#define WARN(...) logFunction(NCCL_LOG_WARN, NCCL_ALL, __FILE__, __LINE__, __VA_ARGS__)\n#define INFO(FLAGS, ...) logFunction(NCCL_LOG_INFO, (FLAGS), __func__, __LINE__, __VA_ARGS__)\n```\n\nThe `ncclProfilerCallback_t` argument is a NCCL core callback that allows the plugin to define and\nrecord its own events with the NCCL profiler plugin.\n\n`devices`\n\nOnce the plugin is initialized, NCCL will query the number of devices available. It should not\nbe zero, otherwise NCCL initialization will fail. If no device is present or usable, the `init`\nfunction should not return `ncclSuccess`.\n\n`getProperties`\n\nRight after getting the number of devices, NCCL will query properties for each available network\ndevice. These properties are critical when multiple adapters are present to ensure NCCL uses each\nadapter in the most optimized way.\n\nThe `name` is only used for logging.\n\nThe `pciPath` is the base for all topology detection and should point to the PCI device directory\nin /sys. This is typically the directory pointed by `/sys/class/net/eth0/device` or\n`/sys/class/infiniband/mlx5_0/device`. If the network interface is virtual, then `pciPath` should\nbe `NULL`.\n\nThe `guid` field is used to determine when network adapters are connected to multiple PCI\nendpoints. For normal cases, it can be set to the device number. If multiple network devices have\nthe same guid, then NCCL will consider the are sharing the same network port to the fabric, hence\nit will not use the port multiple times.\n\nThe `ptrSupport` field indicates whether or not CUDA pointers are supported. If so, it should be\nset to `NCCL_PTR_HOST|NCCL_PTR_CUDA`, otherwise it should be set to `NCCL_PTR_HOST`. If the plugin\nsupports `dmabuf`, it should set `ptrSupport` to `NCCL_PTR_HOST|NCCL_PTR_CUDA|NCCL_PTR_DMABUF` and\nprovide a `regMrDmaBuf` function.\n\nThe `regIsGlobal` field allows NCCL to register buffers in advance using e.g. a loopback connection\nand later on, expect that another registration on a buffer contained within a previous registration\nwill be nearly immediate, as the buffer is already known by the network adapter. A typical\nimplementation would maintain a registration cache; the call to ncclCommRegister will create the\ninitial entry in the cache using regMr() on a loopback connection. Any later call to NCCL\noperations will call regMr() again on the real connection, with the real buffer (could be at a\ndifferent offset within the original buffer, with a smaller size, etc), then deregMr() right after.\nThe call to ncclCommDeregister should call the final deregMr() and effectively remove the mapping\non the network adapter.\n\nThe `forceFlush` field can request the NCCL core to call flush for all transfers. By default,\nflushes are only called when the GPU architecture or PCI topology would not not guarantee correct\nPCI ordering. Plugins can set it to one if the NIC operates in a mode where e.g. the data and the\ncompletion paths use different PCI links and therefore need a call to flush() to guarantee\nordering.\n\nThe `speed` field indicates the speed of the network port in Mbps (10^6 bits per second). This is\nimportant to ensure proper optimization of flows within the node.\n\nThe `port` field indicates the port number. This is important again for topology detection and flow\noptimization within the node when a NIC with a single PCI connection is connected to the fabric\nwith multiple ports.\n\nThe `latency` field indicates the network latency in microseconds. This can be useful to improve\nthe NCCL tuning and make sure NCCL switches from tree to ring at the right size.\n\nThe `maxComms` field indicates the maximum number of connections we can create.\n\nThe `maxRecvs` field indicates the maximum number for grouped receive operations (see grouped\nreceive).\n\nThe `netDeviceType` indicates which type of device networking this plugin supports. The current supported\noptions are `NCCL_NET_DEVICE_HOST` and `NCCL_NET_DEVICE_UNPACK`.\n\nThe `netDeviceVersion` indicates the version of device networking this plugin supports. Currently, this must match the associated netDeviceVersion of this netDeviceType compiled into NCCL core. Net device functionality is built as apart of NCCL core's device code.\n\nThe `maxP2pBytes` and `maxCollBytes` fields indicate the maximum size the plugin can handle for\npoint-to-point and collective calls. This will tell the NCCL core to cut large operations into\nmultiple smaller chunks if needed.\n\n`vProps` is the list of devices that have been fused into the current device. Each entry is an index pointing to the child device.\n\n### Connection establishment\n\nConnections are used in an unidirectional manner. There is therefore a sender side and a receiver\nside.\n\n`listen`\n\nTo create a connection, NCCL will start by calling `listen` on the receiver side. This function\ntakes the opaque plugin context returned by `init` and a device number as input argument, and should return a local `listenComm` object, and a\n`handle` to pass to the other side, so that the sender side can connect to the receiver.\n\nThe `handle` is a buffer of size `NCCL_NET_HANDLE_MAXSIZE` and is provided by NCCL.\n\nThis call should never block, but contrary to `connect` and `accept`, `listenComm` should never\nbe `NULL` if the call succeeds.\n\n`connect`\n\nNCCL will use its bootstrap infrastructure to provide the `handle` to the sender side, then call\n`connect` on the sender side on a given device index `dev`, providing the `handle`. `connect`\nshould not block either, and instead set `sendComm` to `NULL` and return `ncclSuccess`. In that\ncase, NCCL will call `accept` again until it succeeds.\n\n`accept`\n\nTo finalize the connection, the receiver side will call `accept` on the `listenComm` returned by\nthe `listen` call previously. If the sender did not connect yet, `accept` should not block. It\nshould return `ncclSuccess`, setting `recvComm` to `NULL`. NCCL will call `accept` again until it\nsucceeds.\n\nThe `connect` API takes the opaque plugin context returned by `init`. The plugin context can reference\nthe `ncclNetCommConfig_t` passed to the `init` function and containing a trafficClass field.\nThis field can be used by the network plugin to specify the QoS level of the connection. By default,\n`trafficClass` is set to -1 but can be configured by the application during communicator initialization\nto select a plugin-supported QoS level.\n\n`closeListen`/`closeSend`/`closeRecv`\n\nOnce a `listenComm`/`sendComm`/`recvComm` is no longer needed, NCCL will call\n`closeListen`/`closeSend`/`closeRecv` to free the associated resources.\n\n### Communication\n\nCommunication is done using asynchronous send and receive operations: `isend`, `irecv` and `test`.\nTo support RDMA capabilities, buffer registration and flush functions are provided.\n\nTo keep track of asynchronous send, receive and flush operations, requests are returned to NCCL,\nthen queried with `test`. Each `sendComm` or `recvComm` must be able to handle\n`NCCL_NET_MAX_REQUESTS` requests in parallel.\n\nNote: That value should be multiplied by the multi-receive capability of the plugin for the sender\nside, so that we can effectively have `NCCL_NET_MAX_REQUESTS` multi-receive operations happening\nin parallel. So, if we have a `maxRecvs`value of 8 and `NCCL_NET_MAX_REQUESTS` is 8, then each\n`sendComm` must be able to handle up to 8x8=64 concurrent `isend` operations.\n\n`regMr`\n\nPrior to sending or receiving data, NCCL will call `regMr` with any buffers later used for\ncommunication. It will provide a `sendComm` or `recvComm` as `comm` argument, then the buffer\npointer `data`, `size`, and `type` being either `NCCL_PTR_HOST`, or `NCCL_PTR_CUDA` if the network\nsupports CUDA pointers.\n\nThe network plugin can use the output argument `mhandle` to keep any reference to that memory\nregistration, as this `mhandle` will be passed back for all `isend`, `irecv`, `iflush` and\n`deregMr` calls.\n\n`regMrDmaBuf`\n\nIf the plugin has set the `NCCL_PTR_DMABUF` property in `ptrSupport`, NCCL will use `regMrDmaBuf`\ninstead of `regMr`. If the property was not set, `regMrDmaBuf` can be set to `NULL`.\n\n\n`deregMr`\n\nWhen buffers will no longer be used for communication, NCCL will call `deregMr` to let the plugin\nfree resources. This function is used to deregister handles returned by both `regMr` and\n`regMrDmaBuf`.\n\n`isend`\n\nData will be sent through the connection using `isend`, passing the `sendComm` previously\ncreated by `connect`, and the buffer described by `data`, `size`, and `mhandle`. A `tag` must be\nused if the network supports multi-receive operations (see `irecv`) to distinguish between\ndifferent sends matching the same multi-receive. Otherwise it can be set to 0.\n\nThe `isend` operation returns a handle in the `request` argument for further calls to `test`. If\nthe `isend` operation cannot be initiated, `request` can be set to `NULL` and NCCL will call\n`isend` again later.\n\nThe `pHandle` argument allows NCCL to pass an opaque handle that can be used by the network plugin\nto support network defined events.\n\n`irecv`\n\nTo receive data, NCCL will call `irecv` with the `recvComm` returned by `accept`. The argument\n`n` will allow NCCL to perform a multi-receive, to allow grouping of multiple sends through a\nsingle network connection. Each buffer will be described by the `data`, `sizes`, and `mhandles`\narrays. `tags` will specify a tag for each receive so that each of the `n` independent `isend`\noperations is received into the right buffer.\n\nIf all receive operations can be initiated, `irecv` will return a handle in the `request` pointer,\notherwise it will set it to `NULL`. In the case of multi-receive, all `n` receive operations are\nhandled by a single request handle.\n\nThe sizes provided to `irecv` can (and will) be larger than the size of the `isend` operation.\nThe contrary (receive size being lower than the send size) is an error, however.\n\nNCCL sets request pointer in `irecv` to `NCCL_NET_OPTIONAL_RECV_COMPLETION` when it is using\nLL or LL128 protocols. In these cases, NCCL polls on flag embedded in data to detect completion\nof irecv and is resilient to redundant network writes. This allows the plugin to optimize request\ncompletions on such irecvs (for example, complete the request immediately). The plugin is still\nexpected to set a valid request pointer on return which NCCL can poll to check for completion.\n\nThe `pHandle` argument allows NCCL to pass an array of opaque handles that can be used by the\nnetwork plugin to support network defined events.\n\nNote: for a given connection, send/receive operations should always match in the order they were\nposted. Tags provided for receive operations are only used to assign a given send operation to one\nof the buffers of the first (multi-)receive in the queue, not to allow for out-of-order tag\nmatching on any receive operation posted.\n\n`test`\n\nAfter an `isend` or `irecv` operation is initiated, NCCL will call `test` on the request handles\nuntil they complete. When that happens, `done` will be set to 1 and `sizes` will be set to the\nreal size sent or received, the latter being potentially lower than the size passed to `irecv`.\n\nIn the case of a multi-receive, all receives will be considered as done as a single operation (the\ngoal being to allow aggregation), hence they share a single request and a single `done` status.\nHowever, they can have different sizes, so when `done` is non-zero, the `sizes` array should\ncontain the `n` sizes corresponding to the buffers passed to `irecv`.\n\nOnce `test` returns 1 in `done`, the request handle can be freed, meaning that NCCL will never\ncall `test` again on that request (until it is reallocated by another call to `isend` or `irecv`).\n\n`iflush`\n\nAfter a receive operation completes, if the operation was targeting GPU memory and received a\nnon-zero number of bytes, NCCL will call `iflush` to let the network flush any buffer and ensure\nthe GPU can read it right after without seeing stale data. This flush operation is decoupled from\nthe `test` code to improve latency of `LL*` protocols, as those are capable of determining when\ndata is valid or not.\n\n`iflush` returns a request which needs to be queried with `test` until it completes.\n"
  },
  {
    "path": "ext-net/example/CMakeLists.txt",
    "content": "set(SRC_FILES\n    ${CMAKE_CURRENT_SOURCE_DIR}/plugin.c\n)\n\n# Create shared library\nadd_library(nccl-net-example SHARED ${SRC_FILES})\n\n# Set include directories\ntarget_include_directories(nccl-net-example PRIVATE\n    ${CMAKE_CURRENT_SOURCE_DIR}/nccl\n)\n\n# Set output name to match Makefile\nset_target_properties(nccl-net-example PROPERTIES\n    OUTPUT_NAME \"nccl-net-example\"\n    PREFIX \"lib\"\n    POSITION_INDEPENDENT_CODE ON\n    LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/test/unit/plugins\n)\n"
  },
  {
    "path": "ext-net/example/Makefile",
    "content": "#\n# Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n.DEFAULT_GOAL: build\ninclude ../../makefiles/common.mk\nSRCDIR   ?= $(abspath ../..)\nBUILDDIR ?= .\nNCCLDIR  := $(BUILDDIR)\n\nSRC_FILES := $(wildcard *.c)\n\nbuild: ${BUILDDIR}/libnccl-net-example.so\n\n${BUILDDIR}/libnccl-net-example.so: ${SRC_FILES}\n\t@printf \"Compiling  %-35s > %s\\n\" $< $@\n\t@mkdir -p ${BUILDDIR}\n\t$(CC) -Inccl -fPIC -shared -o $@ $^\n\nclean:\n\trm -f ${BUILDDIR}/libnccl-net-example.so\n"
  },
  {
    "path": "ext-net/example/nccl/common.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef COMMON_H_\n#define COMMON_H_\n\n#include <stdint.h>\n\ntypedef enum {NCCL_LOG_NONE=0, NCCL_LOG_ERROR=1, NCCL_LOG_VERSION=2, NCCL_LOG_WARN=3, NCCL_LOG_INFO=4, NCCL_LOG_ABORT=5, NCCL_LOG_TRACE=6} ncclDebugLogLevel;\ntypedef enum {NCCL_INIT=1, NCCL_COLL=2, NCCL_P2P=4, NCCL_SHM=8, NCCL_NET=16, NCCL_GRAPH=32, NCCL_TUNING=64, NCCL_ENV=128, NCCL_ALLOC=256, NCCL_CALL=512, NCCL_PROXY=1024, NCCL_NVLS=2048, NCCL_BOOTSTRAP=4096, NCCL_REG=8192, NCCL_ALL=~0} ncclDebugLogSubSys;\n\ntypedef void (*ncclDebugLogger_t)(ncclDebugLogLevel level, unsigned long flags, const char *file, int line, const char *fmt, ...);\n\nenum { ncclProfilerNetEventStart = 0, ncclProfilerNetEventStop, ncclProfilerNetEventUpdate, ncclProfilerNetEventUpdateAndStop };\n\ntypedef ncclResult_t (*ncclProfilerCallback_t)(void** eHandle, int type, void* phandle, int64_t pluginId, void* extData);\n\n#endif\n"
  },
  {
    "path": "ext-net/example/nccl/err.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NCCL_ERR_H_\n#define NCCL_ERR_H_\n\n/* Error type for plugins */\ntypedef enum { ncclSuccess                 =  0,\n               ncclUnhandledCudaError      =  1,\n               ncclSystemError             =  2,\n               ncclInternalError           =  3,\n               ncclInvalidArgument         =  4,\n               ncclInvalidUsage            =  5,\n               ncclRemoteError             =  6 } ncclResult_t;\n\n#endif\n"
  },
  {
    "path": "ext-net/example/nccl/net.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NET_H_\n#define NET_H_\n\n#include <stdint.h>\n#include <stdlib.h>\n\n#include \"err.h\"\n#include \"net_device.h\"\n#include \"common.h\"\n\n#define NCCL_NET_HANDLE_MAXSIZE 128\n#define NCCL_MAX_NET_SIZE_BYTES (1*1024*1024*1024*1024L) //1TB\n#define NCCL_NET_OPTIONAL_RECV_COMPLETION 0x1\n\n#define NCCL_PTR_HOST 0x1\n#define NCCL_PTR_CUDA 0x2\n#define NCCL_PTR_DMABUF 0x4\n\n// Maximum number of requests per comm object\n#define NCCL_NET_MAX_REQUESTS 32\n#define NCCL_NET_MAX_DEVS_PER_NIC 4\n\n#include \"net_v11.h\"\n#include \"net_v10.h\"\n#include \"net_v9.h\"\n#include \"net_v8.h\"\n#include \"net_v7.h\"\n#include \"net_v6.h\"\n#include \"net_v5.h\"\n#include \"net_v4.h\"\n#include \"net_v3.h\"\n#include \"net_v2.h\"\n\ntypedef ncclNet_v11_t ncclNet_t;\ntypedef ncclNetProperties_v11_t ncclNetProperties_t;\ntypedef ncclNetVDeviceProps_v11_t ncclNetVDeviceProps_t;\ntypedef ncclNetCommConfig_v11_t ncclNetCommConfig_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "ext-net/example/nccl/net_device.h",
    "content": "/*************************************************************************\n * Copyright (c) 2023-2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NET_DEVICE_H_\n#define NET_DEVICE_H_\n\n#define NCCL_NET_DEVICE_INVALID_VERSION      0x0\n#define NCCL_NET_MTU_SIZE                    4096\n\n// Arbitrary version number - A given NCCL build will only be compatible with a single device networking plugin\n// version. NCCL will check the supplied version number from net->getProperties() and compare to its internal version.\n#define NCCL_NET_DEVICE_UNPACK_VERSION 0x7\n\ntypedef enum {NCCL_NET_DEVICE_HOST=0, NCCL_NET_DEVICE_UNPACK=1} ncclNetDeviceType;\n\ntypedef struct {\n  ncclNetDeviceType netDeviceType; // Network offload type\n  int netDeviceVersion;            // Version number for network offload\n  void* handle;\n  size_t size;\n  int needsProxyProgress;\n} ncclNetDeviceHandle_v7_t;\n\ntypedef ncclNetDeviceHandle_v7_t ncclNetDeviceHandle_v8_t;\ntypedef ncclNetDeviceHandle_v8_t ncclNetDeviceHandle_v9_t;\ntypedef ncclNetDeviceHandle_v9_t ncclNetDeviceHandle_v10_t;\ntypedef ncclNetDeviceHandle_v10_t ncclNetDeviceHandle_v11_t;\ntypedef ncclNetDeviceHandle_v11_t ncclNetDeviceHandle_t;\n\n#endif\n"
  },
  {
    "path": "ext-net/example/nccl/net_v10.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NET_V10_H_\n#define NET_V10_H_\n\ntypedef struct {\n  int ndevs;\n  int devs[NCCL_NET_MAX_DEVS_PER_NIC];\n} ncclNetVDeviceProps_v10_t;\n\n\n#define NCCL_NET_TRAFFIC_CLASS_UNDEF -1\ntypedef struct {\n  // Plugin-specific TC value\n  int trafficClass;\n} ncclNetCommConfig_v10_t;\n\n\ntypedef struct {\n  char* name;                      // Used mostly for logging.\n  char* pciPath;                   // Path to the PCI device in /sys.\n  uint64_t guid;                   // Unique identifier for the NIC chip. Important for\n                                   // cards with multiple PCI functions (Physical or virtual).\n  int ptrSupport;                  // [NCCL_PTR_HOST|NCCL_PTR_CUDA|NCCL_PTR_DMABUF]\n  int regIsGlobal;                 // regMr is not tied to a particular comm\n  int forceFlush;                  // Force a flush on receives\n  int speed;                       // Port speed in Mbps.\n  int port;                        // Port number.\n  float latency;                   // Network latency\n  int maxComms;                    // Maximum number of comms we can create\n  int maxRecvs;                    // Maximum number of grouped receives.\n  ncclNetDeviceType netDeviceType; // Network offload type\n  int netDeviceVersion;            // Version number for network offload\n  ncclNetVDeviceProps_v10_t vProps;\n  size_t maxP2pBytes;              // Max transfer size for point-to-point operations\n  size_t maxCollBytes;             // Max transfer size for collective operations\n} ncclNetProperties_v10_t;\n\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction, ncclProfilerCallback_t profFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v10_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with sendComm == NULL with the expectation that\n  // it will be called again until sendComm != NULL.\n  // If *sendDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*connect)(int dev, ncclNetCommConfig_v10_t* config, void* handle, void** sendComm, ncclNetDeviceHandle_v10_t** sendDevComm);\n  // Finalize connection establishment after remote peer has called connect.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with recvComm == NULL with the expectation that\n  // it will be called again until recvComm != NULL.\n  // If *recvDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*accept)(void* listenComm, void** recvComm, ncclNetDeviceHandle_v10_t** recvDevComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, size_t size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, size_t size, int tag, void* mhandle, void* phandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles, void** phandles, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* sizes);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n\n  // Copy the given mhandle to a dptr in a format usable by this plugin's device code\n  ncclResult_t (*getDeviceMr)(void* comm, void* mhandle, void** dptr_mhandle);\n\n  // Notify the plugin that a recv has completed by the device\n  ncclResult_t (*irecvConsumed)(void* recvComm, int n, void* request);\n\n  // Virtual NIC APIs. makeVDevice will create a virtual NIC given the specified properties, and tell the caller\n  // what index this new vNIC exists at\n  ncclResult_t (*makeVDevice)(int* d, ncclNetVDeviceProps_v10_t* props);\n} ncclNet_v10_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "ext-net/example/nccl/net_v11.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NET_V11_H_\n#define NET_V11_H_\n\ntypedef struct {\n  int ndevs;\n  int devs[NCCL_NET_MAX_DEVS_PER_NIC];\n} ncclNetVDeviceProps_v11_t;\n\n#define NCCL_NET_TRAFFIC_CLASS_UNDEF -1\n\ntypedef struct {\n  // Plugin-specific TC value\n  int trafficClass;\n} ncclNetCommConfig_v11_t;\n\n\ntypedef struct {\n  char* name;                      // Used mostly for logging.\n  char* pciPath;                   // Path to the PCI device in /sys.\n  uint64_t guid;                   // Unique identifier for the NIC chip. Important for\n                                   // cards with multiple PCI functions (Physical or virtual).\n  int ptrSupport;                  // [NCCL_PTR_HOST|NCCL_PTR_CUDA|NCCL_PTR_DMABUF]\n  int regIsGlobal;                 // regMr is not tied to a particular comm\n  int forceFlush;                  // Force a flush on receives\n  int speed;                       // Port speed in Mbps.\n  int port;                        // Port number.\n  float latency;                   // Network latency\n  int maxComms;                    // Maximum number of comms we can create\n  int maxRecvs;                    // Maximum number of grouped receives.\n  ncclNetDeviceType netDeviceType; // Network offload type\n  int netDeviceVersion;            // Version number for network offload\n  ncclNetVDeviceProps_v11_t vProps;\n  size_t maxP2pBytes;              // Max transfer size for point-to-point operations\n  size_t maxCollBytes;             // Max transfer size for collective operations\n  int maxMultiRequestSize;         // Maximum number of requests supported in a single multi-request.\n} ncclNetProperties_v11_t;\n\ntypedef struct {\n  int32_t maxConcurrentPeers;\n  int32_t minConcurrentPeers;\n  int32_t maxFlowsPerPeer;\n  int32_t minFlowsPerPeer;\n} ncclNetCommAttr_v11_t;\n\ntypedef struct {\n  ncclNetCommAttr_v11_t sendCommAttr;\n  ncclNetCommAttr_v11_t recvCommAttr;\n  uint32_t op;\n  uint32_t algo;\n  uint32_t proto;\n} ncclNetAttr_v11_t;\n\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(void** ctx, uint64_t commId, ncclNetCommConfig_v11_t* config, ncclDebugLogger_t logFunction, ncclProfilerCallback_t profFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v11_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(void* ctx, int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with sendComm == NULL with the expectation that\n  // it will be called again until sendComm != NULL.\n  // If *sendDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*connect)(void* ctx, int dev, void* handle, void** sendComm, ncclNetDeviceHandle_v11_t** sendDevComm);\n  // Finalize connection establishment after remote peer has called connect.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with recvComm == NULL with the expectation that\n  // it will be called again until recvComm != NULL.\n  // If *recvDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*accept)(void* listenComm, void** recvComm, ncclNetDeviceHandle_v11_t** recvDevComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, size_t size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, size_t size, int tag, void* mhandle, void* phandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles, void** phandles, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* sizes);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n\n  // Copy the given mhandle to a dptr in a format usable by this plugin's device code\n  ncclResult_t (*getDeviceMr)(void* comm, void* mhandle, void** dptr_mhandle);\n\n  // Notify the plugin that a recv has completed by the device\n  ncclResult_t (*irecvConsumed)(void* recvComm, int n, void* request);\n\n  // Virtual NIC APIs. makeVDevice will create a virtual NIC given the specified properties, and tell the caller\n  // what index this new vNIC exists at\n  ncclResult_t (*makeVDevice)(int* d, ncclNetVDeviceProps_v11_t* props);\n  // Finalize the network.\n  ncclResult_t (*finalize)(void* ctx);\n\n  ncclResult_t (*setNetAttr)(void* ctx, ncclNetAttr_v11_t* netAttr);\n} ncclNet_v11_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "ext-net/example/nccl/net_v2.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NET_V2_H_\n#define NET_V2_H_\n\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Return the device path in /sys. NCCL will call free on this path.\n  ncclResult_t (*pciPath)(int dev, char** path);\n  // Return whether this device supports host pointers and/or CUDA pointers\n  // as data from the current GPU. Supported types should be composed with\n  // NCCL_PTR_HOST and NCCL_PTR_CUDA.\n  ncclResult_t (*ptrSupport)(int dev, int* supportedTypes);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  ncclResult_t (*connect)(int dev, void* handle, void** sendComm);\n  // Finalize connection establishment after remote peer has called connectHandle\n  ncclResult_t (*accept)(void* listenComm, void** recvComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  ncclResult_t (*regMr)(void* comm, void* data, int size, int type, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer. Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, int size, void* mhandle, void** request);\n  // Asynchronous recv from a peer. Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, void* data, int size, void* mhandle, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*flush)(void* recvComm, void* data, int size, void* mhandle);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* size);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n} ncclNet_v2_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "ext-net/example/nccl/net_v3.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NET_V3_H_\n#define NET_V3_H_\n\n#define NCCL_NET_MAX_REQUESTS_V3 16\n\ntypedef ncclNetProperties_v4_t ncclNetProperties_v3_t;\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v3_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  ncclResult_t (*connect)(int dev, void* handle, void** sendComm);\n  // Finalize connection establishment after remote peer has called connectHandle\n  ncclResult_t (*accept)(void* listenComm, void** recvComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, int size, int type, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, int size, void* mhandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, void* data, int size, void* mhandle, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*flush)(void* recvComm, void* data, int size, void* mhandle);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* size);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n} ncclNet_v3_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "ext-net/example/nccl/net_v4.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NET_V4_H_\n#define NET_V4_H_\n\n#define NCCL_NET_HANDLE_MAXSIZE_V4 64\n\ntypedef struct {\n  char* name;     // Used mostly for logging.\n  char* pciPath;  // Path to the PCI device in /sys.\n  uint64_t guid;  // Unique identifier for the NIC chip. Important for\n                  // cards with multiple PCI functions (Physical or virtual).\n  int ptrSupport; // NCCL_PTR_HOST or NCCL_PTR_HOST|NCCL_PTR_CUDA\n  int speed;      // Port speed in Mbps.\n  int port;       // Port number.\n  int maxComms;   // Maximum number of comms we can create\n} ncclNetProperties_v4_t;\n\n// v4 struct for backwards compatibility\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v4_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  ncclResult_t (*connect)(int dev, void* handle, void** sendComm);\n  // Finalize connection establishment after remote peer has called connectHandle\n  ncclResult_t (*accept)(void* listenComm, void** recvComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, int size, int type, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, int size, void* mhandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, void* data, int size, void* mhandle, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* recvComm, void* data, int size, void* mhandle, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* size);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n} ncclNet_v4_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "ext-net/example/nccl/net_v5.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NET_V5_H_\n#define NET_V5_H_\n\ntypedef ncclNetProperties_v6_t ncclNetProperties_v5_t;\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v5_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with sendComm == NULL with the expectation that\n  // it will be called again until sendComm != NULL.\n  ncclResult_t (*connect)(int dev, void* handle, void** sendComm);\n  // Finalize connection establishment after remote peer has called connect.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with recvComm == NULL with the expectation that\n  // it will be called again until recvComm != NULL.\n  ncclResult_t (*accept)(void* listenComm, void** recvComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, int size, int type, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, int size, int tag, void* mhandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, int n, void** data, int* sizes, int* tags, void** mhandles, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* sizes);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n} ncclNet_v5_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "ext-net/example/nccl/net_v6.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NET_V6_H_\n#define NET_V6_H_\n\ntypedef struct {\n  char* name;     // Used mostly for logging.\n  char* pciPath;  // Path to the PCI device in /sys.\n  uint64_t guid;  // Unique identifier for the NIC chip. Important for\n                  // cards with multiple PCI functions (Physical or virtual).\n  int ptrSupport; // [NCCL_PTR_HOST|NCCL_PTR_CUDA|NCCL_PTR_DMABUF]\n  int speed;      // Port speed in Mbps.\n  int port;       // Port number.\n  float latency;  // Network latency\n  int maxComms;   // Maximum number of comms we can create\n  int maxRecvs;   // Maximum number of grouped receives.\n}ncclNetProperties_v6_t;\n\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v6_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with sendComm == NULL with the expectation that\n  // it will be called again until sendComm != NULL.\n  ncclResult_t (*connect)(int dev, void* handle, void** sendComm);\n  // Finalize connection establishment after remote peer has called connect.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with recvComm == NULL with the expectation that\n  // it will be called again until recvComm != NULL.\n  ncclResult_t (*accept)(void* listenComm, void** recvComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, int size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, int size, int tag, void* mhandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, int n, void** data, int* sizes, int* tags, void** mhandles, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* sizes);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n} ncclNet_v6_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "ext-net/example/nccl/net_v7.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NET_V7_H_\n#define NET_V7_H_\n\ntypedef struct {\n  char* name;                      // Used mostly for logging.\n  char* pciPath;                   // Path to the PCI device in /sys.\n  uint64_t guid;                   // Unique identifier for the NIC chip. Important for\n                                   // cards with multiple PCI functions (Physical or virtual).\n  int ptrSupport;                  // [NCCL_PTR_HOST|NCCL_PTR_CUDA|NCCL_PTR_DMABUF]\n  int speed;                       // Port speed in Mbps.\n  int port;                        // Port number.\n  float latency;                   // Network latency\n  int maxComms;                    // Maximum number of comms we can create\n  int maxRecvs;                    // Maximum number of grouped receives.\n  ncclNetDeviceType netDeviceType; // Network offload type\n  int netDeviceVersion;            // Version number for network offload\n} ncclNetProperties_v7_t;\n\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v7_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with sendComm == NULL with the expectation that\n  // it will be called again until sendComm != NULL.\n  ncclResult_t (*connect)(int dev, void* handle, void** sendComm, ncclNetDeviceHandle_v7_t** sendDevComm);\n  // Finalize connection establishment after remote peer has called connect.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with recvComm == NULL with the expectation that\n  // it will be called again until recvComm != NULL.\n  ncclResult_t (*accept)(void* listenComm, void** recvComm, ncclNetDeviceHandle_v7_t** recvDevComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, int size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, int size, int tag, void* mhandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, int n, void** data, int* sizes, int* tags, void** mhandles, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* sizes);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n  // Copy the given mhandle to a dptr in a format usable by this plugin's device code\n  ncclResult_t (*getDeviceMr)(void* comm, void* mhandle, void** dptr_mhandle);\n\n  // Notify the plugin that a recv has completed by the device\n  ncclResult_t (*irecvConsumed)(void* recvComm, int n, void* request);\n} ncclNet_v7_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "ext-net/example/nccl/net_v8.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NET_V8_H_\n#define NET_V8_H_\n\ntypedef struct {\n  char* name;                      // Used mostly for logging.\n  char* pciPath;                   // Path to the PCI device in /sys.\n  uint64_t guid;                   // Unique identifier for the NIC chip. Important for\n                                   // cards with multiple PCI functions (Physical or virtual).\n  int ptrSupport;                  // [NCCL_PTR_HOST|NCCL_PTR_CUDA|NCCL_PTR_DMABUF]\n  int regIsGlobal;                 // regMr is not tied to a particular comm\n  int speed;                       // Port speed in Mbps.\n  int port;                        // Port number.\n  float latency;                   // Network latency\n  int maxComms;                    // Maximum number of comms we can create\n  int maxRecvs;                    // Maximum number of grouped receives.\n  ncclNetDeviceType netDeviceType; // Network offload type\n  int netDeviceVersion;            // Version number for network offload\n} ncclNetProperties_v8_t;\n\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v8_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with sendComm == NULL with the expectation that\n  // it will be called again until sendComm != NULL.\n  // If *sendDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*connect)(int dev, void* handle, void** sendComm, ncclNetDeviceHandle_v8_t** sendDevComm);\n  // Finalize connection establishment after remote peer has called connect.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with recvComm == NULL with the expectation that\n  // it will be called again until recvComm != NULL.\n  // If *recvDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*accept)(void* listenComm, void** recvComm, ncclNetDeviceHandle_v8_t** recvDevComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, size_t size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, int size, int tag, void* mhandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, int n, void** data, int* sizes, int* tags, void** mhandles, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* sizes);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n\n  // Copy the given mhandle to a dptr in a format usable by this plugin's device code\n  ncclResult_t (*getDeviceMr)(void* comm, void* mhandle, void** dptr_mhandle);\n\n  // Notify the plugin that a recv has completed by the device\n  ncclResult_t (*irecvConsumed)(void* recvComm, int n, void* request);\n} ncclNet_v8_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "ext-net/example/nccl/net_v9.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NET_V9_H_\n#define NET_V9_H_\n\ntypedef struct {\n  int ndevs;\n  int devs[NCCL_NET_MAX_DEVS_PER_NIC];\n} ncclNetVDeviceProps_v9_t;\n\ntypedef struct {\n  char* name;                      // Used mostly for logging.\n  char* pciPath;                   // Path to the PCI device in /sys.\n  uint64_t guid;                   // Unique identifier for the NIC chip. Important for\n                                   // cards with multiple PCI functions (Physical or virtual).\n  int ptrSupport;                  // [NCCL_PTR_HOST|NCCL_PTR_CUDA|NCCL_PTR_DMABUF]\n  int regIsGlobal;                 // regMr is not tied to a particular comm\n  int forceFlush;                  // Force a flush on receives\n  int speed;                       // Port speed in Mbps.\n  int port;                        // Port number.\n  float latency;                   // Network latency\n  int maxComms;                    // Maximum number of comms we can create\n  int maxRecvs;                    // Maximum number of grouped receives.\n  ncclNetDeviceType netDeviceType; // Network offload type\n  int netDeviceVersion;            // Version number for network offload\n  ncclNetVDeviceProps_v9_t vProps;\n  size_t maxP2pBytes;              // Max transfer size for point-to-point operations\n  size_t maxCollBytes;             // Max transfer size for collective operations\n} ncclNetProperties_v9_t;\n\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v9_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with sendComm == NULL with the expectation that\n  // it will be called again until sendComm != NULL.\n  // If *sendDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*connect)(int dev, void* handle, void** sendComm, ncclNetDeviceHandle_v9_t** sendDevComm);\n  // Finalize connection establishment after remote peer has called connect.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with recvComm == NULL with the expectation that\n  // it will be called again until recvComm != NULL.\n  // If *recvDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*accept)(void* listenComm, void** recvComm, ncclNetDeviceHandle_v9_t** recvDevComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, size_t size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, size_t size, int tag, void* mhandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* sizes);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n\n  // Copy the given mhandle to a dptr in a format usable by this plugin's device code\n  ncclResult_t (*getDeviceMr)(void* comm, void* mhandle, void** dptr_mhandle);\n\n  // Notify the plugin that a recv has completed by the device\n  ncclResult_t (*irecvConsumed)(void* recvComm, int n, void* request);\n\n  // Virtual NIC APIs. makeVDevice will create a virtual NIC given the specified properties, and tell the caller\n  // what index this new vNIC exists at\n  ncclResult_t (*makeVDevice)(int* d, ncclNetVDeviceProps_v9_t* props);\n} ncclNet_v9_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "ext-net/example/nccl/types.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NCCL_TYPES_H_\n#define NCCL_TYPES_H_\n\n/* Data types */\ntypedef enum { ncclInt8       = 0, ncclChar       = 0,\n               ncclUint8      = 1,\n               ncclInt32      = 2, ncclInt        = 2,\n               ncclUint32     = 3,\n               ncclInt64      = 4,\n               ncclUint64     = 5,\n               ncclFloat16    = 6, ncclHalf       = 6,\n               ncclFloat32    = 7, ncclFloat      = 7,\n               ncclFloat64    = 8, ncclDouble     = 8,\n               ncclBfloat16   = 9,\n               ncclFloat8e4m3 = 10,\n               ncclFloat8e5m2 = 11,\n} ncclDataType_t;\n\n#endif\n"
  },
  {
    "path": "ext-net/example/plugin.c",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"net.h\"\n\n#define __hidden __attribute__ ((visibility(\"hidden\")))\n#define NCCL_PLUGIN_MAX_RECVS 1\n\nint max_requests = NCCL_NET_MAX_REQUESTS;\n\n__hidden ncclResult_t pluginInit(void** ctx, uint64_t commId, ncclNetCommConfig_t* config, ncclDebugLogger_t logFunction, ncclProfilerCallback_t profFunction) { return ncclSuccess; }\n__hidden ncclResult_t pluginDevices(int* ndev) { *ndev = 0; return ncclSuccess; }\n__hidden ncclResult_t pluginPciPath(int dev, char** path) { return ncclInternalError; }\n__hidden ncclResult_t pluginPtrSupport(int dev, int* supportedTypes) { return ncclInternalError; }\n__hidden ncclResult_t pluginGetProperties(int dev, ncclNetProperties_t* props) {\n  // Below are default values, if unsure don't change.\n\n  props->name = \"Example\";\n  // Fill for proper topology detection, e.g. /sys/devices/pci0000:00/0000:00:10.0/0000:0b:00.0\n  props->pciPath = NULL;\n  // Only used to detect NICs with multiple PCI attachments.\n  props->guid = 0;\n  // Add NCCL_PTR_CUDA if GPU Direct RDMA is supported and regMr can take CUDA pointers.\n  props->ptrSupport = NCCL_PTR_HOST;\n  // If you regMr has a fast registration cache, set to 1. If set to 0, user buffer registration may be disabled.\n  props->regIsGlobal = 0;\n  // Force flush after receive. Needed if the control path and data path use a different path to the GPU\n  props->forceFlush = 0;\n  // Speed in *Mbps*. 100000 means 100G\n  props->speed = 100000;\n  // Port number, used in conjunction with guid\n  props->port = 0;\n  // Custom latency (used to help tuning if latency is high. If set to 0, use default NCCL values.\n  props->latency = 0;\n  // Maximum number of comm objects we can create.\n  props->maxComms = 1024*1024;\n  // Maximum number of receive operations taken by irecv().\n  props->maxRecvs = NCCL_PLUGIN_MAX_RECVS;\n  // Coupling with NCCL network device-side code.\n  props->netDeviceType = NCCL_NET_DEVICE_HOST;\n  props->netDeviceVersion = NCCL_NET_DEVICE_INVALID_VERSION;\n  // Used to tell NCCL core whether this is a virtual device fusing multiple physical devices.\n  props->vProps.ndevs = 1;\n  props->vProps.devs[0] = dev;\n  // maximum transfer sizes the plugin can handle\n  props->maxP2pBytes = NCCL_MAX_NET_SIZE_BYTES;\n  props->maxCollBytes = NCCL_MAX_NET_SIZE_BYTES;\n  return ncclSuccess;\n}\n\n__hidden ncclResult_t pluginListen(void* ctx, int dev, void* handle, void** listenComm) { return ncclInternalError; }\n__hidden ncclResult_t pluginConnect(void* ctx, int dev, void* handle, void** sendComm, ncclNetDeviceHandle_t** sendDevComm) { return ncclInternalError; }\n__hidden ncclResult_t pluginAccept(void* listenComm, void** recvComm, ncclNetDeviceHandle_t** recvDevComm) { return ncclInternalError; }\n__hidden ncclResult_t pluginRegMr(void* collComm, void* data, size_t size, int type, void** mhandle) { return ncclInternalError; }\n__hidden ncclResult_t pluginRegMrDmaBuf(void* collComm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle) { return ncclInternalError; }\n__hidden ncclResult_t pluginDeregMr(void* collComm, void* mhandle) { return ncclInternalError;}\n__hidden ncclResult_t pluginIsend(void* sendComm, void* data, size_t size, int tag, void* mhandle, void* phandle, void** request) { return ncclInternalError; }\n__hidden ncclResult_t pluginIrecv(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles, void** phandles, void** request) { return ncclInternalError; }\n__hidden ncclResult_t pluginIflush(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request) { return ncclInternalError; }\n__hidden ncclResult_t pluginTest(void* request, int* done, int* size) { return ncclInternalError; }\n__hidden ncclResult_t pluginCloseSend(void* sendComm) { return ncclInternalError; }\n__hidden ncclResult_t pluginCloseRecv(void* recvComm) { return ncclInternalError; }\n__hidden ncclResult_t pluginCloseListen(void* listenComm) { return ncclInternalError; }\n__hidden ncclResult_t pluginIrecvConsumed(void* recvComm, int n, void* request) { return ncclInternalError; }\n__hidden ncclResult_t pluginGetDeviceMr(void* comm, void* mhandle, void** dptr_mhandle) { return ncclInternalError; }\n__hidden ncclResult_t pluginMakeVDevice(int* d, ncclNetVDeviceProps_t* props) { return ncclInternalError; }\n__hidden ncclResult_t pluginFinalize(void* ctx) { return ncclSuccess; }\n\n#define PLUGIN_NAME \"Plugin\"\n\nconst ncclNet_v11_t ncclNetPlugin_v11 = {\n  .name = PLUGIN_NAME,\n  .init = pluginInit,\n  .devices = pluginDevices,\n  .getProperties = pluginGetProperties,\n  .listen = pluginListen,\n  .connect = pluginConnect,\n  .accept = pluginAccept,\n  .regMr = pluginRegMr,\n  .regMrDmaBuf = pluginRegMrDmaBuf,\n  .deregMr = pluginDeregMr,\n  .isend = pluginIsend,\n  .irecv = pluginIrecv,\n  .iflush = pluginIflush,\n  .test = pluginTest,\n  .closeSend = pluginCloseSend,\n  .closeRecv = pluginCloseRecv,\n  .closeListen = pluginCloseListen,\n  .getDeviceMr = pluginGetDeviceMr,\n  .irecvConsumed = pluginIrecvConsumed,\n  .makeVDevice   = pluginMakeVDevice,\n  .finalize = pluginFinalize,\n};\n\n__hidden ncclResult_t pluginInit_v10(ncclDebugLogger_t logFunction, ncclProfilerCallback_t profFunction) { return ncclSuccess; }\n__hidden ncclResult_t pluginGetProperties_v10(int dev, ncclNetProperties_v10_t* props) {\n  // Below are default values, if unsure don't change.\n\n  props->name = \"Example\";\n  // Fill for proper topology detection, e.g. /sys/devices/pci0000:00/0000:00:10.0/0000:0b:00.0\n  props->pciPath = NULL;\n  // Only used to detect NICs with multiple PCI attachments.\n  props->guid = 0;\n  // Add NCCL_PTR_CUDA if GPU Direct RDMA is supported and regMr can take CUDA pointers.\n  props->ptrSupport = NCCL_PTR_HOST;\n  // If you regMr has a fast registration cache, set to 1. If set to 0, user buffer registration may be disabled.\n  props->regIsGlobal = 0;\n  // Force flush after receive. Needed if the control path and data path use a different path to the GPU\n  props->forceFlush = 0;\n  // Speed in *Mbps*. 100000 means 100G\n  props->speed = 100000;\n  // Port number, used in conjunction with guid\n  props->port = 0;\n  // Custom latency (used to help tuning if latency is high. If set to 0, use default NCCL values.\n  props->latency = 0;\n  // Maximum number of comm objects we can create.\n  props->maxComms = 1024*1024;\n  // Maximum number of receive operations taken by irecv().\n  props->maxRecvs = NCCL_PLUGIN_MAX_RECVS;\n  // Coupling with NCCL network device-side code.\n  props->netDeviceType = NCCL_NET_DEVICE_HOST;\n  props->netDeviceVersion = NCCL_NET_DEVICE_INVALID_VERSION;\n  // Used to tell NCCL core whether this is a virtual device fusing multiple physical devices.\n  props->vProps.ndevs = 1;\n  props->vProps.devs[0] = dev;\n  // maximum transfer sizes the plugin can handle\n  props->maxP2pBytes = NCCL_MAX_NET_SIZE_BYTES;\n  props->maxCollBytes = NCCL_MAX_NET_SIZE_BYTES;\n  return ncclSuccess;\n}\n\n__hidden ncclResult_t pluginListen_v10(int d, void* handle, void** listenComm) { return ncclInternalError; }\n__hidden ncclResult_t pluginConnect_v10(int dev, ncclNetCommConfig_v10_t* config, void* handle, void** sendComm, ncclNetDeviceHandle_v10_t** sendDevComm) { return ncclInternalError; }\n__hidden ncclResult_t pluginMakeVDevice_v10(int* d, ncclNetVDeviceProps_v10_t* props) { return ncclInternalError; }\n\nconst ncclNet_v10_t ncclNetPlugin_v10 = {\n  .name = PLUGIN_NAME,\n  .init = pluginInit_v10,\n  .devices = pluginDevices,\n  .getProperties = pluginGetProperties_v10,\n  .listen = pluginListen_v10,\n  .connect = pluginConnect_v10,\n  .accept = pluginAccept,\n  .regMr = pluginRegMr,\n  .regMrDmaBuf = pluginRegMrDmaBuf,\n  .deregMr = pluginDeregMr,\n  .isend = pluginIsend,\n  .irecv = pluginIrecv,\n  .iflush = pluginIflush,\n  .test = pluginTest,\n  .closeSend = pluginCloseSend,\n  .closeRecv = pluginCloseRecv,\n  .closeListen = pluginCloseListen,\n  .getDeviceMr = pluginGetDeviceMr,\n  .irecvConsumed = pluginIrecvConsumed,\n  .makeVDevice   = pluginMakeVDevice_v10,\n};\n\n\n__hidden ncclResult_t pluginInit_v9(ncclDebugLogger_t logFunction) {\n  return pluginInit_v10(logFunction, NULL);\n}\n\n__hidden ncclResult_t pluginGetProperties_v9(int dev, ncclNetProperties_v9_t* props) {\n  return pluginGetProperties_v10(dev, (ncclNetProperties_v10_t*)props);\n}\n\n__hidden ncclResult_t pluginConnect_v9(int dev, void* handle, void** sendComm, ncclNetDeviceHandle_t** sendDevComm){\n  return pluginConnect_v10(dev, NULL, handle, sendComm, sendDevComm);\n}\n\n__hidden ncclResult_t pluginIsend_v9(void* sendComm, void* data, size_t size, int tag, void* mhandle, void** request) {\n  return pluginIsend(sendComm, data, size, tag, mhandle, NULL, request);\n}\n\n__hidden ncclResult_t pluginIrecv_v9(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles, void** request) {\n  return pluginIrecv(recvComm, n, data, sizes, tags, mhandles, NULL, request);\n}\n\n__hidden ncclResult_t pluginMakeVDevice_v9(int* d, ncclNetVDeviceProps_v9_t* props) { return ncclInternalError; }\n\nconst ncclNet_v9_t ncclNetPlugin_v9 = {\n  .name = PLUGIN_NAME,\n  .init = pluginInit_v9,\n  .devices = pluginDevices,\n  .getProperties = pluginGetProperties_v9,\n  .listen = pluginListen_v10,\n  .connect = pluginConnect_v9,\n  .accept = pluginAccept,\n  .regMr = pluginRegMr,\n  .regMrDmaBuf = pluginRegMrDmaBuf,\n  .deregMr = pluginDeregMr,\n  .isend = pluginIsend_v9,\n  .irecv = pluginIrecv_v9,\n  .iflush = pluginIflush,\n  .test = pluginTest,\n  .closeSend = pluginCloseSend,\n  .closeRecv = pluginCloseRecv,\n  .closeListen = pluginCloseListen,\n  .getDeviceMr = pluginGetDeviceMr,\n  .irecvConsumed = pluginIrecvConsumed,\n  .makeVDevice   = pluginMakeVDevice_v9,\n};\n\n__hidden ncclResult_t pluginGetProperties_v8(int dev, ncclNetProperties_v8_t* props_v8) {\n  ncclNetProperties_t props;\n  ncclResult_t ret = pluginGetProperties(dev, &props);\n  if (ret != ncclSuccess) return ret;\n  props_v8->name = props.name;\n  props_v8->pciPath = props.pciPath;\n  props_v8->guid = props.guid;\n  props_v8->ptrSupport = props.ptrSupport;\n  props_v8->regIsGlobal = props.regIsGlobal;\n  props_v8->speed = props.speed;\n  props_v8->latency = props.latency;\n  props_v8->port = props.port;\n  props_v8->maxComms = props.maxComms;\n  props_v8->maxRecvs = props.maxRecvs;\n  props_v8->netDeviceType = props.netDeviceType;\n  props_v8->netDeviceVersion = props.netDeviceVersion;\n  return ncclSuccess;\n}\n\n__hidden ncclResult_t pluginIsend_v8(void* sendComm, void* data, int size, int tag, void* mhandle, void** request) {\n  return pluginIsend(sendComm, data, (int)size, tag, mhandle, NULL, request);\n}\n\n__hidden ncclResult_t pluginIrecv_v8(void* recvComm, int n, void** data, int* sizes, int* tags, void** mhandles, void** request) {\n  size_t sizesOut[NCCL_PLUGIN_MAX_RECVS];\n  for (int i=0; i<n; i++) sizesOut[i] = sizes[i];\n  return pluginIrecv(recvComm, 1, data, sizesOut, tags, mhandles, NULL, request);\n}\n\nconst ncclNet_v8_t ncclNetPlugin_v8 = {\n  .name = PLUGIN_NAME,\n  .init = pluginInit_v9,\n  .devices = pluginDevices,\n  .getProperties = pluginGetProperties_v8,\n  .listen = pluginListen_v10,\n  .connect = pluginConnect_v9,\n  .accept = pluginAccept,\n  .regMr = pluginRegMr,\n  .regMrDmaBuf = pluginRegMrDmaBuf,\n  .deregMr = pluginDeregMr,\n  .isend = pluginIsend_v8,\n  .irecv = pluginIrecv_v8,\n  .iflush = pluginIflush,\n  .test = pluginTest,\n  .closeSend = pluginCloseSend,\n  .closeRecv = pluginCloseRecv,\n  .closeListen = pluginCloseListen,\n  .getDeviceMr = pluginGetDeviceMr,\n  .irecvConsumed = pluginIrecvConsumed,\n };\n\n__hidden ncclResult_t pluginGetProperties_v7(int dev, ncclNetProperties_v7_t* props_v7) {\n  ncclNetProperties_t props;\n  ncclResult_t ret = pluginGetProperties(dev, &props);\n  if (ret != ncclSuccess) return ret;\n  props_v7->name = props.name;\n  props_v7->pciPath = props.pciPath;\n  props_v7->guid = props.guid;\n  props_v7->ptrSupport = props.ptrSupport;\n  props_v7->speed = props.speed;\n  props_v7->latency = props.latency;\n  props_v7->port = props.port;\n  props_v7->maxComms = props.maxComms;\n  props_v7->maxRecvs = props.maxRecvs;\n  props_v7->netDeviceType = props.netDeviceType;\n  props_v7->netDeviceVersion = props.netDeviceVersion;\n  return ncclSuccess;\n}\n\n__hidden ncclResult_t pluginRegMr_v7(void* collComm, void* data, int size, int type, void** mhandle) {\n  return pluginRegMr(collComm, data, size, type, mhandle);\n}\n\nconst ncclNet_v7_t ncclNetPlugin_v7 = {\n  .name = PLUGIN_NAME,\n  .init = pluginInit_v9,\n  .devices = pluginDevices,\n  .getProperties = pluginGetProperties_v7,\n  .listen = pluginListen_v10,\n  .connect = pluginConnect_v9,\n  .accept = pluginAccept,\n  .regMr = pluginRegMr_v7,\n  .regMrDmaBuf = pluginRegMrDmaBuf,\n  .deregMr = pluginDeregMr,\n  .isend = pluginIsend_v8,\n  .irecv = pluginIrecv_v8,\n  .iflush = pluginIflush,\n  .test = pluginTest,\n  .closeSend = pluginCloseSend,\n  .closeRecv = pluginCloseRecv,\n  .closeListen = pluginCloseListen,\n  .getDeviceMr = pluginGetDeviceMr,\n  .irecvConsumed = pluginIrecvConsumed,\n};\n\n__hidden ncclResult_t pluginGetProperties_v6(int dev, ncclNetProperties_v6_t* props_v6) {\n  ncclNetProperties_t props;\n  ncclResult_t ret = pluginGetProperties(dev, &props);\n  if (ret != ncclSuccess) return ret;\n  props_v6->name = props.name;\n  props_v6->pciPath = props.pciPath;\n  props_v6->guid = props.guid;\n  props_v6->ptrSupport = props.ptrSupport;\n  props_v6->speed = props.speed;\n  props_v6->latency = props.latency;\n  props_v6->port = props.port;\n  props_v6->maxComms = props.maxComms;\n  props_v6->maxRecvs = props.maxRecvs;\n  return ncclSuccess;\n}\n\n__hidden ncclResult_t pluginConnect_v6(int dev, void* handle, void** sendComm) { return ncclInternalError; }\n__hidden ncclResult_t pluginAccept_v6(void* listenComm, void** recvComm) { return ncclInternalError; }\n\nconst ncclNet_v6_t ncclNetPlugin_v6 = {\n  .name = PLUGIN_NAME,\n  .init = pluginInit_v9,\n  .devices = pluginDevices,\n  .getProperties = pluginGetProperties_v6,\n  .listen = pluginListen_v10,\n  .connect = pluginConnect_v6,\n  .accept = pluginAccept_v6,\n  .regMr = pluginRegMr_v7,\n  .regMrDmaBuf = pluginRegMrDmaBuf,\n  .deregMr = pluginDeregMr,\n  .isend = pluginIsend_v8,\n  .irecv = pluginIrecv_v8,\n  .iflush = pluginIflush,\n  .test = pluginTest,\n  .closeSend = pluginCloseSend,\n  .closeRecv = pluginCloseRecv,\n  .closeListen = pluginCloseListen\n};\n\n/* v5 Compat */\nconst ncclNet_v5_t ncclNetPlugin_v5 = {\n  .name = PLUGIN_NAME,\n  .init = pluginInit_v9,\n  .devices = pluginDevices,\n  .getProperties = pluginGetProperties_v6,\n  .listen = pluginListen_v10,\n  .connect = pluginConnect_v6,\n  .accept = pluginAccept_v6,\n  .regMr = pluginRegMr_v7,\n  .deregMr = pluginDeregMr,\n  .isend = pluginIsend_v8,\n  .irecv = pluginIrecv_v8,\n  .iflush = pluginIflush,\n  .test = pluginTest,\n  .closeSend = pluginCloseSend,\n  .closeRecv = pluginCloseRecv,\n  .closeListen = pluginCloseListen,\n};\n\n/* v4 Compat */\nstatic ncclResult_t pluginGetProperties_v4(int dev, ncclNetProperties_v4_t* props_v4) {\n  ncclNetProperties_t props;\n  ncclResult_t ret = pluginGetProperties(dev, &props);\n  if (ret != ncclSuccess) return ret;\n  props_v4->name = props.name;\n  props_v4->pciPath = props.pciPath;\n  props_v4->guid = props.guid;\n  props_v4->ptrSupport = props.ptrSupport;\n  props_v4->speed = props.speed;\n  props_v4->port = props.port;\n  props_v4->maxComms = props.maxComms;\n  return ncclSuccess;\n}\nstatic ncclResult_t pluginIsend_v4(void *sendComm, void* data, int size, void *mhandle, void** request) {\n  return pluginIsend_v8(sendComm, data, size, 0, mhandle, request);\n}\nstatic ncclResult_t pluginIrecv_v4(void* recvComm, void* data, int size, void* mhandle, void** request) {\n  int tag = 0;\n  return pluginIrecv_v8(recvComm, 1, &data, &size, &tag, &mhandle, request);\n}\nstatic ncclResult_t pluginIflush_v4(void* recvComm, void* data, int size, void* mhandle, void** request) {\n  return pluginIflush(recvComm, 1, &data, &size, &mhandle, request);\n}\nstatic ncclResult_t pluginConnect_v4(int dev, void* handle, void** sendComm) {\n  ncclResult_t ret;\n  do {\n    ncclNetDeviceHandle_v7_t* handle = NULL;\n    ret = pluginConnect_v10(dev, NULL, handle, sendComm, &handle);\n  } while (ret == ncclSuccess && *sendComm == NULL);\n  return ret;\n}\nstatic ncclResult_t pluginAccept_v4(void* listenComm, void** recvComm) {\n  ncclResult_t ret;\n  do {\n    ncclNetDeviceHandle_v7_t* handle = NULL;\n    ret = pluginAccept(listenComm, recvComm, &handle);\n  } while (ret == ncclSuccess && *recvComm == NULL);\n  return ret;\n}\nconst ncclNet_v4_t ncclNetPlugin_v4 = {\n  .name = PLUGIN_NAME,\n  .init = pluginInit_v9,\n  .devices = pluginDevices,\n  .getProperties = pluginGetProperties_v4,\n  .listen = pluginListen_v10,\n  .connect = pluginConnect_v4,\n  .accept = pluginAccept_v4,\n  .regMr = pluginRegMr_v7,\n  .deregMr = pluginDeregMr,\n  .isend = pluginIsend_v4,\n  .irecv = pluginIrecv_v4,\n  .iflush = pluginIflush_v4,\n  .test = pluginTest,\n  .closeSend = pluginCloseSend,\n  .closeRecv = pluginCloseRecv,\n  .closeListen = pluginCloseListen,\n};\n\n/* v3 Compat */\nstatic ncclResult_t pluginFlush(void* recvComm, void* data, int size, void* mhandle) {\n  void* req;\n  ncclResult_t ret = pluginIflush_v4(recvComm, data, size, mhandle, &req);\n  int done = 0;\n  while (ret == ncclSuccess && done == 0) {\n    ret = pluginTest(req, &done, NULL);\n  }\n  return ret;\n}\nstatic ncclResult_t pluginInit_v3(ncclDebugLogger_t logFunction) {\n  max_requests = NCCL_NET_MAX_REQUESTS_V3;\n  return pluginInit_v10(logFunction, NULL);\n}\n#include <string.h>\nstatic ncclResult_t pluginListen_v3(int dev, void* handle, void** listenComm) {\n  char pluginHandle[NCCL_NET_HANDLE_MAXSIZE];\n  ncclResult_t ret = pluginListen_v10(dev, &pluginHandle, listenComm);\n  memcpy(handle, &pluginHandle, NCCL_NET_HANDLE_MAXSIZE_V4);\n  return ret;\n}\nstatic ncclResult_t pluginConnect_v3(int dev, void* handle, void** sendComm) {\n  char pluginHandle[NCCL_NET_HANDLE_MAXSIZE];\n  memcpy(&pluginHandle, handle, NCCL_NET_HANDLE_MAXSIZE_V4);\n  return pluginConnect_v4(dev, &pluginHandle, sendComm);\n}\nconst ncclNet_v3_t ncclNetPlugin_v3 = {\n  .name = PLUGIN_NAME,\n  .init = pluginInit_v3,\n  .devices = pluginDevices,\n  .getProperties = pluginGetProperties_v4,\n  .listen = pluginListen_v3,\n  .connect = pluginConnect_v3,\n  .accept = pluginAccept_v4,\n  .regMr = pluginRegMr_v7,\n  .deregMr = pluginDeregMr,\n  .isend = pluginIsend_v4,\n  .irecv = pluginIrecv_v4,\n  .flush = pluginFlush,\n  .test = pluginTest,\n  .closeSend = pluginCloseSend,\n  .closeRecv = pluginCloseRecv,\n  .closeListen = pluginCloseListen,\n};\n\n/* v2 Compat */\nconst ncclNet_v2_t ncclNetPlugin_v2 = {\n  .name = PLUGIN_NAME,\n  .init = pluginInit_v3,\n  .devices = pluginDevices,\n  .pciPath = pluginPciPath,\n  .ptrSupport = pluginPtrSupport,\n  .listen = pluginListen_v3,\n  .connect = pluginConnect_v4,\n  .accept = pluginAccept_v4,\n  .regMr = pluginRegMr_v7,\n  .deregMr = pluginDeregMr,\n  .isend = pluginIsend_v4,\n  .irecv = pluginIrecv_v4,\n  .flush = pluginFlush,\n  .test = pluginTest,\n  .closeSend = pluginCloseSend,\n  .closeRecv = pluginCloseRecv,\n  .closeListen = pluginCloseListen,\n};\n"
  },
  {
    "path": "ext-net/google-fastsocket/Makefile",
    "content": "CUDA_HOME?=/usr/local/cuda\nINC:=-I$(CUDA_HOME)/include\nPLUGIN_SO:=libnccl-net.so\n\ndefault: $(PLUGIN_SO)\n\n$(PLUGIN_SO): nccl-fastsocket/*.cc\n\t$(CC) $(INC) -fPIC -shared -o $@ -Wl,-soname,$(PLUGIN_SO) $^\n\nnccl-fastsocket/*.cc:\n\tgit clone https://github.com/google/nccl-fastsocket.git\n\ninstall: $(BUILDDIR)/lib/$(PLUGIN_SO)\n\n$(BUILDDIR)/lib/$(PLUGIN_SO): $(PLUGIN_SO)\n\t@printf \"Grabbing %-35s > %s\\n\" $< $@\n\tmkdir -p $(BUILDDIR)/lib\n\tinstall -m 644 $< $@\n\nclean:\n\trm -f $(PLUGIN_SO)\n\trm -Rf nccl-fastsocket\n"
  },
  {
    "path": "ext-profiler/README.md",
    "content": "# NCCL Profiler Plugin Documentation\n\nThis page describes the NCCL Profiler plugin API and how to implement a profiler plugin for NCCL.\n\n# Overview\n\nTo allow NCCL to better integrate with DL frameworks, NCCL v2.23 introduced a profiler plugin\ninterface. Any NCCL user can write profiler plugins to extract performance data from NCCL and\nuse it for debugging and analysis.\n\nSimilarly to other plugins (e.g., network plugin), the profiler plugins come as a shared library\ncalled `lirccl-profiler.so`. That shared library contains one or more implementations of the\nNCCL PROFILER API, in the form of versioned structs, filled with pointers to all required\nfunctions.\n\n# Plugin architecture\n\n## Plugin name and supporting multiple profiler plugins\n\nWhen NCCL is initialized, it will look for a `librccl-profiler.so` library and dynamically load\nit, then look for symbols inside the library.\n\nThe `NCCL_PROFILER_PLUGIN` environment variable allows multiple plugins to coexist. If set, NCCL\nwill look for a library with a name of `librccl-profiler-${NCCL_PROFILER_PLUGIN}.so`. It is therefore\nadvised to name the library following that pattern, with a symlink pointing `librccl-profiler.so`\nto `librccl-profiler-${NCCL_PROFILER_PLUGIN}.so`. That way, if there are multiple plugins in the\npath, setting `NCCL_PROFILER_PLUGIN` will allow users to select the right plugin. Alternatively,\nthe user can also set `NCCL_PROFILER_PLUGIN` to the pathname of the `librccl-profiler.so` library.\n\n## Struct versioning\n\nOnce a library is found, NCCL will look for a symbol named `ncclProfiler_vX`, with `X` increasing\nover time. The versioning ensures that the plugin and the NCCL core are compatible.\n\nPlugins are encouraged to provide multiple of those symbols, implementing multiple versions of the\nNCCL PROFILER API, so that the same plugin can be compiled and support a wide range of NCCL versions.\n\nConversely, and to ease transition, NCCL can choose to support different plugin versions, looking\nfor the latest ncclProfiler struct version, but also looking for older ones so that older plugins\nwould still work.\n\n## Headers management\n\nTo help users build plugins effortlessly, plugins should copy the `ncclProfiler_vX` definitions\nthey support to their internal includes. An example is shown in `ext-profiler/example` where we\nkeep all headers in the `nccl/` directory and provide thin layers to implement old version on top\nof newer ones.\n\nThe `nccl/` directory is populated with `profiler_vX.h` files extracting all relevant definitions\nfrom old API versions. It also provides error codes in `err.h`.\n\n# API (v5)\n\nBelow is the main `ncclProfiler_v5` struct. Each function is explained in later sections.\n\n```\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  //  - commId         : communicator id\n  //  - commName       : user assigned communicator name\n  //  - nNodes         : number of nodes in communicator\n  //  - nranks         : number of ranks in communicator\n  //  - rank           : rank identifier in communicator\n  //  - logfn          : logger function\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, uint64_t commId, int* eActivationMask, const char* commName, int nNodes, int nranks, int rank, ncclDebugLogger_t logfn);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v5_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v5_t eState, ncclProfilerEventStateArgs_v5_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v5_t;\n```\n\n## Error codes\n\nAs rule of thumb, profiler generated errors should not be propagated to NCCL and alter its normal\nfunctioning. Nevertheless, the profiler interface returns NCCL error codes, in case any need for\nthem arises in the future. For now, any profiler interface call should only return `ncclSuccess`.\nThe only exception is `init` that can return an error so that NCCL can disable the plugin.\n\n## Operation overview\n\nNCCL will call the `init` function first for every new communicator that is initialized. The profiler\nreturns an opaque context handle that is used to isolate profiler instances across communicators.\nSimilarly, NCCL will call `finalize` to destroy the profiler context, thus freeing resources.\n\nThe NCCL core code is instrumented with calls to `startEvent`, `stopEvent` and `recordEventState`.\nThese are used to start, stop and update events in the profiler, respectively.\n\n## API Functions\n\n### Initialization\n\n#### name\n\nThe `name` field should point to a character string with the name of the profiler plugin. This will\nbe used for all logging, especially when `NCCL_DEBUG=INFO` is set.\n\n#### init\n\nAs soon as NCCL finds the plugin and the correct ncclProfiler symbol, it calls its `init` function.\nThis allows the plugin to initialize its internal context, used during profiling of NCCL events.\nIf the `init` function does not return `ncclSuccess`, NCCL disables the plugin.\n\n#### finalize\n\nWhen the profiler is no longer needed, a call to `finalize` destroys the profiler context and frees\nup resources.\n\n### Profiling\n\n#### startEvent\n\nWhen NCCL needs to start profiling a new event it calls `startEvent`. `startEvent` takes the profiler\ncontext, previously created by `init`, an event descriptor of type `ncclProfilerEventDescr_t` and\nreturns an opaque profiler event handle that can be passed to other profiler functions, as discussed\nlater in the document.\n\n\nThe event descriptor contains all the event metadata. Every event type has its own descriptor. Below\nis the `ncclProfilerEventDescr_t` struct.\n\n```\ntypedef struct {\n  uint64_t type;             // event type descriptor: ncclProfileGroupApi, ncclProfileCollApi, ...\n  void* parentObj;           // pointer to parent event used to expose the event hierarchy to the profiler\n  int rank;                  // rank that generated the event\n  union {\n    struct {                 // GroupAPI event metadata\n      bool graphCaptured;    // Set to true if the Group API event is emitted inside a CUDA graph capture\n      int groupDepth;        // Determines the depth of a ncclGroup. A depth of 1 implies that the Group API call is implicit (internal to NCCL)\n                             // and not called by the user. Any depth greater than 1 means that the user made the Group API call.\n    } groupApi;\n\n    struct {                 // Collective API call metadata\n      const char* func;      // string containing name of the collective operation during\n      size_t count;          // data count\n      const char* datatype;  // string containing the name of the datatype\n      int root;              // root rank\n      void* stream;          // Opaque handle that points to the CUDA stream that the operation is enqueued in\n      bool graphCaptured;    // Set to true if the Collective API event is emitted inside a CUDA graph capture\n    } collApi;\n\n    struct {                // Point-to-point API call metadata\n      const char* func;     // string containing name of the p2p operation\n      size_t count;         // data count\n      const char* datatype; // string containing the name of the datatype\n      void* stream;         // Opaque handle that points to a CUDA stream object\n      bool graphCaptured;   // Set to true if the Collective API event is emitted inside a CUDA graph capture\n    } p2pApi;\n\n    struct {                // Kernel Launch event metadata\n      void* stream;         // Opaque handle that points to the CUDA stream that the operation is enqueued in\n    } kernelLaunch;\n\n    struct {                // collective events metadata\n      uint64_t seqNumber;   // sequence number of this collective operation in the communicator\n      const char* func;     // string containing name of the collective\n      void const* sendBuff; // address of send buffer\n      void* recvBuff;       // address of recv buffer\n      size_t count;         // data count\n      int root;             // root rank\n      const char* datatype; // string containing the name of the datatype\n      uint8_t nChannels;    // number of channels for this collective\n      uint8_t nWarps;       // number of GPU warps for this collective\n      const char* algo;     // string containing name of the algorithm for this collective\n      const char* proto;    // string containing name of the protocol for this collective\n      void* parentGroup;    // for backward compatibility with v4 - this points to the legacy v4 group parent\n    } coll;\n\n    struct {                // point-to-point events metadata\n      const char* func;\n      void* buff;\n      const char* datatype;\n      size_t count;\n      int peer;             // peer rank for this point-to-point\n      uint8_t nChannels;    // number of channels for this p2p\n      void* parentGroup;    // for backward compatibility with v4 - this points to the legacy v4 group parent\n    } p2p;\n\n    struct {                // proxyOp events metadata\n      pid_t pid;            // process id that generated the associated `ncclProxyOp` object\n      uint8_t channelId;    // id of the channel used by the associated `ncclProxyOp` object\n      int peer;             // peer rank\n      int nSteps;           // number of network transfers/steps required by the `ncclProxyOp`\n      int chunkSize;        // chunk size for this `ncclProxyOp`\n      int isSend;           // type of network operation\n    } proxyOp;\n\n    struct {                // proxyStep events metadata\n      int step;             // individual step in `ncclProxyOp`\n    } proxyStep;\n\n    struct {\n      uint8_t channelId;    // id of the channel used by the kernel\n      uint64_t ptimer;      // kernel supplied timestamp\n    } kernelCh;\n\n    struct {\n      int64_t id;           // net plugin id (used by net and profiler plugins to agree on event definitions)\n      void* data;           // pointer to network plugin defined event\n    } netPlugin;\n  };\n} ncclProfilerEventDescr_v5_t;\n```\n\nNCCL defines the following events: `ncclProfileGroupApi`, `ncclProfileCollApi`, `ncclProfileP2pApi`, `ncclProfileKernelLaunch`,\n`ncclProfileGroup`, `ncclProfileColl`, `ncclProfileP2p`,`ncclProfileProxyOp`, `ncclProfileProxyStep`, `ncclProfileProxyCtrl`,\n`ncclProfileKernelCh` and `ncclProfileNetPlugin`.\n\n#### stopEvent\n\n`stopEvent` takes the event handle returned by `startEvent` to stop the event. After the event\nhas been stopped the handle can no longer be used with other profiler calls. Using the event\nhandle after `eventStop` is undefined behavior.\n\n#### recordEventState\n\nSome events can only be started and stopped. For example, `ncclProfileP2pApi`, `ncclProfileCollApi`, `ncclProfileGroup`,\n`ncclProfileColl`, `ncclProfileP2p` cannot be updated through calls to `recordEventState`.\n\n`ncclProfileGroupApi`, `ncclProfileProxyOp`, `ncclProfileProxyStep`, `ncclProfileNetPlugin`, `ncclProfileKernelCh`, and\n`ncclProfileProxyCtrl` can be updated through calls to `recordEventState`.\n\nThe state of these events can be updated, along with event attributes, using `recordEventState`.\nThese events can go through several states during their lifecycle.\n\nThe list of supported states for the updatable events is reported below.\n\n```\ntypedef enum {\n  // ncclProfileProxyOp event states\n  ncclProfilerProxyOpSendPosted        = 0, // deprecated in v4\n  ncclProfilerProxyOpSendRemFifoWait   = 1, // deprecated in v4\n  ncclProfilerProxyOpSendTransmitted   = 2, // deprecated in v4\n  ncclProfilerProxyOpSendDone          = 3, // deprecated in v4\n  ncclProfilerProxyOpRecvPosted        = 4, // deprecated in v4\n  ncclProfilerProxyOpRecvReceived      = 5, // deprecated in v4\n  ncclProfilerProxyOpRecvTransmitted   = 6, // deprecated in v4\n  ncclProfilerProxyOpRecvDone          = 7, // deprecated in v4\n  ncclProfilerProxyOpInProgress_v4     = 19,// state marks transition of proxy op to progress\n\n  // ncclProfileProxyStep event states\n  ncclProfilerProxyStepSendGPUWait     = 8, // state marks the waiting of send data from GPU for given network transfer/step\n  ncclProfilerProxyStepSendPeerWait_v4 = 20,// state marks the waiting of recv clear to send credits for given network transfer/step\n  ncclProfilerProxyStepSendWait        = 9, // state marks the waiting of send data from network for given network transfer/step\n  ncclProfilerProxyStepRecvWait        = 10,// state marks the waiting of recv data from network for given network transfer/step\n  ncclProfilerProxyStepRecvFlushWait   = 11,// state marks the waiting of recv data flush to GPU for given network transfer/step\n  ncclProfilerProxyStepRecvGPUWait     = 12,// state marks the waiting of recv data consumption from GPU for given network transfer/step\n\n  // ncclProfileProxyCtrl event states\n  ncclProfilerProxyCtrlIdle            = 13,// state marks proxy progress thread idle\n  ncclProfilerProxyCtrlActive          = 14,// state marks proxy progress thread active\n  ncclProfilerProxyCtrlSleep           = 15,// state marks proxy progress thread sleeping\n  ncclProfilerProxyCtrlWakeup          = 16,// state marks proxy progress thread waking up\n  ncclProfilerProxyCtrlAppend          = 17,// state marks append of new network work item begin\n  ncclProfilerProxyCtrlAppendEnd       = 18,// state marks append of new network work item end\n\n  // ncclProfileNetPlugin event states\n  ncclProfilerNetPluginUpdate          = 21,// state marks update of network defined event\n\n  // ncclProfileKernelCh event states\n  ncclProfilerKernelChStop             = 22,// state marks stop of kernelCh event and timestamp update\n\n  // Group API States\n  ncclProfilerGroupStartApiStop        = 23,// state marks the end of a ncclGroupStart() API call\n  ncclProfilerEndGroupApiStart         = 24 // state marks the start of a ncclGroupEnd() API call\n} ncclProfilerEventState_v5_t;\n```\n\nNCCL profile API events are generated when the API calls are made, right after NCCL checks\nfor graph capture information. They parent collective, point-to-point and kernel launch events\nand persist across multiple operations in a group.\n\n`ncclProfileKernelLaunch` events are generated when the CUDA call to a kernel launch is made. In the\ncase of graph capture, the event start indicates that the kernel launch operation has been recorded,\nnot launched.\n\n`ncclProfileProxyOp` events are generated by the proxy progress thread while it is processing\nnetwork requests for the GPU kernel. ProxyOp events are generated for every active channel and\nprovide a summary of the activity of the proxy progress thread for that channel. Most of the\nstates for this event were duplicated with `ncclProfileProxyStep` events. Therefore, starting\nwith version 4 of the profiler interface these states have been deprecated. The same level of\ninformation can still be obtained through the `ncclProfileProxyStep` events.\n\n`ncclProfileProxyStep` events are generated by the proxy progress thread while it is processing\nnetwork requests for the GPU kernel. ProxyStep events describe individual network transfer in\nthe channel. Thus, they provide a more fine-grained view w.r.t. ProxyOp events.\n\n`ncclProfileProxyCtrl` events are generated by the proxy progress thread while it is not processing\nnetwork requests for the GPU kernel. This includes everything else that the proxy thread might be\ndoing, including appending new `ncclProxyOp` objects to the list of work elements to process.\n\n`ncclProfileKernelCh` events are generated by the profiler proxy progress function while the kernel\nprocesses work items for the enqueued NCCL operations.\n\n`ncclProfileNetPlugin` events are generated by the network plugin. Network plugins are free to define\ntheir own set of events and communicate them to the profiler plugin using `ncclProfileNetPlugin` and\nthe `ncclProfilerCallback\\_t` NCCL core callback. The network and profiler plugin can agree on the\nnetwork defined event definition using the plugin id in the event descriptor. The plugin identifier\nis a 64-bit integer that has two parts: the 16 LSB are assigned to the plugin event version, the next\n16 bits are assigned to the plugin type (NCCL\\_PROFILER\\_NET\\_TYPE\\_IB, ...). The rest of the bits are\nunused and available for future extensions.\n\nA network IB plugin can use this infrastructure to define a QP event as:\n\n```C\n#define NCCL_PROFILER_NET_IB_VER 1\n\nenum {\n  ncclProfileQp = (1 << 0),\n};\n\n// The data structure version is encoded in the plugin identifier bitmask and\n// passed to NCCL core through the profiler callback. NCCL copies the plugin\n// identifier in the event descriptor before calling the profiler startEvent\n// function. The profiler should inspect the plugin id to find out the source\n// plugin as well as the version of the event struct\ntypedef struct {\n  uint8_t type;        // event type (plugin defined)\n  union {\n    struct {\n      int device;      // network device id\n      uint64_t wr_id;  // work request id\n      int opcode;      // ibv opcode\n      int qpNum;       // QP number\n      size_t length;   // work request data length\n    } qp;\n  };\n} ncclProfilerNetIbDescr_v1_t;\n```\n\nThe network event infrastructure is network agnostic. A different network socket plugin can\nuse it to define a socket event as:\n\n```C\n#define NCCL_PROFILER_NET_SOCKET_VER 1\n\nenum {\n  ncclProfileSocket = (1 << 0),\n};\n\n// The data structure version is encoded in the plugin identifier bitmask and\n// passed to NCCL core through the profiler callback. NCCL copies the plugin\n// identifier in the event descriptor before calling the profiler startEvent\n// function. The profiler should inspect the plugin id to find out the source\n// plugin as well as the version of the event struct\ntypedef struct {\n  uint8_t type;        // event type (plugin defined)\n  union {\n    struct {\n      int fd;\n      int op;\n      size_t length;\n    } sock;\n  };\n} ncclProfilerNetSockDescr_v1_t;\n```\n\nThe network plugin creates an event (descriptor) and passes it to the profiler callback,\nalong with the network type and version (plugin id). NCCL then creates a `ncclProfileNetPlugin`\nevent descriptor, attaches the network plugin defined event as external data, and calls\nthe profiler `startEvent` function.\n\n```C\nncclResult_t isend(..., void* phandle, ...) {\n  ...\n  int pluginId = NCCL_PROFILER_NET_TYPE_IB | NCCL_PROFILER_NET_IB_VER;\n  ncclProfilerNetIbDescr_v1_t eDescr = { };\n  eDescr.type = ncclProfileQp;\n  eDescr.qp = { ... };\n  ncclProfilerCallback(&eHandle, 0 /* start net event */, phandle, pluginId, &eDescr);\n  ...\n}\n```\n\nState transitions for the events described can also come with event attribute updates. For this\nreason the profiler defines the `ncclProfilerEventStateArgs_t` struct, reported below.\n\n```\ntypedef union {\n  struct {                // attributes for update for ncclProfileProxyStep events\n    size_t transSize;     // transfer size field for this proxy step\n  } proxyStep;\n\n  struct {                // attributes to update for ncclProfileProxyCtrl events\n    int appendedProxyOps; // number of appended proxy ops thus far\n  } proxyCtrl;\n\n  struct {                // attributes to update for ncclProfileNetPlugin events\n    void* data;           // network plugin opaque update data field\n  } netPlugin;\n\n  struct {                // attribute to update for ncclProfileKernelCh events\n    uint64_t pTimer;      // timestamp provided by the NCCL kernel\n  } kernelCh;\n} ncclProfilerEventStateArgs_v5_t;\n```\n\nThe example profiler in `ext-profiler/example` contains details on how to capture and use the events above.\n\n### Event hierarchy\n\nNCCL core events (reported above) are organized into a hierarchy as reported below:\n\n```\nGroup API event\n   |\n   +- Collective API event\n   |  |\n   |  +- Collective event\n   |     |\n   |     +- ProxyOp event\n   |     |  |\n   |     |  +- ProxyStep event\n   |     |     |\n   |     |     +- NetPlugin event\n   |     |\n   |     +- KernelCh event\n   |\n   +- Point-to-point API event\n   |  |\n   |  +- Point-to-point event\n   |     |\n   |     +- ProxyOp event\n   |     |  |\n   |     |  +- ProxyStep event\n   |     |     |\n   |     |     +- NetPlugin event\n   |     |\n   |     +- KernelCh event\n   |\n   +- Kernel Launch event\n\nProxyCtrl event\n```\n\n# Profiler instrumentation and logging\n\n## Profiling of collective and p2p operations\n\nThe NCCL code is instrumented with profiler callbacks at different levels to capture start/stop of groups,\ncollective and point-to-point operations, as well as proxy, kernel and network activity. Due to the asynchronous nature\nof NCCL operations, events associated to collective and point-to-point operations are not easy to delimit\nprecisely. For example, without both proxy and/or kernel activity it is impossible for the profiler to\nfigure out when a collective operation completes. Therefore, `stopEvent` for collectives simply indicates to\nthe profiler that the collective has been enqueued. The profiler can leverage proxy and/or kernel event information, if\nthese are enabled, to estimate when the collective ends. For example, the profiler can look at the `stopEvent`\ncall of the last `ncclProfileProxyOp` event to mark the completion of the associated collective event. This\ncan be achieved by reference counting the collective event and letting calls to `startEvent` and `stopEvent`\nincrement and decrement the reference counter, respectively.\n\n## PXN\n\nPXN causes some proxy operations to be processed in a remote proxy thread that differs from the one that\ngenerated the operation. When this happens, the event hierarchy reported above breaks. Because the\nprofiler can use the hierarchy information, provided by NCCL in the event descriptor, to dereference the\nparent event during `startEvent`, the remote proxy thread must be in the same address space of the proxy\nthread originating the operation. To avoid the profiler instance in the remote proxy address space to\ndereference a pointer from another address space the event descriptor includes the PID of the originator.\nThe profiler plugin needs to check that the originator PID matches the local PID before dereferencing the\nparent event.\n\n# Known Limitations\n\nIn intra-node communication, or whenever a rank does not have any network activity for which proxy events\nare unavailable, the profiler will only report the enqueue events (e.g., ncclAllReduce). The events from\nenqueue can be time stamped by the profiler (at start and stop) to reconstruct the execution time of the\ncollective. However, this time only represents the launch time of the collective and not the actual\nexecution time. To reconstruct the execution time more accurately proxy and kernel events are provided.\n\nWith version 3 of the profiler interface network activity is no longer required to do intra-node profiling.\nKernel events instrumentation leverages counters exposed by the kernel to the host and the proxy progress\nthread. Thus, the proxy progress thread infrastructure is shared between the network and the profiler. If\nthe proxy is serving network requests the kernel profiling probing can be delayed, causing loss of\naccuracy. Similarly, if the CPU is under heavy load and the scheduling of the proxy progress thread is\ndelayed, a similar loss of accuracy can be encountered.\n\nTo mitigate this effect, with version 4 of the profiler NCCL uses a per-channel ring buffer of 64 elements.\nEvery counter is complemented by two timestamps (ptimers) supplied by the NCCL kernel (one for start and one\nfor stop of the operation in the kernel). NCCL propagates these timestamps to the profiler plugin that it can\nconvert them to CPU time domain.\n"
  },
  {
    "path": "ext-profiler/example/CMakeLists.txt",
    "content": "# Find all C source files in current directory\nset(SRC_FILES\n    ${CMAKE_CURRENT_SOURCE_DIR}/plugin.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/print_event.cc\n)\n\n# Create shared library\nadd_library(nccl-profiler-example SHARED ${SRC_FILES})\n\n# Set include directories\ntarget_include_directories(nccl-profiler-example PRIVATE\n    ${CMAKE_CURRENT_SOURCE_DIR}/nccl\n    ${CUDAToolkit_INCLUDE_DIRS}\n)\n\n# Set output name to match Makefile\nset_target_properties(nccl-profiler-example PROPERTIES\n    OUTPUT_NAME \"nccl-profiler-example\"\n    PREFIX \"lib\"\n    POSITION_INDEPENDENT_CODE ON\n    LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib\n)\n\nadd_custom_command(TARGET nccl-profiler-example POST_BUILD\n    COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/test/unit/plugins\n    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/lib/libnccl-profiler-example.so ${CMAKE_BINARY_DIR}/test/unit/plugins\n)\n\n# Add custom target for clean (equivalent to Makefile clean target)\nadd_custom_target(clean-profiler-lib\n    COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_BINARY_DIR}/lib/libnccl-profiler-example.so\n    COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_BINARY_DIR}/test/unit/plugins/libnccl-profiler-example.so\n    COMMENT \"Cleaning libnccl-profiler-example.so\"\n)\n"
  },
  {
    "path": "ext-profiler/example/Makefile",
    "content": "#\n# Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n.DEFAULT_GOAL: build\nROCM_PATH ?= $(wildcard /opt/rocm)\nCXX = $(ROCM_PATH)/lib/llvm/bin/amdclang++\nBUILDDIR ?= .\nHIPIFY_DIR := hipify-profiler\n\nSRC_FILES := $(wildcard *.cc)\nHIPIFY_SRC := $(addprefix $(HIPIFY_DIR)/,$(SRC_FILES))\n\nbuild: ${BUILDDIR}/librccl-profiler-example.so\n\n${BUILDDIR}/librccl-profiler-example.so: $(HIPIFY_SRC)\n\t@printf \"Compiling  %-35s > %s\\n\" $< $@\n\t@mkdir -p ${BUILDDIR}\n\t$(CXX) -D__HIP_PLATFORM_AMD__ -I$(HIPIFY_DIR) -I$(HIPIFY_DIR)/nccl -I$(ROCM_PATH)/include -fPIC -shared -o $@ $^\n\n$(HIPIFY_DIR)/%.cc: %.cc\n\t@mkdir -p $(HIPIFY_DIR)/nccl\n\t@cp *.cc *.h $(HIPIFY_DIR)/\n\t@cp nccl/*.h $(HIPIFY_DIR)/nccl/\n\t@hipify-perl -inplace -quiet-warnings $(HIPIFY_DIR)/*.cc $(HIPIFY_DIR)/*.h\n\nclean:\n\trm -rf ${BUILDDIR}/librccl-profiler-example.so $(HIPIFY_DIR)"
  },
  {
    "path": "ext-profiler/example/README.md",
    "content": "# NCCL Example Profiler Plugin Usage\n\nThis page describes how to use the NCCL example profiler plugin\n\n# Overview\n\nThe example profiler plugin implements the NCCL profiler plugin API introduced in NCCL v2.23. The API\ndefines a set of events and data structures that NCCL uses to share event information with profiler\nplugins. The user can control what events are instrumented by NCCL and when traces collected by the\nprofiler should be dumped through environment variables, as described in the rest of the document.\nThe user can also control other profiler parameters that alter its behavior. For example, users can\nchange the size of the event window the profiler keeps track of.\n\n## Building the profiler plugin\n\nTo build the example plugin shipped as part of NCCL, just type `make`.\n\n## Using the profiler plugin\n\n1. Add the directory of this profiler plugin to your `LD_LIBRARY_PATH` or set the `NCCL_PROFILER_PLUGIN`,\n   as documented in `ext-profiler/README.md`.\n\n2. Set `NCCL_PROFILE_EVENT_MASK` bitmask to specify the NCCL events you want to instrument. By\n   default, all collectives and send/recv operations will be traced. For more details about the event\n   representation used by the profiler refer to `ext-profiler/README.md`.\n\n   As an example, setting:\n\n   `NCCL_PROFILE_EVENT_MASK` to 256 (`ncclProfileGroupApi`) | 2 (`ncclProfileColl`) | 8 (`ncclProfileProxyOp`)\n\n   enables the profiling of the group API, the collective and the proxy op events. The same events can be\n   expressed more concisely by setting `NCCL_PROFILE_EVENT_MASK` to 8 (`ncclProfileProxyOp`). Indeed,\n   in NCCL all the events above (in the event hierarchy) the one requested are also captured. The advantage\n   is that the profiler can easily correlate events that belong to the same NCCL operation and present\n   them accordingly. Setting `NCCL_PROFILE_EVENT_MASK` to 4095 enables all events supported by the v5 profiler.\n\n3. Set `NCCL_PROFILE_DUMP_FILE` to the name of the dump file for the collected traces. A file named\n   ${NCCL_PROFILE_DUMP_FILE}-hostname-tid.txt is created. Profiler traces are saved using the chrome\n   event format (more precisely, using asynchronous events).\n\n4. If you set the dump file variable, type chrome://tracing on your chromium browser search bar and\n   open the created dump file to visualize the traces.\n\n# Changing the profiler memory pool sizes\n\nThe example profiler uses separate memory pools for different types of events. The size of these memory\npools (i.e., the # events) determines the number of events that the profiler can keep track of at the\nsame time. When NCCL requests a new event (e.g., collective event) to profile a `ncclAllReduce`\noperation, by calling `startEvent`, the profiler searches in the collective pool for a free event. If it\nfinds one, it marks it as in use and returns the handle to NCCL. If the pool is completely used the\nprofiler returns `NULL` to NCCL and ignores all the following NCCL profiler calls for the `NULL` event\nhandle. When the `ncclAllReduce` has been processed, NCCL calls `stopEvent` with the previosly returned\nevent handle. The profiler has a total of 5 memory pools.\n\nThe group, collective and p2p pools contain objects for the corresponding events. The `ProxyCtrl` pool\ncontains objects for `ProxyCtrl` events and the `ProxyDetach` pool contains objects for `ProxyOp` events\ngenerated by remote proxies. A list of pools and their size is reported below:\n\n- `NCCL_PROFILE_GROUP_API_POOL_SIZE` (256)\n- `NCCL_PROFILE_COLL_API_POOL_SIZE` (256)\n- `NCCL_PROFILE_P2P_API_POOL_SIZE` (256)\n- `NCCL_PROFILE_KERNEL_LAUNCH_POOL_SIZE` (256)\n- `NCCL_PROFILE_COLL_POOL_SIZE` (256)\n- `NCCL_PROFILE_P2P_POOL_SIZE` (256)\n- `NCCL_PROFILE_PROXY_CTRL_POOL_SIZE` (16)\n- `NCCL_PROFILE_PROXY_DETACH_POOL_SIZE` (256)\n\nRemote proxy operations are generated when PXN is in use. Refer to this article for more information\nabout PXN and how it works:\nhttps://developer.nvidia.com/blog/doubling-all2all-performance-with-nvidia-collective-communication-library-2-12/\n\n# Reported events\n\nThe example profiler generates traces using the json format. An example of trace is reported below:\n\n```\n[\n{\"name\": \"Group API\", \"cat\": \"GROUP_API\", \"ph\": \"b\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 3433.595001, \"args\": {\"groupApiId\": 0, \"groupDepth\":1}},\n{\"name\": \"KernelLaunch\", \"cat\": \"KERNEL_LAUNCH\", \"ph\": \"b\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 0.000000, \"args\": {\"groupId\": 0, \"Stream\": 0x5020000567d0}},\n{\"name\": \"KernelLaunch\", \"cat\": \"KERNEL_LAUNCH\", \"ph\": \"e\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 111991.558990},\n{\"name\": \"AllReduce\", \"cat\": \"COLL_API\", \"ph\": \"b\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 0.000000, \"args\": {\"count\": 262144, \"datatype\": ncclFloat32, \"root\": 0, \"GraphCaptured\":0, \"Stream\": 0x5020000567d0}},\n{\"name\": \"AllReduce\", \"cat\": \"COLL\", \"ph\": \"b\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 111994.477997, \"args\": {\"SeqNum\": 0, \"CommHash\": 1493613951195738943, \"Rank\": 0, \"Count\": 262144, \"Datatype\": \"ncclFloat32\", \"Algorithm\": \"RING\", \"Protocol\": \"SIMPLE\", \"nChannels\": 2}},\n{\"name\": \"KernelCh\", \"cat\": \"GPU\", \"ph\": \"b\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 119711.888000, \"args\": {\"Channel\": 0, \"StartGpuClk\": 1756135989724672000, \"StopGpuClk\": 1756135989732831232}},\n{\"name\": \"ScheduleRecv\", \"cat\": \"PROXY\", \"ph\": \"b\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 119652.709991, \"args\": {\"Channel\": 0, \"Peer\": 1, \"Steps\": 4, \"ChunkSize\": 4194304, \"transSize\": 524288}},\n{\"name\": \"ScheduleRecv\", \"cat\": \"PROXY\", \"ph\": \"e\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 119686.300995},\n{\"name\": \"ProgressRecv\", \"cat\": \"PROXY\", \"ph\": \"b\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 119686.300995, \"args\": {\"Channel\": 0, \"Peer\": 1, \"Steps\": 4, \"ChunkSize\": 4194304, \"transSize\": 524288}},\n{“name\": \"RecvWait\", \"cat\": \"NET\", \"ph\": \"b\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 119707.677979, \"args\": {\"Step\": 0}},\n{\"name\": \"RecvWait\", \"cat\": \"NET\", \"ph\": \"e\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 119807.691986},\n{\"name\": \"RecvFlushWait\", \"cat\": \"NET\", \"ph\": \"b\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 119807.691986, \"args\": {\"Step\": 0}},\n{\"name\": \"RecvFlushWait\", \"cat\": \"NET\", \"ph\": \"e\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 119867.338989},\n{\"name\": \"RecvGpuWait\", \"cat\": \"NET\", \"ph\": \"b\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 119867.338989, \"args\": {\"Step\": 0}},\n{\"name\": \"RecvGpuWait\", \"cat\": \"NET\", \"ph\": \"e\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 120120.983002},\n{\"name\": \"RecvWait\", \"cat\": \"NET\", \"ph\": \"b\", \"id\": 1, \"pid\": 225798, \"tid\": 1, \"ts\": 119733.647980, \"args\": {\"Step\": 1}},\n{\"name\": \"RecvWait\", \"cat\": \"NET\", \"ph\": \"e\", \"id\": 1, \"pid\": 225798, \"tid\": 1, \"ts\": 119844.401001},\n{\"name\": \"RecvFlushWait\", \"cat\": \"NET\", \"ph\": \"b\", \"id\": 1, \"pid\": 225798, \"tid\": 1, \"ts\": 119844.401001, \"args\": {\"Step\": 1}},\n{\"name\": \"RecvFlushWait\", \"cat\": \"NET\", \"ph\": \"e\", \"id\": 1, \"pid\": 225798, \"tid\": 1, \"ts\": 119890.567993},\n{\"name\": \"RecvGpuWait\", \"cat\": \"NET\", \"ph\": \"b\", \"id\": 1, \"pid\": 225798, \"tid\": 1, \"ts\": 119890.567993, \"args\": {\"Step\": 1}},\n{\"name\": \"RecvGpuWait\", \"cat\": \"NET\", \"ph\": \"e\", \"id\": 1, \"pid\": 225798, \"tid\": 1, \"ts\": 120121.129974},\n{\"name\": \"RecvWait\", \"cat\": \"NET\", \"ph\": \"b\", \"id\": 2, \"pid\": 225798, \"tid\": 1, \"ts\": 119753.023987, \"args\": {\"Step\": 2}},\n{\"name\": \"RecvWait\", \"cat\": \"NET\", \"ph\": \"e\", \"id\": 2, \"pid\": 225798, \"tid\": 1, \"ts\": 120038.847992},\n{\"name\": \"RecvFlushWait\", \"cat\": \"NET\", \"ph\": \"b\", \"id\": 2, \"pid\": 225798, \"tid\": 1, \"ts\": 120038.847992, \"args\": {\"Step\": 2}},\n{\"name\": \"RecvFlushWait\", \"cat\": \"NET\", \"ph\": \"e\", \"id\": 2, \"pid\": 225798, \"tid\": 1, \"ts\": 120085.685974},\n{\"name\": \"RecvGpuWait\", \"cat\": \"NET\", \"ph\": \"b\", \"id\": 2, \"pid\": 225798, \"tid\": 1, \"ts\": 120085.685974, \"args\": {\"Step\": 2}},\n{\"name\": \"RecvGpuWait\", \"cat\": \"NET\", \"ph\": \"e\", \"id\": 2, \"pid\": 225798, \"tid\": 1, \"ts\": 120121.244995},\n{\"name\": \"RecvWait\", \"cat\": \"NET\", \"ph\": \"b\", \"id\": 3, \"pid\": 225798, \"tid\": 1, \"ts\": 119772.510986, \"args\": {\"Step\": 3}},\n{\"name\": \"RecvWait\", \"cat\": \"NET\", \"ph\": \"e\", \"id\": 3, \"pid\": 225798, \"tid\": 1, \"ts\": 120062.944977},\n{\"name\": \"RecvFlushWait\", \"cat\": \"NET\", \"ph\": \"b\", \"id\": 3, \"pid\": 225798, \"tid\": 1, \"ts\": 120062.944977, \"args\": {\"Step\": 3}},\n{\"name\": \"RecvFlushWait\", \"cat\": \"NET\", \"ph\": \"e\", \"id\": 3, \"pid\": 225798, \"tid\": 1, \"ts\": 120101.089996},\n{\"name\": \"RecvGpuWait\", \"cat\": \"NET\", \"ph\": \"b\", \"id\": 3, \"pid\": 225798, \"tid\": 1, \"ts\": 120101.089996, \"args\": {\"Step\": 3}},\n{\"name\": \"RecvGpuWait\", \"cat\": \"NET\", \"ph\": \"e\", \"id\": 3, \"pid\": 225798, \"tid\": 1, \"ts\": 120165.115997},\n{\"name\": \"ProgressRecv\", \"cat\": \"PROXY\", \"ph\": \"e\", \"id\": 0, \"pid\": 225798, \"tid\": 1, \"ts\": 120165.356995},\n{\"name\": \"ScheduleSend\", \"cat\": \"PROXY\", \"ph\": \"b\", \"id\": 1, \"pid\": 225798, \"tid\": 1, \"ts\": 119656.950989, \"args\": {\"Channel\": 0, \"Peer\": 1, \"Steps\": 4, \"ChunkSize\": 4194304, \"transSize\": 524288}},\n{\"name\": \"ScheduleSend\", \"cat\": \"PROXY\", \"ph\": \"e\", \"id\": 1, \"pid\": 225798, \"tid\": 1, \"ts\": 119709.078979},\n{\"name\": \"ProgressSend\", \"cat\": \"PROXY\", \"ph\": \"b\", \"id\": 1, \"pid\": 225798, \"tid\": 1, \"ts\": 119709.078979, \"args\": {\"Channel\": 0, \"Peer\": 1, \"Steps\": 4, \"ChunkSize\": 4194304, \"transSize\": 524288}},\n{\"name\": \"SendGpuWait\", \"cat\": \"NET\", \"ph\": \"b\", \"id\": 4, \"pid\": 225798, \"tid\": 1, \"ts\": 119710.632996, \"args\": {\"Step\": 0}},\n{\"name\": \"SendGpuWait\", \"cat\": \"NET\", \"ph\": \"e\", \"id\": 4, \"pid\": 225798, \"tid\": 1, \"ts\": 119808.636993},\n{\"name\": \"SendPeerWait\", \"cat\": \"NET\", \"ph\": \"b\", \"id\": 4, \"pid\": 225798, \"tid\": 1, \"ts\": 119808.636993, \"args\": {\"Step\": 0}},\n{\"name\": \"SendPeerWait\", \"cat\": \"NET\", \"ph\": \"e\", \"id\": 4, \"pid\": 225798, \"tid\": 1, \"ts\": 119818.972992},\n ... [ trace truncated for brevity ]\n{\"name\": \"AllReduce\", \"cat\": \"COLL\", \"ph\": \"e\", \"id\": 17, \"pid\": 225798, \"tid\": 1, \"ts\": 170633.535980},\n{\"name\": \"AllReduce\", \"cat\": \"COLL_API\", \"ph\": \"e\", \"id\": 17, \"pid\": 225798, \"tid\": 1, \"ts\": 170582.923981},\n{\"name\": \"Group API\", \"cat\": \"GROUP_API\", \"ph\": \"e\", \"id\": 17, \"pid\": 225798, \"tid\": 1, \"ts\": 170637.582001},\n{}]\n```\n\nDetails about the fields used in the trace can be found at this link:\nhttps://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview?tab=t.0#heading=h.yr4qxyxotyw\n\nThe trace above is obtained by running a `ncclAllReduce` operation on 2 GPUs, communicating with each other through\nthe network interface. The `Group` event encloses all traces that are related to the single `ncclAllReduce` call.\n(Note that for single collective invocations, where there are no explicit group calls, NCCL creates a group with only\none collective and this is what is presented in the traces above).\n\n\nThe `AllReduce` event encloses traces for the proxy operation associated to the `ncclAllReduce` operation. The `args`\nfield in the traces contains NCCL specific information (aside from the chrome trace event format).\n\n## AllReduce trace\n\nThe `AllReduce` entry presents information about the `ncclAllReduce` operation. It contains the following info in the args field:\n\n- seqNum      : sequential number of the collective in the communicator (every collective type has its own sequence number in the communicator)\n- commHash    : communicator unique identifier\n- rank        : NCCL rank for the ncclAllReduce\n- datatype    : NCCL datatype\n- algorithm   : algorithm used to process the ncclAllReduce\n- protocol    : protocol used to process the ncclAllReduce\n- nChannels   : Number of channels used to process the ncclAllReduce\n\nIf the proxy events are not active (e.g., the `ncclAllReduce` is intranode) the end timestamp will match the time\nconsumed by the CPU to launch the collective. For more details refer to `ext-profiler/README.md`, section `Profiling\nof collective and p2p operations`.\n\nThe Proxy send trace gives a summary of the proxy progress thread activity for the channel. If more details are\nneeded, these can be obtained by enabling the proxy step event (`ncclProfileProxyStep`). In which case the trace\nentries below are also reported by the profiler.\n\n#### Proxy SendGpuWait\n\nPresents, for every network step, the time the CPU proxy spends waiting for the GPU to provide the data in the staging\nbuffer.\n\n#### Proxy SendWait\n\nPresents, for every network step, the time the CPU proxy spends waiting for the `isend` to complete\n\n#### Proxy RecvWait\n\nPresents, for every network step, the time the CPU proxy spends waiting for a posted `irecv` to complete\n\n#### Proxy RecvFlushWait\n\nPresents, for every network step, the time the CPU proxy spends waitng for the recv data to be flushed to the GPU\n\n#### Proxy RecvGpuWait\n\nPresents, for every network step, the time the CPU proxy spends waiting for the GPU to consume the recv data\n"
  },
  {
    "path": "ext-profiler/example/event.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef EVENT_H_\n#define EVENT_H_\n\n#include <sys/types.h>\n#include <stdint.h>\n#include <unistd.h>\n#include <cstring>\n#include \"err.h\"\n#include \"profiler.h\"\n#include \"queue.h\"\n#include <cuda_runtime.h>\n\n#define MAX_CHANNELS                     128 // Match RCCL's MAXCHANNELS\n#define MAX_STEPS                        1024\n#define MAX_OPS                          16 // Up to 64K ranks for PAT\n#define MAX_EVENTS_PER_REQ               (8)\n\nstruct proxyOp;\nstruct proxyStep;\n\nstruct netPlugin {\n  uint64_t type;\n  int pluginType;\n  int pluginVer;\n  uint8_t pluginEvent;\n  union {\n    struct {\n      int device;\n      int qpNum;\n      int opcode;\n      uint64_t wr_id;\n      size_t length;\n    } qp;\n    struct {\n      int fd;\n      int op;\n      size_t length;\n    } sock;\n  };\n  double startTs;\n  double stopTs;\n  struct proxyStep* parent;\n};\n\nstruct kernelCh {\n  uint8_t type;\n  uint8_t channelId;\n  struct taskEventBase* parent;\n  double startTs;\n  double stopTs;\n  uint64_t startGpuClk;\n  uint64_t stopGpuClk;\n};\n\n#define PROXY_STEP_SEND_GPU_WAIT 0\n#define PROXY_STEP_SEND_PEER_WAIT 1\n#define PROXY_STEP_SEND_WAIT 2\n#define PROXY_STEP_RECV_WAIT 0\n#define PROXY_STEP_RECV_FLUSH_WAIT 1\n#define PROXY_STEP_RECV_GPU_WAIT 2\n#define PROXY_STEP_MAX_STATES 3\n\nstruct proxyStep {\n  uint64_t type;                     // type of event: network transfer\n  int state;\n  int step;                         // network transfer id in given channel\n  int isSend;                       // send/recv channel operation\n  double timestamp[PROXY_STEP_MAX_STATES];\n  double startTs;\n  double stopTs;\n  struct proxyOp* parent;\n  struct netPlugin net[MAX_EVENTS_PER_REQ];\n  int nNetEvents;\n};\n\nstruct proxyOp {\n  uint64_t type;                     // type of event: proxy operation\n  uint8_t channelId;                // channel id for this proxy operation\n  pid_t pid;\n  int rank;\n  int peer;                         // peer rank for this proxy operation\n  int nSteps;                       // total number of network transfers for this proxy operation\n  int chunkSize;                    // chunk size for this proxy operation\n  int isSend;                       // send/recv channel operation\n  size_t transSize;                 // transfer data size for this proxy operation\n  double startTs;\n  double progrTs;                   // In progress state transition\n  double stopTs;\n  int stepCount;                    // last processed network operation for this proxy operation\n  struct proxyStep step[MAX_STEPS]; // array of network transfer events\n  struct taskEventBase* parent;     // parent event p2p/collective\n};\n\nstruct group;\nstruct context;\n\nstruct proxyCtrl {\n  uint64_t type;\n  struct context* ctx;              // profiler context\n  double startTs;\n  double stopTs;\n  int state;\n  int appended;                     // appended proxy operations\n};\n\n// task level event base structure\nstruct taskEventBase {\n  uint64_t type;                     // event type: collective/p2p\n  int rank;                         // rank of the operation in NCCL communicator\n  const char* func;                 // ncclFunc*\n  int refCount;                     // number of references for this operation\n  void* parent;                     // parent API event\n  struct taskEventBase* next;       // next top level event\n  double startTs;\n  double stopTs;\n};\n\nstruct collective {\n  struct taskEventBase base;        // base structure for this event\n  uint64_t seqNumber;               // sequence number for this collective in communicator\n  void const* sendBuff;\n  void* recvBuff;\n  size_t count;\n  int root;\n  const char* datatype;\n  uint8_t nChannels;\n  const char* algo;\n  const char* proto;\n  int nWarps;\n  struct proxyOp op[MAX_CHANNELS][2*MAX_OPS];\n  int nProxyOps[MAX_CHANNELS];\n  struct kernelCh kernel[MAX_CHANNELS];\n};\n\nstruct p2p {\n  struct taskEventBase base;        // base structure for this event\n  uint8_t func;\n  void const* buff;\n  size_t count;\n  const char* datatype;\n  int peer;\n  uint8_t nChannels;\n  struct proxyOp op[MAX_CHANNELS];\n  struct kernelCh kernel[MAX_CHANNELS];\n};\n\nstruct group {\n  uint64_t type;\n  struct context* ctx;              // profiler context\n  int groupId;\n  int refCount;\n  struct taskEventBase* eventHead;  // queue head for task events\n  struct taskEventBase* eventTail;  // queue tail for task events\n  double startTs;\n  double stopTs;\n  struct group* next;               // next group event in queue\n};\n\nstruct collApi {\n  uint64_t type;\n  struct groupApi* parent;\n  struct context* ctx;              // profiler context\n  int collApiId;\n  int refCount;\n  cudaStream_t stream;\n  const char* func;\n  size_t count;\n  const char* datatype;\n  int root;\n  bool graphCaptured;\n  struct taskEventBase* eventHead;  // queue head for task events\n  struct taskEventBase* eventTail;  // queue tail for task events\n  double startTs;\n  double stopTs;\n  struct collApi* next;\n};\n\nstruct p2pApi {\n  uint64_t type;\n  struct groupApi* parent;\n  struct context* ctx;              // profiler context\n  int p2pApiId;\n  int refCount;\n  const char* func;\n  cudaStream_t stream;\n  size_t count;\n  const char* datatype;\n  bool graphCaptured;\n  struct taskEventBase* eventHead;  // queue head for task events\n  struct taskEventBase* eventTail;  // queue tail for task events\n  double startTs;\n  double stopTs;\n  struct p2pApi* next;\n};\n\nstruct kernelLaunch {\n  uint64_t type;\n  struct groupApi* parent;\n  cudaStream_t stream;\n  int kernelLaunchId;\n  double startTs;\n  double stopTs;\n  struct kernelLaunch* next;\n};\n\nstruct groupApi {\n  uint64_t type;\n  struct context* ctx;\n  int groupApiId;\n  int refCount;\n  bool graphCaptured;\n  int groupDepth;\n  struct profilerQueue<struct p2pApi, &p2pApi::next> p2pApiEvents;\n  struct profilerQueue<struct collApi, &collApi::next> collApiEvents;\n  struct profilerQueue<struct kernelLaunch, &kernelLaunch::next> kernelLaunchEvents;\n  double endOfncclGroupStartTs;\n  double startOfncclGroupEndTs;\n  double startTs;\n  double stopTs;\n  struct groupApi* next;\n};\n\n// arrays for different event objects\nstruct context {\n  const char* commName;\n  uint64_t commHash;\n  int nranks;\n  int rank;\n\n  int groupApiPoolSize;\n  int groupApiPoolBase;\n  int groupApiPoolIndex;\n  struct groupApi* groupApiPool;\n\n  int collApiPoolSize;\n  int collApiPoolBase;\n  int collApiPoolIndex;\n  struct collApi* collApiPool;\n\n  int p2pApiPoolSize;\n  int p2pApiPoolBase;\n  int p2pApiPoolIndex;\n  struct p2pApi* p2pApiPool;\n\n  int kernelLaunchPoolSize;\n  int kernelLaunchPoolBase;\n  int kernelLaunchPoolIndex;\n  struct kernelLaunch* kernelLaunchPool;\n\n  int groupPoolSize;\n  int groupPoolBase;\n  int groupPoolIndex;\n  struct group* groupPool;\n\n  int collPoolSize;\n  int collPoolBase;\n  int collPoolIndex;\n  struct collective* collPool;\n\n  int p2pPoolSize;\n  int p2pPoolBase;\n  int p2pPoolIndex;\n  struct p2p* p2pPool;\n\n  int proxyCtrlPoolSize;\n  int proxyCtrlPoolBase;\n  int proxyCtrlPoolIndex;\n  struct proxyCtrl* proxyCtrlPool;\n};\n\ntemplate <typename T>\ninline int taskEventQueueEmpty(T *obj) {\n  return obj->eventHead == NULL;\n}\n\ntemplate <typename T>\ninline void taskEventQueueEnqueue(T* obj, struct taskEventBase* event) {\n  event->next = NULL;\n  if (obj->eventHead) obj->eventTail->next = event;\n  else obj->eventHead = event;\n  obj->eventTail = event;\n}\n\ntemplate <typename T>\ninline struct taskEventBase* taskEventQueueHead(T *obj) {\n    return obj->eventHead;\n}\n\ntemplate <typename T>\ninline struct taskEventBase* taskEventQueueDequeue(T* obj) {\n  struct taskEventBase* tmp = obj->eventHead;\n  obj->eventHead = obj->eventHead->next;\n  if (obj->eventHead == NULL) obj->eventTail = NULL;\n  return tmp;\n}\n\ntemplate <typename T>\ninline void resetTaskEvents(T *obj, struct context* ctx) {\n  while (!taskEventQueueEmpty(obj)) {\n    struct taskEventBase* base = taskEventQueueDequeue(obj);\n    if (base->type == ncclProfileColl) {\n      struct collective* c = (struct collective *)base;\n      // reset event proxyOps & proxySteps\n      memset(c->nProxyOps, 0, sizeof(int)*MAX_CHANNELS);\n      // release collective events in the group and return them to the collective pool\n      __atomic_fetch_add(&ctx->collPoolBase, 1, __ATOMIC_RELAXED);\n    } else if (base->type == ncclProfileP2p) {\n      struct p2p* p = (struct p2p *)base;\n      // reset event proxyOp and proxySteps\n      memset(&p->op, 0, sizeof(struct proxyOp)*MAX_CHANNELS);\n      // release p2p events in the group and return them to the p2p pool\n      __atomic_fetch_add(&ctx->p2pPoolBase, 1, __ATOMIC_RELAXED);\n    }\n  }\n}\n\n#endif\n"
  },
  {
    "path": "ext-profiler/example/nccl/common.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef COMMON_H_\n#define COMMON_H_\n\ntypedef enum {NCCL_LOG_NONE=0, NCCL_LOG_ERROR=1, NCCL_LOG_VERSION=2, NCCL_LOG_WARN=3, NCCL_LOG_INFO=4, NCCL_LOG_ABORT=5, NCCL_LOG_TRACE=6} ncclDebugLogLevel;\ntypedef enum {NCCL_INIT=1, NCCL_COLL=2, NCCL_P2P=4, NCCL_SHM=8, NCCL_NET=16, NCCL_GRAPH=32, NCCL_TUNING=64, NCCL_ENV=128, NCCL_ALLOC=256, NCCL_CALL=512, NCCL_PROXY=1024, NCCL_NVLS=2048, NCCL_BOOTSTRAP=4096, NCCL_REG=8192, NCCL_ALL=~0} ncclDebugLogSubSys;\n\ntypedef void (*ncclDebugLogger_t)(ncclDebugLogLevel level, unsigned long flags, const char *file, int line, const char *fmt, ...);\n\n#endif\n"
  },
  {
    "path": "ext-profiler/example/nccl/err.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_ERR_H_\n#define NCCL_ERR_H_\n\n/* Error type for plugins */\ntypedef enum { ncclSuccess                 =  0,\n               ncclUnhandledCudaError      =  1,\n               ncclSystemError             =  2,\n               ncclInternalError           =  3,\n               ncclInvalidArgument         =  4,\n               ncclInvalidUsage            =  5,\n               ncclRemoteError             =  6 } ncclResult_t;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/example/nccl/net_ib_v1.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NET_IB_V1_H_\n#define NET_IB_V1_H_\n\n#define NCCL_PROFILER_NET_IB_VER 1\n\nenum {\n  ncclProfileQp = (1 << 0),\n};\n\n// The data structure version is encoded in the plugin identifier bitmask and\n// passed to NCCL core through the profiler callback. NCCL copies the plugin\n// identifier in the event descriptor before calling the profiler startEvent\n// function. The profiler should inspect the plugin id to find out the source\n// plugin as well as the version of the event struct\ntypedef struct {\n  uint8_t type;        // event type (plugin defined)\n  union {\n    struct {\n      int device;      // network device id\n      uint64_t wr_id;  // work request id\n      int opcode;      // ibv opcode\n      int qpNum;       // QP number\n      size_t length;   // work request data length\n    } qp;\n  };\n} ncclProfilerNetIbDescr_v1_t;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/example/nccl/net_socket_v1.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NET_SOCKET_V1_H_\n#define NET_SOCKET_V1_H_\n\n#define NCCL_PROFILER_NET_SOCKET_VER 1\n\nenum {\n  ncclProfileSocket = (1 << 0),\n};\n\n// The data structure version is encoded in the plugin identifier bitmask and\n// passed to NCCL core through the profiler callback. NCCL copies the plugin\n// identifier in the event descriptor before calling the profiler startEvent\n// function. The profiler should inspect the plugin id to find out the source\n// plugin as well as the version of the event struct\ntypedef struct {\n  uint8_t type;        // event type (plugin defined)\n  union {\n    struct {\n      int fd;\n      int op;\n      size_t length;\n    } sock;\n  };\n} ncclProfilerNetSockDescr_v1_t;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/example/nccl/profiler.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_H_\n#define PROFILER_H_\n\n#include <stdint.h>\n#include <stdlib.h>\n\n#include \"common.h\"\n\nenum {\n  ncclProfileGroup          = (1 << 0),  // group event type\n  ncclProfileColl           = (1 << 1),  // host collective call event type\n  ncclProfileP2p            = (1 << 2),  // host point-to-point call event type\n  ncclProfileProxyOp        = (1 << 3),  // proxy operation event type\n  ncclProfileProxyStep      = (1 << 4),  // proxy step event type\n  ncclProfileProxyCtrl      = (1 << 5),  // proxy control event type\n  ncclProfileKernelCh       = (1 << 6),  // kernel channel event type\n  ncclProfileNetPlugin      = (1 << 7),  // network plugin-defined, events\n  ncclProfileGroupApi       = (1 << 8),  // Group API events\n  ncclProfileCollApi        = (1 << 9),  // Collective API events\n  ncclProfileP2pApi         = (1 << 10), // Point-to-Point API events\n  ncclProfileKernelLaunch   = (1 << 11), // Kernel launch events\n};\n\ntypedef enum {\n  ncclProfilerProxyOpSendPosted        = 0,  // deprecated in v4\n  ncclProfilerProxyOpSendRemFifoWait   = 1,  // deprecated in v4\n  ncclProfilerProxyOpSendTransmitted   = 2,  // deprecated in v4\n  ncclProfilerProxyOpSendDone          = 3,  // deprecated in v4\n  ncclProfilerProxyOpRecvPosted        = 4,  // deprecated in v4\n  ncclProfilerProxyOpRecvReceived      = 5,  // deprecated in v4\n  ncclProfilerProxyOpRecvTransmitted   = 6,  // deprecated in v4\n  ncclProfilerProxyOpRecvDone          = 7,  // deprecated in v4\n  ncclProfilerProxyOpInProgress_v4     = 19,\n\n  /* Legacy proxy profiler states */\n  ncclProfilerProxyStepSendGPUWait     = 8,\n  ncclProfilerProxyStepSendPeerWait_v4 = 20,\n  ncclProfilerProxyStepSendWait        = 9,\n  ncclProfilerProxyStepRecvWait        = 10,\n  ncclProfilerProxyStepRecvFlushWait   = 11,\n  ncclProfilerProxyStepRecvGPUWait     = 12,\n\n  /* Legacy proxy control states */\n  ncclProfilerProxyCtrlIdle            = 13,\n  ncclProfilerProxyCtrlActive          = 14,\n  ncclProfilerProxyCtrlSleep           = 15,\n  ncclProfilerProxyCtrlWakeup          = 16,\n  ncclProfilerProxyCtrlAppend          = 17,\n  ncclProfilerProxyCtrlAppendEnd       = 18,\n\n  /* Network defined events states */\n  ncclProfilerNetPluginUpdate          = 21,\n\n  /* Kernel event states */\n  ncclProfilerKernelChStop             = 22,\n\n  /* Group API States */\n  ncclProfilerEndGroupApiStart         = 23,\n  ncclProfilerBeginGroupApiEnd         = 24\n} ncclProfilerEventState_t;\n\ntypedef ncclProfilerEventState_t ncclProfilerEventState_v1_t;\ntypedef ncclProfilerEventState_t ncclProfilerEventState_v2_t;\ntypedef ncclProfilerEventState_t ncclProfilerEventState_v3_t;\ntypedef ncclProfilerEventState_t ncclProfilerEventState_v4_t;\ntypedef ncclProfilerEventState_t ncclProfilerEventState_v5_t;\n\n#include \"profiler_v5.h\"\n#include \"profiler_v4.h\"\n#include \"profiler_v3.h\"\n#include \"profiler_v2.h\"\n#include \"profiler_v1.h\"\n#include \"profiler_net.h\"\n\ntypedef ncclProfiler_v5_t ncclProfiler_t;\ntypedef ncclProfilerEventDescr_v5_t ncclProfilerEventDescr_t;\ntypedef ncclProfilerEventStateArgs_v5_t ncclProfilerEventStateArgs_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "ext-profiler/example/nccl/profiler_net.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_NET_H_\n#define PROFILER_NET_H_\n\n#define NCCL_PROFILER_NET_VER_BITS  (16)\n#define NCCL_PROFILER_NET_VER_MASK  (~0U >> NCCL_PROFILER_NET_VER_BITS)\n#define NCCL_PROFILER_NET_TYPE_MASK (~0U << NCCL_PROFILER_NET_VER_BITS)\n\ntypedef enum {\n  NCCL_PROFILER_NET_TYPE_IB   = (1U << NCCL_PROFILER_NET_VER_BITS),\n  NCCL_PROFILER_NET_TYPE_SOCK = (2U << NCCL_PROFILER_NET_VER_BITS),\n} ncclProfilerNetType;\n\n#include \"net_ib_v1.h\"\n#include \"net_socket_v1.h\"\n\n#endif\n"
  },
  {
    "path": "ext-profiler/example/nccl/profiler_v1.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_V1_H_\n#define PROFILER_V1_H_\n\n#include <stdint.h>\n\ntypedef struct {\n  uint8_t type;                 // event type descriptor: ncclProfileColl, ...\n  void* parentObj;              // pointer to the profiler parent object (for coll is the group)\n  int rank;                     // originating rank\n  union {\n    struct {\n      const char* name;\n      uint64_t commHash;\n      uint64_t seqNumber;\n      uint8_t func;\n      void const* sendBuff;\n      void* recvBuff;\n      size_t count;\n      int root;\n      uint8_t datatype;\n      uint32_t op;\n      size_t trafficBytes;\n      uint8_t nMaxChannels;\n      uint8_t nWarps;\n      uint8_t algo;\n      uint8_t proto;\n      int isCollnet;\n      int isNvls;\n    } coll;\n\n    struct {\n      const char* name;\n      uint64_t commHash;\n      uint8_t func;\n      void* buff;\n      uint8_t datatype;\n      size_t count;\n      int peer;\n    } p2p;\n\n    struct {\n      pid_t pid;                // pid of the originating process\n      uint8_t channelId;        // channel id for this proxy operation\n      int peer;                 // remote rank for send/recv\n      int nSteps;               // number of steps for this proxy operation\n      int chunkSize;            // amount of data transferred by this proxy operation\n      int isSend;\n    } proxyOp;\n\n    struct {\n      int step;\n    } proxyStep;\n  };\n} ncclProfilerEventDescr_v1_t;\n\ntypedef union {\n  struct {\n    size_t transSize;\n    int steps;\n  } proxyOp;\n\n  struct {\n    int appendedProxyOps;\n  } proxyCtrl;\n} ncclProfilerEventStateArgs_v1_t;\n\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, int* eActivationMask);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v1_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v1_t eState, ncclProfilerEventStateArgs_v1_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v1_t;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/example/nccl/profiler_v2.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_V2_H_\n#define PROFILER_V2_H_\n\n#include <stdint.h>\n\ntypedef struct {\n  uint8_t type;                 // event type descriptor: ncclProfileColl, ...\n  void* parentObj;              // pointer to the profiler parent object (for coll is the group)\n  int rank;                     // originating rank\n  union {\n    struct {\n      const char* name;\n      uint64_t commHash;\n      uint64_t seqNumber;\n      const char* func;\n      void const* sendBuff;\n      void* recvBuff;\n      size_t count;\n      int root;\n      const char* datatype;\n      size_t trafficBytes;\n      uint8_t nMaxChannels;\n      uint8_t nWarps;\n      const char* algo;\n      const char* proto;\n    } coll;\n\n    struct {\n      const char* name;\n      uint64_t commHash;\n      const char* func;\n      void* buff;\n      const char* datatype;\n      size_t count;\n      int peer;\n    } p2p;\n\n    struct {\n      pid_t pid;                // pid of the originating process\n      uint8_t channelId;        // channel id for this proxy operation\n      int peer;                 // remote rank for send/recv\n      int nSteps;               // number of steps for this proxy operation\n      int chunkSize;            // amount of data transferred by this proxy operation\n      int isSend;\n    } proxyOp;\n\n    struct {\n      int step;\n    } proxyStep;\n  };\n} ncclProfilerEventDescr_v2_t;\n\ntypedef union {\n  struct {\n    size_t transSize;\n    int steps;\n  } proxyOp;\n\n  struct {\n    int appendedProxyOps;\n  } proxyCtrl;\n} ncclProfilerEventStateArgs_v2_t;\n\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, int* eActivationMask);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v2_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v2_t eState, ncclProfilerEventStateArgs_v2_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v2_t;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/example/nccl/profiler_v3.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_V3_H_\n#define PROFILER_V3_H_\n\n#include <stdint.h>\n\ntypedef struct {\n  uint8_t type;                 // event type descriptor: ncclProfileColl, ...\n  void* parentObj;              // pointer to the profiler parent object (for coll is the group)\n  int rank;                     // originating rank\n  union {\n    struct {\n      const char* name;\n      uint64_t commHash;\n      uint64_t seqNumber;\n      const char* func;\n      void const* sendBuff;\n      void* recvBuff;\n      size_t count;\n      int root;\n      const char* datatype;\n      uint8_t nMaxChannels;\n      uint8_t nWarps;\n      const char* algo;\n      const char* proto;\n    } coll;\n\n    struct {\n      const char* name;\n      uint64_t commHash;\n      const char* func;\n      void* buff;\n      const char* datatype;\n      size_t count;\n      int peer;\n    } p2p;\n\n    struct {\n      pid_t pid;                // pid of the originating process\n      uint8_t channelId;        // channel id for this proxy operation\n      int peer;                 // remote rank for send/recv\n      int nSteps;               // number of steps for this proxy operation\n      int chunkSize;            // amount of data transferred by this proxy operation\n      int isSend;\n    } proxyOp;\n\n    struct {\n      int step;\n    } proxyStep;\n\n    struct {\n      uint8_t channelId;\n    } kernelCh;\n\n    struct {\n      int64_t id;\n      void* data;\n    } netPlugin;\n  };\n} ncclProfilerEventDescr_v3_t;\n\ntypedef union {\n  struct {\n    size_t transSize;\n    int steps;\n  } proxyOp;\n\n  struct {\n    int appendedProxyOps;\n  } proxyCtrl;\n} ncclProfilerEventStateArgs_v3_t;\n\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, int* eActivationMask);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v3_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v3_t eState, ncclProfilerEventStateArgs_v3_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v3_t;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/example/nccl/profiler_v4.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_V4_H_\n#define PROFILER_V4_H_\n\ntypedef struct {\n  uint8_t type;                 // event type descriptor: ncclProfileColl, ...\n  void* parentObj;              // pointer to the profiler parent object (for coll is the group)\n  int rank;                     // originating rank\n  union {\n    struct {\n      uint64_t seqNumber;\n      const char* func;\n      void const* sendBuff;\n      void* recvBuff;\n      size_t count;\n      int root;\n      const char* datatype;\n      uint8_t nChannels;\n      uint8_t nWarps;\n      const char* algo;\n      const char* proto;\n    } coll;\n\n    struct {\n      const char* func;\n      void* buff;\n      const char* datatype;\n      size_t count;\n      int peer;\n      uint8_t nChannels;\n    } p2p;\n\n    struct {\n      pid_t pid;                // pid of the originating process\n      uint8_t channelId;        // channel id for this proxy operation\n      int peer;                 // remote rank for send/recv\n      int nSteps;               // number of steps for this proxy operation\n      int chunkSize;            // amount of data transferred by this proxy operation\n      int isSend;\n    } proxyOp;\n\n    struct {\n      int step;\n    } proxyStep;\n\n    struct {\n      uint8_t channelId;\n      uint64_t pTimer;          // start timestamp from GPU globaltimer\n    } kernelCh;\n\n    struct {\n      int64_t id;\n      void* data;\n    } netPlugin;\n  };\n} ncclProfilerEventDescr_v4_t;\n\ntypedef union {\n  struct {\n    size_t transSize;\n  } proxyStep;\n\n  struct {\n    int appendedProxyOps;\n  } proxyCtrl;\n\n  struct {\n    void* data;\n  } netPlugin;\n\n  struct {\n    uint64_t pTimer;\n  } kernelCh;\n} ncclProfilerEventStateArgs_v4_t;\n\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  //  - commName       : user assigned communicator name\n  //  - commHash       : communicator id\n  //  - nNodes         : number of nodes in communicator\n  //  - nranks         : number of ranks in communciator\n  //  - rank           : rank identifier in communicator\n  //  - logfn          : logger function\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, int* eActivationMask, const char* commName, uint64_t commHash, int nNodes, int nranks, int rank, ncclDebugLogger_t logfn);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v4_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v4_t eState, ncclProfilerEventStateArgs_v4_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v4_t;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/example/nccl/profiler_v5.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_V5_H_\n#define PROFILER_V5_H_\n#include <stdbool.h>\n\ntypedef struct {\n  uint64_t type;                // event type descriptor: ncclProfileGroupApi, ...\n  void* parentObj;              // pointer to the profiler parent object\n  int rank;                     // originating rank\n  union {\n    struct {\n      int graphCaptured;\n      int groupDepth;\n    } groupApi;\n\n    struct {\n      const char* func;\n      size_t count;\n      const char* datatype;\n      int root;\n      void* stream;\n      bool graphCaptured;\n    } collApi;\n\n    struct {\n      const char* func;\n      size_t count;\n      const char* datatype;\n      void* stream;\n      bool graphCaptured;\n    } p2pApi;\n\n    struct {\n      void* stream;\n    } kernelLaunch;\n\n    struct {\n      uint64_t seqNumber;\n      const char* func;\n      void const* sendBuff;\n      void* recvBuff;\n      size_t count;\n      int root;\n      const char* datatype;\n      uint8_t nChannels;\n      uint8_t nWarps;\n      const char* algo;\n      const char* proto;\n      void* parentGroup; // for backward compatibility with v4\n    } coll;\n\n    struct {\n      const char* func;\n      void* buff;\n      const char* datatype;\n      size_t count;\n      int peer;\n      uint8_t nChannels;\n      void* parentGroup; // for backward compatibility with v4\n    } p2p;\n\n    struct {\n      pid_t pid;                // pid of the originating process\n      uint8_t channelId;        // channel id for this proxy operation\n      int peer;                 // remote rank for send/recv\n      int nSteps;               // number of steps for this proxy operation\n      int chunkSize;            // amount of data transferred by this proxy operation\n      int isSend;\n    } proxyOp;\n\n    struct {\n      int step;\n    } proxyStep;\n\n    struct {\n      uint8_t channelId;\n      uint64_t pTimer;          // start timestamp from GPU globaltimer\n    } kernelCh;\n\n    struct {\n      int64_t id;\n      void* data;\n    } netPlugin;\n  };\n} ncclProfilerEventDescr_v5_t;\n\ntypedef union {\n  struct {\n    size_t transSize;\n  } proxyStep;\n\n  struct {\n    int appendedProxyOps;\n  } proxyCtrl;\n\n  struct {\n    void* data;\n  } netPlugin;\n\n  struct {\n    uint64_t pTimer;\n  } kernelCh;\n} ncclProfilerEventStateArgs_v5_t;\n\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  //  - commId         : communicator id\n  //  - commName       : user assigned communicator name\n  //  - nNodes         : number of nodes in communicator\n  //  - nranks         : number of ranks in communicator\n  //  - rank           : rank identifier in communicator\n  //  - logfn          : logger function\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, uint64_t commId, int* eActivationMask, const char* commName, int nNodes, int nranks, int rank, ncclDebugLogger_t logfn);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v5_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v5_t eState, ncclProfilerEventStateArgs_v5_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v5_t;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/example/nccl/types.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NCCL_TYPES_H_\n#define NCCL_TYPES_H_\n\n/* Data types */\ntypedef enum { ncclInt8       = 0, ncclChar       = 0,\n               ncclUint8      = 1,\n               ncclInt32      = 2, ncclInt        = 2,\n               ncclUint32     = 3,\n               ncclInt64      = 4,\n               ncclUint64     = 5,\n               ncclFloat16    = 6, ncclHalf       = 6,\n               ncclFloat32    = 7, ncclFloat      = 7,\n               ncclFloat64    = 8, ncclDouble     = 8,\n               ncclBfloat16   = 9,\n} ncclDataType_t;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/example/plugin.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <stdio.h>\n#include <pthread.h>\n#include <cstring>\n#include <linux/limits.h>\n#include <sys/time.h>\n#include <sys/types.h>\n#include <sys/syscall.h>\n#include <unistd.h>\n#include <time.h>\n#include \"event.h\"\n#include \"print_event.h\"\n\n#define __hidden __attribute__ ((visibility(\"hidden\")))\n\nstatic int initialized;             // initialization counter for profiler\nstatic double startTime;            // profiler start time\n\nstatic const int defaultEActivationMask = ncclProfileColl | ncclProfileP2p;\nstatic const int defaultGroupApiPoolSize = 256;\nstatic const int defaultCollApiPoolSize = 256;\nstatic const int defaultP2pApiPoolSize = 256;\nstatic const int defaultKernelLaunchPoolSize = 256;\nstatic const int defaultGroupPoolSize = 256;\nstatic const int defaultCollPoolSize = 256;\nstatic const int defaultP2pPoolSize = 256;\nstatic const int defaultProxyCtrlPoolSize = 16;\nstatic const int defaultDetachPoolSize = 256;\n\nstatic int groupApiPoolSize;\nstatic int collApiPoolSize;\nstatic int p2pApiPoolSize;\nstatic int kernelLaunchPoolSize;\nstatic int groupPoolSize;\nstatic int collPoolSize;\nstatic int p2pPoolSize;\nstatic int proxyCtrlPoolSize;\nstatic int detachPoolSize;\nstatic int detachPoolBase;\nstatic int detachPoolIndex;\nstatic int detachPoolDone;\nstatic struct proxyOp* detachPool;\n\nncclDebugLogger_t logFn;\n#define INFO(FLAGS, ...) logFn(NCCL_LOG_INFO, (FLAGS), __func__, __LINE__, __VA_ARGS__)\n\n__hidden double gettime(void) {\n  struct timespec t;\n  clock_gettime(CLOCK_MONOTONIC, &t);\n  return (t.tv_sec*1e6 + (t.tv_nsec*1e-3));\n}\n\nstatic pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;\nstatic pid_t pid;\nstatic int* eActivationMaskPtr;\n\n__hidden ncclResult_t exampleProfilerInit(void** context, uint64_t commId, int* eActivationMask, const char* commName, int nNodes, int nranks, int rank, ncclDebugLogger_t logfn) {\n  pthread_mutex_lock(&lock);\n  if (__atomic_fetch_add(&initialized, 1, __ATOMIC_RELAXED) == 0) {\n    // first thread initializes event mask, environment and detach pool\n    const char* str;\n    str = getenv(\"NCCL_PROFILE_EVENT_MASK\");\n    __atomic_store_n(eActivationMask, str ? atoi(str) : 0, __ATOMIC_RELAXED);\n\n    str = getenv(\"NCCL_PROFILE_GROUP_API_POOL_SIZE\");\n    groupApiPoolSize = str ? atoi(str) : defaultGroupApiPoolSize;\n\n    str = getenv(\"NCCL_PROFILE_COLL_API_POOL_SIZE\");\n    collApiPoolSize = str ? atoi(str) : defaultCollApiPoolSize;\n\n    str = getenv(\"NCCL_PROFILE_P2P_API_POOL_SIZE\");\n    p2pApiPoolSize = str ? atoi(str) : defaultP2pApiPoolSize;\n\n    str = getenv(\"NCCL_PROFILE_KERNEL_LAUNCH_POOL_SIZE\");\n    kernelLaunchPoolSize = str ? atoi(str) : defaultKernelLaunchPoolSize;\n\n    str = getenv(\"NCCL_PROFILE_GROUP_POOL_SIZE\");\n    groupPoolSize = str ? atoi(str) : defaultGroupPoolSize;\n\n    str = getenv(\"NCCL_PROFILE_COLL_POOL_SIZE\");\n    collPoolSize = str ? atoi(str) : defaultCollPoolSize;\n\n    str = getenv(\"NCCL_PROFILE_P2P_POOL_SIZE\");\n    p2pPoolSize = str ? atoi(str) : defaultP2pPoolSize;\n\n    str = getenv(\"NCCL_PROFILE_PROXY_CTRL_POOL_SIZE\");\n    proxyCtrlPoolSize = str ? atoi(str) : defaultProxyCtrlPoolSize;\n\n    str = getenv(\"NCCL_PROFILE_PROXY_DETACH_POOL_SIZE\");\n    detachPoolSize = str ? atoi(str) : defaultDetachPoolSize;\n\n    // detach pool is used to store PXN proxyOps and is shared among threads\n    detachPool = (struct proxyOp *)calloc(detachPoolSize, sizeof(*detachPool));\n    if (detachPool == NULL) {\n      pthread_mutex_unlock(&lock);\n      return ncclSystemError;\n    }\n    // Pid of the process initializing the profiler first.\n    // This is compared against the pid of proxyOp events\n    // to figure out if they have a parent event in this\n    // process address space.\n    pid = getpid();\n\n    startTime = gettime();\n  }\n  pthread_mutex_unlock(&lock);\n\n  // store pointer to activation mask globally\n  eActivationMaskPtr = eActivationMask;\n\n  // pre-allocate memory for event object pools in dedicated profiler context\n  struct context* ctx = (struct context *)calloc(1, sizeof(*ctx));\n  if (ctx == nullptr) return ncclSystemError;\n  ctx->commName = commName;\n  ctx->commHash = commId;\n  ctx->nranks = nranks;\n  ctx->rank = rank;\n  logFn = logfn;\n  INFO(NCCL_INIT, \"PROFILER/Plugin: init commName: %s commHash: %lu nranks: %d rank: %d\", commName ? commName : \"\", commId, nranks, rank);\n\n  ctx->groupApiPool = (struct groupApi *)calloc(groupApiPoolSize, sizeof(*ctx->groupApiPool));\n  if (ctx->groupApiPool == NULL) goto fail;\n\n  ctx->collApiPool = (struct collApi *)calloc(collApiPoolSize, sizeof(*ctx->collApiPool));\n  if (ctx->collApiPool == NULL) goto fail;\n\n  ctx->p2pApiPool = (struct p2pApi *)calloc(p2pApiPoolSize, sizeof(*ctx->p2pApiPool));\n  if (ctx->p2pApiPool == NULL) goto fail;\n\n  ctx->kernelLaunchPool = (struct kernelLaunch *)calloc(kernelLaunchPoolSize, sizeof(*ctx->kernelLaunchPool));\n  if (ctx->kernelLaunchPool == NULL) goto fail;\n\n  ctx->groupPool = (struct group *)calloc(groupPoolSize, sizeof(*ctx->groupPool));\n  if (ctx->groupPool == NULL) goto fail;\n\n  ctx->collPool = (struct collective *)calloc(collPoolSize, sizeof(*ctx->collPool));\n  if (ctx->collPool == NULL) goto fail;\n\n  ctx->p2pPool = (struct p2p *)calloc(p2pPoolSize, sizeof(*ctx->p2pPool));\n  if (ctx->p2pPool == NULL) goto fail;\n\n  ctx->proxyCtrlPool = (struct proxyCtrl *)calloc(proxyCtrlPoolSize, sizeof(*ctx->proxyCtrlPool));\n  if (ctx->proxyCtrlPool == NULL) goto fail;\n\n  // Print event pool sizes for debugging\n  //fprintf(stdout, \"Profiler: Group pool size (bytes): %lu\\n\", sizeof(struct group)*groupPoolSize);\n  //fprintf(stdout, \"Profiler: Coll  pool size (bytes): %lu\\n\", sizeof(struct collective)*collPoolSize);\n  //fprintf(stdout, \"Profiler: P2p   pool size (bytes): %lu\\n\", sizeof(struct p2p)*p2pPoolSize);\n  //fprintf(stdout, \"Profiler: Proxy pool size (bytes): %lu\\n\", sizeof(struct proxyCtrl)*proxyCtrlPoolSize);\n  //fprintf(stdout, \"Profiler: PXN   pool size (bytes): %lu\\n\", sizeof(struct proxyOp)*detachPoolSize);\n\n  *context = ctx;\n  return ncclSuccess;\n\nfail:\n  // cleanup resources\n  if (ctx->proxyCtrlPool) free(ctx->proxyCtrlPool);\n  if (ctx->p2pPool) free(ctx->p2pPool);\n  if (ctx->collPool) free(ctx->collPool);\n  if (ctx->groupPool) free(ctx->groupPool);\n  if (ctx->collApiPool) free(ctx->collApiPool);\n  if (ctx->p2pApiPool) free(ctx->p2pApiPool);\n  if (ctx->kernelLaunchPool) free(ctx->kernelLaunchPool);\n  if (ctx->groupApiPool) free(ctx->groupApiPool);\n  free(ctx);\n  if (detachPool) free(detachPool);\n  return ncclSystemError;\n}\n\nstatic const char* profilerDumpFile;\n\n__hidden ncclResult_t exampleProfilerFinalize(void* context) {\n  FILE* fh = NULL;\n  char filename[PATH_MAX] = { 0 };\n  struct context* ctx = (struct context *)context;\n  const char* dump = profilerDumpFile ? profilerDumpFile : getenv(\"NCCL_PROFILE_DUMP_FILE\");\n  if (dump) {\n    sprintf(filename, \"%s_%lu_%d.json\", dump, ctx->commHash, ctx->rank);\n    fh = fopen(filename, \"w\");\n    fprintf(fh, \"[\\n\");\n  }\n  INFO(NCCL_INIT, \"PROFILER/Plugin: finalize commName: %s commHash: %lu nranks: %d rank: %d\", ctx->commName ? ctx->commName : \"\", ctx->commHash, ctx->nranks, ctx->rank);\n\n  // print last N groups/collectives/p2ps\n  // Note that since the v5 version of the profiler, group API events are now at the top of the hierarchy.\n  // Legacy Group events from v4 are still emitted for compatibility purposes when using the v4 profiler but excluded from this example.\n  int start = (ctx->groupApiPoolIndex - groupApiPoolSize >= 0) ? ctx->groupApiPoolIndex - groupApiPoolSize : 0;\n  int end = ctx->groupApiPoolIndex;\n  for (int i = start; i < end; i++) {\n    printEvent(fh, &ctx->groupApiPool[i%groupApiPoolSize]);\n  }\n\n  start = (ctx->proxyCtrlPoolIndex - proxyCtrlPoolSize >= 0) ? ctx->proxyCtrlPoolIndex - proxyCtrlPoolSize : 0;\n  end = ctx->proxyCtrlPoolIndex;\n  for (int i = start; i < end; i++) {\n    printEvent(fh, &ctx->proxyCtrlPool[i%proxyCtrlPoolSize]);\n  }\n\n  free(ctx->groupPool);\n  free(ctx->collApiPool);\n  free(ctx->p2pApiPool);\n  free(ctx->kernelLaunchPool);\n  free(ctx->groupApiPool);\n  free(ctx->collPool);\n  free(ctx->p2pPool);\n  free(ctx->proxyCtrlPool);\n  free(ctx);\n\n  // last thread cleans up shared detach pool\n  if (__atomic_sub_fetch(&initialized, 1, __ATOMIC_RELAXED) == 0) {\n    start = (detachPoolIndex - detachPoolSize >= 0) ? detachPoolIndex - detachPoolSize : 0;\n    end = detachPoolIndex;\n    for (int i = start; i < end; i++) {\n      printEvent(fh, &detachPool[i%detachPoolSize]);\n    }\n    free(detachPool);\n  }\n\n  if (fh) fprintf(fh, \"{}]\\n\");\n  if (fh) fclose(fh);\n\n  return ncclSuccess;\n}\n\n__hidden void updateEvent(void* handle);\n\n__hidden ncclResult_t exampleProfilerStartEvent(void* context, void** eHandle, ncclProfilerEventDescr_t* eDescr) {\n  *eHandle = NULL;\n  struct context* ctx = (struct context *)context;\n  if (eDescr->type == ncclProfileGroupApi) {\n    struct groupApi* event;\n    int groupApiId = __atomic_fetch_add(&ctx->groupApiPoolIndex, 1, __ATOMIC_RELAXED);\n    if ((groupApiId - __atomic_load_n(&ctx->groupApiPoolBase, __ATOMIC_RELAXED)) < groupApiPoolSize) {\n      // if there are available group API events grab one\n      event = &ctx->groupApiPool[groupApiId%groupApiPoolSize];\n      // Make sure all child events of the picked group API event are cleared\n      while (!profilerQueueEmpty(&event->collApiEvents)) {\n        struct collApi *collApiEvent = profilerQueueDequeue(&event->collApiEvents);\n        resetTaskEvents(collApiEvent, ctx);\n        __atomic_fetch_add(&ctx->collApiPoolBase, 1, __ATOMIC_RELAXED);\n      }\n      while (!profilerQueueEmpty(&event->p2pApiEvents)) {\n        struct p2pApi *p2pApiEvent = profilerQueueDequeue(&event->p2pApiEvents);\n        resetTaskEvents(p2pApiEvent, ctx);\n        __atomic_fetch_add(&ctx->p2pApiPoolBase, 1, __ATOMIC_RELAXED);\n      }\n      while (!profilerQueueEmpty(&event->kernelLaunchEvents)) {\n        profilerQueueDequeue(&event->kernelLaunchEvents);\n        __atomic_fetch_add(&ctx->kernelLaunchPoolBase, 1, __ATOMIC_RELAXED);\n      }\n    } else {\n      // else drop this event\n      __atomic_fetch_sub(&ctx->groupApiPoolIndex, 1, __ATOMIC_RELAXED);\n      return ncclSuccess;\n    }\n    event->type = ncclProfileGroupApi;\n    event->ctx = ctx;\n    event->groupApiId = groupApiId;\n    event->graphCaptured = eDescr->groupApi.graphCaptured;\n    event->groupDepth = eDescr->groupApi.groupDepth;\n    event->startTs = gettime() - startTime;\n    *eHandle = event;\n  } else if (eDescr->type == ncclProfileCollApi) {\n    if (eDescr->parentObj == NULL) return ncclSuccess;\n    struct collApi* event;\n    int collApiId = __atomic_fetch_add(&ctx->collApiPoolIndex, 1, __ATOMIC_RELAXED);\n    if ((collApiId - __atomic_load_n(&ctx->collApiPoolBase, __ATOMIC_RELAXED)) < collApiPoolSize) {\n      // if there are available Coll API events grab one\n      event = &ctx->collApiPool[collApiId%collApiPoolSize];\n      resetTaskEvents(event, ctx);\n    } else {\n      // else drop this event\n      __atomic_fetch_sub(&ctx->collApiPoolIndex, 1, __ATOMIC_RELAXED);\n      return ncclSuccess;\n    }\n    event->type = ncclProfileCollApi;\n    event->collApiId = collApiId;\n    event->ctx = ctx;\n    event->func = eDescr->collApi.func;\n    event->stream = (cudaStream_t) eDescr->collApi.stream;\n    event->count = eDescr->collApi.count;\n    event->datatype = eDescr->collApi.datatype;\n    event->root = eDescr->collApi.root;\n    event->graphCaptured = eDescr->collApi.graphCaptured;\n    struct groupApi* parent = (struct groupApi *) eDescr->parentObj;\n    event->parent = parent;\n    profilerQueueEnqueue(&parent->collApiEvents, event);\n    __atomic_fetch_add(&parent->refCount, 1, __ATOMIC_RELAXED);\n    *eHandle = event;\n  } else if (eDescr->type == ncclProfileP2pApi) {\n    if (eDescr->parentObj == NULL) return ncclSuccess;\n    struct p2pApi* event;\n    int p2pApiId = __atomic_fetch_add(&ctx->p2pApiPoolIndex, 1, __ATOMIC_RELAXED);\n    if ((p2pApiId - __atomic_load_n(&ctx->p2pApiPoolBase, __ATOMIC_RELAXED)) < p2pApiPoolSize) {\n      // if there are available p2p API events grab one\n      event = &ctx->p2pApiPool[p2pApiId%p2pApiPoolSize];\n      resetTaskEvents(event, ctx);\n    } else {\n      // else drop this event\n      __atomic_fetch_sub(&ctx->p2pApiPoolIndex, 1, __ATOMIC_RELAXED);\n      return ncclSuccess;\n    }\n    event->type = ncclProfileP2pApi;\n    event->p2pApiId = p2pApiId;\n    event->ctx = ctx;\n    event->func = eDescr->p2pApi.func;\n    event->stream = (cudaStream_t) eDescr->p2pApi.stream;\n    event->count = eDescr->p2pApi.count;\n    event->datatype = eDescr->p2pApi.datatype;\n    event->graphCaptured = eDescr->p2pApi.graphCaptured;\n    struct groupApi* parent = (struct groupApi *) eDescr->parentObj;\n    event->parent = parent;\n    profilerQueueEnqueue(&parent->p2pApiEvents, event);\n    __atomic_fetch_add(&parent->refCount, 1, __ATOMIC_RELAXED);\n    *eHandle = event;\n  } else if (eDescr->type == ncclProfileKernelLaunch) {\n    if (eDescr->parentObj == NULL) return ncclSuccess;\n    struct kernelLaunch* event;\n    int kernelLaunchId = __atomic_fetch_add(&ctx->kernelLaunchPoolIndex, 1, __ATOMIC_RELAXED);\n    if ((kernelLaunchId - __atomic_load_n(&ctx->kernelLaunchPoolBase, __ATOMIC_RELAXED)) < kernelLaunchPoolSize) {\n      // if there are available kernel API events grab one\n      event = &ctx->kernelLaunchPool[kernelLaunchId%kernelLaunchPoolSize];\n    } else {\n      // else drop this event\n      __atomic_fetch_sub(&ctx->kernelLaunchPoolIndex, 1, __ATOMIC_RELAXED);\n      return ncclSuccess;\n    }\n    event->type = ncclProfileKernelLaunch;\n    event->stream = (cudaStream_t) eDescr->kernelLaunch.stream;\n    struct groupApi* parent = (struct groupApi *) eDescr->parentObj;\n    event->parent = parent;\n    profilerQueueEnqueue(&parent->kernelLaunchEvents, event);\n    __atomic_fetch_add(&parent->refCount, 1, __ATOMIC_RELAXED);\n    *eHandle = event;\n  } else if (eDescr->type == ncclProfileGroup) {\n    if (eDescr->parentObj == NULL) return ncclSuccess;\n    struct group* event;\n    int groupId = __atomic_fetch_add(&ctx->groupPoolIndex, 1, __ATOMIC_RELAXED);\n    if ((groupId - __atomic_load_n(&ctx->groupPoolBase, __ATOMIC_RELAXED)) < groupPoolSize) {\n      // if there are available group events grab one\n      event = &ctx->groupPool[groupId%groupPoolSize];\n      while (!taskEventQueueEmpty(event)) {\n        struct taskEventBase* base = taskEventQueueDequeue(event);\n        if (base->type == ncclProfileColl) {\n          struct collective* c = (struct collective *)base;\n          // reset event proxyOps & proxySteps\n          memset(c->nProxyOps, 0, sizeof(int)*MAX_CHANNELS);\n          // release collective events in the group and return them to the collective pool\n          __atomic_fetch_add(&ctx->collPoolBase, 1, __ATOMIC_RELAXED);\n        } else if (base->type == ncclProfileP2p) {\n          struct p2p* p = (struct p2p *)base;\n          // reset event proxyOp and proxySteps\n          memset(&p->op, 0, sizeof(struct proxyOp)*MAX_CHANNELS);\n          // release p2p events in the group and return them to the p2p pool\n          __atomic_fetch_add(&ctx->p2pPoolBase, 1, __ATOMIC_RELAXED);\n        }\n      }\n    } else {\n      // else drop this event\n      __atomic_fetch_sub(&ctx->groupPoolIndex, 1, __ATOMIC_RELAXED);\n      return ncclSuccess;\n    }\n    event->type = ncclProfileGroup;\n    event->ctx = ctx;\n    event->groupId = groupId;\n    event->startTs = gettime() - startTime;\n    *eHandle = event;\n    debugEvent(event, \"GroupStart\");\n  } else if (eDescr->type == ncclProfileColl) {\n    // the parent might be null if we run out of events\n    struct collApi* parent = (struct collApi *)eDescr->parentObj;\n    if (parent == NULL) return ncclSuccess;\n\n    struct collective* event;\n    int collId = __atomic_fetch_add(&ctx->collPoolIndex, 1, __ATOMIC_RELAXED);\n    if ((collId - __atomic_load_n(&ctx->collPoolBase, __ATOMIC_RELAXED)) < collPoolSize) {\n      // if there are available collective events grab one\n      event = &ctx->collPool[collId%collPoolSize];\n    } else {\n      // else drop this event\n      __atomic_fetch_sub(&ctx->collPoolIndex, 1, __ATOMIC_RELAXED);\n      return ncclSuccess;\n    }\n\n    event->base.type = ncclProfileColl;\n    event->base.rank = eDescr->rank;\n    event->base.func = eDescr->coll.func;\n    event->base.startTs = gettime() - startTime;\n    event->base.parent = parent;\n    event->seqNumber = eDescr->coll.seqNumber;\n    event->sendBuff = eDescr->coll.sendBuff;\n    event->recvBuff = eDescr->coll.recvBuff;\n    event->count = eDescr->coll.count;\n    event->root = eDescr->coll.root;\n    event->datatype = eDescr->coll.datatype;\n    event->nChannels = eDescr->coll.nChannels;\n    event->nWarps = eDescr->coll.nWarps;\n    event->algo = eDescr->coll.algo;\n    event->proto = eDescr->coll.proto;\n    *eHandle = event;\n    taskEventQueueEnqueue(parent, (struct taskEventBase *)event);\n    // increment the group ref counter so the event will stay open\n    __atomic_fetch_add(&parent->refCount, 1, __ATOMIC_RELAXED);\n    debugEvent(event, \"CollStart\");\n  } else if (eDescr->type == ncclProfileP2p) {\n    // the parent might be null if we run out of events\n    struct p2pApi* parent = (struct p2pApi*) eDescr->parentObj;\n    if (parent == NULL) return ncclSuccess;\n\n    struct p2p* event;\n    int p2pId = __atomic_fetch_add(&ctx->p2pPoolIndex, 1, __ATOMIC_RELAXED);\n    if ((p2pId - __atomic_load_n(&ctx->p2pPoolBase, __ATOMIC_RELAXED)) < p2pPoolSize) {\n      // if there are available p2p events grab one\n      event = &ctx->p2pPool[p2pId%p2pPoolSize];\n    } else {\n      // else drop this event\n      __atomic_fetch_sub(&ctx->p2pPoolIndex, 1, __ATOMIC_RELAXED);\n      return ncclSuccess;\n    }\n\n    event->base.type = ncclProfileP2p;\n    event->base.rank = eDescr->rank;\n    event->base.func = eDescr->p2p.func;\n    event->base.next = parent->eventHead;\n    event->base.startTs = gettime() - startTime;\n    event->base.parent = parent;\n    event->buff = eDescr->p2p.buff;\n    event->count = eDescr->p2p.count;\n    event->datatype = eDescr->p2p.datatype;\n    event->peer = eDescr->p2p.peer;\n    event->nChannels = eDescr->p2p.nChannels;\n    *eHandle = event;\n    // increment the group ref counter so the event will staty open\n    taskEventQueueEnqueue(parent, (struct taskEventBase *)event);\n    __atomic_fetch_add(&parent->refCount, 1, __ATOMIC_RELAXED);\n    debugEvent(event, \"P2pStart\");\n  } else if (eDescr->type == ncclProfileProxyCtrl) {\n    int proxyCtrlId = __atomic_fetch_add(&ctx->proxyCtrlPoolIndex, 1, __ATOMIC_RELAXED);\n    struct proxyCtrl* event = &ctx->proxyCtrlPool[proxyCtrlId%proxyCtrlPoolSize];\n    event->type = ncclProfileProxyCtrl;\n    event->ctx = ctx;\n    event->startTs = gettime() - startTime;\n    *eHandle = event;\n  } else if (eDescr->type == ncclProfileProxyOp) {\n    // the eventBase might be null if we run out of events\n    struct taskEventBase* eventBase = (struct taskEventBase *)eDescr->parentObj;\n    if (eventBase == NULL) return ncclSuccess;\n\n    if (eDescr->proxyOp.pid != pid) {\n      // PXN captured proxyOp events\n      struct proxyOp* event;\n      int detachId = __atomic_fetch_add(&detachPoolIndex, 1, __ATOMIC_RELAXED);\n      if ((detachId - detachPoolBase) < detachPoolSize) {\n        // if there are available detached proxyOp events grab one\n        event = &detachPool[detachId%detachPoolSize];\n      } else {\n        // else drop this event\n        __atomic_fetch_sub(&detachPoolIndex, 1, __ATOMIC_RELAXED);\n        return ncclSuccess;\n      }\n\n      event->type = ncclProfileProxyOp;\n      event->channelId = eDescr->proxyOp.channelId;\n      event->pid = eDescr->proxyOp.pid;\n      event->rank = eDescr->rank;\n      event->peer = eDescr->proxyOp.peer;\n      event->nSteps = eDescr->proxyOp.nSteps;\n      event->chunkSize = eDescr->proxyOp.chunkSize;\n      event->isSend = eDescr->proxyOp.isSend;\n      event->startTs = gettime() - startTime;\n      event->parent = NULL;\n      event->stepCount = 0;\n      *eHandle = event;\n      debugEvent(event, \"PxnProxyOpStart\");\n      return ncclSuccess;\n    }\n\n    if (eventBase->type == ncclProfileColl) {\n      struct collective* parent = (struct collective *)eDescr->parentObj;\n      int channelId = eDescr->proxyOp.channelId;\n      struct proxyOp* event = &parent->op[channelId][parent->nProxyOps[channelId]++];\n\n      event->type = ncclProfileProxyOp;\n      event->channelId = channelId;\n      event->pid = eDescr->proxyOp.pid;\n      event->rank = eDescr->rank;\n      event->peer = eDescr->proxyOp.peer;\n      event->nSteps = eDescr->proxyOp.nSteps;\n      event->chunkSize = eDescr->proxyOp.chunkSize;\n      event->isSend = eDescr->proxyOp.isSend;\n      event->parent = eventBase;\n      event->startTs = gettime() - startTime;\n      event->stepCount = 0;\n      *eHandle = event;\n      __atomic_fetch_add(&parent->base.refCount, 1, __ATOMIC_RELAXED);\n      debugEvent(event, \"ProxyOpStart\");\n    } else { // ncclProfileP2p\n      struct p2p* parent = (struct p2p *)eDescr->parentObj;\n      int channelId = eDescr->proxyOp.channelId;\n      struct proxyOp* event = &parent->op[channelId];\n      event->type = ncclProfileProxyOp;\n      event->channelId = channelId;\n      event->pid = eDescr->proxyOp.pid;\n      event->rank = eDescr->rank;\n      event->peer = eDescr->proxyOp.peer;\n      event->nSteps = eDescr->proxyOp.nSteps;\n      event->chunkSize = eDescr->proxyOp.chunkSize;\n      event->isSend = eDescr->proxyOp.isSend;\n      event->parent = eventBase;\n      event->startTs = gettime() - startTime;\n      event->stepCount = 0;\n      *eHandle = event;\n      __atomic_fetch_add(&parent->base.refCount, 1, __ATOMIC_RELAXED);\n      debugEvent(event, \"ProxyOpStart\");\n    }\n  } else if (eDescr->type == ncclProfileProxyStep) {\n    // the parent might be null if we run out of events\n    struct proxyOp* parent = (struct proxyOp *)eDescr->parentObj;\n    if (parent == NULL) return ncclSuccess;\n\n    int s = parent->stepCount++ % MAX_STEPS;\n    struct proxyStep* event = &parent->step[s];\n    event->type = ncclProfileProxyStep;\n    event->state = 0;\n    event->step = eDescr->proxyStep.step;\n    event->parent = parent;\n    event->isSend = parent->isSend;\n    event->startTs = gettime() - startTime;\n    event->nNetEvents = 0;\n    *eHandle = event;\n    debugEvent(event, \"ProxyStepStart\");\n  } else if (eDescr->type == ncclProfileKernelCh) {\n    struct taskEventBase* eventBase = (struct taskEventBase *)eDescr->parentObj;\n    if (eventBase == NULL) return ncclSuccess;\n    if (eventBase->type == ncclProfileColl) {\n      struct collective* parent = (struct collective *)eDescr->parentObj;\n      struct kernelCh* event = &parent->kernel[eDescr->kernelCh.channelId];\n      event->type = ncclProfileKernelCh;\n      event->channelId = eDescr->kernelCh.channelId;\n      event->startGpuClk = eDescr->kernelCh.pTimer;\n      event->parent = eventBase;\n      event->startTs = gettime() - startTime;\n      *eHandle = event;\n      __atomic_fetch_add(&parent->base.refCount, 1, __ATOMIC_RELAXED);\n      debugEvent(event, \"KernelChStart\");\n    } else { // ncclProfileP2p\n      struct p2p* parent = (struct p2p *)eDescr->parentObj;\n      struct kernelCh* event = &parent->kernel[eDescr->kernelCh.channelId];\n      event->type = ncclProfileKernelCh;\n      event->channelId = eDescr->kernelCh.channelId;\n      event->startGpuClk = eDescr->kernelCh.pTimer;\n      event->parent = eventBase;\n      event->startTs = gettime() - startTime;\n      *eHandle = event;\n      __atomic_fetch_add(&parent->base.refCount, 1, __ATOMIC_RELAXED);\n      debugEvent(event, \"KernelChStart\");\n    }\n  } else if (eDescr->type == ncclProfileNetPlugin) {\n    struct proxyStep* parent = (struct proxyStep *)eDescr->parentObj;\n    if (parent == NULL) return ncclSuccess;\n\n    int64_t pluginId = eDescr->netPlugin.id;\n    int64_t type = pluginId & NCCL_PROFILER_NET_TYPE_MASK;\n    int64_t ver = pluginId & NCCL_PROFILER_NET_VER_MASK;\n    if (type == NCCL_PROFILER_NET_TYPE_IB) {\n      if (ver == 1) {\n        ncclProfilerNetIbDescr_v1_t* descr = (ncclProfilerNetIbDescr_v1_t *)eDescr->netPlugin.data;\n        struct netPlugin* event = parent->net + __atomic_fetch_add(&parent->nNetEvents, 1, __ATOMIC_RELAXED);\n        event->type = ncclProfileNetPlugin;\n        event->pluginType = type;\n        event->pluginVer = ver;\n        if (descr->type == ncclProfileQp) {\n          event->pluginEvent = ncclProfileQp;\n          event->qp.device = descr->qp.device;\n          event->qp.wr_id = descr->qp.wr_id;\n          event->qp.opcode = descr->qp.opcode;\n          event->qp.qpNum = descr->qp.qpNum;\n          event->qp.length = descr->qp.length;\n        }\n        event->startTs = gettime() - startTime;\n        *eHandle = event;\n        debugEvent(event, \"NetPluginStart\");\n      }\n    } else if (type == NCCL_PROFILER_NET_TYPE_SOCK) {\n      if (ver == 1) {\n        ncclProfilerNetSockDescr_v1_t* descr = (ncclProfilerNetSockDescr_v1_t *)eDescr->netPlugin.data;\n        struct netPlugin* event = parent->net + __atomic_fetch_add(&parent->nNetEvents, 1, __ATOMIC_RELAXED);\n        event->type = ncclProfileNetPlugin;\n        event->pluginType = type;\n        event->pluginVer = ver;\n        if (descr->type == ncclProfileSocket) {\n          event->pluginEvent = ncclProfileSocket;\n          event->sock.fd = descr->sock.fd;\n          event->sock.op = descr->sock.op;\n          event->sock.length = descr->sock.length;\n        }\n        event->startTs = gettime() - startTime;\n        *eHandle = event;\n        debugEvent(event, \"NetPluginStart\");\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nvoid updateEvent(void* handle) {\n  uint64_t type = *(uint64_t *)handle;\n  if (type == ncclProfileGroupApi) {\n    struct groupApi* event = (struct groupApi*) handle;\n    if (__atomic_sub_fetch(&event->refCount, 1, __ATOMIC_RELAXED) == 0) {\n      event->stopTs = gettime() - startTime;\n      __atomic_fetch_add(&event->ctx->groupApiPoolBase, 1, __ATOMIC_RELAXED);\n    }\n  } else if (type == ncclProfileCollApi) {\n    struct collApi* event = (struct collApi*) handle;\n    if (__atomic_sub_fetch(&event->refCount, 1, __ATOMIC_RELAXED) == 0) {\n      event->stopTs = gettime() - startTime;\n      __atomic_fetch_add(&event->ctx->collApiPoolBase, 1, __ATOMIC_RELAXED);\n    }\n    updateEvent(event->parent);\n    return;\n  } else if (type == ncclProfileP2pApi) {\n    struct p2pApi* event = (struct p2pApi*) handle;\n    if (__atomic_sub_fetch(&event->refCount, 1, __ATOMIC_RELAXED) == 0) {\n      event->stopTs = gettime() - startTime;\n      __atomic_fetch_add(&event->ctx->p2pApiPoolBase, 1, __ATOMIC_RELAXED);\n    }\n    updateEvent(event->parent);\n    event->stopTs = gettime() - startTime;\n  } else if (type == ncclProfileKernelLaunch) {\n    struct kernelLaunch* event = (struct kernelLaunch*) handle;\n    event->stopTs = gettime() - startTime;\n    updateEvent(event->parent);\n  } else if (type == ncclProfileGroup) {\n    struct group* event = (struct group *)handle;\n    if (__atomic_sub_fetch(&event->refCount, 1, __ATOMIC_RELAXED) == 0) {\n      event->stopTs = gettime() - startTime;\n      // return group event to the pool\n      __atomic_fetch_add(&event->ctx->groupPoolBase, 1, __ATOMIC_RELAXED);\n    }\n    debugEvent(event, \"GroupStop\");\n  } else if (type == ncclProfileColl) {\n    struct collective* event = (struct collective *)handle;\n    if (__atomic_sub_fetch(&event->base.refCount, 1, __ATOMIC_RELAXED) == 0) {\n      event->base.stopTs = gettime() - startTime;\n      debugEvent(event, \"CollStop\");\n      updateEvent(event->base.parent);\n      return;\n    }\n    debugEvent(event, \"CollStop\");\n  } else if (type == ncclProfileP2p) {\n    struct p2p* event = (struct p2p *)handle;\n    if (__atomic_sub_fetch(&event->base.refCount, 1, __ATOMIC_RELAXED) == 0) {\n      event->base.stopTs = gettime() - startTime;\n      debugEvent(event, \"P2pStop\");\n      updateEvent(event->base.parent);\n      return;\n    }\n    debugEvent(event, \"P2pStop\");\n  } else if (type == ncclProfileProxyOp) {\n    struct proxyOp* event = (struct proxyOp *)handle;\n    event->stopTs = gettime() - startTime;\n    if (event->pid != pid) {\n      // only for proxyOps that don't have a parent collective/p2p (i.e., PXN)\n      int done = __atomic_add_fetch(&detachPoolDone, 1, __ATOMIC_RELAXED);\n      if (done == detachPoolSize) {\n        // reset the event completed (done) counter\n        __atomic_store_n(&detachPoolDone, 0, __ATOMIC_RELAXED);\n        // update the base pointer to the top of the pool\n        int index = __atomic_load_n(&detachPoolIndex, __ATOMIC_RELAXED);\n        __atomic_store_n(&detachPoolBase, index, __ATOMIC_RELAXED);\n      }\n      debugEvent(event, \"ProxyOpStop\");\n      return;\n    }\n    updateEvent(event->parent);\n    debugEvent(event, \"ProxyOpStop\");\n  } else if (type == ncclProfileProxyStep) {\n    struct proxyStep* event = (struct proxyStep *)handle;\n    event->stopTs = gettime() - startTime;\n    debugEvent(event, \"ProxyStepStop\");\n  } else if (type == ncclProfileProxyCtrl) {\n    struct proxyCtrl* event = (struct proxyCtrl *)handle;\n    event->stopTs = gettime() - startTime;\n    debugEvent(event, \"ProxyCtrlStop\");\n  } else if (type == ncclProfileKernelCh) {\n    struct kernelCh* event = (struct kernelCh *)handle;\n    event->stopTs = gettime() - startTime;\n    updateEvent(event->parent);\n    debugEvent(event, \"KernelChStop\");\n  } else if (type == ncclProfileNetPlugin) {\n    struct netPlugin* event = (struct netPlugin *)handle;\n    event->stopTs = gettime() - startTime;\n    debugEvent(event, \"NetPluginStop\");\n  }\n}\n\n__hidden ncclResult_t exampleProfilerStopEvent(void* eHandle) {\n  // the event handle might be null if we run out of events\n  if (eHandle == NULL) return ncclSuccess;\n\n  uint64_t type = *(uint64_t *)eHandle;\n  // Stopping API events, Kernel Launch events, collective/p2p task events\n  // in NCCL core do not mean that they are complete. It means that the\n  // operation was enqueued so we need to keep the events open\n  if (type == ncclProfileGroupApi) {\n    struct groupApi* event = (struct groupApi*) eHandle;\n    event->stopTs = gettime() - startTime;\n    return ncclSuccess;\n  } else if (type == ncclProfileCollApi) {\n    struct collApi* event = (struct collApi*) eHandle;\n    event->stopTs = gettime() - startTime;\n    return ncclSuccess;\n  } else if (type == ncclProfileP2pApi) {\n    struct p2pApi* event = (struct p2pApi*) eHandle;\n    event->stopTs = gettime() - startTime;\n    return ncclSuccess;\n  } else if (type == ncclProfileKernelLaunch) {\n    struct kernelLaunch* event = (struct kernelLaunch*) eHandle;\n    event->stopTs = gettime() - startTime;\n    return ncclSuccess;\n  } else if (type == ncclProfileGroup) {\n    struct group* event = (struct group *)eHandle;\n    event->stopTs = gettime() - startTime;\n    return ncclSuccess;\n  } else if (type == ncclProfileColl) {\n    struct collective* event = (struct collective *)eHandle;\n    event->base.stopTs = gettime() - startTime;\n    return ncclSuccess;\n  } else if (type == ncclProfileP2p) {\n    struct p2p* event = (struct p2p *)eHandle;\n    event->base.stopTs = gettime() - startTime;\n    return ncclSuccess;\n  }\n\n  updateEvent(eHandle);\n  return ncclSuccess;\n}\n\n__hidden ncclResult_t exampleProfilerRecordEventState(void* eHandle, ncclProfilerEventState_t eState, ncclProfilerEventStateArgs_t* eStateArgs) {\n  // the event handle might be null if we run out of events\n  if (eHandle == NULL) return ncclSuccess;\n\n  uint64_t type = *(uint64_t *)eHandle;\n  if (type == ncclProfileGroupApi) {\n    struct groupApi* event = (struct groupApi*) eHandle;\n    if (eState == ncclProfilerEndGroupApiStart) {\n      event->endOfncclGroupStartTs = gettime() - startTime;\n    } else if (eState == ncclProfilerBeginGroupApiEnd) {\n      event->startOfncclGroupEndTs = gettime() - startTime;\n    }\n  } else if (type == ncclProfileProxyOp) {\n    struct proxyOp* event = (struct proxyOp *)eHandle;\n    if (eState == ncclProfilerProxyOpInProgress_v4) {\n      event->progrTs = gettime() - startTime;\n    }\n  } else if (type == ncclProfileProxyStep) {\n    struct proxyStep* event = (struct proxyStep *)eHandle;\n    struct proxyOp* parent = event->parent;\n    switch (eState) {\n      case ncclProfilerProxyStepSendGPUWait:\n        event->timestamp[PROXY_STEP_SEND_GPU_WAIT] = gettime() - startTime;\n        break;\n      case ncclProfilerProxyStepSendPeerWait_v4:\n        // do not update step event if in SendPeerWait\n        if (event->state == ncclProfilerProxyStepSendPeerWait_v4) break;\n        event->timestamp[PROXY_STEP_SEND_PEER_WAIT] = gettime() - startTime;\n        event->state = ncclProfilerProxyStepSendPeerWait_v4;\n        break;\n      case ncclProfilerProxyStepSendWait:\n        event->timestamp[PROXY_STEP_SEND_WAIT] = gettime() - startTime;\n        parent->transSize += eStateArgs->proxyStep.transSize;\n        break;\n      case ncclProfilerProxyStepRecvWait:\n        event->timestamp[PROXY_STEP_RECV_WAIT] = gettime() - startTime;\n        break;\n      case ncclProfilerProxyStepRecvFlushWait:\n        event->timestamp[PROXY_STEP_RECV_FLUSH_WAIT] = gettime() - startTime;\n        parent->transSize += eStateArgs->proxyStep.transSize;\n        break;\n      case ncclProfilerProxyStepRecvGPUWait:\n        event->timestamp[PROXY_STEP_RECV_GPU_WAIT] = gettime() - startTime;\n        break;\n      default:\n        break;\n    }\n  } else if (type == ncclProfileProxyCtrl) {\n    struct proxyCtrl* event = (struct proxyCtrl *)eHandle;\n    if (eState == ncclProfilerProxyCtrlAppendEnd) {\n      event->appended = eStateArgs->proxyCtrl.appendedProxyOps;\n    }\n    event->state = eState;\n  } else if (type == ncclProfileKernelCh) {\n    struct kernelCh* event = (struct kernelCh *)eHandle;\n    if (eState == ncclProfilerKernelChStop) {\n      event->stopGpuClk = eStateArgs->kernelCh.pTimer;\n    }\n  }\n  debugEvent(eHandle, \"RecordEventState\");\n  return ncclSuccess;\n}\n\nncclProfiler_t ncclProfiler_v5 = {\n  \"Example-profiler\",\n  exampleProfilerInit,\n  exampleProfilerStartEvent,\n  exampleProfilerStopEvent,\n  exampleProfilerRecordEventState,\n  exampleProfilerFinalize,\n};\n\n__attribute__((visibility(\"default\"))) int exampleProfilerStart(int eActivationMask, const char* name) {\n  profilerDumpFile = name;\n  if (__atomic_load_n(&initialized, __ATOMIC_RELAXED)) {\n    __atomic_store_n(eActivationMaskPtr, eActivationMask, __ATOMIC_RELAXED);\n  }\n  return ncclSuccess;\n}\n\n__attribute__((visibility(\"default\"))) int exampleProfilerStop(void) {\n  if (__atomic_load_n(&initialized, __ATOMIC_RELAXED)) {\n    __atomic_store_n(eActivationMaskPtr, 0, __ATOMIC_RELAXED);\n  }\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "ext-profiler/example/plugin.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PLUGIN_H_\n#define PLUGIN_H_\n\n__attribute__((visibility(\"default\"))) int exampleProfilerStart(int eActivationMask, const char* name);\n__attribute__((visibility(\"default\"))) int exampleProfilerStop(void);\n\n\n#endif\n"
  },
  {
    "path": "ext-profiler/example/print_event.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <stdio.h>\n#include \"err.h\"\n#include \"profiler.h\"\n#include \"event.h\"\n#include \"print_event.h\"\n#include <cuda_runtime.h>\n\n#define __hidden __attribute__ ((visibility(\"hidden\")))\n\n// FIXME: chrome tracing asynchronous events (following used) allow event nesting for events that have same id and category\n// It appears that nesting more than three events causes issues. Therefore, every event is given an increasing id and a\n// category that matches the type of event (GROUP API, COLL API, P2P API, GROUP, COLL, P2P, PROXY, NET)\nstatic __thread int groupApiId;\n__hidden void printGroupApiEventHeader(FILE* fh, struct groupApi* event) {\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"GROUP_API\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"groupApiId\\\": %d, \\\"groupDepth\\\":%d}},\\n\",\n          \"Group API\", groupApiId, getpid(), 1, event->startTs, event->groupApiId, event->groupDepth);\n}\n\n__hidden void printGroupApiEventTrailer(FILE* fh, struct groupApi* event) {\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"GROUP_API\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n          \"Group API\", groupApiId++, getpid(), 1, event->stopTs);\n}\n\nstatic __thread int p2pApiId;\n__hidden void printP2pApiEventHeader(FILE* fh, struct p2pApi* event) {\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"P2P_API\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"count\\\": %lu, \\\"datatype\\\": %s, \\\"GraphCaptured\\\":%d, \\\"Stream\\\": %p}},\\n\",\n      event->func, p2pApiId, getpid(), 1, event->startTs, event->count, event->datatype, event->graphCaptured, event->stream);\n}\n\n__hidden void printP2pApiEventTrailer(FILE* fh, struct p2pApi* event) {\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"P2P_API\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n          event->func, p2pApiId++, getpid(), 1, event->stopTs);\n}\n\nstatic __thread int collApiId;\n__hidden void printCollApiEventHeader(FILE* fh, struct collApi* event) {\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"COLL_API\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"count\\\": %lu, \\\"datatype\\\": %s, \\\"root\\\": %d, \\\"GraphCaptured\\\":%d, \\\"Stream\\\": %p}},\\n\",\n      event->func, collApiId, getpid(), 1, event->startTs, event->count, event->datatype, event->root, event->graphCaptured, event->stream);\n}\n\n__hidden void printCollApiEventTrailer(FILE* fh, struct collApi* event) {\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"COLL_API\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n      event->func, collApiId++, getpid(), 1, event->stopTs);\n}\n\nstatic __thread int kernelLaunchId;\n__hidden void printKernelLaunchEventHeader(FILE* fh, struct kernelLaunch* event) {\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"KERNEL_LAUNCH\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"groupId\\\": %d, \\\"Stream\\\": %p}},\\n\", \"KernelLaunch\", kernelLaunchId, getpid(), 1, event->startTs, event->kernelLaunchId, event->stream);\n}\n\n__hidden void printKernelLaunchEventTrailer(FILE* fh, struct kernelLaunch* event) {\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"KERNEL_LAUNCH\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\", \"KernelLaunch\", kernelLaunchId++, getpid(), 1, event->stopTs);\n}\n\nstatic __thread int groupId;\n__hidden void printGroupEventHeader(FILE* fh, struct group* event) {\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"GROUP\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"groupId\\\": %d}},\\n\",\n          \"Group\", groupId, getpid(), 1, event->startTs, event->groupId);\n}\n\n__hidden void printGroupEventTrailer(FILE* fh, struct group* event) {\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"GROUP\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n          \"Group\", groupId++, getpid(), 1, event->stopTs);\n}\n\nstatic __thread int collId;\n__hidden void printCollEventHeader(FILE* fh, struct collective* event) {\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"COLL\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"SeqNum\\\": %lu, \\\"CommHash\\\": %lu, \\\"Rank\\\": %d, \\\"Count\\\": %lu, \\\"Datatype\\\": \\\"%s\\\", \\\"Algorithm\\\": \\\"%s\\\", \\\"Protocol\\\": \\\"%s\\\", \\\"nChannels\\\": %d}},\\n\",\n          event->base.func, collId, getpid(), 1, event->base.startTs, event->seqNumber, ((struct collApi*)event->base.parent)->ctx->commHash, event->base.rank, event->count, event->datatype, event->algo, event->proto, event->nChannels);\n}\n\n__hidden void printCollEventTrailer(FILE* fh, struct collective* event) {\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"COLL\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n          event->base.func, collId++, getpid(), 1, event->base.stopTs);\n}\n\nstatic __thread int p2pId;\n__hidden void printP2pEventHeader(FILE* fh, struct p2p* event) {\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"P2P\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"CommHash\\\": %lu, \\\"Rank\\\": %d, \\\"Peer\\\": %d, \\\"Count\\\": %lu, \\\"Datatype\\\": \\\"%s\\\", \\\"nChannels\\\": %d}},\\n\",\n          event->base.func, p2pId, getpid(), 1, event->base.startTs, ((struct p2pApi*)event->base.parent)->ctx->commHash, event->base.rank, event->peer, event->count, event->datatype, event->nChannels);\n}\n\n__hidden void printP2pEventTrailer(FILE* fh, struct p2p* event) {\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"P2P\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n          event->base.func, p2pId++, getpid(), 1, event->base.stopTs);\n}\n\nstatic __thread int proxyOpId;\n__hidden void printProxyOpEventHeader(FILE* fh, struct proxyOp* event) {\n  if (event->isSend) {\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"PROXY\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"Channel\\\": %d, \\\"Peer\\\": %d, \\\"Steps\\\": %d, \\\"ChunkSize\\\": %d, \\\"transSize\\\": %lu}},\\n\",\n            \"ScheduleSend\", proxyOpId, getpid(), 1, event->startTs, event->channelId, event->peer, event->nSteps, event->chunkSize, event->transSize);\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"PROXY\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n            \"ScheduleSend\", proxyOpId, getpid(), 1, event->progrTs);\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"PROXY\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"Channel\\\": %d, \\\"Peer\\\": %d, \\\"Steps\\\": %d, \\\"ChunkSize\\\": %d, \\\"transSize\\\": %lu}},\\n\",\n            \"ProgressSend\", proxyOpId, getpid(), 1, event->progrTs, event->channelId, event->peer, event->nSteps, event->chunkSize, event->transSize);\n  } else {\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"PROXY\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"Channel\\\": %d, \\\"Peer\\\": %d, \\\"Steps\\\": %d, \\\"ChunkSize\\\": %d, \\\"transSize\\\": %lu}},\\n\",\n            \"ScheduleRecv\", proxyOpId, getpid(), 1, event->startTs, event->channelId, event->peer, event->nSteps, event->chunkSize, event->transSize);\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"PROXY\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n            \"ScheduleRecv\", proxyOpId, getpid(), 1, event->progrTs);\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"PROXY\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"Channel\\\": %d, \\\"Peer\\\": %d, \\\"Steps\\\": %d, \\\"ChunkSize\\\": %d, \\\"transSize\\\": %lu}},\\n\",\n            \"ProgressRecv\", proxyOpId, getpid(), 1, event->progrTs, event->channelId, event->peer, event->nSteps, event->chunkSize, event->transSize);\n  }\n}\n\n__hidden void printProxyOpEventTrailer(FILE* fh, struct proxyOp* event) {\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"PROXY\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n          event->isSend ? \"ProgressSend\" : \"ProgressRecv\", proxyOpId++, getpid(), 1, event->stopTs);\n}\n\nstatic __thread int proxyStepId;\n__hidden void printProxyStepEventHeader(FILE* fh, struct proxyStep* event) {\n  if (event->isSend) {\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"Step\\\": %d}},\\n\",\n            \"SendGpuWait\", proxyStepId, getpid(), 1, event->timestamp[PROXY_STEP_SEND_GPU_WAIT], event->step);\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n            \"SendGpuWait\", proxyStepId, getpid(), 1, event->timestamp[PROXY_STEP_SEND_PEER_WAIT]);\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"Step\\\": %d}},\\n\",\n            \"SendPeerWait\", proxyStepId, getpid(), 1, event->timestamp[PROXY_STEP_SEND_PEER_WAIT], event->step);\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n            \"SendPeerWait\", proxyStepId, getpid(), 1, event->timestamp[PROXY_STEP_SEND_WAIT]);\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"Step\\\": %d}},\\n\",\n            \"SendWait\", proxyStepId, getpid(), 1, event->timestamp[PROXY_STEP_SEND_WAIT], event->step);\n  } else {\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"Step\\\": %d}},\\n\",\n            \"RecvWait\", proxyStepId, getpid(), 1, event->timestamp[PROXY_STEP_RECV_WAIT], event->step);\n  }\n}\n\n__hidden void printProxyStepEventTrailer(FILE* fh, struct proxyStep* event) {\n  if (event->isSend) {\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n            \"SendWait\", proxyStepId++, getpid(), 1, event->stopTs);\n  } else {\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n            \"RecvWait\", proxyStepId, getpid(), 1, event->timestamp[PROXY_STEP_RECV_FLUSH_WAIT]);\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"Step\\\": %d}},\\n\",\n            \"RecvFlushWait\", proxyStepId, getpid(), 1, event->timestamp[PROXY_STEP_RECV_FLUSH_WAIT], event->step);\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n            \"RecvFlushWait\", proxyStepId, getpid(), 1, event->timestamp[PROXY_STEP_RECV_GPU_WAIT]);\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"Step\\\": %d}},\\n\",\n            \"RecvGpuWait\", proxyStepId, getpid(), 1, event->timestamp[PROXY_STEP_RECV_GPU_WAIT], event->step);\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n            \"RecvGpuWait\", proxyStepId++, getpid(), 1, event->stopTs);\n  }\n}\n\nstatic __thread int kernelId;\n__hidden void printKernelChEventHeader(FILE* fh, struct kernelCh* event) {\n  if (event->type != ncclProfileKernelCh) return;\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"GPU\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"Channel\\\": %d, \\\"StartGpuClk\\\": %lu, \\\"StopGpuClk\\\": %lu}},\\n\",\n          \"KernelCh\", kernelId, getpid(), 1, event->startTs, event->channelId, event->startGpuClk, event->stopGpuClk);\n}\n\n__hidden void printKernelChEventTrailer(FILE* fh, struct kernelCh* event) {\n  if (event->type != ncclProfileKernelCh) return;\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"GPU\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n          \"KernelCh\", kernelId, getpid(), 1, event->stopTs);\n}\n\nstatic __thread int proxyCtrlId;\n__hidden void printProxyCtrlEvent(FILE* fh, struct proxyCtrl* event) {\n  const char* str;\n  if (event->state == ncclProfilerProxyCtrlIdle || event->state == ncclProfilerProxyCtrlActive) {\n    str = \"Idle\";\n  } else if (event->state == ncclProfilerProxyCtrlSleep || event->state == ncclProfilerProxyCtrlWakeup) {\n    str = \"Sleep\";\n  } else if (event->state == ncclProfilerProxyCtrlAppend || event->state == ncclProfilerProxyCtrlAppendEnd) {\n    str = \"Append\";\n  } else {\n    return;\n  }\n  if (event->state == ncclProfilerProxyCtrlAppendEnd) {\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"PROXY\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"appended\\\": %d}},\\n\",\n            str, proxyCtrlId, getpid(), 1, event->startTs, event->appended);\n  } else {\n    fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"PROXY\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n            str, proxyCtrlId, getpid(), 1, event->startTs);\n  }\n  fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"PROXY\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n          str, proxyCtrlId++, getpid(), 1, event->stopTs);\n}\n\nstatic __thread int ibQpId, sockId;\n__hidden void printNetPluginEvent(FILE* fh, struct netPlugin* event) {\n  if (event->pluginType == NCCL_PROFILER_NET_TYPE_IB) {\n    if (event->pluginVer == 1) {\n      if (event->pluginEvent == ncclProfileQp) {\n        fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET_IB\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"device\\\": %d, \\\"qp_num\\\": %d, \\\"opcode\\\": %d, \\\"wr_id\\\": %lu, \\\"size\\\": %lu}},\\n\",\n                \"Qp\", ibQpId, getpid(), 1, event->startTs, event->qp.device, event->qp.qpNum, event->qp.opcode, event->qp.wr_id, event->qp.length);\n        fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET_IB\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n                \"Qp\", ibQpId++, getpid(), 1, event->stopTs);\n      }\n    }\n  } else if (event->pluginType == NCCL_PROFILER_NET_TYPE_SOCK) {\n    if (event->pluginVer == 1) {\n      if (event->pluginEvent == ncclProfileSocket) {\n        fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET_SOCK\\\", \\\"ph\\\": \\\"b\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f, \\\"args\\\": {\\\"sock\\\": %d, \\\"op\\\": %d, \\\"size\\\": %lu}},\\n\",\n                \"Sock\", sockId, getpid(), 1, event->startTs, event->sock.fd, event->sock.op, event->sock.length);\n        fprintf(fh, \"{\\\"name\\\": \\\"%s\\\", \\\"cat\\\": \\\"NET_SOCK\\\", \\\"ph\\\": \\\"e\\\", \\\"id\\\": %d, \\\"pid\\\": %d, \\\"tid\\\": %d, \\\"ts\\\": %f},\\n\",\n                \"Sock\", sockId++, getpid(), 1, event->stopTs);\n      }\n    }\n  }\n}\n\n//#define DEBUG_EVENTS\nvoid debugEvent(void* eHandle, const char* tag) {\n#ifdef DEBUG_EVENTS\n  char filename[64] = { 0 };\n  sprintf(filename, \"EventDebug-%d\", getpid());\n  FILE* fh = fopen(filename, \"a+\");\n  uint64_t type = *(uint64_t *)eHandle;\n  if (type == ncclProfileGroup) {\n    struct group* event = (struct group *)eHandle;\n    fprintf(fh, \"Group event %p tag = %s {\\n\", event, tag);\n    fprintf(fh, \"  refCount          = %d\\n\", __atomic_load_n(&event->refCount, __ATOMIC_RELAXED));\n    fprintf(fh, \"  startTs           = %f\\n\", event->startTs);\n    fprintf(fh, \"  stopTs            = %f\\n\", event->stopTs);\n    fprintf(fh, \"}\\n\");\n  } else if (type == ncclProfileColl) {\n    struct collective* event = (struct collective *)eHandle;\n    fprintf(fh, \"Collective event %p tag = %s {\\n\", event, tag);\n    fprintf(fh, \"  refCount          = %d\\n\", __atomic_load_n(&event->base.refCount, __ATOMIC_RELAXED));\n    fprintf(fh, \"  parent            = %p\\n\", event->base.parent);\n    for (int j = 0; j < 2*MAX_OPS; j++) {\n      for (int i = 0; i < MAX_CHANNELS; i++) if (event->op[i][j].type == ncclProfileProxyOp) fprintf(fh, \"  op[%d]           = %p\\n\", i, &event->op[i]);\n    }\n    fprintf(fh, \"  startTs           = %f\\n\", event->base.startTs);\n    fprintf(fh, \"  stopTs            = %f\\n\", event->base.stopTs);\n    fprintf(fh, \"}\\n\");\n  } else if (type == ncclProfileP2p) {\n    struct p2p* event = (struct p2p *)eHandle;\n    fprintf(fh, \"P2p event %p tag = %s {\\n\", event, tag);\n    fprintf(fh, \"  refCount          = %d\\n\", __atomic_load_n(&event->base.refCount, __ATOMIC_RELAXED));\n    fprintf(fh, \"  parent            = %p\\n\", event->base.parent);\n    fprintf(fh, \"  op                = %p\\n\", &event->op);\n    fprintf(fh, \"  startTs           = %f\\n\", event->base.startTs);\n    fprintf(fh, \"  stopTs            = %f\\n\", event->base.stopTs);\n    fprintf(fh, \"}\\n\");\n  } else if (type == ncclProfileProxyOp) {\n    struct proxyOp* event = (struct proxyOp *)eHandle;\n    fprintf(fh, \"ProxyOp event %p tag = %s {\\n\", event, tag);\n    fprintf(fh, \"  type              = %s\\n\", event->isSend < 0 ? \"Unknown\" : event->isSend ? \"Send\" : \"Recv\");\n    fprintf(fh, \"  channel           = %d\\n\", event->channelId);\n    fprintf(fh, \"  parent            = %p\\n\", event->parent);\n    fprintf(fh, \"  rank              = %d\\n\", event->rank);\n    fprintf(fh, \"  startTs           = %f\\n\", event->startTs);\n    fprintf(fh, \"  progrTs           = %f\\n\", event->progrTs);\n    fprintf(fh, \"  stopTs            = %f\\n\", event->stopTs);\n    fprintf(fh, \"}\\n\");\n  } else if (type == ncclProfileProxyStep) {\n    struct proxyStep* event = (struct proxyStep *)eHandle;\n    fprintf(fh, \"ProxyStep event %p tag = %s {\\n\", event, tag);\n    fprintf(fh, \"  type              = %s\\n\", event->isSend < 0 ? \"Unknown\" : event->isSend ? \"Send\" : \"Recv\");\n    fprintf(fh, \"  parent            = %p\\n\", event->parent);\n    fprintf(fh, \"  startTs           = %f\\n\", event->startTs);\n    fprintf(fh, \"  stopTs            = %f\\n\", event->stopTs);\n    fprintf(fh, \"}\\n\");\n  } else if (type == ncclProfileKernelCh) {\n    struct kernelCh* event = (struct kernelCh *)eHandle;\n    fprintf(fh, \"KernelCh event %p tag = %s {\\n\", event, tag);\n    fprintf(fh, \"  parent            = %p\\n\", event->parent);\n    fprintf(fh, \"  channel           = %d\\n\", event->channelId);\n  } else if (type == ncclProfileNetPlugin) {\n    struct netPlugin* event = (struct netPlugin *)eHandle;\n    fprintf(fh, \"NetPlugin event %p tag = %s {\\n\", event, tag);\n    fprintf(fh, \"  pluginType        = %d\\n\", event->pluginType);\n    fprintf(fh, \"  pluginVer         = %d\\n\", event->pluginVer);\n    fprintf(fh, \"  pluginEvent       = %d\\n\", event->pluginEvent);\n    fprintf(fh, \"  startTs           = %f\\n\", event->startTs);\n    fprintf(fh, \"  stopTs            = %f\\n\", event->stopTs);\n    fprintf(fh, \"}\\n\");\n  }\n  fclose(fh);\n#endif\n}\n\nvoid printEvent(FILE* fh, void* handle) {\n  if (handle == NULL || fh == NULL) return;\n  uint64_t type = *(uint64_t *)handle;\n  if (type == ncclProfileGroupApi) {\n    struct groupApi* g = (struct groupApi*) handle;\n    printGroupApiEventHeader(fh, g);\n    struct kernelLaunch* kernelLaunchHead = profilerQueueHead(&g->kernelLaunchEvents);\n    while (kernelLaunchHead != NULL) {\n      printEvent(fh, kernelLaunchHead);\n      kernelLaunchHead = kernelLaunchHead->next;\n    }\n    struct collApi* collApiHead = profilerQueueHead(&g->collApiEvents);\n    while (collApiHead != NULL) {\n      printEvent(fh, collApiHead);\n      collApiHead = collApiHead->next;\n    }\n    struct p2pApi* p2pApiHead = profilerQueueHead(&g->p2pApiEvents);\n    while (p2pApiHead != NULL) {\n      printEvent(fh, p2pApiHead);\n      p2pApiHead = p2pApiHead->next;\n    }\n    printGroupApiEventTrailer(fh, g);\n  } else if (type == ncclProfileCollApi) {\n    struct collApi* collApiEvent = (struct collApi *) handle;\n    printCollApiEventHeader(fh, collApiEvent);\n    struct taskEventBase* base = taskEventQueueHead(collApiEvent);\n    while (base) {\n      struct taskEventBase* next = base->next;\n      printEvent(fh, base);\n      base = next;\n    }\n    printCollApiEventTrailer(fh, collApiEvent);\n  } else if (type == ncclProfileP2pApi) {\n    struct p2pApi* p2pApiEvent = (struct p2pApi *) handle;\n    printP2pApiEventHeader(fh, p2pApiEvent);\n    struct taskEventBase* base = taskEventQueueHead(p2pApiEvent);\n    while (base) {\n      struct taskEventBase* next = base->next;\n      printEvent(fh, base);\n      base = next;\n    }\n    printP2pApiEventTrailer(fh, p2pApiEvent);\n  } else if (type == ncclProfileKernelLaunch) {\n    struct kernelLaunch* kernelLaunchEvent = (struct kernelLaunch *) handle;\n    printKernelLaunchEventHeader(fh, kernelLaunchEvent);\n    printKernelLaunchEventTrailer(fh, kernelLaunchEvent);\n  } else if (type == ncclProfileGroup) {\n    struct group* g = (struct group *)handle;\n    printGroupEventHeader(fh, g);\n    struct taskEventBase* base = taskEventQueueHead(g);\n    while (base) {\n      struct taskEventBase* next = base->next;\n      printEvent(fh, base);\n      base = next;\n    }\n    printGroupEventTrailer(fh, g);\n  } else if (type == ncclProfileColl) {\n    struct collective* c = (struct collective *)handle;\n    printCollEventHeader(fh, c);\n    for (int i = 0; i < MAX_CHANNELS; i++) {\n      printKernelChEventHeader(fh, &c->kernel[i]);\n      for (int j = 0; j < c->nProxyOps[i]; j++) {\n        printEvent(fh, &c->op[i][j]);\n      }\n      printKernelChEventTrailer(fh, &c->kernel[i]);\n    }\n    printCollEventTrailer(fh, c);\n  } else if (type == ncclProfileP2p) {\n    struct p2p* p = (struct p2p *)handle;\n    printP2pEventHeader(fh, p);\n    for (int i = 0; i < MAX_CHANNELS; i++) {\n      printKernelChEventHeader(fh, &p->kernel[i]);\n      printEvent(fh, &p->op[i]);\n      printKernelChEventTrailer(fh, &p->kernel[i]);\n    }\n    printP2pEventTrailer(fh, p);\n  } else if (type == ncclProfileProxyOp) {\n    struct proxyOp* p = (struct proxyOp *)handle;\n    printProxyOpEventHeader(fh, p);\n    for (int i = 0; i < MAX_STEPS; i++) {\n      printEvent(fh, &p->step[i]);\n    }\n    printProxyOpEventTrailer(fh, p);\n  } else if (type == ncclProfileProxyStep) {\n    struct proxyStep* p = (struct proxyStep *)handle;\n    printProxyStepEventHeader(fh, p);\n    for (int q = 0; q < p->nNetEvents; q++) {\n      printNetPluginEvent(fh, &p->net[q]);\n    }\n    printProxyStepEventTrailer(fh, p);\n  } else if (type == ncclProfileProxyCtrl) {\n    struct proxyCtrl* p = (struct proxyCtrl *)handle;\n    printProxyCtrlEvent(fh, p);\n  }\n  return;\n}\n"
  },
  {
    "path": "ext-profiler/example/print_event.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PRINT_EVENT_H_\n#define PRINT_EVENT_H_\n\n#include \"nccl/common.h\"\nextern ncclDebugLogger_t logFn;\n\nvoid debugEvent(void* eHandle, const char* tag);\nvoid printEvent(FILE* fh, void* handle);\n\n#endif\n"
  },
  {
    "path": "ext-profiler/example/queue.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#ifndef QUEUE_H\n#define QUEUE_H\n\ntemplate<typename T, T *T::*next>\nstruct profilerQueue {\n  T *head, *tail;\n};\n\ntemplate<typename T, T *T::*next>\n inline void profilerQueueConstruct(profilerQueue<T,next> *me) {\n  me->head = nullptr;\n  me->tail = nullptr;\n}\n\ntemplate<typename T, T *T::*next>\n inline bool profilerQueueEmpty(profilerQueue<T,next> *me) {\n  return me->head == nullptr;\n}\n\ntemplate<typename T, T *T::*next>\ninline T* profilerQueueHead(profilerQueue<T,next> *me) {\n  return me->head;\n}\n\ntemplate<typename T, T *T::*next>\n inline T* profilerQueueTail(profilerQueue<T,next> *me) {\n  return me->tail;\n}\n\ntemplate<typename T, T *T::*next>\n inline void profilerQueueEnqueue(profilerQueue<T,next> *me, T *x) {\n  x->*next = nullptr;\n  (me->head ? me->tail->*next : me->head) = x;\n  me->tail = x;\n}\n\ntemplate<typename T, T *T::*next>\n inline T* profilerQueueDequeue(profilerQueue<T,next> *me) {\n  T *ans = me->head;\n  me->head = ans->*next;\n  if (me->head == nullptr) me->tail = nullptr;\n  return ans;\n}\n\n#endif\n"
  },
  {
    "path": "ext-profiler/google-CoMMA/Makefile",
    "content": ".PHONY: build-CoMMA\n\nall: build-CoMMA\n\nbuild-CoMMA: clone-CoMMA\n\tcd CoMMA && cargo build\n\nclone-CoMMA:\n\t@if [ ! -d CoMMA ] ; then \\\n\t\tgit clone https://github.com/google/CoMMA.git; \\\n\t\tln -s $(PWD)/.. CoMMA/third_party/nccl/ext-profiler; \\\n\tfi\n\nclean:\n\t@if [ -d CoMMA ] ; then \\\n\t\tcd CoMMA && cargo clean; \\\n\tfi\n\ndelete:\n\t@if [ -d CoMMA ] ; then \\\n\t\trm -rf CoMMA; \\\n\tfi\n"
  },
  {
    "path": "ext-profiler/inspector/Makefile",
    "content": "#\n# Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n\n# Variables\nNCCL_HOME := ../../build\nINC := -I$(NCCL_HOME)/include -I$(CUDA_HOME)/include -Inccl\nPLUGIN_SO := libnccl-profiler-inspector.so\nVERSION_FILE := version.cc\n\n# Compiler and flags\nCXX := g++\nCXXFLAGS := -g -O3 -fPIC -shared -march=native -DNDEBUG -Wall -Wextra\n\nifeq ($(DEBUG), 1)\nCXXFLAGS += -g2 -ggdb3 -rdynamic -funwind-tables -fno-omit-frame-pointer\nendif\n\nifeq ($(ASAN), 1)\nCXXFLAGS += -fsanitize=address\nLDFLAGS += -fsanitize=address -static-libasan\nNVLDFLAGS += -Xcompiler -fsanitize=address,-static-libasan\nendif\n\nifeq ($(UBSAN), 1)\nCXXFLAGS += -fsanitize=undefined\nLDFLAGS += -fsanitize=undefined -static-libubsan\nNVLDFLAGS += -Xcompiler -fsanitize=undefined,-static-libubsan\nendif\n\n# Source files\nSOURCES := inspector_plugin.cc inspector.cc json.cc\n\n# Default target\nall: $(PLUGIN_SO)\n\n# Rule to build the plugin\n$(PLUGIN_SO): $(VERSION_FILE) $(SOURCES)\n\t@echo \"Compiling to create $@ from $^\"\n\t$(CXX) $(INC) $(CXXFLAGS) -o $@ -Wl,-soname,$(PLUGIN_SO) $^\n\n# Rule to generate version.cc\n$(VERSION_FILE):\n\t@GIT_INFO=$$(./utils/extract_git_version.sh); \\\n\techo '#include \"version.h\"' > $(VERSION_FILE).tmp; \\\n\techo 'const char* get_git_version_info() { return \"'$$GIT_INFO'\"; }' >> $(VERSION_FILE).tmp; \\\n\tif ! cmp $(VERSION_FILE).tmp $(VERSION_FILE); then \\\n\t\techo \"updating ${VERSION_FILE} file -> $$GIT_INFO\"; \\\n\t\tmv $(VERSION_FILE).tmp $(VERSION_FILE); \\\n\telse \\\n\t\techo \"${VERSION_FILE} up to date -> $$GIT_INFO\"; \\\n\t\trm $(VERSION_FILE).tmp; \\\n\tfi\n\n# Clean target\nclean:\n\trm -f $(VERSION_FILE) $(PLUGIN_SO)\n\n# Phony targets\n.PHONY: all clean\n"
  },
  {
    "path": "ext-profiler/inspector/README.md",
    "content": "# NCCL Inspector Plugin\n\nThe NCCL Inspector is a plugin for the NVIDIA Collective Communications Library (NCCL) that provides detailed, per-communicator, per-collective performance and metadata logging. It is designed to help users analyze and debug NCCL collective operations by generating structured JSON output for each operation.\n\n## Related Documentation\n\n- **[Performance Exporter](exporter/example/README.md)** - Tool for analyzing and visualizing NCCL performance data from inspector logs\n\n## Folder Location\n\nThe Inspector plugin source is located in:\n\n```\next-profiler/inspector/\n```\n\n## Building the Inspector Plugin\n\nTo build the Inspector plugin, run:\n\n```bash\nmake\n```\n\nThe build system will automatically detect CUDA and NCCL installations from your environment. If you need to specify custom paths, you can set `CUDA_HOME` and `NCCL_HOME` environment variables or pass them as make arguments.\n\n### Build Options\n\nThe Makefile supports several build options:\n\n- **DEBUG=1**: Enable debug build with additional debugging information\n- **ASAN=1**: Enable Address Sanitizer for memory error detection\n- **UBSAN=1**: Enable Undefined Behavior Sanitizer\n\nExample debug build:\n```bash\nmake DEBUG=1\n```\n\n### Build Output\n\nThe build process creates:\n- `libnccl-profiler-inspector.so`: The main inspector plugin library\n- `version.cc`: Auto-generated version information from git\n\n## Using NCCL Inspector\n\n### Key Differences from Normal NCCL Usage\n\nThe main difference between running NCCL with the Inspector plugin versus running NCCL normally is the addition of environment variables that enable detailed performance logging:\n\n**Normal NCCL Run:**\n```bash\n# Standard NCCL execution\n./your_nccl_application\n```\n\n**NCCL Inspector Run:**\n```bash\n# NCCL Inspector enabled execution\nexport NCCL_PROFILER_PLUGIN=/path/to/nccl/ext-profiler/inspector/libnccl-profiler-inspector.so\nexport NCCL_INSPECTOR_ENABLE=1\nexport NCCL_INSPECTOR_DUMP_THREAD_INTERVAL_MICROSECONDS=500\n./your_nccl_application\n```\n\n### Required Environment Variables\n\n- `NCCL_PROFILER_PLUGIN=/path/to/nccl/ext-profiler/inspector/libnccl-profiler-inspector.so`\n  Loads the Inspector plugin into NCCL.\n- `NCCL_INSPECTOR_ENABLE=1`\n  Enables the Inspector plugin.\n- `NCCL_INSPECTOR_DUMP_THREAD_INTERVAL_MICROSECONDS=<interval>`\n  Sets the interval (in microseconds) for the internal dump thread to write output. Example: `500`.\n- `NCCL_INSPECTOR_DUMP_DIR=<output_dir>` (optional)\n  Sets the output directory for logs. If not set, defaults to `nccl-inspector-unknown-jobid` or `nccl-inspector-<slurm_job_id>` if running under SLURM.\n- `NCCL_INSPECTOR_DUMP_VERBOSE=<0|1>` (optional)\n  Enables verbose output including event trace information. Set to `1` to enable, `0` to disable (default).\n\n### Example Usage\n\n**Single Node:**\n```bash\nexport NCCL_PROFILER_PLUGIN=/path/to/nccl/ext-profiler/inspector/libnccl-profiler-inspector.so\nexport NCCL_INSPECTOR_ENABLE=1\nexport NCCL_INSPECTOR_DUMP_THREAD_INTERVAL_MICROSECONDS=500\n./build/test/perf/all_reduce_perf -b 8 -e 16G -f 2 -g 8\n```\n\n**Multi-Node (SLURM):**\n```bash\n# Add these environment variables to your SLURM script\nexport NCCL_PROFILER_PLUGIN=/path/to/nccl/ext-profiler/inspector/libnccl-profiler-inspector.so\nexport NCCL_INSPECTOR_ENABLE=1\nexport NCCL_INSPECTOR_DUMP_THREAD_INTERVAL_MICROSECONDS=500\nexport NCCL_INSPECTOR_DUMP_DIR=/path/to/logs/${SLURM_JOB_ID}/\n\n# Then run your normal NCCL application\nsrun your_nccl_application\n```\n\n## Example Scripts\n\nFor detailed example scripts showing how to integrate NCCL Inspector with different workloads, see the **[test/examples/](test/examples/)** directory:\n\n- **Single Node Example**: Basic NCCL performance testing with inspector\n- **Multi-Node SLURM Example**: Comprehensive multi-node testing with various collective operations\n- **Training Workload Example**: Integration with distributed training workloads\n\n## Output Example\n\nEach output file contains JSON objects with the following structure:\n\n```json\n{\n  \"header\": {\n    \"id\": \"0x7f8c496ae9f661\",\n    \"rank\": 2,\n    \"n_ranks\": 8,\n    \"nnodes\": 1\n  },\n  \"metadata\": {\n    \"inspector_output_format_version\": \"v4.0\",\n    \"git_rev\": \"\",\n    \"rec_mechanism\": \"profiler_plugin\",\n    \"dump_timestamp_us\": 1748030377748202,\n    \"hostname\": \"example-hostname\",\n    \"pid\": 1639453\n  },\n  \"coll_perf\": {\n    \"coll\": \"AllReduce\",\n    \"coll_sn\": 1407,\n    \"coll_msg_size_bytes\": 17179869184,\n    \"coll_exec_time_us\": 61974,\n    \"coll_algobw_gbs\": 277.210914,\n    \"coll_busbw_gbs\": 485.119099\n  }\n}\n```\n\n## Output Example Verbose\n\nTo enable verbose output with event trace information, set the `NCCL_INSPECTOR_DUMP_VERBOSE=1` environment variable:\n\n```bash\nexport NCCL_INSPECTOR_DUMP_VERBOSE=1\n```\n\nThis will include additional event trace information in the JSON output, showing the sequence of callbacks and timestamps for each individual event.\n\n```json\n{\n  \"header\": {\n    \"id\": \"0xe62dedaa97644a\",\n    \"rank\": 4,\n    \"n_ranks\": 8,\n    \"nnodes\": 1\n  },\n  \"metadata\": {\n    \"inspector_output_format_version\": \"v4.0\",\n    \"git_rev\": \"9019a1912-dirty\",\n    \"rec_mechanism\": \"nccl_profiler_interface\",\n    \"dump_timestamp_us\": 1752867229276385,\n    \"hostname\": \"example-hostname\",\n    \"pid\": 438776\n  },\n  \"coll_perf\": {\n    \"coll\": \"ReduceScatter\",\n    \"coll_sn\": 1231,\n    \"coll_msg_size_bytes\": 2147483648,\n    \"coll_exec_time_us\": 41057,\n    \"coll_timing_source\": \"kernel_gpu\",\n    \"coll_algobw_gbs\": 418.439467,\n    \"coll_busbw_gbs\": 366.134533,\n    \"event_trace_sn\": {\n      \"coll_start_sn\": 1,\n      \"coll_stop_sn\": 2,\n      \"kernel_events\": [\n        {\n          \"channel_id\": 0,\n          \"kernel_start_sn\": 3,\n          \"kernel_stop_sn\": 48,\n          \"kernel_record_sn\": 47\n        }\n      ]\n    },\n    \"event_trace_ts\": {\n      \"coll_start_ts\": 1752867229235059,\n      \"coll_stop_ts\": 1752867229235064,\n      \"kernel_events\": [\n        {\n          \"channel_id\": 0,\n          \"kernel_start_ts\": 1752867229235181,\n          \"kernel_stop_ts\": 1752867229275811,\n          \"kernel_record_ts\": 1752867229275811\n        }\n      ]\n    }\n  }\n}\n```\n\nMultiple such JSON objects are written, one per collective operation per communicator.\n\n## Output Directory\n\n- By default, output files are written to:\n  - `nccl-inspector-unknown-jobid` (if no SLURM job ID is present)\n  - `nccl-inspector-<slurm_job_id>` (if running under SLURM)\n- You can override this with the `NCCL_INSPECTOR_DUMP_DIR` environment variable.\n\n## Additional Notes\n\n- The plugin is compatible with standard NCCL workflows and can be used in both single-node and multi-node (SLURM) environments.\n- For more details, see the source code and comments in `ext-profiler/inspector/`.\n\n"
  },
  {
    "path": "ext-profiler/inspector/exporter/example/README.md",
    "content": "# NCCL Inspector Performance Summary Exporter\n\nThis tool processes NCCL Inspector log files and generates comprehensive performance analysis reports including visualizations and statistical summaries.\nOne can build similar exporters to integrate with various observability systems like Elastic, Prometheus or other Custom Metric systems.\n\n## Features\n\n- **Performance Analysis**: Generates statistical summaries for collective operations\n- **Communication Type Classification**: Automatically categorizes communication patterns\n- **Visualizations**: Creates scatter plots, histograms, and box plots for performance metrics\n- **Data Export**: Converts logs to Parquet format for efficient processing\n- **Multi-format Log Support**: Processes `.log`, `.log.gz`, `.jsonl`, and `.jsonl.gz` files\n- **Parallel Processing**: Utilizes multi-core processing for faster analysis\n\n## Requirements\n\n- Python 3.7+\n- Access to NCCL Inspector log files\n\n## Installation\n\n### Clone the Repository\n\n```bash\ngit clone https://github.com/NVIDIA/nccl.git\ncd nccl/ext-profiler/inspector/exporter/example\n```\n\nInstall the required dependencies using the provided `requirements.txt` file:\n\n```bash\npip install -r requirements.txt\n```\n\n## Usage\n\nThe script processes NCCL Inspector log files from a specified directory.\n\n**Note:** To generate NCCL Inspector log files, you need to run your NCCL application with the inspector plugin enabled. The log files will be output to a directory specified by the `NCCL_INSPECTOR_DUMP_DIR` environment variable. For detailed setup instructions and environment variable configuration, see the [Inspector README](../../../README.md).\n\n### Basic Usage\n\n```bash\npython perf_summary_exporter.py --input_dir /path/to/nccl/inspector/logs\n```\n\nThis mode processes all log files in the specified directory and its subdirectories recursively.\n\n### Command Line Arguments\n\n- `--input_dir <path>`: **Required**. Directory containing NCCL Inspector log files (searches recursively in subdirectories)\n- `--output_dir <name>`: **Optional**. Custom output directory name (default: `<input_directory_name>-analysis`)\n\n## Output\n\nThe tool generates:\n\n1. **Parquet Files**: One per log file containing processed log data (stored in `parquet_files/` subdirectory)\n2. **Summary Directory**: Contains comprehensive analysis results\n3. **Visualizations**: Scatter plots, histograms, and box plots for each message size\n4. **CSV Files**: Detailed summaries for each message size and collective type\n5. **Log File**: Processing log with detailed information\n\n## Example Output Structure\n\n```\n<output_dir_name>/\n├── output.log\n├── parquet_files/\n│   ├── <filename1>.parquet\n│   ├── <filename2>.parquet\n│   └── ...\n└── summary/\n    ├── scatter_plot_<comm_type>_<coll_type>.png\n    ├── combined_scatter_plot_<comm_type>_<coll_type>.png\n    └── msg_size_<human_readable_size>/\n        ├── histograms/\n        │   └── histogram_<comm_type>_<coll_type>_<size>.png\n        ├── boxplots/\n        │   └── boxplot_<comm_type>_<coll_type>_<size>.png\n        └── summary_<comm_type>_<coll_type>_<size>.csv\n```\n\n## Supported Communicator Types\n\n- `single-rank`\n- `nvlink-only`\n- `hca-only`\n- `mixed`\n\n## Supported Collective Types\n\n- `AllReduce`\n- `AllGather`\n- `ReduceScatter`\n- `Broadcast`\n\n## Log File Formats\n\n### Supported Formats\n\n- `.log` - Plain text JSON lines\n- `.log.gz` - Compressed JSON lines\n- `.jsonl` - JSON lines format\n- `.jsonl.gz` - Compressed JSON lines\n\n### Expected JSON Structure\n\n```json\n{\n  \"header\": {\n    \"id\": \"0x9e7a479f95a66c\",\n    \"rank\": 31,\n    \"n_ranks\": 32,\n    \"nnodes\": 4\n  },\n  \"metadata\": {\n    \"inspector_output_format_version\": \"v4.0\",\n    \"git_rev\": \"75e61acda-dirty\",\n    \"rec_mechanism\": \"nccl_profiler_interface\",\n    \"dump_timestamp_us\": 1749490229087081,\n    \"hostname\": \"example-hostname\",\n    \"pid\": 468528\n  },\n  \"coll_perf\": {\n    \"coll\": \"ReduceScatter\",\n    \"coll_sn\": 129,\n    \"coll_msg_size_bytes\": 65536,\n    \"coll_exec_time_us\": 110,\n    \"coll_timing_source\": \"kernel_gpu\",\n    \"coll_algobw_gbs\": 19.065018,\n    \"coll_busbw_gbs\": 18.469236\n  }\n}\n```\n\n## Troubleshooting\n\n### Common Issues\n\n1. **No log files found**: Ensure the log directory path is correct and contains valid log files\n2. **Missing dependencies**: Ensure all requirements are installed in your virtual environment\n3. **Mixed file formats**: The tool will exit if it detects mixed `.log`, `.log.gz`, `.jsonl`, and `.jsonl.gz` files in the same directory. This is typically indicative of corrupt input directories caused by multiple overlapping NCCL Inspector runs with different output format options. Clean the directory and re-run with consistent settings.\n\n### Log Files\n\nThe tool creates detailed logs in the output directory. Check `output.log` for processing information and any error messages.\n\n## Support\n\nPlease refer to the github issues page at https://github.com/NVIDIA/nccl/issues. Your question may already have been asked by another user. If not, feel free to create a new issue and refer to the \"inspector plugin\" in the title.\n"
  },
  {
    "path": "ext-profiler/inspector/exporter/example/perf_summary_exporter.py",
    "content": "from pathlib import Path\nimport argparse\nimport glob\nimport gzip\nimport sys\nimport pandas as pd\nfrom concurrent.futures import ProcessPoolExecutor\nimport json\nfrom tqdm.auto import tqdm\nimport duckdb\nimport math\nimport matplotlib.pyplot as plt\nimport matplotlib.dates\nfrom matplotlib.gridspec import GridSpec\nimport os\nimport logging\nimport contextlib\nfrom datetime import datetime\nimport numpy as np\n\ndef setup_logging(output_dir):\n    log_file = output_dir / \"output.log\"\n    logging.basicConfig(\n        filename=log_file,\n        level=logging.INFO,\n        format=\"%(asctime)s - %(levelname)s - %(message)s\",\n    )\n\n\n@contextlib.contextmanager\ndef smart_open(filename, mode=\"r\"):\n    if filename.endswith(\".gz\"):\n        opener = gzip.open\n    else:\n        opener = open\n\n    with opener(filename, mode) as f:\n        yield f\n\n\ndef get_log_files_and_output_dir():\n    parser = argparse.ArgumentParser(description=\"Process log files in a directory.\")\n    parser.add_argument(\n        \"--input_dir\",\n        type=str,\n        help=\"The directory containing NCCL Inspector log files to process.\",\n    )\n    parser.add_argument(\n        \"--output_dir\",\n        type=str,\n        help=\"Custom output directory name (default: auto-generated from input directory).\"\n    )\n    args = parser.parse_args()\n\n    if args.input_dir:\n        # Use the provided input directory\n        root_dir = Path(args.input_dir)\n        if not root_dir.exists():\n            raise FileNotFoundError(f\"Input directory not found: {root_dir}\")\n\n    logfiles = list(glob.iglob(str(Path(root_dir) / \"**\" / \"*.log\"), recursive=True))\n    gzlogfiles = list(\n        glob.iglob(str(Path(root_dir) / \"**\" / \"*.log.gz\"), recursive=True)\n    )\n    jsonlfiles = list(\n        glob.iglob(str(Path(root_dir) / \"**\" / \"*.jsonl\"), recursive=True)\n    )\n    gzjsonlfiles = list(\n        glob.iglob(str(Path(root_dir) / \"**\" / \"*.jsonl.gz\"), recursive=True)\n    )\n    if (\n            sum((1 for x in [logfiles, gzlogfiles, jsonlfiles, gzjsonlfiles] if len(x) > 0))\n            > 1\n    ):\n        ### TODO: we could probably generate some logic to pick the \"right\" file to load, but for now, bail\n        logging.critical(\"Appear to have mixed .log/.log.gz/.jsonl/.jsonl.gz; bailing!\")\n        sys.exit(1)\n\n    files = logfiles + gzlogfiles + jsonlfiles + gzjsonlfiles\n\n    if not files:\n        print(\"No inspector logs found\")\n        sys.exit(1)\n\n    # Generate output directory name from input directory\n    if args.output_dir:\n        output_dir_name = args.output_dir\n    else:\n        output_dir_name = f\"{root_dir.name}-analysis\"\n\n    return files, output_dir_name\n\ndef bytes_to_human_readable(size_bytes):\n    \"\"\"\n    Convert bytes to human-readable format using decimal (SI) units.\n\n    Uses powers of 1000 (decimal/SI standard):\n    - 1 KB = 1,000 bytes\n    - 1 MB = 1,000,000 bytes\n    - 1 GB = 1,000,000,000 bytes\n\n    Not binary units (powers of 1024):\n    - Does NOT use KiB, MiB, GiB (1024-based)\n\n    Args:\n        size_bytes: Number of bytes to convert\n\n    Returns:\n        Human-readable string (e.g., \"1.50MB\", \"2.34GB\")\n    \"\"\"\n    if size_bytes == 0:\n        return \"0B\"\n    size_name = (\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\")\n    i = int(math.log10(int(size_bytes)) / 3)\n    s = round(size_bytes * math.pow(10, -3 * i), 2)\n    return f\"{s:.2f}{size_name[i]}\"\n\ndef timestamp_to_datetime(timestamp_us):\n    \"\"\"Convert microsecond timestamp to datetime string\"\"\"\n    return datetime.fromtimestamp(timestamp_us / 1000000).strftime('%Y-%m-%d %H:%M:%S.%f')[:-3]\n\ndef microseconds_to_human_readable(microseconds):\n    \"\"\"Convert microseconds to human readable format\"\"\"\n    if microseconds < 1000:\n        return f\"{microseconds:.1f}μs\"\n    elif microseconds < 1000000:\n        return f\"{microseconds/1000:.1f}ms\"\n    else:\n        return f\"{microseconds/1000000:.1f}s\"\n\ndef get_comm_type(row) -> str:\n    if row[\"n_ranks\"] == 1:\n        return \"single-rank\"\n    elif row[\"nnodes\"] == 1:\n        return \"nvlink-only\"\n    elif row[\"n_ranks\"] == row[\"nnodes\"]:\n        return \"hca-only\"\n    else:\n        return \"mixed\"\n\ndef parse_file(filepath: Path, output_dir):\n    filename = Path(filepath).stem\n    parquet_file = output_dir / f\"{filename}.parquet\"\n\n    # Check if parquet file exists and is newer than source file\n    if parquet_file.exists():\n        source_mtime = Path(filepath).stat().st_mtime\n        parquet_mtime = parquet_file.stat().st_mtime\n        if parquet_mtime >= source_mtime:\n            logging.info(f\"Parquet file {parquet_file} is up to date. Skipping...\")\n            return\n        else:\n            logging.info(f\"Source file {filepath} is newer than parquet. Regenerating...\")\n\n    # Check if file is empty or too small\n    file_size = Path(filepath).stat().st_size\n    if file_size == 0:\n        logging.warning(f\"Skipping empty file: {filepath}\")\n        return\n\n    recs = []\n    try:\n        with smart_open(filepath, \"r\") as infile:\n            for lineno, line in enumerate(infile):\n                try:\n                    json_recs = json.loads(line)\n                except json.JSONDecodeError:\n                    logging.error(f\"Failed to parse line {filepath}:{lineno}\")\n                    continue\n\n                # Validate that required fields exist\n                if not all(key in json_recs for key in [\"header\", \"metadata\", \"coll_perf\"]):\n                    logging.error(f\"Missing required fields in {filepath}:{lineno}\")\n                    continue\n\n                header = json_recs[\"header\"]\n                metadata = json_recs[\"metadata\"]\n                comm_type = get_comm_type(header)\n                coll_perf = json_recs[\"coll_perf\"]\n                recs.append(\n                    dict(\n                        **header,\n                        comm_type=comm_type,\n                        **coll_perf,\n                        **metadata,\n                    )\n                )\n    except Exception as e:\n        logging.error(f\"Error reading file {filepath}: {e}\")\n        return\n\n    # Skip files with no valid records\n    if not recs:\n        logging.warning(f\"No valid records found in file: {filepath}. Skipping...\")\n        return\n\n    df = pd.DataFrame(recs)\n    df.to_parquet(parquet_file)\n    logging.info(f\"Created parquet file {parquet_file} with {len(recs)} records\")\n\ndef create_per_node_parquet_files(files, output_dir):\n    output_dir = Path(output_dir) / \"parquet_files\"\n    output_dir.mkdir(parents=True, exist_ok=True)\n    max_workers = min(64, len(files), os.cpu_count() or 1)\n    with ProcessPoolExecutor(max_workers=max_workers) as executor:\n        list(\n            tqdm(\n                executor.map(parse_file, files, [output_dir] * len(files)),\n                total=len(files),\n                desc=\"Processing files\",\n                unit=\"file\",\n            )\n        )\n    return output_dir\n\ndef generate_scatter_plot(df, comm_type, coll_type, output_file):\n    plt.figure(figsize=(10, 6), dpi=100)\n    distinct_msg_sizes = df[\"coll_msg_size_bytes\"].unique()\n\n    for msg_size in distinct_msg_sizes:\n        df_msg_size = df[df[\"coll_msg_size_bytes\"] == msg_size]\n        mean_busbw = df_msg_size[\"mean_coll_busbw_gbs\"].mean()\n        plt.scatter(\n            df_msg_size[\"coll_sn\"],\n            df_msg_size[\"mean_coll_busbw_gbs\"],\n            label=f\"MsgSize: {bytes_to_human_readable(msg_size)} (Mean: {mean_busbw:.2f} GB/s)\",\n            alpha=0.5,\n        )\n\n    plt.xlabel(\"Operation Sequence Number\")\n    plt.ylabel(\"Mean Collective Bus BW (GB/s)\")\n    plt.title(f\"Comm Type: {comm_type}, Coll Type: {coll_type}\")\n    plt.legend(title=\"Message Size\", loc=\"upper right\")\n    plt.tight_layout()\n    plt.savefig(output_file)\n    plt.close()\n    logging.info(f\"Scatter plot saved to {output_file}\")\n\ndef generate_combined_scatter_plot(df, comm_type, coll_type, output_file, max_cols=3):\n    distinct_msg_sizes = df[\"coll_msg_size_bytes\"].unique()\n    num_plots = len(distinct_msg_sizes)\n\n    # Compute number of rows and columns\n    num_cols = min(max_cols, num_plots)  # Limit max columns\n    num_rows = (num_plots + num_cols - 1) // num_cols  # Calculate rows dynamically\n\n    # Create figure with GridSpec\n    fig = plt.figure(figsize=(5 * num_cols, 5 * num_rows), dpi=100)\n    gs = GridSpec(num_rows, num_cols, figure=fig)\n\n    for i, msg_size in enumerate(distinct_msg_sizes):\n        row, col = divmod(i, num_cols)  # Determine row & column index\n        ax = fig.add_subplot(gs[row, col])  # Create subplot at position\n\n        df_msg_size = df[df[\"coll_msg_size_bytes\"] == msg_size]\n        mean_busbw = df_msg_size[\"mean_coll_busbw_gbs\"].mean()\n        ax.scatter(\n            df_msg_size[\"coll_sn\"],\n            df_msg_size[\"mean_coll_busbw_gbs\"],\n            label=f\"MsgSize: {bytes_to_human_readable(msg_size)} (Mean: {mean_busbw:.2f} GB/s)\",\n            alpha=0.5,\n        )\n        ax.set_xlabel(\"Op Seq No\")\n        ax.set_ylabel(\"Mean Collective Bus BW (GB/s)\")\n        ax.set_title(f\"Message Size: {bytes_to_human_readable(msg_size)}({msg_size})\")\n        ax.legend(loc=\"upper right\")\n\n    fig.suptitle(f\"Comm Type: {comm_type}, Coll Type: {coll_type}\", ha=\"center\", y=0.98)\n\n    plt.tight_layout()\n    plt.savefig(output_file)\n    plt.close()\n    logging.info(f\"Combined scatter plot saved to {output_file}\")\n\ndef generate_histogram(df, comm_type, coll_type, output_file, message_size):\n    plt.figure(figsize=(10, 6), dpi=100)\n    data_range = df[\"mean_coll_busbw_gbs\"].max() - df[\"mean_coll_busbw_gbs\"].min()\n    num_bins = min(50, int(data_range) + 1)\n    plt.hist(\n        df[\"mean_coll_busbw_gbs\"],\n        bins=num_bins,\n        alpha=0.7,\n        color=\"b\",\n        edgecolor=\"black\",\n        linewidth=1.2,\n    )\n    plt.xlabel(\"Mean Collective Bus BW (GB/s)\")\n    plt.ylabel(\"Frequency\")\n    plt.title(\n        f\"Comm Type: {comm_type}, Coll Type: {coll_type} Mean Collective Bus BW Histogram\\nMsg Size: {message_size}\"\n    )\n    plt.gca().yaxis.set_major_formatter(plt.FuncFormatter(lambda y, _: f\"{y:.0f}\"))\n    plt.gca().xaxis.set_major_formatter(plt.FuncFormatter(lambda x, _: f\"{x:.2f} GB/s\"))\n    plt.gca().xaxis.get_offset_text().set_visible(False)\n    plt.tight_layout()\n    plt.savefig(output_file)\n    plt.close()\n    logging.info(f\"Histogram saved to {output_file}\")\n\ndef generate_boxplot(df, comm_type, coll_type, output_file, message_size):\n    plt.figure(figsize=(10, 6))\n    boxprops = dict(linestyle=\"-\", linewidth=2, color=\"blue\")\n    flierprops = dict(marker=\"o\", color=\"red\", alpha=0.5)\n    medianprops = dict(linestyle=\"-\", linewidth=2.5, color=\"orange\")\n    whiskerprops = dict(linestyle=\"--\", linewidth=2, color=\"green\")\n    capprops = dict(linestyle=\"-\", linewidth=2, color=\"black\")\n\n    plt.boxplot(\n        df[\"mean_coll_busbw_gbs\"],\n        vert=False,\n        patch_artist=True,\n        boxprops=boxprops,\n        flierprops=flierprops,\n        medianprops=medianprops,\n        whiskerprops=whiskerprops,\n        capprops=capprops,\n    )\n\n    plt.xlabel(\"Mean Coll Bus BW (GB/s)\")\n    plt.title(\n        f\"Box Plot of Coll Bus BW (CommType: {comm_type} - Coll Type: {coll_type} - Msg Size: {message_size})\"\n    )\n\n    # Adding labels for min, max, and median\n    stats = df[\"mean_coll_busbw_gbs\"].describe(percentiles=[0.5])\n    plt.annotate(\n        f\"Min: {stats['min']:.2f}\",\n        xy=(stats[\"min\"], 1),\n        xytext=(stats[\"min\"], 1.1),\n        arrowprops=dict(facecolor=\"black\", shrink=0.05),\n    )\n    plt.annotate(\n        f\"Median: {stats['50%']:.2f}\",\n        xy=(stats[\"50%\"], 1),\n        xytext=(stats[\"50%\"], 1.1),\n        arrowprops=dict(facecolor=\"black\", shrink=0.05),\n    )\n    plt.annotate(\n        f\"Max: {stats['max']:.2f}\",\n        xy=(stats[\"max\"], 1),\n        xytext=(stats[\"max\"], 1.1),\n        arrowprops=dict(facecolor=\"black\", shrink=0.05),\n    )\n\n    plt.tight_layout()\n    plt.savefig(output_file)\n    plt.close()\n    logging.info(f\"Box plot saved to {output_file}\")\n\n\ndef summarize_data_per_comm_coll_type(output_root, comm_type, coll_type, output_dir_name):\n    \"\"\"Summarize parquet data per communication and collective type using DuckDB\"\"\"\n    logging.info(f\"Summarizing data per comm/coll type for {output_dir_name}, {comm_type} and {coll_type}\")\n\n    # Check if there are any parquet files\n    parquet_dir = output_root / \"parquet_files\"\n    parquet_files = list(parquet_dir.glob(\"*.parquet\"))\n    if not parquet_files:\n        logging.warning(f\"No parquet files found for {comm_type} and {coll_type}\")\n        return None\n\n    # Clean up invalid/empty parquet files by moving them to a separate directory\n    invalid_dir = parquet_dir / \"invalid\"\n    invalid_dir.mkdir(exist_ok=True)\n\n    invalid_count = 0\n    for pf in parquet_files:\n        try:\n            # Check file size first\n            if pf.stat().st_size == 0:\n                logging.warning(f\"Moving zero-byte parquet file {pf} to invalid directory\")\n                pf.rename(invalid_dir / pf.name)\n                invalid_count += 1\n                continue\n\n            # Use pyarrow to check parquet metadata without reading data\n            import pyarrow.parquet as pq\n            parquet_file = pq.ParquetFile(pf)\n            if parquet_file.metadata.num_rows == 0:\n                logging.warning(f\"Moving empty parquet file {pf} (0 rows) to invalid directory\")\n                pf.rename(invalid_dir / pf.name)\n                invalid_count += 1\n        except Exception as e:\n            logging.warning(f\"Moving invalid parquet file {pf} to invalid directory: {e}\")\n            pf.rename(invalid_dir / pf.name)\n            invalid_count += 1\n\n    # Check if any valid files remain\n    remaining_files = list(parquet_dir.glob(\"*.parquet\"))\n    if not remaining_files:\n        logging.warning(f\"No valid parquet files found for {comm_type} and {coll_type} (moved {invalid_count} invalid files)\")\n        return None\n\n    logging.info(f\"Found {len(remaining_files)} valid parquet files (moved {invalid_count} invalid files)\")\n\n    try:\n        duckdb.execute(\n            f\"CREATE OR REPLACE VIEW logs AS SELECT * FROM read_parquet('{parquet_dir}/*.parquet')\"\n        )\n        df = duckdb.execute(f\"\"\"\n            SELECT\n                id,\n                coll_sn,\n                coll_msg_size_bytes,\n                AVG(coll_busbw_gbs) as mean_coll_busbw_gbs,\n                COUNT(*) as log_count,\n                ARRAY_DISTINCT(LIST(n_ranks)) as n_ranks,\n                ARRAY_DISTINCT(LIST(nnodes)) as nnodes,\n                MIN(dump_timestamp_us) as coll_start_timestamp_us,\n                MAX(dump_timestamp_us) as coll_end_timestamp_us,\n                (MAX(dump_timestamp_us) - MIN(dump_timestamp_us)) as coll_duration_us\n            FROM logs\n            WHERE coll = '{coll_type}' and comm_type = '{comm_type}'\n            GROUP BY id, coll_sn, coll_msg_size_bytes\n            ORDER BY coll_sn\n        \"\"\").df()\n    except Exception as e:\n        logging.error(f\"Error executing DuckDB query for {comm_type} and {coll_type}: {e}\")\n        return None\n\n    if df.empty:\n        logging.info(f\"No data for {comm_type} and {coll_type}\")\n        return None\n\n    # Add human-readable formatting\n    df[\"human_readable_coll_msg_size_bytes\"] = df[\"coll_msg_size_bytes\"].apply(\n        bytes_to_human_readable\n    )\n\n    # Log example of time range data for first few rows\n    if len(df) > 0:\n        sample_row = df.iloc[0]\n        start_time = timestamp_to_datetime(sample_row['coll_start_timestamp_us'])\n        end_time = timestamp_to_datetime(sample_row['coll_end_timestamp_us'])\n        duration = microseconds_to_human_readable(sample_row['coll_duration_us'])\n        logging.info(f\"Example time range - ID: {sample_row['id']}, Coll_SN: {sample_row['coll_sn']}, \"\n                     f\"Start: {start_time}, End: {end_time}, Duration: {duration}\")\n\n    return df\n\n\ndef generate_visualizations(df, output_root, comm_type, coll_type):\n    \"\"\"Generate all visualizations and save CSV files for the processed data\"\"\"\n    logging.info(f\"Generating visualizations for {comm_type} and {coll_type}\")\n\n    summary_dir = output_root / \"summary\"\n    summary_dir.mkdir(parents=True, exist_ok=True)\n\n    # Scatter Plot for all message sizes\n    output_file = summary_dir / f\"scatter_plot_{comm_type}_{coll_type}.png\"\n    generate_scatter_plot(df, comm_type, coll_type, output_file)\n\n    # Combined Scatter Plot for all message sizes\n    output_file = summary_dir / f\"combined_scatter_plot_{comm_type}_{coll_type}.png\"\n    generate_combined_scatter_plot(df, comm_type, coll_type, output_file)\n\n    distinct_msg_sizes = df[\"coll_msg_size_bytes\"].unique()\n    for msg_size in distinct_msg_sizes:\n        hr_msg_size = bytes_to_human_readable(msg_size)\n        msg_size_dir = summary_dir / f\"msg_size_{msg_size}_{hr_msg_size}\"\n        msg_size_hist_dir = msg_size_dir / \"histograms\"\n        msg_size_boxplot_dir = msg_size_dir / \"boxplots\"\n        msg_size_dir.mkdir(parents=True, exist_ok=True)\n        msg_size_hist_dir.mkdir(parents=True, exist_ok=True)\n        msg_size_boxplot_dir.mkdir(parents=True, exist_ok=True)\n\n        df_msg_size = df[df[\"coll_msg_size_bytes\"] == msg_size]\n\n        # Add human-readable time formatting\n        df_msg_size = df_msg_size.copy()\n        df_msg_size[\"coll_start_datetime\"] = df_msg_size[\"coll_start_timestamp_us\"].apply(timestamp_to_datetime)\n        df_msg_size[\"coll_end_datetime\"] = df_msg_size[\"coll_end_timestamp_us\"].apply(timestamp_to_datetime)\n        df_msg_size[\"coll_duration_human\"] = df_msg_size[\"coll_duration_us\"].apply(microseconds_to_human_readable)\n\n        # Histogram\n        output_file = (\n            msg_size_hist_dir / f\"histogram_{comm_type}_{coll_type}_{msg_size}.png\"\n        )\n        generate_histogram(\n            df_msg_size,\n            comm_type,\n            coll_type,\n            output_file,\n            bytes_to_human_readable(msg_size),\n        )\n\n        # Box Plot\n        output_file = (\n            msg_size_boxplot_dir / f\"boxplot_{comm_type}_{coll_type}_{msg_size}.png\"\n        )\n        generate_boxplot(\n            df_msg_size,\n            comm_type,\n            coll_type,\n            output_file,\n            bytes_to_human_readable(msg_size),\n        )\n\n        output_file = msg_size_dir / f\"summary_{comm_type}_{coll_type}_{msg_size}.csv\"\n        df_msg_size.to_csv(output_file, index=False)\n        logging.info(\n            f\"Summary for {comm_type}, {coll_type}, and msg_size {msg_size} written to {output_file}\"\n        )\n\n\ndef generate_summary(output_root, comm_type, coll_type, output_dir_name):\n    \"\"\"Generate summary by summarizing data per comm/coll type and creating visualizations\"\"\"\n    logging.info(f\"Generating summary for {output_dir_name}, {comm_type} and {coll_type}\")\n\n    # Step 1: Summarize data per communication and collective type\n    df = summarize_data_per_comm_coll_type(output_root, comm_type, coll_type, output_dir_name)\n\n    # Step 2: Generate visualizations if data exists\n    if df is not None:\n        generate_visualizations(df, output_root, comm_type, coll_type)\n    else:\n        logging.warning(f\"No data found for {comm_type} and {coll_type} - skipping visualization generation\")\n\n\ndef generate_summary_wrapper(args):\n    return generate_summary(*args)\n\n\nif __name__ == \"__main__\":\n    files, output_dir_name = get_log_files_and_output_dir()\n    print(f\"Number of log files found: {len(files)}\")\n    print(f\"Output directory: {output_dir_name}\")\n    output_dir = Path(output_dir_name)\n    output_dir.mkdir(parents=True, exist_ok=True)\n    setup_logging(output_dir)\n    create_per_node_parquet_files(files, output_dir)\n    comm_types = [\"single-rank\", \"nvlink-only\", \"hca-only\", \"mixed\"]\n    coll_types = [\"AllReduce\", \"AllGather\", \"ReduceScatter\", \"Broadcast\"]\n    summary_args = [\n        (output_dir, comm_type, coll_type, output_dir_name)\n        for comm_type in comm_types\n        for coll_type in coll_types\n    ]\n    max_workers = min(64, len(summary_args), os.cpu_count() or 1)\n    with ProcessPoolExecutor(max_workers=max_workers) as executor:\n        list(\n            tqdm(\n                executor.map(generate_summary_wrapper, summary_args),\n                total=len(summary_args),\n                desc=\"Generating summaries\",\n            )\n        )\n        print(\"Done!\")\n"
  },
  {
    "path": "ext-profiler/inspector/exporter/example/requirements.txt",
    "content": "pandas>=1.3.0\ntqdm>=4.60.0\nduckdb>=0.8.0\nmatplotlib>=3.3.0\npyarrow>=5.0.0\nnumpy>=1.21.0\n"
  },
  {
    "path": "ext-profiler/inspector/inspector.cc",
    "content": "#include \"inspector.h\"\n\n#include <assert.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <strings.h>\n#include <sys/stat.h>\n#include <sys/time.h>\n#include <time.h>\n#include <unistd.h>\n#include <errno.h>\n#include <cstring>\n\n#include \"common.h\"\n\n#define JSON_CHK(expr)                                                  \\\n  do {                                                                  \\\n    const jsonResult_t res = (expr);                                    \\\n    if (res != jsonSuccess) {                                           \\\n      INFO(NCCL_INSPECTOR, \"jsonError: %s\\n\", jsonErrorString(res));    \\\n      return inspectorJsonError;                                        \\\n    }                                                                   \\\n  } while (0)\n\n#define INS_CHK(call)                                                   \\\n  do {                                                                  \\\n    inspectorResult_t res = call;                                       \\\n    if (inspectorSuccess != res) {                                      \\\n      INFO(NCCL_INSPECTOR, \"%s:%d -> error %d: %s\", __FILE__, __LINE__, res, \\\n           inspectorErrorString(res));                                  \\\n      return res;                                                       \\\n    }                                                                   \\\n  } while (0);\n\n#define JSON_CHK_GOTO(expr, res, label)                                 \\\n  do {                                                                  \\\n    const jsonResult_t macro_res = (expr);                              \\\n    if (macro_res != jsonSuccess) {                                     \\\n      INFO(NCCL_INSPECTOR, \"jsonError: %s\\n\", jsonErrorString(macro_res)); \\\n      res = inspectorJsonError;                                         \\\n      goto label;                                                       \\\n    }                                                                   \\\n  } while (0)\n\n#define INS_CUDA_CHK(cmd)                                               \\\n  do {                                                                  \\\n    cudaError_t err = cmd;                                              \\\n    if (err != cudaSuccess) {                                           \\\n      INFO(NCCL_INSPECTOR, \"Cuda failure '%s'\", cudaGetErrorString(err)); \\\n      return inspectorCudaError;                                        \\\n    }                                                                   \\\n  } while (false)\n\n\n// Global flag to control inspector use\nstatic bool enableNcclInspector = false;\n// Global flag to control starting internal dump thread\nstatic bool enableNcclInspectorDumpThread = false;\n// Global flag to control verbose dumping (event_trace)\nstatic bool enableNcclInspectorDumpVerbose = false;\n// Extra guard to prevent spurious messages for eager pollers that try to dump\n// out results before we have initialized\nstatic bool ncclInspectorInit = false;\n\n// Define the global logFn variable\nncclDebugLogger_t logFn = nullptr;\n\n/*\n * Description:\n *\n *   Returns the current time in microseconds since the epoch.\n *\n * Thread Safety:\n *\n *   Thread-safe (uses gettimeofday).\n *\n * Input:\n *\n *   None.\n *\n * Output:\n *\n *   None.\n *\n * Return:\n *   uint64_t - current time in microseconds.\n *\n * Error Handling:\n *   This function uses gettimeofday() which rarely fails. In case of\n *   failure, the function returns 0. Callers should check for 0 return\n *   value if precise error handling is required.\n *\n */\nuint64_t inspectorGetTime() {\n  uint64_t ts = 0;\n  timeval tv;\n\n  gettimeofday(&tv, 0);\n  ts = tv.tv_sec * 1000000 + tv.tv_usec;\n  return ts;\n}\n\n/*\n * Description:\n *\n *   Converts a string to the corresponding ncclDataType_t enum value.\n *\n * Thread Safety:\n *   Thread-safe (read-only string input).\n *\n * Input:\n *\n *   const char* str - string representation of the datatype.\n *\n * Output:\n *\n *   None.\n *\n * Return:\n *\n *   ncclDataType_t - corresponding enum value, or -1 if unknown.\n *\n */\nncclDataType_t inspectorStringToDatatype(const char* str) {\n  if (strcmp(str, \"ncclInt8\") == 0) return ncclInt8;\n  if (strcmp(str, \"ncclInt32\") == 0) return ncclInt32;\n  if (strcmp(str, \"ncclUint32\") == 0) return ncclUint32;\n  if (strcmp(str, \"ncclInt64\") == 0) return ncclInt64;\n  if (strcmp(str, \"ncclUint64\") == 0) return ncclUint64;\n  if (strcmp(str, \"ncclFloat16\") == 0) return ncclFloat16;\n  if (strcmp(str, \"ncclFloat32\") == 0) return ncclFloat32;\n  if (strcmp(str, \"ncclFloat64\") == 0) return ncclFloat64;\n  if (strcmp(str, \"ncclBfloat16\") == 0) return ncclBfloat16;\n  if (strcmp(str, \"ncclFloat8e4m3\") == 0) return ncclFloat8e4m3;\n  if (strcmp(str, \"ncclFloat8e5m2\") == 0) return ncclFloat8e5m2;\n  return (ncclDataType_t)-1;  // Or handle error as appropriate\n}\n\n/*\n * Description:\n *\n *   Converts a string to the corresponding ncclFunc_t enum value.\n *\n * Thread Safety:\n *   Thread-safe (read-only string input).\n *\n * Input:\n *   const char* str - string representation of the function (must not be NULL).\n *\n * Output:\n *   None.\n *\n * Return:\n *   ncclFunc_t - corresponding enum value, or ncclNumFuncs if unknown.\n *\n * Preconditions:\n *   - str must not be NULL\n */\nncclFunc_t ncclStringToFunc(const char* str) {\n  if (strcmp(str, \"AllGather\") == 0) return ncclFuncAllGather;\n  if (strcmp(str, \"AllReduce\") == 0) return ncclFuncAllReduce;\n  if (strcmp(str, \"Broadcast\") == 0) return ncclFuncBroadcast;\n  if (strcmp(str, \"Recv\") == 0) return ncclFuncRecv;\n  if (strcmp(str, \"Reduce\") == 0) return ncclFuncReduce;\n  if (strcmp(str, \"ReduceScatter\") == 0) return ncclFuncReduceScatter;\n  if (strcmp(str, \"SendRecv\") == 0) return ncclFuncSendRecv;\n  if (strcmp(str, \"Send\") == 0) return ncclFuncSend;\n  return ncclNumFuncs; // Invalid / unknown\n}\n\nconst char* ncclFuncToString(ncclFunc_t fn) {\n  switch (fn) {\n  case ncclFuncAllGather: return \"AllGather\";\n  case ncclFuncAllReduce: return \"AllReduce\";\n  case ncclFuncBroadcast: return \"Broadcast\";\n  case ncclFuncRecv: return \"Recv\";\n  case ncclFuncReduce: return \"Reduce\";\n  case ncclFuncReduceScatter: return \"ReduceScatter\";\n  case ncclFuncSendRecv: return \"SendRecv\";\n  case ncclFuncSend: return \"Send\";\n  default: return \"Invalid\";\n  }\n}\n\nstruct inspectorDumpThread;\nstatic inspectorDumpThread* dumper = nullptr;\n\n#define UNUSED(x) (void)(x)\n\ninspectorResult_t inspectorLockInit(pthread_rwlock_t* lockRef) {\n  if (0 != pthread_rwlock_init(lockRef, nullptr)) {\n    return inspectorLockError;\n  } else {\n    return inspectorSuccess;\n  }\n}\n\ninspectorResult_t inspectorLockDestroy(pthread_rwlock_t* lockRef) {\n  if (0 != pthread_rwlock_destroy(lockRef)) {\n    return inspectorLockError;\n  } else {\n    return inspectorSuccess;\n  }\n}\n\ninspectorResult_t inspectorLockRd(pthread_rwlock_t* lockRef) {\n  if (0 != pthread_rwlock_rdlock(lockRef)) {\n    return inspectorLockError;\n  } else {\n    return inspectorSuccess;\n  }\n}\n\ninspectorResult_t inspectorLockWr(pthread_rwlock_t* lockRef) {\n  if (0 != pthread_rwlock_wrlock(lockRef)) {\n    return inspectorLockError;\n  } else {\n    return inspectorSuccess;\n  }\n}\n\ninspectorResult_t inspectorUnlockRWLock(pthread_rwlock_t* lockRef) {\n  if (0 != pthread_rwlock_unlock(lockRef)) {\n    return inspectorLockError;\n  } else {\n    return inspectorSuccess;\n  }\n}\n\n// TODO inspect these retvals\n#define INSPECTOR_LOCK_RD_FLAG(lockRef, lockFlag, debug)        \\\n  do {                                                          \\\n    if (!lockFlag) {                                            \\\n      INS_CHK(inspectorLockRd(lockRef));                 \\\n    }                                                           \\\n    lockFlag = true;                                            \\\n  } while (0);\n\n#define INSPECTOR_LOCK_WR_FLAG(lockRef, lockFlag, debug)        \\\n  do {                                                          \\\n    if (!lockFlag) {                                            \\\n      INS_CHK(inspectorLockWr(lockRef));                 \\\n    }                                                           \\\n    lockFlag = true;                                            \\\n  } while (0);\n\n#define INSPECTOR_UNLOCK_RW_LOCK_FLAG(lockRef, lockFlag, debug) \\\n  do {                                                          \\\n    if (lockFlag) {                                             \\\n      INS_CHK(inspectorUnlockRWLock(lockRef));           \\\n    }                                                           \\\n    lockFlag = false;                                           \\\n  } while (0);\n\nstruct inspectorCommInfoList {\n  struct inspectorCommInfo* comms;\n  uint32_t ncomms;\n  pthread_rwlock_t guard;\n};\n\nstruct inspectorState {\n  struct inspectorCommInfoList liveComms;\n  struct inspectorCommInfoList deletedComms;\n};\n\n\nstatic inspectorState g_state;\n\nstatic inspectorResult_t inspectorCommInfoListInit(struct inspectorCommInfoList* commList) {\n  if (commList->comms) {\n    return inspectorGlobalInitError;\n  }\n  commList->comms = nullptr;\n  commList->ncomms = 0;\n  INS_CHK(inspectorLockInit(&commList->guard));\n  return inspectorSuccess;\n}\n\nstatic inspectorResult_t inspectorGlobalStateInit() {\n  memset(&g_state, 0, sizeof(struct inspectorState));\n  INS_CHK(inspectorCommInfoListInit(&g_state.liveComms));\n  INS_CHK(inspectorCommInfoListInit(&g_state.deletedComms));\n  return inspectorSuccess;\n}\n\n/*\n * Description:\n *\n *   Converts inspectorTimingSource_t enum to a string representation.\n *\n * Thread Safety:\n *   Thread-safe (read-only operation).\n *\n * Input:\n *   inspectorTimingSource_t timingSource - timing source enum value.\n *\n * Output:\n *   None.\n *\n * Return:\n *   const char* - string representation of the timing source.\n */\nstatic const char* inspectorTimingSourceToString(inspectorTimingSource_t timingSource) {\n  switch (timingSource) {\n  case inspectorTimingSourceKernelGpu:\n    return \"kernel_gpu\";\n  case inspectorTimingSourceKernelCpu:\n    return \"kernel_cpu\";\n  case inspectorTimingSourceCollectiveCpu:\n    return \"collective_cpu\";\n  default:\n    return \"unknown\";\n  }\n}\n\n/*\n * Description:\n *\n *   Writes the header information for a communicator to the JSON output.\n *\n * Thread Safety:\n *   Not thread-safe (should be called with proper locking).\n *\n * Input:\n *   jsonFileOutput* jfo - JSON output handle.\n *   struct inspectorCommInfo* commInfo - communicator info.\n *\n * Output:\n *   Header is written to JSON output.\n *\n * Return:\n *   inspectorResult_t - success or error code.\n *\n */\nstatic inspectorResult_t inspectorCommInfoHeader(jsonFileOutput* jfo,\n                                                 struct inspectorCommInfo* commInfo) {\n  JSON_CHK(jsonStartObject(jfo));\n  JSON_CHK(jsonKey(jfo, \"id\")); JSON_CHK(jsonStr(jfo, commInfo->commHashStr));\n  JSON_CHK(jsonKey(jfo, \"rank\")); JSON_CHK(jsonInt(jfo, commInfo->rank));\n  JSON_CHK(jsonKey(jfo, \"n_ranks\")); JSON_CHK(jsonInt(jfo, commInfo->nranks));\n  JSON_CHK(jsonKey(jfo, \"nnodes\")); JSON_CHK(jsonUint64(jfo, commInfo->nnodes));\n  JSON_CHK(jsonFinishObject(jfo));\n  return inspectorSuccess;\n}\n\n/*\n * Description:\n *\n *   Writes metadata header information to the JSON output.\n *\n * Thread Safety:\n *   Not thread-safe (should be called with proper locking).\n *\n * Input:\n *   jsonFileOutput* jfo - JSON output handle.\n *\n * Output:\n *   Metadata header is written to JSON output.\n *\n * Return:\n *   inspectorResult_t - success or error code.\n *\n */\nstatic inspectorResult_t inspectorCommInfoMetaHeader(jsonFileOutput* jfo) {\n  JSON_CHK(jsonStartObject(jfo));\n  {\n    JSON_CHK(jsonKey(jfo, \"inspector_output_format_version\")); JSON_CHK(jsonStr(jfo, \"v4.0\"));\n    JSON_CHK(jsonKey(jfo, \"git_rev\")); JSON_CHK(jsonStr(jfo, get_git_version_info()));\n    JSON_CHK(jsonKey(jfo, \"rec_mechanism\")); JSON_CHK(jsonStr(jfo, \"nccl_profiler_interface\"));\n    JSON_CHK(jsonKey(jfo, \"dump_timestamp_us\")); JSON_CHK(jsonUint64(jfo, inspectorGetTime()));\n    char hostname[256];\n    gethostname(hostname, 255);\n    JSON_CHK(jsonKey(jfo, \"hostname\")); JSON_CHK(jsonStr(jfo, hostname));\n    JSON_CHK(jsonKey(jfo, \"pid\")); JSON_CHK(jsonUint64(jfo, getpid()));\n  }\n  JSON_CHK(jsonFinishObject(jfo));\n  return inspectorSuccess;\n}\n\n/*\n * Description:\n *\n *   Writes verbose information (event_trace) for a completed\n *   collective operation to the JSON output.\n *\n * Thread Safety:\n *   Not thread-safe (should be called with proper locking).\n *\n * Input:\n *   jsonFileOutput* jfo - JSON output handle.\n *   const struct inspectorCompletedCollInfo* collInfo - completed\n *   collective info.\n *\n * Output:\n *   Verbose collective info is written to JSON output.\n *\n * Return:\n *   inspectorResult_t - success or error code.\n *\n */\nstatic inline inspectorResult_t inspectorCompletedCollVerbose(jsonFileOutput* jfo,\n                                                              struct inspectorCompletedCollInfo* collInfo) {\n  // Add event trace information\n  JSON_CHK(jsonKey(jfo, \"event_trace_sn\"));\n  JSON_CHK(jsonStartObject(jfo));\n  {\n    // Collective events\n    JSON_CHK(jsonKey(jfo, \"coll_start_sn\")); JSON_CHK(jsonUint64(jfo, collInfo->collEvtTrk.evntTrace[NCCL_INSP_EVT_TRK_COLL_START].sn));\n    JSON_CHK(jsonKey(jfo, \"coll_stop_sn\")); JSON_CHK(jsonUint64(jfo, collInfo->collEvtTrk.evntTrace[NCCL_INSP_EVT_TRK_COLL_STOP].sn));\n\n    // Kernel events\n    JSON_CHK(jsonKey(jfo, \"kernel_events\"));\n    JSON_CHK(jsonStartList(jfo));\n    for (uint32_t ch = 0; ch < collInfo->collEvtTrk.nChannels; ch++) {\n      JSON_CHK(jsonStartObject(jfo));\n      JSON_CHK(jsonKey(jfo, \"channel_id\")); JSON_CHK(jsonInt(jfo, ch));\n      JSON_CHK(jsonKey(jfo, \"kernel_start_sn\")); JSON_CHK(jsonUint64(jfo, collInfo->collEvtTrk.kernelCh[ch].evntTrace[NCCL_INSP_EVT_TRK_KERNEL_START].sn));\n      JSON_CHK(jsonKey(jfo, \"kernel_stop_sn\")); JSON_CHK(jsonUint64(jfo, collInfo->collEvtTrk.kernelCh[ch].evntTrace[NCCL_INSP_EVT_TRK_KERNEL_STOP].sn));\n      JSON_CHK(jsonKey(jfo, \"kernel_record_sn\")); JSON_CHK(jsonUint64(jfo, collInfo->collEvtTrk.kernelCh[ch].evntTrace[NCCL_INSP_EVT_TRK_KERNEL_RECORD].sn));\n      JSON_CHK(jsonFinishObject(jfo));\n    }\n    JSON_CHK(jsonFinishList(jfo));\n  }\n  JSON_CHK(jsonFinishObject(jfo));\n\n  JSON_CHK(jsonKey(jfo, \"event_trace_ts\"));\n  JSON_CHK(jsonStartObject(jfo));\n  {\n    // Collective events\n    JSON_CHK(jsonKey(jfo, \"coll_start_ts\")); JSON_CHK(jsonUint64(jfo, collInfo->collEvtTrk.evntTrace[NCCL_INSP_EVT_TRK_COLL_START].ts));\n    JSON_CHK(jsonKey(jfo, \"coll_stop_ts\")); JSON_CHK(jsonUint64(jfo, collInfo->collEvtTrk.evntTrace[NCCL_INSP_EVT_TRK_COLL_STOP].ts));\n\n    // Kernel events\n    JSON_CHK(jsonKey(jfo, \"kernel_events\"));\n    JSON_CHK(jsonStartList(jfo));\n    for (uint32_t ch = 0; ch < collInfo->collEvtTrk.nChannels; ch++) {\n      JSON_CHK(jsonStartObject(jfo));\n      JSON_CHK(jsonKey(jfo, \"channel_id\")); JSON_CHK(jsonInt(jfo, ch));\n      JSON_CHK(jsonKey(jfo, \"kernel_start_ts\")); JSON_CHK(jsonUint64(jfo, collInfo->collEvtTrk.kernelCh[ch].evntTrace[NCCL_INSP_EVT_TRK_KERNEL_START].ts));\n      JSON_CHK(jsonKey(jfo, \"kernel_stop_ts\")); JSON_CHK(jsonUint64(jfo, collInfo->collEvtTrk.kernelCh[ch].evntTrace[NCCL_INSP_EVT_TRK_KERNEL_STOP].ts));\n      JSON_CHK(jsonKey(jfo, \"kernel_record_ts\")); JSON_CHK(jsonUint64(jfo, collInfo->collEvtTrk.kernelCh[ch].evntTrace[NCCL_INSP_EVT_TRK_KERNEL_RECORD].ts));\n      JSON_CHK(jsonFinishObject(jfo));\n    }\n    JSON_CHK(jsonFinishList(jfo));\n  }\n  JSON_CHK(jsonFinishObject(jfo));\n\n  return inspectorSuccess;\n}\n\n/*\n * Description:\n *\n *   Writes completed collective operation information to the JSON\n *   output.\n *\n * Thread Safety:\n *   Not thread-safe (should be called with proper locking).\n *\n * Input:\n *   jsonFileOutput* jfo - JSON output handle.\n *   const struct inspectorCompletedCollInfo* collInfo - completed\n *   collective info.\n *\n * Output:\n *   Collective info is written to JSON output.\n *\n * Return:\n *   inspectorResult_t - success or error code.\n *\n */\nstatic inline inspectorResult_t inspectorCompletedColl(jsonFileOutput* jfo,\n                                                        struct inspectorCompletedCollInfo* collInfo) {\n  JSON_CHK(jsonStartObject(jfo));\n  {\n\n    JSON_CHK(jsonKey(jfo, \"coll\")); JSON_CHK(jsonStr(jfo, ncclFuncToString(collInfo->func)));\n\n    JSON_CHK(jsonKey(jfo, \"coll_sn\")); JSON_CHK(jsonUint64(jfo, collInfo->sn));\n\n    JSON_CHK(jsonKey(jfo, \"coll_msg_size_bytes\")); JSON_CHK(jsonUint64(jfo, collInfo->msgSizeBytes));\n\n    JSON_CHK(jsonKey(jfo, \"coll_exec_time_us\")); JSON_CHK(jsonUint64(jfo, collInfo->execTimeUsecs));\n\n    JSON_CHK(jsonKey(jfo, \"coll_timing_source\")); JSON_CHK(jsonStr(jfo, inspectorTimingSourceToString(collInfo->timingSource)));\n\n    JSON_CHK(jsonKey(jfo, \"coll_algobw_gbs\")); JSON_CHK(jsonDouble(jfo, collInfo->algoBwGbs));\n\n    JSON_CHK(jsonKey(jfo, \"coll_busbw_gbs\")); JSON_CHK(jsonDouble(jfo, collInfo->busBwGbs));\n\n    if (enableNcclInspectorDumpVerbose) {\n      INS_CHK(inspectorCompletedCollVerbose(jfo, collInfo));\n    }\n  }\n  JSON_CHK(jsonFinishObject(jfo));\n\n  return inspectorSuccess;\n}\n\n\n/*\n * Description:\n *\n *   Dumps the state of a communicator to the JSON output if needed.\n *\n * Thread Safety:\n *   Not thread-safe (should be called with proper locking).\n *\n * Input:\n *   jsonFileOutput* jfo - JSON output handle.\n *   inspectorCommInfo* commInfo - communicator info.\n *   bool* needs_writing - set to true if output was written.\n *\n * Output:\n *   State is dumped to JSON output if needed.\n *\n * Return:\n *   inspectorResult_t - success or error code.\n *\n */\nstatic inspectorResult_t inspectorCommInfoDump(jsonFileOutput* jfo,\n                                               inspectorCommInfo* commInfo,\n                                               bool* needs_writing) {\n  *needs_writing = false;\n\n  if (commInfo == nullptr)\n    return inspectorSuccess;\n\n  struct inspectorCompletedCollInfo collInfo;\n  memset(&collInfo, 0, sizeof(struct inspectorCompletedCollInfo));\n\n  inspectorLockWr(&commInfo->guard);\n  if (commInfo->dump) {\n    *needs_writing = true;\n    memcpy(&collInfo,\n           &commInfo->completedCollInfo,\n           sizeof(struct inspectorCompletedCollInfo));\n    commInfo->dump = false;\n  }\n  inspectorUnlockRWLock(&commInfo->guard);\n\n  if (*needs_writing) {\n    JSON_CHK(jsonLockOutput(jfo));\n    JSON_CHK(jsonStartObject(jfo));\n    {\n      JSON_CHK(jsonKey(jfo, \"header\"));\n      inspectorCommInfoHeader(jfo, commInfo);\n\n      JSON_CHK(jsonKey(jfo, \"metadata\"));\n      inspectorCommInfoMetaHeader(jfo);\n\n      JSON_CHK(jsonKey(jfo, \"coll_perf\"));\n      INS_CHK(inspectorCompletedColl(jfo, &collInfo));\n    }\n    JSON_CHK(jsonFinishObject(jfo));\n    JSON_CHK(jsonNewline(jfo));\n    JSON_CHK(jsonUnlockOutput(jfo));\n  }\n  return inspectorSuccess;\n}\n\n\n/*\n * Description:\n *\n *   Dumps the state of all communicators in a commList to the JSON\n *   output.\n *\n * Thread Safety:\n *   Thread-safe - assumes no locks are taken and acquires all necessary\n *   locks to iterate through all communicator objects and dump their state.\n *\n * Input:\n *   jsonFileOutput* jfo - JSON output handle (must not be NULL).\n *   struct inspectorCommInfoList* commList - list of communicators (must not be NULL).\n *\n * Output:\n *   State of all communicators is dumped to JSON output.\n *\n * Return:\n *   inspectorResult_t - success or error code.\n *\n */\nstatic inspectorResult_t inspectorCommInfoListDump(jsonFileOutput* jfo,\n                                                   struct inspectorCommInfoList* commList) {\n  bool flush = false;\n  INS_CHK(inspectorLockRd(&commList->guard));\n  inspectorResult_t res = inspectorSuccess;\n  if (commList->ncomms > 0) {\n    for (struct inspectorCommInfo* itr = commList->comms;\n         itr != nullptr;\n         itr = itr->next) {\n      bool needs_writing;\n      INS_CHK_GOTO(inspectorCommInfoDump(jfo, itr, &needs_writing), res, finalize);\n      if (needs_writing) {\n        flush = true;\n      }\n    }\n    if (flush) {\n      JSON_CHK_GOTO(jsonLockOutput(jfo), res, finalize);\n      JSON_CHK_GOTO(jsonFlushOutput(jfo), res, finalize);\n      JSON_CHK_GOTO(jsonUnlockOutput(jfo), res, finalize);\n    }\n  }\nfinalize:\n  INS_CHK(inspectorUnlockRWLock(&commList->guard));\n  return res;\n}\n\n/*\n * Description:\n *   Finalizes and cleans up a commList, freeing all communicators.\n *\n * Thread Safety:\n *   Not thread-safe (should be called with proper locking).\n *\n * Input:\n *   struct commList* commList - list of communicators.\n *\n * Output:\n *   All communicators are freed.\n *\n * Return:\n *   inspectorResult_t - success or error code.\n *\n */\nstatic inspectorResult_t inspectorCommInfoListFinalize(struct inspectorCommInfoList* commList) {\n  struct inspectorCommInfo* nextComm = nullptr;\n  INS_CHK(inspectorLockWr(&commList->guard));\n  while (commList->comms != nullptr && commList->ncomms != 0) {\n    INFO(NCCL_INSPECTOR, \"NCCL Inspector: comm %lu still in tracker\",\n         commList->comms->commHash);\n    nextComm = commList->comms->next;\n    INS_CHK(inspectorLockDestroy(&commList->comms->guard));\n    free(commList->comms);\n    commList->comms = nextComm;\n    commList->ncomms--;\n  }\n  INS_CHK(inspectorUnlockRWLock(&commList->guard));\n  return inspectorSuccess;\n}\n\n/*\n * Description:\n *\n *   Ensures the given directory exists and is writable, creating it\n *   if necessary.\n *\n * Thread Safety:\n *   Not thread-safe (should be called during initialization).\n *\n * Input:\n *   char* workdir - directory path.\n *\n * Output:\n *   Directory is created if needed.\n *\n * Return:\n *\n *   bool - true if directory exists and is writable, false otherwise.\n *\n */\nstatic bool ensureDir(char* workdir) {\n  struct stat st;\n\n  // Check if directory exists\n  if (stat(workdir, &st) == 0) {\n    if (S_ISDIR(st.st_mode)) {\n      // Directory exists, check if it's writable\n      if (access(workdir, W_OK) == 0) {\n        return true; // Directory exists and is writable\n      } else {\n        INFO(NCCL_INSPECTOR,\n             \"NCCL Inspectoer: dump directory %s exists, but is not \"\n             \"writable\",\n             workdir);\n        return false;\n      }\n    } else {\n      INFO(NCCL_INSPECTOR,\n           \"NCCL Inspector: dump location %s exists, but is not a \"\n           \"directory\",\n           workdir);\n      return false;\n    }\n  } else {\n    // Directory doesn't exist, try to create it\n    const mode_t mode = 0777;\n    if (mkdir(workdir, mode) == 0) {\n      return true; // Directory created successfully\n    } else {\n      INFO(NCCL_INSPECTOR,\n           \"NCCL Inspector: failed to create dump directory %s: %s\", workdir,\n           strerror(errno));\n      return false;\n    }\n  }\n}\n\n/*\n * Description:\n *\n *   Generates the output dump directory path based on environment\n *   variables.\n *\n * Thread Safety:\n *   Not thread-safe (should be called during initialization).\n *\n * Input:\n *   char** workdir - pointer to output directory string.\n *\n * Output:\n *   workdir is set to the generated directory path.\n *\n * Return:\n *   None.\n */\nstatic void genDumpDir(char** workdir) {\n  char* dumpdir = getenv(\"NCCL_INSPECTOR_DUMP_DIR\");\n  if (dumpdir != NULL) {\n    *workdir = strdup(dumpdir);\n    // TODO check errors here\n    return;\n  }\n\n  char* jobid = getenv(\"SLURM_JOBID\");\n  bool badJobId = true;\n  if (jobid != NULL) {\n    errno = 0;\n    const int intid = strtol(jobid, NULL, 10);\n    if (errno == 0) {\n      char tmp[2048];\n      snprintf(tmp, 2048, \"nccl-inspector-%d\", intid);\n      *workdir = strdup(tmp);\n      badJobId = false;\n    }\n  }\n\n  if (badJobId) {\n    *workdir = strdup(\"nccl-inspector-unknown-jobid\");\n  }\n}\n\nstruct inspectorDumpThread {\n  bool run{false};\n  jsonFileOutput* jfo;\n  char* outputRoot;\n  uint64_t sampleIntervalUsecs;\n  pthread_t pthread;\n  pthread_rwlock_t guard;\n\n  inspectorDumpThread(const char* outputRoot, uint64_t sampleIntervalUsecs)\n    : jfo(nullptr), outputRoot(strdup(outputRoot)), sampleIntervalUsecs(sampleIntervalUsecs) {\n    if (inspectorLockInit(&guard) != inspectorSuccess) {\n      INFO(NCCL_INSPECTOR, \"NCCL Inspector inspectorDumpThread: couldn't init lock\");\n    }\n  }\n\n  ~inspectorDumpThread() {\n    if (jfo != nullptr) {\n      jsonFinalizeFileOutput(jfo);\n      jfo = nullptr;\n    }\n    if (outputRoot != nullptr) {\n      free(outputRoot);\n      outputRoot = nullptr;\n    }\n    if (inspectorLockDestroy(&guard) != inspectorSuccess) {\n      INFO(NCCL_INSPECTOR, \"NCCL Inspector inspectorDumpThread: couldn't destroy lock\");\n    }\n  }\n\n  void startThread() {\n    inspectorLockWr(&guard);\n    run = true;\n    inspectorUnlockRWLock(&guard);\n    if (pthread_create(&pthread, NULL, dumpMain, this) != 0) {\n      INFO(NCCL_INSPECTOR,\n           \"NCCL Inspector inspectorDumpThread: couldn't create dump thread!\");\n      return;\n    }\n    INFO(NCCL_INSPECTOR, \"NCCL Inspector inspectorDumpThread: created\");\n  }\n\n  void stopThread() {\n    INFO(NCCL_ENV, \"NCCL Inspector Stopping Dump thread\");\n    inspectorLockWr(&guard);\n    run = false;\n    inspectorUnlockRWLock(&guard);\n    struct timespec ts;\n    ts.tv_sec = 0;\n    ts.tv_nsec = 1000000; // 1ms\n    nanosleep(&ts, NULL);\n    INFO(NCCL_INSPECTOR, \"NCCL Inspector inspectorDumpThread: stopped\");\n  }\n\n  inspectorResult_t inspectorStateDump(const char* output_root) {\n    if (!ncclInspectorInit) {\n      return inspectorUninitializedError;\n    }\n    if (!enableNcclInspector) {\n      INFO(NCCL_INSPECTOR, \"NCCL Inspector is not enabled, will not do ncclAllCommTallyDump\");\n      return inspectorDisabledError;\n    }\n\n    if (jfo == 0) {\n      char hostname[256];\n      gethostname(hostname, 255);\n      char tmp[2048];\n      snprintf(tmp, sizeof(tmp), \"%s/%s-pid%d.log\", output_root, hostname, getpid());\n      jsonResult_t result = jsonInitFileOutput(&jfo, tmp);\n      if (jsonSuccess != result) {\n        INFO(NCCL_INSPECTOR, \"Cannot open %s for writing: %s\", tmp, jsonErrorString(result));\n        return inspectorFileOpenError;\n      }\n      chmod(tmp, 0666);\n    }\n\n    if (jfo != nullptr) {\n      inspectorCommInfoListDump(jfo, &g_state.liveComms);\n      inspectorCommInfoListDump(jfo, &g_state.deletedComms);\n    }\n\n    if (g_state.deletedComms.ncomms > 0) {\n      inspectorCommInfoListFinalize(&g_state.deletedComms);\n    }\n    return inspectorSuccess;\n  }\n\n  static void* dumpMain(void* arg) {\n    inspectorDumpThread* dumper = (inspectorDumpThread*)arg;\n    inspectorResult_t res = inspectorSuccess;\n    struct timespec ts;\n    ts.tv_sec = dumper->sampleIntervalUsecs / 1000000;\n    ts.tv_nsec = dumper->sampleIntervalUsecs % 1000000;\n\n    while (dumper->run) {\n      inspectorLockWr(&dumper->guard);\n      if (!dumper->run) {\n        inspectorUnlockRWLock(&dumper->guard);\n        break;\n      }\n      res = dumper->inspectorStateDump(dumper->outputRoot);\n      if (res == inspectorFileOpenError || res == inspectorDisabledError) {\n        inspectorUnlockRWLock(&dumper->guard);\n        break;\n      }\n      inspectorUnlockRWLock(&dumper->guard);\n\n      nanosleep(&ts, NULL);\n    }\n\n    return 0;\n  }\n};\n\n/*\n * Description:\n *\n *   Shows the NCCL Inspector plugin version and configuration\n *   environment variables in a structured format similar to NCCL's\n *   showVersion function.\n *\n * Thread Safety:\n *   Thread-safe (read-only environment variable access).\n *\n * Input:\n *   None.\n *\n * Output:\n *   Logs version and environment variables to debug output.\n *\n * Return:\n *   None.\n */\nstatic void showInspectorVersion() {\n  VERSION(\"NCCL Inspector Plugin - Version: %s\", get_git_version_info());\n}\n\n/*\n * Description:\n *\n *   Shows all NCCL Inspector environment variables and their values\n *   in a structured format.\n *\n * Thread Safety:\n *   Thread-safe (read-only environment variable access).\n *\n * Input:\n *   None.\n *\n * Output:\n *   Logs environment variables to debug output.\n *\n * Return:\n *   None.\n */\nstatic void showInspectorEnvVars() {\n  struct {\n    const char* name;\n    const char* value;\n    const char* defaultVal;\n    const char* description;\n  } envVars[] = {\n    {\"NCCL_INSPECTOR_ENABLE\", getenv(\"NCCL_INSPECTOR_ENABLE\"), \"0\", \"Enable/disable inspector plugin\"},\n    {\"NCCL_INSPECTOR_DUMP_THREAD_ENABLE\", getenv(\"NCCL_INSPECTOR_DUMP_THREAD_ENABLE\"), \"1\", \"Enable/disable dump thread\"},\n    {\"NCCL_INSPECTOR_DUMP_THREAD_INTERVAL_MICROSECONDS\", getenv(\"NCCL_INSPECTOR_DUMP_THREAD_INTERVAL_MICROSECONDS\"), \"0\", \"Dump thread interval in microseconds\"},\n    {\"NCCL_INSPECTOR_DUMP_DIR\", getenv(\"NCCL_INSPECTOR_DUMP_DIR\"), \"(auto-generated)\", \"Output directory for inspector logs\"},\n    {\"NCCL_INSPECTOR_DUMP_VERBOSE\", getenv(\"NCCL_INSPECTOR_DUMP_VERBOSE\"), \"0\", \"Enable/disable verbose dumping (event_trace)\"}\n  };\n\n  const int numEnvVars = sizeof(envVars) / sizeof(envVars[0]);\n\n  VERSION(\"NCCL Inspector Environment Variables:\");\n  for (int i = 0; i < numEnvVars; i++) {\n    VERSION(\"  %s = %s%s%s\",\n            envVars[i].name,\n            envVars[i].value ? envVars[i].value : \"(not set)\",\n            envVars[i].value ? \"\" : \", default=\",\n            envVars[i].value ? \"\" : envVars[i].defaultVal);\n  }\n}\n\n/*\n * Description:\n *\n *   Initializes the global inspector state and starts the dump thread\n *   if enabled.\n *\n * Thread Safety:\n *\n *   Not thread-safe (should be called during initialization).\n *\n * Input:\n *   None.\n *\n * Output:\n *   Global state is initialized and dump thread may be started.\n *\n * Return:\n *   inspectorResult_t - success or error code.\n */\ninspectorResult_t inspectorGlobalInit(int rank) {\n  char* str = getenv(\"NCCL_INSPECTOR_ENABLE\");\n  int enable = str ? atoi(str) : 0; // default disable\n  enableNcclInspector = enable == 0 ? false : true;\n  ncclInspectorInit = true;\n\n  // Show version and environment configuration (similar to NCCL's showVersion)\n  if (rank == 0) {\n    showInspectorVersion();\n    showInspectorEnvVars();\n  }\n\n  if (enableNcclInspector == false) {\n    VERSION(\"NCCL Inspector Plugin DISABLED (NCCL_INSPECTOR_ENABLE=%s)\",\n            str ? str : \"0\");\n    return inspectorDisabledError;\n  }\n\n  INS_CHK(inspectorGlobalStateInit());\n\n  str = getenv(\"NCCL_INSPECTOR_DUMP_THREAD_ENABLE\");\n  enable = str ? atoi(str) : 1; // default enable\n  enableNcclInspectorDumpThread = enable == 0 ? false : true;\n\n  str = getenv(\"NCCL_INSPECTOR_DUMP_VERBOSE\");\n  enable = str ? atoi(str) : 0; // default disable\n  enableNcclInspectorDumpVerbose = enable == 0 ? false : true;\n\n  if (enableNcclInspectorDumpThread) {\n    str = getenv(\"NCCL_INSPECTOR_DUMP_THREAD_INTERVAL_MICROSECONDS\");\n    const uint64_t interval = str ? strtoull(str, 0, 0) : 0;\n\n    if (interval == 0) {\n      INFO(NCCL_INSPECTOR, \"NCCL Inspector: dump thread enabled but \"\n           \"NCCL_INSPECTOR_DUMP_THREAD_INTERVAL_MICROSECONDS is 0; not \"\n           \"starting internal dump \"\n           \"thread.\");\n      return inspectorSuccess;\n    }\n\n    char* dumpdir;\n    genDumpDir(&dumpdir);\n\n    if (dumpdir != nullptr) {\n      if (!ensureDir(dumpdir)) {\n        free(dumpdir);\n        INFO(NCCL_INSPECTOR, \"NCCL Inspector: failed to generate a dump dir; not \"\n             \"starting internal dump thread.\");\n        return inspectorSuccess;\n      }\n\n      dumper = new inspectorDumpThread(dumpdir, interval);\n      dumper->startThread();\n\n      INFO(NCCL_INSPECTOR,\n           \"NCCL Inspector enabled with polling interval %lu us and \"\n           \"output directory %s\",\n           interval, dumpdir);\n      free(dumpdir);\n    } else {\n      INFO(NCCL_INSPECTOR, \"NCCL Inspector: failed to generate a dump \"\n           \"dir; not starting internal dump thread.\");\n    }\n  } else {\n    INFO(NCCL_INSPECTOR,\n         \"NCCL Inspector: NCCL_INSPECTOR_DUMP_THREAD_ENABLE set to 0; not \"\n         \"starting internal dump \"\n         \"thread.\");\n  }\n  return inspectorSuccess;\n}\n\n/*\n * Description:\n *\n *   Returns a string describing the given inspectorResult_t error\n *   code.\n *\n * Thread Safety:\n *   Thread-safe (read-only operation).\n *\n * Input:\n *   inspectorResult_t result - error code.\n *\n * Output:\n *   None.\n *\n * Return:\n *   const char* - error string.\n */\nconst char* inspectorErrorString(inspectorResult_t result) {\n  switch (result) {\n  case inspectorSuccess:\n    return \"Success\";\n  case inspectorUninitializedError:\n    return \"Inspector is not initialized\";\n  case inspectorMemoryError:\n    return \"Inspector encountered issue allocating memory\";\n  case inspectorFileOpenError:\n    return \"Inspector could not open file\";\n  case inspectorDisabledError:\n    return \"Inspector is disabled\";\n  case inspectorLockError:\n    return \"Inspector encountered error with lock\";\n  case inspectorPthreadError:\n    return \"Inspector encountered error with pthreads\";\n  case inspectorJsonError:\n    return \"Inspector encountered error while emitting JSON\";\n  case inspectorCudaError:\n    return \"Inspector encountered CUDA error\";\n  case inspectorBadHash:\n    return \"Inspector encountered bad communicator hash\";\n  case inspectorDeleteUnknownCommError:\n    return \"Inspector was asked to delete a communicator that it is not \"\n      \"tracking\";\n  case inspectorAddDuplicateCommError:\n    return \"Inspector was asked to add a communicator it was already \"\n      \"tracking\";\n  case inspectorNop:\n    return \"Inspector NOP\";\n  case inspectorNullTally:\n    return \"Inspector encountered a null OpTally\";\n  case inspectorGlobalInitError:\n    return \"Inspector encountered a repeated global init\";\n  case inspectorReturn:\n    return \"Inspector Unconditional Return\";\n  default:\n    return \"Unknown error\";\n  }\n}\n\n/*\n * Description:\n *   Converts a communicator hash to a string.\n *\n * Thread Safety:\n *   Thread-safe (writes to provided buffer).\n *\n * Input:\n *   uint64_t commHash - communicator hash.\n *   char hashStr[NCCL_COMM_HASH_LENGTH] - output buffer.\n *\n * Output:\n *   hashStr is set to the string representation of commHash.\n *\n * Return:\n *   inspectorResult_t - success or error code.\n */\ninspectorResult_t inspectorCommGetHashStr(uint64_t commHash,\n                                          char hashStr[NCCL_COMM_HASH_LENGTH]) {\n  snprintf(hashStr, NCCL_COMM_HASH_LENGTH, \"0x%lx\",\n           commHash);\n  return inspectorSuccess;\n}\n\n/*\n * Description:\n *   Compares two communicator configurations for equality.\n *\n * Thread Safety:\n *   Thread-safe (read-only comparison).\n *\n * Input:\n *   uint64_t lCommHash - left communicator hash.\n *   uint64_t rCommHash - right communicator hash.\n *   int lRank - left rank.\n *   int rRank - right rank.\n *\n * Output:\n *   None.\n *\n * Return:\n *   bool - true if communicators are equal (same hash and rank), false otherwise.\n */\nstatic bool comm_eq(uint64_t lCommHash, uint64_t rCommHash,\n                    int lRank, int rRank) {\n  return lCommHash == rCommHash && lRank == rRank;\n}\n\n/*\n * Description:\n *   Initializes a communicator info structure with the provided parameters.\n *\n * Thread Safety:\n *   Not thread-safe - should be called during communicator initialization.\n *\n * Input:\n *   struct inspectorCommInfo* commInfo - communicator info structure to initialize (must not be NULL).\n *   const char* commName - communicator name (can be NULL).\n *   uint64_t commHash - communicator hash.\n *   int nnodes - number of nodes (must be > 0).\n *   int nranks - number of ranks (must be > 0).\n *   int rank - rank (must be >= 0 and < nranks).\n *\n * Output:\n *   commInfo is initialized with the provided parameters.\n *\n * Return:\n *   inspectorResult_t - success or error code.\n *\n * Preconditions:\n *   - commInfo must not be NULL\n *   - nnodes must be positive\n *   - nranks must be positive\n *   - rank must be non-negative and less than nranks\n */\nstatic inspectorResult_t inspectorFillCommInfo(struct inspectorCommInfo* commInfo,\n                                               const char* commName, uint64_t commHash,\n                                               int nnodes, int nranks, int rank) {\n  commInfo->commName = commName;\n  commInfo->commHash = commHash;\n  inspectorCommGetHashStr(commHash, commInfo->commHashStr);\n  commInfo->rank = rank;\n  commInfo->nranks = nranks;\n  commInfo->nnodes = nnodes;\n  commInfo->dump = false;\n  INS_CHK(inspectorLockInit(&commInfo->guard));\n  commInfo->next = nullptr;\n  return inspectorSuccess;\n}\n\n/*\n * Description:\n *   Adds a communicator to the global state.\n *\n * Thread Safety:\n *   Thread-safe (uses locks internally).\n *\n * Input:\n *   struct inspectorCommInfo **commInfo - pointer to output struct (must not be NULL).\n *   const char* commName - communicator name (can be NULL).\n *   uint64_t commHash - communicator hash.\n *   int nNodes - number of nodes (must be > 0).\n *   int nranks - number of ranks (must be > 0).\n *   int rank - rank (must be >= 0 and < nranks).\n *\n * Output:\n *   commInfo is set to the new communicator struct.\n *\n * Return:\n *   inspectorResult_t - success or error code.\n *\n * Preconditions:\n *   - commInfo must not be NULL\n *   - nNodes must be positive\n *   - nranks must be positive\n *   - rank must be non-negative and less than nranks\n */\ninspectorResult_t inspectorAddComm(struct inspectorCommInfo **commInfo,\n                                   const char* commName, uint64_t commHash,\n                                   int nNodes, int nranks, int rank) {\n  struct inspectorCommInfoList* liveCommInfoList = &g_state.liveComms;\n  struct inspectorCommInfo* commInfoPtr = nullptr;\n\n  inspectorResult_t res = inspectorSuccess;\n  bool locked = false;\n  INSPECTOR_LOCK_RD_FLAG(&liveCommInfoList->guard, locked,\n                         \"inspectorAddComm: commList::guard -rd\");\n  for (struct inspectorCommInfo* itr = liveCommInfoList->comms;\n       itr != nullptr;\n       itr = itr->next) {\n    if (comm_eq(commHash, itr->commHash, rank, itr->rank)) {\n      INFO(NCCL_INSPECTOR, \"NCCL Inspector: comm 0x%lx already in tracker\",\n           commHash);\n      res = inspectorAddDuplicateCommError;\n      goto finalize;\n    }\n  }\n  INSPECTOR_UNLOCK_RW_LOCK_FLAG(&liveCommInfoList->guard, locked,\n                                \"inspectorAddComm: commList::guard\");\n  commInfoPtr\n    = (struct inspectorCommInfo*)calloc(1, sizeof(struct inspectorCommInfo));\n  if (0 == commInfoPtr) {\n    res = inspectorMemoryError;\n    goto finalize;\n  }\n  INS_CHK_GOTO(inspectorFillCommInfo(commInfoPtr,\n                                     commName,\n                                     commHash,\n                                     nNodes,\n                                     nranks,\n                                     rank),\n               res, fail);\n\n  INSPECTOR_LOCK_WR_FLAG(&liveCommInfoList->guard, locked,\n                         \"inspectorAddComm: commList::guard -wr\");\n  ++liveCommInfoList->ncomms;\n  commInfoPtr->next = liveCommInfoList->comms;\n  liveCommInfoList->comms = commInfoPtr;\n\nfinalize:\n  INSPECTOR_UNLOCK_RW_LOCK_FLAG(&liveCommInfoList->guard, locked,\n                                \"inspectorAddComm: commList::guard\");\n  *commInfo = commInfoPtr;\n  return res;\nfail:\n  if (commInfoPtr) {\n    free(commInfoPtr);\n    commInfoPtr = nullptr;\n  }\n  goto finalize;\n}\n\n/*\n * Description:\n *\n *   Removes a communicator from the global state and moves it to the\n *   deleted list.\n *\n * Thread Safety:\n *   Thread-safe (uses locks internally).\n *\n * Input:\n *   struct inspectorCommInfo *commInfo - communicator to remove.\n *\n * Output:\n *   Communicator is removed from live list and added to deleted list.\n *\n * Return:\n *   inspectorResult_t - success or error code.\n */\ninspectorResult_t inspectorDelComm(struct inspectorCommInfo *commInfo) {\n  struct inspectorCommInfoList* liveCommInfoList = &g_state.liveComms;\n  struct inspectorCommInfoList* deletedCommInfoList = &g_state.deletedComms;\n  struct inspectorCommInfo* commInfoPtr = nullptr;\n  bool locked = false;\n\n  INFO(NCCL_INSPECTOR, \"NCCL Inspector: DelComm removing 0x%lx\",\n       commInfo->commHash);\n\n  INSPECTOR_LOCK_WR_FLAG(&liveCommInfoList->guard, locked,\n                         \"inspectorDelComm: liveCommInfoList::guard -wr\");\n  struct inspectorCommInfo** prev_ptr = &liveCommInfoList->comms;\n  for (struct inspectorCommInfo* itr = liveCommInfoList->comms;\n       itr != nullptr;\n       itr = itr->next) {\n    if (comm_eq(commInfo->commHash, itr->commHash, commInfo->rank, itr->rank)) {\n      *prev_ptr = itr->next;\n      liveCommInfoList->ncomms--;\n\n      commInfoPtr = itr;\n      break;\n    }\n    prev_ptr = &itr->next;\n  }\n  INSPECTOR_UNLOCK_RW_LOCK_FLAG(&liveCommInfoList->guard, locked,\n                                \"inspectorDelComm: liveCommInfoList::guard -unlock\");\n\n  if (!commInfoPtr) {\n    INFO(NCCL_INSPECTOR, \"NCCL Inspector: DelComm can't remove 0x%lx, not present\",\n         commInfo->commHash);\n    return inspectorDeleteUnknownCommError;\n  }\n\n  inspectorLockWr(&commInfoPtr->guard);\n  commInfoPtr->dump = false;\n  inspectorUnlockRWLock(&commInfoPtr->guard);\n\n  INSPECTOR_LOCK_WR_FLAG(&deletedCommInfoList->guard, locked,\n                         \"inspectorDelComm: deletedCommInfoList::guard -wr\");\n  commInfoPtr->next = deletedCommInfoList->comms;\n  deletedCommInfoList->comms = commInfoPtr;\n  deletedCommInfoList->ncomms++;\n  INSPECTOR_UNLOCK_RW_LOCK_FLAG(&deletedCommInfoList->guard, locked,\n                                \"inspectorDelComm: deletedCommInfoList::guard -unlock\");\n\n  return inspectorSuccess;\n}\n\n/*\n * Description:\n *\n *   Computes the algorithmic and bus bandwidth (in GB/s) for a given\n *   NCCL collective operation, based on the communication info and\n *   completed collective details. The calculation uses the message\n *   size, execution time, and the type of collective operation to\n *   determine the effective bandwidths. The 'factor' variable adjusts\n *   the bus bandwidth calculation according to the communication\n *   pattern of each collective, as described in the NCCL performance\n *   documentation:\n *   https://github.com/NVIDIA/nccl-tests/blob/master/doc/PERFORMANCE.md\n *\n * Thread Safety:\n *\n *   This function does not perform any locking and assumes the caller\n *   ensures thread safety if required.\n *\n * Input:\n *\n *   commInfo - Pointer to inspectorCommInfo structure containing\n *   communicator details.\n *\n *   completedColl- Pointer to inspectorCompletedCollInfo structure\n *   containing completed collective info.\n *\n *   collType - The type of NCCL collective operation (ncclFunc_t).\n *\n * Output:\n *   Updates the algoBwGbs and busBwGbs fields of the completedColl\n *   structure.\n *\n * Return:\n *   N.A. (void function)\n */\nvoid inspectorComputeCollBw(struct inspectorCommInfo *commInfo,\n                            struct inspectorCompletedCollInfo *completedColl,\n                            ncclFunc_t collType) {\n  double timeInSec = completedColl->execTimeUsecs / 1000000.0;\n  double factor = 0.0;\n  double trafficSize = 0.0;\n  switch (collType) {\n  case ncclFuncReduce:\n  case ncclFuncBroadcast:\n    trafficSize = (double)completedColl->msgSizeBytes;\n    factor = 1;\n    break;\n  case ncclFuncAllReduce:\n    trafficSize = (double)completedColl->msgSizeBytes;\n    factor = ((double)(2 * (commInfo->nranks - 1))) / ((double)commInfo->nranks);\n    break;\n  case ncclFuncReduceScatter:\n    trafficSize = (double)(completedColl->msgSizeBytes * commInfo->nranks);\n    factor = ((double)(commInfo->nranks - 1)) / ((double)commInfo->nranks);\n    break;\n  case ncclFuncAllGather:\n    trafficSize = (double)(completedColl->msgSizeBytes * commInfo->nranks);\n    factor = ((double)(commInfo->nranks - 1)) / ((double)commInfo->nranks);\n    break;\n  case ncclFuncSendRecv:\n  case ncclFuncSend:\n  case ncclFuncRecv:\n    trafficSize = (double)completedColl->msgSizeBytes;\n    factor = 1;\n    break;\n  default:\n    trafficSize = 0;\n    factor = 0.0;\n  }\n  completedColl->algoBwGbs = timeInSec != 0 ? (trafficSize / 1.0E9 / timeInSec) : 0;\n  completedColl->busBwGbs = completedColl->algoBwGbs * factor;\n}\n\n/*\n * Description:\n *\n *   Helper function to calculate kernel execution time using GPU\n *   clock values.  The GPU clock values are measured in nanoseconds\n *   from the globaltimer register.\n *\n * Thread Safety:\n *   Thread-safe (read-only operations on kernel info).\n *\n * Input:\n *   struct inspectorKernelChInfo *kernelCh - kernel channel info\n *   containing GPU clock values.\n *\n * Output:\n *   None.\n *\n * Return:\n *   uint64_t - execution time in microseconds, or 0 if invalid timing\n *   data.\n */\nstatic uint64_t calculateKernelGpuExecTimeUsecs(struct inspectorKernelChInfo *kernelCh) {\n  if (kernelCh->startGpuClk != 0 && kernelCh->stopGpuClk != 0) {\n    if (kernelCh->stopGpuClk > kernelCh->startGpuClk) {\n      uint64_t execTimeNanosecs = kernelCh->stopGpuClk - kernelCh->startGpuClk;\n      return execTimeNanosecs / 1000;\n    }\n  }\n  return 0;\n}\n\n/*\n * Description:\n *\n *   Calculates the maximum kernel execution time across all kernel\n *   channels in a collective operation, using GPU clock values when\n *   available and falling back to CPU timestamps when necessary.\n *\n * Thread Safety:\n *   Thread-safe (read-only operations on collective info).\n *\n * Input:\n *   struct inspectorCollInfo *collInfo - collective operation info\n *   containing kernel channels.\n *   inspectorTimingSource_t *timingSource - pointer to store the timing source used.\n *\n * Output:\n *   timingSource is set to indicate whether GPU, CPU, or collective timing was used.\n *\n * Return:\n *\n *   uint64_t - maximum execution time in microseconds across all\n *              kernels, or collective execution time if no kernel\n *              timing is available.\n *\n */\nstatic uint64_t calculateMaxKernelExecTimeUsecs(struct inspectorCollInfo *collInfo,\n                                                inspectorTimingSource_t *timingSource) {\n  uint64_t maxKernelExecTimeUsecs = 0;\n  inspectorTimingSource_t bestTimingSource = inspectorTimingSourceCollectiveCpu;\n\n  for (uint32_t i = 0; i < collInfo->nChannels; i++) {\n    struct inspectorKernelChInfo *kernelCh = &collInfo->kernelCh[i];\n    uint64_t gpuExecTimeUsecs = calculateKernelGpuExecTimeUsecs(kernelCh);\n    if (gpuExecTimeUsecs > 0) {\n      if (gpuExecTimeUsecs > maxKernelExecTimeUsecs) {\n        maxKernelExecTimeUsecs = gpuExecTimeUsecs;\n        bestTimingSource = inspectorTimingSourceKernelGpu;\n      }\n    } else {\n      if (kernelCh->tsCompletedUsec > kernelCh->tsStartUsec) {\n        uint64_t cpuExecTimeUsecs = kernelCh->tsCompletedUsec - kernelCh->tsStartUsec;\n        if (cpuExecTimeUsecs > maxKernelExecTimeUsecs) {\n          maxKernelExecTimeUsecs = cpuExecTimeUsecs;\n          bestTimingSource = inspectorTimingSourceKernelCpu;\n        }\n      }\n    }\n  }\n\n  if (maxKernelExecTimeUsecs > 0) {\n    *timingSource = bestTimingSource;\n    return maxKernelExecTimeUsecs;\n  } else {\n    *timingSource = inspectorTimingSourceCollectiveCpu;\n    return collInfo->tsCompletedUsec - collInfo->tsStartUsec;\n  }\n}\n\n/*\n * Description:\n *\n *   Updates the performance information for a completed collective\n *   operation.\n *\n * Thread Safety:\n *   Thread-safe (uses locks internally).\n *\n * Input:\n *   struct inspectorCommInfo *commInfo - communicator info.\n *   struct inspectorCollInfo *collInfo - completed collective info.\n *\n * Output:\n *   commInfo is updated with completed collective info.\n *\n * Return:\n *   None.\n *\n */\nvoid inspectorUpdateCollPerf(struct inspectorCompletedCollInfo *completedColl,\n                             struct inspectorCollInfo *collInfo) {\n  completedColl->func = ncclStringToFunc(collInfo->func);\n  completedColl->sn = collInfo->sn;\n  completedColl->msgSizeBytes = collInfo->msgSizeBytes;\n  completedColl->execTimeUsecs =\n    calculateMaxKernelExecTimeUsecs(collInfo, &completedColl->timingSource);\n  completedColl->collEvtTrk = collInfo->collEvtTrk;\n}\n\n/*\n * Description:\n *\n *   Finalizes the global inspector state and stops the dump thread if\n *   running.\n *\n * Thread Safety:\n *   Not thread-safe (should be called during teardown).\n *\n * Input:\n *   None.\n *\n * Output:\n *   Global state is finalized and dump thread is stopped.\n *\n * Return:\n *   inspectorResult_t - success or error code.\n *\n */\ninspectorResult_t inspectorGlobalFinalize() {\n  if (dumper) {\n    dumper->stopThread();\n    delete dumper;\n    dumper = nullptr;\n  }\n  return inspectorSuccess;\n}\n"
  },
  {
    "path": "ext-profiler/inspector/inspector.h",
    "content": "#pragma once\n\n#include <pthread.h>\n\n#include \"json.h\"\n#include \"common.h\"\n#include \"version.h\"\n\n#define MAX_CHANNELS                     64\n\n#define INS_CHK_GOTO(call, res, label)                                  \\\n  do {                                                                  \\\n    res = call;                                                         \\\n    if (inspectorSuccess != res) {                                      \\\n      INFO(NCCL_INSPECTOR, \"%s:%d -> error %d: %s\", __FILE__, __LINE__, res, \\\n           inspectorErrorString(res));                                  \\\n      goto label;                                                       \\\n    }                                                                   \\\n  } while (0);\n\n\ntypedef enum {\n  ncclFuncBroadcast = 0,\n  ncclFuncReduce = 1,\n  ncclFuncAllGather = 2,\n  ncclFuncReduceScatter = 3,\n  ncclFuncAllReduce = 4,\n  ncclFuncSendRecv = 5,\n  ncclFuncSend = 6,\n  ncclFuncRecv = 7,\n  ncclNumFuncs = 8\n} ncclFunc_t;\n\ntypedef enum {\n  inspectorSuccess = 0,\n  inspectorUninitializedError,\n  inspectorMemoryError,\n  inspectorFileOpenError,\n  inspectorDisabledError,\n  inspectorLockError,\n  inspectorPthreadError,\n  inspectorJsonError,\n  inspectorCudaError,\n  inspectorBadHash,\n  inspectorDeleteUnknownCommError,\n  inspectorAddDuplicateCommError,\n  inspectorNop,\n  inspectorNullTally,\n  inspectorGlobalInitError,\n  inspectorReturn,\n} inspectorResult_t;\n\ntypedef enum {\n  inspectorTimingSourceKernelGpu = 0,\n  inspectorTimingSourceKernelCpu = 1,\n  inspectorTimingSourceCollectiveCpu = 2,\n} inspectorTimingSource_t;\n\nstruct inspectorEventTraceInfo {\n  uint64_t ts;\n  uint64_t sn;\n};\n\ntypedef enum {\n  NCCL_INSP_EVT_TRK_COLL_START = 0,\n  NCCL_INSP_EVT_TRK_COLL_STOP = 1,\n  NCCL_INSP_EVT_TRK_COLL_NEVT = 2,\n} inspectorEventTrkColl_t;\n\ntypedef enum {\n  NCCL_INSP_EVT_TRK_KERNEL_START = 0,\n  NCCL_INSP_EVT_TRK_KERNEL_STOP = 1,\n  NCCL_INSP_EVT_TRK_KERNEL_RECORD = 2,\n  NCCL_INSP_EVT_TRK_KERNEL_NEVT = 3,\n} inspectorEventTrkKernel_t;\n\nstruct inspectorEventTrkKernelInfo {\n  struct inspectorEventTraceInfo evntTrace[NCCL_INSP_EVT_TRK_KERNEL_NEVT];\n};\n\nstruct inspectorEventTrkCollInfo {\n  int sn;\n  uint32_t nChannels;\n  struct inspectorEventTraceInfo evntTrace[NCCL_INSP_EVT_TRK_COLL_NEVT];\n  struct inspectorEventTrkKernelInfo kernelCh[MAX_CHANNELS];\n};\n\nstruct inspectorCompletedCollInfo {\n  ncclFunc_t func;\n  uint64_t sn;\n  size_t msgSizeBytes;\n  uint64_t execTimeUsecs;\n  inspectorTimingSource_t timingSource;\n  double algoBwGbs;\n  double busBwGbs;\n  // Event trace information\n  struct inspectorEventTrkCollInfo collEvtTrk;\n};\n\nenum {\n  NCCL_COMM_HASH_LENGTH = 17\n};\n\nstruct inspectorCommInfo {\n  struct inspectorCommInfo* next;\n\n  const char* commName;\n  uint64_t commHash;\n  char commHashStr[NCCL_COMM_HASH_LENGTH];\n  int rank;\n  int nranks;\n  int nnodes;\n\n  bool dump;\n  struct inspectorCompletedCollInfo completedCollInfo;\n  pthread_rwlock_t guard;\n};\n\nstruct inspectorKernelChInfo {\n  uint64_t type;\n  int refCount; /*unused*/\n  struct inspectorCollInfo *collInfo;\n  uint8_t channelId;\n  uint64_t tsStartUsec;\n  uint64_t tsCompletedUsec;\n  uint64_t startGpuClk;\n  uint64_t stopGpuClk;\n};\n\nstruct inspectorCollInfo {\n  uint64_t type;\n  int refCount;\n  struct inspectorCommInfo *commInfo;\n  const char* func;\n  uint64_t sn;\n  size_t msgSizeBytes;\n  uint64_t tsStartUsec;\n  uint64_t tsCompletedUsec;\n  uint32_t nChannels;\n  uint32_t nKernelChStarted;\n  uint32_t nKernelChCompleted;\n  pthread_rwlock_t guard;\n  struct inspectorKernelChInfo kernelCh[MAX_CHANNELS];\n  struct inspectorEventTrkCollInfo collEvtTrk;\n};\n\n\n\nextern ncclDebugLogger_t logFn;\n#define VERSION(...) logFn(NCCL_LOG_VERSION, NCCL_ALL, __FILE__, __LINE__, __VA_ARGS__)\n#define INFO(FLAGS, ...) logFn(NCCL_LOG_INFO, (FLAGS), __func__, __LINE__, __VA_ARGS__)\n#define WARN(...) logFn(NCCL_LOG_WARN, NCCL_ALL, __FILE__, __LINE__, __VA_ARGS__)\n\ninline int ncclTypeSize(ncclDataType_t type) {\n  switch (type) {\n  case ncclInt8:\n  case ncclUint8:\n  case ncclFloat8e4m3:\n  case ncclFloat8e5m2:\n    return 1;\n  case ncclFloat16:\n  case ncclBfloat16:\n    return 2;\n  case ncclInt32:\n  case ncclUint32:\n  case ncclFloat32:\n    return 4;\n  case ncclInt64:\n  case ncclUint64:\n  case ncclFloat64:\n    return 8;\n  default:\n    return -1;\n  }\n}\n\nconst char* inspectorErrorString(inspectorResult_t result);\n\ninspectorResult_t inspectorLockInit(pthread_rwlock_t* lockRef);\ninspectorResult_t inspectorLockDestroy(pthread_rwlock_t* lockRef);\ninspectorResult_t inspectorLockRd(pthread_rwlock_t* lockRef);\ninspectorResult_t inspectorLockWr(pthread_rwlock_t* lockRef);\ninspectorResult_t inspectorUnlockRWLock(pthread_rwlock_t* lockRef);\ninspectorResult_t inspectorGlobalInit(int rank);\ninspectorResult_t inspectorGlobalFinalize();\nuint64_t inspectorGetTime();\ninspectorResult_t inspectorAddComm(struct inspectorCommInfo **commInfo,\n                                   const char* commName, uint64_t commHash,\n                                   int nNodes, int nranks, int rank);\ninspectorResult_t inspectorDelComm(struct inspectorCommInfo *commInfo);\n\nvoid inspectorUpdateCollPerf(struct inspectorCompletedCollInfo *completedColl,\n                             struct inspectorCollInfo *collInfo);\nncclDataType_t inspectorStringToDatatype(const char* str);\n\nvoid inspectorComputeCollBw(struct inspectorCommInfo *commInfo,\n                            struct inspectorCompletedCollInfo *completedColl,\n                            ncclFunc_t collType);\n"
  },
  {
    "path": "ext-profiler/inspector/inspector_plugin.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <stdio.h>\n#include <pthread.h>\n#include <string.h>\n#include <linux/limits.h>\n#include <sys/time.h>\n#include <sys/types.h>\n#include <sys/syscall.h>\n#include <unistd.h>\n#include \"profiler.h\"\n#include \"inspector.h\"\n\n#define __hidden __attribute__ ((visibility(\"hidden\")))\n\nstatic int gInitialized;\n\nstatic pthread_mutex_t gLock = PTHREAD_MUTEX_INITIALIZER;\n\n\n/*\n * Description:\n *   Records an event trace with timestamp and sequence number\n *\n * Thread Safety:\n *   Not thread-safe - must be called with proper locking. This function\n *   is designed to be called from within locked sections where the\n *   collective info structure is already protected.\n *\n * Input:\n *   struct inspectorEventTraceInfo* evtTrace - event trace array\n *   int eventIndex - index in the event trace array (must be valid)\n *   struct inspectorCollInfo* collInfo - collective info structure (must not be NULL)\n *\n * Output:\n *   Event trace is updated with current timestamp and next sequence\n *   number from collective\n *\n * Return:\n *   uint64_t - the sequence number assigned to this event\n *\n * Preconditions:\n *   - collInfo must not be NULL\n *   - eventIndex must be within valid bounds for evtTrace array\n *   - Function must be called from within a locked section\n */\nstatic uint64_t inspectorRecordEventTrace(struct inspectorEventTraceInfo* evtTrace,\n                                          int eventIndex,\n                                          struct inspectorCollInfo* collInfo) {\n  evtTrace[eventIndex].ts = inspectorGetTime();\n  evtTrace[eventIndex].sn = ++collInfo->collEvtTrk.sn; // Increment coll sequence counter\n\n  return evtTrace[eventIndex].sn;\n}\n\n/*\n * Description:\n *\n *   Initializes the NCCL Inspector plugin and global state for a\n *   communicator.\n *\n * Thread Safety:\n *   Thread-safe (uses mutex for initialization).\n *\n * Input:\n *   void** context - pointer to plugin context.\n *   int* eActivationMask - pointer to activation mask output.\n *   const char* commName - communicator name.\n *   uint64_t commHash - communicator hash.\n *   int nNodes - number of nodes.\n *   int nranks - number of ranks.\n *   int rank - rank.\n *   ncclDebugLogger_t logfn - logger function pointer.\n *\n * Output:\n *   context is set to plugin context; eActivationMask is set.\n *\n * Return:\n *   ncclResult_t - success or error code.\n *\n */\n__hidden ncclResult_t inspectorPluginInit(void** context, uint64_t commHash,\n                                          int* eActivationMask,\n                                          const char* commName,\n                                          int nNodes, int nranks, int rank,\n                                          ncclDebugLogger_t logfn) {\n  inspectorResult_t res = inspectorSuccess;\n  *context = nullptr;\n  logFn = logfn;\n\n  pthread_mutex_lock(&gLock);\n  if (++gInitialized == 1) {\n    res = inspectorGlobalInit(rank);\n    if (res != inspectorSuccess) {\n      WARN(\"Inspector Init Failed %s:%d -> error %d: %s\",__FILE__, __LINE__, res,\n           inspectorErrorString(res));\n      gInitialized = 0;\n      pthread_mutex_unlock(&gLock);\n      return ncclInternalError;\n    }\n  }\n  pthread_mutex_unlock(&gLock);\n\n  INS_CHK_GOTO(inspectorAddComm((struct inspectorCommInfo **)context,\n                                commName, commHash,\n                                nNodes, nranks, rank), res, success);\n  *eActivationMask = ncclProfileColl | ncclProfileKernelCh;\n  INFO(NCCL_INIT, \"PROFILER/Plugin: init commName: %s commHash: %lu nranks: %d rank: %d\",\n       commName ? commName : \"\", commHash, nranks, rank);\nsuccess:\n  if (res != inspectorSuccess) {\n    return ncclInternalError;\n  } else {\n    return ncclSuccess;\n  }\n}\n\n/*\n * Description:\n *\n *   Finalizes the NCCL Inspector plugin and global state for a\n *   communicator.\n *\n * Thread Safety:\n *   Thread-safe (uses mutex for finalization).\n *\n * Input:\n *   void* context - plugin context.\n *\n * Output:\n *   Plugin context is finalized and cleaned up.\n *\n * Return:\n *   ncclResult_t - success or error code.\n *\n */\n__hidden ncclResult_t inspectorPluginFinalize(void* context) {\n  inspectorDelComm((struct inspectorCommInfo *)context);\n  pthread_mutex_lock(&gLock);\n  if (--gInitialized == 0) {\n    inspectorGlobalFinalize();\n  }\n  pthread_mutex_unlock(&gLock);\n  return ncclSuccess;\n}\n\ninspectorResult_t inspectorPluginCollInfoRef(struct inspectorCollInfo *collInfo) {\n  collInfo->refCount += 1;\n  return inspectorSuccess;\n}\n\ninspectorResult_t inspectorPluginCollInfoRefSafe(struct inspectorCollInfo *collInfo) {\n  inspectorLockWr(&collInfo->guard);\n  inspectorPluginCollInfoRef(collInfo);\n  inspectorUnlockRWLock(&collInfo->guard);\n  return inspectorSuccess;\n}\n\ninspectorResult_t inspectorPluginCollInfoDeRef(struct inspectorCollInfo *collInfo) {\n  collInfo->refCount -= 1;\n  if (collInfo->refCount == 0) {\n    inspectorLockDestroy(&collInfo->guard);\n    memset(collInfo, 0, sizeof(struct inspectorCollInfo));\n    free(collInfo);\n    return inspectorReturn;\n  }\n  return inspectorSuccess;\n}\n\ninspectorResult_t inspectorPluginCollInfoDeRefSafe(struct inspectorCollInfo *collInfo) {\n  inspectorLockWr(&collInfo->guard);\n  inspectorResult_t res = inspectorPluginCollInfoDeRef(collInfo);\n  inspectorUnlockRWLock(&collInfo->guard);\n  return res;\n}\n\n/*\n * Description:\n *   Initializes a new inspectorCollInfo structure for a collective\n *   event.\n *\n * Thread Safety:\n *   Not thread-safe (allocates and initializes a new collective info\n *   structure).\n *\n * Input:\n *\n *   struct inspectorCollInfo **collInfo - pointer to output\n *   collective info struct.\n *   ncclProfilerEventDescr_t *eDescr - event descriptor.\n *\n * Output:\n *   collInfo is set to the new collective info struct.\n *\n * Return:\n *   None.\n */\nstatic void inspectorPluginCollInfoInit(struct inspectorCollInfo **collInfo,\n                                        ncclProfilerEventDescr_t *eDescr,\n                                        struct inspectorCommInfo *commInfo) {\n  struct inspectorCollInfo *collInfoPtr\n    = (struct inspectorCollInfo*)calloc(1, sizeof(struct inspectorCollInfo));\n  if (collInfoPtr == nullptr) {\n    WARN(\"Inspector: Failed to allocate memory for collective info structure\");\n    *collInfo = nullptr;\n    return;\n  }\n  collInfoPtr->type = ncclProfileColl;\n  collInfoPtr->refCount = 0;\n  inspectorPluginCollInfoRef(collInfoPtr); //self ref; no locks needed\n  collInfoPtr->func = eDescr->coll.func;\n  collInfoPtr->sn = eDescr->coll.seqNumber;\n  collInfoPtr->nChannels = eDescr->coll.nChannels;\n  if (collInfoPtr->nChannels > 0) {\n    inspectorPluginCollInfoRef(collInfoPtr); //extra ref for kernel completion\n  }\n  collInfoPtr->tsStartUsec = inspectorGetTime();\n  collInfoPtr->msgSizeBytes =\n    ncclTypeSize(inspectorStringToDatatype(eDescr->coll.datatype)) * eDescr->coll.count;\n\n\n  collInfoPtr->commInfo = commInfo;\n  collInfoPtr->collEvtTrk.sn = 0;\n  collInfoPtr->collEvtTrk.nChannels = collInfoPtr->nChannels;\n  inspectorRecordEventTrace(collInfoPtr->collEvtTrk.evntTrace,\n                            NCCL_INSP_EVT_TRK_COLL_START, collInfoPtr);\n\n  inspectorLockInit(&collInfoPtr->guard);\n  *collInfo = collInfoPtr;\n}\n\n/*\n * Description:\n *\n *   Initializes a new inspectorKernelChInfo structure for a kernel\n *   channel event.\n *\n * Thread Safety:\n *   Not thread-safe (initializes kernel channel info within a\n *   collective info structure).\n *\n * Input:\n *   struct inspectorKernelChInfo **kernelChInfo - pointer to output\n *   kernel channel info struct.\n *   ncclProfilerEventDescr_t *eDescr - event descriptor.\n *\n * Output:\n *\n *   kernelChInfo is set to the new kernel channel info struct.\n *\n * Return:\n *   None.\n */\nstatic void inspectorPluginKernelChInfoInit(struct inspectorKernelChInfo **kernelChInfo,\n                                            ncclProfilerEventDescr_t *eDescr) {\n  if (eDescr->parentObj) {\n    uint64_t parentType=*(uint64_t*)eDescr->parentObj;\n    if (parentType == ncclProfileColl) {\n      struct inspectorCollInfo *collInfo = (struct inspectorCollInfo*)eDescr->parentObj;\n      if (collInfo && collInfo->type == ncclProfileColl) {\n        inspectorLockWr(&collInfo->guard);\n        struct inspectorEventTraceInfo *krnlEvtTrk =\n          collInfo->collEvtTrk.kernelCh[eDescr->kernelCh.channelId].evntTrace;\n        inspectorRecordEventTrace(krnlEvtTrk,\n                                  NCCL_INSP_EVT_TRK_KERNEL_START,\n                                  collInfo);\n        struct inspectorKernelChInfo *kernelChInfoPtr\n          = &collInfo->kernelCh[eDescr->kernelCh.channelId];\n        kernelChInfoPtr->type = ncclProfileKernelCh;\n        kernelChInfoPtr->channelId = eDescr->kernelCh.channelId;\n        kernelChInfoPtr->startGpuClk = eDescr->kernelCh.pTimer;\n        if (kernelChInfoPtr->stopGpuClk == 0) {\n          inspectorPluginCollInfoRef(collInfo); //Pairs with Record Kernel Stop event\n        }\n        kernelChInfoPtr->tsStartUsec = inspectorGetTime();\n        if (collInfo->nKernelChStarted == 0) {\n          collInfo->tsStartUsec = kernelChInfoPtr->tsStartUsec;\n        }\n        collInfo->nKernelChStarted += 1;\n        inspectorPluginCollInfoRef(collInfo); //Pairs with Stop Kernel Event\n        kernelChInfoPtr->collInfo = collInfo;\n\n        *kernelChInfo = kernelChInfoPtr;\n        inspectorUnlockRWLock(&collInfo->guard);\n      }\n    }\n  }\n}\n/*\n * Description:\n *\n *   Starts a profiling event for the NCCL Inspector plugin.\n *\n * Thread Safety:\n *   Thread-safe (allocates and initializes event structures).\n *\n * Input:\n *   void* context - plugin context.\n *   void** eHandle - pointer to event handle output.\n *   ncclProfilerEventDescr_t* eDescr - event descriptor.\n *\n * Output:\n *   eHandle is set to the new event structure.\n *\n * Return:\n *   ncclResult_t - success or error code.\n *\n */\n__hidden ncclResult_t inspectorPluginStartEvent(void* context,\n                                                void** eHandle,\n                                                ncclProfilerEventDescr_t* eDescr) {\n  if (context == nullptr || eDescr == nullptr) {\n    INFO(NCCL_INIT, \"Profiler/Plugin: context/eDescr NULL for start event %s\", __func__);\n    return ncclSuccess;\n  }\n  *eHandle = nullptr;\n  if (eDescr->type == ncclProfileColl) {\n    struct inspectorCollInfo *collEvent = nullptr;\n    struct inspectorCommInfo *commInfoCtx = (struct inspectorCommInfo*)context;\n    inspectorPluginCollInfoInit(&collEvent, eDescr, commInfoCtx);\n    *eHandle = collEvent;\n  } else if (eDescr->type == ncclProfileKernelCh) {\n    struct inspectorKernelChInfo *kernelChEvent = nullptr;\n    inspectorPluginKernelChInfoInit(&kernelChEvent, eDescr);\n    *eHandle = kernelChEvent;\n  } else {\n    return ncclSuccess;\n  }\n  return ncclSuccess;\n}\n\n/*\n * Description:\n *\n *   Stops a profiling event for the NCCL Inspector plugin.\n *\n * Thread Safety:\n *\n *   Thread-safe (updates event state and performance info).\n *\n * Input:\n *\n *   void *eHandle - event handle.\n *\n * Output:\n *\n *   Event is stopped and performance info may be updated.\n *\n * Return:\n *   ncclResult_t - success or error code.\n *\n */\n__hidden ncclResult_t inspectorPluginStopEvent(void *eHandle) {\n\n  if (eHandle == nullptr) {\n    INFO(NCCL_INIT,\n         \"Profiler/Plugin: Event Handle NULL for start event %s\", __func__);\n    return ncclSuccess;\n  }\n  uint64_t type = *(uint64_t *)eHandle;\n  inspectorResult_t res = inspectorSuccess;\n\n  if (type == ncclProfileColl) {\n    struct inspectorCollInfo *collInfo = (struct inspectorCollInfo *)eHandle;\n    // Record collective stop event\n    inspectorLockWr(&collInfo->guard);\n    inspectorRecordEventTrace(collInfo->collEvtTrk.evntTrace,\n                              NCCL_INSP_EVT_TRK_COLL_STOP,\n                              collInfo);\n    res = inspectorPluginCollInfoDeRef(collInfo);\n    if (res == inspectorReturn) {\n      // WARN(\"NCCL Inspector unnatural return: inspectorPluginStopEvent:ncclProfileColl\");\n      return ncclSuccess;\n    }\n    inspectorUnlockRWLock(&collInfo->guard);\n    return ncclSuccess;\n  } else if (type == ncclProfileKernelCh) {\n    struct inspectorKernelChInfo *kernelChInfo\n      = (struct inspectorKernelChInfo *)eHandle;\n    struct inspectorCollInfo *collInfo = kernelChInfo->collInfo;\n    if (collInfo && collInfo->type == ncclProfileColl) {\n      inspectorLockWr(&collInfo->guard);\n      struct inspectorEventTraceInfo *krnlEvtTrk =\n        collInfo->collEvtTrk.kernelCh[kernelChInfo->channelId].evntTrace;\n      inspectorRecordEventTrace(krnlEvtTrk,\n                                NCCL_INSP_EVT_TRK_KERNEL_STOP,\n                                collInfo);\n      kernelChInfo->tsCompletedUsec = inspectorGetTime();\n      collInfo->nKernelChCompleted += 1;\n\n      res = inspectorPluginCollInfoDeRef(collInfo);\n      if (res == inspectorReturn) {\n        WARN(\"NCCL Inspector unnatural return: inspectorPluginStopEvent:ncclProfileKernelCh\");\n        return ncclSuccess;\n      }\n      if ((collInfo->nKernelChCompleted == collInfo->nKernelChStarted)\n          && (collInfo->nKernelChCompleted == collInfo->nChannels)) {\n        struct inspectorCompletedCollInfo completedColl;\n        struct inspectorCommInfo *commInfo = collInfo->commInfo;\n        collInfo->tsCompletedUsec = kernelChInfo->tsCompletedUsec;\n        inspectorUpdateCollPerf(&completedColl, collInfo);\n\n        res = inspectorPluginCollInfoDeRef(collInfo);\n        if (res != inspectorReturn) {\n          inspectorUnlockRWLock(&collInfo->guard);\n        }\n        if (commInfo != nullptr) {\n          inspectorLockWr(&commInfo->guard);\n          inspectorComputeCollBw(commInfo,\n                                 &completedColl,\n                                 completedColl.func);\n          memcpy(&commInfo->completedCollInfo,\n                 &completedColl,\n                 sizeof(struct inspectorCompletedCollInfo));\n          commInfo->dump = true;\n          inspectorUnlockRWLock(&commInfo->guard);\n        }\n        return ncclSuccess;\n      }\n      inspectorUnlockRWLock(&collInfo->guard);\n    }\n    return ncclSuccess;\n  }\n  return ncclSuccess;\n}\n\n/*\n * Description:\n *\n *   Records the state of a profiling event for the NCCL Inspector\n *   plugin.\n *\n * Thread Safety:\n *\n *   Thread-safe (updates event state as needed).\n *\n * Input:\n *   void* eHandle - event handle.\n *   ncclProfilerEventState_t eState - event state.\n *   ncclProfilerEventStateArgs_t* eStateArgs - event state arguments.\n *\n * Output:\n *   Event state is updated as needed.\n *\n * Return:\n *   ncclResult_t - success or error code.\n *\n */\n__hidden ncclResult_t inspectorPluginRecordEventState(void* eHandle,\n                                                      ncclProfilerEventState_t eState,\n                                                      ncclProfilerEventStateArgs_t* eStateArgs) {\n  if (eHandle == nullptr || eStateArgs == nullptr)\n    return ncclSuccess;\n\n  uint64_t type = *(uint64_t *)eHandle;\n\n  if (type == ncclProfileKernelCh && eState == ncclProfilerKernelChStop) {\n    struct inspectorKernelChInfo *kernelChInfo = (struct inspectorKernelChInfo *)eHandle;\n    struct inspectorCollInfo *collInfo = kernelChInfo->collInfo;\n    inspectorResult_t res = inspectorSuccess;\n    if (collInfo && collInfo->type == ncclProfileColl) {\n      inspectorLockWr(&collInfo->guard);\n      struct inspectorEventTraceInfo *krnlEvtTrk\n        = collInfo->collEvtTrk.kernelCh[kernelChInfo->channelId].evntTrace;\n      inspectorRecordEventTrace(krnlEvtTrk,\n                                NCCL_INSP_EVT_TRK_KERNEL_RECORD,\n                                collInfo);\n      kernelChInfo->stopGpuClk = eStateArgs->kernelCh.pTimer;\n      if (kernelChInfo->startGpuClk != 0) {\n        res = inspectorPluginCollInfoDeRef(collInfo);\n        if (res == inspectorReturn) {\n          WARN(\"NCCL Inspector unnatural return: inspectorPluginRecordEventState\");\n          return ncclSuccess;\n        }\n      }\n      inspectorUnlockRWLock(&collInfo->guard);\n    }\n  }\n  return ncclSuccess;\n}\n\nncclProfiler_t ncclProfiler_v5 = {\n  \"Inspector\",\n  inspectorPluginInit,\n  inspectorPluginStartEvent,\n  inspectorPluginStopEvent,\n  inspectorPluginRecordEventState,\n  inspectorPluginFinalize,\n};\n"
  },
  {
    "path": "ext-profiler/inspector/json.cc",
    "content": "#include \"json.h\"\n#include <assert.h>\n#include <math.h>\n#include <pthread.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n\nconst char* jsonErrorString(jsonResult_t res) {\n  switch (res) {\n  case jsonSuccess:\n    return \"jsonSuccess\";\n  case jsonFileError:\n    return \"jsonFileError\";\n  case jsonUnknownStateError:\n    return \"jsonUnknownStateError\";\n  case jsonEmptyStateError:\n    return \"jsonEmptyStateError\";\n  case jsonExpectedNonNoneStateError:\n    return \"jsonExpectedNonNoneStateError\";\n  case jsonMemoryError:\n    return \"jsonMemoryError\";\n  case jsonStringOverflowError:\n    return \"jsonStringOverflowError\";\n  case jsonStringBadChar:\n    return \"jsonStringBadChar\";\n  case jsonLockError:\n    return \"jsonLockError\";\n  default:\n    return \"unknown json error\";\n  }\n}\n\n// We use these statics to mantain a stack of states where we are writing.\ntypedef struct jsonFileOutput {\n  jsonState_t* states;\n  size_t state_cap; // Allocated stack capacity\n  size_t state_n;   // # of items in the stack.\n  FILE* fp;\n  pthread_mutex_t mutex;\n} jsonFileOutput;\n\njsonResult_t jsonInitFileOutput(jsonFileOutput** jfo, const char* outfile) {\n  jsonFileOutput* new_jfo = (jsonFileOutput*)malloc(sizeof(jsonFileOutput));\n  if (new_jfo == NULL) {\n    return jsonMemoryError;\n  }\n  if (pthread_mutex_init(&new_jfo->mutex, NULL) != 0) {\n    free(new_jfo);\n    *jfo = 0;\n    return jsonLockError;\n  }\n  new_jfo->states = NULL;\n  new_jfo->state_cap = 0;\n  new_jfo->state_n = 0;\n  new_jfo->fp = fopen(outfile, \"w\");\n  if (new_jfo->fp == NULL) {\n    free(new_jfo);\n    *jfo = 0;\n    return jsonFileError;\n  }\n  *jfo = new_jfo;\n  return jsonSuccess;\n}\n\njsonResult_t jsonNewline(jsonFileOutput* jfo) {\n  fprintf(jfo->fp, \"\\n\");\n  return jsonSuccess;\n}\n\njsonResult_t jsonFlushOutput(jsonFileOutput* jfo) {\n  fflush(jfo->fp);\n  return jsonSuccess;\n}\n\njsonResult_t jsonLockOutput(jsonFileOutput* jfo) {\n  if (pthread_mutex_lock(&jfo->mutex) != 0) {\n    return jsonLockError;\n  }\n  return jsonSuccess;\n}\n\njsonResult_t jsonUnlockOutput(jsonFileOutput* jfo) {\n  if (pthread_mutex_unlock(&jfo->mutex) != 0) {\n    return jsonLockError;\n  }\n  return jsonSuccess;\n}\n\njsonResult_t jsonFinalizeFileOutput(jsonFileOutput* jfo) {\n  // Really should probably complain if we aren't in a valid state\n\n  if (pthread_mutex_destroy(&jfo->mutex) != 0) {\n    free(jfo);\n    return jsonLockError;\n  }\n  if (jfo->states != NULL) {\n    free(jfo->states);\n  }\n  jfo->states = NULL;\n  jfo->state_cap = 0;\n  jfo->state_n = 0;\n  if (jfo->fp) {\n    fclose(jfo->fp);\n    jfo->fp = 0;\n  }\n\n  free(jfo);\n  return jsonSuccess;\n}\n\nstatic int utf8copy(unsigned char* out, int out_lim, const unsigned char* in) {\n  int copy_len;\n  if ((in[0] & 0xE0) == 0xC0) {\n    // 2-byte sequence\n    if ((in[1] & 0xC0) != 0x80 || out_lim < 2) {\n      return 0;\n    }\n    copy_len = 2;\n  } else if ((in[0] & 0xF0) == 0xE0) {\n    // 3-byte sequence\n    if ((in[1] & 0xC0) != 0x80 || (in[2] & 0xC0) != 0x80 || out_lim < 3) {\n      return 0;\n    }\n    copy_len = 3;\n  } else if ((in[0] & 0xF8) == 0xF0) {\n    // 4-byte sequence\n    if ((in[1] & 0xC0) != 0x80 || (in[2] & 0xC0) != 0x80 || (in[3] & 0xC0) != 0x80 || out_lim < 4) {\n      return 0;\n    }\n    copy_len = 4;\n  } else {\n    // Invalid start byte\n    return 0;\n  }\n\n  for (int i = 0; i < copy_len; ++i) {\n    out[i] = in[i];\n  }\n\n  return copy_len;\n}\n\n// This tries to sanitize/quote a string from 'in' into 'out',\n// assuming 'out' has length 'lim'.  We mainly quote \",/,\\,\\t,\\n, and\n// bail if we encounter non-printable stuff or non-ASCII stuff.\n// 'in' should be null-terminated, of course.\n//\n// We return false if we were not able to copy all of 'in', either for\n// length reasons or for unhandled characters.\nstatic jsonResult_t sanitizeJson(unsigned char out[], int lim, const unsigned char* in) {\n  int c = 0;\n  while (*in) {\n    if (c + 1 >= lim) {\n      out[c] = 0;\n      return jsonStringOverflowError;\n    }\n    switch (*in) {\n    case '\"':\n    case '\\\\':\n    case '/':\n    case '\\t':\n    case '\\n':\n      if (c + 2 > lim) {\n        out[c] = 0;\n        return jsonStringOverflowError;\n      }\n\n      out[c++] = '\\\\';\n      if (*in == '\\n') {\n        out[c++] = 'n';\n      } else if (*in == '\\t') {\n        out[c++] = 't';\n      } else {\n        out[c++] = *in;\n      }\n      ++in;\n      break;\n    default:\n      if (*in <= 0x1F) {\n        out[c] = 0;\n        return jsonStringBadChar;\n      } else if (*in <= 0x7F) {\n        out[c++] = *in;\n        ++in;\n      } else {\n        const int utf8len = utf8copy(out + c, lim - c - 1, in);\n        if (utf8len == 0) {\n          out[c] = 0;\n          return jsonStringBadChar;\n        }\n        c += utf8len;\n        in += utf8len;\n      }\n      break;\n    }\n  }\n  out[c] = 0;\n  return jsonSuccess;\n}\n\nstatic size_t max(size_t a, size_t b) {\n  if (a < b) {\n    return b;\n  }\n  return a;\n}\n\n// Push state onto the state stack. Reallocate for extra storage if needed.\n// Because JSON_NONE is a pseudo-state, don't allow it to be pushed.\nstatic jsonResult_t jsonPushState(jsonFileOutput* jfo, jsonState_t state) {\n  if (state == JSON_NONE) {\n    return jsonExpectedNonNoneStateError;\n  }\n  if (jfo->state_cap <= (jfo->state_n + 1)) {\n    jfo->state_cap = max((size_t)16, jfo->state_cap * 2);\n    jfo->states = (jsonState_t*)realloc(jfo->states, sizeof(jsonState_t) * jfo->state_cap);\n    if (jfo->states == 0) {\n      return jsonMemoryError;\n    }\n  }\n  jfo->states[jfo->state_n++] = state;\n  return jsonSuccess;\n}\n\n// Return the current state at the top of the stack\nstatic jsonState_t jsonCurrState(const jsonFileOutput* jfo) {\n  if (jfo->state_n == 0) {\n    return JSON_NONE;\n  }\n  return jfo->states[jfo->state_n - 1];\n}\n\n// Replace the stack with state (equivalent to a pop & push if stack is not empty)\nstatic jsonResult_t jsonReplaceState(jsonFileOutput* jfo, jsonState_t state) {\n  if (state == JSON_NONE) {\n    return jsonExpectedNonNoneStateError;\n  }\n  if (jfo->state_n == 0) {\n    return jsonEmptyStateError;\n  }\n  jfo->states[jfo->state_n - 1] = state;\n  return jsonSuccess;\n}\n\n// Pop the top state off the stack, or return that the state is empty\nstatic jsonState_t jsonPopState(jsonFileOutput* jfo) {\n  if (jfo->state_n == 0) {\n    return JSON_NONE;\n  }\n  return jfo->states[--jfo->state_n];\n}\n\n// Emit a key and separator. Santize the key.\n// This is only acceptable if the top state is an object\n// Emit a ',' separator of we aren't the first item.\njsonResult_t jsonKey(jsonFileOutput* jfo, const char* name) {\n  switch (jsonCurrState(jfo)) {\n  case JSON_OBJECT_EMPTY:\n    jsonReplaceState(jfo, JSON_OBJECT_SOME);\n    break;\n  case JSON_OBJECT_SOME:\n    fprintf(jfo->fp, \",\");\n    break;\n  default:\n    return jsonUnknownStateError;\n  }\n  unsigned char tmp[2048];\n  const jsonResult_t res = sanitizeJson(tmp, sizeof(tmp), (const unsigned char*)name);\n  if (res != jsonSuccess) {\n    return res;\n  }\n  fprintf(jfo->fp, \"\\\"%s\\\":\", tmp);\n  jsonPushState(jfo, JSON_KEY);\n  return jsonSuccess;\n}\n\n// Helper function for inserting values.\n// Only acceptable after keys, top-level, or in lists.\n// Emit preceeding ',' if in a list and not first item.\nstatic jsonResult_t jsonValHelper(jsonFileOutput* jfo) {\n  switch (jsonCurrState(jfo)) {\n  case JSON_LIST_EMPTY:\n    jsonReplaceState(jfo, JSON_LIST_SOME);\n    break;\n  case JSON_LIST_SOME:\n    fprintf(jfo->fp, \",\");\n    break;\n  case JSON_KEY:\n    jsonPopState(jfo);\n    break;\n  case JSON_NONE:\n    break;\n  default:\n    return jsonUnknownStateError;\n  }\n  return jsonSuccess;\n}\n\n// Start an object\njsonResult_t jsonStartObject(jsonFileOutput* jfo) {\n  const jsonResult_t res = jsonValHelper(jfo);\n  if (res != jsonSuccess) {\n    return res;\n  }\n  fprintf(jfo->fp, \"{\");\n  return jsonPushState(jfo, JSON_OBJECT_EMPTY);\n}\n\n// Close an object\njsonResult_t jsonFinishObject(jsonFileOutput* jfo) {\n  switch (jsonPopState(jfo)) {\n  case JSON_OBJECT_EMPTY:\n  case JSON_OBJECT_SOME:\n    break;\n  default:\n    return jsonUnknownStateError;\n  }\n  fprintf(jfo->fp, \"}\");\n  return jsonSuccess;\n}\n\n// Start a list\njsonResult_t jsonStartList(jsonFileOutput* jfo) {\n  const jsonResult_t res = jsonValHelper(jfo);\n  if (res != jsonSuccess) {\n    return res;\n  }\n  fprintf(jfo->fp, \"[\");\n  return jsonPushState(jfo, JSON_LIST_EMPTY);\n}\n\n// Close a list\njsonResult_t jsonFinishList(jsonFileOutput* jfo) {\n  switch (jsonPopState(jfo)) {\n  case JSON_LIST_EMPTY:\n  case JSON_LIST_SOME:\n    break;\n  default:\n    return jsonUnknownStateError;\n  }\n  fprintf(jfo->fp, \"]\");\n  return jsonSuccess;\n}\n\n// Write a null value\njsonResult_t jsonNull(jsonFileOutput* jfo) {\n  const jsonResult_t res = jsonValHelper(jfo);\n  if (res != jsonSuccess) {\n    return res;\n  }\n  fprintf(jfo->fp, \"null\");\n  return jsonSuccess;\n}\n\n// Write a (sanititzed) string\njsonResult_t jsonStr(jsonFileOutput* jfo, const char* str) {\n  if (str == NULL) {\n    jsonNull(jfo);\n    return jsonSuccess;\n  }\n  const jsonResult_t res = jsonValHelper(jfo);\n  if (res != jsonSuccess) {\n    return res;\n  }\n  unsigned char tmp[2048];\n  const jsonResult_t san_res = sanitizeJson(tmp, sizeof(tmp), (const unsigned char*)str);\n  if (san_res != jsonSuccess) {\n    return san_res;\n  }\n  fprintf(jfo->fp, \"\\\"%s\\\"\", tmp);\n  return jsonSuccess;\n}\n\n// Write a bool as \"true\" or \"false\" strings.\njsonResult_t jsonBool(jsonFileOutput* jfo, bool val) {\n  return jsonStr(jfo, val ? \"true\" : \"false\");\n}\n\n// Write an integer value\njsonResult_t jsonInt(jsonFileOutput* jfo, const int val) {\n  const jsonResult_t res = jsonValHelper(jfo);\n  if (res != jsonSuccess) {\n    return res;\n  }\n  fprintf(jfo->fp, \"%d\", val);\n  return jsonSuccess;\n}\n\n// Write an integer value\njsonResult_t jsonUint32(jsonFileOutput* jfo, const uint32_t val) {\n  const jsonResult_t res = jsonValHelper(jfo);\n  if (res != jsonSuccess) {\n    return res;\n  }\n  fprintf(jfo->fp, \"%u\", val);\n  return jsonSuccess;\n}\n\n\n// Write an integer value\njsonResult_t jsonUint64(jsonFileOutput* jfo, const uint64_t val) {\n  const jsonResult_t res = jsonValHelper(jfo);\n  if (res != jsonSuccess) {\n    return res;\n  }\n  fprintf(jfo->fp, \"%lu\", val);\n  return jsonSuccess;\n}\n\n// Write a size_t value\njsonResult_t jsonSize_t(jsonFileOutput* jfo, const size_t val) {\n  const jsonResult_t res = jsonValHelper(jfo);\n  if (res != jsonSuccess) {\n    return res;\n  }\n  fprintf(jfo->fp, \"%zu\", val);\n  return jsonSuccess;\n}\n\n// Write a double value\njsonResult_t jsonDouble(jsonFileOutput* jfo, const double val) {\n  const jsonResult_t res = jsonValHelper(jfo);\n  if (res != jsonSuccess) {\n    return res;\n  }\n  if (val != val) {\n    fprintf(jfo->fp, \"\\\"nan\\\"\");\n  } else {\n    fprintf(jfo->fp, \"%lf\", val);\n  }\n  return jsonSuccess;\n}\n\n#ifdef DO_JSON_TEST\n// compile with\n// gcc json.cc -Iinclude/ -DDO_JSON_TEST -o json_test\n// run with:\n// ./json_test\n// if something fails, it will print out the error\n// if it all works, print out \"output matches reference\"\n#define JSONCHECK(expr)                                                                            \\\n  do {                                                                                             \\\n    const jsonResult_t res = (expr);                                                               \\\n    if (res != jsonSuccess) {                                                                      \\\n      fprintf(stderr, \"jsonError: %s\\n\", jsonErrorString(res));                                    \\\n      exit(1);                                                                                     \\\n    }                                                                                              \\\n  } while (0)\n\nint main() {\n\n  const char refstr[] =\n      \"{\\\"number\\\":123,\\\"utfstring\\\":\\\"∮ E⋅da = Q,  n → ∞, ∑ f(i) = ∏ g(i), ∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ \"\n      \"¬β = ¬(¬α ∨ β),\\\",\\\"list\\\":[\\\"true\\\",null,9423812381231,3123111,0.694234]}\";\n\n  jsonFileOutput* jfo;\n  JSONCHECK(jsonInitFileOutput(&jfo, \"test.json\"));\n  JSONCHECK(jsonStartObject(jfo));\n  JSONCHECK(jsonKey(jfo, \"number\"));\n  JSONCHECK(jsonInt(jfo, 123));\n  JSONCHECK(jsonKey(jfo, \"utfstring\"));\n  JSONCHECK(\n      jsonStr(jfo, \"∮ E⋅da = Q,  n → ∞, ∑ f(i) = ∏ g(i), ∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β),\"));\n  JSONCHECK(jsonKey(jfo, \"list\"));\n  JSONCHECK(jsonStartList(jfo));\n  JSONCHECK(jsonBool(jfo, true));\n  JSONCHECK(jsonNull(jfo));\n  JSONCHECK(jsonUint64(jfo, 9423812381231ULL));\n  JSONCHECK(jsonSize_t(jfo, 3123111));\n  JSONCHECK(jsonDouble(jfo, 0.69423413));\n  JSONCHECK(jsonFinishList(jfo));\n  JSONCHECK(jsonFinishObject(jfo));\n  JSONCHECK(jsonFinalizeFileOutput(jfo));\n\n  FILE* fp = fopen(\"test.json\", \"r\");\n\n  const size_t reflen = sizeof(refstr) / sizeof(char);\n\n  char buffer[reflen];\n\n  fread(buffer, sizeof(char), reflen, fp);\n\n  fclose(fp);\n\n  if (memcmp(buffer, refstr, reflen) == 0) {\n    printf(\"output matches reference\\n\");\n  } else {\n    printf(\"output    %s\\nreference %s\\n\", buffer, refstr);\n    return 1;\n  }\n\n  return 0;\n}\n\n#endif\n"
  },
  {
    "path": "ext-profiler/inspector/json.h",
    "content": "#pragma once\n\n#include <stdbool.h>\n#include <stdint.h>\n#include <stddef.h>\n\ntypedef enum {\n  JSON_NONE, // A pseudo-state meaning that the document is empty\n  JSON_KEY,\n  JSON_OBJECT_EMPTY,\n  JSON_OBJECT_SOME,\n  JSON_LIST_EMPTY,\n  JSON_LIST_SOME,\n} jsonState_t;\n\ntypedef enum {\n  jsonSuccess,\n  jsonFileError,\n  jsonUnknownStateError,\n  jsonEmptyStateError,\n  jsonExpectedNonNoneStateError,\n  jsonStringOverflowError,\n  jsonStringBadChar,\n  jsonMemoryError,\n  jsonLockError,\n} jsonResult_t;\n\nconst char *jsonErrorString(jsonResult_t res);\n\ntypedef struct jsonFileOutput jsonFileOutput;\n\njsonResult_t jsonLockOutput(jsonFileOutput *jfo);\n\njsonResult_t jsonUnlockOutput(jsonFileOutput *jfo);\n\njsonResult_t jsonInitFileOutput(jsonFileOutput **jfo,\n                                const char *outfile);\n\njsonResult_t jsonFinalizeFileOutput(jsonFileOutput *jfo);\n\njsonResult_t jsonNewline(jsonFileOutput *jfo);\njsonResult_t jsonFlushOutput(jsonFileOutput *jfo);\n\n// Emit a key and separator. Santize the key.\n// This is only acceptable if the top state is an object\n// Emit a ',' separator of we aren't the first item.\njsonResult_t jsonKey(jsonFileOutput *jfo, const char *name);\n\n// Start an object\njsonResult_t jsonStartObject(jsonFileOutput *jfo);\n\n// Close an object\njsonResult_t jsonFinishObject(jsonFileOutput *jfo);\n\n// Start a list\njsonResult_t jsonStartList(jsonFileOutput *jfo);\n\n// Close a list\njsonResult_t jsonFinishList(jsonFileOutput *jfo);\n\n// Emit a null value\njsonResult_t jsonNull(jsonFileOutput *jfo);\n\n// Write a (sanititzed) string\njsonResult_t jsonStr(jsonFileOutput *jfo, const char *str);\n\n// Write a bool as \"true\" or \"false\" strings.\njsonResult_t jsonBool(jsonFileOutput *jfo, bool val);\n\n// Write an integer value\njsonResult_t jsonInt(jsonFileOutput *jfo, const int val);\n\n//Write an unsigned int value\njsonResult_t jsonUint32(jsonFileOutput *jfo, const uint32_t val);\n\n// Write an integer value\njsonResult_t jsonUint64(jsonFileOutput *jfo, const uint64_t val);\n\n// Write a size_t value\njsonResult_t jsonSize_t(jsonFileOutput *jfo, const size_t val);\n\n// Write a double value\njsonResult_t jsonDouble(jsonFileOutput *jfo, const double val);\n"
  },
  {
    "path": "ext-profiler/inspector/nccl/common.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef COMMON_H_\n#define COMMON_H_\n\n/* typedef enum {NCCL_LOG_NONE=0, NCCL_LOG_VERSION=1, NCCL_LOG_WARN=2, NCCL_LOG_INFO=3, NCCL_LOG_ABORT=4, NCCL_LOG_TRACE=5} ncclDebugLogLevel; */\n/* typedef enum {NCCL_INIT=1, NCCL_COLL=2, NCCL_P2P=4, NCCL_SHM=8, NCCL_NET=16, NCCL_GRAPH=32, NCCL_TUNING=64, NCCL_ENV=128, NCCL_ALLOC=256, NCCL_CALL=512, NCCL_PROXY=1024, NCCL_NVLS=2048, NCCL_BOOTSTRAP=4096, NCCL_REG=8192, NCCL_ALL=~0} ncclDebugLogSubSys; */\n\n/* Data types */\ntypedef enum { ncclInt8       = 0, ncclChar       = 0,\n               ncclUint8      = 1,\n               ncclInt32      = 2, ncclInt        = 2,\n               ncclUint32     = 3,\n               ncclInt64      = 4,\n               ncclUint64     = 5,\n               ncclFloat16    = 6, ncclHalf       = 6,\n               ncclFloat32    = 7, ncclFloat      = 7,\n               ncclFloat64    = 8, ncclDouble     = 8,\n               ncclBfloat16   = 9,\n               ncclFloat8e4m3 = 10,\n               ncclFloat8e5m2 = 11,\n               ncclNumTypes   = 12\n} ncclDataType_t;\n\ntypedef enum {\n  NCCL_LOG_NONE = 0,\n  NCCL_LOG_VERSION = 1,\n  NCCL_LOG_WARN = 2,\n  NCCL_LOG_INFO = 3,\n  NCCL_LOG_ABORT = 4,\n  NCCL_LOG_TRACE = 5\n} ncclDebugLogLevel;\n\ntypedef enum { ncclSuccess                 =  0,\n               ncclUnhandledCudaError      =  1,\n               ncclSystemError             =  2,\n               ncclInternalError           =  3,\n               ncclInvalidArgument         =  4,\n               ncclInvalidUsage            =  5,\n               ncclRemoteError             =  6,\n               ncclInProgress              =  7,\n               ncclNumResults              =  8 } ncclResult_t;\n\n\ntypedef enum {\n  NCCL_INIT = 0x1,\n  NCCL_COLL = 0x2,\n  NCCL_P2P = 0x4,\n  NCCL_SHM = 0x8,\n  NCCL_NET = 0x10,\n  NCCL_GRAPH = 0x20,\n  NCCL_TUNING = 0x40,\n  NCCL_ENV = 0x80,\n  NCCL_ALLOC = 0x100,\n  NCCL_CALL = 0x200,\n  NCCL_PROXY = 0x400,\n  NCCL_NVLS = 0x800,\n  NCCL_BOOTSTRAP = 0x1000,\n  NCCL_REG = 0x2000,\n  NCCL_PROFILE = 0x4000,\n  NCCL_RAS = 0x8000,\n  NCCL_INSPECTOR = 0x100000, // big number to avoid short-term conflicts\n  NCCL_ALL = ~0\n} ncclDebugLogSubSys;\n\n\ntypedef void (*ncclDebugLogger_t)(ncclDebugLogLevel level, unsigned long flags, const char *file, int line, const char *fmt, ...);\n\n#endif\n"
  },
  {
    "path": "ext-profiler/inspector/nccl/profiler.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_H_\n#define PROFILER_H_\n\n#include <stdint.h>\n#include <stdlib.h>\n\n#include \"common.h\"\n\nenum {\n  ncclProfileGroup          = (1 << 0),  // group event type\n  ncclProfileColl           = (1 << 1),  // host collective call event type\n  ncclProfileP2p            = (1 << 2),  // host point-to-point call event type\n  ncclProfileProxyOp        = (1 << 3),  // proxy operation event type\n  ncclProfileProxyStep      = (1 << 4),  // proxy step event type\n  ncclProfileProxyCtrl      = (1 << 5),  // proxy control event type\n  ncclProfileKernelCh       = (1 << 6),  // kernel channel event type\n  ncclProfileNetPlugin      = (1 << 7),  // network plugin-defined, events\n  ncclProfileGroupApi       = (1 << 8),  // Group API events\n  ncclProfileCollApi        = (1 << 9),  // Collective API events\n  ncclProfileP2pApi         = (1 << 10), // Point-to-Point API events\n  ncclProfileKernelLaunch   = (1 << 11), // Kernel launch events\n};\n\ntypedef enum {\n  ncclProfilerProxyOpSendPosted        = 0,  // deprecated in v4\n  ncclProfilerProxyOpSendRemFifoWait   = 1,  // deprecated in v4\n  ncclProfilerProxyOpSendTransmitted   = 2,  // deprecated in v4\n  ncclProfilerProxyOpSendDone          = 3,  // deprecated in v4\n  ncclProfilerProxyOpRecvPosted        = 4,  // deprecated in v4\n  ncclProfilerProxyOpRecvReceived      = 5,  // deprecated in v4\n  ncclProfilerProxyOpRecvTransmitted   = 6,  // deprecated in v4\n  ncclProfilerProxyOpRecvDone          = 7,  // deprecated in v4\n  ncclProfilerProxyOpInProgress_v4     = 19,\n\n  /* Legacy proxy profiler states */\n  ncclProfilerProxyStepSendGPUWait     = 8,\n  ncclProfilerProxyStepSendPeerWait_v4 = 20,\n  ncclProfilerProxyStepSendWait        = 9,\n  ncclProfilerProxyStepRecvWait        = 10,\n  ncclProfilerProxyStepRecvFlushWait   = 11,\n  ncclProfilerProxyStepRecvGPUWait     = 12,\n\n  /* Legacy proxy control states */\n  ncclProfilerProxyCtrlIdle            = 13,\n  ncclProfilerProxyCtrlActive          = 14,\n  ncclProfilerProxyCtrlSleep           = 15,\n  ncclProfilerProxyCtrlWakeup          = 16,\n  ncclProfilerProxyCtrlAppend          = 17,\n  ncclProfilerProxyCtrlAppendEnd       = 18,\n\n  /* Network defined events states */\n  ncclProfilerNetPluginUpdate          = 21,\n\n  /* Kernel event states */\n  ncclProfilerKernelChStop             = 22,\n\n  /* Group API States */\n  ncclProfilerEndGroupApiStart         = 23,\n  ncclProfilerBeginGroupApiEnd         = 24\n} ncclProfilerEventState_t;\n\ntypedef ncclProfilerEventState_t ncclProfilerEventState_v1_t;\ntypedef ncclProfilerEventState_t ncclProfilerEventState_v2_t;\ntypedef ncclProfilerEventState_t ncclProfilerEventState_v3_t;\ntypedef ncclProfilerEventState_t ncclProfilerEventState_v4_t;\ntypedef ncclProfilerEventState_t ncclProfilerEventState_v5_t;\n\n#include \"profiler_v5.h\"\n#include \"profiler_v4.h\"\n#include \"profiler_v3.h\"\n#include \"profiler_v2.h\"\n#include \"profiler_v1.h\"\n#include \"profiler_net.h\"\n\ntypedef ncclProfiler_v5_t ncclProfiler_t;\ntypedef ncclProfilerEventDescr_v5_t ncclProfilerEventDescr_t;\ntypedef ncclProfilerEventStateArgs_v5_t ncclProfilerEventStateArgs_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "ext-profiler/inspector/nccl/profiler_net.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_NET_H_\n#define PROFILER_NET_H_\n\n#define NCCL_PROFILER_NET_VER_BITS  (16)\n#define NCCL_PROFILER_NET_VER_MASK  (~0U >> NCCL_PROFILER_NET_VER_BITS)\n#define NCCL_PROFILER_NET_TYPE_MASK (~0U << NCCL_PROFILER_NET_VER_BITS)\n\ntypedef enum {\n  NCCL_PROFILER_NET_TYPE_IB   = (1U << NCCL_PROFILER_NET_VER_BITS),\n  NCCL_PROFILER_NET_TYPE_SOCK = (2U << NCCL_PROFILER_NET_VER_BITS),\n} ncclProfilerNetType;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/inspector/nccl/profiler_v1.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_V1_H_\n#define PROFILER_V1_H_\n\n#include <stdint.h>\n#include <stddef.h>\n#include <sys/types.h>\n\n\ntypedef struct {\n  uint8_t type;                 // event type descriptor: ncclProfileColl, ...\n  void* parentObj;              // pointer to the profiler parent object (for coll is the group)\n  int rank;                     // originating rank\n  union {\n    struct {\n      const char* name;\n      uint64_t commHash;\n      uint64_t seqNumber;\n      uint8_t func;\n      void const* sendBuff;\n      void* recvBuff;\n      size_t count;\n      int root;\n      uint8_t datatype;\n      uint32_t op;\n      size_t trafficBytes;\n      uint8_t nMaxChannels;\n      uint8_t nWarps;\n      uint8_t algo;\n      uint8_t proto;\n      int isCollnet;\n      int isNvls;\n    } coll;\n\n    struct {\n      const char* name;\n      uint64_t commHash;\n      uint8_t func;\n      void* buff;\n      uint8_t datatype;\n      size_t count;\n      int peer;\n    } p2p;\n\n    struct {\n      pid_t pid;                // pid of the originating process\n      uint8_t channelId;        // channel id for this proxy operation\n      int peer;                 // remote rank for send/recv\n      int nSteps;               // number of steps for this proxy operation\n      int chunkSize;            // amount of data transferred by this proxy operation\n      int isSend;\n    } proxyOp;\n\n    struct {\n      int step;\n    } proxyStep;\n  };\n} ncclProfilerEventDescr_v1_t;\n\ntypedef union {\n  struct {\n    size_t transSize;\n    int steps;\n  } proxyOp;\n\n  struct {\n    int appendedProxyOps;\n  } proxyCtrl;\n} ncclProfilerEventStateArgs_v1_t;\n\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, int* eActivationMask);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v1_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v1_t eState, ncclProfilerEventStateArgs_v1_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v1_t;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/inspector/nccl/profiler_v2.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_V2_H_\n#define PROFILER_V2_H_\n\n#include <stdint.h>\n#include <stddef.h>\n#include <sys/types.h>\n\ntypedef struct {\n  uint8_t type;                 // event type descriptor: ncclProfileColl, ...\n  void* parentObj;              // pointer to the profiler parent object (for coll is the group)\n  int rank;                     // originating rank\n  union {\n    struct {\n      const char* name;\n      uint64_t commHash;\n      uint64_t seqNumber;\n      const char* func;\n      void const* sendBuff;\n      void* recvBuff;\n      size_t count;\n      int root;\n      const char* datatype;\n      size_t trafficBytes;\n      uint8_t nMaxChannels;\n      uint8_t nWarps;\n      const char* algo;\n      const char* proto;\n    } coll;\n\n    struct {\n      const char* name;\n      uint64_t commHash;\n      const char* func;\n      void* buff;\n      const char* datatype;\n      size_t count;\n      int peer;\n    } p2p;\n\n    struct {\n      pid_t pid;                // pid of the originating process\n      uint8_t channelId;        // channel id for this proxy operation\n      int peer;                 // remote rank for send/recv\n      int nSteps;               // number of steps for this proxy operation\n      int chunkSize;            // amount of data transferred by this proxy operation\n      int isSend;\n    } proxyOp;\n\n    struct {\n      int step;\n    } proxyStep;\n  };\n} ncclProfilerEventDescr_v2_t;\n\ntypedef union {\n  struct {\n    size_t transSize;\n    int steps;\n  } proxyOp;\n\n  struct {\n    int appendedProxyOps;\n  } proxyCtrl;\n} ncclProfilerEventStateArgs_v2_t;\n\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, int* eActivationMask);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v2_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v2_t eState, ncclProfilerEventStateArgs_v2_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v2_t;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/inspector/nccl/profiler_v3.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_V3_H_\n#define PROFILER_V3_H_\n\n#include <stdint.h>\n#include <stddef.h>\n#include <sys/types.h>\n\ntypedef struct {\n  uint8_t type;                 // event type descriptor: ncclProfileColl, ...\n  void* parentObj;              // pointer to the profiler parent object (for coll is the group)\n  int rank;                     // originating rank\n  union {\n    struct {\n      const char* name;\n      uint64_t commHash;\n      uint64_t seqNumber;\n      const char* func;\n      void const* sendBuff;\n      void* recvBuff;\n      size_t count;\n      int root;\n      const char* datatype;\n      uint8_t nMaxChannels;\n      uint8_t nWarps;\n      const char* algo;\n      const char* proto;\n    } coll;\n\n    struct {\n      const char* name;\n      uint64_t commHash;\n      const char* func;\n      void* buff;\n      const char* datatype;\n      size_t count;\n      int peer;\n    } p2p;\n\n    struct {\n      pid_t pid;                // pid of the originating process\n      uint8_t channelId;        // channel id for this proxy operation\n      int peer;                 // remote rank for send/recv\n      int nSteps;               // number of steps for this proxy operation\n      int chunkSize;            // amount of data transferred by this proxy operation\n      int isSend;\n    } proxyOp;\n\n    struct {\n      int step;\n    } proxyStep;\n\n    struct {\n      uint8_t channelId;\n    } kernelCh;\n\n    struct {\n      int64_t id;\n      void* data;\n    } netPlugin;\n  };\n} ncclProfilerEventDescr_v3_t;\n\ntypedef union {\n  struct {\n    size_t transSize;\n    int steps;\n  } proxyOp;\n\n  struct {\n    int appendedProxyOps;\n  } proxyCtrl;\n} ncclProfilerEventStateArgs_v3_t;\n\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, int* eActivationMask);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v3_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v3_t eState, ncclProfilerEventStateArgs_v3_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v3_t;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/inspector/nccl/profiler_v4.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_V4_H_\n#define PROFILER_V4_H_\n\n#include <stdint.h>\n#include <stddef.h>\n#include <sys/types.h>\n\ntypedef struct {\n  uint8_t type;                 // event type descriptor: ncclProfileColl, ...\n  void* parentObj;              // pointer to the profiler parent object (for coll is the group)\n  int rank;                     // originating rank\n  union {\n    struct {\n      uint64_t seqNumber;\n      const char* func;\n      void const* sendBuff;\n      void* recvBuff;\n      size_t count;\n      int root;\n      const char* datatype;\n      uint8_t nChannels;\n      uint8_t nWarps;\n      const char* algo;\n      const char* proto;\n    } coll;\n\n    struct {\n      const char* func;\n      void* buff;\n      const char* datatype;\n      size_t count;\n      int peer;\n      uint8_t nChannels;\n    } p2p;\n\n    struct {\n      pid_t pid;                // pid of the originating process\n      uint8_t channelId;        // channel id for this proxy operation\n      int peer;                 // remote rank for send/recv\n      int nSteps;               // number of steps for this proxy operation\n      int chunkSize;            // amount of data transferred by this proxy operation\n      int isSend;\n    } proxyOp;\n\n    struct {\n      int step;\n    } proxyStep;\n\n    struct {\n      uint8_t channelId;\n      uint64_t pTimer;          // start timestamp from GPU globaltimer\n    } kernelCh;\n\n    struct {\n      int64_t id;\n      void* data;\n    } netPlugin;\n  };\n} ncclProfilerEventDescr_v4_t;\n\ntypedef union {\n  struct {\n    size_t transSize;\n  } proxyStep;\n\n  struct {\n    int appendedProxyOps;\n  } proxyCtrl;\n\n  struct {\n    void* data;\n  } netPlugin;\n\n  struct {\n    uint64_t pTimer;\n  } kernelCh;\n} ncclProfilerEventStateArgs_v4_t;\n\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  //  - commName       : user assigned communicator name\n  //  - commHash       : communicator id\n  //  - nNodes         : number of nodes in communicator\n  //  - nranks         : number of ranks in communicator\n  //  - rank           : rank identifier in communicator\n  //  - logfn          : logger function\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, int* eActivationMask, const char* commName, uint64_t commHash, int nNodes, int nranks, int rank, ncclDebugLogger_t logfn);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v4_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v4_t eState, ncclProfilerEventStateArgs_v4_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v4_t;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/inspector/nccl/profiler_v5.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_V5_H_\n#define PROFILER_V5_H_\n\ntypedef struct {\n  uint64_t type;                // event type descriptor: ncclProfileColl, ...\n  void* parentObj;              // pointer to the profiler parent object (for coll is the group)\n  int rank;                     // originating rank\n  union {\n    struct {\n      bool graphCaptured;\n      int groupDepth;\n    } groupApi;\n\n    struct {\n      const char* func;\n      size_t count;\n      const char* datatype;\n      int root;\n      void* stream;\n      bool graphCaptured;\n    } collApi;\n\n    struct {\n      const char* func;\n      size_t count;\n      const char* datatype;\n      void* stream;\n      bool graphCaptured;\n    } p2pApi;\n\n    struct {\n      void* stream;\n    } kernelLaunch;\n\n    struct {\n      uint64_t seqNumber;\n      const char* func;\n      void const* sendBuff;\n      void* recvBuff;\n      size_t count;\n      int root;\n      const char* datatype;\n      uint8_t nChannels;\n      uint8_t nWarps;\n      const char* algo;\n      const char* proto;\n      void* parentGroup; // for backward compatibility with v4\n    } coll;\n\n    struct {\n      const char* func;\n      void* buff;\n      const char* datatype;\n      size_t count;\n      int peer;\n      uint8_t nChannels;\n      void* parentGroup; // for backward compatibility with v4\n    } p2p;\n\n    struct {\n      pid_t pid;                // pid of the originating process\n      uint8_t channelId;        // channel id for this proxy operation\n      int peer;                 // remote rank for send/recv\n      int nSteps;               // number of steps for this proxy operation\n      int chunkSize;            // amount of data transferred by this proxy operation\n      int isSend;\n    } proxyOp;\n\n    struct {\n      int step;\n    } proxyStep;\n\n    struct {\n      uint8_t channelId;\n      uint64_t pTimer;          // start timestamp from GPU globaltimer\n    } kernelCh;\n\n    struct {\n      int64_t id;\n      void* data;\n    } netPlugin;\n  };\n} ncclProfilerEventDescr_v5_t;\n\ntypedef union {\n  struct {\n    size_t transSize;\n  } proxyStep;\n\n  struct {\n    int appendedProxyOps;\n  } proxyCtrl;\n\n  struct {\n    void* data;\n  } netPlugin;\n\n  struct {\n    uint64_t pTimer;\n  } kernelCh;\n} ncclProfilerEventStateArgs_v5_t;\n\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  //  - commId         : communicator id\n  //  - commName       : user assigned communicator name\n  //  - nNodes         : number of nodes in communicator\n  //  - nranks         : number of ranks in communicator\n  //  - rank           : rank identifier in communicator\n  //  - logfn          : logger function\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, uint64_t commId, int* eActivationMask, const char* commName, int nNodes, int nranks, int rank, ncclDebugLogger_t logfn);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v5_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v5_t eState, ncclProfilerEventStateArgs_v5_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v5_t;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/inspector/nccl/types.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NCCL_TYPES_H_\n#define NCCL_TYPES_H_\n\n/* Data types */\ntypedef enum { ncclInt8       = 0, ncclChar       = 0,\n               ncclUint8      = 1,\n               ncclInt32      = 2, ncclInt        = 2,\n               ncclUint32     = 3,\n               ncclInt64      = 4,\n               ncclUint64     = 5,\n               ncclFloat16    = 6, ncclHalf       = 6,\n               ncclFloat32    = 7, ncclFloat      = 7,\n               ncclFloat64    = 8, ncclDouble     = 8,\n               ncclBfloat16   = 9,\n} ncclDataType_t;\n\n#endif\n"
  },
  {
    "path": "ext-profiler/inspector/version.h",
    "content": "#ifndef VERSION_H\n#define VERSION_H\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\nconst char* get_git_version_info();\n#ifdef __cplusplus\n} /* extern \"C\" */\n#endif\n\n#endif // VERSION_H\n"
  },
  {
    "path": "ext-src/bf16-tuning.patch",
    "content": "diff --git a/apps/nccl/src/allreduce.hpp b/apps/nccl/src/allreduce.hpp\nindex 7a2cd4a..a14dfbc 100644\n--- a/apps/nccl/src/allreduce.hpp\n+++ b/apps/nccl/src/allreduce.hpp\n@@ -850,7 +850,7 @@ cudaError_t allreduce(T* buff, T* scratch, T* resultBuff, mscclpp::DeviceHandle<\n                                                          flag++);\n #endif\n   } else {\n-    int nBlocks = 5*(nRanksPerNode - 1);\n+    int nBlocks = 8 * (nRanksPerNode - 1);\n     int nThreadsPerBlock = 512;\n     if (hieAllred && worldSize >= 8) {\n \tnBlocks = 20;\ndiff --git a/apps/nccl/src/common.hpp b/apps/nccl/src/common.hpp\nindex ca2c272..a6056ea 100644\n--- a/apps/nccl/src/common.hpp\n+++ b/apps/nccl/src/common.hpp\n@@ -17,7 +17,7 @@ constexpr int NRANKS1_PER_NODE = 4;\n constexpr int NRANKS_PER_NODE = 8;\n constexpr int NPEERS = 7;\n \n-constexpr int SCRATCH_SIZE = 2 * 1024 * 1024 * 70;  // double buffer * 35 thread-blocks * 8 ranks * 256KB = 70MB\n+constexpr int SCRATCH_SIZE = 2 * 1024 * 1024 * 112;  // double buffer * 56 thread-blocks * 8 ranks * 256KB = 112MB\n \n __device__ mscclpp::DeviceSyncer deviceSyncer;\n \n"
  },
  {
    "path": "ext-src/check_ibv_access_relaxed_ordering.cc",
    "content": "#include <stdio.h>\n#include <infiniband/verbs.h>\n\nint main(void) {\n  enum ibv_access_flags has_ibv_access_relaxed_ordering = IBV_ACCESS_RELAXED_ORDERING;\n  printf(\"IBV_ACCESS_RELAXED_ORDERING: %d\\n\", has_ibv_access_relaxed_ordering);\n  return 0;\n}\n"
  },
  {
    "path": "ext-src/cpx.patch",
    "content": "diff --git a/src/numa.cc b/src/numa.cc\nindex d72c99e..16c903d 100644\n--- a/src/numa.cc\n+++ b/src/numa.cc\n@@ -26,6 +26,7 @@ namespace mscclpp {\n \n MSCCLPP_API_CPP int getDeviceNumaNode(int cudaDev) {\n   std::string busId = getBusId(cudaDev);\n+  busId[busId.length() - 1] = '0';\n   std::string file_str = \"/sys/bus/pci/devices/\" + busId + \"/numa_node\";\n   std::ifstream file(file_str);\n   int numaNode;\n"
  },
  {
    "path": "ext-src/device-flag.patch",
    "content": "diff --git a/apps/nccl/src/allreduce.hpp b/apps/nccl/src/allreduce.hpp\nindex 9f46ff9..fac105a 100644\n--- a/apps/nccl/src/allreduce.hpp\n+++ b/apps/nccl/src/allreduce.hpp\n@@ -199,11 +199,17 @@ template <typename T>\n __global__ void __launch_bounds__(32, 1)\n     allreduceAllToAll(T* buff, T* scratch, T* resultBuff, mscclpp::DeviceHandle<mscclpp::SmChannel>* smChannels,\n                       size_t channelDataOffset, size_t channelScratchOffset, int rank, int nRanksPerNode, int worldSize,\n-                      size_t nelems, uint32_t flag) {\n+                      size_t nelems, uint32_t* deviceFlag, mscclpp::DeviceSyncer* deviceSyncer) {\n   // This version of allreduce only works for single nodes\n   if (worldSize != nRanksPerNode) return;\n   if (sizeof(T) == 2) nelems = (nelems * sizeof(T) + sizeof(T)) / sizeof(int);\n   const int nPeers = nRanksPerNode - 1;\n+  \n+  uint32_t flag = *deviceFlag;\n+\n+  size_t scratchBaseOffset = (flag % 2) ? SCRATCH_SIZE/2 : 0;\n+  channelScratchOffset = scratchBaseOffset;\n+\n   const int nBlocksPerPeer = gridDim.x / nPeers;\n   const int localBlockIdx = blockIdx.x % nBlocksPerPeer;\n   const int tid = threadIdx.x + localBlockIdx * blockDim.x;\n@@ -237,13 +243,20 @@ __global__ void __launch_bounds__(32, 1)\n     data = add_vectors<T>(data, src[idx]);\n     dst[idx] = data;\n   }\n+  __syncthreads();\n+\n+  deviceSyncer->sync(gridDim.x);\n+\n+  if (blockIdx.x == 0 && threadIdx.x == 0) {\n+         *deviceFlag = *deviceFlag + 1;\n+  }\n }\n \n template <typename T>\n __global__ void __launch_bounds__(1024, 1)\n     allreduce7(T* buff, T* scratch, T* resultBuff, mscclpp::DeviceHandle<mscclpp::SmChannel>* smChannels,\n                size_t channelDataOffset, size_t channelScratchOffset, int rank, int nRanksPerNode, int worldSize,\n-               size_t nelems, uint32_t flag\n+               size_t nelems, uint32_t* deviceFlag, mscclpp::DeviceSyncer* deviceSyncer\n #if defined(ENABLE_NPKIT)\n                ,\n                NpKitEventCollectContext* npKitEventCollectContexts, uint64_t* cpuTimestamp) {\n@@ -290,6 +303,12 @@ __global__ void __launch_bounds__(1024, 1)\n   if ((nelemsPerRank % 2)) nelemsPerRank = (nelemsPerRank * sizeof(T) + sizeof(T)) / sizeof(T);\n \n   const int nPktsPerRank = nelemsPerRank / 2;\n+\n+  uint32_t flag = *deviceFlag;\n+\n+  size_t scratchBaseOffset = (flag % 2) ? SCRATCH_SIZE/2 : 0;\n+  channelScratchOffset = scratchBaseOffset;\n+\n   // thread block & channel info\n   const int nBlocksPerPeer = gridDim.x / nPeers;\n   const int localBlockIdx = blockIdx.x % nBlocksPerPeer;\n@@ -339,6 +358,8 @@ __global__ void __launch_bounds__(1024, 1)\n       channels[index].write(offset, packet);\n     }\n   }\n+  __syncthreads();\n+\n   // step 3: get data result from scratch buffer\n   mscclpp::LLPacket* dstPkt = (mscclpp::LLPacket*)((char*)scratch + scratchResultOffset);\n   const int dstOffset = remoteRank * nPktsPerRank;\n@@ -348,6 +369,7 @@ __global__ void __launch_bounds__(1024, 1)\n     result[idx].x = data.x;\n     result[idx].y = data.y;\n   }\n+  __syncthreads();\n #if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_KERNEL_ALLREDUCE_ENTRY) && \\\n     defined(ENABLE_NPKIT_EVENT_KERNEL_ALLREDUCE_EXIT)\n   NpKit::CollectGpuEventShm(NPKIT_EVENT_KERNEL_ALLREDUCE_ENTRY, 0, 0, npkit_timestamp_entry, event_buffer,\n@@ -358,6 +380,11 @@ __global__ void __launch_bounds__(1024, 1)\n #if defined(ENABLE_NPKIT)\n   NpKit::StoreGpuEventShm(npKitEventCollectContexts, event_buffer, event_buffer_head);\n #endif\n+  deviceSyncer->sync(gridDim.x);\n+\n+  if (blockIdx.x == 0 && threadIdx.x == 0) {\n+         *deviceFlag = *deviceFlag + 1;\n+  }\n }\n \n template <typename T>\n@@ -977,7 +1004,7 @@ cudaError_t allreduce(T* buff, T* scratch, T* resultBuff, mscclpp::DeviceHandle<\n                       mscclpp::DeviceHandle<mscclpp::SmChannel>* smScrChannels,\n \t\t      mscclpp::DeviceHandle<mscclpp::SmChannel>* smOutChannels, size_t channelInOffset,\n                       size_t channelOutOffset, size_t channelScratchOffset, int rank, int nRanksPerNode, int worldSize,\n-                      size_t nelems, cudaStream_t stream) {\n+                      size_t nelems, cudaStream_t stream, uint32_t* deviceFlag, mscclpp::DeviceSyncer* syncer) {\n   static uint32_t flag = 1;\n \n   nRanksPerNode = (worldSize < nRanksPerNode) ? worldSize : nRanksPerNode;\n@@ -986,8 +1013,8 @@ cudaError_t allreduce(T* buff, T* scratch, T* resultBuff, mscclpp::DeviceHandle<\n     int nBlocks = nRanksPerNode - 1;\n     int nThreadsPerBlock = 32;\n     allreduceAllToAll<<<nBlocks, nThreadsPerBlock, 0, stream>>>(buff, scratch, resultBuff, smChannels,\n-\t\t    channelInOffset, channelScratchOffset, rank, nRanksPerNode, worldSize, nelems, flag++);\n-  } else if (sizeof(T) * nelems <= (1 << 20)) {\n+\t\t    channelInOffset, channelScratchOffset, rank, nRanksPerNode, worldSize, nelems, deviceFlag, syncer);\n+  } else if (sizeof(T) * nelems <= (1 << 18)) {\n     int nBlocks = 4*(nRanksPerNode - 1);\n     int nThreadsPerBlock = 1024;\n     if (nelems >= 8192) {\n@@ -998,11 +1025,11 @@ cudaError_t allreduce(T* buff, T* scratch, T* resultBuff, mscclpp::DeviceHandle<\n     size_t NpkitSharedMemSize = NPKIT_SHM_NUM_EVENTS * sizeof(NpKitEvent);\n     allreduce7<<<nBlocks, nThreadsPerBlock, NpkitSharedMemSize, stream>>>(\n         buff, scratch, resultBuff, smChannels, channelInOffset, channelScratchOffset, rank, nRanksPerNode, worldSize,\n-        nelems, flag++, NpKit::GetGpuEventCollectContexts(), NpKit::GetCpuTimestamp());\n+        nelems, deviceFlag, syncer, NpKit::GetGpuEventCollectContexts(), NpKit::GetCpuTimestamp());\n #else\n     allreduce7<<<nBlocks, nThreadsPerBlock, 0, stream>>>(buff, scratch, resultBuff, smChannels, channelInOffset,\n                                                          channelScratchOffset, rank, nRanksPerNode, worldSize, nelems,\n-                                                         flag++);\n+                                                         deviceFlag, syncer);\n #endif\n   } else {\n     int nBlocks = 8 * (nRanksPerNode - 1);\ndiff --git a/apps/nccl/src/nccl.cu b/apps/nccl/src/nccl.cu\nindex b8d04d4..ac33e1c 100644\n--- a/apps/nccl/src/nccl.cu\n+++ b/apps/nccl/src/nccl.cu\n@@ -93,6 +93,8 @@ struct ncclComm {\n \n   uint32_t numScratchBuff;\n   uint32_t buffFlag;\n+  uint32_t* deviceFlag;\n+  mscclpp::DeviceSyncer *syncer;\n };\n \n struct handleInfo {\n@@ -228,7 +230,7 @@ static ncclResult_t ncclAllReduceFallback(const void* sendbuff, void* recvbuff,\n   size_t bytes = count * ncclTypeSize(datatype);\n \n   // Creating the channels\n-  if (count * ncclTypeSize(datatype) <= (1 << 20)) {\n+  if (count * ncclTypeSize(datatype) <= (1 << 18)) {\n     auto sendIt = comm->channelScratchInfos.find(sendKey);\n     if (sendIt == comm->channelScratchInfos.end()) {\n       std::vector<mscclpp::SmChannel> channels =\n@@ -286,24 +288,28 @@ static ncclResult_t ncclAllReduceFallback(const void* sendbuff, void* recvbuff,\n   switch (datatype) {\n     case ncclFloat16:\n       CUDACHECK(allreduce((half*)sendbuff, (half*)comm->scratchBuff.get(), (half*)recvbuff, smChannels, smScrChannels,\n-\tsmOutChannels, offsetIn, offsetOut, offsetScratch, rank, NRANKS_PER_NODE, comm->comm->bootstrap()->getNranks(), count, stream));\n+\t\tsmOutChannels, offsetIn, offsetOut, offsetScratch, rank, NRANKS_PER_NODE, \n+\t\tcomm->comm->bootstrap()->getNranks(), count, stream, comm->deviceFlag, comm->syncer));\n       break;\n     case ncclFloat32:\n       CUDACHECK(allreduce((float*)sendbuff, (float*)comm->scratchBuff.get(), (float*)recvbuff, smChannels,\n                           smScrChannels, smOutChannels, offsetIn, offsetOut, offsetScratch,\n \t\t\t   comm->comm->bootstrap()->getRank(),\n-                          NRANKS_PER_NODE, comm->comm->bootstrap()->getNranks(), count, stream));\n+                          NRANKS_PER_NODE, comm->comm->bootstrap()->getNranks(), count, stream, comm->deviceFlag, \n+\t\t\t  comm->syncer));\n       break;\n     case ncclBfloat16:\n       CUDACHECK(allreduce((__bfloat16*)sendbuff, (__bfloat16*)comm->scratchBuff.get(), (__bfloat16*)recvbuff,\n                           smChannels, smScrChannels, smOutChannels, offsetIn, offsetOut, offsetScratch, rank,\n-\t\t\t   NRANKS_PER_NODE, comm->comm->bootstrap()->getNranks(), count, stream));\n+\t\t\t   NRANKS_PER_NODE, comm->comm->bootstrap()->getNranks(), count, stream, comm->deviceFlag, \n+\t\t\t   comm->syncer));\n       break;\n     case ncclInt32:\n     case ncclUint32:\n       CUDACHECK(allreduce((int*)sendbuff, (int*)comm->scratchBuff.get(), (int*)recvbuff, smChannels, smScrChannels,\n \t\t\t  smOutChannels, offsetIn, offsetOut, offsetScratch, comm->comm->bootstrap()->getRank(),\n-\t\t\t  NRANKS_PER_NODE, comm->comm->bootstrap()->getNranks(), count, stream));\n+\t\t\t  NRANKS_PER_NODE, comm->comm->bootstrap()->getNranks(), count, stream, comm->deviceFlag, \n+\t\t\t  comm->syncer));\n       break;\n     default:\n       WARN(\"datatype is invalid\");\n@@ -409,6 +415,13 @@ static void ncclCommInitRankFallbackSingleNode(ncclComm* commPtr, std::shared_pt\n   commPtr->scratchBuff = mscclpp::GpuBuffer(SCRATCH_SIZE).memory();\n   commPtr->remoteScratchRegMemories =\n       setupRemoteMemories(commPtr->comm, rank, commPtr->scratchBuff.get(), SCRATCH_SIZE, mscclpp::Transport::CudaIpc);\n+\n+  cudaMalloc((void**)&(commPtr->syncer), sizeof(mscclpp::DeviceSyncer));\n+  cudaMemset((void*)(commPtr->syncer), 0, sizeof(mscclpp::DeviceSyncer));\n+\n+  uint32_t initFlag = 1;\n+  cudaMalloc((void**)&(commPtr->deviceFlag), sizeof(uint32_t));\n+  cudaMemcpy((void*)(commPtr->deviceFlag), &initFlag, sizeof(uint32_t), cudaMemcpyHostToDevice);\n }\n \n NCCL_API ncclResult_t ncclGetVersion(int* version) {\n@@ -506,6 +519,8 @@ NCCL_API ncclResult_t ncclCommDestroy(ncclComm_t comm) {\n     NpKit::Shutdown();\n   }\n #endif\n+  cudaFree(comm->deviceFlag);\n+  cudaFree(comm->syncer);\n   delete comm;\n   return ncclSuccess;\n }\n"
  },
  {
    "path": "ext-src/disable-executor.patch",
    "content": "diff --git a/CMakeLists.txt b/CMakeLists.txt\nindex a94b634..fee3bb2 100644\n--- a/CMakeLists.txt\n+++ b/CMakeLists.txt\n@@ -22,6 +22,7 @@ option(MSCCLPP_USE_CUDA \"Use NVIDIA/CUDA.\" OFF)\n option(MSCCLPP_USE_ROCM \"Use AMD/ROCm.\" OFF)\n option(MSCCLPP_BYPASS_GPU_CHECK \"Bypass GPU check.\" OFF)\n option(MSCCLPP_NPKIT_FLAGS \"Enable NPKIT\" OFF)\n+option(MSCCLPP_ENABLE_EXECUTOR \"Enable JSON Executor\" OFF)\n \n if(MSCCLPP_BYPASS_GPU_CHECK)\n     if(MSCCLPP_USE_CUDA)\n@@ -100,15 +101,21 @@ find_package(NUMA REQUIRED)\n find_package(Threads REQUIRED)\n \n include(FetchContent)\n-FetchContent_Declare(json URL https://github.com/nlohmann/json/releases/download/v3.11.3/json.tar.xz)\n-FetchContent_MakeAvailable(json)\n+if(MSCCLPP_ENABLE_EXECUTOR)\n+  FetchContent_Declare(json URL https://github.com/nlohmann/json/releases/download/v3.11.3/json.tar.xz)\n+  FetchContent_MakeAvailable(json)\n+endif()\n \n add_library(mscclpp_obj OBJECT)\n target_include_directories(mscclpp_obj\n     SYSTEM PRIVATE\n     ${GPU_INCLUDE_DIRS}\n     ${NUMA_INCLUDE_DIRS})\n-target_link_libraries(mscclpp_obj PRIVATE ${GPU_LIBRARIES} ${NUMA_LIBRARIES} nlohmann_json::nlohmann_json Threads::Threads dl)\n+if(MSCCLPP_ENABLE_EXECUTOR)\n+  target_link_libraries(mscclpp_obj PRIVATE ${GPU_LIBRARIES} ${NUMA_LIBRARIES} nlohmann_json::nlohmann_json Threads::Threads dl)\n+else()\n+  target_link_libraries(mscclpp_obj PRIVATE ${GPU_LIBRARIES} ${NUMA_LIBRARIES} Threads::Threads dl)\n+endif()\n if(IBVERBS_FOUND)\n     target_include_directories(mscclpp_obj SYSTEM PRIVATE ${IBVERBS_INCLUDE_DIRS})\n     target_link_libraries(mscclpp_obj PRIVATE ${IBVERBS_LIBRARIES})\ndiff --git a/apps/nccl/src/nccl.cu b/apps/nccl/src/nccl.cu\nindex f91d15e..d11f4e5 100644\n--- a/apps/nccl/src/nccl.cu\n+++ b/apps/nccl/src/nccl.cu\n@@ -6,7 +6,9 @@\n #include <mscclpp/concurrency_device.hpp>\n #include <mscclpp/core.hpp>\n #include <mscclpp/env.hpp>\n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n #include <mscclpp/executor.hpp>\n+#endif\n #include <mscclpp/sm_channel.hpp>\n #include <mscclpp/sm_channel_device.hpp>\n #include <mscclpp/utils.hpp>\n@@ -54,10 +56,12 @@ struct planKey {\n   bool isInPlace;\n };\n \n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n struct executionPlanInstance {\n   planKey key;\n   std::shared_ptr<mscclpp::ExecutionPlan> plan;\n };\n+#endif\n \n namespace std {\n template <>\n@@ -77,8 +81,10 @@ struct ncclComm {\n   std::shared_ptr<mscclpp::Communicator> comm;\n   std::vector<std::shared_ptr<mscclpp::Connection>> connections;\n   std::vector<std::shared_ptr<mscclpp::SmDevice2DeviceSemaphore>> smSemaphores;\n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n   std::shared_ptr<mscclpp::Executor> executor;\n   std::unordered_map<std::string, std::vector<executionPlanInstance>> executionPlans;\n+#endif\n \n   std::unordered_map<channelKey, ChannelInfo> channelInInfos;\n   std::unordered_map<channelKey, ChannelInfo> channelOutInfos;\n@@ -164,12 +170,14 @@ static std::vector<mscclpp::SmChannel> setupSmChannels(ncclComm_t comm,\n   return channels;\n }\n \n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n static std::pair<std::string, executionPlanInstance> loadExecutionPlan(const std::string& filename) {\n   std::shared_ptr<mscclpp::ExecutionPlan> plan = std::make_shared<mscclpp::ExecutionPlan>(filename);\n   std::string collective = plan->collective();\n   planKey key{plan->minMessageSize(), plan->maxMessageSize(), plan->isInPlace()};\n   return std::make_pair(collective, executionPlanInstance{key, plan});\n }\n+#endif\n \n static std::shared_ptr<mscclpp::DeviceHandle<mscclpp::SmChannel>> setupSmChannelDeviceHandles(\n     const std::vector<mscclpp::SmChannel>& smChannels) {\n@@ -409,12 +417,15 @@ NCCL_API ncclResult_t ncclCommInitRank(ncclComm_t* comm, int nranks, ncclUniqueI\n   ncclComm* commPtr = new ncclComm();\n \n   commPtr->comm = mscclppComm;\n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n   commPtr->executor = std::make_shared<mscclpp::Executor>(mscclppComm);\n+#endif\n \n   // FallBack for single node\n   if (mscclppComm->bootstrap()->getNranks() == mscclppComm->bootstrap()->getNranksPerNode())\n     ncclCommInitRankFallbackSingleNode(commPtr, mscclppComm, rank);\n \n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n   const std::string& collectiveDir = mscclpp::env()->executionPlanDir;\n   if (collectiveDir != \"\") {\n     if (!std::filesystem::is_directory(collectiveDir)) {\n@@ -428,6 +439,7 @@ NCCL_API ncclResult_t ncclCommInitRank(ncclComm_t* comm, int nranks, ncclUniqueI\n       }\n     }\n   }\n+#endif\n \n   *comm = commPtr;\n #if defined(ENABLE_NPKIT)\n@@ -623,6 +635,7 @@ NCCL_API ncclResult_t ncclBroadcast(const void* sendbuff, void* recvbuff, size_t\n     return ncclInvalidArgument;\n   }\n \n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n   int rank = comm->comm->bootstrap()->getRank();\n \n   std::vector<executionPlanInstance>& plans = comm->executionPlans[\"broadcast\"];\n@@ -663,6 +676,9 @@ NCCL_API ncclResult_t ncclBroadcast(const void* sendbuff, void* recvbuff, size_t\n   }\n \n   return ncclSuccess;\n+#endif\n+\n+  return ncclBroadcastFallback(sendbuff, recvbuff, count, datatype, root, comm, stream);\n }\n \n NCCL_API ncclResult_t ncclAllReduce(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype,\n@@ -675,6 +691,7 @@ NCCL_API ncclResult_t ncclAllReduce(const void* sendbuff, void* recvbuff, size_t\n     return ncclInvalidArgument;\n   }\n \n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n   // Declarating variables\n   size_t bytes = count * ncclTypeSize(datatype);\n   int rank = comm->comm->bootstrap()->getRank();\n@@ -716,6 +733,9 @@ NCCL_API ncclResult_t ncclAllReduce(const void* sendbuff, void* recvbuff, size_t\n   }\n \n   return ncclSuccess;\n+#endif\n+\n+  return ncclAllReduceFallback(sendbuff, recvbuff, count, datatype, reductionOperation, comm, stream);\n }\n \n NCCL_API ncclResult_t ncclReduceScatter(const void*, void*, size_t, ncclDataType_t, ncclRedOp_t, ncclComm_t,\n@@ -735,6 +755,7 @@ NCCL_API ncclResult_t ncclAllGather(const void* sendbuff, void* recvbuff, size_t\n     return ncclInvalidArgument;\n   }\n \n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n   int rank = comm->comm->bootstrap()->getRank();\n   int nRank = comm->comm->bootstrap()->getNranks();\n \n@@ -775,6 +796,9 @@ NCCL_API ncclResult_t ncclAllGather(const void* sendbuff, void* recvbuff, size_t\n   }\n \n   return ncclSuccess;\n+#endif\n+\n+  return ncclAllGatherFallback(sendbuff, recvbuff, sendcount, datatype, comm, stream);\n }\n \n NCCL_API ncclResult_t ncclSend(const void*, size_t, ncclDataType_t, int, ncclComm_t, cudaStream_t) {\ndiff --git a/include/mscclpp/env.hpp b/include/mscclpp/env.hpp\nindex 6708628..3460102 100644\n--- a/include/mscclpp/env.hpp\n+++ b/include/mscclpp/env.hpp\n@@ -27,7 +27,9 @@ class Env {\n   const std::string socketFamily;\n   const std::string socketIfname;\n   const std::string commId;\n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n   const std::string executionPlanDir;\n+#endif\n   const std::string npkitDumpDir;\n   const bool cudaIpcUseDefaultStream;\n \ndiff --git a/include/mscclpp/errors.hpp b/include/mscclpp/errors.hpp\nindex 8d3fde4..a797460 100644\n--- a/include/mscclpp/errors.hpp\n+++ b/include/mscclpp/errors.hpp\n@@ -16,7 +16,9 @@ enum class ErrorCode {\n   InvalidUsage,   // The function was used incorrectly.\n   Timeout,        // The operation timed out.\n   Aborted,        // The operation was aborted.\n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n   ExecutorError,  // An error occurred in the MSCCL++ executor.\n+#endif\n };\n \n /// Convert an error code to a string.\ndiff --git a/include/mscclpp/executor.hpp b/include/mscclpp/executor.hpp\nindex 6848688..84d4d90 100644\n--- a/include/mscclpp/executor.hpp\n+++ b/include/mscclpp/executor.hpp\n@@ -1,6 +1,8 @@\n // Copyright (c) Microsoft Corporation.\n // Licensed under the MIT license.\n \n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n+\n #ifndef MSCCLPP_EXECUTOR_HPP_\n #define MSCCLPP_EXECUTOR_HPP_\n \n@@ -59,3 +61,5 @@ class Executor {\n }  // namespace mscclpp\n \n #endif  // MSCCLPP_EXECUTOR_HPP_\n+\n+#endif\ndiff --git a/src/env.cpp b/src/env.cpp\nindex 625de0a..5d6bae0 100644\n--- a/src/env.cpp\n+++ b/src/env.cpp\n@@ -59,7 +59,9 @@ Env::Env()\n       socketFamily(readEnv<std::string>(\"MSCCLPP_SOCKET_FAMILY\", \"\")),\n       socketIfname(readEnv<std::string>(\"MSCCLPP_SOCKET_IFNAME\", \"\")),\n       commId(readEnv<std::string>(\"MSCCLPP_COMM_ID\", \"\")),\n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n       executionPlanDir(readEnv<std::string>(\"MSCCLPP_EXECUTION_PLAN_DIR\", \"\")),\n+#endif\n       npkitDumpDir(readEnv<std::string>(\"MSCCLPP_NPKIT_DUMP_DIR\", \"\")),\n       cudaIpcUseDefaultStream(readEnv<bool>(\"MSCCLPP_CUDAIPC_USE_DEFAULT_STREAM\", false)) {}\n \n@@ -77,7 +79,9 @@ std::shared_ptr<Env> env() {\n     logEnv(\"MSCCLPP_SOCKET_FAMILY\", globalEnv->socketFamily);\n     logEnv(\"MSCCLPP_SOCKET_IFNAME\", globalEnv->socketIfname);\n     logEnv(\"MSCCLPP_COMM_ID\", globalEnv->commId);\n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n     logEnv(\"MSCCLPP_EXECUTION_PLAN_DIR\", globalEnv->executionPlanDir);\n+#endif\n     logEnv(\"MSCCLPP_NPKIT_DUMP_DIR\", globalEnv->npkitDumpDir);\n     logEnv(\"MSCCLPP_CUDAIPC_USE_DEFAULT_STREAM\", globalEnv->cudaIpcUseDefaultStream);\n   }\ndiff --git a/src/errors.cc b/src/errors.cc\nindex fbc7a57..afdb181 100644\n--- a/src/errors.cc\n+++ b/src/errors.cc\n@@ -21,8 +21,10 @@ std::string errorToString(enum ErrorCode error) {\n       return \"Timeout\";\n     case ErrorCode::Aborted:\n       return \"Aborted\";\n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n     case ErrorCode::ExecutorError:\n       return \"ExecutorError\";\n+#endif\n     default:\n       return \"UnknownError\";\n   }\ndiff --git a/src/executor/execution_kernel.cu b/src/executor/execution_kernel.cu\nindex a60317c..0ae77b8 100644\n--- a/src/executor/execution_kernel.cu\n+++ b/src/executor/execution_kernel.cu\n@@ -1,6 +1,8 @@\n // Copyright (c) Microsoft Corporation.\n // Licensed under the MIT license.\n \n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n+\n #include \"execution_kernel.hpp\"\n \n #if defined(MSCCLPP_DEVICE_CUDA)\n@@ -74,3 +76,5 @@ template void ExecutionKernel::launchKernel<LL8Packet>(int rank, int nthreadbloc\n                                                        cudaStream_t stream, uint32_t flag);\n }  // namespace mscclpp\n #endif\n+\n+#endif\ndiff --git a/src/executor/execution_plan.cc b/src/executor/execution_plan.cc\nindex 56c881b..4c9bc16 100644\n--- a/src/executor/execution_plan.cc\n+++ b/src/executor/execution_plan.cc\n@@ -1,6 +1,8 @@\n // Copyright (c) Microsoft Corporation.\n // Licensed under the MIT license.\n \n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n+\n #include \"execution_plan.hpp\"\n \n #include <cassert>\n@@ -610,3 +612,5 @@ size_t ExecutionPlan::maxMessageSize() const { return this->impl_->maxMessageSiz\n bool ExecutionPlan::isInPlace() const { return this->impl_->isInPlace; }\n \n }  // namespace mscclpp\n+\n+#endif\ndiff --git a/src/executor/executor.cc b/src/executor/executor.cc\nindex 944ddb2..191be60 100644\n--- a/src/executor/executor.cc\n+++ b/src/executor/executor.cc\n@@ -1,6 +1,8 @@\n // Copyright (c) Microsoft Corporation.\n // Licensed under the MIT license.\n \n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n+\n #include <mscclpp/executor.hpp>\n #include <mscclpp/nvls.hpp>\n #include <mscclpp/proxy_channel.hpp>\n@@ -451,3 +453,5 @@ void Executor::execute(int rank, void* sendbuff, void* recvbuff, size_t sendBuff\n Executor::~Executor() = default;\n \n }  // namespace mscclpp\n+\n+#endif\ndiff --git a/src/include/execution_common.hpp b/src/include/execution_common.hpp\nindex f6ed215..0bfb613 100644\n--- a/src/include/execution_common.hpp\n+++ b/src/include/execution_common.hpp\n@@ -1,6 +1,8 @@\n // Copyright (c) Microsoft Corporation.\n // Licensed under the MIT license.\n \n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n+\n #ifndef MSCCLPP_EXECUTION_COMMON_HPP_\n #define MSCCLPP_EXECUTION_COMMON_HPP_\n \n@@ -107,3 +109,5 @@ struct __attribute__((aligned(16))) DeviceExecutionPlan {\n }  // namespace mscclpp\n \n #endif  // MSCCLPP_EXECUTION_COMMON_HPP_\n+\n+#endif\ndiff --git a/src/include/execution_kernel.hpp b/src/include/execution_kernel.hpp\nindex 98bed37..b724dba 100644\n--- a/src/include/execution_kernel.hpp\n+++ b/src/include/execution_kernel.hpp\n@@ -1,6 +1,8 @@\n // Copyright (c) Microsoft Corporation.\n // Licensed under the MIT license.\n \n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n+\n #ifndef MSCCLPP_EXECUTION_KERNEL_HPP_\n #define MSCCLPP_EXECUTION_KERNEL_HPP_\n \n@@ -687,3 +689,5 @@ class ExecutionKernel {\n }  // namespace mscclpp\n \n #endif  // MSCCLPP_EXECUTION_KERNEL_HPP_\n+\n+#endif\ndiff --git a/src/include/execution_plan.hpp b/src/include/execution_plan.hpp\nindex 080a768..ee36ad9 100644\n--- a/src/include/execution_plan.hpp\n+++ b/src/include/execution_plan.hpp\n@@ -1,6 +1,8 @@\n // Copyright (c) Microsoft Corporation.\n // Licensed under the MIT license.\n \n+#ifdef MSCCLPP_ENABLE_EXECUTOR\n+\n #ifndef MSCCLPP_EXECUTOR_PLAN_HPP_\n #define MSCCLPP_EXECUTOR_PLAN_HPP_\n \n@@ -129,3 +131,5 @@ struct ExecutionPlan::Impl {\n }  // namespace mscclpp\n \n #endif  // MSCCLPP_EXECUTOR_PLAN_HPP_\n+\n+#endif\n"
  },
  {
    "path": "ext-src/disable-format-checks.patch",
    "content": "diff --git a/CMakeLists.txt b/CMakeLists.txt\nindex a94b634..09ca1fa 100644\n--- a/CMakeLists.txt\n+++ b/CMakeLists.txt\n@@ -92,7 +92,9 @@ else()\n endif()\n\n # Format targets\n-include(${PROJECT_SOURCE_DIR}/cmake/AddFormatTargets.cmake)\n+if(MSCCLPP_ENABLE_FORMAT_CHECKS)\n+  include(${PROJECT_SOURCE_DIR}/cmake/AddFormatTargets.cmake)\n+endif()\n\n # Find ibverbs and libnuma\n find_package(IBVerbs)\n"
  },
  {
    "path": "ext-src/mem-reg.patch",
    "content": "diff --git a/apps/nccl/include/nccl.h b/apps/nccl/include/nccl.h\nindex bfdb226..70d15cf 100644\n--- a/apps/nccl/include/nccl.h\n+++ b/apps/nccl/include/nccl.h\n@@ -370,6 +370,10 @@ ncclResult_t ncclSend(const void* sendbuff, size_t count, ncclDataType_t datatyp\n ncclResult_t pncclSend(const void* sendbuff, size_t count, ncclDataType_t datatype, int peer, ncclComm_t comm,\n                        cudaStream_t stream);\n \n+ncclResult_t ncclCommDeregister(ncclComm_t comm, void* handle);\n+bool mscclpp_BuffIsRegistered(ncclComm_t comm, const void* buff);\n+size_t mscclpp_BufferSize(ncclComm_t comm, void* handle);\n+\n /*\n  * Receive\n  *\ndiff --git a/apps/nccl/src/nccl.cu b/apps/nccl/src/nccl.cu\nindex 022d398..468fcf2 100644\n--- a/apps/nccl/src/nccl.cu\n+++ b/apps/nccl/src/nccl.cu\n@@ -85,6 +85,7 @@ struct ncclComm {\n   std::unordered_map<channelKey, ChannelInfo> channelInInfos;\n   std::unordered_map<channelKey, ChannelInfo> channelOutInfos;\n   std::unordered_map<channelKey, ChannelInfo> channelScratchInfos;\n+  std::unordered_map<void*, channelKey> handleKeys;\n   std::shared_ptr<char> scratchBuff;\n   std::vector<mscclpp::RegisteredMemory> remoteScratchRegMemories;\n \n@@ -92,6 +93,11 @@ struct ncclComm {\n   uint32_t buffFlag;\n };\n \n+struct handleInfo {\n+  void * buff;\n+  cudaIpcMemHandle_t ipcHandle;\n+};\n+\n static size_t ncclTypeSize(ncclDataType_t type) {\n   switch (type) {\n     case ncclInt8:\n@@ -561,6 +567,107 @@ NCCL_API ncclResult_t ncclRedOpDestroy(ncclRedOp_t, ncclComm_t) {\n   return ncclInternalError;\n }\n \n+NCCL_API ncclResult_t ncclCommRegister(ncclComm_t comm, void* buff, size_t size, void** handle) {\n+  size_t buffBytes = size;\n+  CUdeviceptr buffBasePtr;\n+  MSCCLPP_CUTHROW(cuMemGetAddressRange(&buffBasePtr, &buffBytes, (CUdeviceptr)buff));\n+\n+  int rank = comm->comm->bootstrap()->getRank();\n+  channelKey buffKey{(void*)buffBasePtr, buffBytes};\n+\n+  std::vector<mscclpp::RegisteredMemory> remoteMemories;\n+\n+  // Creating the channels\n+  auto buffIt = comm->channelScratchInfos.find(buffKey);\n+  if (buffIt == comm->channelScratchInfos.end()) {\n+     std::vector<mscclpp::SmChannel> channels =\n+          setupSmChannels(comm, comm->remoteScratchRegMemories, const_cast<void*>((void*)buffBasePtr));\n+     ChannelInfo channelInfo{channels, channels, setupSmChannelDeviceHandles(channels), setupSmChannelDeviceHandles(channels)};\n+     buffIt = comm->channelScratchInfos.emplace(buffKey, channelInfo).first;\n+  }\n+  auto sendIt = comm->channelInInfos.find(buffKey);\n+  if (sendIt == comm->channelInInfos.end()) {\n+      std::vector<mscclpp::SmChannel> channels =\n+          setupSmChannels(comm, comm->remoteScratchRegMemories, const_cast<void*>((void*)buffBasePtr));\n+\n+      remoteMemories =\n+          setupRemoteMemories(comm->comm, rank, (void*)buffBasePtr, buffBytes, mscclpp::Transport::CudaIpc);\n+      std::vector<mscclpp::SmChannel> channels1 =\n+          setupSmChannels(comm, remoteMemories, const_cast<void*>((void*)buffBasePtr));\n+\n+      ChannelInfo channelInfo{channels, channels1, setupSmChannelDeviceHandles(channels), setupSmChannelDeviceHandles(channels1)};\n+      sendIt = comm->channelInInfos.emplace(buffKey, channelInfo).first;\n+  }\n+  auto recvIt = comm->channelOutInfos.find(buffKey);\n+    if (recvIt == comm->channelOutInfos.end()) {\n+      remoteMemories =\n+          setupRemoteMemories(comm->comm, rank, (void*)buffBasePtr, buffBytes, mscclpp::Transport::CudaIpc);\n+      std::vector<mscclpp::SmChannel> outChannels =\n+          setupSmChannels(comm, remoteMemories, const_cast<void*>((void*)buffBasePtr));\n+      ChannelInfo channelInfo{outChannels, outChannels, setupSmChannelDeviceHandles(outChannels), setupSmChannelDeviceHandles(outChannels)};\n+      recvIt = comm->channelOutInfos.emplace(buffKey, channelInfo).first;\n+  }\n+\n+  cudaIpcMemHandle_t ipcHandle;\n+  MSCCLPP_CUDATHROW(cudaIpcGetMemHandle(&ipcHandle, buffBasePtr));\n+\n+  struct handleInfo *p = (struct handleInfo *) malloc(sizeof(struct handleInfo));\n+  p->buff = buffBasePtr;\n+  p->ipcHandle = ipcHandle;\n+  *handle = p;\n+\n+  auto it = comm->handleKeys.find(*handle);\n+  if (it == comm->handleKeys.end()) {\n+     comm->handleKeys[*handle] = buffKey;\n+  }\n+\n+  return ncclSuccess;\n+}\n+\n+NCCL_API ncclResult_t ncclCommDeregister(ncclComm_t comm, void* handle) {\n+  if (comm && handle) {\n+     channelKey buffKey = comm->handleKeys[handle];\n+\n+     auto scratchIt = comm->channelScratchInfos.find(buffKey);\n+     if (scratchIt != comm->channelScratchInfos.end()) {\n+        comm->channelScratchInfos.erase(scratchIt);\n+     }\n+\n+     auto inIt = comm->channelInInfos.find(buffKey);\n+     if (inIt != comm->channelInInfos.end()) {\n+        comm->channelInInfos.erase(inIt);\n+     }\n+\n+     auto outIt = comm->channelOutInfos.find(buffKey);\n+     if (outIt != comm->channelOutInfos.end()) {\n+        comm->channelOutInfos.erase(outIt);\n+     }\n+     comm->handleKeys.erase(handle);\n+     free(handle);\n+  }\n+  return ncclSuccess;\n+}\n+\n+bool mscclpp_BuffIsRegistered(ncclComm_t comm, const void* buff){\n+  if(buff == nullptr)\n+    return false;\n+  size_t buffBytes;\n+  CUdeviceptr buffBasePtr;\n+  MSCCLPP_CUTHROW(cuMemGetAddressRange(&buffBasePtr, &buffBytes, (CUdeviceptr)buff));\n+  channelKey buffKey{(void*)buffBasePtr, buffBytes};\n+  auto buffIt = comm->channelScratchInfos.find(buffKey);\n+  bool registered =  buffIt != comm->channelScratchInfos.end();\n+  return registered;\n+}\n+size_t\n+mscclpp_BufferSize(ncclComm_t comm, void* handle){\n+  if (!(comm && handle)){\n+    return 0;\n+  }\n+  auto buffKeyIt = comm->handleKeys.find(handle);\n+  return buffKeyIt != comm->handleKeys.end() ? buffKeyIt->second.bytes : 0;\n+}\n+\n NCCL_API ncclResult_t ncclReduce(const void*, void*, size_t, ncclDataType_t, ncclRedOp_t, int, ncclComm_t,\n                                  cudaStream_t) {\n   // TODO: implement this function\n"
  },
  {
    "path": "ext-src/mscclpp_ibv_access_relaxed_ordering.patch",
    "content": "diff --git a/CMakeLists.txt b/CMakeLists.txt\nindex a95a8e5..62b4f22 100644\n--- a/CMakeLists.txt\n+++ b/CMakeLists.txt\n@@ -96,6 +96,24 @@ include(${PROJECT_SOURCE_DIR}/cmake/AddFormatTargets.cmake)\n \n # Find ibverbs and libnuma\n find_package(IBVerbs)\n+\n+# Check if IBV_ACCESS_RELAXED_ORDERING exists in infiniband/verbs.h\n+# Disable use of this symbol in mscclpp/src/ib.cc if it does not exist\n+if(IBVERBS_FOUND)\n+  try_compile(HAS_IBV_ACCESS_RELAXED_ORDERING\n+    ${CMAKE_BINARY_DIR}\n+    \"${CMAKE_CURRENT_SOURCE_DIR}/../check_ibv_access_relaxed_ordering.cc\"\n+    CMAKE_FLAGS \"-DINCLUDE_DIRECTORIES=${IBVERBS_INCLUDE_DIRS}\"\n+    OUTPUT_VARIABLE try_compile_output\n+  )\n+  message(STATUS \"try_compile_output: ${try_compile_output}\")\n+  if(NOT HAS_IBV_ACCESS_RELAXED_ORDERING)\n+    message(WARNING \"IBV_ACCESS_RELAXED_ORDERING does not exist in ${IBVERBS_INCLUDE_DIRS}/infiniband/verbs.h. Disabling this symbol in mscclpp/src/ib.cc.\")\n+  else()\n+    message(STATUS \"IBV_ACCESS_RELAXED_ORDERING exists in ${IBVERBS_INCLUDE_DIRS}/infiniband/verbs.h.\")\n+  endif()\n+endif()\n+\n find_package(NUMA REQUIRED)\n find_package(Threads REQUIRED)\n \ndiff --git a/src/ib.cc b/src/ib.cc\nindex d9d72d1..bddd4a8 100644\n--- a/src/ib.cc\n+++ b/src/ib.cc\n@@ -48,9 +48,17 @@ IbMr::IbMr(ibv_pd* pd, void* buff, std::size_t size) : buff(buff) {\n   }\n   uintptr_t addr = reinterpret_cast<uintptr_t>(buff) & -pageSize;\n   std::size_t pages = (size + (reinterpret_cast<uintptr_t>(buff) - addr) + pageSize - 1) / pageSize;\n+\n+#if defined(HAS_IBV_ACCESS_RELAXED_ORDERING)\n   this->mr = IBVerbs::ibv_reg_mr2(pd, reinterpret_cast<void*>(addr), pages * pageSize,\n                                   IBV_ACCESS_LOCAL_WRITE | IBV_ACCESS_REMOTE_WRITE | IBV_ACCESS_REMOTE_READ |\n                                       IBV_ACCESS_RELAXED_ORDERING | IBV_ACCESS_REMOTE_ATOMIC);\n+#else\n+  this->mr = IBVerbs::ibv_reg_mr2(pd, reinterpret_cast<void*>(addr), pages * pageSize,\n+                                  IBV_ACCESS_LOCAL_WRITE | IBV_ACCESS_REMOTE_WRITE | IBV_ACCESS_REMOTE_READ |\n+                                      IBV_ACCESS_REMOTE_ATOMIC);\n+#endif\n+\n   if (this->mr == nullptr) {\n     std::stringstream err;\n     err << \"ibv_reg_mr failed (errno \" << errno << \")\";\n"
  },
  {
    "path": "ext-src/no-cache.patch",
    "content": "diff --git a/apps/nccl/src/allreduce.hpp b/apps/nccl/src/allreduce.hpp\nindex a14dfbc..66596f3 100644\n--- a/apps/nccl/src/allreduce.hpp\n+++ b/apps/nccl/src/allreduce.hpp\n@@ -17,6 +17,7 @@\n #endif\n \n #include \"common.hpp\"\n+#include \"debug.h\"\n \n template <typename To, typename From>\n __forceinline__ __device__ To bit_cast(const From& src) {\n@@ -359,6 +360,176 @@ __global__ void __launch_bounds__(1024, 1)\n #endif\n }\n \n+template <typename T>\n+__global__ void __launch_bounds__(512, 1)\n+    allreduce8Mod(T* buff, T* scratch, T* resultBuff, mscclpp::DeviceHandle<mscclpp::SmChannel>* smChannels,\n+               size_t channelScratchOffset, int rank, int nRanksPerNode, int worldSize, size_t nelems) {\n+  const int nPeer = nRanksPerNode - 1;\n+  const size_t chanOffset = nPeer * blockIdx.x;\n+  // assume (nelems * sizeof(T)) is divisible by (16 * worldSize)\n+  const size_t nInt4 = nelems * sizeof(T) / sizeof(int4);\n+  size_t nInt4PerRank = nInt4 / worldSize;\n+  if (nInt4 % worldSize)\n+        nInt4PerRank = nInt4PerRank + 1;\n+\n+  auto smChans = smChannels + chanOffset;\n+\n+  size_t channelScratchResultOffset = channelScratchOffset + SCRATCH_SIZE/2;\n+\n+  int4* buff4 = reinterpret_cast<int4*>(buff);\n+  int4* scratch4 = reinterpret_cast<int4*>((char*)scratch + channelScratchOffset);\n+  int4* scratch4Result = reinterpret_cast<int4*>((char*)scratch + channelScratchResultOffset);\n+  int4* resultBuff4 = reinterpret_cast<int4*>(resultBuff);\n+\n+      // Distribute `nInt4PerRank` across all blocks with the unit size `unitNInt4`\n+  constexpr size_t unitNInt4 = 512;\n+  const size_t maxNInt4PerBlock =\n+      (((nInt4PerRank + gridDim.x - 1) / gridDim.x) + unitNInt4 - 1) / unitNInt4 * unitNInt4;\n+  size_t offsetOfThisBlock = maxNInt4PerBlock * blockIdx.x;\n+  size_t nInt4OfThisBlock = maxNInt4PerBlock;\n+  size_t nNeededBlocks = (nInt4PerRank + maxNInt4PerBlock - 1) / maxNInt4PerBlock;\n+  constexpr size_t nInt4PerChunk = 1024 * 256 / sizeof(int4);  // 256KB\n+  if (blockIdx.x >= nNeededBlocks) {\n+    nInt4OfThisBlock = 0;\n+  } else if (blockIdx.x == nNeededBlocks - 1) {\n+    nInt4OfThisBlock = nInt4PerRank - maxNInt4PerBlock * (nNeededBlocks - 1);\n+  }\n+  const size_t nItrs = nInt4OfThisBlock / nInt4PerChunk;\n+  const size_t restNInt4 = nInt4OfThisBlock % nInt4PerChunk;\n+  const size_t chunkSizePerRank = nNeededBlocks * nInt4PerChunk;\n+  const size_t blockOffset = nInt4PerChunk * blockIdx.x;\n+\n+  const size_t scratchChunkRankOffset = chunkSizePerRank * rank;\n+  const size_t scratchBaseOffsetInt4 = channelScratchOffset / sizeof(int4);\n+  const size_t scratchResultBaseOffsetInt4 = channelScratchResultOffset / sizeof(int4);\n+\n+  __shared__ mscclpp::DeviceHandle<mscclpp::SmChannel> channels[NRANKS_PER_NODE - 1];\n+\n+    const int lid = threadIdx.x % WARP_SIZE;\n+  if (lid < nPeer) {\n+    channels[lid] = smChans[lid];\n+  }\n+  __syncwarp();\n+\n+  // we can use double buffering to hide synchronization overhead\n+  for (size_t itr = 0; itr < nItrs; itr++) {\n+    if (threadIdx.x < static_cast<uint32_t>(nPeer)) {\n+      channels[threadIdx.x].signal();\n+      channels[threadIdx.x].wait();\n+    }\n+    __syncthreads();\n+    // Starts allgather\n+    for (size_t idx = threadIdx.x; idx < nInt4PerChunk; idx += blockDim.x) {\n+      for (int i = 0; i < NPEERS; i++) {\n+        const int peerIdx = (i + blockIdx.x) % nPeer;\n+        const int remoteRank = (peerIdx < rank) ? peerIdx : peerIdx + 1;\n+        int4 val = buff4[nInt4PerRank * remoteRank + idx + offsetOfThisBlock];\n+        channels[peerIdx].write(scratchBaseOffsetInt4 + scratchChunkRankOffset + blockOffset + idx, val);\n+      }\n+    }\n+\n+    /// Starts reduce-scatter\n+    // Ensure that all writes of this block have been issued before issuing the signal\n+    __syncthreads();\n+    if (threadIdx.x < static_cast<uint32_t>(nPeer)) {\n+      channels[threadIdx.x].signal();\n+      channels[threadIdx.x].wait();\n+    }\n+    __syncthreads();\n+\n+    for (size_t idx = threadIdx.x; idx < nInt4PerChunk; idx += blockDim.x) {\n+      int4 data = buff4[nInt4PerRank * rank + idx + offsetOfThisBlock];\n+      for (int peerIdx = 0; peerIdx < NPEERS; peerIdx++) {\n+        const int remoteRank = (peerIdx < rank) ? peerIdx : peerIdx + 1;\n+        int4 val = scratch4[chunkSizePerRank * remoteRank + blockOffset + idx];\n+        data = add_vectors<T>(val, data);\n+      }\n+      resultBuff4[nInt4PerRank * rank + idx + offsetOfThisBlock] = data;\n+      for (int peerIdx = 0; peerIdx < NPEERS; peerIdx++) {\n+        channels[peerIdx].write(scratchResultBaseOffsetInt4 + scratchChunkRankOffset + blockOffset + idx, data);\n+      }\n+    }\n+    __syncthreads();\n+\n+    if (threadIdx.x < static_cast<uint32_t>(nPeer)) {\n+      channels[threadIdx.x].signal();\n+      channels[threadIdx.x].wait();\n+    }\n+    __syncthreads();\n+\n+    for (size_t idx = threadIdx.x; idx < nInt4PerChunk; idx += blockDim.x) {\n+        for (int peerIdx = 0; peerIdx < NPEERS; peerIdx++) {\n+            const int remoteRank = (peerIdx < rank) ? peerIdx : peerIdx + 1;\n+            int4 val = scratch4Result[chunkSizePerRank * remoteRank + blockOffset + idx];\n+            resultBuff4[nInt4PerRank * remoteRank + idx + offsetOfThisBlock] = val;\n+        }\n+    }\n+    __syncthreads();\n+\n+        offsetOfThisBlock += nInt4PerChunk;\n+    // Ensure all threads have consumed data from scratch buffer before signaling re-use in next iteration\n+  }\n+  if (restNInt4 > 0) {\n+    if (threadIdx.x < static_cast<uint32_t>(nPeer)) {\n+      channels[threadIdx.x].signal();\n+      channels[threadIdx.x].wait();\n+    }\n+    __syncthreads();\n+    for (size_t idx = threadIdx.x; idx < restNInt4; idx += blockDim.x) {\n+      for (int i = 0; i < NPEERS; i++) {\n+        const int peerIdx = (i + blockIdx.x) % nPeer;\n+        const int remoteRank = (peerIdx < rank) ? peerIdx : peerIdx + 1;\n+        int4 val = buff4[nInt4PerRank * remoteRank + idx + offsetOfThisBlock];\n+        channels[peerIdx].write(scratchBaseOffsetInt4 + scratchChunkRankOffset + blockOffset + idx, val);\n+      }\n+    }\n+\n+    // Ensure that all writes of this block have been issued before issuing the signal\n+    __syncthreads();\n+    if (threadIdx.x < static_cast<uint32_t>(nPeer)) {\n+      channels[threadIdx.x].signal();\n+      channels[threadIdx.x].wait();\n+    }\n+    __syncthreads();\n+\n+    for (size_t idx = threadIdx.x; idx < restNInt4; idx += blockDim.x) {\n+      int4 data = buff4[nInt4PerRank * rank + idx + offsetOfThisBlock];\n+      for (int peerIdx = 0; peerIdx < NPEERS; peerIdx++) {\n+        const int remoteRank = (peerIdx < rank) ? peerIdx : peerIdx + 1;\n+        int4 val = scratch4[chunkSizePerRank * remoteRank + blockOffset + idx];\n+        data = add_vectors<T>(val, data);\n+      }\n+      resultBuff4[nInt4PerRank * rank + idx + offsetOfThisBlock] = data;\n+      for (int peerIdx = 0; peerIdx < NPEERS; peerIdx++) {\n+        channels[peerIdx].write(scratchResultBaseOffsetInt4 + scratchChunkRankOffset + blockOffset + idx, data);\n+      }\n+    }\n+    __syncthreads();\n+    if (threadIdx.x < static_cast<uint32_t>(nPeer)) {\n+        channels[threadIdx.x].signal();\n+        channels[threadIdx.x].wait();\n+    }\n+    __syncthreads();\n+\n+    for (size_t idx = threadIdx.x; idx < restNInt4; idx += blockDim.x) {\n+        for (int peerIdx = 0; peerIdx < NPEERS; peerIdx++) {\n+            const int remoteRank = (peerIdx < rank) ? peerIdx : peerIdx + 1;\n+            int4 val = scratch4Result[chunkSizePerRank * remoteRank + blockOffset + idx];\n+            resultBuff4[nInt4PerRank * remoteRank + idx + offsetOfThisBlock] = val;\n+        }\n+    }\n+    __syncthreads();\n+    // Ensure all threads have issued writes to outChannel\n+  }\n+  // Threads are already synchronized\n+  // So all writes to outChannel have been issued before signal is being issued\n+  if (threadIdx.x < static_cast<uint32_t>(nPeer)) {\n+    channels[threadIdx.x].signal();\n+    channels[threadIdx.x].wait();\n+  }\n+}\n+\n+\n template <typename T>\n __global__ void __launch_bounds__(512, 1)\n     allreduce8(T* buff, T* scratch, T* resultBuff, mscclpp::DeviceHandle<mscclpp::SmChannel>* smChannels,\n@@ -808,25 +979,9 @@ cudaError_t allreduce(T* buff, T* scratch, T* resultBuff, mscclpp::DeviceHandle<\n                       size_t channelOutOffset, size_t channelScratchOffset, int rank, int nRanksPerNode, int worldSize,\n                       size_t nelems, cudaStream_t stream) {\n   static uint32_t flag = 1;\n-  int readAllred = 0, hieAllred = 0;\n-  char* envValue = nullptr;\n-  char* envValue1 = nullptr;\n \n   nRanksPerNode = (worldSize < nRanksPerNode) ? worldSize : nRanksPerNode;\n \n-  envValue = std::getenv(\"MSCCLPP_READ_ALLRED\");\n-  envValue1 = std::getenv(\"MSCCLPP_HIERARCHICAL_ALLRED\");\n-\n-  if (envValue != nullptr) {\n-     if (atoi(envValue) == 1) {\n-        readAllred = 1;\n-     }\n-  }\n-  if (envValue1 != nullptr) {\n-     if (atoi(envValue1) == 1) {\n-        hieAllred = 1;\n-     }\n-  }\n   if (sizeof(T) * nelems < worldSize * sizeof(int)) {\n     int nBlocks = nRanksPerNode - 1;\n     int nThreadsPerBlock = 32;\n@@ -852,16 +1007,21 @@ cudaError_t allreduce(T* buff, T* scratch, T* resultBuff, mscclpp::DeviceHandle<\n   } else {\n     int nBlocks = 8 * (nRanksPerNode - 1);\n     int nThreadsPerBlock = 512;\n-    if (hieAllred && worldSize >= 8) {\n+    if (mscclppHierarchicalAllred && worldSize >= 8) {\n \tnBlocks = 20;\n \tallreduce10<<<nBlocks, nThreadsPerBlock, 0, stream>>>(buff, scratch, resultBuff, smChannels, smScrChannels,\n \t\t\tsmOutChannels, channelOutOffset, channelScratchOffset, rank, nRanksPerNode,\n \t\t\tworldSize, nelems);\n     } else {\n-      if (!readAllred) {\n-         allreduce8<<<nBlocks, nThreadsPerBlock, 0, stream>>>(buff, scratch, resultBuff, smScrChannels,\n-\t\tsmOutChannels, channelOutOffset, channelScratchOffset, rank, nRanksPerNode,\n-               worldSize, nelems);\n+      if (!mscclppReadAllred) {\n+\t if (mscclppDisableRemoteUbr) {\n+             allreduce8Mod<<<nBlocks, nThreadsPerBlock, 0, stream>>>(buff, scratch, resultBuff, smScrChannels,\n+                       channelScratchOffset, rank, nRanksPerNode, worldSize, nelems);\n+\t } else {\n+             allreduce8<<<nBlocks, nThreadsPerBlock, 0, stream>>>(buff, scratch, resultBuff, smScrChannels,\n+\t\tsmOutChannels, channelOutOffset, channelScratchOffset, rank, nRanksPerNode,\n+                   worldSize, nelems);\n+\t }\n       } else {\n \t    allreduce8Read<<<nBlocks, nThreadsPerBlock, 0, stream>>>(buff, resultBuff, smChannels, smOutChannels,\n                                                          channelOutOffset, rank, nRanksPerNode,\tworldSize, nelems);\ndiff --git a/apps/nccl/src/common.hpp b/apps/nccl/src/common.hpp\nindex a6056ea..6b7ec02 100644\n--- a/apps/nccl/src/common.hpp\n+++ b/apps/nccl/src/common.hpp\n@@ -17,7 +17,7 @@ constexpr int NRANKS1_PER_NODE = 4;\n constexpr int NRANKS_PER_NODE = 8;\n constexpr int NPEERS = 7;\n \n-constexpr int SCRATCH_SIZE = 2 * 1024 * 1024 * 112;  // double buffer * 56 thread-blocks * 8 ranks * 256KB = 112MB\n+constexpr int SCRATCH_SIZE = 4 * 1024 * 1024 * 112;  // double buffer * 56 thread-blocks * 8 ranks * 256KB = 112MB\n \n __device__ mscclpp::DeviceSyncer deviceSyncer;\n \ndiff --git a/apps/nccl/src/nccl.cu b/apps/nccl/src/nccl.cu\nindex 5fb99ef..1e8d739 100644\n--- a/apps/nccl/src/nccl.cu\n+++ b/apps/nccl/src/nccl.cu\n@@ -84,6 +84,7 @@ struct ncclComm {\n \n   std::unordered_map<channelKey, ChannelInfo> channelInInfos;\n   std::unordered_map<channelKey, ChannelInfo> channelOutInfos;\n+  std::vector<ChannelInfo> channelInfos;\n   std::unordered_map<channelKey, ChannelInfo> channelScratchInfos;\n   std::unordered_map<channelKey, cudaIpcMemHandle_t> regHandles;\n   std::unordered_map<void*, channelKey> handleKeys;\n@@ -216,7 +217,7 @@ static ncclResult_t ncclAllReduceFallback(const void* sendbuff, void* recvbuff,\n   size_t offsetIn = (char*)sendbuff - (char*)sendBasePtr;\n   size_t offsetOut = (char*)recvbuff - (char*)recvBasePtr;\n   uint32_t scratchBuffIdx = (++(comm->buffFlag)) % comm->numScratchBuff;\n-  size_t offsetScratch = (SCRATCH_SIZE / comm->numScratchBuff) * scratchBuffIdx;\n+  size_t offsetScratch = (SCRATCH_SIZE / (2 * comm->numScratchBuff)) * scratchBuffIdx;\n   int rank = comm->comm->bootstrap()->getRank();\n   channelKey sendKey{(void*)sendBasePtr, sendBytes};\n   channelKey recvKey{(void*)recvBasePtr, recvBytes};\n@@ -224,6 +225,8 @@ static ncclResult_t ncclAllReduceFallback(const void* sendbuff, void* recvbuff,\n   mscclpp::DeviceHandle<mscclpp::SmChannel>* smOutChannels = nullptr;\n   mscclpp::DeviceHandle<mscclpp::SmChannel>* smScrChannels = nullptr;\n \n+  size_t bytes = count * ncclTypeSize(datatype);\n+\n   // Creating the channels\n   if (count * ncclTypeSize(datatype) <= (1 << 20)) {\n     auto sendIt = comm->channelScratchInfos.find(sendKey);\n@@ -251,25 +254,39 @@ static ncclResult_t ncclAllReduceFallback(const void* sendbuff, void* recvbuff,\n       sendIt = comm->channelInInfos.emplace(sendKey, channelInfo).first;\n     }\n \n-    auto recvIt = comm->channelOutInfos.find(recvKey);\n-    if (recvIt == comm->channelOutInfos.end()) {\n-      remoteMemories =\n-          setupRemoteMemories(comm->comm, rank, (void*)recvBasePtr, recvBytes, mscclpp::Transport::CudaIpc);\n-      std::vector<mscclpp::SmChannel> outChannels =\n-          setupSmChannels(comm, remoteMemories, const_cast<void*>((void*)recvBasePtr));\n-      ChannelInfo channelInfo{outChannels, outChannels, setupSmChannelDeviceHandles(outChannels), setupSmChannelDeviceHandles(outChannels)};\n-      recvIt = comm->channelOutInfos.emplace(recvKey, channelInfo).first;\n+    if(mscclppDisableRemoteUbr == false) {\n+       auto recvIt = comm->channelOutInfos.find(recvKey);\n+       if (recvIt == comm->channelOutInfos.end() || mscclppDisableChannelCache == true) {\n+           if (mscclppDisableChannelCache == true) {\n+               recvBytes = bytes;\n+               recvBasePtr = (CUdeviceptr)recvbuff;\n+               offsetOut = 0;\n+           }\n+           remoteMemories =\n+               setupRemoteMemories(comm->comm, rank, (void*)recvBasePtr, recvBytes, mscclpp::Transport::CudaIpc);\n+               std::vector<mscclpp::SmChannel> outChannels =\n+                   setupSmChannels(comm, remoteMemories, const_cast<void*>((void*)recvBasePtr));\n+               ChannelInfo channelInfo{outChannels, outChannels, setupSmChannelDeviceHandles(outChannels), setupSmChannelDeviceHandles(outChannels)};\n+               if (mscclppDisableChannelCache == true) {\n+\t\t       comm->channelInfos.push_back(channelInfo);\n+                      smOutChannels = comm->channelInfos.back().smChannelDeviceHandles.get();\n+               } else {\n+                      recvIt = comm->channelOutInfos.emplace(recvKey, channelInfo).first;\n+                      smOutChannels = recvIt->second.smChannelDeviceHandles.get();\n+               }\n+       } else {\n+              smOutChannels = recvIt->second.smChannelDeviceHandles.get();\n+       }\n     }\n \n     smChannels = sendIt->second.smChannelDeviceHandles1.get();\n-    smOutChannels = recvIt->second.smChannelDeviceHandles.get();\n     smScrChannels = sendIt->second.smChannelDeviceHandles.get();\n   }\n \n   switch (datatype) {\n     case ncclFloat16:\n       CUDACHECK(allreduce((half*)sendbuff, (half*)comm->scratchBuff.get(), (half*)recvbuff, smChannels, smScrChannels,\n-\tsmOutChannels, offsetIn, offsetOut, offsetScratch, rank, NRANKS_PER_NODE, comm->comm->bootstrap()->getNranks(), \tcount, stream));\n+\tsmOutChannels, offsetIn, offsetOut, offsetScratch, rank, NRANKS_PER_NODE, comm->comm->bootstrap()->getNranks(), count, stream));\n       break;\n     case ncclFloat32:\n       CUDACHECK(allreduce((float*)sendbuff, (float*)comm->scratchBuff.get(), (float*)recvbuff, smChannels,\n@@ -323,7 +340,12 @@ static ncclResult_t ncclAllGatherFallback(const void* sendbuff, void* recvbuff,\n   mscclpp::DeviceHandle<mscclpp::SmChannel>* smChannels = nullptr;\n \n   auto it = comm->channelOutInfos.find(recvKey);\n-  if (it == comm->channelOutInfos.end()) {\n+  if (it == comm->channelOutInfos.end() || mscclppDisableChannelCache == true) {\n+    if (mscclppDisableChannelCache == true) {\n+        recvBytes = bytes;\n+        recvBasePtr = (CUdeviceptr)recvbuff;\n+        offsetOut = 0;\n+    }\n     std::vector<mscclpp::RegisteredMemory> remoteMemories = setupRemoteMemories(\n         comm->comm, rank, const_cast<void*>((void*)recvBasePtr), recvBytes, mscclpp::Transport::CudaIpc);\n     std::vector<mscclpp::SmChannel> channels =\n@@ -332,10 +354,17 @@ static ncclResult_t ncclAllGatherFallback(const void* sendbuff, void* recvbuff,\n     std::transform(channels.begin(), channels.end(), std::back_inserter(smChannelDeviceHandles),\n                    [](const mscclpp::SmChannel& smChannel) { return mscclpp::deviceHandle(smChannel); });\n     ChannelInfo channelInfo{channels, channels, setupSmChannelDeviceHandles(channels), setupSmChannelDeviceHandles(channels)};\n-    it = comm->channelOutInfos.emplace(recvKey, channelInfo).first;\n+    if (mscclppDisableChannelCache == true) {\n+\tcomm->channelInfos.push_back(channelInfo);\n+\tsmChannels = comm->channelInfos.back().smChannelDeviceHandles.get();\n+    } else {\n+       it = comm->channelOutInfos.emplace(recvKey, channelInfo).first;\n+       smChannels = it->second.smChannelDeviceHandles.get();\n+    }\n+  } else {\n+\tsmChannels = it->second.smChannelDeviceHandles.get();\n   }\n \n-  smChannels = it->second.smChannelDeviceHandles.get();\n   if ((char*)sendbuff == (char*)recvbuff + rank * sendcount) {\n     CUDACHECK(allgather<false>((int*)sendbuff, (int*)nullptr, (int*)recvbuff, smChannels, offsetOut, rank,\n                                NRANKS_PER_NODE, nRank, bytes / sizeof(int), stream));\ndiff --git a/src/debug.cc b/src/debug.cc\nindex a8350fb..d49eb4a 100644\n--- a/src/debug.cc\n+++ b/src/debug.cc\n@@ -15,6 +15,11 @@\n #include <string>\n \n int mscclppDebugLevel = -1;\n+bool mscclppDisableChannelCache = false;\n+bool mscclppDisableRemoteUbr = false;\n+bool mscclppReadAllred = false;\n+bool mscclppHierarchicalAllred = false;\n+\n static int pid = -1;\n static std::string hostname;\n thread_local int mscclppDebugNoWarn = 0;\n@@ -51,6 +56,42 @@ void mscclppDebugInit() {\n     tempNcclDebugLevel = MSCCLPP_LOG_TRACE;\n   }\n \n+  const char* disable_channel_cache = getenv(\"MSCCLPP_DISABLE_CHANNEL_CACHE\");\n+  if (disable_channel_cache == NULL) {\n+     mscclppDisableChannelCache = false;\n+  } else if (strcasecmp(disable_channel_cache, \"TRUE\") == 0) {\n+     mscclppDisableChannelCache = true;\n+  } else {\n+     mscclppDisableChannelCache = false;\n+  }\n+\n+  const char* enable_read_allred = getenv(\"MSCCLPP_READ_ALLRED\");\n+  if (enable_read_allred == NULL) {\n+     mscclppReadAllred = false;\n+  } else if (strcasecmp(enable_read_allred, \"TRUE\") == 0) {\n+     mscclppReadAllred = true;\n+  } else {\n+     mscclppReadAllred = false;\n+  }\n+\n+  const char* enable_hierarchical_allred = getenv(\"MSCCLPP_HIERARCHICAL_ALLRED\");\n+  if (enable_hierarchical_allred == NULL) {\n+     mscclppHierarchicalAllred = false;\n+  } else if (strcasecmp(enable_hierarchical_allred, \"TRUE\") == 0) {\n+     mscclppHierarchicalAllred = true;\n+  } else {\n+     mscclppHierarchicalAllred = false;\n+  }\n+\n+  const char*  disable_remote_ubr = getenv(\"MSCCLPP_DISABLE_REMOTE_UBR\");\n+  if (disable_remote_ubr == NULL) {\n+     mscclppDisableRemoteUbr = false;\n+  } else if (strcasecmp(disable_remote_ubr, \"TRUE\") == 0) {\n+     mscclppDisableRemoteUbr = true;\n+  } else {\n+     mscclppDisableRemoteUbr = false;\n+  }\n+\n   /* Parse the MSCCLPP_DEBUG_SUBSYS env var\n    * This can be a comma separated list such as INIT,COLL\n    * or ^INIT,COLL etc\ndiff --git a/src/include/debug.h b/src/include/debug.h\nindex 713371b..033e5eb 100644\n--- a/src/include/debug.h\n+++ b/src/include/debug.h\n@@ -91,6 +91,12 @@ typedef enum {\n \n extern int mscclppDebugLevel;\n extern uint64_t mscclppDebugMask;\n+\n+extern bool mscclppDisableChannelCache;\n+extern bool mscclppReadAllred;\n+extern bool mscclppHierarchicalAllred;\n+extern bool mscclppDisableRemoteUbr;\n+\n extern pthread_mutex_t mscclppDebugLock;\n extern FILE* mscclppDebugFile;\n \n"
  },
  {
    "path": "ext-src/non-multiple-128-fix.patch",
    "content": "diff --git a/apps/nccl/src/allreduce.hpp b/apps/nccl/src/allreduce.hpp\nindex 76674ba..7a2cd4a 100644\n--- a/apps/nccl/src/allreduce.hpp\n+++ b/apps/nccl/src/allreduce.hpp\n@@ -368,7 +368,10 @@ __global__ void __launch_bounds__(512, 1)\n   const size_t chanOffset = nPeer * blockIdx.x;\n   // assume (nelems * sizeof(T)) is divisible by (16 * worldSize)\n   const size_t nInt4 = nelems * sizeof(T) / sizeof(int4);\n-  const size_t nInt4PerRank = nInt4 / worldSize;\n+  size_t nInt4PerRank = nInt4 / worldSize;\n+  if (nInt4 % worldSize)\n+        nInt4PerRank = nInt4PerRank + 1;\n+\n   auto smChans = smChannels + chanOffset;\n   auto smOutChans = smOutChannels + chanOffset;\n \n"
  },
  {
    "path": "ext-src/read-allred.patch",
    "content": "diff --git a/apps/nccl/src/allreduce.hpp b/apps/nccl/src/allreduce.hpp\nindex 4134241..76674ba 100644\n--- a/apps/nccl/src/allreduce.hpp\n+++ b/apps/nccl/src/allreduce.hpp\n@@ -495,24 +495,345 @@ __global__ void __launch_bounds__(512, 1)\n   }\n }\n \n+template <typename T>\n+__global__ void __launch_bounds__(512, 1)\n+    allreduce8Read(T* buff, T* resultBuff, mscclpp::DeviceHandle<mscclpp::SmChannel>* smChannels,\n+               mscclpp::DeviceHandle<mscclpp::SmChannel>* smOutChannels, size_t channelOutDataOffset,\n+               int rank, int nRanksPerNode, int worldSize, size_t nelems) {\n+  const int nPeer = nRanksPerNode - 1;\n+  const size_t chanOffset = nPeer * blockIdx.x;\n+  // assume (nelems * sizeof(T)) is divisible by (16 * worldSize)\n+  const size_t nInt4 = nelems * sizeof(T) / sizeof(int4);\n+  const size_t nInt4PerRank = nInt4 / worldSize;\n+  auto smChans = smChannels + chanOffset;\n+  auto smOutChans = smOutChannels + chanOffset;\n+\n+  int4* buff4 = reinterpret_cast<int4*>(buff);\n+  int4* resultBuff4 = reinterpret_cast<int4*>(resultBuff);\n+\n+   // Distribute `nInt4PerRank` across all blocks with the unit size `unitNInt4`\n+  constexpr size_t unitNInt4 = 512;\n+  const size_t maxNInt4PerBlock =\n+      (((nInt4PerRank + gridDim.x - 1) / gridDim.x) + unitNInt4 - 1) / unitNInt4 * unitNInt4;\n+  size_t offsetOfThisBlock = maxNInt4PerBlock * blockIdx.x;\n+  size_t nInt4OfThisBlock = maxNInt4PerBlock;\n+  size_t nNeededBlocks = (nInt4PerRank + maxNInt4PerBlock - 1) / maxNInt4PerBlock;\n+  constexpr size_t nInt4PerChunk = 1024 * 512 / sizeof(int4);  // 512KB\n+  if (blockIdx.x >= nNeededBlocks) {\n+    nInt4OfThisBlock = 0;\n+  } else if (blockIdx.x == nNeededBlocks - 1) {\n+    nInt4OfThisBlock = nInt4PerRank - maxNInt4PerBlock * (nNeededBlocks - 1);\n+  }\n+\n+  const size_t nItrs = nInt4OfThisBlock / nInt4PerChunk;\n+  const size_t restNInt4 = nInt4OfThisBlock % nInt4PerChunk;\n+\n+  __shared__ mscclpp::DeviceHandle<mscclpp::SmChannel> channels[NRANKS_PER_NODE - 1];\n+  __shared__ mscclpp::DeviceHandle<mscclpp::SmChannel> outChannels[NRANKS_PER_NODE - 1];\n+  const int lid = threadIdx.x % WARP_SIZE;\n+  if (lid < nPeer) {\n+    channels[lid] = smChans[lid];\n+    outChannels[lid] = smOutChans[lid];\n+  }\n+  __syncwarp();\n+\n+  // we can use double buffering to hide synchronization overhead\n+  for (size_t itr = 0; itr < nItrs; itr++) {\n+    if (threadIdx.x < static_cast<uint32_t>(nPeer)) {\n+      channels[threadIdx.x].signal();\n+      channels[threadIdx.x].wait();\n+    }\n+    __syncthreads();\n+\n+    for (size_t idx = threadIdx.x; idx < nInt4PerChunk; idx += blockDim.x) {\n+      int4 data = buff4[nInt4PerRank * rank + idx + offsetOfThisBlock];\n+      for (int peerIdx = 0; peerIdx < nPeer; peerIdx++) {\n+        int4 val = channels[peerIdx].read<int4>(nInt4PerRank  * rank + offsetOfThisBlock + idx);;\n+        data = add_vectors<T>(val, data);\n+      }\n+      resultBuff4[nInt4PerRank * rank + idx + offsetOfThisBlock] = data;\n+\n+      for (int peerIdx = 0; peerIdx < nPeer; peerIdx++) {\n+        outChannels[peerIdx].write(nInt4PerRank * rank + idx + offsetOfThisBlock + channelOutDataOffset / sizeof(int4),\n+                                   data);\n+      }\n+    }\n+    __syncthreads();\n+\n+    offsetOfThisBlock += nInt4PerChunk;\n+  }\n+\n+  if (restNInt4 > 0) {\n+    if (threadIdx.x < static_cast<uint32_t>(nPeer)) {\n+      channels[threadIdx.x].signal();\n+      channels[threadIdx.x].wait();\n+\n+    }\n+    __syncthreads();\n+\n+    for (size_t idx = threadIdx.x; idx < restNInt4; idx += blockDim.x) {\n+      int4 data = buff4[nInt4PerRank * rank + idx + offsetOfThisBlock];\n+      for (int peerIdx = 0; peerIdx < nPeer; peerIdx++) {\n+        int4 val = channels[peerIdx].read<int4>(nInt4PerRank  * rank + offsetOfThisBlock + idx);;\n+        data = add_vectors<T>(val, data);\n+      }\n+      resultBuff4[nInt4PerRank * rank + idx + offsetOfThisBlock] = data;\n+      for (int peerIdx = 0; peerIdx < nPeer; peerIdx++) {\n+        outChannels[peerIdx].write(nInt4PerRank * rank + idx + offsetOfThisBlock + channelOutDataOffset / sizeof(int4),\n+                                   data);\n+      }\n+    }\n+    __syncthreads();\n+  }\n+\n+  if (threadIdx.x < static_cast<uint32_t>(nPeer)) {\n+      outChannels[threadIdx.x].signal();\n+      outChannels[threadIdx.x].wait();\n+  }\n+  __syncthreads();\n+\n+}\n+\n+template <typename T>\n+__global__ void __launch_bounds__(1024, 1)\n+    allreduce10(T* buff, T* scratch, T* resultBuff, mscclpp::DeviceHandle<mscclpp::SmChannel>* smChannels,\n+                    mscclpp::DeviceHandle<mscclpp::SmChannel>* smScrChannels,\n+               mscclpp::DeviceHandle<mscclpp::SmChannel>* smOutChannels, size_t channelOutDataOffset,\n+               size_t channelScratchOffset, int rank, int nRanksPerNode, int worldSize, size_t nelems) {\n+  const int nPeer = nRanksPerNode - 1;\n+  const size_t chanOffset = nPeer * blockIdx.x;\n+  // assume (nelems * sizeof(T)) is divisible by (16 * worldSize)\n+  const size_t nInt4 = nelems * sizeof(T) / sizeof(int4);\n+  const size_t nInt4PerRank = nInt4 / NRANKS1_PER_NODE;\n+\n+  auto smChans = smChannels + chanOffset;\n+  auto smOutChans = smOutChannels + chanOffset;\n+  auto smScrChans = smScrChannels + chanOffset;\n+\n+  int4* buff4 = reinterpret_cast<int4*>(buff);\n+  int4* scratch4 = reinterpret_cast<int4*>((char*)scratch + channelScratchOffset);\n+  int4* resultBuff4 = reinterpret_cast<int4*>(resultBuff);\n+\n+  // Distribute `nInt4PerRank` across all blocks with the unit size `unitNInt4`\n+  constexpr size_t unitNInt4 = 512;\n+  const size_t maxNInt4PerBlock =\n+      (((nInt4PerRank + gridDim.x - 1) / gridDim.x) + unitNInt4 - 1) / unitNInt4 * unitNInt4;\n+  size_t offsetOfThisBlock = maxNInt4PerBlock * blockIdx.x;\n+  size_t nInt4OfThisBlock = maxNInt4PerBlock;\n+  size_t nNeededBlocks = (nInt4PerRank + maxNInt4PerBlock - 1) / maxNInt4PerBlock;\n+\n+  constexpr size_t nInt4PerChunk = 1024 * 1024 / sizeof(int4);  // 256KB\n+  int num_nodes = worldSize/NRANKS1_PER_NODE;\n+\n+  if (blockIdx.x >= nNeededBlocks) {\n+    nInt4OfThisBlock = 0;\n+  } else if (blockIdx.x == nNeededBlocks - 1) {\n+    nInt4OfThisBlock = nInt4PerRank - maxNInt4PerBlock * (nNeededBlocks - 1);\n+  }\n+\n+  const size_t nItrs = nInt4OfThisBlock / nInt4PerChunk;\n+  const size_t restNInt4 = nInt4OfThisBlock % nInt4PerChunk;\n+\n+  const size_t blockOffset = nInt4PerChunk * blockIdx.x;\n+\n+  int localRank = rank % NRANKS1_PER_NODE;\n+\n+  __shared__ mscclpp::DeviceHandle<mscclpp::SmChannel> channels[NRANKS_PER_NODE - 1];\n+  __shared__ mscclpp::DeviceHandle<mscclpp::SmChannel> outChannels[NRANKS_PER_NODE - 1];\n+  __shared__ mscclpp::DeviceHandle<mscclpp::SmChannel> scrChannels[NRANKS_PER_NODE - 1];\n+\n+  const int lid = threadIdx.x % WARP_SIZE;\n+  if (lid < nPeer) {\n+    channels[lid] = smChans[lid];\n+    outChannels[lid] = smOutChans[lid];\n+    scrChannels[lid] = smScrChans[lid];\n+  }\n+  __syncwarp();\n+\n+  // we can use double buffering to hide synchronization overhead\n+  for (size_t itr = 0; itr < nItrs; itr++) {\n+    if (threadIdx.x < (NRANKS1_PER_NODE-1)) {\n+        int myNode = rank/NRANKS1_PER_NODE;\n+        int remote = (threadIdx.x + 1 + rank);\n+        int remoteNode = remote/NRANKS1_PER_NODE;\n+\n+        if (remoteNode > myNode) {\n+                remote = remote - NRANKS1_PER_NODE;\n+        }\n+        int peerIdx = remote < rank ? remote : remote - 1;\n+        outChannels[peerIdx].signal();\n+        outChannels[peerIdx].wait();\n+    }\n+    __syncthreads();\n+\n+    int myNode = rank/NRANKS1_PER_NODE;\n+\n+     //Reduce within an OAM\n+    for (size_t idx = threadIdx.x; idx < nInt4PerChunk; idx += blockDim.x) {\n+      int4 data = buff4[nInt4PerRank * localRank + idx + offsetOfThisBlock];\n+      for (int peerIdx = NRANKS1_PER_NODE*myNode; peerIdx < (NRANKS1_PER_NODE*myNode +\n+                              NRANKS1_PER_NODE - 1); peerIdx++)      {\n+        int4 val = channels[peerIdx].read<int4>(nInt4PerRank  * localRank + offsetOfThisBlock + idx);\n+        data = add_vectors<T>(val, data);\n+      }\n+      scratch4[idx + blockOffset] = data;\n+    }\n+\n+    if (threadIdx.x < static_cast<uint32_t>(num_nodes-1)) {\n+        int remote = (NRANKS1_PER_NODE * (threadIdx.x + 1) + rank) % worldSize;\n+        int peerIdx = remote < rank ? remote : remote - 1;\n+        scrChannels[peerIdx].signal();\n+        scrChannels[peerIdx].wait();\n+    }\n+    __syncthreads();\n+\n+    //Reduce across OAMs\n+\n+    for (size_t idx = threadIdx.x; idx < nInt4PerChunk; idx += blockDim.x) {\n+      int4 data = scratch4[idx + blockOffset];\n+\n+      for (int peerIdx = 0; peerIdx < NPEERS; peerIdx++) {\n+        const int remoteRank = (peerIdx < rank) ? peerIdx : peerIdx + 1;\n+        int myLocal = rank % NRANKS1_PER_NODE;\n+        int remoteLocal = remoteRank % NRANKS1_PER_NODE;\n+\n+        if (myLocal == remoteLocal) {\n+                int4 val = scrChannels[peerIdx].read<int4>(blockOffset + idx +\n+                                channelScratchOffset/sizeof(int4));\n+                data = add_vectors<T>(val, data);\n+        }\n+      }\n+\n+      resultBuff4[nInt4PerRank * localRank + idx + offsetOfThisBlock] = data;\n+\n+      for (int peerIdx = NRANKS1_PER_NODE*myNode; peerIdx < (NRANKS1_PER_NODE*myNode + NRANKS1_PER_NODE - 1); peerIdx++)      {\n+        outChannels[peerIdx].write(nInt4PerRank * localRank + idx + offsetOfThisBlock +\n+                        channelOutDataOffset / sizeof(int4), data);\n+      }\n+    }\n+\n+    if (threadIdx.x < static_cast<uint32_t>(nPeer)) {\n+      outChannels[threadIdx.x].signal();\n+      outChannels[threadIdx.x].wait();\n+    }\n+    __syncthreads();\n+\n+    offsetOfThisBlock += nInt4PerChunk;\n+  }\n+\n+  if (restNInt4 > 0) {\n+    if (threadIdx.x < (NRANKS1_PER_NODE-1)) {\n+        int myNode = rank/NRANKS1_PER_NODE;\n+        int remote = (threadIdx.x + 1 + rank);\n+        int remoteNode = remote/NRANKS1_PER_NODE;\n+\n+        if (remoteNode > myNode) {\n+                remote = remote - NRANKS1_PER_NODE;\n+        }\n+        int peerIdx = remote < rank ? remote : remote - 1;\n+\n+        outChannels[peerIdx].signal();\n+        outChannels[peerIdx].wait();\n+    }\n+    __syncthreads();\n+\n+    for (size_t idx = threadIdx.x; idx < restNInt4; idx += blockDim.x) {\n+      int4 data = buff4[nInt4PerRank * localRank + idx + offsetOfThisBlock];\n+      for (int peerIdx = 0; peerIdx < NPEERS; peerIdx++) {\n+        const int remoteRank = (peerIdx < rank) ? peerIdx : peerIdx + 1;\n+\n+        int myNode = rank/NRANKS1_PER_NODE;\n+        int remoteNode = remoteRank/NRANKS1_PER_NODE;\n+\n+        if (myNode == remoteNode) {\n+                int4 val = channels[peerIdx].read<int4>(nInt4PerRank  * localRank + offsetOfThisBlock + idx);\n+                data = add_vectors<T>(val, data);\n+        }\n+      }\n+      scratch4[idx + blockOffset] = data;\n+    }\n+\n+    if (threadIdx.x < static_cast<uint32_t>(num_nodes-1)) {\n+        int remote = (NRANKS1_PER_NODE * (threadIdx.x + 1) + rank) % worldSize;\n+        int peerIdx = remote < rank ? remote : remote - 1;\n+        scrChannels[peerIdx].signal();\n+        scrChannels[peerIdx].wait();\n+    }\n+    __syncthreads();\n+\n+    for (size_t idx = threadIdx.x; idx < restNInt4; idx += blockDim.x) {\n+        int4 data = scratch4[idx + blockOffset];\n+\n+        for (int peerIdx = 0; peerIdx < NPEERS; peerIdx++) {\n+            const int remoteRank = (peerIdx < rank) ? peerIdx : peerIdx + 1;\n+            int myLocal = rank % NRANKS1_PER_NODE;\n+            int remoteLocal = remoteRank % NRANKS1_PER_NODE;\n+\n+            if (myLocal == remoteLocal) {\n+                int4 val = scrChannels[peerIdx].read<int4>(blockOffset + idx +\n+                                channelScratchOffset/sizeof(int4));\n+                data = add_vectors<T>(val, data);\n+            }\n+        }\n+\n+       resultBuff4[nInt4PerRank * localRank + idx + offsetOfThisBlock] = data;\n+\tfor (int peerIdx = 0; peerIdx < NPEERS; peerIdx++) {\n+            const int remoteRank = (peerIdx < rank) ? peerIdx : peerIdx + 1;\n+            int myNode = rank/NRANKS1_PER_NODE;\n+            int remoteNode = remoteRank/NRANKS1_PER_NODE;\n+\n+            if (myNode == remoteNode) {\n+                outChannels[peerIdx].write(nInt4PerRank * localRank + idx + offsetOfThisBlock +\n+                                channelOutDataOffset / sizeof(int4), data);\n+            }\n+        }\n+    }\n+    if (threadIdx.x < static_cast<uint32_t>(nPeer)) {\n+      outChannels[threadIdx.x].signal();\n+      outChannels[threadIdx.x].wait();\n+    }\n+    __syncthreads();\n+\n+  }\n+\n+}\n+\n template <typename T>\n cudaError_t allreduce(T* buff, T* scratch, T* resultBuff, mscclpp::DeviceHandle<mscclpp::SmChannel>* smChannels,\n-                      mscclpp::DeviceHandle<mscclpp::SmChannel>* smOutChannels, size_t channelInOffset,\n+                      mscclpp::DeviceHandle<mscclpp::SmChannel>* smScrChannels,\n+\t\t      mscclpp::DeviceHandle<mscclpp::SmChannel>* smOutChannels, size_t channelInOffset,\n                       size_t channelOutOffset, size_t channelScratchOffset, int rank, int nRanksPerNode, int worldSize,\n                       size_t nelems, cudaStream_t stream) {\n   static uint32_t flag = 1;\n+  int readAllred = 0, hieAllred = 0;\n+  char* envValue = nullptr;\n+  char* envValue1 = nullptr;\n \n+  nRanksPerNode = (worldSize < nRanksPerNode) ? worldSize : nRanksPerNode;\n+\n+  envValue = std::getenv(\"MSCCLPP_READ_ALLRED\");\n+  envValue1 = std::getenv(\"MSCCLPP_HIERARCHICAL_ALLRED\");\n+\n+  if (envValue != nullptr) {\n+     if (atoi(envValue) == 1) {\n+        readAllred = 1;\n+     }\n+  }\n+  if (envValue1 != nullptr) {\n+     if (atoi(envValue1) == 1) {\n+        hieAllred = 1;\n+     }\n+  }\n   if (sizeof(T) * nelems < worldSize * sizeof(int)) {\n-    int nBlocks = 7;\n+    int nBlocks = nRanksPerNode - 1;\n     int nThreadsPerBlock = 32;\n-    allreduceAllToAll<<<nBlocks, nThreadsPerBlock, 0, stream>>>(buff, scratch, resultBuff, smChannels, channelInOffset,\n-                                                                channelScratchOffset, rank, nRanksPerNode, worldSize,\n-                                                                nelems, flag++);\n+    allreduceAllToAll<<<nBlocks, nThreadsPerBlock, 0, stream>>>(buff, scratch, resultBuff, smChannels,\n+\t\t    channelInOffset, channelScratchOffset, rank, nRanksPerNode, worldSize, nelems, flag++);\n   } else if (sizeof(T) * nelems <= (1 << 20)) {\n-    int nBlocks = 28;\n+    int nBlocks = 4*(nRanksPerNode - 1);\n     int nThreadsPerBlock = 1024;\n     if (nelems >= 8192) {\n-      nBlocks = 56;\n+      nBlocks = 8*(nRanksPerNode - 1);\n       nThreadsPerBlock = (nelems <= 76800) ? 512 : 1024;\n     }\n #if defined(ENABLE_NPKIT)\n@@ -526,11 +847,23 @@ cudaError_t allreduce(T* buff, T* scratch, T* resultBuff, mscclpp::DeviceHandle<\n                                                          flag++);\n #endif\n   } else {\n-    int nBlocks = 35;\n+    int nBlocks = 5*(nRanksPerNode - 1);\n     int nThreadsPerBlock = 512;\n-    allreduce8<<<nBlocks, nThreadsPerBlock, 0, stream>>>(buff, scratch, resultBuff, smChannels, smOutChannels,\n-                                                         channelOutOffset, channelScratchOffset, rank, nRanksPerNode,\n-                                                         worldSize, nelems);\n+    if (hieAllred && worldSize >= 8) {\n+\tnBlocks = 20;\n+\tallreduce10<<<nBlocks, nThreadsPerBlock, 0, stream>>>(buff, scratch, resultBuff, smChannels, smScrChannels,\n+\t\t\tsmOutChannels, channelOutOffset, channelScratchOffset, rank, nRanksPerNode,\n+\t\t\tworldSize, nelems);\n+    } else {\n+      if (!readAllred) {\n+         allreduce8<<<nBlocks, nThreadsPerBlock, 0, stream>>>(buff, scratch, resultBuff, smScrChannels,\n+\t\tsmOutChannels, channelOutOffset, channelScratchOffset, rank, nRanksPerNode,\n+               worldSize, nelems);\n+      } else {\n+\t    allreduce8Read<<<nBlocks, nThreadsPerBlock, 0, stream>>>(buff, resultBuff, smChannels, smOutChannels,\n+                                                         channelOutOffset, rank, nRanksPerNode,\tworldSize, nelems);\n+      }\n+    }\n   }\n \n   return cudaGetLastError();\ndiff --git a/apps/nccl/src/common.hpp b/apps/nccl/src/common.hpp\nindex 015e0a2..ca2c272 100644\n--- a/apps/nccl/src/common.hpp\n+++ b/apps/nccl/src/common.hpp\n@@ -13,6 +13,7 @@\n #define WARP_SIZE 32\n #endif\n \n+constexpr int NRANKS1_PER_NODE = 4;\n constexpr int NRANKS_PER_NODE = 8;\n constexpr int NPEERS = 7;\n \ndiff --git a/apps/nccl/src/nccl.cu b/apps/nccl/src/nccl.cu\nindex f91d15e..022d398 100644\n--- a/apps/nccl/src/nccl.cu\n+++ b/apps/nccl/src/nccl.cu\n@@ -70,7 +70,9 @@ struct hash<channelKey> {\n \n struct ChannelInfo {\n   std::vector<mscclpp::SmChannel> smChannels;\n+  std::vector<mscclpp::SmChannel> smChannels1;\n   std::shared_ptr<mscclpp::DeviceHandle<mscclpp::SmChannel>> smChannelDeviceHandles;\n+  std::shared_ptr<mscclpp::DeviceHandle<mscclpp::SmChannel>> smChannelDeviceHandles1;\n };\n \n struct ncclComm {\n@@ -213,6 +215,7 @@ static ncclResult_t ncclAllReduceFallback(const void* sendbuff, void* recvbuff,\n   channelKey recvKey{(void*)recvBasePtr, recvBytes};\n   mscclpp::DeviceHandle<mscclpp::SmChannel>* smChannels = nullptr;\n   mscclpp::DeviceHandle<mscclpp::SmChannel>* smOutChannels = nullptr;\n+  mscclpp::DeviceHandle<mscclpp::SmChannel>* smScrChannels = nullptr;\n \n   // Creating the channels\n   if (count * ncclTypeSize(datatype) <= (1 << 20)) {\n@@ -220,19 +223,24 @@ static ncclResult_t ncclAllReduceFallback(const void* sendbuff, void* recvbuff,\n     if (sendIt == comm->channelScratchInfos.end()) {\n       std::vector<mscclpp::SmChannel> channels =\n           setupSmChannels(comm, comm->remoteScratchRegMemories, const_cast<void*>((void*)sendBasePtr));\n-      ChannelInfo channelInfo{channels, setupSmChannelDeviceHandles(channels)};\n+      ChannelInfo channelInfo{channels, channels, setupSmChannelDeviceHandles(channels), setupSmChannelDeviceHandles(channels)};\n       sendIt = comm->channelScratchInfos.emplace(sendKey, channelInfo).first;\n     }\n \n     smChannels = sendIt->second.smChannelDeviceHandles.get();\n   } else {\n     std::vector<mscclpp::RegisteredMemory> remoteMemories;\n-\n+    std::vector<mscclpp::RegisteredMemory> remoteMemories1;\n     auto sendIt = comm->channelInInfos.find(sendKey);\n     if (sendIt == comm->channelInInfos.end()) {\n       std::vector<mscclpp::SmChannel> channels =\n           setupSmChannels(comm, comm->remoteScratchRegMemories, const_cast<void*>((void*)sendBasePtr));\n-      ChannelInfo channelInfo{channels, setupSmChannelDeviceHandles(channels)};\n+      remoteMemories1 =\n+          setupRemoteMemories(comm->comm, rank, (void*)sendBasePtr, sendBytes, mscclpp::Transport::CudaIpc);\n+      std::vector<mscclpp::SmChannel> channels1 =\n+          setupSmChannels(comm, remoteMemories1, const_cast<void*>((void*)sendBasePtr));\n+\n+      ChannelInfo channelInfo{channels, channels1, setupSmChannelDeviceHandles(channels), setupSmChannelDeviceHandles(channels1)};\n       sendIt = comm->channelInInfos.emplace(sendKey, channelInfo).first;\n     }\n \n@@ -242,35 +250,36 @@ static ncclResult_t ncclAllReduceFallback(const void* sendbuff, void* recvbuff,\n           setupRemoteMemories(comm->comm, rank, (void*)recvBasePtr, recvBytes, mscclpp::Transport::CudaIpc);\n       std::vector<mscclpp::SmChannel> outChannels =\n           setupSmChannels(comm, remoteMemories, const_cast<void*>((void*)recvBasePtr));\n-      ChannelInfo channelInfo{outChannels, setupSmChannelDeviceHandles(outChannels)};\n+      ChannelInfo channelInfo{outChannels, outChannels, setupSmChannelDeviceHandles(outChannels), setupSmChannelDeviceHandles(outChannels)};\n       recvIt = comm->channelOutInfos.emplace(recvKey, channelInfo).first;\n     }\n \n-    smChannels = sendIt->second.smChannelDeviceHandles.get();\n+    smChannels = sendIt->second.smChannelDeviceHandles1.get();\n     smOutChannels = recvIt->second.smChannelDeviceHandles.get();\n+    smScrChannels = sendIt->second.smChannelDeviceHandles.get();\n   }\n \n   switch (datatype) {\n     case ncclFloat16:\n-      CUDACHECK(allreduce((half*)sendbuff, (half*)comm->scratchBuff.get(), (half*)recvbuff, smChannels, smOutChannels,\n-                          offsetIn, offsetOut, offsetScratch, rank, NRANKS_PER_NODE,\n-                          comm->comm->bootstrap()->getNranks(), count, stream));\n+      CUDACHECK(allreduce((half*)sendbuff, (half*)comm->scratchBuff.get(), (half*)recvbuff, smChannels, smScrChannels,\n+\tsmOutChannels, offsetIn, offsetOut, offsetScratch, rank, NRANKS_PER_NODE, comm->comm->bootstrap()->getNranks(), \tcount, stream));\n       break;\n     case ncclFloat32:\n       CUDACHECK(allreduce((float*)sendbuff, (float*)comm->scratchBuff.get(), (float*)recvbuff, smChannels,\n-                          smOutChannels, offsetIn, offsetOut, offsetScratch, comm->comm->bootstrap()->getRank(),\n+                          smScrChannels, smOutChannels, offsetIn, offsetOut, offsetScratch,\n+\t\t\t   comm->comm->bootstrap()->getRank(),\n                           NRANKS_PER_NODE, comm->comm->bootstrap()->getNranks(), count, stream));\n       break;\n     case ncclBfloat16:\n       CUDACHECK(allreduce((__bfloat16*)sendbuff, (__bfloat16*)comm->scratchBuff.get(), (__bfloat16*)recvbuff,\n-                          smChannels, smOutChannels, offsetIn, offsetOut, offsetScratch, rank, NRANKS_PER_NODE,\n-                          comm->comm->bootstrap()->getNranks(), count, stream));\n+                          smChannels, smScrChannels, smOutChannels, offsetIn, offsetOut, offsetScratch, rank,\n+\t\t\t   NRANKS_PER_NODE, comm->comm->bootstrap()->getNranks(), count, stream));\n       break;\n     case ncclInt32:\n     case ncclUint32:\n-      CUDACHECK(allreduce((int*)sendbuff, (int*)comm->scratchBuff.get(), (int*)recvbuff, smChannels, smOutChannels,\n-                          offsetIn, offsetOut, offsetScratch, comm->comm->bootstrap()->getRank(), NRANKS_PER_NODE,\n-                          comm->comm->bootstrap()->getNranks(), count, stream));\n+      CUDACHECK(allreduce((int*)sendbuff, (int*)comm->scratchBuff.get(), (int*)recvbuff, smChannels, smScrChannels,\n+\t\t\t  smOutChannels, offsetIn, offsetOut, offsetScratch, comm->comm->bootstrap()->getRank(),\n+\t\t\t  NRANKS_PER_NODE, comm->comm->bootstrap()->getNranks(), count, stream));\n       break;\n     default:\n       WARN(\"datatype is invalid\");\n@@ -315,7 +324,7 @@ static ncclResult_t ncclAllGatherFallback(const void* sendbuff, void* recvbuff,\n     std::vector<mscclpp::DeviceHandle<mscclpp::SmChannel>> smChannelDeviceHandles;\n     std::transform(channels.begin(), channels.end(), std::back_inserter(smChannelDeviceHandles),\n                    [](const mscclpp::SmChannel& smChannel) { return mscclpp::deviceHandle(smChannel); });\n-    ChannelInfo channelInfo{channels, setupSmChannelDeviceHandles(channels)};\n+    ChannelInfo channelInfo{channels, channels, setupSmChannelDeviceHandles(channels), setupSmChannelDeviceHandles(channels)};\n     it = comm->channelOutInfos.emplace(recvKey, channelInfo).first;\n   }\n \n@@ -597,7 +606,7 @@ NCCL_API ncclResult_t ncclBroadcastFallback(const void* sendbuff, void* recvbuff\n     std::vector<mscclpp::DeviceHandle<mscclpp::SmChannel>> smChannelDeviceHandles;\n     std::transform(channels.begin(), channels.end(), std::back_inserter(smChannelDeviceHandles),\n                    [](const mscclpp::SmChannel& smChannel) { return mscclpp::deviceHandle(smChannel); });\n-    ChannelInfo channelInfo{channels, setupSmChannelDeviceHandles(channels)};\n+    ChannelInfo channelInfo{channels, channels, setupSmChannelDeviceHandles(channels), setupSmChannelDeviceHandles(channels)};\n     it = comm->channelOutInfos.emplace(recvKey, channelInfo).first;\n   }\n \n@@ -805,16 +814,6 @@ NCCL_API ncclResult_t ncclGroupEnd() {\n   return ncclSuccess;\n }\n \n-NCCL_API ncclResult_t ncclCommRegister(const ncclComm_t, void*, size_t, void**) {\n-  // TODO: Implementation\n-  return ncclSuccess;\n-}\n-\n-NCCL_API ncclResult_t ncclCommDeregister(const ncclComm_t, void*) {\n-  // TODO: Implementation\n-  return ncclSuccess;\n-}\n-\n ncclResult_t ncclMemAlloc(void** ptr, size_t size) {\n   if (ptr == nullptr || size == 0) {\n     WARN(\"ptr is nullptr or size is 0\");\n"
  },
  {
    "path": "ext-src/reg-fix.patch",
    "content": "diff --git a/apps/nccl/src/nccl.cu b/apps/nccl/src/nccl.cu\nindex 5c19dc6..5fb99ef 100644\n--- a/apps/nccl/src/nccl.cu\n+++ b/apps/nccl/src/nccl.cu\n@@ -85,6 +85,7 @@ struct ncclComm {\n   std::unordered_map<channelKey, ChannelInfo> channelInInfos;\n   std::unordered_map<channelKey, ChannelInfo> channelOutInfos;\n   std::unordered_map<channelKey, ChannelInfo> channelScratchInfos;\n+  std::unordered_map<channelKey, cudaIpcMemHandle_t> regHandles;\n   std::unordered_map<void*, channelKey> handleKeys;\n   std::shared_ptr<char> scratchBuff;\n   std::vector<mscclpp::RegisteredMemory> remoteScratchRegMemories;\n@@ -616,6 +617,11 @@ NCCL_API ncclResult_t ncclCommRegister(ncclComm_t comm, void* buff, size_t size,\n   p->ipcHandle = ipcHandle;\n   *handle = p;\n \n+  auto regIt = comm->regHandles.find(buffKey);\n+  if (regIt == comm->regHandles.end()) {\n+        comm->regHandles[buffKey] = ipcHandle;\n+  }\n+\n   auto it = comm->handleKeys.find(*handle);\n   if (it == comm->handleKeys.end()) {\n      comm->handleKeys[*handle] = buffKey;\n@@ -642,6 +648,7 @@ NCCL_API ncclResult_t ncclCommDeregister(ncclComm_t comm, void* handle) {\n      if (outIt != comm->channelOutInfos.end()) {\n         comm->channelOutInfos.erase(outIt);\n      }\n+     comm->regHandles.erase(buffKey);\n      comm->handleKeys.erase(handle);\n      free(handle);\n   }\n@@ -655,8 +662,8 @@ bool mscclpp_BuffIsRegistered(ncclComm_t comm, const void* buff){\n   CUdeviceptr buffBasePtr;\n   MSCCLPP_CUTHROW(cuMemGetAddressRange(&buffBasePtr, &buffBytes, (CUdeviceptr)buff));\n   channelKey buffKey{(void*)buffBasePtr, buffBytes};\n-  auto buffIt = comm->channelScratchInfos.find(buffKey);\n-  bool registered =  buffIt != comm->channelScratchInfos.end();\n+  auto buffIt = comm->regHandles.find(buffKey);\n+  bool registered =  buffIt != comm->regHandles.end();\n   return registered;\n }\n size_t\n"
  },
  {
    "path": "ext-src/remove-clip.patch",
    "content": "diff --git a/apps/nccl/src/allreduce.hpp b/apps/nccl/src/allreduce.hpp\nindex fac105a..9ef93ce 100644\n--- a/apps/nccl/src/allreduce.hpp\n+++ b/apps/nccl/src/allreduce.hpp\n@@ -71,17 +71,29 @@ __forceinline__ __device__ __bfloat162 clip(__bfloat162 val) {\n \n template <typename T>\n __forceinline__ __device__ T add_elements(T a, T b) {\n-  return clip(a + b);\n+  #ifdef MSCCLPP_CLIP_ENABLED\n+    return clip(a + b);\n+  #else\n+    return a + b;\n+  #endif\n }\n \n template <>\n __forceinline__ __device__ __half2 add_elements(__half2 a, __half2 b) {\n-  return clip(__hadd2(a, b));\n+  #ifdef MSCCLPP_CLIP_ENABLED\n+    return clip(__hadd2(a, b));\n+  #else\n+    return __hadd2(a, b);\n+  #endif\n }\n \n template <>\n __forceinline__ __device__ __bfloat162 add_elements(__bfloat162 a, __bfloat162 b) {\n-  return clip(__hadd2(a, b));\n+  #ifdef MSCCLPP_CLIP_ENABLED\n+    return clip(__hadd2(a, b));\n+  #else\n+    return __hadd2(a, b);\n+  #endif\n }\n \n template <typename T>\n@@ -558,7 +570,7 @@ __global__ void __launch_bounds__(512, 1)\n \n \n template <typename T>\n-__global__ void __launch_bounds__(512, 1)\n+__global__ void __launch_bounds__(1024, 1)\n     allreduce8(T* buff, T* scratch, T* resultBuff, mscclpp::DeviceHandle<mscclpp::SmChannel>* smChannels,\n                mscclpp::DeviceHandle<mscclpp::SmChannel>* smOutChannels, size_t channelOutDataOffset,\n                size_t channelScratchOffset, int rank, int nRanksPerNode, int worldSize, size_t nelems) {\n@@ -1045,6 +1057,7 @@ cudaError_t allreduce(T* buff, T* scratch, T* resultBuff, mscclpp::DeviceHandle<\n              allreduce8Mod<<<nBlocks, nThreadsPerBlock, 0, stream>>>(buff, scratch, resultBuff, smScrChannels,\n                        channelScratchOffset, rank, nRanksPerNode, worldSize, nelems);\n \t } else {\n+             nThreadsPerBlock = std::is_same<T,__bfloat16>::value ? 1024 : nThreadsPerBlock;\n              allreduce8<<<nBlocks, nThreadsPerBlock, 0, stream>>>(buff, scratch, resultBuff, smScrChannels,\n \t\tsmOutChannels, channelOutOffset, channelScratchOffset, rank, nRanksPerNode,\n                    worldSize, nelems);\n"
  },
  {
    "path": "ext-src/rocm_netib.patch",
    "content": "diff --git a/src/transport/net_ib.cc b/src/transport/net_ib.cc\nindex 9bfd8dcf..4d3f0a08 100644\n--- a/src/transport/net_ib.cc\n+++ b/src/transport/net_ib.cc\n@@ -29,6 +29,7 @@\n \n #include \"ibvwrap.h\"\n #include \"mlx5/mlx5dvwrap.h\"\n+#include \"ionic/ionicdvwrap.h\"\n #include \"graph/xml.h\"\n \n #define MAXSUFFIXSIZE 16\n@@ -110,16 +111,38 @@ struct ncclIbMergedDev ncclIbMergedDevs[MAX_IB_VDEVS];\n struct ncclIbDev ncclIbDevs[MAX_IB_DEVS];\n static std::mutex ncclIbMutex;\n static int ncclIbRelaxedOrderingEnabled = 0;\n+static bool rcclAinicRoce = 0;\n+static bool rcclCtsInlineData = 0;\n+static bool rcclCtsOffloadEnabled = 0;\n+static bool ncclIbUseInline = 0;\n+static int ncclIbGdrFlushDisable = 0;\n+\n+enum ncclIbChannelType {\n+  ncclIbChannelTypeCts  = 0,\n+  ncclIbChannelTypeData = 1,\n+  ncclIbChannelTypeMax  = 2\n+};\n+\n+struct ncclChannelToUd {\n+    int channelId;\n+    bool udId;\n+    bool udAllocated;\n+};\n+\n+static ncclChannelToUd nccl_channel_ud_map[MAXCHANNELS][ncclIbChannelTypeMax];\n+static bool nccl_channel_last_ud[MAX_IB_DEVS][ncclIbChannelTypeMax];\n \n // With ncclNet_v11_t the NCCL core initializes the network plugin per-communicator\n // rather than once for all communicators. However, the internal plugin implementation\n // still assumes the plugin is initialized only once across all communicators. The ref\n // counter makes sure the plugin internally initializes only once. When per communicator\n // context support is added to the plugin the ref counter can be removed.\n static int netRefCount;\n \n #define NCCL_IB_LLSTR(ll) (((ll) == IBV_LINK_LAYER_INFINIBAND) ? \"IB\" : (((ll) == IBV_LINK_LAYER_ETHERNET) ? \"RoCE\" : \"UNSPECIFIED\"))\n \n+#define NCCL_CTS_QP_SLOT_INVALID 0xFF\n+\n #define NCCL_IB_SL_DEFAULT 0\n #define NCCL_IB_TC_DEFAULT 0\n \n@@ -141,6 +164,13 @@ NCCL_PARAM(IbEceEnable,\"IB_ECE_ENABLE\",1);\n NCCL_PARAM(IbDataDirect,\"IB_DATA_DIRECT\",1);\n NCCL_PARAM(IbQpsPerConn, \"IB_QPS_PER_CONNECTION\", 1);\n RCCL_PARAM(IbQpsPerP2p, \"IB_QPS_PER_P2P\", 0);\n+NCCL_PARAM(IbGdrFlushDisable, \"GDR_FLUSH_DISABLE\", 0);\n+\n+// AMD AINIC\n+RCCL_PARAM(CtsInlineData, \"CTS_INLINE_DATA\", -1);\n+RCCL_PARAM(CtsOffloadEnabled, \"CTS_OFFLOAD_ENABLED\", -1);\n+\n+extern int64_t rcclParamAinicRoce();\n \n static ncclResult_t ncclIbStatsInit(struct ncclIbStats* stat) {\n   __atomic_store_n(&stat->fatalErrorCount, 0, __ATOMIC_RELAXED);\n@@ -779,6 +809,10 @@ ncclResult_t ncclIbInit(void** ctx, uint64_t commId, ncclNetCommConfig_t* config\n   static int shownIbHcaEnv = 0;\n   if(wrap_ibv_symbols() != ncclSuccess) { return ncclInternalError; }\n   if(wrap_mlx5dv_symbols() != ncclSuccess) { INFO(NCCL_NET, \"NET/IB : Failed to open mlx5dv symbols. Advance features like CX-8 Direct-NIC will be disabled.\"); }\n+  if(wrap_ionicdv_symbols() != ncclSuccess) {\n+    WARN(\"NET/IB : Failed to open ionicdv symbols. Advance features like AINIC UD load balancing will be disabled.\");\n+    return ncclInternalError;\n+  }\n \n   // Detect IB cards\n   int nIbDevs = 0;\n@@ -944,6 +978,23 @@ ncclResult_t ncclIbInit(void** ctx, uint64_t commId, ncclNetCommConfig_t* config\n     INFO(NCCL_INIT|NCCL_NET, \"NET/IB : Using%s %s; OOB %s:%s\", line, ncclIbRelaxedOrderingEnabled ? \"[RO]\" : \"\",\n           ncclIbIfName, ncclSocketToString(&ncclIbIfAddr, addrline));\n \n+    ncclIbUseInline = ncclParamIbUseInline();\n+    ncclIbGdrFlushDisable = ncclParamIbGdrFlushDisable();\n+\n+    rcclAinicRoce = ((rcclParamAinicRoce() == 1) ? true : false);\n+    if (rcclAinicRoce) {\n+      // for AINIC, these params are defaulted to enabled unless user forces it to disable(0).\n+      rcclCtsInlineData = ((rcclParamCtsInlineData() == 0) ? false : true);\n+      rcclCtsOffloadEnabled = ((rcclParamCtsOffloadEnabled() == 0) ? false : true);\n+      // for AINIC IbUseInline is enabled by default always\n+      ncclIbUseInline = true;\n+      // for AINIC GDR flush is disabled by default\n+      ncclIbGdrFlushDisable = 1;\n+\n+      INFO(NCCL_INIT|NCCL_NET, \"NET/IB : AINIC RoCEv2 optimizations enabled: CTS Inline Data: %s; CTS Offload: %s; \"\n+           \"IB Use Inline: enabled; GDR Flush: disabled\", rcclCtsInlineData ? \"Enabled\": \"Disabled\",\n+           rcclCtsOffloadEnabled ? \"Enabled\": \"Disabled\");\n+    }\n   }\n exit:\n   ibContext.trafficClass = config->trafficClass;\n@@ -1271,6 +1322,8 @@ struct ncclIbListenComm {\n   struct ncclIbCommStage stage;\n };\n \n+#define MAX_INLINE_DATA_SIZE 24\n+\n struct alignas(64) ncclIbSendFifo {\n   uint64_t addr;\n   uint64_t size;\n@@ -1281,10 +1334,21 @@ struct alignas(64) ncclIbSendFifo {\n   char padding[16];\n };\n \n+struct alignas(32) ncclIbSendFifoCtsInline {\n+  uint64_t addr;\n+  uint32_t rkeys[1];\n+  int size;\n+  uint8_t nreqs;\n+  uint16_t tag;\n+  uint32_t idx;\n+  char padding[9];\n+} __attribute__((packed));\n+\n struct ncclIbQp {\n   struct ibv_qp* qp;\n   int devIndex;\n   int remDevIdx;\n+  int8_t ctsQpSlot;\n };\n \n struct ncclIbRemSizesFifo {\n@@ -1331,6 +1395,7 @@ struct ncclIbSendComm {\n   struct ncclIbNetCommBase base;\n   // Start with fifo and ibv structs as they have alignment restrictions\n   struct ncclIbSendFifo fifo[MAX_REQUESTS][NCCL_NET_IB_MAX_RECVS];\n+  struct ncclIbSendFifoCtsInline fifo_inline[MAX_REQUESTS][NCCL_NET_IB_MAX_RECVS];\n   struct ibv_sge sges[NCCL_NET_IB_MAX_RECVS];\n   struct ibv_send_wr wrs[NCCL_NET_IB_MAX_RECVS + 1];\n   // Each dev correlates to a mergedIbDev\n@@ -1346,6 +1411,7 @@ struct ncclIbSendComm {\n static_assert((sizeof(struct ncclIbNetCommBase) % 32) == 0, \"ncclIbNetCommBase size must be 32-byte multiple to ensure fifo is at proper offset\");\n static_assert((offsetof(struct ncclIbSendComm, fifo) % 32) == 0, \"ncclIbSendComm fifo must be 32-byte aligned\");\n static_assert((sizeof(struct ncclIbSendFifo) % 32) == 0, \"ncclIbSendFifo element size must be 32-byte multiples\");\n+static_assert((sizeof(struct ncclIbSendFifoCtsInline) % 32) == 0, \"ncclIbSendFifoCtsInline element size must be 32-byte multiples\");\n static_assert((offsetof(struct ncclIbSendComm, sges) % 32) == 0, \"sges must be 32-byte aligned\");\n static_assert((offsetof(struct ncclIbSendComm, wrs) % 32) == 0, \"wrs must be 32-byte aligned\");\n \n@@ -1360,6 +1426,7 @@ struct ncclIbGpuFlush {\n \n struct ncclIbRemFifo {\n   struct ncclIbSendFifo elems[MAX_REQUESTS][NCCL_NET_IB_MAX_RECVS];\n+  struct ncclIbSendFifoCtsInline elems_cts_inline[MAX_REQUESTS][NCCL_NET_IB_MAX_RECVS];\n   uint64_t fifoTail;\n   uint64_t addr;\n   uint32_t flags;\n@@ -1415,20 +1482,59 @@ ncclResult_t ncclIbDestroyBase(struct ncclIbNetCommDevBase* base) {\n   return ncclSuccess;\n }\n \n-ncclResult_t ncclIbCreateQp(uint8_t ib_port, struct ncclIbNetCommDevBase* base, int access_flags, void* qp_context, struct ncclIbQp* qp) {\n+ncclResult_t ncclIbCreateQp(uint8_t ib_port, struct ncclIbNetCommDevBase* base,\n+                            int access_flags, void* qp_context, struct ncclIbQp* qp,\n+                            int channel_id, bool data_qp, int8_t cts_qp_slot) {\n   struct ibv_qp_init_attr qpInitAttr;\n+  enum ncclIbChannelType channel_type = (data_qp ? ncclIbChannelTypeData : ncclIbChannelTypeCts);\n   memset(&qpInitAttr, 0, sizeof(struct ibv_qp_init_attr));\n   qpInitAttr.qp_context = qp_context;\n   qpInitAttr.send_cq = base->cq;\n   qpInitAttr.recv_cq = base->cq;\n   qpInitAttr.qp_type = IBV_QPT_RC;\n+\n+  if (rcclAinicRoce) {\n+    if (!nccl_channel_ud_map[channel_id][channel_type].udAllocated) {\n+      bool lud = nccl_channel_last_ud[base->ibDevN][channel_type];\n+      nccl_channel_ud_map[channel_id][channel_type].udId = lud;\n+      nccl_channel_ud_map[channel_id][channel_type].udAllocated = true;\n+      nccl_channel_last_ud[base->ibDevN][channel_type] =\n+          !(nccl_channel_last_ud[base->ibDevN][channel_type]);\n+    }\n+    if (nccl_channel_ud_map[channel_id][channel_type].udId) {\n+        wrap_ionicdv_pd_set_udma_mask(base->pd, IONIC_UDMA_MASK_HIGH);\n+    } else {\n+        wrap_ionicdv_pd_set_udma_mask(base->pd, IONIC_UDMA_MASK_LOW);\n+    }\n+    qpInitAttr.sq_sig_all |= (1 << 16);\n+    if (data_qp) {\n+      qpInitAttr.sq_sig_all |= (1 << 17);\n+    } else {\n+      qpInitAttr.sq_sig_all &= (~(1 << 17));\n+    }\n+    qpInitAttr.sq_sig_all |= (1 << 18);\n+\n+    if (rcclCtsOffloadEnabled) {\n+      qpInitAttr.sq_sig_all |= (1 << 19);\n+    } else {\n+      qpInitAttr.sq_sig_all &= (~(1 << 19));\n+    }\n+  }\n+\n   // We might send 2 messages per send (RDMA and RDMA_WITH_IMM)\n   qpInitAttr.cap.max_send_wr = 2*MAX_REQUESTS;\n   qpInitAttr.cap.max_recv_wr = MAX_REQUESTS;\n   qpInitAttr.cap.max_send_sge = 1;\n   qpInitAttr.cap.max_recv_sge = 1;\n-  qpInitAttr.cap.max_inline_data = ncclParamIbUseInline() ? sizeof(struct ncclIbSendFifo) : 0;\n+  if (rcclCtsInlineData) {\n+    qpInitAttr.cap.max_inline_data = MAX_INLINE_DATA_SIZE;\n+  } else {\n+    qpInitAttr.cap.max_inline_data = ncclIbUseInline ? sizeof(struct ncclIbSendFifo) : 0;\n+  }\n   NCCLCHECK(wrap_ibv_create_qp(&qp->qp, base->pd, &qpInitAttr));\n+  if (rcclAinicRoce) {\n+    NCCLCHECK(wrap_ionicdv_qp_set_gda(qp->qp, false, true));\n+  }\n   struct ibv_qp_attr qpAttr;\n   memset(&qpAttr, 0, sizeof(struct ibv_qp_attr));\n   qpAttr.qp_state = IBV_QPS_INIT;\n@@ -1438,6 +1544,9 @@ ncclResult_t ncclIbCreateQp(uint8_t ib_port, struct ncclIbNetCommDevBase* base,\n   NCCLCHECK(wrap_ibv_modify_qp(qp->qp, &qpAttr, IBV_QP_STATE | IBV_QP_PKEY_INDEX | IBV_QP_PORT | IBV_QP_ACCESS_FLAGS));\n   TRACE(NCCL_NET, \"NET/IB : ncclIbCreateQp port=%d dev=%d devName=%s ndevs=%d nmdevs=%d qpn=%u pkey=%u pd=%p\",\n     ib_port, base->ibDevN, ncclIbDevs[base->ibDevN].devName, ncclNIbDevs, ncclNMergedIbDevs, qp->qp->qp_num, qpAttr.pkey_index, base->pd);\n+  if (rcclAinicRoce) {\n+    qp->ctsQpSlot = cts_qp_slot;\n+  }\n   return ncclSuccess;\n }\n \n@@ -1521,7 +1630,7 @@ fail:\n   goto exit;\n }\n \n-ncclResult_t ncclIbConnect(void* ctx, int dev, void* opaqueHandle, void** sendComm, ncclNetDeviceHandle_t** /*sendDevComm*/) {\n+ncclResult_t ncclIbConnect(void* ctx, int dev, void* opaqueHandle, void** sendComm, ncclNetDeviceHandle_t** sendDevComm) {\n   ncclResult_t ret = ncclSuccess;\n   struct ncclIbHandle* handle = (struct ncclIbHandle*) opaqueHandle;\n   struct ncclIbCommStage* stage = &handle->stage;\n@@ -1529,8 +1638,13 @@ ncclResult_t ncclIbConnect(void* ctx, int dev, void* opaqueHandle, void** sendCo\n   int ready;\n   uint8_t link_layer = IBV_LINK_LAYER_UNSPECIFIED;\n   int isP2p = 0; \n+  int channel_id = 0;\n   *sendComm = NULL;\n \n+  if (rcclAinicRoce) {\n+    channel_id = ((ncclNet_ctxt_t *)sendDevComm)->chId;\n+  }\n+\n   if (stage->state == ncclIbCommStateConnect)      goto ib_connect_check;\n   if (stage->state == ncclIbCommStateSendDevList)  goto ib_send_dev_list;\n   if (stage->state == ncclIbCommStateRecvDevList)  goto ib_recv_dev_list;\n@@ -1612,7 +1726,7 @@ ib_recv_dev_list:\n   for (int q = 0; q < comm->base.nqps; q++) {\n     ncclIbSendCommDev* commDev = comm->devs + devIndex;\n     ncclIbDev* ibDev = ncclIbDevs + commDev->base.ibDevN;\n-    NCCLCHECKGOTO(ncclIbCreateQp(ibDev->portNum, &commDev->base, IBV_ACCESS_REMOTE_WRITE, &comm->base.stats, comm->base.qps + q), ret, fail);\n+    NCCLCHECKGOTO(ncclIbCreateQp(ibDev->portNum, &commDev->base, IBV_ACCESS_REMOTE_WRITE, &comm->base.stats, comm->base.qps + q, channel_id, true, NCCL_CTS_QP_SLOT_INVALID), ret, fail);\n     comm->base.qps[q].devIndex = devIndex;\n     meta.qpInfo[q].qpn      = comm->base.qps[q].qp->qp_num;\n     meta.qpInfo[q].devIndex = comm->base.qps[q].devIndex;\n@@ -1637,7 +1751,11 @@ ib_recv_dev_list:\n     devInfo->lid           = ibDev->portAttr.lid;\n     devInfo->ibv_dev_index = commDev->base.ibDevN;\n     // Prepare my fifo\n-    NCCLCHECKGOTO(wrap_ibv_reg_mr(&commDev->fifoMr, commDev->base.pd, comm->fifo, sizeof(struct ncclIbSendFifo)*MAX_REQUESTS*NCCL_NET_IB_MAX_RECVS, IBV_ACCESS_LOCAL_WRITE|IBV_ACCESS_REMOTE_WRITE|IBV_ACCESS_REMOTE_READ), ret, fail);\n+    if (rcclCtsInlineData) {\n+      NCCLCHECKGOTO(wrap_ibv_reg_mr(&commDev->fifoMr, commDev->base.pd, comm->fifo_inline, sizeof(struct ncclIbSendFifoCtsInline)*MAX_REQUESTS*NCCL_NET_IB_MAX_RECVS, IBV_ACCESS_LOCAL_WRITE|IBV_ACCESS_REMOTE_WRITE|IBV_ACCESS_REMOTE_READ), ret, fail);\n+    } else {\n+      NCCLCHECKGOTO(wrap_ibv_reg_mr(&commDev->fifoMr, commDev->base.pd, comm->fifo, sizeof(struct ncclIbSendFifo)*MAX_REQUESTS*NCCL_NET_IB_MAX_RECVS, IBV_ACCESS_LOCAL_WRITE|IBV_ACCESS_REMOTE_WRITE|IBV_ACCESS_REMOTE_READ), ret, fail);\n+    }\n     devInfo->fifoRkey = commDev->fifoMr->rkey;\n \n     // Pack local GID info\n@@ -1680,7 +1798,11 @@ ib_recv_dev_list:\n     }\n   }\n   config = (ncclNetCommConfig_t*)ctx;\n-  meta.fifoAddr = (uint64_t)comm->fifo;\n+  if (rcclCtsInlineData) {\n+    meta.fifoAddr = (uint64_t)comm->fifo_inline;\n+  } else {\n+    meta.fifoAddr = (uint64_t)comm->fifo;\n+  }\n   meta.sl = (ncclParamIbSl() != -1) ? ncclParamIbSl() : (config && config->trafficClass != NCCL_NET_TRAFFIC_CLASS_UNDEF) ? config->trafficClass : NCCL_IB_SL_DEFAULT;\n   meta.tc = (ncclParamIbTc() != -1) ? ncclParamIbTc() : (config && config->trafficClass != NCCL_NET_TRAFFIC_CLASS_UNDEF) ? config->trafficClass : NCCL_IB_TC_DEFAULT;\n   strncpy(meta.devName, mergedDev->devName, MAX_MERGED_DEV_NAME);\n@@ -1825,18 +1947,22 @@ ncclResult_t ncclIbCheckVProps(ncclNetVDeviceProps_t* vProps1, ncclNetVDevicePro\n   return ncclSuccess;\n }\n \n-NCCL_PARAM(IbGdrFlushDisable, \"GDR_FLUSH_DISABLE\", 0);\n RCCL_PARAM(IbGdrFlushGpuMemNoRelaxedOrdering, \"GDR_FLUSH_GPU_MEM_NO_RELAXED_ORDERING\", 1);\n \n-ncclResult_t ncclIbAccept(void* listenComm, void** recvComm, ncclNetDeviceHandle_t** /*recvDevComm*/) {\n+ncclResult_t ncclIbAccept(void* listenComm, void** recvComm, ncclNetDeviceHandle_t** recvDevComm) {\n   ncclResult_t ret = ncclSuccess;\n   struct ncclIbListenComm* lComm = (struct ncclIbListenComm*)listenComm;\n   struct ncclIbCommStage* stage = &lComm->stage;\n   struct ncclIbRecvComm* rComm = (struct ncclIbRecvComm*)stage->comm;\n   int ready;\n   int link_layer = IBV_LINK_LAYER_UNSPECIFIED;\n+  int channel_id = 0;\n   *recvComm = NULL;\n \n+  if (rcclAinicRoce) {\n+    channel_id = ((ncclNet_ctxt_t *) recvDevComm)->chId;\n+  }\n+\n   if (stage->state == ncclIbCommStateAccept)   goto ib_accept_check;\n   if (stage->state == ncclIbCommStateRecvDevList) goto ib_recv_dev_list;\n   if (stage->state == ncclIbCommStateSendDevList) goto ib_send_dev_list;\n@@ -1966,7 +2092,7 @@ ib_recv:\n     // Local ibDevN\n     ibDevN = rComm->devs[devIndex].base.ibDevN;\n     ibDev = ncclIbDevs + ibDevN;\n-    NCCLCHECKGOTO(ncclIbCreateQp(ibDev->portNum, &rCommDev->base, IBV_ACCESS_REMOTE_WRITE, &rComm->base.stats, qp), ret, fail);\n+    NCCLCHECKGOTO(ncclIbCreateQp(ibDev->portNum, &rCommDev->base, IBV_ACCESS_REMOTE_WRITE, &rComm->base.stats, qp, channel_id, false, q), ret, fail);\n     qp->devIndex = devIndex;\n     devIndex = (devIndex + 1) % rComm->base.vProps.ndevs;\n \n@@ -1992,16 +2118,22 @@ ib_recv:\n \n   useDmaBuf  = (ncclIbDmaBufSupport(lComm->dev) == ncclSuccess);\n   rComm->flushEnabled = ((ncclIbGdrSupport() == ncclSuccess || useDmaBuf)\n-                            && (ncclParamIbGdrFlushDisable() == 0)) ? 1 : 0;              \n+                            && (ncclIbGdrFlushDisable == 0)) ? 1 : 0;\n   for (int i = 0; i < rComm->base.vProps.ndevs; i++) {\n     rCommDev = rComm->devs + i;\n     ibDev = ncclIbDevs + rCommDev->base.ibDevN;\n \n     // Retain remote fifo info and prepare my RDMA ops\n     rComm->remFifo.addr = remMeta.fifoAddr;\n-    NCCLCHECKGOTO(wrap_ibv_reg_mr(&rCommDev->fifoMr, rCommDev->base.pd, &rComm->remFifo.elems, sizeof(struct ncclIbSendFifo)*MAX_REQUESTS*NCCL_NET_IB_MAX_RECVS, IBV_ACCESS_REMOTE_WRITE|IBV_ACCESS_LOCAL_WRITE|IBV_ACCESS_REMOTE_READ), ret, fail);\n+    if (rcclCtsInlineData) {\n+      NCCLCHECKGOTO(wrap_ibv_reg_mr(&rCommDev->fifoMr, rCommDev->base.pd, &rComm->remFifo.elems_cts_inline,\n+                                    sizeof(struct ncclIbSendFifoCtsInline)*MAX_REQUESTS*NCCL_NET_IB_MAX_RECVS,\n+                                    IBV_ACCESS_REMOTE_WRITE|IBV_ACCESS_LOCAL_WRITE|IBV_ACCESS_REMOTE_READ), ret, fail);\n+    } else {\n+      NCCLCHECKGOTO(wrap_ibv_reg_mr(&rCommDev->fifoMr, rCommDev->base.pd, &rComm->remFifo.elems, sizeof(struct ncclIbSendFifo)*MAX_REQUESTS*NCCL_NET_IB_MAX_RECVS, IBV_ACCESS_REMOTE_WRITE|IBV_ACCESS_LOCAL_WRITE|IBV_ACCESS_REMOTE_READ), ret, fail);\n+    }\n     rCommDev->fifoSge.lkey = rCommDev->fifoMr->lkey;\n-    if (ncclParamIbUseInline()) rComm->remFifo.flags = IBV_SEND_INLINE;\n+    if (ncclIbUseInline) rComm->remFifo.flags = IBV_SEND_INLINE;\n \n     // Allocate Flush dummy buffer for GPU Direct RDMA\n     if (rComm->flushEnabled) {\n@@ -2039,7 +2171,7 @@ ib_recv:\n       rCommDev->gpuFlush.sge.addr = (uint64_t)&rComm->gpuFlushHostMem;\n       rCommDev->gpuFlush.sge.length = 1;\n       rCommDev->gpuFlush.sge.lkey = rCommDev->gpuFlush.hostMr->lkey;\n-      NCCLCHECKGOTO(ncclIbCreateQp(ibDev->portNum, &rCommDev->base, IBV_ACCESS_LOCAL_WRITE | IBV_ACCESS_REMOTE_READ | IBV_ACCESS_REMOTE_WRITE, &rComm->base.stats, &rCommDev->gpuFlush.qp), ret, fail);\n+      NCCLCHECKGOTO(ncclIbCreateQp(ibDev->portNum, &rCommDev->base, IBV_ACCESS_LOCAL_WRITE | IBV_ACCESS_REMOTE_READ | IBV_ACCESS_REMOTE_WRITE, &rComm->base.stats, &rCommDev->gpuFlush.qp, channel_id, true, NCCL_CTS_QP_SLOT_INVALID), ret, fail);\n       struct ncclIbDevInfo devInfo;\n       devInfo.lid         = ibDev->portAttr.lid;\n       devInfo.link_layer  = ibDev->portAttr.link_layer;\n@@ -2257,10 +2389,15 @@ ncclResult_t ncclIbDeregMr(void* comm, void* mhandle) {\n \n NCCL_PARAM(IbSplitDataOnQps, \"IB_SPLIT_DATA_ON_QPS\", 0);\n \n-ncclResult_t ncclIbMultiSend(struct ncclIbSendComm* comm, int slot) {\n+ncclResult_t ncclIbMultiSend(struct ncclIbSendComm* comm, int slot, bool use_write_op) {\n   struct ncclIbRequest** reqs = comm->fifoReqs[slot];\n   volatile struct ncclIbSendFifo* slots = comm->fifo[slot];\n-  int nreqs = slots[0].nreqs;\n+  int nreqs;\n+  if (rcclCtsOffloadEnabled) {\n+    nreqs = 1;\n+  } else {\n+    nreqs = slots[0].nreqs;\n+  }\n   if (nreqs > NCCL_NET_IB_MAX_RECVS) return ncclInternalError;\n \n   uint64_t wr_id = 0ULL;\n@@ -2272,7 +2409,11 @@ ncclResult_t ncclIbMultiSend(struct ncclIbSendComm* comm, int slot) {\n     sge->addr=(uintptr_t)reqs[r]->send.data;\n     wr->opcode = IBV_WR_RDMA_WRITE;\n     wr->send_flags = 0;\n-    wr->wr.rdma.remote_addr = slots[r].addr;\n+    if (rcclCtsOffloadEnabled) {\n+      wr->wr.rdma.remote_addr = 0xdeadbeef;\n+    } else {\n+      wr->wr.rdma.remote_addr = slots[r].addr;\n+    }\n     wr->next = wr + 1;\n     wr_id += (reqs[r] - comm->base.reqs) << (r*8);\n #ifdef NCCL_ENABLE_NET_PROFILING\n@@ -2283,7 +2424,7 @@ ncclResult_t ncclIbMultiSend(struct ncclIbSendComm* comm, int slot) {\n   // Write size as immediate data. In the case of multi-send, only write\n   // 0 or 1 as size to indicate whether there was data sent or received.\n   uint32_t immData = 0;\n-  if (nreqs == 1) {\n+  if ((nreqs == 1) && (use_write_op == false)) {\n     immData = reqs[0]->send.size;\n   } else {\n     int* sizes = comm->remSizesFifo.elems[slot];\n@@ -2293,22 +2434,24 @@ ncclResult_t ncclIbMultiSend(struct ncclIbSendComm* comm, int slot) {\n   }\n \n   struct ibv_send_wr* lastWr = comm->wrs+nreqs-1;\n-  if (nreqs > 1 || (comm->ar && reqs[0]->send.size > ncclParamIbArThreshold())) {\n-    // When using ADAPTIVE_ROUTING, send the bulk of the data first as an\n-    // RDMA_WRITE, then a 0-byte RDMA_WRITE_WITH_IMM to trigger a remote\n-    // completion.\n-    lastWr++;\n-    memset(lastWr, 0, sizeof(struct ibv_send_wr));\n-    if (nreqs > 1) {\n-      // Write remote sizes Fifo\n-      lastWr->wr.rdma.remote_addr = comm->remSizesFifo.addr + slot*NCCL_NET_IB_MAX_RECVS*sizeof(int);\n-      lastWr->num_sge = 1;\n-      lastWr->sg_list = &comm->remSizesFifo.sge;\n+  if (use_write_op == false) {\n+    if (nreqs > 1 || (comm->ar && reqs[0]->send.size > ncclParamIbArThreshold())) {\n+      // When using ADAPTIVE_ROUTING, send the bulk of the data first as an\n+      // RDMA_WRITE, then a 0-byte RDMA_WRITE_WITH_IMM to trigger a remote\n+      // completion.\n+      lastWr++;\n+      memset(lastWr, 0, sizeof(struct ibv_send_wr));\n+      if (nreqs > 1) {\n+        // Write remote sizes Fifo\n+        lastWr->wr.rdma.remote_addr = comm->remSizesFifo.addr + slot*NCCL_NET_IB_MAX_RECVS*sizeof(int);\n+        lastWr->num_sge = 1;\n+        lastWr->sg_list = &comm->remSizesFifo.sge;\n+      }\n     }\n+    lastWr->opcode = IBV_WR_RDMA_WRITE_WITH_IMM;\n+    lastWr->imm_data = immData;\n   }\n   lastWr->wr_id = wr_id;\n-  lastWr->opcode = IBV_WR_RDMA_WRITE_WITH_IMM;\n-  lastWr->imm_data = immData;\n   lastWr->next = NULL;\n   lastWr->send_flags = IBV_SEND_SIGNALED;\n \n@@ -2324,7 +2467,11 @@ ncclResult_t ncclIbMultiSend(struct ncclIbSendComm* comm, int slot) {\n       //ncclIbAddEvent(reqs[r], devIndex, &comm->devs[devIndex].base);\n \n       // Select proper rkey (needed even for 0-size send)\n-      comm->wrs[r].wr.rdma.rkey = slots[r].rkeys[qp->remDevIdx];\n+      if (rcclCtsOffloadEnabled) {\n+        comm->wrs[r].wr.rdma.rkey = 0xbade;\n+      } else {\n+        comm->wrs[r].wr.rdma.rkey = slots[r].rkeys[qp->remDevIdx];\n+      }\n \n       int chunkSize = DIVUP(DIVUP(reqs[r]->send.size, nqps), align) * align;\n       int length = std::min(reqs[r]->send.size-reqs[r]->send.offset, chunkSize);\n@@ -2340,7 +2487,7 @@ ncclResult_t ncclIbMultiSend(struct ncclIbSendComm* comm, int slot) {\n       }\n     }\n \n-    if (nreqs > 1) {\n+    if ((use_write_op == false) && (nreqs > 1)) {\n       // Also make sure lastWr writes remote sizes using the right lkey\n       comm->remSizesFifo.sge.lkey = comm->remSizesFifo.mrs[devIndex]->lkey;\n       lastWr->wr.rdma.rkey = comm->remSizesFifo.rkeys[devIndex];\n@@ -2398,32 +2545,46 @@ ncclResult_t ncclIbIsend(void* sendComm, void* data, size_t size, int tag, void*\n   NCCLCHECK(ncclIbStatsCheckFatalCount(&comm->base.stats,__func__));\n \n   struct ncclIbMrHandle* mhandleWrapper = (struct ncclIbMrHandle*) mhandle;\n+  bool use_write_op = false;\n+  if (rcclAinicRoce) {\n+      use_write_op = (*request == (void *)NCCL_NET_OPTIONAL_RECV_COMPLETION) ? true : false;\n+  }\n \n   // Wait for the receiver to have posted the corresponding receive\n   int nreqs = 0;\n   volatile struct ncclIbSendFifo* slots;\n \n+  if (rcclCtsOffloadEnabled) {\n+      nreqs = 1;\n+  }\n+\n   int slot = (comm->fifoHead) % MAX_REQUESTS;\n   struct ncclIbRequest** reqs = comm->fifoReqs[slot];\n-  slots = comm->fifo[slot];\n-  uint64_t idx = comm->fifoHead+1;\n-  if (slots[0].idx != idx) { *request = NULL; return ncclSuccess; }\n-  nreqs = slots[0].nreqs;\n-  // Wait until all data has arrived\n-  for (int r=1; r<nreqs; r++) while(slots[r].idx != idx);\n-  __sync_synchronize(); // order the nreqsPtr load against tag/rkey/addr loads below\n+  if (!rcclCtsOffloadEnabled) {\n+    slots = comm->fifo[slot];\n+    uint64_t idx = comm->fifoHead+1;\n+    if (slots[0].idx != idx) { *request = NULL; return ncclSuccess; }\n+    nreqs = slots[0].nreqs;\n+    // Wait until all data has arrived\n+    for (int r=1; r<nreqs; r++) while(slots[r].idx != idx);\n+    __sync_synchronize(); // order the nreqsPtr load against tag/rkey/addr loads below\n+  }\n   for (int r=0; r<nreqs; r++) {\n-    if (reqs[r] != NULL || slots[r].tag != tag) continue;\n-\n-    if (size > slots[r].size) size = slots[r].size;\n-    // Sanity checks\n-    if (slots[r].size < 0 || slots[r].addr == 0 || slots[r].rkeys[0] == 0) {\n-      char line[SOCKET_NAME_MAXLEN + 1];\n-      union ncclSocketAddress addr;\n-      ncclSocketGetAddr(&comm->base.sock, &addr);\n-      WARN(\"NET/IB : req %d/%d tag %x peer %s posted incorrect receive info: size %ld addr %lx rkeys[0]=%x\",\n-        r, nreqs, tag, ncclSocketToString(&addr, line), slots[r].size, slots[r].addr, slots[r].rkeys[0]);\n-      return ncclInternalError;\n+    if (!rcclCtsOffloadEnabled) {\n+      if (reqs[r] != NULL || slots[r].tag != tag) continue;\n+\n+      if (size > slots[r].size) size = slots[r].size;\n+      // Sanity checks\n+      if (slots[r].size < 0 || slots[r].addr == 0 || slots[r].rkeys[0] == 0) {\n+        char line[SOCKET_NAME_MAXLEN + 1];\n+        union ncclSocketAddress addr;\n+        ncclSocketGetAddr(&comm->base.sock, &addr);\n+        WARN(\"NET/IB : req %d/%d tag %x peer %s posted incorrect receive info: size %ld addr %lx rkeys[0]=%x\",\n+             r, nreqs, tag, ncclSocketToString(&addr, line), slots[r].size, slots[r].addr, slots[r].rkeys[0]);\n+        return ncclInternalError;\n+      }\n+    } else{\n+      if (reqs[r] != NULL) continue;\n     }\n \n     struct ncclIbRequest* req;\n@@ -2467,10 +2628,12 @@ ncclResult_t ncclIbIsend(void* sendComm, void* data, size_t size, int tag, void*\n     }\n \n     TIME_START(0);\n-    NCCLCHECK(ncclIbMultiSend(comm, slot));\n+    NCCLCHECK(ncclIbMultiSend(comm, slot, use_write_op));\n \n     // Clear slots[0]->nreqs, as well as other fields to help debugging and sanity checks\n-    memset((void*)slots, 0, sizeof(struct ncclIbSendFifo));\n+    if (!rcclCtsOffloadEnabled) {\n+      memset((void*)slots, 0, sizeof(struct ncclIbSendFifo));\n+    }\n     memset(reqs, 0, NCCL_NET_IB_MAX_RECVS*sizeof(struct ncclIbRequest*));\n     comm->fifoHead++;\n     TIME_STOP(0);\n@@ -2483,30 +2646,60 @@ ncclResult_t ncclIbIsend(void* sendComm, void* data, size_t size, int tag, void*\n \n ncclResult_t ncclIbPostFifo(struct ncclIbRecvComm* comm, int n, void** data, size_t* sizes, int* tags, void** mhandles, struct ncclIbRequest* req) {\n   struct ibv_send_wr wr;\n+  struct ncclIbSendFifo* localElem = NULL;\n+  struct ncclIbSendFifoCtsInline* localElemCtsInline = NULL;\n+  uint64_t localElemRef;\n+  int qpIndex = 0;\n+  ncclIbQp* ctsQp = NULL;\n   memset(&wr, 0, sizeof(wr));\n \n   int slot = comm->remFifo.fifoTail%MAX_REQUESTS;\n   req->recv.sizes = comm->sizesFifo[slot];\n   for (int i=0; i<n; i++) req->recv.sizes[i] = 0;\n-  struct ncclIbSendFifo* localElem = comm->remFifo.elems[slot];\n+  if (rcclCtsInlineData) {\n+    localElemCtsInline = comm->remFifo.elems_cts_inline[slot];\n+  } else {\n+    localElem = comm->remFifo.elems[slot];\n+  }\n \n-  // Select the next devIndex (local) and QP to use for posting this CTS message\n-  // Since QPs are initialized by striping across devIndex, we can simply assign this to the same value\n-  ncclIbQp* ctsQp = comm->base.qps + comm->base.devIndex;\n-  comm->base.devIndex = (comm->base.devIndex + 1) % comm->base.vProps.ndevs;\n+  if (rcclAinicRoce) {\n+    qpIndex = comm->base.qpIndex;\n+    ctsQp = comm->base.qps + qpIndex;\n+  } else {\n+    // Select the next devIndex (local) and QP to use for posting this CTS message\n+    // Since QPs are initialized by striping across devIndex, we can simply assign this to the same value\n+    ctsQp = comm->base.qps + comm->base.devIndex;\n+    comm->base.devIndex = (comm->base.devIndex + 1) % comm->base.vProps.ndevs;\n+  }\n \n   for (int i=0; i<n; i++) {\n-    localElem[i].addr = (uint64_t)data[i];\n     struct ncclIbMrHandle* mhandleWrapper = (struct ncclIbMrHandle*) mhandles[i];\n+    if (rcclCtsInlineData) {\n+      localElemCtsInline[i].addr = (uint64_t)data[i];\n+\n+      // Send all applicable rkeys\n+      for (int j = 0; j < comm->base.vProps.ndevs; j++)\n+        localElemCtsInline[i].rkeys[j] = mhandleWrapper->mrs[j]->rkey;\n+\n+      localElemCtsInline[i].nreqs = n;\n+      localElemCtsInline[i].size = sizes[i]; // Sanity/Debugging\n+      localElemCtsInline[i].tag = tags[i];\n+      localElemCtsInline[i].idx = comm->remFifo.fifoTail+1;\n+      localElemRef = (uint64_t)localElemCtsInline;\n+\n+    } else {\n+      localElem[i].addr = (uint64_t)data[i];\n \n-    // Send all applicable rkeys\n-    for (int j = 0; j < comm->base.vProps.ndevs; j++)\n-      localElem[i].rkeys[j] = mhandleWrapper->mrs[j]->rkey;\n+      // Send all applicable rkeys\n+      for (int j = 0; j < comm->base.vProps.ndevs; j++)\n+        localElem[i].rkeys[j] = mhandleWrapper->mrs[j]->rkey;\n \n-    localElem[i].nreqs = n;\n-    localElem[i].size = sizes[i]; // Sanity/Debugging\n-    localElem[i].tag = tags[i];\n-    localElem[i].idx = comm->remFifo.fifoTail+1;\n+      localElem[i].nreqs = n;\n+      localElem[i].size = sizes[i]; // Sanity/Debugging\n+      localElem[i].tag = tags[i];\n+      localElem[i].idx = comm->remFifo.fifoTail+1;\n+      localElemRef = (uint64_t)localElem;\n+    }\n   }\n   wr.wr.rdma.remote_addr = comm->remFifo.addr + slot*NCCL_NET_IB_MAX_RECVS*sizeof(struct ncclIbSendFifo);\n \n@@ -2514,8 +2707,12 @@ ncclResult_t ncclIbPostFifo(struct ncclIbRecvComm* comm, int n, void** data, siz\n   wr.wr.rdma.rkey = comm->base.remDevs[ctsQp->remDevIdx].fifoRkey;\n \n   // Set the correct sge properties\n-  comm->devs[ctsQp->devIndex].fifoSge.addr   = (uint64_t)localElem;\n-  comm->devs[ctsQp->devIndex].fifoSge.length = n*sizeof(struct ncclIbSendFifo);\n+  comm->devs[ctsQp->devIndex].fifoSge.addr   = localElemRef;\n+  if (rcclCtsInlineData) {\n+    comm->devs[ctsQp->devIndex].fifoSge.length = MAX_INLINE_DATA_SIZE;\n+  } else {\n+    comm->devs[ctsQp->devIndex].fifoSge.length = n*sizeof(struct ncclIbSendFifo);\n+  }\n   wr.sg_list = &comm->devs[ctsQp->devIndex].fifoSge;\n   wr.num_sge = 1;\n \n@@ -2545,7 +2742,13 @@ ncclResult_t ncclIbPostFifo(struct ncclIbRecvComm* comm, int n, void** data, siz\n   //\n   // slot == devIndex - When writing to fifo slot N, and this QP lives on device index N, it should send signalled.\n   // This works out that each fifo posting QP gets drained\n-  if (slot == ctsQp->devIndex) {\n+  if (rcclAinicRoce) {\n+    if (slot == ctsQp->ctsQpSlot) {\n+      wr.send_flags |= IBV_SEND_SIGNALED;\n+      wr.wr_id = req - comm->base.reqs;\n+      ncclIbAddEvent(req, ctsQp->devIndex, &comm->devs[ctsQp->devIndex].base);\n+    }\n+  } else if (slot == ctsQp->devIndex) {\n     wr.send_flags |= IBV_SEND_SIGNALED;\n     wr.wr_id = req - comm->base.reqs;\n     ncclIbAddEvent(req, ctsQp->devIndex, &comm->devs[ctsQp->devIndex].base);\n@@ -2560,10 +2763,16 @@ ncclResult_t ncclIbPostFifo(struct ncclIbRecvComm* comm, int n, void** data, siz\n \n   comm->remFifo.fifoTail++;\n \n+  if (rcclAinicRoce) {\n+    // Select the next qpIndex\n+    comm->base.qpIndex = (comm->base.qpIndex+1) % comm->base.nqps;\n+  }\n   return ncclSuccess;\n }\n \n ncclResult_t ncclIbIrecv(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles, void** phandles, void** request) {\n+  ncclResult_t res = ncclSuccess;\n+  bool netOptRecvCompletionEnabled = false;\n   struct ncclIbRecvComm* comm = (struct ncclIbRecvComm*)recvComm;\n   if (comm->base.ready == 0) {\n     WARN(\"NET/IB: ncclIbIrecv() called when comm->base.ready == 0\");\n@@ -2573,6 +2782,11 @@ ncclResult_t ncclIbIrecv(void* recvComm, int n, void** data, size_t* sizes, int*\n   if (n > NCCL_NET_IB_MAX_RECVS) return ncclInternalError;\n   NCCLCHECK(ncclIbStatsCheckFatalCount(&comm->base.stats,__func__));\n \n+  if (rcclAinicRoce) {\n+    if (*request == (void *) NCCL_NET_OPTIONAL_RECV_COMPLETION) {\n+        netOptRecvCompletionEnabled = true;\n+    }\n+  }\n   struct ncclIbRequest* req;\n   NCCLCHECK(ncclIbGetRequest(&comm->base, &req));\n   req->type = NCCL_NET_IB_REQ_RECV;\n@@ -2586,50 +2800,64 @@ ncclResult_t ncclIbIrecv(void* recvComm, int n, void** data, size_t* sizes, int*\n     req->devBases[i] = &comm->devs[i].base;\n   }\n \n-  struct ibv_recv_wr wr;\n-  memset(&wr, 0, sizeof(wr));\n-  wr.wr_id = req - comm->base.reqs;\n-  wr.sg_list = NULL;\n-  wr.num_sge = 0;\n+  if (!netOptRecvCompletionEnabled) {\n+    struct ibv_recv_wr wr;\n+    memset(&wr, 0, sizeof(wr));\n+    wr.wr_id = req - comm->base.reqs;\n+    wr.sg_list = NULL;\n+    wr.num_sge = 0;\n \n-  TIME_START(1);\n-  // Select either all QPs, or one qp per-device\n-  const int nqps = ncclParamIbSplitDataOnQps() ? comm->base.nqps : comm->base.nDataQps;\n+    TIME_START(1);\n+    // Select either all QPs, or one qp per-device\n+    const int nqps = ncclParamIbSplitDataOnQps() ? comm->base.nqps : comm->base.nDataQps;\n \n-  // Post recvs\n-  struct ibv_recv_wr* bad_wr;\n-  for (int i = 0; i < nqps; i++) {\n-    struct ncclIbQp* qp = comm->base.qps + comm->base.qpIndex;\n-    ncclIbAddEvent(req, qp->devIndex, &comm->devs[qp->devIndex].base);\n+    // Post recvs\n+    struct ibv_recv_wr* bad_wr;\n+    int qpIndex = comm->base.qpIndex;\n+    for (int i = 0; i < nqps; i++) {\n+      struct ncclIbQp* qp = comm->base.qps + comm->base.qpIndex;\n+      ncclIbAddEvent(req, qp->devIndex, &comm->devs[qp->devIndex].base);\n #ifdef NCCL_ENABLE_NET_PROFILING\n-    // Start a QP event for every request in the multirecv and every qp\n-    for (int r = 0; r < n; r++) {\n-      int nEventHandles = req->pInfo[r].nEventHandles;\n-      assert(nEventHandles < MAX_QPS_PER_REQ);\n-      req->pInfo[r].qpIndex[nEventHandles] = comm->base.qpIndex;\n-      // Store info for profiler\n-      int64_t pluginId = NCCL_PROFILER_NET_TYPE_IB | NCCL_PROFILER_NET_IB_VER;\n-      req->pInfo[r].data.type = ncclProfileQp;\n-      req->pInfo[r].data.qp.device = qp->devIndex;\n-      req->pInfo[r].data.qp.wr_id = wr.wr_id;\n-      req->pInfo[r].data.qp.qpNum = qp->qp->qp_num;\n-      NCCLCHECK(ncclProfilerFunction(&req->pInfo[r].qpEventHandles[nEventHandles], ncclProfilerNetEventStart, phandles[r], pluginId, &req->pInfo[r].data));\n-      req->pInfo[r].nEventHandles++;\n-    }\n+      // Start a QP event for every request in the multirecv and every qp\n+      for (int r = 0; r < n; r++) {\n+        int nEventHandles = req->pInfo[r].nEventHandles;\n+        assert(nEventHandles < MAX_QPS_PER_REQ);\n+        req->pInfo[r].qpIndex[nEventHandles] = comm->base.qpIndex;\n+        // Store info for profiler\n+        int64_t pluginId = NCCL_PROFILER_NET_TYPE_IB | NCCL_PROFILER_NET_IB_VER;\n+        req->pInfo[r].data.type = ncclProfileQp;\n+        req->pInfo[r].data.qp.device = qp->devIndex;\n+        req->pInfo[r].data.qp.wr_id = wr.wr_id;\n+        req->pInfo[r].data.qp.qpNum = qp->qp->qp_num;\n+        NCCLCHECK(ncclProfilerFunction(&req->pInfo[r].qpEventHandles[nEventHandles], ncclProfilerNetEventStart, phandles[r], pluginId, &req->pInfo[r].data));\n+        req->pInfo[r].nEventHandles++;\n+      }\n #endif\n-    NCCLCHECK(wrap_ibv_post_recv(qp->qp, &wr, &bad_wr));\n-    comm->base.qpIndex = (comm->base.qpIndex+1)%comm->base.nqps;\n-  }\n+      NCCLCHECKGOTO(wrap_ibv_post_recv(qp->qp, &wr, &bad_wr), res, err);\n+      // Don't update comm->base.qpIndex yet, we need to run through this same set of QPs\n+      // inside ncclIbPostFifo()\n+      if (rcclAinicRoce) {\n+        qpIndex = (qpIndex+1)%comm->base.nqps;\n+      } else {\n+        comm->base.qpIndex = (comm->base.qpIndex+1)%comm->base.nqps;\n+      }\n+    }\n \n-  TIME_STOP(1);\n+    TIME_STOP(1);\n+  } // netOptRecvCompletionEnabled = false\n \n   // Post to FIFO to notify sender\n   TIME_START(2);\n-  NCCLCHECK(ncclIbPostFifo(comm, n, data, sizes, tags, mhandles, req));\n+  NCCLCHECKGOTO(ncclIbPostFifo(comm, n, data, sizes, tags, mhandles, req), res, err);\n   TIME_STOP(2);\n \n   *request = req;\n   return ncclSuccess;\n+err:\n+  if (req) {\n+      ncclIbFreeRequest(req);\n+  }\n+  return res;\n }\n \n ncclResult_t ncclIbIflush(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request) {\n@@ -2698,6 +2926,8 @@ static int getReqQpIndex(struct ncclIbRequest* req, int request, int qpNumber) {\n }\n #endif\n \n+#define NCCL_CQ_POLL_MAX_EVENT        16\n+\n ncclResult_t ncclIbTest(void* request, int* done, int* sizes) {\n   struct ncclIbRequest *r = (struct ncclIbRequest*)request;\n   *done = 0;\n@@ -2731,13 +2961,18 @@ ncclResult_t ncclIbTest(void* request, int* done, int* sizes) {\n \n     int totalWrDone = 0;\n     int wrDone = 0;\n-    struct ibv_wc wcs[4];\n+    struct ibv_wc wcs[NCCL_CQ_POLL_MAX_EVENT];\n+    int cqMaxPollEvent = 4;\n+    if (rcclAinicRoce) {\n+        cqMaxPollEvent = NCCL_CQ_POLL_MAX_EVENT;\n+    }\n \n     for (int i = 0; i < NCCL_IB_MAX_DEVS_PER_NIC; i++) {\n       TIME_START(3);\n       // If we expect any completions from this device's CQ\n       if (r->events[i]) {\n-        NCCLCHECK(wrap_ibv_poll_cq(r->devBases[i]->cq, 4, wcs, &wrDone));\n+        NCCLCHECK(wrap_ibv_poll_cq(r->devBases[i]->cq, cqMaxPollEvent,\n+                                   wcs, &wrDone));\n         totalWrDone += wrDone;\n         if (wrDone == 0) { TIME_CANCEL(3); } else { TIME_STOP(3); }\n         if (wrDone == 0) continue;\n@@ -2889,7 +3124,7 @@ ncclResult_t rcclNetP2pPolicy(void* handle, int isP2p) {\n }\n \n ncclNet_t ncclNetIb = {\n-  \"IB\",\n+  \"ROCM-IB\",\n   ncclIbInit,\n   ncclIbDevices,\n   ncclIbGetProperties,\n"
  },
  {
    "path": "ext-tuner/README.md",
    "content": "# NCCL Tuner Plugin Development\n\nThis directory contains resources and examples for developing NCCL tuner plugins. Tuner plugins allow you to customize NCCL's algorithm and protocol selection behavior to optimize performance for specific workloads and hardware configurations.\n\n## Overview\n\nNCCL tuner plugins provide a way to influence NCCL's automatic algorithm and protocol selection by modifying the cost tables that NCCL uses to make decisions. This allows you to:\n\n- Override default algorithm/protocol combinations for specific collective operations\n- Customize tuning based on message size, topology, and other parameters\n- Implement sophisticated tuning strategies without recompiling NCCL\n- Optimize performance for specific hardware configurations or workloads\n\n## Tuner Plugin Interface\n\nNCCL tuner plugins must implement the `ncclTuner_t` interface defined in `nccl_tuner.h` within `nccl/src/include/plugin`. These definitions have been forked to `tuner.h` in each example plugin, and it is expected that any plugin implementor forks the internal NCCL definitions as well. The current interface includes:\n\n```c\n// Initialize the tuner plugin\nncclResult_t (*init)(size_t nRanks, size_t nNodes, ncclDebugLogger_t logFunction, void **context);\n\n// Get and modify collective operation cost information\nncclResult_t (*getCollInfo)(void* context, ncclFunc_t collType, size_t nBytes,\n                           int numPipeOps, float** collCostTable, int numAlgo, int numProto,\n                           int regBuff, int* nChannels);\n\n// Clean up plugin resources\nncclResult_t (*destroy)(void* context);\n```\n\n## Development Guidelines\n\n### 1. Plugin Structure\n\nA typical tuner plugin should:\n- Include the necessary forked NCCL headers (`tuner.h`)\n- Implement all required interface functions\n- Export the plugin structure with appropriate version\n- Handle all input parameters gracefully\n\n### 2. Cost Table Modification\n\nThe `getCollInfo` function receives a cost table that maps algorithm/protocol combinations to performance costs. Lower costs indicate preferred combinations. You can:\n\n- Set costs to `0.0` to make combinations highly preferred\n- Set costs to `NCCL_ALGO_PROTO_IGNORE` to disable combinations\n- Use relative costs to create preferences between options\n\n### 3. Channel Management\n\nThe `nChannels` parameter allows you to:\n- Set a specific number of channels to use\n- Return the original value to preserve NCCL's default behavior\n- Implement dynamic channel selection based on message size or topology\n\n### 4. Error Handling\n\nAlways return appropriate `ncclResult_t` values:\n- `ncclSuccess` for successful or ignored operations\n- `ncclInternalError` for plugin-specific errors. Returning an error is only advisable on plugin initialization and destruction, as the penalty users can pay for the overhead of a failed plugin call can be immense.\n- Other NCCL error codes as appropriate\n\n## Getting Started\n\n### Option 1: Start with the Example Plugin\n\nIf you're new to tuner plugin development, start with the `example/` directory:\n\n```bash\ncd example/\nmake\n```\n\nThis provides a CSV-based configuration system that you can customize or use as a template.\n\n## Building and Testing\n\n### Build Requirements\n\n- GCC or compatible C compiler\n- NCCL headers (included in `nccl/` subdirectories)\n- Make\n\n## Option 2: Use the Basic Plugin\n\nFor more customized tuning needs, you might want to start with a clean baseline. In that case, base off the basic plugin in the `basic/` directory:\n\n```bash\ncd basic/\nmake\n```\n\n### Build Process\n\nEach plugin directory contains a Makefile:\n\n```bash\ncd basic/    # or example/\nmake\n```\n\nThis generates a shared library (`.so` file) that can be loaded by NCCL.\n\n### Loading the Plugin\n\nSet the `LD_LIBRARY_PATH` to include your plugin directory:\n\n```bash\nexport LD_LIBRARY_PATH=/path/to/your/plugin:$LD_LIBRARY_PATH\n```\n\nSet `NCCL_TUNER_PLUGIN` to either the plugin name, or the absolute path to the plugin file. Any of the below can work:\n\n```bash\nexport NCCL_TUNER_PLUGIN=example\nexport NCCL_TUNER_PLUGIN=libnccl-tuner-example.so\nexport NCCL_TUNER_PLUGIN=/path/to/your/plugin/libnccl-tuner-example.so\n```\n\nNCCL will automatically discover and load the plugin based on the exported symbol names.\n\n## Advanced Topics\n\n### Plugin Versioning\n\nNCCL supports multiple plugin interface versions. Make sure your plugin exports the correct version:\n\n```c\nconst ncclTuner_v4_t ncclTunerPlugin_v4 = {\n    .name = \"YourPluginName\",\n    .init = yourInitFunction,\n    .getCollInfo = yourGetCollInfoFunction,\n    .destroy = yourDestroyFunction\n};\n```\n\n### Multi-GPU and Multi-Node Considerations\n\nYour plugin receives topology information (`nRanks`, `nNodes`) during initialization. Use this to:\n- Implement topology-aware tuning strategies\n- Handle single-node vs. multi-node optimizations differently\n- Scale channel counts based on available hardware\n\n### Performance Optimization\n\n- Keep plugin logic lightweight to avoid impacting NCCL performance\n- Cache expensive computations when possible\n- Use the logging system for debugging but avoid excessive output in production\n\n## Debugging and Logging\n\nUse NCCL's debug logging system:\n\n```bash\nexport NCCL_DEBUG=INFO    # General information\nexport NCCL_DEBUG_SUBSYS=TUNING\n```\n\nWithin your plugin, use the provided `ncclDebugLogger_t` function for consistent logging.\n\n## Best Practices\n\n1. **Test thoroughly**: Verify your plugin works with various message sizes and topologies\n2. **Handle edge cases**: Ensure your plugin behaves correctly with unusual input parameters\n3. **Document your approach**: Clearly document your tuning strategy and configuration options\n4. **Version your plugin**: Use meaningful version numbers and maintain backward compatibility\n5. **Performance validation**: Measure the impact of your tuning decisions on real workloads\n\n## Contributing\n\nWhen developing new tuner plugins:\n- Follow the existing code style and structure\n- Include comprehensive documentation\n- Add example configurations and test cases\n- Consider contributing useful plugins back to the community\n\n## Resources\n\n- [NCCL Documentation](https://docs.nvidia.com/deeplearning/nccl/)\n- Example plugin implementations in this directory\n\nFor questions and support, refer to the NCCL community resources and documentation.\n"
  },
  {
    "path": "ext-tuner/basic/Makefile",
    "content": "#\n# Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n.DEFAULT_GOAL: build\ninclude ../../makefiles/common.mk\nSRCDIR   ?= $(abspath ../..)\nBUILDDIR ?= .\nNCCLDIR  := $(BUILDDIR)\n\nSRC_FILES := $(wildcard *.c)\nDST_DIR   := $(BUILDDIR)/test/unit/plugins\n\nbuild: ${BUILDDIR}/libnccl-tuner-basic.so\n\n${BUILDDIR}/libnccl-tuner-basic.so: ${SRC_FILES}\n\t@printf \"Compiling  %-35s > %s\\n\" $< $@\n\t@mkdir -p ${BUILDDIR}\n\t$(CC) -Inccl -fPIC -shared -o $@ $^\n\nclean:\n\trm -f ${BUILDDIR}/libnccl-tuner-basic.so\n"
  },
  {
    "path": "ext-tuner/basic/README.md",
    "content": "# Basic NCCL Tuner Plugin\n\nThis directory contains a minimal placeholder implementation of an NCCL tuner plugin. It serves as a starting point for developing custom tuner plugins by providing the essential function stubs and interface structure required by NCCL.\n\n## Purpose\n\nThis basic plugin is designed to:\n- Provide a minimal working example of the NCCL tuner plugin interface\n- Serve as a template for developing custom tuner plugins\n- Demonstrate the required function signatures and structure\n- Implement placeholder functionality that can be extended\n\n\n## Implementation Details\n\nThe plugin implements the following functions:\n\n### `pluginInit`\n```c\nncclResult_t pluginInit(size_t nRanks, size_t nNodes, ncclDebugLogger_t logFunction, void **context)\n```\n- **Purpose**: Initialize the plugin with communicator information\n- **Current Implementation**: Simple placeholder that returns success\n- **Parameters**:\n  - `nRanks`: Total number of ranks in the communicator\n  - `nNodes`: Total number of nodes in the communicator\n  - `logFunction`: NCCL debug logging function\n  - `context`: Plugin context pointer (output)\n\n### `pluginGetCollInfo`\n```c\nncclResult_t pluginGetCollInfo(void* context, ncclFunc_t collType, size_t nBytes,\n                              int numPipeOps, float** collCostTable, int numAlgo, int numProto,\n                              int regBuff, int* nChannels)\n```\n- **Purpose**: Modify cost tables for collective operations\n- **Current Implementation**:\n  - Sets RING+SIMPLE algorithm to cost 0.0 (highest preference)\n  - Sets channel count to 0\n- **Parameters**:\n  - `context`: Plugin context from init\n  - `collType`: Type of collective operation\n  - `nBytes`: Message size in bytes\n  - `numPipeOps`: Number of pipeline operations\n  - `collCostTable`: Cost table to modify\n  - `numAlgo`: Number of algorithms\n  - `numProto`: Number of protocols\n  - `regBuff`: Whether buffer can be registered\n  - `nChannels`: Number of channels to use (output)\n\n### `pluginDestroy`\n```c\nncclResult_t pluginDestroy(void* context)\n```\n- **Purpose**: Clean up plugin resources\n- **Current Implementation**: Simple placeholder that returns success\n\n## Cost Table Structure\n\nThe plugin demonstrates how to modify NCCL's cost tables:\n\n```c\nfloat (*table)[NCCL_NUM_PROTOCOLS] = (float (*)[NCCL_NUM_PROTOCOLS])collCostTable;\n```\n\nThe cost table is a 2D array where:\n- First dimension: Algorithm index (e.g., `NCCL_ALGO_RING`)\n- Second dimension: Protocol index (e.g., `NCCL_PROTO_SIMPLE`)\n- Values: Cost for that algorithm/protocol combination\n\n### Cost Values\n- **0.0**: Highest preference (lowest cost)\n- **Positive values**: Relative costs (lower is better)\n- **`NCCL_ALGO_PROTO_IGNORE`**: Disable this combination\n\n## Building\n\n```bash\nmake\n```\n\nThis creates `libnccl-tuner-basic.so` which can be loaded by NCCL.\n\n## Usage\n\n### Loading the Plugin\n\n```bash\nexport LD_LIBRARY_PATH=/path/to/basic:$LD_LIBRARY_PATH\nmpirun -np 4 your_nccl_application\n```\n\n```bash\nexport NCCL_TUNER_PLUGIN=basic\nexport NCCL_TUNER_PLUGIN=libnccl-tuner-basic.so\nexport NCCL_TUNER_PLUGIN=/path/to/your/plugin/libnccl-tuner-basic.so\n```\n\n### Verifying Plugin Loading\n\nEnable NCCL debug output to see if the plugin is loaded:\n\n```bash\nexport NCCL_DEBUG=INFO\n```\n\nYou should see messages indicating the tuner plugin is being used.\n\n## Extending the Plugin\n\nThis basic plugin provides a foundation that you can extend:\n\n### 1. Add Configuration Logic\n\nModify `pluginGetCollInfo` to implement your tuning strategy:\n\n```c\n__hidden ncclResult_t pluginGetCollInfo(void* context, ncclFunc_t collType, size_t nBytes,\n                              int numPipeOps, float** collCostTable, int numAlgo, int numProto,\n                              int regBuff, int* nChannels) {\n  // Your custom tuning logic here\n  if (nBytes < 1024) {\n    // Small message optimization\n    table[NCCL_ALGO_TREE][NCCL_PROTO_SIMPLE] = 0.0;\n  } else {\n    // Large message optimization\n    table[NCCL_ALGO_RING][NCCL_PROTO_LL128] = 0.0;\n  }\n\n  // Dynamic channel selection\n  *nChannels = (nBytes > 1024*1024) ? 4 : 1;\n\n  return ncclSuccess;\n}\n```\n\n### 2. Add Context Management\n\nUse the context pointer to store plugin state:\n\n```c\nstruct pluginContext {\n  int initialized;\n  size_t nRanks;\n  size_t nNodes;\n  // Add your plugin-specific data here\n};\n```\n\n### 3. Add File-Based Configuration\n\nRead configuration from files, environment variables, or other sources.\n\n### 4. Add Topology Awareness\n\nUse the `nRanks` and `nNodes` parameters to implement topology-specific tuning.\n\n## File Structure\n\n```\nbasic/\n├── README.md          # This file\n├── plugin.c           # Plugin implementation\n├── Makefile           # Build configuration\n└── nccl/              # NCCL header files\n    └── tuner.h        # Tuner plugin interface definitions\n```\n\n## Next Steps\n\n1. **Understand the Interface**: Study the function signatures and parameters\n2. **Implement Your Logic**: Add your tuning strategy to `pluginGetCollInfo`\n3. **Test Thoroughly**: Verify your plugin works with different message sizes and topologies\n4. **Add Error Handling**: Implement proper error checking and resource management\n5. **Document Your Changes**: Update this README with your specific implementation details\n\n## Comparison with Example Plugin\n\n- **Basic Plugin**: Minimal implementation, good for learning and simple use cases\n- **Example Plugin**: Full-featured CSV-based configuration system, good for production use\n\nChoose the basic plugin if you want to:\n- Learn the tuner plugin interface\n- Implement simple, hardcoded tuning strategies\n- Build a custom plugin from scratch\n\nChoose the example plugin if you want:\n- File-based configuration\n- Complex tuning strategies\n- Production-ready features\n\n## Resources\n\n- [Parent Directory README](../README.md) - General tuner plugin development guide\n- [Example Plugin](../example/README.md) - Fully featured implementation\n\nThis basic plugin provides the foundation you need to start developing custom NCCL tuner plugins. Extend it with your specific tuning logic and requirements.\n"
  },
  {
    "path": "ext-tuner/basic/nccl/common.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef COMMON_H_\n#define COMMON_H_\n\ntypedef enum {NCCL_LOG_NONE=0, NCCL_LOG_ERROR=1, NCCL_LOG_VERSION=2, NCCL_LOG_WARN=3, NCCL_LOG_INFO=4, NCCL_LOG_ABORT=5, NCCL_LOG_TRACE=6} ncclDebugLogLevel;\ntypedef enum {NCCL_INIT=1, NCCL_COLL=2, NCCL_P2P=4, NCCL_SHM=8, NCCL_NET=16, NCCL_GRAPH=32, NCCL_TUNING=64, NCCL_ENV=128, NCCL_ALLOC=256, NCCL_CALL=512, NCCL_PROXY=1024, NCCL_NVLS=2048, NCCL_BOOTSTRAP=4096, NCCL_REG=8192, NCCL_ALL=~0} ncclDebugLogSubSys;\n\ntypedef void (*ncclDebugLogger_t)(ncclDebugLogLevel level, unsigned long flags, const char *file, int line, const char *fmt, ...);\n\n#endif\n"
  },
  {
    "path": "ext-tuner/basic/nccl/err.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NCCL_ERR_H_\n#define NCCL_ERR_H_\n\n/* Error type for plugins */\ntypedef enum { ncclSuccess                 =  0,\n               ncclUnhandledCudaError      =  1,\n               ncclSystemError             =  2,\n               ncclInternalError           =  3,\n               ncclInvalidArgument         =  4,\n               ncclInvalidUsage            =  5,\n               ncclRemoteError             =  6 } ncclResult_t;\n\n#endif\n"
  },
  {
    "path": "ext-tuner/basic/nccl/tuner.h",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n * Copyright (c) 2023, Meta Platforms, Inc. and affiliates.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_TUNER_H_\n#define NCCL_TUNER_H_\n\n#include <stdint.h>\n#include <stdlib.h>\n\n#include \"common.h\"\n#include \"err.h\"\n\n#define NCCL_NUM_FUNCTIONS 5 // Send/Recv not included for now\ntypedef enum {\n  ncclFuncBroadcast = 0,\n  ncclFuncReduce = 1,\n  ncclFuncAllGather = 2,\n  ncclFuncReduceScatter = 3,\n  ncclFuncAllReduce = 4,\n  ncclFuncSendRecv = 5,\n  ncclFuncSend = 6,\n  ncclFuncRecv = 7,\n  ncclNumFuncs = 8\n} ncclFunc_t;\n\n#define NCCL_NUM_ALGORITHMS 7 // Tree/Ring/CollNet*\n#define NCCL_ALGO_UNDEF -1\n#define NCCL_ALGO_TREE 0\n#define NCCL_ALGO_RING 1\n#define NCCL_ALGO_COLLNET_DIRECT 2\n#define NCCL_ALGO_COLLNET_CHAIN 3\n#define NCCL_ALGO_NVLS 4\n#define NCCL_ALGO_NVLS_TREE 5\n#define NCCL_ALGO_PAT 6\n\n#define NCCL_NUM_PROTOCOLS 3 // Simple/LL/LL128\n#define NCCL_PROTO_UNDEF -1\n#define NCCL_PROTO_LL 0\n#define NCCL_PROTO_LL128 1\n#define NCCL_PROTO_SIMPLE 2\n\n#define NCCL_ALGO_PROTO_IGNORE -1.0\n\n// API to be implemented by external tuner\ntypedef struct {\n  // Name of the tuner\n  const char* name;\n\n  // Initializes tuner states.\n  // Inputs:\n  //   - nRanks: number of ranks in current communicator. Each communicator initialize its own tuner.\n  //   - nNodes: number of nodes in current communicator.\n  //   - logFunction: a logFunction can be useful to integrate logging together with NCCL core.\n  // Outputs:\n  //   - context: tuner context object\n  ncclResult_t (*init)(size_t nRanks, size_t nNodes, ncclDebugLogger_t logFunction, void **context);\n\n  // Gets info (algo, protocol, number of ctas and threads) for a given collective.\n  // Inputs:\n  //   - context: tuner context object\n  //   - collType: collective type , e.g., allreduce, allgather…\n  //   - nBytes: collective size in bytes\n  //   - numPipeOps: number of operations in the group\n  //   - numAlgo: number of algorithms in collCostTable\n  //   - numProto: number of protocols in collCostTable\n  //   - regBuff: can register user buffer\n  //\n  // Outputs:\n  //   - nChannels: number of channels (hence SMs) to be used.\n  //\n  // InOut:\n  //   - collCostTable: collective cost table, generated by NCCL core, containing algo|proto|time entries for collType.\n  //                    NCCL core sets ignored algo/proto cost table entries to -1.0 (NCCL_ALGO_PROTO_IGNORE).\n  //\n  // If getCollInfo() does not return ncclSuccess, NCCL will fall back to the\n  // default tuning for the given collective.\n  // Also, the plugin is allowed to not set any output, or set only the\n  // algorithm and protocol, but not only the algorithm or only the protocol.\n  // Unset fields will be set automatically by NCCL.\n  ncclResult_t (*getCollInfo)(void* context, ncclFunc_t collType, size_t nBytes,\n                              int numPipeOps, float** collCostTable, int numAlgo, int numProto,\n                              int regBuff, int* nChannels);\n\n  // Terminates the plugin and cleans up any resources that the plugin allocated.\n  // context: tuner context object\n  ncclResult_t (*destroy)(void* context);\n} ncclTuner_v4_t;\n\ntypedef ncclTuner_v4_t ncclTuner_t;\n\n#define NCCL_TUNER_PLUGIN_SYMBOL \"ncclTunerPlugin_v4\"\n\n#endif\n"
  },
  {
    "path": "ext-tuner/basic/plugin.c",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"tuner.h\"\n\n#define __hidden __attribute__ ((visibility(\"hidden\")))\n\n__hidden ncclResult_t pluginInit(size_t nRanks, size_t nNodes, ncclDebugLogger_t logFunction, void **context) { return ncclSuccess; }\n\n__hidden ncclResult_t pluginGetCollInfo(void* context, ncclFunc_t collType, size_t nBytes,\n                              int numPipeOps, float** collCostTable, int numAlgo, int numProto,\n                              int regBuff, int* nChannels) {\n  // Update NCCL core generated cost table. Updated table will be evaluated by NCCL to pick the best algo/proto combo\n  float (*table)[NCCL_NUM_PROTOCOLS] = (float (*)[NCCL_NUM_PROTOCOLS])collCostTable;\n  if (table[NCCL_ALGO_RING][NCCL_PROTO_SIMPLE] != NCCL_ALGO_PROTO_IGNORE) {\n    table[NCCL_ALGO_RING][NCCL_PROTO_SIMPLE] = 0.0;\n  }\n  *nChannels = 0;\n  return ncclSuccess;\n}\n\n__hidden ncclResult_t pluginDestroy(void* context) { return ncclSuccess; }\n\n#define PLUGIN_NAME \"Basic\"\n\nconst ncclTuner_v4_t ncclTunerPlugin_v4 = {\n  .name = PLUGIN_NAME,\n  .init = pluginInit,\n  .getCollInfo = pluginGetCollInfo,\n  .destroy = pluginDestroy\n};\n"
  },
  {
    "path": "ext-tuner/example/.gitignore",
    "content": "# Compiled shared objects and binaries\n*.so\n*.o\n*.a\n*.out\n*.exe\n*.dll\n*.dylib\n*.bin\n*.elf\n\n# Python cache\n__pycache__/\n*.pyc\n*.pyo\n\n# Build and test artifacts\n/build/\n*.log\n*.tmp\n*.swp\n\n# Ignore all CSV files except scripts/sample_performance_data.csv\n*.csv\n!scripts/sample_performance_data.csv\n\n# Ignore all .conf files except nccl_tuner.conf\n*.conf\n!nccl_tuner.conf\n\nmy_configs\n\n# Ignore test binary\ntest/test_plugin\n\n# Editor/OS files\n.DS_Store\nThumbs.db\n\n# Backup files\n*~\n*.bak\n\n# Ignore by convention\n*.old\n*.orig\n\n# Git\n.git/\n"
  },
  {
    "path": "ext-tuner/example/CMakeLists.txt",
    "content": "# Find all C source files in current directory\nset(SRC_FILES\n    ${CMAKE_CURRENT_SOURCE_DIR}/plugin.c\n)\n\n# Create shared library\nadd_library(nccl-tuner-example SHARED ${SRC_FILES})\n\n# Set include directories\ntarget_include_directories(nccl-tuner-example PRIVATE\n    ${CMAKE_CURRENT_SOURCE_DIR}/nccl\n)\n\n# Set output name to match Makefile\nset_target_properties(nccl-tuner-example PROPERTIES\n    OUTPUT_NAME \"nccl-tuner-example\"\n    PREFIX \"lib\"\n    POSITION_INDEPENDENT_CODE ON\n    LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/test/unit/plugins\n)\n\n# Add custom target for clean (equivalent to Makefile clean target)\nadd_custom_target(clean-tuner-lib\n    COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_CURRENT_BINARY_DIR}/libnccl-tuner-example.so\n    COMMENT \"Cleaning libnccl-tuner-example.so\"\n)\n"
  },
  {
    "path": "ext-tuner/example/Makefile",
    "content": "#\n# Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n\n.DEFAULT_GOAL: build\nPLUGIN_SO:=libnccl-tuner-example.so\ninclude ../../makefiles/common.mk\nSRCDIR   ?= $(abspath ../..)\nBUILDDIR ?= .\nNCCLDIR  := $(BUILDDIR)\n\nSRC_FILES := $(wildcard *.c)\nDST_DIR   := $(BUILDDIR)/test/unit/plugins\n\ndefault: ${BUILDDIR}/$(PLUGIN_SO)\n\nbuild: ${BUILDDIR}/$(PLUGIN_SO)\n\n${BUILDDIR}/$(PLUGIN_SO): plugin.c\n\t@printf \"Compiling  %-35s > %s\\n\" $< $@\n\t@mkdir -p ${BUILDDIR}\n\t$(CC) -Inccl $(INC) -fPIC -shared -o $@ -Wl,-soname,$(PLUGIN_SO) $^\n\n# Test targets - delegate to test directory\ntest:\n\t$(MAKE) -C test test TEST_CASE=$(TEST_CASE)\n\ntest-verbose:\n\t$(MAKE) -C test test-verbose TEST_CASE=$(TEST_CASE)\n\n# Build tests\ntest-build:\n\t$(MAKE) -C test all\n\n# Optimize configurations from performance data\noptimize-config:\n\t@if [ -z \"$(CSV_FILE)\" ]; then \\\n\t\techo \"Usage: make optimize-config CSV_FILE=path/to/data.csv [OUTPUT=config.conf] [METRIC=latency_us]\"; \\\n\t\techo \"Example: make optimize-config CSV_FILE=scripts/sample_performance_data.csv\"; \\\n\t\texit 1; \\\n\tfi\n\tpython3 scripts/optimize_config.py $(CSV_FILE) \\\n\t\t$(if $(OUTPUT),-o $(OUTPUT)) \\\n\t\t$(if $(METRIC),-m $(METRIC)) \\\n\t\t$(if $(SIZE_RANGES),--size-ranges $(SIZE_RANGES)) \\\n\t\t$(if $(DRY_RUN),--dry-run) \\\n\t\t$(if $(NO_HEADER),--no-header)\n\nclean:\n\trm -f ${BUILDDIR}/$(PLUGIN_SO)\n\t$(MAKE) -C test clean\n\n.PHONY: test test-verbose test-build optimize-config clean\n"
  },
  {
    "path": "ext-tuner/example/README.md",
    "content": "# NCCL Example Tuner Plugin\n\nThis example plugin shows a practical example of a CSV file-based tuning approach, allowing selective overrides for tuning parameters based on all tuning inputs without recompiling.\n\n## Features\n\n- **File-based Configuration**: Read tuning parameters from a CSV configuration file\n- **Size-based Tuning**: Specify different configurations based on message size ranges\n- **Dimension-aware Tuning**: Match configurations based on number of nodes and ranks\n- **Optional Channels Configuration**: Set specific channel counts or use -1 to keep NCCL's default\n- **Environment Variable Support**: Specify config file location via `NCCL_TUNER_CONFIG_FILE`\n- **Fallback Behavior**: Gracefully handles missing config files and invalid entries\n\n## Building\n\n```bash\nmake\n```\n\nThis will create `libnccl-tuner-example.so` that can be loaded by NCCL.\n\n## Configuration File Format\n\nThe configuration file uses CSV (Comma-Separated Values) format with one configuration per line:\n\n```\ncollective_type,min_bytes,max_bytes,algorithm,protocol,channels,nNodes,nRanks,numPipeOps,regBuff\n```\n\n### Parameters\n\n- **collective_type**: The collective operation type\n  - `broadcast`, `reduce`, `allgather`, `reducescatter`, `allreduce`\n\n- **min_bytes/max_bytes**: The message size range (in bytes) for which this config applies\n  - Use `0` for minimum and `4294967295` for maximum (covers all sizes)\n\n- **algorithm**: The NCCL algorithm to use\n  - `tree`, `ring`, `collnet_direct`, `collnet_chain`, `nvls`, `nvls_tree`, `pat`\n\n- **protocol**: The NCCL protocol to use\n  - `ll`, `ll128`, `simple`\n\n- **channels**: Number of channels (SMs) to use\n  - Use a positive integer to specify exact channel count\n  - Use `-1` to keep NCCL's default channel selection\n\n- **nNodes**: Number of nodes to match\n  - Use a positive integer to match specific node count\n  - Use `-1` to match any number of nodes\n\n- **nRanks**: Number of ranks to match\n  - Use a positive integer to match specific rank count\n  - Use `-1` to match any number of ranks\n\n- **numPipeOps**: Number of pipeline operations to match (optional)\n  - Use a positive integer to match specific pipeline operation count\n  - Use `-1` to match any number of pipeline operations\n  - If omitted, configuration will match any numPipeOps value\n\n- **regBuff**: Whether user buffer can be registered (optional)\n  - Use `0` to match only non-registered buffers\n  - Use `1` to match only registered buffers\n  - Use `-1` to match either registered or non-registered buffers\n  - If omitted, configuration will match any regBuff value\n\n### Example Configuration\n\n```csv\n# Single-node, small allreduce: use tree algorithm, registered buffers only\nallreduce,0,65536,tree,simple,2,1,-1,-1,1\n\n# 4-node, 32-rank setup: medium allreduce, single pipeline op, non-registered buffers\nallreduce,65537,1048576,ring,simple,4,4,32,1,0\n\n# Any topology: large allreduce with LL128, multiple pipeline ops, any buffer type\nallreduce,1048577,4294967295,ring,ll128,-1,-1,-1,4,-1\n\n# Single-node broadcast: prefer tree, any pipeOps, registered buffers (backward compatible)\nbroadcast,0,32768,tree,simple,-1,1,-1\n\n# Multi-node broadcast: optimized for non-registered buffers, single pipeline op\nbroadcast,32769,4294967295,ring,simple,2,-1,-1,1,0\n```\n\nComments start with `#` and empty lines are ignored. The CSV format makes it easy to edit configurations in spreadsheet applications like Excel, Google Sheets, or LibreOffice Calc.\n\n### Backward Compatibility\n\nConfigurations without the numPipeOps and/or regBuff parameters are fully supported:\n- 8 fields: matches any numPipeOps and regBuff values\n- 9 fields: matches any regBuff value\n- 10 fields: full parameter specification\n\nThis ensures existing configuration files continue to work without modification.\n\n## Usage\n\n### Method 1: Default Config File\nPlace your configuration in `nccl_tuner.conf` in the current working directory.\n\n### Method 2: Environment Variable\nSet the `NCCL_TUNER_CONFIG_FILE` environment variable to specify the config file path:\n\n```bash\nexport NCCL_TUNER_CONFIG_FILE=/path/to/your/tuner.conf\nmpirun -np 4 your_nccl_application\n```\n\n## Editing Configuration Files\n\n### Generating Configuration Files from Raw Data\n\nA python script to generate valid CSV configs has been provided. [Using optimize_config.py](scripts/README.md).\n\n### Spreadsheet Tips:\n- Use column headers: `collective_type,min_bytes,max_bytes,algorithm,protocol,channels,nNodes,nRanks,numPipeOps,regBuff`\n- Save as CSV format (not Excel format) for the plugin to read\n- Use data validation to prevent typos in algorithm/protocol names\n\n## Logging\n\nThe plugin uses NCCL's logging system. To see tuner-related messages:\n\n```bash\nexport NCCL_DEBUG=INFO\n```\n\nThis will show when configurations are loaded and applied, including the topology information.\n\nFor detailed debugging output during tuning decisions:\n\n```bash\nexport NCCL_DEBUG=TRACE\n```\n\nThis will show verbose information about which configurations are being evaluated and matched.\n\n## Dimension Matching\n\nConfigurations are only applied when the topology matches:\n\n- **Exact Match**: Configuration specifies `nNodes=4,nRanks=32`, only applied when communicator has exactly 4 nodes and 32 ranks\n- **Wildcard Nodes**: Configuration specifies `nNodes=-1,nRanks=8`, applied to any topology with exactly 8 ranks\n- **Wildcard Ranks**: Configuration specifies `nNodes=2,nRanks=-1`, applied to any 2-node topology regardless of ranks per node\n- **Wildcard Both**: Configuration specifies `nNodes=-1,nRanks=-1`, applied to any topology\n\nThis allows you to create specialized configurations for different cluster setups while maintaining flexibility.\n\n## Default Behavior\n\nIf no configuration file is found or no matching configuration exists for a collective operation, the plugin falls back to preferring the ring algorithm with simple protocol. All configured algorithm/protocol combinations are given a low cost (0.0) to make them preferred by NCCL's selection logic.\n\nWhen channels is set to `-1`, NCCL's default channel selection logic is preserved, allowing the system to automatically determine the optimal number of channels based on hardware and message size.\n\n## Troubleshooting\n\n1. **Config file not found**: Check the file path and permissions\n2. **Configurations not applied**: Verify the collective type, size ranges, algorithm/protocol names, and topology parameters\n3. **Plugin not loaded**: Ensure `LD_LIBRARY_PATH` includes the plugin directory and that `NCCL_TUNER_PLUGIN` either specifies the plugin name, or an absolute path to the plugin shared library.\n4. **No effect on performance**: Check that NCCL is actually using the tuner plugin with `NCCL_DEBUG=INFO`\n5. **Topology mismatch**: Verify that nNodes and nRanks match your actual setup, or use -1 for wildcards\n6. **CSV parsing errors**: Ensure no spaces after commas, or quote fields containing spaces\n"
  },
  {
    "path": "ext-tuner/example/nccl/common.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef COMMON_H_\n#define COMMON_H_\n\ntypedef enum {NCCL_LOG_NONE=0, NCCL_LOG_ERROR=1, NCCL_LOG_VERSION=2, NCCL_LOG_WARN=3, NCCL_LOG_INFO=4, NCCL_LOG_ABORT=5, NCCL_LOG_TRACE=6} ncclDebugLogLevel;\ntypedef enum {NCCL_INIT=1, NCCL_COLL=2, NCCL_P2P=4, NCCL_SHM=8, NCCL_NET=16, NCCL_GRAPH=32, NCCL_TUNING=64, NCCL_ENV=128, NCCL_ALLOC=256, NCCL_CALL=512, NCCL_PROXY=1024, NCCL_NVLS=2048, NCCL_BOOTSTRAP=4096, NCCL_REG=8192, NCCL_ALL=~0} ncclDebugLogSubSys;\n\ntypedef void (*ncclDebugLogger_t)(ncclDebugLogLevel level, unsigned long flags, const char *file, int line, const char *fmt, ...);\n\n#endif\n"
  },
  {
    "path": "ext-tuner/example/nccl/err.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NCCL_ERR_H_\n#define NCCL_ERR_H_\n\n/* Error type for plugins */\ntypedef enum { ncclSuccess                 =  0,\n               ncclUnhandledCudaError      =  1,\n               ncclSystemError             =  2,\n               ncclInternalError           =  3,\n               ncclInvalidArgument         =  4,\n               ncclInvalidUsage            =  5,\n               ncclRemoteError             =  6 } ncclResult_t;\n\n#endif\n"
  },
  {
    "path": "ext-tuner/example/nccl/tuner.h",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n * Copyright (c) 2023, Meta Platforms, Inc. and affiliates.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_TUNER_H_\n#define NCCL_TUNER_H_\n\n#include <stdint.h>\n#include <stdlib.h>\n\n#include \"common.h\"\n#include \"err.h\"\n\n#define NCCL_NUM_FUNCTIONS 5 // Send/Recv not included for now\ntypedef enum {\n  ncclFuncBroadcast = 0,\n  ncclFuncReduce = 1,\n  ncclFuncAllGather = 2,\n  ncclFuncReduceScatter = 3,\n  ncclFuncAllReduce = 4,\n  ncclFuncSendRecv = 5,\n  ncclFuncSend = 6,\n  ncclFuncRecv = 7,\n  ncclNumFuncs = 8\n} ncclFunc_t;\n\n#define NCCL_NUM_ALGORITHMS 7 // Tree/Ring/CollNet*\n#define NCCL_ALGO_UNDEF -1\n#define NCCL_ALGO_TREE 0\n#define NCCL_ALGO_RING 1\n#define NCCL_ALGO_COLLNET_DIRECT 2\n#define NCCL_ALGO_COLLNET_CHAIN 3\n#define NCCL_ALGO_NVLS 4\n#define NCCL_ALGO_NVLS_TREE 5\n#define NCCL_ALGO_PAT 6\n\n#define NCCL_NUM_PROTOCOLS 3 // Simple/LL/LL128\n#define NCCL_PROTO_UNDEF -1\n#define NCCL_PROTO_LL 0\n#define NCCL_PROTO_LL128 1\n#define NCCL_PROTO_SIMPLE 2\n\n#define NCCL_ALGO_PROTO_IGNORE -1.0\n\n#define NCCL_HW_NVLINK 0\n#define NCCL_HW_PCI 1\n#define NCCL_HW_NET 2\n#define NCCL_NUM_HW_LINKS 3\n\n#define NCCL_VOLTA_COMPCAP_IDX 0\n#define NCCL_AMPERE_COMPCAP_IDX 1\n#define NCCL_HOPPER_COMPCAP_IDX 2\n#define NCCL_BLACKWELL_COMPCAP_IDX 3\n#define NCCL_NUM_COMPCAPS 4\n\n#define NCCL_TUNING_SCALE_1NODE 0\n#define NCCL_TUNING_SCALE_2NODES 1\n#define NCCL_TUNING_SCALE_4NODES 2\n#define NCCL_NUM_TUNING_SCALES 3\n\ntypedef struct {\n  int nNvlDomains;                    // number of NVLink domains\n  int minRanksPerNvlDomain;           // minimum ranks across all NVLink domains\n  int maxRanksPerNvlDomain;           // maximum ranks across all NVLink domains\n} ncclNvlDomainInfo_v5_t;\n\ntypedef struct {\n  double baseLatencies [NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  double hwLatencies [NCCL_NUM_HW_LINKS][NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n\n  double llMaxBws [NCCL_NUM_COMPCAPS][NCCL_NUM_TUNING_SCALES];\n  double perChMaxRingLL128Bws [NCCL_NUM_COMPCAPS][NCCL_NUM_TUNING_SCALES];\n  double perChMaxTreeLL128Bws [NCCL_NUM_COMPCAPS][NCCL_NUM_TUNING_SCALES];\n  double perChMaxTreeBws [NCCL_NUM_COMPCAPS][NCCL_NUM_TUNING_SCALES];\n\n\n} ncclTunerConstants_v5_t;\n\n// API to be implemented by external tuner\ntypedef struct {\n  // Name of the tuner\n  const char* name;\n\n  // Initializes tuner states.\n  // Inputs:\n  //   - commId: communicator identifier\n  //   - nRanks: number of ranks in current communicator. Each communicator initialize its own tuner.\n  //   - nNodes: number of nodes in current communicator.\n  //   - logFunction: a logFunction can be useful to integrate logging together with NCCL core.\n  //   - nvlDomainInfo: NVL domain information struct\n  // Outputs:\n  //   - context: tuner context object\n  // Input/Output:\n  //   - constants: tuner constants\n  ncclResult_t (*init)(void** ctx, uint64_t commId, size_t nRanks, size_t nNodes, ncclDebugLogger_t logFunction,\n                      ncclNvlDomainInfo_v5_t* nvlDomainInfo, ncclTunerConstants_v5_t* constants);\n\n  // Gets info (algo, protocol, number of ctas and threads) for a given collective.\n  // Inputs:\n  //   - context: tuner context object\n  //   - collType: collective type , e.g., allreduce, allgather…\n  //   - nBytes: collective size in bytes\n  //   - numPipeOps: number of operations in the group\n  //   - numAlgo: number of algorithms in collCostTable\n  //   - numProto: number of protocols in collCostTable\n  //   - regBuff: can register user buffer\n  //\n  // Outputs:\n  //   - nChannels: number of channels (hence SMs) to be used.\n  //\n  // InOut:\n  //   - collCostTable: collective cost table, generated by NCCL core, containing algo|proto|time entries for collType.\n  //                    NCCL core sets ignored algo/proto cost table entries to -1.0 (NCCL_ALGO_PROTO_IGNORE).\n  //\n  // If getCollInfo() does not return ncclSuccess, NCCL will fall back to the\n  // default tuning for the given collective.\n  // Also, the plugin is allowed to not set any output, or set only the\n  // algorithm and protocol, but not only the algorithm or only the protocol.\n  // Unset fields will be set automatically by NCCL.\n  ncclResult_t (*getCollInfo)(void* context, ncclFunc_t collType, size_t nBytes,\n                              int numPipeOps, float** collCostTable, int numAlgo, int numProto,\n                              int regBuff, int* nChannels);\n\n  // Terminates the plugin and cleans up any resources that the plugin allocated.\n  // context: tuner context object\n  ncclResult_t (*finalize)(void* context);\n} ncclTuner_v5_t;\n\ntypedef ncclTuner_v5_t ncclTuner_t;\ntypedef ncclNvlDomainInfo_v5_t ncclNvlDomainInfo_t;\ntypedef ncclTunerConstants_v5_t ncclTunerConstants_t;\n\n#define NCCL_TUNER_PLUGIN_SYMBOL \"ncclTunerPlugin_v5\"\n\n#endif\n"
  },
  {
    "path": "ext-tuner/example/nccl_tuner.conf",
    "content": "# NCCL Tuner Configuration File (CSV Format)\n# Format: collective_type,min_bytes,max_bytes,algorithm,protocol,channels,nNodes,nRanks,numPipeOps,regBuff\n#\n# Collective types: broadcast, reduce, allgather, reducescatter, allreduce\n# Algorithms: tree, ring, collnet_direct, collnet_chain, nvls, nvls_tree, pat\n# Protocols: ll, ll128, simple\n# Channels: number of channels to use, or -1 to keep default\n# nNodes: number of nodes to match, or -1 for any number of nodes\n# nRanks: number of ranks to match, or -1 for any number of ranks\n# numPipeOps: number of pipeline operations to match, or -1 for any number (optional)\n# regBuff: whether user buffer can be registered (0=no, 1=yes, -1=any) (optional)\n#\n# Note: numPipeOps and regBuff parameters are optional - configurations without them will match any value\n#\n# Examples:\n\n# For single-node configurations with registered buffers\n# Small allreduce operations on single node - use tree algorithm, registered buffers\nallreduce,0,65536,tree,simple,2,1,-1,-1,1\n\n# For multi-node configurations with 4 nodes, 32 total ranks, single pipeline op, non-registered buffers\n# Medium allreduce operations - use ring algorithm\nallreduce,65537,1048576,ring,simple,4,4,32,1,0\n\n# For any topology - large allreduce operations with LL128 protocol, multiple pipeline ops, any buffer type\nallreduce,1048577,4294967295,ring,ll128,-1,-1,-1,4,-1\n\n# Broadcast operations - different configs for different topologies, pipeline complexity, and buffer types\n# Single node broadcast - prefer tree, any pipeOps, registered buffers only\nbroadcast,0,32768,tree,simple,-1,1,-1,-1,1\n\n# Multi-node broadcast with single pipeline operation, non-registered buffers - use ring\nbroadcast,32769,4294967295,ring,simple,2,-1,-1,1,0\n\n# AllGather operations - optimized for 2-node configurations, any pipeOps, any buffer type\nallgather,0,4294967295,ring,simple,4,2,-1\n\n# ReduceScatter operations\n# Small messages on single node, single pipeline op, registered buffers\nreducescatter,0,131072,tree,simple,2,1,-1,1,1\n# Large messages on any topology, multiple pipeline ops, non-registered buffers\nreducescatter,131073,4294967295,ring,simple,-1,-1,-1,2,0\n\n# Reduce operations - any topology, keep default channels, any pipeOps, any buffer type\nreduce,0,4294967295,tree,simple,-1,-1,-1\n"
  },
  {
    "path": "ext-tuner/example/plugin.c",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"tuner.h\"\n#include <stdio.h>\n#include <string.h>\n#include <stdlib.h>\n\n#define __hidden __attribute__ ((visibility(\"hidden\")))\n#define MAX_LINE_LENGTH 256\n\n// CSV field indices for configuration parsing\n// Format: colltype,minbytes,maxbytes,algorithm,protocol,channels,nNodes,nRanks,numPipeOps,regBuff\n#define CONFIG_FIELD_COLLTYPE     0\n#define CONFIG_FIELD_MINBYTES     1\n#define CONFIG_FIELD_MAXBYTES     2\n#define CONFIG_FIELD_ALGORITHM    3\n#define CONFIG_FIELD_PROTOCOL     4\n#define CONFIG_FIELD_CHANNELS     5\n#define CONFIG_FIELD_NNODES       6\n#define CONFIG_FIELD_NRANKS       7\n#define CONFIG_FIELD_PIPEOPS      8  // Optional field\n#define CONFIG_FIELD_REGBUFF      9  // Optional field\n\n// Field count constants\n#define CONFIG_FIELDS_REQUIRED    8   // Minimum required fields (up to nRanks)\n#define CONFIG_FIELDS_WITH_PIPEOPS 9  // Fields including numPipeOps\n#define CONFIG_FIELDS_WITH_REGBUFF 10 // Fields including both numPipeOps and regBuff\n#define CONFIG_FIELDS_MAX         10  // Maximum number of fields supported\n\ntypedef struct {\n  ncclFunc_t collType;\n  size_t minBytes;\n  size_t maxBytes;\n  int algorithm;\n  int protocol;\n  int nChannels;\n  int nNodes;\n  int nRanks;\n  int numPipeOps;\n  int regBuff;\n} TuningConfig;\n\ntypedef struct {\n  TuningConfig* configs;  // Changed from static array to dynamic pointer\n  int numConfigs;\n  int maxConfigs;         // Added to track allocated size\n  size_t nRanks;\n  size_t nNodes;\n  ncclDebugLogger_t logFunction;\n  ncclNvlDomainInfo_v5_t nvlDomainInfo;\n} TunerContext;\n\n// Parse collective type from string\nstatic ncclFunc_t parseCollType(const char* str) {\n  if (strcmp(str, \"broadcast\") == 0) return ncclFuncBroadcast;\n  if (strcmp(str, \"reduce\") == 0) return ncclFuncReduce;\n  if (strcmp(str, \"allgather\") == 0) return ncclFuncAllGather;\n  if (strcmp(str, \"reducescatter\") == 0) return ncclFuncReduceScatter;\n  if (strcmp(str, \"allreduce\") == 0) return ncclFuncAllReduce;\n  return ncclFuncAllReduce; // default\n}\n\n// Convert collective type to string\nstatic const char* collTypeToString(ncclFunc_t collType) {\n  switch (collType) {\n    case ncclFuncBroadcast: return \"broadcast\";\n    case ncclFuncReduce: return \"reduce\";\n    case ncclFuncAllGather: return \"allgather\";\n    case ncclFuncReduceScatter: return \"reducescatter\";\n    case ncclFuncAllReduce: return \"allreduce\";\n    default: return \"unknown\";\n  }\n}\n\n// Parse algorithm from string\nstatic int parseAlgorithm(const char* str) {\n  if (strcmp(str, \"tree\") == 0) return NCCL_ALGO_TREE;\n  if (strcmp(str, \"ring\") == 0) return NCCL_ALGO_RING;\n  if (strcmp(str, \"collnet_direct\") == 0) return NCCL_ALGO_COLLNET_DIRECT;\n  if (strcmp(str, \"collnet_chain\") == 0) return NCCL_ALGO_COLLNET_CHAIN;\n  if (strcmp(str, \"nvls\") == 0) return NCCL_ALGO_NVLS;\n  if (strcmp(str, \"nvls_tree\") == 0) return NCCL_ALGO_NVLS_TREE;\n  if (strcmp(str, \"pat\") == 0) return NCCL_ALGO_PAT;\n  return NCCL_ALGO_RING; // default\n}\n\n// Convert algorithm to string\nstatic const char* algorithmToString(int algorithm) {\n  switch (algorithm) {\n    case NCCL_ALGO_TREE: return \"tree\";\n    case NCCL_ALGO_RING: return \"ring\";\n    case NCCL_ALGO_COLLNET_DIRECT: return \"collnet_direct\";\n    case NCCL_ALGO_COLLNET_CHAIN: return \"collnet_chain\";\n    case NCCL_ALGO_NVLS: return \"nvls\";\n    case NCCL_ALGO_NVLS_TREE: return \"nvls_tree\";\n    case NCCL_ALGO_PAT: return \"pat\";\n    default: return \"unknown\";\n  }\n}\n\n// Parse protocol from string\nstatic int parseProtocol(const char* str) {\n  if (strcmp(str, \"ll\") == 0) return NCCL_PROTO_LL;\n  if (strcmp(str, \"ll128\") == 0) return NCCL_PROTO_LL128;\n  if (strcmp(str, \"simple\") == 0) return NCCL_PROTO_SIMPLE;\n  return NCCL_PROTO_SIMPLE; // default\n}\n\n// Convert protocol to string\nstatic const char* protocolToString(int protocol) {\n  switch (protocol) {\n    case NCCL_PROTO_LL: return \"ll\";\n    case NCCL_PROTO_LL128: return \"ll128\";\n    case NCCL_PROTO_SIMPLE: return \"simple\";\n    default: return \"unknown\";\n  }\n}\n\n// Helper function to count valid configuration lines in file\nstatic int countConfigLines(const char* filename) {\n  FILE* file = fopen(filename, \"r\");\n  if (!file) {\n    return 0;\n  }\n\n  char line[MAX_LINE_LENGTH];\n  int count = 0;\n\n  while (fgets(line, sizeof(line), file)) {\n    // Skip comments and empty lines\n    if (line[0] == '#' || line[0] == '\\n') continue;\n\n    // Remove trailing newline\n    line[strcspn(line, \"\\n\")] = 0;\n\n    // Check if line has content\n    if (strlen(line) > 0) {\n      count++;\n    }\n  }\n\n  fclose(file);\n  return count;\n}\n\n// Load configuration from file\nstatic ncclResult_t loadConfig(TunerContext* ctx, const char* filename) {\n  FILE* file = fopen(filename, \"r\");\n  if (!file) {\n    if (ctx->logFunction) {\n      ctx->logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                       \"TUNER/ExamplePlugin: Config file %s not found, using defaults\", filename);\n    }\n    return ncclSuccess; // Not finding config file is not an error\n  }\n\n  // First pass: count valid configuration lines\n  int configCount = countConfigLines(filename);\n  if (configCount == 0) {\n    if (ctx->logFunction) {\n      ctx->logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                       \"TUNER/ExamplePlugin: No valid configurations found in %s\", filename);\n    }\n    fclose(file);\n    return ncclSuccess;\n  }\n\n  // Allocate memory for configurations based on actual count\n  ctx->configs = (TuningConfig*)malloc(configCount * sizeof(TuningConfig));\n  if (!ctx->configs) {\n    if (ctx->logFunction) {\n      ctx->logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                       \"TUNER/ExamplePlugin: Failed to allocate memory for %d configurations\", configCount);\n    }\n    fclose(file);\n    return ncclSystemError;\n  }\n\n  ctx->maxConfigs = configCount;\n  ctx->numConfigs = 0;\n\n  if (ctx->logFunction) {\n    ctx->logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                     \"TUNER/ExamplePlugin: Allocated memory for %d configurations\", configCount);\n  }\n\n  // Reset file pointer to beginning\n  fseek(file, 0, SEEK_SET);\n\n  char line[MAX_LINE_LENGTH];\n\n  while (fgets(line, sizeof(line), file) && ctx->numConfigs < ctx->maxConfigs) {\n    // Skip comments and empty lines\n    if (line[0] == '#' || line[0] == '\\n') continue;\n\n    // Remove trailing newline\n    line[strcspn(line, \"\\n\")] = 0;\n\n    // Parse CSV format: colltype,minbytes,maxbytes,algorithm,protocol,channels,nNodes,nRanks,numPipeOps,regBuff\n    char* token;\n    char* tokens[CONFIG_FIELDS_MAX];\n    int tokenCount = 0;\n\n    // Make a copy of the line for tokenizing\n    char lineCopy[MAX_LINE_LENGTH];\n    strncpy(lineCopy, line, sizeof(lineCopy));\n    lineCopy[sizeof(lineCopy) - 1] = '\\0';\n\n    // Tokenize by comma\n    token = strtok(lineCopy, \",\");\n    while (token != NULL && tokenCount < CONFIG_FIELDS_MAX) {\n      // Trim whitespace\n      while (*token == ' ' || *token == '\\t') token++;\n      char* end = token + strlen(token) - 1;\n      while (end > token && (*end == ' ' || *end == '\\t')) {\n        *end = '\\0';\n        end--;\n      }\n      tokens[tokenCount++] = token;\n      token = strtok(NULL, \",\");\n    }\n\n    // Validate field count: support required fields (8), with pipeOps (9), or with regBuff (10)\n    if (tokenCount >= CONFIG_FIELDS_REQUIRED && tokenCount <= CONFIG_FIELDS_MAX) {\n      TuningConfig* config = &ctx->configs[ctx->numConfigs];\n      config->collType = parseCollType(tokens[CONFIG_FIELD_COLLTYPE]);\n      config->minBytes = (size_t)strtoull(tokens[CONFIG_FIELD_MINBYTES], NULL, 10);\n      config->maxBytes = (size_t)strtoull(tokens[CONFIG_FIELD_MAXBYTES], NULL, 10);\n      config->algorithm = parseAlgorithm(tokens[CONFIG_FIELD_ALGORITHM]);\n      config->protocol = parseProtocol(tokens[CONFIG_FIELD_PROTOCOL]);\n      config->nChannels = atoi(tokens[CONFIG_FIELD_CHANNELS]);\n      config->nNodes = atoi(tokens[CONFIG_FIELD_NNODES]);\n      config->nRanks = atoi(tokens[CONFIG_FIELD_NRANKS]);\n\n      // numPipeOps is optional (9th field, index 8)\n      if (tokenCount >= CONFIG_FIELDS_WITH_PIPEOPS) {\n        config->numPipeOps = atoi(tokens[CONFIG_FIELD_PIPEOPS]);\n      } else {\n        config->numPipeOps = -1; // -1 means match any numPipeOps\n      }\n\n      // regBuff is optional (10th field, index 9)\n      if (tokenCount >= CONFIG_FIELDS_WITH_REGBUFF) {\n        config->regBuff = atoi(tokens[CONFIG_FIELD_REGBUFF]);\n      } else {\n        config->regBuff = -1; // -1 means match any regBuff value\n      }\n\n      ctx->numConfigs++;\n\n      if (ctx->logFunction) {\n        if (config->numPipeOps == -1 && config->regBuff == -1) {\n          ctx->logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                           \"TUNER/ExamplePlugin: Loaded config: %s [%zu-%zu] %s/%s channels=%d nodes=%d ranks=%d pipeOps=any regBuff=any\",\n                           tokens[CONFIG_FIELD_COLLTYPE], config->minBytes, config->maxBytes,\n                           tokens[CONFIG_FIELD_ALGORITHM], tokens[CONFIG_FIELD_PROTOCOL],\n                           config->nChannels, config->nNodes, config->nRanks);\n        } else if (config->regBuff == -1) {\n          ctx->logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                           \"TUNER/ExamplePlugin: Loaded config: %s [%zu-%zu] %s/%s channels=%d nodes=%d ranks=%d pipeOps=%d regBuff=any\",\n                           tokens[CONFIG_FIELD_COLLTYPE], config->minBytes, config->maxBytes,\n                           tokens[CONFIG_FIELD_ALGORITHM], tokens[CONFIG_FIELD_PROTOCOL],\n                           config->nChannels, config->nNodes, config->nRanks, config->numPipeOps);\n        } else if (config->numPipeOps == -1) {\n          ctx->logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                           \"TUNER/ExamplePlugin: Loaded config: %s [%zu-%zu] %s/%s channels=%d nodes=%d ranks=%d pipeOps=any regBuff=%d\",\n                           tokens[CONFIG_FIELD_COLLTYPE], config->minBytes, config->maxBytes,\n                           tokens[CONFIG_FIELD_ALGORITHM], tokens[CONFIG_FIELD_PROTOCOL],\n                           config->nChannels, config->nNodes, config->nRanks, config->regBuff);\n        } else {\n          ctx->logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                           \"TUNER/ExamplePlugin: Loaded config: %s [%zu-%zu] %s/%s channels=%d nodes=%d ranks=%d pipeOps=%d regBuff=%d\",\n                           tokens[CONFIG_FIELD_COLLTYPE], config->minBytes, config->maxBytes,\n                           tokens[CONFIG_FIELD_ALGORITHM], tokens[CONFIG_FIELD_PROTOCOL],\n                           config->nChannels, config->nNodes, config->nRanks, config->numPipeOps, config->regBuff);\n        }\n      }\n    }\n  }\n\n  fclose(file);\n  if (ctx->logFunction) {\n    ctx->logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                     \"TUNER/ExamplePlugin: Loaded %d tuning configurations from %s\", ctx->numConfigs, filename);\n  }\n  return ncclSuccess;\n}\n\n__hidden ncclResult_t pluginInit(void** context, uint64_t commId, size_t nRanks, size_t nNodes, ncclDebugLogger_t logFunction,\n                                 ncclNvlDomainInfo_v5_t* nvlDomainInfo, ncclTunerConstants_v5_t* constants) {\n\n  if (NULL != constants) {\n    // NCCL constants tuning\n    // Tune NCCL's internal tuning model to improve base algo/proto selection.\n    // Note: Example numbers are for reference only.\n    //       Actual numbers may vary depending on the hardware and network topology.\n    //       These numbers are not guaranteed to be optimal for all cases.\n    // Limit the tree bandwidth to 15GB/s\n    constants->perChMaxTreeBws[NCCL_BLACKWELL_COMPCAP_IDX][NCCL_TUNING_SCALE_4NODES] = 15.0;\n\n    // Limit the ring bandwidth to 20GB/s\n    constants->perChMaxRingLL128Bws[NCCL_BLACKWELL_COMPCAP_IDX][NCCL_TUNING_SCALE_4NODES] = 20.0;\n\n    // Set NVLSTree base network latency to 24us\n    constants->hwLatencies[NCCL_HW_NET][NCCL_ALGO_NVLS][NCCL_PROTO_SIMPLE] = 24.0;\n  }\n  \n  TunerContext* ctx = (TunerContext*)malloc(sizeof(TunerContext));\n  if (!ctx) return ncclSystemError;\n\n  ctx->configs = NULL;     // Initialize to NULL\n  ctx->numConfigs = 0;\n  ctx->maxConfigs = 0;     // Initialize to 0\n  ctx->nRanks = nRanks;\n  ctx->nNodes = nNodes;\n  ctx->logFunction = logFunction;\n  if (nvlDomainInfo) {\n    ctx->nvlDomainInfo = *nvlDomainInfo;\n  } else {\n    memset(&ctx->nvlDomainInfo, 0, sizeof(ncclNvlDomainInfo_v5_t));\n  }\n\n  if (logFunction) {\n    logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                \"TUNER/ExamplePlugin: Initializing tuner for %zu nodes, %zu ranks, %d NVL domains\",\n                nNodes, nRanks, ctx->nvlDomainInfo.nNvlDomains);\n  }\n\n  // Try to load config file from environment variable or default location\n  const char* configFile = getenv(\"NCCL_TUNER_CONFIG_FILE\");\n  if (!configFile) {\n    configFile = \"nccl_tuner.conf\"; // default config file name\n  }\n\n  ncclResult_t result = loadConfig(ctx, configFile);\n  if (result != ncclSuccess) {\n    if (ctx->configs) {\n      free(ctx->configs);  // Clean up allocated memory on error\n    }\n    free(ctx);\n    return result;\n  }\n\n  *context = ctx;\n  return ncclSuccess;\n}\n\n__hidden ncclResult_t pluginGetCollInfo(void* context, ncclFunc_t collType, size_t nBytes,\n                              int numPipeOps, float** collCostTable, int numAlgo, int numProto,\n                              int regBuff, int* nChannels) {\n  TunerContext* ctx = (TunerContext*)context;\n  if (!ctx) return ncclInternalError;\n\n  // Set default channels to 0 to ensure RCCL uses its default channel selection logic in case no match is found or wildcard is used in config.\n  *nChannels = 0;\n\n  if (ctx->logFunction) {\n    ctx->logFunction(NCCL_LOG_TRACE, NCCL_TUNING, __FILE__, __LINE__,\n                     \"TUNER/ExamplePlugin: pluginGetCollInfo called - collType=%s, nBytes=%zu, numPipeOps=%d, regBuff=%d, numConfigs=%d\",\n                     collTypeToString(collType), nBytes, numPipeOps, regBuff, ctx->numConfigs);\n  }\n\n  // Cast the collCostTable pointer to a 2D array to fix the segmentation fault\n  float (*table)[NCCL_NUM_PROTOCOLS] = (float (*)[NCCL_NUM_PROTOCOLS])collCostTable;\n\n  // Look for matching configuration\n  for (int i = 0; i < ctx->numConfigs; i++) {\n    TuningConfig* config = &ctx->configs[i];\n\n    if (ctx->logFunction) {\n      ctx->logFunction(NCCL_LOG_TRACE, NCCL_TUNING, __FILE__, __LINE__,\n                       \"TUNER/ExamplePlugin: Checking config %d - collType=%s, minBytes=%zu, maxBytes=%zu, algo=%s, proto=%s, nNodes=%d, nRanks=%d, numPipeOps=%d, regBuff=%d\",\n                       i, collTypeToString(config->collType), config->minBytes, config->maxBytes, algorithmToString(config->algorithm), protocolToString(config->protocol),\n                       config->nNodes, config->nRanks, config->numPipeOps, config->regBuff);\n    }\n\n    // Check if this config matches the current collective, size range, topology, pipeline ops, and regBuff\n    if (config->collType == collType &&\n        nBytes >= config->minBytes &&\n        nBytes <= config->maxBytes &&\n        (config->nNodes == -1 || config->nNodes == (int)ctx->nNodes) &&\n        (config->nRanks == -1 || config->nRanks == (int)ctx->nRanks) &&\n        (config->numPipeOps == -1 || config->numPipeOps == numPipeOps) &&\n        (config->regBuff == -1 || config->regBuff == regBuff)) {\n\n      if (ctx->logFunction) {\n        ctx->logFunction(NCCL_LOG_TRACE, NCCL_TUNING, __FILE__, __LINE__,\n                         \"TUNER/ExamplePlugin: Config matches. Applying algo=%s, proto=%s, channels=%d\",\n                         algorithmToString(config->algorithm), protocolToString(config->protocol), config->nChannels);\n      }\n\n      // Check bounds\n      if (config->algorithm < numAlgo && config->protocol < numProto) {\n        if (table[config->algorithm][config->protocol] != NCCL_ALGO_PROTO_IGNORE) {\n          if (ctx->logFunction) {\n            ctx->logFunction(NCCL_LOG_TRACE, NCCL_TUNING, __FILE__, __LINE__,\n                             \"TUNER/ExamplePlugin: Setting cost table[%s][%s] (%p) = 0.0 (was %.1f)\",\n                             algorithmToString(config->algorithm), protocolToString(config->protocol),\n                             &table[config->algorithm][config->protocol], table[config->algorithm][config->protocol]);\n          }\n          table[config->algorithm][config->protocol] = 0.0; // Set low cost to prefer this configuration\n\n          // Only override channels if not set to -1 (keep default)\n          if (config->nChannels != -1) {\n            *nChannels = config->nChannels;\n          }\n\n          if (ctx->logFunction) {\n            if (config->nChannels == -1) {\n              ctx->logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                               \"TUNER/ExamplePlugin: Applied config for collType=%s, bytes=%zu, pipeOps=%d, regBuff=%d: algo=%s, proto=%s, channels=default (nodes=%d, ranks=%d)\",\n                               collTypeToString(config->collType), nBytes, numPipeOps, regBuff, algorithmToString(config->algorithm), protocolToString(config->protocol),\n                               config->nNodes, config->nRanks);\n            } else {\n              ctx->logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                               \"TUNER/ExamplePlugin: Applied config for collType=%s, bytes=%zu, pipeOps=%d, regBuff=%d: algo=%s, proto=%s, channels=%d (nodes=%d, ranks=%d)\",\n                               collTypeToString(config->collType), nBytes, numPipeOps, regBuff, algorithmToString(config->algorithm), protocolToString(config->protocol),\n                               config->nChannels, config->nNodes, config->nRanks);\n            }\n          }\n          return ncclSuccess;\n        } else {\n          if (ctx->logFunction) {\n            ctx->logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                             \"TUNER/ExamplePlugin: Algorithm/protocol combination [%s][%s] is marked as IGNORE\",\n                             algorithmToString(config->algorithm), protocolToString(config->protocol));\n          }\n        }\n      } else {\n        if (ctx->logFunction) {\n          ctx->logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                           \"TUNER/ExamplePlugin: Algorithm/protocol out of bounds - algo=%s (max %d), proto=%s (max %d)\",\n                           algorithmToString(config->algorithm), numAlgo, protocolToString(config->protocol), numProto);\n        }\n      }\n    } else {\n      if (ctx->logFunction) {\n        ctx->logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                         \"TUNER/ExamplePlugin: Config does not match - collType match=%d, size match=%d, nodes match=%d, ranks match=%d, pipeOps match=%d, regBuff match=%d\",\n                         config->collType == collType,\n                         (nBytes >= config->minBytes && nBytes <= config->maxBytes),\n                         (config->nNodes == -1 || config->nNodes == (int)ctx->nNodes),\n                         (config->nRanks == -1 || config->nRanks == (int)ctx->nRanks),\n                         (config->numPipeOps == -1 || config->numPipeOps == numPipeOps),\n                         (config->regBuff == -1 || config->regBuff == regBuff));\n      }\n    }\n  }\n\n  // If no specific config found, apply default behavior\n  if (ctx->logFunction) {\n    ctx->logFunction(NCCL_LOG_INFO, NCCL_TUNING, __FILE__, __LINE__,\n                     \"TUNER/ExamplePlugin: No matching config found\");\n  }\n\n  return ncclSuccess;\n}\n\n__hidden ncclResult_t pluginFinalize(void* context) {\n  if (context) {\n    TunerContext* ctx = (TunerContext*)context;\n    if (ctx->configs) {\n      free(ctx->configs);  // Free dynamically allocated configs array\n    }\n    free(context);\n  }\n  return ncclSuccess;\n}\n\n\n#define PLUGIN_NAME \"Example\"\n\nconst ncclTuner_v5_t ncclTunerPlugin_v5 = {\n  .name = PLUGIN_NAME,\n  .init = pluginInit,\n  .getCollInfo = pluginGetCollInfo,\n  .finalize = pluginFinalize\n};\n"
  },
  {
    "path": "ext-tuner/example/scripts/README.md",
    "content": "# NCCL Tuner Configuration Scripts\n\nThis directory contains scripts for optimizing NCCL tuner configurations based on performance data.\n\n## optimize_config.py\n\nA Python script that reads performance data from CSV files and generates optimal NCCL tuner configurations.\n\n### Usage\n\n```bash\npython scripts/optimize_config.py [options] <input_csv_file>\n```\n\n### Options\n\n- `-o, --output FILE`: Output NCCL tuner config file (default: `nccl_tuner.conf`)\n- `-m, --metric METRIC`: Optimization metric (`cost_metric`, `bandwidth_gbps`, `latency_us`)\n- `--no-header`: Don't add header comments to output file\n- `--dry-run`: Print configurations without writing to file\n\n### CSV Input Format\n\nThe input CSV file should have the following columns:\n\n```csv\ncollective,size_bytes,algorithm,protocol,channels,nodes,ranks,pipeOps,regBuff,cost_metric,bandwidth_gbps,latency_us\n```\n\n**Required columns:**\n- `collective`: NCCL collective type (`allreduce`, `broadcast`, `reduce`, etc.)\n- `size_bytes`: Message size in bytes\n- `algorithm`: NCCL algorithm (`tree`, `ring`, `nvls`, etc.)\n- `protocol`: NCCL protocol (`simple`, `ll`, `ll128`)\n- `channels`: Number of channels (or `-1` for default)\n- `nodes`: Number of nodes (or `-1` for any)\n- `ranks`: Number of ranks (or `-1` for any)\n- `pipeOps`: Number of pipeline operations (or `-1` for any)\n- `regBuff`: Registered buffer flag (`0`, `1`, or `-1` for any)\n\n**Optional metrics (must have at least one present):**\n- `bandwidth_gbps`: Bandwidth in GB/s (higher is better)\n- `latency_us`: Latency in microseconds (lower is better)\n\n### Examples\n\n**Basic usage with cost optimization:**\n```bash\npython scripts/optimize_config.py sample_performance_data.csv\n```\n\n**Optimize for bandwidth and write to custom file:**\n```bash\npython scripts/optimize_config.py -m bandwidth_gbps -o my_tuner.conf performance_data.csv\n```\n\n**Preview configurations without writing:**\n```bash\npython scripts/optimize_config.py --dry-run performance_data.csv\n```\n\n### How It Works\n\n1. **Data Loading**: Reads CSV performance data and validates format\n2. **Grouping**: Groups data by collective type, topology (nodes/ranks), and other parameters\n3. **Size Ranges**: Automatically bins data into size ranges for optimization\n4. **Optimization**: Finds the best performing configuration for each group/size combination\n5. **Output**: Generates NCCL tuner config format and appends to specified file\n\n### Default Size Ranges\n\nThe script uses these default size ranges (in bytes):\n- Small: 0 - 1,024\n- Medium: 1,025 - 65,536\n- Large: 65,537 - 1,048,576\n- XLarge: 1,048,577 - 16,777,216\n- XXLarge: 16,777,217 - 4,294,967,295\n\n### Sample Data\n\nSee `sample_performance_data.csv` for an example of the expected input format.\n\n### Integration with NCCL\n\nThe generated configuration file can be used directly with the NCCL tuner plugin:\n\n```bash\nexport NCCL_TUNER_CONFIG_FILE=/path/to/optimized_config.conf\nexport NCCL_TUNER_PLUGIN=/path/to/libnccl-tuner.so\nmpirun -np 8 your_nccl_application\n```\n\n### Performance Data Collection\n\nTo collect performance data for optimization, you can:\n\n1. **Use NCCL benchmarks** with different algorithm/protocol combinations\n2. **Profile your applications** with various tuner settings\n3. **Run systematic sweeps** across parameter combinations\n4. **Use NCCL debug output** to collect timing information\n\nThe key is to have comprehensive data covering:\n- Different message sizes (small to large)\n- Various topologies (single node, multi-node)\n- All relevant algorithm/protocol combinations\n- Different channel counts and pipeline configurations\n"
  },
  {
    "path": "ext-tuner/example/scripts/optimize_config.py",
    "content": "#!/usr/bin/env python3\n\"\"\"\nNCCL Tuner Configuration Optimizer\n\nReads a CSV file containing performance data across different tuning parameters\nand generates optimal NCCL tuner configurations based on the best performing\ncombinations.\n\nBy default, creates growing size ranges that interpolate between the actual data sizes\nfor each unique dimension (node count, rank count combination). This ensures that\ndifferent cluster configurations get their own optimized size boundaries, as\nperformance characteristics often vary significantly between topologies.\n\nEach dimension gets its own set of ranges starting from 0 and extending to the maximum\nsize for that dimension, with boundaries at midpoints between consecutive data sizes.\n\nCSV Input Format:\ncollective,size_bytes,algorithm,protocol,channels,nodes,ranks,pipeOps,regBuff,bandwidth_gbps,latency_us\n\nOutput Format (NCCL Tuner Config):\ncollective_type,min_bytes,max_bytes,algorithm,protocol,channels,nNodes,nRanks,numPipeOps,regBuff\n\nUsage Examples:\n  # Auto-create dimension-specific interpolated ranges (default)\n  python3 optimize_config.py data.csv\n\n  # Use custom size ranges (applied to all topologies)\n  python3 optimize_config.py data.csv --size-ranges \"0-1024,1025-65536,65537-1048576\"\n\n  # Use hardcoded default ranges (applied to all topologies)\n  python3 optimize_config.py data.csv --no-auto-ranges\n\"\"\"\n\nimport csv\nimport argparse\nimport sys\nimport os\nfrom collections import defaultdict\nfrom typing import Dict, List, Tuple, Any\n\nclass PerformanceData:\n    def __init__(self, row: Dict[str, str]):\n        self.collective = row['collective']\n        self.size_bytes = int(row['size_bytes'])\n        self.algorithm = row['algorithm']\n        self.protocol = row['protocol']\n        self.channels = int(row['channels']) if row['channels'] != '-1' else -1\n        self.nodes = int(row['nodes']) if row['nodes'] != '-1' else -1\n        self.ranks = int(row['ranks']) if row['ranks'] != '-1' else -1\n        self.pipeOps = int(row['pipeOps']) if row['pipeOps'] != '-1' else -1\n        self.regBuff = int(row['regBuff']) if row['regBuff'] != '-1' else -1\n\n        # Performance metrics\n        self.bandwidth_gbps = float(row.get('bandwidth_gbps', 0))  # Higher is better\n        self.latency_us = float(row.get('latency_us', 0))  # Lower is better\n\n    def get_config_key(self) -> Tuple:\n        \"\"\"Generate a key for grouping similar configurations\"\"\"\n        return (self.collective, self.nodes, self.ranks, self.pipeOps, self.regBuff)\n\n    def get_size_range_key(self, topology_size_ranges: Dict[Tuple[int, int], List[Tuple[int, int]]]) -> Tuple[int, int]:\n        \"\"\"Find which size range this data point belongs to for its dimension\"\"\"\n        topology_key = (self.nodes, self.ranks)\n\n        # Get size ranges for this dimension, or fall back to default\n        if topology_key in topology_size_ranges:\n            size_ranges = topology_size_ranges[topology_key]\n        elif (-1, -1) in topology_size_ranges:\n            size_ranges = topology_size_ranges[(-1, -1)]\n        else:\n            # Fallback to first available dimension ranges\n            size_ranges = next(iter(topology_size_ranges.values()))\n\n        for min_size, max_size in size_ranges:\n            if min_size <= self.size_bytes <= max_size:\n                return (min_size, max_size)\n        # If no range found, create a single-point range\n        return (self.size_bytes, self.size_bytes)\n\nclass ConfigOptimizer:\n    def __init__(self, optimization_metric: str = 'latency_us'):\n        self.optimization_metric = optimization_metric\n        # Default size ranges - will be overridden by auto-detection\n        self.size_ranges = [\n            (0, 1024),\n            (1025, 64*1024),\n            (64*1024+1, 1024*1024),\n            (1024*1024+1, 16*1024*1024),\n            (16*1024*1024+1, 4*1024*1024*1024-1)\n        ]\n        self.auto_size_ranges = True\n\n    def set_size_ranges(self, ranges: List[Tuple[int, int]]):\n        \"\"\"Set custom size ranges for optimization\"\"\"\n        self.size_ranges = ranges\n        self.auto_size_ranges = False\n\n    def auto_determine_size_ranges(self, data: List[PerformanceData]) -> Dict[Tuple[int, int], List[Tuple[int, int]]]:\n        \"\"\"Create growing size ranges for each unique (nodes, ranks) dimension\"\"\"\n        if not data:\n            return {(-1, -1): self.size_ranges}\n\n        # Group data by dimension (nodes, ranks)\n        topology_data = defaultdict(list)\n        for item in data:\n            topology_key = (item.nodes, item.ranks)\n            topology_data[topology_key].append(item)\n\n        topology_ranges = {}\n\n        for topology_key, items in topology_data.items():\n            nodes, ranks = topology_key\n\n            # Extract unique sizes for this dimension and sort them\n            unique_sizes = sorted(set(item.size_bytes for item in items))\n\n            if len(unique_sizes) <= 1:\n                # Only one size, create a single range from 0 to that size\n                size = unique_sizes[0] if unique_sizes else 0\n                ranges = [(0, size)]\n            else:\n                # Create growing ranges that interpolate between data points\n                ranges = []\n\n                for i, size in enumerate(unique_sizes):\n                    if i == 0:\n                        # First range: 0 to midpoint between first and second size\n                        if len(unique_sizes) > 1:\n                            next_size = unique_sizes[i + 1]\n                            max_size = (size + next_size) // 2\n                        else:\n                            max_size = size\n                        min_size = 0\n                    elif i == len(unique_sizes) - 1:\n                        # Last range: previous max + 1 to current size (and beyond)\n                        min_size = ranges[-1][1] + 1\n                        max_size = size\n                    else:\n                        # Intermediate ranges: previous max + 1 to midpoint with next size\n                        min_size = ranges[-1][1] + 1\n                        next_size = unique_sizes[i + 1]\n                        max_size = (size + next_size) // 2\n\n                    ranges.append((min_size, max_size))\n\n            topology_ranges[topology_key] = ranges\n\n            print(f\"Dimension {nodes} nodes, {ranks} ranks: {len(ranges)} size ranges from {len(unique_sizes)} unique sizes:\")\n            for i, (min_size, max_size) in enumerate(ranges):\n                # Count data points that fall in this range for this dimension\n                count = sum(1 for item in items if min_size <= item.size_bytes <= max_size)\n                actual_sizes = sorted(set(item.size_bytes for item in items if min_size <= item.size_bytes <= max_size))\n                if actual_sizes:\n                    size_list = ', '.join(f\"{s:,}\" for s in actual_sizes[:3])\n                    if len(actual_sizes) > 3:\n                        size_list += f\", ... (+{len(actual_sizes)-3} more)\"\n                    print(f\"  Range {i+1}: {min_size:,} - {max_size:,} bytes ({count} data points, sizes: {size_list})\")\n\n        return topology_ranges\n\n    def load_data(self, csv_file: str) -> List[PerformanceData]:\n        \"\"\"Load performance data from CSV file\"\"\"\n        data = []\n        try:\n            with open(csv_file, 'r') as f:\n                reader = csv.DictReader(f)\n                for row in reader:\n                    try:\n                        data.append(PerformanceData(row))\n                    except (ValueError, KeyError) as e:\n                        print(f\"Warning: Skipping invalid row: {row} - {e}\")\n        except FileNotFoundError:\n            print(f\"Error: File {csv_file} not found\")\n            sys.exit(1)\n        except Exception as e:\n            print(f\"Error reading {csv_file}: {e}\")\n            sys.exit(1)\n\n        print(f\"Loaded {len(data)} performance data points\")\n\n        # Auto-determine size ranges if enabled\n        if self.auto_size_ranges and data:\n            self.topology_size_ranges = self.auto_determine_size_ranges(data)\n        else:\n            # Use default ranges for all topologies\n            self.topology_size_ranges = {(-1, -1): self.size_ranges}\n\n        return data\n\n    def is_better(self, new_data: PerformanceData, current_best: PerformanceData) -> bool:\n        \"\"\"Determine if new_data is better than current_best\"\"\"\n        if self.optimization_metric == 'bandwidth_gbps':\n            return new_data.bandwidth_gbps > current_best.bandwidth_gbps\n        elif self.optimization_metric == 'latency_us':\n            return new_data.latency_us < current_best.latency_us\n        else:\n            # Default to latency\n            return new_data.latency_us < current_best.latency_us\n\n    def optimize_configurations(self, data: List[PerformanceData]) -> List[str]:\n        \"\"\"Find optimal configurations and return as NCCL config strings\"\"\"\n        # Group data by configuration key and size range\n        grouped_data = defaultdict(lambda: defaultdict(list))\n\n        for item in data:\n            config_key = item.get_config_key()\n            size_range = item.get_size_range_key(self.topology_size_ranges)\n            grouped_data[config_key][size_range].append(item)\n\n        # Store optimal configurations before combining ranges\n        optimal_configs = []\n\n        for config_key, size_ranges_dict in grouped_data.items():\n            collective, nodes, ranks, pipeOps, regBuff = config_key\n\n            for (min_size, max_size), items in size_ranges_dict.items():\n                if not items:\n                    continue\n\n                # Find the best performing configuration for this size range\n                best_item = items[0]\n                for item in items[1:]:\n                    if self.is_better(item, best_item):\n                        best_item = item\n\n                # Store the optimal configuration with its range\n                optimal_configs.append({\n                    'collective': collective,\n                    'min_size': min_size,\n                    'max_size': max_size,\n                    'algorithm': best_item.algorithm,\n                    'protocol': best_item.protocol,\n                    'channels': best_item.channels,\n                    'nodes': best_item.nodes,\n                    'ranks': best_item.ranks,\n                    'pipeOps': best_item.pipeOps,\n                    'regBuff': best_item.regBuff,\n                    'metric_value': getattr(best_item, self.optimization_metric)\n                })\n\n        # Combine sequential ranges with identical tunings\n        combined_configs = self.combine_sequential_ranges(optimal_configs)\n\n        # Generate config strings\n        configs = []\n        for config in combined_configs:\n            config_str = f\"{config['collective']},{config['min_size']},{config['max_size']},{config['algorithm']},{config['protocol']},{config['channels']},{config['nodes']},{config['ranks']},{config['pipeOps']},{config['regBuff']}\"\n            configs.append(config_str)\n\n            print(f\"Optimal for {config['collective']} [{config['min_size']}-{config['max_size']}] nodes={config['nodes']} ranks={config['ranks']}: \"\n                  f\"{config['algorithm']}/{config['protocol']} channels={config['channels']} \"\n                  f\"({self.optimization_metric}={config['metric_value']:.3f})\")\n\n        return configs\n\n    def combine_sequential_ranges(self, configs: List[Dict]) -> List[Dict]:\n        \"\"\"Combine sequential ranges that have identical tuning parameters\"\"\"\n        if not configs:\n            return configs\n\n        # Group by collective and topology (nodes, ranks)\n        topology_groups = defaultdict(list)\n        for config in configs:\n            topology_key = (config['collective'], config['nodes'], config['ranks'],\n                          config['pipeOps'], config['regBuff'])\n            topology_groups[topology_key].append(config)\n\n        combined_configs = []\n\n        for topology_key, topology_configs in topology_groups.items():\n            # Sort by min_size to ensure proper ordering\n            topology_configs.sort(key=lambda x: x['min_size'])\n\n            # Group by tuning parameters (algorithm, protocol, channels)\n            tuning_groups = defaultdict(list)\n            for config in topology_configs:\n                tuning_key = (config['algorithm'], config['protocol'], config['channels'])\n                tuning_groups[tuning_key].append(config)\n\n            # For each tuning group, combine sequential ranges\n            for tuning_key, tuning_configs in tuning_groups.items():\n                if not tuning_configs:\n                    continue\n\n                # Sort by min_size\n                tuning_configs.sort(key=lambda x: x['min_size'])\n\n                # Combine sequential ranges\n                current_config = tuning_configs[0].copy()\n\n                for next_config in tuning_configs[1:]:\n                    # Check if ranges are adjacent or overlapping\n                    if current_config['max_size'] + 1 >= next_config['min_size']:\n                        # Extend the current range\n                        current_config['max_size'] = max(current_config['max_size'], next_config['max_size'])\n                        # Update metric value to the better one\n                        if self.optimization_metric == 'bandwidth_gbps':\n                            if next_config['metric_value'] > current_config['metric_value']:\n                                current_config['metric_value'] = next_config['metric_value']\n                        else:  # latency_us or default\n                            if next_config['metric_value'] < current_config['metric_value']:\n                                current_config['metric_value'] = next_config['metric_value']\n                    else:\n                        # Gap between ranges, save current and start new one\n                        combined_configs.append(current_config)\n                        current_config = next_config.copy()\n\n                # Add the last configuration\n                combined_configs.append(current_config)\n\n        # Sort final configs by collective, nodes, ranks, then min_size\n        combined_configs.sort(key=lambda x: (x['collective'], x['nodes'], x['ranks'], x['min_size']))\n\n        original_count = len(configs)\n        combined_count = len(combined_configs)\n        if combined_count < original_count:\n            print(f\"Combined {original_count} ranges into {combined_count} ranges \"\n                  f\"(reduced by {original_count - combined_count})\")\n\n        return combined_configs\n\n    def append_to_config_file(self, configs: List[str], config_file: str, add_header: bool = True):\n        \"\"\"Append optimized configurations to NCCL tuner config file\"\"\"\n        try:\n            # Create directory if it doesn't exist\n            config_dir = os.path.dirname(config_file)\n            if config_dir and not os.path.exists(config_dir):\n                os.makedirs(config_dir)\n                print(f\"Created directory: {config_dir}\")\n\n            # Check if file exists and has content\n            file_exists = os.path.exists(config_file)\n            add_separator = False\n\n            if file_exists:\n                with open(config_file, 'r') as f:\n                    content = f.read().strip()\n                    add_separator = len(content) > 0\n                print(f\"Appending to existing file: {config_file}\")\n            else:\n                print(f\"Creating new file: {config_file}\")\n\n            with open(config_file, 'a') as f:\n                if add_separator:\n                    f.write(\"\\n\\n\")\n\n                if add_header:\n                    f.write(f\"# Optimized configurations generated by optimize_config.py\\n\")\n                    f.write(f\"# Optimization metric: {self.optimization_metric}\\n\")\n                    f.write(f\"# Format: collective_type,min_bytes,max_bytes,algorithm,protocol,channels,nNodes,nRanks,numPipeOps,regBuff\\n\")\n\n                for config in configs:\n                    f.write(f\"{config}\\n\")\n\n            if file_exists:\n                print(f\"Appended {len(configs)} optimized configurations to {config_file}\")\n            else:\n                print(f\"Created {config_file} with {len(configs)} optimized configurations\")\n\n        except PermissionError:\n            print(f\"Error: Permission denied writing to {config_file}\")\n            print(\"Try running with appropriate permissions or choose a different output location\")\n            sys.exit(1)\n        except OSError as e:\n            print(f\"Error: Cannot create/write to {config_file}: {e}\")\n            print(\"Check that the path is valid and you have write permissions\")\n            sys.exit(1)\n        except Exception as e:\n            print(f\"Unexpected error writing to {config_file}: {e}\")\n            sys.exit(1)\n\ndef main():\n    parser = argparse.ArgumentParser(description=\"Optimize NCCL tuner configurations from performance data\")\n    parser.add_argument(\"csv_file\", help=\"Input CSV file with performance data\")\n    parser.add_argument(\"-o\", \"--output\", default=\"nccl_tuner.conf\",\n                       help=\"Output NCCL tuner config file (default: nccl_tuner.conf)\")\n    parser.add_argument(\"-m\", \"--metric\", choices=['bandwidth_gbps', 'latency_us'],\n                       default='latency_us', help=\"Optimization metric (default: latency_us)\")\n    parser.add_argument(\"--no-header\", action=\"store_true\",\n                       help=\"Don't add header comments to output file\")\n    parser.add_argument(\"--dry-run\", action=\"store_true\",\n                       help=\"Print configurations without writing to file\")\n    parser.add_argument(\"--no-auto-ranges\", action=\"store_true\",\n                       help=\"Disable automatic size range determination (use default ranges)\")\n    parser.add_argument(\"--size-ranges\", type=str,\n                       help=\"Custom size ranges as comma-separated pairs: 'min1-max1,min2-max2,...'\")\n\n    args = parser.parse_args()\n\n    optimizer = ConfigOptimizer(args.metric)\n\n    # Handle size range configuration\n    if args.size_ranges:\n        # Parse custom size ranges\n        try:\n            ranges = []\n            for range_str in args.size_ranges.split(','):\n                min_size, max_size = map(int, range_str.split('-'))\n                ranges.append((min_size, max_size))\n            optimizer.set_size_ranges(ranges)\n            print(f\"Using custom size ranges: {ranges}\")\n        except ValueError:\n            print(\"Error: Invalid size ranges format. Use 'min1-max1,min2-max2,...'\")\n            sys.exit(1)\n    elif args.no_auto_ranges:\n        # Disable auto-ranging\n        optimizer.auto_size_ranges = False\n        print(\"Using default hardcoded size ranges\")\n    else:\n        # Auto-ranging is enabled by default - creates one bucket per unique size\n        optimizer.auto_size_ranges = True\n        print(\"Auto-ranging enabled: will create one bucket per unique size in data\")\n\n    # Load and optimize data\n    data = optimizer.load_data(args.csv_file)\n    if not data:\n        print(\"No valid data found in CSV file\")\n        sys.exit(1)\n\n    configs = optimizer.optimize_configurations(data)\n\n    if args.dry_run:\n        print(\"\\nGenerated configurations:\")\n        for config in configs:\n            print(config)\n    else:\n        optimizer.append_to_config_file(configs, args.output, not args.no_header)\n\nif __name__ == \"__main__\":\n    main()\n"
  },
  {
    "path": "ext-tuner/example/test/Makefile",
    "content": "#\n# Makefile for NCCL Tuner Plugin Unit Tests\n#\n\nCC := gcc\nCFLAGS := -Wall -Wextra -g -std=c99 -fPIC\nINC := -I. -I../nccl\nTARGET := test_plugin\nSOURCES := test_plugin.c\n\n# Default target\nall: $(TARGET)\n\n# Build the test executable\n$(TARGET): $(SOURCES)\n\t$(CC) $(CFLAGS) $(INC) -o $(TARGET) $(SOURCES)\n\n# Run the tests\ntest: $(TARGET)\n\t./$(TARGET) $(TEST_CASE)\n\n# Run tests with verbose output\ntest-verbose: $(TARGET)\n\tNCCL_DEBUG=INFO ./$(TARGET) $(TEST_CASE)\n\n# Clean build artifacts\nclean:\n\trm -f $(TARGET) *.o *.gcov *.gcda *.gcno test_*.conf\n\n.PHONY: all test test-verbose clean\n"
  },
  {
    "path": "ext-tuner/example/test/README.md",
    "content": "# NCCL Tuner Plugin Unit Tests\n\nThis directory contains comprehensive unit tests for the NCCL tuner plugin. The tests verify all major functionality including configuration parsing, matching logic, and cost table updates.\n\n## Test Structure\n\n```\ntest/\n├── test_plugin.c     # Main unit test file\n├── Makefile          # Build system for tests\n└── README.md         # This file\n```\n\n## Building and Running Tests\n\n### Quick Start\n\n```bash\n# Build and run all tests\nmake test\n\n# Or step by step\nmake           # Build test executable\n./test_plugin  # Run tests\n```\n\n### Advanced Testing\n\n```bash\n# Run with memory leak detection (requires valgrind)\nmake test-memory\n\n# Run with verbose logging\nmake test-verbose\n\n# Generate code coverage report (requires gcov)\nmake coverage\n\n# Create sample test configuration files\nmake test-configs\n```\n\n## Test Coverage\n\nThe unit tests cover the following functionality:\n\n### 1. **Plugin Initialization (`test_plugin_init`)**\n- Tests successful plugin initialization\n- Verifies context allocation\n- Tests cleanup on destroy\n\n### 2. **Configuration Parsing (`test_config_parsing_valid`, `test_config_parsing_invalid`)**\n- Valid CSV format parsing\n- Comment and empty line handling\n- Invalid format graceful handling\n- Environment variable configuration\n\n### 3. **Collective Type Matching (`test_collective_matching`)**\n- Correct matching of allreduce, broadcast, etc.\n- Algorithm/protocol selection\n- Channel configuration\n\n### 4. **Size Range Matching (`test_size_matching`)**\n- Small, medium, large message size handling\n- Proper range boundary checking\n- Multiple size-based configurations\n\n### 5. **Topology Matching (`test_topology_matching`)**\n- Single-node vs multi-node configurations\n- Exact nNodes/nRanks matching\n- Wildcard matching (-1 values)\n\n### 6. **Default Channels (`test_default_channels`)**\n- Proper handling of -1 channel specification\n- Preservation of NCCL default behavior\n\n### 7. **Registered Buffer Matching (`test_regbuff_matching`)**\n- Configurations based on regBuff parameter\n- Registered vs non-registered buffer handling\n- Backward compatibility with configs missing regBuff\n\n### 8. **Pipeline Operations Matching (`test_pipeops_matching`)**\n- Configurations based on numPipeOps parameter\n- Single vs multiple pipeline operation handling\n- Backward compatibility with configs missing numPipeOps\n\n### 9. **Fallback Behavior (`test_no_match_fallback`)**\n- Default behavior when no config matches\n- Ring/Simple algorithm fallback\n\n## Test Output\n\nSuccessful test run:\n```\nRunning NCCL Tuner Plugin Unit Tests\n=====================================\nPASS: test_plugin_init\nPASS: test_config_parsing_valid\nPASS: test_config_parsing_invalid\nPASS: test_collective_matching\nPASS: test_size_matching\nPASS: test_topology_matching\nPASS: test_default_channels\nPASS: test_regbuff_matching\nPASS: test_pipeops_matching\nPASS: test_no_match_fallback\n\n=====================================\nTest Results: 9/9 tests passed\nAll tests PASSED!\n```\n\nFailed test example:\n```\nFAIL: test_collective_matching - Tree/Simple should have low cost\nTest Results: 8/9 tests passed\nSome tests FAILED!\n```\n\n## Mock NCCL Implementation\n\nThe tests use the actual NCCL header files from the `../nccl/` directory:\n\n- `tuner.h` - Complete NCCL tuner interface and type definitions\n- `common.h` - Common NCCL types and logging functions\n- `err.h` - NCCL error codes\n\nThis allows testing with the real NCCL interface definitions while still being able to run tests without the full NCCL library installation.\n\n## Integration with CI/CD\n\n```bash\n# Install tests for CI/CD pipeline\nmake install-test\n\n# Run as part of automated testing\nmake test && echo \"Tests passed\" || echo \"Tests failed\"\n```\n\n## Memory Testing\n\nThe tests can be run with valgrind for memory leak detection:\n\n```bash\nmake test-memory\n```\n\nThis will detect:\n- Memory leaks\n- Invalid memory access\n- Use of uninitialized memory\n\n## Code Coverage\n\nGenerate code coverage reports to ensure comprehensive testing:\n\n```bash\nmake coverage\n# Creates test_plugin.c.gcov with line-by-line coverage\n```\n\n## Adding New Tests\n\nTo add a new test:\n\n1. Create a new test function in `test_plugin.c`:\n```c\nint test_new_feature() {\n  // Test setup\n  TEST_ASSERT(condition, \"description\");\n  // Test cleanup\n  TEST_PASS();\n}\n```\n\n2. Add the test to the main function:\n```c\ntotal++; passed += test_new_feature();\n```\n\n3. Rebuild and run:\n```bash\nmake test\n```\n\n## Debugging Tests\n\nFor debugging failed tests:\n\n```bash\n# Compile with debug symbols\nmake CFLAGS=\"-g -O0 -DDEBUG\"\n\n# Run with gdb\ngdb ./test_plugin\n```\n\n## Cleaning Up\n\n```bash\n# Remove all build artifacts and temporary files\nmake clean\n```\n\nThis comprehensive test suite ensures the NCCL tuner plugin works correctly across all supported configurations and edge cases.\n"
  },
  {
    "path": "ext-tuner/example/test/test_plugin.c",
    "content": "/*************************************************************************\n * Unit tests for NCCL Tuner Plugin\n ************************************************************************/\n\n#define _GNU_SOURCE  // Enable setenv/unsetenv and other GNU extensions\n\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <assert.h>\n#include <unistd.h>\n#include <sys/stat.h>\n#include <stdarg.h>\n\n\n// Include NCCL tuner header (which includes common.h and err.h)\n#include \"tuner.h\"\n\n// Include plugin source for testing\n#include \"../plugin.c\"\n\n// Test framework macros\n#define TEST_ASSERT(condition, message) \\\n  do { \\\n    if (!(condition)) { \\\n      printf(\"FAIL: %s - %s\\n\", __func__, message); \\\n      return 0; \\\n    } \\\n  } while(0)\n\n#define TEST_PASS() \\\n  do { \\\n    printf(\"PASS: %s\\n\", __func__); \\\n    return 1; \\\n  } while(0)\n\n// Global test state\nstatic int test_log_count = 0;\n\n// Mock logger function\nvoid mock_logger(ncclDebugLogLevel level, unsigned long flags,\n                 const char* file, int line, const char* fmt, ...) {\n  (void)flags; // Suppress unused parameter warning\n  test_log_count++;\n\n  // Check if we should print based on NCCL_DEBUG level\n  const char* debug_level = getenv(\"NCCL_DEBUG\");\n  int should_print = 0;\n\n  if (debug_level) {\n    if (strcmp(debug_level, \"TRACE\") == 0) {\n      should_print = 1; // Print everything\n    } else if (strcmp(debug_level, \"INFO\") == 0 && level <= NCCL_LOG_INFO) {\n      should_print = 1; // Print INFO and below\n    } else if (strcmp(debug_level, \"WARN\") == 0 && level <= NCCL_LOG_WARN) {\n      should_print = 1; // Print WARN and below\n    }\n  }\n\n  if (!should_print) return;\n\n  // Convert log level to string\n  const char* level_str;\n  switch(level) {\n    case NCCL_LOG_NONE: level_str = \"NONE\"; break;\t  \n    case NCCL_LOG_ERROR: level_str = \"ERROR\"; break;\n    case NCCL_LOG_VERSION: level_str = \"VERSION\"; break;\n    case NCCL_LOG_WARN: level_str = \"WARN\"; break;\n    case NCCL_LOG_INFO: level_str = \"INFO\"; break;\n    case NCCL_LOG_ABORT: level_str = \"ABORT\"; break;\n    case NCCL_LOG_TRACE: level_str = \"TRACE\"; break;\n    default: level_str = \"UNKNOWN\"; break;\n  }\n\n  // Print log header\n  printf(\"[TUNER:%s:%s:%d] \", level_str, file, line);\n\n  // Print formatted message\n  va_list args;\n  va_start(args, fmt);\n  vprintf(fmt, args);\n  va_end(args);\n\n  printf(\"\\n\");\n}\n\n// Helper function to create test config file\nvoid create_test_config(const char* filename, const char* content) {\n  FILE* f = fopen(filename, \"w\");\n  if (f) {\n    fprintf(f, \"%s\", content);\n    fclose(f);\n  }\n}\n\n// Test 1: Plugin initialization\nint test_plugin_init() {\n  void* context = NULL;\n\n  // Test successful initialization\n  ncclResult_t result = pluginInit(&context, 0, 8, 2, mock_logger, NULL, NULL);\n  TEST_ASSERT(result == ncclSuccess, \"Plugin init should succeed\");\n  TEST_ASSERT(context != NULL, \"Context should be allocated\");\n\n  // Clean up\n  pluginFinalize(context);\n  TEST_PASS();\n}\n\n// Test 2: Configuration file parsing - valid CSV\nint test_config_parsing_valid() {\n  const char* test_config =\n    \"# Test configuration\\n\"\n    \"allreduce,0,65536,tree,simple,2,1,-1,-1,-1\\n\"\n    \"broadcast,0,32768,ring,ll128,4,2,16,-1,-1\\n\"\n    \"# Comment line\\n\"\n    \"\\n\"  // Empty line\n    \"reduce,1024,2048,tree,simple,-1,-1,-1,-1,-1\\n\";\n\n  create_test_config(\"test_valid.conf\", test_config);\n\n  // Set environment variable to use our test config\n  setenv(\"NCCL_TUNER_CONFIG_FILE\", \"test_valid.conf\", 1);\n\n  void* context = NULL;\n  ncclResult_t result = pluginInit(&context, 0, 16, 2, mock_logger, NULL, NULL);\n  TEST_ASSERT(result == ncclSuccess, \"Plugin init with valid config should succeed\");\n\n  // Clean up\n  pluginFinalize(context);\n  unlink(\"test_valid.conf\");\n  unsetenv(\"NCCL_TUNER_CONFIG_FILE\");\n  TEST_PASS();\n}\n\n// Test 3: Configuration file parsing - invalid CSV\nint test_config_parsing_invalid() {\n  const char* test_config =\n    \"allreduce,0,65536,tree,simple,2,1  # Missing nRanks and other fields\\n\"\n    \"invalid_collective,0,1024,ring,simple,1,1,1,-1,-1\\n\"\n    \"broadcast,abc,def,ring,simple,1,1,1,-1,-1\\n\";  // Invalid numbers\n\n  create_test_config(\"test_invalid.conf\", test_config);\n  setenv(\"NCCL_TUNER_CONFIG_FILE\", \"test_invalid.conf\", 1);\n\n  void* context = NULL;\n  ncclResult_t result = pluginInit(&context, 0, 8, 1, mock_logger, NULL, NULL);\n  // Should still succeed but with no valid configs loaded\n  TEST_ASSERT(result == ncclSuccess, \"Plugin init should succeed even with invalid config\");\n\n  // Clean up\n  pluginFinalize(context);\n  unlink(\"test_invalid.conf\");\n  unsetenv(\"NCCL_TUNER_CONFIG_FILE\");\n  TEST_PASS();\n}\n\n// Test 4: Collective type matching\nint test_collective_matching() {\n  const char* test_config =\n    \"allreduce,0,65536,tree,simple,8,1,-1,-1,-1\\n\"\n    \"broadcast,0,32768,ring,ll128,4,-1,-1,-1,-1\\n\";\n\n  create_test_config(\"test_match.conf\", test_config);\n  setenv(\"NCCL_TUNER_CONFIG_FILE\", \"test_match.conf\", 1);\n\n  void* context = NULL;\n  pluginInit(&context, 0, 8, 1, mock_logger, NULL, NULL);\n\n  // Create mock cost table\n  float cost_table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  float* cost_table_ptr[NCCL_NUM_ALGORITHMS];\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    cost_table_ptr[i] = cost_table[i];\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0; // Default high cost\n    }\n  }\n\n  int nChannels;\n\n  // Test allreduce matching (should match first config)\n  ncclResult_t result = pluginGetCollInfo(context, ncclFuncAllReduce, 32768, 1,\n                                          cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                                          0, &nChannels);\n\n  TEST_ASSERT(result == ncclSuccess, \"GetCollInfo should succeed\");\n  mock_logger(NCCL_LOG_INFO, NCCL_ALL, __FILE__, __LINE__,\n              \"DEBUG: Checking cost_table[TREE][SIMPLE] (%p) = %.1f (expecting 0.0)\",\n              &cost_table[NCCL_ALGO_TREE][NCCL_PROTO_SIMPLE], cost_table[NCCL_ALGO_TREE][NCCL_PROTO_SIMPLE]);\n  TEST_ASSERT(cost_table[NCCL_ALGO_TREE][NCCL_PROTO_SIMPLE] == 0.0, \"Tree/Simple should have low cost\");\n  TEST_ASSERT(nChannels == 8, \"Should set 8 channels\");\n\n  // Test broadcast matching (should match second config)\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0; // Reset costs\n    }\n  }\n\n  result = pluginGetCollInfo(context, ncclFuncBroadcast, 16384, 1,\n                            cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                            0, &nChannels);\n  TEST_ASSERT(result == ncclSuccess, \"GetCollInfo should succeed\");\n  mock_logger(NCCL_LOG_INFO, NCCL_ALL, __FILE__, __LINE__,\n              \"DEBUG: Checking cost_table[RING][LL128] (%p) = %.1f (expecting 0.0)\",\n              &cost_table[NCCL_ALGO_RING][NCCL_PROTO_LL128], cost_table[NCCL_ALGO_RING][NCCL_PROTO_LL128]);\n  TEST_ASSERT(cost_table[NCCL_ALGO_RING][NCCL_PROTO_LL128] == 0.0, \"Ring/LL128 should have low cost\");\n  TEST_ASSERT(nChannels == 4, \"Should set 4 channels\");\n\n  // Clean up\n  pluginFinalize(context);\n  unlink(\"test_match.conf\");\n  unsetenv(\"NCCL_TUNER_CONFIG_FILE\");\n  TEST_PASS();\n}\n\n// Test 5: Size range matching\nint test_size_matching() {\n  const char* test_config =\n    \"allreduce,0,1024,tree,simple,2,-1,-1,-1,-1\\n\"\n    \"allreduce,1025,65536,ring,simple,4,-1,-1,-1,-1\\n\"\n    \"allreduce,65537,4294967295,ring,ll128,8,-1,-1,-1,-1\\n\";\n\n  create_test_config(\"test_size.conf\", test_config);\n  setenv(\"NCCL_TUNER_CONFIG_FILE\", \"test_size.conf\", 1);\n\n  void* context = NULL;\n  pluginInit(&context, 0, 8, 1, mock_logger, NULL, NULL);\n\n  float cost_table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  float* cost_table_ptr[NCCL_NUM_ALGORITHMS];\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    cost_table_ptr[i] = cost_table[i];\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0;\n    }\n  }\n  int nChannels = 1;\n\n  pluginGetCollInfo(context, ncclFuncAllReduce, 512, 1,\n                    cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                    0, &nChannels);\n  mock_logger(NCCL_LOG_INFO, NCCL_ALL, __FILE__, __LINE__,\n              \"DEBUG: Small message - checking cost_table[TREE][SIMPLE] (%p) = %.1f (expecting 0.0)\",\n              &cost_table[NCCL_ALGO_TREE][NCCL_PROTO_SIMPLE], cost_table[NCCL_ALGO_TREE][NCCL_PROTO_SIMPLE]);\n  TEST_ASSERT(cost_table[NCCL_ALGO_TREE][NCCL_PROTO_SIMPLE] == 0.0, \"Small: Tree/Simple should have low cost\");\n  TEST_ASSERT(nChannels == 2, \"Small: Should set 2 channels\");\n\n  // Test medium message (should match second config)\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0;\n    }\n  }\n\n  pluginGetCollInfo(context, ncclFuncAllReduce, 32768, 1,\n                    cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                    0, &nChannels);\n  mock_logger(NCCL_LOG_INFO, NCCL_ALL, __FILE__, __LINE__,\n              \"DEBUG: Medium message - checking cost_table[RING][SIMPLE] (%p) = %.1f (expecting 0.0)\",\n              &cost_table[NCCL_ALGO_RING][NCCL_PROTO_SIMPLE], cost_table[NCCL_ALGO_RING][NCCL_PROTO_SIMPLE]);\n  TEST_ASSERT(cost_table[NCCL_ALGO_RING][NCCL_PROTO_SIMPLE] == 0.0, \"Medium: Ring/Simple should have low cost\");\n  TEST_ASSERT(nChannels == 4, \"Medium: Should set 4 channels\");\n\n  // Test large message (should match third config)\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0;\n    }\n  }\n\n  pluginGetCollInfo(context, ncclFuncAllReduce, 1048576, 1,\n                    cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                    0, &nChannels);\n  mock_logger(NCCL_LOG_INFO, NCCL_ALL, __FILE__, __LINE__,\n              \"DEBUG: Large message - checking cost_table[RING][LL128] (%p) = %.1f (expecting 0.0)\",\n              &cost_table[NCCL_ALGO_RING][NCCL_PROTO_LL128], cost_table[NCCL_ALGO_RING][NCCL_PROTO_LL128]);\n  TEST_ASSERT(cost_table[NCCL_ALGO_RING][NCCL_PROTO_LL128] == 0.0, \"Large: Ring/LL128 should have low cost\");\n  TEST_ASSERT(nChannels == 8, \"Large: Should set 8 channels\");\n\n  // Clean up\n  pluginFinalize(context);\n  unlink(\"test_size.conf\");\n  unsetenv(\"NCCL_TUNER_CONFIG_FILE\");\n  TEST_PASS();\n}\n\n// Test 6: Topology matching\nint test_topology_matching() {\n  const char* test_config =\n    \"allreduce,0,65536,tree,simple,2,1,-1,-1,-1\\n\"      // Single node only\n    \"allreduce,0,65536,ring,simple,4,4,32,-1,-1\\n\"      // 4 nodes, 32 ranks exactly\n    \"allreduce,0,65536,ring,ll128,8,-1,-1,-1,-1\\n\";     // Any topology\n\n  create_test_config(\"test_topo.conf\", test_config);\n  setenv(\"NCCL_TUNER_CONFIG_FILE\", \"test_topo.conf\", 1);\n\n  // Test with single node setup\n  void* context1 = NULL;\n  pluginInit(&context1, 0, 8, 1, mock_logger, NULL, NULL);  // 8 ranks, 1 node\n\n  float cost_table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  float* cost_table_ptr[NCCL_NUM_ALGORITHMS];\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    cost_table_ptr[i] = cost_table[i];\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0;\n    }\n  }\n\n  int nChannels;\n  pluginGetCollInfo(context1, ncclFuncAllReduce, 32768, 1,\n                    cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                    0, &nChannels);\n  TEST_ASSERT(cost_table[NCCL_ALGO_TREE][NCCL_PROTO_SIMPLE] == 0.0, \"Single node: Should match tree config\");\n  TEST_ASSERT(nChannels == 2, \"Single node: Should set 2 channels\");\n\n  pluginFinalize(context1);\n\n  // Test with 4 nodes, 32 ranks setup\n  void* context2 = NULL;\n  pluginInit(&context2, 0, 32, 4, mock_logger, NULL, NULL);  // 32 ranks, 4 nodes\n\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0;\n    }\n  }\n\n  pluginGetCollInfo(context2, ncclFuncAllReduce, 32768, 1,\n                    cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                    0, &nChannels);\n  TEST_ASSERT(cost_table[NCCL_ALGO_RING][NCCL_PROTO_SIMPLE] == 0.0, \"4-node: Should match ring/simple config\");\n  TEST_ASSERT(nChannels == 4, \"4-node: Should set 4 channels\");\n\n  // Clean up\n  unlink(\"test_topo.conf\");\n  unsetenv(\"NCCL_TUNER_CONFIG_FILE\");\n  TEST_PASS();\n}\n\n// Test 7: Default channels behavior (-1)\nint test_default_channels() {\n  const char* test_config =\n    \"allreduce,0,65536,tree,simple,-1,-1,-1,-1,-1\\n\";  // Use default channels\n\n  create_test_config(\"test_default.conf\", test_config);\n  setenv(\"NCCL_TUNER_CONFIG_FILE\", \"test_default.conf\", 1);\n\n  void* context = NULL;\n  pluginInit(&context, 0, 8, 1, mock_logger, NULL, NULL);\n\n  float cost_table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  float* cost_table_ptr[NCCL_NUM_ALGORITHMS];\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    cost_table_ptr[i] = cost_table[i];\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0;\n    }\n  }\n\n  int nChannels = 99;  // Set to known value\n  pluginGetCollInfo(context, ncclFuncAllReduce, 32768, 1,\n                    cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                    0, &nChannels);\n\n  TEST_ASSERT(cost_table[NCCL_ALGO_TREE][NCCL_PROTO_SIMPLE] == 0.0, \"Should apply algorithm/protocol\");\n  TEST_ASSERT(nChannels == 1, \"Should keep default channels (1) when config has -1\");\n\n  // Clean up\n  pluginFinalize(context);\n  unlink(\"test_default.conf\");\n  unsetenv(\"NCCL_TUNER_CONFIG_FILE\");\n  TEST_PASS();\n}\n\n// Test 8: regBuff matching\nint test_regbuff_matching() {\n  const char* test_config =\n    \"allreduce,0,65536,tree,simple,2,-1,-1,-1,1\\n\"      // Registered buffers only\n    \"allreduce,0,65536,ring,simple,4,-1,-1,-1,0\\n\"      // Non-registered buffers only\n    \"allreduce,0,65536,ring,ll128,8,-1,-1,-1,-1\\n\";     // Any buffer type (backward compatible)\n\n  create_test_config(\"test_regbuff.conf\", test_config);\n  setenv(\"NCCL_TUNER_CONFIG_FILE\", \"test_regbuff.conf\", 1);\n\n  void* context = NULL;\n  pluginInit(&context, 0, 8, 1, mock_logger, NULL, NULL);\n\n  float cost_table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  float* cost_table_ptr[NCCL_NUM_ALGORITHMS];\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    cost_table_ptr[i] = cost_table[i];\n  }\n\n  int nChannels;\n\n  // Test registered buffer (should match first config)\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0;\n    }\n  }\n\n  pluginGetCollInfo(context, ncclFuncAllReduce, 32768, 1,\n                    cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                    1, &nChannels);  // regBuff = 1 (registered)\n  TEST_ASSERT(cost_table[NCCL_ALGO_TREE][NCCL_PROTO_SIMPLE] == 0.0, \"Registered buffer: Tree/Simple should have low cost\");\n  TEST_ASSERT(nChannels == 2, \"Registered buffer: Should set 2 channels\");\n\n  // Test non-registered buffer (should match second config)\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0;\n    }\n  }\n\n  pluginGetCollInfo(context, ncclFuncAllReduce, 32768, 1,\n                    cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                    0, &nChannels);  // regBuff = 0 (non-registered)\n  TEST_ASSERT(cost_table[NCCL_ALGO_RING][NCCL_PROTO_SIMPLE] == 0.0, \"Non-registered buffer: Ring/Simple should have low cost\");\n  TEST_ASSERT(nChannels == 4, \"Non-registered buffer: Should set 4 channels\");\n\n  // Test backward compatibility - config without regBuff should match any regBuff value\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0;\n    }\n  }\n\n  // First try with regBuff=2 (unusual value, should match third config)\n  pluginGetCollInfo(context, ncclFuncAllReduce, 32768, 1,\n                    cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                    2, &nChannels);  // regBuff = 2 (only third config should match)\n  TEST_ASSERT(cost_table[NCCL_ALGO_RING][NCCL_PROTO_LL128] == 0.0, \"Any regBuff: Ring/LL128 should have low cost\");\n  TEST_ASSERT(nChannels == 8, \"Any regBuff: Should set 8 channels\");\n\n  // Clean up\n  pluginFinalize(context);\n  unlink(\"test_regbuff.conf\");\n  unsetenv(\"NCCL_TUNER_CONFIG_FILE\");\n  TEST_PASS();\n}\n\n// Test 9: numPipeOps matching\nint test_pipeops_matching() {\n  const char* test_config =\n    \"allreduce,0,65536,tree,simple,2,-1,-1,1,-1\\n\"      // Single pipeline op\n    \"allreduce,0,65536,ring,simple,4,-1,-1,4,-1\\n\"      // Multiple pipeline ops\n    \"allreduce,0,65536,ring,ll128,8,-1,-1,-1,-1\\n\";     // Any pipeline ops (backward compatible)\n\n  create_test_config(\"test_pipeops.conf\", test_config);\n  setenv(\"NCCL_TUNER_CONFIG_FILE\", \"test_pipeops.conf\", 1);\n\n  void* context = NULL;\n  pluginInit(&context, 0, 8, 1, mock_logger, NULL, NULL);\n\n  float cost_table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  float* cost_table_ptr[NCCL_NUM_ALGORITHMS];\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    cost_table_ptr[i] = cost_table[i];\n  }\n\n  int nChannels;\n\n  // Test single pipeline op (should match first config)\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0;\n    }\n  }\n\n  pluginGetCollInfo(context, ncclFuncAllReduce, 32768, 1,\n                    cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                    0, &nChannels);\n  TEST_ASSERT(cost_table[NCCL_ALGO_TREE][NCCL_PROTO_SIMPLE] == 0.0, \"Single pipeOp: Tree/Simple should have low cost\");\n  TEST_ASSERT(nChannels == 2, \"Single pipeOp: Should set 2 channels\");\n\n  // Test multiple pipeline ops (should match second config)\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0;\n    }\n  }\n\n  pluginGetCollInfo(context, ncclFuncAllReduce, 32768, 4,\n                    cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                    0, &nChannels);\n  TEST_ASSERT(cost_table[NCCL_ALGO_RING][NCCL_PROTO_SIMPLE] == 0.0, \"Multiple pipeOps: Ring/Simple should have low cost\");\n  TEST_ASSERT(nChannels == 4, \"Multiple pipeOps: Should set 4 channels\");\n\n  // Test different number of pipeline ops (should match third config - backward compatible)\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0;\n    }\n  }\n\n  pluginGetCollInfo(context, ncclFuncAllReduce, 32768, 2,\n                    cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                    0, &nChannels);\n  TEST_ASSERT(cost_table[NCCL_ALGO_RING][NCCL_PROTO_LL128] == 0.0, \"Any pipeOps: Ring/LL128 should have low cost\");\n  TEST_ASSERT(nChannels == 8, \"Any pipeOps: Should set 8 channels\");\n\n  // Clean up\n  pluginFinalize(context);\n  unlink(\"test_pipeops.conf\");\n  unsetenv(\"NCCL_TUNER_CONFIG_FILE\");\n  TEST_PASS();\n}\n\n// Test 10: No matching configuration (fallback behavior)\nint test_no_match_fallback() {\n  const char* test_config =\n    \"broadcast,0,1024,tree,simple,2,-1,-1,-1,-1\\n\";  // Only broadcast config\n\n  create_test_config(\"test_fallback.conf\", test_config);\n  setenv(\"NCCL_TUNER_CONFIG_FILE\", \"test_fallback.conf\", 1);\n\n  void* context = NULL;\n  pluginInit(&context, 0, 8, 1, mock_logger, NULL, NULL);\n\n  float cost_table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  float* cost_table_ptr[NCCL_NUM_ALGORITHMS];\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    cost_table_ptr[i] = cost_table[i];\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0;\n    }\n  }\n\n  int nChannels;\n  // Try allreduce (should not match, use fallback)\n  pluginGetCollInfo(context, ncclFuncAllReduce, 32768, 1,\n                    cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                    0, &nChannels);\n\n  mock_logger(NCCL_LOG_INFO, NCCL_ALL, __FILE__, __LINE__,\n              \"DEBUG: Fallback test - checking cost_table[RING][SIMPLE] (%p) = %.1f (expecting 0.0)\",\n              &cost_table[NCCL_ALGO_RING][NCCL_PROTO_SIMPLE], cost_table[NCCL_ALGO_RING][NCCL_PROTO_SIMPLE]);\n  TEST_ASSERT(cost_table[NCCL_ALGO_RING][NCCL_PROTO_SIMPLE] == 1.0, \"Should use pass through unmodified\");\n  TEST_ASSERT(nChannels == 1, \"Should use default channels\");\n\n  // Clean up\n  pluginFinalize(context);\n  unlink(\"test_fallback.conf\");\n  unsetenv(\"NCCL_TUNER_CONFIG_FILE\");\n  TEST_PASS();\n}\n\n// Test 11: Large configuration files (testing dynamic allocation)\nint test_large_config() {\n  const char* large_config_file = \"test_large.conf\";\n\n  // Create a large configuration file with many entries\n  // This tests the dynamic allocation functionality\n  FILE* f = fopen(large_config_file, \"w\");\n  TEST_ASSERT(f != NULL, \"Should be able to create large config file\");\n\n  // Write header comment\n  fprintf(f, \"# Large configuration file for testing dynamic allocation\\n\");\n  fprintf(f, \"# This file contains many configurations to test memory allocation\\n\");\n\n  // Generate a large number of configurations (much more than the old MAX_CONFIGS=100)\n  const int num_configs = 500; // 5x the old static limit\n  const char* collectives[] = {\"allreduce\", \"broadcast\", \"reduce\", \"allgather\", \"reducescatter\"};\n  const char* algorithms[] = {\"tree\", \"ring\", \"collnet_direct\", \"nvls\"};\n  const char* protocols[] = {\"simple\", \"ll\", \"ll128\"};\n\n  for (int i = 0; i < num_configs; i++) {\n    // Vary the configurations to create realistic test data\n    const char* coll = collectives[i % 5];\n    const char* algo = algorithms[i % 4];\n    const char* proto = protocols[i % 3];\n\n    size_t min_bytes = (i * 1024) % 1048576; // Vary from 0 to 1MB\n    size_t max_bytes = min_bytes + 65536;    // 64KB range\n    int channels = (i % 8) + 1;              // 1-8 channels\n    int nodes = (i % 4) == 0 ? -1 : (i % 4); // Mix of -1 and 1-3 nodes\n    int ranks = (i % 8) == 0 ? -1 : (i % 32) + 1; // Mix of -1 and 1-32 ranks\n    int pipeOps = (i % 3) == 0 ? -1 : (i % 4) + 1; // Mix of -1 and 1-4 pipeOps\n    int regBuff = (i % 3) == 0 ? -1 : (i % 2); // Mix of -1, 0, 1\n\n    fprintf(f, \"%s,%zu,%zu,%s,%s,%d,%d,%d,%d,%d\\n\",\n            coll, min_bytes, max_bytes, algo, proto, channels, nodes, ranks, pipeOps, regBuff);\n  }\n\n  fclose(f);\n\n  // Set environment to use our large config file\n  setenv(\"NCCL_TUNER_CONFIG_FILE\", large_config_file, 1);\n\n  // Initialize plugin with large config\n  void* context = NULL;\n  ncclResult_t result = pluginInit(&context, 0, 16, 4, mock_logger, NULL, NULL);\n  TEST_ASSERT(result == ncclSuccess, \"Plugin init with large config should succeed\");\n  TEST_ASSERT(context != NULL, \"Context should be allocated\");\n\n  // Verify that configurations were loaded\n  TunerContext* ctx = (TunerContext*)context;\n  TEST_ASSERT(ctx->numConfigs == num_configs, \"Should load all configurations from large file\");\n  TEST_ASSERT(ctx->maxConfigs == num_configs, \"maxConfigs should match allocated size\");\n  TEST_ASSERT(ctx->configs != NULL, \"Configs array should be dynamically allocated\");\n\n  // Test that we can access configurations throughout the array\n  // (This would have failed with the old static MAX_CONFIGS=100 limit)\n  for (int i = 0; i < ctx->numConfigs; i++) {\n    TuningConfig* config = &ctx->configs[i];\n    // Basic sanity checks on the loaded configurations\n    TEST_ASSERT(config->collType >= ncclFuncBroadcast && config->collType <= ncclFuncAllReduce,\n                \"Collective type should be valid\");\n    TEST_ASSERT(config->maxBytes >= config->minBytes, \"maxBytes should be >= minBytes\");\n    TEST_ASSERT(config->nChannels > 0, \"nChannels should be positive\");\n  }\n\n  // Test specific configuration access at various indices\n  // Index 0 (first config)\n  TuningConfig* first_config = &ctx->configs[0];\n  TEST_ASSERT(first_config != NULL, \"First config should be accessible\");\n\n  // Index in middle\n  TuningConfig* mid_config = &ctx->configs[num_configs / 2];\n  TEST_ASSERT(mid_config != NULL, \"Middle config should be accessible\");\n\n  // Index near end (this would have crashed with static array of 100)\n  TuningConfig* late_config = &ctx->configs[num_configs - 1];\n  TEST_ASSERT(late_config != NULL, \"Last config should be accessible\");\n\n  // Test memory allocation size - verify we didn't over-allocate\n  mock_logger(NCCL_LOG_INFO, NCCL_ALL, __FILE__, __LINE__,\n              \"Successfully loaded %d configurations (dynamic allocation)\", ctx->numConfigs);\n  mock_logger(NCCL_LOG_INFO, NCCL_ALL, __FILE__, __LINE__,\n              \"Memory allocated for %d configurations (%zu bytes total)\",\n              ctx->maxConfigs, ctx->maxConfigs * sizeof(TuningConfig));\n\n  // Test that the plugin can still find matching configurations from the large set\n  float cost_table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  float* cost_table_ptr[NCCL_NUM_ALGORITHMS];\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    cost_table_ptr[i] = cost_table[i];\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0; // Default high cost\n    }\n  }\n\n  int nChannels;\n  // Try to find a matching configuration - should work with large config set\n  result = pluginGetCollInfo(context, ncclFuncAllReduce, 32768, 1,\n                            cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                            0, &nChannels);\n  TEST_ASSERT(result == ncclSuccess, \"GetCollInfo should work with large config set\");\n\n  // Clean up\n  pluginFinalize(context);\n  unlink(large_config_file);\n  unsetenv(\"NCCL_TUNER_CONFIG_FILE\");\n\n  TEST_PASS();\n}\n\n// Test 12: Very large configuration stress test\nint test_very_large_config_stress() {\n  const char* stress_config_file = \"test_stress.conf\";\n\n  // Create an even larger configuration file to stress test the implementation\n  FILE* f = fopen(stress_config_file, \"w\");\n  TEST_ASSERT(f != NULL, \"Should be able to create stress test config file\");\n\n  fprintf(f, \"# Stress test configuration with very large number of entries\\n\");\n\n  // Generate an extremely large number of configurations\n  const int stress_configs = 2000; // 20x the old static limit\n\n  for (int i = 0; i < stress_configs; i++) {\n    // Create varied but valid configurations\n    fprintf(f, \"allreduce,%d,%d,ring,simple,4,-1,-1,-1,-1\\n\",\n            i * 512, (i * 512) + 1024);\n  }\n\n  fclose(f);\n\n  setenv(\"NCCL_TUNER_CONFIG_FILE\", stress_config_file, 1);\n\n  // Test initialization with stress config\n  void* context = NULL;\n  ncclResult_t result = pluginInit(&context, 0, 8, 2, mock_logger, NULL, NULL);\n  TEST_ASSERT(result == ncclSuccess, \"Plugin should handle very large config files\");\n\n  TunerContext* ctx = (TunerContext*)context;\n  TEST_ASSERT(ctx->numConfigs == stress_configs, \"Should load all stress test configurations\");\n  TEST_ASSERT(ctx->configs != NULL, \"Stress test configs should be allocated\");\n\n  mock_logger(NCCL_LOG_INFO, NCCL_ALL, __FILE__, __LINE__,\n              \"Stress test - loaded %d configurations successfully\", stress_configs);\n  mock_logger(NCCL_LOG_INFO, NCCL_ALL, __FILE__, __LINE__,\n              \"Memory usage: %zu bytes for configuration array\",\n              stress_configs * sizeof(TuningConfig));\n\n  // Verify we can access configurations throughout the entire range\n  for (int i = 0; i < stress_configs; i += 100) { // Sample every 100th config\n    TuningConfig* config = &ctx->configs[i];\n    TEST_ASSERT(config->collType == ncclFuncAllReduce, \"Config should have correct collective type\");\n    TEST_ASSERT(config->minBytes == (size_t)(i * 512), \"Config should have correct minBytes\");\n  }\n\n  // Clean up\n  pluginFinalize(context);\n  unlink(stress_config_file);\n  unsetenv(\"NCCL_TUNER_CONFIG_FILE\");\n\n  TEST_PASS();\n}\n\n// Test 13: Edge case - empty config file\nint test_empty_config() {\n  const char* empty_config_file = \"test_empty.conf\";\n\n  // Create empty config file (only comments)\n  create_test_config(empty_config_file,\n    \"# Empty configuration file\\n\"\n    \"# No actual configurations\\n\"\n    \"\\n\"\n    \"\\n\");\n\n  setenv(\"NCCL_TUNER_CONFIG_FILE\", empty_config_file, 1);\n\n  void* context = NULL;\n  ncclResult_t result = pluginInit(&context, 0, 8, 2, mock_logger, NULL, NULL);\n  TEST_ASSERT(result == ncclSuccess, \"Plugin should handle empty config files\");\n\n  TunerContext* ctx = (TunerContext*)context;\n  TEST_ASSERT(ctx->numConfigs == 0, \"Should have zero configurations\");\n  TEST_ASSERT(ctx->maxConfigs == 0, \"Should have zero max configurations\");\n  TEST_ASSERT(ctx->configs == NULL, \"Should not allocate memory for empty config\");\n\n  // Test that plugin still works with no configurations (fallback behavior)\n  float cost_table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  float* cost_table_ptr[NCCL_NUM_ALGORITHMS];\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; i++) {\n    cost_table_ptr[i] = cost_table[i];\n    for (int j = 0; j < NCCL_NUM_PROTOCOLS; j++) {\n      cost_table[i][j] = 1.0;\n    }\n  }\n\n  int nChannels;\n  result = pluginGetCollInfo(context, ncclFuncAllReduce, 32768, 1,\n                            cost_table_ptr, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n                            0, &nChannels);\n  TEST_ASSERT(result == ncclSuccess, \"GetCollInfo should work with empty config\");\n\n  // Clean up\n  pluginFinalize(context);\n  unlink(empty_config_file);\n  unsetenv(\"NCCL_TUNER_CONFIG_FILE\");\n\n  TEST_PASS();\n}\n\n// Test NVLink domain info handling\nint test_nvl_domain_info() {\n  printf(\"Testing NVLink domain info handling...\\n\");\n\n  // Test NVLink domain structure with min/max ranks per domain\n  ncclNvlDomainInfo_v5_t nvl_domain = {\n    .nNvlDomains = 2, // 2 nodes = 2 domains\n    .minRanksPerNvlDomain = 3, // minimum ranks across all domains (bottleneck)\n    .maxRanksPerNvlDomain = 5  // maximum ranks across all domains (capacity)\n  };\n  \n  void* context = NULL;\n  ncclResult_t result = pluginInit(&context, 0, 8, 2, mock_logger, &nvl_domain, NULL);\n  TEST_ASSERT(result == ncclSuccess, \"Plugin init with NVLink domains should succeed\");\n  \n  // Validate NVLD info structure\n  TEST_ASSERT(nvl_domain.nNvlDomains == 2, \"Should have 2 domains (nodes)\");\n  TEST_ASSERT(nvl_domain.minRanksPerNvlDomain == 3, \"Should have minimum 3 ranks per domain\");\n  TEST_ASSERT(nvl_domain.maxRanksPerNvlDomain == 5, \"Should have maximum 5 ranks per domain\");\n  \n  // Clean up\n  pluginFinalize(context);\n  printf(\"NVLink domain info test passed!\\n\");\n  TEST_PASS();\n}\n\nint test_tuner_constants() {\n  // Initialize constants to -1.0 for testing purposes\n  ncclTunerConstants_v5_t constants = {\n    // Base latencies: [NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS]\n    .baseLatencies = {\n      {-1.0, -1.0, -1.0},    // NCCL_ALGO_TREE: LL, LL128, Simple\n      {-1.0, -1.0, -1.0},    // NCCL_ALGO_RING: LL, LL128, Simple\n      {-1.0, -1.0, -1.0},   // NCCL_ALGO_COLLNET_DIRECT\n      {-1.0, -1.0, -1.0},   // NCCL_ALGO_COLLNET_CHAIN\n      {-1.0, -1.0, -1.0},    // NCCL_ALGO_NVLS\n      {-1.0, -1.0, -1.0},    // NCCL_ALGO_NVLS_TREE\n      {-1.0, -1.0, -1.0}     // NCCL_ALGO_PAT\n    },\n\n    // Hardware latencies: [NCCL_NUM_HW_LINKS][NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS]\n    .hwLatencies = {\n      // NCCL_HW_NVLINK\n      {\n        {-1.0, -1.0, -1.0},    // TREE\n        {-1.0, -1.0, -1.0},    // RING\n        {-1.0, -1.0, -1.0},    // COLLNET_DIRECT\n        {-1.0, -1.0, -1.0},    // COLLNET_CHAIN\n        {-1.0, -1.0, -1.0},    // NVLS\n        {-1.0, -1.0, -1.0},    // NVLS_TREE\n        {-1.0, -1.0, -1.0}     // PAT\n      },\n      // NCCL_HW_PCI\n      {\n        {-1.0, -1.0, -1.0},   // TREE\n        {-1.0, -1.0, -1.0},    // RING\n        {-1.0, -1.0, -1.0},  // COLLNET_DIRECT\n        {-1.0, -1.0, -1.0},  // COLLNET_CHAIN\n        {-1.0, -1.0, -1.0},     // NVLS\n        {-1.0, -1.0, -1.0},   // NVLS_TREE\n        {-1.0, -1.0, -1.0}   // PAT\n      },\n      // NCCL_HW_NET\n      {\n        {-1.0, -1.0, -1.0},  // TREE\n        {-1.0, -1.0, -1.0},  // RING\n        {-1.0, -1.0, -1.0},  // COLLNET_DIRECT\n        {-1.0, -1.0, -1.0},  // COLLNET_CHAIN\n        {-1.0, -1.0, -1.0},  // NVLS\n        {-1.0, -1.0, -1.0},  // NVLS_TREE\n        {-1.0, -1.0, -1.0}   // PAT\n      }\n    },\n\n    // LL maximum bandwidths: [NCCL_NUM_COMPCAPS][NCCL_NUM_TUNING_SCALES]\n    .llMaxBws = {\n      {-1.0, -1.0, -1.0},  // Volta: 1node, 2nodes, 4nodes\n      {-1.0, -1.0, -1.0},  // Ampere: 1node, 2nodes, 4nodes\n      {-1.0, -1.0, -1.0},  // Hopper: 1node, 2nodes, 4nodes\n      {-1.0, -1.0, -1.0}   // Blackwell: 1node, 2nodes, 4nodes\n    },\n\n    // Per-channel maximum Ring LL128 bandwidths: [NCCL_NUM_COMPCAPS][NCCL_NUM_TUNING_SCALES]\n    .perChMaxRingLL128Bws = {\n      {-1.0, -1.0, -1.0},   // Volta: 1node, 2nodes, 4nodes\n      {-1.0, -1.0, -1.0},  // Ampere: 1node, 2nodes, 4nodes\n      {-1.0, -1.0, -1.0},  // Hopper: 1node, 2nodes, 4nodes\n      {-1.0, -1.0, -1.0}   // Blackwell: 1node, 2nodes, 4nodes\n    },\n\n    // Per-channel maximum Tree LL128 bandwidths: [NCCL_NUM_COMPCAPS][NCCL_NUM_TUNING_SCALES]\n    .perChMaxTreeLL128Bws = {\n      {-1.0, -1.0, -1.0},    // Volta: 1node, 2nodes, 4nodes\n      {-1.0, -1.0, -1.0},   // Ampere: 1node, 2nodes, 4nodes\n      {-1.0, -1.0, -1.0},  // Hopper: 1node, 2nodes, 4nodes\n      {-1.0, -1.0, -1.0}   // Blackwell: 1node, 2nodes, 4nodes\n    },\n\n    // Per-channel maximum Tree bandwidths: [NCCL_NUM_COMPCAPS][NCCL_NUM_TUNING_SCALES]\n    .perChMaxTreeBws = {\n      {-1.0, -1.0, -1.0},  // Volta: 1node, 2nodes, 4nodes\n      {-1.0, -1.0, -1.0},  // Ampere: 1node, 2nodes, 4nodes\n      {-1.0, -1.0, -1.0},  // Hopper: 1node, 2nodes, 4nodes\n      {-1.0, -1.0, -1.0}   // Blackwell: 1node, 2nodes, 4nodes\n    }\n  };\n\n  void* context = NULL;\n  ncclResult_t result = pluginInit(&context, 0, 8, 2, mock_logger, NULL, &constants);\n  TEST_ASSERT(result == ncclSuccess, \"Plugin init with constants should succeed\");\n\n  // Test that the constants were set correctly\n  TEST_ASSERT(constants.perChMaxTreeBws[NCCL_BLACKWELL_COMPCAP_IDX][NCCL_TUNING_SCALE_4NODES] == 15.0, \"Tree bandwidth should be 15GB/s\");\n  TEST_ASSERT(constants.perChMaxRingLL128Bws[NCCL_BLACKWELL_COMPCAP_IDX][NCCL_TUNING_SCALE_4NODES] == 20.0, \"Ring bandwidth should be 20GB/s\");\n  TEST_ASSERT(constants.hwLatencies[NCCL_HW_NET][NCCL_ALGO_NVLS][NCCL_PROTO_SIMPLE] == 24.0, \"NVLSTree base network latency should be 24us\");\n\n  // Clean up\n  pluginFinalize(context);\n  TEST_PASS();\n}\n\n// Test runner function pointer type\ntypedef int (*TestFunction)(void);\n\n// Test registry\ntypedef struct {\n  const char* name;\n  TestFunction func;\n  const char* description;\n} TestCase;\n\n// All available tests\nTestCase test_cases[] = {\n  {\"init\", test_plugin_init, \"Plugin initialization\"},\n  {\"config-valid\", test_config_parsing_valid, \"Valid configuration parsing\"},\n  {\"config-invalid\", test_config_parsing_invalid, \"Invalid configuration parsing\"},\n  {\"collective\", test_collective_matching, \"Collective type matching\"},\n  {\"size\", test_size_matching, \"Size range matching\"},\n  {\"topology\", test_topology_matching, \"Topology matching\"},\n  {\"channels\", test_default_channels, \"Default channels behavior\"},\n  {\"regbuff\", test_regbuff_matching, \"Registered buffer matching\"},\n  {\"pipeops\", test_pipeops_matching, \"Pipeline operations matching\"},\n  {\"fallback\", test_no_match_fallback, \"Fallback behavior\"},\n  {\"large-config\", test_large_config, \"Large configuration files (dynamic allocation)\"},\n  {\"stress-config\", test_very_large_config_stress, \"Very large configuration stress test\"},\n  {\"empty-config\", test_empty_config, \"Empty configuration file handling\"},\n  {\"nvl-domain\", test_nvl_domain_info, \"NVL domain info handling\"},\n  {\"constants\", test_tuner_constants, \"Tuner constants initialization\"},\n  {NULL, NULL, NULL} // End marker\n};\n\n// Show help/usage information\nvoid show_help(const char* program_name) {\n  printf(\"Usage: %s [test_name ...]\\n\\n\", program_name);\n  printf(\"Available tests:\\n\");\n  for (int i = 0; test_cases[i].name != NULL; i++) {\n    printf(\"  %-15s - %s\\n\", test_cases[i].name, test_cases[i].description);\n  }\n  printf(\"\\nExamples:\\n\");\n  printf(\"  %s                    # Run all tests\\n\", program_name);\n  printf(\"  %s init               # Run only initialization test\\n\", program_name);\n  printf(\"  %s init collective    # Run initialization and collective tests\\n\", program_name);\n  printf(\"  %s --help             # Show this help\\n\", program_name);\n}\n\n// Find test by name\nTestFunction find_test(const char* name) {\n  for (int i = 0; test_cases[i].name != NULL; i++) {\n    if (strcmp(test_cases[i].name, name) == 0) {\n      return test_cases[i].func;\n    }\n  }\n  return NULL;\n}\n\n// Main test runner\nint main(int argc, char* argv[]) {\n  int passed = 0, total = 0;\n\n  // Check for help\n  if (argc > 1 && (strcmp(argv[1], \"--help\") == 0 || strcmp(argv[1], \"-h\") == 0)) {\n    show_help(argv[0]);\n    return 0;\n  }\n\n  printf(\"Running NCCL Tuner Plugin Unit Tests\\n\");\n  printf(\"=====================================\\n\");\n\n  if (argc == 1) {\n    // No arguments - run all tests\n    for (int i = 0; test_cases[i].name != NULL; i++) {\n      printf(\"Running test: %s\\n\", test_cases[i].name);\n      total++;\n      passed += test_cases[i].func();\n    }\n  } else {\n    // Run specific tests\n    for (int arg = 1; arg < argc; arg++) {\n      TestFunction test_func = find_test(argv[arg]);\n      if (test_func) {\n        total++;\n        passed += test_func();\n      } else {\n        printf(\"ERROR: Unknown test '%s'\\n\", argv[arg]);\n        printf(\"Use --help to see available tests\\n\");\n        return 1;\n      }\n    }\n  }\n\n  printf(\"\\n=====================================\\n\");\n  printf(\"Test Results: %d/%d tests passed\\n\", passed, total);\n\n  if (passed == total) {\n    printf(\"All tests PASSED!\\n\");\n    return 0;\n  } else {\n    printf(\"Some tests FAILED!\\n\");\n    return 1;\n  }\n}\n"
  },
  {
    "path": "ext-tuner/model_demo/Makefile",
    "content": "#\n# Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\nRCCL_HOME:=../../build/release\nHIP_HOME:=/opt/rocm\nINC:= -I$(RCCL_HOME)/include/  -I$(HIP_HOME)/include/ -D__HIP_PLATFORM_AMD__ -Inccl\nPLUGIN_SO:=libnccl-tuner.so\n\ndefault: $(PLUGIN_SO)\n\n$(PLUGIN_SO): plugin.c\n\t$(CC) $(INC) -fPIC -shared -o $@ -Wl,-soname,$(PLUGIN_SO) $^\n\nclean:\n\trm -f $(PLUGIN_SO)\n"
  },
  {
    "path": "ext-tuner/model_demo/README.md",
    "content": "# RCCL Tuner Plugin API Overview\n\nThis document describes the API structure to be implemented by an external tuner plugin for RCCL. The purpose of this plugin is to enable stakeholders to hand-tailor the selection of an algorithm, a protocol, number of channels (thread blocks) based on an input configuration of interest: message size, number of nodes and GPUs, and link types (PCIe, XGMI, NET).\n\n## Notes\n- The [model demo plugin](model_demo/plugin.c) is only a demonstration that uses math models to approximate BW and latency of available choices of algorithms and protocols and provide the one that scores the lowest latency. It is customized for MI300 GPUs and RoCEv2 networks on a limited number of nodes. It is not meant to be inclusive of all AMD GPUs/Network setups out there. \n- The API allows partial outputs: tuners can set only the algorithm and protocol, or let RCCL set the remaining fields (e.g., number of channels).\n- If`getCollInfo()`fails, RCCL will use its default internal mechanisms to determine the best collective configuration.\n- `getCollInfo()`is called for each collective invocation per communicator, so special care is to be taken not to cause excessive latency.\n- The advantage of this plugin is that each customer can create and maintain their hand-tailored tuner without relying on RCCL to develop and maintain it.\n- Supported RCCL algorithms are `NCCL_ALGO_TREE` and `NCCL_ALGO_RING`.\n- Supported RCCL protocols are `NCCL_PROTO_SIMPLE`, `NCCL_PROTO_LL` and `NCCL_PROTO_LL128`.\n  - Until support is present for network collectives, we show in our example how to ignore other algorithms in `pluginGetCollInfo` API implementation as follows:\n    ```C++\n    if ((a == NCCL_ALGO_COLLNET_DIRECT || a == NCCL_ALGO_COLLNET_CHAIN) && collNetSupport != 1) continue;\n    if ((a == NCCL_ALGO_NVLS || a == NCCL_ALGO_NVLS_TREE) && nvlsSupport != 1) continue;\n    if (a == NCCL_ALGO_NVLS && collNetSupport != 1) continue;\n    ```\n---\n# API Description \nThe `ncclTuner_v1_t` structure must be implemented to build a custom tuner. \n\n## Structure: `ncclTuner_v1_t`\n\n### Fields\n\n#### 1. `name`\n  Type: `const char*`  \n  Description: The name of the tuner. Can be used for logging purposes when (`NCCL_DEBUG=info NCCL_DEBUG_SUBSYS=tune`) are set.\n\n### Functions\n\n#### 1. `init` (called upon communicator initialization with `ncclCommInitRank`)\n\nInitializes the tuner states. Each communicator initializes its tuner. nNodes x nRanks = total number of GPUs participating in the collective communication\n\n- **Parameters**:\n  - `nRanks` (size_t): The number of devices (GPUs).\n  - `nNodes` (size_t): The number of OS nodes (physical nodes or VMs).\n  - `logFunction` (ncclDebugLogger_t): A log function that can be useful to turn on certain debugging info.\n\n- **Return**:  \n  Type: `ncclResult_t`  \n  The result of the initialization.\n\n#### 2. `getCollInfo` (called for each collective call per communicator)\n\nRetrieves information about the collective algorithm, protocol, and number of channels for the given input parameters.\n\n- **Parameters**:\n  - `collType` (ncclFunc_t): The collective type, e.g., `allreduce`, `allgather`, etc.\n  - `nBytes` (size_t): The size of the collective in bytes.\n  - `collNetSupport` (int): Whether `collNet` supports this type.\n  - `nvlsSupport` (int): Whether NVLink SHARP supports this type.\n  - `numPipeOps` (int): The number of operations in the group.\n  \n- **Outputs**:\n  - `algorithm` (int*): The selected algorithm to be used for the given collective.\n  - `protocol` (int*): The selected protocol to be used for the given collective.\n  - `nChannels` (int*): The number of channels (and SMs) to be used.\n  \n- **Description**:\n  If `getCollInfo()` does not return `ncclSuccess`, RCCL will fall back to its default tuning for the given collective. The tuner is allowed to leave fields unset, in which case RCCL will automatically set those fields.\n\n- **Return**:  \n  Type: `ncclResult_t`  \n  The result of the operation.\n\n#### 3. `destroy` (called upon communicator finalization with `ncclCommFinalize`)\n\nTerminates the plugin and cleans up any resources allocated by the tuner.\n\n- **Return**:  \n  Type: `ncclResult_t`  \n  The result of the cleanup process.\n\n---\n\n\n# Build instructions and usage\n\n- The way to use the external plugin is to implement the desired algorithm/protocol selection technique using the API described above. `ext-tuner/model_demo/plugin.c` is an example based on MI300 tuning table by default as a reference for customers in `plugin.c`.\n- Build the `libnccl-tuner.so` file following [the Makefile example](model_demo/Makefile). \n\n## Building and using example libnccl-tuner.so\n```bash\ncd $RCCL_HOME/ext-tuner/model_demo/ \nmake\n```\nNext is to let RCCL know that you want to use the custom-made libnccl-tuner.so by setting the following environment variable to the directory of the libnccl-tuner.so file:\n\n```bash\nexport NCCL_TUNER_PLUGIN=$RCCL_HOME/ext-tuner/model_demo/libnccl-tuner.so\n```\n\n"
  },
  {
    "path": "ext-tuner/model_demo/nccl/common.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef COMMON_H_\n#define COMMON_H_\n\ntypedef enum {NCCL_LOG_NONE=0, NCCL_LOG_ERROR=1, NCCL_LOG_VERSION=2, NCCL_LOG_WARN=3, NCCL_LOG_INFO=4, NCCL_LOG_ABORT=5, NCCL_LOG_TRACE=6} ncclDebugLogLevel;\ntypedef enum {NCCL_INIT=1, NCCL_COLL=2, NCCL_P2P=4, NCCL_SHM=8, NCCL_NET=16, NCCL_GRAPH=32, NCCL_TUNING=64, NCCL_ENV=128, NCCL_ALLOC=256, NCCL_CALL=512, NCCL_PROXY=1024, NCCL_NVLS=2048, NCCL_BOOTSTRAP=4096, NCCL_REG=8192, NCCL_ALL=~0} ncclDebugLogSubSys;\n\ntypedef void (*ncclDebugLogger_t)(ncclDebugLogLevel level, unsigned long flags, const char *file, int line, const char *fmt, ...);\n\n#endif\n"
  },
  {
    "path": "ext-tuner/model_demo/nccl/err.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NCCL_ERR_H_\n#define NCCL_ERR_H_\n\n/* Error type for plugins */\ntypedef enum { ncclSuccess                 =  0,\n               ncclUnhandledCudaError      =  1,\n               ncclSystemError             =  2,\n               ncclInternalError           =  3,\n               ncclInvalidArgument         =  4,\n               ncclInvalidUsage            =  5,\n               ncclRemoteError             =  6 } ncclResult_t;\n\n#endif\n"
  },
  {
    "path": "ext-tuner/model_demo/nccl/tuner.h",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n * Copyright (c) 2023, Meta Platforms, Inc. and affiliates.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_TUNER_H_\n#define NCCL_TUNER_H_\n\n#include <stdint.h>\n#include <stdlib.h>\n\n#include \"common.h\"\n#include \"err.h\"\n\n#define NCCL_NUM_FUNCTIONS 5 // Send/Recv not included for now\ntypedef enum {\n  ncclFuncBroadcast = 0,\n  ncclFuncReduce = 1,\n  ncclFuncAllGather = 2,\n  ncclFuncReduceScatter = 3,\n  ncclFuncAllReduce = 4,\n  ncclFuncSendRecv = 5,\n  ncclFuncSend = 6,\n  ncclFuncRecv = 7,\n  ncclNumFuncs = 8\n} ncclFunc_t;\n\n#define NCCL_NUM_ALGORITHMS 7 // Tree/Ring/CollNet*\n#define NCCL_ALGO_UNDEF -1\n#define NCCL_ALGO_TREE 0\n#define NCCL_ALGO_RING 1\n#define NCCL_ALGO_COLLNET_DIRECT 2\n#define NCCL_ALGO_COLLNET_CHAIN 3\n#define NCCL_ALGO_NVLS 4\n#define NCCL_ALGO_NVLS_TREE 5\n#define NCCL_ALGO_PAT 6\n\n#define NCCL_NUM_PROTOCOLS 3 // Simple/LL/LL128\n#define NCCL_PROTO_UNDEF -1\n#define NCCL_PROTO_LL 0\n#define NCCL_PROTO_LL128 1\n#define NCCL_PROTO_SIMPLE 2\n\n#define NCCL_ALGO_PROTO_IGNORE -1.0\n\n// API to be implemented by external tuner\ntypedef struct {\n  // Name of the tuner\n  const char* name;\n\n  // Initializes tuner states.\n  // Inputs:\n  //   - nRanks: number of ranks in current communicator. Each communicator initialize its own tuner.\n  //   - nNodes: number of nodes in current communicator.\n  //   - logFunction: a logFunction can be useful to integrate logging together with NCCL core.\n  // Outputs:\n  //   - context: tuner context object\n  ncclResult_t (*init)(size_t nRanks, size_t nNodes, ncclDebugLogger_t logFunction, void **context);\n\n  // Gets info (algo, protocol, number of ctas and threads) for a given collective.\n  // Inputs:\n  //   - context: tuner context object\n  //   - collType: collective type , e.g., allreduce, allgather…\n  //   - nBytes: collective size in bytes\n  //   - numPipeOps: number of operations in the group\n  //   - numAlgo: number of algorithms in collCostTable\n  //   - numProto: number of protocols in collCostTable\n  //   - regBuff: can register user buffer\n  //\n  // Outputs:\n  //   - nChannels: number of channels (hence SMs) to be used.\n  //\n  // InOut:\n  //   - collCostTable: collective cost table, generated by NCCL core, containing algo|proto|time entries for collType.\n  //                    NCCL core sets ignored algo/proto cost table entries to -1.0 (NCCL_ALGO_PROTO_IGNORE).\n  //\n  // If getCollInfo() does not return ncclSuccess, NCCL will fall back to the\n  // default tuning for the given collective.\n  // Also, the plugin is allowed to not set any output, or set only the\n  // algorithm and protocol, but not only the algorithm or only the protocol.\n  // Unset fields will be set automatically by NCCL.\n  ncclResult_t (*getCollInfo)(void* context, ncclFunc_t collType, size_t nBytes,\n                              int numPipeOps, float** collCostTable, int numAlgo, int numProto,\n                              int regBuff, int* nChannels);\n\n  // Terminates the plugin and cleans up any resources that the plugin allocated.\n  // context: tuner context object\n  ncclResult_t (*destroy)(void* context);\n} ncclTuner_v4_t;\n\ntypedef ncclTuner_v4_t ncclTuner_t;\n\n#define NCCL_TUNER_PLUGIN_SYMBOL \"ncclTunerPlugin_v4\"\n\n#endif\n"
  },
  {
    "path": "ext-tuner/model_demo/plugin.c",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"tuner.h\"\n#define __hidden __attribute__ ((visibility(\"hidden\")))\n#define HOPPER_COMPCAP_IDX 2\n// NVLink, PCI, Network\n#define NCCL_HW_NVLINK 0\n#define NCCL_HW_PCI 1\n#define NCCL_HW_NET 2\n\nstatic long log2i(long n) {\n long l = 0;\n while (n>>=1) l++;\n return l;\n}\n// Latencies in us, Bandwidths in GB/s\n// Tree { LL, LL128, Simple } , Ring { LL, LL128, Simple }\nstatic const float baseLat  [NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS] = { \n       { 12.0, 12.0, 17.0 }, { 12.0, 12.0, 17.0 },   // Tree, Ring\n       { 12.0, 12.0, 17.0 }, { 12.0, 12.0, 17.0 },   // Collnet Direct, Chain\n       {    0,    0,    0 }, {    0,    0,    0 }};  // NVLS, NVLS Tree\n\nstruct tuningModel {\n  float hwLat[3][NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  float bwRatio[2][NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  float treeCorrectionFactor[NCCL_NUM_PROTOCOLS][27];\n  float ringCorrectionFactor[NCCL_NUM_PROTOCOLS][27];\n};\n\nstatic struct tuningModel tuning_model = {\n  {\n    /* NVLINK */\n    { /* Tree (LL/LL128/Simple)*/ { 0.8, 0.0, 2.5 }, /* Ring (LL/LL128/Simple)*/ { 0.8, 0.0, 3.6 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 0.8 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 0.0 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 } },\n    /* PCI */\n    { /* Tree (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* Ring (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 5.7 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 5.7 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 } },\n    /* NET */\n    { /* Tree (LL/LL128/Simple)*/ { 12.5, 0.0, 22.4 }, /* Ring (LL/LL128/Simple)*/ { 9.5, 0.0, 19.8 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 12.5 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 0.0 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 } },\n  },\n\n  {\n    /* 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.41, 0.00, 1.00 }, /* Ring (LL/LL128/Simple)*/ { 0.41, 0.00, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 } },\n    /* more than 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.41, 0.00, 0.86 }, /* Ring (LL/LL128/Simple)*/ { 0.41, 0.00, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 } },\n  },\n\n  {\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 1.0, 0.8, 0.1, 0.4, 0.5, 1.0, 0.6, 0.4, 0.6, 0.1, 0.3, 0.4, 0.4, 0.3, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, },\n    { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 1.0, 1.0, 0.4, 1.0, 1.0, 1.0, 0.2, 0.7, 1.0, 1.0, 1.0, 0.8, 0.7, 0.7, 0.8, 0.8, 0.8, 0.9, },\n  },\n\n  {\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 0.1, 0.2, 0.2, 0.1, 0.5, 0.8, 1.0, 0.2, 0.4, 0.5, 0.4, 0.4, 0.3, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, },\n    { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.7, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 1.0, 1.0, 0.9, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, },\n  },\n};\n\nfloat latencies[NCCL_NUM_FUNCTIONS][NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\nfloat bandwidths[NCCL_NUM_FUNCTIONS][NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n\nncclResult_t ncclTopoGetAlgoTime_Tuner(ncclFunc_t collType, int algorithm, int protocol, int numPipeOps, float* time, size_t nBytes) {\n  float bw = bandwidths[collType][algorithm][protocol];\n  float lat = latencies[collType][algorithm][protocol];\n\n  if (bw == 0) {\n    *time = -1.0; return ncclSuccess;\n  }\n  int logSize = log2i(nBytes>>6);\n  if (algorithm == NCCL_ALGO_TREE) {\n    if (logSize < 27) bw *= tuning_model.treeCorrectionFactor[protocol][logSize];\n    else bw *= tuning_model.treeCorrectionFactor[protocol][26];\n  }\n  else if (algorithm == NCCL_ALGO_RING) {\n    if(logSize < 27) bw *= tuning_model.ringCorrectionFactor[protocol][logSize];\n    else bw *= tuning_model.ringCorrectionFactor[protocol][26];\n  }\n\n  int latCount = 1;\n  *time = lat * latCount + (nBytes) / (1000 * bw);\n  return ncclSuccess;\n}\n\n__hidden ncclResult_t pluginInit(size_t nRanks, size_t nNodes, ncclDebugLogger_t logFunction) { \n  if (nRanks <= 1) return ncclSuccess;\n  int compCapIndex = HOPPER_COMPCAP_IDX;\n  int index2 = nNodes <= 2 ? nNodes-1 : 2;\n  int index1 = nNodes == 1 ? compCapIndex : 1;\n  float ppn = (float)nRanks / nNodes; // if ppn < 2, then we are sending/receiving at the same GPU through the NIC, apply some bw discount\n\n  int intraHw[NCCL_NUM_ALGORITHMS], hw[NCCL_NUM_ALGORITHMS];\n  for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) intraHw[a] = NCCL_HW_NVLINK;\n  for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) hw[a] = nNodes == 1 ? intraHw[a] : NCCL_HW_NET;\n  for (int coll=0; coll<NCCL_NUM_FUNCTIONS; coll++) {\n    int nsteps = coll == ncclFuncAllReduce ? 2*(nRanks-1) :\n      coll == ncclFuncReduceScatter || coll == ncclFuncAllGather ? nRanks-1 :\n      nRanks;\n    int nInterSteps = coll == ncclFuncAllReduce ? (nNodes > 1 ? 2*nNodes :0) :\n      coll == ncclFuncReduceScatter || coll == ncclFuncAllGather ? nNodes-1 :\n      nNodes;\n\n    for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) {\n      if (coll == ncclFuncBroadcast && a != NCCL_ALGO_RING) continue;\n      if (coll == ncclFuncReduce && a != NCCL_ALGO_RING) continue;\n      if (coll == ncclFuncReduceScatter && a != NCCL_ALGO_RING && a != NCCL_ALGO_NVLS && a != NCCL_ALGO_COLLNET_DIRECT) continue;\n      if (coll == ncclFuncAllGather && a != NCCL_ALGO_RING && a != NCCL_ALGO_NVLS && a != NCCL_ALGO_COLLNET_DIRECT) continue;\n\n      for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n        if (a == NCCL_ALGO_TREE && p == NCCL_PROTO_SIMPLE && nNodes == 1) continue;\n        if ((a == NCCL_ALGO_NVLS || a == NCCL_ALGO_NVLS_TREE) && p != NCCL_PROTO_SIMPLE) continue;\n        int collnet = (a == NCCL_ALGO_COLLNET_DIRECT || a == NCCL_ALGO_COLLNET_CHAIN) ? 1 : 0;\n        float bw = nNodes <= 2 || collnet ? 12.0 : 12.0; //graphs[a]->bwIntra : graphs[a]->bwInter\n        if (a == NCCL_ALGO_NVLS) bw = 0.0;\n        if (a == NCCL_ALGO_NVLS_TREE) bw = 0.0;\n        if (collnet == 1) bw = 0.0;\n        int nChannels = 28; //nNodes==1 && MI300\n        float busBw = nChannels * bw; //comm->topo->baseBw != 0.0 ? comm->topo->baseBw : graphs[a]->nChannels * bw\n        \n        // Various model refinements\n        if (nNodes <= 2)\n          busBw *= tuning_model.bwRatio[0][a][p];\n        else\n          busBw *= tuning_model.bwRatio[1][a][p];\n        if (a == NCCL_ALGO_RING && p == NCCL_PROTO_LL && (coll == ncclFuncBroadcast || coll == ncclFuncReduce) && nNodes == 1) { busBw = busBw * 1.65; }\n\n        // Convert bus BW to algorithm BW\n        if (!(a == NCCL_ALGO_COLLNET_DIRECT && (coll == ncclFuncAllGather || coll == ncclFuncReduceScatter))) {\n          float ratio = 1.0f;\n          if (a == NCCL_ALGO_RING) ratio *= (1.0 * nRanks) / nsteps;\n          else if (a == NCCL_ALGO_NVLS || a == NCCL_ALGO_NVLS_TREE) ratio *= 5.0/6.0;\n          else ratio *= .5;\n          busBw *= ratio;\n        }\n        bandwidths[coll][a][p] = busBw;\n        latencies[coll][a][p] = baseLat[a][p];\n        float intraLat = tuning_model.hwLat[intraHw[a]][a][p];\n        float interLat = tuning_model.hwLat[NCCL_HW_NET][a][p];\n\n        if (a == NCCL_ALGO_RING) {\n          float lat = tuning_model.hwLat[hw[a]][a][p];\n          if ((coll == ncclFuncReduce || coll == ncclFuncBroadcast)) {\n            latencies[coll][a][p] += lat;\n          } else {\n            // Inter-node rings still have to launch nsteps * net overhead.\n            float netOverhead = 0.0;\n            if (nNodes > 1) {\n              netOverhead = 1;\n              if (p == NCCL_PROTO_SIMPLE) netOverhead *= 3;\n            }\n            if (intraLat < netOverhead) intraLat = netOverhead;\n            latencies[coll][a][p] += (nsteps-nInterSteps)*intraLat + nInterSteps*interLat;\n          }\n        } else if (a == NCCL_ALGO_TREE) {\n          latencies[coll][a][p] +=\n            2 * ((nRanks/nNodes-1) * intraLat + log2i(nNodes) * interLat);\n        } else if (a == NCCL_ALGO_COLLNET_DIRECT) {\n          int minimum = 1;\n          if ((nRanks/nNodes-1) < 1) minimum = (nRanks/nNodes-1);\n          latencies[coll][a][p] +=\n            2 * (minimum * intraLat + (nRanks/nNodes-1) * 0.4) + interLat;  // Add 0.4 us arity serialization latency\n        } else if (a == NCCL_ALGO_COLLNET_CHAIN) {\n          latencies[coll][a][p] += 2 * (nRanks/nNodes-1) * intraLat + interLat;\n        } else if (a == NCCL_ALGO_NVLS) {\n          if (nNodes > 1) latencies[coll][a][p] += tuning_model.hwLat[NCCL_HW_NET][a][p];\n        } else if (a == NCCL_ALGO_NVLS_TREE) {\n          latencies[coll][a][p] += 2*(nNodes-1)*tuning_model.hwLat[NCCL_HW_NET][a][p];\n        }\n      }\n    }\n  }\n  // Protocols/Algorithms enable/disable, and user overrides.\n  // All are enabled except ll128 which is enabled by default only in certain cases.\n  int protoEnable[NCCL_NUM_PROTOCOLS] = { 1, 2, 1 };\n  int algoEnable[NCCL_NUM_ALGORITHMS] = { 1, 1, 1, 1, 1, 1 };\n\n  // MNNVL: NVLS not yet supported\n  algoEnable[NCCL_ALGO_NVLS_TREE] = 0;\n  algoEnable[NCCL_ALGO_COLLNET_DIRECT] = 0;\n  algoEnable[NCCL_ALGO_COLLNET_CHAIN] = 0;\n  algoEnable[NCCL_ALGO_NVLS] = 0;\n\n  for (int c=0; c<NCCL_NUM_FUNCTIONS; c++) for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n    int pEnable = protoEnable[p];\n    if (p == NCCL_PROTO_LL128) {\n      pEnable = 0;\n    }\n    if (pEnable == 0) bandwidths[c][a][p] = 0;\n    if (algoEnable[a] == 0) bandwidths[c][a][p] = 0;\n  }\n  return ncclSuccess;\n}\n\n__hidden ncclResult_t pluginGetCollInfo(void* context, ncclFunc_t collType, size_t nBytes,\n                              int collNetSupport, int nvlsSupport, int numPipeOps,\n                              int *algorithm, int *protocol, int* nChannels) {\n                                \n  float minTime = 3600000000.0; // Hopefully no operation will take an hour to complete.\n  // Find algorithm / protocol.\n  *algorithm = -1;\n  *protocol = -1;\n  int nAlgos = NCCL_NUM_ALGORITHMS;\n  for (int a=0; a<nAlgos; a++) {\n    if ((a == NCCL_ALGO_COLLNET_DIRECT || a == NCCL_ALGO_COLLNET_CHAIN) && collNetSupport != 1) continue;\n    if ((a == NCCL_ALGO_NVLS || a == NCCL_ALGO_NVLS_TREE) && nvlsSupport != 1) continue;\n    if (a == NCCL_ALGO_NVLS && collNetSupport != 1) continue;\n    for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n      if (p == NCCL_PROTO_LL128) continue;\n      float time;\n      ncclTopoGetAlgoTime_Tuner(collType, a, p, numPipeOps, &time, nBytes);\n        if (time >= 0 && time < minTime) {\n          *algorithm = a;\n          *protocol = p;\n          minTime = time;\n        }\n    }\n  }\n  return ncclSuccess;\n}\n\n__hidden ncclResult_t pluginDestroy(void* context) { return ncclSuccess; }\n\n#define PLUGIN_NAME \"Example\"\n\nconst ncclTuner_v4_t ncclTunerPlugin_v4 = {\n  .name = PLUGIN_NAME,\n  .init = pluginInit,\n  .getCollInfo = pluginGetCollInfo,\n  .destroy = pluginDestroy\n};\n"
  },
  {
    "path": "install.sh",
    "content": "#!/bin/bash\n# Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n\n# #################################################\n# global variables\n# #################################################\nROCM_PATH=${ROCM_PATH:=\"/opt/rocm\"}\n\n# Default values\nbuild_address_sanitizer=false\nbuild_bfd=false\nbuild_freorg_bkwdcomp=false\nbuild_local_gpu_only=false\nbuild_amdgpu_targets=\"\"\nbuild_package=false\nbuild_release=true\nbuild_static=false\nbuild_tests=false\nbuild_verbose=false\nclean_build=true\ncollective_trace=true\ndump_asm=false\nenable_code_coverage=false\nenable_ninja=\"\"\ninstall_dependencies=false\ninstall_library=false\ninstall_prefix=\"${ROCM_PATH}\"\nlog_trace=false\nmsccl_kernel_enabled=false\nmscclpp_enabled=false\nenable_mscclpp_clip=false\nnum_parallel_jobs=$(nproc)\nnpkit_enabled=false\nopenmp_test_enabled=false\nkernel_resource_use=false\nroctx_enabled=true\nrun_tests=false\nrun_tests_all=false\ntime_trace=false\nforce_reduce_pipeline=false\ngenerate_sym_kernels=false\nwarp_speed_enabled=true # note that this flag will be overridden to false for non MI350/MI300 platforms\nquiet_warnings=false\nbuild_rocshmem_support=false\n\n# #################################################\n# helper functions\n# #################################################\nfunction display_help()\n{\n    echo \"RCCL build & installation helper script\"\n    echo \" Options:\"\n    echo \"       --address-sanitizer     Build with address sanitizer enabled\"\n    echo \"    -c|--enable-code-coverage  Enable code coverage\"\n    echo \"    -d|--dependencies          Install RCCL dependencies\"\n    echo \"       --debug                 Build debug library\"\n    echo \"       --enable_backtrace      Build with custom backtrace support\"\n    echo \"       --disable-colltrace     Build without collective trace\"\n    echo \"       --enable-msccl-kernel   Build with MSCCL kernels\"\n    echo \"       --dump-asm              Disassemble code and dump assembly with inline code\"\n    echo \"       --enable-mscclpp        Build with MSCCL++ support\"\n    echo \"       --enable-mscclpp-clip   Build MSCCL++ with clip wrapper on bfloat16 and half addition routines\"\n    echo \"       --disable-roctx         Build without ROCTX logging\"\n    echo \"    -f|--fast                  Quick-build RCCL (local gpu arch only, no backtrace, and collective trace support)\"\n    echo \"    -h|--help                  Prints this help message\"\n    echo \"    -i|--install               Install RCCL library (see --prefix argument below)\"\n    echo \"    -j|--jobs                  Specify how many parallel compilation jobs to run ($num_parallel_jobs by default)\"\n    echo \"       --kernel-resource-use   Dump GPU kernel resource usage (e.g., VGPRs, scratch, spill) at link stage\"\n    echo \"    -l|--local_gpu_only        Only compile for local GPU architecture\"\n    echo \"       --amdgpu_targets        Only compile for specified GPU architecture(s). For multiple targets, separate by ';' (builds for all supported GPU architectures by default)\"\n    echo \"       --no_clean              Don't delete files if they already exist\"\n    echo \"       --npkit-enable          Compile with npkit enabled\"\n    echo \"       --log-trace             Build with log trace enabled (i.e. NCCL_DEBUG=TRACE)\"\n    echo \"       --openmp-test-enable    Enable OpenMP in rccl unit tests\"\n    echo \"    -p|--package_build         Build RCCL package\"\n    echo \"       --prefix                Specify custom directory to install RCCL to (default: \\`/opt/rocm\\`)\"\n    echo \"       --run_tests_all         Run all rccl unit tests (must be built already)\"\n    echo \"    -r|--run_tests_quick       Run small subset of rccl unit tests (must be built already)\"\n    echo \"       --static                Build RCCL as a static library instead of shared library\"\n    echo \"    -t|--tests_build           Build rccl unit tests, but do not run\"\n    echo \"       --time-trace            Plot the build time of RCCL (requires \\`ninja-build\\` package installed on the system)\"\n    echo \"       --verbose               Show compile commands\"\n    echo \"       --force-reduce-pipeline Force reduce_copy sw pipeline to be used for every reduce-based collectives and datatypes\"\n    echo \"       --generate-sym-kernels  Generate symmetric memory kernels\"\n    echo \"    -q|--quiet-warnings        Suppress majority of compiler warnings (not recommended)\"\n    echo \"       --rocshmem              Build with rocSHMEM support\"\n}\n\n# #################################################\n# Parameter parsing\n# #################################################\n\n# check if we have a modern version of getopt that can handle whitespace and long parameters\ngetopt -T\nif [[ \"$?\" -eq 4 ]]; then\n    GETOPT_PARSE=$(getopt --name \"${0}\" --options cdfhij:lprtq --longoptions address-sanitizer,dependencies,debug,dump-asm,enable-code-coverage,enable_backtrace,disable-colltrace,disable-msccl-kernel,enable-mscclpp,fast,help,install,jobs:,kernel-resource-use,local_gpu_only,amdgpu_targets:,no_clean,npkit-enable,log-trace,openmp-test-enable,roctx-enable,package_build,prefix:,rm-legacy-include-dir,run_tests_all,run_tests_quick,static,tests_build,time-trace,force-reduce-pipeline,generate-sym-kernels,quiet-warnings,disable-warp-speed,verbose,rocshmem -- \"$@\")\nelse\n    echo \"Need a new version of getopt\"\n    exit 1\nfi\n\nif [[ \"$?\" -ne 0 ]]; then\n    echo \"getopt invocation failed; could not parse the command line\";\n    exit 1\nfi\n\neval set -- \"${GETOPT_PARSE}\"\n\nwhile true; do\n    case \"${1}\" in\n         --address-sanitizer)        build_address_sanitizer=true;                                                                     shift ;;\n    -c | --enable-code-coverage)     enable_code_coverage=true;                                                                        shift ;;\n    -d | --dependencies)             install_dependencies=true;                                                                        shift ;;\n         --debug)                    build_release=false;                                                                              shift ;;\n         --enable_backtrace)         build_bfd=true;                                                                                   shift ;;\n         --disable-colltrace)        collective_trace=false;                                                                           shift ;;\n         --disable-msccl-kernel)     msccl_kernel_enabled=false;                                                                       shift ;;\n         --dump-asm)                 dump_asm=true;                                                                                    shift ;;\n         --enable-mscclpp)           mscclpp_enabled=true;                                                                             shift ;;\n         --enable-mscclpp-clip)      enable_mscclpp_clip=true;                                                                         shift ;;\n         --disable-roctx)            roctx_enabled=false;                                                                              shift ;;\n    -f | --fast)                     build_local_gpu_only=true; collective_trace=false; msccl_kernel_enabled=false;                    shift ;;\n    -h | --help)                     display_help;                                                                                     exit 0 ;;\n    -i | --install)                  install_library=true;                                                                             shift ;;\n    -j | --jobs)                     num_parallel_jobs=${2};                                                                           shift 2 ;;\n         --kernel-resource-use)      kernel_resource_use=true;                                                                         shift ;;\n    -l | --local_gpu_only)           build_local_gpu_only=true;                                                                        shift ;;\n         --amdgpu_targets)           build_amdgpu_targets=${2};                                                                        shift 2 ;;\n         --no_clean)                 clean_build=false;                                                                                shift ;;\n         --npkit-enable)             npkit_enabled=true;                                                                               shift ;;\n         --log-trace)                log_trace=true;                                                                                   shift ;;\n         --openmp-test-enable)       openmp_test_enabled=true;                                                                         shift ;;\n    -p | --package_build)            build_package=true;                                                                               shift ;;\n         --prefix)                   install_library=true; install_prefix=${2};                                                        shift 2 ;;\n    -r | --run_tests_quick)          run_tests=true;                                                                                   shift ;;\n         --run_tests_all)            run_tests=true; run_tests_all=true;                                                               shift ;;\n         --static)                   build_static=true;                                                                                shift ;;\n    -t | --tests_build)              build_tests=true;                                                                                 shift ;;\n         --time-trace)               time_trace=true;                                                                                  shift ;;\n         --verbose)                  build_verbose=true;                                                                               shift ;;\n         --force-reduce-pipeline)    force_reduce_pipeline=true;                                                                       shift ;;\n         --generate-sym-kernels)     generate_sym_kernels=true;                                                                        shift ;;\n         --disable-warp-speed)       warp_speed_enabled=false;                                                                         shift ;;\n    -q | --quiet-warnings)           quiet_warnings=true;                                                                              shift ;;\n         --rocshmem)                 build_rocshmem_support=true;                                                                      shift ;;\n    --) shift ; break ;;\n    *)  echo \"Unexpected command line parameter received; aborting\";\n        exit 1\n        ;;\n    esac\ndone\n\n# /etc/*-release files describe the system\nif [[ -e \"/etc/os-release\" ]]; then\n    source /etc/os-release\nelif [[ -e \"/etc/centos-release\" ]]; then\n    OS_ID=$(cat /etc/centos-release | awk '{print tolower($1)}')\n    VERSION_ID=$(cat /etc/centos-release | grep -oP '(?<=release )[^ ]*' | cut -d \".\" -f1)\nelse\n    echo \"This script depends on the /etc/*-release files\"\n    exit 2\nfi\n\n# CMake executable\ncmake_executable=cmake\ntime_trace_ninja_msg=\"apt-get install ninja-build\"\ncase \"${OS_ID}\" in\n    centos|rhel)\n    cmake_executable=cmake3\n    time_trace_ninja_msg=\"dnf install ninja-build\"\n  ;;\nesac\n\n# CMake build options; starts with toolchain info\ncmake_common_options=\"--toolchain=toolchain-linux.cmake\"\n\n# throw error code after running a command in the install script\ncheck_exit_code( )\n{\n    if (( $1 != 0 )); then\n        exit \"$1\"\n    fi\n}\n\n# set RCCL-UnitTests path\nif [[ \"${build_release}\" == true ]]; then\n    unit_test_path=\"./build/release/test/rccl-UnitTests\"\nelse\n    unit_test_path=\"./build/debug/test/rccl-UnitTests\"\nfi\n\nif [[ \"${run_tests}\" == true ]] && [[ -f \"${unit_test_path}\" ]]; then\n    if [[ \"${build_tests}\" == false ]]; then\n        clean_build=false\n    fi\nfi\n\n# #################################################\n# prep\n# #################################################\n# ensure a clean build environment\nif [[ \"${clean_build}\" == true ]]; then\n    if [[ \"${build_release}\" == true ]]; then\n        rm -rf build/release\n    else\n        rm -rf build/debug\n    fi\nfi\n\n# Create and go to the build directory.\nmkdir -p build; cd build\n\n# Create and go to build type directory\nif [[ \"${build_release}\" == true ]]; then\n    mkdir -p release; cd release\nelse\n    mkdir -p debug; cd debug\nfi\n\n# build type\nif [[ \"${build_release}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DCMAKE_BUILD_TYPE=Release\"\nelse\n    cmake_common_options=\"${cmake_common_options} -DCMAKE_BUILD_TYPE=Debug\"\nfi\n\n# Address sanitizer\nif [[ \"${build_address_sanitizer}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DBUILD_ADDRESS_SANITIZER=ON\"\nfi\n\n# Enable code coverage\nif [[ \"${enable_code_coverage}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DENABLE_CODE_COVERAGE=ON\"\nfi\n\n# Backtrace support\nif [[ \"${build_bfd}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DBUILD_BFD=ON\"\nfi\n\n# Build local GPU arch only\nif [[ \"${build_local_gpu_only}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DBUILD_LOCAL_GPU_TARGET_ONLY=ON\"\nfi\n\n# Build for specified GPU target(s) only\nif [[ ! -z \"${build_amdgpu_targets}\" ]]; then\n    cmake_common_options=\"${cmake_common_options} -DGPU_TARGETS=${build_amdgpu_targets}\"\nfi\n\n# shared vs static\nif [[ \"${build_static}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DBUILD_SHARED_LIBS=OFF\"\nfi\n\n# Disable collective trace\nif [[ \"${collective_trace}\" == false ]]; then\n    cmake_common_options=\"${cmake_common_options} -DCOLLTRACE=OFF\"\nfi\n\n# Disable msccl kernel\nif [[ \"${msccl_kernel_enabled}\" == false ]]; then\n    cmake_common_options=\"${cmake_common_options} -DENABLE_MSCCL_KERNEL=OFF\"\nfi\n\nif [[ \"${mscclpp_enabled}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DENABLE_MSCCLPP=ON\"\nfi\n\nif [[ \"${enable_mscclpp_clip}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DENABLE_MSCCLPP_CLIP=ON\"\nfi\n\n# Install dependencies\nif [[ \"${install_dependencies}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DINSTALL_DEPENDENCIES=ON\"\nfi\n\n# Install RCCL library\nif [[ \"${install_library}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DCMAKE_INSTALL_PREFIX=${install_prefix}\"\nfi\n\nif [[ \"${kernel_resource_use}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DREPORT_KERNEL_RESOURCE_USE=ON\"\nfi\n\n# Enable trace debug level\nif [[ \"${log_trace}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DTRACE=ON\"\nfi\n\n# Disable ROCTX\nif [[ \"${roctx_enabled}\" == false ]]; then\n    cmake_common_options=\"${cmake_common_options} -DROCTX=OFF\"\nfi\n\n# Dump ASM files from GPU compilation\nif [[ \"${dump_asm}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DDUMP_ASM=ON\"\nfi\n\n# Enable OpenMP in unit tests\nif [[ \"${openmp_test_enabled}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DOPENMP_TESTS_ENABLED=ON\"\nfi\n\n# Force Reduce pipeline\nif [[ \"${force_reduce_pipeline}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DFORCE_REDUCE_PIPELINING=ON\"\nfi\n\n# Generate symmetric memory kernels\nif [[ \"${generate_sym_kernels}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DGENERATE_SYM_KERNELS=ON\"\nfi\n\n# Enable NPKit\nif [[ \"${npkit_enabled}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DENABLE_NPKIT=ON\"\nfi\n\n# Enable WARP_SPEED only on MI350/MI300 platforms\nif [[ \"${warp_speed_enabled}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DENABLE_WARP_SPEED=ON\"\nfi\n\n# Suppress Warnings\nif [[ \"${quiet_warnings}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DQUIET_WARNINGS=ON\"\nfi\n\n\n# Enable rocSHMEM support\nif [[ \"${build_rocshmem_support}\" == true ]]; then\n    cmake_common_options=\"${cmake_common_options} -DENABLE_ROCSHMEM=ON\"\n    cmake_common_options=\"${cmake_common_options} -DROCSHMEM_INSTALL_DIR=${ROCSHMEM_INSTALL_DIR}\"\nelse\n    cmake_common_options=\"${cmake_common_options} -DENABLE_ROCSHMEM=OFF\"\nfi\n\ncheck_exit_code \"$?\"\n\n# Enable ninja build for time tracing\nif [[ \"${time_trace}\" == true ]]; then\n    if ! hash ninja &>/dev/null ; then\n        echo \"ninja could not be found\"\n        echo \"Use \\\"${time_trace_ninja_msg}\\\" to install ninja\"\n        exit 1\n    fi\n    build_system=\"ninja\"\n    enable_ninja=\"-GNinja\"\nelse\n    build_system=\"make\"\nfi\n\n# Add common CMake options\ncmake_common_options=\"${cmake_common_options} -DROCM_PATH=${ROCM_PATH} ${enable_ninja}\"\n\n# Build RCCL-UnitTests, if enabled\nif [[ \"${build_tests}\" == true ]] || ([[ \"${run_tests}\" == true ]] && [[ ! -x ./test/rccl-UnitTests ]]); then\n    cmake_common_options=\"${cmake_common_options} -DBUILD_TESTS=ON\"\nfi\n\n# Add build directory to RPATH for packaging dependency resolution\ncmake_common_options=\"${cmake_common_options} -DCMAKE_EXE_LINKER_FLAGS=\\\"-Wl,-rpath,${PWD}\\\"\"\n\n# Initiate RCCL CMake\n# Passing ONLY_FUNCS separately (not as part of ${cmake_common_options}) as\n# ${ONLY_FUNCS} is a debug-only feature\n${cmake_executable} ${cmake_common_options} -DONLY_FUNCS=\"${ONLY_FUNCS}\" ../../.\ncheck_exit_code \"$?\"\n\n# Enable verbose output from Makefile\nif [[ \"${build_verbose}\" == true ]]; then\n    build_system=\"${build_system} VERBOSE=1\"\nfi\n\n# Initiate RCCL build (and install)\nif [[ \"${install_library}\" == true ]]; then\n    ${build_system} -j ${num_parallel_jobs} install\nelse\n    ${build_system} -j ${num_parallel_jobs}\nfi\ncheck_exit_code \"$?\"\n\n# Initiate package build with `make package`, if enabled\nif [[ \"${build_package}\" == true ]]; then\n    make package\n    check_exit_code \"$?\"\nfi\n\n# Optionally, run RCCL-UnitTests, if they're enabled.\nif [[ \"${run_tests}\" == true ]]; then\n    if [[ ! -x \"./test/rccl-UnitTests\" ]]; then\n        echo \"RCCL-UnitTests have not been built yet; Please re-run script with \\\"-t\\\" to build the binary.\"\n        exit 1\n    fi\n    if [[ \"${build_release}\" == false && ! -x \"./test/rccl-UnitTestsFixtures\" ]]; then\n        echo \"RCCL-UnitTestsFixtures have not been built yet; Please re-run script with \\\"-t\\\" to build the binary.\"\n        exit 1\n    fi\n    if [[ \"${run_tests_all}\" == true ]]; then\n        if [[ -x \"./test/rccl-UnitTests\" ]]; then\n            ./test/rccl-UnitTests\n        fi\n        if [[ \"${build_release}\" == false && -x \"./test/rccl-UnitTestsFixtures\" ]]; then\n            ./test/rccl-UnitTestsFixtures\n        fi\n    else\n        if [[ -x \"./test/rccl-UnitTests\" ]]; then\n            ./test/rccl-UnitTests --gtest_filter=\"AllReduce.*\"\n        fi\n    fi\nfi\n\n# Generate time trace for RCCL build using tools/time-trace\nif [[ \"${time_trace}\" == true ]]; then\n    search_dir=\"../../tools\"\n    time_trace_dir=$(find \"${search_dir}\" -type d -name \"time-trace\" -print -quit)\n\n    if [[ -n \"${time_trace_dir}\" ]]; then\n        time_trace_script=\"${time_trace_dir}/rccl-TimeTrace.sh\"\n        if [[ -x \"${time_trace_script}\" ]]; then\n            echo \"Generating RCCL-compile-timeline.html...\"\n            (cd \"${time_trace_dir}\" && ./rccl-TimeTrace.sh)\n        else\n            echo \"Error: Unable to execute ${time_trace_script}. Make sure the file has the correct permissions.\"\n        fi\n    else\n        echo \"Error: time-trace folder not found in ${search_dir}.\"\n    fi\nfi\n"
  },
  {
    "path": "makefiles/common.mk",
    "content": "#\n# Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n\nCUDA_HOME ?= /usr/local/cuda\nPREFIX ?= /usr/local\nVERBOSE ?= 0\nKEEP ?= 0\nDEBUG ?= 0\nASAN ?= 0\nUBSAN ?= 0\nTRACE ?= 0\nWERROR ?= 0\nPROFAPI ?= 1\nNVTX ?= 1\nRDMA_CORE ?= 0\nNET_PROFILER ?= 0\nMLX5DV ?= 0\nMAX_EXT_NET_PLUGINS ?= 0\n\nNVCC = $(CUDA_HOME)/bin/nvcc\n\nCUDA_LIB ?= $(CUDA_HOME)/lib64\nCUDA_INC ?= $(CUDA_HOME)/include\nCUDA_VERSION = $(strip $(shell which $(NVCC) >/dev/null && $(NVCC) --version | grep release | sed 's/.*release //' | sed 's/\\,.*//'))\n#CUDA_VERSION ?= $(shell ls $(CUDA_LIB)/libcudart.so.* | head -1 | rev | cut -d \".\" -f -2 | rev)\nCUDA_MAJOR = $(shell echo $(CUDA_VERSION) | cut -d \".\" -f 1)\nCUDA_MINOR = $(shell echo $(CUDA_VERSION) | cut -d \".\" -f 2)\n#$(info CUDA_VERSION ${CUDA_MAJOR}.${CUDA_MINOR})\n\n# You should define NVCC_GENCODE in your environment to the minimal set\n# of archs to reduce compile time.\nCUDA8_GENCODE = -gencode=arch=compute_60,code=sm_60 \\\n                -gencode=arch=compute_61,code=sm_61\nCUDA9_GENCODE = -gencode=arch=compute_70,code=sm_70\nCUDA10_GENCODE = -gencode=arch=compute_75,code=sm_75\nCUDA11_GENCODE = -gencode=arch=compute_80,code=sm_80\nCUDA12_GENCODE = -gencode=arch=compute_90,code=sm_90\nCUDA12_8_GENCODE = -gencode=arch=compute_100,code=sm_100 \\\n                   -gencode=arch=compute_120,code=sm_120\nCUDA13_GENCODE = -gencode=arch=compute_110,code=sm_110\n\nCUDA8_PTX     = -gencode=arch=compute_61,code=compute_61\nCUDA9_PTX     = -gencode=arch=compute_70,code=compute_70\nCUDA11_PTX    = -gencode=arch=compute_80,code=compute_80\nCUDA12_PTX    = -gencode=arch=compute_90,code=compute_90\nCUDA13_PTX    = -gencode=arch=compute_120,code=compute_120\n\nifeq ($(shell test \"0$(CUDA_MAJOR)\" -ge 13; echo $$?),0)\n# Prior to SM75 is deprecated from CUDA13.0 onwards\n  NVCC_GENCODE ?= $(CUDA10_GENCODE) $(CUDA11_GENCODE) $(CUDA12_GENCODE) $(CUDA12_8_GENCODE) $(CUDA13_GENCODE) $(CUDA13_PTX)\nelse ifeq ($(shell test \"0$(CUDA_MAJOR)\" -eq 12 -a \"0$(CUDA_MINOR)\" -ge 8; echo $$?),0)\n# Include Blackwell support if we're using CUDA12.8 or above\n  NVCC_GENCODE ?= $(CUDA8_GENCODE) $(CUDA9_GENCODE) $(CUDA11_GENCODE) $(CUDA12_GENCODE) $(CUDA12_8_GENCODE) $(CUDA13_PTX)\nelse ifeq ($(shell test \"0$(CUDA_MAJOR)\" -eq 11 -a \"0$(CUDA_MINOR)\" -ge 8 -o \"0$(CUDA_MAJOR)\" -gt 11; echo $$?),0)\n# Include Hopper support if we're using CUDA11.8 or above\n  NVCC_GENCODE ?= $(CUDA8_GENCODE) $(CUDA9_GENCODE) $(CUDA11_GENCODE) $(CUDA12_GENCODE) $(CUDA12_PTX)\nelse ifeq ($(shell test \"0$(CUDA_MAJOR)\" -ge 11; echo $$?),0)\n  NVCC_GENCODE ?= $(CUDA8_GENCODE) $(CUDA9_GENCODE) $(CUDA11_GENCODE) $(CUDA11_PTX)\n# Include Volta support if we're using CUDA9 or above\nelse ifeq ($(shell test \"0$(CUDA_MAJOR)\" -ge 9; echo $$?),0)\n  NVCC_GENCODE ?= $(CUDA8_GENCODE) $(CUDA9_GENCODE) $(CUDA9_PTX)\nelse\n  NVCC_GENCODE ?= $(CUDA8_GENCODE) $(CUDA8_PTX)\nendif\n$(info NVCC_GENCODE is ${NVCC_GENCODE})\n\n# CUDA 13.0 requires c++17\nifeq ($(shell test \"0$(CUDA_MAJOR)\" -ge 13; echo $$?),0)\n  CXXSTD ?= -std=c++17\nelse\n  CXXSTD ?= -std=c++14\nendif\n\nCXXFLAGS   := -DCUDA_MAJOR=$(CUDA_MAJOR) -DCUDA_MINOR=$(CUDA_MINOR) -fPIC -fvisibility=hidden \\\n              -Wall -Wno-unused-function -Wno-sign-compare $(CXXSTD) -Wvla \\\n              -I $(CUDA_INC) -I $(CUDA_INC)/cccl \\\n              $(CXXFLAGS)\n# Maxrregcount needs to be set accordingly to NCCL_MAX_NTHREADS (otherwise it will cause kernel launch errors)\n# 512 : 120, 640 : 96, 768 : 80, 1024 : 60\n# We would not have to set this if we used __launch_bounds__, but this only works on kernels, not on functions.\nNVCUFLAGS  := -ccbin $(CXX) $(NVCC_GENCODE) $(CXXSTD) --expt-extended-lambda -Xptxas -maxrregcount=96 -Xfatbin -compress-all\n# Use addprefix so that we can specify more than one path\nNVLDFLAGS  := -L${CUDA_LIB} -lcudart -lrt\n\n########## GCOV ##########\nGCOV ?= 0 # disable by default.\nGCOV_FLAGS := $(if $(filter 0,${GCOV} ${DEBUG}),,--coverage) # only gcov=1 and debug =1\nCXXFLAGS  += ${GCOV_FLAGS}\nNVCUFLAGS += ${GCOV_FLAGS:%=-Xcompiler %}\nLDFLAGS   += ${GCOV_FLAGS}\nNVLDFLAGS   += ${GCOV_FLAGS:%=-Xcompiler %}\n# $(warning GCOV_FLAGS=${GCOV_FLAGS})\n########## GCOV ##########\n\nifeq ($(DEBUG), 0)\nNVCUFLAGS += -O3\nCXXFLAGS  += -O3 -g\nelse\nNVCUFLAGS += -O0 -G -g\nCXXFLAGS  += -O0 -g -ggdb3\nendif\n\n# Make sure to run with ASAN_OPTIONS=protect_shadow_gap=0 otherwise CUDA will fail with OOM\nifneq ($(ASAN), 0)\nCXXFLAGS += -fsanitize=address\nLDFLAGS += -fsanitize=address -static-libasan\nNVLDFLAGS += -Xcompiler -fsanitize=address,-static-libasan\nendif\n\nifneq ($(UBSAN), 0)\nCXXFLAGS += -fsanitize=undefined\nLDFLAGS += -fsanitize=undefined -static-libubsan\nNVLDFLAGS += -Xcompiler -fsanitize=undefined,-static-libubsan\nendif\n\nifneq ($(VERBOSE), 0)\nNVCUFLAGS += -Xptxas -v -Xcompiler -Wall,-Wextra,-Wno-unused-parameter\nCXXFLAGS  += -Wall -Wextra\nelse\n.SILENT:\nendif\n\nifneq ($(TRACE), 0)\nCXXFLAGS  += -DENABLE_TRACE\nendif\n\nifeq ($(NVTX), 0)\nCXXFLAGS  += -DNVTX_DISABLE\nendif\n\nifneq ($(WERROR), 0)\nCXXFLAGS  += -Werror\nendif\n\nifneq ($(KEEP), 0)\nNVCUFLAGS += -keep\nendif\n\nifneq ($(PROFAPI), 0)\nCXXFLAGS += -DPROFAPI\nendif\n\nifneq ($(RDMA_CORE), 0)\nCXXFLAGS += -DNCCL_BUILD_RDMA_CORE=1 -libverbs\nendif\n\nifneq ($(MLX5DV), 0)\nCXXFLAGS += -DNCCL_BUILD_MLX5DV=1 -lmlx5\nendif\n\nifneq ($(NET_PROFILER), 0)\nCXXFLAGS += -DNCCL_ENABLE_NET_PROFILING=1\nendif\n\nifneq ($(MAX_EXT_NET_PLUGINS), 0)\nCXXFLAGS += -DNCCL_NET_MAX_PLUGINS=$(MAX_EXT_NET_PLUGINS)\nendif\n"
  },
  {
    "path": "makefiles/formatting.mk",
    "content": "#\n# Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n\n# Prerequisite: $(FILESTOFORMAT) contains the list of files of interest for formatting\n# As this file defines a new target (format), it should be included at least after the definition of the\n# default target.\n\nASTYLE_FORMAT_OPTS=-Qv --style=java --indent-after-parens --indent-modifiers --indent-switches --indent-continuation=2 --keep-one-line-blocks --keep-one-line-statements --indent=spaces=2 --lineend=linux --suffix=none\nASTYLEDIR := $(BUILDDIR)/contrib\nASTYLETAR := $(ASTYLEDIR)/astyle.tar.gz\nASTYLEBIN := $(ASTYLEDIR)/astyle/build/gcc/bin/astyle\nASTYLEBLD := $(ASTYLEDIR)/astyle/build/gcc/\nASTYLEVER := 3.1\nASTYLEURL := \"https://versaweb.dl.sourceforge.net/project/astyle/astyle/astyle%20$(ASTYLEVER)/astyle_$(ASTYLEVER)_linux.tar.gz\"\n\n$(ASTYLEDIR) :\n\t@mkdir -p $(ASTYLEDIR)\n\n$(ASTYLETAR) : $(ASTYLEDIR)\n\t@wget -q -O $(ASTYLETAR) $(ASTYLEURL)\n\n$(ASTYLEBLD) : $(ASTYLETAR)\n\t@cd $(ASTYLEDIR) && tar xzf $(ASTYLETAR)\n\n$(ASTYLEBIN) : $(ASTYLEBLD)\n\t${MAKE} -C $(ASTYLEBLD)\n\n.PHONY : format\nformat : $(ASTYLEBIN)\n\t@$(ASTYLEBIN) $(ASTYLE_FORMAT_OPTS) $(FILESTOFORMAT)\n"
  },
  {
    "path": "makefiles/version.mk",
    "content": "##### version\nNCCL_MAJOR   := 2\nNCCL_MINOR   := 28\nNCCL_PATCH   := 3\nNCCL_SUFFIX  :=\nPKG_REVISION := 1\n"
  },
  {
    "path": "pkg/Makefile",
    "content": "#\n# Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n.PHONY : all clean\n\ndefault : build\nbuild : debian.build txz.build\n\nBUILDDIR ?= $(abspath ../build)\nABSBUILDDIR := $(abspath $(BUILDDIR))\nTARGETS := debian txz doc\nall:   ${TARGETS:%=%.build}\nprep:  ${TARGETS:%=%.prep}\nbuild: ${TARGETS:%=%.build}\nclean: ${TARGETS:%=%.clean}\n\n%.prep:\n\t${MAKE} -C $* prep BUILDDIR=${ABSBUILDDIR}\n\n%.build:\n\t${MAKE} -C $* build BUILDDIR=${ABSBUILDDIR}\n\n%.clean:\n\t${MAKE} -C $* clean\n"
  },
  {
    "path": "pkg/debian/.gitignore",
    "content": "/*.debhelper.log\n/*.debhelper\n/*.substvars\n/tmp/\n/files\n/libnccl1/\n/libnccl-dev/\n"
  },
  {
    "path": "pkg/debian/Makefile",
    "content": "#\n# Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n\ninclude ../../makefiles/common.mk\ninclude ../../makefiles/version.mk\nBUILDDIR ?= $(abspath ../../build)\nDEBPREPDIR := $(BUILDDIR)/debian\nPKGDIR  := $(BUILDDIR)/pkg/deb/\n\nDEBGEN_IN  := $(wildcard *.in)\nDEBGEN     := $(DEBGEN_IN:.in=)\nDEBFILES   := compat copyright libnccl-dev.install rules $(DEBGEN)\nDEBTARGETS := $(patsubst %, $(DEBPREPDIR)/%, $(DEBFILES))\n\nPKG_TIMESTAMP  := $(shell date -R)\nPKG_ARCH       ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)\nPKG_MULTIARCH  ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)\n\nprep : $(DEBTARGETS)\n\t$(MAKE) -C ../.. lic BUILDDIR=$(BUILDDIR)\n\nbuild : prep\n\t$(MAKE) -C ../.. src.build BUILDDIR=$(BUILDDIR)\n\t@printf \"Building Debian package\\n\"\n\t(cd $(BUILDDIR); debuild -eLD_LIBRARY_PATH -uc -us -d -b -Zxz)\n\tmkdir -p $(PKGDIR)\n\tmv $(BUILDDIR)/../libnccl*.deb $(PKGDIR)/\n\nclean:\n\trm -Rf $(DEBPREPDIR) $(PKGDIR)\n\n$(DEBPREPDIR)/% : %.in\n\t@printf \"Generating %-35s > %s\\n\" $< $@\n\tmkdir -p $(DEBPREPDIR)\n\tsed -e \"s/\\$${nccl:Major}/$(NCCL_MAJOR)/g\" \\\n\t    -e \"s/\\$${nccl:Minor}/$(NCCL_MINOR)/g\" \\\n\t    -e \"s/\\$${nccl:Patch}/$(NCCL_PATCH)/g\" \\\n\t    -e \"s/\\$${nccl:Suffix}/$(NCCL_SUFFIX)/g\" \\\n\t    -e \"s/\\$${cuda:Major}/$(CUDA_MAJOR)/g\" \\\n\t    -e \"s/\\$${cuda:Minor}/$(CUDA_MINOR)/g\" \\\n\t    -e \"s/\\$${pkg:Revision}/$(PKG_REVISION)/g\" \\\n\t    -e \"s/\\$${pkg:Timestamp}/$(PKG_TIMESTAMP)/g\" \\\n\t    -e \"s/\\$${pkg:Arch}/$(PKG_ARCH)/g\" \\\n\t    -e \"s/\\$${pkg:MultiArch}/$(PKG_MULTIARCH)/g\" \\\n\t    $< > $@\n\n$(DEBPREPDIR)/% : %\n\t@printf \"Grabbing   %-35s > %s\\n\" $< $@\n\tmkdir -p $(DEBPREPDIR)\n\tcp -f $< $@\n"
  },
  {
    "path": "pkg/debian/changelog.in",
    "content": "nccl (${nccl:Major}.${nccl:Minor}.${nccl:Patch}${nccl:Suffix}-${pkg:Revision}+cuda${cuda:Major}.${cuda:Minor}) trusty; urgency=medium\n\n  * Automatic Debian package from build\n\n -- cudatools <cudatools@nvidia.com>  ${pkg:Timestamp}\n"
  },
  {
    "path": "pkg/debian/compat",
    "content": "9\n"
  },
  {
    "path": "pkg/debian/control.in",
    "content": "Source: nccl\nSection: libs\nMaintainer: cudatools <cudatools@nvidia.com>\nPriority: optional\nBuild-depends: debhelper(>=9)\nStandards-Version: 3.9.5\n\nPackage: libnccl${nccl:Major}\nSection: libs\nArchitecture: ${pkg:Arch}\nDepends: ${misc:Depends}, ${shlibs:Depends}\nDescription: NVIDIA Collective Communication Library (NCCL) Runtime\n NCCL (pronounced \"Nickel\") is a stand-alone library of standard collective\n communication routines for GPUs, implementing all-reduce, all-gather, reduce,\n broadcast, and reduce-scatter.\n It has been optimized to achieve high bandwidth on any platform using PCIe,\n NVLink, NVswitch, as well as networking using InfiniBand Verbs or TCP/IP\n sockets.\n\nPackage: libnccl-dev\nSection: libdevel\nArchitecture: ${pkg:Arch}\nDepends: ${misc:Depends}, ${shlibs:Depends}, libnccl${nccl:Major} (= ${binary:Version})\nDescription: NVIDIA Collective Communication Library (NCCL) Development Files\n NCCL (pronounced \"Nickel\") is a stand-alone library of standard collective\n communication routines for GPUs, implementing all-reduce, all-gather, reduce,\n broadcast, and reduce-scatter.\n It has been optimized to achieve high bandwidth on any platform using PCIe,\n NVLink, NVswitch, as well as networking using InfiniBand Verbs or TCP/IP\n sockets.\n"
  },
  {
    "path": "pkg/debian/gbp.conf",
    "content": "[DEFAULT]\ndebian-branch   = master\nupstream-branch = master\n\nignore-new = True\n\n[git-buildpackage]\n\nno-purge = True\n"
  },
  {
    "path": "pkg/debian/libnccl-dev.install.in",
    "content": "bin/ncclras /usr/bin\ninclude/* /usr/include\nlib/libnccl.so /usr/lib/${pkg:MultiArch}\nlib/libnccl_static.a /usr/lib/${pkg:MultiArch}\n"
  },
  {
    "path": "pkg/debian/libnccl2.install.in",
    "content": "lib/libnccl.so.${nccl:Major} /usr/lib/${pkg:MultiArch}\nlib/libnccl.so.${nccl:Major}.${nccl:Minor}.${nccl:Patch} /usr/lib/${pkg:MultiArch}\n"
  },
  {
    "path": "pkg/debian/rules",
    "content": "#!/usr/bin/make -f\n\n%:\n\tdh $@ --parallel\n\noverride_dh_auto_install:\n\tPREFIX=debian/tmp dh_auto_install\n\noverride_dh_auto_test:\n\t# Do not make test\n\noverride_dh_auto_clean:\n\t# Do not make clean\n\noverride_dh_builddeb:\n\tdh_builddeb -- -Zxz\n"
  },
  {
    "path": "pkg/debian/source/format",
    "content": "3.0 (native)\n"
  },
  {
    "path": "pkg/redhat/Makefile",
    "content": "#\n# Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n\ninclude ../../makefiles/common.mk\ninclude ../../makefiles/version.mk\nBUILDDIR ?= $(abspath ../../build)\nRPMPREPDIR := $(BUILDDIR)/redhat\nPKGDIR  := $(BUILDDIR)/pkg/rpm/\n\nRPMGEN_IN  := $(wildcard *.in)\nRPMGEN     := $(RPMGEN_IN:.in=)\nRPMFILES   := $(RPMGEN)\nRPMTARGETS := $(patsubst %, $(RPMPREPDIR)/%, $(RPMFILES))\n\nPKG_TIMESTAMP  := $(shell date -R)\nARCH           := $(shell uname -m)\nPKG_ARCH       ?= $(shell uname -m)\nPKG_MULTIARCH  ?= $(shell $(CXX) -print-multiarch)\nifeq ($(PKG_MULTIARCH),)\n# Hardwire the PKG_MULTIARCH directory as the RHEL6 distribution agnostic compiler (gcc 4.8.3) doesn't set it\nPKG_MULTIARCH  := $(ARCH)-linux-gnu\nendif\n\nprep : $(RPMTARGETS)\n\t$(MAKE) -C ../.. lic BUILDDIR=$(BUILDDIR)\n\nbuild : prep\n\t$(MAKE) -C ../.. src.build BUILDDIR=$(BUILDDIR)\n\t$(MAKE) -C ../txz build BUILDDIR=$(BUILDDIR)\n\t@printf \"Building Redhat package\\n\"\n\tmkdir -p $(PKGDIR)\n\trpmbuild --define \"_sourcedir $(BUILDDIR)/pkg/txz\" \\\n                 --define \"_rpmdir $(PKGDIR)\" \\\n                 --define \"_builddir $(PKGDIR)/build/\" \\\n                 --define \"_buildrootdir $(PKGDIR)/buildroot/\" \\\n                 -bb $(BUILDDIR)/redhat/nccl.spec\n\nclean:\n\trm -Rf $(RPMPREPDIR) $(PKGDIR)\n\n$(RPMPREPDIR)/% : %.in\n\t@printf \"Generating %-35s > %s\\n\" $< $@\n\tmkdir -p $(RPMPREPDIR)\n\tsed -e \"s/\\$${nccl:Major}/$(NCCL_MAJOR)/g\" \\\n\t    -e \"s/\\$${nccl:Minor}/$(NCCL_MINOR)/g\" \\\n\t    -e \"s/\\$${nccl:Patch}/$(NCCL_PATCH)/g\" \\\n\t    -e \"s/\\$${nccl:Suffix}/$(NCCL_SUFFIX)/g\" \\\n\t    -e \"s/\\$${cuda:Major}/$(CUDA_MAJOR)/g\" \\\n\t    -e \"s/\\$${cuda:Minor}/$(CUDA_MINOR)/g\" \\\n\t    -e \"s/\\$${pkg:Revision}/$(PKG_REVISION)/g\" \\\n\t    -e \"s/\\$${pkg:Timestamp}/$(PKG_TIMESTAMP)/g\" \\\n\t    -e \"s/\\$${pkg:Arch}/$(PKG_ARCH)/g\" \\\n\t    -e \"s/\\$${pkg:MultiArch}/$(PKG_MULTIARCH)/g\" \\\n\t    $< > $@\n\n$(RPMPREPDIR)/% : %\n\t@printf \"Grabbing   %-35s > %s\\n\" $< $@\n\tmkdir -p $(RPMPREPDIR)\n\tcp -f $< $@\n"
  },
  {
    "path": "pkg/redhat/nccl.spec.in",
    "content": "Name:           libnccl\nVersion:        ${nccl:Major}.${nccl:Minor}.${nccl:Patch}${nccl:Suffix}\nRelease:        ${pkg:Revision}+cuda${cuda:Major}.${cuda:Minor}\nSummary:        NVIDIA Collective Communication Library (NCCL) Runtime\n\nGroup:          Development/Libraries\nLicense:        BSD\nURL:            http://developer.nvidia.com/nccl\nSource0:        nccl_${nccl:Major}.${nccl:Minor}.${nccl:Patch}${nccl:Suffix}-${pkg:Revision}+cuda${cuda:Major}.${cuda:Minor}_${pkg:Arch}.txz\nRequires(pre,preun): /sbin/ldconfig\n\n%description\nNCCL (pronounced \"Nickel\") is a stand-alone library of standard collective\ncommunication routines for GPUs, implementing all-reduce, all-gather, reduce,\nbroadcast, and reduce-scatter.\nIt has been optimized to achieve high bandwidth on any platform using PCIe,\nNVLink, NVswitch, as well as networking using InfiniBand Verbs or TCP/IP\nsockets.\n\n%package devel\nSummary:        NVIDIA Collective Communication Library (NCCL) Runtime\nGroup:          Development/Libraries\nRequires:       libnccl >= ${nccl:Major}.${nccl:Minor}.${nccl:Patch}\n%description devel\nNCCL development files\n\n%package static\nSummary:        NVIDIA Collective Communication Library (NCCL) Runtime\nGroup:          Development/Libraries\n%description static\nNCCL static library\n\n%define debug_package %{nil}\n\n%prep\n%setup -n nccl_${nccl:Major}.${nccl:Minor}.${nccl:Patch}${nccl:Suffix}-${pkg:Revision}+cuda${cuda:Major}.${cuda:Minor}_${pkg:Arch} -q\n\n%build\n\n%install\nrm -rf $RPM_BUILD_ROOT\ninstall -m 755 -d $RPM_BUILD_ROOT\ninstall -m 755 -d $RPM_BUILD_ROOT/%{_libdir}\ninstall -m 755 lib/libnccl.so.${nccl:Major}.${nccl:Minor}.${nccl:Patch} $RPM_BUILD_ROOT/%{_libdir}\nln -s libnccl.so.${nccl:Major}.${nccl:Minor}.${nccl:Patch} $RPM_BUILD_ROOT/%{_libdir}/libnccl.so.${nccl:Major}\n\n# devel\ninstall -m 755 -d $RPM_BUILD_ROOT/%{_bindir}\ninstall -m 755 -d $RPM_BUILD_ROOT/%{_includedir}\ncp -a include/* $RPM_BUILD_ROOT/%{_includedir}/\ninstall -m 755 bin/ncclras $RPM_BUILD_ROOT/%{_bindir}\nln -s libnccl.so.${nccl:Major} $RPM_BUILD_ROOT/%{_libdir}/libnccl.so\n\n# static\ninstall -m 644 lib/libnccl_static.a $RPM_BUILD_ROOT/%{_libdir}\n\n%post -p /sbin/ldconfig\n%postun -p /sbin/ldconfig\n\n%post devel -p /sbin/ldconfig\n%postun devel -p /sbin/ldconfig\n\n%clean\nrm -rf $RPM_BUILD_ROOT\n\n%files devel\n%doc LICENSE.txt\n%defattr(-,root,root,-)\n%{_bindir}/ncclras\n%{_includedir}/*\n%{_libdir}/libnccl.so\n\n%files static\n%doc LICENSE.txt\n%defattr(-,root,root,-)\n%{_libdir}/libnccl_static.a\n\n%files\n%doc LICENSE.txt\n%defattr(-,root,root,-)\n%{_libdir}/libnccl.so.${nccl:Major}\n%{_libdir}/libnccl.so.${nccl:Major}.${nccl:Minor}.${nccl:Patch}\n\n%changelog\n"
  },
  {
    "path": "pkg/srctxz/Makefile",
    "content": "#\n# Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n\ninclude ../../makefiles/common.mk\ninclude ../../makefiles/version.mk\nBUILDDIR ?= $(abspath ../../build)\nTXZPREPDIR  := $(BUILDDIR)/srctxz\nPKGDIR  := $(BUILDDIR)/pkg/srctxz/\n\nTXZGEN_IN  := $(wildcard *.in)\nTXZGEN     := $(TXZGEN_IN:.in=)\nTXZTARGETS := $(patsubst %, $(TXZPREPDIR)/%, $(TXZGEN))\n\nPKG_REVISION   ?= 3\nPKG_ARCH       := $(shell uname -m)\n\nprep: $(TXZTARGETS)\n\nbuild: prep\n\t$(MAKE) -C ../../src clean\n\t@printf \"Building source tar.xz package\\n\"\n\t(cd $(BUILDDIR); SRCTXZ_APITESTS=$(SRCTXZ_APITESTS) bash srctxz/create_srctxz.sh)\n\tmkdir -p $(PKGDIR)\n\tmv $(BUILDDIR)/../../nccl-src*.txz $(PKGDIR)\n\nclean:\n\trm -Rf $(TXZPREPDIR) $(PKGDIR)\n\n$(TXZPREPDIR)/% : %.in\n\t@printf \"Generating %-35s > %s\\n\" $< $@\n\tmkdir -p $(TXZPREPDIR)\n\tsed -e \"s/\\$${nccl:Major}/$(NCCL_MAJOR)/g\" \\\n\t    -e \"s/\\$${nccl:Minor}/$(NCCL_MINOR)/g\" \\\n\t    -e \"s/\\$${nccl:Patch}/$(NCCL_PATCH)/g\" \\\n\t    -e \"s/\\$${nccl:Suffix}/$(NCCL_SUFFIX)/g\" \\\n\t    -e \"s/\\$${pkg:Revision}/$(PKG_REVISION)/g\" \\\n\t    $< > $@\n"
  },
  {
    "path": "pkg/srctxz/create_srctxz.sh.in",
    "content": "#!/bin/bash\n#\n# Copyright (c) 2017-2019, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n\n# To run from $BUILDDIR/\n\ncd ..\nNCCLDIR=`basename $PWD`\n\necho \"Checking for unclean directory ...\"\ngit clean -x -i\necho \"Clean done.\"\necho \"Checking for uncommited files ...\"\nif [ \"`git status -s | wc -l`\" != \"0\" ]; then\n  git status -s\n  echo \"Some changes are not committed yet. Continue ? (Ctrl-C to abort)\"\n  read\nfi\n\ncd ..\nNCCL_MAJOR=${nccl:Major}\nNCCL_MINOR=${nccl:Minor}\nNCCL_PATCH=${nccl:Patch}\nNCCL_SUFFIX=${nccl:Suffix}\nNCCL_BUILD=${pkg:Revision}\n\nNCCLNAME=\"nccl-src_${NCCL_MAJOR}.${NCCL_MINOR}.${NCCL_PATCH}${NCCL_SUFFIX}-${NCCL_BUILD}\"\nif [ \"${SRCTXZ_APITESTS}\" = \"1\" ]; then\n  NCCLNAME+=\"-apitest\"\nfi\n\n\nINCLUDE_TEST_ENTRIES=(\"apitest\" \"googletest\" \"gtest.mk\")\n\nif [ \"${SRCTXZ_APITESTS}\" = \"1\" ]; then\n  # Exclude all entries inside test folder except those in INCLUDE_TEST_ENTRIES\n  for entry in $(ls $NCCLDIR/test); do\n    if [[ ! \" ${INCLUDE_TEST_ENTRIES[@]} \" =~ \" $entry \" ]]; then\n      EXCLUDE_TEST+=\" --exclude $NCCLDIR/test/$entry\"\n    fi\n  done\nelse\n  # Exclude the entire test directory\n  EXCLUDE_TEST+=\" --exclude test\"\nfi\n\ntar --exclude fortran \\\n    --exclude doc \\\n    --exclude plc \\\n    --exclude build \\\n    --exclude \".git*\" \\\n    --exclude share \\\n    --exclude ompi \\\n    --exclude ext-net \\\n    --exclude pkg/srctxz \\\n    --exclude docker \\\n    $EXCLUDE_TEST \\\n    --transform \"s/^$NCCLDIR/$NCCLNAME/\" -Jcf $NCCLNAME.txz --owner=0 --group=0 $NCCLDIR\n"
  },
  {
    "path": "pkg/txz/Makefile",
    "content": "#\n# Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n\ninclude ../../makefiles/common.mk\ninclude ../../makefiles/version.mk\nBUILDDIR ?= $(abspath ../../build)\nTXZPREPDIR  := $(BUILDDIR)/txz\nPKGDIR  := $(BUILDDIR)/pkg/txz/\n\nTXZGEN_IN  := $(wildcard *.in)\nTXZGEN     := $(TXZGEN_IN:.in=)\nTXZTARGETS := $(patsubst %, $(TXZPREPDIR)/%, $(TXZGEN))\n\nPKG_ARCH   := $(shell uname -m)\n\nprep: $(TXZTARGETS)\n\t$(MAKE) -C ../.. lic BUILDDIR=$(BUILDDIR)\n\nbuild: prep\n\t$(MAKE) -C ../.. src.build BUILDDIR=$(BUILDDIR)\n\t@printf \"Building tar.xz package\\n\"\n\t(cd $(BUILDDIR); bash txz/create_txz.sh)\n\tmkdir -p $(PKGDIR)\n\tmv $(BUILDDIR)/../nccl*.txz $(PKGDIR)\n\nclean:\n\trm -Rf $(TXZPREPDIR) $(PKGDIR)\n\n$(TXZPREPDIR)/% : %.in\n\t@printf \"Generating %-35s > %s\\n\" $< $@\n\tmkdir -p $(TXZPREPDIR)\n\tsed -e \"s/\\$${nccl:Major}/$(NCCL_MAJOR)/g\" \\\n\t    -e \"s/\\$${nccl:Minor}/$(NCCL_MINOR)/g\" \\\n\t    -e \"s/\\$${nccl:Patch}/$(NCCL_PATCH)/g\" \\\n\t    -e \"s/\\$${nccl:Suffix}/$(NCCL_SUFFIX)/g\" \\\n\t    -e \"s/\\$${cuda:Major}/$(CUDA_MAJOR)/g\" \\\n\t    -e \"s/\\$${cuda:Minor}/$(CUDA_MINOR)/g\" \\\n\t    -e \"s/\\$${pkg:Revision}/$(PKG_REVISION)/g\" \\\n\t    -e \"s/\\$${pkg:Arch}/$(PKG_ARCH)/g\" \\\n\t    $< > $@\n"
  },
  {
    "path": "pkg/txz/create_txz.sh.in",
    "content": "#!/bin/bash\n#\n# Copyright (c) 2017-2019, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n\n# To run from $BUILDDIR/\n\nBUILDDIR=`basename $PWD`\n\ncd ..\nNCCL_MAJOR=${nccl:Major}\nNCCL_MINOR=${nccl:Minor}\nNCCL_PATCH=${nccl:Patch}\nNCCL_SUFFIX=${nccl:Suffix}\nCUDA_MAJOR=${cuda:Major}\nCUDA_MINOR=${cuda:Minor}\nPKG_REVISION=${pkg:Revision}\nPKG_ARCH=${pkg:Arch}\n\nNCCLNAME=\"nccl_${NCCL_MAJOR}.${NCCL_MINOR}.${NCCL_PATCH}${NCCL_SUFFIX}-${PKG_REVISION}+cuda${CUDA_MAJOR}.${CUDA_MINOR}_${PKG_ARCH}\"\n\ntar --transform \"s/^$BUILDDIR/$NCCLNAME/\" -Jcf $NCCLNAME.txz --owner=0 --group=0 $BUILDDIR/bin $BUILDDIR/include $BUILDDIR/lib $BUILDDIR/*.txt\n"
  },
  {
    "path": "rtest.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<testset>\n    <!-- Typically run with environment variables NCCL_DEBUG=INFO HSA_FORCE_FINE_GRAIN_PCIE=1 -->\n    <var name=\"GTEST_FILTER\">rccl-UnitTests  --gtest_color=yes --gtest_filter=</var>\n    <test sets=\"psdb\">\n        <run name=\"all-psdb\">{GTEST_FILTER}*sum_float32* --gtest_output=xml:output_psdb.xml </run>\n    </test>\n    <test sets=\"osdb\">\n        <run name=\"all-osdb\">{GTEST_FILTER}* --gtest_output=xml:output_osdb.xml </run>\n    </test>\n</testset>\n"
  },
  {
    "path": "src/CMakeLists.txt",
    "content": "# Source files\nset(LIBSRCFILES\n    bootstrap.cc\n    channel.cc\n    ce_coll.cc\n    collectives.cc\n    debug.cc\n    enqueue.cc\n    group.cc\n    init.cc\n    init_nvtx.cc\n    proxy.cc\n    transport.cc\n    mnnvl.cc\n    allocator.cc\n    sym_kernels.cc\n    dev_runtime.cc\n)\n\n# Add compatibility shim if using static cudart\nif(CUDARTLIB STREQUAL \"cudart_static\")\n    list(APPEND LIBSRCFILES enhcompat.cc)\nendif()\n\n# Configure pkg-config file\nconfigure_file(\n    ${CMAKE_CURRENT_SOURCE_DIR}/nccl.pc.in\n    ${CMAKE_BINARY_DIR}/lib/pkgconfig/nccl.pc\n    @ONLY\n)\n\n# Add files from subdirectories\nadd_subdirectory(transport)\nadd_subdirectory(misc)\nadd_subdirectory(register)\nadd_subdirectory(graph)\nadd_subdirectory(plugin)\nadd_subdirectory(device)\nadd_subdirectory(nccl_device)\nadd_subdirectory(ras)\nadd_subdirectory(scheduler)\n\nadd_compile_options(-fmacro-prefix-map=${CMAKE_CURRENT_SOURCE_DIR}/=)\n\n# Add all source files\nlist(APPEND LIBSRCFILES\n    ${TRANSPORT_SOURCES}\n    ${MISC_SOURCES}\n    ${REGISTER_SOURCES}\n    ${GRAPH_SOURCES}\n    ${PLUGIN_SOURCES}\n    ${RAS_SOURCES}\n    ${SYM_SOURCES}\n    ${SCHEDULER_SOURCES}\n)\n\n###################### Create a shared NCCL library ############################\nadd_library(nccl SHARED)\n\ntarget_sources(nccl PRIVATE ${LIBSRCFILES})\n\n# Include directories\ntarget_include_directories(nccl PUBLIC\n    ${CMAKE_CURRENT_SOURCE_DIR}/device\n    ${CMAKE_CURRENT_SOURCE_DIR}/include\n    ${CMAKE_CURRENT_SOURCE_DIR}/include/plugin\n    ${CUDAToolkit_INCLUDE_DIRS}\n    ${CUDAToolkit_INCLUDE_DIRS}/cccl\n)\n\nadd_custom_command(\n    OUTPUT ${CMAKE_BINARY_DIR}/include/nccl.h\n    COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/include\n    COMMAND sed -e \"s/\\\\\\$$\\\\{nccl:Major\\\\}/${NCCL_MAJOR}/g\"\n                -e \"s/\\\\\\$$\\\\{nccl:Minor\\\\}/${NCCL_MINOR}/g\"\n                -e \"s/\\\\\\$$\\\\{nccl:Patch\\\\}/${NCCL_PATCH}/g\"\n                -e \"s/\\\\\\$$\\\\{nccl:Suffix\\\\}/${NCCL_SUFFIX}/g\"\n                -e \"s/\\\\\\$$\\\\{nccl:Version\\\\}/${NCCL_VERSION_CODE}/g\"\n                ${CMAKE_CURRENT_SOURCE_DIR}/nccl.h.in > ${CMAKE_BINARY_DIR}/include/nccl.h\n    BYPRODUCTS ${CMAKE_BINARY_DIR}/include/nccl.h\n)\n\nadd_custom_target(nccl_header DEPENDS ${CMAKE_BINARY_DIR}/include/nccl.h)\n\nadd_dependencies(nccl nccl_header)\n\n# Set version and output name\nset_target_properties(nccl PROPERTIES\n    VERSION ${NCCL_MAJOR}.${NCCL_MINOR}.${NCCL_PATCH}\n    SOVERSION ${NCCL_MAJOR}\n    OUTPUT_NAME \"nccl\"\n    PREFIX \"lib\"\n)\n\n# Set CUDA specific flags\nset_target_properties(nccl PROPERTIES\n    CUDA_SEPARABLE_COMPILATION ON\n    CUDA_RESOLVE_DEVICE_SYMBOLS ON\n    CUDA_ARCHITECTURES \"${CMAKE_CUDA_ARCHITECTURES}\"\n    POSITION_INDEPENDENT_CODE ON\n)\n\n# Link libraries\ntarget_link_libraries(nccl\n    PRIVATE\n    nccl_device\n    pthread\n    rt\n    dl\n    ${CUDAToolkit_LIBRARIES}\n    ${EXTRA_LIBS}\n)\n\n# Set output directories for nccl shared library\nset_target_properties(nccl PROPERTIES\n    LIBRARY_OUTPUT_DIRECTORY \"${CMAKE_BINARY_DIR}/lib\"\n)\n\n###################### Create a ras binary executable ############################\nset(RAS_BINSRCFILES ras/client.cc)\n\nadd_executable(ncclras ${RAS_BINSRCFILES})\n\ntarget_include_directories(ncclras PUBLIC\n    ${CMAKE_BINARY_DIR}/include\n    ${CUDAToolkit_INCLUDE_DIRS}\n)\n\nadd_dependencies(ncclras nccl_header)\n\ntarget_link_libraries(ncclras\n    PRIVATE\n    pthread\n    rt\n    dl\n)\n\n# Set output directory for ncclras executable\nset_target_properties(ncclras PROPERTIES\n    RUNTIME_OUTPUT_DIRECTORY \"${CMAKE_BINARY_DIR}/bin\"\n)\n\n###################### Create a static NCCL library ############################\nadd_library(nccl_static STATIC ${LIBSRCFILES})\n\n# Include directories\ntarget_include_directories(nccl_static PUBLIC\n    ${CMAKE_CURRENT_SOURCE_DIR}/device\n    ${CMAKE_CURRENT_SOURCE_DIR}/include\n    ${CMAKE_CURRENT_SOURCE_DIR}/include/plugin\n    ${CUDAToolkit_INCLUDE_DIRS}\n    ${CUDAToolkit_INCLUDE_DIRS}/cccl\n)\n\n# Add dependency on nccl_header\nadd_dependencies(nccl_static nccl_header)\n\n# Link libraries\ntarget_link_libraries(nccl_static\n    PRIVATE\n    nccl_device\n    pthread\n    rt\n    dl\n    ${CUDAToolkit_LIBRARIES}\n    ${EXTRA_LIBS}\n)\n\n# Set CUDA specific flags\nset_target_properties(nccl_static PROPERTIES\n    CUDA_SEPARABLE_COMPILATION ON\n    CUDA_RESOLVE_DEVICE_SYMBOLS ON\n    CUDA_ARCHITECTURES \"${CMAKE_CUDA_ARCHITECTURES}\"\n    POSITION_INDEPENDENT_CODE ON\n)\n\n# Set output directory for nccl_static library\nset_target_properties(nccl_static PROPERTIES\n    ARCHIVE_OUTPUT_DIRECTORY \"${CMAKE_BINARY_DIR}/lib\"\n)\n"
  },
  {
    "path": "src/Makefile",
    "content": "#\n# Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\ninclude ../makefiles/common.mk\ninclude ../makefiles/version.mk\n\n##### src files\nINCEXPORTS  := nccl.h nccl_device.h \\\n\t$(patsubst include/%,%,$(wildcard include/nccl_device/*.h include/nccl_device/impl/*.h))\n\nLIBSRCFILES := \\\n\tbootstrap.cc channel.cc collectives.cc debug.cc enqueue.cc group.cc \\\n\tinit.cc init_nvtx.cc proxy.cc transport.cc mnnvl.cc allocator.cc dev_runtime.cc sym_kernels.cc ce_coll.cc \\\n\t$(wildcard graph/*.cc) \\\n\t$(wildcard misc/*.cc) \\\n\t$(wildcard transport/*.cc) \\\n\t$(wildcard register/*.cc) \\\n\t$(wildcard plugin/*.cc) \\\n\t$(wildcard plugin/net/*.cc) \\\n\t$(wildcard plugin/tuner/*.cc) \\\n\t$(wildcard plugin/profiler/*.cc) \\\n\t$(wildcard nccl_device/*.cc) \\\n\t$(wildcard scheduler/*.cc) \\\n\t$(filter-out ras/client.cc,$(wildcard ras/*.cc))\nBINSRCFILES := ras/client.cc\n\n##### lib files\nLIBNAME     := libnccl.so\nSTATICLIBNAME := libnccl_static.a\n##### binaries\nBINNAME := ncclras\n##### pkgconfig files\nPKGCONFIGFILE := nccl.pc\n##### dirs\nBUILDDIR ?= $(abspath ../build)\nINCDIR := $(BUILDDIR)/include\nLIBDIR := $(BUILDDIR)/lib\nOBJDIR := $(BUILDDIR)/obj\nPKGDIR := $(BUILDDIR)/lib/pkgconfig\nBINDIR := $(BUILDDIR)/bin\n##### target files\nCUDARTLIB  ?= cudart_static\n\n# Use compatibility shim only with static cudart; see https://github.com/NVIDIA/nccl/issues/658\nifeq ($(CUDARTLIB), cudart_static)\n\tLIBSRCFILES += enhcompat.cc\nendif\n\nINCTARGETS := $(INCEXPORTS:%=$(INCDIR)/%)\nLIBSONAME  := $(LIBNAME:%=%.$(NCCL_MAJOR))\nLIBTARGET  := $(LIBNAME:%=%.$(NCCL_MAJOR).$(NCCL_MINOR).$(NCCL_PATCH))\nSTATICLIBTARGET := $(STATICLIBNAME)\nPKGTARGET  := $(PKGCONFIGFILE)\nLIBOBJ     := $(LIBSRCFILES:%.cc=$(OBJDIR)/%.o)\nBINOBJ     := $(BINSRCFILES:%.cc=$(OBJDIR)/%.o)\nDEPFILES   := $(LIBOBJ:%.o=%.d) $(BINOBJ:%.o=%.d)\nLDFLAGS    += -L${CUDA_LIB} -l$(CUDARTLIB) -lpthread -lrt -ldl\nINCPLUGIN  := include/plugin\n\nDEVMANIFEST := $(BUILDDIR)/obj/device/manifest\n\n##### rules\nbuild : lib staticlib binary\n\nlib : $(INCTARGETS) $(LIBDIR)/$(LIBTARGET) $(PKGDIR)/$(PKGTARGET)\n\nstaticlib : $(LIBDIR)/$(STATICLIBTARGET)\n\nbinary : $(BINDIR)/$(BINNAME)\n\n$(DEVMANIFEST): ALWAYS_REBUILD $(INCTARGETS)\n\t$(MAKE) -C ./device\n\n# Empty target to force rebuild\nALWAYS_REBUILD:\n\n-include $(DEPFILES)\n$(LIBDIR)/$(LIBTARGET) $(LIBDIR)/$(STATICLIBTARGET) : $(LIBOBJ)\n\n$(INCDIR)/nccl.h : nccl.h.in ../makefiles/version.mk\n# NCCL_VERSION(X,Y,Z) ((X) * 10000 + (Y) * 100 + (Z))\n\t@$(eval NCCL_VERSION := $(shell printf \"%d%02d%02d\" $(NCCL_MAJOR) $(NCCL_MINOR) $(NCCL_PATCH)))\n\tmkdir -p $(INCDIR)\n\t@printf \"Generating %-35s > %s\\n\" $< $@\n\tsed -e \"s/\\$${nccl:Major}/$(NCCL_MAJOR)/g\" \\\n\t    -e \"s/\\$${nccl:Minor}/$(NCCL_MINOR)/g\" \\\n\t    -e \"s/\\$${nccl:Patch}/$(NCCL_PATCH)/g\" \\\n\t    -e \"s/\\$${nccl:Suffix}/$(NCCL_SUFFIX)/g\" \\\n\t    -e \"s/\\$${nccl:Version}/$(NCCL_VERSION)/g\" \\\n\t    $< > $@\n\n$(LIBDIR)/$(LIBTARGET): $(LIBOBJ) $(DEVMANIFEST)\n\t@printf \"Linking    %-35s > %s\\n\" $(LIBTARGET) $@\n\tmkdir -p $(LIBDIR)\n\t$(CXX) $(CXXFLAGS) -shared -Wl,--no-as-needed -Wl,-soname,$(LIBSONAME) -o $@ $(LIBOBJ) $$(cat $(DEVMANIFEST)) $(LDFLAGS)\n\tln -sf $(LIBSONAME) $(LIBDIR)/$(LIBNAME)\n\tln -sf $(LIBTARGET) $(LIBDIR)/$(LIBSONAME)\n\n$(LIBDIR)/$(STATICLIBTARGET): $(LIBOBJ) $(DEVMANIFEST)\n\t@printf \"Archiving  %-35s > %s\\n\" $(STATICLIBTARGET) $@\n\tmkdir -p $(LIBDIR)\n\tar cr $@ $(LIBOBJ) $$(cat $(DEVMANIFEST))\n\n$(BINDIR)/$(BINNAME): $(BINOBJ)\n\t@printf \"Linking    %-35s > %s\\n\" $(BINNAME) $@\n\tmkdir -p $(BINDIR)\n\t$(CXX) $(CXXFLAGS) $^ -o $@\n\n$(PKGDIR)/nccl.pc : nccl.pc.in\n\tmkdir -p $(PKGDIR)\n\t@printf \"Generating %-35s > %s\\n\" $< $@\n\tsed -e 's|$${nccl:Prefix}|\\$(PREFIX)|g' \\\n\t    -e \"s/\\$${nccl:Major}/$(NCCL_MAJOR)/g\" \\\n\t    -e \"s/\\$${nccl:Minor}/$(NCCL_MINOR)/g\" \\\n\t    -e \"s/\\$${nccl:Patch}/$(NCCL_PATCH)/g\" \\\n\t    $< > $@\n\n$(INCDIR)/%.h : %.h\n\t@printf \"Grabbing   %-35s > %s\\n\" $< $@\n\tmkdir -p $(INCDIR)\n\tinstall -m 644 $< $@\n\n$(INCDIR)/nccl_%.h : include/nccl_%.h\n\t@printf \"Grabbing   %-35s > %s\\n\" $< $@\n\tmkdir -p $(INCDIR)\n\tinstall -m 644 $< $@\n\n$(INCDIR)/nccl_device/%.h: include/nccl_device/%.h\n\t@printf \"Grabbing   %-35s > %s\\n\" $< $@\n\tmkdir -p $(INCDIR)/nccl_device\n\tinstall -m 644 $< $@\n\n$(INCDIR)/nccl_device/impl/%.h: include/nccl_device/impl/%.h\n\t@printf \"Grabbing   %-35s > %s\\n\" $< $@\n\tmkdir -p $(INCDIR)/nccl_device/impl\n\tinstall -m 644 $< $@\n\n$(PKGDIR)/%.pc : %.pc\n\t@printf \"Grabbing   %-35s > %s\\n\" $< $@\n\tmkdir -p $(PKGDIR)\n\tinstall -m 644 $< $@\n\n$(OBJDIR)/%.o : %.cc $(INCTARGETS)\n\t@printf \"Compiling  %-35s > %s\\n\" $< $@\n\tmkdir -p `dirname $@`\n\t$(CXX) -I. -I$(INCDIR) $(CXXFLAGS) -Iinclude -I$(INCPLUGIN) -c $< -o $@\n\t@$(CXX) -I. -I$(INCDIR) $(CXXFLAGS) -Iinclude -I$(INCPLUGIN) -M $< > $(@:%.o=%.d.tmp)\n\t@sed \"0,/^.*:/s//$(subst /,\\/,$@):/\" $(@:%.o=%.d.tmp) > $(@:%.o=%.d)\n\t@sed -e 's/.*://' -e 's/\\\\$$//' < $(@:%.o=%.d.tmp) | fmt -1 | \\\n                sed -e 's/^ *//' -e 's/$$/:/' >> $(@:%.o=%.d)\n\t@rm -f $(@:%.o=%.d.tmp)\n\nclean :\n\t$(MAKE) -C device clean\n\trm -rf ${BINDIR} ${INCDIR} ${LIBDIR} ${PKGDIR} ${OBJDIR}\n\ninstall : build\n\tmkdir -p $(PREFIX)/lib\n\tmkdir -p $(PREFIX)/lib/pkgconfig\n\tmkdir -p $(PREFIX)/include\n\tmkdir -p $(PREFIX)/bin\n\tcp -P -v $(BUILDDIR)/lib/lib* $(PREFIX)/lib/\n\tcp -P -v $(BUILDDIR)/lib/pkgconfig/* $(PREFIX)/lib/pkgconfig/\n\tcp -v -r $(BUILDDIR)/include/* $(PREFIX)/include/\n\tcp -v $(BUILDDIR)/bin/ncclras $(PREFIX)/bin/\n\nFILESTOFORMAT := $(shell find . -name \".\\#*\" -prune -o \\( -name \"*.cc\" -o -name \"*.h\" \\) -print | grep -v -E 'ibvwrap.h|nvmlwrap.h|gdrwrap.h|nccl.h')\n# Note that formatting.mk defines a new target so in order to not overwrite the default target,\n# it shouldn't be included at the top. Also, it uses the above definition of FILESTOFORMAT as well\n# as the BUILDDIR variable.\ninclude ../makefiles/formatting.mk\n"
  },
  {
    "path": "src/allocator.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"transport.h\"\n#include \"group.h\"\n#include \"nvtx.h\"\n\nNCCL_API(ncclResult_t, ncclMemAlloc, void **ptr, size_t size);\nncclResult_t  ncclMemAlloc_impl(void **ptr, size_t size) {\n  NCCL_NVTX3_FUNC_RANGE;\n  ncclResult_t ret = ncclSuccess;\n\n#if ROCM_VERSION >= 70000\n  size_t memGran = 0;\n  CUdevice currentDev;\n  CUmemAllocationProp memprop = {};\n  CUmemAccessDesc accessDesc = {};\n  CUmemGenericAllocationHandle handle = (CUmemGenericAllocationHandle)-1;\n  int cudaDev;\n  int flag;\n  int dcnt;\n\n  if (ptr == NULL || size == 0) goto fallback;\n\n  // if (rocmLibraryInit() != ncclSuccess) goto fallback;\n  rocmLibraryInit();\n\n  CUDACHECK(cudaGetDevice(&cudaDev));\n  CUCHECK(cuDeviceGet(&currentDev, cudaDev));\n\n  if (ncclCuMemEnable()) {\n    size_t handleSize = size;\n    int requestedHandleTypes = CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR;\n    // Query device to see if FABRIC handle support is available\n    flag = 0;\n    (void) CUPFN(cuDeviceGetAttribute(&flag, CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED, currentDev));\n    if (flag) requestedHandleTypes |= CU_MEM_HANDLE_TYPE_FABRIC;\n    memprop.type = CU_MEM_ALLOCATION_TYPE_PINNED;\n    memprop.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n    memprop.requestedHandleTypes = (CUmemAllocationHandleType) requestedHandleTypes;\n    memprop.location.id = currentDev;\n    // Query device to see if RDMA support is available\n    flag = 0;\n    // CUCHECK(cuDeviceGetAttribute(&flag, CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED, currentDev));\n    if (flag) memprop.allocFlags.gpuDirectRDMACapable = 1;\n    CUCHECK(cuMemGetAllocationGranularity(&memGran, &memprop, CU_MEM_ALLOC_GRANULARITY_RECOMMENDED));\n    CUDACHECK(cudaGetDeviceCount(&dcnt));\n    ALIGN_SIZE(handleSize, memGran);\n\n    if (requestedHandleTypes & CU_MEM_HANDLE_TYPE_FABRIC) {\n      /* First try cuMemCreate() with FABRIC handle support and then remove if it fails */\n      CUresult err = CUPFN(cuMemCreate(&handle, handleSize, &memprop, 0));\n      if (err == CUDA_ERROR_NOT_SUPPORTED) {\n        requestedHandleTypes &= ~CU_MEM_HANDLE_TYPE_FABRIC;\n        memprop.requestedHandleTypes = (CUmemAllocationHandleType) requestedHandleTypes;\n        /* Allocate the physical memory on the device */\n        CUCHECK(cuMemCreate(&handle, handleSize, &memprop, 0));\n      } else if (err != CUDA_SUCCESS) {\n        // Catch and report any error from above\n        CUCHECK(cuMemCreate(&handle, handleSize, &memprop, 0));\n      }\n    } else {\n      /* Allocate the physical memory on the device */\n      CUCHECK(cuMemCreate(&handle, handleSize, &memprop, 0));\n    }\n    /* Reserve a virtual address range */\n    CUCHECK(cuMemAddressReserve((CUdeviceptr*)ptr, handleSize, memGran, 0, 0));\n    /* Map the virtual address range to the physical allocation */\n    CUCHECK(cuMemMap((CUdeviceptr)*ptr, handleSize, 0, handle, 0));\n    /* Now allow RW access to the newly mapped memory */\n    for (int i = 0; i < dcnt; ++i) {\n      int p2p = 0;\n      if (i == cudaDev || ((cudaDeviceCanAccessPeer(&p2p, i, cudaDev) == cudaSuccess) && p2p)) {\n        accessDesc.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n        accessDesc.location.id = i;\n        accessDesc.flags = CU_MEM_ACCESS_FLAGS_PROT_READWRITE;\n        CUCHECK(cuMemSetAccess((CUdeviceptr)*ptr, handleSize, &accessDesc, 1));\n      }\n      if (0 == p2p && i != cudaDev) INFO(NCCL_ALLOC, \"P2P not supported between GPU%d and GPU%d\", cudaDev, i);\n    }\n    goto exit;\n  }\n\nfallback:\n#endif\n  // Coverity is right to complain that we may pass a NULL ptr to cudaMalloc.  That's deliberate though:\n  // we want CUDA to return an error to the caller.\n  // coverity[var_deref_model]\n  CUDACHECKGOTO(cudaMalloc(ptr, size), ret, fail);\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\nNCCL_API(ncclResult_t, ncclMemFree, void *ptr);\nncclResult_t  ncclMemFree_impl(void *ptr) {\n  NCCL_NVTX3_FUNC_RANGE;\n  ncclResult_t ret = ncclSuccess;\n  int saveDevice;\n\n  CUDACHECK(cudaGetDevice(&saveDevice));\n#if ROCM_VERSION >= 70000\n  CUdevice ptrDev = 0;\n\n  if (ptr == NULL) goto fallback;\n  // if (rocmLibraryInit() != ncclSuccess) goto fallback;\n  rocmLibraryInit();\n\n  CUCHECKGOTO(cuPointerGetAttribute((void*)&ptrDev, CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL, (CUdeviceptr)ptr), ret, fail);\n  CUDACHECKGOTO(cudaSetDevice((int)ptrDev), ret, fail);\n  if (ncclCuMemEnable()) {\n    NCCLCHECKGOTO(ncclCuMemFree(ptr), ret, fail);\n    goto exit;\n  }\n\nfallback:\n#endif\n  CUDACHECKGOTO(cudaFree(ptr), ret, fail);\n\nexit:\n  CUDACHECK(cudaSetDevice(saveDevice));\n  return ret;\nfail:\n  goto exit;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// ncclSpace:\n//\n// This datastructure \"cuts\" the line of non-negative integers into segments\n// which alternate between \"full\" (allocated) and \"empty\" (not allocated). The\n// cuts are sorted ascending. The segment after the last cut must be empty\n// (the unallocated frontier). Knwoing this we can deduce whether the segment\n// ending at cut[i] is full or empty with this formula:\n//   isFull(i) = (i%2 != ncuts%2)\n\nvoid ncclSpaceConstruct(struct ncclSpace* a) {\n  memset(a, 0, sizeof(*a));\n}\n\nvoid ncclSpaceDestruct(struct ncclSpace* a) {\n  free(a->cuts);\n}\n\nstatic void insertSegment(struct ncclSpace* a, int index, int64_t lo, int64_t hi) {\n  // Insert space for two cuts in `a->cuts[]` before `index`.\n  if (a->count + 2 > a->capacity) {\n    a->capacity *= 2;\n    if (a->capacity == 0) a->capacity = 16;\n    int64_t* cuts1 = (int64_t*)malloc(a->capacity*sizeof(int64_t));\n    for (int i=0; i < index; i++) cuts1[i] = a->cuts[i];\n    for (int i=index; i < a->count; i++) cuts1[i+2] = a->cuts[i];\n    free(a->cuts);\n    a->cuts = cuts1;\n  } else {\n    for (int i=a->count-1; index <= i; i--) a->cuts[i+2] = a->cuts[i];\n  }\n  a->cuts[index+0] = lo;\n  a->cuts[index+1] = hi;\n  a->count += 2;\n\n  // Filter pairs of adjacent repeated values from cuts[]. Since these mark\n  // boundaries where segments transition between full<->empty, dropping such a\n  // pair fuses two adjacent segments together. Examples:\n  //   [1,2,3,3,4] -> [1,2,4]\n  //   [1,2,3,3,3,4] -> [1,2,3,4] // have to leave one 3 because its a full<->empty transition\n  //   [1,2,3,3,3,3,4] -> [1,2,4]\n  // Leading zeros don't have to be in pairs, they are always dropped:\n  //   [0,1,2] -> [1,2]\n  //   [0,0,1,2] -> [1,2]\n  int r = index, w = index; // Read and write cursors.\n  int64_t prev = r==0 ? 0 : a->cuts[r-1];\n  while (r < a->count) {\n    int64_t cur = a->cuts[r++];\n    a->cuts[w++] = cur;\n    if (prev == cur) { // Repeated value is an empty segment which can be deleted.\n      // Erase last two cuts or just one if we're at the start.\n      w -= w==1 ? 1 : 2;\n      // Zeros can only occur at the beginning (due to being sorted). We want to\n      // drop any number of zeros, but only even numbers of other repeated values.\n      // So set to zero here, which will make prev=0, thus if next value is zero\n      // it will be dropped but if its not zero then it will need to begin a new\n      // pair to be dropped.\n      cur = 0;\n    }\n    prev = cur;\n  }\n  a->count = w;\n}\n\nncclResult_t ncclSpaceAlloc(\n    struct ncclSpace* a, int64_t limit, int64_t size, int align,\n    int64_t* outOffset\n  ) {\n  // When allocating we try to locate the first empty segment which can hold\n  // the allocation and move its lower cut upward.\n  int i = a->count%2; // First empty segment ends at cuts[i]\n  size_t off;\n  while (i <= a->count) {\n    size_t lo = i == 0 ? 0 : a->cuts[i-1];\n    size_t hi = i == a->count ? limit : a->cuts[i];\n    off = alignUp(lo, align);\n    if (off + size <= hi) {\n      *outOffset = off;\n      if (i == 0 || off + size == hi) { // Slow path required.\n        insertSegment(a, i, off, off+size);\n      } else { // We can just append to the end of a full segment.\n        a->cuts[i-1] = off + size;\n      }\n      return ncclSuccess;\n    }\n    i += 2; // Next empty segment\n  }\n  WARN(\"Allocation failed. No suitable space found to accommodate size=0x%lx within limit=0x%lx\", (long)size, (long)limit);\n  return ncclInternalError;\n}\n\nncclResult_t ncclSpaceFree(struct ncclSpace* a, int64_t offset, int64_t size) {\n  if (a->count == 0 || a->cuts[a->count-1] <= offset) {\n    WARN(\"No allocation found at offset=0x%lx\", (long)offset);\n    return ncclInternalError;\n  }\n\n  // This could be binary search, but since allocate is linear there's no point.\n  int i = 1 - a->count%2; // First full segment ends at cuts[i]\n  while (a->cuts[i] <= offset) i += 2;\n\n  int64_t lo = i==0 ? 0 : a->cuts[i-1];\n  int64_t hi = a->cuts[i];\n\n  if (offset < lo || hi < offset + size) {\n    WARN(\"Given size=0x%lx extends beyond allocation.\", (long)size);\n    return ncclInternalError;\n  }\n\n  // First try the two fast cases which just shrink a segment from one side.\n  if (i != 0 && lo == offset && offset + size != hi) {\n    a->cuts[i-1] = offset + size; // Bring bottom up.\n  } else if (lo != offset && offset + size == hi) {\n    a->cuts[i] = offset; // Bring top down.\n  } else { // Slow path.\n    insertSegment(a, i, offset, offset+size);\n  }\n  return ncclSuccess;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// ncclShadowPool:\n\nstruct ncclShadowPage { // A contiguous block of (at most) 64 objects\n  struct ncclShadowPage* next;\n  int objSize;\n  uint64_t freeMask;\n  void* devObjs;\n};\nstruct ncclShadowObject {\n  struct ncclShadowObject* next;\n  void* devObj;\n  void* hostObj;\n  struct ncclShadowPage* page; // null if not allocated in page but directly in CUDA mempool.\n};\n\nvoid ncclShadowPoolConstruct(struct ncclShadowPool* pool) {\n  pool->hbits = 0;\n  pool->count = 0;\n  pool->table = nullptr;\n  pool->pages = nullptr;\n}\n\nncclResult_t ncclShadowPoolDestruct(struct ncclShadowPool* pool) {\n  if (pool->hbits != 0) {\n    cudaStream_t stream;\n    CUDACHECK(cudaStreamCreateWithFlags(&stream, cudaStreamNonBlocking));\n\n    if (pool->count != 0) {\n      for (int i=0; i < 1<<pool->hbits; i++) {\n        struct ncclShadowObject* obj = pool->table[i];\n        while (obj != nullptr) {\n          struct ncclShadowPage* page = obj->page;\n          if (page != nullptr) {\n            if (page->freeMask == 0) { // Put full pages back into page list.\n              page->freeMask = 1;\n              page->next = pool->pages;\n              pool->pages = page;\n            }\n          } else {\n            cudaFreeAsync(obj->devObj, stream);\n          }\n          struct ncclShadowObject* next = obj->next;\n          free(obj);\n          obj = next;\n        }\n      }\n    }\n    free(pool->table);\n\n    while (pool->pages != nullptr) {\n      cudaFreeAsync(pool->pages->devObjs, stream);\n      struct ncclShadowPage* next = pool->pages->next;\n      free(pool->pages);\n      pool->pages = next;\n    }\n\n    cudaStreamSynchronize(stream);\n    cudaStreamDestroy(stream);\n    cudaMemPoolDestroy(pool->memPool);\n  }\n  return ncclSuccess;\n}\n\nstatic int hashBucket(int hbits, void* devObj) {\n  uintptr_t h = reinterpret_cast<uintptr_t>(devObj);\n  h ^= h>>32;\n  h *= 0x9e3779b97f4a7c13;\n  return (uint64_t)h >> (64-hbits);\n}\n\nstatic void hashInsert(struct ncclShadowPool* pool, struct ncclShadowObject* obj) {\n  int b = hashBucket(pool->hbits, obj->devObj);\n  obj->next = pool->table[b];\n  pool->table[b] = obj;\n}\n\nncclResult_t ncclShadowPoolAlloc(\n    struct ncclShadowPool* pool, size_t size, void** outDevObj, void** outHostObj,\n    cudaStream_t stream\n  ) {\n  if (size == 0) {\n    if (outDevObj) *outDevObj = nullptr;\n    if (outHostObj) *outHostObj = nullptr;\n    return ncclSuccess;\n  }\n\n  int hbits = pool->hbits;\n  if (hbits == 0) {\n    cudaMemPoolProps props = {};\n    props.allocType = cudaMemAllocationTypePinned;\n    props.handleTypes = cudaMemHandleTypeNone;\n    props.location.type = cudaMemLocationTypeDevice;\n    cudaGetDevice(&props.location.id);\n    CUDACHECK(cudaMemPoolCreate(&pool->memPool, &props));\n\n    pool->hbits = hbits = 4;\n    pool->table = (struct ncclShadowObject**)malloc(sizeof(struct ncclShadowObject*)<<hbits);\n    for (int i=0; i < 1<<hbits; i++) pool->table[i] = nullptr;\n  }\n\n  // Check for hash table size increase before inserting. Maintain 2:1 object:bucket ratio.\n  if (pool->count+1 > 2<<hbits) {\n    struct ncclShadowObject** table0 = pool->table;\n    struct ncclShadowObject** table1 = (struct ncclShadowObject**)malloc(sizeof(struct ncclShadowObject*)<<(hbits+1));\n    pool->table = table1;\n    pool->hbits = hbits+1;\n    for (int i1=0; i1 < 2<<hbits; i1++) table1[i1] = nullptr;\n    for (int i0=0; i0 < 1<<hbits; i0++) {\n      struct ncclShadowObject* obj = table0[i0];\n      while (obj) {\n        struct ncclShadowObject* next = obj->next;\n        hashInsert(pool, obj);\n        obj = next;\n      }\n    }\n    hbits += 1; // match pool->hbits\n    free(table0);\n  }\n\n  struct ncclShadowPage* page;\n  void *devObj;\n  if ((64<<10)/size >= 3) {\n    int shift = std::max<int>(0, (int)log2Down(size) + 1 - 4);\n    int pageObjSize = ((size + (1<<shift)-1)>>shift)<<shift;\n    struct ncclShadowPage** pagePtr = &pool->pages;\n    while (true) {\n      page = *pagePtr;\n      if (page == nullptr) {\n        size_t pageSize = std::min<size_t>(64<<10, 64*pageObjSize);\n        page = (struct ncclShadowPage*)malloc(sizeof(struct ncclShadowPage));\n        page->objSize = pageObjSize;\n        page->freeMask = uint64_t(-1)>>(64 - pageSize/pageObjSize);\n        page->next = pool->pages;\n        pool->pages = page;\n        CUDACHECK(cudaMallocFromPoolAsync(&page->devObjs, pageSize, pool->memPool, stream));\n        CUDACHECK(cudaMemsetAsync(page->devObjs, 0, pageSize, stream));\n        // fall through...\n      }\n      if (page->objSize == pageObjSize) {\n        int slot = popFirstOneBit(&page->freeMask);\n        devObj = (char*)page->devObjs + slot*pageObjSize;\n        if (page->freeMask == 0) *pagePtr = page->next; // Remove full page from list.\n        break;\n      }\n      pagePtr = &page->next;\n    }\n  } else {\n    page = nullptr;\n    CUDACHECK(cudaMallocFromPoolAsync(&devObj, size, pool->memPool, stream));\n    CUDACHECK(cudaMemsetAsync(devObj, 0, size, stream));\n  }\n\n  struct ncclShadowObject* obj = (struct ncclShadowObject*)malloc(\n    sizeof(struct ncclShadowObject) + /*padding=*/alignof(max_align_t)-1 + size\n  );\n  obj->page = page;\n  obj->devObj = devObj;\n  obj->hostObj = alignUp((char*)(obj+1), alignof(max_align_t));\n  memset(obj->hostObj, 0, size);\n  hashInsert(pool, obj);\n  pool->count += 1;\n  if (outDevObj) *outDevObj = devObj;\n  if (outHostObj) *outHostObj = obj->hostObj;\n  return ncclSuccess;\n}\n\nncclResult_t ncclShadowPoolFree(struct ncclShadowPool* pool, void* devObj, cudaStream_t stream) {\n  if (devObj == nullptr) return ncclSuccess;\n\n  int b = hashBucket(pool->hbits, devObj);\n  struct ncclShadowObject** pobj = &pool->table[b];\n  while (true) {\n    if (*pobj == nullptr) {\n      WARN(\"Device object does not exist in shadow pool.\");\n      return ncclInternalError;\n    }\n    if ((*pobj)->devObj == devObj) break;\n    pobj = &(*pobj)->next;\n  }\n  struct ncclShadowObject* obj = *pobj;\n  *pobj = obj->next;\n  if (obj->page != nullptr) {\n    if (obj->page->freeMask == 0) {\n      obj->page->next = pool->pages;\n      pool->pages = obj->page;\n    }\n    int slot = ((char*)obj->devObj - (char*)obj->page->devObjs)/obj->page->objSize;\n    obj->page->freeMask |= uint64_t(1)<<slot;\n  } else {\n    CUDACHECK(cudaFreeAsync(devObj, stream));\n  }\n  free(obj);\n  pool->count -= 1;\n  return ncclSuccess;\n}\n\nncclResult_t ncclShadowPoolToHost(struct ncclShadowPool* pool, void* devObj, void** hostObj) {\n  if (devObj == nullptr) {\n    *hostObj = nullptr;\n    return ncclSuccess;\n  }\n\n  int b = hashBucket(pool->hbits, devObj);\n  struct ncclShadowObject* obj = pool->table[b];\n  while (true) {\n    if (obj == nullptr) {\n      WARN(\"Device object does not exist in shadow pool.\");\n      return ncclInternalError;\n    }\n    if (obj->devObj == devObj) break;\n    obj = obj->next;\n  }\n  *hostObj = obj->hostObj;\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/bootstrap.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nccl.h\"\n#include \"core.h\"\n#include \"utils.h\"\n#include \"bootstrap.h\"\n#include \"net.h\"\n#include <unistd.h>\n#include <sys/types.h>\n#include \"proxy.h\"\n#include \"signals.h\" // [RCCL]\n#include \"param.h\"\n#include \"ras.h\"\n#include <mutex>\n\n#define BOOTSTRAP_N_CHECK_ABORT           10000\n#define BOOTSTRAP_TAG_CONNECT             (0x1 << 31)\n#define BOOTSTRAP_TAG_ALLGATHER           (0x1 << 30)\n#define BOOTSTRAP_TAG_COMMSPLIT           (0x1 << 29)\n#define BOOTSTRAP_TAG_INTRANODE_ALLGATHER (0x1 << 28)\n\n#define BOOTSTRAP_INIT_TIME_CREATE 0\n#define BOOTSTRAP_INIT_TIME_SEND   1\n#define BOOTSTRAP_INIT_TIME_RECV   2\n#define BOOTSTRAP_INIT_TIME_RING   3\n#define BOOTSTRAP_INIT_TIME_TOTAL  4\n#define BOOTSTRAP_INIT_TIME_DELAY  5\n#define BOOTSTRAP_INIT_TIME_N      6\n#define BOOTSTRAP_INIT_ROOT_WAIT   0\n#define BOOTSTRAP_INIT_ROOT_SEND   1\n#define BOOTSTRAP_INIT_ROOT_RECV   2\n#define BOOTSTRAP_INIT_ROOT_N      3\n#define BOOTSTRAP_PROF_OPEN(time) \\\n  do {                            \\\n    time = clockNano();           \\\n  } while (0)\n#define BOOTSTRAP_PROF_CLOSE(time) \\\n  do {                             \\\n    time = clockNano() - time;     \\\n  } while (0)\n\n#define BOOTSTRAP_PID(i, n) (((i) + (n)) % (n))\n// returns the first rank associated to the root. must have root >=0\n// if root >= n_roots, it does NOT assume periodicity\nstatic int firstRankFromRoot(int root, int n_ranks, int nRoots) {\n  return root * (n_ranks / nRoots) + std::min(root, n_ranks % nRoots);\n}\n// returns the root of a rank, must have rank >=0\n// if rank >= n_ranks, it does NOT assume periodicity\nstatic int rootIdFromRank(int rank, int nRanks, int nRoots) {\n  int rmr = nRanks % nRoots; // rank mod root\n  int rpr = nRanks / nRoots; // rank per root\n  int D = rmr * (rpr + 1);\n  if (rank < D)\n    return rank / (rpr + 1);\n  else\n    return (rank - D) / rpr + rmr;\n}\n// return the number of child for a root, root will be periodized\nstatic int nRankFromRoot(int root, int nRanks, int nRoots) {\n  int ir = BOOTSTRAP_PID(root, nRoots);\n  int rmr = nRanks % nRoots; // rank mod root\n  int rpr = nRanks / nRoots; // rank per root\n  return rpr + ((ir < rmr) ? 1 : 0);\n}\n// return the local id of a given rank for a given root\n// root will be periodize, rank will not\nstatic int localIdFromRoot(int rank, int root, int nRanks, int nRoots) {\n  int ir = BOOTSTRAP_PID(root, nRoots);\n  return rank - firstRankFromRoot(ir, nRanks, nRoots);\n}\n// Check if the given rank is the first rank from the root\nstatic int isFirstFromRoot(int rank, int root, int nRanks, int nRoots) {\n  return (rank == firstRankFromRoot(root, nRanks, nRoots));\n}\n\nstruct bootstrapRootArgs {\n  struct ncclSocket* listenSock;\n  uint64_t magic;\n};\n\n/* Init functions */\nstatic char bootstrapNetIfName[MAX_IF_NAME_SIZE+1];\nstatic union ncclSocketAddress bootstrapNetIfAddr;\nstatic int bootstrapNetInitDone = 0;\nstatic std::mutex bootstrapNetMutex;\n\nNCCL_PARAM(BootstrapNetEnable,\"OOB_NET_ENABLE\", 0);\n\nncclResult_t bootstrapNetInit() {\n  if (bootstrapNetInitDone == 0) {\n    std::lock_guard<std::mutex> lock(bootstrapNetMutex);\n    if (bootstrapNetInitDone == 0) {\n      const char* env = ncclGetEnv(\"NCCL_COMM_ID\");\n      int nIfs = 0;\n      if (env) {\n        union ncclSocketAddress remoteAddr;\n        if (ncclSocketGetAddrFromString(&remoteAddr, env) != ncclSuccess) {\n          WARN(\"Invalid NCCL_COMM_ID, please use format: <ipv4>:<port> or [<ipv6>]:<port> or <hostname>:<port>\");\n          return ncclInvalidArgument;\n        }\n        NCCLCHECK(ncclFindInterfaceMatchSubnet(bootstrapNetIfName, &bootstrapNetIfAddr, &remoteAddr, MAX_IF_NAME_SIZE,\n                                               &nIfs));\n        if (nIfs <= 0) {\n          WARN(\"NET/Socket : No usable listening interface found\");\n          return ncclSystemError;\n        }\n      } else {\n        NCCLCHECK(ncclFindInterfaces(bootstrapNetIfName, &bootstrapNetIfAddr, MAX_IF_NAME_SIZE, 1, &nIfs));\n        if (nIfs <= 0) {\n          WARN(\"Bootstrap : no socket interface found\");\n          return ncclInvalidUsage;\n        }\n      }\n      char line[SOCKET_NAME_MAXLEN+MAX_IF_NAME_SIZE+2];\n      snprintf(line, sizeof(line), \" %s:\", bootstrapNetIfName);\n      ncclSocketToString(&bootstrapNetIfAddr, line+strlen(line));\n      INFO(NCCL_BOOTSTRAP, \"Bootstrap: Using%s\", line);\n      bootstrapNetInitDone = 1;\n    }\n  }\n  return ncclSuccess;\n}\n\n/* Socket Interface Selection type */\nenum bootstrapInterface_t { findSubnetIf = -1, dontCareIf = -2 };\n\n// check abort function\nstatic ncclResult_t checkAbort(volatile uint32_t* flag, int* cntr) {\n  if ((*cntr % BOOTSTRAP_N_CHECK_ABORT) == 0) {\n    if (flag && __atomic_load_n(flag, __ATOMIC_ACQUIRE)) {\n      TRACE(NCCL_BOOTSTRAP, \"bootstrap: abort called\");\n      return ncclInternalError;\n    }\n  }\n  *cntr = (*cntr + 1) % BOOTSTRAP_N_CHECK_ABORT;\n  return ncclSuccess;\n}\n// send/recv functions\nstatic ncclResult_t netReg(ncclNet_t* net, void* comm, void* data, int size, void** handle) {\n  NCCLCHECK(net->regMr(comm, data, size, NCCL_PTR_HOST, handle));\n  return ncclSuccess;\n}\nstatic ncclResult_t netDereg(ncclNet_t* net, void* comm, void** handle) {\n  NCCLCHECK(net->deregMr(comm, *handle));\n  *handle = NULL;\n  return ncclSuccess;\n}\nstatic ncclResult_t netIsend(ncclNet_t* net, void* sendComm, void* data, int size, void* dataHandle, int tag, void** sendReq,\n                             int* done) {\n  if (*done) return ncclSuccess;\n  if (!*sendReq) {\n    NCCLCHECK(net->isend(sendComm, data, (size_t)size, tag, dataHandle, NULL, sendReq));\n  }\n  if (*sendReq) {\n    NCCLCHECK(net->test(*sendReq, done, NULL));\n    if (*done) {\n      *sendReq = NULL;\n    }\n  }\n  return ncclSuccess;\n}\nstatic ncclResult_t netIrecv(ncclNet_t* net, void* recvComm, void* data, int size, void* dataHandle, int tag, void** recvReq,\n                             int* done) {\n  if (*done) return ncclSuccess;\n  if (!*recvReq) {\n    size_t size64 = size;\n    NCCLCHECK(net->irecv(recvComm, 1, &data, &size64, &tag, &dataHandle, NULL, recvReq));\n  }\n  if (*recvReq) {\n    NCCLCHECK(net->test(*recvReq, done, NULL));\n    if (*done) {\n      *recvReq = NULL;\n    }\n  }\n  return ncclSuccess;\n}\nstatic ncclResult_t netSendRecv(ncclNet_t* net, void* sendComm, void* sendData, int sendSize, void* sendDataHandle, void* recvComm,\n                                void* recvData, int recvSize, void* recvDataHandle, int tag, volatile uint32_t* abortFlag) {\n  int abortCounter = 0;\n  int doneSend = 0, doneRecv = 0;\n  void *sendReq = NULL, *recvReq = NULL;\n  do {\n    NCCLCHECK(checkAbort(abortFlag, &abortCounter));\n    if (!doneRecv) {\n      NCCLCHECK(netIrecv(net, recvComm, recvData, recvSize, recvDataHandle, tag, &recvReq, &doneRecv));\n    }\n    if (!doneSend) {\n      NCCLCHECK(netIsend(net, sendComm, sendData, sendSize, sendDataHandle, tag, &sendReq, &doneSend));\n    }\n  } while (!doneSend || !doneRecv);\n  return ncclSuccess;\n}\n\n// Additional socket based functions, first send the size, then send the message\nstatic ncclResult_t socketSend(struct ncclSocket* sock, void* data, int size) {\n  NCCLCHECK(ncclSocketSend(sock, &size, sizeof(int)));\n  if (size > 0)\n    NCCLCHECK(ncclSocketSend(sock, data, size));\n  return ncclSuccess;\n}\nstatic ncclResult_t socketRecv(struct ncclSocket* sock, void* data, int size) {\n  int recvSize;\n  NCCLCHECK(ncclSocketRecv(sock, &recvSize, sizeof(int)));\n  if (recvSize > size) {\n    WARN(\"Message truncated : received %d bytes instead of %d\", recvSize, size);\n    return ncclInternalError;\n  }\n  int actualSize = std::min(recvSize, size);\n  if (actualSize > 0)\n    NCCLCHECK(ncclSocketRecv(sock, data, actualSize));\n  return ncclSuccess;\n}\nstatic ncclResult_t socketSendRecv(struct ncclSocket* sendSock, void* sendData, int sendSize, struct ncclSocket* recvSock,\n                                   void* recvData, int recvSize) {\n  int senderRecvSize;\n  NCCLCHECK(ncclSocketSendRecv(sendSock, &sendSize, sizeof(int), recvSock, &senderRecvSize, sizeof(int)));\n  if (senderRecvSize > recvSize) {\n    WARN(\"Message truncated : received %d bytes instead of %d\", senderRecvSize, recvSize);\n    return ncclInternalError;\n  }\n  NCCLCHECK(ncclSocketSendRecv(sendSock, sendData, sendSize, recvSock, recvData, std::min(recvSize, senderRecvSize)));\n  return ncclSuccess;\n}\n\nunion ringConnectInfo {\n  union ncclSocketAddress addr;\n  char handle[NCCL_NET_HANDLE_MAXSIZE];\n};\n\nstruct extInfo {\n  int rank;                                  // rank of the process reaching out\n  int nranks;                                // total number of ranks\n  int iroot;                                 // current root index\n  int nroots;                                // total number of roots\n  union ncclSocketAddress listenRootAddress; // address of my listenSocket for the root\n  union ringConnectInfo connectInfo;\n};\n#define NET_HANDLE(h, rank)    ((h) + (rank * NCCL_NET_HANDLE_MAXSIZE))\n#define BOOTSTRAP_HANDLE(h, i) ((struct ncclBootstrapHandle*)((char*)h + i * NCCL_UNIQUE_ID_BYTES))\n\n#include <sys/resource.h>\n\nstatic ncclResult_t setFilesLimit() {\n  struct rlimit filesLimit;\n  SYSCHECK(getrlimit(RLIMIT_NOFILE, &filesLimit), \"getrlimit\");\n  filesLimit.rlim_cur = filesLimit.rlim_max;\n  SYSCHECK(setrlimit(RLIMIT_NOFILE, &filesLimit), \"setrlimit\");\n  return ncclSuccess;\n}\n\nstatic ncclResult_t rootSend(union ncclSocketAddress* addr, uint64_t magic, union ringConnectInfo* info) {\n  ncclResult_t res = ncclSuccess;\n  struct ncclSocket sock;\n  NCCLCHECKGOTO(ncclSocketInit(&sock, addr, magic, ncclSocketTypeBootstrap), res, fail);\n  NCCLCHECKGOTO(ncclSocketConnect(&sock), res, fail);\n  NCCLCHECKGOTO(socketSend(&sock, info, sizeof(union ringConnectInfo)), res, fail);\n  NCCLCHECK(ncclSocketClose(&sock));\n  return res;\nfail:\n  (void)ncclSocketClose(&sock);\n  return res;\n}\nstatic void* bootstrapRoot(void* rargs) {\n  uint64_t timers[BOOTSTRAP_INIT_ROOT_N] = {0};\n  struct bootstrapRootArgs* args = (struct bootstrapRootArgs*)rargs;\n  struct ncclSocket* listenSock = args->listenSock;\n  uint64_t magic = args->magic;\n  ncclResult_t res = ncclSuccess;\n  int nranks = 0, c = 0;\n  int iroot = 0, nroots = 0, localId = 0;\n  int nrecv = 0, n2send = 0;\n  struct extInfo info;\n  union ringConnectInfo* rankInfo = NULL;\n  union ncclSocketAddress* rankAddressesRoot = NULL; // for initial rank <-> root information exchange\n  // get zeros for comparison\n  char zeroHandle[NCCL_NET_HANDLE_MAXSIZE];\n  union ncclSocketAddress zeroAddress;\n  union ringConnectInfo zeroInfo;\n  memset(&zeroAddress, 0, sizeof(union ncclSocketAddress));\n  memset(&zeroHandle, 0, NCCL_NET_HANDLE_MAXSIZE);\n  memset(&zeroInfo, 0, sizeof(union ringConnectInfo));\n  setFilesLimit();\n\n  TRACE(NCCL_BOOTSTRAP, \"BEGIN\");\n  BOOTSTRAP_PROF_OPEN(timers[BOOTSTRAP_INIT_ROOT_WAIT]);\n  /* Receive addresses from all ranks */\n  do {\n    struct ncclSocket sock;\n    NCCLCHECKGOTO(ncclSocketInit(&sock), res, out);\n    NCCLCHECKGOTO(ncclSocketAccept(&sock, listenSock), res, out);\n    NCCLCHECKGOTO(socketRecv(&sock, &info, sizeof(info)), res, out);\n    NCCLCHECKGOTO(ncclSocketClose(&sock), res, out);\n\n    if (c == 0) {\n      BOOTSTRAP_PROF_CLOSE(timers[BOOTSTRAP_INIT_ROOT_WAIT]);\n      BOOTSTRAP_PROF_OPEN(timers[BOOTSTRAP_INIT_ROOT_RECV]);\n      nranks = info.nranks;\n      iroot = info.iroot;\n      nroots = info.nroots;\n      // if the number of root > 1, we will receive one extra info from the first local_id of the next root\n      n2send = nRankFromRoot(iroot, nranks, nroots);\n      nrecv = n2send + ((nroots > 1) ? 1 : 0);\n      NCCLCHECKGOTO(ncclCalloc(&rankInfo, nrecv), res, out);\n      NCCLCHECKGOTO(ncclCalloc(&rankAddressesRoot, nrecv), res, out);\n    }\n\n    if (nranks != info.nranks || nroots != info.nroots || iroot != info.iroot) {\n      WARN(\"Bootstrap Root : mismatch in info from procs, nranks %d vs %d, nroots %d vs %d, iroot %d vs %d\", nranks, info.nranks, nroots, info.nroots, iroot, info.iroot);\n      goto out;\n    }\n\n    localId = localIdFromRoot(info.rank, iroot, nranks, nroots);\n    if (memcmp(&zeroAddress, &rankAddressesRoot[localId], sizeof(union ncclSocketAddress)) != 0 ||\n        memcmp(&zeroInfo, &rankInfo[localId], sizeof(union ringConnectInfo)) != 0) {\n      WARN(\"Bootstrap Root : rank %d of %d ranks has already checked in\", info.rank, nranks);\n      goto out;\n    }\n    // if the previous has already checked in, send the newly received handle, if not save the handle for later\n    // if we have more than 1 root, I do not own the previous of local_id = 0\n    // if we have prev > n2send, we do not send anything\n    int prev = (nroots > 1) ? (localId - 1) : BOOTSTRAP_PID(localId - 1, nrecv);\n    if (prev >= 0 && prev < n2send && memcmp(&zeroAddress, &rankAddressesRoot[prev], sizeof(union ncclSocketAddress)) != 0) {\n      NCCLCHECKGOTO(rootSend(&rankAddressesRoot[prev], magic, &info.connectInfo), res, out);\n    } else {\n      memcpy(&rankInfo[localId], &info.connectInfo, sizeof(union ringConnectInfo));\n    }\n    // if the next rank has checked in, send the newly received info, if not save the addr for later\n    // for nroots >=1, I will always own the information of the next connection\n    // if the local_id id must be [0 ; n2send[ otherwise we do not answer\n    int next = BOOTSTRAP_PID(localId + 1, nrecv);\n    if (localId >= 0 && localId < n2send && memcmp(&zeroInfo, &rankInfo[next], sizeof(union ringConnectInfo)) != 0) {\n      NCCLCHECKGOTO(rootSend(&info.listenRootAddress, magic, &rankInfo[next]), res, out);\n    } else {\n      memcpy(rankAddressesRoot + localId, &info.listenRootAddress, sizeof(union ncclSocketAddress));\n    }\n    ++c;\n    TRACE(NCCL_BOOTSTRAP, \"Received connect from rank %d total %d/%d\", info.rank, c, nrecv);\n  } while (c < nrecv);\n  TRACE(NCCL_BOOTSTRAP, \"COLLECTED ALL %d HANDLES\", nrecv);\n  BOOTSTRAP_PROF_CLOSE(timers[BOOTSTRAP_INIT_ROOT_RECV]);\n\n  // send the remaining info to the ranks who haven't received anything\n  BOOTSTRAP_PROF_OPEN(timers[BOOTSTRAP_INIT_ROOT_SEND]);\n  // here we need to send info only to my own local process\n  for (int r = 0; r < n2send; ++r) {\n    // use nrecv to periodize: if 1 root, we will send the first one to the last one, if >1 roots we will send the additional one we have received\n    int next = BOOTSTRAP_PID(r + 1, nrecv);\n    if (memcmp(&zeroAddress, &rankAddressesRoot[r], sizeof(union ncclSocketAddress)) != 0 &&\n        memcmp(&zeroInfo, &rankInfo[next], sizeof(union ringConnectInfo)) != 0) {\n      NCCLCHECKGOTO(rootSend(&rankAddressesRoot[r], magic, &rankInfo[next]), res, out);\n    }\n  }\n  BOOTSTRAP_PROF_CLOSE(timers[BOOTSTRAP_INIT_ROOT_SEND]);\n  TRACE(NCCL_BOOTSTRAP | NCCL_PROFILE, \"Root timings (wait %f, recv %f, send %f)\", timers[BOOTSTRAP_INIT_ROOT_WAIT] / 1e9, timers[BOOTSTRAP_INIT_ROOT_RECV] / 1e9, timers[BOOTSTRAP_INIT_ROOT_SEND] / 1e9);\nout:\n  if (listenSock != NULL) {\n    (void)ncclSocketClose(listenSock);\n    free(listenSock);\n  }\n  if (rankInfo)\n    free(rankInfo);\n  if (rankAddressesRoot)\n    free(rankAddressesRoot);\n  free(rargs);\n\n  TRACE(NCCL_BOOTSTRAP, \"DONE\");\n  return NULL;\n}\n\nncclResult_t bootstrapCreateRoot(struct ncclBootstrapHandle* handle, bool idFromEnv) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclSocket* listenSock = NULL;\n  struct bootstrapRootArgs* args = NULL;\n  pthread_t thread;\n\n  NCCLCHECK(ncclCalloc(&listenSock, 1));\n  NCCLCHECKGOTO(ncclSocketInit(listenSock, &handle->addr, handle->magic, ncclSocketTypeBootstrap, NULL, 0), ret, fail);\n  NCCLCHECKGOTO(ncclSocketListen(listenSock), ret, fail);\n  NCCLCHECKGOTO(ncclSocketGetAddr(listenSock, &handle->addr), ret, fail);\n\n  NCCLCHECKGOTO(ncclCalloc(&args, 1), ret, fail);\n  args->listenSock = listenSock;\n  args->magic = handle->magic;\n  PTHREADCHECKGOTO(pthread_create(&thread, NULL, bootstrapRoot, (void*)args), \"pthread_create\", ret, fail);\n  ncclSetThreadName(thread, \"NCCL BootstrapR\");\n  PTHREADCHECKGOTO(pthread_detach(thread), \"pthread_detach\", ret, fail); // will not be pthread_join()'d\nexit:\n  return ret;\nfail:\n  if (listenSock) free(listenSock);\n  if (args) free(args);\n  goto exit;\n}\n\nncclResult_t bootstrapGetUniqueId(struct ncclBootstrapHandle* handle) {\n  memset(handle, 0, sizeof(ncclBootstrapHandle));\n\n  const char* env = ncclGetEnv(\"NCCL_COMM_ID\");\n  if (env) {\n    INFO(NCCL_ENV, \"NCCL_COMM_ID set by environment to %s\", env);\n    if (ncclSocketGetAddrFromString(&handle->addr, env) != ncclSuccess) {\n      WARN(\"Invalid NCCL_COMM_ID, please use format: <ipv4>:<port> or [<ipv6>]:<port> or <hostname>:<port>\");\n      return ncclInvalidArgument;\n    }\n    handle->magic = NCCL_MAGIC;\n  } else {\n    NCCLCHECK(getRandomData(&handle->magic, sizeof(handle->magic)));\n    memcpy(&handle->addr, &bootstrapNetIfAddr, sizeof(union ncclSocketAddress));\n    NCCLCHECK(bootstrapCreateRoot(handle, false));\n  }\n\n  return ncclSuccess;\n}\n\nstruct unexConn {\n  int peer;\n  int tag;\n  struct ncclSocket sock;\n  struct unexConn* next;\n};\n\nstruct bootstrapRing_t {\n  union {\n    struct {\n      void *sendComm, *recvComm;\n      ncclNetDeviceHandle_t *sendDevHandle, *recvDevHandle;\n    } net;\n    struct {\n      struct ncclSocket recv;\n      struct ncclSocket send;\n    } socket;\n  };\n};\nstruct bootstrapListen_t {\n  struct ncclSocket peerSocket; // socket for peers to contact me in P2P\n  union {\n    struct {\n      int dev;\n      void* comm;\n      char handle[NCCL_NET_HANDLE_MAXSIZE];\n    } net;\n    struct ncclSocket socket; // socket to be used for the ring\n  };\n};\n\nstruct bootstrapState {\n  struct bootstrapRing_t ring;\n  struct bootstrapListen_t listen;\n  ncclNet_t* net;\n  uint64_t* peerProxyAddressesUDS;\n  union ncclSocketAddress* peerProxyAddresses;\n  union ncclSocketAddress* peerP2pAddresses;\n  struct unexConn* unexpectedConnections;\n  int cudaDev;\n  int rank;\n  int nranks;\n  uint64_t magic;\n  volatile uint32_t* abortFlag;\n};\n#define STATE_RING(s, f) (s->ring.f)\n#define STATE_LISTEN(s, f) (s->listen.f)\n\n// helper functions\nstatic ncclResult_t createListenSocket(struct ncclComm* comm, uint64_t magic, struct ncclSocket* socket, union ncclSocketAddress* addr,\n                                       ncclSocketType type) {\n  NCCLCHECK(ncclSocketInit(socket, &bootstrapNetIfAddr, magic, type, comm->abortFlag));\n  NCCLCHECK(ncclSocketListen(socket));\n  NCCLCHECK(ncclSocketGetAddr(socket, addr));\n  return ncclSuccess;\n}\nstatic ncclResult_t getUDS(uint64_t* peerUDS) {\n  uint64_t randId;\n  NCCLCHECK(getRandomData(&randId, sizeof(randId)));\n  *peerUDS = getPidHash() + randId;\n  return ncclSuccess;\n}\n#define MAX_OOB_DEVS 16\nstatic ncclResult_t netGetDevice(int rank, struct ncclComm* comm, int* dev) {\n  static int devOOB = -1;\n  if (devOOB < 0) {\n    std::lock_guard<std::mutex> lock(bootstrapNetMutex);\n    if (devOOB < 0) {\n      const char* userIfEnv = ncclGetEnv(\"NCCL_OOB_NET_IFNAME\");\n      if (userIfEnv && strlen(userIfEnv) > 0) {\n        INFO(NCCL_BOOTSTRAP | NCCL_ENV, \"NCCL_OOB_NET_IFNAME set to %s\", userIfEnv);\n        bool searchNot = userIfEnv && userIfEnv[0] == '^';\n        if (searchNot) userIfEnv++;\n        bool searchExact = userIfEnv && userIfEnv[0] == '=';\n        if (searchExact) userIfEnv++;\n        struct netIf userIfs[MAX_OOB_DEVS];\n        int nUserIfs = parseStringList(userIfEnv, userIfs, MAX_OOB_DEVS);\n        // loop over the device and return the first one matching\n        int nDev = 0;\n        NCCLCHECK(comm->ncclNet->devices(&nDev));\n        int devId = 0;\n        while (devId < nDev) {\n          ncclNetProperties_t props;\n          comm->ncclNet->getProperties(devId, &props);\n          // check against user specified HCAs/ports\n          if (matchIfList(props.name, props.port, userIfs, nUserIfs, searchExact) ^ searchNot) {\n            // All plain physical devices have been initialized at this point\n            devOOB = devId;\n            break;\n          }\n          devId++;\n        }\n        if (devOOB == -1) {\n          if (!searchNot)\n            WARN(\"no device found matching %s%s, verify NCCL_OOB_NET_IFNAME\", searchExact ? \"exactly \" : \"\", userIfEnv);\n          else\n            WARN(\"no device found after excluding %s%s, verify NCCL_OOB_NET_IFNAME\", searchExact ? \"exactly \" : \"\", userIfEnv);\n          return ncclInvalidArgument;\n        }\n      } else {\n        // default choice is device 0\n        devOOB = 0;\n      }\n      // display info on the chosen device\n      ncclNetProperties_t props;\n      ncclResult_t res = comm->ncclNet->getProperties(devOOB, &props);\n      bool hasProp = res == ncclSuccess;\n      INFO(NCCL_BOOTSTRAP, \"Bootstrap: Using %s:%d\", (hasProp) ? props.name : \"N/A\", (hasProp) ? props.port : -1);\n    }\n  }\n  *dev = devOOB;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t netRingConnect(void* ctx, ncclNet_t* net, struct bootstrapListen_t* listen, char peerHandle[NCCL_NET_HANDLE_MAXSIZE],\n                                   void** sendComm, ncclNetDeviceHandle_t** sendDevHandle,\n                                   void** recvComm, ncclNetDeviceHandle_t** recvDevHandle, volatile uint32_t* abortFlag) {\n\n  int abortCounter = 0;\n  do {\n    NCCLCHECK(checkAbort(abortFlag, &abortCounter));\n    if (!*sendComm)\n      NCCLCHECK(net->connect(ctx, listen->net.dev, peerHandle, sendComm, sendDevHandle));\n    if (!*recvComm)\n      NCCLCHECK(net->accept(listen->net.comm, recvComm, recvDevHandle));\n  } while (!*sendComm || !*recvComm);\n  return ncclSuccess;\n}\nstatic ncclResult_t socketRingConnect(ncclSocketAddress* addr, struct ncclSocket* sendSocket, struct ncclSocket* listenSock, struct ncclSocket* recvSocket, uint64_t magic, volatile uint32_t* abortFlag) {\n  NCCLCHECK(ncclSocketInit(sendSocket, addr, magic, ncclSocketTypeBootstrap, abortFlag));\n  NCCLCHECK(ncclSocketConnect(sendSocket));\n  NCCLCHECK(ncclSocketInit(recvSocket));\n  NCCLCHECK(ncclSocketAccept(recvSocket, listenSock));\n  return ncclSuccess;\n}\nstatic ncclResult_t ringAllInfo(struct ncclComm* comm, struct bootstrapState* state,\n                                union ncclSocketAddress* peerAddresss,\n                                union ncclSocketAddress* peerProxy, uint64_t* peerUDS,\n                                struct rasRankInit* rasRanks) {\n  ncclResult_t res = ncclSuccess;\n  int rank = comm->rank;\n  int nRanks = comm->nRanks;\n  struct bootstrapRingData {\n    union ncclSocketAddress peerAddress;\n    union ncclSocketAddress peerProxy;\n    uint64_t peerUDS;\n    struct rasRankInit rasRank;\n  }* ringData = NULL;\n\n  NCCLCHECK(ncclCalloc(&ringData, nRanks));\n  // pack\n  if (peerAddresss)\n    memcpy(&(ringData[rank].peerAddress), peerAddresss + rank, sizeof(union ncclSocketAddress));\n  if (peerProxy)\n    memcpy(&(ringData[rank].peerProxy), peerProxy + rank, sizeof(union ncclSocketAddress));\n  if (peerUDS)\n    memcpy(&(ringData[rank].peerUDS), peerUDS + rank, sizeof(uint64_t));\n  if (rasRanks)\n    memcpy(&(ringData[rank].rasRank), rasRanks + rank, sizeof(*rasRanks));\n\n  // allgather\n  NCCLCHECKGOTO(bootstrapAllGather(state, ringData, sizeof(struct bootstrapRingData)), res, exit);\n\n  // unpack\n  for (int irank = 0; irank < nRanks; ++irank) {\n    if (peerAddresss)\n      memcpy(peerAddresss + irank, &(ringData[irank].peerAddress), sizeof(union ncclSocketAddress));\n    if (peerProxy)\n      memcpy(peerProxy + irank, &(ringData[irank].peerProxy), sizeof(union ncclSocketAddress));\n    if (peerUDS)\n      memcpy(peerUDS + irank, &(ringData[irank].peerUDS), sizeof(uint64_t));\n    if (rasRanks)\n      memcpy(rasRanks + irank, &(ringData[irank].rasRank), sizeof(*rasRanks));\n  }\n\nexit:\n  free(ringData);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sendToRoot(struct ncclBootstrapHandle* handle, struct ncclComm* comm, struct extInfo* info) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclSocket sock;\n  NCCLCHECK(ncclSocketInit(&sock, &handle->addr, handle->magic, ncclSocketTypeBootstrap, comm->abortFlag));\n  NCCLCHECKGOTO(ncclSocketConnect(&sock), ret, fail);\n  NCCLCHECKGOTO(socketSend(&sock, info, sizeof(struct extInfo)), ret, fail);\n  NCCLCHECK(ncclSocketClose(&sock));\n  return ret;\nfail:\n  (void)ncclSocketClose(&sock);\n  return ret;\n}\n\nNCCL_PARAM(StaggerRate, \"UID_STAGGER_RATE\", 7000);\nNCCL_PARAM(StaggerThreshold, \"UID_STAGGER_THRESHOLD\", 256);\n\nNCCL_PARAM(RasEnable, \"RAS_ENABLE\", 1);\n\nncclResult_t bootstrapInit(int nHandles, void* handles, struct ncclComm* comm) {\n  ncclResult_t result = ncclSuccess;\n  int rank = comm->rank;\n  int nranks = comm->nRanks;\n  // char nextPeerHandle[NCCL_NET_HANDLE_MAXSIZE];\n  struct bootstrapState* state;\n  struct ncclSocket* proxySocket;\n  struct ncclSocket sock, listenSockRoot;\n  struct extInfo info = {0};\n  union ringConnectInfo nextPeer;\n  bool performRasAddRanks = true;\n  struct rasRankInit* rasRanks = nullptr;\n\n  uint64_t timers[BOOTSTRAP_INIT_TIME_N] = {0};\n\n  NCCLCHECK(ncclCalloc(&state, 1));\n  state->rank = rank;\n  state->nranks = nranks;\n  state->cudaDev = comm->cudaDev;\n  state->abortFlag = comm->abortFlag;\n  state->net = comm->ncclNet;\n  comm->bootstrap = state;\n  comm->magic = state->magic = BOOTSTRAP_HANDLE(handles, 0)->magic; // state and comm magic set to the first magic ID\n\n  TRACE(NCCL_BOOTSTRAP, \"rank %d nranks %d\", rank, nranks);\n\n  // [RCCL] Register custom signal handlers if requested\n  RegisterSignalHandlers();\n  // [/RCCL]\n\n  BOOTSTRAP_PROF_OPEN(timers[BOOTSTRAP_INIT_TIME_TOTAL]);\n  // fill up the info\n  info.nranks = nranks;\n  info.nroots = nHandles;\n  // get the ring connection info\n  memset(&nextPeer, 0, sizeof(union ringConnectInfo));\n  BOOTSTRAP_PROF_OPEN(timers[BOOTSTRAP_INIT_TIME_CREATE]);\n  if (ncclParamBootstrapNetEnable()) {\n    // Create net interface for other ranks to contact me (all gather)\n    NCCLCHECK(netGetDevice(rank, comm, &STATE_LISTEN(state, net.dev)));\n    NCCLCHECK(state->net->listen(comm->netContext, STATE_LISTEN(state, net.dev), STATE_LISTEN(state, net.handle), &STATE_LISTEN(state, net.comm)));\n    memcpy(info.connectInfo.handle, STATE_LISTEN(state, net.handle), NCCL_NET_HANDLE_MAXSIZE);\n  } else {\n    // create socket for ring neightbor to contact mee\n    NCCLCHECK(createListenSocket(comm, comm->magic, &STATE_LISTEN(state, socket), &info.connectInfo.addr, ncclSocketTypeBootstrap));\n  }\n  // Create socket for root to contact me using the root's magic\n  int curr_root = rootIdFromRank(rank, nranks, nHandles);\n  NCCLCHECK(createListenSocket(comm, BOOTSTRAP_HANDLE(handles, curr_root)->magic, &listenSockRoot, &info.listenRootAddress, ncclSocketTypeBootstrap));\n  BOOTSTRAP_PROF_CLOSE(timers[BOOTSTRAP_INIT_TIME_CREATE]);\n\n  // stagger connection times to avoid an overload of the root\n  BOOTSTRAP_PROF_OPEN(timers[BOOTSTRAP_INIT_TIME_DELAY]);\n  int nRankRoot = nRankFromRoot(curr_root, nranks, nHandles);\n  if (nRankRoot > ncclParamStaggerThreshold()) {\n    // for socket the message rate in microsec\n    double msg_rate = ncclParamStaggerRate() / 1.0e6;\n    long musec = localIdFromRoot(rank, curr_root, nranks, nHandles) / msg_rate;\n    struct timespec tv;\n    long c_1e6 = 1e6;\n    tv.tv_sec = musec / c_1e6;\n    tv.tv_nsec = 1e3 * (musec % c_1e6);\n    TRACE(NCCL_BOOTSTRAP, \"rank %d delaying connection to root by %ld microsec\", rank, musec);\n    (void)nanosleep(&tv, NULL);\n  }\n  BOOTSTRAP_PROF_CLOSE(timers[BOOTSTRAP_INIT_TIME_DELAY]);\n\n  // send info on my listening socket to root\n  BOOTSTRAP_PROF_OPEN(timers[BOOTSTRAP_INIT_TIME_SEND]);\n  // send contact info to my own root\n  info.rank = rank;\n  info.iroot = curr_root;\n  NCCLCHECK(sendToRoot(BOOTSTRAP_HANDLE(handles, curr_root), comm, &info));\n  // if needed, send the connection info to the previous root\n  if (nHandles > 1 && isFirstFromRoot(rank, curr_root, nranks, nHandles)) {\n    int prev_rank = BOOTSTRAP_PID(rank - 1, nranks);\n    int prev_root = rootIdFromRank(prev_rank, nranks, nHandles);\n    info.rank = prev_rank + 1; // my rank as seen by the previous root\n    info.iroot = prev_root;\n    NCCLCHECK(sendToRoot(BOOTSTRAP_HANDLE(handles, prev_root), comm, &info));\n  }\n  BOOTSTRAP_PROF_CLOSE(timers[BOOTSTRAP_INIT_TIME_SEND]);\n\n  // get info on my \"next\" rank in the bootstrap ring from root\n  BOOTSTRAP_PROF_OPEN(timers[BOOTSTRAP_INIT_TIME_RECV]);\n  NCCLCHECK(ncclSocketInit(&sock));\n  NCCLCHECK(ncclSocketAccept(&sock, &listenSockRoot));\n  NCCLCHECK(socketRecv(&sock, &nextPeer, sizeof(nextPeer)));\n  NCCLCHECK(ncclSocketClose(&sock));\n  NCCLCHECK(ncclSocketClose(&listenSockRoot));\n  BOOTSTRAP_PROF_CLOSE(timers[BOOTSTRAP_INIT_TIME_RECV]);\n\n  // accept and connect the ring network\n  if (ncclParamBootstrapNetEnable()) {\n    NCCLCHECK(netRingConnect(comm->netContext, state->net, &state->listen, nextPeer.handle,\n                             &STATE_RING(state, net.sendComm), &STATE_RING(state, net.sendDevHandle),\n                             &STATE_RING(state, net.recvComm), &STATE_RING(state, net.recvDevHandle), state->abortFlag));\n  } else {\n    NCCLCHECK(socketRingConnect(&nextPeer.addr, &STATE_RING(state, socket.send), &STATE_LISTEN(state, socket), &STATE_RING(state, socket.recv), comm->magic, state->abortFlag));\n  }\n\n  // AllGather all listen handlers\n  // in case of failure, those resources will be free'd when calling bootstrapDestroy, so we can return immediatly\n  NCCLCHECK(ncclCalloc(&state->peerProxyAddresses, nranks));\n  NCCLCHECK(ncclCalloc(&proxySocket, 1));\n  NCCLCHECKGOTO(createListenSocket(comm, comm->magic, proxySocket, state->peerProxyAddresses + rank, ncclSocketTypeProxy), result, fail);\n\n  NCCLCHECKGOTO(ncclCalloc(&state->peerProxyAddressesUDS, nranks), result, fail);\n  NCCLCHECKGOTO(getUDS(state->peerProxyAddressesUDS + rank), result, fail);\n\n  // create a socket for others to reach out (P2P)\n  union ncclSocketAddress peerSocketAddress;\n  NCCLCHECKGOTO(createListenSocket(comm, comm->magic, &STATE_LISTEN(state, peerSocket), &peerSocketAddress, ncclSocketTypeBootstrap), result, fail);\n  NCCLCHECKGOTO(ncclCalloc(&state->peerP2pAddresses, nranks), result, fail);\n  memcpy(state->peerP2pAddresses + rank, &peerSocketAddress, sizeof(union ncclSocketAddress));\n\n  // Initialize RAS\n  if (ncclParamRasEnable() == 1) {\n    // The RAS thread will take care of freeing the memory allocated below.\n    NCCLCHECK(ncclCalloc(&rasRanks, nranks));\n    memcpy(&rasRanks[rank].addr, &bootstrapNetIfAddr, sizeof(rasRanks[rank].addr));\n    rasRanks[rank].pid = getpid();\n    rasRanks[rank].cudaDev = comm->cudaDev;\n    rasRanks[rank].nvmlDev = comm->nvmlDev;\n    rasRanks[rank].hostHash = getHostHash();\n    rasRanks[rank].pidHash = getPidHash();\n    if (ncclRasCommInit(comm, rasRanks+rank) != ncclSuccess) {\n      INFO(NCCL_INIT|NCCL_RAS, \"Continuing in spite of a RAS initialization error\");\n      // We should still participate in the ringAllInfo below as the peers will be waiting for us.\n      // Just make sure that the address is clearly invalid...\n      memset(rasRanks+rank, '\\0', sizeof(*rasRanks));\n      performRasAddRanks = false;\n    }\n  }\n\n  BOOTSTRAP_PROF_OPEN(timers[BOOTSTRAP_INIT_TIME_RING]);\n  NCCLCHECKGOTO(ringAllInfo(comm, state, state->peerP2pAddresses, state->peerProxyAddresses, state->peerProxyAddressesUDS, rasRanks), result, fail);\n  BOOTSTRAP_PROF_CLOSE(timers[BOOTSTRAP_INIT_TIME_RING]);\n\n  // Create the service proxy and get the UDS\n  NCCLCHECKGOTO(ncclProxyInit(comm, proxySocket, state->peerProxyAddresses, state->peerProxyAddressesUDS), result, fail);\n\n  if (ncclParamRasEnable() == 1 && performRasAddRanks) {\n    if (ncclRasAddRanks(rasRanks, nranks) != ncclSuccess)\n      INFO(NCCL_INIT|NCCL_RAS, \"Continuing in spite of a RAS initialization error\");\n  }\n\n  BOOTSTRAP_PROF_CLOSE(timers[BOOTSTRAP_INIT_TIME_TOTAL]);\n  TRACE(NCCL_BOOTSTRAP, \"rank %d nranks %d - DONE\", rank, nranks);\n  INFO(NCCL_BOOTSTRAP | NCCL_PROFILE, \"Bootstrap timings total %f (create %f, send %f, recv %f, ring %f, delay %f)\", timers[BOOTSTRAP_INIT_TIME_TOTAL] / 1e9,\n       timers[BOOTSTRAP_INIT_TIME_CREATE] / 1e9,\n       timers[BOOTSTRAP_INIT_TIME_SEND] / 1e9,\n       timers[BOOTSTRAP_INIT_TIME_RECV] / 1e9,\n       timers[BOOTSTRAP_INIT_TIME_RING] / 1e9,\n       timers[BOOTSTRAP_INIT_TIME_DELAY] / 1e9);\nexit:\n  return result;\nfail:\n  free(proxySocket);\n  goto exit;\n}\n\nncclResult_t bootstrapSplit(uint64_t magic, struct ncclComm* comm, struct ncclComm* parent, int color, int key, int* parentRanks) {\n  ncclResult_t ret = ncclSuccess;\n  int rank = comm->rank;\n  int nranks = comm->nRanks;\n  int prev, next;\n  union ringConnectInfo info;\n  union ringConnectInfo nextPeer;\n  struct ncclSocket* proxySocket = NULL;\n  struct bootstrapState* state;\n\n  NCCLCHECKGOTO(ncclCalloc(&state, 1), ret, fail);\n  state->rank = rank;\n  state->nranks = nranks;\n  state->cudaDev = comm->cudaDev;\n  state->abortFlag = comm->abortFlag;\n  state->net = comm->ncclNet;\n  comm->bootstrap = state;\n  comm->magic = state->magic = magic;\n\n  prev = parentRanks[(rank - 1 + nranks) % nranks];\n  next = parentRanks[(rank + 1) % nranks];\n\n  // create a handle for the others to reach out to me\n  if (ncclParamBootstrapNetEnable()) {\n    NCCLCHECKGOTO(netGetDevice(rank, comm, &STATE_LISTEN(state, net.dev)), ret, fail);\n    NCCLCHECKGOTO(state->net->listen(comm->netContext, STATE_LISTEN(state, net.dev), STATE_LISTEN(state, net.handle), &STATE_LISTEN(state, net.comm)), ret, fail);\n    memcpy(info.handle, STATE_LISTEN(state, net.handle), NCCL_NET_HANDLE_MAXSIZE);\n  } else {\n    // create socket for ring neightbor to contact mee\n    NCCLCHECK(createListenSocket(comm, comm->magic, &STATE_LISTEN(state, socket), &info.addr, ncclSocketTypeBootstrap));\n  }\n  // create a socket for others to reach out (P2P)\n  union ncclSocketAddress peerSocketAddress;\n  NCCLCHECK(createListenSocket(comm, comm->magic, &STATE_LISTEN(state, peerSocket), &peerSocketAddress, ncclSocketTypeBootstrap));\n\n  if (ncclParamRasEnable() == 1) {\n    if (ncclRasCommInit(comm, nullptr) != ncclSuccess)\n      INFO(NCCL_INIT|NCCL_RAS, \"Continuing in spite of a RAS initialization error\");\n  }\n\n  // Get addr from next rank using the parent's connections\n  NCCLCHECKGOTO(bootstrapSend(parent->bootstrap, prev, BOOTSTRAP_TAG_COMMSPLIT, &info, sizeof(union ringConnectInfo)), ret, fail);\n  NCCLCHECKGOTO(bootstrapRecv(parent->bootstrap, next, BOOTSTRAP_TAG_COMMSPLIT, &nextPeer, sizeof(union ringConnectInfo)), ret, fail);\n  if (ncclParamBootstrapNetEnable()) {\n    NCCLCHECKGOTO(netRingConnect(comm->netContext, state->net, &state->listen, nextPeer.handle,\n                                 &STATE_RING(state, net.sendComm), &STATE_RING(state, net.sendDevHandle),\n                                 &STATE_RING(state, net.recvComm), &STATE_RING(state, net.recvDevHandle), state->abortFlag),\n                  ret, fail);\n  } else {\n    NCCLCHECK(socketRingConnect(&nextPeer.addr, &STATE_RING(state, socket.send), &STATE_LISTEN(state, socket), &STATE_RING(state, socket.recv), comm->magic, state->abortFlag));\n  }\n\n  NCCLCHECKGOTO(ncclCalloc(&state->peerP2pAddresses, nranks), ret, fail);\n  memcpy(state->peerP2pAddresses + rank, &peerSocketAddress, sizeof(union ncclSocketAddress));\n  if (parent->shareResources) {\n    /* map local rank to top parent local rank. */\n    for (int i = 0; i < nranks; ++i) {\n      comm->topParentRanks[i] = parent->topParentRanks[parentRanks[i]];\n    }\n    NCCLCHECKGOTO(ringAllInfo(comm, state, state->peerP2pAddresses, NULL, NULL, NULL), ret, fail);\n  } else {\n    NCCLCHECKGOTO(ncclCalloc(&state->peerProxyAddresses, nranks), ret, fail);\n    NCCLCHECKGOTO(ncclCalloc(&state->peerProxyAddressesUDS, nranks), ret, fail);\n    // Create the service proxy and get the UDS\n    NCCLCHECKGOTO(ncclCalloc(&proxySocket, 1), ret, fail);\n    NCCLCHECKGOTO(getUDS(state->peerProxyAddressesUDS + rank), ret, fail);\n    NCCLCHECKGOTO(createListenSocket(comm, comm->magic, proxySocket, state->peerProxyAddresses + rank, ncclSocketTypeProxy), ret, fail);\n    NCCLCHECKGOTO(ringAllInfo(comm, state, state->peerP2pAddresses, state->peerProxyAddresses, state->peerProxyAddressesUDS, NULL), ret, fail);\n    NCCLCHECKGOTO(ncclProxyInit(comm, proxySocket, state->peerProxyAddresses, state->peerProxyAddressesUDS), ret, fail);\n  }\n\n  TRACE(NCCL_BOOTSTRAP, \"bootstrapSplit: comm %p parent %p rank %d nranks %d color %d key %d prev %d next %d - DONE\", comm, parent, rank, nranks,\n        color, key, prev, next);\n\nexit:\n  return ret;\nfail:\n  free(proxySocket);\n  goto exit;\n}\n\nstruct socketAckInfo {\n  int rank;\n  int tag;\n};\nstatic ncclResult_t socketConnect(void* commState, int peer, int tag, struct ncclSocket* sock) {\n  ncclResult_t ret = ncclSuccess;\n  struct bootstrapState* state = (struct bootstrapState*)commState;\n\n  struct socketAckInfo ack = (struct socketAckInfo){.rank = state->rank, .tag = tag};\n  NCCLCHECKGOTO(ncclSocketInit(sock, state->peerP2pAddresses + peer, state->magic, ncclSocketTypeBootstrap, state->abortFlag), ret, fail);\n  NCCLCHECKGOTO(ncclSocketConnect(sock), ret, fail);\n  NCCLCHECKGOTO(socketSend(sock, &ack, sizeof(struct socketAckInfo)), ret, fail);\n  return ncclSuccess;\nfail:\n  (void)ncclSocketClose(sock);\n  return ret;\n}\nncclResult_t bootstrapSend(void* commState, int peer, int tag, void* data, int size) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclSocket sock;\n  TRACE(NCCL_BOOTSTRAP, \"Sending to peer=%d tag=%d size=%d\", peer, tag, size);\n  NCCLCHECK(socketConnect(commState, peer, tag, &sock));\n  NCCLCHECKGOTO(socketSend(&sock, data, size), ret, fail);\n  TRACE(NCCL_BOOTSTRAP, \"Sent to peer=%d tag=%d size=%d\", peer, tag, size);\n  NCCLCHECK(ncclSocketClose(&sock));\n  return ret;\nfail:\n  (void)ncclSocketClose(&sock);\n  return ret;\n}\n// Bootstrap send/receive functions\nstatic ncclResult_t unexpectedEnqueue(struct bootstrapState* state, int peer, int tag, struct ncclSocket* sock) {\n  // New unex\n  struct unexConn* unex;\n  NCCLCHECK(ncclCalloc(&unex, 1));\n  unex->peer = peer;\n  unex->tag = tag;\n  memcpy(&unex->sock, sock, sizeof(struct ncclSocket));\n\n  // Enqueue\n  struct unexConn* list = state->unexpectedConnections;\n  if (list == NULL) {\n    state->unexpectedConnections = unex;\n    return ncclSuccess;\n  }\n  while (list->next) list = list->next;\n  list->next = unex;\n  return ncclSuccess;\n}\nstatic ncclResult_t unexpectedDequeue(struct bootstrapState* state, int peer, int tag, struct ncclSocket* sock, int* found) {\n  struct unexConn* elem = state->unexpectedConnections;\n  struct unexConn* prev = NULL;\n  *found = 0;\n  while (elem) {\n    if (elem->peer == peer && elem->tag == tag) {\n      if (prev == NULL) {\n        state->unexpectedConnections = elem->next;\n      } else {\n        prev->next = elem->next;\n      }\n      memcpy(sock, &elem->sock, sizeof(struct ncclSocket));\n      free(elem);\n      *found = 1;\n      return ncclSuccess;\n    }\n    prev = elem;\n    elem = elem->next;\n  }\n  return ncclSuccess;\n}\n\nstatic void unexpectedFree(struct bootstrapState* state) {\n  struct unexConn* elem = state->unexpectedConnections;\n  struct unexConn* prev = NULL;\n\n  while (elem) {\n    prev = elem;\n    elem = elem->next;\n    free(prev);\n  }\n  return;\n}\n\n// We can't know who we'll receive from, so we need to receive everything at once\nstatic ncclResult_t socketAccept(void* commState, int peer, int tag, struct ncclSocket* sock) {\n  ncclResult_t ret = ncclSuccess;\n  struct bootstrapState* state = (struct bootstrapState*)commState;\n\n  // Search unexpected connections first\n  int found;\n  NCCLCHECK(unexpectedDequeue(state, peer, tag, sock, &found));\n  if (found) return ncclSuccess;\n\n  // Then look for new connections\n  while (1) {\n    struct socketAckInfo ack = {0};\n    NCCLCHECKGOTO(ncclSocketInit(sock), ret, fail);\n    NCCLCHECKGOTO(ncclSocketAccept(sock, &STATE_LISTEN(state, peerSocket)), ret, fail);\n    NCCLCHECKGOTO(socketRecv(sock, &ack, sizeof(struct socketAckInfo)), ret, fail);\n    if (ack.rank == peer && ack.tag == tag) return ncclSuccess;\n    NCCLCHECKGOTO(unexpectedEnqueue(state, ack.rank, ack.tag, sock), ret, fail);\n  }\n  return ncclSuccess;\nfail:\n  (void)ncclSocketClose(sock);\n  return ret;\n}\n// We can't know who we'll receive from, so we need to receive everything at once\nncclResult_t bootstrapRecv(void* commState, int peer, int tag, void* data, int size) {\n  ncclResult_t ret;\n  struct ncclSocket sock;\n  NCCLCHECK(socketAccept(commState, peer, tag, &sock));\n  TRACE(NCCL_BOOTSTRAP, \"Receiving tag=%d peer=%d size=%d\", tag, peer, size);\n  NCCLCHECKGOTO(socketRecv(&sock, ((char*)data), size), ret, fail);\n  NCCLCHECKGOTO(ncclSocketClose(&sock, /*wait*/true), ret, fail);\n  return ret;\nfail:\n  (void)ncclSocketClose(&sock);\n  return ret;\n}\n\nstatic ncclResult_t netRingAllGather(ncclNet_t* net, void* sendComm, void* recvComm, int rank, int nranks, char* data, int size, volatile uint32_t* abortFlag) {\n  ncclResult_t res;\n  uint64_t tFirst = 0, tRest = 0;\n  void* sendDataHandle = NULL;\n  void* recvDataHandle = NULL;\n  NCCLCHECKGOTO(netReg(net, sendComm, data, nranks * size, &sendDataHandle), res, exit);\n  NCCLCHECKGOTO(netReg(net, recvComm, data, nranks * size, &recvDataHandle), res, exit);\n  /* Simple ring based AllGather\n   * At each step i receive data from (rank-i-1) from prev\n   * and send previous step's data from (rank-i) to next\n   */\n  TRACE(NCCL_BOOTSTRAP, \"NetRingAllGather started\");\n  BOOTSTRAP_PROF_OPEN(tFirst);\n  for (int i = 0; i < nranks - 1; i++) {\n    int tag = i;\n    size_t rslice = (rank - i - 1 + nranks) % nranks;\n    size_t sslice = (rank - i + nranks) % nranks;\n    void* recv_data = data + rslice * size;\n    void* send_data = data + sslice * size;\n    NCCLCHECKGOTO(netSendRecv(net, sendComm, send_data, size, sendDataHandle, recvComm, recv_data, size, recvDataHandle, tag, abortFlag), res, exit);\n    if (i == 0) {\n      BOOTSTRAP_PROF_CLOSE(tFirst);\n      BOOTSTRAP_PROF_OPEN(tRest);\n    }\n  }\n  BOOTSTRAP_PROF_CLOSE(tRest);\n  TRACE(NCCL_BOOTSTRAP | NCCL_PROFILE, \"netRingAllGather first message in %f (%f MB/sec), rest in %f (%f MB/sec)\", tFirst / 1e9, (size / 1e6) / (tFirst / 1e9), tRest / 1e9, (nranks - 1) * (size / 1e6) / (tRest / 1e9));\nexit:\n  // do not fail in case of error, try to deregister as much as possible\n  if (sendDataHandle) netDereg(net, sendComm, &sendDataHandle);\n  if (recvDataHandle) netDereg(net, recvComm, &recvDataHandle);\n  return res;\n}\nstatic ncclResult_t socketRingAllGather(struct ncclSocket* sendSock, struct ncclSocket* recvSock, int rank, int nranks, char* data, int size) {\n  ncclResult_t res = ncclSuccess;\n  uint64_t tFirst = 0, tRest = 0;\n  /* Simple ring based AllGather\n   * At each step i receive data from (rank-i-1) from prev\n   * and send previous step's data from (rank-i) to next\n   */\n  TRACE(NCCL_BOOTSTRAP, \"socketRingAllGather started\");\n  BOOTSTRAP_PROF_OPEN(tFirst);\n  for (int i = 0; i < nranks - 1; i++) {\n    size_t rslice = (rank - i - 1 + nranks) % nranks;\n    size_t sslice = (rank - i + nranks) % nranks;\n    void* recv_data = data + rslice * size;\n    void* send_data = data + sslice * size;\n    NCCLCHECKGOTO(socketSendRecv(sendSock, send_data, size, recvSock, recv_data, size), res, exit);\n    if (i == 0) {\n      BOOTSTRAP_PROF_CLOSE(tFirst);\n      BOOTSTRAP_PROF_OPEN(tRest);\n    }\n  }\n  BOOTSTRAP_PROF_CLOSE(tRest);\n  TRACE(NCCL_BOOTSTRAP | NCCL_PROFILE, \"socketRingAllGather first message in %f (%f MB/sec), rest in %f (%f MB/sec)\", tFirst / 1e9, (size / 1e6) / (tFirst / 1e9), tRest / 1e9, (nranks - 1) * (size / 1e6) / (tRest / 1e9));\nexit:\n  return res;\n}\nncclResult_t bootstrapAllGather(void* commState, void* allData, int size) {\n  ncclResult_t res = ncclSuccess;\n  struct bootstrapState* state = (struct bootstrapState*)commState;\n  int rank = state->rank;\n  int nranks = state->nranks;\n\n  TRACE(NCCL_BOOTSTRAP, \"rank %d nranks %d size %d - AllGather\", rank, nranks, size);\n\n  uint64_t time = 0;\n  BOOTSTRAP_PROF_OPEN(time);\n  if (ncclParamBootstrapNetEnable()) {\n    NCCLCHECKGOTO(netRingAllGather(state->net, STATE_RING(state, net.sendComm), STATE_RING(state, net.recvComm), rank, nranks, (char*)allData, size, state->abortFlag), res, exit);\n  } else {\n    NCCLCHECKGOTO(socketRingAllGather(&STATE_RING(state, socket.send), &STATE_RING(state, socket.recv), rank, nranks, (char*)allData, size), res, exit);\n  }\nexit:\n  BOOTSTRAP_PROF_CLOSE(time);\n  TRACE(NCCL_BOOTSTRAP | NCCL_PROFILE, \"bootstrapAllGather for %d B done in %f sec: %f MB/sec\", size, time / 1e9, (nranks * size / 1e6) / (time / 1e9));\n  TRACE(NCCL_BOOTSTRAP, \"rank %d nranks %d size %d - AllGather DONE\", rank, nranks, size);\n  return res;\n}\n\nstatic ncclResult_t bootstrapP2PBarrier(void* commState, int* ranks, int rank, int nranks, int tag) {\n  if (nranks == 1)\n    return ncclSuccess;\n  /* Simple [intra] process barrier\n   *\n   * Based on the dissemination algorithm by Debra Hensgen, Raphael Finkel, and Udi Manbet,\n   * \"Two Algorithms for Barrier Synchronization,\" International Journal of Parallel Programming, 17(1):1-17, 1988\"\n   */\n  int data[1] = {0};\n  for (int mask = 1; mask < nranks; mask <<= 1) {\n    int src = (rank - mask + nranks) % nranks;\n    int dst = (rank + mask) % nranks;\n    NCCLCHECK(bootstrapSend(commState, ranks ? ranks[dst] : dst, tag, data, sizeof(data)));\n    NCCLCHECK(bootstrapRecv(commState, ranks ? ranks[src] : src, tag, data, sizeof(data)));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t bootstrapIntraNodeBarrier(void* commState, int* ranks, int rank, int nranks, int tag) {\n  uint64_t time = 0;\n  BOOTSTRAP_PROF_OPEN(time);\n  NCCLCHECK(bootstrapP2PBarrier(commState, ranks, rank, nranks, tag));\n  BOOTSTRAP_PROF_CLOSE(time);\n  TRACE(NCCL_BOOTSTRAP | NCCL_PROFILE, \"bootstrapIntraNodeBarrier done in %f sec\", time / 1e9);\n  return ncclSuccess;\n}\n\nncclResult_t bootstrapBarrier(void* commState, int rank, int nranks, int tag) {\n  uint64_t time = 0;\n  BOOTSTRAP_PROF_OPEN(time);\n  NCCLCHECK(bootstrapP2PBarrier(commState, NULL, rank, nranks, tag));\n  BOOTSTRAP_PROF_CLOSE(time);\n  TRACE(NCCL_BOOTSTRAP | NCCL_PROFILE, \"bootstrapBarrier done in %f sec\", time / 1e9);\n  return ncclSuccess;\n}\n\nncclResult_t bootstrapIntraNodeAllGather(void* commState, int* ranks, int rank, int nranks, void* allData, int size) {\n  if (nranks == 1) return ncclSuccess;\n  TRACE(NCCL_INIT, \"rank %d nranks %d size %d - ENTER\", rank, nranks, size);\n\n  int prevRank = ranks[(rank - 1 + nranks) % nranks];\n  int nextRank = ranks[(rank + 1) % nranks];\n  // intraNode bootstrap is done defacto using the socket-based implementation\n  struct ncclSocket recvSocket, sendSocket;\n  NCCLCHECK(socketConnect(commState, nextRank, BOOTSTRAP_TAG_INTRANODE_ALLGATHER, &sendSocket));\n  NCCLCHECK(socketAccept(commState, prevRank, BOOTSTRAP_TAG_INTRANODE_ALLGATHER, &recvSocket));\n\n  NCCLCHECK(socketRingAllGather(&sendSocket, &recvSocket, rank, nranks, (char*)allData, size));\n\n  NCCLCHECK(ncclSocketClose(&sendSocket));\n  NCCLCHECK(ncclSocketClose(&recvSocket));\n\n  TRACE(NCCL_INIT, \"rank %d nranks %d size %d - DONE\", rank, nranks, size);\n  return ncclSuccess;\n}\n\n// [IntraNode] in-place Broadcast\nstatic ncclResult_t bootstrapP2PBroadcast(void* commState, int* ranks, int rank, int nranks, int root, void* bcastData, int size) {\n  if (nranks == 1) return ncclSuccess;\n  if (rank == root) {\n    for (int i = 0; i < nranks; i++) {\n      if (i != root) NCCLCHECK(bootstrapSend(commState, ranks ? ranks[i] : i, /*tag=*/ranks ? ranks[i] : i, bcastData, size));\n    }\n  } else {\n    NCCLCHECK(bootstrapRecv(commState, ranks ? ranks[root] : root, /*tag=*/ranks ? ranks[rank] : rank, bcastData, size));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t bootstrapIntraNodeBroadcast(void* commState, int* ranks, int rank, int nranks, int root, void* bcastData, int size) {\n  uint64_t time = 0;\n  BOOTSTRAP_PROF_OPEN(time);\n  NCCLCHECK(bootstrapP2PBroadcast(commState, ranks, rank, nranks, root, bcastData, size));\n  BOOTSTRAP_PROF_CLOSE(time);\n  TRACE(NCCL_BOOTSTRAP | NCCL_PROFILE, \"bootstrapIntraNodeBroadcast for %d B done in %f sec: %f MB/sec\", size, time / 1e9, (nranks * size / 1e6) / (time / 1e9));\n  return ncclSuccess;\n}\nncclResult_t bootstrapBroadcast(void* commState, int rank, int nranks, int root, void* bcastData, int size) {\n  uint64_t time = 0;\n  BOOTSTRAP_PROF_OPEN(time);\n  NCCLCHECK(bootstrapP2PBroadcast(commState, NULL, rank, nranks, root, bcastData, size));\n  BOOTSTRAP_PROF_CLOSE(time);\n  TRACE(NCCL_BOOTSTRAP | NCCL_PROFILE, \"bootstrapBroadcast done in %f sec\", time / 1e9);\n  return ncclSuccess;\n}\n\nncclResult_t bootstrapClose(void* commState) {\n  if (commState == NULL)\n    return ncclSuccess;\n  struct bootstrapState* state = (struct bootstrapState*)commState;\n  // close unexpected and return an error if we are not aborting and still operations in the pipe\n  if (state->unexpectedConnections != NULL) {\n    unexpectedFree(state);\n    if (__atomic_load_n(state->abortFlag, __ATOMIC_ACQUIRE) == 0) {\n      WARN(\"Unexpected connections are not empty\");\n      return ncclInternalError;\n    }\n  }\n  if (ncclParamBootstrapNetEnable()) {\n    NCCLCHECK(state->net->closeSend(STATE_RING(state, net.sendComm)));\n    NCCLCHECK(state->net->closeRecv(STATE_RING(state, net.recvComm)));\n    NCCLCHECK(state->net->closeListen(STATE_LISTEN(state, net.comm)));\n  } else {\n    NCCLCHECK(ncclSocketClose(&STATE_RING(state, socket.send)));\n    NCCLCHECK(ncclSocketClose(&STATE_RING(state, socket.recv)));\n    NCCLCHECK(ncclSocketClose(&STATE_LISTEN(state, socket)));\n  }\n  // close the p2p socket\n  NCCLCHECK(ncclSocketClose(&STATE_LISTEN(state, peerSocket)));\n\n  // proxy things are free'd elsewhere\n  free(state->peerP2pAddresses);\n  free(state);\n  return ncclSuccess;\n}\n\nncclResult_t bootstrapAbort(void* commState) {\n  if (commState == NULL)\n    return ncclSuccess;\n  struct bootstrapState* state = (struct bootstrapState*)commState;\n  // when aborting we need to close the proxy here (maybe?)\n  free(state->peerProxyAddresses);\n  free(state->peerProxyAddressesUDS);\n  NCCLCHECK(bootstrapClose(commState));\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/ce_coll.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"register_inline.h\"\n#include <cuda.h>\n#include \"rocmwrap.h\"\n#include \"ce_coll.h\"\n#include \"alloc.h\"\n\n// Static constant for graph synchronization\nstatic const uint32_t GRAPH_SYNC_VALUE = 1;\n\n// Static constants for intra-batch synchronization to improve CE collective performance with large scale\n// Frequency of intra-batch synchronization\nstatic const uint32_t CE_COLL_INTRA_BATCH_SYNC_FREQ = 8;\n// Message threshold for intra-batch synchronization\nstatic const uint64_t CE_COLL_INTRA_BATCH_SYNC_MSG_THRESHOLD = 512*1024*1024;\n\nncclResult_t ncclCeInit(struct ncclComm* comm) {\n  ncclResult_t ret = ncclSuccess;\n\n  uint8_t* ceDevBase;\n  size_t ceDevBaseSize = alignUp(comm->nRanks*sizeof(uint32_t), 16) * 2;\n  ncclWindow_vidmem* ceWinDev;\n  ncclWindow_vidmem* ceWinDevHost;\n\n  // Ensure symmetric memory runtime is initialized\n  NCCLCHECKGOTO(ncclDevrInitOnce(comm), ret, fail);\n  // Allocate and register memory for the symmetric memory\n  NCCLCHECKGOTO(ncclMemAlloc((void**)&ceDevBase, ceDevBaseSize), ret, fail);\n  NCCLCHECKGOTO(ncclDevrWindowRegisterInGroup(comm, ceDevBase, ceDevBaseSize, NCCL_WIN_COLL_SYMMETRIC, &ceWinDev), ret, fail);\n  NCCLCHECKGOTO(ncclShadowPoolToHost(&comm->devrState.shadows, ceWinDev, &ceWinDevHost), ret, fail);\n  // Get the ncclDevrWindow from the winHost field\n  comm->ceColl.ceSyncWin = (struct ncclDevrWindow*)ceWinDevHost->winHost;\n\n  comm->ceColl.baseUCSymReadyOffset = 0;\n  comm->ceColl.baseUCSymComplOffset = alignUp(comm->nRanks*sizeof(uint32_t), 16);\n  comm->ceColl.baseUCSymReadyPtr = (uint8_t*)comm->ceColl.ceSyncWin->userPtr + comm->ceColl.baseUCSymReadyOffset;\n  comm->ceColl.baseUCSymComplPtr = (uint8_t*)comm->ceColl.ceSyncWin->userPtr + comm->ceColl.baseUCSymComplOffset;\n  comm->ceColl.ceSeqNum = 0;\n  comm->ceColl.useCompletePtr = false;\n  comm->ceColl.intraBatchSyncFreq = CE_COLL_INTRA_BATCH_SYNC_FREQ;\n  comm->ceColl.intraBatchSyncMsgThreshold = CE_COLL_INTRA_BATCH_SYNC_MSG_THRESHOLD;\n  INFO(NCCL_INIT, \"Init CE, rank %d baseUCSymReadyPtr %p, baseUCSymComplPtr %p, seq num %d\", comm->rank, comm->ceColl.baseUCSymReadyPtr, comm->ceColl.baseUCSymComplPtr, comm->ceColl.ceSeqNum);\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t ncclCeFinalize(struct ncclComm* comm) {\n  ncclResult_t ret = ncclSuccess;\n  \n  // Clean up ceInitTaskQueue\n  while (!ncclIntruQueueEmpty(&comm->ceInitTaskQueue)) {\n    struct ncclCeInitTask* task = ncclIntruQueueDequeue(&comm->ceInitTaskQueue);\n    free(task);\n  }\n  \n  // Clean up CE resources\n  if (comm->ceColl.baseUCSymReadyPtr != NULL) {\n    if (comm->ceColl.ceSyncWin && comm->ceColl.ceSyncWin->vidmem) {\n      NCCLCHECKGOTO(ncclCommWindowDeregister(comm, comm->ceColl.ceSyncWin->vidmem), ret, fail);\n      NCCLCHECKGOTO(ncclMemFree(comm->ceColl.baseUCSymReadyPtr), ret, fail);\n    }\n    comm->ceColl.baseUCSymReadyPtr = NULL;\n    comm->ceColl.baseUCSymComplPtr = NULL;\n    comm->ceColl.ceSyncWin = NULL;\n  }\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\nbool ncclCeImplemented(ncclFunc_t coll, int/*ncclDevRedOp_t*/ red, ncclDataType_t ty) {\n  int driverVersion;\n  if (ncclCudaDriverVersion(&driverVersion) != ncclSuccess) return false;\n\n  // CE is supported in CUDA 12.5 and later\n  if (driverVersion >= 12050) {\n    switch (coll) {\n    case ncclFuncAllGather:\n    case ncclFuncAlltoAll:\n    case ncclFuncScatter:\n    case ncclFuncGather:\n      return true;\n    default:\n      return false;\n    }\n  }\n  return false;\n}\n\nncclResult_t ncclPrepMCSync(struct ncclComm* comm, bool isComplete, hipStreamBatchMemOpParams* batchParams, size_t* opIdx, cudaStream_t stream) {\n  ncclResult_t ret = ncclSuccess;\n\n  uint32_t* readyPtrs    = (uint32_t*)comm->ceColl.baseUCSymReadyPtr;\n  uint32_t* completePtrs = (uint32_t*)comm->ceColl.baseUCSymComplPtr;\n\n  bool capturing = ncclCudaGraphValid(comm->planner.capturingGraph);\n  uint32_t currentSeq = ++comm->ceColl.ceSeqNum;\n\n  // Source pointer is either the constant graph sync value or the sequence number\n  void* srcPtr = capturing ? (void*)&GRAPH_SYNC_VALUE : (void*)&currentSeq;\n  // Wait value is either the constant graph sync value or the sequence number\n  uint32_t waitValue = capturing ? GRAPH_SYNC_VALUE : currentSeq;\n\n  // Use multi-cast address as destination pointer\n  void* mcDstPtr;\n  void* dstPtr = isComplete ? (void*)&completePtrs[comm->rank] : (void*)&readyPtrs[comm->rank];\n  size_t offset = (uint8_t*)dstPtr - (uint8_t*)comm->ceColl.ceSyncWin->userPtr;\n  NCCLCHECKGOTO(ncclDevrGetLsaTeamPtrMC(comm, comm->ceColl.ceSyncWin, offset, ncclTeamLsa(comm), &mcDstPtr), ret, fail);\n  \n  // Write our own ready/complete flag to the multi-cast address\n  CUDACHECKGOTO(cudaMemcpyAsync(\n    mcDstPtr,\n    srcPtr,\n    sizeof(uint32_t),\n    cudaMemcpyHostToDevice,\n    stream), ret, fail);\n\n  // Add local wait operations for every other rank\n  for (int r = 0; r < comm->nRanks; ++r) {\n    if (r == comm->rank) continue;\n    batchParams[*opIdx] = {};\n    // batchParams[*opIdx].waitValue.operation = CU_STREAM_MEM_OP_WAIT_VALUE_32;\n    batchParams[*opIdx].waitValue.address = (CUdeviceptr)(isComplete ? (void*)&completePtrs[r] : (void*)&readyPtrs[r]);\n    batchParams[*opIdx].waitValue.value = waitValue;\n    batchParams[*opIdx].waitValue.flags = CU_STREAM_WAIT_VALUE_EQ;\n    (*opIdx)++;\n  }\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t ncclPrepUCSync(struct ncclComm* comm, bool isComplete,\n                               hipStreamBatchMemOpParams* batchParams,\n                               size_t* opIdx) {\n  ncclResult_t ret = ncclSuccess;\n\n  uint32_t* readyPtrs    = (uint32_t*)comm->ceColl.baseUCSymReadyPtr;\n  uint32_t* completePtrs = (uint32_t*)comm->ceColl.baseUCSymComplPtr;\n\n  bool capturing = ncclCudaGraphValid(comm->planner.capturingGraph);\n  uint32_t currentSeq = ++comm->ceColl.ceSeqNum;\n\n  // Write our own ready/complete flag to remote ranks\n  uint32_t waitValue = capturing ? GRAPH_SYNC_VALUE : currentSeq;\n  for (int r = 0; r < comm->nRanks; ++r) {\n    if (r == comm->rank) continue;\n    void * peerDstPtr;\n    void* dstPtr = isComplete ? (void*)&completePtrs[comm->rank] : (void*)&readyPtrs[comm->rank];\n    size_t offset = (uint8_t*)dstPtr - (uint8_t*)comm->ceColl.ceSyncWin->userPtr;\n    NCCLCHECKGOTO(ncclDevrGetLsaRankPtr(comm, comm->ceColl.ceSyncWin, offset, r, &peerDstPtr), ret, fail);\n    batchParams[*opIdx] = {};\n    // batchParams[*opIdx].writeValue.operation = CU_STREAM_MEM_OP_WRITE_VALUE_32;\n    batchParams[*opIdx].writeValue.address  = (CUdeviceptr)peerDstPtr;\n    batchParams[*opIdx].writeValue.value = waitValue;\n    // batchParams[*opIdx].writeValue.flags = CU_STREAM_WRITE_VALUE_DEFAULT;\n    (*opIdx)++;\n  }\n\n  // Add local wait operations for every other rank\n  for (int r = 0; r < comm->nRanks; ++r) {\n    if (r == comm->rank) continue;\n    batchParams[*opIdx] = {};\n    // batchParams[*opIdx].waitValue.operation = CU_STREAM_MEM_OP_WAIT_VALUE_32;\n    batchParams[*opIdx].waitValue.address  = (CUdeviceptr)(isComplete ? (void*)&completePtrs[r] : (void*)&readyPtrs[r]);\n    batchParams[*opIdx].waitValue.value = waitValue;\n    batchParams[*opIdx].waitValue.flags = CU_STREAM_WAIT_VALUE_EQ;\n    (*opIdx)++;\n  }\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\n\nncclResult_t ncclMemOpSync(struct ncclComm* comm, cudaStream_t stream) {\n  ncclResult_t ret = ncclSuccess;\n\n  // Get pointers to the ready and complete synchronization arrays\n  uint32_t* readyPtrs = (uint32_t*)comm->ceColl.baseUCSymReadyPtr;\n  uint32_t* completePtrs = (uint32_t*)comm->ceColl.baseUCSymComplPtr;\n  \n  // Allocate enough slots for all possible ops\n  size_t batchSize = (comm->nvlsSupport ? NCCL_CE_SYNC_OPS_PER_RANK_MC : NCCL_CE_SYNC_OPS_PER_RANK_UC) * comm->nRanks;\n  size_t opIdx = 0;\n\n  // Prepare batch memory operations for synchronization\n  hipStreamBatchMemOpParams* batchParams = nullptr;\n  NCCLCHECKGOTO(ncclCalloc(&batchParams, batchSize), ret, fail);\n\n  if (comm->nvlsSupport) {\n    NCCLCHECKGOTO(ncclPrepMCSync(comm, comm->ceColl.useCompletePtr, batchParams, &opIdx, stream), ret, fail);\n  } else {\n    NCCLCHECKGOTO(ncclPrepUCSync(comm, comm->ceColl.useCompletePtr, batchParams, &opIdx), ret, fail);\n  }\n\n  // For CUDA graph capture, add reset operation\n  if (ncclCudaGraphValid(comm->planner.capturingGraph)) {\n    for (int i = 0; i < comm->nRanks; i++) {\n      batchParams[opIdx] = {};\n      // batchParams[opIdx].writeValue.operation = CU_STREAM_MEM_OP_WRITE_VALUE_32;\n      batchParams[opIdx].writeValue.address = (CUdeviceptr)(comm->ceColl.useCompletePtr ? (void*)&completePtrs[i] : (void*)&readyPtrs[i]);\n      batchParams[opIdx].writeValue.value = 0;\n      // batchParams[opIdx].writeValue.flags = CU_STREAM_WRITE_VALUE_DEFAULT;\n      opIdx++;\n    }\n  }\n  \n  // Execute all memory operations in a single batch\n  CUCHECKGOTO(hipStreamBatchMemOp(stream, opIdx, batchParams, 0), ret, fail);\n\n  // Toggle the flag for next call\n  comm->ceColl.useCompletePtr = !comm->ceColl.useCompletePtr;\n\nexit:\n  if (batchParams) free(batchParams);\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t ncclCeInitBatchOpsParams(struct ncclCeBatchOpsParams* params, int nRanks) {\n  ncclResult_t ret = ncclSuccess;\n  \n  params->srcs = nullptr;\n  params->dsts = nullptr;\n  params->sizes = nullptr;\n  params->numOps = 0;\n  params->intraBatchSync = false;\n#if CUDART_VERSION >= 12080\n  params->attrs = nullptr;\n  params->attrIdxs = nullptr;\n  params->numAttrs = 0;\n#endif\n  \n  NCCLCHECKGOTO(ncclCalloc(&params->srcs, nRanks), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&params->dsts, nRanks), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&params->sizes, nRanks), ret, fail);\n#if CUDART_VERSION >= 12080\n  NCCLCHECKGOTO(ncclCalloc(&params->attrs, nRanks), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&params->attrIdxs, nRanks), ret, fail);\n#endif\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\nvoid ncclCeFreeBatchOpsParams(struct ncclCeBatchOpsParams* params) {\n  if (params->srcs) free(params->srcs);\n  if (params->dsts) free(params->dsts);\n  if (params->sizes) free(params->sizes);\n#if CUDART_VERSION >= 12080\n  if (params->attrs) free(params->attrs);\n  if (params->attrIdxs) free(params->attrIdxs);\n#endif\n}\n\nncclResult_t ncclCeLaunchBatchOps(struct ncclComm* comm, struct ncclCeBatchOpsParams* params, cudaStream_t stream) {\n  ncclResult_t ret = ncclSuccess;\n\n  // Check if there are any operations to perform\n  if (params->numOps == 0) {\n    return ncclSuccess;\n  }\n\n  // Check if we are in a CUDA graph capture\n  bool capturing = ncclCudaGraphValid(comm->planner.capturingGraph);\n\n  int driverVersion;\n  NCCLCHECKGOTO(ncclCudaDriverVersion(&driverVersion), ret, fail);\n    \n  //--------------Graph capture--------------\n  // cudaMemcpyBatchAsync is not supported during CUDA graph capture\n  if (capturing) {\n    for (int i =0; i < params->numOps; i++) {\n      CUDACHECKGOTO(cudaMemcpyAsync(\n        (void*)params->dsts[i],\n        (void*)params->srcs[i],\n        params->sizes[i],\n        cudaMemcpyDeviceToDevice,\n        stream), ret, fail);\n\n      if (params->intraBatchSync && ((i+1) % comm->ceColl.intraBatchSyncFreq == 0) && ((i+1) < params->numOps)) {\n        NCCLCHECKGOTO(ncclMemOpSync(comm, stream), ret, fail);\n      }\n    }\n  }\n  //--------------No graph capture--------------\n  else {\n    if (/*CUDART_VERSION >= 12080 &&*/ driverVersion >= 12080) {\n#if CUDART_VERSION >= 12080\n    // For CUDA 12.8+, use batch memory copy for better performance\n    params->attrs[0] = {};\n    params->attrs[0].srcAccessOrder = cudaMemcpySrcAccessOrderStream;\n    params->attrs[0].flags = cudaMemcpyFlagPreferOverlapWithCompute;\n    params->attrIdxs[0] = 0;\n    params->numAttrs = 1;\n\n    if (params->intraBatchSync) {\n      // Break into multiple batches with sync between them\n      int batchSize = comm->ceColl.intraBatchSyncFreq;\n      for (int i = 0; i < params->numOps; i += batchSize) {\n        int currentBatchSize = (i + batchSize <= params->numOps) ? batchSize : params->numOps - i;\n\n        #if CUDART_VERSION >= 13000\n        CUDACHECKGOTO(cudaMemcpyBatchAsync(\n          &params->dsts[i], &params->srcs[i], &params->sizes[i], currentBatchSize,\n          params->attrs, params->attrIdxs, params->numAttrs, stream), ret, fail);\n        #else\n        CUDACHECKGOTO(cudaMemcpyBatchAsync(\n          &params->dsts[i], &params->srcs[i], &params->sizes[i], currentBatchSize,\n          params->attrs, params->attrIdxs, params->numAttrs, nullptr, stream), ret, fail);\n        #endif\n\n        // Sync after each batch\n        if (i + batchSize < params->numOps) {\n          NCCLCHECKGOTO(ncclMemOpSync(comm, stream), ret, fail);\n        }\n      }\n    } else {\n      // Use single batch for all operations\n      #if CUDART_VERSION >= 13000\n      CUDACHECKGOTO(cudaMemcpyBatchAsync(\n        params->dsts, params->srcs, params->sizes, params->numOps,\n        params->attrs, params->attrIdxs, params->numAttrs, stream), ret, fail);\n      #else\n      CUDACHECKGOTO(cudaMemcpyBatchAsync(\n        params->dsts, params->srcs, params->sizes, params->numOps,\n        params->attrs, params->attrIdxs, params->numAttrs, nullptr, stream), ret, fail);\n      #endif\n    }\n#endif\n    } else {\n      // For older CUDA versions, fall back to individual transfers\n      for (int i = 0; i < params->numOps; i++) {\n        CUDACHECKGOTO(cudaMemcpyAsync(\n          (void*)params->dsts[i],\n          (void*)params->srcs[i],\n          params->sizes[i],\n          cudaMemcpyDeviceToDevice,\n          stream), ret, fail);\n\n        if (params->intraBatchSync && ((i+1) % comm->ceColl.intraBatchSyncFreq == 0) && ((i+1) < params->numOps)) {\n          NCCLCHECKGOTO(ncclMemOpSync(comm, stream), ret, fail);\n        }\n      }\n    }\n  }\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\n\nncclResult_t ncclCeAllGather(struct ncclComm* comm, struct ncclCeCollArgs* args, cudaStream_t stream) {\n  ncclResult_t ret = ncclSuccess;\n  \n  // Calculate the size of each rank's data chunk\n  const size_t chunkBytes = args->nElts * args->eltSize;\n  uint8_t* mySendBuff = (uint8_t*)args->sendBuff;\n  uint8_t* myRecvBuff = (uint8_t*)args->recvBuff + comm->rank * chunkBytes;\n  void* peerRecvBuff;\n  size_t offset;\n\n  struct ncclCeBatchOpsParams batchOpsParams = {};\n  NCCLCHECKGOTO(ncclCeInitBatchOpsParams(&batchOpsParams, comm->nRanks), ret, fail);\n\n  // Ensure all ranks are ready before starting transfers\n  NCCLCHECKGOTO(ncclMemOpSync(comm, stream), ret, fail);\n\n  // Copy own data to receive buffer if operation is out-of-place\n  if (myRecvBuff != mySendBuff) {\n    batchOpsParams.srcs[batchOpsParams.numOps] = (void*)mySendBuff;\n    batchOpsParams.dsts[batchOpsParams.numOps] = (void*)myRecvBuff;\n    batchOpsParams.sizes[batchOpsParams.numOps] = chunkBytes;\n    batchOpsParams.numOps++;\n  }\n\n  // Copy data to other ranks\n  for (int r = 1; r < comm->nRanks; r++) {\n    int targetRank = (comm->rank + r) % comm->nRanks;\n    offset = myRecvBuff - (uint8_t*)args->recvWin->userPtr;\n    NCCLCHECKGOTO(ncclDevrGetLsaRankPtr(comm, args->recvWin, offset, targetRank, &peerRecvBuff), ret, fail);\n    batchOpsParams.srcs[batchOpsParams.numOps] = (void*)mySendBuff;\n    batchOpsParams.dsts[batchOpsParams.numOps] = (void*)peerRecvBuff;\n    batchOpsParams.sizes[batchOpsParams.numOps] = chunkBytes;\n    batchOpsParams.numOps++;\n  }\n\n  // Check if we need to perform intra-batch synchronization\n  batchOpsParams.intraBatchSync = (batchOpsParams.numOps > comm->ceColl.intraBatchSyncFreq && chunkBytes*batchOpsParams.numOps >= comm->ceColl.intraBatchSyncMsgThreshold);\n\n  // Launch the batch operations\n  NCCLCHECKGOTO(ncclCeLaunchBatchOps(comm, &batchOpsParams, stream), ret, fail);\n\n  // Ensure all transfers are complete across all ranks\n  NCCLCHECKGOTO(ncclMemOpSync(comm, stream), ret, fail);\n\nexit:\n  ncclCeFreeBatchOpsParams(&batchOpsParams);\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t ncclCeAlltoAll(struct ncclComm* comm, struct ncclCeCollArgs* args, cudaStream_t stream) {\n  ncclResult_t ret = ncclSuccess;\n  \n  // Calculate the size of data each rank sends to every other rank\n  const size_t chunkBytes = args->nElts * args->eltSize;\n  uint8_t* mySendBuff = (uint8_t*)args->sendBuff;\n  uint8_t* myRecvBuff = (uint8_t*)args->recvBuff;\n  void* peerRecvBuff;\n  size_t offset;\n\n  struct ncclCeBatchOpsParams batchOpsParams = {};\n  NCCLCHECKGOTO(ncclCeInitBatchOpsParams(&batchOpsParams, comm->nRanks * comm->nRanks), ret, fail);\n\n  // Ensure all ranks are ready before starting transfers\n  NCCLCHECKGOTO(ncclMemOpSync(comm, stream), ret, fail);\n\n  // Copy data to other ranks: send data chunk for each destination rank\n  for (int r = 0; r < comm->nRanks; r++) {\n    int dstRank = (comm->rank + r) % comm->nRanks;\n    uint8_t* srcPtr = mySendBuff + dstRank * chunkBytes;\n    uint8_t* dstPtr = myRecvBuff + comm->rank * chunkBytes;\n    \n    if (dstRank == comm->rank) {\n      // Local copy for own data\n      batchOpsParams.srcs[batchOpsParams.numOps] = (void*)srcPtr;\n      batchOpsParams.dsts[batchOpsParams.numOps] = (void*)dstPtr;\n      batchOpsParams.sizes[batchOpsParams.numOps] = chunkBytes;\n      batchOpsParams.numOps++;\n    } else {\n      // Remote copy to other ranks: send to rank dstRank's receive buffer at position comm->rank\n      offset = dstPtr - (uint8_t*)args->recvWin->userPtr;\n      NCCLCHECKGOTO(ncclDevrGetLsaRankPtr(comm, args->recvWin, offset, dstRank, &peerRecvBuff), ret, fail);\n      batchOpsParams.srcs[batchOpsParams.numOps] = (void*)srcPtr;\n      batchOpsParams.dsts[batchOpsParams.numOps] = (void*)peerRecvBuff;\n      batchOpsParams.sizes[batchOpsParams.numOps] = chunkBytes;\n      batchOpsParams.numOps++;\n    }\n  }\n\n  // Check if we need to perform intra-batch synchronization\n  batchOpsParams.intraBatchSync = (batchOpsParams.numOps > comm->ceColl.intraBatchSyncFreq && chunkBytes*batchOpsParams.numOps >= comm->ceColl.intraBatchSyncMsgThreshold);\n\n  // Launch the batch operations\n  NCCLCHECKGOTO(ncclCeLaunchBatchOps(comm, &batchOpsParams, stream), ret, fail);\n\n  // Ensure all transfers are complete across all ranks\n  NCCLCHECKGOTO(ncclMemOpSync(comm, stream), ret, fail);\n\nexit:\n  ncclCeFreeBatchOpsParams(&batchOpsParams);\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t ncclCeScatter(struct ncclComm* comm, struct ncclCeCollArgs* args, cudaStream_t stream) {\n  ncclResult_t ret = ncclSuccess;\n  \n  // Calculate the size of data root sends to each rank\n  const size_t chunkBytes = args->nElts * args->eltSize;\n  uint8_t* mySendBuff = (uint8_t*)args->sendBuff;\n  uint8_t* myRecvBuff = (uint8_t*)args->recvBuff;\n  int rootRank = args->rootRank;\n  void* peerDstPtr;\n  size_t offset;\n\n  struct ncclCeBatchOpsParams batchOpsParams = {};\n  NCCLCHECKGOTO(ncclCeInitBatchOpsParams(&batchOpsParams, comm->nRanks), ret, fail);\n\n  // Ensure all ranks are ready before starting transfers\n  NCCLCHECKGOTO(ncclMemOpSync(comm, stream), ret, fail);\n\n  if (comm->rank == rootRank) {\n    // Check if this is an in-place scatter operation\n    bool isInPlace = (myRecvBuff == mySendBuff + comm->rank * chunkBytes);\n\n    // Copy root's own data first if not in-place\n    if (!isInPlace) {\n      uint8_t* srcPtr = mySendBuff + comm->rank * chunkBytes;\n      uint8_t* dstPtr = myRecvBuff;\n      batchOpsParams.srcs[batchOpsParams.numOps] = (void*)srcPtr;\n      batchOpsParams.dsts[batchOpsParams.numOps] = (void*)dstPtr;\n      batchOpsParams.sizes[batchOpsParams.numOps] = chunkBytes;\n      batchOpsParams.numOps++;\n    }\n\n    // Root rank distributes data to other ranks\n    for (int r = 1; r < comm->nRanks; r++) {\n      int dstRank = (comm->rank + r) % comm->nRanks;\n      uint8_t* srcPtr = mySendBuff + dstRank * chunkBytes;\n      uint8_t* dstPtr = isInPlace ? myRecvBuff + dstRank * chunkBytes : myRecvBuff;\n\n      offset = dstPtr - (uint8_t*)args->recvWin->userPtr;\n      NCCLCHECKGOTO(ncclDevrGetLsaRankPtr(comm, args->recvWin, offset, dstRank, &peerDstPtr), ret, fail);\n      batchOpsParams.srcs[batchOpsParams.numOps] = (void*)srcPtr;\n      batchOpsParams.dsts[batchOpsParams.numOps] = (void*)peerDstPtr;\n      batchOpsParams.sizes[batchOpsParams.numOps] = chunkBytes;\n      batchOpsParams.numOps++;\n    }\n  }\n  // Non-root ranks don't need to perform any copy operations\n\n  // Launch the batch operations\n  NCCLCHECKGOTO(ncclCeLaunchBatchOps(comm, &batchOpsParams, stream), ret, fail);\n\n  // Ensure all transfers are complete across all ranks\n  NCCLCHECKGOTO(ncclMemOpSync(comm, stream), ret, fail);\n\nexit:\n  ncclCeFreeBatchOpsParams(&batchOpsParams);\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t ncclCeGather(struct ncclComm* comm, struct ncclCeCollArgs* args, cudaStream_t stream) {\n  ncclResult_t ret = ncclSuccess;\n  \n  // Calculate the size of data each rank sends to root\n  const size_t chunkBytes = args->nElts * args->eltSize;\n  uint8_t* mySendBuff = (uint8_t*)args->sendBuff;\n  uint8_t* myRecvBuff = (uint8_t*)args->recvBuff;\n  int rootRank = args->rootRank;\n  void* peerRecvBuff;\n  size_t offset;\n\n  struct ncclCeBatchOpsParams batchOpsParams = {};\n  NCCLCHECKGOTO(ncclCeInitBatchOpsParams(&batchOpsParams, 1), ret, fail);\n\n  // Ensure all ranks are ready before starting transfers\n  NCCLCHECKGOTO(ncclMemOpSync(comm, stream), ret, fail);\n\n  if (comm->rank == rootRank) {\n    // Root rank copies its own data to the correct position in receive buffer\n    uint8_t* dstPtr = myRecvBuff + comm->rank * chunkBytes;\n    if (mySendBuff != dstPtr) {\n      batchOpsParams.srcs[batchOpsParams.numOps] = (void*)mySendBuff;\n      batchOpsParams.dsts[batchOpsParams.numOps] = (void*)dstPtr;\n      batchOpsParams.sizes[batchOpsParams.numOps] = chunkBytes;\n      batchOpsParams.numOps++;\n    }\n  } else {\n    // Non-root ranks send their data to root's receive buffer\n    uint8_t* rootRecvPtr = (uint8_t*)args->recvBuff + comm->rank * chunkBytes;\n    offset = rootRecvPtr - (uint8_t*)args->recvWin->userPtr;\n    NCCLCHECKGOTO(ncclDevrGetLsaRankPtr(comm, args->recvWin, offset, rootRank, &peerRecvBuff), ret, fail);\n    batchOpsParams.srcs[batchOpsParams.numOps] = (void*)mySendBuff;\n    batchOpsParams.dsts[batchOpsParams.numOps] = (void*)peerRecvBuff;\n    batchOpsParams.sizes[batchOpsParams.numOps] = chunkBytes;\n    batchOpsParams.numOps++;\n  }\n\n  // Launch the batch operations\n  NCCLCHECKGOTO(ncclCeLaunchBatchOps(comm, &batchOpsParams, stream), ret, fail);\n\n  // Ensure all transfers are complete across all ranks\n  NCCLCHECKGOTO(ncclMemOpSync(comm, stream), ret, fail);\n\nexit:\n  ncclCeFreeBatchOpsParams(&batchOpsParams);\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t ncclLaunchCeColl(struct ncclComm* comm, struct ncclKernelPlan* plan) {\n  ncclResult_t ret = ncclSuccess;\n  cudaStream_t stream = comm->planner.streams->stream;\n  struct ncclCeCollArgs* args = plan->ceCollArgs;\n\n  switch (args->func) {\n    case ncclFuncAllGather:\n      NCCLCHECKGOTO(ncclCeAllGather(comm, args, stream), ret, fail);\n      break;\n    case ncclFuncAlltoAll:\n      NCCLCHECKGOTO(ncclCeAlltoAll(comm, args, stream), ret, fail);\n      break;\n    case ncclFuncScatter:\n      NCCLCHECKGOTO(ncclCeScatter(comm, args, stream), ret, fail);\n      break;\n    case ncclFuncGather:\n      NCCLCHECKGOTO(ncclCeGather(comm, args, stream), ret, fail);\n      break;\n    default:\n      ret = ncclInvalidUsage;\n  }\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n"
  },
  {
    "path": "src/channel.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"channel.h\"\n#include \"param.h\"\n#include \"gdrwrap.h\"\n#include \"transport.h\"\n\nncclResult_t initChannel(struct ncclComm* comm, int channelId) {\n  struct ncclChannel* channel = &comm->channels[channelId];\n  if (channel->id != -1) return ncclSuccess;\n\n  int nRanks = comm->nRanks;\n  int nvlsRanks = comm->localRanks;\n  int nPeers = nRanks + 1 /* Collnet */ + nvlsRanks /* NVLS */;\n  channel->id = channelId;\n  channel->workFifoProduced = 0;\n\n  struct ncclSharedResources* sharedRes = comm->sharedRes;\n  cudaStream_t deviceStream;\n  NCCLCHECK(ncclStrongStreamAcquire(ncclCudaGraphNone(), &sharedRes->deviceStream, /*concurrent=*/false, &deviceStream));\n\n  if (channel->peers == NULL) {\n    // The extra on nRanks+1 is for collnet root (i.e. network)\n    // Allocate everything related to sharedRes with ncclCalloc as this can be\n    // shared between communicators hence should not be tied to comm.\n    if (sharedRes->peers[channelId] == NULL) {\n      NCCLCHECK(ncclCalloc(sharedRes->peers + channelId, sharedRes->tpNRanks));\n    }\n    channel->peers = ncclMemoryStackAlloc<struct ncclChannelPeer*>(&comm->memPermanent, nPeers);\n    for (int r = 0; r < nRanks; r++) {\n      channel->peers[r] = comm->sharedRes->peers[channelId] + comm->topParentRanks[r];\n      ncclAtomicRefCountIncrement(&channel->peers[r]->refCount);\n    }\n  }\n\n  if (channel->devPeers == NULL) {\n    if (sharedRes->devPeers[channelId] == NULL) {\n      NCCLCHECK(ncclCudaCallocAsync(sharedRes->devPeers + channelId, sharedRes->tpNRanks, deviceStream));\n    }\n    /* channel->devPeers is not shared, so just free it when calling commFree() */\n    NCCLCHECK(ncclCudaCallocAsync(&channel->devPeers, nPeers, deviceStream));\n    ncclCommPushCudaFree(comm, channel->devPeers);\n    NCCLCHECK(ncclCalloc(&channel->devPeersHostPtr, nPeers));\n    for (int r = 0; r < nRanks; r++) {\n      uintptr_t addr = (uintptr_t)(comm->sharedRes->devPeers[channelId] + comm->topParentRanks[r]);\n      NCCLCHECK(ncclCudaMemcpyAsync((uintptr_t*)(channel->devPeers + r), (uintptr_t*)&addr, 1, deviceStream));\n      channel->devPeersHostPtr[r] = (struct ncclDevChannelPeer*)addr;\n    }\n  }\n\n  channel->ring.userRanks = ncclMemoryStackAlloc<int>(&comm->memPermanent, nRanks);\n  NCCLCHECK(ncclCudaCallocAsync(&channel->devRingUserRanks, nRanks, deviceStream));\n  ncclCommPushCudaFree(comm, channel->devRingUserRanks);\n\n  /* guarantee addr has been copied into channel->devPeers */\n  NCCLCHECK(ncclStrongStreamRelease(ncclCudaGraphNone(), &sharedRes->deviceStream, /*concurrent=*/false));\n  NCCLCHECK(ncclStrongStreamSynchronize(&sharedRes->deviceStream));\n  return ncclSuccess;\n}\n\nncclResult_t initNvlsChannel(struct ncclComm* comm, int channelId, struct ncclComm* parent, bool share) {\n  struct ncclChannel* channel = &comm->channels[channelId];\n  struct ncclSharedResources* sharedRes = comm->sharedRes;\n  cudaStream_t deviceStream;\n\n  if (channel->nvlsPeers != NULL)\n    return ncclSuccess;\n\n  if (channel->id == -1)\n    NCCLCHECK(initChannel(comm, channelId));\n\n  NCCLCHECK(ncclStrongStreamAcquire(ncclCudaGraphNone(), &sharedRes->deviceStream, /*concurrent=*/false, &deviceStream));\n\n  int nvlsRanks = comm->localRanks;\n\n  if (share) {\n    channel->nvlsPeers = parent->channels[channelId].nvlsPeers;\n    channel->nvlsDevPeers = parent->channels[channelId].nvlsDevPeers;\n    for (int r = 0; r < nvlsRanks; ++r) {\n      int tr = comm->topParentLocalRanks[r];\n      uintptr_t addr = (uintptr_t)(parent->channels[channelId].nvlsDevPeers + tr);\n      channel->peers[comm->nRanks + 1 + r] = parent->channels[channelId].nvlsPeers + tr;\n      NCCLCHECK(ncclCudaMemcpyAsync((uintptr_t*)(channel->devPeers + comm->nRanks + 1 + r), (uintptr_t*)&addr, 1, deviceStream));\n      channel->devPeersHostPtr[comm->nRanks + 1 + r] = (struct ncclDevChannelPeer*)addr;\n      ncclAtomicRefCountIncrement(&parent->channels[channelId].nvlsPeers[tr].refCount);\n    }\n  } else {\n    NCCLCHECK(ncclCalloc(&channel->nvlsPeers, nvlsRanks));\n    NCCLCHECK(ncclCudaCallocAsync(&channel->nvlsDevPeers, nvlsRanks, deviceStream));\n    for (int r = 0; r < nvlsRanks; ++r) {\n      uintptr_t addr = (uintptr_t)(channel->nvlsDevPeers + r);\n      channel->peers[comm->nRanks + 1 + r] = channel->nvlsPeers + r;\n      NCCLCHECK(ncclCudaMemcpyAsync((uintptr_t*)(channel->devPeers + comm->nRanks + 1 + r), (uintptr_t*)&addr, 1, deviceStream));\n      channel->devPeersHostPtr[comm->nRanks + 1 + r] = (struct ncclDevChannelPeer*)addr;\n      ncclAtomicRefCountIncrement(&channel->nvlsPeers[r].refCount);\n    }\n  }\n\n  NCCLCHECK(ncclStrongStreamRelease(ncclCudaGraphNone(), &sharedRes->deviceStream, /*concurrent=*/false));\n  NCCLCHECK(ncclStrongStreamSynchronize(&sharedRes->deviceStream));\n\n  return ncclSuccess;\n}\n\nncclResult_t initCollnetChannel(struct ncclComm* comm, int channelId, struct ncclComm* parent, bool share) {\n  struct ncclChannel* channel = &comm->channels[channelId];\n  struct ncclSharedResources* sharedRes = comm->sharedRes;\n  uintptr_t addr;\n  cudaStream_t deviceStream;\n\n  if (channel->collnetPeers != NULL)\n    return ncclSuccess;\n\n  if (channel->id == -1)\n    NCCLCHECK(initChannel(comm, channelId));\n\n  NCCLCHECK(ncclStrongStreamAcquire(ncclCudaGraphNone(), &sharedRes->deviceStream, /*concurrent=*/false, &deviceStream));\n\n  if (share) {\n    channel->collnetPeers = parent->channels[channelId].collnetPeers;\n    channel->collnetDevPeers = parent->channels[channelId].collnetDevPeers;\n    addr = (uintptr_t)parent->channels[channelId].collnetDevPeers;\n    channel->peers[comm->nRanks] = parent->channels[channelId].collnetPeers;\n    NCCLCHECK(ncclCudaMemcpyAsync((uintptr_t*)(channel->devPeers + comm->nRanks), (uintptr_t*)&addr, 1, deviceStream));\n    channel->devPeersHostPtr[comm->nRanks] = (struct ncclDevChannelPeer*)addr;\n    ncclAtomicRefCountIncrement(&parent->channels[channelId].collnetPeers->refCount);\n  } else {\n    NCCLCHECK(ncclCalloc(&channel->collnetPeers, 1));\n    NCCLCHECK(ncclCudaCallocAsync(&channel->collnetDevPeers, 1, deviceStream));\n    addr = (uintptr_t)channel->collnetDevPeers;\n    channel->peers[comm->nRanks] = channel->collnetPeers;\n    NCCLCHECK(ncclCudaMemcpyAsync((uintptr_t*)(channel->devPeers + comm->nRanks), (uintptr_t*)&addr, 1, deviceStream));\n    channel->devPeersHostPtr[comm->nRanks] = (struct ncclDevChannelPeer*)addr;\n    ncclAtomicRefCountIncrement(&channel->collnetPeers->refCount);\n  }\n\n  NCCLCHECK(ncclStrongStreamRelease(ncclCudaGraphNone(), &sharedRes->deviceStream, /*concurrent=*/false));\n  NCCLCHECK(ncclStrongStreamSynchronize(&sharedRes->deviceStream));\n\n  return ncclSuccess;\n}\n\nncclResult_t freeChannel(struct ncclChannel* channel, int nRanks, int collnetNRanks, int nvlsNRanks) {\n  int nPeers = nRanks + collnetNRanks + nvlsNRanks;\n  /* channel peers are only valid when async init thread completes commAlloc() and\n   * the channel is initialized with initChannel(); if either is not done, this channel\n   * should never be free. */\n  if (channel->id == -1 || channel->peers == NULL) return ncclSuccess;\n\n  // Free transport proxy resources\n  // Note: free all send resources first due to CollNet arrangement\n  for (int r = 0; r < nPeers; r++) {\n    struct ncclChannelPeer* peer = channel->peers[r];\n    if (peer) {\n      if (ncclAtomicRefCountDecrement(&peer->refCount) == 0) {\n        for (int b=0; b<NCCL_MAX_CONNS; b++) {\n          if (peer->send[b].transportComm) NCCLCHECK(peer->send[b].transportComm->free(peer->send+b));\n          if (peer->recv[b].transportComm) NCCLCHECK(peer->recv[b].transportComm->free(peer->recv+b));\n        }\n        if (r == nRanks) {\n          free(channel->collnetPeers);\n          ncclCudaFree(channel->collnetDevPeers);\n        } else if (r == nPeers - 1) {\n          free(channel->nvlsPeers);\n          ncclCudaFree(channel->nvlsDevPeers);\n        }\n      }\n    }\n  }\n\n  free(channel->devPeersHostPtr);\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/collectives.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"argcheck.h\" // Need some checks here since we access comm\n#include \"collectives.h\"\n#include \"enqueue.h\"\n#include \"graph/topo.h\"\n#include \"nccl.h\"\n#include \"api_trace.h\"\n#include \"nvtx_payload_schemas.h\"\n#include \"msccl/msccl_lifecycle.h\"\n\n#ifdef ENABLE_ROCSHMEM\n#include <rocshmem/rocshmem.hpp>\n#endif\n\nusing namespace rccl;\n\nconst char* ncclFuncToString(ncclFunc_t fn) {\n  switch (fn) {\n  case ncclFuncAllGather: return \"AllGather\";\n  case ncclFuncAllReduce: return \"AllReduce\";\n  case ncclFuncAlltoAll: return \"AlltoAll\";\n  case ncclFuncBroadcast: return \"Broadcast\";\n  case ncclFuncGather: return \"Gather\";\n  case ncclFuncRecv: return \"Recv\";\n  case ncclFuncReduce: return \"Reduce\";\n  case ncclFuncReduceScatter: return \"ReduceScatter\";\n  case ncclFuncScatter: return \"Scatter\";\n  case ncclFuncSendRecv: return \"SendRecv\";\n  case ncclFuncSend: return \"Send\";\n  default: return \"Invalid\";\n  }\n}\n\nconst char* ncclDevRedOpToString(ncclDevRedOp_t op) {\n  switch (op) {\n  case ncclDevSum: return \"Sum\";\n  case ncclDevProd: return \"Prod\";\n  case ncclDevMinMax: return \"MinMax\";\n  case ncclDevPreMulSum: return \"PreMulSum\";\n  case ncclDevSumPostDiv: return \"SumPostDiv\";\n  default: return \"Unknown\";\n  }\n}\n\nconst char* ncclDatatypeToString(ncclDataType_t type) {\n  switch (type) {\n  case ncclInt8: return \"ncclInt8\";\n  case ncclInt32: return \"ncclInt32\";\n  case ncclUint32: return \"ncclUint32\";\n  case ncclInt64: return \"ncclInt64\";\n  case ncclUint64: return \"ncclUint64\";\n  case ncclFloat16: return \"ncclFloat16\";\n  case ncclFloat32: return \"ncclFloat32\";\n  case ncclFloat64: return \"ncclFloat64\";\n  case ncclBfloat16: return \"ncclBfloat16\";\n  case ncclFloat8e4m3: return \"ncclFloat8e4m3\";\n  case ncclFloat8e5m2: return \"ncclFloat8e5m2\";\n  default: return \"Unknown\";\n  }\n}\n\nconst char* ncclAlgoToString(int algo) {\n  switch (algo) {\n  case NCCL_ALGO_TREE: return \"TREE\";\n  case NCCL_ALGO_RING: return \"RING\";\n  case NCCL_ALGO_COLLNET_DIRECT: return \"COLLNET_DIRECT\";\n  case NCCL_ALGO_COLLNET_CHAIN: return \"COLLNET_CHAIN\";\n  case NCCL_ALGO_NVLS: return \"NVLS\";\n  case NCCL_ALGO_NVLS_TREE: return \"NVLS_TREE\";\n  case NCCL_ALGO_PAT: return \"PAT\";\n  default: return \"Unknown\";\n  }\n}\n\nconst char* ncclProtoToString(int proto) {\n  switch (proto) {\n  case NCCL_PROTO_LL: return \"LL\";\n  case NCCL_PROTO_LL128: return \"LL128\";\n  case NCCL_PROTO_SIMPLE: return \"SIMPLE\";\n  default: return \"Unknown\";\n  }\n}\n\nNCCL_API(ncclResult_t, ncclAllGather, const void* sendbuff, void* recvbuff, size_t sendcount,\n    ncclDataType_t datatype, ncclComm_t comm, cudaStream_t stream);\nncclResult_t ncclAllGather_impl(const void* sendbuff, void* recvbuff, size_t sendcount,\n    ncclDataType_t datatype, ncclComm_t comm, cudaStream_t stream) {\n  NVTX3_FUNC_WITH_PARAMS(AllGather, NcclNvtxParamsAllGather,\n    NVTX3_PAYLOAD(comm ? comm->commHash : 0, sendcount * ncclTypeSize(datatype), datatype));\n\n  struct ncclInfo info = { ncclFuncAllGather, \"AllGather\",\n    sendbuff, recvbuff, sendcount, datatype, ncclSum, 0, comm, stream, /* Args */\n    ALLGATHER_CHUNKSTEPS, comm -> rcclUseOneSlice ? ALLGATHER_SLICESTEPS_SINGLE_NODE : ALLGATHER_SLICESTEPS, nullptr };\n\n  int nRanks, rank;\n  int in_place = 0;\n  const void* srcBuf;\n  void* dstBuf;\n  NCCLCHECK(ncclCommCount(comm, &nRanks));\n  NCCLCHECK(ncclCommUserRank(comm, &rank));\n  size_t msgSize = sendcount * ncclTypeSize(datatype) * nRanks;\n\n  if (!mscclIsCaller())\n  {\n    NCCLCHECK(Recorder::instance().record(rrAllGather, info));\n  }\n\n  if (mscclAvailable(comm) && !mscclIsCaller()) {\n    return mscclEnqueueCheck(\n      sendbuff, nullptr, nullptr, recvbuff, nullptr, nullptr,\n      sendcount, datatype, 0, 0, ncclSum, mscclFuncAllGather, comm, stream);\n  }\n\n  if (rcclUseAllGatherDirect(comm, msgSize)) {\n     INFO(NCCL_INIT, \"RCCL DIRECT ALLGATHER count = %zu, msgSize = %zu, comm = %p, stream = %p, rank = %d, sendbuff = %p, recvbuff = %p\", \n\t\t     sendcount, msgSize, comm, stream, rank, sendbuff, recvbuff);\t  \n     // use direct allgather\n     if (sendcount == 0) return ncclSuccess;\n     size_t rankOffset = sendcount * ncclTypeSize(datatype);\n     if (sendbuff == (((char*)recvbuff) + rank * rankOffset)) {\n        srcBuf = ((char*)recvbuff) + rank * rankOffset;\n        dstBuf = recvbuff;\n        in_place = 1;\n     } else {\n        srcBuf = sendbuff;\n        dstBuf = recvbuff;\n     }\n\n     NCCLCHECK(ncclGroupStart());\n\n     for (int r = 0; r < nRanks; r++) {\n         if (r == rank && in_place)\n             continue;\n         \n         NCCLCHECK(ncclSend(((char*)srcBuf), sendcount, datatype, r, comm, stream));\n         NCCLCHECK(ncclRecv(((char*)dstBuf) + r * rankOffset, sendcount, datatype, r, comm, stream));\n     }\n     NCCLCHECK(ncclGroupEnd());\n     return ncclSuccess;\n  } else {\n     // use ring allgather\n     return ncclEnqueueCheck(&info);\n  }\n}\n\nRCCL_PARAM(AlltoAllPivotEnable, \"ALL_TO_ALL_PIVOT_ENABLE\", 0);\n\nNCCL_API(ncclResult_t, ncclAlltoAll, const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclComm* comm, cudaStream_t stream);\nncclResult_t ncclAlltoAll_impl(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclComm* comm, cudaStream_t stream) {\n  NVTX3_FUNC_WITH_PARAMS(AlltoAll, NcclNvtxParamsAlltoAll,\n    NVTX3_PAYLOAD(comm ? comm->commHash : 0, count * ncclTypeSize(datatype), datatype));\n  \n  if (!mscclIsCaller()) // when msccl falls back to\n  {\n    NCCLCHECK(Recorder::instance().record(rrAllToAll, sendbuff, recvbuff, count, datatype, comm, stream));\n  }\n\n  if (mscclAvailable(comm) && !mscclIsCaller()) {\n    return mscclEnqueueCheck(\n      sendbuff, nullptr, nullptr, recvbuff, nullptr, nullptr,\n      count, datatype, 0, 0, ncclSum, mscclFuncAllToAll, comm, stream);\n  }\n\n  size_t rankOffset = count * ncclTypeSize(datatype);\n  size_t rankAlign = rankOffset & ((~rankOffset) + 1);\n  size_t msgSize = count * ncclTypeSize(datatype) * comm->nRanks;\n\n  struct ncclInfo info;\n  if (comm->topo->pivotA2AEnabled && comm->nChannels >= comm->topo->pivotA2ANumBiRings * 2 &&\n      rankOffset >= 744 * 1024 && rankAlign != 4 && rcclParamAlltoAllPivotEnable()) {\n      info = { ncclFuncAlltoAllPivot, \"AlltoAllPivot\",\n        sendbuff, recvbuff, count, datatype, ncclSum, 0, comm, stream, /* Args */\n        ALLTOALL_PIVOT_CHUNKSTEPS, ALLTOALL_PIVOT_SLICESTEPS, nullptr };\n  } else {\n      #ifdef ENABLE_ROCSHMEM\n      if (rcclUseAllToAllGda(comm) && msgSize <= comm->rocshmemThreshold) {\t\n        struct ncclInfo info = { ncclFuncAllToAllGda, \"AllToAllGda\",\n              sendbuff, recvbuff, count, datatype, ncclSum, 0, comm, stream,\n              ALLTOALL_PIVOT_CHUNKSTEPS, ALLTOALL_PIVOT_SLICESTEPS, nullptr };\n            \n        return ncclEnqueueCheck(&info);\n      }\n      #endif ENABLE_ROCSHMEM\n    info = { ncclFuncAlltoAll, \"AlltoAll\",\n      sendbuff, recvbuff, count, datatype, ncclSum, 0, comm, stream, /* Args */\n      ALLTOALL_CHUNKSTEPS, ALLTOALL_SLICESTEPS };\n  }\n  return ncclEnqueueCheck(&info);\n}\n\nNCCL_API(ncclResult_t, ncclAlltoAllv, const void *sendbuff, const size_t sendcounts[], const size_t sdispls[],\n    void *recvbuff, const size_t recvcounts[], const size_t rdispls[],\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\nncclResult_t ncclAlltoAllv_impl(const void *sendbuff, const size_t sendcounts[], const size_t sdispls[],\n    void *recvbuff, const size_t recvcounts[], const size_t rdispls[],\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream) {\n  NVTX3_FUNC_WITH_PARAMS(AlltoAllv, NcclNvtxParamsAlltoAllv,\n    NVTX3_PAYLOAD(comm ? comm->commHash : 0, sendcounts[comm->rank] * ncclTypeSize(datatype),\n      recvcounts[comm->rank] * ncclTypeSize(datatype), datatype));\n\n  if (!mscclIsCaller()) // when msccl falls back to\n  {\n    NCCLCHECK(Recorder::instance().record(rrAllToAllv, sendbuff, recvbuff, 0, datatype, comm, stream, -1, sendcounts, sdispls, recvcounts, rdispls));\n  }\n\n  if (mscclAvailable(comm) && !mscclIsCaller()) {\n    return mscclEnqueueCheck(\n      sendbuff, sendcounts, sdispls, recvbuff, recvcounts, rdispls,\n      0, datatype, 0, 0, ncclSum, mscclFuncAllToAllv, comm, stream);\n  }\n\n  int nRanks;\n  NCCLCHECK(ncclCommCount(comm, &nRanks));\n  if (!mscclIsCaller()) Recorder::instance().skip(true);\n  NCCLCHECK(ncclGroupStart());\n  for (int r=0; r<nRanks; r++) {\n    NCCLCHECK(ncclSend(\n        ((char*)sendbuff) + sdispls[r]*ncclTypeSize(datatype),\n        sendcounts[r],\n        datatype,\n        r,\n        comm,\n        stream));\n    NCCLCHECK(ncclRecv(\n        ((char*)recvbuff) + rdispls[r]*ncclTypeSize(datatype),\n        recvcounts[r],\n        datatype,\n        r,\n        comm,\n        stream));\n  }\n  NCCLCHECK(ncclGroupEnd());\n  if (!mscclIsCaller()) Recorder::instance().skip(false);\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, ncclAllReduce, const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclRedOp_t op, ncclComm* comm, cudaStream_t stream);\nncclResult_t ncclAllReduce_impl(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclRedOp_t op, ncclComm* comm, cudaStream_t stream) {\n  NVTX3_FUNC_WITH_PARAMS(AllReduce, NcclNvtxParamsAllReduce,\n    NVTX3_PAYLOAD(comm ? comm->commHash : 0, count * ncclTypeSize(datatype), op, datatype));\n\n  // RCCL update slice steps for AllReduce if single node\n  struct ncclInfo info = { ncclFuncAllReduce, \"AllReduce\",\n    sendbuff, recvbuff, count, datatype, op, 0, comm, stream, /* Args */\n    ALLREDUCE_CHUNKSTEPS, comm -> rcclUseOneSlice ? ALLREDUCE_SLICESTEPS_SINGLE_NODE : ALLREDUCE_SLICESTEPS, nullptr };\n\n  if (!mscclIsCaller()) // when msccl falls back to\n  {\n    NCCLCHECK(Recorder::instance().record(rrAllReduce, info));\n  }\n\n  if (mscclAvailable(comm) && !mscclIsCaller()) {\n    //MSCCL not supported for FP8 datatype\n    if (datatype != ncclFloat8e4m3 && datatype != ncclFloat8e5m2) {\n      // MSCCL threshold for Bfloat16 = 8MB\n      if (datatype != ncclBfloat16 || (count * ncclTypeSize(datatype) <= 8388608)) {\n        return mscclEnqueueCheck(\n                      sendbuff, nullptr, nullptr, recvbuff, nullptr, nullptr,\n                      count, datatype, 0, 0, op, mscclFuncAllReduce, comm, stream);\n      }\n    }\n  }\n\n  return ncclEnqueueCheck(&info);\n}\n\nncclResult_t ncclAllReduceWithBias_impl(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclRedOp_t op, ncclComm* comm, cudaStream_t stream, const void* acc) {\n  NVTX3_FUNC_WITH_PARAMS(AllReduce, NcclNvtxParamsAllReduce,\n    NVTX3_PAYLOAD(comm ? comm->commHash : 0, count * ncclTypeSize(datatype), op, datatype));\n\n  if (acc == nullptr) {\n    WARN(\"ncclAllReduceWithBias : acc cannot be nullptr\");\n    return ncclInvalidArgument;\n  }\n\n  // RCCL update slice steps for AllReduce if single node\n  struct ncclInfo info = { ncclFuncAllReduce, \"AllReduce\",\n    sendbuff, recvbuff, count, datatype, op, 0, comm, stream, /* Args */\n    ALLREDUCE_CHUNKSTEPS, comm -> rcclUseOneSlice ? ALLREDUCE_SLICESTEPS_SINGLE_NODE : ALLREDUCE_SLICESTEPS, acc };\n\n  NCCLCHECK(Recorder::instance().record(rrAllReduceWithBias, info));\n\n  return ncclEnqueueCheck(&info);\n}\n\nNCCL_API(ncclResult_t, ncclBroadcast, const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, cudaStream_t stream);\nncclResult_t ncclBroadcast_impl(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, cudaStream_t stream) {\n  NVTX3_FUNC_WITH_PARAMS(Broadcast, NcclNvtxParamsBroadcast,\n    NVTX3_PAYLOAD(comm ? comm->commHash : 0, count * ncclTypeSize(datatype), root, datatype));\n\n  struct ncclInfo info = { ncclFuncBroadcast, \"Broadcast\",\n    sendbuff, recvbuff, count, datatype, ncclSum, root, comm, stream, /* Args */\n    BROADCAST_CHUNKSTEPS, BROADCAST_SLICESTEPS, nullptr };\n\n  if (!mscclIsCaller()) // when msccl falls back to\n  {\n    NCCLCHECK(Recorder::instance().record(rrBroadcast, info));\n  }\n\n  if (mscclAvailable(comm) && !mscclIsCaller()) {\n    return mscclEnqueueCheck(\n      sendbuff, nullptr, nullptr, recvbuff, nullptr, nullptr,\n      count, datatype, root, 0, ncclSum, mscclFuncBroadcast, comm, stream);\n  }\n\n  return ncclEnqueueCheck(&info);\n}\n/* Deprecated original \"in place\" function, similar to MPI */\nNCCL_API(ncclResult_t, ncclBcast, void* buff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, cudaStream_t stream);\nncclResult_t ncclBcast(void* buff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, cudaStream_t stream) {\n  NCCLCHECK(Recorder::instance().record(rrBcast, buff, buff, count, datatype, comm, stream, root));\n  return ncclBroadcast(buff, buff, count, datatype, root, comm, stream);\n}\n\nNCCL_API(ncclResult_t, ncclGather, const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm* comm, cudaStream_t stream);\nncclResult_t ncclGather_impl(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm* comm, cudaStream_t stream) {\n  NVTX3_FUNC_WITH_PARAMS(Gather, NcclNvtxParamsGather,\n    NVTX3_PAYLOAD(comm ? comm->commHash : 0, count * ncclTypeSize(datatype), root));\n\n  if (!mscclIsCaller()) // when msccl falls back to\n  {\n    NCCLCHECK(Recorder::instance().record(rrGather, sendbuff, recvbuff, count, datatype, comm, stream, root));\n  }\n\n  if (mscclAvailable(comm) && !mscclIsCaller()) {\n    return mscclEnqueueCheck(\n      sendbuff, nullptr, nullptr, recvbuff, nullptr, nullptr,\n      count, datatype, root, 0, ncclSum, mscclFuncGather, comm, stream);\n  }\n\n  struct ncclInfo info = { ncclFuncGather, \"Gather\",\n    sendbuff, recvbuff, count, datatype, ncclSum, root, comm, stream, /* Args */\n    GATHER_CHUNKSTEPS, GATHER_SLICESTEPS };\n  return ncclEnqueueCheck(&info);\n}\n\nNCCL_API(ncclResult_t, ncclReduce, const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclRedOp_t op, int root, ncclComm_t comm, cudaStream_t stream);\nncclResult_t ncclReduce_impl(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclRedOp_t op, int root, ncclComm_t comm, cudaStream_t stream) {\n  NVTX3_FUNC_WITH_PARAMS(Reduce, NcclNvtxParamsReduce,\n    NVTX3_PAYLOAD(comm ? comm->commHash : 0, count * ncclTypeSize(datatype), root, op, datatype));\n\n  struct ncclInfo info = { ncclFuncReduce, \"Reduce\",\n    sendbuff, recvbuff, count, datatype, op, root, comm, stream, /* Args */\n    REDUCE_CHUNKSTEPS, REDUCE_SLICESTEPS, nullptr };\n\n  if (!mscclIsCaller()) // when msccl falls back to\n  {\n    NCCLCHECK(Recorder::instance().record(rrReduce, info));\n  }\n\n  if (mscclAvailable(comm) && !mscclIsCaller()) {\n    return mscclEnqueueCheck(\n      sendbuff, nullptr, nullptr, recvbuff, nullptr, nullptr,\n      count, datatype, root, 0, op, mscclFuncReduce, comm, stream);\n  }\n\n  return ncclEnqueueCheck(&info);\n}\n\nNCCL_API(ncclResult_t, ncclReduceScatter, const void* sendbuff, void* recvbuff, size_t recvcount,\n    ncclDataType_t datatype, ncclRedOp_t op, ncclComm* comm, cudaStream_t stream);\nncclResult_t ncclReduceScatter_impl(const void* sendbuff, void* recvbuff, size_t recvcount,\n    ncclDataType_t datatype, ncclRedOp_t op, ncclComm* comm, cudaStream_t stream) {\n  NVTX3_FUNC_WITH_PARAMS(ReduceScatter, NcclNvtxParamsReduceScatter,\n    NVTX3_PAYLOAD(comm ? comm->commHash : 0, recvcount * ncclTypeSize(datatype), op, datatype));\n\n  struct ncclInfo info = { ncclFuncReduceScatter, \"ReduceScatter\",\n    sendbuff, recvbuff, recvcount, datatype, op, 0, comm, stream, /* Args */\n    REDUCESCATTER_CHUNKSTEPS, comm -> rcclUseOneSlice ? REDUCESCATTER_SLICESTEPS_SINGLE_NODE : REDUCESCATTER_SLICESTEPS, nullptr };\n\n  if (!mscclIsCaller()) // when msccl falls back to\n  {\n    NCCLCHECK(Recorder::instance().record(rrReduceScatter, info));\n  }\n\n  if (mscclAvailable(comm) && !mscclIsCaller()) {\n    return mscclEnqueueCheck(\n      sendbuff, nullptr, nullptr, recvbuff, nullptr, nullptr,\n      recvcount, datatype, 0, 0, op, mscclFuncReduceScatter, comm, stream);\n  }\n\n  return ncclEnqueueCheck(&info);\n}\n\nNCCL_API(ncclResult_t, ncclScatter, const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, int root, ncclComm* comm, cudaStream_t stream);\nncclResult_t ncclScatter_impl(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, int root, ncclComm* comm, cudaStream_t stream) {\n  NVTX3_FUNC_WITH_PARAMS(Scatter, NcclNvtxParamsScatter,\n    NVTX3_PAYLOAD(comm ? comm->commHash : 0, count * ncclTypeSize(datatype), root, datatype));\n\n  if (!mscclIsCaller()) // when msccl falls back to\n  {\n    NCCLCHECK(Recorder::instance().record(rrScatter, sendbuff, recvbuff, count, datatype, comm, stream, root));\n  }\n\n  if (mscclAvailable(comm) && !mscclIsCaller()) {\n    return mscclEnqueueCheck(\n      sendbuff, nullptr, nullptr, recvbuff, nullptr, nullptr,\n      count, datatype, root, 0, ncclSum, mscclFuncScatter, comm, stream);\n  }\n\n  struct ncclInfo info = { ncclFuncScatter, \"Scatter\",\n    sendbuff, recvbuff, count, datatype, ncclSum, root, comm, stream, /* Args */\n    SCATTER_CHUNKSTEPS, SCATTER_SLICESTEPS };\n  return ncclEnqueueCheck(&info);\n}\n\nNCCL_API(ncclResult_t, ncclSend, const void* sendbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, cudaStream_t stream);\nncclResult_t ncclSend_impl(const void* sendbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, cudaStream_t stream) {\n  NVTX3_FUNC_WITH_PARAMS(Send, NcclNvtxParamsSendRecv,\n    NVTX3_PAYLOAD(comm ? comm->commHash : 0, count * ncclTypeSize(datatype), peer, datatype));\n\n  struct ncclInfo info = { ncclFuncSend, \"Send\",\n    NULL, (void*)sendbuff, count, datatype, ncclSum, peer, comm, stream, /* Args */\n    1, 1, nullptr };\n\n  if (!mscclIsCaller()) // when msccl falls back to\n  {\n    NCCLCHECK(Recorder::instance().record(rrSend, info));\n  }\n\n  if (mscclAvailable(comm) && !mscclIsCaller()) {\n    return mscclEnqueueCheck(\n      sendbuff, nullptr, nullptr, nullptr, nullptr, nullptr,\n      count, datatype, 0, peer, ncclSum, mscclFuncSend, comm, stream);\n  }\n\n  return ncclEnqueueCheck(&info);\n}\n\nNCCL_API(ncclResult_t, ncclRecv, void* recvbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, cudaStream_t stream);\nncclResult_t ncclRecv_impl(void* recvbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, cudaStream_t stream) {\n  NVTX3_FUNC_WITH_PARAMS(Recv, NcclNvtxParamsSendRecv,\n    NVTX3_PAYLOAD(comm ? comm->commHash : 0, count * ncclTypeSize(datatype), peer, datatype));\n\n  struct ncclInfo info = { ncclFuncRecv, \"Recv\",\n    NULL, recvbuff, count, datatype, ncclSum, peer, comm, stream, /* Args */\n    1, 1, nullptr };\n\n  if (!mscclIsCaller()) // when msccl falls back to\n  {\n    NCCLCHECK(Recorder::instance().record(rrRecv, info));\n  }\n\n  if (mscclAvailable(comm) && !mscclIsCaller()) {\n    return mscclEnqueueCheck(\n      nullptr, nullptr, nullptr, recvbuff, nullptr, nullptr,\n      count, datatype, 0, peer, ncclSum, mscclFuncRecv, comm, stream);\n  }\n\n  return ncclEnqueueCheck(&info);\n}\n"
  },
  {
    "path": "src/commDump.cc",
    "content": "// (c) Meta Platforms, Inc. and affiliates. Confidential and proprietary.\n\n#include \"nccl.h\"\n#include <cstring>\n#include \"comm.h\"\n#include \"device.h\"\n#include \"archinfo.h\"\n\n__attribute__ ((visibility(\"default\")))\nncclResult_t ncclCommDump(\n    const ncclComm_t comm,\n    std::unordered_map<std::string, std::string>& map) {\n  if (comm == nullptr) {\n    WARN(\"ncclCommDump comm is null\");\n    return ncclSuccess;\n  }\n  if (comm->proxyState->proxyTrace == nullptr) {\n    WARN(\"ncclCommDump comm->proxyState->proxyTrace is null\");\n    return ncclSuccess;\n  }\n\n  WARN(\"ncclCommDump() ProxyTrace:\");\n  WARN(\"%s\", comm->proxyState->proxyTrace->dump().c_str());\n\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/debug.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"core.h\"\n#include \"nccl_net.h\"\n#include <ctime>\n#include <stdlib.h>\n#include <stdarg.h>\n#include <stdio.h>\n#include <string.h>\n#include <strings.h>\n#include <sys/syscall.h>\n#include <chrono>\n#include \"param.h\"\n\n#define NCCL_DEBUG_RESET_TRIGGERED (-2)\n\nint ncclDebugLevel = -1;\nstatic uint32_t ncclDebugTimestampLevels = 0;     // bitmaps of levels that have timestamps turned on\nstatic char ncclDebugTimestampFormat[256];        // with space for subseconds\nstatic int ncclDebugTimestampSubsecondsStart;     // index where the subseconds starts\nstatic uint64_t ncclDebugTimestampMaxSubseconds;  // Max number of subseconds plus 1, used in duration ratio\nstatic int ncclDebugTimestampSubsecondDigits;     // Number of digits to display\nstatic int pid = -1;\nstatic char hostname[1024];\nthread_local int ncclDebugNoWarn = 0;\nchar ncclLastError[1024] = \"\"; // Global string for the last error in human readable form\nuint64_t ncclDebugMask = 0;\nFILE *ncclDebugFile = stdout;\nstatic pthread_mutex_t ncclDebugLock = PTHREAD_MUTEX_INITIALIZER;\nstatic std::chrono::steady_clock::time_point ncclEpoch;\nstatic bool ncclWarnSetDebugInfo = false;\n\nstatic __thread int tid = -1;\n\n// This function must be called with ncclDebugLock locked!\nstatic void ncclDebugInit() {\n  const char* nccl_debug = ncclGetEnv(\"NCCL_DEBUG\");\n  int tempNcclDebugLevel = -1;\n  uint64_t tempNcclDebugMask = NCCL_INIT | NCCL_BOOTSTRAP | NCCL_ENV; // Default debug sub-system mask\n  if (ncclDebugLevel == NCCL_DEBUG_RESET_TRIGGERED && ncclDebugFile != stdout) {\n    // Finish the reset initiated via ncclResetDebugInit().\n    fclose(ncclDebugFile);\n    ncclDebugFile = stdout;\n  }\n  if (nccl_debug == NULL) {\n    tempNcclDebugLevel = NCCL_LOG_ERROR;\n  } else if (strcasecmp(nccl_debug, \"NONE\") == 0) {\n    tempNcclDebugLevel = NCCL_LOG_NONE;\n  } else if (strcasecmp(nccl_debug, \"VERSION\") == 0) {\n    tempNcclDebugLevel = NCCL_LOG_VERSION;\n  } else if (strcasecmp(nccl_debug, \"WARN\") == 0) {\n    tempNcclDebugLevel = NCCL_LOG_WARN;\n  } else if (strcasecmp(nccl_debug, \"INFO\") == 0) {\n    tempNcclDebugLevel = NCCL_LOG_INFO;\n  } else if (strcasecmp(nccl_debug, \"ABORT\") == 0) {\n    tempNcclDebugLevel = NCCL_LOG_ABORT;\n  } else if (strcasecmp(nccl_debug, \"TRACE\") == 0) {\n    tempNcclDebugLevel = NCCL_LOG_TRACE;\n  }\n\n  /* Parse the NCCL_DEBUG_SUBSYS env var\n   * This can be a comma separated list such as INIT,COLL\n   * or ^INIT,COLL etc\n   */\n  const char* ncclDebugSubsysEnv = ncclGetEnv(\"NCCL_DEBUG_SUBSYS\");\n  if (ncclDebugSubsysEnv != NULL) {\n    int invert = 0;\n    if (ncclDebugSubsysEnv[0] == '^') { invert = 1; ncclDebugSubsysEnv++; }\n    tempNcclDebugMask = invert ? ~0ULL : 0ULL;\n    char *ncclDebugSubsys = strdup(ncclDebugSubsysEnv);\n    char *subsys = strtok(ncclDebugSubsys, \",\");\n    while (subsys != NULL) {\n      uint64_t mask = 0;\n      if (strcasecmp(subsys, \"INIT\") == 0) {\n        mask = NCCL_INIT;\n      } else if (strcasecmp(subsys, \"COLL\") == 0) {\n        mask = NCCL_COLL;\n      } else if (strcasecmp(subsys, \"P2P\") == 0) {\n        mask = NCCL_P2P;\n      } else if (strcasecmp(subsys, \"SHM\") == 0) {\n        mask = NCCL_SHM;\n      } else if (strcasecmp(subsys, \"NET\") == 0) {\n        mask = NCCL_NET;\n      } else if (strcasecmp(subsys, \"GRAPH\") == 0) {\n        mask = NCCL_GRAPH;\n      } else if (strcasecmp(subsys, \"TUNING\") == 0) {\n        mask = NCCL_TUNING;\n      } else if (strcasecmp(subsys, \"ENV\") == 0) {\n        mask = NCCL_ENV;\n      } else if (strcasecmp(subsys, \"ALLOC\") == 0) {\n        mask = NCCL_ALLOC;\n      } else if (strcasecmp(subsys, \"CALL\") == 0) {\n        mask = NCCL_CALL;\n      } else if (strcasecmp(subsys, \"PROXY\") == 0) {\n        mask = NCCL_PROXY;\n      } else if (strcasecmp(subsys, \"NVLS\") == 0) {\n        mask = NCCL_NVLS;\n      } else if (strcasecmp(subsys, \"BOOTSTRAP\") == 0) {\n        mask = NCCL_BOOTSTRAP;\n      } else if (strcasecmp(subsys, \"REG\") == 0) {\n        mask = NCCL_REG;\n      } else if (strcasecmp(subsys, \"PROFILE\") == 0) {\n        mask = NCCL_PROFILE;\n      } else if (strcasecmp(subsys, \"RAS\") == 0) {\n        mask = NCCL_RAS;\n      } else if (strcasecmp(subsys, \"VERBS\") == 0) {\n        mask = NCCL_VERBS;\n      } else if (strcasecmp(subsys, \"ALL\") == 0) {\n        mask = NCCL_ALL;\n      }\n      if (mask) {\n        if (invert) tempNcclDebugMask &= ~mask; else tempNcclDebugMask |= mask;\n      }\n      subsys = strtok(NULL, \",\");\n    }\n    free(ncclDebugSubsys);\n  }\n\n  const char* ncclWarnSetDebugInfoEnv = ncclGetEnv(\"NCCL_WARN_ENABLE_DEBUG_INFO\");\n  if (ncclWarnSetDebugInfoEnv != NULL && strlen(ncclWarnSetDebugInfoEnv) > 0) {\n    int64_t value;\n    errno = 0;\n    value = strtoll(ncclWarnSetDebugInfoEnv, NULL, 0);\n    if (!errno)\n      ncclWarnSetDebugInfo = value;\n  }\n\n  // Determine which debug levels will have timestamps.\n  const char* timestamps = ncclGetEnv(\"NCCL_DEBUG_TIMESTAMP_LEVELS\");\n  if (timestamps == nullptr) {\n    ncclDebugTimestampLevels = (1<<NCCL_LOG_WARN);\n  } else {\n    int invert = 0;\n    if (timestamps[0] == '^') { invert = 1; ++timestamps; }\n    ncclDebugTimestampLevels = invert ? ~0U : 0U;\n    char *timestampsDup = strdup(timestamps);\n    char *level = strtok(timestampsDup, \",\");\n    while (level != NULL) {\n      uint32_t mask = 0;\n      if (strcasecmp(level, \"ALL\") == 0) {\n        mask = ~0U;\n      } else if (strcasecmp(level, \"VERSION\") == 0) {\n        mask = (1<<NCCL_LOG_VERSION);\n      } else if (strcasecmp(level, \"WARN\") == 0) {\n        mask = (1<<NCCL_LOG_WARN);\n      } else if (strcasecmp(level, \"INFO\") == 0) {\n        mask = (1<<NCCL_LOG_INFO);\n      } else if (strcasecmp(level, \"ABORT\") == 0) {\n        mask = (1<<NCCL_LOG_ABORT);\n      } else if (strcasecmp(level, \"TRACE\") == 0) {\n        mask = (1<<NCCL_LOG_TRACE);\n      } else {\n        // Silently fail.\n      }\n      if (mask) {\n        if (invert) ncclDebugTimestampLevels &= ~mask;\n        else ncclDebugTimestampLevels |= mask;\n      }\n      level = strtok(NULL, \",\");\n    }\n    free(timestampsDup);\n  }\n\n  // Store a copy of the timestamp format with space for the subseconds, if used.\n  const char* tsFormat = ncclGetEnv(\"NCCL_DEBUG_TIMESTAMP_FORMAT\");\n  if (tsFormat == nullptr) tsFormat = \"[%F %T] \";\n  ncclDebugTimestampSubsecondsStart = -1;\n  // Find where the subseconds are in the format.\n  for (int i=0; tsFormat[i] != '\\0'; ++i) {\n    if (tsFormat[i]=='%' && tsFormat[i+1]=='%') { // Next two chars are \"%\"\n      // Skip the next character, too, and restart checking after that.\n      ++i;\n      continue;\n    }\n    if (tsFormat[i]=='%' &&                               // Found a percentage\n        ('1' <= tsFormat[i+1] && tsFormat[i+1] <= '9') && // Next char is a digit between 1 and 9 inclusive\n        tsFormat[i+2]=='f'                                // Two characters later is an \"f\"\n        ) {\n      constexpr int replaceLen = sizeof(\"%Xf\") - 1;\n      ncclDebugTimestampSubsecondDigits = tsFormat[i+1] - '0';\n      if (ncclDebugTimestampSubsecondDigits + strlen(tsFormat) - replaceLen > sizeof(ncclDebugTimestampFormat) - 1) {\n        // Won't fit; fall back on the default.\n        break;\n      }\n      ncclDebugTimestampSubsecondsStart = i;\n      ncclDebugTimestampMaxSubseconds = 1;\n\n      memcpy(ncclDebugTimestampFormat, tsFormat, i);\n      for (int j=0; j<ncclDebugTimestampSubsecondDigits; ++j) {\n        ncclDebugTimestampFormat[i+j] = ' ';\n        ncclDebugTimestampMaxSubseconds *= 10;\n      }\n      strcpy(ncclDebugTimestampFormat+i+ncclDebugTimestampSubsecondDigits, tsFormat+i+replaceLen);\n      break;\n    }\n  }\n  if (ncclDebugTimestampSubsecondsStart == -1) {\n    if (strlen(tsFormat) < sizeof(ncclDebugTimestampFormat)) {\n      strcpy(ncclDebugTimestampFormat, tsFormat);\n    } else {\n      strcpy(ncclDebugTimestampFormat, \"[%F %T] \");\n    }\n  }\n\n  // Replace underscore with spaces... it is hard to put spaces in command line parameters.\n  for (int i=0; ncclDebugTimestampFormat[i] != '\\0'; ++i) {\n    if (ncclDebugTimestampFormat[i]=='_') ncclDebugTimestampFormat[i] = ' ';\n  }\n\n  // Cache pid and hostname\n  getHostName(hostname, 1024, '.');\n  pid = getpid();\n\n  /* Parse and expand the NCCL_DEBUG_FILE path and\n   * then create the debug file. But don't bother unless the\n   * NCCL_DEBUG level is > VERSION\n   */\n  const char* ncclDebugFileEnv = ncclGetEnv(\"NCCL_DEBUG_FILE\");\n  if (tempNcclDebugLevel > NCCL_LOG_VERSION && ncclDebugFileEnv != NULL) {\n    int c = 0;\n    char debugFn[PATH_MAX+1] = \"\";\n    char *dfn = debugFn;\n    while (ncclDebugFileEnv[c] != '\\0' && (dfn - debugFn) < PATH_MAX) {\n      if (ncclDebugFileEnv[c++] != '%') {\n        *dfn++ = ncclDebugFileEnv[c-1];\n        continue;\n      }\n      switch (ncclDebugFileEnv[c++]) {\n        case '%': // Double %\n          *dfn++ = '%';\n          break;\n        case 'h': // %h = hostname\n          dfn += snprintf(dfn, PATH_MAX + 1 - (dfn - debugFn), \"%s\", hostname);\n          break;\n        case 'p': // %p = pid\n          dfn += snprintf(dfn, PATH_MAX + 1 - (dfn - debugFn), \"%d\", pid);\n          break;\n        default: // Echo everything we don't understand\n          *dfn++ = '%';\n          if ((dfn - debugFn) < PATH_MAX) {\n            *dfn++ = ncclDebugFileEnv[c-1];\n          }\n          break;\n      }\n      if ((dfn - debugFn) > PATH_MAX) {\n        // snprintf wanted to overfill the buffer: set dfn to the end\n        // of the buffer (for null char) and it will naturally exit\n        // the loop.\n        dfn = debugFn + PATH_MAX;\n      }\n    }\n    *dfn = '\\0';\n    if (debugFn[0] != '\\0') {\n      FILE *file = fopen(debugFn, \"w\");\n      if (file != nullptr) {\n        setlinebuf(file); // disable block buffering\n        ncclDebugFile = file;\n      }\n    }\n  }\n\n  ncclEpoch = std::chrono::steady_clock::now();\n  ncclDebugMask = tempNcclDebugMask;\n  __atomic_store_n(&ncclDebugLevel, tempNcclDebugLevel, __ATOMIC_RELEASE);\n}\n\n/* Common logging function used by the INFO, WARN and TRACE macros\n * Also exported to the dynamically loadable Net transport modules so\n * they can share the debugging mechanisms and output files\n */\nvoid ncclDebugLog(ncclDebugLogLevel level, unsigned long flags, const char *filefunc, int line, const char *fmt, ...) {\n  bool locked = false; // Keeps track of the ncclDebugLock state.\n  int gotLevel = __atomic_load_n(&ncclDebugLevel, __ATOMIC_ACQUIRE);\n\n  if (ncclDebugNoWarn != 0 && level == NCCL_LOG_WARN) { level = NCCL_LOG_INFO; flags = ncclDebugNoWarn; }\n\n  // Save the last error (WARN) as a human readable string\n  if (level == NCCL_LOG_WARN) {\n    pthread_mutex_lock(&ncclDebugLock);\n    locked = true;\n    va_list vargs;\n    va_start(vargs, fmt);\n    (void) vsnprintf(ncclLastError, sizeof(ncclLastError), fmt, vargs);\n    va_end(vargs);\n  }\n\n  if (gotLevel >= 0 && (gotLevel < level || (flags & ncclDebugMask) == 0)) {\n    if (locked)\n      pthread_mutex_unlock(&ncclDebugLock);\n    return;\n  }\n\n  if (!locked) {\n    pthread_mutex_lock(&ncclDebugLock);\n    locked = true;\n  }\n  // From this point on ncclDebugLock is always locked so we don't need to check \"locked\" anymore.\n  if (ncclDebugLevel < 0)\n    ncclDebugInit();\n  if (ncclDebugLevel < level || ((flags & ncclDebugMask) == 0)) {\n    pthread_mutex_unlock(&ncclDebugLock);\n    return;\n  }\n\n  if (tid == -1) {\n    tid = syscall(SYS_gettid);\n  }\n\n  char buffer[1024];\n  size_t len = 0;\n\n  // WARNs come with an extra newline at the beginning.\n  if (level == NCCL_LOG_WARN) {\n    buffer[len++] = '\\n';\n  };\n\n  // Add the timestamp to the buffer if they are turned on for this level.\n  if (ncclDebugTimestampLevels & (1<<level)) {\n    if (ncclDebugTimestampFormat[0] != '\\0') {\n      struct timespec ts;\n      clock_gettime(CLOCK_REALTIME, &ts);   // clock_gettime failure should never happen\n      std::tm nowTm;\n      localtime_r(&ts.tv_sec, &nowTm);\n\n      // Add the subseconds portion if it is part of the format.\n      char localTimestampFormat[sizeof(ncclDebugTimestampFormat)];\n      const char* pformat = ncclDebugTimestampFormat;\n      if (ncclDebugTimestampSubsecondsStart != -1) {\n        pformat = localTimestampFormat;   // Need to use the local version which has subseconds\n        memcpy(localTimestampFormat, ncclDebugTimestampFormat, ncclDebugTimestampSubsecondsStart);\n        snprintf(localTimestampFormat + ncclDebugTimestampSubsecondsStart,\n                 ncclDebugTimestampSubsecondDigits+1,\n                 \"%0*ld\", ncclDebugTimestampSubsecondDigits,\n                 ts.tv_nsec / (1000000000UL/ncclDebugTimestampMaxSubseconds));\n        strcpy(    localTimestampFormat+ncclDebugTimestampSubsecondsStart+ncclDebugTimestampSubsecondDigits,\n               ncclDebugTimestampFormat+ncclDebugTimestampSubsecondsStart+ncclDebugTimestampSubsecondDigits);\n      }\n\n      // Format the time. If it runs out of space, fall back on a simpler format.\n      int adv = std::strftime(buffer+len, sizeof(buffer)-len, pformat, &nowTm);\n      if (adv==0 && ncclDebugTimestampFormat[0] != '\\0') {\n        // Ran out of space. Fall back on the default. This should never fail.\n        adv = std::strftime(buffer+len, sizeof(buffer)-len, \"[%F %T] \", &nowTm);\n      }\n      len += adv;\n    }\n  }\n  len = std::min(len, sizeof(buffer)-1);  // prevent overflows\n\n  // Add hostname, pid and tid portion of the log line.\n  if (level != NCCL_LOG_VERSION) {\n    len += snprintf(buffer+len, sizeof(buffer)-len, \"%s:%d:%d \", hostname, pid, tid);\n    len = std::min(len, sizeof(buffer)-1);  // prevent overflows\n  }\n\n  int cudaDev = 0;\n  if (!(level == NCCL_LOG_TRACE && flags == NCCL_CALL)) {\n    (void)cudaGetDevice(&cudaDev);\n  }\n\n  // Add level specific formatting.\n  if (level == NCCL_LOG_WARN) {\n    len += snprintf(buffer+len, sizeof(buffer)-len, \"[%d] %s:%d NCCL WARN \", cudaDev, filefunc, line);\n    if (ncclWarnSetDebugInfo) __atomic_store_n(&ncclDebugLevel, NCCL_LOG_INFO, __ATOMIC_RELEASE);\n  } else if (level == NCCL_LOG_INFO) {\n    len += snprintf(buffer+len, sizeof(buffer)-len, \"[%d] NCCL INFO \", cudaDev);\n  } else if (level == NCCL_LOG_TRACE && flags == NCCL_CALL) {\n    len += snprintf(buffer+len, sizeof(buffer)-len, \"NCCL CALL \");\n  } else if (level == NCCL_LOG_TRACE) {\n    auto delta = std::chrono::steady_clock::now() - ncclEpoch;\n    double timestamp = std::chrono::duration_cast<std::chrono::duration<double>>(delta).count()*1000;\n    len += snprintf(buffer+len, sizeof(buffer)-len, \"[%d] %f %s:%d NCCL TRACE \", cudaDev, timestamp, filefunc, line);\n  } else if (level == NCCL_LOG_ERROR) {\n    len += snprintf(buffer+len, sizeof(buffer)-len, \"[%d] [FATAL ERROR]: \", cudaDev);\n  }\n  len = std::min(len, sizeof(buffer)-1);  // prevent overflows\n\n  // Add the message as given by the call site.\n  va_list vargs;\n  va_start(vargs, fmt);\n  len += vsnprintf(buffer+len, sizeof(buffer)-len, fmt, vargs);\n  va_end(vargs);\n  // vsnprintf may return len >= sizeof(buffer) in the case of a truncated output.\n  // Rewind len so that we can replace the final \\0 by \"\\n\"\n  len = std::min(len, sizeof(buffer)-1);  // prevent overflows\n\n  // Add a newline and write it to the debug file. No terminating null is\n  // necessary since we write bytes instead of the string.\n  buffer[len++] = '\\n';\n  fwrite(buffer, 1, len, ncclDebugFile);\n  pthread_mutex_unlock(&ncclDebugLock);\n}\n\nNCCL_API(void, ncclResetDebugInit);\nvoid ncclResetDebugInit() {\n  // Cleans up from a previous ncclDebugInit() and reruns.\n  // Use this after changing NCCL_DEBUG and related parameters in the environment.\n  pthread_mutex_lock(&ncclDebugLock);\n  // Let ncclDebugInit() know to complete the reset.\n  __atomic_store_n(&ncclDebugLevel, NCCL_DEBUG_RESET_TRIGGERED, __ATOMIC_RELEASE);\n  pthread_mutex_unlock(&ncclDebugLock);\n}\n\nNCCL_PARAM(SetThreadName, \"SET_THREAD_NAME\", 0);\n\nvoid ncclSetThreadName(pthread_t thread, const char *fmt, ...) {\n  // pthread_setname_np is nonstandard GNU extension\n  // needs the following feature test macro\n#ifdef _GNU_SOURCE\n  if (ncclParamSetThreadName() != 1) return;\n  char threadName[NCCL_THREAD_NAMELEN];\n  va_list vargs;\n  va_start(vargs, fmt);\n  vsnprintf(threadName, NCCL_THREAD_NAMELEN, fmt, vargs);\n  va_end(vargs);\n  pthread_setname_np(thread, threadName);\n#endif\n}"
  },
  {
    "path": "src/dev_runtime.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"dev_runtime.h\"\n#include \"comm.h\"\n#include \"device.h\"\n#include \"transport.h\"\n#include \"group.h\"\n#include \"nccl_device.h\"\n\nNCCL_PARAM(WinStride, \"WIN_STRIDE\", -1);\n\n// Complete types from src/include/dev_runtime.h\nstruct ncclDevrMemory {\n  int refCount;\n  struct ncclDevrMemory* next;\n  CUmemGenericAllocationHandle memHandle;\n  size_t size;\n  size_t bigOffset; // offset in big VA space\n};\n\nstruct ncclDevrWindowSorted {\n  uintptr_t userAddr;\n  size_t size;\n  struct ncclDevrWindow* win;\n};\n\nstruct ncclDevrTeam {\n  struct ncclDevrTeam* next;\n  struct ncclTeam team;\n  CUmemGenericAllocationHandle mcHandle;\n  void* mcBasePtr;\n  int worldRankList[];\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Helpers at the bottom:\n\n// Find least index such that `arg < sorted[i].key` (least upper bound)\ntemplate<typename Obj, typename Key>\nstatic int listFindSortedLub(Key Obj::*key, Obj* sorted, int count, Key arg);\n\ntemplate<typename Obj>\nstatic void listInsert(Obj** list, int* capacity, int* count, int index, Obj val);\n\ntemplate<typename Obj>\nstatic void listRemove(Obj* list, int* count, int index);\n\n////////////////////////////////////////////////////////////////////////////////\n\nncclResult_t ncclDevrInitOnce(struct ncclComm* comm) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclDevrState* devr = &comm->devrState;\n  if (devr->bigSize != 0) return ncclSuccess;\n\n  bool lsaIsLocal = true;\n  for (int i=0; i < comm->localRanks; i++) {\n    lsaIsLocal &= comm->localRankToRank[i] == comm->localRankToRank[0] + i;\n  }\n  devr->lsaSelf = lsaIsLocal ? comm->localRank : 0;\n  devr->lsaSize = lsaIsLocal ? comm->localRanks : 1;\n  devr->lsaRankList = (int*)malloc(devr->lsaSize*sizeof(int));\n  for (int i=0; i < devr->lsaSize; i++) {\n    devr->lsaRankList[i] = comm->rank + (i - devr->lsaSelf);\n  }\n\n  CUmemAllocationProp memProp = {};\n  memProp.type = CU_MEM_ALLOCATION_TYPE_PINNED;\n  memProp.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n  memProp.requestedHandleType = ncclCuMemHandleType;\n  memProp.location.id = comm->cudaDev;\n  CUCHECKGOTO(cuMemGetAllocationGranularity(&devr->granularity, &memProp, CU_MEM_ALLOC_GRANULARITY_RECOMMENDED), ret, fail_lsaRankList);\n\n  devr->bigSize = ncclParamWinStride();\n  if (-devr->bigSize <= 1) {\n    devr->bigSize = 1;\n    for (int r=0; r < comm->nRanks; ++r) {\n      devr->bigSize = std::max<size_t>(devr->bigSize, comm->peerInfo[r].totalGlobalMem);\n    }\n  }\n  devr->bigSize = alignUp(devr->bigSize, size_t(1)<<32);\n  INFO(NCCL_INIT, \"Symmetric VA size=%ldGB\", (long)devr->bigSize>>30);\n  \n  ncclSpaceConstruct(&devr->bigSpace);\n  ncclShadowPoolConstruct(&devr->shadows);\n  return ncclSuccess;\n\nfail_lsaRankList:\n  free(devr->lsaRankList);\n  return ret;\n}\n\nstatic void symTeamDestroyAll(struct ncclComm* comm); // Further down\n\nncclResult_t ncclDevrFinalize(struct ncclComm* comm) {\n  struct ncclDevrState* devr = &comm->devrState;\n  if (devr->bigSize == 0) return ncclSuccess;\n\n  while (!ncclIntruQueueEmpty(&devr->regTaskQueue)) {\n    struct ncclDevrRegTask* task = ncclIntruQueueDequeue(&devr->regTaskQueue);\n    free(task);\n  }\n  \n  symTeamDestroyAll(comm);\n  { // delete windowTable\n    cudaStream_t stream;\n    if (cudaSuccess == cudaStreamCreateWithFlags(&stream, cudaStreamNonBlocking)) {\n      struct ncclDevCommWindowTable* tableDev = devr->windowTable;\n      while (tableDev != nullptr) {\n        struct ncclDevCommWindowTable* tableHost;\n        if (ncclSuccess != ncclShadowPoolToHost(&devr->shadows, tableDev, &tableHost)) break;\n        struct ncclDevCommWindowTable* next = tableHost->next;\n        ncclShadowPoolFree(&devr->shadows, tableDev, stream);\n        tableDev = next;\n      }\n      cudaStreamSynchronize(stream);\n      cudaStreamDestroy(stream);\n    }\n  }\n  CUdeviceptr flatAddr = reinterpret_cast<CUdeviceptr>(devr->lsaFlatBase);\n  CUCHECKIGNORE(cuMemUnmap(flatAddr, devr->lsaSize*devr->bigSize));\n  CUCHECKIGNORE(cuMemAddressFree(flatAddr, devr->lsaSize*devr->bigSize));\n  ncclShadowPoolDestruct(&devr->shadows);\n  ncclSpaceDestruct(&devr->bigSpace);\n  free(devr->lsaRankList);\n  free(devr->winSorted);\n  return ncclSuccess;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nstatic ncclResult_t symMemoryMapLsaTeam(\n    struct ncclComm* comm, CUmemGenericAllocationHandle memHandle, size_t size, size_t bigOffset\n  ) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclDevrState* devr = &comm->devrState;\n  CUmemAccessDesc accessDesc = {};\n  union Message {\n    CUmemGenericAllocationHandle memHandle;\n    CUmemFabricHandle fabricHandle;\n  };\n\n  Message* messages = (Message*)calloc(devr->lsaSize, sizeof(Message));\n  if (ncclCuMemHandleType == CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR) {\n    messages[devr->lsaSelf].memHandle = memHandle;\n  } else {\n    CUCHECKGOTO(cuMemExportToShareableHandle(&messages[devr->lsaSelf].fabricHandle, memHandle, ncclCuMemHandleType, 0), ret, fail);\n  }\n\n  NCCLCHECKGOTO(bootstrapIntraNodeAllGather(comm->bootstrap, devr->lsaRankList, devr->lsaSelf, devr->lsaSize, messages, sizeof(Message)), ret, fail);\n\n  if (devr->lsaFlatBase == nullptr) { // Create on first need.\n    CUdeviceptr addr;\n    CUCHECKGOTO(cuMemAddressReserve(&addr, devr->lsaSize*devr->bigSize, NCCL_MAX_PAGE_SIZE, 0, 0), ret, fail);\n    devr->lsaFlatBase = reinterpret_cast<void*>(addr);\n  }\n  accessDesc.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n  accessDesc.location.id = comm->cudaDev;\n  accessDesc.flags = CU_MEM_ACCESS_FLAGS_PROT_READWRITE;\n  for (int r = 0; r < devr->lsaSize; r++) {\n    CUmemGenericAllocationHandle impHandle;\n    if (r == devr->lsaSelf) {\n      impHandle = memHandle;\n    } else {\n      if (ncclCuMemHandleType == CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR) {\n        int fd = -1;\n        NCCLCHECKGOTO(ncclProxyClientGetFdBlocking(comm, devr->lsaRankList[r], &messages[r], &fd), ret, fail);\n        CUCHECKGOTO(cuMemImportFromShareableHandle(&impHandle, reinterpret_cast<void*>((uintptr_t)fd), ncclCuMemHandleType), ret, fail);\n        SYSCHECKGOTO(close(fd), \"close\", ret, fail);\n      } else {\n        CUCHECKGOTO(cuMemImportFromShareableHandle(&impHandle, (void*)&messages[r].fabricHandle, ncclCuMemHandleType), ret, fail);\n      }\n    }\n    uintptr_t base = reinterpret_cast<uintptr_t>(devr->lsaFlatBase);\n    CUdeviceptr addr = reinterpret_cast<CUdeviceptr>(base + r * devr->bigSize + bigOffset);\n    // CUdeviceptr addr = reinterpret_cast<uintptr_t>((char*)devr->lsaFlatBase + r*devr->bigSize + bigOffset);\n    CUCHECKGOTO(cuMemMap(addr, size, 0, impHandle, 0), ret, fail);\n    CUCHECKGOTO(cuMemSetAccess(addr, size, &accessDesc, 1), ret, fail);\n    if (r != devr->lsaSelf) {\n      CUCHECKGOTO(cuMemRelease(impHandle), ret, fail);\n    }\n  }\n  // Ensure everyone has imported my mem handle.\n  NCCLCHECKGOTO(bootstrapIntraNodeBarrier(comm->bootstrap, devr->lsaRankList, devr->lsaSelf, devr->lsaSize, 0xbeef), ret, fail);\nleave:\n  free(messages);\n  return ret;\nfail:\n  goto leave;\n}\n\nstatic ncclResult_t symBindTeamMemory(\n    struct ncclComm* comm, struct ncclDevrTeam* tm, struct ncclDevrMemory* mem\n  ) {\n  if (comm->nvlsSupport && tm->mcBasePtr != nullptr) {\n  #if CUDART_VERSION >= 12010\n    INFO(NCCL_NVLS, \"Binding multicast memory at big=%lx to team {%d x %d}\", mem->bigOffset, tm->team.nRanks, tm->team.stride);\n    CUCHECK(cuMulticastBindMem(tm->mcHandle, mem->bigOffset, mem->memHandle, 0, mem->size, 0));\n  #endif\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t symUnbindTeamMemory(\n    struct ncclComm* comm, struct ncclDevrTeam* tm, struct ncclDevrMemory* mem\n  ) {\n  if (comm->nvlsSupport && tm->mcBasePtr != nullptr) {\n  #if CUDART_VERSION >= 12010\n    CUCHECK(cuMulticastUnbind(tm->mcHandle, comm->cudaDev, mem->bigOffset, mem->size));\n  #endif\n  }\n  return ncclSuccess;\n}\n\n// Caller must barrier the team afterward.\nstatic ncclResult_t symTeamObtain(\n    struct ncclComm* comm, struct ncclTeam team, bool multimem,\n    struct ncclDevrTeam** outTeam\n  ) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclDevrState* devr = &comm->devrState;\n  struct ncclDevrTeam* t = devr->teamHead;\n  bool teamIsNew = false;\n  while (true) {\n    if (t == nullptr) {\n      teamIsNew = true;\n      t = (struct ncclDevrTeam*)malloc(sizeof(struct ncclDevrTeam) + team.nRanks*sizeof(int));\n      t->team = team;\n      t->mcHandle = 0x0;\n      t->mcBasePtr = nullptr;\n      for (int i=0; i < team.nRanks; i++) {\n        t->worldRankList[i] = comm->rank + (i - team.rank)*team.stride;\n      }\n      break;\n    } else if (t->team.rank == team.rank && t->team.nRanks == team.nRanks && t->team.stride == team.stride) {\n      if (!multimem || t->mcBasePtr != nullptr) {\n        // Matching team is sufficient\n        if (outTeam) *outTeam = t;\n        return ncclSuccess;\n      }\n      break; // Need to enable multimem\n    }\n  }\n\n  if (multimem) {\n    if (!comm->nvlsSupport) {\n      WARN(\"Multicast support requested for team but none available on system.\");\n      ret = ncclInvalidArgument;\n      goto fail;\n    } else {\n    #if CUDART_VERSION >= 12010\n      CUmemGenericAllocationHandle mcHandle = 0;\n      CUdeviceptr mcAddr = 0;\n      CUmulticastObjectProp mcProp = {};\n      char shareableHandle[NVLS_HANDLE_SIZE];\n\n      mcProp.numDevices = team.nRanks;\n      mcProp.handleTypes = ncclCuMemHandleType;\n      mcProp.flags = 0;\n      mcProp.size = devr->bigSize;\n      if (team.rank == 0) {\n        NCCLCHECKGOTO(ncclNvlsGroupCreate(comm, &mcProp, team.rank, team.nRanks, &mcHandle, shareableHandle), ret, fail);\n        NCCLCHECKGOTO(bootstrapIntraNodeBroadcast(comm->bootstrap, t->worldRankList, team.rank, team.nRanks, 0, shareableHandle, NVLS_HANDLE_SIZE), ret, fail_mcHandle);\n      } else {\n        NCCLCHECKGOTO(bootstrapIntraNodeBroadcast(comm->bootstrap, t->worldRankList, team.rank, team.nRanks, 0, shareableHandle, NVLS_HANDLE_SIZE), ret, fail);\n        NCCLCHECKGOTO(ncclNvlsGroupConnect(comm, shareableHandle, t->worldRankList[0], &mcHandle), ret, fail);\n      }\n\n      CUCHECKGOTO(cuMulticastAddDevice(mcHandle, comm->cudaDev), ret, fail_mcHandle);\n      CUCHECKGOTO(cuMemAddressReserve(&mcAddr, devr->bigSize, NCCL_MAX_PAGE_SIZE, 0, 0), ret, fail_mcHandle);\n      CUCHECKGOTO(cuMemMap(mcAddr, devr->bigSize, 0, mcHandle, 0), ret, fail_mcHandle_mcAddr);\n      { CUmemAccessDesc accessDesc = {};\n        accessDesc.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n        accessDesc.location.id = comm->cudaDev;\n        accessDesc.flags = CU_MEM_ACCESS_FLAGS_PROT_READWRITE;\n        CUCHECKGOTO(cuMemSetAccess(mcAddr, devr->bigSize, &accessDesc, 1), ret, fail_mcHandle_mcAddr_unmap);\n      }\n      t->mcHandle = mcHandle;\n      t->mcBasePtr = reinterpret_cast<void*>(mcAddr);\n\n      // Bind new team with all existing memories.\n      for (struct ncclDevrMemory* mem = devr->memHead; mem != nullptr; mem = mem->next) {\n        NCCLCHECKGOTO(symBindTeamMemory(comm, t, mem), ret, fail_mcHandle_mcAddr_unmap_mems);\n      }\n\n      if (false) { // Error labels:\n      fail_mcHandle_mcAddr_unmap_mems:\n        for (struct ncclDevrMemory* mem = devr->memHead; mem != nullptr; mem = mem->next) {\n          symUnbindTeamMemory(comm, t, mem);\n        }\n      fail_mcHandle_mcAddr_unmap:\n        CUCHECKIGNORE(cuMemUnmap(mcAddr, devr->bigSize));\n        goto fail_mcHandle_mcAddr; // silence unused label warning\n      fail_mcHandle_mcAddr:\n        CUCHECKIGNORE(cuMemAddressFree(mcAddr, devr->bigSize));\n        goto fail_mcHandle; // silence unused label warning\n      fail_mcHandle:\n        CUCHECKIGNORE(cuMemRelease(mcHandle));\n        goto fail; // silence unused label warning\n      }\n    #else\n      goto fail; // silence unused label warning\n    #endif\n    }\n  }\n\n  if (teamIsNew) {\n     // Add to list\n    t->next = devr->teamHead;\n    devr->teamHead = t;\n  }\n  if (outTeam) *outTeam = t;\n  return ret;\n\nfail:\n  if (teamIsNew) free(t);\n  return ret;\n}\n\nstatic void symTeamDestroyAll(struct ncclComm* comm) {\n  struct ncclDevrState* devr = &comm->devrState;\n  while (devr->teamHead != nullptr) {\n    struct ncclDevrTeam* t = devr->teamHead;\n    devr->teamHead = t->next;\n    if (t->mcBasePtr != nullptr) {\n      for (struct ncclDevrMemory* m = devr->memHead; m != nullptr; m = m->next) {\n        symUnbindTeamMemory(comm, t, m);\n      }\n      CUdeviceptr mcAddr = reinterpret_cast<CUdeviceptr>(t->mcBasePtr);\n      CUCHECKIGNORE(cuMemUnmap(mcAddr, devr->bigSize));\n      CUCHECKIGNORE(cuMemAddressFree(mcAddr, devr->bigSize));\n      CUCHECKIGNORE(cuMemRelease(t->mcHandle));\n    }\n    free(t);\n  }\n}\n\n// On success we take caller's reference on memHandle.\n// Due to multicast binds for each pre-exiting team, this function requires\n// caller do a world barrier before returning to user.\nstatic ncclResult_t symMemoryObtain(\n    struct ncclComm* comm, CUmemGenericAllocationHandle memHandle, size_t size,\n    struct ncclDevrMemory** outMem\n  ) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclDevrState* devr = &comm->devrState;\n  int64_t bigOffset = 0;\n\n  struct ncclDevrMemory* mem = devr->memHead;\n  while (mem != nullptr) {\n    if (mem->memHandle == memHandle) {\n      CUCHECKIGNORE(cuMemRelease(memHandle));\n      goto leave;\n    }\n    mem = mem->next;\n  }\n  // New memory.\n  mem = (struct ncclDevrMemory*)malloc(sizeof(struct ncclDevrMemory));\n  mem->refCount = 0;\n  mem->memHandle = memHandle;\n  mem->size = size;\n \n  // Grab offset in the big space.\n  NCCLCHECKGOTO(ncclSpaceAlloc(&devr->bigSpace, devr->bigSize, size, devr->granularity, &bigOffset), ret, fail_mem);\n  mem->bigOffset = bigOffset;\n\n  // Map unicast addresses into flat VA space for lsa team.\n  NCCLCHECKGOTO(symMemoryMapLsaTeam(comm, memHandle, size, bigOffset), ret, fail_mem_space);\n\n  // Bind new memory with each existing team.\n  for (struct ncclDevrTeam* t = devr->teamHead; t != nullptr; t = t->next) {\n    NCCLCHECKGOTO(symBindTeamMemory(comm, t, mem), ret, fail_mem_space_teams);\n  }\n  // Add to list of mems.\n  mem->next = devr->memHead;\n  devr->memHead = mem;\n\nleave:\n  mem->refCount += 1;\n  *outMem = mem;\n  return ret;\n\nfail_mem_space_teams:\n  for (struct ncclDevrTeam* t = devr->teamHead; t != nullptr; t = t->next) {\n    symUnbindTeamMemory(comm, t, mem);\n  }\nfail_mem_space:\n  ncclSpaceFree(&devr->bigSpace, bigOffset, size);\nfail_mem:\n  free(mem);\n//fail:\n  return ret;\n}\n\nstatic void symMemoryDropRef(\n    struct ncclComm* comm, struct ncclDevrMemory* mem\n  ) {\n  if (mem != nullptr && 0 == --mem->refCount) {\n    struct ncclDevrState* devr = &comm->devrState;\n    for (struct ncclDevrTeam* t = devr->teamHead; t != nullptr; t = t->next) {\n      symUnbindTeamMemory(comm, t, mem);\n    }\n    for (int r = 0; r < devr->lsaSize; r++) {\n      uintptr_t base = reinterpret_cast<uintptr_t>(devr->lsaFlatBase);\n      CUdeviceptr addr = reinterpret_cast<CUdeviceptr>(base + r * devr->bigSize + mem->bigOffset);\n      // CUdeviceptr addr = reinterpret_cast<uintptr_t>((char*)devr->lsaFlatBase + r*devr->bigSize + mem->bigOffset);\n      CUCHECKIGNORE(cuMemUnmap(addr, mem->size));\n    }\n    ncclSpaceFree(&devr->bigSpace, mem->bigOffset, mem->size);\n    CUCHECKIGNORE(cuMemRelease(mem->memHandle));\n\n    struct ncclDevrMemory** ptr = &devr->memHead;\n    while (*ptr != mem) ptr = &(*ptr)->next;\n    *ptr = mem->next; // Remove from list.\n\n    free(mem);\n  }\n}\n\nstatic ncclResult_t symWindowTableInitOnce(struct ncclComm* comm, cudaStream_t stream) {\n  struct ncclDevrState* devr = &comm->devrState;\n  struct ncclDevCommWindowTable* tableDev = devr->windowTable;\n  if (tableDev == nullptr) { // Create on first need.\n    NCCLCHECK(ncclShadowPoolAlloc<ncclDevCommWindowTable>(&devr->shadows, &tableDev, nullptr, stream));\n    devr->windowTable = tableDev;\n  }\n  return ncclSuccess;\n}\n\n// On success we take callers reference on `mem`.\nstatic ncclResult_t symWindowCreate(\n    struct ncclComm* comm, struct ncclDevrMemory* mem,\n    size_t memOffset, void* userPtr, size_t userSize, int winFlags, void* localReg,\n    struct ncclWindow_vidmem** outWinDev, struct ncclDevrWindow** outWin,\n    cudaStream_t stream\n  ) {\n  uintptr_t userAddr = reinterpret_cast<uintptr_t>(userPtr);\n  struct ncclDevrState* devr = &comm->devrState;\n  struct ncclDevrWindow* win;\n\n  win = (struct ncclDevrWindow*)malloc(sizeof(struct ncclDevrWindow));\n  memset(win, 0, sizeof(*win));\n  win->memory = mem;\n  win->size = userSize;\n  win->bigOffset = mem->bigOffset + memOffset;\n  win->winFlags = winFlags;\n  win->localRegHandle = localReg;\n  if (userPtr == nullptr) {\n    // Null means caller has no VA and will use the lsa team flat VA address.\n    win->userPtr = (char*)devr->lsaFlatBase + (devr->lsaSelf*devr->bigSize) + mem->bigOffset;\n  } else {\n    win->userPtr = userPtr;\n  }\n\n  struct ncclWindow_vidmem* winDev;\n  struct ncclWindow_vidmem* winDevHost;\n  NCCLCHECK(ncclShadowPoolAlloc(&devr->shadows, &winDev, &winDevHost, stream));\n  win->vidmem = winDev;\n  winDevHost->lsaFlatBase = (char*)devr->lsaFlatBase + win->bigOffset;\n  winDevHost->mcOffset4K = win->bigOffset>>12;\n  winDevHost->stride4G = devr->bigSize>>32;\n  winDevHost->lsaRank = devr->lsaSelf;\n  winDevHost->worldRank = comm->rank;\n  winDevHost->winHost = (void*)win;\n  CUDACHECK(cudaMemcpyAsync(winDev, winDevHost, sizeof(struct ncclWindow_vidmem), cudaMemcpyHostToDevice, stream));\n\n  NCCLCHECK(symWindowTableInitOnce(comm, stream)); // ensure devr->windowTable exists\n  struct ncclDevCommWindowTable* tableDev = devr->windowTable;\n  struct ncclDevCommWindowTable* tableHost;\n  NCCLCHECK(ncclShadowPoolToHost(&devr->shadows, tableDev, &tableHost));\n  while (true) {\n    int i = 0;\n    while (i < 32 && tableHost->entries[i].window != nullptr) i += 1;\n    if (i < 32) {\n      tableHost->entries[i].base = userAddr;\n      tableHost->entries[i].size = userAddr + userSize;\n      tableHost->entries[i].window = winDev;\n      CUDACHECK(cudaMemcpyAsync(&tableDev->entries[i], &tableHost->entries[i], sizeof(tableHost->entries[i]), cudaMemcpyHostToDevice, stream));\n      break;\n    }\n    if (tableHost->next == nullptr) {\n      NCCLCHECK(ncclShadowPoolAlloc<ncclDevCommWindowTable>(&devr->shadows, &tableHost->next, nullptr, stream));\n      CUDACHECK(cudaMemcpyAsync(&tableDev->next, &tableHost->next, sizeof(tableHost->next), cudaMemcpyHostToDevice, stream));\n    }\n    tableDev = tableHost->next;\n    NCCLCHECK(ncclShadowPoolToHost(&devr->shadows, tableHost->next, &tableHost));\n  }\n\n  { // insert into winSorted[]\n    int i = listFindSortedLub(&ncclDevrWindowSorted::userAddr, devr->winSorted, devr->winSortedCount, userAddr);\n    struct ncclDevrWindowSorted winSort;\n    winSort.userAddr = userAddr;\n    winSort.size = userSize;\n    winSort.win = win;\n    listInsert(&devr->winSorted, &devr->winSortedCapacity, &devr->winSortedCount, i, winSort);\n  }\n\n  if (outWinDev) *outWinDev = winDev;\n  if (outWin) *outWin = win;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t symWindowDestroy(struct ncclComm* comm, struct ncclWindow_vidmem* winDev, cudaStream_t stream) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclDevrState* devr = &comm->devrState;\n  struct ncclWindow_vidmem* winDevHost;\n  struct ncclDevrWindow* winHost;\n\n  NCCLCHECKGOTO(ncclShadowPoolToHost(&devr->shadows, winDev, &winDevHost), ret, fail);\n  winHost = (struct ncclDevrWindow*)winDevHost->winHost;\n\n  symMemoryDropRef(comm, winHost->memory);\n\n  { struct ncclDevCommWindowTable* tableDev = devr->windowTable;\n    struct ncclDevCommWindowTable* tableHost;\n    NCCLCHECKGOTO(ncclShadowPoolToHost(&devr->shadows, tableDev, &tableHost), ret, remove_winSorted);\n    while (true) {\n      int i = 0;\n      while (i < 32 && tableHost->entries[i].window != winDev) i += 1;\n      if (i < 32) {\n        memset(&tableHost->entries[i], 0, sizeof(tableHost->entries[i]));\n        CUDACHECKGOTO(cudaMemsetAsync(&tableDev->entries[i], 0, sizeof(tableDev->entries[i]), stream), ret, remove_winSorted);\n        break;\n      }\n      if (tableHost->next == nullptr) break; // Error didn't find window in table\n      tableDev = tableHost->next;\n      NCCLCHECKGOTO(ncclShadowPoolToHost(&devr->shadows, tableHost->next, &tableHost), ret, remove_winSorted);\n    }\n  }\n  NCCLCHECKGOTO(ncclShadowPoolFree(&devr->shadows, winDev, stream), ret, remove_winSorted);\n\n  NCCLCHECKGOTO(ncclCommDeregister(comm, winHost->localRegHandle), ret, remove_winSorted);\n\nremove_winSorted:\n  { int i = listFindSortedLub(&ncclDevrWindowSorted::userAddr, devr->winSorted, devr->winSortedCount, reinterpret_cast<uintptr_t>(winHost->userPtr));\n    i -= 1; // least upper bound is just after ours.\n    listRemove(devr->winSorted, &devr->winSortedCount, i);\n  }\n  free(winHost);\nfail:\n  return ret;\n}\n\nncclResult_t ncclDevrWindowRegisterInGroup(\n    struct ncclComm* comm,\n    void* userPtr, size_t userSize, int winFlags, ncclWindow_t* outWinDev\n  ) {\n  ncclResult_t ret = ncclSuccess;\n  CUdeviceptr memAddr = 0;\n  size_t memSize = 0;\n  CUmemGenericAllocationHandle memHandle = 0x0;\n  size_t memOffset;\n  struct ncclDevrMemory* mem = nullptr;\n  cudaStream_t stream = nullptr;\n  void* localRegHandle = nullptr;\n\n  NCCLCHECKGOTO(ncclCommRegister(comm, userPtr, userSize, &localRegHandle), ret, fail);\n\n  if (!comm->symmetricSupport) {\n    // We just return the local registration handle directly in this case, as there's no reason to allocate the\n    // ncclWindow_vidmem structure on the device, etc.\n    *outWinDev = reinterpret_cast<struct ncclWindow_vidmem*>(localRegHandle);\n    return ncclSuccess;\n  }\n  if (winFlags & NCCL_WIN_COLL_SYMMETRIC) {\n    // Defer symmetric kernel init until at least one window with that flag exists.\n    NCCLCHECKGOTO(ncclSymkInitOnce(comm), ret, fail);\n  }\n\n  // Get underlying cumem handle:\n  CUCHECKGOTO(cuMemGetAddressRange(&memAddr, &memSize, reinterpret_cast<CUdeviceptr>(userPtr)), ret, fail_locReg);\n  memOffset = reinterpret_cast<uintptr_t>(userPtr) - reinterpret_cast<uintptr_t>(memAddr);\n  // memOffset = reinterpret_cast<CUdeviceptr>(userPtr) - memAddr;\n  if (memOffset%NCCL_WIN_REQUIRED_ALIGNMENT != 0) {\n    WARN(\"Window address must be suitably aligned.\");\n    ret = ncclInvalidArgument;\n    goto fail;\n  }\n\n  CUCHECKGOTO(cuMemRetainAllocationHandle(&memHandle, reinterpret_cast<void*>(memAddr)), ret, fail_locReg);\n\n  // Trade cumem handle for ncclDevrMemory*\n  NCCLCHECKGOTO(symMemoryObtain(comm, memHandle, memSize, &mem), ret, fail_locReg_memHandle);\n  memHandle = 0x0; // symMemoryObtain took our reference\n\n  CUDACHECKGOTO(cudaStreamCreateWithFlags(&stream, cudaStreamNonBlocking), ret, fail);\n\n  NCCLCHECKGOTO(symWindowCreate(\n      comm, mem, memOffset, userPtr, userSize, winFlags, localRegHandle, outWinDev, nullptr, stream\n    ), ret, fail_locReg_memHandle_mem_stream);\n  mem = nullptr; // symWindowCreate took our reference\n  \n  CUDACHECKGOTO(cudaStreamSynchronize(stream), ret, fail_locReg_memHandle_mem_stream_win);\n\n  // symWindowCreate needs barrier.\n  NCCLCHECKGOTO(bootstrapBarrier(comm->bootstrap, comm->rank, comm->nRanks, 0xbeef), ret, fail_locReg_memHandle_mem_stream_win);\n\n  cudaStreamDestroy(stream);\n  return ret;\n\nfail_locReg_memHandle_mem_stream_win:\n  symWindowDestroy(comm, *outWinDev, stream);\n  *outWinDev = nullptr;\n  cudaStreamSynchronize(stream);\nfail_locReg_memHandle_mem_stream:\n  cudaStreamDestroy(stream);\n  symMemoryDropRef(comm, mem);\nfail_locReg_memHandle:\n  if (memHandle != 0x0) { CUCHECKIGNORE(cuMemRelease(memHandle)); }\nfail_locReg:\n  ncclCommDeregister(comm, localRegHandle);\nfail:\n  *outWinDev = nullptr;\n  return ret;\n}\n\nstatic ncclResult_t deepCopyDevCommRequirements(\n    struct ncclDevCommRequirements const* src,\n    struct ncclDevCommRequirements** dst\n) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclDevResourceRequirements **dstRes;\n  struct ncclTeamRequirements **dstTeam;\n\n  NCCLCHECK(ncclCalloc(dst, 1));\n\n  /* copy the entire struct now and update linked lists later */\n  **dst = *src;\n\n  dstRes = &(*dst)->resourceRequirementsList;\n  for (struct ncclDevResourceRequirements* rr = src->resourceRequirementsList; rr != nullptr; rr = rr->next) {\n    NCCLCHECKGOTO(ncclCalloc(dstRes, 1), ret, fail);\n    (*dstRes)->bufferSize = rr->bufferSize;\n    (*dstRes)->bufferAlign = rr->bufferAlign;\n    (*dstRes)->outBufferHandle = rr->outBufferHandle;\n    dstRes = &(*dstRes)->next;\n  }\n\n  dstTeam = &(*dst)->teamRequirementsList;\n  for (struct ncclTeamRequirements* tr = src->teamRequirementsList; tr != nullptr; tr = tr->next) {\n    NCCLCHECKGOTO(ncclCalloc(dstTeam, 1), ret, fail);\n    (*dstTeam)->team = tr->team;\n    (*dstTeam)->multimem = tr->multimem;\n    (*dstTeam)->outMultimemHandle = tr->outMultimemHandle;\n    dstTeam = &(*dstTeam)->next;\n  }\n\nexit:\n  return ret;\nfail:\n  freeDevCommRequirements(*dst);\n  *dst = nullptr;\n  goto exit;\n}\n\nvoid freeDevCommRequirements(\n    struct ncclDevCommRequirements* reqs\n) {\n  if (reqs) {\n    while (reqs->resourceRequirementsList) {\n      struct ncclDevResourceRequirements* rr_next = reqs->resourceRequirementsList->next;\n      free(reqs->resourceRequirementsList);\n      reqs->resourceRequirementsList = rr_next;\n    }\n\n    while (reqs->teamRequirementsList) {\n      struct ncclTeamRequirements* tr_next = reqs->teamRequirementsList->next;\n      free(reqs->teamRequirementsList);\n      reqs->teamRequirementsList = tr_next;\n    }\n\n    free(reqs);\n  }\n}\n\nncclResult_t ncclDevrCommCreateInternal(\n    struct ncclComm* comm,\n    struct ncclDevCommRequirements const* reqs, struct ncclDevComm* outDevComm\n  ) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclDevrState* devr = &comm->devrState;\n  struct ncclTeam world = ncclTeamWorld(comm);\n  struct ncclTeam lsa = ncclTeamInnerFactor(world, devr->lsaSize);\n  struct ncclDevrTeam* tmLsa;\n  size_t bufSizeTotal;\n  struct ncclDevResourceRequirements* resReqsHead;\n  struct ncclDevResourceRequirements lsaBarReq;\n  cudaStream_t stream = nullptr;\n  CUmemGenericAllocationHandle memHandle = 0x0;\n  struct ncclDevrMemory* mem = nullptr;\n  struct ncclDevrWindow* win = nullptr;\n  struct ncclWindow_vidmem* winHost = nullptr;\n\n  memset(outDevComm, 0, sizeof(*outDevComm));\n  outDevComm->rank = comm->rank;\n  outDevComm->nRanks = comm->nRanks;\n  outDevComm->nRanks_rcp32 = idivRcp32(comm->nRanks);\n  outDevComm->lsaRank = devr->lsaSelf;\n  outDevComm->lsaSize = devr->lsaSize;\n  outDevComm->lsaSize_rcp32 = idivRcp32(devr->lsaSize);\n\n  NCCLCHECKGOTO(symTeamObtain(comm, lsa, /*multicast=*/reqs->lsaMultimem, &tmLsa), ret, fail);\n  outDevComm->lsaMultimem.mcBasePtr = tmLsa->mcBasePtr;\n\n  { struct ncclTeamRequirements* tr = reqs->teamRequirementsList;\n    while (tr != nullptr) {\n      if (tr->multimem) {\n        struct ncclDevrTeam* tm;\n        NCCLCHECKGOTO(symTeamObtain(comm, tr->team, tr->multimem, &tm), ret, fail);\n        if (tr->outMultimemHandle != nullptr) tr->outMultimemHandle->mcBasePtr = tm->mcBasePtr;\n      }\n      tr = tr->next;\n    }\n  }\n\n  resReqsHead = reqs->resourceRequirementsList;\n\n  ncclLsaBarrierCreateRequirement(lsa, reqs->lsaBarrierCount, &outDevComm->lsaBarrier, &lsaBarReq);\n  lsaBarReq.next = resReqsHead;\n  resReqsHead = &lsaBarReq;\n\n  { struct ncclDevResourceRequirements* rr = resReqsHead;\n    bufSizeTotal = 0;\n    while (rr != nullptr) {\n      bufSizeTotal = alignUp(bufSizeTotal, std::max<size_t>(128, rr->bufferAlign));\n      if (rr->outBufferHandle != nullptr) *rr->outBufferHandle = bufSizeTotal/128;\n      bufSizeTotal += rr->bufferSize;\n      rr = rr->next;\n    }\n    bufSizeTotal = alignUp(bufSizeTotal, devr->granularity);\n  }\n\n  CUDACHECKGOTO(cudaStreamCreateWithFlags(&stream, cudaStreamNonBlocking), ret, fail);\n\n  NCCLCHECKGOTO(symWindowTableInitOnce(comm, stream), ret, fail); // ensure devr->windowTable exists\n  outDevComm->windowTable = comm->devrState.windowTable;\n\n  if (bufSizeTotal == 0) {\n    outDevComm->resourceWindow = nullptr;\n    outDevComm->resourceWindow_inlined = {};\n  } else {\n    CUmemAllocationProp memProp = {};\n    memProp.type = CU_MEM_ALLOCATION_TYPE_PINNED;\n    memProp.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n    memProp.requestedHandleType = ncclCuMemHandleType;\n    memProp.location.id = comm->cudaDev;\n\n    CUCHECKGOTO(cuMemCreate(&memHandle, bufSizeTotal, &memProp, 0), ret, fail);\n\n    NCCLCHECKGOTO(symMemoryObtain(comm, memHandle, bufSizeTotal, &mem), ret, fail);\n    memHandle = 0x0; // Reference given to symMemoryObtain\n\n    NCCLCHECKGOTO(symWindowCreate( // Requires world barrier afterward.\n      comm, mem, /*memOffset=*/0, nullptr, bufSizeTotal, /*winFlags=*/0,\n      /*localReg=*/nullptr, &outDevComm->resourceWindow, &win,\n      stream), ret, fail);\n    mem = nullptr; // Reference given to symWindowCreate\n    NCCLCHECKGOTO(ncclShadowPoolToHost(&comm->devrState.shadows, win->vidmem, &winHost), ret, fail);\n    outDevComm->resourceWindow_inlined = *winHost;\n\n    CUDACHECKGOTO(cudaMemsetAsync(win->userPtr, 0, bufSizeTotal, stream), ret, fail);\n  }\n\n  CUDACHECKGOTO(cudaStreamSynchronize(stream), ret, fail);\n\n  NCCLCHECKGOTO(bootstrapBarrier(comm->bootstrap, comm->rank, comm->nRanks, 0xbeef), ret, fail);\n\n  cudaStreamDestroy(stream);\n  return ret;\n\nfail:\n  if (win != nullptr) {\n    symWindowDestroy(comm, win->vidmem, stream);\n    cudaStreamSynchronize(stream);\n  }\n  if (mem != nullptr) {\n    symMemoryDropRef(comm, mem);\n  }\n  if (memHandle != 0x0) {\n    CUCHECKIGNORE(cuMemRelease(memHandle));\n  }\n  if (stream != nullptr) {\n    cudaStreamDestroy(stream);\n  }\n  return ret;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nNCCL_API(ncclResult_t, ncclCommWindowRegister, ncclComm_t comm, void* ptr, size_t size, ncclWindow_t* win, int winFlags);\nncclResult_t ncclCommWindowRegister_impl(\n    struct ncclComm* comm, void* userPtr, size_t userSize,\n    struct ncclWindow_vidmem** outWinDev, int winFlags\n  ) {\n  ncclResult_t ret = ncclSuccess;\n  int saveDev;\n  struct ncclDevrRegTask* task;\n\n  CUDACHECK(cudaGetDevice(&saveDev));\n  NCCLCHECK(ncclGroupStartInternal());\n\n  if (userPtr == nullptr || userSize == 0 || !(comm->symmetricSupport || ncclParamLocalRegister())) goto exit;\n\n  NCCLCHECKGOTO(ncclCommEnsureReady(comm), ret, fail);\n  CUDACHECKGOTO(cudaSetDevice(comm->cudaDev), ret, fail);\n\n  NCCLCHECKGOTO(ncclDevrInitOnce(comm), ret, fail);\n\n  NCCLCHECKGOTO(ncclCalloc(&task, 1), ret, fail);\n  task->userPtr = userPtr;\n  task->userSize = userSize;\n  task->winFlags = winFlags;\n  task->outWinDev = outWinDev;\n  ncclIntruQueueEnqueue(&comm->devrState.regTaskQueue, task);\n  ncclGroupCommJoin(comm, ncclGroupTaskTypeSymRegister);\n\nexit:\n  ncclGroupErrCheck(ret);\n  NCCLCHECK(ncclGroupEndInternal());\n  cudaSetDevice(saveDev);\n  return ret;\nfail:\n  goto exit;\n}\n\nNCCL_API(ncclResult_t, ncclCommWindowDeregister, ncclComm_t comm, ncclWindow_t win);\nncclResult_t ncclCommWindowDeregister_impl(struct ncclComm* comm, struct ncclWindow_vidmem* winDev) {\n  ncclResult_t ret = ncclSuccess;\n  int saveDev;\n  cudaStream_t stream;\n\n  if (winDev == nullptr) goto exit;\n\n  if (!comm->symmetricSupport) {\n    NCCLCHECKGOTO(ncclCommDeregister(comm, winDev), ret, fail);\n    goto exit;\n  }\n  CUDACHECKGOTO(cudaGetDevice(&saveDev), ret, fail);\n  CUDACHECKGOTO(cudaSetDevice(comm->cudaDev), ret, fail);\n  CUDACHECKGOTO(cudaStreamCreateWithFlags(&stream, cudaStreamNonBlocking), ret, fail_dev);\n  NCCLCHECKGOTO(symWindowDestroy(comm, winDev, stream), ret, fail_dev_stream);\nfail_dev_stream:\n  cudaStreamSynchronize(stream);\n  cudaStreamDestroy(stream);\nfail_dev:\n  cudaSetDevice(saveDev);\nfail:\nexit:\n  return ret;\n}\n\nncclResult_t ncclDevrFindWindow(\n    struct ncclComm* comm, void const* userPtr, struct ncclDevrWindow** outWin\n  ) {\n  struct ncclDevrState* devr = &comm->devrState;\n  uintptr_t userAddr = reinterpret_cast<uintptr_t>(userPtr);\n  int i = listFindSortedLub(&ncclDevrWindowSorted::userAddr, devr->winSorted, devr->winSortedCount, userAddr);\n  if (0 < i && (userAddr - devr->winSorted[i-1].userAddr < devr->winSorted[i-1].size)) {\n    *outWin = devr->winSorted[i-1].win;\n  } else {\n    *outWin = nullptr;\n  }\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, ncclDevCommCreate, ncclComm_t comm, ncclDevCommRequirements_t const* reqs, ncclDevComm_t* outDevComm);\nncclResult_t ncclDevCommCreate(\n    ncclComm_t comm, struct ncclDevCommRequirements const* reqs,\n    struct ncclDevComm* outDevComm\n  ) {\n  ncclResult_t ret = ncclSuccess;\n  int saveDev;\n  struct ncclDevrCommCreateTask* task = nullptr;\n\n  CUDACHECK(cudaGetDevice(&saveDev));\n  NCCLCHECK(ncclGroupStartInternal());\n\n  if (!comm->symmetricSupport) {\n    WARN(\"Communicator does not support symmetric memory!\");\n    ret = ncclInvalidUsage;\n    goto fail;\n  }\n\n  NCCLCHECKGOTO(ncclCommEnsureReady(comm), ret, fail);\n  CUDACHECKGOTO(cudaSetDevice(comm->cudaDev), ret, fail);\n\n  NCCLCHECKGOTO(ncclDevrInitOnce(comm), ret, fail);\n\n  NCCLCHECKGOTO(ncclCalloc(&task, 1), ret, fail);\n  // reqs must be deep copied to the task so background threads can safely access it\n  NCCLCHECKGOTO(deepCopyDevCommRequirements(reqs, &task->reqs), ret, fail);\n  task->outDevComm = outDevComm;\n  ncclIntruQueueEnqueue(&comm->devrState.commCreateTaskQueue, task);\n  ncclGroupCommJoin(comm, ncclGroupTaskTypeSymRegister);\n\nexit:\n  ncclGroupErrCheck(ret);\n  NCCLCHECK(ncclGroupEndInternal());\n  cudaSetDevice(saveDev);\n  return ret;\nfail:\n  free(task);\n  goto exit;\n}\n\nNCCL_API(ncclResult_t, ncclDevCommDestroy, ncclComm_t comm, ncclDevComm_t const* devComm);\nncclResult_t ncclDevCommDestroy(\n    struct ncclComm* comm, struct ncclDevComm const* devComm\n  ) {\n  //struct ncclDevrState* devr = &comm->devrState;\n  if (devComm->resourceWindow != nullptr) {\n    NCCLCHECK(ncclCommWindowDeregister(comm, devComm->resourceWindow));\n  }\n  return ncclSuccess;\n}\n\n\n// Get the corresponding pointer in another lsa rank's symmetric memory window\nncclResult_t ncclDevrGetLsaRankPtr(struct ncclComm* comm, struct ncclDevrWindow* winHost, size_t offset, int lsaRank, void** outPtr) {\n  if (winHost == nullptr || outPtr == nullptr) {\n    return ncclInvalidArgument;\n  }\n\n  struct ncclDevrState* devr = &comm->devrState;\n  \n  // Validate lsaRank is within bounds\n  if (lsaRank < 0 || lsaRank >= devr->lsaSize) {\n    return ncclInvalidArgument;\n  }\n\n  // Validate offset is within bounds\n  if (offset < 0 || offset >= winHost->size) {\n    return ncclInvalidArgument;\n  }\n\n  // Calculate the address with offset for the specified lsa rank\n  *outPtr = (void*)((uintptr_t)devr->lsaFlatBase + lsaRank * devr->bigSize + winHost->bigOffset + offset);\n  return ncclSuccess;\n}\n\n// Get the multicast address for a given team\nncclResult_t ncclDevrGetLsaTeamPtrMC(struct ncclComm* comm, struct ncclDevrWindow* winHost, size_t offset, struct ncclTeam lsaTeam, void** outPtr){\n  if (winHost == nullptr || outPtr == nullptr) {\n    return ncclInvalidArgument;\n  }\n\n  if (!comm->nvlsSupport) {\n    return ncclInvalidUsage;\n  }\n\n  bool multimem = true;\n  struct ncclDevrTeam* tm;\n  NCCLCHECK(symTeamObtain(comm, lsaTeam, multimem, &tm));\n    \n  // Return the base multicast address for this team with offset\n  *outPtr = (void*)((uintptr_t)tm->mcBasePtr + winHost->bigOffset + offset);\n  return ncclSuccess;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\n// Find the least index strictly greater than arg.\ntemplate<typename Obj, typename Key>\nstatic int listFindSortedLub(Key Obj::*key, Obj* sorted, int count, Key arg) {\n  int lo = 0, hi = count;\n  while (lo + 16 < hi) {\n    int i = (lo + hi)/2;\n    if (sorted[i].*key <= arg) lo = i+1;\n    else hi = i;\n  }\n  int i = lo;\n  while (i < hi && sorted[i].*key <= arg) i++;\n  return i;\n}\n\ntemplate<typename Obj>\nstatic void listInsert(Obj** list, int* capacity, int* count, int index, Obj val) {\n  if (*capacity < *count + 1) {\n    *capacity *= 2;\n    if (*capacity == 0) *capacity = 16;\n    *list = (Obj*)realloc(*list, (*capacity)*sizeof(Obj));\n  }\n  for (int j = *count; j != index; j--) {\n    (*list)[j] = (*list)[j-1];\n  }\n  (*list)[index] = val;\n  *count += 1;\n}\n\ntemplate<typename Obj>\nstatic void listRemove(Obj* list, int* count, int index) {\n  for (int i = index; i+1 < *count; i++) {\n    list[i] = list[i+1];\n  }\n  *count -= 1;\n}\n\n"
  },
  {
    "path": "src/device/CMakeLists.txt",
    "content": "# Run the scripts once during configuration to get the file lists\nexecute_process(\n    COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generate.py ${CMAKE_CURRENT_BINARY_DIR}/gensrc \"${ONLY_FUNCS}\"\n    OUTPUT_VARIABLE files\n    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}\n)\nstring(STRIP \"${files}\" files)\nlist(TRANSFORM files PREPEND ${CMAKE_CURRENT_BINARY_DIR}/gensrc/)\n\nexecute_process(\n    COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/symmetric/generate.py ${CMAKE_CURRENT_BINARY_DIR}/gensrc/symmetric \"${ONLY_FUNCS}\"\n    OUTPUT_VARIABLE symmetric_files\n    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}\n)\nstring(STRIP \"${symmetric_files}\" symmetric_files)\nlist(TRANSFORM symmetric_files PREPEND ${CMAKE_CURRENT_BINARY_DIR}/gensrc/symmetric/)\n\n# Create custom commands to generate source files with proper dependencies\nadd_custom_command(\n    OUTPUT  ${files}\n    BYPRODUCTS ${files}\n    COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generate.py ${CMAKE_CURRENT_BINARY_DIR}/gensrc \"${ONLY_FUNCS}\"\n    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/generate.py\n    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}\n    COMMENT \"Generating device source files\"\n)\n\nadd_custom_command(\n    OUTPUT  ${symmetric_files}\n    BYPRODUCTS ${symmetric_files}\n    COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/symmetric/generate.py ${CMAKE_CURRENT_BINARY_DIR}/gensrc/symmetric \"${ONLY_FUNCS}\"\n    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/symmetric/generate.py\n    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}\n    COMMENT \"Generating symmetric device source files\"\n)\n\n# Add library target\nadd_library(nccl_device OBJECT\n            ${files}\n            ${symmetric_files}\n            ${CMAKE_CURRENT_SOURCE_DIR}/common.cu\n            ${CMAKE_CURRENT_SOURCE_DIR}/onerank.cu\n)\n\nset_target_properties(nccl_device PROPERTIES\n    CUDA_SEPARABLE_COMPILATION ON\n    CUDA_RESOLVE_DEVICE_SYMBOLS ON\n)\n\n# Set include directories for the target\ntarget_include_directories(nccl_device PUBLIC\n    ${CMAKE_CURRENT_SOURCE_DIR}\n    ${CMAKE_SOURCE_DIR}/src/include\n    ${CMAKE_SOURCE_DIR}/src/include/plugin\n    ${CMAKE_BINARY_DIR}/include\n    ${CUDAToolkit_INCLUDE_DIRS}\n    ${CUDAToolkit_INCLUDE_DIRS}/cccl\n)\n\nadd_dependencies(nccl_device nccl_header)\n"
  },
  {
    "path": "src/device/Makefile",
    "content": "#\n# Copyright (c) 2015-2021, NVIDIA CORPORATION. All rights reserved.\n#\n# See LICENSE.txt for license information\n#\n\nSHELL := /usr/bin/env bash\nMAKEFLAGS += -r\n.SUFFIXES:\n.SECONDARY:\n\nNCCLDIR := ../..\ninclude $(NCCLDIR)/makefiles/common.mk\ninclude $(NCCLDIR)/makefiles/version.mk\n\nBUILDDIR ?= $(abspath ../../build)\nOBJDIR := $(BUILDDIR)/obj/device\n\nMANIFEST := $(OBJDIR)/manifest\nDEVGLUE_OBJ  := $(OBJDIR)/device_glue.o\n\nINCFLAGS  = -I. -I.. -I$(BUILDDIR)/include -I../include -I../include/plugin\nNVCUFLAGS += $(INCFLAGS) --compiler-options \"-fPIC -fvisibility=hidden\"\nCXXFLAGS  += $(INCFLAGS)\n\nNVCUFLAGS_SYM := -ccbin $(CXX) $(CXXSTD) --expt-extended-lambda -Xptxas -maxrregcount=128 -Xfatbin -compress-all\nNVCUFLAGS_SYM += $(INCFLAGS) --compiler-options \"-fPIC -fvisibility=hidden\"\n\nSAY = @bash -c 'path=\"$$2\"; [[ \"$$(realpath \"$$2\")\" =~ ^$(subst .,\\.,$(abspath $(NCCLDIR)))/(.*)$$ ]] && path=\"$${BASH_REMATCH[1]}\"; printf \"%-15s %s\\n\" \"$$1\" \"$$path\"' SAY\n\nCOMPILE.cu = $(NVCC) $(NVCUFLAGS) -dc $2 -o $1\nCOMPILE.cc = $(CXX) $(CXXFLAGS) -c $2 -o $1\ndefine COMPILE\n@$(SAY) \"Compiling\" $2;\\\n mkdir -p $(dir $1);\\\n $(call COMPILE$(or $3,$(suffix $2)),$1,$2)\nendef\n\nifeq ($(shell echo \"$$((1000*$(CUDA_MAJOR) + 10*$(CUDA_MINOR) >= 12090))\"),1)\n\tNVCC_GENCODE_LDMC_FP8 = -gencode=arch=compute_100f,code=sm_100f\nelse ifeq ($(shell echo \"$$((1000*$(CUDA_MAJOR) + 10*$(CUDA_MINOR) >= 12070))\"),1)\n  NVCC_GENCODE_LDMC_FP8 = -gencode=arch=compute_100a,code=sm_100a\nelse\n\tNVCC_GENCODE_LDMC_FP8 =\nendif\n\ndefine COMPILE_SYM\n@$(SAY) \"Compiling\" $2;\\\n mkdir -p $(dir $1);\\\n if [[ -n \"$3\" ]]; then\\\n $(NVCC) $(NVCUFLAGS_SYM) $3 -dw $2 -o $1;\\\n else\\\n touch $2.empty.cu; $(NVCC) $(NVCUFLAGS_SYM) -dw $2.empty.cu -o $1; rm $2.empty.cu;\\\n fi\nendef\n\nDEPENDS.cu = $(NVCC) $(NVCUFLAGS) -M -dc $1\nDEPENDS.cc = $(CXX) $(CXXFLAGS) -M -c $1\ndefine DEPENDS\n@$(SAY) \"Dependencies\" $2;\\\n mkdir -p $(dir $1);\\\n mk=$$($(call DEPENDS$(suffix $2),$2));\\\n [[ $$mk =~ ^[^:]*:(.*)$$ ]];\\\n files=$${BASH_REMATCH[1]};\\\n files=$$(for x in $$files; do case \"$$x\" in '\\'|$$'\\t') ;; *) echo \"$$x\"; esac; done);\\\n files=$$(for x in $$files; do [[ \"$$(realpath \"$$x\")\" == \"$$(realpath \"$(NCCLDIR)\")\"* ]] && echo \"$$x\"; done);\\\n echo \"$(patsubst %.d,%.o,$1) $1: \" $$files > $1\nendef\n\nall: $(MANIFEST)\n\n$(OBJDIR)/gensrc: generate.py\n\t@mkdir -p $@\n\t(which python3 >/dev/null || \\\n\t  (bar='!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'; \\\n\t   printf \"\\n$${bar}\\nERROR: Building NCCL requires a Python 3 installation invokable as 'python3'.\\n$${bar}\\n\\n\" 1>&2; \\\n\t   exit 1)) \\\n\t&& ./generate.py $@ \"$(ONLY_FUNCS)\"\n\n$(OBJDIR)/gensrc/symmetric: $(OBJDIR)/gensrc symmetric/generate.py\n\t@mkdir -p $@\n\t./symmetric/generate.py $@\n\n# The trailing \";\" is necessary to make this an \"empty recipe\":\n# https://www.gnu.org/software/make/manual/html_node/Empty-Recipes.html\n$(OBJDIR)/gensrc/rules.mk: $(OBJDIR)/gensrc ;\n\n$(OBJDIR)/gensrc/symmetric/rules.mk: $(OBJDIR)/gensrc/symmetric ;\n\n-include $(OBJDIR)/gensrc/rules.mk\n# \"gensrc/rules.mk\" populates $(LIB_OBJS_GEN)\n\n-include $(OBJDIR)/gensrc/symmetric/rules.mk\n# \"gensrc/symmetric/rules.mk\" populates $(LIB_OBJS_SYM_GEN)\n\nSRCS = common.cu onerank.cu\n\nLIB_OBJS = $(patsubst %, $(OBJDIR)/%.o, $(SRCS)) $(LIB_OBJS_GEN) $(LIB_OBJS_SYM_GEN)\n\n$(OBJDIR)/%.o: % $(OBJDIR)/%.d\n\t$(call COMPILE,$@,$<)\n\n$(OBJDIR)/genobj/%.o: $(OBJDIR)/gensrc $(OBJDIR)/genobj/%.d\n\t$(call COMPILE,$@,$(OBJDIR)/gensrc/$*)\n\n$(OBJDIR)/genobj/symmetric/%.o: $(OBJDIR)/gensrc/symmetric $(OBJDIR)/genobj/symmetric/%.d\n\t$(call COMPILE,$@,$(OBJDIR)/gensrc/symmetric/$*)\n\n$(OBJDIR)/%.d: %\n\t$(call DEPENDS,$@,$<)\n\n$(OBJDIR)/genobj/%.d: $(OBJDIR)/gensrc/%\n\t$(call DEPENDS,$@,$<)\n\n$(OBJDIR)/genobj/symmetric/%.d: $(OBJDIR)/gensrc/symmetric/%\n\t$(call DEPENDS,$@,$<)\n\n$(DEVGLUE_OBJ): $(LIB_OBJS)\n\t$(NVCC) $(NVCUFLAGS) -dlink $^ -o $@\n\n$(MANIFEST): $(LIB_OBJS) $(DEVGLUE_OBJ)\n\t@echo $^ > $@\n\n-include $(wildcard $(OBJDIR)/*.d)\n-include $(wildcard $(OBJDIR)/genobj/*.d)\n-include $(wildcard $(OBJDIR)/genobj/symmetric/*.d)\n\n.PHONY: clean\nclean:\n\trm -rf $(OBJDIR)\n"
  },
  {
    "path": "src/device/all_gather.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"device.h\"\n#include \"collectives.h\"\n#include \"primitives.h\"\n\nnamespace {\n  template<typename T, typename RedOp, typename Proto, bool isNetOffload = false>\n#if defined(USE_INDIRECT_FUNCTION_CALL) && !defined(__gfx942__) && !defined(__gfx950__)\n  __device__ void runRing(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#else\n  __device__ __attribute__((noinline)) void runRing(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#endif\n#if defined(ENABLE_NPKIT)\n    const int bid = ncclShmem.channelId - work->channelLo;\n    int npKitCtxIdx = bid; // unused variable - compiler warning\n#endif\n#ifdef ENABLE_WARP_SPEED\n    int warp = threadIdx.x / WARP_SIZE;\n    ncclRing *ring = &ncclShmem.warpChannel[warp].ring;\n#else\n    ncclRing *ring = &ncclShmem.channel.ring;\n#endif\n    const int *ringRanks = ring->userRanks;\n    const int nranks = ncclShmem.comm.nRanks;\n    ssize_t count, partOffset, partCount, chunkCount;\n#ifdef ENABLE_WARP_SPEED\n    ncclCollCbdPart(work, ncclShmem.warpChannelId[warp], Proto::Id, sizeof(T), &count, &partOffset, &partCount, &chunkCount);\n#else\n    ncclCollCbdPart(work, ncclShmem.channelId, Proto::Id, sizeof(T), &count, &partOffset, &partCount, &chunkCount);\n#endif\n    ssize_t offset;\n    ssize_t dataOffset;\n    int nelem;\n    int rankDest;\n\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_CPU)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_CPU, 0, 0, NPKIT_GET_CPU_TIMESTAMP_FROM_BLOCK,\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_GPU)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_GPU, 0, 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_GATHER_RING_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_GATHER_RING_ENTRY, count*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    int workNthreads;\n    T *inputBuf = (T*)work->sendbuff;\n    T *outputBuf = (T*)work->recvbuff;\n\n    // If isNetOffload == true, we only use 1 warp to drive Ring algo/network communication\n    // and the rest of warps proceed to copy src data into dst buffer in parallel when AG\n    // is not in-place.\n    if (isNetOffload) {\n      workNthreads = WARP_SIZE;\n      chunkCount = NCCL_MAX_NET_SIZE;\n    } else {\n      workNthreads = nthreads;\n    }\n\n    if (tid < workNthreads) {\n      // Coverity reports that the callee treats &ring->next as an array.  However, due to the use of\n      // FanSymmetric<1>, only the first element is ever accessed, so it's fine.\n      // coverity[callee_ptr_arith:FALSE]\n      Primitives<T, RedOp, FanSymmetric<1>, 0, Proto, 0, isNetOffload> prims\n        (tid, workNthreads, &ring->prev, &ring->next, inputBuf, outputBuf, work->redOpArg, 0, work->connIndex, work->connIndex, work, NULL, isNetOffload ? NCCL_MAX_NET_SIZE : 0);\n\n#if defined(ENABLE_NPKIT)\n      if (tid == 0) {\n        prims.npKitCtxIdx = npKitCtxIdx;\n      }\n#endif\n      for (size_t elemOffset = 0; elemOffset < partCount; elemOffset += chunkCount) {\n        /////////////// begin AllGather steps ///////////////\n        nelem = min(chunkCount, partCount - elemOffset);\n        dataOffset = partOffset + elemOffset;\n\n        // step 0: push data to next GPU\n        rankDest = ringRanks[0];\n        offset = dataOffset + rankDest * count;\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_GATHER_RING_SEND_ENTRY)\n        if (tid == 0) {\n          NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_GATHER_RING_SEND_ENTRY, nelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n              ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n          prims.npKitDataProcessTotalTime = 0;\n        }\n#endif\n\n        if ((inputBuf + dataOffset == outputBuf + offset) || isNetOffload) { // In place or onePPN\n          prims.directSend(dataOffset, offset, nelem);\n        } else {\n          prims.directCopySend(dataOffset, offset, nelem);\n        }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_GATHER_RING_SEND_EXIT)\n        if (tid == 0) {\n          NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_GATHER_RING_SEND_EXIT, nelem*sizeof(T), prims.npKitDataProcessTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n              ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n        }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_GATHER_RING_RECV_COPY_SEND_ENTRY)\n        if (tid == 0 && nranks > 2) {\n          NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_GATHER_RING_RECV_COPY_SEND_ENTRY, nelem*(nranks-2)*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n              ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n          prims.npKitDataProcessTotalTime = 0;\n        }\n#endif\n\n        // k-2 steps: copy to next GPU\n        for (int j = 1; j < nranks - 1; ++j) {\n          rankDest = ringRanks[nranks - j];\n          offset = dataOffset + rankDest * count;\n          prims.directRecvCopyDirectSend(offset, offset, nelem);\n        }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_GATHER_RING_RECV_COPY_SEND_EXIT)\n        if (tid == 0 && nranks > 2) {\n          NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_GATHER_RING_RECV_COPY_SEND_EXIT, nelem*(nranks-2)*sizeof(T), prims.npKitDataProcessTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n              ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n        }\n#endif\n\n        // Make final copy from buffer to dest.\n        rankDest = ringRanks[1];\n        offset = dataOffset + rankDest * count;\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_GATHER_RING_DIRECT_RECV_ENTRY)\n        if (tid == 0) {\n          NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_GATHER_RING_DIRECT_RECV_ENTRY, nelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n              ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n          prims.npKitDataProcessTotalTime = 0;\n        }\n#endif\n        // Final wait/copy.\n        prims.directRecv(offset, nelem);\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_GATHER_RING_DIRECT_RECV_EXIT)\n        if (tid == 0) {\n          NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_GATHER_RING_DIRECT_RECV_EXIT, nelem*sizeof(T), prims.npKitDataProcessTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n              ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n        }\n#endif\n\n\n\n      }\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_GATHER_RING_EXIT)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_GATHER_RING_EXIT, count*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n    } else if (inputBuf != outputBuf + ringRanks[0] * count) {\n      inputBuf = inputBuf + partOffset;\n      outputBuf = outputBuf + partOffset + ringRanks[0] * count;\n      reduceCopy<COLL_UNROLL, USE_ACC, RedOp, T, 0, 1, 1, 0, 1, 1, /*PreOpSrcs=*/0>\n        (tid - workNthreads, nthreads - workNthreads, work->redOpArg, &work->redOpArg, false, 1, (void**)&inputBuf, 1, (void**)&outputBuf, partCount);\n    }\n#if !defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__)\n    // we have to wait for all warps before we can proceed to the next work;\n    // otherwise, we can have contention if next work will use the outputBuf\n    // in this work. We use bar 14 to avoid conflicts with prims barrier and\n    // __syncthread().\n    if (isNetOffload) barrier_sync(14, nThreads);\n#endif\n  }\n}\n\n#if defined(__gfx942__) || defined(__gfx950__) // Use a single slice per simple primitive for a single node on some GFX9 devices.\n#define rcclAllGatherRunRingSimpleProtoImpl(tid, nthreads, work) \\\n  if(work->rcclUseOneSlice){ \\\n    runRing<T, RedOp, ProtoSimple<ALLGATHER_CHUNKSTEPS/ALLGATHER_SLICESTEPS_SINGLE_NODE, ALLGATHER_SLICESTEPS_SINGLE_NODE>, false>(tid, nthreads, work); \\\n  } else{ \\\n    runRing<T, RedOp, ProtoSimple<ALLGATHER_CHUNKSTEPS/ALLGATHER_SLICESTEPS, ALLGATHER_SLICESTEPS>, false>(tid, nthreads, work); \\\n  }\n#else\n#define rcclAllGatherRunRingSimpleProtoImpl(tid, nthreads, work) \\\n  runRing<T, RedOp, ProtoSimple<ALLGATHER_CHUNKSTEPS/ALLGATHER_SLICESTEPS, ALLGATHER_SLICESTEPS>, false>(tid, nthreads, work);\n#endif\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllGather, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_SIMPLE> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n    bool isNetOffload = false;\n#else\n    bool isNetOffload = work->isOneRPN && work->netRegUsed;\n#endif\n    if (isNetOffload)\n      runRing<T, RedOp, ProtoSimple<1, 1>, true>(tid, nthreads, work);\n    else{\n      rcclAllGatherRunRingSimpleProtoImpl(tid, nthreads, work);\n    }\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllGather, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_LL> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    runRing<T, RedOp, ProtoLL>(tid, nthreads, work);\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllGather, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_LL128> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    runRing<T, RedOp, ProtoLL128>(tid, nthreads, work);\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllGather, T, RedOp, NCCL_ALGO_PAT, NCCL_PROTO_SIMPLE> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    using Proto = ProtoSimple<1, 1>;\n    const int nranks = ncclShmem.comm.nRanks;\n    const int rank = ncclShmem.comm.rank;\n    size_t count, channelOffset, channelCount, chunkCount;\n    ncclCollCbdPart(work, ncclShmem.channelId, Proto::Id, sizeof(T), &count, &channelOffset, &channelCount, &chunkCount);\n\n    static constexpr int nworkers = NCCL_PAT_NWORKERS;\n    struct ncclPatShmem* shmem = (struct ncclPatShmem*)ncclScratchForWarp(0);\n    uint64_t pollCount = 0;\n    (void)pollCount; // unused variable - compiler warning\n    __syncthreads(); // Don't start using shared mem until everyone arrives\n    for (int i=tid; i<NCCL_SHMEM_PAT_STEPS; i+=nthreads) shmem->patSteps[i].flags = 0;\n    if (tid == 0) shmem->localAccSize = 0;\n    if (tid == nworkers) shmem->parallelFactor = 0;\n    __syncthreads();\n\n    if (tid == nworkers) { // Algo computation thread\n      PatAGAlgorithm<T> patAlgo(chunkCount*sizeof(T), NCCL_STEPS, NCCL_PAT_NWORKERS/WARP_SIZE, channelOffset, channelOffset + channelCount, count, chunkCount, rank, nranks);\n      int parallelFactor = shmem->parallelFactor = patAlgo.getParallelFactor();\n      (void)parallelFactor;// unused variable - compiler warning\n      int step = 0;\n      while (1) {\n        struct ncclPatStep* ps = shmem->patSteps+(step%NCCL_SHMEM_PAT_STEPS);\n        int* poll = &ps->flags;\n        while (__hip_atomic_load(poll, __ATOMIC_ACQUIRE, __HIP_MEMORY_SCOPE_WORKGROUP) != 0) {\n          pollCount++ ;// Wait for workers to be done with step 'step-NCCL_SHMEM_PAT_STEPS'\n        }\n        patAlgo.getNextOp(ps);\n        int last = ps->last;\n        step++;\n        if (last == 2) break;\n      }\n    } else if (tid < nworkers) { // Worker threads\n      T *inputBuf = (T*)work->sendbuff;\n      T *outputBuf = (T*)work->recvbuff;\n      int parallelFactor = 0;\n      volatile int* pfPtr = &shmem->parallelFactor;\n      while (parallelFactor == 0) parallelFactor = *pfPtr;\n\n      int groupSize = nworkers/(WARP_SIZE*parallelFactor) * WARP_SIZE;\n      int group = tid / groupSize;\n      int nGroups = nworkers / groupSize;\n      int tidInGroup = tid - group*groupSize;\n      // We don't use recvPeers/sendPeers so let's pass shmem structs instead\n      Primitives<T, RedOp, FanSymmetric<1>, 0, Proto, 0> prims\n        (tidInGroup, groupSize, (int*)shmem->recvDims, (int*)shmem->sendDims, inputBuf, outputBuf, work->redOpArg, group, 0, 0, nullptr, nullptr, 0, primsModePatAg);\n\n      int step = group;\n      while(1) {\n        struct ncclPatStep* ps = shmem->patSteps+(step%NCCL_SHMEM_PAT_STEPS);\n        int* poll = &ps->flags;\n        while (__hip_atomic_load(poll, __ATOMIC_ACQUIRE, __HIP_MEMORY_SCOPE_WORKGROUP) == 0){\n          pollCount++; // Wait for compute thread\n        }\n        int last = ps->last;\n        prims.patCopy(ps, shmem);\n        if (tidInGroup == 0) __hip_atomic_store(poll, 0, __ATOMIC_RELEASE, __HIP_MEMORY_SCOPE_WORKGROUP); // Return element to compute thread\n        if (last) break;\n        step += nGroups;\n      }\n    }\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllGather, T, RedOp, NCCL_ALGO_NVLS, NCCL_PROTO_SIMPLE> {\n  template<bool BcastSendNotRecv>\n  struct Scatterer {\n    struct ncclDevWorkColl* work;\n    ssize_t chunkSize;\n    ssize_t railGridOffset;\n\n    template<int SlicePerChunk, int MinSrcs, int MaxSrcs, int MinDsts, int MaxDsts, int MultimemSrcs, int MultimemDsts>\n    __device__ __forceinline__ void operator()(\n        int tid, int tn, int slice, int maxSliceSize,\n        int nSrcs, void** srcPtrs, int nDsts, void** dstPtrs, int32_t* dstSizes, uint32_t sendDirectFlag, uint32_t recvDirectFlag\n      ) {\n      static_assert(SlicePerChunk==1, \"require: SlicePerChunk==1\");\n      static_assert(MaxDsts<=1 || MaxSrcs<=1, \"require: MaxDsts<=1 || MaxSrcs<=1\");\n\n      struct ncclNvls* nvls = &ncclShmem.channel.nvls;\n      int nNodes = ncclShmem.comm.nNodes;\n      int nRails = nvls->nHeads;\n      int part = ncclShmem.channelId - work->channelLo;\n      char* inbuf = (char*)work->sendbuff;\n      char* outbuf = (char*)work->recvbuff;\n      ssize_t countPerRank = work->collnet.count;\n      bool inPlace = (inbuf == outbuf + ncclShmem.comm.rank * countPerRank);\n      ssize_t railAllBeg = min(railGridOffset + part * chunkSize, nNodes * countPerRank);\n      ssize_t railAllEnd = min(railAllBeg + chunkSize, nNodes * countPerRank);\n      int railAllSize = railAllEnd - railAllBeg;\n      int rail = 0;\n      int src = 0;\n\n      if (BcastSendNotRecv) {\n        rail = nvls->headRank;\n      } else {\n        if (work->regUsed) return;\n        rail = 0;\n      }\n      if (tid < nDsts) dstSizes[tid] = railAllSize;\n      do {\n        int node = railAllBeg / countPerRank;\n        int railAllOffset = 0;\n        while (railAllOffset < railAllSize) {\n          ssize_t railOneBeg = node * countPerRank;\n          ssize_t railOneEnd = railOneBeg + countPerRank;\n          ssize_t railOneOffset = (railAllBeg + railAllOffset) - railOneBeg;\n          int delta = min(railAllEnd, railOneEnd) - (railAllBeg + railAllOffset);\n          int rank = ncclShmem.comm.collNetDenseToUserRank[node * nRails + rail];\n          ssize_t userOneBeg = rank * countPerRank + railOneOffset;\n          int outIsDst = (inPlace && rank == ncclShmem.comm.rank) || BcastSendNotRecv || work->regUsed ? 0 : 1;\n          if (nSrcs != 0 && outIsDst + nDsts != 0) {\n            reduceCopy<ncclCollUnroll(), USE_ACC, RedOp, T,\n              /*MultimemSrcs,MinSrcs,MaxSrcs=*/MultimemSrcs, 1, 1,\n              /*MultimemDsts=*/MultimemDsts, 0 + MultimemDsts + MinDsts, 1 + MaxDsts,\n              /*PreOpSrcs=*/0>\n              (tid, tn, 0, nullptr, false,\n                /*nSrcs=*/1, [=]__device__(int s/*==0*/) -> void* {\n              return (char*)srcPtrs[src] + railAllOffset;\n            },\n                /*nDsts=*/outIsDst + nDsts, [=]__device__(int d) -> void* {\n              return d < outIsDst ? outbuf + userOneBeg\n                : work->regUsed ? (char*)dstPtrs[d - outIsDst] + userOneBeg\n                : (char*)dstPtrs[d - outIsDst] + railAllOffset;\n            }, delta);\n          }\n          railAllOffset += delta;\n          node += 1;\n        }\n        rail += 1;\n        src += 1;\n      } while (!BcastSendNotRecv && src < nRails);\n    }\n  };\n\n  __device__ __forceinline__ void run(int tid, int/*nthreads*/, struct ncclDevWorkColl* work) {\n    struct ncclNvls* nvls = &ncclShmem.channel.nvls;\n    int nelem;\n\n    const int nThreadsNetSend = work->oneNode ? 0 : (work->netRegUsed ? WARP_SIZE :  6 * WARP_SIZE);\n    const int nThreadsGather = work->regUsed ? roundUp(nvls->nHeads << 2, WARP_SIZE) : 8 * WARP_SIZE;\n    const int nThreadsBcast = NCCL_MAX_NTHREADS - nThreadsNetSend - nThreadsGather;\n\n    const int tidEndGather = nThreadsGather;\n    const int tidEndNetSend = tidEndGather + nThreadsNetSend;\n    const int tidEndBcast = tidEndNetSend + nThreadsBcast;\n\n    if (work->oneNode) {\n      const ssize_t rank = ncclShmem.comm.rank;\n      size_t count, gridOffset, channelCount, offset, chunkCount;\n      ncclCollCbdPart(work, ncclShmem.channelId, NCCL_PROTO_SIMPLE, sizeof(T), &count, &gridOffset, &channelCount, &chunkCount);\n      if (!work->regUsed) {\n        if (tid < tidEndGather) {\n          // Gather\n          using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL>;\n          Primitives<T, RedOp, FanAsymmetric<NCCL_MAX_NVLS_ARITY, 0>, /*Direct=*/0, Proto, 0>\n            prims(tid, nThreadsGather, nvls->up, NULL, NULL, work->recvbuff,\n              work->redOpArg, 0 * Proto::MaxGroupWidth, 1, 1);\n          for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n            offset = gridOffset + elemOffset;\n            nelem = min(chunkCount, channelCount - elemOffset);\n            prims.gather(offset, nvls->nHeads * count, nelem, count, -1, 0);\n          }\n          // coverity[overrun-call] => Coverity think prims.index can be greater than 1\n        } else if (tid < tidEndBcast) {\n          // Bcast through NVLS\n          using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL, 0, 1>;\n          Primitives<T, RedOp, FanAsymmetric<0, 1>, /*Direct=*/0, Proto, 0>\n            prims(tid - tidEndGather, nThreadsBcast, NULL, &nvls->down, work->sendbuff, NULL,\n              work->redOpArg, 3 * Proto::MaxGroupWidth, 0, 0);\n          for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n            offset = gridOffset + elemOffset;\n            nelem = min(chunkCount, channelCount - elemOffset);\n            prims.send(offset, nelem);\n          }\n          // coverity[overrun-call] => Coverity think prims.index can be greater than 1\n        }\n      } else {\n        if (tid < tidEndGather) {\n          using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL>;\n          Primitives<T, RedOp, FanSymmetric<NCCL_MAX_NVLS_ARITY>, /*Direct=*/0, Proto, 0>\n            prims(tid, nThreadsGather, nvls->up, nvls->up, NULL, NULL,\n              work->redOpArg, 0 * Proto::MaxGroupWidth, 1, 1);\n\n          /* used as sync */\n          prims.scatter(0, 0, 0, 0, -1, 0);\n\n          for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n            prims.gather(0, 0, 0, 0, -1, 0);\n          }\n        } else if (tid < tidEndBcast) {\n          using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL, 0, 1>;\n          Primitives<T, RedOp, FanSymmetric<1>, /*Direct=*/1, Proto, 0>\n            prims(tid - tidEndGather, nThreadsBcast, &nvls->down, &nvls->down, work->sendbuff, NULL,\n              work->redOpArg, 1 * Proto::MaxGroupWidth, 0, 0, work);\n          /* used as sync */\n          prims.recv(0, 0);\n\n          for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n            ssize_t inpOffset = gridOffset + elemOffset;\n            ssize_t outOffset = inpOffset + rank * count;\n            nelem = min(chunkCount, channelCount - elemOffset);\n            prims.directSend(inpOffset, outOffset, nelem);\n          }\n        }\n      }\n    } else {\n      // NVLS + IB SHARP\n      int nNodes = ncclShmem.comm.nNodes;\n      int part = ncclShmem.channelId - work->channelLo;\n      ssize_t countPerRank = work->collnet.count;\n      const int nChannels = work->channelHi - work->channelLo + 1;\n      ssize_t chunkCount = work->collnet.chunkCount;\n      if (tid < tidEndGather) {\n        using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL>;\n        Primitives<T, RedOp, FanAsymmetric<NCCL_MAX_NVLS_ARITY, 0>, /*Direct=*/1, Proto, 0>\n          prims(tid, nThreadsGather, nvls->up, nullptr, nullptr, work->recvbuff,\n            /*redOpArg=*/0, 1 * Proto::MaxGroupWidth, 1, 1, work);\n        for (ssize_t railGridOffset = 0; railGridOffset < nNodes * countPerRank; railGridOffset += nChannels * chunkCount) {\n          Scatterer</*BcastSendNotRecv=*/false> scat;\n          scat.work = work;\n          scat.chunkSize = chunkCount;\n          scat.railGridOffset = railGridOffset;\n          prims.template process</*Recv=*/1, /*Send=*/0>(scat);\n        }\n      } else {\n        if (work->netRegUsed) {\n          using ProtoSend = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL>;\n          using ProtoBcast = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL, 0, 1>;\n          int maxSteps = (int)divUp(nNodes * countPerRank, nChannels * chunkCount);\n          int curSteps = -1;\n          int postThread = tid - tidEndGather == 0 ? 1 : 0;\n          // for UB, we need to control the send speed to avoid net congestion.\n          // first unroll 2 steps, then unroll the rest steps when the data is received.\n          if (postThread) {\n            curSteps = min(2, maxSteps);\n            Primitives<T, RedOp, FanAsymmetric<0, 1>, /*Direct=*/1, ProtoSend, 0>::sendPeerNotify(nvls->out, 1, curSteps);\n          }\n          Primitives<T, RedOp, FanSymmetric<1>, /*Direct=*/1, ProtoBcast, 0>\n            prims(tid - tidEndGather, nThreadsNetSend + nThreadsBcast, &nvls->out, &nvls->down, nullptr, nullptr,\n              /*redOpArg=*/0, 2 * ProtoBcast::MaxGroupWidth, 0, 0, work);\n          for (ssize_t railGridOffset = 0; railGridOffset < nNodes * countPerRank; railGridOffset += nChannels * chunkCount) {\n            Scatterer</*BcastSendNotRecv=*/true> scat;\n            scat.work = work;\n            scat.chunkSize = chunkCount;\n            scat.railGridOffset = railGridOffset;\n            prims.template process</*Recv=*/1, /*Send=*/1>(scat);\n            if (postThread && curSteps < maxSteps) {\n              curSteps++;\n              Primitives<T, RedOp, FanAsymmetric<0, 1>, /*Direct=*/1, ProtoSend, 0>::sendPeerNotify(nvls->out, 1, 1);\n            }\n          }\n        } else {\n          if (tid < tidEndNetSend) {\n            using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL>;\n            Primitives<T, RedOp, FanAsymmetric<0, 1>, /*Direct=*/0, Proto, 0>\n              prims(tid - tidEndGather, nThreadsNetSend, nullptr, &nvls->out, work->sendbuff, nullptr,\n                /*redOpArg=*/0, 0 * Proto::MaxGroupWidth, 1, 1);\n            for (ssize_t railGridOffset = 0; railGridOffset < nNodes * countPerRank; railGridOffset += nChannels * chunkCount) {\n              ssize_t railAllBeg = railGridOffset + part * chunkCount;\n              ssize_t railAllEnd = min(railAllBeg + chunkCount, nNodes * countPerRank);\n              ssize_t railOneBeg = ncclShmem.comm.node * countPerRank;\n              ssize_t railOneEnd = railOneBeg + countPerRank;\n              ssize_t beg = max(railAllBeg, railOneBeg);\n              ssize_t end = min(railAllEnd, railOneEnd);\n              prims.send(beg - railOneBeg, max(ssize_t(0), end - beg));\n            }\n          } else {\n            using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL, 0, 1>;\n            Primitives<T, RedOp, FanSymmetric<1>, /*Direct=*/0, Proto, 0>\n              prims(tid - tidEndNetSend, nThreadsBcast, &nvls->out, &nvls->down, nullptr, nullptr,\n                /*redOpArg=*/0, 2 * Proto::MaxGroupWidth, 0, 0);\n            for (ssize_t railGridOffset = 0; railGridOffset < nNodes * countPerRank; railGridOffset += nChannels * chunkCount) {\n              Scatterer</*BcastSendNotRecv=*/true> scat;\n              scat.work = work;\n              scat.chunkSize = chunkCount;\n              scat.railGridOffset = railGridOffset;\n              prims.template process</*Recv=*/1, /*Send=*/1>(scat);\n            }\n          }\n        }\n      }\n    }\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllGather, T, RedOp, NCCL_ALGO_COLLNET_DIRECT, NCCL_PROTO_SIMPLE> {\n  template<bool BcastSendNotRecv>\n  struct Scatterer {\n    struct ncclDevWorkColl* work;\n    ssize_t chunkSize;\n    ssize_t railGridOffset;\n\n    template<int SlicePerChunk, int MinSrcs, int MaxSrcs, int MinDsts, int MaxDsts, int MultimemSrcs, int MultimemDsts>\n    __device__ __forceinline__ void operator()(\n        int tid, int tn, int slice, int maxSliceSize,\n        int nSrcs, void** srcPtrs, int nDsts, void** dstPtrs, int32_t* dstSizes, uint32_t sendDirectFlag, uint32_t recvDirectFlag\n      ) {\n      static_assert(SlicePerChunk==1, \"require: SlicePerChunk==1\");\n      static_assert(MaxDsts<=1 || MaxSrcs<=1, \"require: MaxDsts<=1 || MaxSrcs<=1\");\n\n      struct ncclDirect* direct = &ncclShmem.channel.collnetDirect;\n      int nNodes = ncclShmem.comm.nNodes;\n      int nRails = direct->nHeads;\n      int part = ncclShmem.channelId - work->channelLo;\n      char* inbuf = (char*)work->sendbuff;\n      char* outbuf = (char*)work->recvbuff;\n      ssize_t countPerRank = work->collnet.count*sizeof(T);\n      bool inPlace = (inbuf == outbuf + ncclShmem.comm.rank*countPerRank);\n\n      ssize_t railAllBeg = min(railGridOffset + part*chunkSize, nNodes*countPerRank);\n      ssize_t railAllEnd = min(railAllBeg + chunkSize, nNodes*countPerRank);\n      int railAllSize = railAllEnd - railAllBeg;\n      if (tid < nDsts) dstSizes[tid] = railAllSize;\n\n      int src = 0;\n      int rail;\n      if (BcastSendNotRecv) {\n        rail = direct->headRank;\n      } else {\n        rail = direct->headRank+1;\n        if (rail == nRails) rail = 0;\n      }\n      do {\n        int node = railAllBeg/countPerRank;\n        int railAllOffset = 0;\n        while (railAllOffset < railAllSize) {\n          ssize_t railOneBeg = node*countPerRank;\n          ssize_t railOneEnd = railOneBeg + countPerRank;\n          ssize_t railOneOffset = (railAllBeg+railAllOffset) - railOneBeg;\n          int delta = min(railAllEnd, railOneEnd) - (railAllBeg+railAllOffset);\n          int rank = ncclShmem.comm.collNetDenseToUserRank[node*nRails + rail];\n          ssize_t userOneBeg = rank*countPerRank + railOneOffset;\n          int outIsDst = (inPlace && rank == ncclShmem.comm.rank) ? 0 : 1;\n          if (nSrcs != 0 && outIsDst+nDsts != 0) {\n            reduceCopy<ncclCollUnroll(), USE_ACC, RedOp, T,\n                    /*MultimemSrcs,MinSrcs,MaxSrcs=*/0,1,1,\n                    /*MultimemDsts=*/0, 0+MinDsts, 1+MaxDsts,\n                    /*PreOpSrcs=*/0>\n            (tid, tn, 0, nullptr, false,\n             /*nSrcs=*/1, [=]__device__(int s/*==0*/) -> void* {\n               return work->regUsed && (recvDirectFlag & NCCL_P2P_READ) ? (char*)srcPtrs[src] + userOneBeg : (char*)srcPtrs[src] + railAllOffset;\n             },\n             /*nDsts=*/outIsDst+nDsts, [=]__device__(int d) -> void* {\n               return d < outIsDst ? outbuf + userOneBeg\n                                   : work->regUsed && (sendDirectFlag & NCCL_P2P_WRITE) ? (char*)dstPtrs[d-outIsDst] + userOneBeg\n                                   : (char*)dstPtrs[d-outIsDst] + railAllOffset;\n             },\n             delta);\n          }\n          railAllOffset += delta;\n          node += 1;\n        }\n        src += 1;\n        rail += 1;\n        if (rail == nRails) rail = 0;\n      } while (!BcastSendNotRecv && src < nRails-1);\n    }\n  };\n\n  __device__ __forceinline__ void run(int tid, int/*nthreads*/, struct ncclDevWorkColl* work) {\n    const int part = ncclShmem.channelId - work->channelLo;\n    const int nChannels = work->channelHi - work->channelLo + 1;\n    struct ncclDirect* direct = &ncclShmem.channel.collnetDirect;\n    int const &nNodes = ncclShmem.comm.nNodes;\n    ssize_t countPerRank = work->collnet.count;\n    size_t chunkSize = work->collnet.chunkCount;\n    const int hasDn = (direct->down[0] >= 0) ? 1 : 0;\n    bool isMultiRail = (direct->nHeads > 1);\n    int nWarps1 = 1;\n    int nWarps2 = (isMultiRail ? 2 : 1);\n    int nWarps3 = (isMultiRail ? 2 : 0);\n    float denom = float(work->nWarps)/float(nWarps1+nWarps2+nWarps3);\n    nWarps3 = int(denom*nWarps3);\n    nWarps2 = int(denom*nWarps2);\n    nWarps1 = work->nWarps - (nWarps2+nWarps3);\n\n    using Proto = ProtoSimple<1, 1>;\n\n    int tn = nWarps1*WARP_SIZE;\n    if (tid < tn) {\n      if (work->netRegUsed) {\n        if (tid == 0) {\n          // If this rank has local peers (i.e, hasDn == true), we cannot offload all data to network.\n          // In this case, steps should be computed based on chunkSize and so on; otherwise, we just\n          // bump the step by 1 to kick off collnet progress.\n          int steps = hasDn ? (int)divUp(nNodes * countPerRank, nChannels * chunkSize) : 1;\n          Primitives<T, RedOp, FanAsymmetric<0, 1>, /*Direct=*/0, Proto, 0>::sendPeerNotify(direct->out, 1, steps);\n        }\n        __syncwarp();\n      } else {\n        // Phase 1: send to network\n        Primitives<T, RedOp, FanAsymmetric<0, 1>, /*Direct=*/0, Proto, 0>\n          prims(tid, tn, nullptr, &direct->out, work->sendbuff, nullptr,\n            /*redOpArg=*/0, 0 * Proto::MaxGroupWidth, 1, 1);\n        for (ssize_t railGridOffset = 0; railGridOffset < nNodes * countPerRank; railGridOffset += nChannels * chunkSize) {\n          ssize_t railAllBeg = railGridOffset + part * chunkSize;\n          ssize_t railAllEnd = min(railAllBeg + chunkSize, nNodes * countPerRank);\n          ssize_t railOneBeg = ncclShmem.comm.node * countPerRank;\n          ssize_t railOneEnd = railOneBeg + countPerRank;\n          ssize_t beg = max(railAllBeg, railOneBeg);\n          ssize_t end = min(railAllEnd, railOneEnd);\n          prims.send(beg - railOneBeg, max(ssize_t(0), end - beg));\n        }\n      }\n      return;\n    }\n    tid -= tn;\n\n    tn = nWarps2*WARP_SIZE;\n    if (tid < tn) {\n      if (work->netRegUsed && !hasDn) {\n        if (tid == 0) {\n          Primitives<T, RedOp, FanAsymmetric<1, NCCL_MAX_DIRECT_ARITY>, /*Direct=*/0, Proto, 0>::recvPeerNotify(direct->out, 0, 1);\n        }\n        __syncwarp();\n      } else {\n        // Phase 2: Recv network -> deposit output + send to bcast\n        Primitives<T, RedOp, FanAsymmetric<1, NCCL_MAX_DIRECT_ARITY>, /*Direct=*/1, Proto, 0>\n          prims(tid, tn, &direct->out, direct->heads + 1, nullptr, work->recvbuff,\n            /*redOpArg=*/0, 1 * Proto::MaxGroupWidth, 0, 0, work);\n        for (ssize_t railGridOffset = 0; railGridOffset < nNodes * countPerRank; railGridOffset += nChannels * chunkSize) {\n          Scatterer</*BcastSendNotRecv=*/true> scat;\n          scat.work = work;\n          scat.chunkSize = chunkSize;\n          scat.railGridOffset = railGridOffset;\n          prims.template process</*Recv=*/1, /*Send=*/1>(scat, work->direct, 0);\n        }\n      }\n      return;\n    }\n    tid -= tn;\n\n    tn = nWarps3*WARP_SIZE;\n    if (tid < tn) {\n      // Phase 3: Recv bcast -> deposit output\n      Primitives<T, RedOp, FanAsymmetric<NCCL_MAX_DIRECT_ARITY, 0>, /*Direct=*/1, Proto, 0>\n        prims(tid, tn, direct->heads+1, nullptr, nullptr, work->recvbuff,\n              /*redOpArg=*/0, 2*Proto::MaxGroupWidth, 0, 0, work);\n      for (ssize_t railGridOffset=0; railGridOffset < nNodes*countPerRank; railGridOffset += nChannels*chunkSize) {\n        Scatterer</*BcastSendNotRecv=*/false> scat;\n        scat.work = work;\n        scat.chunkSize = chunkSize;\n        scat.railGridOffset = railGridOffset;\n        prims.template process</*Recv=*/1, /*Send=*/0>(scat, 0, work->direct);\n      }\n      return;\n    }\n  }\n};\n"
  },
  {
    "path": "src/device/all_reduce.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"device.h\"\n#include \"collectives.h\"\n#include \"primitives.h\"\n\n#if defined(ENABLE_NPKIT)\n#include \"npkit/npkit.h\"\n#endif\n\nnamespace {\n  template<typename T, typename RedOp, typename Proto, int RCCLMetadata>\n#if defined(USE_INDIRECT_FUNCTION_CALL) && !defined(__gfx942__) && !defined(__gfx950__)\n  __device__ void runRing(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#else\n  __device__ __attribute__((noinline)) void runRing(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#endif\n#ifdef ENABLE_WARP_SPEED\n    int warp = threadIdx.x / WARP_SIZE;\n    ncclRing *ring = &ncclShmem.warpChannel[warp].ring;\n#else\n    ncclRing *ring = &ncclShmem.channel.ring;\n#endif\n    int ringIx = ring->index;\n\n    const int nranks = ncclShmem.comm.nRanks;\n#if defined(ENABLE_NPKIT)\n    const int bid = ncclShmem.channelId - work->channelLo;\n    int npKitCtxIdx = bid; // unused variable - compiler warning\n#endif\n    ssize_t size;\n    ssize_t gridOffset;\n    ssize_t channelCount;\n    ssize_t chunkCount;\n#ifdef ENABLE_WARP_SPEED\n    ncclCollCbdPart(work, ncclShmem.warpChannelId[warp], Proto::Id, sizeof(T), &size, &gridOffset, &channelCount, &chunkCount);\n#else\n    ncclCollCbdPart(work, ncclShmem.channelId, Proto::Id, sizeof(T), &size, &gridOffset, &channelCount, &chunkCount);\n#endif\n    const ssize_t loopCount = nranks * chunkCount;\n    ssize_t offset;\n    int nelem;\n    int chunk;\n\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_CPU)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_CPU, 0, 0, NPKIT_GET_CPU_TIMESTAMP_FROM_BLOCK,\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_GPU)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_GPU, 0, 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_RING_ENTRY, size*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    // Coverity reports that the callee treats &ring->next as an array.  However, due to the use of\n    // FanSymmetric<1>, only the first element is ever accessed, so it's fine.\n    // coverity[callee_ptr_arith:FALSE]\n    Primitives<T, RedOp, FanSymmetric<1>, 0, Proto, 0, false, RCCLMetadata, Pipeline, USE_ACC> prims\n      (tid, nthreads, &ring->prev, &ring->next, work->sendbuff, work->recvbuff, work->redOpArg, 0, work->connIndex, work->connIndex, work);\n\n#if defined(ENABLE_NPKIT)\n    if (tid == 0) {\n      prims.npKitCtxIdx = npKitCtxIdx;\n    }\n#endif\n\n    for (ssize_t elemOffset = 0; elemOffset < channelCount; elemOffset += loopCount) {\n      ssize_t remCount = channelCount - elemOffset;\n      ssize_t chunkOffset;\n\n      if (remCount < loopCount) chunkCount = alignUp(divUp(remCount, nranks), 16/sizeof(T));\n\n      auto modRanks = [&]__device__(int r)->int {\n        return r - (r >= nranks ? nranks : 0);\n      };\n\n      // step 0: push data to next GPU\n      chunk = modRanks(ringIx + nranks - 1);\n      chunkOffset = chunk * chunkCount;\n      offset = gridOffset + elemOffset + chunkOffset;\n      nelem = (int)min(chunkCount, remCount - chunkOffset);\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_SEND_ENTRY)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_RING_SEND_ENTRY, nelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n        prims.npKitDataProcessTotalTime = 0;\n      }\n#endif\n\n      prims.directSend(offset, offset, nelem);\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_SEND_EXIT)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_RING_SEND_EXIT, nelem*sizeof(T), prims.npKitDataProcessTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n\n      // k-2 steps: reduce and copy to next GPU\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_RECV_REDUCE_SEND_ENTRY)\n      if (tid == 0 && nranks > 2) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_RING_RECV_REDUCE_SEND_ENTRY, nelem*(nranks-2)*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n        prims.npKitDataProcessTotalTime = 0;\n      }\n#endif\n\n      for (int j = 2; j < nranks; ++j) {\n        chunk = modRanks(ringIx + nranks - j);\n        chunkOffset = chunk * chunkCount;\n        offset = gridOffset + elemOffset + chunkOffset;\n        nelem = (int)min(chunkCount, remCount - chunkOffset);\n        prims.directRecvReduceDirectSend(offset, offset, nelem);\n      }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_RECV_REDUCE_SEND_EXIT)\n      if (tid == 0 && nranks > 2) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_RING_RECV_REDUCE_SEND_EXIT, nelem*(nranks-2)*sizeof(T), prims.npKitDataProcessTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n\n      // step k-1: reduce this buffer and data, which will produce the final\n      // result that we store in this data and push to the next GPU\n      chunk = ringIx + 0;\n      chunkOffset = chunk * chunkCount;\n      offset = gridOffset + elemOffset + chunkOffset;\n      nelem = (int)min(chunkCount, remCount - chunkOffset);\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_REDUCE_COPY_SEND_ENTRY)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_REDUCE_COPY_SEND_ENTRY, nelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n        prims.npKitDataProcessTotalTime = 0;\n      }\n#endif\n\n      prims.directRecvReduceCopyDirectSend(offset, offset, nelem, /*postOp=*/true);\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_REDUCE_COPY_SEND_EXIT)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_REDUCE_COPY_SEND_EXIT, nelem*sizeof(T), prims.npKitDataProcessTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_COPY_SEND_ENTRY)\n      if (tid == 0 && nranks > 2) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_COPY_SEND_ENTRY, nelem*(nranks-2)*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n        prims.npKitDataProcessTotalTime = 0;\n      }\n#endif\n\n      // k-2 steps: copy to next GPU\n      for (int j = 1; j < nranks - 1; ++j) {\n        chunk = modRanks(ringIx + nranks - j);\n        chunkOffset = chunk * chunkCount;\n        offset = gridOffset + elemOffset + chunkOffset;\n        nelem = (int)min(chunkCount, remCount - chunkOffset);\n        prims.directRecvCopyDirectSend(offset, offset, nelem);\n      }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_COPY_SEND_EXIT)\n      if (tid == 0 && nranks > 2) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_COPY_SEND_EXIT, nelem*(nranks-2)*sizeof(T), prims.npKitDataProcessTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_ENTRY)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_ENTRY, nelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n        prims.npKitDataProcessTotalTime = 0;\n      }\n#endif\n\n      // Make final copy from buffer to dest.\n      chunk = modRanks(ringIx + 1);\n      chunkOffset = chunk * chunkCount;\n      offset = gridOffset + elemOffset + chunkOffset;\n      nelem = (int)min(chunkCount, remCount - chunkOffset);\n\n      prims.directRecv(offset, nelem);\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_EXIT)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_EXIT, nelem*sizeof(T), prims.npKitDataProcessTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n\n    }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_RING_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_RING_EXIT, size*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n  }\n\n  template<typename T, typename RedOp, typename Proto>\n#if defined(USE_INDIRECT_FUNCTION_CALL) && !defined(__gfx942__) && !defined(__gfx950__)\n  __device__ void runTreeUpDown(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#else\n  __device__ __attribute__((noinline)) void runTreeUpDown(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#endif\n#if defined(ENABLE_NPKIT)\n    const int bid = ncclShmem.channelId - work->channelLo;\n    int npKitCtxIdx = bid; // unused variable - compiler warning\n#endif\n    ncclTree *tree = &ncclShmem.channel.tree;\n    size_t size;\n    size_t gridOffset;\n    size_t channelCount;\n    size_t chunkCount;\n    ncclCollCbdPart(work, ncclShmem.channelId, Proto::Id, sizeof(T), &size, &gridOffset, &channelCount, &chunkCount);\n    size_t offset;\n    int nelem;\n\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_CPU)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_CPU, 0, 0, NPKIT_GET_CPU_TIMESTAMP_FROM_BLOCK,\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_GPU)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_GPU, 0, 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_ENTRY, size*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n    { // Reduce : max number of recv is 3, max number of send is 1 (binary tree + local)\n      Primitives<T, RedOp, FanAsymmetric<NCCL_MAX_DEV_ARITY, 1>, /*Direct=*/0, Proto, 0, false, 0, Pipeline, USE_ACC> prims\n        (tid, nthreads, tree->down, &tree->up, work->sendbuff, work->recvbuff, work->redOpArg, 0, 0, 0, work);\n\n#if defined(ENABLE_NPKIT)\n      if (tid == 0) {\n        prims.npKitCtxIdx = npKitCtxIdx;\n      }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_REDUCE_ENTRY)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_REDUCE_ENTRY, size*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n        prims.npKitDataProcessTotalTime = 0;\n      }\n#endif\n\n      if (tree->up == -1) {\n        for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n          offset = gridOffset + elemOffset;\n          nelem = min(chunkCount, channelCount - elemOffset);\n          prims.directRecvReduceCopy(offset, offset, nelem, /*postOp=*/true);\n        }\n      }\n      else if (tree->down[0] == -1) {\n        for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n          offset = gridOffset + elemOffset;\n          nelem = min(chunkCount, channelCount - elemOffset);\n          prims.directSend(offset, offset, nelem);\n        }\n      }\n      else {\n        for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n          offset = gridOffset + elemOffset;\n          nelem = min(chunkCount, channelCount - elemOffset);\n          prims.directRecvReduceDirectSend(offset, offset, nelem);\n        }\n      }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_REDUCE_EXIT)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_REDUCE_EXIT, size*sizeof(T), prims.npKitDataProcessTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n\n    }\n\n    { // Broadcast : max number of recv is 1, max number of send is 3 (binary tree + local)\n      Primitives<T, RedOp, FanAsymmetric<1, NCCL_MAX_DEV_ARITY>, /*Direct=*/0, Proto, 0, false, 0, Pipeline, USE_ACC> prims\n        (tid, nthreads, &tree->up, tree->down, work->sendbuff, work->recvbuff, work->redOpArg, 0, 0, 0, work);\n\n#if defined(ENABLE_NPKIT)\n      if (tid == 0) {\n        prims.npKitCtxIdx = npKitCtxIdx;\n      }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_BROADCAST_ENTRY)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_BROADCAST_ENTRY, size*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n        prims.npKitDataProcessTotalTime = 0;\n      }\n#endif\n\n      if (tree->up == -1) {\n        for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n          offset = gridOffset + elemOffset;\n          nelem = min(chunkCount, channelCount - elemOffset);\n          prims.directSendFromOutput(offset, nelem);\n        }\n      }\n      else if (tree->down[0] == -1) {\n        for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n          offset = gridOffset + elemOffset;\n          nelem = min(chunkCount, channelCount - elemOffset);\n          prims.directRecv(offset, nelem);\n        }\n      }\n      else {\n        for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n          offset = gridOffset + elemOffset;\n          nelem = min(chunkCount, channelCount - elemOffset);\n          prims.directRecvCopyDirectSend(offset, offset, nelem);\n        }\n      }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_BROADCAST_EXIT)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_BROADCAST_EXIT, size*sizeof(T), prims.npKitDataProcessTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n\n    }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_EXIT, size*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n  }\n\n  template<typename T, typename RedOp, typename Proto>\n#if defined(USE_INDIRECT_FUNCTION_CALL) && !defined(__gfx942__) && !defined(__gfx950__)\n  __device__ void runTreeSplit(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#else\n  __device__ __attribute__((noinline)) void runTreeSplit(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#endif\n#if defined(ENABLE_NPKIT)\n    const int bid = ncclShmem.channelId - work->channelLo; // unused variable - compiler warning\n#endif\n    ncclTree *tree = &ncclShmem.channel.tree;\n    size_t size;\n    size_t gridOffset;\n    size_t channelCount;\n    size_t chunkCount;\n    ncclCollCbdPart(work, ncclShmem.channelId, Proto::Id, sizeof(T), &size, &gridOffset, &channelCount, &chunkCount);\n    size_t offset;\n    int nelem;\n    int nthreadsSplit;\n    if (Proto::Id == NCCL_PROTO_SIMPLE) {\n      nthreadsSplit = nthreads/2;\n      if (nthreadsSplit >= 256) nthreadsSplit += 64;\n    } else { // LL & LL128\n      // Receiving from up to 3 sources is more compute intensive than sending\n      // to 3 dests. Use 70% for reduce and 30% for bcast.\n      nthreadsSplit = (nthreads*7/(10*WARP_SIZE))*WARP_SIZE;\n    }\n\n#if defined(ENABLE_NPKIT)\n    bool isNpKitThread = false;\n    int npKitCtxIdx = 0;\n    if (threadIdx.x == 0) {\n      isNpKitThread = true;\n      npKitCtxIdx = bid * 2;\n    } else if (tree->up != -1 && threadIdx.x == nthreadsSplit) {\n      isNpKitThread = true;\n      npKitCtxIdx = bid * 2 + 1;\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_CPU)\n    if (isNpKitThread) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_CPU, 0, 0, NPKIT_GET_CPU_TIMESTAMP_FROM_BLOCK,\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_GPU)\n    if (isNpKitThread) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_GPU, 0, 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_ENTRY)\n    if (isNpKitThread) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_ENTRY, size*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n    if (tree->up == -1) {\n      // Reduce and broadcast. Max number of recv is 2, max number of send is 2\n      Primitives<T, RedOp, FanSymmetric<NCCL_MAX_DEV_ARITY>, /*Direct=*/0, Proto, 0, false, 0, Pipeline, USE_ACC>\n        prims(tid, nthreads, tree->down, tree->down, work->sendbuff, work->recvbuff, work->redOpArg, 0, 0, 0, work);\n\n#if defined(ENABLE_NPKIT)\n      if (isNpKitThread) {\n        prims.npKitCtxIdx = npKitCtxIdx;\n      }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_BROADCAST_ENTRY)\n      if (isNpKitThread) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_BROADCAST_ENTRY, size*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n        prims.npKitDataProcessTotalTime = 0;\n      }\n#endif\n\n      for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n        offset = gridOffset + elemOffset;\n        nelem = min(chunkCount, channelCount - elemOffset);\n        prims.directRecvReduceCopyDirectSend(offset, offset, nelem, /*doPost=*/true);\n      }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_BROADCAST_EXIT)\n      if (isNpKitThread) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_BROADCAST_EXIT, size*sizeof(T), prims.npKitDataProcessTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n\n    }\n    else if (tid < nthreadsSplit) {\n      /* Reduce up. Max number of recv is 3, max number of send is 1 (binary tree + local).\n      * Why Direct=1????\n      * Answer: Because despite not performing any direct operations, the ctor\n      * must assume Direct so that it can exchange direct pointers with remote ctors\n      * that are Direct, otherwise it hangs. A cleaner solution would be to seperate\n      * into DirectRecv and DirectSend capabilities, this ctor would have both=0,\n      * but the ctor above for tree roots would be DirectRecv=0 DirectSend=1.\n      */\n      // Coverity reports that the callee treats &tree->up as an array.  However, due to the use of\n      // FanAsymmetric<n, 1>, only the first element is ever accessed, so it's fine.\n      // coverity[callee_ptr_arith:FALSE]\n      Primitives<T, RedOp, FanAsymmetric<NCCL_MAX_DEV_ARITY, 1>, /*Direct=*/0, Proto, 0, false, 0, Pipeline, USE_ACC>\n        prims(tid, nthreadsSplit, tree->down, &tree->up, work->sendbuff, work->recvbuff, work->redOpArg, 0*Proto::MaxGroupWidth, 0, 0, work);\n\n#if defined(ENABLE_NPKIT)\n      if (isNpKitThread) {\n        prims.npKitCtxIdx = npKitCtxIdx;\n      }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_ENTRY)\n      if (isNpKitThread) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_ENTRY, size*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n        prims.npKitDataProcessTotalTime = 0;\n      }\n#endif\n\n      if (tree->down[0] == -1) {\n        for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n          offset = gridOffset + elemOffset;\n          nelem = min(chunkCount, channelCount - elemOffset);\n          prims.directSend(offset, offset, nelem);\n        }\n      }\n      else {\n        for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n          offset = gridOffset + elemOffset;\n          nelem = min(chunkCount, channelCount - elemOffset);\n          prims.directRecvReduceDirectSend(offset, offset, nelem);\n        }\n      }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_EXIT)\n      if (isNpKitThread) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_EXIT, size*sizeof(T), prims.npKitDataProcessTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n\n    }\n    else {\n      // Broadcast down. Max number of recv is 1, max number of send is 3 (binary tree + local)\n      // Coverity reports that the callee treats &tree->up as an array.  However, due to the use of\n      // FanAsymmetric<1, n>, only the first element is ever accessed, so it's fine.\n      // coverity[callee_ptr_arith:FALSE]\n      Primitives<T, RedOp, FanAsymmetric<1, NCCL_MAX_DEV_ARITY>, /*Direct=*/0, Proto, 0, false, 0, Pipeline, USE_ACC>\n        prims(tid-nthreadsSplit, nthreads-nthreadsSplit, &tree->up, tree->down, work->sendbuff, work->recvbuff,\n            work->redOpArg, 1*Proto::MaxGroupWidth, 0, 0, work);\n\n#if defined(ENABLE_NPKIT)\n      if (isNpKitThread) {\n        prims.npKitCtxIdx = npKitCtxIdx;\n      }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_BROADCAST_ENTRY)\n      if (isNpKitThread) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_BROADCAST_ENTRY, size*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n        prims.npKitDataProcessTotalTime = 0;\n      }\n#endif\n\n      if (tree->down[0] == -1) {\n        for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n          offset = gridOffset + elemOffset;\n          nelem = min(chunkCount, channelCount - elemOffset);\n          prims.directRecv(offset, nelem);\n        }\n      }\n      else {\n        for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n          offset = gridOffset + elemOffset;\n          nelem = min(chunkCount, channelCount - elemOffset);\n          prims.directRecvCopyDirectSend(offset, offset, nelem);\n        }\n      }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_BROADCAST_EXIT)\n      if (isNpKitThread) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_BROADCAST_EXIT, size*sizeof(T), prims.npKitDataProcessTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n\n    }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_EXIT)\n    if (isNpKitThread) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_EXIT, size*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n  }\n}\n\n#if defined(__gfx942__) || defined(__gfx950__) // Use a single slice per simple primitive for a single node on some GFX9 devices.\n#define rcclAllReduceRunRingSimpleProtoImpl(tid, nthreads, work) \\\n  if(work->rcclUseOneSlice){ \\\n    using Proto = ProtoSimple<ALLREDUCE_CHUNKSTEPS/ALLREDUCE_SLICESTEPS_SINGLE_NODE, ALLREDUCE_SLICESTEPS_SINGLE_NODE>; \\\n    runRing<T, RedOp, Proto, RCCL_METADATA_EMPTY>(tid, nthreads, work); \\\n  } \\\n  else{ \\\n    using Proto = ProtoSimple<ALLREDUCE_CHUNKSTEPS/ALLREDUCE_SLICESTEPS, ALLREDUCE_SLICESTEPS>; \\\n    runRing<T, RedOp, Proto, RCCL_METADATA_EMPTY>(tid, nthreads, work); \\\n  }\n#else\n#define rcclAllReduceRunRingSimpleProtoImpl(tid, nthreads, work) \\\n  using Proto = ProtoSimple<ALLREDUCE_CHUNKSTEPS/ALLREDUCE_SLICESTEPS, ALLREDUCE_SLICESTEPS>; \\\n  runRing<T, RedOp, Proto, RCCL_METADATA_EMPTY>(tid, nthreads, work);\n#endif\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllReduce, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_SIMPLE> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n   rcclAllReduceRunRingSimpleProtoImpl(tid, nthreads, work);\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllReduce, T, RedOp, NCCL_ALGO_TREE, NCCL_PROTO_SIMPLE> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    using Proto = ProtoSimple<1, 1>;\n    if (work->acc != nullptr) {\n      runTreeSplit<T, RedOp, Proto>(tid, nthreads, work);\n    } else {\n      runTreeUpDown<T, RedOp, Proto>(tid, nthreads, work);\n    }\n    // Check-here\n    // #if CUDART_VERSION >= 11020 && CUDART_VERSION < 11040 && __CUDA_ARCH__ >= 800\n    //   runTreeUpDown<T, RedOp, ProtoSimple<1, 1>>(tid, nthreads, work);\n    // #else\n    //   runTreeSplit<T, RedOp, ProtoSimple<1, 1>>(tid, nthreads, work);\n    // #endif\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllReduce, T, RedOp, NCCL_ALGO_COLLNET_DIRECT, NCCL_PROTO_SIMPLE> {\n  __device__ __forceinline__ void run(int tid, int/*nthreads*/, struct ncclDevWorkColl* work) {\n    static constexpr int COLLNET_COPY_THREADS = 64;\n    const int bid = ncclShmem.channelId - work->channelLo;\n    const int nChannels = work->channelHi - work->channelLo + 1;\n    struct ncclDirect* direct = &ncclShmem.channel.collnetDirect;\n    const ssize_t chunkSize = work->collnet.chunkCount;\n    const ssize_t size = work->collnet.count;\n    const ssize_t loopSize = nChannels*direct->nHeads*chunkSize;\n\n    const int hasUp = (direct->up[0] >= 0) ? 1 : 0;\n    const int hasDn = (direct->down[0] >= 0) ? 1 : 0;\n    const int nThreadsScatter = WARP_SIZE + ((hasUp && hasDn) ? COLLNET_COPY_THREADS : hasUp ? 2*COLLNET_COPY_THREADS : 0);\n    const int nThreadsGather  =             ((hasUp && hasDn) ? COLLNET_COPY_THREADS : hasUp ? 1*COLLNET_COPY_THREADS : 0);\n    const int nThreadsBcast   = WARP_SIZE + ((hasUp && hasDn) ? COLLNET_COPY_THREADS : hasUp ? 0 : 1*COLLNET_COPY_THREADS);\n    const int nThreadsReduce = work->nWarps*WARP_SIZE - nThreadsScatter - nThreadsGather - nThreadsBcast;\n    const int tidStartBcast = nThreadsGather;\n    const int tidStartScatter = tidStartBcast + nThreadsBcast;\n    const int tidStartReduce = tidStartScatter + nThreadsScatter;\n    using Proto = ProtoSimple<1, 1>;\n\n    if (tid >= tidStartScatter && tid < tidStartReduce && hasUp) {\n      // Scatter\n      Primitives<T, RedOp, FanAsymmetric<0, NCCL_MAX_DIRECT_ARITY>, /*Direct=*/1, Proto, 0>\n        prims(tid-tidStartScatter, nThreadsScatter, NULL, direct->up, work->sendbuff, work->recvbuff,\n           work->redOpArg, 2*Proto::MaxGroupWidth, 1, 1, work);\n      ssize_t offsetBase, peerOffset;\n      ssize_t maxNelems;\n      if (work->netRegUsed) {\n        offsetBase = bid * chunkSize;\n        maxNelems = size;  // never be the min\n        peerOffset = nChannels * chunkSize;\n      } else {\n        offsetBase = bid * direct->nHeads * chunkSize;\n        maxNelems = direct->nHeads * chunkSize;\n        peerOffset = chunkSize;\n      }\n      // For collnet UB case, we need to organize buffers differently for contiguous buffer access\n      // across channels. This access pattern should be consistent with code in coll_net.cc\n      for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n        ssize_t offset = gridOffset + offsetBase;\n        ssize_t nelem = min(maxNelems, size - offset);\n        prims.scatter(offset, nelem, chunkSize, peerOffset, direct->headRank, direct->shift);\n      }\n      // Coverity complains about a possible overrun inside the destructor of \"prims\", but that's actually\n      // a false positive.\n      // coverity[overrun-call:FALSE]\n    } else if (tid >= tidStartReduce && direct->out != -1) {\n      if (hasDn) {\n        // Reduce, send to network\n        Primitives<T, RedOp, FanAsymmetric<NCCL_MAX_DIRECT_ARITY, 1>, /*Direct=*/1, Proto, 0>\n          prims(tid-tidStartReduce, nThreadsReduce, direct->down, &direct->out, work->sendbuff, work->recvbuff,\n             work->redOpArg, 3*Proto::MaxGroupWidth, 1, 1, work);\n        for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n          ssize_t offset = work->netRegUsed ? gridOffset + (bid + direct->headRank * nChannels) * chunkSize\n                                    : gridOffset + (bid * direct->nHeads + direct->headRank) * chunkSize;\n          int nelem = min(chunkSize, size - offset);\n          prims.recvReduceDirectSend(offset, offset, nelem);\n        }\n      } else {\n        // Directly send to network\n        if (work->netRegUsed) {\n          if (tid == tidStartReduce) {\n            Primitives<T, RedOp, FanAsymmetric<0, 1>, /*Direct=*/0, Proto, 0>::sendPeerNotify(direct->out, 1, 1);\n          }\n          __syncwarp();\n        } else {\n          Primitives<T, RedOp, FanAsymmetric<0, 1>, /*Direct=*/0, Proto, 0>\n          prims(tid-tidStartReduce, nThreadsReduce, nullptr, &direct->out, work->sendbuff, work->recvbuff,\n            work->redOpArg, 3*Proto::MaxGroupWidth, 1, 1);\n          for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n            ssize_t offset = gridOffset + (bid * direct->nHeads + direct->headRank) * chunkSize;\n            int nelem = min(chunkSize, size - offset);\n            prims.send(offset, nelem);\n          }\n        }\n      }\n    } else if (tid < tidStartBcast && hasUp) {\n      // Gather\n      Primitives<T, RedOp, FanAsymmetric<NCCL_MAX_DIRECT_ARITY, 0>, /*Direct=*/0, Proto, 0>\n        prims(tid, nThreadsGather, direct->up, NULL, work->sendbuff, work->recvbuff,\n           work->redOpArg, 0*Proto::MaxGroupWidth, 0, 0, work);\n      ssize_t offsetBase, peerOffset;\n      ssize_t maxNelems;\n      if (work->netRegUsed) {\n        offsetBase = bid * chunkSize;\n        maxNelems = size;  // never be the min\n        peerOffset = nChannels * chunkSize;\n      } else {\n        offsetBase = bid * direct->nHeads * chunkSize;\n        maxNelems = direct->nHeads * chunkSize;\n        peerOffset = chunkSize;\n      }\n      for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n        ssize_t offset = gridOffset + offsetBase;\n        ssize_t nelem = min(maxNelems, size - offset);\n        prims.directGather(offset, nelem, chunkSize, peerOffset, direct->headRank, direct->shift);\n      }\n    } else if (tid >= tidStartBcast && tid < tidStartScatter && direct->out != -1) {\n      if (hasDn) {\n        // Recv from network, broadcast\n        // Coverity complains about a possible overrun inside the class below, but that's actually\n        // a false positive.\n        // coverity[identity_transfer:FALSE]\n        Primitives<T, RedOp, FanAsymmetric<1, NCCL_MAX_DIRECT_ARITY>, /*Direct=*/0, Proto, 0>\n          prims(tid-tidStartBcast, nThreadsBcast, &direct->out, direct->down, work->sendbuff, work->recvbuff,\n            work->redOpArg, 1*Proto::MaxGroupWidth, 0, 0, work);\n        for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n          ssize_t offset = work->netRegUsed ? gridOffset + (bid + direct->headRank * nChannels) * chunkSize\n                                            : gridOffset + (bid * direct->nHeads + direct->headRank) * chunkSize;\n          int nelem = min(chunkSize, size - offset);\n          prims.directRecvCopyDirectSend(offset, offset, nelem, /*postOp=*/true);\n        }\n      } else {\n        if (work->netRegUsed) {\n          if (tid == tidStartBcast) {\n            Primitives<T, RedOp, FanAsymmetric<1, 0>, /*Direct=*/0, Proto, 0>::recvPeerNotify(direct->out, 0, 1);\n          }\n          __syncwarp();\n        } else {\n          // Recv from network (no post thread needed)\n          Primitives<T, RedOp, FanAsymmetric<1, 0>, /*Direct=*/0, Proto, 0>\n            prims(tid - tidStartBcast, nThreadsBcast, &direct->out, nullptr, work->sendbuff, work->recvbuff,\n              work->redOpArg, 1 * Proto::MaxGroupWidth, 0, 0);\n          for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n            ssize_t offset = gridOffset + (bid * direct->nHeads + direct->headRank) * chunkSize;\n            int nelem = min(chunkSize, size - offset);\n            prims.recv(offset, nelem, /*postOp=*/true);\n          }\n        }\n      }\n    }\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllReduce, T, RedOp, NCCL_ALGO_NVLS, NCCL_PROTO_SIMPLE> {\n  __device__ __forceinline__ void run(int tid, int/*nthreads*/, struct ncclDevWorkColl* work) {\n    struct ncclNvls* nvls = &ncclShmem.channel.nvls;\n    const bool hasOut = nvls->out != -1;\n    const int nranks = ncclShmem.comm.nRanks;\n    const int totalWarps = NCCL_MAX_NTHREADS/WARP_SIZE;\n    const int bcastWarps = hasOut ? (work->regUsed ? ((totalWarps - 2) >> 1) - 1 : 2) : 0;\n    const int reduceWarps = work->regUsed ? (totalWarps - bcastWarps - 2) : (hasOut ? 3 : nranks <= 6 ? 7 : 5);\n    const int scatterWarps = work->regUsed ? 1 : (totalWarps - reduceWarps - bcastWarps + 1) >> 1;\n    const int gatherWarps = work->regUsed ? 1 : (totalWarps - reduceWarps - bcastWarps) >> 1;\n\n    const int nThreadsScatter = scatterWarps*WARP_SIZE;\n    const int nThreadsGather  = gatherWarps*WARP_SIZE;\n    const int nThreadsReduce = reduceWarps*WARP_SIZE;\n    const int nThreadsBcast  = (bcastWarps)*WARP_SIZE;\n    const int tidEndScatter = nThreadsScatter;\n    const int tidEndGather = tidEndScatter + nThreadsGather;\n    const int tidEndReduce = tidEndGather + nThreadsReduce;\n    const int tidEndBcast = tidEndReduce + nThreadsBcast;\n\n    if (work->oneNode) {\n      ssize_t gridOffset, channelCount, chunkSize;\n      ncclCollCbdPart(work, ncclShmem.channelId, NCCL_PROTO_SIMPLE, sizeof(T), (ssize_t*)nullptr, &gridOffset, &channelCount, &chunkSize);\n      const ssize_t loopCount = nvls->nHeads * chunkSize;\n      int remCount = channelCount%(nvls->nHeads*chunkSize);\n      int lastChunkSize = alignUp(divUp(remCount, nvls->nHeads), 16384/sizeof(T));\n\n      if (tid < tidEndScatter) {\n        // Scatter\n        using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL>;\n        Primitives<T, RedOp, FanAsymmetric<0, NCCL_MAX_NVLS_ARITY>, /*Direct=*/0, Proto, 0>\n          prims(tid, nThreadsScatter, NULL, nvls->up, work->sendbuff, NULL,\n            work->redOpArg, 0 * Proto::MaxGroupWidth, 1, 1);\n        for (ssize_t elemOffset = 0; elemOffset < channelCount; elemOffset += loopCount) {\n          if (channelCount - elemOffset < loopCount) chunkSize = lastChunkSize;\n          ssize_t offset = gridOffset + elemOffset;\n          int nelem = work->regUsed ? 0 : min(loopCount, channelCount - elemOffset);\n          prims.scatter(offset, nelem, chunkSize, chunkSize, -1, 0);\n        }\n      } else if (tid < tidEndGather) {\n        // Gather\n        using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL>;\n        Primitives<T, RedOp, FanAsymmetric<NCCL_MAX_NVLS_ARITY, 0>, /*Direct=*/0, Proto, 0>\n          prims(tid - tidEndScatter, nThreadsGather, nvls->up, NULL, NULL, work->recvbuff,\n            work->redOpArg, 1 * Proto::MaxGroupWidth, 1, 1);\n        for (ssize_t elemOffset = 0; elemOffset < channelCount; elemOffset += loopCount) {\n          if (channelCount - elemOffset < loopCount) chunkSize = lastChunkSize;\n          ssize_t offset = gridOffset + elemOffset;\n          int nelem = work->regUsed ? 0 : min(loopCount, channelCount - elemOffset);\n          prims.gather(offset, nelem, chunkSize, chunkSize, -1, 0);\n        }\n      } else if (tid < tidEndReduce && nvls->headRank != -1) {\n        // Reduce, broadcast through NVLS\n        using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL, 1, 1>;\n        Primitives<T, RedOp, FanSymmetric<1>, /*Direct=*/1, Proto, 0>\n          prims(tid - tidEndGather, nThreadsReduce, &nvls->down, &nvls->down, NULL, NULL,\n            work->redOpArg, 2 * Proto::MaxGroupWidth, 0, 0, work);\n        for (ssize_t elemOffset = 0; elemOffset < channelCount; elemOffset += loopCount) {\n          ssize_t chunkOffset, offset;\n          int nelem;\n          if (channelCount - elemOffset < loopCount) chunkSize = lastChunkSize;\n          chunkOffset = elemOffset + nvls->headRank * chunkSize;\n          offset = gridOffset + chunkOffset;\n          nelem = min(chunkSize, channelCount - chunkOffset);\n          prims.directRecvDirectSend(offset, offset, nelem);\n        }\n      }\n    } else {\n      const int bid = ncclShmem.channelId - work->channelLo;\n      const int nChannels = work->channelHi - work->channelLo + 1;\n      const ssize_t chunkSize = work->collnet.chunkCount;\n      const ssize_t loopSize = nChannels * nvls->nHeads * chunkSize;\n      const ssize_t size = work->collnet.count;\n\n      if (tid < tidEndScatter) {\n        // Scatter\n        using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL>;\n        Primitives<T, RedOp, FanAsymmetric<0, NCCL_MAX_NVLS_ARITY>, /*Direct=*/0, Proto, 0>\n          prims(tid, nThreadsScatter, NULL, nvls->up, work->sendbuff, NULL,\n            work->redOpArg, 0 * Proto::MaxGroupWidth, 1, 1);\n        for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n          ssize_t offset = gridOffset + bid * nvls->nHeads * chunkSize;\n          int nelem = work->regUsed ? 0 : min(nvls->nHeads * chunkSize, size - offset);\n          prims.scatter(offset, nelem, chunkSize, chunkSize, -1, 0);\n        }\n        // coverity[overrun-call] => Coverity think prims.index can be greater than 1\n      } else if (tid < tidEndGather) {\n        // Gather\n        using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL>;\n        Primitives<T, RedOp, FanAsymmetric<NCCL_MAX_NVLS_ARITY, 0>, /*Direct=*/0, Proto, 0>\n          prims(tid - tidEndScatter, nThreadsGather, nvls->up, NULL, NULL, work->recvbuff,\n            work->redOpArg, 1 * Proto::MaxGroupWidth, 1, 1);\n        for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n          ssize_t offset = gridOffset + bid * nvls->nHeads * chunkSize;\n          int nelem = work->regUsed ? 0 : min(nvls->nHeads * chunkSize, size - offset);\n          prims.gather(offset, nelem, chunkSize, chunkSize, -1, 0);\n        }\n      } else if (tid < tidEndReduce && nvls->headRank != -1) {\n        // Reduce, send to network\n        using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL, 1, 0>;\n        // Coverity complains about a possible overrun inside the class below, but that's actually\n        // a false positive.\n        // coverity[identity_transfer:FALSE]\n        Primitives<T, RedOp, FanSymmetric<1>, /*Direct=*/1, Proto, 0>\n        prims(tid - tidEndGather, nThreadsReduce, &nvls->down, &nvls->out, NULL, work->recvbuff,\n          work->redOpArg, 2 * Proto::MaxGroupWidth, 0, 1, work);\n        for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n          ssize_t offset = work->regUsed && work->netRegUsed ? gridOffset + (nvls->headRank * nChannels + bid) * chunkSize\n                                                             : gridOffset + (bid * nvls->nHeads + nvls->headRank) * chunkSize;\n          int nelem = min(chunkSize, size - offset);\n          prims.directRecvDirectSend(offset, offset, nelem);\n        }\n      } else if (tid < tidEndBcast && nvls->headRank != -1) {\n        // Recv from network, broadcast\n        using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL, 0, 1>;\n        // Coverity complains about a possible overrun inside the class below, but that's actually\n        // a false positive.\n        // coverity[identity_transfer:FALSE]\n        Primitives<T, RedOp, FanSymmetric<1>, /*Direct=*/1, Proto, 0>\n          prims(tid - tidEndReduce, nThreadsBcast, &nvls->out, &nvls->down, NULL, work->recvbuff,\n            work->redOpArg, 3 * Proto::MaxGroupWidth, 0, 0, work);\n        for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n          ssize_t offset = work->regUsed && work->netRegUsed ? gridOffset + (nvls->headRank * nChannels + bid) * chunkSize\n                                                             : gridOffset + (bid * nvls->nHeads + nvls->headRank) * chunkSize;\n          int nelem = min(chunkSize, size - offset);\n          prims.directRecvDirectSend(offset, offset, nelem);\n        }\n      }\n    }\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllReduce, T, RedOp, NCCL_ALGO_NVLS_TREE, NCCL_PROTO_SIMPLE> {\n  __device__ __forceinline__ void run(int tid, int/*nthreads*/, struct ncclDevWorkColl* work) {\n    struct ncclNvls* nvls = &ncclShmem.channel.nvls;\n    const int treeUp = nvls->treeUp;\n    const int* treeDown = nvls->treeDown;\n    ssize_t gridOffset, channelCount, chunkCount;\n    ncclCollCbdPart(work, ncclShmem.channelId, NCCL_PROTO_SIMPLE, sizeof(T), (ssize_t*)nullptr, &gridOffset, &channelCount, &chunkCount);\n    const ssize_t loopCount = nvls->nHeads * chunkCount;\n    const int nranks = ncclShmem.comm.nRanks;\n    const bool hasUp = treeUp != -1;\n    const int totalWarps = NCCL_MAX_NTHREADS/WARP_SIZE;\n    const int bcastWarps = hasUp ? (work->regUsed ? ((totalWarps - 2) >> 1) - 1 : 4) : 0;\n    const int reduceWarps = work->regUsed ? (totalWarps - bcastWarps - 2) : (hasUp ? 5 : nranks <= 6 ? 7 : 5);\n    const int scatterWarps = work->regUsed ? 1 : (totalWarps - reduceWarps - bcastWarps + 1) >> 1;\n    const int gatherWarps = work->regUsed ? 1 : (totalWarps - reduceWarps - bcastWarps) >> 1;\n    ssize_t offset;\n    int nelem;\n    int remCount = channelCount%(nvls->nHeads*chunkCount);\n    int lastChunkCount = alignUp(divUp(remCount, nvls->nHeads), 16/sizeof(T));\n\n    const int nThreadsScatter = scatterWarps*WARP_SIZE;\n    const int nThreadsGather  = gatherWarps*WARP_SIZE;\n    const int nThreadsReduce = reduceWarps*WARP_SIZE;\n    const int nThreadsBcast  = (bcastWarps)*WARP_SIZE;\n    const int tidEndScatter = nThreadsScatter;\n    const int tidEndGather = tidEndScatter + nThreadsGather;\n    const int tidEndReduce = tidEndGather + nThreadsReduce;\n    const int tidEndBcast = tidEndReduce + nThreadsBcast;\n\n    if (tid < tidEndScatter) {\n      // Scatter\n      using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL>;\n      Primitives<T, RedOp, FanAsymmetric<0, NCCL_MAX_NVLS_ARITY>, /*Direct=*/0, Proto, 0>\n        prims(tid, nThreadsScatter, NULL, nvls->up, work->sendbuff, NULL,\n          work->redOpArg, 0 * Proto::MaxGroupWidth, 1, 1);\n      for (ssize_t elemOffset = 0; elemOffset < channelCount; elemOffset += loopCount) {\n        if (channelCount - elemOffset < loopCount) chunkCount = lastChunkCount;\n        offset = gridOffset + elemOffset;\n        nelem = work->regUsed ? 0 : min(loopCount, channelCount - elemOffset);\n        prims.scatter(offset, nelem, chunkCount, chunkCount, -1, 0);\n      }\n    } else if (tid < tidEndGather) {\n      // Gather\n      using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL>;\n      Primitives<T, RedOp, FanAsymmetric<NCCL_MAX_NVLS_ARITY, 0>, /*Direct=*/0, Proto, 0>\n        prims(tid - tidEndScatter, nThreadsGather, nvls->up, NULL, NULL, work->recvbuff,\n          work->redOpArg, 1 * Proto::MaxGroupWidth, 1, 1);\n      for (ssize_t elemOffset = 0; elemOffset < channelCount; elemOffset += loopCount) {\n        if (channelCount - elemOffset < loopCount) chunkCount = lastChunkCount;\n        offset = gridOffset + elemOffset;\n        nelem = work->regUsed ? 0 : min(loopCount, channelCount - elemOffset);\n        prims.gather(offset, nelem, chunkCount, chunkCount, -1, 0);\n      }\n    } else if (tid < tidEndReduce && nvls->headRank != -1) {\n      if (!hasUp) {\n        // Reduce and Broadcast\n        using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL, 1, 1>;\n        Primitives<T, RedOp, FanSymmetric<3>, /*Direct=*/1, Proto, 0>\n          prims(tid - tidEndGather, nThreadsReduce, treeDown, treeDown, NULL, NULL,\n            work->redOpArg, 2 * Proto::MaxGroupWidth, 0, 0, work);\n        for (ssize_t elemOffset = 0; elemOffset < channelCount; elemOffset += loopCount) {\n          ssize_t chunkOffset;\n          if (channelCount - elemOffset < loopCount) chunkCount = lastChunkCount;\n          chunkOffset = elemOffset + nvls->headRank * chunkCount;\n          offset = gridOffset + chunkOffset;\n          nelem = min(chunkCount, channelCount - chunkOffset);\n          prims.directRecvDirectSend(offset, offset, nelem);\n        }\n      } else {\n        // Reduce, send to network\n        using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL, 1, 0>;\n        // Coverity reports that the callee treats &treeUp as an array.  However, due to the use of\n        // FanAsymmetric<3, 1>, only the first element is ever accessed, so it's fine.\n        // coverity[callee_ptr_arith:FALSE]\n        Primitives<T, RedOp, FanAsymmetric<3, 1>, /*Direct=*/1, Proto, 0>\n          prims(tid - tidEndGather, nThreadsReduce, treeDown, &treeUp, NULL, NULL,\n            work->redOpArg, 2 * Proto::MaxGroupWidth, 0, 0, work);\n        for (ssize_t elemOffset = 0; elemOffset < channelCount; elemOffset += loopCount) {\n          ssize_t chunkOffset;\n          if (channelCount - elemOffset < loopCount) chunkCount = lastChunkCount;\n          chunkOffset = elemOffset + nvls->headRank * chunkCount;\n          offset = gridOffset + chunkOffset;\n          nelem = min(chunkCount, channelCount - chunkOffset);\n          prims.directRecvDirectSend(offset, offset, nelem);\n        }\n      }\n    } else if (tid < tidEndBcast && nvls->headRank != -1) {\n      // Recv from network, broadcast\n      using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL, 0, 1>;\n      // Coverity reports that the callee treats &treeUp as an array.  However, due to the use of\n      // FanAsymmetric<1, 3>, only the first element is ever accessed, so it's fine.\n      // coverity[callee_ptr_arith:FALSE]\n      Primitives<T, RedOp, FanAsymmetric<1, 3>, /*Direct=*/1, Proto, 0>\n        prims(tid - tidEndReduce, nThreadsBcast, &treeUp, treeDown, NULL, NULL,\n          work->redOpArg, 3 * Proto::MaxGroupWidth, 0, 0, work);\n      for (ssize_t elemOffset = 0; elemOffset < channelCount; elemOffset += loopCount) {\n        ssize_t chunkOffset;\n        if (channelCount - elemOffset < loopCount) chunkCount = lastChunkCount;\n        chunkOffset = elemOffset + nvls->headRank * chunkCount;\n        offset = gridOffset + chunkOffset;\n        nelem = min(chunkCount, channelCount - chunkOffset);\n        prims.directRecvDirectSend(offset, offset, nelem);\n      }\n    }\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllReduce, T, RedOp, NCCL_ALGO_COLLNET_CHAIN, NCCL_PROTO_SIMPLE> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    const int bid = ncclShmem.channelId - work->channelLo;\n    const int nChannels = work->channelHi - work->channelLo + 1;\n    ncclTree *tree = &ncclShmem.channel.collnetChain;\n    ssize_t chunkSize = work->collnet.chunkCount;\n    const ssize_t loopSize = int(nChannels*chunkSize);\n    const int nranks = ncclShmem.comm.nRanks;\n    const ssize_t size = work->collnet.count;\n\n    int nthreadsSplit = nthreads/2;\n    if (nthreadsSplit >= 256) nthreadsSplit += 64;\n\n    int group, connIndex, send, recv, groupTid, groupNthreads;\n    using Proto = ProtoSimple<1, 1>;\n    if (tid < nthreadsSplit) {\n      // Reduce up the chain\n      group = 0;\n      connIndex = 1;\n      recv = tree->down[0];\n      send = tree->up;\n      groupTid = tid;\n      groupNthreads = nthreadsSplit;\n    } else {\n      // Broadcast down the chain\n      group = 1;\n      connIndex = 0;\n      recv = tree->up;\n      send = tree->down[0];\n      groupTid = tid - nthreadsSplit;\n      groupNthreads = nthreads-nthreadsSplit;\n    }\n\n    if (tid < nthreadsSplit) {\n      if (recv == -1) {\n        if (work->netRegUsed) {\n          if (groupTid == 0) {\n            Primitives<T, RedOp, FanSymmetric<1>, /*Direct=*/1, Proto, 0>::sendPeerNotify(send, connIndex, 1);\n          }\n          __syncwarp();\n        } else {\n          Primitives<T, RedOp, FanSymmetric<1>, /*Direct=*/1, Proto, 0>\n            prims(groupTid, groupNthreads, &recv, &send, work->sendbuff, work->recvbuff,\n              work->redOpArg, group * Proto::MaxGroupWidth, connIndex, connIndex, work);\n          for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n            ssize_t offset = gridOffset + bid * int(chunkSize);\n            int nelem = min(chunkSize, size - offset);\n            // coverity[overrun-call] => Coverity think prims.index can be greater than 1\n            prims.directSend(offset, offset, nelem);\n          }\n          // coverity[overrun-call] => Coverity think prims.index can be greater than 1\n        }\n      } else {\n        Primitives<T, RedOp, FanSymmetric<1>, /*Direct=*/1, Proto, 0>\n          prims(groupTid, groupNthreads, &recv, &send, work->sendbuff, work->recvbuff,\n            work->redOpArg, group * Proto::MaxGroupWidth, connIndex, connIndex, work);\n        for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n          ssize_t offset = gridOffset + bid * int(chunkSize);\n          int nelem = min(chunkSize, size - offset);\n          // coverity[overrun-call] => Coverity think prims.index can be greater than 1\n          prims.directRecvReduceDirectSend(offset, offset, nelem);\n        }\n        // coverity[overrun-call] => Coverity think prims.index can be greater than 1\n      }\n    }\n    else {\n      if (recv == nranks) {\n        // I'm the first in the broadcast chain, I need to perform the division (postOp)\n        if (send == -1) {\n          if (work->netRegUsed) {\n            if (groupTid == 0) {\n              Primitives<T, RedOp, FanSymmetric<1>, /*Direct=*/1, Proto, 0>::recvPeerNotify(recv, connIndex, 1);\n            }\n            __syncwarp();\n          } else {\n            // Coverity reports that the callee treats &send as an array.  However, due to the use of\n            // FanSymmetric<1>, only the first element is ever accessed, so it's fine.\n            // coverity[callee_ptr_arith:FALSE]\n            Primitives<T, RedOp, FanSymmetric<1>, /*Direct=*/1, Proto, 0>\n              prims(groupTid, groupNthreads, &recv, &send, work->sendbuff, work->recvbuff,\n                work->redOpArg, group * Proto::MaxGroupWidth, connIndex, connIndex, work);\n            for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n              ssize_t offset = gridOffset + bid * int(chunkSize);\n              int nelem = min(chunkSize, size - offset);\n              prims.directRecv(offset, nelem, /*postOp*/true);\n            }\n          }\n        } else {\n          // Coverity reports that the callee treats &send as an array.  However, due to the use of\n          // FanSymmetric<1>, only the first element is ever accessed, so it's fine.\n          // coverity[callee_ptr_arith:FALSE]\n          Primitives<T, RedOp, FanSymmetric<1>, /*Direct=*/1, Proto, 0>\n            prims(groupTid, groupNthreads, &recv, &send, work->sendbuff, work->recvbuff,\n              work->redOpArg, group * Proto::MaxGroupWidth, connIndex, connIndex, work);\n          for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n            ssize_t offset = gridOffset + bid * int(chunkSize);\n            int nelem = min(chunkSize, size - offset);\n            prims.directRecvCopyDirectSend(offset, offset, nelem, /*postOp*/true);\n          }\n        }\n      } else {\n        // Coverity reports that the callee treats &send as an array.  However, due to the use of\n        // FanSymmetric<1>, only the first element is ever accessed, so it's fine.\n        // coverity[callee_ptr_arith:FALSE]\n        Primitives<T, RedOp, FanSymmetric<1>, /*Direct=*/1, Proto, 0>\n          prims(groupTid, groupNthreads, &recv, &send, work->sendbuff, work->recvbuff,\n            work->redOpArg, group * Proto::MaxGroupWidth, connIndex, connIndex, work);\n        if (send == -1) {\n          for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n            ssize_t offset = gridOffset + bid*int(chunkSize);\n            int nelem = min(chunkSize, size-offset);\n            prims.directRecv(offset, nelem);\n          }\n        } else {\n          for (ssize_t gridOffset = 0; gridOffset < size; gridOffset += loopSize) {\n            ssize_t offset = gridOffset + bid*int(chunkSize);\n            int nelem = min(chunkSize, size-offset);\n            prims.directRecvCopyDirectSend(offset, offset, nelem);\n          }\n        }\n      }\n    }\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllReduce, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_LL> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    runRing<T, RedOp, ProtoLL, RCCL_METADATA_EMPTY>(tid, nthreads, work);\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllReduce, T, RedOp, NCCL_ALGO_TREE, NCCL_PROTO_LL> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    runTreeSplit<T, RedOp, ProtoLL>(tid, nthreads, work);\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllReduce, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_LL128> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    runRing<T, RedOp, ProtoLL128, RCCL_METADATA_EMPTY>(tid, nthreads, work);\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllReduce, T, RedOp, NCCL_ALGO_TREE, NCCL_PROTO_LL128> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    runTreeSplit<T, RedOp, ProtoLL128>(tid, nthreads, work);\n  }\n};\n"
  },
  {
    "path": "src/device/alltoall_gda.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2021, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"device.h\"\n#include \"collectives.h\"\n#include \"primitives.h\"\n\n#ifdef ENABLE_ROCSHMEM\n#include <rocshmem/rocshmem.hpp>\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAllToAllGda, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_SIMPLE> {\n  __device__ __forceinline__ void run(int tid, int nThreads, struct ncclDevWorkColl* work) {\n    if (blockIdx.x == 0) {\n        int num_pes = rocshmem::rocshmem_n_pes();\n\n        reduceCopy<COLL_UNROLL, USE_ACC, RedOp, T, 0,1, 1, 0, 1, 1, 0>(\n            tid, nThreads, 0, nullptr, false, 1, (void **)&work->sendbuff, 1, (void **)&work->sndbuff, \n            (work->size*num_pes));\n\n        rocshmem::rocshmem_char_alltoall_wg(work->team, ((char*)work->tempbuff), ((char*)work->sndbuff), work->size);\n\n        reduceCopy<COLL_UNROLL, USE_ACC, RedOp, T, 0,1, 1, 0, 1, 1, 0>(\n            tid, nThreads, 0, nullptr, false, 1, (void **)&work->tempbuff, 1, (void **)&work->recvbuff, \n            (work->size*num_pes));\n        }\n  }\n};\n#endif\n\n"
  },
  {
    "path": "src/device/alltoall_pivot.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2021, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"device.h\"\n#include \"collectives.h\"\n#include \"primitives.h\"\n\nnamespace {\n  template<typename T, typename RedOp, typename Proto>\n#if defined(USE_INDIRECT_FUNCTION_CALL) && !defined(__gfx942__) && !defined(__gfx950__)\n  __device__ void runRing(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#else\n  __device__ __attribute__((noinline)) void runRing(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#endif\n    const int bid = ncclShmem.channelId - work->channelLo;\n    const int nranks = ncclShmem.comm.nRanks;\n    size_t count, partOffset, partCount, chunkCount;\n    ncclCollCbdPart(work, ncclShmem.channelId, Proto::Id, sizeof(T), &count, &partOffset, &partCount, &chunkCount);\n\n    const ncclRing *ring = &ncclShmem.channel.ring;\n    const int num_bi_rings = work->pivotA2ANumBiRings;\n    const int num_uni_rings = num_bi_rings * 2;\n    const int num_chunks = (work->channelHi - work->channelLo + 1) / 2;\n    const int chunk_id = (bid % num_bi_rings) + (bid / num_uni_rings * num_bi_rings);\n    const int elem_size = min(256, count & (~(count) + 1));\n    const ssize_t num_elems = count / elem_size;\n    const int num_padding_chunks = num_elems % num_chunks;\n    const ssize_t chunk_offset = elem_size * (num_elems / num_chunks * chunk_id + (chunk_id < num_padding_chunks ? chunk_id : num_padding_chunks));\n    const ssize_t chunk_size = elem_size * (num_elems / num_chunks + (chunk_id < num_padding_chunks ? 1 : 0));\n    const int pivot_direction = (bid % num_uni_rings) / num_bi_rings;\n    const ssize_t prims_size = chunkCount;\n\n    Primitives<T, RedOp, FanSymmetric<1>, 0, Proto, 0> prims\n      (tid, nthreads, &ring->prev, &ring->next, work->sendbuff, work->recvbuff, /*redOpArg(ignored)=*/0);\n\n    for (int num_hops = 0; num_hops <= nranks / 2; num_hops++) {\n      const int src_rank = ring->userRanks[(nranks - num_hops) % nranks];\n      const int dst_rank = ring->userRanks[num_hops];\n      const ssize_t send_offset =\n          dst_rank * count + chunk_offset +\n          (src_rank == dst_rank ? pivot_direction * chunk_size / 2 : 0);\n      const ssize_t recv_offset =\n          src_rank * count + chunk_offset +\n          (src_rank == dst_rank ? pivot_direction * chunk_size / 2 : 0);\n      const ssize_t send_recv_size =\n          src_rank == dst_rank ?\n          (pivot_direction == 0 ? chunk_size / 2 : chunk_size - chunk_size / 2) : chunk_size;\n\n      if (num_hops == 0 && work->sendbuff != work->recvbuff) {\n        const T* sendbuff = (const T*)work->sendbuff + send_offset;\n        T* recvbuff = (T *)work->recvbuff + recv_offset;\n        reduceCopy<COLL_UNROLL, USE_ACC, RedOp, T, 0,1, 1, 0, 1, 1, 0>(\n            tid, nthreads, 0, nullptr, false, 1, (void **)&sendbuff, 1, (void **)&recvbuff, send_recv_size);\n      } else {\n        for (ssize_t prims_offset = 0; prims_offset < send_recv_size; prims_offset += prims_size) {\n          const int prims_nelem = min(prims_size, send_recv_size - prims_offset);\n\n          // step 0: send\n          prims.send(send_offset + prims_offset, prims_nelem);\n\n          // num_hops - 1 steps: recv and copy to next gpu\n          for (int i = 0; i < num_hops - 1; i++) {\n            prims.recvSend(prims_nelem);\n          }\n\n          // final step: recv\n          prims.directRecv(recv_offset + prims_offset, recv_offset + prims_offset, prims_nelem);\n        }\n      }\n    }\n  }\n}\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncAlltoAllPivot, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_SIMPLE> {\n  __device__ __forceinline__ void run(int tid, int nThreads, struct ncclDevWorkColl* work) {\n    using Proto = ProtoSimple<ALLTOALL_PIVOT_CHUNKSTEPS/ALLTOALL_PIVOT_SLICESTEPS, ALLTOALL_PIVOT_SLICESTEPS>;\n    runRing<T, RedOp, Proto>(tid, nThreads, work);\n  }\n};\n"
  },
  {
    "path": "src/device/broadcast.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"device.h\"\n#include \"collectives.h\"\n#include \"primitives.h\"\n\nnamespace {\n  template<typename T, typename RedOp, typename Proto>\n#if defined(USE_INDIRECT_FUNCTION_CALL) && !defined(__gfx942__) && !defined(__gfx950__)\n  __device__ void runRing(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#else\n  __device__ __attribute__((noinline)) void runRing(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#endif\n#if defined(ENABLE_NPKIT)\n    const int bid = ncclShmem.channelId - work->channelLo;\n    int npKitCtxIdx = bid; // unused variable - compiler warning\n#endif\n#ifdef ENABLE_WARP_SPEED\n    int warp = threadIdx.x / WARP_SIZE;\n    ncclRing *ring = &ncclShmem.warpChannel[warp].ring;\n#else\n    ncclRing *ring = &ncclShmem.channel.ring;\n#endif\n    const int rank = ring->userRanks[0];\n    const int nextRank = ring->userRanks[1];\n    const int root = work->root;\n    ssize_t size;\n    ssize_t chunkCount;\n    ssize_t channelCount;\n    ssize_t gridOffset;\n#ifdef ENABLE_WARP_SPEED\n    ncclCollCbdPart(work, ncclShmem.warpChannelId[warp], Proto::Id, sizeof(T), &size, &gridOffset, &channelCount, &chunkCount);\n#else\n    ncclCollCbdPart(work, ncclShmem.channelId, Proto::Id, sizeof(T), &size, &gridOffset, &channelCount, &chunkCount);\n#endif\n    size_t offset;\n    int nelem;\n    int workNthreads;\n    bool isNetOffload = work->isOneRPN && work->netRegUsed;\n\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_CPU)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_CPU, 0, 0, NPKIT_GET_CPU_TIMESTAMP_FROM_BLOCK,\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_GPU)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_GPU, 0, 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_BROADCAST_RING_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_BROADCAST_RING_ENTRY, size*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n    T *inputBuf = (T*)work->sendbuff;\n    T *outputBuf = (T*)work->recvbuff;\n    workNthreads = isNetOffload ? WARP_SIZE : nthreads;\n\n    if (tid < workNthreads) {\n      // Coverity reports that the callee treats &ring->next as an array.  However, due to the use of\n      // FanSymmetric<1>, only the first element is ever accessed, so it's fine.\n      // coverity[callee_ptr_arith:FALSE]\n      Primitives<T, RedOp, FanSymmetric<1>, 0, Proto, 0>\n        prims(tid, workNthreads, &ring->prev, &ring->next, inputBuf, outputBuf, work->redOpArg, 0, work->connIndex, work->connIndex, work);\n\n#if defined(ENABLE_NPKIT)\n      if (tid == 0) {\n        prims.npKitCtxIdx = npKitCtxIdx;\n      }\n#endif\n\n      for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n        offset = gridOffset + elemOffset;\n        nelem = min(chunkCount, channelCount - elemOffset);\n\n        if (rank == root) {\n          if (inputBuf == outputBuf || isNetOffload) {\n            prims.directSend(offset, offset, nelem);\n          } else {\n            prims.directCopySend(offset, offset, nelem);\n          }\n        } else if (nextRank == root) {\n          prims.directRecv(offset, nelem);\n        } else {\n          prims.directRecvCopyDirectSend(offset, offset, nelem);\n        }\n      }\n    } else if (inputBuf != outputBuf && rank == root) {\n      inputBuf = inputBuf + gridOffset;\n      outputBuf = outputBuf + gridOffset;\n      reduceCopy<COLL_UNROLL, 0, RedOp, T, 0, 1, 1, 0, 1, 1, /*PreOpSrcs=*/0>\n        (tid - workNthreads, nthreads - workNthreads, work->redOpArg, &work->redOpArg, false, 1, (void**)&inputBuf, 1, (void**)&outputBuf, channelCount);\n    }\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_BROADCAST_RING_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_BROADCAST_RING_EXIT, size*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n#if !defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__)\n    if (isNetOffload) barrier_sync(14, nThreads);\n#endif\n  }\n}\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncBroadcast, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_SIMPLE> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    using Proto = ProtoSimple<BROADCAST_CHUNKSTEPS/BROADCAST_SLICESTEPS, BROADCAST_SLICESTEPS>;\n    runRing<T, RedOp, Proto>(tid, nthreads, work);\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncBroadcast, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_LL> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    runRing<T, RedOp, ProtoLL>(tid, nthreads, work);\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncBroadcast, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_LL128> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    runRing<T, RedOp, ProtoLL128>(tid, nthreads, work);\n  }\n};\n"
  },
  {
    "path": "src/device/common.cu",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2021, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"device.h\"\n#include \"collectives.h\"\n#include \"common.h\"\n\n__shared__ ncclShmemData ncclShmem;\n#if __CUDA_ARCH__ < 700\n  __shared__ ulong2 ncclShmemPerWarp[ncclShmemScratchWarpSize()*(NCCL_MAX_NTHREADS/WARP_SIZE)/sizeof(ulong2)];\n#endif\n\nstruct RunWorkNop {\n  __device__ void run() {}\n};\n\n__launch_bounds__(NCCL_MAX_NTHREADS, 1) __global__ void ncclDevKernel_Generic_1(ncclDevKernelArgsDefaultStorage NCCL_GRID_CONSTANT const argsStorage) {\n  ncclKernelMain<-1, RunWorkNop, /*COLLTRACE*/false, /*Unroll*/1>(&argsStorage.args);\n}\n__launch_bounds__(NCCL_MAX_NTHREADS, 1) __global__ void ncclDevKernel_Generic_2(ncclDevKernelArgsDefaultStorage NCCL_GRID_CONSTANT const argsStorage) {\n  ncclKernelMain<-1, RunWorkNop, /*COLLTRACE*/false, /*Unroll*/2>(&argsStorage.args);\n}\n__launch_bounds__(NCCL_MAX_NTHREADS, 1) __global__ void ncclDevKernel_Generic_4(ncclDevKernelArgsDefaultStorage NCCL_GRID_CONSTANT const argsStorage) {\n  ncclKernelMain<-1, RunWorkNop, /*COLLTRACE*/false, /*Unroll*/4>(&argsStorage.args);\n}\n#ifdef ENABLE_COLLTRACE\n__launch_bounds__(NCCL_MAX_NTHREADS, 1) __global__ void ncclDevKernelDebug_Generic_1(ncclDevKernelArgsDefaultStorage NCCL_GRID_CONSTANT const argsStorage) {\n  ncclKernelMain<-1, RunWorkNop, /*COLLTRACE*/true, /*Unroll*/1>(&argsStorage.args);\n}\n__launch_bounds__(NCCL_MAX_NTHREADS, 1) __global__ void ncclDevKernelDebug_Generic_2(ncclDevKernelArgsDefaultStorage NCCL_GRID_CONSTANT const argsStorage) {\n  ncclKernelMain<-1, RunWorkNop, /*COLLTRACE*/true, /*Unroll*/2>(&argsStorage.args);\n}\n__launch_bounds__(NCCL_MAX_NTHREADS, 1) __global__ void ncclDevKernelDebug_Generic_4(ncclDevKernelArgsDefaultStorage NCCL_GRID_CONSTANT const argsStorage) {\n  ncclKernelMain<-1, RunWorkNop, /*COLLTRACE*/true, /*Unroll*/4>(&argsStorage.args);\n}\n#endif\n\n#ifdef USE_INDIRECT_FUNCTION_CALL\n__device__ void ncclDevFunc_Nop();\n#else\n__device__ __attribute__((noinline)) void ncclDevFunc_Nop();\n#endif\n"
  },
  {
    "path": "src/device/common.h",
    "content": "/*************************************************************************\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_DEVICE_COMMON_H_\n#define NCCL_DEVICE_COMMON_H_\n\n#include \"collectives.h\"\n#include \"device.h\"\n#include \"op128.h\"\n#include \"reduce_kernel.h\"\n#include \"device_table.h\"\n#include \"network/unpack/unpack_defs.h\"\n#define NCCL_MAX_DEV_ARITY (NCCL_MAX_TREE_ARITY-1)  // Using balanced tree instead of split tree\n\n#define __syncwarp()\n\n#ifdef __GFX9__\n#define STORE(DST, SRC) \\\n  { __atomic_store_n((DST), (SRC), __ATOMIC_RELAXED); }\n#else\n#define STORE(DST, SRC) \\\n  { __atomic_store_n((DST), (SRC), __ATOMIC_SEQ_CST); }\n#endif\n\n#if defined(__gfx1100__) || defined(__gfx1101__) || defined(__gfx1102__) || defined(__gfx1200__) || defined(__gfx1201__)\n#define __trace_hwreg() \\\n  collTrace->data_0 = 0;\n#else\n#define __trace_hwreg() \\\n  { int32_t hwid; \\\n    asm volatile (\"s_getreg_b32 %0, hwreg(HW_REG_HW_ID)\" : \"=s\" (hwid)); \\\n    collTrace->data_0 = hwid >> 4; }\n#endif\n\n#if defined(__gfx942__) || defined(__gfx950__)\n#define __trace_xccid() \\\n  { int32_t xccId; \\\n    asm volatile (\"s_getreg_b32 %0, hwreg(HW_REG_XCC_ID)\" : \"=s\" (xccId)); \\\n    collTrace->xccId = xccId; }\n#else\n#define __trace_xccid() \\\n  collTrace->xccId = 0;\n#endif\n\n#ifdef ENABLE_COLLTRACE\n  #define INC_COLL_TRACE \\\n    uint32_t pos = __hip_atomic_fetch_add(&ncclShmem.collTraceTail->tail, 1, __ATOMIC_SEQ_CST, __HIP_MEMORY_SCOPE_WORKGROUP)%COLLTRACE_NUM_ITEMS; \\\n    struct ncclCollTrace* collTrace = ncclShmem.collTrace+pos; \\\n    collTrace->timeStamp = wall_clock64(); \\\n    collTrace->tid = threadIdx.x; \\\n    collTrace->channelId = ncclShmem.channelId;\n    // TODO: switch to atomicInc after llvm crash is fixed\n    // uint32_t pos = atomicInc(&ncclShmem.collTraceTail->tail, COLLTRACE_NUM_ITEMS)\n\n  #define traceKernelLaunch(launch_type, ix) { \\\n    INC_COLL_TRACE \\\n    collTrace->funcIndex = ncclShmem.funcId; \\\n    __trace_hwreg() \\\n    __trace_xccid() \\\n    collTrace->batchIx = ix; \\\n    if (ncclShmem.workType == ncclDevWorkTypeP2p) { \\\n      struct ncclDevWorkP2p *p2pWork = (struct ncclDevWorkP2p*)ncclShmem.workStorage; \\\n      collTrace->p2p.sendRank = p2pWork->sendRank; \\\n      collTrace->p2p.recvRank = p2pWork->recvRank; \\\n      collTrace->p2p.nSendChannels = p2pWork->nSendChannels; \\\n      collTrace->p2p.nRecvChannels = p2pWork->nRecvChannels; \\\n      collTrace->p2p.channelBase = p2pWork->channelBase; \\\n      collTrace->p2p.sendConnIndex = p2pWork->sendConnIndex; \\\n      collTrace->p2p.recvConnIndex = p2pWork->recvConnIndex; \\\n      collTrace->p2p.sendProtoLL = p2pWork->sendProtoLL; \\\n      collTrace->p2p.recvProtoLL = p2pWork->recvProtoLL; \\\n      collTrace->p2p.sendRegistered = p2pWork->sendNetReg; \\\n      collTrace->p2p.recvRegistered = p2pWork->recvNetReg; \\\n      collTrace->p2pOpCount[0] = p2pWork->sendOpCount; \\\n      collTrace->p2pOpCount[1] = p2pWork->recvOpCount; \\\n      __hip_atomic_store(&collTrace->type, (launch_type) | ncclCollTraceP2pElemType, __ATOMIC_RELEASE, __HIP_MEMORY_SCOPE_WORKGROUP); \\\n    } else if (ncclShmem.workType == ncclDevWorkTypeColl) { \\\n      struct ncclDevWorkColl *collWork = (struct ncclDevWorkColl*)ncclShmem.workStorage; \\\n      collTrace->coll.nWarps = collWork->nWarps; \\\n      collTrace->coll.nChannels = collWork->channelHi-collWork->channelLo+1; \\\n      collTrace->coll.bid = ncclShmem.channelId - collWork->channelLo; \\\n      collTrace->coll.root = collWork->root; \\\n      collTrace->opCount = collWork->opCount; \\\n      __hip_atomic_store(&collTrace->type, (launch_type) | ncclCollTraceCollElemType, __ATOMIC_RELEASE, __HIP_MEMORY_SCOPE_WORKGROUP); \\\n    } \\\n  }\n  #define traceKernelEnd(end_type)  { \\\n    INC_COLL_TRACE \\\n    collTrace->funcIndex = ncclShmem.funcId;\\\n    if (ncclShmem.workType == ncclDevWorkTypeP2p) { \\\n      struct ncclDevWorkP2p *p2pWork = (struct ncclDevWorkP2p*)ncclShmem.workStorage; \\\n      collTrace->p2pOpCount[0] = p2pWork->sendOpCount; \\\n      collTrace->p2pOpCount[1] = p2pWork->recvOpCount; \\\n      __hip_atomic_store(&collTrace->type, (end_type) | ncclCollTraceP2pElemType, __ATOMIC_RELEASE, __HIP_MEMORY_SCOPE_WORKGROUP); \\\n    } else if (ncclShmem.workType == ncclDevWorkTypeColl) { \\\n      struct ncclDevWorkColl *collWork = (struct ncclDevWorkColl*)ncclShmem.workStorage; \\\n      collTrace->opCount = collWork->opCount; \\\n      __hip_atomic_store(&collTrace->type, (end_type) | ncclCollTraceCollElemType, __ATOMIC_RELEASE, __HIP_MEMORY_SCOPE_WORKGROUP); \\\n    } \\\n  }\n  #define traceData(data2, data4, data8_0, data8_1) { \\\n    INC_COLL_TRACE \\\n    collTrace->funcIndex = data2; \\\n    collTrace->data_0 = data4; \\\n    collTrace->opCount = data8_0; \\\n    collTrace->data_1 = data8_1; \\\n    __hip_atomic_store(&collTrace->type, ncclCollTraceDataType, __ATOMIC_RELEASE, __HIP_MEMORY_SCOPE_WORKGROUP); \\\n  }\n  #define traceAbort(){\\\n    INC_COLL_TRACE\\\n    collTrace->funcIndex = ncclShmem.funcId;\\\n    __hip_atomic_store(&collTrace->type, ncclCollTraceAbortType, __ATOMIC_RELEASE, __HIP_MEMORY_SCOPE_WORKGROUP); \\\n  }\n#else\n#define traceKernelLaunch(launch_type, batchIx)\n#define traceKernelEnd(end_type)\n#define traceData(data2, data4, data8_0, data8_1)\n#define traceAbort()\n#endif\n\n#if __CUDA_ARCH__ >= 700\n// __grid_constant__ appears to break cuda-gdb\n//#define NCCL_GRID_CONSTANT __grid_constant__\n#define NCCL_GRID_CONSTANT\n#else\n#define NCCL_GRID_CONSTANT\n#endif\n\nstruct ncclShmemGroup {\n  ncclConnInfo *recvConns[NCCL_MAX_ARITY];\n  ncclConnInfo *sendConns[NCCL_MAX_ARITY];\n  void* userInput;\n  void* userOutput;\n  void* userAcc;\n  void* srcs[NCCL_MAX_ARITY+1];\n  void* dsts[NCCL_MAX_ARITY+1];\n  void* acc;\n  uint64_t barrier;\n  union {\n    unpackGroupShmem unpack;\n  } devicePlugin;\n  int32_t dstSizes[NCCL_MAX_ARITY+1];\n};\n\nstruct ncclShmemData {\n  struct ncclDevKernelArgs args;\n  int channelId;\n  int aborted;\n  alignas(16) struct ncclKernelComm comm;\n  alignas(16) struct ncclDevChannel channel;\n#ifdef ENABLE_WARP_SPEED\n  int warpComm;\n  alignas(16) struct ncclDevChannel warpChannel[NCCL_MAX_GROUPS];\n  int warpChannelId[NCCL_MAX_GROUPS];\n#endif\n  int batchIx, nextBatchIx;\n  enum ncclDevWorkType workType;\n  uint8_t directMode;\n  uint16_t funcId;\n  int nWorks;\n  int workSize;\n  uint64_t workCounter;\n  bool profilerEnabled;\n  struct ncclShmemGroup groups[NCCL_MAX_GROUPS];\n  uint64_t redOpArgs[NCCL_MAX_NVLS_ARITY+1];\n\n  alignas(16) char workStorage[1024];\n\n  alignas(16) union {\n    unpackShmem unpack;\n  } devicePlugin;\n#ifdef ENABLE_COLLTRACE\n  struct ncclCollTrace* collTrace;\n  union ncclCollTraceTail* collTraceTail;\n#endif\n#ifdef ENABLE_PROFILING\n  struct ncclProf prof;\n#endif\n#ifdef ENABLE_FAULT_INJECTION\n  uint64_t faults;\n#endif\n  uint64_t barrier_pat;\n};\n\nextern __shared__ ncclShmemData ncclShmem;\n#if __CUDA_ARCH__ >= 700\n  extern __shared__ ulong2 ncclShmemPerWarp[/*ncclShmemDynamicSize()/sizeof(ulong2)*/];\n#else\n  extern __shared__ ulong2 ncclShmemPerWarp[ncclShmemScratchWarpSize()*(NCCL_MAX_NTHREADS/WARP_SIZE)/sizeof(ulong2)];\n#endif\n\n#ifdef ENABLE_FAULT_INJECTION\n__device__ inline void insert_random_delay_per_warp() {\n  if ((ncclShmem.faults & RANDOM_DELAY_ON_WARP_START) && (threadIdx.x%WARP_SIZE == 0)) {\n    switch ((wall_clock64()>>(threadIdx.x/WARP_SIZE*2))&0x3) {\n      case 0:\n        __builtin_amdgcn_s_sleep(0);\n        break;\n      case 1:\n        __builtin_amdgcn_s_sleep(8);\n        break;\n      case 2:\n        __builtin_amdgcn_s_sleep(16);\n        break;\n      case 3:\n      default:\n        __builtin_amdgcn_s_sleep(32);\n        break;\n    }\n  }\n}\n#endif\n\n__device__ inline void* ncclScratchForWarp(int warp) {\n  return (char*)ncclShmemPerWarp + warp*ncclShmemScratchWarpSize();\n}\n\n__device__ inline void barrier_sync(int name) {\n  #if 0\n  asm volatile(\"barrier.sync %0;\" :: \"r\"(name) : \"memory\");\n  #else\n  asm volatile(\"barrier.sync.aligned %0;\" :: \"r\"(name) : \"memory\");\n  #endif\n}\n__device__ inline void barrier_sync(int name, int nThreads) {\n  #if 0\n  asm volatile(\"barrier.sync %0, %1;\" :: \"r\"(name), \"r\"(nThreads) : \"memory\");\n  #else\n  asm volatile(\"barrier.sync.aligned %0, %1;\" :: \"r\"(name), \"r\"(nThreads) : \"memory\");\n  #endif\n}\n__device__ inline void barrier_sync_aligned(int name) {\n  asm volatile(\"barrier.sync.aligned %0;\" :: \"r\"(name) : \"memory\");\n}\n__device__ inline void barrier_sync_aligned(int name, int nThreads) {\n  asm volatile(\"barrier.sync.aligned %0, %1;\" :: \"r\"(name), \"r\"(nThreads) : \"memory\");\n}\n\n__device__ inline bool barrier_red_or(bool vote, int name) {\n  int ans;\n  asm volatile(\"{ .reg .pred p;\"\n      \"  setp.ne.s32 p, %1, 0;\"\n      \"  barrier.red.or.pred p, %2, p; \"\n      \"  selp.s32 %0, 1, 0, p; }\"\n      : \"=r\"(ans) : \"r\"((int)vote), \"r\"(name) : \"memory\");\n  return bool(ans);\n}\n__device__ inline bool barrier_red_or(bool vote, int name, int nThreads) {\n  int ans;\n  asm volatile(\"{ .reg .pred p;\"\n      \"  setp.ne.s32 p, %1, 0;\"\n      \"  barrier.red.or.pred p, %2, %3, p; \"\n      \"  selp.s32 %0, 1, 0, p; }\"\n      : \"=r\"(ans) : \"r\"((int)vote), \"r\"(name), \"r\"(nThreads) : \"memory\");\n  return bool(ans);\n}\n\n#ifdef ENABLE_PROFILING\n#define __insert_timestamp(line_num) do { \\\n      if (ncclShmem.prof.count < PROFILE_NUM_ITEMS) { \\\n        ncclShmem.prof.elem[ncclShmem.prof.count].line = line_num; \\\n        ncclShmem.prof.elem[ncclShmem.prof.count].timeStamp = wall_clock64(); \\\n        ncclShmem.prof.count++; \\\n      } \\\n    } while(0);\n#else\n#define __insert_timestamp(line_num)\n#endif\n\n// Copy 16-byte aligned data. You must call with at least `(bytes+15)/16` threads.\ninline __device__ void copyToShmem16(int tid, void* dst, void const* src, int bytes) {\n  int offset = 16*tid;\n  if (offset < bytes) {\n    ulong2 *src2, *dst2;\n    src2 = (ulong2*)((char const*)src + offset);\n    dst2 = (ulong2*)((char*)dst + offset);\n    dst2->x = src2->x;\n    dst2->y = src2->y;\n  }\n}\n\n// Must run with at least 64 threads\n__device__ __forceinline__ void loadWorkBatchToShmem(\n    int tid, int tn, struct ncclDevKernelArgs const* args, int batchIx\n  ) {\n  int lane = tid%WARP_SIZE;\n  int workCursor = 0; // num works written in previous loop iterations.\n  while (true) {\n    struct ncclDevWorkBatch batch = ((struct ncclDevWorkBatch*)(args+1))[batchIx];\n\n    // fnsOfBitset[n] = index of n'th set bit in batch.offsetBitset.\n    // PTX has instruction \"fns\" (find n-th set) but it expands to a lot of SASS,\n    // since we know all lanes will be querying the same bitmask we can compute\n    // much faster using shared memory.\n    uint8_t* fnsOfBitset = (uint8_t*)ncclScratchForWarp(threadIdx.x/WARP_SIZE);\n    int nWorks = 0;\n    __syncwarp();\n\n    if (WARP_SIZE == 64) {\n      if (uint64_t(batch.offsetBitset) & (1ull<<lane)) {\n        int nWorksBelow = __popcll(uint64_t(batch.offsetBitset) & ((1ull<<lane)-1));\n        fnsOfBitset[nWorksBelow] = lane;\n      }\n      nWorks = __popcll(uint64_t(batch.offsetBitset));\n    } else {\n      // WARP_SIZE == 32\n      if (uint32_t(batch.offsetBitset) & (1u<<lane)) {\n        int nWorksBelow = __popc(uint32_t(batch.offsetBitset) & ((1u<<lane)-1));\n        fnsOfBitset[nWorksBelow] = lane;\n      }\n      int nWorksLow32 = __popc(uint32_t(batch.offsetBitset)); // just of low 32 bits\n      if (uint32_t(batch.offsetBitset>>32) & (1u<<lane)) {\n        int nWorksBelow = nWorksLow32;\n        nWorksBelow += __popc(uint32_t(batch.offsetBitset>>32) & ((1u<<lane)-1));\n        fnsOfBitset[nWorksBelow] = 32 + lane;\n      }\n      nWorks = nWorksLow32 + __popc(uint32_t(batch.offsetBitset>>32)); // add high 32 bits\n    }\n\n    int workSize;\n    int nPacks; // total number of packs loaded, each pack is 16 bytes\n    int packInWork; // my pack index within work struct\n    int dstWork; // my work index in contiguous destination shmem\n    switch (batch.workType) {\n    case (int)ncclDevWorkTypeP2p:\n      workSize = sizeof(struct ncclDevWorkP2p);\n      nPacks = nWorks*(workSize/16);\n      packInWork = tid%(workSize/16);\n      dstWork = tid/(workSize/16);\n      break;\n    case (int)ncclDevWorkTypeColl:\n      workSize = sizeof(struct ncclDevWorkColl);\n      nPacks = nWorks*(workSize/16);\n      packInWork = tid%(workSize/16);\n      dstWork = tid/(workSize/16);\n      break;\n    case (int)ncclDevWorkTypeCollReg:\n    default:\n      workSize = sizeof(struct ncclDevWorkCollReg);\n      nPacks = nWorks*(workSize/16);\n      packInWork = tid%(workSize/16);\n      dstWork = tid/(workSize/16);\n      break;\n    }\n    if (tid == 0) {\n      ncclShmem.workSize = workSize;\n    }\n    // We deliberately replicate these div and mod calculations into the case\n    // blocks above so that they get constant divisor optimizations by the compiler.\n    //   packInWork = tid%(workSize/16);\n    //   dstWork = tid/(workSize/16);\n\n    // We can only assume we have 64 threads, which means we can read at most 1024 bytes\n    // here which is the per batch maximum.\n    if (tid < nPacks) {\n      int srcWork = fnsOfBitset[dstWork]; // find n'th set bit in batch.offsetBitset\n      ulong2 tmp;\n      // The loads done in these two cases must be kept separate since we are\n      // relying on the compiler to use \"ld.param\" in the first one. The parameter\n      // space is not generically addressable, so any attempt to load through\n      // a pointer that *might* be parameter space backed will cause the\n      // compiler to spill the parameter struct (4K!) to each thread's local space\n      // before creating a pointer (to the spill) and decimate perf.\n      //\n      // An example of what not to do would be the following:\n      //\n      // if (condition) {\n      //   // The compiler could spill parameter_variable to local space and take\n      //   // the address of that, since when src is loaded below it could also\n      //   // be global space.\n      //   src = &parameter_variable;\n      // } else {\n      //   src = &global_variable;\n      // }\n      // memcpy(dst, src, n);\n      if (ncclShmem.args.workStorageType == ncclDevWorkStorageTypeArgs) {\n        char* src = (char*)args + (batch.offsetBase + srcWork*workSize + packInWork*16);\n        tmp = *(ulong2*)src; // becomes ld.param.v2.u64\n      }\n      if (ncclShmem.args.workStorageType != ncclDevWorkStorageTypeArgs) {\n        char* src = (char*)ncclShmem.args.workBuf + ((batch.offsetBase + srcWork*workSize + packInWork*16) & ncclShmem.args.workMask);\n        tmp = *(ulong2*)src; // becomes ld.v2.u64\n      }\n      char* dst = ncclShmem.workStorage;\n      dst += (workCursor + dstWork)*workSize + packInWork*16;\n      *(ulong2*)dst = tmp;\n    }\n    workCursor += nWorks;\n\n    if (batch.nextExtends) {\n      batchIx += batch.nextJump;\n      tid -= 64; // Rotate threads so we use the next two warps for next batch struct.\n      if (tid < 0) tid += tn;\n    } else {\n      if (tid == 0) {\n        ncclShmem.batchIx = batchIx;\n        ncclShmem.nextBatchIx = (batch.nextJump == 0) ? -1 : batchIx + batch.nextJump;\n        ncclShmem.workType = (enum ncclDevWorkType)batch.workType;\n        ncclShmem.nWorks = workCursor;\n        ncclShmem.funcId = batch.funcId;\n      }\n      break;\n    }\n  }\n}\n\n__device__ __forceinline__ unsigned long long int globaltimer() {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  return wall_clock64();\n#else\n  unsigned long long int timer;\n  asm volatile(\"mov.u64 %0, %%globaltimer;\" : \"=l\"(timer));\n  return timer;\n#endif\n}\n\ntemplate<ncclFunc_t Fn, typename T, typename RedOp, int Algo, int Proto, int USE_ACC, int COLL_UNROLL, int Pipeline>\nstruct RunWorkColl {\n  __device__ void run(int tid, int tn, struct ncclDevWorkColl* work) {\n    // Put NOT IMPLEMENTED behavior here.\n  }\n};\n\ntemplate<ncclFunc_t Fn, typename T, typename RedOp, int Algo, int Proto, int USE_ACC, int COLL_UNROLL, int Pipeline>\nstruct RunWorkBatch;\n\n// Specialized for P2p in sendrecv.h\ntemplate<typename T, typename RedOp>\nstruct RunWorkBatch<ncclFuncSendRecv, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_SIMPLE>;\n\n// Specialized here for non-P2p (Coll and CollReg)\ntemplate<ncclFunc_t Fn, typename T, typename RedOp, int Algo, int Proto,  int USE_ACC, int COLL_UNROLL, int Pipeline>\nstruct RunWorkBatch {\n  // This __forceinline__ is necessary. The compiler was inserting a function call\n  // here from the LL ncclKernel.\n  __device__ __forceinline__ void run() {\n    int tid = threadIdx.x;\n    int tn = blockDim.x;\n\n    if (RedOpArg<RedOp>::ArgUsed) {\n      int nWorks = ncclShmem.nWorks;\n      for (int w=tid; w < nWorks; w += tn) {\n        struct ncclDevWorkColl* work = (ncclDevWorkColl*)(ncclShmem.workStorage + w*ncclShmem.workSize);\n        if (work->redOpArgIsPtr) {\n          work->redOpArg = RedOpArg<RedOp>::loadArg(reinterpret_cast<void*>(work->redOpArg));\n        }\n      }\n      __syncthreads();\n    }\n\n    #pragma unroll 1\n    for (int w=0; w < ncclShmem.nWorks; w++) {\n      struct ncclDevWorkColl* work = (struct ncclDevWorkColl*)(ncclShmem.workStorage + w*ncclShmem.workSize);\n      if (w != 0) {\n        struct ncclDevWorkColl* workPrev = (struct ncclDevWorkColl*)(ncclShmem.workStorage + (w-1)*ncclShmem.workSize);\n        if (work->nWarps != workPrev->nWarps) __syncthreads();\n      }\n      int subtn = work->nWarps*WARP_SIZE;\n#ifdef ENABLE_WARP_SPEED\n      if (tid < subtn) {\n        if(ncclShmem.warpComm == 0 || Algo != NCCL_ALGO_RING) RunWorkColl<Fn, T, RedOp, Algo, Proto>().run(tid, subtn, work);\n        else if (ncclShmem.warpChannelId[tid / WARP_SIZE] >= 0) RunWorkColl<Fn, T, RedOp, Algo, Proto>().run(tid % WARP_SIZE, WARP_SIZE, work);\n      }\n#else\n      // Coverity reports a possible thread divergence due to not all threads participating in the collective.\n      // However, the code ensures that the participation is on a per-warp basis.\n      // coverity[device_thread_diverged:FALSE]\n      if (tid < subtn) RunWorkColl<Fn, T, RedOp, Algo, Proto>().run(tid, subtn, work);\n#endif\n    }\n  }\n};\n\n#define START 0\n#define STOP  1\n#define FINI  2\n\n__device__ __forceinline__ bool profilerEnabled(int workItemIdx) {\n  return (ncclShmem.workType == ncclDevWorkTypeP2p) ?\n    ((struct ncclDevWorkP2p*)ncclShmem.workStorage)[workItemIdx].profilerEnabled :\n    ((struct ncclDevWorkColl*)ncclShmem.workStorage)[workItemIdx].profilerEnabled;\n}\n\n__device__ __forceinline__ void profiler(int action) {\n  if (threadIdx.x == 0) {\n    int idx = 0;\n    uint64_t wc = ncclShmem.channel.workCounter + 1;\n    if (action == START) {\n      for (; wc <= ncclShmem.channel.workCounter + ncclShmem.nWorks; wc++) {\n        if (!profilerEnabled(idx++)) continue;\n        ncclShmem.comm.workStarted[ncclShmem.channelId].data[wc%MAX_PROFILER_EVENTS_PER_CHANNEL].timestamp = globaltimer();\n        ncclShmem.comm.workStarted[ncclShmem.channelId].data[wc%MAX_PROFILER_EVENTS_PER_CHANNEL].counter = wc;\n      }\n    } else {\n      for (; wc <= ncclShmem.channel.workCounter + ncclShmem.nWorks; wc++) {\n        if (!profilerEnabled(idx++)) continue;\n        ncclShmem.comm.workCompleted[ncclShmem.channelId].data[wc%MAX_PROFILER_EVENTS_PER_CHANNEL].timestamp = globaltimer();\n        ncclShmem.comm.workCompleted[ncclShmem.channelId].data[wc%MAX_PROFILER_EVENTS_PER_CHANNEL].counter = wc;\n      }\n      ncclShmem.channel.workCounter += ncclShmem.nWorks;\n      if (action == FINI) ((ncclKernelCommAndChannels*)ncclShmem.args.comm)->channels[ncclShmem.channelId].workCounter = ncclShmem.channel.workCounter;\n    }\n  }\n}\n\ntemplate<int SpecializedFnId, typename SpecializedRunWorkBatch, bool COLLTRACE, int COLL_UNROLL>\n__device__ __forceinline__ void ncclKernelMain(struct ncclDevKernelArgs const* args) {\n  const int tid = threadIdx.x;\n  int tn = blockDim.x;\n  int x = tid;\n  int total = 0, y;\n  int num = MAXCHANNELS/64 > 0 ? MAXCHANNELS/64 : 1;\n#ifdef ENABLE_WARP_SPEED\n  int warpCount    = tn / WARP_SIZE;\n  int localWarpId  = tid / WARP_SIZE;\n  int globalWarpId = (warpCount * blockIdx.x) + localWarpId;\n  int laneId = tid % WARP_SIZE;\n#endif\n  // Copy kernel args to shmem and then only read those. Otherwise the compiler\n  // will end up putting the args into thread local stack which is very wasteful.\n  if (tid < sizeof(ncclDevKernelArgs)/sizeof(uint32_t)) {\n    ((uint32_t*)&ncclShmem.args)[tid] = ((uint32_t*)args)[tid];\n  }\n\n  // To map blockId to channelId, we need the n'th set bit of channelMask which\n  // is the inverse of counting the number of set bits among the the first n.\n  // PTX has the fns instruction which does this but is extremely slow. We can\n  // do better when we know all threads are querying the same bitmask.\n  switch (tid/WARP_SIZE) {\n  case 0:\n  //ncclShmem.channelId = blockIdx.x;\n    for (int i = 0; i < num; i++) {\n      if (args->channelMask.masks[i] & (1ull<<x)) {\n        y = __popcll(args->channelMask.masks[i] & ((1ull<<x)-1));\n        y = total + y;\n        if (blockIdx.x == y) {\n          ncclShmem.channelId = x + total;\n          break;\n        }\n      }\n      if (WARP_SIZE < 64) {\n        x = WARP_SIZE + tid;\n        if (args->channelMask.masks[i] & (1ull<<x)) {\n          y = __popcll(args->channelMask.masks[i] & ((1ull<<x)-1));\n          y = y + total;\n          if (blockIdx.x == y) {\n            ncclShmem.channelId = x + total;\n            break;\n          }\n        }\n      }\n      total = total + __popcll(args->channelMask.masks[i]);\n    }\n    break;\n  case 1:\n    if (tid < WARP_SIZE + NCCL_MAX_GROUPS) {\n      if (tid == WARP_SIZE) ncclShmem.barrier_pat = 0;\n      ncclShmem.groups[tid-WARP_SIZE].barrier = 0;\n    }\n    break;\n  case 2:\n#ifdef ENABLE_FAULT_INJECTION\n    /* load faults injection before first sync threads */\n    if (tid == 2*WARP_SIZE) ncclShmem.faults = args->comm->faults;\n#endif\n    break;\n  case 3:\n    /* set abort flag to 0 */\n    if (tid == 3*WARP_SIZE) ncclShmem.aborted = 0;\n    break;\n  default:\n    break;\n  }\n  __syncthreads(); // publish ncclShmem.{args, channelId}\n  /* set abort flag to 0 */\n  if (tid == 0) {\n    ncclShmem.aborted = 0;\n    ncclShmem.channel.workCounter = ((ncclKernelCommAndChannels*)ncclShmem.args.comm)->channels[ncclShmem.channelId].workCounter;\n  }\n\n  // Use first 2 warps to load comm and channel, and remaining load work batch.\n  switch (tid/WARP_SIZE) {\n  case 0:\n    { void* dst = &ncclShmem.comm;\n      void* src = ncclShmem.args.comm;\n      int bytes = sizeof(ncclKernelComm);\n      static_assert(sizeof(ncclKernelComm) <= 16*WARP_SIZE, \"ncclKernelComm cannot be loaded by a single warp in one insn.\");\n      copyToShmem16(tid, dst, src, bytes);\n    } break;\n  case 1:\n    { // Get address of channel without incurring indirect load from ncclKernelComm::channels\n      void* dst = &ncclShmem.channel;\n      void* src = &((ncclKernelCommAndChannels*)ncclShmem.args.comm)->channels[ncclShmem.channelId];\n      int bytes = sizeof(ncclDevChannel);\n      static_assert(sizeof(ncclDevChannel) <= 16*WARP_SIZE, \"ncclDevChannel cannot be loaded by a single warp in one insn.\");\n      copyToShmem16(tid-WARP_SIZE, dst, src, bytes);\n    } break;\n  default:\n    { int subtid = tid - 2*WARP_SIZE;\n      int subtn = tn - 2*WARP_SIZE;\n      // Coverity reports a possible thread divergence due to not all threads participating in the collective.\n      // However, the code ensures that the participation is on a per-warp basis.\n      // coverity[device_thread_diverged:FALSE]\n      loadWorkBatchToShmem(subtid, subtn, args, /*batchIx=*/blockIdx.x);\n    } break;\n  }\n#ifdef ENABLE_COLLTRACE\n  if (tid == 0) {\n    ncclShmem.collTrace = args->comm->collTrace + COLLTRACE_NUM_ITEMS*ncclShmem.channelId;\n    ncclShmem.collTraceTail = args->comm->collTraceTail + ncclShmem.channelId;\n  }\n#endif\n#ifdef ENABLE_WARP_SPEED\n  if(tid == 0) {\n    ncclShmem.warpComm = args->comm->warpLevelComm;\n  }\n#endif\n  __syncthreads(); // publish shmem\n\n#ifdef ENABLE_WARP_SPEED\n  // Determine per-warp channel assignment for WarpSpeed enablement\n  total = 0;\n  if(ncclShmem.warpComm == 1) {  // If warpComm is enabled, assign warps to channels that have the corresponding channel mask enabled\n    ncclShmem.warpChannelId[localWarpId] = -1;\n     __syncthreads();\n    for (int i = 0; i < num; i++) {\n      if (args->channelMask.masks[i] & (1ull<<laneId)) {\n        y = __popcll(args->channelMask.masks[i] & ((1ull<<laneId)-1));\n        y = total + y;\n        if (globalWarpId == y) {\n          ncclShmem.warpChannelId[localWarpId] = laneId + total;\n          break;\n        }\n      }\n      total = total + __popcll(args->channelMask.masks[i]);\n    }\n    __syncthreads();\n    if(ncclShmem.warpChannelId[localWarpId] >= 0) {\n      void* dst = &ncclShmem.warpChannel[localWarpId];\n      void* src = &((ncclKernelCommAndChannels*)ncclShmem.args.comm)->channels[ncclShmem.warpChannelId[localWarpId]];\n      int bytes = sizeof(ncclDevChannel);\n      static_assert(sizeof(ncclDevChannel) <= 16*WARP_SIZE, \"ncclDevChannel cannot be loaded by a single warp in one insn.\");\n      // assert((tid-localWarpId*WARP_SIZE) >= 0 && (tid-localWarpId*WARP_SIZE) < WARP_SIZE);\n      copyToShmem16(tid-localWarpId*WARP_SIZE, dst, src, bytes);\n    }\n  } else {  // If warpComm is disabled, all warps use the same channel as the block\n    if(laneId == 0) {\n      ncclShmem.warpChannelId[localWarpId] = ncclShmem.channelId;\n    }\n    // Use all threads in the warp to copy the channel data in parallel\n    void* dst = &ncclShmem.warpChannel[localWarpId];\n    void* src = &ncclShmem.channel;\n    int bytes = sizeof(ncclDevChannel);\n    copyToShmem16(laneId, dst, src, bytes);\n  }\n  __syncthreads();\n#endif\n#ifdef ENABLE_PROFILING\n  if (tid == 0) {\n    ncclShmem.prof.count = 0;\n    ncclShmem.prof.seq = ncclShmem.comm.devProf[blockIdx.x].seq;\n  }\n#endif\n  if (tid == 0) __insert_timestamp(__LINE__);\n  if (COLLTRACE && tid%WARP_SIZE == 0) traceKernelLaunch(ncclCollTraceKernelLaunchType, 0);\n\n  while (ncclShmem.aborted == 0) {\n    if (tid == 0) __insert_timestamp(__LINE__);\n    profiler(START);\n    if (0 <= SpecializedFnId && ncclShmem.funcId == (unsigned)SpecializedFnId) {\n      SpecializedRunWorkBatch().run();\n    } else {\n#ifdef USE_INDIRECT_FUNCTION_CALL\n      if (COLL_UNROLL == 1)\n        ncclDevFuncTable_1[ncclShmem.funcId]();\n      else if (COLL_UNROLL == 2)\n        ncclDevFuncTable_2[ncclShmem.funcId]();\n      else\n        ncclDevFuncTable_4[ncclShmem.funcId]();\n#else\n      if (COLL_UNROLL == 1)\n        NCCL_CALL_FUNCTIONS_1(ncclShmem.funcId);\n      else if (COLL_UNROLL == 2)\n        NCCL_CALL_FUNCTIONS_2(ncclShmem.funcId);\n      else\n        NCCL_CALL_FUNCTIONS_4(ncclShmem.funcId);\n#endif\n    }\n\n    if (ncclShmem.nextBatchIx == -1) break;\n    int batchIx = ncclShmem.nextBatchIx;\n    __syncthreads();\n    switch (tid/WARP_SIZE) {\n      case 1:\n        if (tid < WARP_SIZE + NCCL_MAX_GROUPS) {\n          if (tid == WARP_SIZE) ncclShmem.barrier_pat = 0;\n          ncclShmem.groups[tid-WARP_SIZE].barrier = 0;\n        }\n        break;\n      default:\n        break;\n    }\n    profiler(STOP);\n    loadWorkBatchToShmem(tid%WARP_SIZE, tn, args, batchIx);\n    __syncthreads();\n    if (COLLTRACE && tid%WARP_SIZE == 0) traceKernelLaunch(ncclCollTraceCollLaunchType, batchIx);\n  }\n  profiler(FINI);\n  if (COLLTRACE && tid%WARP_SIZE == 0) traceKernelEnd(ncclCollTraceKernelEndType);\n\n#ifdef ENABLE_PROFILING\n  if (ncclShmem.comm.devProf->seq < PROFILE_NUM_LAUNCHES) {\n    __syncthreads();\n    copyToShmem16(tid, ncclShmem.comm.devProf+MAXCHANNELS*ncclShmem.prof.seq+blockIdx.x, &ncclShmem.prof, sizeof(struct ncclProf));\n    if (tid == 0) ncclShmem.comm.devProf[blockIdx.x].seq++;\n  }\n#endif\n}\n\n__global__ void ncclDevKernel_Generic_1(ncclDevKernelArgsDefaultStorage NCCL_GRID_CONSTANT const argsStorage);\n__global__ void ncclDevKernel_Generic_2(ncclDevKernelArgsDefaultStorage NCCL_GRID_CONSTANT const argsStorage);\n__global__ void ncclDevKernel_Generic_4(ncclDevKernelArgsDefaultStorage NCCL_GRID_CONSTANT const argsStorage);\n#ifdef ENABLE_COLLTRACE\n__global__ void ncclDevKernelDebug_Generic_1(ncclDevKernelArgsDefaultStorage NCCL_GRID_CONSTANT const argsStorage);\n__global__ void ncclDevKernelDebug_Generic_2(ncclDevKernelArgsDefaultStorage NCCL_GRID_CONSTANT const argsStorage);\n__global__ void ncclDevKernelDebug_Generic_4(ncclDevKernelArgsDefaultStorage NCCL_GRID_CONSTANT const argsStorage);\n#endif\n\n#define DEFINE_ncclDevKernel_nop(suffix, coll, redop, ty, algo, proto, specializedFnId) \\\n  __global__ void ncclDevKernel_##suffix(ncclDevKernelArgsDefaultStorage NCCL_GRID_CONSTANT const argsStorage) {}\n\n#ifdef USE_INDIRECT_FUNCTION_CALL\n#define DEFINE_ncclDevFunc(suffix, coll, redop, ty, algo, proto, acc, pipeline, unroll) \\\n  __device__ void ncclDevFunc_##suffix() { \\\n    RunWorkBatch<coll, ty, redop<ty>, algo, proto, acc, unroll, pipeline>().run(); \\\n  }\n#else\n#define DEFINE_ncclDevFunc(suffix, coll, redop, ty, algo, proto, acc, pipeline, unroll) \\\n  __device__ __attribute__((noinline)) void ncclDevFunc_##suffix() { \\\n    RunWorkBatch<coll, ty, redop<ty>, algo, proto, acc, unroll, pipeline>().run(); \\\n  }\n#endif\n\n#endif\n"
  },
  {
    "path": "src/device/common_kernel.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_COMMON_KERNEL_H_\n#define NCCL_COMMON_KERNEL_H_\n\n#include \"device.h\"\n#include \"op128.h\"\n#include \"reduce_kernel.h\"\n#include <cstdio>\n#include <cstdint>\n\n#include <hip/hip_runtime.h>\n\n#define __syncwarp()\n\n// Define min for ssize_t\ninline __device__ int min(int a, ssize_t b) { return (a < b) ? a : b; }\n\ninline __device__ int loadInt(int* ptr) {\n  int v;\n  v = __atomic_load_n(ptr, __ATOMIC_RELAXED);\n  return v;\n}\n\ntemplate<typename RedFn, typename T, int Unroll, int BytePerPack,\n         int MultimemSrcs, int MinSrcs, int MaxSrcs,\n         int MultimemDsts, int MinDsts, int MaxDsts, int PreOpSrcs,\n         typename IntBytes, typename SrcPtrFn, typename DstPtrFn>\n__device__ __forceinline__ static void reduceCopyPacks(\n    int nThreads, int &thread,\n    uint64_t redArg, uint64_t *preOpArgs, bool postOp,\n    int nSrcs, SrcPtrFn const &srcPtrFn, int nDsts, DstPtrFn const &dstPtrFn,\n    IntBytes &nBytesBehind, IntBytes &nBytesAhead\n  ) {\n  static_assert(std::is_signed<IntBytes>::value, \"IntBytes must be a signed integral type.\");\n  //if (BytePerPack == 0) __trap();\n\n  // A hunk is the amount of contiguous data a warp consumes per loop iteration\n  // assuming all threads partake.\n  constexpr int BytePerHunk = Unroll*WARP_SIZE*BytePerPack;\n  int nWarps = nThreads/WARP_SIZE;\n  int warp = thread/WARP_SIZE;\n  int lane = thread%WARP_SIZE;\n\n  // This thread's initial position.\n  IntBytes threadBytesBehind = nBytesBehind + (warp*BytePerHunk + lane*BytePerPack);\n  IntBytes threadBytesAhead = nBytesAhead - (warp*BytePerHunk + lane*BytePerPack);\n  // Number of hunks to be consumed over all warps.\n  IntBytes nHunksAhead = nBytesAhead/(BytePerHunk + !BytePerHunk);\n  // Advance collective position.\n  nBytesBehind += nHunksAhead*BytePerHunk;\n  nBytesAhead -= nHunksAhead*BytePerHunk;\n  if (Unroll==1 && BytePerPack <= nBytesAhead) {\n    // Only Unroll=1 can do partial hunks (where not all threads partake).\n    nHunksAhead += 1;\n    nBytesBehind += nBytesAhead - (nBytesAhead%(BytePerPack + !BytePerPack));\n    nBytesAhead = nBytesAhead%(BytePerPack + !BytePerPack);\n  }\n  nHunksAhead -= warp;\n\n  RedFn redFn(redArg);\n  uintptr_t minSrcs[MinSrcs + !MinSrcs];\n  uintptr_t minDsts[MinDsts + !MinDsts];\n  #pragma unroll\n  for (int s=0; s < MinSrcs; s++) {\n    minSrcs[s] = cvta_to_global(srcPtrFn(s)) + threadBytesBehind;\n  }\n\n  #pragma unroll\n  for (int d=0; d < MinDsts; d++) {\n    // Yes, for some template arguments this code will be unreachable.  That's fine.\n    // coverity[dead_error_line]\n    minDsts[d] = cvta_to_global(dstPtrFn(d)) + threadBytesBehind;\n  }\n\n  // We dictate loop termination condition according to whether partial hunks\n  // can be handled or not.\n  while (Unroll==1 ? (BytePerPack <= threadBytesAhead) : (0 < nHunksAhead)) {\n    BytePack<BytePerPack> acc[Unroll];\n\n    // minSrcs[0] cannot be nullptr so we always process it\n    { RedFn preFn(0 < PreOpSrcs ? preOpArgs[0] : 0);\n      #pragma unroll Unroll\n      for (int u=0; u < Unroll; u++) {\n        if (0 < MultimemSrcs) {\n          // applyLoadMultimem uses relaxed semantics for same reason we use volatile below.\n          acc[u] = applyLoadMultimem<RedFn, BytePerPack>(redFn, minSrcs[0]);\n        } else {\n          // Use volatile loads in case credits are polled for with volatile (instead of acquire).\n          acc[u] = ld_volatile_global<BytePerPack>(minSrcs[0]);\n          if (0 < PreOpSrcs) acc[u] = applyPreOp(preFn, acc[u]);\n        }\n        minSrcs[0] += WARP_SIZE*BytePerPack;\n      }\n    }\n\n    #pragma unroll Unroll\n    for (int s=1; s < MinSrcs; s++) {\n      // Yes, for some template arguments this code will be unreachable.  That's fine.\n      // coverity[dead_error_begin]\n      BytePack<BytePerPack> tmp[Unroll];\n      // coverity[dead_error_line]\n      RedFn preFn(s < PreOpSrcs ? preOpArgs[s] : 0);\n      #pragma unroll Unroll\n      for (int u=0; u < Unroll; u++) {\n        if (s < MultimemSrcs) {\n          // applyLoadMultimem uses relaxed semantics for same reason we use volatile below.\n          // coverity[dead_error_line]\n          tmp[u] = applyLoadMultimem<RedFn, BytePerPack>(redFn, minSrcs[s]);\n        } else {\n          // Use volatile loads in case credits are polled for with volatile (instead of acquire).\n          tmp[u] = ld_volatile_global<BytePerPack>(minSrcs[s]);\n        }\n        minSrcs[s] += WARP_SIZE*BytePerPack;\n      }\n      #pragma unroll Unroll\n      for (int u=0; u < Unroll; u++) {\n        // coverity[dead_error_line]\n        if (s < PreOpSrcs) tmp[u] = applyPreOp(preFn, tmp[u]);\n        acc[u] = applyReduce(redFn, acc[u], tmp[u]);\n      }\n    }\n\n    for (int s=MinSrcs; (MinSrcs < MaxSrcs) && (s < MaxSrcs) && (s < nSrcs); s++) {\n      uintptr_t src = cvta_to_global(srcPtrFn(s)) + threadBytesBehind;\n      BytePack<BytePerPack> tmp[Unroll];\n      // Yes, for some template arguments this code will be unreachable.  That's fine.\n      // coverity[dead_error_line]\n      RedFn preFn(s < PreOpSrcs ? preOpArgs[s] : 0);\n      #pragma unroll Unroll\n      for (int u=0; u < Unroll; u++) {\n        // Use volatile loads in case credits are polled for with volatile (instead of acquire).\n        tmp[u] = ld_volatile_global<BytePerPack>(src);\n        src += WARP_SIZE*BytePerPack;\n      }\n      #pragma unroll Unroll\n      for (int u=0; u < Unroll; u++) {\n        // Yes, for some template arguments this code will be unreachable.  That's fine.\n        // coverity[dead_error_line]\n        if (s < PreOpSrcs) tmp[u] = applyPreOp(preFn, tmp[u]);\n        acc[u] = applyReduce(redFn, acc[u], tmp[u]);\n      }\n    }\n\n    if (postOp) {\n      #pragma unroll Unroll\n      for (int u=0; u < Unroll; u++)\n        acc[u] = applyPostOp(redFn, acc[u]);\n    }\n\n    #pragma unroll Unroll\n    for (int d=0; d < MinDsts; d++) {\n      #pragma unroll Unroll\n      // Yes, for some template arguments this code will be unreachable.  That's fine.\n      // coverity[dead_error_begin]\n      for (int u=0; u < Unroll; u++) {\n        // coverity[dead_error_condition]\n        if (d < MultimemDsts) {\n          multimem_st_global(minDsts[d], acc[u]);\n        } else {\n          st_global<BytePerPack>(minDsts[d], acc[u]);\n        }\n        minDsts[d] += WARP_SIZE*BytePerPack;\n      }\n    }\n    for (int d=MinDsts; (MinDsts < MaxDsts) && (d < MaxDsts) && (d < nDsts); d++) {\n      uintptr_t dstPtr = cvta_to_global(dstPtrFn(d));\n      uintptr_t dst = dstPtr + threadBytesBehind;\n      #pragma unroll Unroll\n      for (int u=0; u < Unroll; u++) {\n        st_global<BytePerPack>(dst, acc[u]);\n        dst += WARP_SIZE*BytePerPack;\n      }\n    }\n\n    nWarps = nThreads/WARP_SIZE;\n    #pragma unroll\n    for (int s=0; s < MinSrcs; s++) {\n      minSrcs[s] += (nWarps-1)*BytePerHunk;\n    }\n    #pragma unroll\n    // Yes, for some template arguments this code will be unreachable.  That's fine.\n    // coverity[dead_error_line]\n    for (int d=0; d < MinDsts; d++) {\n      minDsts[d] += (nWarps-1)*BytePerHunk;\n    }\n    threadBytesBehind += nWarps*BytePerHunk;\n    threadBytesAhead -= nWarps*BytePerHunk;\n    nHunksAhead -= nWarps;\n  }\n\n  nWarps = nThreads/WARP_SIZE;\n  warp = thread/WARP_SIZE;\n  lane = thread%WARP_SIZE;\n  // The last loop iteration could have been partial, i.e. not taken by all\n  // threads. The threads that weren't included need an extra subtraction to\n  // make the value warp uniform.\n  if (Unroll==1 && nHunksAhead > 0) nHunksAhead -= nWarps;\n  // Rotate warps so the warp which got the least work here will be warp 0.\n  // This effectively assigns: warp = (warp-nHunks+nWarps)%nWarps;\n  warp = -nHunksAhead;\n  thread = warp*WARP_SIZE + lane;\n}\n\ntemplate <typename RedFn, typename SrcPtrFn, typename IntBytes, int MultimemSrcs, int MinSrcs, int MaxSrcs, int PreOpSrcs, int Unroll, int BytePerPack>\n__device__ __forceinline__ void loadSources(\n  const RedFn& redFn,\n  const SrcPtrFn& srcPtrFn,\n  IntBytes& globalOffset,\n  uintptr_t* minSrcs,\n  uint64_t *preOpArgs,\n  BytePack<BytePerPack> buff[MaxSrcs + !MaxSrcs][Unroll],\n  int nSrcs\n) {\n  #pragma unroll Unroll\n  for (int s = 0; s < MinSrcs; s++) {\n    RedFn preFn(s < PreOpSrcs ? preOpArgs[s] : 0);\n    #pragma unroll Unroll\n    for (int u = 0; u < Unroll; u++) {\n      if (s < MultimemSrcs) {\n        buff[s][u] = applyLoadMultimem<RedFn, BytePerPack>(redFn, minSrcs[s]);\n      } else {\n        buff[s][u] = ld_volatile_global<BytePerPack>(minSrcs[s]);\n      }\n      minSrcs[s] += WARP_SIZE * BytePerPack;\n    }\n  }\n  for (int s = MinSrcs; (MinSrcs < MaxSrcs) && (s < MaxSrcs) && (s < nSrcs); s++) {\n    uintptr_t src = cvta_to_global(srcPtrFn(s)) + globalOffset;\n    #pragma unroll Unroll\n    for (int u = 0; u < Unroll; u++) {\n      buff[s][u] = ld_volatile_global<BytePerPack>(src);\n      src += WARP_SIZE * BytePerPack;\n    }\n  }\n}\n\ntemplate <typename RedFn, typename DstPtrFn, typename IntBytes, int MultimemDsts, int MinSrcs, int MaxSrcs, int MinDsts, int MaxDsts, int PreOpSrcs, int Unroll, int BytePerPack>\n  __device__ __forceinline__ void reduceAndStore(\n  RedFn redFn, uint64_t *preOpArgs, BytePack<BytePerPack> buff[MaxSrcs + !MaxSrcs][Unroll],\n  uintptr_t *minDsts, bool postOp, int nDsts, DstPtrFn const &dstPtrFn, IntBytes tailThreadBytesBehind, int nSrcs) {\n  for (int s = 0; s < MinSrcs; s++) {\n    RedFn preFn(s < PreOpSrcs ? preOpArgs[s] : 0);\n    #pragma unroll Unroll\n    for (int u = 0; u < Unroll; u++) {\n      if (s < PreOpSrcs) buff[s][u] = applyPreOp(preFn, buff[s][u]);\n      if (s > 0) buff[0][u] = applyReduce(redFn, buff[0][u], buff[s][u]);\n    }\n  }\n  for (int s = MinSrcs; (MinSrcs < MaxSrcs) && (s < MaxSrcs) && (s < nSrcs); s++) {\n    RedFn preFn(s < PreOpSrcs ? preOpArgs[s] : 0);\n    #pragma unroll Unroll\n    for (int u = 0; u < Unroll; u++) {\n      if (s < PreOpSrcs) buff[s][u] = applyPreOp(preFn, buff[s][u]);\n      buff[0][u] = applyReduce(redFn, buff[0][u], buff[s][u]);\n    }\n  }\n  if (postOp) {\n    #pragma unroll Unroll\n    for (int u = 0; u < Unroll; u++)\n      buff[0][u] = applyPostOp(redFn, buff[0][u]);\n  }\n\n  #pragma unroll Unroll\n  for (int d = 0; d < MinDsts; d++) {\n    #pragma unroll Unroll\n    for (int u = 0; u < Unroll; u++) {\n      if (d < MultimemDsts) {\n        multimem_st_global(minDsts[d], buff[0][u]);\n      } else {\n        st_global<BytePerPack>(minDsts[d], buff[0][u]);\n      }\n      minDsts[d] += WARP_SIZE * BytePerPack;\n    }\n  }\n  for (int d = MinDsts; (MinDsts < MaxDsts) && (d < MaxDsts) && (d < nDsts); d++) {\n    uintptr_t dstPtr = cvta_to_global(dstPtrFn(d));\n    uintptr_t dst = dstPtr + tailThreadBytesBehind;\n    #pragma unroll Unroll\n    for (int u = 0; u < Unroll; u++) {\n      st_global<BytePerPack>(dst, buff[0][u]);\n      dst += WARP_SIZE * BytePerPack;\n    }\n  }\n}\n\ntemplate<typename RedFn, typename T, int Unroll, int BytePerPack,\n         int MultimemSrcs, int MinSrcs, int MaxSrcs,\n         int MultimemDsts, int MinDsts, int MaxDsts, int PreOpSrcs,\n         typename IntBytes, typename SrcPtrFn, typename DstPtrFn>\n__device__ __forceinline__ static void reduceCopyPacksPipelined(\n    int nThreads, int &thread,\n    uint64_t redArg, uint64_t *preOpArgs, bool postOp,\n    int nSrcs, SrcPtrFn const &srcPtrFn, int nDsts, DstPtrFn const &dstPtrFn,\n    IntBytes &nBytesBehind, IntBytes &nBytesAhead\n  ) {\n  static_assert(std::is_signed<IntBytes>::value, \"IntBytes must be a signed integral type.\");\n  static_assert(MinSrcs <= MaxSrcs, \"MinSrcs must be less than or equal to MaxSrcs.\");\n  //if (BytePerPack == 0) __trap();\n\n  // A hunk is the amount of contiguous data a warp consumes per loop iteration\n  // assuming all threads partake.\n  constexpr int BytePerHunk = Unroll*WARP_SIZE*BytePerPack;\n  int nWarps = nThreads/WARP_SIZE;\n  int warp = thread/WARP_SIZE;\n  int lane = thread%WARP_SIZE;\n\n  // This thread's initial position.\n  IntBytes threadBytesBehind = nBytesBehind + (warp*BytePerHunk + lane*BytePerPack);\n  IntBytes threadBytesAhead = nBytesAhead - (warp*BytePerHunk + lane*BytePerPack);\n  // Number of hunks to be consumed over all warps.\n  IntBytes nHunksAhead = nBytesAhead/(BytePerHunk + !BytePerHunk);\n  // Advance collective position.\n  nBytesBehind += nHunksAhead*BytePerHunk;\n  nBytesAhead -= nHunksAhead*BytePerHunk;\n  if (Unroll==1 && BytePerPack <= nBytesAhead) {\n    // Only Unroll=1 can do partial hunks (where not all threads partake).\n    nHunksAhead += 1;\n    nBytesBehind += nBytesAhead - (nBytesAhead%(BytePerPack + !BytePerPack));\n    nBytesAhead = nBytesAhead%(BytePerPack + !BytePerPack);\n  }\n  nHunksAhead -= warp;\n\n  RedFn redFn(redArg);\n  uintptr_t minSrcs[MinSrcs + !MinSrcs];\n  uintptr_t minDsts[MinDsts + !MinDsts];\n  #pragma unroll\n  for (int s=0; s < MinSrcs; s++) {\n    minSrcs[s] = cvta_to_global(srcPtrFn(s)) + threadBytesBehind;\n  }\n\n  #pragma unroll\n  for (int d=0; d < MinDsts; d++) {\n    // Yes, for some template arguments this code will be unreachable.  That's fine.\n    // coverity[dead_error_line]\n    minDsts[d] = cvta_to_global(dstPtrFn(d)) + threadBytesBehind;\n  }\n  BytePack<BytePerPack> acc1[MaxSrcs + !MaxSrcs][Unroll];\n  BytePack<BytePerPack> acc2[MaxSrcs + !MaxSrcs][Unroll];\n  bool tailProcess = false;\n  IntBytes tailThreadBytesBehind;\n  // We dictate loop termination condition according to whether partial hunks\n  // can be handled or not.\n  while (Unroll==1 ? (BytePerPack <= threadBytesAhead) : (0 < nHunksAhead)) {\n\n    // load sources into acc1\n    loadSources<RedFn, SrcPtrFn, IntBytes, MultimemSrcs, MinSrcs, MaxSrcs, PreOpSrcs, Unroll, BytePerPack>(\n      redFn, srcPtrFn, threadBytesBehind, minSrcs, preOpArgs, acc1, nSrcs\n    );\n\n    if(tailProcess) {\n      reduceAndStore<RedFn, DstPtrFn, IntBytes, MultimemDsts, MinSrcs, MaxSrcs, MinDsts, MaxDsts, PreOpSrcs, Unroll, BytePerPack>(\n        redFn, preOpArgs, acc2, minDsts, postOp, nDsts, dstPtrFn, tailThreadBytesBehind, nSrcs\n      );\n\n      #pragma unroll\n      for (int d=0; d < MinDsts; d++) {\n        minDsts[d] += (nWarps-1)*BytePerHunk;\n      }\n    }\n\n    #pragma unroll\n    for (int s=0; s < MinSrcs; s++) {\n      minSrcs[s] += (nWarps-1)*BytePerHunk;\n    }\n    threadBytesAhead -= nWarps*BytePerHunk;\n    nHunksAhead -= nWarps;\n    tailProcess = Unroll==1 ? (BytePerPack <= threadBytesAhead) : (0 < nHunksAhead);\n\n    tailThreadBytesBehind = threadBytesBehind;\n    threadBytesBehind += nWarps*BytePerHunk;\n    if(tailProcess) {\n      loadSources<RedFn, SrcPtrFn, IntBytes, MultimemSrcs, MinSrcs, MaxSrcs, PreOpSrcs, Unroll, BytePerPack>(\n        redFn, srcPtrFn, threadBytesBehind, minSrcs, preOpArgs, acc2, nSrcs\n      );\n    }\n    reduceAndStore<RedFn, DstPtrFn, IntBytes, MultimemDsts, MinSrcs, MaxSrcs, MinDsts, MaxDsts, PreOpSrcs, Unroll, BytePerPack>(\n      redFn, preOpArgs, acc1, minDsts, postOp, nDsts, dstPtrFn, tailThreadBytesBehind, nSrcs\n    );\n\n    if(tailProcess) {\n      #pragma unroll\n      for (int d=0; d < MinDsts; d++) {\n        minDsts[d] += (nWarps-1)*BytePerHunk;\n      }\n      #pragma unroll\n      for (int s=0; s < MinSrcs; s++) {\n        minSrcs[s] += (nWarps-1)*BytePerHunk;\n      }\n      tailThreadBytesBehind = threadBytesBehind;\n      threadBytesBehind += nWarps*BytePerHunk;\n      threadBytesAhead -= nWarps*BytePerHunk;\n      nHunksAhead -= nWarps;\n    }\n  }\n\n  if(tailProcess) {\n    reduceAndStore<RedFn, DstPtrFn, IntBytes, MultimemDsts, MinSrcs, MaxSrcs, MinDsts, MaxDsts, PreOpSrcs, Unroll, BytePerPack>(\n      redFn, preOpArgs, acc2, minDsts, postOp, nDsts, dstPtrFn, tailThreadBytesBehind, nSrcs\n    );\n  }\n  nWarps = nThreads/WARP_SIZE;\n  warp = thread/WARP_SIZE;\n  lane = thread%WARP_SIZE;\n  // The last loop iteration could have been partial, i.e. not taken by all\n  // threads. The threads that weren't included need an extra subtraction to\n  // make the value warp uniform.\n  if (Unroll==1 && nHunksAhead > 0) nHunksAhead -= nWarps;\n  // Rotate warps so the warp which got the least work here will be warp 0.\n  // This effectively assigns: warp = (warp-nHunks+nWarps)%nWarps;\n  warp = -nHunksAhead;\n  thread = warp*WARP_SIZE + lane;\n}\n\ntemplate<typename RedFn, typename T, int Unroll, int BytePerPack,\n         int MultimemSrcs, int MinSrcs, int MaxSrcs,\n         int MultimemDsts, int MinDsts, int MaxDsts, int PreOpSrcs,\n         typename IntBytes, typename SrcPtrFn, typename DstPtrFn, typename AccPtrFn>\n__device__ __forceinline__ void reduceCopyPacksWithBias(\n    int nThreads, int &thread,\n    uint64_t redArg, uint64_t *preOpArgs, bool postOp,\n    int nSrcs, SrcPtrFn const &srcPtrFn, int nDsts, DstPtrFn const &dstPtrFn,\n    IntBytes &nBytesBehind, IntBytes &nBytesAhead, AccPtrFn const &accPtrFn\n  ) {\n  static_assert(std::is_signed<IntBytes>::value, \"IntBytes must be a signed integral type.\");\n  //if (BytePerPack == 0) __trap();\n\n  // A hunk is the amount of contiguous data a warp consumes per loop iteration\n  // assuming all threads partake.\n  constexpr int BytePerHunk = Unroll*WARP_SIZE*BytePerPack;\n  int nWarps = nThreads/WARP_SIZE;\n  int warp = thread/WARP_SIZE;\n  int lane = thread%WARP_SIZE;\n\n  // This thread's initial position.\n  IntBytes threadBytesBehind = nBytesBehind + (warp*BytePerHunk + lane*BytePerPack);\n  IntBytes threadBytesAhead = nBytesAhead - (warp*BytePerHunk + lane*BytePerPack);\n  // Number of hunks to be consumed over all warps.\n  IntBytes nHunksAhead = nBytesAhead/(BytePerHunk + !BytePerHunk);\n  // Advance collective position.\n  nBytesBehind += nHunksAhead*BytePerHunk;\n  nBytesAhead -= nHunksAhead*BytePerHunk;\n  if (Unroll==1 && BytePerPack <= nBytesAhead) {\n    // Only Unroll=1 can do partial hunks (where not all threads partake).\n    nHunksAhead += 1;\n    nBytesBehind += nBytesAhead - (nBytesAhead%(BytePerPack + !BytePerPack));\n    nBytesAhead = nBytesAhead%(BytePerPack + !BytePerPack);\n  }\n  nHunksAhead -= warp;\n\n  RedFn redFn(redArg);\n  uintptr_t minSrcs[MinSrcs + !MinSrcs];\n  uintptr_t minDsts[MinDsts + !MinDsts];\n  uintptr_t accPtr = cvta_to_global(accPtrFn()) + threadBytesBehind;\n  BytePack<BytePerPack> bias[Unroll];\n\n  #pragma unroll\n  for (int s=0; s < MinSrcs; s++) {\n    minSrcs[s] = cvta_to_global(srcPtrFn(s)) + threadBytesBehind;\n  }\n\n  #pragma unroll\n  for (int d=0; d < MinDsts; d++) {\n    // Yes, for some template arguments this code will be unreachable.  That's fine.\n    // coverity[dead_error_line]\n    minDsts[d] = cvta_to_global(dstPtrFn(d)) + threadBytesBehind;\n  }\n\n  // We dictate loop termination condition according to whether partial hunks\n  // can be handled or not.\n  while (Unroll==1 ? (BytePerPack <= threadBytesAhead) : (0 < nHunksAhead)) {\n    BytePack<BytePerPack> acc[Unroll];\n\n    // minSrcs[0] cannot be nullptr so we always process it\n    { RedFn preFn(0 < PreOpSrcs ? preOpArgs[0] : 0);\n      #pragma unroll Unroll\n      for (int u=0; u < Unroll; u++) {\n        if (0 < MultimemSrcs) {\n          // applyLoadMultimem uses relaxed semantics for same reason we use volatile below.\n          acc[u] = applyLoadMultimem<RedFn, BytePerPack>(redFn, minSrcs[0]);\n        } else {\n          // Use volatile loads in case credits are polled for with volatile (instead of acquire).\n          acc[u] = ld_volatile_global<BytePerPack>(minSrcs[0]);\n            // coverity[dead_error_condition]\n          bias[u] = ld_volatile_global<BytePerPack>(accPtr);\n          accPtr += WARP_SIZE*BytePerPack;\n          if (0 < PreOpSrcs) acc[u] = applyPreOp(preFn, acc[u]);\n        }\n        minSrcs[0] += WARP_SIZE*BytePerPack;\n      }\n    }\n\n    #pragma unroll Unroll\n    for (int s=1; s < MinSrcs; s++) {\n      // Yes, for some template arguments this code will be unreachable.  That's fine.\n      // coverity[dead_error_begin]\n      BytePack<BytePerPack> tmp[Unroll];\n      // coverity[dead_error_line]\n      RedFn preFn(s < PreOpSrcs ? preOpArgs[s] : 0);\n      #pragma unroll Unroll\n      for (int u=0; u < Unroll; u++) {\n        if (s < MultimemSrcs) {\n          // applyLoadMultimem uses relaxed semantics for same reason we use volatile below.\n          // coverity[dead_error_line]\n          tmp[u] = applyLoadMultimem<RedFn, BytePerPack>(redFn, minSrcs[s]);\n        } else {\n          // Use volatile loads in case credits are polled for with volatile (instead of acquire).\n          tmp[u] = ld_volatile_global<BytePerPack>(minSrcs[s]);\n        }\n        minSrcs[s] += WARP_SIZE*BytePerPack;\n      }\n      #pragma unroll Unroll\n      for (int u=0; u < Unroll; u++) {\n        // coverity[dead_error_line]\n        if (s < PreOpSrcs) tmp[u] = applyPreOp(preFn, tmp[u]);\n        acc[u] = applyReduce(redFn, acc[u], tmp[u]);\n      }\n    }\n\n    for (int s=MinSrcs; (MinSrcs < MaxSrcs) && (s < MaxSrcs) && (s < nSrcs); s++) {\n      uintptr_t src = cvta_to_global(srcPtrFn(s)) + threadBytesBehind;\n      BytePack<BytePerPack> tmp[Unroll];\n      // Yes, for some template arguments this code will be unreachable.  That's fine.\n      // coverity[dead_error_line]\n      RedFn preFn(s < PreOpSrcs ? preOpArgs[s] : 0);\n      #pragma unroll Unroll\n      for (int u=0; u < Unroll; u++) {\n        // Use volatile loads in case credits are polled for with volatile (instead of acquire).\n        tmp[u] = ld_volatile_global<BytePerPack>(src);\n        src += WARP_SIZE*BytePerPack;\n      }\n      #pragma unroll Unroll\n      for (int u=0; u < Unroll; u++) {\n        // Yes, for some template arguments this code will be unreachable.  That's fine.\n        // coverity[dead_error_line]\n        if (s < PreOpSrcs) tmp[u] = applyPreOp(preFn, tmp[u]);\n        acc[u] = applyReduce(redFn, acc[u], tmp[u]);\n      }\n    }\n\n    if (postOp) {\n      #pragma unroll Unroll\n      for (int u=0; u < Unroll; u++)\n        acc[u] = applyPostOp(redFn, acc[u]);\n    }\n\n    #pragma unroll Unroll\n    for (int d=0; d < MinDsts; d++) {\n      #pragma unroll Unroll\n      // Yes, for some template arguments this code will be unreachable.  That's fine.\n      // coverity[dead_error_begin]\n      for (int u=0; u < Unroll; u++) {\n        // coverity[dead_error_condition]\n        if (d < MultimemDsts) {\n          multimem_st_global(minDsts[d], acc[u]);\n        } else {\n          if (d == 0)\n            st_global<BytePerPack>(minDsts[d], applyReduce(redFn, acc[u], bias[u]));\n          else\n            st_global<BytePerPack>(minDsts[d], acc[u]);\n        }\n        minDsts[d] += WARP_SIZE*BytePerPack;\n      }\n    }\n    for (int d=MinDsts; (MinDsts < MaxDsts) && (d < MaxDsts) && (d < nDsts); d++) {\n      uintptr_t dstPtr = cvta_to_global(dstPtrFn(d));\n      uintptr_t dst = dstPtr + threadBytesBehind;\n      #pragma unroll Unroll\n      for (int u=0; u < Unroll; u++) {\n        st_global<BytePerPack>(dst, acc[u]);\n        dst += WARP_SIZE*BytePerPack;\n      }\n    }\n\n    nWarps = nThreads/WARP_SIZE;\n    #pragma unroll\n    for (int s=0; s < MinSrcs; s++) {\n      minSrcs[s] += (nWarps-1)*BytePerHunk;\n    }\n    #pragma unroll\n    // Yes, for some template arguments this code will be unreachable.  That's fine.\n    // coverity[dead_error_line]\n    for (int d=0; d < MinDsts; d++) {\n      minDsts[d] += (nWarps-1)*BytePerHunk;\n    }\n    accPtr += (nWarps-1)*BytePerHunk;\n    threadBytesBehind += nWarps*BytePerHunk;\n    threadBytesAhead -= nWarps*BytePerHunk;\n    nHunksAhead -= nWarps;\n  }\n\n  nWarps = nThreads/WARP_SIZE;\n  warp = thread/WARP_SIZE;\n  lane = thread%WARP_SIZE;\n  // The last loop iteration could have been partial, i.e. not taken by all\n  // threads. The threads that weren't included need an extra subtraction to\n  // make the value warp uniform.\n  if (Unroll==1 && nHunksAhead > 0) nHunksAhead -= nWarps;\n  // Rotate warps so the warp which got the least work here will be warp 0.\n  // This effectively assigns: warp = (warp-nHunks+nWarps)%nWarps;\n  warp = -nHunksAhead;\n  thread = warp*WARP_SIZE + lane;\n}\n\ntemplate<int Unroll, int  useAcc, typename RedFn, typename T,\n         int MultimemSrcs, int MinSrcs, int MaxSrcs,\n         int MultimemDsts, int MinDsts, int MaxDsts, int PreOpSrcs,\n         typename IntBytes, int Pipeline, typename SrcPtrFn, typename DstPtrFn, typename AccPtrFn>\n__device__ __forceinline__ void reduceCopy(\n    int thread, int nThreads,\n    uint64_t redArg, uint64_t *preOpArgs, bool postOp,\n    int nSrcs, SrcPtrFn const &srcPtrFn, int nDsts, DstPtrFn const &dstPtrFn,\n    IntBytes nElts, AccPtrFn const &accPtrFn\n  ) {\n  static_assert(MultimemSrcs <= MinSrcs && MultimemDsts <= MinDsts, \"Multimem pointers cannot exceed respective Min values.\");\n  //int nWarps = nThreads/WARP_SIZE;\n  //int warp = thread/WARP_SIZE;\n  int lane = thread%WARP_SIZE;\n  // If a multimem src is present then our biggest pack size is limited to what\n  // is supported for this redfn/type.\n  constexpr int BigPackSize = (MultimemSrcs == 0) ? 16 : LoadMultimem_BigPackSize<RedFn>::BigPackSize;\n\n  if (MaxDsts==0) return;\n  if (MinDsts==0 && nDsts==0) return;\n\n  IntBytes nBytesBehind = 0;\n  IntBytes nBytesAhead = nElts*sizeof(T);\n  //bool useAcc = accPtrFn() != nullptr;\n\n  #if __cpp_if_constexpr\n  if constexpr (BigPackSize > sizeof(T)) {\n  #else\n  if (BigPackSize > sizeof(T)) {\n  #endif\n    // Check that all pointers are BigPackSize aligned.\n    bool aligned = true;\n    if (lane < nSrcs) aligned &= 0 == cvta_to_global(srcPtrFn(lane)) % (BigPackSize + !BigPackSize);\n    if (lane < nDsts) aligned &= 0 == cvta_to_global(dstPtrFn(lane)) % (BigPackSize + !BigPackSize);\n    aligned = !(__any(!aligned));\n    if (aligned) {\n#if defined(__gfx90a__)\n      if constexpr (useAcc)\n        reduceCopyPacksWithBias<RedFn, T, ((MinSrcs > 1) ? 2 : Unroll), BigPackSize,\n          MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n          (nThreads, thread, redArg, preOpArgs, postOp,\n          nSrcs, srcPtrFn, nDsts, dstPtrFn, nBytesBehind, nBytesAhead, accPtrFn);\n      else if constexpr (Pipeline)\n        reduceCopyPacksPipelined<RedFn, T, ((MinSrcs > 1) ? 2 : Unroll), BigPackSize,\n          MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n          (nThreads, thread, redArg, preOpArgs, postOp,\n          nSrcs, srcPtrFn, nDsts, dstPtrFn, nBytesBehind, nBytesAhead);\n      else\n        reduceCopyPacks<RedFn, T, ((MinSrcs > 1) ? 2 : Unroll), BigPackSize,\n          MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n          (nThreads, thread, redArg, preOpArgs, postOp,\n          nSrcs, srcPtrFn, nDsts, dstPtrFn, nBytesBehind, nBytesAhead);\n#else\n      if constexpr (useAcc)\n        reduceCopyPacksWithBias<RedFn, T, Unroll*((MinSrcs == 1 && MinDsts == 1) ? 2 : 1), BigPackSize,\n          MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n          (nThreads, /*&*/thread, redArg, preOpArgs, postOp,\n          nSrcs, srcPtrFn, nDsts, dstPtrFn, /*&*/nBytesBehind, /*&*/nBytesAhead, accPtrFn);\n      else if constexpr  (Pipeline)\n        reduceCopyPacksPipelined<RedFn, T, Unroll*((MinSrcs == 1 && MinDsts == 1) ? 2 : 1), BigPackSize,\n        MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n        (nThreads, /*&*/thread, redArg, preOpArgs, postOp,\n         nSrcs, srcPtrFn, nDsts, dstPtrFn, /*&*/nBytesBehind, /*&*/nBytesAhead);\n      else\n        reduceCopyPacks<RedFn, T, Unroll*((MinSrcs == 1 && MinDsts == 1) ? 2 : 1), BigPackSize,\n          MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n          (nThreads, /*&*/thread, redArg, preOpArgs, postOp,\n          nSrcs, srcPtrFn, nDsts, dstPtrFn, /*&*/nBytesBehind, /*&*/nBytesAhead);\n#endif\n      if (nBytesAhead == 0) return;\n\n      if constexpr (useAcc)\n        reduceCopyPacksWithBias<RedFn, T, /*Unroll=*/1, BigPackSize,\n          MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n          (nThreads, /*&*/thread, redArg, preOpArgs, postOp,\n          nSrcs, srcPtrFn, nDsts, dstPtrFn, /*&*/nBytesBehind, /*&*/nBytesAhead, accPtrFn);\n      else if constexpr (Pipeline)\n        reduceCopyPacksPipelined<RedFn, T, /*Unroll=*/1, BigPackSize,\n          MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n          (nThreads, /*&*/thread, redArg, preOpArgs, postOp,\n          nSrcs, srcPtrFn, nDsts, dstPtrFn, /*&*/nBytesBehind, /*&*/nBytesAhead);\n      else\n        reduceCopyPacks<RedFn, T, /*Unroll=*/1, BigPackSize,\n          MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n          (nThreads, /*&*/thread, redArg, preOpArgs, postOp,\n          nSrcs, srcPtrFn, nDsts, dstPtrFn, /*&*/nBytesBehind, /*&*/nBytesAhead);\n\n      if (nBytesAhead == 0) return;\n    }\n  }\n\n/*\n * For gfx90a,\n* Before we had `Unroll/2*(16/sizeof(T))/2`, which does not work with unroll=1\n* as unroll=1; `Unroll/2` = 0, which results in the above expression to 0, and is not supported\n* This was reformulated to `(Unroll*4 + sizeof(T) - 1)/sizeof(T)`\n*\n* Before: `Unroll/2*(16/sizeof(T))/2`\n*         sizeof(T)\n* unroll  1   2   4   8\n*   4     16  8   4   2\n*   2     8   4   2   1\n*   1     0   0   0   0\n*\n* After: `(Unroll*4 + sizeof(T) - 1)/sizeof(T)`\n*         sizeof(T)\n* unroll  1   2   4   8\n*   4     16  8   4   2\n*   2     8   4   2   1\n*   1     4   2   1   1\n*/\n#if defined(__gfx90a__)\n  if (MinSrcs > 1) {\n    if constexpr (useAcc)\n      reduceCopyPacksWithBias<RedFn, T, (Unroll*4 + sizeof(T) - 1)/sizeof(T), sizeof(T),\n        MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n        (nThreads, thread, redArg, preOpArgs, postOp,\n        nSrcs, srcPtrFn, nDsts, dstPtrFn, nBytesBehind, nBytesAhead, accPtrFn);\n    else if constexpr (Pipeline)\n      reduceCopyPacksPipelined<RedFn, T, (Unroll*4 + sizeof(T) - 1)/sizeof(T), sizeof(T),\n        MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n        (nThreads, thread, redArg, preOpArgs, postOp,\n        nSrcs, srcPtrFn, nDsts, dstPtrFn, nBytesBehind, nBytesAhead);\n    else\n      reduceCopyPacks<RedFn, T, (Unroll*4 + sizeof(T) - 1)/sizeof(T), sizeof(T),\n        MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n        (nThreads, thread, redArg, preOpArgs, postOp,\n        nSrcs, srcPtrFn, nDsts, dstPtrFn, nBytesBehind, nBytesAhead);\n  } else {\n    if constexpr (useAcc)\n      reduceCopyPacksWithBias<RedFn, T, Unroll*(16/sizeof(T))/2, /*BytePerPack=*/sizeof(T),\n        MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n        (nThreads, /*&*/thread, redArg, preOpArgs, postOp,\n        nSrcs, srcPtrFn, nDsts, dstPtrFn, /*&*/nBytesBehind, /*&*/nBytesAhead, accPtrFn);\n    else if constexpr (Pipeline)\n      reduceCopyPacksPipelined<RedFn, T, Unroll*(16/sizeof(T))/2, /*BytePerPack=*/sizeof(T),\n        MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n        (nThreads, /*&*/thread, redArg, preOpArgs, postOp,\n        nSrcs, srcPtrFn, nDsts, dstPtrFn, /*&*/nBytesBehind, /*&*/nBytesAhead);\n    else\n      reduceCopyPacks<RedFn, T, Unroll*(16/sizeof(T))/2, /*BytePerPack=*/sizeof(T),\n        MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n        (nThreads, /*&*/thread, redArg, preOpArgs, postOp,\n        nSrcs, srcPtrFn, nDsts, dstPtrFn, /*&*/nBytesBehind, /*&*/nBytesAhead);\n  }\n#else\n  if constexpr (useAcc)\n    reduceCopyPacksWithBias<RedFn, T, Unroll*(16/sizeof(T))/2, /*BytePerPack=*/sizeof(T),\n      MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n      (nThreads, /*&*/thread, redArg, preOpArgs, postOp,\n      nSrcs, srcPtrFn, nDsts, dstPtrFn, /*&*/nBytesBehind, /*&*/nBytesAhead, accPtrFn);\n  else if constexpr (Pipeline)\n    reduceCopyPacksPipelined<RedFn, T, Unroll*(16/sizeof(T))/2, /*BytePerPack=*/sizeof(T),\n      MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n      (nThreads, /*&*/thread, redArg, preOpArgs, postOp,\n      nSrcs, srcPtrFn, nDsts, dstPtrFn, /*&*/nBytesBehind, /*&*/nBytesAhead);\n  else\n    reduceCopyPacks<RedFn, T, Unroll*(16/sizeof(T))/2, /*BytePerPack=*/sizeof(T),\n      MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n      (nThreads, /*&*/thread, redArg, preOpArgs, postOp,\n      nSrcs, srcPtrFn, nDsts, dstPtrFn, /*&*/nBytesBehind, /*&*/nBytesAhead);\n\n#endif\n  if (nBytesAhead == 0) return;\n\n  if constexpr (useAcc)\n    reduceCopyPacksWithBias<RedFn, T, /*Unroll=*/1, /*BytePerPack=*/sizeof(T),\n      MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n      (nThreads, /*&*/thread, redArg, preOpArgs, postOp,\n      nSrcs, srcPtrFn, nDsts, dstPtrFn, /*&*/nBytesBehind, /*&*/nBytesAhead, accPtrFn);\n  else if constexpr (Pipeline)\n    reduceCopyPacksPipelined<RedFn, T, /*Unroll=*/1, /*BytePerPack=*/sizeof(T),\n      MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n      (nThreads, /*&*/thread, redArg, preOpArgs, postOp,\n      nSrcs, srcPtrFn, nDsts, dstPtrFn, /*&*/nBytesBehind, /*&*/nBytesAhead);\n  else\n    reduceCopyPacks<RedFn, T, /*Unroll=*/1, /*BytePerPack=*/sizeof(T),\n      MultimemSrcs, MinSrcs, MaxSrcs, MultimemDsts, MinDsts, MaxDsts, PreOpSrcs>\n      (nThreads, /*&*/thread, redArg, preOpArgs, postOp,\n      nSrcs, srcPtrFn, nDsts, dstPtrFn, /*&*/nBytesBehind, /*&*/nBytesAhead);\n\n}\n\n\ntemplate<int Unroll, int useAcc, typename RedFn, typename T,\n         int MultimemSrcs, int MinSrcs, int MaxSrcs,\n         int MultimemDsts, int MinDsts, int MaxDsts, int PreOpSrcs,\n         int Pipeline = 0, typename IntBytes>\n__device__ __forceinline__ void reduceCopy(\n    int thread, int nThreads,\n    uint64_t redArg, uint64_t *preOpArgs, bool postOp,\n    int nSrcs, void** srcPtrs, int nDsts, void** dstPtrs,\n    IntBytes nElts, void *accPtr = nullptr\n  ) {\n  reduceCopy<Unroll, useAcc, RedFn, T,\n             MultimemSrcs, MinSrcs, MaxSrcs,\n             MultimemDsts, MinDsts, MaxDsts, PreOpSrcs, IntBytes, Pipeline>\n    (thread, nThreads, redArg, preOpArgs, postOp,\n     nSrcs, [=]__device__(int i) { return srcPtrs[i]; },\n     nDsts, [=]__device__(int i) { return dstPtrs[i]; }, nElts, [=]__device__() { return accPtr; });\n}\n\n#endif // COMMON_KERNEL_H_"
  },
  {
    "path": "src/device/generate.py",
    "content": "#!/usr/bin/env python3\nimport os\nimport sys\nimport subprocess\nfrom dataclasses import dataclass\nimport shutil\n\n# Order of colls, redops, tys, protos, algos must match src/include/device.h\nall_colls     = [\"Broadcast\", \"Reduce\", \"AllGather\", \"ReduceScatter\", \"AllReduce\", \"SendRecv\", \"\", \"\", \"AlltoAllPivot\", \"AllToAllGda\"]\nall_redops    = [\"Sum\",\"Prod\",\"MinMax\",\"PreMulSum\",\"SumPostDiv\"]\nall_tys       = [\"i8\",\"u8\",\"i32\",\"u32\",\"i64\",\"u64\",\"f16\",\"f32\",\"f64\",\"bf16\",\"f8e4m3\",\"f8e5m2\"]\nall_protos    = [\"LL\",\"LL128\",\"SIMPLE\"]\nall_algos     = [\"TREE\",\"RING\", \"\", \"\", \"\", \"\", \"PAT\"]\nall_accs      = [\"0\", \"1\"]\nall_pipelines = [\"0\", \"1\"]\nall_unrolls   = [\"1\", \"2\", \"4\"]\n\nall_params = [all_colls, all_algos, all_protos, all_redops, all_tys, all_accs, all_pipelines, all_unrolls]\n\n################################################################################\n# The first command line argument is the path to the directory to generate and\n# populate.\n\ngensrc = sys.argv[1]\n\nif os.path.exists(gensrc):\n  for name in os.listdir(gensrc):\n    path = os.path.join(gensrc, name)\n    if os.path.isfile(path):\n      os.remove(path)\n    elif os.path.isdir(path):\n      shutil.rmtree(path)\nelse:\n  os.makedirs(gensrc)\n\n################################################################################\n# The command line argument is used as a regex to filter the functions\n# which make it into librccl. This is helpful for reducing the binary when\n# developing device code. The regex supports non-space containing globs '*',\n# and union 'a|b'. The string representing the function has the form:\n#\n# <coll> <algo> <proto> <redop> <type>\n#\n# The possible values for redop, type, algo, proto can be found in the all_<foo>\n# lists at the top of this file.\n#\n# Example use-cases:\n#\n# # Only send/recv:\n# make ONLY_FUNCS=\"SendRecv\"\n#\n# # Only AllReduce and Reduce\n# make ONLY_FUNCS=\"AllReduce|Reduce\"\n#\n# # Only non-reductions:\n# make ONLY_FUNCS=\"AllGather * *|Broadcast * *|SendRecv\"\n#\n# # Only AllReduce Sum int32_t (but all algos, protos)\n# make ONLY_FUNCS=\"AllReduce * * Sum i32\"\n#\n# # Only AllReduce RING Max float (but all protos)\n# make ONLY_FUNCS=\"AllReduce RING * Max f32\"\n#\n# # AllReduce TREE LL128 Prod rccl_bfloat16\n# make ONLY_FUNCS=\"AllReduce TREE LL128 Prod bf16\"\n#\n# # AllReduce RING SIMPLE and ReduceScatter RING LL float (but all redops, types for AllReduce and all redops for ReduceScatter)\n# make ONLY_FUNCS=\"AllReduce RING SIMPLE * *|ReduceScatter RING LL * f32\"\n#                         --- or ---\n# make ONLY_FUNCS=\"AllReduce RING SIMPLE|ReduceScatter RING LL * f32\"\n# make ONLY_FUNCS=\"AllReduce RING/TREE LL/SIMPLE Sum/MinMax i8/u8/f16/f32/f64/bf16/f8e4m3/f8e5m2|AllGather RING LL/SIMPLE Sum i8|AlltoAllPivot RING SIMPLE Sum i8|Broadcast RING LL/SIMPLE Sum i8|Reduce RING LL/SIMPLE Sum/MinMax i8/u8/f16/f32/f64/bf16/f8e4m3/f8e5m2|ReduceScatter RING LL/SIMPLE Sum/MinMax i8/u8/f16/f32/f64/bf16/f8e4m3/f8e5m2|SendRecv RING SIMPLE Sum i8\"\n\n# Paste all non-None arguments together with `sep`.\ndef paste(sep, *args):\n  return sep.join(x for x in args if x is not None)\n\nis_ifc             = 1 if sys.argv[2] == \"ON\" else 0\nis_colltrace       = 1 if sys.argv[3] == \"ON\" else 0\nis_msccl_kernels   = 1 if sys.argv[4] == \"ON\" else 0\nis_local_arch_only = 1 if sys.argv[5] == \"ON\" else 0\n\nfunc_pattern = sys.argv[6:7]\nif func_pattern and func_pattern[0]:\n  func_pattern = func_pattern[0]\nelse:\n  func_pattern = \"AllGather|AllReduce|AlltoAllPivot|AllToAllGda|Broadcast|Reduce|ReduceScatter|SendRecv\"\n\n################################################################################\n\nalgos_of_coll = {\n  \"AllGather\":             [\"RING\", \"PAT\"],\n  \"AllReduce\":             [\"RING\", \"TREE\"],\n  \"AlltoAllPivot\":         [\"RING\"],\n  \"AllToAllGda\":           [\"RING\"],\n  \"Broadcast\":             [\"RING\"],\n  \"Reduce\":                [\"RING\"],\n  \"ReduceScatter\":         [\"RING\", \"PAT\"],\n  \"SendRecv\":              [\"RING\"]\n}\n\nprotos_of_coll = {\n  \"AllGather\":              all_protos,\n  \"AllReduce\":              all_protos,\n  \"AlltoAllPivot\":          [\"SIMPLE\"],\n  \"AllToAllGda\":            [\"SIMPLE\"],\n  \"Broadcast\":              all_protos,\n  \"Reduce\":                 all_protos,\n  \"ReduceScatter\":          all_protos,\n  \"SendRecv\":               [\"SIMPLE\"]\n}\n\nredops_of_coll = {\n  \"AllGather\":            [\"Sum\"],\n  \"AllReduce\":            all_redops,\n  \"AlltoAllPivot\":        [\"Sum\"],\n  \"AllToAllGda\":          [\"Sum\"],\n  \"Broadcast\":            [\"Sum\"],\n  \"Reduce\":               all_redops,\n  \"ReduceScatter\":        all_redops,\n  \"SendRecv\":             [\"Sum\"]\n}\n\ntys_of_coll = {\n  \"AllGather\":             [\"i8\"],\n  \"AllReduce\":             all_tys,\n  \"AlltoAllPivot\":         [\"i8\"],\n  \"AllToAllGda\":           [\"i8\"],\n  \"Broadcast\":             [\"i8\"],\n  \"Reduce\":                all_tys,\n  \"ReduceScatter\":         all_tys,\n  \"SendRecv\":              [\"i8\"]\n}\n\nacc_of_coll = {\n  \"AllGather\":             [\"0\"],\n  \"AllReduce\":             all_accs,\n  \"AlltoAllPivot\":         [\"0\"],\n  \"AllToAllGda\":           [\"0\"],\n  \"Broadcast\":             [\"0\"],\n  \"Reduce\":                [\"0\"],\n  \"ReduceScatter\":         [\"0\"],\n  \"SendRecv\":              [\"0\"]\n}\n\npipelines_of_coll = {\n  \"AllGather\":             [\"0\"],\n  \"AllReduce\":             all_pipelines,\n  \"AlltoAllPivot\":         [\"0\"],\n  \"AllToAllGda\":           [\"0\"],\n  \"Broadcast\":             [\"0\"],\n  \"Reduce\":                all_pipelines,\n  \"ReduceScatter\":         all_pipelines,\n  \"SendRecv\":              [\"0\"]\n}\npipelined_types = [\"bf16\"]\n\ncoll_camel_to_lower = {\n  \"AllGather\":             \"all_gather\",\n  \"AllReduce\":             \"all_reduce\",\n  \"AlltoAllPivot\":         \"alltoall_pivot\",\n  \"AllToAllGda\":           \"alltoall_gda\",\n  \"Broadcast\":             \"broadcast\",\n  \"Reduce\":                \"reduce\",\n  \"ReduceScatter\":         \"reduce_scatter\",\n  \"SendRecv\":              \"sendrecv\"\n}\ncoll_lower_to_camel = {coll_camel_to_lower[x]: x for x in coll_camel_to_lower}\n\n################################################################################\n@dataclass(frozen=True)\nclass Fn:\n  coll: str\n  algo: str\n  proto: str\n  redop: str\n  ty: str\n  acc: str\n  pipeline: str\n  unroll: str\n\n  def __iter__(self):\n    return iter((self.coll, self.algo, self.proto, self.redop, self.ty, self.acc, self.pipeline, self.unroll))\n\ndef calc_unroll_and_pipeline_for_local_arch():\n\n  if not is_local_arch_only:\n    return (all_unrolls, all_pipelines)\n\n  rocminfo_path = os.environ.get('ROCM_PATH') + \"/bin/rocminfo\"\n\n  res = subprocess.run([rocminfo_path], stdout=subprocess.PIPE, universal_newlines=True)\n  rocminfo_output = res.stdout\n\n  # Parse rocminfo binary output\n  gfx_targets = {}\n  curr_name = None\n  for line in rocminfo_output.splitlines():\n    line = line.strip()\n\n    if line.startswith(\"Name:\"):\n      name = line.split(':')[-1].strip()\n      if \"gfx\" in name:\n        curr_name = name\n    if line.startswith(\"Compute Unit:\") and curr_name:\n      cu_count = int(line.split(':')[-1].strip())\n      gfx_targets[(curr_name, cu_count)] = None\n      curr_name = None\n\n  # We want to remove duplicates but cannot use a dictionary since same gfx name can have different cu counts\n  # Use (gfx_name, cu_count) as key for dictionary and convert it to list here\n  gfx_targets = list(gfx_targets.keys())\n  \n  # Homogeneous system is required to build for only 1 variant of unroll factor (except for gfx950)\n  if len(gfx_targets) == 1:\n    gfx_name, cu_count = gfx_targets[0]\n    if \"gfx950\" == gfx_name:\n      return ([\"1\", \"2\"], [\"0\"])  # Disable pipelining for gfx950\n    elif \"gfx908\" == gfx_name or (\"gfx942\" == gfx_name and cu_count > 80):\n      return ([\"2\"], all_pipelines)\n    else:\n      return ([\"4\"], all_pipelines)\n  else:\n    return (all_unrolls, all_pipelines)\n\n# if building for local arch only, we only need to build for 1 variant of unroll for most gfx targets,\n# except for gfx950. For gfx950, we also disable pipelining.\nlocal_unroll, local_pipeline = calc_unroll_and_pipeline_for_local_arch()\n\n# Helper function to check if the conditions for the collective is being met\ndef func_validate(coll, algo, proto, redop, ty, acc,  pipeline, unroll):\n  if redop == \"SumPostDiv\" and ty[0] not in (\"i\",\"u\"):\n    return False\n  if coll == \"\" or algo == \"\":\n    return False\n  if (algo not in algos_of_coll[coll] or\n      proto not in protos_of_coll[coll] or\n      redop not in redops_of_coll[coll] or\n      ty not in tys_of_coll[coll] or\n      acc not in acc_of_coll[coll] or\n      pipeline not in pipelines_of_coll[coll] or (pipeline in [\"1\"] and ty not in pipelined_types) or\n      pipeline not in local_pipeline or\n      unroll not in local_unroll):\n    return False\n  return True\n\n# A recursive helper to generate collective functions based on the input given\ndef func_filter(function_params, current_idx, item_list=None):\n  if item_list is None:\n    item_list = []\n\n  # Check if current_idx exceeds the max depth\n  if current_idx < len(all_params):\n    # Current element is the config parameter\n    current_element = function_params[current_idx]\n\n    # If the paramter is equal to '*', include all possible cases for it\n    if current_element == \"*\":\n      # all_params list must be in the same order as function_params --> <coll> <algo> <proto> <redop> <type>\n      # Get the current list from all_params\n      current_list = all_params[current_idx]\n\n      # Iterate over the items int the current_list\n      for item in current_list:\n        # Add item to item_list which will be used in the inner most loop\n        item_list.append(item)\n        yield from func_filter(function_params, current_idx+1, item_list)\n\n        # For each loop layer remove the last element in item_list\n        item_list.pop()\n    else:\n      # Check if the current element is recognized\n      elements = current_element.split(\"/\")\n      current_param = all_params[current_idx]\n\n      # Iterate over the elements in the elements list\n      for item in elements:\n        if item not in current_param:\n          raise ValueError(f\"Error: {item} is unrecognized or does not belong to this category {current_param}.\")\n\n      for item in elements:\n        item_list.append(item)\n        yield from func_filter(function_params, current_idx+1, item_list)\n\n        # For each loop layer remove the last element in item_list\n        item_list.pop()\n  else:\n    coll, algo, proto, redop, ty, acc, pipeline, unroll = item_list\n    if func_validate(coll, algo, proto, redop, ty, acc, pipeline, unroll):\n      yield(coll, algo, proto, redop, ty, acc, pipeline, unroll)\n\n\n# Parse ONLY_FUNCS input and feed it to func_filter\ndef parse_input(func_pattern):\n  input_list = sorted(func_pattern.split(\"|\"))\n\n  for input in input_list:\n    function_params = input.split()\n    params_length = len(function_params)\n\n    # If a parameter is missing, append '*'\n    while params_length < len(all_params):\n      function_params.append(\"*\")\n      params_length += 1\n\n    # Filter functions/kernels based on input\n    yield from func_filter(function_params, 0)\n\n# Maps functions to the chosen representative for the equivalence class it\n# belongs to. For instance (sum, signed int) maps to (sum, unsigned int).\ndef equivalent_primary(coll, algo, proto, redop, ty, acc, pipeline, unroll):\n  if coll in (\"AllReduce\", \"Reduce\", \"ReduceScatter\"):\n    # map signed integer sum/prod to unsigned\n    if redop in (\"Sum\",\"Prod\",\"PreMulSum\",\"SumPostDiv\") and ty[0]==\"i\":\n      ty = \"u\"+ty[1:]\n    # map signed integer min/max to unsigned for non-NVLS\n    elif redop==\"MinMax\" and ty[0]==\"i\" and (\"NVLS\" not in algo):\n      ty = \"u\"+ty[1:]\n    # map pipelined to non-pipelined for LL/LL128 to avoid extra device codegen\n    if (pipeline != \"0\" and proto != \"SIMPLE\"):\n      pipeline = \"0\"\n\n  return (coll, algo, proto, redop, ty, acc, pipeline, unroll)\n\n# Order rows are enumerated must match formula of `ncclDevFuncId()`:\n# outermost loop should be for unroll factor; refer to host_table section\ndef enumerate_func_rows():\n  for unroll in local_unroll:\n    for coll in all_colls:\n      for algo in all_algos:\n        for proto in all_protos:\n          for redop in all_redops:\n            for ty in all_tys:\n              for acc in all_accs:\n                for pipeline in local_pipeline:\n                  if func_validate(coll, algo, proto, redop, ty, acc, pipeline, unroll):\n                    yield (coll, algo, proto, redop, ty, acc, pipeline, unroll)\n\n# Sort the hashmap based on custom key <coll> <algo> <proto> <redop> <ty>\ndef custom_sort_key(fn: Fn):\n    return (\n        local_unroll.index(fn.unroll),\n        all_colls.index(fn.coll),\n        all_algos.index(fn.algo),\n        all_protos.index(fn.proto),\n        all_redops.index(fn.redop),\n        all_tys.index(fn.ty),\n        all_accs.index(fn.acc),\n        local_pipeline.index(fn.pipeline)\n    )\n\ndef get_arch_guard(fn):\n  cond = None\n\n  if fn.proto == \"LL128\" and fn.acc == \"1\":\n      cond = \"(defined(__gfx942__) || defined(__gfx950__)) && defined(ENABLE_LL128)\"\n  elif fn.proto == \"LL128\":\n      cond = \"(defined(__gfx90a__) || defined(__gfx942__) || defined(__gfx950__)) && defined(ENABLE_LL128)\"\n  elif fn.acc == \"1\":\n      cond = \"defined(__gfx942__) || defined(__gfx950__)\"\n\n  return cond\n\n################################################################################\n\n# Corresponds to ncclDevFuncRowToId[]\nfunc_rows = [Fn(*fn) for fn in enumerate_func_rows()]\n\n# Corresponds to ncclDevFuncTable[]\nprimary_funcs = sorted(\n    {Fn(*equivalent_primary(*fn)) for fn in parse_input(func_pattern)}, key=custom_sort_key\n)\n\n# primary_to_index[primary_funcs[i]] == i\nprimary_to_index = {fn: i for i, fn in enumerate(primary_funcs)}\nprimary_to_index = {fn: primary_to_index.get(Fn(*fn), -1) for fn in func_rows}\n\n################################################################################\n\n# Generate <gensrc>/device_table.h\nwith open(os.path.join(gensrc, \"device_table.h\"), \"w\") as f:\n  print(\"-- Generating %s\" % os.path.join(gensrc, \"device_table.h\"))\n  out = f.write\n\n  if is_ifc: func_declaration = \"__device__ void\"\n  else: func_declaration = \"__device__ __attribute__((noinline)) void\"\n\n  for fn in primary_funcs:\n    sym = paste(\"_\", \"ncclDevFunc\", *fn)\n    guard = get_arch_guard(fn)\n    if guard:\n      out(\"#if %s\\n%s %s();\\n#endif\\n\" % (guard, func_declaration, sym))\n    else:\n      out(\"%s %s();\\n\" % (func_declaration, sym))\n  out(\"\\n\")\n\n  index = {val: None for val in all_unrolls}\n  out(\"typedef void(*ncclDevFuncPtr_t)();\\n\\n\")\n  for unroll in all_unrolls:\n    index[unroll] = 0\n    out(\"__device__ ncclDevFuncPtr_t const ncclDevFuncTable_%s[] = {\\n\" % unroll)\n    for fn in primary_funcs:\n      if fn.unroll != unroll: continue\n      sym = paste(\"_\", \"ncclDevFunc\", *fn)\n      guard = get_arch_guard(fn)\n      if guard:\n        out(\"#if %s\\n/*%4d*/ %s,\\n#else\\n/*%4d*/ nullptr,\\n#endif\\n\" % (guard, index[unroll], sym, index[unroll]))\n      else:\n        out(\"/*%4d*/ %s,\\n\" % (index[unroll], sym))\n      index[unroll] += 1\n    out(\"nullptr};\\n\")\n    out(\"\\n\")\n\n  if not is_ifc:\n    for unroll in all_unrolls:\n      out(f\"template<unsigned short f, unsigned short l>\\n\"\n          f\"struct Caller{unroll} {{\\n\"\n          \"  static __forceinline__ __device__ __host__\\n\"\n          f\"  void call{unroll}(unsigned short funcIndex) noexcept {{\\n\"\n          \"    constexpr unsigned short m = f + (l - f) / 2;\\n\"\n          f\"    return (funcIndex < m)\\n\"\n          f\"      ? Caller{unroll}<f, m>::call{unroll}(funcIndex)\\n\"\n          f\"      : Caller{unroll}<m, l>::call{unroll}(funcIndex);\\n\"\n          \"  }\\n\"\n          \"};\\n\\n\")\n\n      out(f\"template<unsigned short f>\\n\"\n          f\"struct Caller{unroll}<f, f + 1> {{\\n\"\n          \"  static __forceinline__ __device__ __host__\\n\"\n          f\"  void call{unroll}(unsigned short funcIndex) noexcept {{\\n\"\n          f\"    ncclDevFuncTable_{unroll}[f]();\\n\"\n          \"  }\\n\"\n          \"};\\n\\n\")\n\n      # emit NCCL_CALL_FUNCTIONS_<unroll> wrapper using last index value\n      out(f\"__forceinline__ __device__ void NCCL_CALL_FUNCTIONS_{unroll}(unsigned short funcIndex) noexcept {{\\n\")\n      out(f\"  Caller{unroll}<0, {index[unroll]}>::call{unroll}(funcIndex);\\n\")\n      out(\"}\\n\\n\")\n\n# Generate <gensrc>/device_table.cpp\nif is_colltrace:\n  with open(os.path.join(gensrc, \"device_table.cpp\"), \"w\") as f:\n    print(\"-- Generating %s\" % os.path.join(gensrc, \"device_table.cpp\"))\n\n    out = f.write\n    out('#include \"nccl_common.h\"\\n#include \"device.h\"\\n')\n    out(\"\\n\")\n\n    seen_fns = set()\n    out(\"const char* funcNames[] = {\\n\")\n    for fn in primary_funcs:\n      fn_no_unroll = (fn.coll, fn.algo, fn.proto, fn.redop, fn.ty, fn.acc, fn.pipeline)\n      if fn_no_unroll not in seen_fns:\n        out('   \"%s\",\\n' % paste(\"_\", \"ncclDevFunc\", *fn_no_unroll))\n        seen_fns.add(fn_no_unroll)\n    for ty in all_tys:\n      out(f'   \"ncclDevFunc_OneRankReduce_PreMulSum_{ty}\",\\n')\n    out(\"};\\n\")\n\n# Generate <gensrc>/host_table.cpp\nwith open(os.path.join(gensrc, \"host_table.cpp\"), \"w\") as f:\n  print(\"-- Generating %s\" % os.path.join(gensrc, \"host_table.cpp\"))\n\n  out = f.write\n  out('#include \"device.h\"\\n')\n  out(\"\\n\")\n  out(\"// The key for the ncclDevFuncNameToId map is a 64-bit unsigned integer.\\n\")\n  out(\"// Each field (coll, algo, proto, redop, ty, acc, pipeline) is packed into 4 bits,\\n\")\n  out(\"// This allows up to 16 unique values per field. The layout is:\\n\")\n  out(\"//   bits  0-3:   coll index\\n\")\n  out(\"//   bits  4-7:   algo index\\n\")\n  out(\"//   bits  8-11:  proto index\\n\")\n  out(\"//   bits 12-15:  redop index\\n\")\n  out(\"//   bits 16-19:  ty index\\n\")\n  out(\"//   bits 20-23:  accumulator index\\n\")\n  out(\"//   bits 24-27:  pipeline index\\n\")\n  out(\"#include <unordered_map>\\n\")\n  out(\"std::unordered_map<uint64_t, int> ncclDevFuncNameToId = {\\n\")\n\n  # host_table entries map device functions based on collective, algorithm, protocol, redop, and datatype\n  # For GPU targets that support multiple unrolls, e.g., gfx950\n  # (or) for non-local builds, only a single set of functions are needed in the host_table.\n  for fn in func_rows[:len(func_rows)//len(local_unroll)]:\n    fn_id = -1\n    if fn is not None:\n      guard = get_arch_guard(fn)\n      fn_id = primary_to_index[Fn(*equivalent_primary(*fn))]\n      comment = \" // \" + paste(\" \", *fn)\n      # Build the function signature string: \"<coll> <algo> <proto> <redop> <ty>\"\n      # get parts indexes in order (coll, algo, proto, redop, ty, acc, pipeline, unroll)\n      coll_idx = all_colls.index(fn.coll)\n      algo_idx = all_algos.index(fn.algo)\n      proto_idx = all_protos.index(fn.proto)\n      redop_idx = all_redops.index(fn.redop)\n      ty_idx = all_tys.index(fn.ty)\n      acc_idx = all_accs.index(fn.acc)\n      pipeline_idx = all_pipelines.index(fn.pipeline)\n      # Assert that 4 bits (16 values) is enough to map all_colls, all_algos, etc.\n      assert len(all_colls) <= 16, \"Error: all_colls has more than 16 values, which exceeds 4-bit capacity.\"\n      assert len(all_algos) <= 16, \"Error: all_algos has more than 16 values, which exceeds 4-bit capacity.\"\n      assert len(all_protos) <= 16, \"Error: all_protos has more than 16 values, which exceeds 4-bit capacity.\"\n      assert len(all_redops) <= 16, \"Error: all_redops has more than 16 values, which exceeds 4-bit capacity.\"\n      assert len(all_tys) <= 16, \"Error: all_tys has more than 16 values, which exceeds 4-bit capacity.\"\n      assert len(all_accs) <= 16, \"Error: all_accs has more than 16 values, which exceeds 4-bit capacity.\"\n      assert len(all_pipelines) <= 16, \"Error: all_pipelines has more than 16 values, which exceeds 4-bit capacity.\"\n      # Create a 64-bit unsigned integer key and pack the indices into 4 bits each\n      key = (\n        (coll_idx & 0xF)\n        | ((algo_idx & 0xF) << 4)\n        | ((proto_idx & 0xF) << 8)\n        | ((redop_idx & 0xF) << 12)\n        | ((ty_idx & 0xF) << 16)\n        | ((acc_idx & 0xF) << 20)\n        | ((pipeline_idx & 0xF) << 24)\n      )\n      if fn.coll == \"Broadcast\":\n        key = ((coll_idx & 0x3F) | ((proto_idx & 0x3F) << 8))\n      if fn.coll in [\"SendRecv\", \"AlltoAllPivot\", \"AllToAllGda\"]:\n        key = ((coll_idx & 0x3F))\n      \n      out(f'  {{{key}, {fn_id}}}, {comment}\\n')\n  out(\"};\\n\")\n\n# Maps to .cu filename which implements this func. The only constraint is that\n# \"coll\" is reflected in the name: formally that no two funcs having different\n# coll's map to the same filename.\ndef impl_filename(coll, algo, proto, redop, ty, acc, pipeline, unroll):\n  return \"%s.cpp\" % paste(\"_\", coll_camel_to_lower[coll], redop and redop.lower(), ty)\n\n# Partition the functions and kernels to the .cu filenames. The partition is\n# a dictionary mapping filename to (coll, func-tuple list)\ndef partition_by_name(fns):\n  ans = {}\n  for fn in fns:\n    name = impl_filename(*fn)\n    coll = fn.coll\n    if name not in ans:\n      ans[name] = (coll, [])\n    ans[name][1].append(fn)\n  return ans\n\nname_to_funcs = partition_by_name(fn for fn in primary_funcs if fn.coll !=\"Nop\")\n\nredop_to_cxx = {\n  None: \"FuncCopy\",\n  \"Sum\": \"FuncSum\",\n  \"Prod\": \"FuncProd\",\n  \"MinMax\": \"FuncMinMax\",\n  \"PreMulSum\": \"FuncPreMulSum\",\n  \"SumPostDiv\": \"FuncSumPostDiv\"\n}\n\nty_to_cxx = {\n  None: \"int8_t\",\n  \"i8\": \"int8_t\",\n  \"u8\": \"uint8_t\",\n  \"i32\": \"int32_t\",\n  \"u32\": \"uint32_t\",\n  \"i64\": \"int64_t\",\n  \"u64\": \"uint64_t\",\n  \"f16\": \"half\",\n  \"f32\": \"float\",\n  \"f64\": \"double\",\n  \"bf16\": \"hip_bfloat16\",\n  \"f8e4m3\":  \"rccl_float8\",\n  \"f8e5m2\": \"rccl_bfloat8\"\n}\n\n# Generate each <gensrc>/<impl>.cpp:\nfor name in name_to_funcs.keys():\n  (coll, fns) = name_to_funcs[name]\n  with open(os.path.join(gensrc, name), \"w\") as f:\n    print(\"-- Generating %s\" % os.path.join(gensrc, name))\n\n    out = f.write\n    out(\n      '#include \"common.h\"\\n'\n      '#include \"{lower_coll}.h\"\\n'\n      .format(lower_coll=coll_camel_to_lower[coll])\n    )\n\n    for fn in fns:\n      sym = paste(\"_\", fn.coll, fn.algo, fn.proto, fn.redop, fn.ty, fn.acc, fn.pipeline, fn.unroll)\n      guard = get_arch_guard(fn)\n      if guard:\n        out(\"#if %s\\n\" % guard)\n      out(\n        \"DEFINE_ncclDevFunc({sym}, ncclFunc{coll}, {redop_cxx}, {ty_cxx}, NCCL_ALGO_{algo}, NCCL_PROTO_{proto}, {acc}, {pipeline}, {unroll})\\n\"\n        .format(sym=sym, coll=fn.coll, redop_cxx=redop_to_cxx[fn.redop], ty_cxx=ty_to_cxx[fn.ty],\n                algo=(fn.algo or \"RING\"), proto=(fn.proto or \"SIMPLE\"), acc=fn.acc, pipeline=fn.pipeline, unroll=fn.unroll)\n      )\n      if guard: \n        out(\"#endif\\n\")\n\n# Generate each <gensrc>/<msccl_impl>.cpp\nif is_msccl_kernels:\n  for redop in all_redops:\n    if redop in (\"Sum\", \"Prod\", \"MinMax\"):\n      for ty in all_tys:\n        with open(os.path.join(gensrc, f\"msccl_kernel_{redop}_{ty}.cpp\"), \"w\") as f:\n          print(\"-- Generating %s\" % os.path.join(gensrc, f\"msccl_kernel_{redop}_{ty}.cpp\"))\n\n          out = f.write\n          out('#include \"msccl_kernel_impl.h\"\\n#include \"nccl_common.h\"\\n')\n          out(\n            \"MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE({redop}, {ty_cxx}, false);\\n\"\n            .format(redop=redop, ty_cxx=ty_to_cxx[ty])\n          )\n"
  },
  {
    "path": "src/device/msccl_kernel_impl.h",
    "content": "/*************************************************************************\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#ifndef MSSCLKERNELIMPL_H\n#define MSSCLKERNELIMPL_H\n\n#include \"device.h\"\n#include \"primitives.h\"\n#include \"collectives.h\"\n\n#include \"msccl/msccl_struct.h\"\n#include \"msccl/msccl_kernel.h\"\n\nextern __shared__ struct mscclShmemData mscclShmem;\n\n#define MSCCL_MAX_ITER 65536\n\n// flags are a 3-tuple of (workindex, gridoffset_iter, step) and it follows a lexicographical order. a threadblock is ahead of another iff its flag is ahead\n#define COMPUTE_FLAG(__WORKINDEX__,__GRIDOFFSET_ITER__,__STEP__) \\\n  MSCCL_MAX_ITER*MSCCL_MAX_NUM_STEPS*(uint64_t)__WORKINDEX__ + ((uint64_t)__GRIDOFFSET_ITER__ * MSCCL_MAX_NUM_STEPS + (uint64_t)__STEP__)\n\n#define GET_WORKINDEX_FROM_FLAG(__FLAG__) \\\n  (__FLAG__) / (MSCCL_MAX_ITER*MSCCL_MAX_NUM_STEPS)\n\ninline __device__ static void barrier(int nthreads) {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  assert(nthreads == MSCCL_MAX_NTHREADS);\n  #ifdef __GFX12__\n    __asm__ __volatile__(\"s_waitcnt vmcnt(0) lgkmcnt(0)\\ns_barrier_signal -1\\ns_barrier_wait -1\");\n  #else\n    __asm__ __volatile__(\"s_waitcnt vmcnt(0) lgkmcnt(0)\\ns_barrier\");\n  #endif\n#else\n  asm volatile (\"bar.sync %1, %0;\" :: \"r\"(nthreads), \"r\"(15));\n#endif\n}\n\n// Copy 8-byte aligned data. You must call with at least `(bytes+7)/8` threads.\ninline __device__ static void copyToShmem8(int tid, void* dst, void const* src, int bytes) {\n  int offset = sizeof(uint32_t) * tid;\n  if (offset < bytes) {\n    uint32_t *src2 = (uint32_t*)((char const*)src + offset);\n    uint32_t *dst2 = (uint32_t*)((char*)dst + offset);\n    *dst2 = *src2;\n    offset += WARP_SIZE*sizeof(uint32_t);\n  }\n}\n\n__device__ __forceinline__ static void threadBlockCopy(\n  uint32_t *dst, uint32_t const *src, uint64_t size, int tid, int nthreads) {\n  for (int i = tid; i < size; i += nthreads) {\n    dst[i] = src[i];\n  }\n}\n\n#define MSCCL_REDUCE_UNROLL_LOOP_A(numloops, BytePerPack) \\\n  for (int r = 0; r < numloops; r++) { \\\n    srcOffset = srcBaseOffset + (ssize_t)mscclShmem.mscclTB.reductionSrcOffsets[t->reductionPointer+r] * sizePerMscclChunk; \\\n    reduceInput = ld_volatile_global<BytePerPack>((uintptr_t)(srcPointer + srcOffset)); \\\n    o = applyReduce(redFn, reduceInput, o); \\\n  }\n\ntemplate<typename T, typename RedOp, int BytePerPack>\n__device__ __forceinline__ static void mscclReduce(int c, int numReductions, int currIdx, ssize_t sizePerMscclChunk, RedOp redFn,\n  struct mscclTransmission* t, ssize_t gridOffset, ssize_t &srcOffset, ssize_t dstOffset, T *srcPointer, T *dstPointer) {\n  const int elemsPerPack = BytePerPack/sizeof(T);\n  T* dstIndex = dstPointer + dstOffset + currIdx*elemsPerPack;\n  BytePack<BytePerPack> reduceInput;\n  BytePack<BytePerPack> o = ld_volatile_global<BytePerPack>((uintptr_t)dstIndex);\n  ssize_t srcBaseOffset = gridOffset + (ssize_t)c * sizePerMscclChunk + currIdx*elemsPerPack;\n  switch (numReductions) {\n    case 7:\n      #pragma unroll\n      MSCCL_REDUCE_UNROLL_LOOP_A(7, BytePerPack);\n      break;\n#if defined(__gfx90a__)\n    case 15:\n      #pragma unroll\n      MSCCL_REDUCE_UNROLL_LOOP_A(15, BytePerPack);\n      break;\n#endif\n    default:\n      MSCCL_REDUCE_UNROLL_LOOP_A(numReductions, BytePerPack);\n      break;\n  }\n  st_global<BytePerPack>((uintptr_t)dstIndex, o);\n}\n\n\ntemplate<typename T, typename RedOp, typename Proto, bool fullOps>\n__device__ __forceinline__ void mscclRunInterpreter(\n  struct ncclKernelComm* comm, struct mscclAlgo* algo, struct mscclWork* work) {\n  const int tid = threadIdx.x;\n  const int bid = blockIdx.x;\n  const int nthreads = MSCCL_MAX_NTHREADS;\n\n#if defined(ENABLE_NPKIT)\n  uint64_t timestamp_entry = 0;\n  if (tid == 0) {\n     timestamp_entry = NPKIT_GET_GPU_TIMESTAMP();\n  }\n#endif\n  // initialize mscclShmem.mscclTB\n  threadBlockCopy(\n    (uint32_t *)&mscclShmem.mscclTB, (uint32_t *)(algo->mscclTBs + bid),\n    sizeof(struct mscclThreadBlock) / sizeof(uint32_t), tid, nthreads);\n  __syncthreads(); // publish mscclShmem.mscclTB.channelId\n\n  // initialize ncclShmem and mscclShmem.work\n  int channelId = mscclShmem.mscclTB.channelId;\n  {\n    void *dst, *src;\n    int bytes = 0;\n    // Use first 3 warps to load comm, channel, and work into shmem\n    switch (tid/WARP_SIZE) {\n    case 0:\n      dst = &ncclShmem.comm;\n      src = comm;\n      bytes = sizeof(ncclKernelComm);\n      break;\n    case 1:\n      // Get address of channel without incurring indirect load from ncclKernelComm::channels\n      dst = &ncclShmem.channel;\n      src = &((ncclKernelCommAndChannels*)comm)->channels[channelId];\n      bytes = sizeof(ncclDevChannel);\n      break;\n    case 2:\n      dst = &mscclShmem.work;\n      src = work + blockIdx.x;\n      bytes = sizeof(mscclWork);\n      break;\n    case 3:\n      /* set abort flag to 0 */\n      if (tid%WARP_SIZE == 0) ncclShmem.aborted = 0;\n#ifdef ENABLE_COLLTRACE\n      else if (tid%WARP_SIZE == 1) ncclShmem.collTrace = comm->collTrace + COLLTRACE_NUM_ITEMS*channelId;\n      else if (tid%WARP_SIZE == 2) ncclShmem.collTraceTail = comm->collTraceTail + channelId;\n#endif\n      break;\n    default:\n      break;\n    }\n    if (bytes) copyToShmem8(tid%WARP_SIZE, dst, src, bytes);\n  }\n#ifdef ENABLE_WARP_SPEED\n   ncclShmem.warpComm = 0;\n#endif\n  __syncthreads(); // publish shmem\n\n#if defined(ENABLE_NPKIT)\n  int npKitCtxIdx = bid;\n  int xcc_id = 0;\n  if (tid == 0) {\n#if defined(__gfx942__) || defined(__gfx950__)\n    asm volatile (\"s_getreg_b32 %0, hwreg(HW_REG_XCC_ID)\" : \"=s\" (xcc_id));\n#endif\n  }\n#endif\n\n  if (fullOps && tid == 0) {\n    traceData(__LINE__, mscclShmem.work.fnIndex, (uint64_t)mscclShmem.work.sendBuff, 0);\n  }\n\n  if (tid == 0)\n    *mscclShmem.work.workFifoDone = mscclShmem.work.workFifoDoneAck;\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_CPU)\n  if (tid == 0) {\n    NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_CPU, 0, xcc_id, NPKIT_GET_CPU_TIMESTAMP_FROM_BLOCK, ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n  }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_GPU)\n  if (tid == 0) {\n    NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_GPU, 0, xcc_id, NPKIT_GET_GPU_TIMESTAMP(), ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n  }\n#endif\n\n  // User pointers for primitives\n  T* thisInput = (T*)mscclShmem.work.sendBuff;\n  T* thisOutput = (T*)mscclShmem.work.recvBuff;\n  T* thisScratch = (T*)mscclShmem.work.scratchBuffer;\n  int recvPeer = mscclShmem.mscclTB.recvPeer;\n  int sendPeer = mscclShmem.mscclTB.sendPeer;\n\n  const ssize_t chunkSize = int(Proto::calcBytePerStep()/sizeof(T) * (Proto::Id == NCCL_PROTO_SIMPLE ? MSCCL_CHUNKSTEPS : 1));\n  int minChunkSize;\n  if (Proto::Id == NCCL_PROTO_LL)\n    minChunkSize = nthreads*(Proto::calcBytePerGrain()/sizeof(T));\n  if (Proto::Id == NCCL_PROTO_LL128) {\n    // We should not need the final /2 but it makes performance much, much smoother. Might be a bug somewhere.\n    minChunkSize = nthreads*(Proto::calcBytePerGrain()/sizeof(T))/2;\n  }\n\n  RedOp redFn(mscclShmem.work.redOpArg);\n  Primitives<T, RedOp, FanAsymmetric<1,1>, 1, Proto, 0, 0, RCCL_METADATA_MSCCL> prims\n    (tid, nthreads, &recvPeer, &sendPeer, thisInput, thisOutput, mscclShmem.work.redOpArg);\n\n#if defined(ENABLE_NPKIT)\n  if (tid == 0) {\n    prims.npKitCtxIdx = npKitCtxIdx;\n  }\n#endif\n\n  const ssize_t sizePerMscclChunk = mscclShmem.work.sizePerMscclChunk;\n  uint32_t maxAllowedCount = mscclShmem.work.maxAllowedCount;\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_RUN_ENTRY)\n  if (tid == 0) {\n    NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_RUN_ENTRY, mscclShmem.work.sizePerMscclChunk*mscclShmem.work.nChunksPerLoop, xcc_id, timestamp_entry, ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n  }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_INIT_ENTRY)\n  if (tid == 0) {\n    NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_INIT_ENTRY, 0, xcc_id, timestamp_entry, ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n  }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_INIT_EXIT)\n  if (tid == 0) {\n    NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_INIT_EXIT, 0, xcc_id, NPKIT_GET_GPU_TIMESTAMP(), ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n  }\n#endif\n\n  // msccl flags all start out with 0. this is used as a part of the flag to make sure different work items deal with different synchronization flags\n  // this still needs more work. when we make a way around the queue, the flag might have been set to undesired values. will be fixed in subsequent versions.\n  const int64_t workIndex = mscclShmem.work.workIndex;\n  volatile struct mscclFlag* mscclFlags = mscclShmem.work.syncFlags;\n  for (ssize_t gridOffset = 0, iter = 0; gridOffset < sizePerMscclChunk; gridOffset += chunkSize, iter++) {\n    ssize_t realChunkSize;\n    if (Proto::Id == NCCL_PROTO_SIMPLE) {\n      realChunkSize = min(chunkSize, sizePerMscclChunk-gridOffset);\n      realChunkSize = roundUp(realChunkSize, nthreads*sizeof(uint64_t)/sizeof(T));\n    }\n    else\n      realChunkSize = min(chunkSize, divUp(sizePerMscclChunk-gridOffset, minChunkSize)*minChunkSize);\n    realChunkSize = int(realChunkSize);\n    int nelem = min(realChunkSize, sizePerMscclChunk-gridOffset);\n\n    ssize_t srcOffset, dstOffset;\n    T *srcPointer, *dstPointer;\n    int step = 0;\n    for (int i = 0; i < mscclShmem.mscclTB.nSteps; i++){\n      struct mscclTransmission* t = &mscclShmem.mscclTB.transmissions[i];\n      // first wait if there is a dependence\n      int16_t numDependencies = t->numDependencies;\n      if (numDependencies > 0){\n        if (tid < numDependencies) {\n          int16_t dependentPointer = t->dependencePointer;\n          int8_t dependentBid = mscclShmem.mscclTB.dependentBid[dependentPointer+tid];\n          int16_t dependentStep = mscclShmem.mscclTB.dependentStep[dependentPointer+tid];\n          uint64_t goalFlag = COMPUTE_FLAG(workIndex, iter, dependentStep);\n          while (true){\n            uint64_t curFlag = __atomic_load_n(&(mscclFlags + dependentBid)->flag, (t->srcBuffer != MSCCL_OUTPUT_BUFFER) ? __ATOMIC_RELAXED : __ATOMIC_ACQUIRE);\n            if (curFlag >= goalFlag && GET_WORKINDEX_FROM_FLAG(curFlag) == workIndex) break;\n          }\n        }\n        step += numDependencies-1;\n        barrier(nthreads);\n      }\n\n      srcPointer = (t->srcBuffer == MSCCL_INPUT_BUFFER) ? thisInput : ((t->srcBuffer == MSCCL_OUTPUT_BUFFER) ? thisOutput : thisScratch);\n      dstPointer = (t->dstBuffer == MSCCL_INPUT_BUFFER) ? thisInput : ((t->dstBuffer == MSCCL_OUTPUT_BUFFER) ? thisOutput : thisScratch);\n      prims.setDataPtrs(srcPointer, dstPointer);\n\n      int count = t->count;\n      for (int c = 0; c < count; c += maxAllowedCount) {\n        srcOffset = gridOffset + (ssize_t) (t->srcOffset+c) * sizePerMscclChunk;\n        dstOffset = gridOffset + (ssize_t) (t->dstOffset+c) * sizePerMscclChunk;\n        int thisCount = min(maxAllowedCount, count - c);\n        int thisNelem = nelem * thisCount;\n        if (t->type == MSCCL_SEND) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_SEND_ENTRY)\n            if (tid == 0) {\n              NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_SEND_ENTRY, thisNelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(), ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n            }\n\n#endif\n          prims.send(srcOffset, thisNelem); // LL.send is the only situation where there is no barrier at the end.\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_SEND_EXIT)\n            if (tid == 0) {\n              NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_SEND_EXIT, thisNelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(), ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n            }\n#endif\n        }\n        else if (t->type == MSCCL_RECV) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_RECV_ENTRY)\n            if (tid == 0) {\n              NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_RECV_ENTRY, thisNelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(), ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n            }\n#endif\n          prims.recv(dstOffset, thisNelem);\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_RECV_EXIT)\n            if (tid == 0) {\n              NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_RECV_EXIT, thisNelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(), ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n            }\n#endif\n        }\n        else if (t->type == MSCCL_REDUCE) {\n          int numReductions = t->numReductions;\n          int currIdx = tid;\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_REDUCE_ENTRY)\n          if (tid == 0) {\n            NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_REDUCE_ENTRY, thisNelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(), ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n          }\n#endif\n          dstOffset = gridOffset + (ssize_t) (t->dstOffset+c) * sizePerMscclChunk;\n          // process 16-byte packed elements\n          const int elemsPerPack = 16/sizeof(T);\n          while (currIdx < thisNelem/elemsPerPack) {\n            mscclReduce<T, RedOp, 16>(c, numReductions, currIdx, sizePerMscclChunk, redFn, t, gridOffset, srcOffset, dstOffset, srcPointer, dstPointer);\n            currIdx += nthreads;\n          }\n          // process remaining elements\n          currIdx = tid + (thisNelem/elemsPerPack)*elemsPerPack;\n          if (currIdx < thisNelem) {\n            mscclReduce<T, RedOp, sizeof(T)>(c, numReductions, currIdx, sizePerMscclChunk, redFn, t, gridOffset, srcOffset, dstOffset, srcPointer, dstPointer);\n          }\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_REDUCE_EXIT)\n          if (tid == 0) {\n            NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_REDUCE_EXIT, thisNelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(), ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n          }\n#endif\n          barrier(nthreads);\n          if (c == 0) step += (numReductions-1); // only advance step once!\n        }\n        else if (fullOps && t->type == MSCCL_RECV_COPY_SEND)\n          prims.recvCopySend(dstOffset, thisNelem);\n        else if (fullOps && t->type == MSCCL_RECV_REDUCE_SEND)\n          prims.recvReduceSend(srcOffset, thisNelem);\n        else if (fullOps && t->type == MSCCL_RECV_REDUCE_COPY_SEND)\n          prims.recvReduceCopySend(srcOffset, dstOffset, thisNelem);\n        else if (fullOps && t->type == MSCCL_RECV_REDUCE_COPY) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_RECV_REDUCE_COPY_ENTRY)\n          if (tid == 0) {\n            NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_RECV_REDUCE_COPY_ENTRY, thisNelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(), ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n          }\n#endif\n          prims.recvReduceCopy(srcOffset, dstOffset, thisNelem);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_RECV_REDUCE_COPY_EXIT)\n          if (tid == 0) {\n            NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_RECV_REDUCE_COPY_EXIT, thisNelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(), ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n          }\n#endif\n        }\n        else if (t->type == MSCCL_LOCAL_COPY)\n          prims.localCopy(srcPointer+srcOffset, dstPointer+dstOffset, thisNelem);\n        else\n          return;\n      }\n      if (t->hasDependence && tid == nthreads-1)\n        __atomic_store_n(&mscclFlags[bid].flag, (uint64_t) COMPUTE_FLAG(workIndex, iter, step), (t->dstBuffer != MSCCL_SCRATCH_BUFFER) ? __ATOMIC_RELEASE : __ATOMIC_RELAXED);\n      step++;\n    }\n  }\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_RUN_EXIT)\n  if (tid == 0) {\n    NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_RUN_EXIT, mscclShmem.work.sizePerMscclChunk*mscclShmem.work.nChunksPerLoop, xcc_id, NPKIT_GET_GPU_TIMESTAMP(), ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n  }\n#endif\n\n  if (fullOps && tid == 0) {\n    traceData(__LINE__, mscclShmem.work.fnIndex, (uint64_t)mscclShmem.work.sendBuff, 0);\n  }\n}\n\n#define MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, type, fullOps) \\\n__global__ void MSCCL_KERNEL_ENTRY_NAME(devredop, type, LL, fullOps)(struct ncclKernelComm* comm, struct mscclAlgo* algo, struct mscclWork* work) { \\\n  mscclRunInterpreter<type, Func##devredop<type>, ProtoLL, fullOps>(comm, algo, work); \\\n} \\\n__global__ void MSCCL_KERNEL_ENTRY_NAME(devredop, type, LL128, fullOps)(struct ncclKernelComm* comm, struct mscclAlgo* algo, struct mscclWork* work) { \\\n  mscclRunInterpreter<type, Func##devredop<type>, ProtoLL128, fullOps>(comm, algo, work); \\\n} \\\n__global__ void MSCCL_KERNEL_ENTRY_NAME(devredop, type, Simple, fullOps)(struct ncclKernelComm* comm, struct mscclAlgo* algo, struct mscclWork* work) { \\\n  mscclRunInterpreter<type, Func##devredop<type>, ProtoSimple<MSCCL_CHUNKSTEPS/MSCCL_SLICESTEPS, MSCCL_SLICESTEPS, 0, 2>, fullOps>(comm, algo, work); \\\n}\n\n#define MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP(devredop, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, int8_t, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, uint8_t, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, int32_t, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, uint32_t, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, int64_t, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, uint64_t, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, half, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, float, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, double, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, hip_bfloat16, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, rccl_float8, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, rccl_bfloat8, fullOps)\n\n#define MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_NOFLOAT(devredop, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, int8_t, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, uint8_t, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, int32_t, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, uint32_t, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, int64_t, fullOps) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, uint64_t, fullOps)\n\n#define MSCCL_IMPL_KERNEL_ENTRY_FUNC() \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP(Sum, false) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP(Prod, false) \\\n  MSCCL_IMPL_KERNEL_ENTRY_FUNC_DEVREDOP(MinMax, false)\n\n#endif\n"
  },
  {
    "path": "src/device/network/unpack/unpack.h",
    "content": "/*************************************************************************\n * Copyright (c) 2023, Google LLC.  All rights reserved.\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#ifndef NET_DEVICE_UNPACK_H\n#define NET_DEVICE_UNPACK_H\n\n#include \"unpack_defs.h\"\n\n#include \"op128.h\"\n#include \"bitops.h\"\n#include \"device.h\"\n#include \"common.h\"\n\n// #define ALIGNED_LOAD\n\ninline __device__ void load64gpu(const uint64_t* ptr, uint64_t &v) {\n  #if __CUDA_ARCH__ >= 700\n      asm volatile(\"ld.relaxed.gpu.u64 {%0}, [%1];\"\n      : \"=l\"(v) : \"l\"(ptr) : \"memory\");\n  #else\n      // asm volatile(\"ld.volatile.global.u64 {%0}, [%1];\"\n      // : \"=l\"(v) : \"l\"(ptr) : \"memory\");\n  #endif\n}\n\n#define PAGE_META_SIZE 16\n#define META_LOAD_SIZE 16\n#define DATA_LOAD_SIZE 16\n\n// Map internal association of handle with group and peer index (called once at init time)\ninline __device__ void ncclNetDeviceUnpackSetup(void* ohandle, const int group, const int index) {\n  struct unpackNetDeviceHandle* handle = (struct unpackNetDeviceHandle*) ohandle;\n  // coverity[index_parm:FALSE]\n  ncclShmem.groups[group].devicePlugin.unpack.g_meta[index] = handle->meta;\n  ncclShmem.devicePlugin.unpack.bounce_buf = handle->bounce_buf;\n  // coverity[index_parm:FALSE]\n  ncclShmem.groups[group].devicePlugin.unpack.head[index] = handle->head;\n}\n\ninline __device__ void ncclNetDeviceIncrementHead(const int group, const int index) {\n  // coverity[index_parm:FALSE]\n  ncclShmem.groups[group].devicePlugin.unpack.head[index]++;\n}\n\ninline __device__ void ncclNetDeviceSaveHead(void* ohandle, const int group, const int index) {\n  struct unpackNetDeviceHandle* handle = (struct unpackNetDeviceHandle*) ohandle;\n  // coverity[index_parm:FALSE]\n  handle->head = ncclShmem.groups[group].devicePlugin.unpack.head[index];\n}\n\ntemplate <uint8_t sz>\ninline __device__ void bulkLoad(const int t, const uint32_t len, char* cpy_src, char* cpy_dst, BytePack<sz> *reg, const int w, loadMeta* g_meta, loadMeta* s_meta, uint32_t src_off, uint64_t dst_off){\n  bulkLoad<1>(t, len, cpy_src, cpy_dst, reg, w, g_meta, s_meta, src_off, dst_off);\n}\n\ntemplate <>\ninline __device__ void bulkLoad<1>(const int t, const uint32_t len, char* cpy_src, char* cpy_dst, BytePack<1> reg[16], const int w, loadMeta* g_meta, loadMeta* s_meta, uint32_t src_off, uint64_t dst_off){\n  uint64_t data_s;\n  for (data_s = t * DATA_LOAD_SIZE; data_s + DATA_LOAD_SIZE - 1 < len; data_s += WARP_SIZE * DATA_LOAD_SIZE) {\n\n#ifdef ALIGNED_LOAD\n    load128 ((uint64_t*)(cpy_src + data_s), reg.u64[0], reg.u64[1]);\n#else\n#pragma unroll\n    for (int i=0; i<16; i++) {\n      reg[i] = ld_volatile_global<1>((uintptr_t)((uint8_t*)(cpy_src + data_s) + i));\n    }\n#endif\n\n#pragma unroll\n    for (int i=0; i<16; i++) {\n      st_global<1>((uintptr_t)((uint8_t*)(cpy_dst + data_s) + i), reg[i]);\n    }\n  }\n}\n\ntemplate <>\ninline __device__ void bulkLoad<2>(const int t, const uint32_t len, char* cpy_src, char* cpy_dst, BytePack<2> reg[8], const int w, loadMeta* g_meta, loadMeta* s_meta, uint32_t src_off, uint64_t dst_off){\n  uint64_t data_s;\n  for (data_s = t * DATA_LOAD_SIZE; data_s + DATA_LOAD_SIZE - 1 < len; data_s += WARP_SIZE * DATA_LOAD_SIZE) {\n#ifdef ALIGNED_LOAD\n    load128 ((uint64_t*)(cpy_src + data_s), reg.u64[0], reg.u64[1]);\n#else\n#pragma unroll\n    for (int i=0; i<8; i++) {\n      reg[i] = ld_volatile_global<2>((uintptr_t)((uint16_t*)(cpy_src + data_s) + i));\n    }\n#endif\n\n\n#pragma unroll\n    for (int i=0; i<8; i++) {\n      st_global<2>((uintptr_t)((uint16_t*)(cpy_dst + data_s) + i), reg[i]);\n    }\n  }\n}\n\ntemplate <>\ninline __device__ void bulkLoad<4>(const int t, const uint32_t len, char* cpy_src, char* cpy_dst, BytePack<4> reg[4], const int w, loadMeta* g_meta, loadMeta* s_meta, uint32_t src_off, uint64_t dst_off){\n  uint64_t data_s;\n  for (data_s = t * DATA_LOAD_SIZE; data_s + DATA_LOAD_SIZE - 1 < len; data_s += WARP_SIZE * DATA_LOAD_SIZE) {\n#ifdef ALIGNED_LOAD\n    load128 ((uint64_t*)(cpy_src + data_s), reg.u64[0], reg.u64[1]);\n#else\n#pragma unroll\n    for (int i=0; i<4; i++) {\n      reg[i] = ld_volatile_global<4>((uintptr_t)((uint32_t *)(cpy_src + data_s) + i));\n    }\n#endif\n\n#pragma unroll\n    for (int i=0; i<4; i++) {\n      st_global<4>((uintptr_t)((uint32_t*)(cpy_dst + data_s) + i), reg[i]);\n    }\n  }\n}\n\ntemplate <>\ninline __device__ void bulkLoad<8>(const int t, const uint32_t len, char* cpy_src, char* cpy_dst, BytePack<8> reg[2], const int w, loadMeta* g_meta, loadMeta* s_meta, uint32_t src_off, uint64_t dst_off){\n  uint64_t data_s;\n  for (data_s = t * DATA_LOAD_SIZE; data_s + DATA_LOAD_SIZE - 1 < len; data_s += WARP_SIZE * DATA_LOAD_SIZE) {\n#ifdef ALIGNED_LOAD\n    load128 ((uint64_t*)(cpy_src + data_s), reg.u64[0], reg.u64[1]);\n#else\n#pragma unroll\n    for (int i=0; i<2; i++) {\n      reg[i] = ld_volatile_global<8>((uintptr_t)((uint64_t*)(cpy_src + data_s) + i));\n    }\n#endif\n\n#pragma unroll\n    for (int i=0; i<2; i++) {\n      st_global<8>((uintptr_t)((uint64_t*)(cpy_dst + data_s) + i), reg[i]);\n    }\n  }\n}\n\ntemplate <>\ninline __device__ void bulkLoad<16>(const int t, const uint32_t len, char* cpy_src, char* cpy_dst, BytePack<16> reg[1], const int w, loadMeta* g_meta, loadMeta* s_meta, uint32_t src_off, uint64_t dst_off){\n  uint64_t data_s;\n  for (data_s = t * DATA_LOAD_SIZE; data_s + DATA_LOAD_SIZE - 1 < len; data_s += WARP_SIZE * DATA_LOAD_SIZE) {\n    reg[0] = ld_volatile_global<16>((uintptr_t)(cpy_src + data_s));\n    st_global<16>((uintptr_t)(cpy_dst + data_s), reg[0]);\n  }\n}\n\n#ifndef PAGE_SIZE\n#define PAGE_SIZE 4096\n#endif\ninline __device__ int ppw(const int nbytes, int nw) {\n  int v = DIVUP(nbytes, SLICE_PAGE_SIZE);\n  v = DIVUP(v, nw);\n  while (v > WARP_SHM_PAGE_CNT) {\n    v = DIVUP(v, 2);\n  }\n  return v;\n}\n\n// This function is called by all threads\n// Pack data from the internal iovec to the supplied flat buffer using all the\n// threads\ntemplate <int Recv>\ninline __device__ void ncclNetDeviceUnpack(\n    const int tid, const int tidInBlock, const int nworkers, const int group, int mask, int Src, int workSize);\n\ntemplate <>\ninline __device__ void ncclNetDeviceUnpack</*Recv=*/0>(\n    const int tid, const int tidInBlock, const int nworkers, const int group, int mask, int Src, int workSize) {\n  // send unpack empty\n}\n\ninline __device__ void ncclNetDeviceUnpackInner(\n    const int tid, const int tidInBlock, const int nworkers, const int group, const int index,\n    void *src, const int nbytes, const uint64_t step);\n\ntemplate <>\ninline __device__ void ncclNetDeviceUnpack</*Recv=*/1>(\n    const int tid, const int tidInBlock, const int nworkers, const int group, int mask, int Src, int workSize) {\n\n  while (mask != 0) {\n    int ix = __ffs(mask)-1; // Get the first set bit of the mask (this should correlate to a peer index)\n    mask &= mask-1; // Drop the first set bit of the mask\n\n    // Pack data from the internal iovec to the supplied flat srcs buffer using all the threads\n    // + Src is necessary in the case of accessing the user buffer directly\n    ncclNetDeviceUnpackInner(tid, tidInBlock, nworkers, group /* in case they need to use split warps shared memory partitioning*/,\n      ix, ncclShmem.groups[group].srcs[ix + Src], workSize, ncclShmem.groups[group].devicePlugin.unpack.head[ix]);\n  }\n}\n\ninline __device__ void ncclNetDeviceUnpackInner(\n    const int tid, const int tidInBlock, const int nworkers, const int group, const int index,\n    void *src, const int nbytes, const uint64_t step) {\n  // from src/collectives/device/common_kernel.h\n  const int w = tid / WARP_SIZE;        // Warp number\n  const int nw = nworkers / WARP_SIZE;  // Number of warps\n  const int t = tid % WARP_SIZE;        // Thread (inside the warp)\n\n  BytePack<16> reg;\n  loadMeta meta;\n\n  uint64_t head;\n  struct netUnpackMeta* g_meta_struct;\n  void* bounce_buf;\n\n  loadMeta* g_meta;\n  loadMeta* s_meta;\n  uint64_t meta_cnt;\n\n  // hack head use per-warp\n  head          = step;\n  g_meta_struct = ncclShmem.groups[group].devicePlugin.unpack.g_meta[index];\n  bounce_buf    = ncclShmem.devicePlugin.unpack.bounce_buf;\n\n  __syncwarp();\n\n  head %= NCCL_NET_DEVICE_UNPACK_MAX_QUEUE_DEPTH;\n\n  g_meta = g_meta_struct->mem[head];\n\n  // Currently, even/odd groups perform send/recv separately. We don't really need space for send side.\n  // Total size is N page per warp * 16 B per page * 20 WARPS max = 320 * N bytes, N == WARP_SHM_PAGE_CNT\n  static_assert(ncclShmemScratchWarpSize() >= WARP_SHM_SIZE, \"Each warp must have enough scratch space\");\n  s_meta = (loadMeta*) ncclScratchForWarp(tidInBlock / WARP_SIZE); // (loadMeta*) (ncclShmem.devicePlugin.unpack.meta + shm_off);\n\n  load64gpu(g_meta_struct->cnt + head, meta_cnt);\n\n  int PPW = ppw(nbytes, nw);\n\n  // Coverity reports a potential overflow but in reality PPW is tiny so there's no need to store it in an uint64_t.\n  // coverity[overflow_before_widen]\n  for (uint64_t meta_s = w * PPW; meta_s < meta_cnt; meta_s += nw * PPW) {\n\n    uint64_t iter_meta_cnt = meta_cnt - meta_s;\n    iter_meta_cnt = iter_meta_cnt < PPW ? iter_meta_cnt : PPW;\n\n    // TODO: this load size needs to work if not aligned, but since the two are both 16...\n    if (t < PPW * PAGE_META_SIZE / META_LOAD_SIZE && t < iter_meta_cnt) {  // avoid last iter load garbage data\n      load128((const uint64_t*) (g_meta + (meta_s + t)), reg.u64[0], reg.u64[1]);\n\n      storeShmem128(shmemCvtPtr((uint64_t *)(s_meta + (w * PPW + t))), reg.u64[0], reg.u64[1]);\n    }\n\n    __syncwarp();\n\n    for (int x = 0; x < iter_meta_cnt; x++) {\n      int meta_idx = x + w * PPW;\n      \n      // load page offs\n      loadShmem128(shmemCvtPtr((uint64_t*) (s_meta + meta_idx)), meta.r64[0], meta.r64[1]);\n\n      if (meta.len >= DATA_LOAD_SIZE) {\n        // fast path, but need to adapt to alignment issue\n\n        // bulk copy data\n        uint8_t align_off = (meta.src_off | meta.dst_off) % DATA_LOAD_SIZE;\n        align_off = align_off & -align_off;  // keep the lowest bit\n        if (align_off == 0) {  // 0x16\n          bulkLoad<16>(t, meta.len, (char*) bounce_buf + meta.src_off, (char*) src + meta.dst_off, &reg, w, g_meta, s_meta, meta.src_off, meta.dst_off);\n        } else if (align_off & 0x8) {\n          bulkLoad<8>(t, meta.len, (char*) bounce_buf + meta.src_off, (char*) src + meta.dst_off, (BytePack<8>*) &reg, w, g_meta, s_meta, meta.src_off, meta.dst_off);\n        } else if (align_off & 0x4) {\n          bulkLoad<4>(t, meta.len, (char*) bounce_buf + meta.src_off, (char*) src + meta.dst_off, (BytePack<4>*) &reg, w, g_meta, s_meta, meta.src_off, meta.dst_off);\n        } else if (align_off & 0x2) {\n          bulkLoad<2>(t, meta.len, (char*) bounce_buf + meta.src_off, (char*) src + meta.dst_off, (BytePack<2>*) &reg, w, g_meta, s_meta, meta.src_off, meta.dst_off);\n        } else { // if (align_off & 0x1)\n          bulkLoad<1>(t, meta.len, (char*) bounce_buf + meta.src_off, (char*) src + meta.dst_off, (BytePack<1>*) &reg, w, g_meta, s_meta, meta.src_off, meta.dst_off);\n        }\n      }\n\n      // must be less than 16 bytes\n      if (t < meta.len % DATA_LOAD_SIZE) {\n        volatile char* cpy_src = (char*) bounce_buf + meta.src_off + (meta.len / DATA_LOAD_SIZE) * DATA_LOAD_SIZE + t;\n        volatile char* cpy_dst = (char*) src        + meta.dst_off + (meta.len / DATA_LOAD_SIZE) * DATA_LOAD_SIZE + t;\n        *cpy_dst = *cpy_src;\n      }\n    }\n\n    __syncwarp();\n  }\n}\n\n#endif  // NET_DEVICE_UNPACK_DEFS_H_\n"
  },
  {
    "path": "src/device/network/unpack/unpack_defs.h",
    "content": "/*************************************************************************\n * Copyright (c) 2023, Google LLC.  All rights reserved.\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#ifndef NET_DEVICE_UNPACK_DEFS_H\n#define NET_DEVICE_UNPACK_DEFS_H\n\n#include <stdint.h>\n\n#include \"device.h\"\n\n#define NCCL_NET_DEVICE_UNPACK_MAX_QUEUE_DEPTH 16\n\nunion alignas(16) loadMeta {\n  uint64_t r64[2];\n  struct {\n    uint32_t src_off;\n    uint32_t len;\n    uint64_t dst_off;\n  };\n};\nstatic_assert(sizeof(union loadMeta) == 16, \"Must be 16-byte aligned\");\n\n/****** global memory ******/\n\n#define NET_UNPACK_MAX_QUEUE_DEPTH 16  // MAX_REQUESTS\n#define NET_UNPACK_MAX_SLICE_SIZE 4194304  // 4MB per Irecv call\n#define SLICE_PAGE_SIZE 4096\n#define NET_UNPACK_MAX_SLICE_PAGES \\\n  (NET_UNPACK_MAX_SLICE_SIZE / SLICE_PAGE_SIZE * 2)  // * 2 for slack, wasteful..\n\nstruct netUnpackMeta {\n  loadMeta mem[NCCL_NET_DEVICE_UNPACK_MAX_QUEUE_DEPTH][NET_UNPACK_MAX_SLICE_PAGES];\n  uint64_t cnt[NCCL_NET_DEVICE_UNPACK_MAX_QUEUE_DEPTH];\n};\n\nstruct unpackNetDeviceHandle {\n  struct netUnpackMeta *meta;  // mapped\n  void* bounce_buf;\n  uint64_t head;\n};\n\n/****** shared memory ******/\n\n#define NET_UNPACK_MAX_GROUPS 16 // Forked from NCCL_MAX_GROUPS in devcomm.h\n#define NET_UNPACK_MAX_NPEERS 2  // The most you should have is 2 network peers per-group (indexed by index)\n#define WARP_SHM_PAGE_CNT 4\n#define WARP_SHM_SIZE (WARP_SHM_PAGE_CNT * sizeof(union loadMeta))\nstruct unpackShmem {\n  void* bounce_buf;\n};\n\nstruct unpackGroupShmem {\n  int unpackNetDeviceIndexMask; // We store a single unpackNetDeviceIndex because only one peer can be network recv\n  uint64_t head[NET_UNPACK_MAX_NPEERS];\n  struct netUnpackMeta* g_meta[NET_UNPACK_MAX_NPEERS]; // head of handle to index into meta for meta copy\n};\n\n#endif // NET_DEVICE_UNPACK_DEFS_H_\n"
  },
  {
    "path": "src/device/onerank.cu",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"alloc.h\"\n#include \"collectives.h\"\n#include \"common_kernel.h\"\n#include \"common.h\"\n#include <cuda_runtime.h>\n\n#if defined(__gfx950__)\n#define COLL_UNROLL 1\n#elif defined(__gfx908__) || defined(__gfx942__)\n#define COLL_UNROLL 2\n#else\n#define COLL_UNROLL 4\n#endif\n\nnamespace {\n  template<typename RedOp>\n  __global__ __launch_bounds__(512, 1)\n  void oneRankReduce(void* dst, void* src, size_t nElts, uint64_t redOpArg, bool redOpArgIsPtr) {\n    using T = typename RedOp::EltType;\n    int tid = threadIdx.x;\n    int tn = blockDim.x;\n    int bid = blockIdx.x;\n    int bn = gridDim.x;\n\n    // each block/channel gets a roughly equal segment of 16 byte packs\n    constexpr int EltPerPack = 16/sizeof(T);\n    intptr_t i0 = (bid+0)*alignUp(nElts/bn, EltPerPack);\n    intptr_t i1 = (bid+1)*alignUp(nElts/bn, EltPerPack);\n    i0 = min(i0, nElts);\n    i1 = min(i1, nElts);\n    src = (T*)src + i0;\n    dst = (T*)dst + i0;\n\n    if (redOpArgIsPtr) {\n      if (redOpArg%2 != 0) {\n        redOpArg = *reinterpret_cast<uint8_t*>(redOpArg);\n      } else if (redOpArg%4 != 0) {\n        redOpArg = *reinterpret_cast<uint16_t*>(redOpArg);\n      } else if (redOpArg%8 != 0) {\n        redOpArg = *reinterpret_cast<uint32_t*>(redOpArg);\n      } else {\n        redOpArg = *reinterpret_cast<uint64_t*>(redOpArg);\n      }\n    }\n    reduceCopy<COLL_UNROLL,0, RedOp, T, 0,1,1, 0,1,1, /*PreOpSrcs=*/1>\n      (tid, tn, redOpArg, &redOpArg, true, 1, &src, 1, &dst, i1-i0);\n  }\n}\n\nncclResult_t ncclLaunchOneRank(void* dst, void const* src, size_t nElts, struct ncclDevRedOpFull redOp, ncclDataType_t eltType, cudaStream_t stream) {\n  size_t eltSize = ncclTypeSize(eltType);\n  if (redOp.op != ncclDevPreMulSum) {\n    if (dst != src) {\n      NCCLCHECK(ncclCudaMemcpyAsync((char*)dst, (char*)src, nElts*eltSize, stream));\n    }\n    return ncclSuccess;\n  }\n\n  void const* kernel;\n  switch (eltType) {\n  case ncclInt8:     kernel = (void const*)&oneRankReduce<FuncPreMulSum<int8_t>>; break;\n  case ncclUint8:    kernel = (void const*)&oneRankReduce<FuncPreMulSum<uint8_t>>; break;\n  case ncclInt32:    kernel = (void const*)&oneRankReduce<FuncPreMulSum<int32_t>>; break;\n  case ncclUint32:   kernel = (void const*)&oneRankReduce<FuncPreMulSum<uint32_t>>; break;\n  case ncclInt64:    kernel = (void const*)&oneRankReduce<FuncPreMulSum<int64_t>>; break;\n  case ncclUint64:   kernel = (void const*)&oneRankReduce<FuncPreMulSum<uint64_t>>; break;\n#if defined(RCCL_FLOAT8)\n  case ncclFloat8e4m3: kernel = (void const*)&oneRankReduce<FuncPreMulSum<rccl_float8>>; break;\n  case ncclFloat8e5m2: kernel = (void const*)&oneRankReduce<FuncPreMulSum<rccl_bfloat8>>; break;\n#endif\n  case ncclFloat16:  kernel = (void const*)&oneRankReduce<FuncPreMulSum<half>>; break;\n#if defined(RCCL_BFLOAT16)\n  case ncclBfloat16: kernel = (void const*)&oneRankReduce<FuncPreMulSum<hip_bfloat16>>; break;\n#endif\n  case ncclFloat32:  kernel = (void const*)&oneRankReduce<FuncPreMulSum<float>>; break;\n  case ncclFloat64:  kernel = (void const*)&oneRankReduce<FuncPreMulSum<double>>; break;\n  default: return ncclInvalidArgument;\n  }\n  dim3 grid = {0, 1, 1};\n  grid.x = std::min(32, (int)divUp(nElts*eltSize, 16<<10));\n  dim3 block = {512, 1, 1};\n  void* args[5] = {&dst, &src, &nElts, &redOp.scalarArg, &redOp.scalarArgIsPtr};\n  CUDACHECK(cudaLaunchKernel(kernel, grid, block, args, 0, stream));\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/device/op128.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2019, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef OP128_H_\n#define OP128_H_\n\n#include <type_traits>\n\n#include \"device/rccl_ptr.h\"\n\ninline __device__ void load128(const uint64_t* ptr, uint64_t &v0, uint64_t &v1) {\n  v0 = __builtin_nontemporal_load((u64_gptr) ptr);\n  v1 = __builtin_nontemporal_load((u64_gptr) ptr+1);\n}\n\ninline __device__ void store128(uint64_t* ptr, uint64_t v0, uint64_t v1) {\n  *((u64_gptr) ptr) = v0;\n  *((u64_gptr) ptr + 1) = v1;\n}\n\ninline __device__ uint64_t* shmemCvtPtr(volatile uint64_t* shmemGenericPtr) {\n  return (uint64_t*)shmemGenericPtr;\n}\n\ninline __device__ void loadShmem128(uint64_t* shmemAsmPtr, uint64_t &v0, uint64_t &v1) {\n  v0 = *(shmemAsmPtr);\n  v1 = *(shmemAsmPtr+1);\n}\n\ninline __device__ void storeShmem128(uint64_t* shmemAsmPtr, uint64_t v0, uint64_t v1) {\n  *(shmemAsmPtr) = v0;\n  *(shmemAsmPtr+1) = v1;\n}\n\ntemplate<typename T>\ninline __device__ void loadShmemMisaligned128(T *ptr, uint64_t &v0, uint64_t &v1) {\n  union {\n    uint32_t tmp4[4];\n    uint64_t tmp8[2];\n  };\n  if(sizeof(T) < 4) {\n    uint32_t *ptr4 = reinterpret_cast<uint32_t*>(reinterpret_cast<uintptr_t>(ptr) & -uintptr_t(4));\n    #pragma unroll\n    for(int e=0; e < 4; e++) {\n      // Produce 4 bytes of sub-register type by reading 2 4-byte\n      // aligned values and shifting.\n      uint32_t lo, hi;\n      lo = __builtin_nontemporal_load(ptr4+e+0);\n      hi = __builtin_nontemporal_load(ptr4+e+1);\n      tmp4[e] = __funnelshift_r(lo, hi, 8*(int(reinterpret_cast<uintptr_t>(ptr))%4));\n    }\n  }\n  else if(sizeof(T) == 4) {\n    #pragma unroll\n    for(int e=0; e < 4; e++)\n      tmp4[e] = __builtin_nontemporal_load(reinterpret_cast<uint32_t*>(ptr)+e);\n  }\n  else /*sizeof(T)==8*/ {\n    #pragma unroll\n    for(int e=0; e < 2; e++)\n      tmp8[e] = __builtin_nontemporal_load(reinterpret_cast<uint64_t*>(ptr)+e);\n  }\n  v0 = tmp8[0];\n  v1 = tmp8[1];\n}\n\n\ntemplate<typename T>\n__device__ __forceinline__ uint32_t cvta_to_shared(T* ptr) {\n  return (uint32_t)(uint64_t)(ptr);\n}\ntemplate<typename T>\n__device__ __forceinline__ uintptr_t cvta_to_global(T* ptr) {\n  return (uintptr_t)(ptr);\n}\n\ntemplate<typename T>\n__device__ __forceinline__ T* cvta_from_shared(uint32_t shptr) {\n  return (T*)shptr;\n}\ntemplate<typename T>\n__device__ __forceinline__ T* cvta_from_global(uintptr_t gptr) {\n  return (T*)gptr;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// BytePack<Size>: struct of bytes.\n\ntemplate<int Size>\nunion BytePack;\ntemplate<>\nunion BytePack<0> {};\ntemplate<>\nunion BytePack<1> {\n  uint8_t u8[1], native;\n};\ntemplate<>\nunion BytePack<2> {\n  BytePack<1> half[2];\n  BytePack<1> b1[2];\n  uint8_t u8[2];\n  uint16_t u16[1], native;\n};\ntemplate<>\nunion BytePack<4> {\n  BytePack<2> half[2];\n  BytePack<1> b1[4];\n  BytePack<2> b2[2];\n  uint8_t u8[4];\n  uint16_t u16[2];\n  uint32_t u32[1], native;\n\n  inline __device__ BytePack<4>() = default;\n  inline __device__ BytePack<4>(const BytePack<4>& other) {\n    *this = other;\n  }\n  inline __device__ BytePack<4>& operator=(const BytePack<4>& other) {\n    u32[0] = other.u32[0];\n    return *this;\n  }\n};\ntemplate<>\nunion BytePack<8> {\n  BytePack<4> half[2];\n  BytePack<1> b1[8];\n  BytePack<2> b2[4];\n  BytePack<4> b4[2];\n  uint8_t u8[8];\n  uint16_t u16[4];\n  uint32_t u32[2];\n  uint64_t u64[1], native;\n\n  inline __device__ BytePack<8>() = default;\n  inline __device__ BytePack<8>(const BytePack<8>& other) {\n    *this = other;\n  }\n  inline __device__ BytePack<8>& operator=(const BytePack<8>& other) {\n    u64[0] = other.u64[0];\n    return *this;\n  }\n};\ntemplate<>\nunion alignas(16) BytePack<16> {\n  BytePack<8> half[2];\n  BytePack<1> b1[16];\n  BytePack<2> b2[8];\n  BytePack<4> b4[4];\n  BytePack<8> b8[2];\n  uint8_t u8[16];\n  uint16_t u16[8];\n  uint32_t u32[4];\n  uint64_t u64[2];\n  ulong2 ul2[1], native;\n  inline __device__ BytePack<16>() = default;\n  inline __device__ BytePack<16>(const BytePack<16>& other) {\n    *this = other;\n  }\n  inline __device__ BytePack<16>& operator=(const BytePack<16>& other) {\n    u64[0] = other.u64[0];\n    u64[1] = other.u64[1];\n    return *this;\n  }\n};\ntemplate<int Size>\nunion BytePack {\n  BytePack<Size/2> half[2];\n  BytePack<1> b1[Size];\n  BytePack<2> b2[Size/2];\n  BytePack<4> b4[Size/4];\n  BytePack<8> b8[Size/8];\n  BytePack<16> b16[Size/16];\n  uint8_t u8[Size];\n  uint16_t u16[Size/2];\n  uint32_t u32[Size/4];\n  uint64_t u64[Size/8];\n\n  inline __device__ BytePack<Size>() = default;\n  inline __device__ BytePack<Size>(const BytePack<Size>& other) {\n    *this = other;\n  }\n  inline __device__ BytePack<Size>& operator=(const BytePack<Size>& other) {\n    for (int i = 0; i < Size/8; i++) {\n      u64[i] = other.u64[i];\n    }\n    return *this;\n  }\n};\n\ntemplate<typename T>\nstruct BytePackOf {\n  static constexpr int Size = sizeof(T);\n  using Pack = BytePack<Size>;\n};\ntemplate<>\nstruct BytePackOf<BytePack<0>> {\n  static constexpr int Size = 0;\n  using Pack = BytePack<0>;\n};\n\ntemplate<typename T>\n__device__ __forceinline__ typename BytePackOf<T>::Pack toPack(T value)  {\n  union { typename BytePackOf<T>::Pack p; T v; };\n  // Coverity recommends the use of std::move here but, given that T is a POD\n  // scalar, a plain copy will be just as efficient.\n  // coverity[copy_assignment_call]\n  v = value;\n  return p;\n}\n\ntemplate<typename T>\n__device__ __forceinline__ T fromPack(typename BytePackOf<T>::Pack pack)  {\n  union { typename BytePackOf<T>::Pack p; T v; };\n  p = pack;\n  return v;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Load/store of BytePack<?> using integral addresses.\n\ntemplate<int Size> __device__ BytePack<Size> ld_global(uintptr_t addr);\n// template<int Size> __device__ BytePack<Size> ld_shared(uint32_t addr);\ntemplate<int Size> __device__ BytePack<Size> ld_volatile_global(uintptr_t addr);\n// template<int Size> __device__ BytePack<Size> ld_volatile_shared(uint32_t addr);\n// template<int Size> __device__ BytePack<Size> ld_relaxed_gpu_global(uintptr_t addr);\ntemplate<int Size> __device__ void st_global(uintptr_t addr, BytePack<Size> value);\n// template<int Size> __device__ void st_shared(uint32_t addr, BytePack<Size> value);\n// template<int Size> __device__ void st_relaxed_gpu_global(uintptr_t addr, BytePack<Size> value);\n\ntemplate<> __device__ __forceinline__ BytePack<0> ld_global<0>(uintptr_t addr) { return {}; }\n// template<> __device__ __forceinline__ BytePack<0> ld_shared<0>(uint32_t addr) { return {}; }\ntemplate<> __device__ __forceinline__ BytePack<0> ld_volatile_global<0>(uintptr_t addr) { return {}; }\n// template<> __device__ __forceinline__ BytePack<0> ld_volatile_shared<0>(uint32_t addr) { return {}; }\n// template<> __device__ __forceinline__ BytePack<0> ld_relaxed_gpu_global<0>(uintptr_t addr) { return {}; }\ntemplate<> __device__ __forceinline__ void st_global<0>(uintptr_t addr, BytePack<0> value) {}\n// template<> __device__ __forceinline__ void st_shared<0>(uint32_t addr, BytePack<0> value) {}\n// template<> __device__ __forceinline__ void st_relaxed_gpu_global<0>(uintptr_t addr, BytePack<0> value) {}\n\n// Used to define implementations for above prototypes.\n#define DEFINE_ld_st__size_space(bytes, data_cxx_ty, data_ptx_ty, data_reg_ty, space, addr_cxx_ty, addr_reg_ty) \\\n  template<> \\\n  __device__ __forceinline__ BytePack<bytes> ld_##space<bytes>(addr_cxx_ty addr) { \\\n    data_cxx_ty tmp; \\\n    tmp = *((data_cxx_ty *)addr); \\\n    BytePack<bytes> ans; \\\n    ans.native = tmp; \\\n    return ans; \\\n  } \\\n  template<> \\\n  __device__ __forceinline__ BytePack<bytes> ld_volatile_##space<bytes>(addr_cxx_ty addr) { \\\n    data_cxx_ty tmp; \\\n    tmp =  __builtin_nontemporal_load((data_cxx_ty *)addr); \\\n    BytePack<bytes> ans; \\\n    ans.native = tmp; \\\n    return ans; \\\n  } \\\n  template<> \\\n  __device__ __forceinline__ void st_##space<bytes>(addr_cxx_ty addr, BytePack<bytes> value) { \\\n    __builtin_nontemporal_store(value.native, (data_cxx_ty *)addr); \\\n  }\n\n// #if __CUDA_ARCH__ >= 700\n//   #define PTX_relaxed_gpu \"relaxed.gpu\"\n// #else\n//   #define PTX_relaxed_gpu \"volatile\"\n// #endif\n\n// #define DEFINE_ld_st_gpu_relaxed__size(bytes, data_cxx_ty, data_ptx_ty, data_reg_ty) \\\n//   template<> \\\n//   __device__ __forceinline__ BytePack<bytes> ld_relaxed_gpu_global<bytes>(uintptr_t addr) { \\\n//     data_cxx_ty tmp; \\\n//     asm volatile(\"ld.\" PTX_relaxed_gpu \".global.\" #data_ptx_ty \" %0, [%1];\" : \"=\"#data_reg_ty(tmp) : \"l\"(addr) : \"memory\"); \\\n//     BytePack<bytes> ans; \\\n//     ans.native = tmp; \\\n//     return ans; \\\n//   } \\\n//   template<> \\\n//   __device__ __forceinline__ void st_relaxed_gpu_global<bytes>(uintptr_t addr, BytePack<bytes> value) { \\\n//     data_cxx_ty tmp = value.native; \\\n//     asm volatile(\"st.\" PTX_relaxed_gpu \".global.\" #data_ptx_ty \" [%0], %1;\" :: \"l\"(addr), #data_reg_ty(tmp) : \"memory\"); \\\n//   }\n\n#define DEFINE_ld_st__size(bytes, data_cxx_ty, data_ptx_ty, data_reg_ty) \\\n  DEFINE_ld_st__size_space(bytes, data_cxx_ty, data_ptx_ty, data_reg_ty, global, uintptr_t, l)\n  // DEFINE_ld_st__size_space(bytes, data_cxx_ty, data_ptx_ty, data_reg_ty, shared, uint32_t, r)\n  // DEFINE_ld_st_gpu_relaxed__size(bytes, data_cxx_ty, data_ptx_ty, data_reg_ty)\n\n// Single-byte types use 4-byte registers since there is no 1-byte register\n// character for asm blocks. See https://docs.nvidia.com/cuda/inline-ptx-assembly/index.html#constraints\nDEFINE_ld_st__size(1, uint8_t, b8, r)\nDEFINE_ld_st__size(2, uint16_t, b16, h)\nDEFINE_ld_st__size(4, uint32_t, b32, r)\nDEFINE_ld_st__size(8, uint64_t, b64, l)\n\n#undef DEFINE_ld_st__size_space\n#undef DEFINE_ld_st__size\n\n#ifdef __gfx950__\n__device__ __forceinline__ void store16global(uintptr_t addr, BytePack<16> value){\n  *(u64_gptr) addr = *(u64_gptr) value.u64; \n  *((u64_gptr) addr+1) = *((u64_gptr) value.u64+1); \n}\n#else\n__device__ __forceinline__ void store16global(uintptr_t addr, BytePack<16> value){\n  __builtin_nontemporal_store(value.u64[0], (u64_gptr) addr);\n  __builtin_nontemporal_store(value.u64[1], (u64_gptr) addr + 1);\n}\n#endif\n\n#define DEFINE_ld_st_16__space(space, addr_cxx_ty, addr_reg_ty) \\\n  template<> \\\n  __device__ __forceinline__ BytePack<16> ld_##space<16>(addr_cxx_ty addr) { \\\n    BytePack<16> ans; \\\n    ans.u64[0] = *((uint64_t*)addr); \\\n    ans.u64[1] = *((uint64_t*)addr+1); \\\n    return ans; \\\n  } \\\n  template<> \\\n  __device__ __forceinline__ BytePack<16> ld_volatile_##space<16>(addr_cxx_ty addr) { \\\n    BytePack<16> ans; \\\n    *(u64_gptr) ans.u64 = __builtin_nontemporal_load((u64_gptr)addr); \\\n    *((u64_gptr) ans.u64+1) = __builtin_nontemporal_load((u64_gptr)addr+1); \\\n    return ans; \\\n  } \\\n  template<> \\\n  __device__ __forceinline__ void st_##space<16>(addr_cxx_ty addr, BytePack<16> value) { \\\n    store16##space(addr, value); \\\n  }\n\nDEFINE_ld_st_16__space(global, uintptr_t, l)\n// DEFINE_ld_st_16__space(shared, uint32_t, r)\n#undef DEFINE_ld_st_16\n\n// template<>\n// __device__ __forceinline__ BytePack<16> ld_relaxed_gpu_global<16>(uintptr_t addr) {\n//   BytePack<16> ans;\n//   asm volatile(\"ld.\" PTX_relaxed_gpu \".global.v2.b64 {%0,%1}, [%2];\" : \"=l\"(ans.u64[0]), \"=l\"(ans.u64[1]) : \"l\"(addr) : \"memory\");\n//   return ans;\n// }\n// template<>\n// __device__ __forceinline__ void st_relaxed_gpu_global<16>(uintptr_t addr, BytePack<16> value) {\n//   asm volatile(\"st.\" PTX_relaxed_gpu \".global.v2.b64 [%0], {%1,%2};\" :: \"l\"(addr), \"l\"(value.u64[0]), \"l\"(value.u64[1]) : \"memory\");\n// }\n\n// #undef PTX_relaxed_gpu\n\n////////////////////////////////////////////////////////////////////////////////\n// Atomic load/store using c++ pointers.\n\n__device__ __forceinline__ uint64_t ld_volatile_global(uint64_t *ptr) {\n  uint64_t ans;\n  ans = __builtin_nontemporal_load(ptr);\n  return ans;\n}\n__device__ __forceinline__ uint64_t ld_relaxed_sys_global(uint64_t *ptr) {\n  uint64_t ans;\n  ans = __builtin_nontemporal_load(ptr);\n  return ans;\n}\n\n// __device__ __forceinline__ uint64_t ld_relaxed_gpu_global(uint64_t *ptr) {\n  // uint64_t ans;\n  // #if __CUDA_ARCH__ >= 700\n  //   asm volatile(\"ld.relaxed.gpu.global.u64 %0, [%1];\" : \"=l\"(ans) : \"l\"(cvta_to_global(ptr)) : \"memory\");\n  // #else\n  //   asm volatile(\"ld.volatile.global.u64 %0, [%1];\" : \"=l\"(ans) : \"l\"(cvta_to_global(ptr)) : \"memory\");\n  // #endif\n//   return ans;\n// }\n\n__device__ __forceinline__ uint64_t ld_acquire_sys_global(uint64_t *ptr) {\n  uint64_t ans;\n  ans = __atomic_load_n(ptr ,__ATOMIC_SEQ_CST);\n  return ans;\n}\n\n__device__ __forceinline__ void st_volatile_global(uint64_t *ptr, uint64_t val) {\n  __builtin_nontemporal_store(val, ptr);\n}\n__device__ __forceinline__ void st_relaxed_sys_global(uint64_t *ptr, uint64_t val) {\n  __builtin_nontemporal_store(val, ptr);\n}\n__device__ __forceinline__ void st_release_sys_global(uint64_t *ptr, uint64_t val) {\n  __atomic_store_n(ptr, val, __ATOMIC_SEQ_CST);\n}\n\n__device__ __forceinline__ void fence_acq_rel_sys() {\n    //asm volatile(\"membar.sys;\" ::: \"memory\");\n}\n__device__ __forceinline__ void fence_acq_rel_gpu() {\n    //asm volatile(\"membar.gl;\" ::: \"memory\");\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Multimem stores of BytePack<?>.\n\ntemplate<int Size>\n__device__ __forceinline__ void multimem_st_global(uintptr_t addr, BytePack<Size> val);\n\n#if __CUDA_ARCH__ >= 900 && CUDART_VERSION >= 12010\ntemplate<>\n__device__ __forceinline__ void multimem_st_global<0>(uintptr_t addr, BytePack<0> val) {\n  // nop\n}\ntemplate<>\n__device__ __forceinline__ void multimem_st_global<1>(uintptr_t addr, BytePack<1> val) {\n  asm volatile(\"st.global.b8 [%0], %1;\" :: \"l\"(addr), \"r\"((uint32_t)val.native) : \"memory\");\n}\ntemplate<>\n__device__ __forceinline__ void multimem_st_global<2>(uintptr_t addr, BytePack<2> val) {\n  asm volatile(\"st.global.b16 [%0], %1;\" :: \"l\"(addr), \"h\"(val.native) : \"memory\");\n}\ntemplate<>\n__device__ __forceinline__ void multimem_st_global<4>(uintptr_t addr, BytePack<4> val) {\n  asm volatile(\"multimem.st.global.b32 [%0], %1;\" :: \"l\"(addr), \"r\"(val.native) : \"memory\");\n}\ntemplate<>\n__device__ __forceinline__ void multimem_st_global<8>(uintptr_t addr, BytePack<8> val) {\n  asm volatile(\"multimem.st.global.b64 [%0], %1;\" :: \"l\"(addr), \"l\"(val.native) : \"memory\");\n}\ntemplate<>\n__device__ __forceinline__ void multimem_st_global<16>(uintptr_t addr, BytePack<16> val) {\n  asm volatile(\"multimem.st.global.v4.f32 [%0], {%1,%2,%3,%4};\"\n    :: \"l\"(addr), \"r\"(val.u32[0]), \"r\"(val.u32[1]), \"r\"(val.u32[2]), \"r\"(val.u32[3])\n    : \"memory\");\n}\n#else\ntemplate<int Size>\n__device__ __forceinline__ void multimem_st_global(uintptr_t addr, BytePack<Size> val) {\n  // nop\n}\n#endif\n\n// Load pack starting at index in array. Ignore elements past end (length of array).\ntemplate<typename Pack, typename T>\n__device__ __forceinline__ Pack loadPack(T* ptr, int ix, int end) {\n  constexpr int Size = sizeof(Pack);\n  ptr += ix;\n  int n = end - ix;\n  if (alignof(T) == Size && sizeof(T) == Size) {\n    return *(Pack*)ptr;\n  } else if ((Size+3)/4 + 1 < Size/sizeof(T)) {\n    union { Pack ans; uint32_t part[Size/4]; };\n    int misalign = reinterpret_cast<uintptr_t>(ptr) % 4;\n    uint32_t* down = reinterpret_cast<uint32_t*>(reinterpret_cast<uintptr_t>(ptr) & -uintptr_t(4));\n    int i;\n    #pragma unroll\n    for (i=0; i < Size/4; i++) {\n      if (i*4/sizeof(T) < 1 || i*4/sizeof(T) < n) part[i] = down[i];\n    }\n    uint32_t extra;\n    if (misalign) extra = down[i];\n    #pragma unroll\n    for (i=0; i < Size/4; i++) {\n      part[i] = __funnelshift_r(part[i], part[i+1], 8*misalign);\n    }\n    if (misalign) part[i] = __funnelshift_r(part[i], extra, 8*misalign);\n    return ans;\n  } else {\n    union { Pack ans; BytePack<sizeof(T)> part[Size/sizeof(T)]; };\n    #pragma unroll\n    for (int i=0; i < Size/sizeof(T); i++) {\n      if (i < 1 || i < n) part[i] = ((BytePack<sizeof(T)>*)ptr)[i];\n    }\n    return ans;\n  }\n}\n\n// Store pack starting at index in array. Ignore elements past end (length of array).\ntemplate<typename Pack, typename T>\n__device__ __forceinline__ void storePack(T* ptr, int ix, int end, Pack val) {\n  constexpr int Size = sizeof(Pack);\n  union { Pack tmp; BytePack<sizeof(T)> part[Size/sizeof(T)]; };\n  tmp = val;\n  ptr += ix;\n  int n = end - ix;\n  #pragma unroll\n  for (int i=0; i < Size/sizeof(T); i++) {\n    if (i < 1 || i < n) ((BytePack<sizeof(T)>*)ptr)[i] = part[i];\n  }\n}\n\n#if __CUDA_ARCH__ >= 900 && CUDART_VERSION >= 12010\n// Warp-uniform memory copy from shared address (not generic) to global memory.\n// The number of bytes copied is `min(MaxBytes, nBytesAhead)`, a negative value\n// is interpeted as zero. EltSize is the guaranteed alignment of the addresses and sizes.\ntemplate<int EltSize, int MaxBytes, bool Multimem, typename IntBytes>\n__device__ __forceinline__ void copyGlobalShared_WarpUnrolled(\n    int lane, uintptr_t dstAddr, uint32_t srcAddr, IntBytes nBytesAhead\n  ) {\n  static_assert(std::is_signed<IntBytes>::value, \"`IntBytes` must be a signed integral type.\");\n  int nBytes = min(nBytesAhead, (IntBytes)MaxBytes);\n  int nFrontBytes = min(nBytes, (16 - int(dstAddr%16))%16);\n  int nMiddleBytes = (nBytes-nFrontBytes) & -16;\n  int nBackBytes = (nBytes-nFrontBytes) % 16;\n\n  { int backLane = WARP_SIZE-1 - lane;\n    bool hasFront = lane*EltSize < nFrontBytes;\n    bool hasBack = backLane*EltSize < nBackBytes;\n    int offset = hasFront ? lane*EltSize : (nBytes - (backLane+1)*EltSize);\n    if (hasFront | hasBack) {\n      BytePack<EltSize> tmp = ld_shared<EltSize>(srcAddr+offset);\n      // Can't use multimem_st since it doesn't support EltSize==2\n      st_global<EltSize>(dstAddr+offset, tmp);\n    }\n  }\n\n  srcAddr += nFrontBytes;\n  int srcMisalign = EltSize < 4 ? (srcAddr%4) : 0;\n  srcAddr += -srcMisalign + lane*16;\n  dstAddr += nFrontBytes + lane*16;\n  nMiddleBytes -= lane*16;\n  #pragma unroll\n  for (int u=0; u < divUp(MaxBytes, WARP_SIZE*16); u++) {\n    if (nMiddleBytes <= 0) break;\n    union {\n      BytePack<4> b4[4];\n      BytePack<16> b16;\n    };\n    b4[0] = ld_shared<4>(srcAddr + 0*4);\n    b4[1] = ld_shared<4>(srcAddr + 1*4);\n    b4[2] = ld_shared<4>(srcAddr + 2*4);\n    b4[3] = ld_shared<4>(srcAddr + 3*4);\n    if (srcMisalign != 0) {\n      BytePack<4> b4_4 = ld_shared<4>(srcAddr + 4*4);\n      b4[0].native = __funnelshift_r(b4[0].native, b4[1].native, srcMisalign*8);\n      b4[1].native = __funnelshift_r(b4[1].native, b4[2].native, srcMisalign*8);\n      b4[2].native = __funnelshift_r(b4[2].native, b4[3].native, srcMisalign*8);\n      b4[3].native = __funnelshift_r(b4[3].native, b4_4.native, srcMisalign*8);\n    }\n    if (Multimem) multimem_st_global<16>(dstAddr, b16);\n    else          st_global<16>(dstAddr, b16);\n\n    srcAddr += WARP_SIZE*16;\n    dstAddr += WARP_SIZE*16;\n    nMiddleBytes -= WARP_SIZE*16;\n  }\n}\n#else\ntemplate<int EltSize, int MaxBytes, bool Multimem, typename IntBytes>\n__device__ __forceinline__ void copyGlobalShared_WarpUnrolled(\n    int lane, uintptr_t dstAddr, uint32_t srcAddr, IntBytes nBytesAhead\n  ) {\n  // nop\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "src/device/primitives.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_PRIMITIVES_H_\n#define NCCL_PRIMITIVES_H_\n\n#include <type_traits>\n#include \"reduce_kernel.h\" // for reduction funcs\n#include \"rccl_metadata.h\"\n#include \"rccl_ptr.h\"\n#include \"common_kernel.h\"\n#include \"common.h\"\n\n#define NCCL_SPINS_BEFORE_CHECK_ABORT 10000\n#define barrier_generic(__THREAD_FENCE, NWORKERS, BARRIER_NEXT, BARRIERS_PTR) do { \\\n  if (nthreads == threadsPerBlock) { \\\n    __THREAD_FENCE; __builtin_amdgcn_s_barrier(); \\\n  } else { \\\n    /**const int w = threadIdx.x/WARP_SIZE //unused variable - compiler warning**/;\\\n    const int wid = threadIdx.x%WARP_SIZE; \\\n    if (wid == 0) { \\\n      (BARRIER_NEXT) += (NWORKERS) / WARP_SIZE; \\\n      __THREAD_FENCE; \\\n      __hip_atomic_fetch_add((BARRIERS_PTR), 1, __ATOMIC_RELEASE, __HIP_MEMORY_SCOPE_WORKGROUP); \\\n      int spins = 0; \\\n      int rate_limit = 50; \\\n      while (__hip_atomic_load((BARRIERS_PTR), __ATOMIC_ACQUIRE, __HIP_MEMORY_SCOPE_WORKGROUP) < (BARRIER_NEXT)) { \\\n        spins++; \\\n        if (spins == NCCL_SPINS_BEFORE_CHECK_ABORT) { \\\n          if (__atomic_load_n(ncclShmem.comm.abortFlag, __ATOMIC_SEQ_CST)) { \\\n            ncclShmem.aborted = 1; \\\n            break; \\\n          } \\\n          spins = 0; \\\n        } \\\n        if (spins == 0 && rate_limit > 0) { \\\n          rate_limit--; \\\n          traceData(__LINE__, threadIdx.x, __hip_atomic_load((BARRIERS_PTR), __ATOMIC_ACQUIRE, __HIP_MEMORY_SCOPE_WORKGROUP), (BARRIER_NEXT)); \\\n        } \\\n        __builtin_amdgcn_s_sleep(1); \\\n      } \\\n      __asm__ __volatile__(\"s_wakeup\"); \\\n    } \\\n  } \\\n} while (0)\n\n/* Protocol classes: ProtoSimple, ProtoLL, ProtoLL128\n * We use these as template args to the Primtiives class instead of integral\n * enums (e.g. NCCL_PROTO_LL) because for SIMPLE we need to carry a few extra\n * numbers. Also these types hold methods which let us compute numbers important\n * to how that protocol operates with a consistent interface so that our\n * algorithm code can operate protocol parametrically.\n */\ntemplate<int SlicePerChunk_1, int StepPerSlice_1, int useAcc, int Unroll_1, int MultimemSrcs_1 = 0, int MultimemDsts_1 = 0>\nstruct ProtoSimple {\n  static constexpr int Id = NCCL_PROTO_SIMPLE;\n  static constexpr int SlicePerChunk = SlicePerChunk_1;\n  static constexpr int StepPerSlice = StepPerSlice_1;\n  static constexpr int Unroll = Unroll_1;\n  static constexpr int MultimemSrcs = MultimemSrcs_1;\n  static constexpr int MultimemDsts = MultimemDsts_1;\n\n  // Data bytes (no flags etc) in one step of the fifo queue.\n  __device__ static int calcBytePerStep() {\n    return ncclShmem.comm.buffSizes[NCCL_PROTO_SIMPLE]/NCCL_STEPS;\n  }\n  // Granularity of data bytes transferred per thread.\n  __device__ static int calcBytePerGrain() {\n    return sizeof(uint64_t); // Bogus value? Nobody queries this metric for simple.\n  }\n  // Group width is how many consecutive group values a subchannel occupies.\n  static constexpr int MaxGroupWidth = 1;\n};\n\nstruct ProtoLL {\n  static constexpr int Id = NCCL_PROTO_LL;\n\n  // Data bytes (no flags etc) in one step of the fifo queue.\n  __device__ static int calcBytePerStep() {\n    return ncclShmem.comm.buffSizes[NCCL_PROTO_LL]/NCCL_STEPS/2; // Half is data\n  }\n  // Granularity of data bytes transferred per thread.\n  __device__ static int calcBytePerGrain() {\n    return sizeof(uint64_t); // One 16-byte line has 8-bytes of data\n  }\n  // Group width is how many consecutive group values a subchannel occupies.\n  static constexpr int MaxGroupWidth = 1;\n};\n\nstruct ProtoLL128 {\n  static constexpr int Id = NCCL_PROTO_LL128;\n\n  // Data bytes (no flags etc) in one step of the fifo queue.\n  __device__ static int calcBytePerStep() {\n    return (ncclShmem.comm.buffSizes[NCCL_PROTO_LL128]/NCCL_STEPS)*NCCL_LL128_DATAELEMS/NCCL_LL128_LINEELEMS;\n  }\n  // Granularity of data bytes transferred per thread.\n  __device__ static int calcBytePerGrain() {\n    return NCCL_LL128_SHMEM_ELEMS_PER_THREAD*NCCL_LL128_DATAELEMS*sizeof(uint64_t)/NCCL_LL128_LINEELEMS;\n  }\n  // Group width is how many consecutive group values a subchannel occupies.\n  static constexpr int MaxGroupWidth = 1;\n};\n\n/* Fan (as in fan-in & fan-out) classes hold recv and send counts. The template\n * arguments are static bounds on the maximum values. Asymmetric counts are\n * independent. Symmetric is a static guarantee that nrecv==nsend, so it only\n * stores one value at runtime. This optimization save 32-bit register, but more\n * importantly uses fewer predicate registers when unrolling loops.\n */\ntemplate<int MaxRecv_, int MaxSend_>\nstruct FanAsymmetric {\n  static constexpr int MaxRecv = MaxRecv_, MaxSend = MaxSend_;\n  int nr, ns;\n  FanAsymmetric() = default;\n  __device__ FanAsymmetric(int nrecv, int nsend): nr(nrecv), ns(nsend) {\n    // assert(nrecv <= MaxRecv && nsend <= MaxSend);\n  }\n  __device__ int nrecv() const { return MaxRecv ? nr : 0; }\n  __device__ int nsend() const { return MaxSend ? ns : 0; }\n};\n\ntemplate<int MaxArity>\nstruct FanSymmetric {\n  static constexpr int MaxRecv = MaxArity, MaxSend = MaxArity;\n  int n;\n  FanSymmetric() = default;\n  __device__ FanSymmetric(int nrecv, int nsend): n(nrecv) {\n    // assert(nrecv == nsend && nrecv <= MaxArity);\n  }\n  __device__ int nrecv() const { return n; }\n  __device__ int nsend() const { return n; }\n};\n\n// The primitives class. Specialized per protocol in the other headers.\ntemplate<typename T, typename RedOp, typename Fan, int Direct, typename Proto, int P2p, bool isNetOffload = false, int Metadata = RCCL_METADATA_EMPTY, int Pipeline = 0, int useAcc = 0>\nclass Primitives;\n\n// Used by LL & LL128 to implement direct members in the naive way.\ntemplate<typename RealPrimitives>\nstruct PrimitivesWithoutDirect {\n  __device__ void directSend(intptr_t inpIx, intptr_t outIx, int eltN) {\n    static_cast<RealPrimitives*>(this)->send(inpIx, eltN);\n  }\n  __device__ void directSendFromOutput(intptr_t outIx, int eltN) {\n    static_cast<RealPrimitives*>(this)->sendFromOutput(outIx, eltN);\n  }\n  __device__ void directRecv(intptr_t outIx, int eltN) {\n    static_cast<RealPrimitives*>(this)->recv(outIx, eltN, /*postOp=*/false);\n  }\n  __device__ void directCopySend(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n    static_cast<RealPrimitives*>(this)->copySend(inpIx, outIx, eltN, postOp);\n  }\n  __device__ void directRecvCopyDirectSend(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n    static_cast<RealPrimitives*>(this)->recvCopySend(outIx, eltN, /*postOp=*/false);\n  }\n  __device__ void directRecvDirectSend(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n    return;\n  }\n  __device__ void recvReduceCopyDirectSend(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n    // Direct is only for the send part\n    static_cast<RealPrimitives*>(this)->recvReduceCopySend(inpIx, outIx, eltN, postOp);\n  }\n  __device__ __forceinline__ void directRecvReduceDirectSend(intptr_t inpIx, intptr_t outIx, ssize_t eltN, bool postOp=false) {\n    static_cast<RealPrimitives*>(this)->recvReduceSend(inpIx, eltN);\n  }\n  __device__ __forceinline__ void directRecvReduceCopyDirectSend(intptr_t inpIx, intptr_t outIx, ssize_t eltN, bool postOp=false) {\n    static_cast<RealPrimitives*>(this)->recvReduceCopySend(inpIx, outIx, eltN, postOp);\n  }\n};\n\n__device__ inline int checkAbort(int &abortCache, const int abortValue, int &spins) {\n  if (abortCache & abortValue) return 1;\n  if (++spins < NCCL_SPINS_BEFORE_CHECK_ABORT) return 0;\n  spins = 0;\n  int abort = __atomic_load_n((ncclShmem.comm.abortFlag), __ATOMIC_SEQ_CST);\n  if (abort) {\n    __atomic_store_n(&ncclShmem.aborted, abort, __ATOMIC_SEQ_CST);\n    abortCache |= abortValue;\n  }\n  return abort;\n}\n\n#include \"prims_simple.h\"\n#include \"prims_ll.h\"\n#include \"prims_ll128.h\"\n#endif\n"
  },
  {
    "path": "src/device/prims_ll.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#if defined(ENABLE_NPKIT)\n#include \"npkit/npkit.h\"\n#endif\n\n#include \"device/rccl_ptr.h\"\ntemplate<typename T, typename RedOp, typename Fan, int Direct, int P2p, bool isNetOffload, int Metadata, int Pipeline, int useAcc>\nclass Primitives<T, RedOp, Fan, Direct, ProtoLL, P2p, isNetOffload, Metadata, Pipeline, useAcc>:\n    public PrimitivesWithoutDirect<Primitives<T, RedOp, Fan, Direct, ProtoLL, P2p, isNetOffload, Metadata, Pipeline, useAcc>> {\n\n  // In the case of Fan::MaxRecv == 0, we need to force MaxRecv to 1 for this to compile\n  // This is because of a recv buffer which is allocated to MaxRecv length in send-only cases\n  static constexpr int MaxRecv = Fan::MaxRecv > 1 ? Fan::MaxRecv : 1;\n  static constexpr int MaxSend = Fan::MaxSend;\n  static constexpr int Input=0, Output=1, Acc=2;\n  RedOp redOp;\n  const int tid;\n  const int nthreads;\n  const int wid;\n  const int group;\n  const int threadsPerBlock;\n  const int stepLines;\n  Fan fan;\n  T *userBufs[3];\n  struct ncclConnInfo* recvConn = NULL;\n  volatile uint64_t* recvConnHeadPtr = NULL;\n  uint64_t recvConnHead;\n\n  struct ncclConnInfo* sendConn = NULL;\n  volatile struct ncclConnFifo* sendConnFifo = NULL;\n  volatile uint64_t* sendConnHeadPtr = NULL;\n  uint64_t sendConnHead;\n  uint64_t sendConnHeadCache; // Cache last seen value\n\n  uint64_t recvStep[MaxRecv];\n  uint64_t sendStep[MaxSend];\n  union ncclLLFifoLine* recvBuff[MaxRecv];\n  union ncclLLFifoLine* sendBuff[MaxSend];\n\n#if defined(ENABLE_NPKIT)\npublic:\n  int npKitCtxIdx = 0;\n  uint64_t npKitDataProcessEntryTime = 0;\n  uint64_t npKitDataProcessExitTime = 0;\n  uint64_t npKitDataProcessTotalTime = 0;\nprivate:\n#endif\n\n#if defined(ENABLE_NPKIT) && (defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_ENTRY) && defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_EXIT) || defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME))\n  uint64_t npKitWaitRecvDataProcessSize = 0;\n  uint64_t npKitWaitRecvEntryTime = 0;\n  uint64_t npKitWaitRecvExitTime = 0;\n  uint64_t npKitWaitRecvTotalTime = 0;\n#endif\n\n  inline __device__ int recvOffset(int i) { return (recvStep[i]%NCCL_STEPS)*stepLines; }\n  inline __device__ int sendOffset(int i) { return (sendStep[i]%NCCL_STEPS)*stepLines; }\n  inline __device__ union ncclLLFifoLine* recvPtr(int i) { return recvBuff[i]+recvOffset(i); }\n  inline __device__ union ncclLLFifoLine* sendPtr(int i) { return sendBuff[i]+sendOffset(i); }\n  inline __device__ uint32_t recvFlag(int i) { return NCCL_LL_FLAG(recvStep[i]+1); }\n  inline __device__ uint32_t sendFlag(int i) { return NCCL_LL_FLAG(sendStep[i]+1); }\n\n  uint64_t* barriers;\n  uint64_t barrier_next = 0;\n\n  inline __device__ void barrier() {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n    if (nthreads != WARP_SIZE)\n      #if defined(__gfx942__) || (defined(__gfx950__) && defined(HIP_HOST_UNCACHED_MEMORY))\n        barrier_generic(__threadfence_block(), nthreads, barrier_next, barriers);\n      #else\n        barrier_generic(__threadfence(), nthreads, barrier_next, barriers);\n      #endif\n#else\n    if (nthreads == WARP_SIZE) {\n      __syncwarp();\n    } else {\n      barrier_sync(15-group, nthreads);\n    }\n#endif\n  }\n\n  int abort = 0;\n\n  __device__ inline int checkAbort(int &abortCache, const int abortValue, int &spins) {\n    if (abortCache == 0 && ++spins == NCCL_SPINS_BEFORE_CHECK_ABORT) {\n      int abort = __atomic_load_n((ncclShmem.comm.abortFlag), __ATOMIC_SEQ_CST);\n      spins = 0;\n      if (abort) {\n        __atomic_store_n(&ncclShmem.aborted, abort, __ATOMIC_SEQ_CST);\n        abortCache |= abortValue;\n      }\n    }\n    return abortCache;\n  }\n\n  inline __device__ void waitSend(int nbytes) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_LL_WAIT_SEND_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_LL_WAIT_SEND_ENTRY, nbytes, 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    if (sendConnHeadPtr) {\n      int spins = 0;\n      while (sendConnHeadCache + NCCL_STEPS < sendConnHead + 1) {\n        __builtin_amdgcn_s_sleep(1);\n        sendConnHeadCache = atomicAdd((unsigned long long *)sendConnHeadPtr, 0);\n        if (checkAbort(abort, 1, spins)) break;\n      }\n      if (sendConnFifo) {\n        int size = ((sendConnHead & NCCL_LL_CLEAN_MASK) == NCCL_LL_CLEAN_MASK) ? stepLines*sizeof(union ncclLLFifoLine) : nbytes;\n        sendConnFifo[sendConnHead%NCCL_STEPS].size = size;\n      }\n      sendConnHead += 1;\n    }\n    barrier();\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_LL_WAIT_SEND_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_LL_WAIT_SEND_EXIT, nbytes, 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n\n  inline __device__ void incRecv(int i) {\n    recvStep[i] += 1;\n  }\n  inline __device__ void postRecv() {\n    barrier();\n    if (recvConnHeadPtr) STORE(recvConnHeadPtr, recvConnHead += 1);\n  }\n\n  inline __device__ void incSend(int i, int offset) {\n    // LL Cleanup : write all flags in the slice to make sure we don't have\n    // data corruption when flag loops over.\n    if ((sendStep[i] & NCCL_LL_CLEAN_MASK) == NCCL_LL_CLEAN_MASK) {\n      for (int o = offset; o<stepLines; o+=nthreads) storeLL(sendPtr(i)+o, 0, sendFlag(i));\n    }\n    sendStep[i]++;\n  }\n\n  __device__ uint64_t readLL(int offset, int i) {\n    union ncclLLFifoLine* src = recvPtr(i) + offset;\n    uint32_t flag = recvFlag(i);\n    uint32_t data1, flag1, data2, flag2;\n    (void)data1; (void)flag1; (void)data2; (void)flag2; // unused variable - compiler warning\n    int spins = 0;\n\n#if defined(ENABLE_NPKIT) && (defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_ENTRY) && defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_EXIT) || defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME))\n    int npkitWaitRecvSpins = 0;\n    if (tid == 0) {\n      npKitWaitRecvEntryTime = NPKIT_GET_GPU_TIMESTAMP();\n    }\n#endif\n\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n    union ncclLLFifoLine i4;\n    do {\n#ifdef __GFX11__\n      asm volatile (\"global_load_b128 %0, %1, off glc slc dlc\\n\"\n        \"s_waitcnt vmcnt(0)\\n\" : \"=v\"(i4.i4) : \"v\"(&src->i4));\n#else\n      *((u64_gptr)i4.v) = __builtin_nontemporal_load((u64_gptr)src->v);\n      *((u64_gptr)i4.v + 1) = __builtin_nontemporal_load((u64_gptr)src->v+1);\n#endif\n#if defined(ENABLE_NPKIT) && (defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_ENTRY) && defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_EXIT) || defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME))\n      npkitWaitRecvSpins++;\n#endif\n      if (checkAbort(abort, 1, spins)) break;\n    } while ((i4.flag1 != flag) || (i4.flag2 != flag));\n    uint64_t val64 = (uint64_t)(i4.data1) + (((uint64_t)i4.data2) << 32);\n#else\n    do {\n      asm volatile(\"ld.volatile.global.v4.u32 {%0,%1,%2,%3}, [%4];\" : \"=r\"(data1), \"=r\"(flag1), \"=r\"(data2), \"=r\"(flag2) : \"l\"(&src->i4) : \"memory\");\n#if defined(ENABLE_NPKIT) && (defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_ENTRY) && defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_EXIT) || defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME))\n      npkitWaitRecvSpins++;\n#endif\n      if (checkAbort(abort, 1, spins)) break;\n    } while ((flag1 != flag) || (flag2 != flag));\n    uint64_t val64 = data1 + (((uint64_t)data2) << 32);\n#endif\n\n#if defined(ENABLE_NPKIT) && (defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_ENTRY) && defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_EXIT) || defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME))\n    if (tid == 0) {\n      npKitWaitRecvExitTime = NPKIT_GET_GPU_TIMESTAMP();\n      npKitWaitRecvTotalTime += (npKitWaitRecvExitTime - npKitWaitRecvEntryTime) * (npkitWaitRecvSpins - 1) / npkitWaitRecvSpins;\n    }\n#endif\n\n    return val64;\n  }\n\n  template<int BeginIx>\n  __device__ void readLLBeginAll(int offset, ncclLLFifoLine(&line)[MaxRecv]) {\n    #pragma unroll\n    for (int i=BeginIx; i < MaxRecv; i++) {\n      // Yes, for some template arguments this code will be unreachable.  That's fine.\n      // coverity[dead_error_line]\n      if (i < fan.nrecv()) {\n        union ncclLLFifoLine* src = recvPtr(i) + offset;\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#ifdef __GFX11__\n        asm volatile (\"global_load_b128 %0, %1, off glc slc dlc\\n\"\n          \"s_waitcnt vmcnt(0)\\n\" : \"=v\"(line[i].i4) : \"v\"(&src->i4));\n#else\n        line[i].v[0] = __builtin_nontemporal_load(src->v);\n        line[i].v[1] = __builtin_nontemporal_load(src->v+1);\n#endif\n#else\n        asm volatile(\"ld.volatile.global.v4.u32 {%0,%1,%2,%3}, [%4];\" : \"=r\"(line[i].data1), \"=r\"(line[i].flag1), \"=r\"(line[i].data2), \"=r\"(line[i].flag2) : \"l\"(&src->i4) : \"memory\");\n#endif\n      }\n    }\n  }\n  __device__ uint64_t readLLFinish(int offset, ncclLLFifoLine(&line)[MaxRecv], int i) {\n    union ncclLLFifoLine* src = recvPtr(i) + offset;\n    uint32_t flag = recvFlag(i);\n    int spins = 0;\n\n#if defined(ENABLE_NPKIT) && (defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_ENTRY) && defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_EXIT) || defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME))\n    int npkitWaitRecvSpins = 0;\n    if (tid == 0) {\n      npKitWaitRecvEntryTime = NPKIT_GET_GPU_TIMESTAMP();\n    }\n#endif\n\n    do {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#ifdef __GFX11__\n      asm volatile (\"global_load_b128 %0, %1, off glc slc dlc\\n\"\n        \"s_waitcnt vmcnt(0)\\n\" : \"=v\"(line[i].i4) : \"v\"(&src->i4));\n#else\n      line[i].v[0] = __builtin_nontemporal_load((u64_gptr)src->v);\n      line[i].v[1] = __builtin_nontemporal_load((u64_gptr)src->v+1);\n#endif\n#else\n      asm volatile(\"ld.volatile.global.v4.u32 {%0,%1,%2,%3}, [%4];\" : \"=r\"(line[i].data1), \"=r\"(line[i].flag1), \"=r\"(line[i].data2), \"=r\"(line[i].flag2) : \"l\"(&src->i4) : \"memory\");\n#endif\n#if defined(ENABLE_NPKIT) && (defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_ENTRY) && defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_EXIT) || defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME))\n      npkitWaitRecvSpins++;\n#endif\n      if (checkAbort(abort, 1, spins)) break;\n    } while(line[i].flag1 != flag || line[i].flag2 != flag);\n    uint64_t val64 = line[i].data1 + (((uint64_t)line[i].data2) << 32);\n\n#if defined(ENABLE_NPKIT) && (defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_ENTRY) && defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_EXIT) || defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME))\n    if (tid == 0) {\n      npKitWaitRecvExitTime = NPKIT_GET_GPU_TIMESTAMP();\n      npKitWaitRecvTotalTime += (npKitWaitRecvExitTime - npKitWaitRecvEntryTime) * (npkitWaitRecvSpins - 1) / npkitWaitRecvSpins;\n    }\n#endif\n\n    return val64;\n  }\n\n  __device__ void storeLL(union ncclLLFifoLine* dst, uint64_t val, uint32_t flag) {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n    union ncclLLFifoLine i4;\n    i4.data1 = val & 0xffffffff;\n    i4.flag1 = flag;\n    i4.data2 = (val >> 32);\n    i4.flag2 = flag;\n    *((u64_gptr) dst->v) = *((u64_gptr) i4.v);\n    *((u64_gptr) dst->v+1) = *((u64_gptr) i4.v+1); \n#if defined(__gfx950__) && ROCM_VERSION < 70002\n    __builtin_amdgcn_fence(__ATOMIC_RELEASE, \"\"); // flush cache on gfx950 if ROCr fix for hipHostMallocUncached is not available (ROCm version < 7.0.2)\n#endif\n#else\n    asm volatile(\"st.volatile.global.v4.u32 [%0], {%1,%2,%3,%4};\" :: \"l\"(&dst->i4), \"r\"((uint32_t)val), \"r\"(flag), \"r\"((uint32_t)(val >> 32)), \"r\"(flag) : \"memory\");\n#endif\n  }\n\n  static constexpr int EltPerLine = sizeof(uint64_t)/sizeof(T);\n\n  template<typename U>\n  __device__ static U load(U *src) {\n    union {\n      U elt;\n      uint8_t u1;\n      uint16_t u2;\n      uint32_t u4;\n      uint64_t u8;\n    };\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n    if(sizeof(U) == 1)\n#ifdef __GFX11__\n      u1 = __atomic_load_n((uint8_t*)src, __ATOMIC_RELAXED);\n#else\n      u1 = __builtin_nontemporal_load((u8_gptr)src);\n#endif\n    else if(sizeof(U) == 2)\n#ifdef __GFX11__\n      u2 = __atomic_load_n((uint16_t*)src, __ATOMIC_RELAXED);\n#else\n      u2 = __builtin_nontemporal_load((u16_gptr)src);\n#endif\n    else if(sizeof(U) == 4)\n#ifdef __GFX11__\n      u4 = __atomic_load_n((uint32_t*)src, __ATOMIC_RELAXED);\n#else\n      u4 = __builtin_nontemporal_load((u32_gptr)src);\n#endif\n    else\n#ifdef __GFX11__\n      u8 = __atomic_load_n((uint64_t*)src, __ATOMIC_RELAXED);\n#else\n      u8 = __builtin_nontemporal_load((u64_gptr)src);\n#endif\n#else\n    if(sizeof(U) == 1)\n      asm volatile(\"ld.volatile.global.b8 %0,[%1];\" : \"=r\"(u4) : \"l\"(src) : \"memory\");\n    else if(sizeof(U) == 2)\n      asm volatile(\"ld.volatile.global.b16 %0,[%1];\" : \"=h\"(u2) : \"l\"(src) : \"memory\");\n    else if(sizeof(U) == 4)\n      asm volatile(\"ld.volatile.global.b32 %0,[%1];\" : \"=r\"(u4) : \"l\"(src) : \"memory\");\n    else\n      asm volatile(\"ld.volatile.global.b64 %0,[%1];\" : \"=l\"(u8) : \"l\"(src) : \"memory\");\n#endif\n    return elt;\n  }\n\n  template<typename U>\n  __device__ static void store(U *dst, U val) {\n    union {\n      U elt;\n      uint8_t u1;\n      uint16_t u2;\n      uint32_t u4;\n      uint64_t u8;\n    };\n    elt = val;\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n    if(sizeof(U) == 1)\n      __builtin_nontemporal_store(u1, (uint8_t*)dst);\n    else if(sizeof(U) == 2)\n      __builtin_nontemporal_store(u2, (uint16_t*)dst);\n    else if(sizeof(U) == 4)\n      __builtin_nontemporal_store(u4, (uint32_t*)dst);\n    else\n      __builtin_nontemporal_store(u8, (uint64_t*)dst);\n#if defined(__gfx950__) && ROCM_VERSION < 70002\n    __builtin_amdgcn_fence(__ATOMIC_RELEASE, \"\"); // flush cache on gfx950 if ROCr fix for hipHostMallocUncached is not available (ROCm version < 7.0.2)\n#endif\n#else\n    if(sizeof(U) == 1)\n      asm volatile(\"st.volatile.global.b8 [%0],%1;\" :: \"l\"(dst), \"r\"(u4) : \"memory\");\n    else if(sizeof(U) == 2)\n      asm volatile(\"st.volatile.global.b16 [%0],%1;\" :: \"l\"(dst), \"h\"(u2) : \"memory\");\n    else if(sizeof(U) == 4)\n      asm volatile(\"st.volatile.global.b32 [%0],%1;\" :: \"l\"(dst), \"r\"(u4) : \"memory\");\n    else\n      asm volatile(\"st.volatile.global.b64 [%0],%1;\" :: \"l\"(dst), \"l\"(u8) : \"memory\");\n#endif\n  }\n\n  struct DataLoader {\n    int misalign;\n    union {\n      uint32_t u4[sizeof(T) <= 2 ? 3 : 2];\n      uint64_t u8;\n      T elt[EltPerLine];\n    };\n\n    __device__ void loadBegin(T *src, int eltN) {\n      if (sizeof(T) <= 2) {\n        misalign = reinterpret_cast<uintptr_t>(src)%4;\n        uint32_t *p = reinterpret_cast<uint32_t*>(reinterpret_cast<uintptr_t>(src) & -uintptr_t(4));\n        u4[0] = load(p+0);\n        u4[1] = misalign + eltN*sizeof(T) > 4 ? load(p+1) : 0;\n        // u4[2] would be simpler, but that throws warnings on some compilers\n        u4[sizeof(T) <= 2 ? 2 : 0] = misalign + eltN*sizeof(T) > 8 ? load(p+2) : 0;\n      }\n      else {\n        #pragma unroll\n        for(int i=0; i < EltPerLine; i++) {\n          // Yes, for some template arguments this code will be unreachable.  That's fine.\n          // coverity[dead_error_line]\n          if(i==0 || i < eltN)\n            elt[i] = load(src + i);\n        }\n      }\n    }\n\n    __device__ uint64_t loadFinish() {\n      if (sizeof(T) <= 2) {\n        u4[0] = __funnelshift_r(u4[0], u4[1], 8*misalign);\n        // u4[2] would be simpler, but that throws warnings on some compilers\n        u4[1] = __funnelshift_r(u4[1], u4[sizeof(T) <= 2 ? 2 : 0], 8*misalign);\n      }\n      return u8;\n    }\n  };\n\n\n  __device__ void storeData(T *dst, uint64_t val, int eltN) {\n    if (__all((reinterpret_cast<uintptr_t>(dst) & (sizeof(T) - 1)) == 0 && sizeof(T) * eltN == sizeof(val))){\n      *((u64_gptr) dst) = val;\n      return;\n    }\n    union {\n      uint64_t u8;\n      T elt[EltPerLine];\n    };\n    u8 = val;\n    #pragma unroll\n    for(int i=0; i < EltPerLine; i++) {\n      // Yes, for some template arguments this code will be unreachable.  That's fine.\n      // coverity[dead_error_line]\n      if (i==0 || i < eltN)\n        //store(dst+i, elt[i]);\n        dst[i] = elt[i];\n    }\n  }\n\n  template <int RECV, int SEND, int SrcBuf, int DstBuf>\n  __device__ void LLGenericOp(intptr_t srcIx, intptr_t dstIx, int nelem, bool postOp) {\n    constexpr int SRC = SrcBuf != -1 ? 1 : 0;\n    constexpr int DST = DstBuf != -1 ? 1 : 0;\n    T *srcElts = SrcBuf == -1 ? nullptr : userBufs[SrcBuf] + srcIx;\n    T *dstElts = DstBuf == -1 ? nullptr : userBufs[DstBuf] + dstIx;\n    T *accElts = (DstBuf == -1 || !useAcc) ? nullptr : userBufs[Acc] + dstIx;\n\n    // Always waitSend in case of cleanup\n    nelem = nelem < 0 ? 0 : nelem;\n    if (SEND) waitSend(divUp(nelem, EltPerLine)*sizeof(ncclLLFifoLine));\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_ENTRY) && defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_EXIT)\n    if (tid == 0) {\n      npKitWaitRecvTotalTime = 0;\n      npKitWaitRecvDataProcessSize = nelem*sizeof(T);\n      NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_LL_DATA_PROCESS_ENTRY,\n          npKitWaitRecvDataProcessSize, 0, NPKIT_GET_GPU_TIMESTAMP(), ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME)\n    if (tid == 0) {\n      npKitWaitRecvTotalTime = 0;\n      npKitDataProcessEntryTime = NPKIT_GET_GPU_TIMESTAMP();\n    }\n#endif\n\n    nelem -= tid*EltPerLine;\n    srcElts += tid*EltPerLine;\n    dstElts += tid*EltPerLine;\n    if (accElts != nullptr) accElts += tid*EltPerLine;\n    int offset = tid;\n    int eltPerTrip = nthreads*EltPerLine;\n    while (nelem > 0) {\n      int eltInLine = EltPerLine < nelem ? EltPerLine : nelem;\n\n      DataLoader dl, accdl;\n      ncclLLFifoLine line[MaxRecv];\n      uint64_t data, peerData, accData;\n      if (SRC) {\n        dl.loadBegin(srcElts, eltInLine);\n        srcElts += eltPerTrip;\n      }\n      if (RECV) {\n        readLLBeginAll<1>(offset, line);\n        peerData = readLL(offset, 0);\n      }\n      if (SRC) {\n        data = dl.loadFinish();\n        if (SrcBuf == Input) data = applyPreOp(redOp, data);\n      }\n      if (RECV) {\n        data = !SRC ? peerData : applyReduce(redOp, peerData, data);\n        #pragma unroll MaxRecv\n        // Yes, for some template arguments this code will be unreachable.  That's fine.\n        // coverity[dead_error_line]\n        for (int i=1; i < MaxRecv && i < fan.nrecv(); i++) {\n          peerData = readLLFinish(offset, line, i);\n          data = applyReduce(redOp, peerData, data);\n        }\n      }\n\n      if (postOp) data = applyPostOp(redOp, data);\n\n      // Send : inter-node, then intra-node, then local\n      if (SEND) {\n        // Yes, for some template arguments this code will be unreachable.  That's fine.\n        // coverity[dead_error_line]\n        for (int i=1; i < MaxSend && i < fan.nsend(); i++)\n          storeLL(sendPtr(i)+offset, data, sendFlag(i));\n        storeLL(sendPtr(0)+offset, data, sendFlag(0));\n      }\n      if (DST) {\n        if (accElts != nullptr) {\n          accdl.loadBegin(accElts, eltInLine);\n          accElts += eltPerTrip;\n          accData = accdl.loadFinish();\n          storeData(dstElts, applyReduce(redOp, accData, data), eltInLine);\n        } else {\n          storeData(dstElts, data, eltInLine);\n        }\n        dstElts += eltPerTrip;\n      }\n      nelem -= eltPerTrip;\n      offset += nthreads;\n    }\n    #ifdef __gfx950__ \n    if constexpr (isMsccl(Metadata) && DST){\n      // Wait for pending vector loads and stores\n      __builtin_amdgcn_s_waitcnt((15 << 8) | (7 << 4)); // s_waitcnt vmcnt(0)\n    }\n    #endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME)\n    if (tid == 0) {\n      npKitDataProcessExitTime = NPKIT_GET_GPU_TIMESTAMP();\n      npKitDataProcessTotalTime += npKitDataProcessExitTime - npKitDataProcessEntryTime - npKitWaitRecvTotalTime;\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_ENTRY) && defined(ENABLE_NPKIT_EVENT_PRIM_LL_DATA_PROCESS_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_LL_DATA_PROCESS_EXIT,\n          npKitWaitRecvDataProcessSize, npKitWaitRecvTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n    if (RECV) {\n      for (int i=0; i < MaxRecv; i++) incRecv(i);\n      postRecv();\n    }\n    if (SEND) {\n      // Yes, for some template arguments this code will be unreachable.  That's fine.\n      // coverity[dead_error_line]\n      for (int i=1; i < MaxSend && i < fan.nsend(); i++)\n        incSend(i, offset);\n      incSend(0, offset);\n    }\n  }\n\n  template <int REDUCE, int COPY, int MULTISRCS, int MULTIDSTS>\n  __device__ __forceinline__ void mscclGenericOp(T** srcs, int nsrcs, T** dsts, int ndsts, int nelem) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_GENERIC_OP_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_GENERIC_OP_ENTRY, nelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n    nelem = nelem < 0 ? 0 : nelem;\n    T *srcElts = srcs[0];\n    T *dstElts = dsts[0];\n    nelem -= tid*EltPerLine;\n    srcElts += tid*EltPerLine;\n    dstElts += tid*EltPerLine;\n    if (MULTISRCS){\n      for (int i = 1; i < nsrcs; i++){\n        srcs[i] += tid*EltPerLine;\n      }\n    }\n    if (MULTIDSTS){\n      for (int i = 1; i < ndsts; i++){\n        dsts[i] += tid*EltPerLine;\n      }\n    }\n    int eltPerTrip = nthreads*EltPerLine;\n    while (nelem > 0) {\n      int eltInLine = EltPerLine < nelem ? EltPerLine : nelem;\n\n      DataLoader dl;\n      uint64_t data;\n      dl.loadBegin(srcElts, eltInLine);\n      srcElts += eltPerTrip;\n      data = dl.loadFinish();\n      if (REDUCE) {\n        uint64_t dataD;\n        dl.loadBegin(dstElts, eltInLine);\n        dataD = dl.loadFinish();\n        dataD = applyReduce(redOp, dataD, data);\n        if (MULTISRCS){\n          for (int i = 1; i < nsrcs; i++){\n            dl.loadBegin(srcs[i], eltInLine);\n            srcs[i] += eltPerTrip;\n            data = dl.loadFinish();\n            dataD = applyReduce(redOp, dataD, data);\n          }\n        }\n        storeData(dstElts, dataD, eltInLine);\n        dstElts += eltPerTrip;\n      }\n      if (COPY){\n        storeData(dstElts, data, eltInLine);\n        dstElts += eltPerTrip;\n        if (MULTIDSTS){\n          for (int i = 1; i < ndsts; i++){\n            dl.loadBegin(srcs[i], eltInLine);\n            srcs[i] += eltPerTrip;\n            data = dl.loadFinish();\n            storeData(dsts[i], data, eltInLine);\n            dsts[i] += eltPerTrip;\n          }\n        }\n      }\n      nelem -= eltPerTrip;\n    }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_GENERIC_OP_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_GENERIC_OP_EXIT, nelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n    barrier();\n  }\n\n  __device__ __forceinline__ void loadRecvConn(struct ncclConnInfo* conn, int i) {\n    recvBuff[i] = (union ncclLLFifoLine*)conn->buffs[NCCL_PROTO_LL];\n    recvStep[i] = conn->step;\n    if (wid == i) recvConn = conn;\n  }\n  __device__ __forceinline__ void loadRecvSync() {\n    if (tid >= nthreads-WARP_SIZE && wid < fan.nrecv()) {\n      recvConnHeadPtr = recvConn->head;\n      recvConnHead = recvConn->step;\n    }\n  }\n\n  __device__ __forceinline__ void loadSendConn(struct ncclConnInfo* conn, int i) {\n    sendBuff[i] = (union ncclLLFifoLine*)conn->buffs[NCCL_PROTO_LL];\n    sendStep[i] = conn->step;\n    if (wid == i) sendConn = conn;\n  }\n  __device__ __forceinline__ void loadSendSync() {\n    if (tid < fan.nsend()) {\n      sendConnHeadPtr = sendConn->head;\n      sendConnHeadCache = *sendConnHeadPtr;\n      sendConnHead = sendConn->step;\n      sendConnFifo = sendConn->connFifo;\n    }\n  }\n\npublic:\n  __device__  Primitives(\n      const int tid, const int nthreads, int const *recvPeers, int const *sendPeers,\n      void const *inputBuf, void *outputBuf, uint64_t redOpArg, uint8_t group=0,\n      uint8_t connIndexRecv=0, uint8_t connIndexSend=0, struct ncclDevWorkColl* e = nullptr,\n      bool ipcReg = false, bool netReg = false, int stepSize_ = 0\n    ):\n    redOp(redOpArg),\n    tid(tid), nthreads(nthreads), wid(tid%WARP_SIZE), group(group), threadsPerBlock(blockDim.x),\n    stepLines(ncclShmem.comm.buffSizes[NCCL_PROTO_LL]/NCCL_STEPS/sizeof(ncclLLFifoLine)) {\n#ifdef ENABLE_WARP_SPEED\n    auto *channel = isMsccl(Metadata) ? &ncclShmem.channel : &ncclShmem.warpChannel[threadIdx.x / WARP_SIZE];\n#else\n    auto *channel = &ncclShmem.channel;\n#endif\n    barriers = &ncclShmem.groups[group].barrier;\n    // If we are going to support oneshot collNet + LL, then we would need to add connector index here\n    int nrecv=0, nsend=0;\n    // We compare with Fan::MaxRecv here because this->MaxRecv is always at least 1\n    // Yes, for some template arguments this code will be unreachable.  That's fine.\n    // coverity[dead_error_line]\n    while (nrecv < Fan::MaxRecv && recvPeers[nrecv] >= 0) {\n      loadRecvConn(&channel->peers[recvPeers[nrecv]]->recv[connIndexRecv], nrecv);\n      nrecv++;\n    }\n    // coverity[dead_error_line]\n    while (nsend < MaxSend && sendPeers[nsend] >= 0) {\n      loadSendConn(&channel->peers[sendPeers[nsend]]->send[connIndexSend], nsend);\n      nsend++;\n    }\n    this->fan = Fan(nrecv, nsend);\n    // Coverity reports recvConn and sendConn being possibly NULL at this point but that won't actually\n    // happen given the two \"while\" loops just above.\n    // coverity[var_deref_model:FALSE]\n    loadRecvSync();\n    // coverity[var_deref_model:FALSE]\n    loadSendSync();\n    setDataPtrs(inputBuf, outputBuf, e != nullptr ? e->acc : nullptr);\n  }\n\n  __device__ ~Primitives() {\n    // Save steps for the next operation\n    if (tid >= nthreads-WARP_SIZE && wid < fan.nrecv())\n      recvConn->step = recvConnHead;\n    if (tid < fan.nsend())\n      sendConn->step = sendConnHead;\n    // Ensure all steps written back\n    barrier();\n  }\n\n  __device__ void setDataPtrs(void const *inputBuf, void *outputBuf, void const *acc = nullptr) {\n    userBufs[Input] = (T*)inputBuf;\n    userBufs[Output] = (T*)outputBuf;\n    userBufs[Acc] = (T*)acc;\n  }\n\n  __device__ void moveDataPtrs(intptr_t delta) {\n    userBufs[Input] += delta;\n    userBufs[Output] += delta;\n  }\n\n  __device__ void send(intptr_t inpIx, int eltN) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_SEND_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_SEND_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    LLGenericOp<0, 1, Input, -1>(inpIx, -1, eltN, false);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_SEND_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_SEND_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void sendFromOutput(intptr_t outIx, int eltN) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_SEND_FROM_OUTPUT_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_SEND_FROM_OUTPUT_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    LLGenericOp<0, 1, Output, -1>(outIx, -1, eltN, false);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_SEND_FROM_OUTPUT_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_SEND_FROM_OUTPUT_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void recv(intptr_t outIx, int eltN, bool postOp=false) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    LLGenericOp<1, 0, -1, Output>(-1, outIx, eltN, postOp);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void recvReduceSend(intptr_t inpIx, int eltN) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_REDUCE_SEND_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_REDUCE_SEND_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    LLGenericOp<1, 1, Input, -1>(inpIx, -1, eltN, false);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_REDUCE_SEND_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_REDUCE_SEND_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void recvReduceCopy(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_REDUCE_COPY_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_REDUCE_COPY_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    LLGenericOp<1, 0, Input, Output>(inpIx, outIx, eltN, postOp);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_REDUCE_COPY_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_REDUCE_COPY_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void copySend(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_COPY_SEND_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_COPY_SEND_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    LLGenericOp<0, 1, Input, Output>(inpIx, outIx, eltN, postOp);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_COPY_SEND_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_COPY_SEND_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void recvCopySend(intptr_t outIx, int eltN, bool postOp=false) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_COPY_SEND_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_COPY_SEND_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    LLGenericOp<1, 1, -1, Output>(-1, outIx, eltN, postOp);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_COPY_SEND_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_COPY_SEND_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void recvReduceCopySend(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_REDUCE_COPY_SEND_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_REDUCE_COPY_SEND_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    LLGenericOp<1, 1, Input, Output>(inpIx, outIx, eltN, postOp);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_REDUCE_COPY_SEND_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_REDUCE_COPY_SEND_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void recvSend(int eltN) {\n    return LLGenericOp<1, 1, -1, -1>(-1, -1, eltN, false);\n  }\n\n  // MSCCL primitives\n  __device__ void sendWithBarrier(intptr_t inpIx, int eltN) {\n    send(inpIx, eltN);\n    // This is the only primitive.instruction where there is no barrier at the end, add it\n    barrier();\n  }\n  __device__ void localCopy(T* srcs, T* dsts, int eltN) {\n    return mscclGenericOp<0,1,0,0>(&srcs, 1, &dsts, 1, eltN);\n  }\n};\n"
  },
  {
    "path": "src/device/prims_ll128.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#if defined(ENABLE_NPKIT)\n#include \"npkit/npkit.h\"\n#endif\n\n#define NCCL_LL128_FLAGTHREAD (NCCL_LL128_LINEELEMS-1)\n\n#ifndef RCCL_USE_WBINVL1_VOL\n#if defined(__GFX8__) || defined(__gfx906__) || defined(__gfx908__) || defined(__gfx90a__)\n#define RCCL_USE_WBINVL1_VOL 1\n#else\n#define RCCL_USE_WBINVL1_VOL 0\n#endif\n#endif\n\ntemplate<typename T, typename RedOp, typename Fan, int Direct, int P2p, bool isNetOffload, int Metadata, int Pipeline, int useAcc>\nclass Primitives<T, RedOp, Fan, Direct, ProtoLL128, P2p, isNetOffload, Metadata, Pipeline, useAcc>:\n  public PrimitivesWithoutDirect<Primitives<T, RedOp, Fan, Direct, ProtoLL128, P2p, isNetOffload, Metadata, Pipeline, useAcc>> {\n\n  static constexpr int MaxRecv = Fan::MaxRecv, MaxSend = Fan::MaxSend;\n  static constexpr int Input=0, Output=1, Acc=2;;\n  RedOp redOp;\n  const int tid;\n  const int nthreads;\n  const int wid;\n  const int stepSize;\n  const int warp;\n  const int warpInBlock; // warp index in thread block\n  const bool flagThread;\n  const int group;\n  const int threadsPerBlock;\n  Fan fan;\n  T *userBufs[3];\n  struct ncclConnInfo* recvConn = NULL;\n  volatile uint64_t* recvConnHeadPtr = NULL;\n  uint64_t recvConnHead;\n\n  struct ncclConnInfo* sendConn = NULL;\n  volatile struct ncclConnFifo* sendConnFifo = NULL;\n  volatile uint64_t* sendConnTailPtr = NULL;\n  uint64_t sendConnTail;\n  volatile uint64_t* sendConnHeadPtr = NULL;\n  uint64_t sendConnHead;\n  uint64_t sendConnHeadCache; // Cache last seen value\n\n  uint64_t recvStep[MaxRecv];\n  uint64_t sendStep[MaxSend];\n  uint64_t* recvBuff[MaxRecv];\n  uint64_t* sendBuff[MaxSend];\n\n  inline __device__ int recvOffset(int i) { return (recvStep[i]%NCCL_STEPS)*stepSize; }\n  inline __device__ int sendOffset(int i) { return (sendStep[i]%NCCL_STEPS)*stepSize; }\n  inline __device__ uint64_t* recvPtr(int i) { return recvBuff[i]+recvOffset(i); }\n  inline __device__ uint64_t* sendPtr(int i) { return sendBuff[i]+sendOffset(i); }\n  inline __device__ uint64_t recvFlag(int i) { return recvStep[i]+1; }\n  inline __device__ uint64_t sendFlag(int i) { return sendStep[i]+1; }\n\n  uint64_t* barriers;\n  uint64_t barrier_next = 0;\n\n#if defined(ENABLE_NPKIT)\npublic:\n  int npKitCtxIdx = 0;\n  uint64_t npKitDataProcessEntryTime = 0;\n  uint64_t npKitDataProcessExitTime = 0;\n  uint64_t npKitDataProcessTotalTime = 0;\nprivate:\n#endif\n\n#if defined(ENABLE_NPKIT) && (defined(ENABLE_NPKIT_EVENT_PRIM_LL128_DATA_PROCESS_ENTRY) && defined(ENABLE_NPKIT_EVENT_PRIM_LL128_DATA_PROCESS_EXIT) || defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME))\n  uint64_t npKitWaitRecvDataProcessSize = 0;\n  uint64_t npKitWaitRecvEntryTime = 0;\n  uint64_t npKitWaitRecvExitTime = 0;\n  uint64_t npKitWaitRecvTotalTime = 0;\n#endif\n\n  inline __device__ void barrier() {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  if (nthreads != WARP_SIZE)\n    #if defined(__gfx942__) || defined(__gfx950__)\n      barrier_generic(__threadfence_block(), nthreads, barrier_next, barriers);\n    #else\n      barrier_generic(__threadfence(), nthreads, barrier_next, barriers);\n    #endif\n#else\n   barrier_sync(15-group, nthreads);\n#endif\n  }\n\n  int abort = 0;\n\n  __device__ inline int checkAbort(int &abortCache, const int abortValue, int &spins) {\n    if (abortCache == 0 && ++spins == NCCL_SPINS_BEFORE_CHECK_ABORT) {\n      int abort = __atomic_load_n((ncclShmem.comm.abortFlag), __ATOMIC_SEQ_CST);\n      spins = 0;\n      if (abort) {\n        __atomic_store_n(&ncclShmem.aborted, abort, __ATOMIC_SEQ_CST);\n        abortCache |= abortValue;\n      }\n    }\n    return abortCache;\n  }\n\n  inline __device__ void waitSend(int nbytes) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_LL128_WAIT_SEND_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_LL128_WAIT_SEND_ENTRY, nbytes, 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    if (sendConnHeadPtr) {\n      int spins = 0;\n      while (sendConnHeadCache + NCCL_STEPS < sendConnHead + 1) {\n        __builtin_amdgcn_s_sleep(1);\n        sendConnHeadCache = __atomic_load_n(sendConnHeadPtr, __ATOMIC_RELAXED);\n        if (checkAbort(abort, 1, spins)) break;\n      }\n      if (sendConnFifo) {\n        sendConnFifo[sendStep[wid]%NCCL_STEPS].size = nbytes;\n      }\n      sendConnHead += 1;\n    }\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_LL128_WAIT_SEND_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_LL128_WAIT_SEND_EXIT, nbytes, 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n\n  inline __device__ void postRecv() {\n    if (recvConnHeadPtr) STORE(recvConnHeadPtr, recvConnHead += 1);\n  }\n  inline __device__ void postSend() {\n    __atomic_signal_fence(__ATOMIC_SEQ_CST);\n    asm volatile(\"s_waitcnt lgkmcnt(0) vmcnt(0)\");\n    __atomic_signal_fence(__ATOMIC_SEQ_CST);\n\n    if (sendConnTailPtr) {\n#if __CUDA_ARCH__ >= 900\n      __threadfence_system();\n#endif\n      STORE((unsigned long long *)sendConnTailPtr, sendConnTail += 1);\n    }\n  }\n\n  template<int WordPerThread>\n  __device__ __forceinline__ void loadRegsBegin(uint64_t(&regs)[WordPerThread], T const *src, int eltN) {\n    constexpr int EltPer16B = 16/sizeof(T);\n    int ix[WordPerThread/2];\n    #pragma unroll\n    for(int g=0; g < WordPerThread/2; g++) {\n      ix[g] = g*WARP_SIZE - 16*(g/2) + wid - (g%2)*(wid/4);\n    }\n    if(reinterpret_cast<uintptr_t>(src)%16 == 0) {\n      /* We are aligned to 16 bytes, so load directly to registers no shmem.\n       * Flag threads load half as much data which gets shuffled to the even\n       * registers during Finish. The point of splitting into two phases is to\n       * defer that shuffle, which incurs a dependency stall, until after other\n       * memops are launched by the caller.\n       */\n      #pragma unroll\n      for(int g=0; g < WordPerThread/2; g++) {\n        if(!flagThread || g%2==0) {\n          if(ix[g]*EltPer16B < eltN)\n            load128((uint64_t*)(src + ix[g]*EltPer16B), regs[2*g+0], regs[2*g+1]);\n        }\n      }\n    }\n    else {\n      // Not aligned. Stage the smallest 16 byte aligned region subsuming the\n      // buffer into shmem.\n      int misalignment = reinterpret_cast<uintptr_t>(src) % 16;\n      uint64_t *src8 = reinterpret_cast<uint64_t*>(reinterpret_cast<uintptr_t>(src) & -uintptr_t(16));\n      uint64_t *shm8 = shmemCvtPtr((uint64_t*)ncclScratchForWarp(warpInBlock));\n      #pragma unroll\n      for(int g=0; g < WordPerThread/2; g++)\n        if((g*WARP_SIZE + wid)*16 < misalignment + eltN*sizeof(T))\n          load128(src8 + 2*(g*WARP_SIZE + wid), regs[2*g+0], regs[2*g+1]);\n      #pragma unroll\n      for(int g=0; g < WordPerThread/2; g++)\n        storeShmem128(shm8 + 2*(g*WARP_SIZE + wid), regs[2*g+0], regs[2*g+1]);\n\n      __syncwarp();\n\n      // Now load from shmem stage to regs. Preserve the same pre-shuffled layout\n      // as the aligned case since Finish() will be applied regardless.\n      T *shm = (T*)shm8 + misalignment/sizeof(T);\n      #pragma unroll\n      for(int g=0; g < WordPerThread/2; g++) {\n        // int ix = g*WARP_SIZE - 16*(g/2) + wid - (g%2)*(wid/4);\n        if(!flagThread || g%2==0) {\n          if(ix[g]*EltPer16B < eltN)\n            loadShmemMisaligned128(shm + ix[g]*EltPer16B, regs[2*g+0], regs[2*g+1]);\n        }\n      }\n    }\n  }\n\n  template<int WordPerThread>\n  __device__ __forceinline__ void loadRegsFinish(uint64_t(&regs)[WordPerThread]) {\n    // Move data out of flag registers into the vacant registers.\n    #pragma unroll\n    for (int g=1; g < WordPerThread/2; g+=2) {\n      if (flagThread) regs[2*g] = regs[2*g-1];\n    }\n  }\n\n  template<int WordPerThread>\n  __device__ __forceinline__ void storeRegs(T *dst, uint64_t(&regs)[WordPerThread], int eltN) {\n    constexpr int EltPer16B = 16/sizeof(T);\n    // Reverse Finish() register permuatation.\n    #pragma unroll\n    for (int g=1; g < WordPerThread/2; g+=2) {\n      if (flagThread) regs[2*g-1] = regs[2*g];\n    }\n\n    // Write to dst if 4-byte aligned, shmem otherwise.\n    int misalignment = reinterpret_cast<uintptr_t>(dst)%16;\n    uint64_t *shm8 = shmemCvtPtr((uint64_t*)ncclScratchForWarp(warpInBlock));\n    #pragma unroll\n    for(int g=0; g < WordPerThread/2; g++) {\n      int ix = g*WARP_SIZE - 16*(g/2) + wid - (g%2)*(wid/4);\n      if (!flagThread || g%2==0) {\n        if(misalignment == 0 && (ix+1)*EltPer16B <= eltN)\n          store128((uint64_t*)(dst + ix*EltPer16B), regs[2*g+0], regs[2*g+1]);\n        else\n          storeShmem128(shm8+2*ix, regs[2*g+0], regs[2*g+1]);\n      }\n    }\n    __syncwarp();\n    // Write rest from shmem to dst. No need to coalesce stores to 16-bytes,\n    // the hardware keeps up fine.\n    T *shm = (T*)ncclScratchForWarp(warpInBlock);\n    int skip = misalignment == 0 ? eltN & -EltPer16B : 0;\n    for(int i=skip+wid; i < eltN; i += WARP_SIZE)\n      dst[i] = shm[i];\n  }\n\n  #define WARP_MASK 0xffffffff\n\n  template <int ELEMS_PER_THREAD, int RECV, int SEND, int SrcBuf, int DstBuf>\n  __device__ __forceinline__ void recvReduceSendCopy(uint64_t(&v)[ELEMS_PER_THREAD], int ll128Offset, bool postOp) {\n    constexpr int SRC = SrcBuf != -1 ? 1 : 0;\n    uint64_t vr[ELEMS_PER_THREAD];\n\n    __syncwarp();\n    /************************ Wait first recv ********************/\n    if (RECV) {\n      uint64_t* ptr = recvPtr(0)+ll128Offset;\n      uint64_t flag = recvFlag(0);\n      bool needReload;\n      int spins = 0;\n      do {\n        needReload = false;\n        #pragma unroll\n        for (int u=0; u<ELEMS_PER_THREAD; u+=2) {\n          load128(ptr+u*WARP_SIZE, vr[u], vr[u+1]);\n          needReload |= flagThread && (vr[u+1] != flag);\n        }\n        needReload &= (0 == checkAbort(abort, 1, spins));\n      } while (__any(needReload));\n      #pragma unroll\n      for (int u=0; u<ELEMS_PER_THREAD; u+=2)\n        load128(ptr+u*WARP_SIZE, vr[u], vr[u+1]);\n    }\n\n    /************* Finish register load **************/\n    if (SRC) {\n      // By deferring register shuffle here we've overlapped spinning on first\n      // peer's data with memory loads of src data.\n      loadRegsFinish(v);\n      if (SrcBuf == Input) {\n        #pragma unroll\n        for (int u=0; u<ELEMS_PER_THREAD; u+=2) {\n          v[u] = applyPreOp(redOp, v[u]);\n          if (!flagThread)\n            v[u+1] = applyPreOp(redOp, v[u+1]);\n        }\n      }\n    }\n\n    /************************ Recv rest *********************/\n    if (RECV) {\n      { // Consume data from first recv\n        #pragma unroll\n        for (int u=0; u<ELEMS_PER_THREAD; u+=2) {\n          v[u]   = SRC ? applyReduce(redOp, vr[u], v[u]) : vr[u];\n          v[u+1] = SRC ? applyReduce(redOp, vr[u+1], v[u+1]) : vr[u+1];\n        }\n      }\n\n      // Yes, for some template arguments this code will be unreachable.  That's fine.\n      // coverity[dead_error_line]\n      for (int i=1; i<MaxRecv && i<fan.nrecv(); i++) {\n        uint64_t flag = recvFlag(i);\n        uint64_t* ptr = recvPtr(i)+ll128Offset;\n        bool needReload;\n        int spins = 0;\n        do {\n          needReload = false;\n          #pragma unroll\n          for (int u=0; u<ELEMS_PER_THREAD; u+=2) {\n            load128(ptr+u*WARP_SIZE, vr[u], vr[u+1]);\n            needReload |= flagThread && (vr[u+1] != flag);\n          }\n          needReload &= (0 == checkAbort(abort, 1, spins));\n        } while (__any(needReload));\n\n        #pragma unroll\n        for (int u=0; u<ELEMS_PER_THREAD; u+=2)\n          load128(ptr+u*WARP_SIZE, vr[u], vr[u+1]);\n\n        #pragma unroll\n        for (int u=0; u<ELEMS_PER_THREAD; u+=2) {\n          v[u]   = applyReduce(redOp, vr[u], v[u]);\n          v[u+1] = applyReduce(redOp, vr[u+1], v[u+1]);\n        }\n      }\n    }\n    /********************** End Recv ************************/\n\n    if (postOp) {\n      #pragma unroll\n      for (int u=0; u<ELEMS_PER_THREAD; u+=2) {\n        v[u]   = applyPostOp(redOp, v[u]);\n        v[u+1] = applyPostOp(redOp, v[u+1]);\n      }\n    }\n\n#if RCCL_USE_WBINVL1_VOL\n    if (tid == 0) __builtin_amdgcn_buffer_wbinvl1();\n#endif\n    /************************ Send **************************/\n    if (SEND) {\n      // Yes, for some template arguments this code will be unreachable.  That's fine.\n      // coverity[dead_error_line]\n      for (int i=1; i<MaxSend && i<fan.nsend(); i++) {\n        uint64_t flag = sendFlag(i);\n        uint64_t* ptr = sendPtr(i)+ll128Offset;\n        #pragma unroll\n        for (int u=0; u<ELEMS_PER_THREAD; u+=2) {\n          store128(ptr+u*WARP_SIZE, v[u], flagThread ? flag : v[u+1]);\n        }\n      }\n      uint64_t flag = sendFlag(0);\n      uint64_t* ptr = sendPtr(0)+ll128Offset;\n      #pragma unroll\n      for (int u=0; u<ELEMS_PER_THREAD; u+=2) {\n        store128(ptr+u*WARP_SIZE, v[u], flagThread ? flag : v[u+1]);\n      }\n    }\n    /********************** End Send ************************/\n  }\n\n  static constexpr int WireWordPerSlice = WARP_SIZE*NCCL_LL128_SHMEM_ELEMS_PER_THREAD;\n  static constexpr int DataEltPerSlice = (WireWordPerSlice - WireWordPerSlice/NCCL_LL128_LINEELEMS)*(sizeof(uint64_t)/sizeof(T));\n\n  template <int RECV, int SEND, int SrcBuf, int DstBuf>\n  __device__ __forceinline__ void GenericOp(intptr_t srcIx, intptr_t dstIx, int nelem, bool postOp) {\n    constexpr int SRC = SrcBuf != -1 ? 1 : 0;\n    constexpr int DST = DstBuf != -1 ? 1 : 0;\n    T const *srcPtr = SrcBuf == -1 ? nullptr : userBufs[SrcBuf] + srcIx;\n    T       *dstPtr = DstBuf == -1 ? nullptr : userBufs[DstBuf] + dstIx;\n    T       *accPtr = (DstBuf == -1 || !useAcc) ? nullptr : userBufs[Acc] + dstIx;\n    int wireOffset = WireWordPerSlice*warp + 2*wid;\n    const int nwarps = nthreads/WARP_SIZE;\n    nelem = nelem < 0 ? 0 : nelem;\n\n    if (SEND) waitSend(divUp(nelem, DataEltPerSlice)*WireWordPerSlice*sizeof(uint64_t));\n    barrier();\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_LL128_DATA_PROCESS_ENTRY) && defined(ENABLE_NPKIT_EVENT_PRIM_LL128_DATA_PROCESS_EXIT)\n    if (tid == 0) {\n      npKitWaitRecvTotalTime = 0;\n      npKitWaitRecvDataProcessSize = nelem*sizeof(T);\n      NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_LL128_DATA_PROCESS_ENTRY,\n          npKitWaitRecvDataProcessSize, 0, NPKIT_GET_GPU_TIMESTAMP(), ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME)\n    if (tid == 0) {\n      npKitWaitRecvTotalTime = 0;\n      npKitDataProcessEntryTime = NPKIT_GET_GPU_TIMESTAMP();\n    }\n#endif\n\n    nelem -= DataEltPerSlice*warp;\n    srcPtr += DataEltPerSlice*warp;\n    dstPtr += DataEltPerSlice*warp;\n    if (accPtr != nullptr) accPtr += DataEltPerSlice*warp;\n    while (nelem > 0) {\n      const int eltInSlice = min(nelem, DataEltPerSlice);\n      uint64_t regs[NCCL_LL128_SHMEM_ELEMS_PER_THREAD];\n      if (SRC) loadRegsBegin(regs, srcPtr, eltInSlice);\n      recvReduceSendCopy<NCCL_LL128_SHMEM_ELEMS_PER_THREAD, RECV, SEND, SrcBuf, DstBuf>(regs, wireOffset, postOp);\n      if (DST) {\n        if (accPtr != nullptr) {\n          uint64_t accRegs[NCCL_LL128_SHMEM_ELEMS_PER_THREAD];\n          loadRegsBegin(accRegs, accPtr, eltInSlice);\n          loadRegsFinish(accRegs);\n          accPtr += DataEltPerSlice*nwarps;\n          #pragma unroll\n          for (int u=0; u<NCCL_LL128_SHMEM_ELEMS_PER_THREAD; u++) {\n            regs[u] = applyReduce(redOp, accRegs[u], regs[u]);\n          }\n        }\n        storeRegs(dstPtr, regs, eltInSlice);\n      }\n\n      wireOffset += WireWordPerSlice*nwarps;\n      srcPtr += DataEltPerSlice*nwarps;\n      dstPtr += DataEltPerSlice*nwarps;\n      nelem -= DataEltPerSlice*nwarps;\n    }\n\n    barrier();\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME)\n    if (tid == 0) {\n      npKitDataProcessExitTime = NPKIT_GET_GPU_TIMESTAMP();\n      npKitDataProcessTotalTime += npKitDataProcessExitTime - npKitDataProcessEntryTime - npKitWaitRecvTotalTime;\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_LL128_DATA_PROCESS_ENTRY) && defined(ENABLE_NPKIT_EVENT_PRIM_LL128_DATA_PROCESS_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_LL128_DATA_PROCESS_EXIT,\n          npKitWaitRecvDataProcessSize, npKitWaitRecvTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n    if (SEND) for (int i=0; i < MaxSend; i++) sendStep[i] += 1;\n    if (SEND) postSend();\n    if (RECV) for (int i=0; i < MaxRecv; i++) recvStep[i] += 1;\n    if (RECV) postRecv();\n  }\n\n  template <int REDUCE, int COPY, int MULTISRCS, int MULTIDSTS>\n  __device__ __forceinline__ void mscclGenericOp(T** srcs, int nsrcs, T** dsts, int ndsts, int nelem) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_GENERIC_OP_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_GENERIC_OP_ENTRY, nelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n    T const *srcPtr = srcs[0];\n    T       *dstPtr = dsts[0];\n    const int nwarps = nthreads/WARP_SIZE;\n    nelem = nelem < 0 ? 0 : nelem;\n\n    nelem -= DataEltPerSlice*warp;\n    srcPtr += DataEltPerSlice*warp;\n    dstPtr += DataEltPerSlice*warp;\n    if (MULTISRCS){\n      for (int i = 1; i < nsrcs; i++){\n        srcs[i] += DataEltPerSlice*warp;\n      }\n    }\n    if (MULTIDSTS){\n      for (int i = 1; i < ndsts; i++){\n        dsts[i] += DataEltPerSlice*warp;\n      }\n    }\n    while (nelem > 0) {\n      const int eltInSlice = min(nelem, DataEltPerSlice);\n      uint64_t regs[NCCL_LL128_SHMEM_ELEMS_PER_THREAD];\n      loadRegsBegin(regs, srcPtr, eltInSlice);\n      loadRegsFinish(regs);\n      if (REDUCE){\n        uint64_t regsD[NCCL_LL128_SHMEM_ELEMS_PER_THREAD];\n        loadRegsBegin(regsD, dstPtr, eltInSlice);\n        loadRegsFinish(regsD);\n        #pragma unroll\n        for (int u=0; u<NCCL_LL128_SHMEM_ELEMS_PER_THREAD; u+=2) {\n          regsD[u] = applyReduce(redOp, regs[u], regsD[u]);\n          if (!flagThread)\n            regsD[u+1] = applyReduce(redOp, regs[u+1], regsD[u+1]);\n        }\n        if (MULTISRCS){\n          for (int i = 1; i < nsrcs; i++){\n            loadRegsBegin(regs, srcs[i], eltInSlice);\n            loadRegsFinish(regs);\n            for (int u=0; u<NCCL_LL128_SHMEM_ELEMS_PER_THREAD; u+=2) {\n              regsD[u] = applyReduce(redOp, regs[u], regsD[u]);\n              if (!flagThread)\n                regsD[u+1] = applyReduce(redOp, regs[u+1], regsD[u+1]);\n            }\n          }\n        }\n        storeRegs(dstPtr, regsD, eltInSlice);\n      }\n      if (COPY){\n        storeRegs(dstPtr, regs, eltInSlice);\n        if (MULTIDSTS){\n          for (int i = 1; i < nsrcs; i++){\n            loadRegsBegin(regs, srcs[i], eltInSlice);\n            loadRegsFinish(regs);\n            storeRegs(dsts[i], regs, eltInSlice);\n          }\n        }\n      }\n\n      srcPtr += DataEltPerSlice*nwarps;\n      dstPtr += DataEltPerSlice*nwarps;\n      if (MULTISRCS){\n        for (int i = 1; i < nsrcs; i++){\n          srcs[i] += DataEltPerSlice*nwarps;\n        }\n      }\n      if (MULTIDSTS){\n        for (int i = 1; i < ndsts; i++){\n          dsts[i] += DataEltPerSlice*nwarps;\n        }\n      }\n      nelem -= DataEltPerSlice*nwarps;\n    }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_GENERIC_OP_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_GENERIC_OP_EXIT, nelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n    barrier();\n  }\n\n  __device__ __forceinline__ void loadRecvConn(struct ncclConnInfo* conn, int i) {\n    recvBuff[i] = (uint64_t*)conn->buffs[NCCL_PROTO_LL128];\n    recvStep[i] = conn->step;\n    if (wid == i) recvConn = conn;\n  }\n  __device__ __forceinline__ void loadRecvSync() {\n    if (tid >= nthreads-WARP_SIZE && wid < fan.nrecv()) {\n      recvConnHeadPtr = recvConn->head;\n      recvConnHead = recvConn->step;\n    }\n  }\n\n  __device__ __forceinline__ void loadSendConn(struct ncclConnInfo* conn, int i) {\n    sendBuff[i] = (uint64_t*)conn->buffs[NCCL_PROTO_LL128];\n    sendStep[i] = conn->step;\n    if (wid == i) sendConn = conn;\n  }\n  __device__ __forceinline__ void loadSendSync() {\n    if (tid < fan.nsend()) {\n      sendConnHeadPtr = sendConn->head;\n      sendConnHeadCache = *sendConnHeadPtr;\n      sendConnHead = sendConn->step;\n      sendConnFifo = sendConn->connFifo;\n    }\n    if (tid >= nthreads-WARP_SIZE && wid<fan.nsend()) {\n      if (sendConn->connFifo) {\n        sendConnTailPtr = sendConn->tail;\n        sendConnTail = sendConn->step;\n      }\n    }\n  }\n\npublic:\n  __device__ Primitives(\n      const int tid, const int nthreads, int const *recvPeers, int const *sendPeers,\n      void const *inputBuf, void *outputBuf, uint64_t redOpArg, uint8_t group=0,\n      uint8_t connIndexRecv=0, uint8_t connIndexSend=0, struct ncclDevWorkColl* e = nullptr,\n      bool ipcReg = false, bool netReg = false, int stepSize_ = 0\n    ):\n    redOp(redOpArg),\n    tid(tid), nthreads(nthreads), wid(tid%WARP_SIZE),                                /*compiler warnings*/\n    stepSize(ncclShmem.comm.buffSizes[NCCL_PROTO_LL128]/NCCL_STEPS/sizeof(uint64_t)),\n    warp(tid/WARP_SIZE), warpInBlock(threadIdx.x/WARP_SIZE), flagThread((tid%4)==3), group(group), threadsPerBlock(blockDim.x){\n#ifdef ENABLE_WARP_SPEED\n    auto *channel = isMsccl(Metadata) ? &ncclShmem.channel : &ncclShmem.warpChannel[warpInBlock];\n#else\n    auto *channel = &ncclShmem.channel;\n#endif\n    barriers = &ncclShmem.groups[group].barrier;\n    int nrecv=0, nsend=0;\n    while (nrecv < MaxRecv && recvPeers[nrecv] >= 0) {\n      loadRecvConn(&channel->peers[recvPeers[nrecv]]->recv[connIndexRecv], nrecv);\n      nrecv++;\n    }\n    while (nsend < MaxSend && sendPeers[nsend] >= 0) {\n      loadSendConn(&channel->peers[sendPeers[nsend]]->send[connIndexSend], nsend);\n      nsend++;\n    }\n    this->fan = Fan(nrecv, nsend);\n    // Coverity reports recvConn and sendConn being possibly NULL at this point but that won't actually\n    // happen given the two \"while\" loops just above.\n    // coverity[var_deref_model:FALSE]\n    loadRecvSync();\n    // coverity[var_deref_model:FALSE]\n    loadSendSync();\n    setDataPtrs(inputBuf, outputBuf, e != nullptr ? e->acc : nullptr);\n  }\n\n  __device__ ~Primitives() {\n    // Save steps for the next operation\n    if (tid >= nthreads-WARP_SIZE && wid < fan.nrecv())\n      recvConn->step = recvConnHead;\n    if (tid < fan.nsend())\n      sendConn->step = sendConnHead;\n    // Ensure all steps written back\n    barrier();\n  }\n\n  __device__ void setDataPtrs(void const *inputBuf, void *outputBuf, void const *acc = nullptr) {\n    userBufs[Input] = (T*)inputBuf;\n    userBufs[Output] = (T*)outputBuf;\n    userBufs[Acc] = (T*)acc;\n  }\n\n  __device__ void moveDataPtrs(intptr_t delta) {\n    userBufs[Input] += delta;\n    userBufs[Output] += delta;\n  }\n\n  __device__ void send(intptr_t inpIx, int eltN) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_SEND_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_SEND_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    GenericOp<0, 1, Input, -1>(inpIx, -1, eltN, false);\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_SEND_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_SEND_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void sendFromOutput(intptr_t outIx, int eltN) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_SEND_FROM_OUTPUT_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_SEND_FROM_OUTPUT_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    GenericOp<0, 1, Output, -1>(outIx, -1, eltN, false);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_SEND_FROM_OUTPUT_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_SEND_FROM_OUTPUT_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void recv(intptr_t outIx, int eltN, bool postOp=false) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    GenericOp<1, 0, -1, Output>(-1, outIx, eltN, postOp);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void recvReduceSend(intptr_t inpIx, int eltN) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_REDUCE_SEND_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_REDUCE_SEND_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    GenericOp<1, 1, Input, -1>(inpIx, -1, eltN, false);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_REDUCE_SEND_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_REDUCE_SEND_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void recvReduceCopy(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_REDUCE_COPY_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_REDUCE_COPY_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    GenericOp<1, 0, Input, Output>(inpIx, outIx, eltN, postOp);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_REDUCE_COPY_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_REDUCE_COPY_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void copySend(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_COPY_SEND_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_COPY_SEND_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    GenericOp<0, 1, Input, Output>(inpIx, outIx, eltN, postOp);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_COPY_SEND_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_COPY_SEND_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void recvCopySend(intptr_t outIx, int eltN, bool postOp=false) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_COPY_SEND_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_COPY_SEND_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    GenericOp<1, 1, -1, Output>(-1, outIx, eltN, postOp);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_COPY_SEND_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_COPY_SEND_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void recvReduceCopySend(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n  #if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_REDUCE_COPY_SEND_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_REDUCE_COPY_SEND_ENTRY, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    GenericOp<1, 1, Input, Output>(inpIx, outIx, eltN, postOp);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_RECV_REDUCE_COPY_SEND_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_RECV_REDUCE_COPY_SEND_EXIT, eltN*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n  __device__ void recvSend(int eltN) {\n    return GenericOp<1, 1, -1, -1>(-1, -1, eltN, false);\n  }\n\n  // MSCCL primitives\n  __device__ void sendWithBarrier(intptr_t inpIx, int eltN) {\n    send(inpIx, eltN);\n  }\n  __device__ void localCopy(T* srcs, T* dsts, int eltN) {\n    return mscclGenericOp<0,1,0,0>(&srcs, 1, &dsts, 1, eltN);\n  }\n};\n"
  },
  {
    "path": "src/device/prims_simple.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#if defined(ENABLE_NPKIT)\n#include \"npkit/npkit.h\"\n#endif\n\n#include \"rccl_metadata.h\"\n#include \"msccl/msccl_struct.h\"\n#include \"network/unpack/unpack.h\"\n#include <cassert>\n\nenum primsMode {\n  primsModeDefault = 0,\n  primsModePatRs = 1,\n  primsModePatAg = 2\n};\n\ntemplate<typename T, typename RedOp, typename Fan, int Direct,\n         int SlicePerChunk, int StepPerSlice, int Unroll, int P2p, int MultimemSrcs, int MultimemDsts, bool isNetOffload, int Metadata, int Pipeline, int useAcc>\nclass Primitives<\n    T, RedOp, Fan, Direct, ProtoSimple<SlicePerChunk, StepPerSlice, useAcc, Unroll, MultimemSrcs, MultimemDsts>, P2p, isNetOffload, Metadata, Pipeline, useAcc\n  > {\n  static constexpr int MaxRecv = Fan::MaxRecv, MaxSend = Fan::MaxSend;\n  static constexpr int Input=0, Output=1;\n  static constexpr int RoleInput = 0x01,\n                       RoleOutput = 0x02,\n                       RoleWaitRecv = 0x04,\n                       RoleWaitSend = 0x08,\n                       RolePostSend = 0x10,\n                       RolePostRecv = 0x20,\n                       Aborted = 0x40,\n                       NetRegMode = 0x80,\n                       ConnFifoEnabled = 0x100,\n                       DirectWrite = 0x200,\n                       DirectRead = 0x400,\n                       PatMode = 0x800,\n                       NvlsMinPolling = 0x1000,\n                       NetDeviceUnpack = 0x2000,\n                       AnyNetDeviceUnpack = 0x4000;\n  const int tid, tidInBlock;\n  const int nthreads;\n  int nworkers;\n  const int stepSize;\n  Fan fan;\n  int index; // Peer index I'm responsible for\n  int flags;\n  const int group;\n  const int threadsPerBlock;\n  uint64_t step;\n  struct ncclConnInfo* conn = NULL;\n  struct ncclConnFifo* connFifo = NULL;\n  T* connEltsFifo;\n  T* directBuff = NULL;\n  uint64_t *connStepPtr;\n  uint64_t connStepCache; // Cache last seen value of (*connStepPtr)\n  int      connStepSize; // Connection step size\n  void*    netDeviceHandle;\n  uint64_t accSize;\n  uint32_t* next_hdp_reg;\n  uint64_t* barriers;\n  uint64_t barrier_next = 0;\n  uint64_t* barriers_pat;\n  uint64_t barrier_next_pat = 0;\n  int repeat;\n  bool skip_fence = 0;\n\n#if defined(ENABLE_NPKIT)\npublic:\n  int npKitCtxIdx = 0;\n  uint64_t npKitDataProcessEntryTime = 0;\n  uint64_t npKitDataProcessExitTime = 0;\n  uint64_t npKitDataProcessTotalTime = 0;\nprivate:\n#endif\n\n  // Don't use barrier 0 as it's used by the final sync\n  inline __device__ void barrier() {\n    if (nthreads == WARP_SIZE)\n      __syncwarp();\n    else\n      #if defined(__gfx942__) || defined(__gfx950__)\n        barrier_generic(__threadfence_block(), nworkers, barrier_next, barriers);\n      #else\n        barrier_generic(__threadfence(), nworkers, barrier_next, barriers);\n      #endif\n  }\n  inline __device__ void subBarrier() {\n    if (nworkers == WARP_SIZE) __syncwarp();\n    else\n      barrier();\n  }\n\n  inline __device__ void patBarrier() {\n    #if defined(__gfx942__) || defined(__gfx950__)\n      barrier_generic(__threadfence_block(), NCCL_PAT_NWORKERS, barrier_next_pat, barriers_pat);\n    #else\n      barrier_generic(__threadfence(), NCCL_PAT_NWORKERS, barrier_next_pat, barriers_pat);\n    #endif\n  }\n\n  inline __device__ void barrierAny() {\n    barrier();\n  }\n\n  inline __device__ void subBarrierAny() {\n    barrier();\n  }\n\n  inline __device__ uint64_t loadStepValue(uint64_t* ptr) {\n    #if __CUDA_ARCH__ >= 900 && CUDART_VERSION >= 12010\n    if (flags & NvlsMinPolling) {\n      uint64_t ans;\n      asm volatile(\"multimem.ld_reduce.acquire.sys.global.min.u64 %0, [%1];\" : \"=l\"(ans) : \"l\"(cvta_to_global(ptr)) : \"memory\");\n      return ans;\n    }\n    #endif\n    // volatile is faster than acquire but not as correct. Make sure reduceCopy\n    // loads data using volatile so it doesn't see stale data in L1.\n#if defined(__gfx1200__) || defined(__gfx1201__)\n    return __atomic_load_n(ptr, __ATOMIC_ACQUIRE);\n#else\n    return __atomic_load_n(ptr, __ATOMIC_RELAXED);\n#endif\n  }\n\n  template <int DirectRecv, int DirectSend, int Recv, int Send, int Src, int Dst>\n  __device__ __forceinline__ void waitPeer(intptr_t srcIx, intptr_t dstIx, int offset, int nelts) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_SIMPLE_WAIT_PEER_ENTRY)\n    if (threadIdx.x == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_SIMPLE_WAIT_PEER_ENTRY, nelts*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    const bool isSendNotRecv = (Send && Recv) ? (flags & RoleWaitSend) : Send;\n    // Yes, for some template arguments this code will be unreachable.  That's fine.\n    // coverity[dead_error_line]\n    if ((flags & (Recv * RoleWaitRecv)) || (flags & (Send * RoleWaitSend))) {\n      int spins = 0;\n      repeat = 50;\n      while (connStepCache + (isSendNotRecv ? NCCL_STEPS : 0) < step + StepPerSlice) {\n        __builtin_amdgcn_s_sleep(1);\n        connStepCache = loadStepValue(connStepPtr);\n        if (checkAbort(flags, Aborted, spins)) break;\n        //if (spins == 0) printf(\"r=%d b=%d t=%d SPUN OUT got=%d want=%d\\n\", ncclShmem.comm.rank, blockIdx.x, threadIdx.x, int(connStepCache + (isSendNotRecv ? NCCL_STEPS : 0)), int(step+StepPerSlice));\n        if (spins == 0 && repeat > 0) {\n          repeat --;\n          traceData(__LINE__, threadIdx.x, int(connStepCache + (isSendNotRecv ? NCCL_STEPS : 0)), int(step+StepPerSlice));\n        }\n      }\n      __asm__ __volatile__(\"s_wakeup\");\n    }\n\n    if (flags & (Recv*RoleWaitRecv | Send*RoleWaitSend)) {\n      if ((flags & ConnFifoEnabled) && (flags & (Send * RoleWaitSend)))\n        connFifo[step%NCCL_STEPS].size = nelts*sizeof(T);\n\n      void **ptrs = isSendNotRecv ? (ncclShmem.groups[group].dsts + Dst)\n                                  : (ncclShmem.groups[group].srcs + Src);\n      if ((flags & NetRegMode) && ((!isSendNotRecv && DirectRecv) || (isSendNotRecv && DirectSend))) {\n        if (P2p) {\n          ptrs[index] = NULL;\n        } else {\n          if (isSendNotRecv) {\n            if (!Recv)\n              ptrs[index] = NULL;\n            else\n              ptrs[index] = (T*)ncclShmem.groups[group].userOutput + dstIx + offset;\n          } else {\n            ptrs[index] = (T*)ncclShmem.groups[group].userOutput + srcIx + offset;\n          }\n        }\n      } else if ((flags & ConnFifoEnabled) && connFifo[step%NCCL_STEPS].mode == NCCL_MODE_OFFSET) {\n        ptrs[index] = connEltsFifo + loadInt(&connFifo[step%NCCL_STEPS].offset)/sizeof(T);\n      } else if (isSendNotRecv && DirectSend) {\n        if (flags & DirectWrite) {\n          ptrs[index] = directBuff + dstIx + offset;\n        } else if (flags & DirectRead) {  // empty send\n          ptrs[index] = nullptr;\n        } else {\n          ptrs[index] = connEltsFifo + (step%NCCL_STEPS)*connStepSize;\n        }\n      } else if (!isSendNotRecv && DirectRecv) {\n        if (flags & DirectRead) {\n          ptrs[index] = directBuff + srcIx + offset;\n        } else if (flags & DirectWrite) {\n          ptrs[index] = directBuff + dstIx + offset;  // send to next from my output buffer\n        } else {\n          ptrs[index] = connEltsFifo + (step%NCCL_STEPS)*connStepSize;\n        }\n      }\n      else {\n        // Yes, for some template arguments this code will be unreachable.  That's fine.\n        // coverity[dead_error_line]\n        ptrs[index] = connEltsFifo + (step%NCCL_STEPS)*connStepSize;\n      }\n      if (flags & NetDeviceUnpack) {\n        ncclNetDeviceIncrementHead(group, index);\n      }\n      step += StepPerSlice;\n    }\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_SIMPLE_WAIT_PEER_EXIT)\n    if (threadIdx.x == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_SIMPLE_WAIT_PEER_EXIT, nelts*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n\n  template<int Recv, int Send>\n  inline __device__ void postPeer(bool dataStored) {\n    if (skip_fence){\n      __atomic_signal_fence(__ATOMIC_SEQ_CST);\n      barrier_generic(asm volatile(\"s_waitcnt lgkmcnt(0) vmcnt(0)\"), nworkers, barrier_next, barriers);\n      __atomic_signal_fence(__ATOMIC_SEQ_CST);\n    }\n    else if((flags & RolePostSend) && dataStored){\n#ifdef __GFX9__\n    __threadfence();\n#else\n    __threadfence_system();\n#endif\n    }\n\n    if ((flags & Send*RolePostSend) && next_hdp_reg)\n      STORE((unsigned int *)next_hdp_reg, 0x1);\n\n    if (flags & (Recv*RolePostRecv | Send*RolePostSend)) {\n      step += StepPerSlice;\n      STORE(connStepPtr, step);\n    }\n  }\n\n  template <int DirectRecv1, int DirectSend1, int Recv, int Send, int SrcBuf, int DstBuf>\n  __device__ __forceinline__ void genericOp(\n      intptr_t srcIx, intptr_t dstIx, int nelem, bool postOp\n    ) {\n    constexpr int DirectRecv = /*1 &&*/ Direct && DirectRecv1;\n    constexpr int DirectSend = /*1 &&*/ Direct && DirectSend1;\n    constexpr int Src = SrcBuf != -1;\n    constexpr int Dst = DstBuf != -1;\n\n    nelem = nelem < 0 ? 0 : nelem;\n    int sliceSize = stepSize*StepPerSlice;\n    sliceSize = max(divUp(nelem, 16*SlicePerChunk)*16, sliceSize/32);\n    int slice = 0;\n    int offset = 0;\n\n    if (tid < nworkers && offset < nelem && !isNetOffload) {\n      // Worker-only loop for non-empty slices. Non-workers and empty slices are\n      // processed in the loop following this if block. The benefit of splitting\n      // the loop like this is we pull two branches out of the critical path.\n      // Using \"number of branch insns (taken or not) encountered dynamically\"\n      // as the performance metric, then:\n      //   perf_orig = 2*numslices\n      //   perf_new = 2+numslices\n      // So the new code and old code behave the same for numslices=2, and for\n      // numslices>2 the new code is superior. And note that in the case\n      // numslices=1, the loop is trivially unrollable (single iteration) so we\n      // don't incur that that tail branch and we still have perf_new=2.\n      //\n      // ORIGINAL CODE:\n      //   unrolled for(slices) {\n      //     if(worker) { // This branch removed\n      //       wait();\n      //       subBarrier();\n      //       if(slice not empty) // This branch removed\n      //         ReduceCopyMulti();\n      //     }\n      //     barrier();\n      //     post();\n      //   } // Since we no longer unroll, new branch added here\n      #pragma unroll 1\n      do {\n        sliceSize = sliceSize < nelem-offset ? sliceSize : nelem-offset;\n        if (tid == 0) {\n          T* userInput = (T*)ncclShmem.groups[group].userInput;\n          T* userOutput = (T*)ncclShmem.groups[group].userOutput;\n          if (Src) ncclShmem.groups[group].srcs[0] = (SrcBuf==Input ? userInput : userOutput) + srcIx + offset;\n          if (Dst) ncclShmem.groups[group].dsts[0] = (DstBuf==Input ? userInput : userOutput) + dstIx + offset;\n          T* userAcc = (T*)ncclShmem.groups[group].userAcc;\n          ncclShmem.groups[group].acc = (Dst && userAcc != nullptr) ? userAcc + dstIx + offset : nullptr;\n        }\n        waitPeer<DirectRecv, DirectSend, Recv, Send, Src, Dst>(srcIx, dstIx, offset, sliceSize);\n        subBarrier();\n        /* if user abort the kernel, we don't need to actually perform copy/reduce; just set size\n        * to 0 to avoid unnecessary workload. */\n        int workSize = ncclShmem.aborted ? 0 : sliceSize;\n        if (flags & AnyNetDeviceUnpack) {\n          ncclNetDeviceUnpack<Recv>(tid, tidInBlock, nworkers, group, ncclShmem.groups[group].devicePlugin.unpack.unpackNetDeviceIndexMask, Src, workSize);\n          // Sync here to make sure all workers are reading from the updated srcs)\n          subBarrier();\n        }\n\n        if (DirectRecv && ncclShmem.groups[group].srcs[0] == ncclShmem.groups[group].dsts[0]\n            /* NVLS can have srcs[0] == dsts[0], but we cannot enter this \"if branch\",\n            * so we need to check whether MultimemSrcs and MultimemDsts are 0. */\n            && MultimemSrcs == 0 && MultimemDsts == 0 && !Src) {\n          // We can only have one direct receive. Since srcs[0] == dstPtr+offset, skip one copy\n          if (Send && Dst && ncclShmem.groups[group].srcs[0] != ncclShmem.groups[group].dsts[1]) {\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_ENTRY)\n            if (tid == 0) {\n              NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_ENTRY, sliceSize*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n                  ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n            }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME)\n            if (tid == 0) {\n              npKitDataProcessEntryTime = NPKIT_GET_GPU_TIMESTAMP();\n            }\n#endif\n\n            reduceCopy<Unroll, useAcc && Dst, RedOp, T, 0, 1, 1, 0, 1, MaxSend, /*PreOpSrcs*/0>\n              (tid, nworkers, /*redArg*/0, /*preOpArgs*/nullptr, /*postOp*/false,\n              1, ncclShmem.groups[group].srcs,\n              fan.nsend(), ncclShmem.groups[group].dsts+1,\n              workSize);\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME)\n            if (tid == 0) {\n              npKitDataProcessExitTime = NPKIT_GET_GPU_TIMESTAMP();\n              npKitDataProcessTotalTime += npKitDataProcessExitTime - npKitDataProcessEntryTime;\n            }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_EXIT)\n            if (tid == 0) {\n              NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_EXIT, sliceSize*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n                  ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n            }\n#endif\n\n          }\n        } else if (DirectSend && !DirectRecv && SrcBuf != Input && ncclShmem.groups[group].dsts[Dst] == nullptr) {\n          // For broadcast in CollNet to do empty send\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_ENTRY)\n          if (tid == 0) {\n            NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_ENTRY, sliceSize*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n                ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n          }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME)\n          if (tid == 0) {\n            npKitDataProcessEntryTime = NPKIT_GET_GPU_TIMESTAMP();\n          }\n#endif\n\n          reduceCopy<Unroll, useAcc && Dst, RedOp, T, 0, 1, 1, 0, 1, 1, /*PreOpSrcs*/0>\n            (tid, nworkers, ncclShmem.redOpArgs[0],  nullptr, postOp,\n            Recv, ncclShmem.groups[group].srcs,\n            Dst, ncclShmem.groups[group].dsts,\n            workSize);\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME)\n          if (tid == 0) {\n            npKitDataProcessExitTime = NPKIT_GET_GPU_TIMESTAMP();\n            npKitDataProcessTotalTime += npKitDataProcessExitTime - npKitDataProcessEntryTime;\n          }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_EXIT)\n          if (tid == 0) {\n            NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_EXIT, sliceSize*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n                ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n          }\n#endif\n\n        } else if (ncclShmem.groups[group].srcs[0] && ncclShmem.groups[group].dsts[0]) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_ENTRY)\n          if (tid == 0) {\n            NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_ENTRY, sliceSize*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n                ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n          }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME)\n          if (tid == 0) {\n            npKitDataProcessEntryTime = NPKIT_GET_GPU_TIMESTAMP();\n          }\n#endif\n\n          constexpr int PreOpSrcs = SrcBuf != Input ? 0 :\n                                    DirectRecv*MaxRecv == NCCL_MAX_DIRECT_ARITY ? (1+NCCL_MAX_DIRECT_ARITY) : 1;\n          if (Send && Dst && ncclShmem.groups[group].dsts[1] == nullptr) {\n            // this case should only be directCopySend() with registered buffers and send to net peer\n            reduceCopy<Unroll, useAcc && Dst, RedOp, T,\n              0, Recv + Src, Recv * MaxRecv + Src,\n              0, 1, 1, PreOpSrcs, Pipeline>\n              (tid, nworkers, ncclShmem.redOpArgs[0], ncclShmem.redOpArgs, postOp,\n                Recv * fan.nrecv() + Src, ncclShmem.groups[group].srcs,\n                1, ncclShmem.groups[group].dsts,\n                workSize);\n          } else {\n            reduceCopy<Unroll, useAcc && Dst, RedOp, T,\n              MultimemSrcs, Recv + Src, Recv * MaxRecv + Src,\n              MultimemDsts, Send + Dst, Send * MaxSend + Dst, PreOpSrcs, Pipeline>\n              (tid, nworkers, ncclShmem.redOpArgs[0], ncclShmem.redOpArgs, postOp,\n                Recv * fan.nrecv() + Src, ncclShmem.groups[group].srcs,\n                Send * fan.nsend() + Dst, ncclShmem.groups[group].dsts,\n                workSize, ncclShmem.groups[group].acc);\n          }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME)\n          if (tid == 0) {\n            npKitDataProcessExitTime = NPKIT_GET_GPU_TIMESTAMP();\n            npKitDataProcessTotalTime += npKitDataProcessExitTime - npKitDataProcessEntryTime;\n          }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_EXIT)\n          if (tid == 0) {\n            NpKit::CollectGpuEvent(NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_EXIT, sliceSize*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n                ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n          }\n#endif\n\n        } else {\n          // we will come here when calling prims.directSend with net peer,\n          // in this case, ncclShmem.groups[group].dsts[0] == NULL, so we\n          // skip data flush.\n          workSize = 0;\n        }\n        barrier(); // This barrier has a counterpart in following loop\n        postPeer<Recv, Send>(0 < workSize);\n        offset += sliceSize;\n        slice += 1;\n        // Yes, for some template arguments this code will be unreachable.  That's fine.\n        // coverity[dead_error_line]\n      } while (slice < SlicePerChunk && offset < nelem);\n    }\n\n    // Non-workers come straight here. Workers too but only once the remaining\n    // slices are all empty. Since empty slices are the uncommon case, and\n    // worker perf is the limiter, perf-wise this loop is effectively unentered,\n    // hence just a single branch insn.\n    #pragma unroll 1\n    while (slice < SlicePerChunk) {\n      sliceSize = sliceSize < nelem-offset ? sliceSize : nelem-offset;\n      { // Only workers could have Wait roles so we know the slice must be empty\n        // since we've exited the loop above.\n        waitPeer<DirectRecv, DirectSend, Recv, Send, Src, Dst>(0, 0, 0, sliceSize);\n      }\n      barrier(); // Has couterpart in preceding worker-only loop.\n      int workSize = ncclShmem.aborted ? 0 : sliceSize;\n      postPeer<Recv, Send>(0 < workSize);\n      offset += sliceSize;\n      slice += 1;\n    }\n  }\n\n  template <int REDUCE, int COPY, int MULTISRCS, int MULTIDSTS>\n  __device__ __forceinline__ void mscclGenericOp(T** srcs, int nsrcs, T** dsts, int ndsts, int nelem) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_GENERIC_OP_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_GENERIC_OP_ENTRY, nelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n    nelem = nelem < 0 ? 0 : nelem;\n    if (tid < nworkers) {\n      if (REDUCE){\n        srcs[nsrcs] = dsts[0];\n        nsrcs++;\n        if (MULTISRCS){\n          reduceCopy<Unroll, useAcc, RedOp, T, 0, 3, MSCCL_MAX_REDUCE_FUSION, 0, 1, 1, 0, Pipeline>\n            (tid, nworkers, ncclShmem.redOpArgs[0], ncclShmem.redOpArgs, false, nsrcs, (void **)srcs, 1, (void **)dsts, nelem);\n        } else {\n          reduceCopy<Unroll, useAcc, RedOp, T, 0, 2, 2, 0, 1, 1, 0, Pipeline>\n            (tid, nworkers, ncclShmem.redOpArgs[0], ncclShmem.redOpArgs, false, 2, (void **)srcs, 1, (void **)dsts, nelem);\n        }\n      }\n      if (COPY){\n        reduceCopy<Unroll, useAcc, RedOp, T, 0, 1, 1, 0, 1, 1, 0>\n          (tid, nworkers, ncclShmem.redOpArgs[0], ncclShmem.redOpArgs, false, 1, (void **)srcs, 1, (void **)dsts, nelem);\n        if (MULTISRCS) {\n          for (int i = 1; i < nsrcs; i++){\n            reduceCopy<Unroll, useAcc, RedOp, T, 0, 1, 1, 0, 1, 1, 0>\n              (tid, nworkers, ncclShmem.redOpArgs[0], ncclShmem.redOpArgs, false, 1, (void **)&srcs[i], 1, (void **)&dsts[i], nelem);\n          }\n        }\n      }\n    }\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_MSCCL_GENERIC_OP_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_MSCCL_GENERIC_OP_EXIT, nelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n    barrier();\n  }\n\npublic:\n  static inline __device__ void sendPeerNotify(int peer, int connIndex, int steps) {\n#ifdef ENABLE_WARP_SPEED\n    ncclDevChannelPeer* peerPtr = ncclShmem.warpChannel[threadIdx.x/WARP_SIZE].peers[peer];\n#else\n    ncclDevChannelPeer* peerPtr = ncclShmem.channel.peers[peer];\n#endif\n    peerPtr->send[connIndex].step += steps;\n    st_relaxed_sys_global(peerPtr->send[connIndex].tail, peerPtr->send[connIndex].step);\n  }\n\n  static inline __device__ void recvPeerNotify(int peer, int connIndex, int steps) {\n    int spins = 0;\n#ifdef ENABLE_WARP_SPEED\n    ncclDevChannelPeer* peerPtr = ncclShmem.warpChannel[threadIdx.x/WARP_SIZE].peers[peer];\n#else\n    ncclDevChannelPeer* peerPtr = ncclShmem.channel.peers[peer];\n#endif\n    peerPtr->recv[connIndex].step += steps;\n    st_relaxed_sys_global(peerPtr->recv[connIndex].head, peerPtr->recv[connIndex].step);\n    while (ld_volatile_global(peerPtr->recv[connIndex].tail) < peerPtr->recv[connIndex].step) {\n      int abort = 0;\n      if (checkAbort(abort, 1, spins)) break;\n    }\n  }\n\n  template<int Recv, int Send, typename Fn>\n  __device__ __forceinline__ void process(Fn &&fn, uint32_t sendDirectFlag = 0, uint32_t recvDirectFlag = 0) {\n    #pragma unroll 1\n    for (int slice=0; slice < SlicePerChunk; slice++) {\n      if (tid < nworkers) {\n        int nsend, nrecv;\n        if (flags & (Recv*RoleWaitRecv | Send*RoleWaitSend)) {\n          const bool isSendNotRecv = (Send && Recv) ? (flags & RoleWaitSend) : Send;\n          int spins = 0;\n          while (connStepCache + (isSendNotRecv ? NCCL_STEPS : 0) < step + StepPerSlice) {\n            connStepCache = loadStepValue(connStepPtr);\n            if (checkAbort(flags, Aborted, spins)) break;\n          }\n          void **ptrs = isSendNotRecv ? ncclShmem.groups[group].dsts\n                                      : ncclShmem.groups[group].srcs;\n          if ((flags & ConnFifoEnabled) && connFifo[step%NCCL_STEPS].mode == NCCL_MODE_OFFSET) {\n            int offset = loadInt(&connFifo[step%NCCL_STEPS].offset);\n            ptrs[index] = connEltsFifo + offset/sizeof(T);\n          } else if (Direct && fn.work->regUsed) {\n            if (isSendNotRecv) {\n              if (flags & DirectWrite) {\n                ptrs[index] = directBuff;\n              } else if (flags & DirectRead) {  // empty send\n                ptrs[index] = nullptr;\n              } else {\n                ptrs[index] = connEltsFifo + (step%NCCL_STEPS)*connStepSize;\n              }\n            } else {\n              if (flags & DirectRead) {\n                ptrs[index] = directBuff;\n              } else if (flags & DirectWrite) {\n                if (Send)\n                  ptrs[index] = directBuff;  // send to next from my output buffer\n                else\n                  ptrs[index] = nullptr;\n              } else {\n                ptrs[index] = connEltsFifo + (step%NCCL_STEPS)*connStepSize;\n              }\n            }\n          } else {\n            ptrs[index] = connEltsFifo + (step%NCCL_STEPS)*connStepSize;\n          }\n        }\n        subBarrier();\n        if (Recv == 0 || ncclShmem.groups[group].srcs[0] == nullptr) {\n          nrecv = 0;\n        } else {\n          nrecv = fan.nrecv();\n        }\n\n        if (Send == 0 || ncclShmem.groups[group].dsts[0] == nullptr) {\n          nsend = 0;\n        } else {\n          nsend = fan.nsend();\n        }\n        fn.template operator()<SlicePerChunk, 0, Recv*MaxRecv, 0, Send*MaxSend, MultimemSrcs, MultimemDsts>\n          (tid, nworkers, slice, stepSize * StepPerSlice,\n            nrecv, ncclShmem.groups[group].srcs,\n            nsend, ncclShmem.groups[group].dsts, ncclShmem.groups[group].dstSizes, sendDirectFlag, recvDirectFlag);\n      }\n      barrier();\n      int32_t dstSize = 0;\n      if (flags & Send*RolePostSend) {\n        // Yes, for some template arguments this code will be unreachable.  That's fine.\n        // coverity[dead_error_begin]\n        dstSize = ncclShmem.groups[group].dstSizes[index];\n        ncclShmem.groups[group].dstSizes[index] = 0;\n        if (flags & ConnFifoEnabled) connFifo[step%NCCL_STEPS].size = dstSize*sizeof(T);\n      }\n      barrier();\n      if (flags & (Recv*(RoleWaitRecv|RolePostRecv) | Send*(RoleWaitSend|RolePostSend))) {\n        step += StepPerSlice;\n      }\n      if (flags & (Recv*RolePostRecv | Send*RolePostSend)) {\n        if (Send && (!Recv || (flags & RolePostSend)) && (dstSize!=0 || (flags&ConnFifoEnabled))) {\n          fence_acq_rel_sys();\n        }\n        st_relaxed_sys_global(connStepPtr, step);\n      }\n    }\n  }\n\nprivate:\n  // Scatter/Gather generic op\n  // skip: my own rank order in the buffer chunks\n  // shift: peer offset to avoid all ranks sending to or receiving from same peer\n  template <int DirectRecv1, int DirectSend1, int Recv, int Send>\n  __device__ __forceinline__ void\n  ScatterGatherOp(intptr_t inpIx, intptr_t outIx, ssize_t totalElem, int peerElem, ssize_t peerOffset, int skip, int shift, bool postOp) {\n    constexpr int DirectRecv = /*1 &&*/ Direct && DirectRecv1;\n    constexpr int DirectSend = /*1 &&*/ Direct && DirectSend1;\n    int offset = 0; // slice offset\n    int sliceSize = stepSize*StepPerSlice;\n    int dataSize = max(DIVUP(peerElem, 16*SlicePerChunk)*16, sliceSize/32);  // per-peer slice size\n\n    #pragma unroll 1\n    for (int slice=0; slice<SlicePerChunk; ++slice) {\n      ssize_t realSize = max(0, min(dataSize, peerElem-offset));\n      bool fenceNeeded = false;\n      if (tid < nworkers) {\n        if (Send) {\n          // Scatter pre-scales data of input buffer only in non-Direct case\n          constexpr int PreOpSrcs = DirectSend ? 0 : 1;\n          if (tid==0) ncclShmem.groups[group].srcs[0] = (T*)ncclShmem.groups[group].userInput + inpIx + offset;\n          // realSize is not accurate here; but intra-node does not rely on sizes FIFO\n          waitPeer<0, DirectSend, 0, 1, 1, 0>(0, inpIx, offset, realSize);\n          subBarrier();\n          #pragma unroll 1\n          // Loop over peers\n          for (int j=0; j<fan.nsend(); j++) {\n            int i = (j+shift)%fan.nsend();\n            ssize_t pOffset = i*peerOffset;\n            // Skip the data I am responsible of reducing myself\n            if (skip >= 0 && i >= skip) pOffset += peerOffset;\n            void* src0 = (T*)ncclShmem.groups[group].srcs[0] + pOffset;\n            ssize_t realPeerSize = min(realSize, totalElem-pOffset);\n            if (realPeerSize > 0 && ncclShmem.groups[group].dsts[i] != nullptr) {\n              reduceCopy<Unroll, useAcc, RedOp, T, 0, 1, 1, 0, 1, 1, PreOpSrcs>(tid, nworkers, ncclShmem.redOpArgs[0], ncclShmem.redOpArgs, false, 1, &src0, 1, ncclShmem.groups[group].dsts+i, realPeerSize);\n              // Mark for threadfence at the end\n              fenceNeeded |= true;\n            }\n          }\n        } else if (Recv) {\n          if (tid==0) ncclShmem.groups[group].dsts[0] = (T*)ncclShmem.groups[group].userOutput + outIx + offset;\n          ssize_t pOffset = index*peerOffset;\n          if (skip >= 0 && index >= skip) pOffset += peerOffset;\n          // Adjust remote index with peer offset in case we are directly pulling from peer's output buffer\n          waitPeer<DirectRecv, 0, 1, 0, 0, 1>(outIx+pOffset, outIx+pOffset, offset, realSize);\n          subBarrier();\n          #pragma unroll 1\n          for (int j=0; j<fan.nrecv(); j++) {\n            int i = (j+shift)%fan.nrecv();\n            pOffset = i*peerOffset;\n            if (skip >= 0 && i >= skip) pOffset += peerOffset;\n            void* dst0 = (T*)ncclShmem.groups[group].dsts[0] + pOffset;\n            ssize_t realPeerSize = min(realSize, totalElem-pOffset);\n            if (DirectRecv && ncclShmem.groups[group].srcs[i] == dst0) realPeerSize = 0;\n            if (realPeerSize > 0) reduceCopy<Unroll, useAcc, RedOp, T, 0,1,1, 0,1,1, /*PreOpSrcs=*/0>(tid, nworkers, ncclShmem.redOpArgs[0], ncclShmem.redOpArgs, postOp, 1, ncclShmem.groups[group].srcs+i, 1, &dst0, realPeerSize);\n          }\n        }\n      }\n      fenceNeeded = __any(fenceNeeded);\n      postPeer<Recv, Send>(fenceNeeded);\n      offset += realSize;\n    }\n  }\n\n  __device__ __forceinline__ void loadRecvConn(ncclDevChannelPeer *peer, int connIndex, uint32_t direct, int ipcRegFlag, int netRegFlag) {\n    conn = &peer->recv[connIndex];\n    if (conn->netDeviceHandle.netDeviceType == NCCL_NET_DEVICE_UNPACK) {\n      // handle must be a device ptr\n      netDeviceHandle = conn->netDeviceHandle.handle;\n      // Cache the handle\n      ncclNetDeviceUnpackSetup(netDeviceHandle, group, index);\n      flags |= NetDeviceUnpack;\n    }\n    step = conn->step;\n    step = roundUp(step, SlicePerChunk*StepPerSlice);\n    if (flags & RolePostRecv) {\n      connStepPtr = conn->head;\n      STORE(connStepPtr, step); // Return credits in case we rounded up.\n    }\n    if (flags & RoleWaitRecv) {\n      if ((flags & PatMode) == 0) ncclShmem.groups[group].recvConns[index] = conn; // WaitRecv role saves since that's who needs it in setDataPtrs()\n      flags |= (conn->flags & NCCL_NVLS_MIN_POLL) ? NvlsMinPolling : 0;\n      connStepPtr = conn->tail;\n      connStepCache = loadStepValue(connStepPtr);\n      connStepSize = conn->stepSize/sizeof(T);\n      connEltsFifo = (T*)conn->buffs[NCCL_PROTO_SIMPLE];\n      if (conn->connFifo != nullptr) {\n        flags |= ConnFifoEnabled;\n        connFifo = conn->connFifo;\n      }\n      if (Direct) {\n        if (ipcRegFlag) {\n          // User buffers have been registered\n          if (conn->flags & (NCCL_P2P_READ | NCCL_P2P_WRITE)) {\n            if (P2p) {\n              flags |= conn->flags & NCCL_P2P_WRITE ? DirectWrite : DirectRead;\n            } else if (connIndex == 1 && direct) {\n              flags |= DirectRead;\n            } else {\n              flags |= direct & NCCL_P2P_READ ? DirectRead : DirectWrite;\n            }\n          } else if ((conn->flags & NCCL_NVLS_MIN_POLL)) {\n            /* NVLS direct */\n            flags |= DirectRead;\n          }\n        }\n        if (netRegFlag) {\n          if (conn->flags & NCCL_DIRECT_NIC) {\n            flags |= NetRegMode;\n            connFifo[step % NCCL_STEPS].size = 0;\n          }\n        }\n      }\n    }\n  }\n\n  __device__ __forceinline__ void loadSendConn(ncclDevChannelPeer *peer, int connIndex, uint32_t direct, int ipcRegFlag, int netRegFlag) {\n    conn = &peer->send[connIndex];\n    step = conn->step;\n    step = roundUp(step, SlicePerChunk*StepPerSlice);\n\n    connFifo = conn->connFifo;\n    if (connFifo != nullptr) flags |= ConnFifoEnabled;\n\n    if (flags & RolePostSend) {\n      connStepPtr = conn->tail;\n      next_hdp_reg = conn->next_hdp_reg;\n      connEltsFifo = (T*)conn->buffs[NCCL_PROTO_SIMPLE];\n    }\n    if (flags & RoleWaitSend) {\n      if ((flags & PatMode) == 0) ncclShmem.groups[group].sendConns[index] = conn; // WaitSend role saves since that's who needs it in setDataPtrs()\n      flags |= (conn->flags & NCCL_NVLS_MIN_POLL) ? NvlsMinPolling : 0;\n      connStepPtr = conn->head;\n      connStepCache = loadStepValue(connStepPtr);\n      connStepSize = conn->stepSize/sizeof(T);\n      connEltsFifo = (T*)conn->buffs[NCCL_PROTO_SIMPLE];\n      if (Direct) {\n        if (ipcRegFlag) {\n          // User buffers have been registered\n          if (conn->flags & (NCCL_P2P_WRITE | NCCL_P2P_READ)) {\n            if (P2p) {\n              flags |= conn->flags & NCCL_P2P_WRITE ? DirectWrite : DirectRead;\n            } else if (connIndex == 1 && direct) {\n              flags |= DirectRead;  // scatter-reduce use direct pull\n            } else {\n              flags |= direct & NCCL_P2P_READ ? DirectRead : DirectWrite;\n            }\n          } else if ((conn->flags & NCCL_NVLS_MIN_POLL)) {\n            /* NVLS direct */\n            flags |= DirectWrite;\n          }\n        }\n        if (netRegFlag) {\n          if (conn->flags & NCCL_DIRECT_NIC) {\n            flags |= NetRegMode;\n          }\n        }\n      }\n    }\n  }\n\npublic:\n  __forceinline__ __device__ Primitives(\n      int tid, int nthreads, int const *recvPeers, int const *sendPeers,\n      void const *inputBuf, void *outputBuf, uint64_t redOpArg, uint8_t group=0,\n      uint8_t connIndexRecv = 0, uint8_t connIndexSend = 0, struct ncclDevWorkColl* collWork = nullptr,\n      struct ncclDevWorkP2p* p2pWork = nullptr, int stepSize_ = 0, int mode = primsModeDefault\n    ):\n    tid(tid), tidInBlock(threadIdx.x), nthreads(nthreads), /*compiler warnings*/\n#ifdef ENABLE_WARP_SPEED\n    stepSize(stepSize_ == 0 ? ncclShmem.comm.buffSizes[NCCL_PROTO_SIMPLE]/NCCL_STEPS/sizeof(T) : stepSize_), group(ncclShmem.warpComm? tidInBlock / WARP_SIZE : group), threadsPerBlock(blockDim.x){\n#else\n    stepSize(stepSize_ == 0 ? ncclShmem.comm.buffSizes[NCCL_PROTO_SIMPLE]/NCCL_STEPS/sizeof(T) : stepSize_), group(group), threadsPerBlock(blockDim.x){\n#endif\n    barriers = &ncclShmem.groups[group].barrier;\n    // PAT uses the same barrier for each group\n    barriers_pat = &ncclShmem.barrier_pat;\n    this->nworkers = nthreads;\n#ifdef ENABLE_WARP_SPEED\n    auto *channel = isMsccl(Metadata) ? &ncclShmem.channel : &ncclShmem.warpChannel[tidInBlock/WARP_SIZE];\n#else\n    auto *channel = &ncclShmem.channel;\n#endif\n    int peer = -1;\n    flags = 0;\n    index = -1;\n    if (mode == primsModeDefault) { // Connect to ranks in sendPeers/recvPeers\n      // // For send operations, we need an extra warp to overlap the threadfence and the copy\n      // this->nworkers = nthreads - (MaxSend > 0 && nthreads >= NCCL_SIMPLE_EXTRA_GROUP_IF_NTHREADS_GE ? WARP_SIZE : 0);\n\n      int nrecv=0, nsend=0;\n      // Yes, for some template arguments this code will be unreachable.  That's fine.\n      // coverity[dead_error_line]\n      while (nrecv < MaxRecv && recvPeers[nrecv] != -1) nrecv++;\n      // coverity[dead_error_line]\n      while (nsend < MaxSend && sendPeers[nsend] != -1) nsend++;\n      this->fan = Fan(nrecv, nsend);\n\n      constexpr int ThreadPerSync =\n        MaxSend >= 16 || MaxRecv >= 16 ? 32 : // NVLS may have an arity > 8. In that case increase the size of the groups\n        MaxSend >= 8 || MaxRecv >= 8 ? 16 :\n        8; // Allows for all roles (WaitRecv/WaitSend/PostRecv/PostSend) within a single warp\n      static_assert(MaxSend <= ThreadPerSync && MaxRecv <= ThreadPerSync, \"Not enough threads to cover all peers\");\n\n      assert(2*(nrecv+nsend) <= nthreads); // Ensure no thread is assigned more than one role.\n      // Coverity assumes that index will equal tid based on the line below, but it doesn't consider the setting\n      // of flags.  This results in multiple false positive overruns being reported here and in all_reduce.h.\n      // Unfortunately, we've been unsuccessful in trying to silence them with a single directive here so\n      // instead it's being done at the callers.\n      // coverity[assignment:FALSE]\n      if      (tid < nrecv)                 { flags |= RoleWaitRecv; index = tid; }\n      // Yes, for some template arguments this code will be unreachable.  That's fine.\n      // coverity[dead_error_begin]\n      else if (tid < nrecv+nsend)           { flags |= RoleWaitSend; index = tid-nrecv; }\n      else if (nthreads-nsend <= tid)       { flags |= RolePostSend; index = tid-(nthreads-nsend); }\n      else if (nthreads-nrecv-nsend <= tid) { flags |= RolePostRecv; index = tid-(nthreads-nrecv-nsend); }\n\n      if (flags & (RoleWaitRecv|RolePostRecv)) peer = recvPeers[index];\n      if (flags & (RoleWaitSend|RolePostSend)) peer = sendPeers[index];\n\n      // Coverity thinks that index could be -1 here but that's not actually the case.\n      // coverity[negative_returns:FALSE]\n      int sendIpcReg;\n      int recvIpcReg;\n      int sendNetReg;\n      int recvNetReg;\n      if (P2p) {\n        sendIpcReg = p2pWork ? p2pWork->sendIpcReg : 0;\n        recvIpcReg = p2pWork ? p2pWork->recvIpcReg : 0;\n        sendNetReg = p2pWork ? p2pWork->sendNetReg : 0;\n        recvNetReg = p2pWork ? p2pWork->recvNetReg : 0;\n      } else {\n        recvIpcReg = sendIpcReg = collWork ? collWork->regUsed : 0;\n        recvNetReg = sendNetReg = collWork ? collWork->netRegUsed : 0;\n      }\n\n      // coverity[overrun-call] => Coverity think prims.index can be greater than 1\n      if (flags & (RoleWaitRecv|RolePostRecv)) loadRecvConn(channel->peers[peer], connIndexRecv, collWork ? collWork->direct : 0, recvIpcReg, recvNetReg);\n      // coverity[overrun-call] => Coverity think prims.index can be greater than 1\n      if (flags & (RoleWaitSend|RolePostSend)) loadSendConn(channel->peers[peer], connIndexSend, collWork ? collWork->direct : 0, sendIpcReg, sendNetReg);\n\n      // if (barrierAny(flags & NetDeviceUnpack)) {\n      //   flags |= AnyNetDeviceUnpack;\n      //   // RoleWaitRecv starts at tid=0, so this creates the bitmask of which recv peers\n      //   // have NetDeviceUnpack.\n      //   uint32_t mask = __ballot_sync(~0u, ((flags & RoleWaitRecv) && (flags & NetDeviceUnpack)) ? 1 : 0);\n      //   if (tid == 0) {\n      //     ncclShmem.groups[this->group].devicePlugin.unpack.unpackNetDeviceIndexMask = mask;\n      //   }\n      // }\n\n      // coverity[negative_returns:FALSE] => coverity thinks that index could be -1 but that's not actually the case\n      // coverity[var_deref_model] => coverity thinks work can dereferenced if NULL but this is not the case\n      setDataPtrs(inputBuf, outputBuf, redOpArg, (struct ncclDevWorkCollReg*)collWork, sendIpcReg || recvIpcReg, peer, collWork != nullptr ? collWork->acc : nullptr);\n      // coverity[uninit_member] => coverity thinks fan.n is not initialized\n    } else if (mode == primsModePatRs || mode == primsModePatAg) { // Connect to all ranks +/- 2^n\n      flags |= PatMode;\n      const int roles[5] = { RoleWaitRecv, RolePostRecv, RoleWaitSend, RolePostSend, RoleInput | RoleOutput };\n      if (tid < 5) flags |= roles[tid];\n\n      int nranks = ncclShmem.comm.nRanks;\n      if (tid < 32 && ((1UL<<tid) < nranks)) {\n        int rank = ncclShmem.comm.rank;\n        uint32_t delta = 1 << tid;\n        // Load recv peer\n        int recvPeer = mode == primsModePatRs ? (rank - delta + nranks) % nranks : (rank + delta) % nranks;\n        struct ncclPatPeer* peer = ((struct ncclPatPeer*)recvPeers)+tid;\n        struct ncclConnInfo* conn = peer->conn = channel->peers[recvPeer]->recv+connIndexRecv;\n        peer->step = conn->step;\n        peer->buff = conn->buffs[NCCL_PROTO_SIMPLE];\n        peer->stepCache = loadStepValue(peer->tailPtr = conn->tail);\n        peer->headPtr = conn->head;\n        peer->accSize = 0;\n        peer->connStepSize = conn->stepSize/sizeof(T);\n        // Load send peer\n        int sendPeer = mode == primsModePatAg ? (rank - delta + nranks) % nranks : (rank + delta) % nranks;\n        peer = ((struct ncclPatPeer*)sendPeers)+tid;\n        conn = peer->conn = channel->peers[sendPeer]->send+connIndexSend;\n        peer->step = conn->step;\n        peer->connFifo = conn->connFifo;\n        peer->buff = conn->buffs[NCCL_PROTO_SIMPLE];\n        peer->stepCache = loadStepValue(peer->headPtr = conn->head);\n        peer->tailPtr = conn->tail;\n        peer->accSize = 0;\n        peer->connStepSize = conn->stepSize/sizeof(T);\n      }\n      if (tid==0) {\n        ncclShmem.groups[group].userInput = (void*)inputBuf;\n        ncclShmem.groups[group].userOutput = (void*)outputBuf;\n        ncclShmem.redOpArgs[0] = redOpArg;  // scaler for local input\n      }\n      patBarrier();\n    }\n    if(collWork){\n      skip_fence = !collWork -> gfx9CheapFenceOff;\n    }\n  }\n\n  __forceinline__ __device__ ~Primitives() {\n    if (flags&PatMode) return;\n    // Save steps for the next operation\n    if (flags & (RolePostSend|RolePostRecv)) conn->step = step;\n    if ((flags & NetRegMode) && (flags & RoleWaitSend)) {\n      // Make sure we wait until the proxy has sent data before we return.\n      // We don't want the next CUDA kernel to overwrite the send buffer which\n      // was accessed directly.\n      uint64_t prevStep = step - StepPerSlice;\n      volatile ssize_t* ptr = &(connFifo[prevStep%NCCL_STEPS].size);\n      int spins = 0;\n      while (*ptr != -1) if (checkAbort(flags, Aborted, spins)) break;\n    }\n\n    if (flags & NetDeviceUnpack) {\n      ncclNetDeviceSaveHead(netDeviceHandle, group, index);\n    }\n\n    // Make sure all threads are done writing back conn->step and done using\n    // ncclShmem.groups[group]\n    barrier();\n\n    if ((flags & DirectRead) && (flags & RoleWaitSend) && P2p) {\n      // For sendrecv DirectRead, sender needs to wait for receiver reading data from src.\n      // This has to be done after barrier() since post thread might have contention with\n      // this check.\n      int spins = 0;\n      volatile uint64_t* tail = conn->tail;\n      volatile uint64_t* head = conn->head;\n      while (*tail > *head) if (checkAbort(flags, Aborted, spins)) break;\n    }\n  }\n\n  __device__ void setDataPtrs(void const *inputBuf, void *outputBuf, uint64_t redOpArg, struct ncclDevWorkCollReg* work, uint8_t ipcReg, int peer, void const *acc) {\n    if (tid==0) {\n      ncclShmem.groups[group].userInput = (void*)inputBuf;\n      ncclShmem.groups[group].userOutput = (void*)outputBuf;\n      ncclShmem.groups[group].userAcc = (void*)acc;\n      ncclShmem.redOpArgs[0] = redOpArg;  // scaler for local input\n    }\n\n    if (Direct && ipcReg) {\n      bool recvProvider = (flags & RoleWaitRecv) && (flags & DirectWrite);\n      bool sendAcceptor = (flags & RoleWaitSend) && (flags & DirectWrite);\n      bool sendProvider = (flags & RoleWaitSend) && (flags & DirectRead); // sender provides direct buffer (to be fetched)\n      bool recvAcceptor = (flags & RoleWaitRecv) && (flags & DirectRead); // receiver accepts direct buffer\n      if (recvProvider) {\n        int spins = 0;\n        void* volatile* slot = ncclShmem.groups[group].recvConns[index]->ptrExchange;\n        // Wait for consumer to consume previous value before trampling it.\n        if (slot) {\n          T* exchgPtr;\n          directBuff = (T*)outputBuf;\n          while ((void *)atomicAdd((unsigned long long *) slot,0) != nullptr && !checkAbort(flags, Aborted, spins));\n          if (P2p) {\n            exchgPtr = (T*)outputBuf;\n          } else {\n            int localPeer = ncclShmem.comm.rankToLocalRank[peer];\n            // coverity[deref_parm:FALSE] => work cannot be NULL if ipcReg != NULL\n            exchgPtr = (T*)(work->coll.recvbuffOffset + work->coll.recvbuffRmtAddrs[localPeer]);\n          }\n          *slot = reinterpret_cast<void*>(exchgPtr);\n        }\n      }\n      if (sendAcceptor) {\n        int spins = 0;\n        void* volatile* slot = ncclShmem.groups[group].sendConns[index]->ptrExchange;\n        void* ptr;\n        while (slot) {\n          ptr = (void *)atomicAdd((unsigned long long *) slot,0);\n          if (ptr != nullptr || checkAbort(flags, Aborted, spins)) break;\n        }\n\n        if (slot) {\n          directBuff = reinterpret_cast<T*>(ptr);\n          *slot = nullptr;\n        } else {\n          // coverity[var_deref_op]\n          directBuff = (T*)work->dnOutputs[index];\n        }\n      }\n      if (sendProvider) {\n        int spins = 0;\n        void* volatile* slot = ncclShmem.groups[group].sendConns[index]->ptrExchange;\n        volatile uint64_t* argSlot0 = ncclShmem.groups[group].sendConns[index]->redOpArgExchange;\n        volatile uint64_t* argSlot1 = ncclShmem.groups[group].sendConns[index]->redOpArgExchange + 1;\n        // Wait for consumer to consume previous value before trampling it.\n        if (slot && argSlot0 && argSlot1) {\n          T* exchgPtr;\n          while (((void *)atomicAdd((unsigned long long *) slot,0) != nullptr || *argSlot0 != 0 || *argSlot1 != 0) && !checkAbort(flags, Aborted, spins));\n          // If there is no recv, then we are directly pulling from input buffer (e.g. directScatter)\n          // Otherwise, we are pulling from output buffer (e.g. recvCopyDirectSend)\n          directBuff = MaxRecv == 0 ? (T*)inputBuf : (T*)outputBuf;\n          if (P2p) {\n            exchgPtr = MaxRecv == 0 ? (T*)inputBuf : (T*)outputBuf;\n          } else {\n            int localPeer = ncclShmem.comm.rankToLocalRank[peer];\n            if (MaxRecv == 0)\n              // coverity[var_deref_op]\n              exchgPtr = (T*)(work->coll.sendbuffOffset + work->coll.sendbuffRmtAddrs[localPeer]);\n            else\n              // coverity[var_deref_op]\n              exchgPtr = (T*)(work->coll.recvbuffOffset + work->coll.recvbuffRmtAddrs[localPeer]);\n          }\n\n          // Exchange pre-scalers for use in direct pull\n          *argSlot0 = (uint64_t(1) << 32) | (uint32_t)redOpArg;\n          *argSlot1 = (uint64_t(1) << 32) | (uint32_t)(redOpArg >> 32);\n          *slot = reinterpret_cast<T*>(exchgPtr);\n        }\n      }\n      if (recvAcceptor) {\n        int spins = 0;\n        void* volatile* slot = ncclShmem.groups[group].recvConns[index]->ptrExchange;\n        volatile uint64_t* argSlot0 = ncclShmem.groups[group].recvConns[index]->redOpArgExchange;\n        volatile uint64_t* argSlot1 = ncclShmem.groups[group].recvConns[index]->redOpArgExchange + 1;\n        void* ptr;\n        while (slot) {\n          ptr = (void *)atomicAdd((unsigned long long *) slot,0);\n          if (ptr != nullptr || checkAbort(flags, Aborted, spins)) break;\n        }\n\n        if (slot && argSlot0 && argSlot1) {\n          directBuff = reinterpret_cast<T*>(ptr);\n          if (MaxSend != 0) { // reduce group rather than gather group\n            // Store scalers for remote inputs\n            uint64_t arg0, arg1;\n            while (true) {\n              arg0 = *argSlot0;\n              arg1 = *argSlot1;\n              if ((arg0 != 0 && arg1 != 0) || checkAbort(flags, Aborted, spins)) break;\n            }\n            ncclShmem.redOpArgs[1 + index] = ((arg1 & 0xffffffff) << 32) | (arg0 & 0xffffffff);\n          }\n          *argSlot0 = 0; *argSlot1 = 0;\n          *slot = nullptr;\n        } else {\n          // Coverity complains about work being possibly NULL below.  However, slot\n          // being NULL means that the NVLS buffer is registered (regUsed == 1)\n          // so work can't be NULL in this code path.\n          // coverity[var_deref_op]\n          directBuff = (T*)work->dnInputs[index];\n        }\n      }\n    }\n  }\n\n  __device__ void moveDataPtrs(intptr_t delta) {\n    if (tid==0) {\n      ncclShmem.groups[group].userInput = (T*)ncclShmem.groups[group].userInput + delta;\n      ncclShmem.groups[group].userOutput = (T*)ncclShmem.groups[group].userOutput + delta;\n    }\n  }\n\n  // Set MSCCL data pointers\n  __device__ __forceinline__ void setDataPtrs(void const *inputBuf, void *outputBuf = nullptr) {\n    if (tid==0) {\n      ncclShmem.groups[group].userInput = (T*)inputBuf;\n      ncclShmem.groups[group].userOutput = (T*)outputBuf;\n    }\n  }\n\n  __device__ __forceinline__ void send(intptr_t inpIx, int eltN) {\n    genericOp<0, 0, 0, 1, Input, -1>(inpIx, -1, eltN, false);\n  }\n  __device__ __forceinline__ void sendFromOutput(intptr_t outIx, int eltN) {\n    genericOp<0, 0, 0, 1, Output, -1>(outIx, -1, eltN, false);\n  }\n  __device__ __forceinline__ void directSend(intptr_t inpIx, intptr_t outIx, int eltN) {\n    genericOp<0, 1, 0, 1, Input, -1>(inpIx, outIx, eltN, false);\n  }\n  __device__ __forceinline__ void directSendFromOutput(intptr_t outIx, int eltN) {\n    genericOp<0, 1, 0, 1, Output, -1>(outIx, outIx, eltN, false);\n  }\n\n  __device__ __forceinline__ void recv(intptr_t outIx, int eltN, bool postOp=false) {\n    genericOp<0, 0, 1, 0, -1, Output>(-1, outIx, eltN, postOp);\n  }\n  __device__ __forceinline__ void directRecv(intptr_t outIx, int eltN, bool postOp=false) {\n    genericOp<1, 0, 1, 0, -1, Output>(outIx, outIx, eltN, postOp);\n  }\n  __device__ __forceinline__ void directRecvCopy(intptr_t inpIx, intptr_t outIx, int eltN) {\n    genericOp<1, 0, 1, 0, -1, Output>(inpIx, outIx, eltN, /*postOp=*/false);\n  }\n\n  __device__ __forceinline__ void copySend(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n    genericOp<0, 0, 0, 1, Input, Output>(inpIx, outIx, eltN, postOp);\n  }\n  __device__ __forceinline__ void directCopySend(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n    genericOp<0, 1, 0, 1, Input, Output>(inpIx, outIx, eltN, postOp);\n  }\n\n  __device__ __forceinline__ void recvSend(int eltN, bool postOp=false) {\n    genericOp<0, 0, 1, 1, -1, -1>(-1, -1, eltN, postOp);\n  }\n  __device__ __forceinline__ void recvCopySend(intptr_t outIx, int eltN, bool postOp=false) {\n    genericOp<0, 0, 1, 1, -1, Output>(-1, outIx, eltN, postOp);\n  }\n  __device__ __forceinline__ void directRecvCopyDirectSend(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n    genericOp<1, 1, 1, 1, -1, Output>(inpIx, outIx, eltN, postOp);\n  }\n  __device__ __forceinline__ void directRecvDirectSend(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n    genericOp<1, 1, 1, 1, -1, -1>(inpIx, outIx, eltN, postOp);\n  }\n  __device__ __forceinline__ void recvDirectSend(intptr_t outIx, int eltN, bool postOp=false) {\n    genericOp<0, 1, 1, 1, -1, -1>(-1, outIx, eltN, postOp);\n  }\n  __device__ __forceinline__ void directRecvSend(intptr_t outIx, int eltN, bool postOp=false) {\n    genericOp<1, 0, 1, 1, -1, -1>(outIx, outIx, eltN, postOp);\n  }\n  __device__ __forceinline__ void recvCopyDirectSend(intptr_t outIx, int eltN, bool postOp=false) {\n    genericOp<0, 1, 1, 1, -1, Output>(-1, outIx, eltN, postOp);\n  }\n\n  __device__ __forceinline__ void recvReduceCopy(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n    genericOp<0, 0, 1, 0, Input, Output>(inpIx, outIx, eltN, postOp);\n  }\n  __device__ __forceinline__ void directRecvReduceCopy(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n    genericOp<1, 0, 1, 0, Input, Output>(inpIx, outIx, eltN, postOp);\n  }\n\n  __device__ __forceinline__ void recvReduceSend(intptr_t inpIx, int eltN, bool postOp=false) {\n    genericOp<0, 0, 1, 1, Input, -1>(inpIx, -1, eltN, postOp);\n  }\n  __device__ __forceinline__ void directRecvReduceSend(intptr_t inpIx, int eltN, bool postOp=false) {\n    genericOp<1, 0, 1, 1, Input, -1>(inpIx, -1, eltN, postOp);\n  }\n  __device__ __forceinline__ void recvReduceDirectSend(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n    genericOp<0, 1, 1, 1, Input, -1>(inpIx, outIx, eltN, postOp);\n  }\n  __device__ __forceinline__ void directRecvReduceDirectSend(intptr_t inpIx, intptr_t outIx, ssize_t eltN, bool postOp=false) {\n    genericOp<1, 1, 1, 1, Input, -1>(inpIx, outIx, eltN, postOp);\n  }\n\n  __device__ __forceinline__ void recvReduceCopySend(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n    genericOp<0, 0, 1, 1, Input, Output>(inpIx, outIx, eltN, postOp);\n  }\n  __device__ __forceinline__ void recvReduceCopyDirectSend(intptr_t inpIx, intptr_t outIx, int eltN, bool postOp=false) {\n    // Direct is only for the send part\n    genericOp<0, 1, 1, 1, Input, Output>(inpIx, outIx, eltN, postOp);\n  }\n  __device__ __forceinline__ void directRecvReduceCopyDirectSend(intptr_t inpIx, intptr_t outIx, ssize_t eltN, bool postOp=false) {\n    genericOp<1, 1, 1, 1, Input, Output>(inpIx, outIx, eltN, postOp);\n  }\n\n  __device__ __forceinline__ void\n  scatter(intptr_t inpIx, ssize_t totalElem, int peerElem, ssize_t peerOffset, int skip, int shift) {\n    ScatterGatherOp<0, 0, 0, 1>(inpIx, -1, totalElem, peerElem, peerOffset, skip, shift, /*postOp=*/false);\n  }\n  __device__ __forceinline__ void\n  directScatter(intptr_t inpIx, ssize_t totalElem, int peerElem, ssize_t peerOffset, int skip, int shift) {\n    ScatterGatherOp<0, 1, 0, 1>(inpIx, -1, totalElem, peerElem, peerOffset, skip, shift, /*postOp=*/false);\n  }\n\n  __device__ __forceinline__ void\n  gather(intptr_t outIx, ssize_t totalElem, int peerElem, ssize_t peerOffset, int skip, int shift, bool postOp=false) {\n    ScatterGatherOp<0, 0, 1, 0>(-1, outIx, totalElem, peerElem, peerOffset, skip, shift, postOp);\n  }\n  __device__ __forceinline__ void\n  directGather(intptr_t outIx, ssize_t totalElem, int peerElem, ssize_t peerOffset, int skip, int shift) {\n    ScatterGatherOp<1, 0, 1, 0>(-1, outIx, totalElem, peerElem, peerOffset, skip, shift, /*postOp=*/false);\n  }\n\n  __device__ __forceinline__ void patReduce(struct ncclPatStep* ps, struct ncclPatShmem* shmem) {\n    if (ps->flags & PatSkipped) { patBarrier(); patBarrier(); return; } // Skipped\n    int nelem = ps->nelem < 0 ? 0 : ps->nelem;\n    T* userInput = (T*)ncclShmem.groups[group].userInput;\n    T* userOutput = (T*)ncclShmem.groups[group].userOutput;\n\n    bool recv = ps->recvDim >= 0 && (flags & (RolePostRecv|RoleWaitRecv));\n    bool send = ps->sendDim >= 0 && (flags & (RolePostSend|RoleWaitSend));\n    bool postRecv = ps->postRecv && recv;\n    bool postSend = ps->postSend && send;\n    struct ncclPatPeer* peer = NULL;\n    if (recv) {\n      peer = shmem->recvDims+ps->recvDim;\n      step = peer->step;\n    }\n    if (send) {\n      peer = shmem->sendDims+ps->sendDim;\n      step = peer->step;\n    }\n\n    if (recv && (flags & RoleWaitRecv)) {\n      ncclShmem.groups[group].srcs[0] = ((T*)peer->buff) + (step%NCCL_STEPS)*peer->connStepSize + ps->recvOffset;\n      int spins = 0;\n      while (peer->stepCache < step + StepPerSlice) {\n        peer->stepCache = loadStepValue(peer->tailPtr);\n        if (checkAbort(flags, Aborted, spins)) break;\n      }\n    }\n    if (send && (flags & RoleWaitSend)) {\n      int spins = 0;\n      while (peer->stepCache + NCCL_STEPS < step + ps->stepOffset + StepPerSlice) {\n        peer->stepCache = loadStepValue(peer->headPtr);\n        if (checkAbort(flags, Aborted, spins)) break;\n      }\n      ncclShmem.groups[group].dsts[0] = ((T*)peer->buff) + ((step+ps->stepOffset)%NCCL_STEPS)*peer->connStepSize + ps->sendOffset;\n      if (peer->accSize < ps->sendOffset + nelem + (step+ps->stepOffset)*peer->connStepSize) {\n        // New data, add our own data to it.\n        ncclShmem.groups[group].srcs[1] = userInput + ps->inpIx;\n      } else {\n        // There is already data in there, accumulate instead of writing to it.\n        ncclShmem.groups[group].srcs[1] = ncclShmem.groups[group].dsts[0];\n      }\n    }\n    long long int localAccSize = shmem->localAccSize;\n    if (ps->sendDim < 0 && (flags & RoleOutput)) { // Destination is our own local buffer\n      ncclShmem.groups[group].dsts[0] = userOutput + ps->outIx;\n      if (localAccSize < ps->outIx + nelem) {\n        // New data, add our own data to it.\n        ncclShmem.groups[group].srcs[1] = userInput + ps->inpIx;\n        localAccSize = ps->outIx + nelem;\n      } else {\n        // There is already data in there, accumulate instead of writing to it.\n        ncclShmem.groups[group].srcs[1] = ncclShmem.groups[group].dsts[0];\n      }\n    }\n    patBarrier();\n    int nSrcs = 2;\n    void** srcs = ncclShmem.groups[group].srcs;\n    if (ps->recvDim < 0) { srcs++; nSrcs--; } // No peer to receive from, remove one source\n\n    int workSize = ncclShmem.aborted ? 0 : nelem;\n\n    reduceCopy<Unroll, useAcc, RedOp, T, 0, 1, 2, 0, 1, 1, /*PreOpSrcs*/0>\n      (tid, nthreads, ncclShmem.redOpArgs[0],  nullptr, /*postOp=*/false,\n      nSrcs, srcs, 1, ncclShmem.groups[group].dsts, workSize);\n\n    // Store conn step here inside the two barriers to make sure next reload will see the update.\n    if (postSend && (flags & RolePostSend)) {\n      if (peer->connFifo) {\n        peer->connFifo[step%NCCL_STEPS].size = (ps->sendOffset + nelem)*sizeof(T);\n      }\n      peer->step = step += StepPerSlice;\n      st_relaxed_sys_global(&peer->conn->step, step);\n    }\n    if (postRecv && (flags & RolePostRecv)) {\n      peer->step = step += StepPerSlice;\n      st_relaxed_sys_global(&peer->conn->step, step); // Also save in global mem for next op\n    }\n\n    // Update accSize\n    if (ps->sendDim < 0 && (flags & RoleOutput)) atomicMax(&shmem->localAccSize, localAccSize);\n    if (ps->sendDim >= 0 && (flags & RoleWaitSend)) atomicMax(&peer->accSize, ps->sendOffset + nelem + (step+ps->stepOffset)*peer->connStepSize);\n\n    patBarrier();\n\n    if (postSend && (flags & RolePostSend)) {\n      if (nelem > 0 || peer->connFifo) fence_acq_rel_sys();\n      st_relaxed_sys_global(peer->tailPtr, step);\n    }\n    if (postRecv && (flags & RolePostRecv)) {\n      st_relaxed_sys_global(peer->headPtr, step);\n    }\n  }\n\n  __device__ __forceinline__ void patCopy(struct ncclPatStep* ps, struct ncclPatShmem* shmem) {\n    if (ps->flags & PatSkipped) { patBarrier(); patBarrier(); return; } // Skipped\n    int nelem = ps->nelem < 0 ? 0 : ps->nelem;\n    T* userInput = (T*)ncclShmem.groups[group].userInput;\n    T* userOutput = (T*)ncclShmem.groups[group].userOutput;\n\n    bool recv = ps->recvDim >= 0 && (flags & (RolePostRecv|RoleWaitRecv));\n    bool send = ps->sendDim >= 0 && (flags & (RolePostSend|RoleWaitSend));\n    bool postRecv = ps->postRecv && recv;\n    bool postSend = ps->postSend && send;\n    struct ncclPatPeer* peer = NULL;\n    if (recv) {\n      peer = shmem->recvDims+ps->recvDim;\n      step = peer->step;\n    }\n    if (send) {\n      peer = shmem->sendDims+ps->sendDim;\n      step = peer->step;\n    }\n\n    if (recv && (flags & RoleWaitRecv)) {\n      ncclShmem.groups[group].srcs[0] = ((T*)peer->buff) + ((step+ps->stepOffset)%NCCL_STEPS)*peer->connStepSize + ps->recvOffset;\n      int spins = 0;\n      while (peer->stepCache < step + ps->stepOffset + StepPerSlice) {\n        peer->stepCache = loadStepValue(peer->tailPtr);\n        if (checkAbort(flags, Aborted, spins)) break;\n      }\n      if (peer->accSize < ps->recvOffset + nelem + (step+ps->stepOffset)*peer->connStepSize) {\n        // New data, copy to our output buffer.\n        ncclShmem.groups[group].dsts[1] = userOutput + ps->outIx;\n      } else {\n        ncclShmem.groups[group].dsts[1] = ncclShmem.groups[group].srcs[0]; // Already done\n      }\n    }\n    if (send && (flags & RoleWaitSend)) {\n      int spins = 0;\n      while (peer->stepCache + NCCL_STEPS < step + StepPerSlice) {\n        peer->stepCache = loadStepValue(peer->headPtr);\n        if (checkAbort(flags, Aborted, spins)) break;\n      }\n      ncclShmem.groups[group].dsts[0] = ((T*)peer->buff) + (step%NCCL_STEPS)*peer->connStepSize + ps->sendOffset;\n    }\n    long long int localAccSize = shmem->localAccSize;\n    if (ps->recvDim < 0 && (flags & RoleInput)) { // Source is our own local buffer\n      ncclShmem.groups[group].srcs[0] = userInput + ps->inpIx;\n      if (localAccSize < ps->inpIx + nelem) {\n        // New data, copy to our output buffer.\n        ncclShmem.groups[group].dsts[1] = userOutput + ps->outIx;\n        localAccSize = ps->inpIx + nelem;\n      } else {\n        // Already done\n        ncclShmem.groups[group].dsts[1] = ncclShmem.groups[group].srcs[0];\n      }\n    }\n    patBarrier();\n    int nDsts = 2;\n    void** dsts = ncclShmem.groups[group].dsts;\n    if (ps->sendDim < 0) { dsts++; nDsts--; } // No peer to send to, remove one dest\n    if (ncclShmem.groups[group].srcs[0] == ncclShmem.groups[group].dsts[1]) nDsts--; // In-place or already done.\n\n    int workSize = ncclShmem.aborted ? 0 : nelem;\n\n    reduceCopy<Unroll, useAcc, RedOp, T, 0, 1, 1, 0, 1, 2, /*PreOpSrcs*/0>\n      (tid, nthreads, ncclShmem.redOpArgs[0],  nullptr, /*postOp=*/false,\n      1, ncclShmem.groups[group].srcs, nDsts, dsts, workSize);\n\n    // Store conn step here inside the two barriers to make sure next reload will see the update.\n    if (postSend && (flags & RolePostSend)) {\n      if (peer->connFifo) {\n        peer->connFifo[step%NCCL_STEPS].size = (ps->sendOffset + nelem)*sizeof(T);\n      }\n      peer->step = step += StepPerSlice;\n      st_relaxed_sys_global(&peer->conn->step, step);\n    }\n    if (postRecv && (flags & RolePostRecv)) {\n      peer->step = step += StepPerSlice;\n      st_relaxed_sys_global(&peer->conn->step, step); // Also save in global mem for next op\n    }\n\n    // Update accSize\n    if (ps->recvDim < 0 && (flags & RoleInput)) atomicMax(&shmem->localAccSize, localAccSize);\n    if (ps->recvDim >= 0 && (flags & RoleWaitRecv)) atomicMax(&peer->accSize, ps->recvOffset + nelem + (step+ps->stepOffset)*peer->connStepSize);\n\n    patBarrier();\n\n    if (postSend && (flags & RolePostSend)) {\n      if (nelem > 0 || peer->connFifo) fence_acq_rel_sys();\n      st_relaxed_sys_global(peer->tailPtr, step);\n    }\n    if (postRecv && (flags & RolePostRecv)) {\n      st_relaxed_sys_global(peer->headPtr, step);\n    }\n  }\n\n  // MSCCL primitives\n  __device__ __forceinline__ void sendWithBarrier(intptr_t inpIx, int eltN) {\n    send(inpIx, eltN);\n  }\n  __device__ __forceinline__ void localCopy(T* srcs, T* dsts, int eltN) {\n    return mscclGenericOp<0,1,0,0>(&srcs, 1, &dsts, 1, eltN);\n  }\n};\n"
  },
  {
    "path": "src/device/rccl_metadata.h",
    "content": "#pragma once\n/*\nCopyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n/* This file implements methods to extract metadata from an integer Metadata field passed in as a template parameter. Feel free to add additional fields below.*/\n\n#define RCCL_METADATA_EMPTY 0\n#define RCCL_METADATA_MSCCL 1\n\nconstexpr bool isMsccl(int metadata){\n    return (metadata & RCCL_METADATA_MSCCL) > 0;\n}\n\nstatic_assert(isMsccl(RCCL_METADATA_MSCCL), \"RCCL metadata value error\");\nstatic_assert(!isMsccl(RCCL_METADATA_EMPTY), \"RCCL metadata value error\");\n\n"
  },
  {
    "path": "src/device/rccl_ptr.h",
    "content": "#pragma once\n\n/*\nCopyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n// Defines a series of global address space pointers.  Casting to these\n// pointers in hot code paths should improve performance since global\n// aperture vector instrutions like global_store_dwordx4 can be used.\n// These are cheaper than flat loads and stores.  \n// Verify the intended effect by inspecting assembly.  If you see \n// flat in the name of the emitted instruction, something is wrong.\nusing u64_gptr = __attribute__((address_space(1))) uint64_t*;\nusing u32_gptr = __attribute__((address_space(1))) uint32_t*;\nusing u16_gptr = __attribute__((address_space(1))) uint16_t*;\nusing u8_gptr = __attribute__((address_space(1))) uint8_t*;\n\n"
  },
  {
    "path": "src/device/reduce.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"device.h\"\n#include \"collectives.h\"\n#include \"primitives.h\"\n\nnamespace {\n  template<typename T, typename RedOp, typename Proto>\n#if defined(USE_INDIRECT_FUNCTION_CALL) && !defined(__gfx942__) && !defined(__gfx950__)\n  __device__ void runRing(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#else\n  __device__ __attribute__((noinline)) void runRing(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#endif\n#ifdef ENABLE_WARP_SPEED\n    int warp = threadIdx.x / WARP_SIZE;\n    ncclRing *ring = &ncclShmem.warpChannel[warp].ring;\n#else\n    ncclRing *ring = &ncclShmem.channel.ring;\n#endif\n    const int nranks = ncclShmem.comm.nRanks;\n    const int rank = ncclShmem.comm.rank;\n    const int prevRank = ring->userRanks[nranks-1];\n    const int root = work->root;\n    size_t chunkCount;\n    size_t channelCount;\n    size_t gridOffset;\n#ifdef ENABLE_WARP_SPEED\n    ncclCollCbdPart(work, ncclShmem.warpChannelId[warp], Proto::Id, sizeof(T), (size_t*)nullptr, &gridOffset, &channelCount, &chunkCount);\n#else\n    ncclCollCbdPart(work, ncclShmem.channelId, Proto::Id, sizeof(T), (size_t*)nullptr, &gridOffset, &channelCount, &chunkCount);\n#endif\n    size_t offset;\n    int nelem;\n\n    // Coverity reports that the callee treats &ring->next as an array.  However, due to the use of\n    // FanSymmetric<1>, only the first element is ever accessed, so it's fine.\n    // coverity[callee_ptr_arith:FALSE]\n    Primitives<T, RedOp, FanSymmetric<1>, 0, Proto, 0, false, 0, Pipeline>\n      prims(tid, nthreads, &ring->prev, &ring->next, work->sendbuff, work->recvbuff, work->redOpArg, 0, work->connIndex, work->connIndex);\n\n    if (prevRank == root) {\n      for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n        offset = gridOffset + elemOffset;\n        nelem = min(chunkCount, channelCount - elemOffset);\n        prims.send(offset, nelem);\n      }\n    }\n    else if (rank == root) {\n      for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n        offset = gridOffset + elemOffset;\n        nelem = min(chunkCount, channelCount - elemOffset);\n        prims.recvReduceCopy(offset, offset, nelem, /*postOp=*/true);\n      }\n    }\n    else {\n      for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n        offset = gridOffset + elemOffset;\n        nelem = min(chunkCount, channelCount - elemOffset);\n        prims.recvReduceSend(offset, nelem);\n      }\n    }\n  }\n}\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncReduce, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_SIMPLE> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    using Proto = ProtoSimple<REDUCE_CHUNKSTEPS/REDUCE_SLICESTEPS, REDUCE_SLICESTEPS>;\n    runRing<T, RedOp, Proto>(tid, nthreads, work);\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncReduce, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_LL> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    runRing<T, RedOp, ProtoLL>(tid, nthreads, work);\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncReduce, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_LL128> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    runRing<T, RedOp, ProtoLL128>(tid, nthreads, work);\n  }\n};"
  },
  {
    "path": "src/device/reduce_kernel.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2021, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2021 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n\n#ifndef NCCL_REDUCE_KERNEL_H_\n#define NCCL_REDUCE_KERNEL_H_\n\n#include \"op128.h\"\n#include <limits>\n#include <type_traits>\n\n#include \"rccl_float8.h\"\n\ntemplate<typename T>\nstruct IsFloatingPoint: std::false_type {};\ntemplate<>\nstruct IsFloatingPoint<half>: std::true_type {};\n#if defined(RCCL_BFLOAT16)\ntemplate<>\nstruct IsFloatingPoint<hip_bfloat16>: std::true_type {};\n#endif\n#if defined(RCCL_FLOAT8)\ntemplate<>\nstruct IsFloatingPoint<rccl_float8>: std::true_type {};\ntemplate<>\nstruct IsFloatingPoint<rccl_bfloat8>: std::true_type {};\n#endif\ntemplate<>\nstruct IsFloatingPoint<float>: std::true_type {};\ntemplate<>\nstruct IsFloatingPoint<double>: std::true_type {};\n\n////////////////////////////////////////////////////////////////////////////////\n// The reduction function classes. All classes must:\n//  1. Expose the `EltType` typedef.\n//  2. Have constructor taking no arguments (default constructible).\n//  3. Have constructor taking `uint64_t opArg`.\n\ntemplate<typename T>\nstruct FuncCopy { using EltType = T; __device__ __forceinline__ FuncCopy(uint64_t opArg=0) {}; };\ntemplate<typename T>\nstruct FuncSum  { using EltType = T; __device__ __forceinline__ FuncSum(uint64_t opArg=0) {}; };\ntemplate<typename T>\nstruct FuncProd { using EltType = T; __device__ __forceinline__ FuncProd(uint64_t opArg=0) {}; };\n\ntemplate<typename T>\nstruct FuncMinMax {\n  using EltType = T;\n  BytePack<sizeof(T)> xormask; // only used by integers\n  bool isMinNotMax; // only used by floats\n  __device__ __forceinline__ FuncMinMax(uint64_t opArg=0) {\n    xormask.native = opArg;\n    isMinNotMax = (opArg&1)==0;\n  }\n};\n\ntemplate<typename T> struct FuncPreMulSum;\ntemplate<typename T> struct FuncSumPostDiv;\n\n////////////////////////////////////////////////////////////////////////////////\n// Trait class for handling the reduction argument.\n\ntemplate<typename Fn>\nstruct RedOpArg { // default case: no argument\n  static constexpr bool ArgUsed = false;\n  __device__ __forceinline__ static uint64_t loadArg(void *ptr) { return 0; }\n};\n\ntemplate<typename T>\nstruct RedOpArg<FuncMinMax<T>> {\n  static constexpr bool ArgUsed = true;\n  __device__ __forceinline__ static uint64_t loadArg(void *ptr) {\n    union { uint64_t u64; T val; };\n    u64 = 0;\n    val = *(T*)ptr;\n    return u64;\n  }\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Trait classes for reduction functions. Given a function (FuncSum, etc.)\n// and a number of elements in a pack, will reduce, preOp, or postOp a pack\n// of elements. These classes are intended to be specialized for specific\n// combinations of reduction function and pack size.\n\ntemplate<typename A, typename B, int EltPerPackA>\nstruct Apply_Cast/*{\n  static BytePack<EltPerPackA*sizeof(B)/sizeof(A)> cast(BytePack<EltPerPackA*sizeof(A)> a);\n}*/;\n\ntemplate<typename Fn, int EltPerPack>\nstruct Apply_Reduce /*{\n  static BytePack<EltPerPack*sizeof(T)> reduce(\n    Fn fn, BytePack<EltPerPack*sizeof(T)> a, BytePack<EltPerPack*sizeof(T)> b\n  );\n}*/;\ntemplate<typename Fn, int EltPerPack>\nstruct Apply_PreOp/*{\n  static constexpr bool IsIdentity;\n  static BytePack<EltPerPack*sizeof(T)> preOp(Fn fn, BytePack<EltPerPack*sizeof(T)> a);\n}*/;\ntemplate<typename Fn, int EltPerPack>\nstruct Apply_PostOp/*{\n  static constexpr bool IsIdentity;\n  static BytePack<EltPerPack*sizeof(T)> postOp(Fn fn, BytePack<EltPerPack*sizeof(T)> a);\n}*/;\ntemplate<typename Fn>\nstruct LoadMultimem_BigPackSize/*{\n  // If non-zero, then this and sizeof(T) are valid pack sizes for LoadMultimem,\n  // otherwise there are no valid pack sizes for LoadMultimem.\n  static constexpr int BigPackSize = 0;\n}*/;\ntemplate<typename Fn, int BytePerPack>\nstruct Apply_LoadMultimem/*{\n  static BytePack<BytePerPack> load(Fn fn, uintptr_t addr);\n}*/;\n\n\n// Helpers for dealing with BytePack<0>'s\ntemplate<typename A, typename B, int EltPerPack>\nstruct Apply_Cast_MaybeEmpty: Apply_Cast<A, B, EltPerPack> {};\ntemplate<typename A, typename B>\nstruct Apply_Cast_MaybeEmpty<A, B, /*EltPerPack=*/0> {\n  __device__ constexpr static BytePack<0> cast(BytePack<0> a) { return {}; }\n};\n\ntemplate<typename Fn, int EltPerPack>\nstruct Apply_Reduce_MaybeEmpty: Apply_Reduce<Fn, EltPerPack> {};\ntemplate<typename Fn>\nstruct Apply_Reduce_MaybeEmpty<Fn, 0> {\n  __device__ constexpr static BytePack<0> reduce(Fn fn, BytePack<0> a, BytePack<0> b) { return {}; }\n};\n\ntemplate<typename Fn, int EltPerPack>\nstruct Apply_PreOp_MaybeEmpty: Apply_PreOp<Fn, EltPerPack> {};\ntemplate<typename Fn>\nstruct Apply_PreOp_MaybeEmpty<Fn, 0> {\n  static constexpr bool IsIdentity = true;\n  __device__ constexpr static BytePack<0> preOp(Fn fn, BytePack<0> a) { return {}; }\n};\n\ntemplate<typename Fn, int EltPerPack>\nstruct Apply_PostOp_MaybeEmpty: Apply_PostOp<Fn, EltPerPack> {};\ntemplate<typename Fn>\nstruct Apply_PostOp_MaybeEmpty<Fn, 0> {\n  static constexpr bool IsIdentity = true;\n  __device__ constexpr static BytePack<0> postOp(Fn fn, BytePack<0> a) { return {}; }\n};\n\ntemplate<typename Fn, int BytePerPack>\nstruct Apply_LoadMultimem_MaybeEmpty: Apply_LoadMultimem<Fn, BytePerPack> {};\ntemplate<typename Fn>\nstruct Apply_LoadMultimem_MaybeEmpty<Fn, 0> {\n  __device__ constexpr static BytePack<0> load(Fn fn, uintptr_t addr) { return {}; }\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Public API for calling the trait classes. These take the data elements as a\n// pack of any type, which could be a BytePack<?> or any integral type (uint64_t,\n// uint32_t, etc.), and will return a new pack where each element has been\n// transformed appropriately.\n\ntemplate<typename A, typename B, typename PackA>\n__device__ __forceinline__ BytePack<BytePackOf<PackA>::Size*sizeof(B)/sizeof(A)> applyCast(PackA a) {\n  return Apply_Cast_MaybeEmpty<A, B, BytePackOf<PackA>::Size/sizeof(A)>::cast(toPack(a));\n}\n\ntemplate<typename Fn, typename Pack>\n__device__ __forceinline__ Pack applyReduce(Fn fn, Pack a, Pack b) {\n  return fromPack<Pack>(\n    Apply_Reduce_MaybeEmpty<Fn, BytePackOf<Pack>::Size/sizeof(typename Fn::EltType)>\n      ::reduce(fn, toPack(a), toPack(b))\n  );\n}\n\ntemplate<typename Fn, typename Pack>\n__device__ __forceinline__ Pack applyPreOp(Fn fn, Pack a) {\n  return fromPack<Pack>(\n    Apply_PreOp_MaybeEmpty<Fn, BytePackOf<Pack>::Size/sizeof(typename Fn::EltType)>\n      ::preOp(fn, toPack(a))\n  );\n}\n\ntemplate<typename Fn, typename Pack>\n__device__ __forceinline__ Pack applyPostOp(Fn fn, Pack a) {\n  return fromPack<Pack>(\n    Apply_PostOp_MaybeEmpty<Fn, BytePackOf<Pack>::Size/sizeof(typename Fn::EltType)>\n      ::postOp(fn, toPack(a))\n  );\n}\n\ntemplate<typename Fn, int BytePerPack>\n__device__ __forceinline__ BytePack<BytePerPack> applyLoadMultimem(Fn fn, uintptr_t addr) {\n  return Apply_LoadMultimem_MaybeEmpty<Fn, BytePerPack>::load(fn, addr);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Apply_Cast\n\ntemplate<typename A, typename B, int EltPerPack>\nstruct Apply_Cast {\n  __device__ __forceinline__ static BytePack<EltPerPack*sizeof(B)> cast(BytePack<EltPerPack*sizeof(A)> a) {\n    BytePack<EltPerPack*sizeof(B)> b;\n    b.half[0] = Apply_Cast<A, B, EltPerPack/2>::cast(a.half[0]);\n    b.half[1] = Apply_Cast<A, B, EltPerPack/2>::cast(a.half[1]);\n    return b;\n  }\n};\n\ntemplate<typename A, typename B>\nstruct Apply_Cast<A, B, /*EltPerPack=*/1> {\n  __device__ __forceinline__ static BytePack<sizeof(B)> cast(BytePack<sizeof(A)> a) {\n    return toPack(B(fromPack<A>(a)));\n  }\n};\n\ntemplate<>\nstruct Apply_Cast<__half, float, /*EltPerPack=*/1> {\n  __device__ __forceinline__ static BytePack<sizeof(float)> cast(BytePack<sizeof(__half)> a) {\n    return toPack(__half2float(fromPack<__half>(a)));\n  }\n};\ntemplate<>\nstruct Apply_Cast<float, __half, /*EltPerPack=*/1> {\n  __device__ __forceinline__ static BytePack<sizeof(__half)> cast(BytePack<sizeof(float)> a) {\n    return toPack(__float2half_rn(fromPack<float>(a)));\n  }\n};\n\ntemplate<>\nstruct Apply_Cast<__half, float, /*EltPerPack=*/2> {\n  __device__ __forceinline__ static BytePack<4*2> cast(BytePack<2*2> a) {\n    return toPack(__half22float2(fromPack<__half2>(a)));\n  }\n};\ntemplate<>\nstruct Apply_Cast<float, __half, /*EltPerPack=*/2> {\n  __device__ __forceinline__ static BytePack<2*2> cast(BytePack<4*2> a) {\n    return toPack(__float22half2_rn(fromPack<float2>(a)));\n  }\n};\n\n#if defined(__CUDA_BF16_TYPES_EXIST__) && (CUDART_RUNTIME >= 12000 || __CUDA_ARCH__ >= 800)\ntemplate<>\nstruct Apply_Cast<__nv_bfloat16, float, /*EltPerPack=*/2> {\n  __device__ __forceinline__ static BytePack<4*2> cast(BytePack<2*2> a) {\n    return toPack(__bfloat1622float2(fromPack<__nv_bfloat162>(a)));\n  }\n};\ntemplate<>\nstruct Apply_Cast<float ,__nv_bfloat16, /*EltPerPack=*/2> {\n  __device__ __forceinline__ static BytePack<2*2> cast(BytePack<4*2> a) {\n    return toPack(__float22bfloat162_rn(fromPack<float2>(a)));\n  }\n};\n#endif\n\n#define EASY_CAST(A, B, EltPerPack, VecA, VecB) \\\n  template<> \\\n  struct Apply_Cast<A, B, EltPerPack> { \\\n    __device__ __forceinline__ static BytePack<sizeof(B)*EltPerPack> cast(BytePack<sizeof(A)*EltPerPack> a) { \\\n      return toPack(VecB(fromPack<VecA>(a))); \\\n    } \\\n  }; \\\n  template<> \\\n  struct Apply_Cast<B, A, EltPerPack> { \\\n    __device__ __forceinline__ static BytePack<sizeof(A)*EltPerPack> cast(BytePack<sizeof(B)*EltPerPack> b) { \\\n      return toPack(VecA(fromPack<VecB>(b))); \\\n    } \\\n  };\n\n#if defined(__CUDA_FP8_TYPES_EXIST__)\nEASY_CAST(__nv_fp8_e5m2, float, 2, __nv_fp8x2_e5m2, float2)\nEASY_CAST(__nv_fp8_e5m2, float, 4, __nv_fp8x4_e5m2, float4)\n\nEASY_CAST(__nv_fp8_e4m3, float, 2, __nv_fp8x2_e4m3, float2)\nEASY_CAST(__nv_fp8_e4m3, float, 4, __nv_fp8x4_e4m3, float4)\n#endif\n#undef EASY_CAST\n\n////////////////////////////////////////////////////////////////////////////////\n// Apply_Reduce\n\n// Nonsensical base case\ntemplate<typename Fn>\nstruct Apply_Reduce<Fn, /*EltPerPack=*/0> {\n  __device__ __forceinline__ static BytePack<0> reduce(Fn fn, BytePack<0> a, BytePack<0> b) {\n    return  {};\n  }\n};\n\n// General recursive definition (EltPerPack > 1). This is how we iterate over\n// all elements in a pack of any size, by breaking it into halves. Eventually\n// we'll hit a base case (a more specific template specialization which takes\n// precedence).\ntemplate<typename Fn, int EltPerPack>\nstruct Apply_Reduce {\n  template<int Size>\n  __device__ __forceinline__ static BytePack<Size> reduce(Fn fn, BytePack<Size> a, BytePack<Size> b) {\n    a.half[0] = Apply_Reduce<Fn, EltPerPack/2>::reduce(fn, a.half[0], b.half[0]);\n    a.half[1] = Apply_Reduce<Fn, EltPerPack/2>::reduce(fn, a.half[1], b.half[1]);\n    return a;\n  }\n};\n\n// Base case definitions (EltPerPack == 1)\ntemplate<typename T>\nstruct Apply_Reduce<FuncCopy<T>, /*EltPerPack=*/1> {\n  __device__ __forceinline__ static BytePack<sizeof(T)> reduce(FuncCopy<T> fn, BytePack<sizeof(T)> a, BytePack<sizeof(T)> b) {\n    return a;\n  }\n};\ntemplate<typename T>\nstruct Apply_Reduce<FuncSum<T>, /*EltPerPack=*/1> {\n  __device__ __forceinline__ static BytePack<sizeof(T)> reduce(FuncSum<T> fn, BytePack<sizeof(T)> a, BytePack<sizeof(T)> b) {\n    return toPack<T>(fromPack<T>(a) + fromPack<T>(b));\n  }\n};\ntemplate<typename T>\nstruct Apply_Reduce<FuncProd<T>, /*EltPerPack=*/1> {\n  __device__ __forceinline__ static BytePack<sizeof(T)> reduce(FuncProd<T> fn, BytePack<sizeof(T)> a, BytePack<sizeof(T)> b) {\n    return toPack<T>(fromPack<T>(a) * fromPack<T>(b));\n  }\n};\ntemplate<typename T>\nstruct Apply_Reduce<FuncMinMax<T>, /*EltPerPack=*/1> {\n  __device__ __forceinline__ static BytePack<sizeof(T)> reduce(FuncMinMax<T> fn, BytePack<sizeof(T)> a, BytePack<sizeof(T)> b) {\n    return (a.native ^ fn.xormask.native) < (b.native ^ fn.xormask.native) ? a : b;\n  }\n};\n\n// Optimizations for specfic types and element count combinations:\ntemplate<>\nstruct Apply_Reduce<FuncSum<uint8_t>, /*EltPerPack=*/4> {\n  __device__ __forceinline__ static BytePack<4> reduce(FuncSum<uint8_t> fn, BytePack<4> a, BytePack<4> b) {\n    constexpr uint32_t even = 0x00ff00ffu;\n    uint32_t x = (a.native &  even) + (b.native &  even);\n    uint32_t y = (a.native & ~even) + (b.native & ~even);\n    //a.native = (x & even) | (y & ~even);\n    a.native = __byte_perm(x, y, 0x7250);\n    return a;\n  }\n};\n\ntemplate<>\nstruct Apply_Reduce<FuncMinMax<uint8_t>, /*EltPerPack=*/4> {\n  __device__ static BytePack<4> reduce(FuncMinMax<uint8_t> fn, BytePack<4> a, BytePack<4> b) {\n    constexpr uint32_t ones = 0x01010101u;\n    constexpr uint32_t even = 0x00ff00ffu; // even byte mask\n    // Replicate xormask to all bytes\n    uint32_t x = fn.xormask.native * ones;\n    // Transform inputs by xormask\n    uint32_t ax = a.native ^ x;\n    uint32_t bx = b.native ^ x;\n    // Use 9-bit arithmetic to compute d=a-b\n    uint32_t d0 = (ax    & even) + (~bx      & even) + ones;\n    uint32_t d1 = (ax>>8 & even) + (~(bx>>8) & even) + ones;\n    // Move sign bit of each 9-bit delta into the least bit of origin byte\n    //uint32_t s = (d0>>8 & ones & even) | (d1 & ones & ~even);\n    uint32_t s = __byte_perm(d0, d1, 0x7351) & ones;\n    // Broadcast least bit across whole byte\n    s *= 0xffu;\n    // Compose result by selecting bytes via: signbit(a-b)==1 ? a : b\n    a.native = (a.native & s) | (b.native & ~s);\n    return a;\n  }\n};\n\n// template<>\n// struct Apply_Reduce<FuncProd<uint8_t>, /*EltPerPack=*/4> {\n//   __device__ __forceinline__ static BytePack<4> reduce(FuncProd<uint8_t> fn, BytePack<4> apack, BytePack<4> bpack) {\n//     uint32_t a = apack.native;\n//     uint32_t b = bpack.native;\n//     uint32_t ab0 = (a*b) & 0xffu;\n//     asm volatile(\"mad.lo.u32 %0, %1, %2, %0;\" : \"+r\"(ab0) : \"r\"(a&0xff00u), \"r\"(b&0xff00u));\n//     uint32_t ab1;\n//     asm volatile(\"mul.hi.u32 %0, %1, %2;\"     : \"=r\"(ab1) : \"r\"(a&0xff0000), \"r\"(b&0xff0000));\n//     asm volatile(\"mad.hi.u32 %0, %1, %2, %0;\" : \"+r\"(ab1) : \"r\"(a&0xff000000u), \"r\"(b&0xff000000u));\n//     apack.native = __byte_perm(ab0, ab1, 0x6420);\n//     return apack;\n//   }\n// };\n\n#define SPECIALIZE_REDUCE(Fn, T, EltPerPack, Vec, expr_of_fn_x_y) \\\n  template<> \\\n  struct Apply_Reduce<Fn<T>, EltPerPack> { \\\n    __device__ __forceinline__ static BytePack<sizeof(Vec)> reduce( \\\n        Fn<T> fn, BytePack<sizeof(Vec)> a, BytePack<sizeof(Vec)> b \\\n      ) { \\\n      Vec x = fromPack<Vec>(a); \\\n      Vec y = fromPack<Vec>(b); \\\n      return toPack<Vec>(expr_of_fn_x_y); \\\n    } \\\n  };\n\nSPECIALIZE_REDUCE(FuncMinMax, float, 1, float, fn.isMinNotMax ? fminf(x, y) : fmaxf(x, y))\nSPECIALIZE_REDUCE(FuncMinMax, double, 1, double, fn.isMinNotMax ? fmin(x, y) : fmax(x, y))\n\nSPECIALIZE_REDUCE(FuncMinMax, half, 1, half, fn.isMinNotMax ? __hmin(x, y) : __hmax(x, y))\n\n#if defined(RCCL_BFLOAT16)\n#if __CUDA_ARCH__ >= 800\n  SPECIALIZE_REDUCE(FuncSum, __nv_bfloat16, 1, __nv_bfloat16, __hadd(x, y))\n  // coverity[copy_constructor_call]\n  SPECIALIZE_REDUCE(FuncSum, __nv_bfloat16, 2, __nv_bfloat162, __hadd2(x, y))\n  SPECIALIZE_REDUCE(FuncProd, __nv_bfloat16, 1, __nv_bfloat16, __hmul(x, y))\n  // coverity[copy_constructor_call]\n  SPECIALIZE_REDUCE(FuncProd, __nv_bfloat16, 2, __nv_bfloat162, __hmul2(x, y))\n  SPECIALIZE_REDUCE(FuncMinMax, __nv_bfloat16, 1, __nv_bfloat16, fn.isMinNotMax ? __hmin(x, y) : __hmax(x, y))\n  // coverity[copy_constructor_call]\n  SPECIALIZE_REDUCE(FuncMinMax, __nv_bfloat16, 2, __nv_bfloat162, fn.isMinNotMax ? __hmin2(x, y) : __hmax2(x, y))\n#else\n  SPECIALIZE_REDUCE(FuncSum, hip_bfloat16, 1, hip_bfloat16, (hip_bfloat16)((float)(x) + (float)(y)))\n  SPECIALIZE_REDUCE(FuncProd, hip_bfloat16, 1, hip_bfloat16, (hip_bfloat16)((float)(x) * (float)(y)))\n  SPECIALIZE_REDUCE(FuncMinMax, hip_bfloat16, 1, hip_bfloat16, (hip_bfloat16)(fn.isMinNotMax ? fminf((float)(x), (float)(y)) : fmaxf((float)(x), (float)(y))))\n#endif\n#endif\n\n#if defined(RCCL_FLOAT8)\n#if __CUDA_ARCH__ >= 900\n  SPECIALIZE_REDUCE(FuncSum, __nv_fp8_e4m3, 1, __nv_fp8_e4m3, __nv_fp8_e4m3(__hadd(__half(x),__half(y))))\n  SPECIALIZE_REDUCE(FuncSum, __nv_fp8_e4m3, 2, __nv_fp8x2_e4m3, __nv_fp8x2_e4m3(__hadd2(__half2(x),__half2(y))))\n  SPECIALIZE_REDUCE(FuncProd, __nv_fp8_e4m3, 1, __nv_fp8_e4m3, __nv_fp8_e4m3(__hmul(__half(x),__half(y))))\n  SPECIALIZE_REDUCE(FuncProd, __nv_fp8_e4m3, 2, __nv_fp8x2_e4m3, __nv_fp8x2_e4m3(__hmul2(__half2(x),__half2(y))))\n  SPECIALIZE_REDUCE(FuncMinMax, __nv_fp8_e4m3, 1, __nv_fp8_e4m3, __nv_fp8_e4m3(fn.isMinNotMax ? __hmin(__half(x),__half(y)) : __hmax(__half(x),__half(y))))\n  SPECIALIZE_REDUCE(FuncMinMax, __nv_fp8_e4m3, 2, __nv_fp8x2_e4m3, __nv_fp8x2_e4m3(fn.isMinNotMax ? __hmin2(__half2(x),__half2(y)) : __hmax2(__half2(x),__half2(y))))\n\n  SPECIALIZE_REDUCE(FuncSum, __nv_fp8_e5m2, 1, __nv_fp8_e5m2, __nv_fp8_e5m2(__hadd(__half(x),__half(y))))\n  SPECIALIZE_REDUCE(FuncSum, __nv_fp8_e5m2, 2, __nv_fp8x2_e5m2, __nv_fp8x2_e5m2(__hadd2(__half2(x),__half2(y))))\n  SPECIALIZE_REDUCE(FuncProd, __nv_fp8_e5m2, 1, __nv_fp8_e5m2, __nv_fp8_e5m2(__hmul(__half(x),__half(y))))\n  SPECIALIZE_REDUCE(FuncProd, __nv_fp8_e5m2, 2, __nv_fp8x2_e5m2, __nv_fp8x2_e5m2(__hmul2(__half2(x),__half2(y))))\n  SPECIALIZE_REDUCE(FuncMinMax, __nv_fp8_e5m2, 1, __nv_fp8_e5m2, __nv_fp8_e5m2(fn.isMinNotMax ? __hmin(__half(x), __half(y)) : __hmax(__half(x), __half(y))))\n  SPECIALIZE_REDUCE(FuncMinMax, __nv_fp8_e5m2, 2, __nv_fp8x2_e5m2, __nv_fp8x2_e5m2(fn.isMinNotMax ? __hmin2(__half2(x), __half2(y)) : __hmax2(__half2(x), __half2(y))))\n#else\n  SPECIALIZE_REDUCE(FuncSum, rccl_float8, 1, rccl_float8, hadd(x,y))\n  SPECIALIZE_REDUCE(FuncSum, rccl_float8, 2, fp8x2_storage_t, hadd2(x,y))\n  SPECIALIZE_REDUCE(FuncProd, rccl_float8, 1, rccl_float8, rccl_float8(float(x) * float(y)))\n  SPECIALIZE_REDUCE(FuncMinMax, rccl_float8, 1, rccl_float8, rccl_float8(fn.isMinNotMax ? fminf(float(x), float(y)) : fmaxf(float(x), float(y))))\n  \n  SPECIALIZE_REDUCE(FuncSum, rccl_bfloat8, 1, rccl_bfloat8, hadd_b(x,y))\n  SPECIALIZE_REDUCE(FuncSum, rccl_bfloat8, 2, fp8x2_storage_t, hadd2_b(x,y))\n  SPECIALIZE_REDUCE(FuncProd, rccl_bfloat8, 1, rccl_bfloat8, rccl_bfloat8(float(x) * float(y)))\n  SPECIALIZE_REDUCE(FuncMinMax, rccl_bfloat8, 1, rccl_bfloat8, rccl_bfloat8(fn.isMinNotMax ? fminf(float(x), float(y)) : fmaxf(float(x), float(y))))\n#endif\n#endif\n\n#undef SPECIALIZE_REDUCE\n\n////////////////////////////////////////////////////////////////////////////////\n// Apply_PreOp\n\n// General recursive definition (EltPerPack > 1)\ntemplate<typename Fn, int EltPerPack>\nstruct Apply_PreOp {\n  static constexpr bool IsIdentity = Apply_PreOp<Fn, EltPerPack/2>::IsIdentity;\n  template<int Size>\n  __device__ __forceinline__ static BytePack<Size> preOp(Fn fn, BytePack<Size> a) {\n    #if __cpp_if_constexpr\n    if constexpr(!IsIdentity) {\n    #else\n    if (!IsIdentity) {\n    #endif\n      // The `if (!IsIdentity)` condition is not strictly necessary, but it may help\n      // compiler in that it won't have to tear a register apart for no reason\n      // just to put it back together again.\n      a.half[0] = Apply_PreOp<Fn, EltPerPack/2>::preOp(fn, a.half[0]);\n      a.half[1] = Apply_PreOp<Fn, EltPerPack/2>::preOp(fn, a.half[1]);\n    }\n    return a;\n  }\n};\n// Base case definition (EltPerPack == 1), by default is identity function.\ntemplate<typename Fn>\nstruct Apply_PreOp<Fn, /*EltPerPack=*/1> {\n  static constexpr bool IsIdentity = true;\n  template<int Size>\n  __device__ __forceinline__ static BytePack<Size> preOp(Fn fn, BytePack<Size> a) {\n    return a;\n  }\n};\n// Base case definition (EltPerPack == 0), is nonsense!\ntemplate<typename Fn>\nstruct Apply_PreOp<Fn, /*EltPerPack=*/0> {\n  static constexpr bool IsIdentity = true;\n  __device__ __forceinline__ static BytePack<0> preOp(Fn fn, BytePack<0> a) {\n    return {};\n  }\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Apply_PostOp\n\n// General recursive definition (EltPerPack > 1)\ntemplate<typename Fn, int EltPerPack>\nstruct Apply_PostOp {\n  static constexpr bool IsIdentity = Apply_PostOp<Fn, EltPerPack/2>::IsIdentity;\n  template<int Size>\n  __device__ __forceinline__ static BytePack<Size> postOp(Fn fn, BytePack<Size> a) {\n    #if __cpp_if_constexpr\n    if constexpr(!IsIdentity) {\n    #else\n    if (!IsIdentity) {\n    #endif\n      // The `if (!IsIdentity)` condition is not strictly necessary, but it may help\n      // compiler in that it won't have to tear a register apart for no reason\n      // just to put it back together again.\n      a.half[0] = Apply_PostOp<Fn, EltPerPack/2>::postOp(fn, a.half[0]);\n      a.half[1] = Apply_PostOp<Fn, EltPerPack/2>::postOp(fn, a.half[1]);\n    }\n    return a;\n  }\n};\n// Base case definition (EltPerPack == 1), by default is identity function.\ntemplate<typename Fn>\nstruct Apply_PostOp<Fn, /*EltPerPack=*/1> {\n  static constexpr bool IsIdentity = true;\n  template<int Size>\n  __device__ __forceinline__ static BytePack<Size> postOp(Fn fn, BytePack<Size> a) {\n    return a;\n  }\n};\n// Base case definition (EltPerPack == 0), is nonsense!\ntemplate<typename Fn>\nstruct Apply_PostOp<Fn, /*EltPerPack=*/0> {\n  static constexpr bool IsIdentity = true;\n  __device__ __forceinline__ static BytePack<0> postOp(Fn fn, BytePack<0> a) {\n    return {};\n  }\n};\n\n\n////////////////////////////////////////////////////////////////////////////////\n// FuncPreMulSum\n\ntemplate<typename T>\nstruct RedOpArg<FuncPreMulSum<T>> {\n  static constexpr bool ArgUsed = true;\n  __device__ __forceinline__ static uint64_t loadArg(void *ptr) {\n    union { uint64_t u64; T val; };\n    u64 = 0;\n    val = *(T*)ptr;\n    return u64;\n  }\n};\n\n// General definition for all integral types, float, and double.\ntemplate<typename T>\nstruct FuncPreMulSum {\n  using EltType = T;\n  T scalar;\n  __device__ __forceinline__ FuncPreMulSum(uint64_t opArg=0) {\n    union { uint64_t u64; T val; };\n    u64 = opArg;\n    scalar = val;\n  }\n};\n\ntemplate<>\n// Coverity recommends the users of this type to use std::move in certain cases but,\n// given that half is a scalar, a plain copy will be just as efficient.\n// coverity[moveable_type]\nstruct FuncPreMulSum<half> {\n  using EltType = half;\n  half2 scalar;\n  __device__ __forceinline__ FuncPreMulSum(uint64_t opArg=0) {\n    union { uint64_t u64; __half val; };\n    u64 = opArg;\n    scalar.x = val;\n    scalar.y = val;\n  }\n};\n\n#if defined(RCCL_BFLOAT16)\n  template<>\n  // Coverity recommends the users of this type to use std::move in certain cases but,\n  // given that __nv_bfloat16 is a scalar, a plain copy will be just as efficient.\n  // coverity[moveable_type]\n  struct FuncPreMulSum<hip_bfloat16> {\n    using EltType = hip_bfloat16;\n  #if __CUDA_ARCH__ >= 800\n    __nv_bfloat162 scalar;\n    __device__ __forceinline__ FuncPreMulSum(uint64_t opArg=0) {\n      union { uint64_t u64; __nv_bfloat16 val; };\n      u64 = opArg;\n      scalar.x = val;\n      scalar.y = val;\n    }\n  #else\n    float scalar;\n    __device__ __forceinline__ FuncPreMulSum(uint64_t opArg=0) {\n      union { uint64_t u64; hip_bfloat16 val; };\n      u64 = opArg;\n      scalar = (float)(val);\n    }\n  #endif\n  };\n#endif\n\n#if defined(RCCL_FLOAT8)\n#if __CUDA_ARCH__ >= 900\n  template<>\n  struct FuncPreMulSum<__nv_fp8_e4m3> {\n    using EltType = __nv_fp8_e4m3;\n    __half2 scalar2;\n    __device__ __forceinline__ FuncPreMulSum(uint64_t opArg) {\n      union { uint64_t u64; __nv_fp8_storage_t val; };\n      u64 = opArg;\n      scalar2.x = __half(__nv_cvt_fp8_to_halfraw(val, __NV_E4M3));\n      scalar2.y = scalar2.x;\n    }\n  };\n\n  template<>\n  struct FuncPreMulSum<__nv_fp8_e5m2> {\n    using EltType = __nv_fp8_e5m2;\n    __half2 scalar2;\n    __device__ __forceinline__ FuncPreMulSum(uint64_t opArg) {\n      union { uint64_t u64; __nv_fp8_storage_t val; };\n      u64 = opArg;\n      scalar2.x = __half(__nv_cvt_fp8_to_halfraw(val, __NV_E5M2));\n      scalar2.y = scalar2.x;\n    }\n  };\n#else\n  template<>\n  struct FuncPreMulSum<rccl_float8> {\n    // Change these to switch between all prescale, all postscale, or both by sqrt(N).\n    // Obviously, the only invalid combination is both true. An improvement would be\n    // make this parameterized as a build time setting and passed here through\n    // preprocessor definitions.\n    using EltType = rccl_float8;\n    float scalar;\n    __device__ FuncPreMulSum(uint64_t opArg=0) {\n      union { uint64_t u64; rccl_float8 val; };\n      u64 = opArg;\n      scalar = (float)(val);\n    }\n  };\n\n  template<>\n  struct FuncPreMulSum<rccl_bfloat8> {\n    // Change these to switch between all prescale, all postscale, or both by sqrt(N).\n    // Obviously, the only invalid combination is both true. An improvement would be\n    // make this parameterized as a build time setting and passed here through\n    // preprocessor definitions.\n    using EltType = rccl_bfloat8;\n    float scalar;\n    __device__ FuncPreMulSum(uint64_t opArg=0) {\n      union { uint64_t u64; rccl_bfloat8 val; };\n      u64 = opArg;\n      scalar = (float)(val);\n    }\n  };\n#endif\n#endif\n\ntemplate<typename T, int EltPerPack>\nstruct Apply_Reduce<FuncPreMulSum<T>, EltPerPack> {\n  __device__ __forceinline__ static BytePack<EltPerPack*sizeof(T)> reduce(FuncPreMulSum<T> fn, BytePack<EltPerPack*sizeof(T)> a, BytePack<EltPerPack*sizeof(T)> b) {\n    // FuncPreMulSum reduce dispatches to FuncSum.\n    return Apply_Reduce<FuncSum<T>, EltPerPack>::reduce(FuncSum<T>(), a, b);\n  }\n};\n\n// PreOp of FuncPreMulSum for integral types, float, and double.\ntemplate<typename T>\nstruct Apply_PreOp<FuncPreMulSum<T>, /*EltPerPack=*/1> {\n  static constexpr bool IsIdentity = false;\n  __device__ __forceinline__ static BytePack<sizeof(T)> preOp(FuncPreMulSum<T> fn, BytePack<sizeof(T)> a) {\n    return toPack<T>(fromPack<T>(a) * fn.scalar);\n  }\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Apply_PreOp of FuncPreMulSum for float16.\n\ntemplate<>\nstruct Apply_PreOp<FuncPreMulSum<half>, /*EltPerPack=*/1> {\n  static constexpr bool IsIdentity = false;\n  __device__ __forceinline__ static BytePack<sizeof(half)> preOp(FuncPreMulSum<half> fn, BytePack<sizeof(half)> a) {\n      return toPack<half>(__hmul(fromPack<half>(a), fn.scalar.x));\n  }\n};\n#if __CUDA_ARCH__ >= 530 && __CUDA_ARCH__ != 610\n  template<>\n  struct Apply_PreOp<FuncPreMulSum<half>, /*EltPerPack=*/2> {\n    static constexpr bool IsIdentity = false;\n    __device__ __forceinline__ static BytePack<sizeof(half2)> preOp(FuncPreMulSum<half> fn, BytePack<sizeof(half2)> a) {\n      return toPack<half2>(__hmul2(fromPack<half2>(a), fn.scalar));\n    }\n  };\n#endif\n\n////////////////////////////////////////////////////////////////////////////////\n// Apply_PreOp of FuncPreMulSum for bfloat16.\n\n#if defined(RCCL_BFLOAT16)\n  template<>\n  struct Apply_PreOp<FuncPreMulSum<hip_bfloat16>, /*EltPerPack=*/1> {\n    static constexpr bool IsIdentity = false;\n    __device__ __forceinline__ static BytePack<sizeof(hip_bfloat16)> preOp(\n        FuncPreMulSum<hip_bfloat16> fn, BytePack<sizeof(hip_bfloat16)> a\n      ) {\n      #if __CUDA_ARCH__ >= 800\n        return toPack<__nv_bfloat16>(__hmul(fromPack<__nv_bfloat16>(a), fn.scalar.x));\n      #else\n        return toPack<hip_bfloat16>((hip_bfloat16)((float)(fromPack<hip_bfloat16>(a)) * fn.scalar));\n      #endif\n    }\n  };\n  #if __CUDA_ARCH__ >= 800\n    template<>\n    struct Apply_PreOp<FuncPreMulSum<hip_bfloat16>, /*EltPerPack=*/2> {\n      static constexpr bool IsIdentity = false;\n      __device__ __forceinline__ static BytePack<sizeof(__nv_bfloat162)> preOp(\n          FuncPreMulSum<__nv_bfloat16> fn, BytePack<sizeof(__nv_bfloat162)> a\n        ) {\n        return toPack<__nv_bfloat162>(__hmul2(fromPack<__nv_bfloat162>(a), fn.scalar));\n      }\n    };\n  #endif\n#endif\n\n////////////////////////////////////////////////////////////////////////////////\n// Apply_PreOp of FuncPreMulSum for fp8.\n\n#if defined(RCCL_FLOAT8)\n#if __CUDA_ARCH__ >= 900\n  template<>\n  struct Apply_PreOp<FuncPreMulSum<__nv_fp8_e4m3>, /*EltPerPack=*/1> {\n    static constexpr bool IsIdentity = false;\n    __device__ __forceinline__ static BytePack<sizeof(__nv_fp8_e4m3)> preOp(\n        FuncPreMulSum<__nv_fp8_e4m3> fn, BytePack<sizeof(__nv_fp8_e4m3)> a\n      ) {\n      return toPack<__nv_fp8_e4m3>(__nv_fp8_e4m3(__hmul(__half(fromPack<__nv_fp8_e4m3>(a)), fn.scalar2.x)));\n    }\n  };\n  template<>\n  struct Apply_PreOp<FuncPreMulSum<__nv_fp8_e4m3>, /*EltPerPack=*/2> {\n    static constexpr bool IsIdentity = false;\n    __device__ __forceinline__ static BytePack<sizeof(__nv_fp8x2_e4m3)> preOp(\n        FuncPreMulSum<__nv_fp8_e4m3> fn, BytePack<sizeof(__nv_fp8x2_e4m3)> a\n      ) {\n      return toPack<__nv_fp8x2_e4m3>(__nv_fp8x2_e4m3(__hmul2(__half2(fromPack<__nv_fp8x2_e4m3>(a)), fn.scalar2)));\n    }\n  };\n\n  template<>\n  struct Apply_PreOp<FuncPreMulSum<__nv_fp8_e5m2>, /*EltPerPack=*/1> {\n    static constexpr bool IsIdentity = false;\n    __device__ __forceinline__ static BytePack<sizeof(__nv_fp8_e5m2)> preOp(\n        FuncPreMulSum<__nv_fp8_e5m2> fn, BytePack<sizeof(__nv_fp8_e5m2)> a\n      ) {\n      return toPack<__nv_fp8_e5m2>(__nv_fp8_e5m2(__hmul(__half(fromPack<__nv_fp8_e5m2>(a)), fn.scalar2.x)));\n    }\n  };\n  template<>\n  struct Apply_PreOp<FuncPreMulSum<__nv_fp8_e5m2>, /*EltPerPack=*/2> {\n    static constexpr bool IsIdentity = false;\n    __device__ __forceinline__ static BytePack<sizeof(__nv_fp8x2_e5m2)> preOp(\n        FuncPreMulSum<__nv_fp8_e5m2> fn, BytePack<sizeof(__nv_fp8x2_e5m2)> a\n      ) {\n      return toPack<__nv_fp8x2_e5m2>(__nv_fp8x2_e5m2(__hmul2(__half2(fromPack<__nv_fp8x2_e5m2>(a)), fn.scalar2)));\n    }\n  };\n#else\n  template<>\n  struct Apply_PreOp<FuncPreMulSum<rccl_float8>, /*EltPerPack=*/1> {\n    static constexpr bool IsIdentity = false;\n\n    __device__ static BytePack<sizeof(rccl_float8)> preOp(\n        FuncPreMulSum<rccl_float8> fn, BytePack<sizeof(rccl_float8)> a\n      ) {\n        return toPack<rccl_float8>(rccl_float8(float(fromPack<rccl_float8>(a)) * float(fn.scalar)));\n    }\n  };\n\n  template<>\n  struct Apply_PreOp<FuncPreMulSum<rccl_bfloat8>, /*EltPerPack=*/1> {\n    static constexpr bool IsIdentity = false;\n\n    __device__ static BytePack<sizeof(rccl_bfloat8)> preOp(\n        FuncPreMulSum<rccl_bfloat8> fn, BytePack<sizeof(rccl_bfloat8)> a\n      ) {\n        return toPack<rccl_bfloat8>(rccl_bfloat8(float(fromPack<rccl_bfloat8>(a)) * float(fn.scalar)));\n    }\n  };\n#endif\n#endif\n\n////////////////////////////////////////////////////////////////////////////////\n// FuncSumPostDiv\n\ntemplate<typename T>\nstruct RedOpArg<FuncSumPostDiv<T>> {\n  static constexpr bool ArgUsed = true;\n  __device__ __forceinline__ static uint64_t loadArg(void *ptr) {\n    return *(uint64_t*)ptr;\n  }\n};\n\ntemplate<typename T>\nstruct Divider {\n  __device__ __forceinline__ static T divide(T dividend, T divisor) {\n    return dividend / divisor;\n  }\n};\n\ntemplate<>\nstruct Divider<uint64_t> {\n  __device__ __forceinline__ static uint64_t divide(uint64_t dividend, uint64_t divisor) {\n    if (divisor == 0) {\n      return UINT64_MAX;\n    }\n\n    uint64_t quotient = 0;\n    uint64_t remainder = 0;\n\n    #pragma unroll 64\n    for (int i = 63; i >= 0; --i) {\n      remainder = (remainder << 1) | ((dividend >> i) & 1);\n      if (remainder >= divisor) {\n        remainder -= divisor;\n        quotient |= (1ULL << i);\n      }\n    }\n\n    return quotient;\n  }\n};\n  \ntemplate<typename T>\nstruct FuncSumPostDiv {\n  static_assert(T(0) < T(-1), \"FuncSumPostDiv is only for implementing ncclAvg on uint types.\");\n  using EltType = T;\n  using UintType = typename std::conditional<sizeof(T)==8, uint64_t, uint32_t>::type;\n  uint32_t divisor:31, isSigned:1;\n  UintType recip;\n  \n  __device__ __forceinline__ FuncSumPostDiv(uint64_t opArg=0) {\n    isSigned = opArg & 1;\n    divisor = opArg >> 1;\n    recip = Divider<UintType>::divide(UintType(-1), divisor);\n  }\n  __device__ __forceinline__ T divide(T x) {\n    // x is negative iff we are in signed mode and the top bit is set\n    bool xneg = isSigned && (x & ~(T(-1)>>1));\n    // Compute abs(x):\n    // T(-x) vs -T(x) is critical. We have to negate then truncate the bits. Consider\n    // if we are doing signed 8-bit types, thus T=uint8_t. The value -1 is encoded\n    // as 0xff. -T(0xff) when promoted to 32-bit (which is implicit by compiler)\n    // gives 0xffffff01, but T(-0xff) is 0x1, and that is the abs value we want.\n    UintType xabs = xneg ? T(-x) : x;\n    // Compute quotient by multiplying by reciprical.\n    UintType q = sizeof(T)==8 ? __umul64hi(xabs, recip) : __umulhi(xabs, recip);\n    // Quotient may be off by one so do a fixup.\n    if (xabs - q*divisor >= divisor) q += 1;\n    // If original x was negative then we have to negate it back since we were\n    // working with its abs val.\n    return xneg ? -T(q) : T(q);\n  }\n};\n\ntemplate<typename T, int EltPerPack>\nstruct Apply_Reduce<FuncSumPostDiv<T>, EltPerPack>:\n    Apply_Reduce<FuncSum<T>, EltPerPack> {\n  __device__ __forceinline__ static BytePack<EltPerPack*sizeof(T)> reduce(FuncSumPostDiv<T> fn, BytePack<EltPerPack*sizeof(T)> a, BytePack<EltPerPack*sizeof(T)> b) {\n    // FuncSumPostDiv reduce dispatches to FuncSum.\n    return Apply_Reduce<FuncSum<T>, EltPerPack>::reduce(FuncSum<T>(), a, b);\n  }\n};\n\ntemplate<typename T>\nstruct Apply_PostOp<FuncSumPostDiv<T>, /*EltPerPack=*/1> {\n  static constexpr bool IsIdentity = false;\n  __device__ __forceinline__ static BytePack<sizeof(T)> postOp(FuncSumPostDiv<T> fn, BytePack<sizeof(T)> a) {\n    return toPack<T>(fn.divide(fromPack<T>(a)));\n  }\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Apply_LoadMultimem\n\n#define RegCode_for_size_1 \"r\"\n#define RegCode_for_size_2 \"h\"\n#define RegCode_for_size_4 \"r\"\n#define RegCode_for_size_8 \"l\"\n\n#define RegSize_for_size_1 4\n#define RegSize_for_size_2 2\n#define RegSize_for_size_4 4\n#define RegSize_for_size_8 8\n\n#define PtxAcc_for_u32\n#define PtxAcc_for_s32\n#define PtxAcc_for_s64\n#define PtxAcc_for_u64\n#define PtxAcc_for_f32\n#define PtxAcc_for_f64\n#if CUDART_VERSION >= 12020\n  #define PtxAcc_for_f16 \".acc::f32\"\n  #define PtxAcc_for_bf16 \".acc::f32\"\n  #define PtxAcc_for_f16x2 \".acc::f32\"\n  #define PtxAcc_for_bf16x2 \".acc::f32\"\n#else\n  #define PtxAcc_for_f16\n  #define PtxAcc_for_bf16\n  #define PtxAcc_for_f16x2\n  #define PtxAcc_for_bf16x2\n#endif\n#define PtxAcc_for_e4m3 \".acc::f16\"\n#define PtxAcc_for_e5m2 \".acc::f16\"\n#define PtxAcc_for_e4m3x4 \".acc::f16\"\n#define PtxAcc_for_e5m2x4 \".acc::f16\"\n\n#define DEFINE_Apply_LoadMultimem_sum(T, ptx_ty, PackSize) \\\n  template<> \\\n  struct Apply_LoadMultimem<FuncSum<T>, PackSize> { \\\n    __device__ __forceinline__ static BytePack<PackSize> load(FuncSum<T> fn, uintptr_t addr) { \\\n      BytePack<RegSize_for_size_##PackSize> reg; \\\n      asm volatile(\"multimem.ld_reduce.relaxed.sys.global.add\" PtxAcc_for_##ptx_ty \".\" #ptx_ty \" %0, [%1];\" \\\n        : \"=\" RegCode_for_size_##PackSize(reg.native) \\\n        : \"l\"(addr) : \"memory\"); \\\n      BytePack<PackSize> ans; \\\n      ans.native = reg.native; \\\n      return ans; \\\n    } \\\n  };\n#define DEFINE_Apply_LoadMultimem_minmax(T, ptx_ty, PackSize) \\\n  template<> \\\n  struct Apply_LoadMultimem<FuncMinMax<T>, PackSize> { \\\n    __device__ __forceinline__ static BytePack<PackSize> load(FuncMinMax<T> fn, uintptr_t addr) { \\\n      BytePack<RegSize_for_size_##PackSize> reg; \\\n      if (fn.isMinNotMax) { \\\n        asm volatile(\"multimem.ld_reduce.relaxed.sys.global.min.\" #ptx_ty \" %0, [%1];\" \\\n          : \"=\" RegCode_for_size_##PackSize(reg.native) \\\n          : \"l\"(addr) : \"memory\"); \\\n      } else { \\\n        asm volatile(\"multimem.ld_reduce.relaxed.sys.global.max.\" #ptx_ty \" %0, [%1];\" \\\n          : \"=\" RegCode_for_size_##PackSize(reg.native) \\\n          : \"l\"(addr) : \"memory\"); \\\n      } \\\n      BytePack<PackSize> ans; \\\n      ans.native = reg.native; \\\n      return ans; \\\n    } \\\n  };\n\n#define DEFINE_Apply_LoadMultimem_sum_v4(T, ptx_ty, VecEltSize) \\\n  template<> \\\n  struct Apply_LoadMultimem<FuncSum<T>, 4*(VecEltSize)> { \\\n    static constexpr int PackSize = 4*(VecEltSize); \\\n    __device__ __forceinline__ static BytePack<PackSize> load(FuncSum<T> fn, uintptr_t addr) { \\\n      union { BytePack<PackSize> ans; BytePack<VecEltSize> elts[4]; }; \\\n      asm volatile(\"multimem.ld_reduce.relaxed.sys.global.add\" PtxAcc_for_##ptx_ty \".v4.\" #ptx_ty \" {%0,%1,%2,%3}, [%4];\" \\\n        : \"=\" RegCode_for_size_##VecEltSize(elts[0].native), \\\n          \"=\" RegCode_for_size_##VecEltSize(elts[1].native), \\\n          \"=\" RegCode_for_size_##VecEltSize(elts[2].native), \\\n          \"=\" RegCode_for_size_##VecEltSize(elts[3].native) \\\n        : \"l\"(addr) : \"memory\"); \\\n      return ans; \\\n    } \\\n  };\n#define DEFINE_Apply_LoadMultimem_minmax_v4(T, ptx_ty, VecEltSize) \\\n  template<> \\\n  struct Apply_LoadMultimem<FuncMinMax<T>, 4*(VecEltSize)> { \\\n    static constexpr int PackSize = 4*(VecEltSize); \\\n    __device__ __forceinline__ static BytePack<PackSize> load(FuncMinMax<T> fn, uintptr_t addr) { \\\n      union { BytePack<PackSize> ans; BytePack<VecEltSize> elts[4]; }; \\\n      if (fn.isMinNotMax) { \\\n        asm volatile(\"multimem.ld_reduce.relaxed.sys.global.min.v4.\" #ptx_ty \" {%0,%1,%2,%3}, [%4];\" \\\n          : \"=\" RegCode_for_size_##VecEltSize(elts[0].native), \\\n            \"=\" RegCode_for_size_##VecEltSize(elts[1].native), \\\n            \"=\" RegCode_for_size_##VecEltSize(elts[2].native), \\\n            \"=\" RegCode_for_size_##VecEltSize(elts[3].native) \\\n          : \"l\"(addr) : \"memory\"); \\\n      } else { \\\n        asm volatile(\"multimem.ld_reduce.relaxed.sys.global.max.v4.\" #ptx_ty \" {%0,%1,%2,%3}, [%4];\" \\\n          : \"=\" RegCode_for_size_##VecEltSize(elts[0].native), \\\n            \"=\" RegCode_for_size_##VecEltSize(elts[1].native), \\\n            \"=\" RegCode_for_size_##VecEltSize(elts[2].native), \\\n            \"=\" RegCode_for_size_##VecEltSize(elts[3].native) \\\n          : \"l\"(addr) : \"memory\"); \\\n      } \\\n      return ans; \\\n    } \\\n  };\n\n#define DEFINE_Apply_LoadMultimem_sum_v4_and_xparts(T, ptx_ty, VecEltSize) \\\n  DEFINE_Apply_LoadMultimem_sum_v4(T, ptx_ty, VecEltSize) \\\n  template<> \\\n  struct Apply_LoadMultimem<FuncSum<T>, sizeof(T)> { \\\n    __device__ __forceinline__ static BytePack<sizeof(T)> load(FuncSum<T> fn, uintptr_t addr) { \\\n      union { BytePack<VecEltSize> tmp; BytePack<sizeof(T)> elts[(VecEltSize)/sizeof(T)]; }; \\\n      asm volatile(\"multimem.ld_reduce.relaxed.sys.global.add\" PtxAcc_for_##ptx_ty \".\" #ptx_ty \" %0, [%1];\" \\\n        : \"=\" RegCode_for_size_##VecEltSize(tmp.native) \\\n        : \"l\"(addr & -uintptr_t(VecEltSize)) : \"memory\"); \\\n      return elts[(addr/sizeof(T))%((VecEltSize)/sizeof(T))]; \\\n    } \\\n  };\n#define DEFINE_Apply_LoadMultimem_minmax_v4_and_xparts(T, ptx_ty, VecEltSize) \\\n  DEFINE_Apply_LoadMultimem_minmax_v4(T, ptx_ty, VecEltSize) \\\n  template<> \\\n  struct Apply_LoadMultimem<FuncMinMax<T>, sizeof(T)> { \\\n    __device__ __forceinline__ static BytePack<sizeof(T)> load(FuncMinMax<T> fn, uintptr_t addr) { \\\n      union { BytePack<VecEltSize> tmp; BytePack<sizeof(T)> elts[(VecEltSize)/sizeof(T)]; }; \\\n      if (fn.isMinNotMax) { \\\n        asm volatile(\"multimem.ld_reduce.relaxed.sys.global.min.\" #ptx_ty \" %0, [%1];\" \\\n          : \"=\" RegCode_for_size_##VecEltSize(tmp.native) \\\n          : \"l\"(addr & -uintptr_t(VecEltSize)) : \"memory\"); \\\n      } else { \\\n        asm volatile(\"multimem.ld_reduce.relaxed.sys.global.max.\" #ptx_ty \" %0, [%1];\" \\\n          : \"=\" RegCode_for_size_##VecEltSize(tmp.native) \\\n          : \"l\"(addr & -uintptr_t(VecEltSize)) : \"memory\"); \\\n      } \\\n      return elts[(addr/sizeof(T))%((VecEltSize)/sizeof(T))]; \\\n    } \\\n  };\n\ntemplate<typename Fn, int BytePerPack>\nstruct Apply_LoadMultimem {\n  __device__ __forceinline__ static BytePack<BytePerPack> load(Fn fn, uintptr_t addr) {\n    //__trap();\n    return {};\n  }\n};\n\n#if __CUDA_ARCH__ >= 900 && CUDART_VERSION >= 12010\n  template<typename Fn>\n  struct LoadMultimem_BigPackSize {\n    using T = typename Fn::EltType;\n    static constexpr bool IsSum = std::is_same<Fn, FuncSum<T>>::value ||\n                                  std::is_same<Fn, FuncPreMulSum<T>>::value ||\n                                  std::is_same<Fn, FuncSumPostDiv<T>>::value;\n    static constexpr bool IsMinMax = std::is_same<Fn, FuncMinMax<T>>::value;\n    static constexpr bool IsFloat = IsFloatingPoint<T>::value;\n    static constexpr int BigPackSize =\n      IsFloat && IsSum && sizeof(T) < 8 ? 16 :\n      IsFloat && IsSum ? sizeof(T) :\n      IsFloat && IsMinMax && sizeof(T)==2 ? 16 :\n      !IsFloat && (IsSum||IsMinMax) && sizeof(T)>=4 ? sizeof(T) :\n      /*multimem.ld_reduce not supported:*/ 0;\n  };\n\n  DEFINE_Apply_LoadMultimem_sum(uint32_t, u32, 4)\n  DEFINE_Apply_LoadMultimem_minmax(uint32_t, u32, 4)\n\n  DEFINE_Apply_LoadMultimem_sum(int32_t, s32, 4)\n  DEFINE_Apply_LoadMultimem_minmax(int32_t, s32, 4)\n\n  DEFINE_Apply_LoadMultimem_sum(uint64_t, u64, 8)\n  DEFINE_Apply_LoadMultimem_minmax(uint64_t, u64, 8)\n\n  DEFINE_Apply_LoadMultimem_sum(int64_t, u64, 8)\n  DEFINE_Apply_LoadMultimem_minmax(int64_t, s64, 8)\n\n  DEFINE_Apply_LoadMultimem_sum(float, f32, 4)\n  DEFINE_Apply_LoadMultimem_sum_v4(float, f32, 4)\n\n  DEFINE_Apply_LoadMultimem_sum(double, f64, 8)\n\n  DEFINE_Apply_LoadMultimem_sum_v4_and_xparts(half, f16x2, 4)\n  DEFINE_Apply_LoadMultimem_minmax_v4_and_xparts(half, f16x2, 4)\n\n  #if defined(RCCL_BFLOAT16)\n    DEFINE_Apply_LoadMultimem_sum_v4_and_xparts(hip_bfloat16, bf16x2, 4)\n    DEFINE_Apply_LoadMultimem_minmax_v4_and_xparts(hip_bfloat16, bf16x2, 4)\n  #endif\n\n  #if defined(RCCL_BFLOAT16)\n    #if NCCL_CUDA_ARCH_SPECIFIC == 1000 || NCCL_CUDA_ARCH_SPECIFIC == 1010 || NCCL_CUDA_ARCH_FAMILY_SPECIFIC == 1000 || NCCL_CUDA_ARCH_FAMILY_SPECIFIC == 1010 || NCCL_CUDA_ARCH_SPECIFIC == 1200 || NCCL_CUDA_ARCH_SPECIFIC == 1210\n      DEFINE_Apply_LoadMultimem_sum_v4_and_xparts(__nv_fp8_e4m3, e4m3x4, 4)\n      DEFINE_Apply_LoadMultimem_minmax_v4_and_xparts(__nv_fp8_e4m3, e4m3x4, 4)\n      DEFINE_Apply_LoadMultimem_sum_v4_and_xparts(__nv_fp8_e5m2, e5m2x4, 4)\n      DEFINE_Apply_LoadMultimem_minmax_v4_and_xparts(__nv_fp8_e5m2, e5m2x4, 4)\n    #else\n      DEFINE_Apply_LoadMultimem_sum_v4_and_xparts(rccl_float8, e4m3x4, 4)\n      DEFINE_Apply_LoadMultimem_minmax_v4_and_xparts(rccl_float8, e4m3x4, 4)\n      DEFINE_Apply_LoadMultimem_sum_v4_and_xparts(rccl_bfloat8, e5m2x4, 4)\n      DEFINE_Apply_LoadMultimem_minmax_v4_and_xparts(rccl_bfloat8, e5m2x4, 4)\n    #endif\n  #endif\n#else\n  template<typename Fn>\n  struct LoadMultimem_BigPackSize {\n    static constexpr int BigPackSize = 0;\n  };\n#endif\n\n#undef DEFINE_Apply_LoadMultimem\n#undef DEFINE_Apply_LoadMultimem_v4\n#undef DEFINE_Apply_LoadMultimem_v4x2_and_subhalf\n\n#undef RegCode_for_size_2\n#undef RegCode_for_size_4\n#undef RegCode_for_size_8\n\n#undef RegSize_for_size_1\n#undef RegSize_for_size_2\n#undef RegSize_for_size_4\n#undef RegSize_for_size_8\n\n#undef PtxAcc_for_u32\n#undef PtxAcc_for_s32\n#undef PtxAcc_for_s64\n#undef PtxAcc_for_u64\n#undef PtxAcc_for_f32\n#undef PtxAcc_for_f64\n#undef PtxAcc_for_f16\n#undef PtxAcc_for_bf16\n#undef PtxAcc_for_f16x2\n#undef PtxAcc_for_bf16x2\n#undef PtxAcc_for_e4m3\n#undef PtxAcc_for_e5m2\n#undef PtxAcc_for_e4m3x4\n#undef PtxAcc_for_e5m2x4\n\n#endif // REDUCE_KERNEL_H_\n"
  },
  {
    "path": "src/device/reduce_scatter.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"device.h\"\n#include \"collectives.h\"\n#include \"primitives.h\"\n\nnamespace {\n  template<typename T, typename RedOp, typename Proto>\n#if defined(USE_INDIRECT_FUNCTION_CALL) && !defined(__gfx942__) && !defined(__gfx950__)\n  __device__ void runRing(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#else\n  __device__ __attribute__((noinline)) void runRing(int tid, int nthreads, struct ncclDevWorkColl* work) {\n#endif\n#ifdef ENABLE_WARP_SPEED\n    int warp = threadIdx.x / WARP_SIZE;\n    ncclRing *ring = &ncclShmem.warpChannel[warp].ring;\n#else\n    ncclRing *ring = &ncclShmem.channel.ring;\n#endif\n    int const *ringRanks = ring->userRanks;\n    const int nranks = ncclShmem.comm.nRanks;\n    size_t count;\n    size_t gridOffset;\n    size_t channelCount;\n    size_t chunkCount;\n#ifdef ENABLE_WARP_SPEED\n    ncclCollCbdPart(work, ncclShmem.warpChannelId[warp], Proto::Id, sizeof(T), &count, &gridOffset, &channelCount, &chunkCount);\n#else\n    ncclCollCbdPart(work, ncclShmem.channelId, Proto::Id, sizeof(T), &count, &gridOffset, &channelCount, &chunkCount);\n#endif\n    size_t offset;\n    size_t dataOffset;\n    uint32_t nelem;\n    int rankDest;\n\n#if defined(ENABLE_NPKIT)\n    int npKitCtxIdx = ncclShmem.channelId;\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_CPU)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_CPU, 0, 0, NPKIT_GET_CPU_TIMESTAMP_FROM_BLOCK,\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_GPU)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_GPU, 0, 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_ENTRY)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_REDUCE_SCATTER_RING_ENTRY, count*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n    // Coverity reports that the callee treats &ring->next as an array.  However, due to the use of\n    // FanSymmetric<1>, only the first element is ever accessed, so it's fine.\n    // coverity[callee_ptr_arith:FALSE]\n    Primitives<T, RedOp, FanSymmetric<1>, 0, Proto, 0, false, 0, Pipeline>\n      prims(tid, nthreads, &ring->prev, &ring->next, work->sendbuff, work->recvbuff, work->redOpArg, 0, work->connIndex, work->connIndex);\n\n#if defined(ENABLE_NPKIT)\n    if (tid == 0) {\n      prims.npKitCtxIdx = npKitCtxIdx;\n    }\n#endif\n\n    for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n      nelem = min(chunkCount, channelCount - elemOffset);\n\n      dataOffset = gridOffset + elemOffset;\n      /////////////// begin ReduceScatter steps ///////////////\n      // step 0: push data to next GPU\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_SEND_ENTRY)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_REDUCE_SCATTER_RING_SEND_ENTRY, nelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n      rankDest = ringRanks[nranks-1];\n      offset = dataOffset + rankDest * count;\n      prims.send(offset, nelem);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_SEND_EXIT)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_REDUCE_SCATTER_RING_SEND_EXIT, nelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n      // k-2 steps: reduce and copy to next GPU\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_SEND_ENTRY)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_SEND_ENTRY, nelem*(nranks-2)*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n      for (int j=2; j<nranks; ++j) {\n        rankDest = ringRanks[nranks-j];\n        offset = dataOffset + rankDest * count;\n        prims.recvReduceSend(offset, nelem);\n      }\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_SEND_EXIT)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_SEND_EXIT, nelem*(nranks-2)*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n\n      // step k-1: reduce this buffer and data, which will produce the final result\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_COPY_ENTRY)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_COPY_ENTRY, nelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n      rankDest = ringRanks[0];\n      offset = dataOffset + rankDest * count;\n      prims.recvReduceCopy(offset, dataOffset, nelem, /*postOp=*/true);\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_COPY_EXIT)\n      if (tid == 0) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_COPY_EXIT, nelem*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n    }\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_REDUCE_SCATTER_RING_EXIT)\n    if (tid == 0) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_REDUCE_SCATTER_RING_EXIT, count*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n  }\n}\n\n#if defined(__gfx942__) || defined(__gfx950__) // Use a single slice per simple primitive for a single node on some GFX9 devices.\n#define rcclReduceScatterRunRingSimpleProtoImpl(tid, nthreads, work) \\\n  if(work->rcclUseOneSlice){ \\\n    using Proto = ProtoSimple<REDUCESCATTER_CHUNKSTEPS/REDUCESCATTER_SLICESTEPS_SINGLE_NODE, REDUCESCATTER_SLICESTEPS_SINGLE_NODE>; \\\n    runRing<T, RedOp, Proto>(tid, nthreads, work); \\\n  } else{ \\\n    using Proto = ProtoSimple<REDUCESCATTER_CHUNKSTEPS/REDUCESCATTER_SLICESTEPS, REDUCESCATTER_SLICESTEPS>; \\\n    runRing<T, RedOp, Proto>(tid, nthreads, work); \\\n  }\n#else\n#define rcclReduceScatterRunRingSimpleProtoImpl(tid, nthreads, work) \\\n  using Proto = ProtoSimple<REDUCESCATTER_CHUNKSTEPS/REDUCESCATTER_SLICESTEPS, REDUCESCATTER_SLICESTEPS>; \\\n  runRing<T, RedOp, Proto>(tid, nthreads, work);\n#endif\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncReduceScatter, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_SIMPLE> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    rcclReduceScatterRunRingSimpleProtoImpl(tid, nthreads, work);\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncReduceScatter, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_LL> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    runRing<T, RedOp, ProtoLL>(tid, nthreads, work);\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncReduceScatter, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_LL128> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    runRing<T, RedOp, ProtoLL128>(tid, nthreads, work);\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncReduceScatter, T, RedOp, NCCL_ALGO_PAT, NCCL_PROTO_SIMPLE> {\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    using Proto = ProtoSimple<1, 1>;\n    const int nranks = ncclShmem.comm.nRanks;\n    const int rank = ncclShmem.comm.rank;\n    size_t count, channelOffset, channelCount, chunkCount;\n    ncclCollCbdPart(work, ncclShmem.channelId, Proto::Id, sizeof(T), &count, &channelOffset, &channelCount, &chunkCount);\n\n    static constexpr int nworkers = NCCL_PAT_NWORKERS;\n    struct ncclPatShmem* shmem = (struct ncclPatShmem*)ncclScratchForWarp(0);\n    //uint64_t pollCount = 0; unused variable - compiler warning\n    __syncthreads(); // Don't start using shared mem until everyone arrives\n    for (int i=tid; i<NCCL_SHMEM_PAT_STEPS; i+=nthreads) shmem->patSteps[i].flags = 0;\n    if (tid == 0) shmem->localAccSize = 0;\n    if (tid == nworkers) shmem->parallelFactor = 0;\n    __syncthreads();\n\n    if (tid == nworkers) { // Algo computation thread\n      PatRSAlgorithm<T> patAlgo(chunkCount*sizeof(T), NCCL_STEPS, NCCL_PAT_NWORKERS/WARP_SIZE, channelOffset, channelOffset + channelCount, count, chunkCount, rank, nranks);\n      int parallelFactor = shmem->parallelFactor = patAlgo.getParallelFactor();\n      (void)parallelFactor;// unused variable - compiler warning\n      int step = 0;\n      while (1) {\n        struct ncclPatStep* ps = shmem->patSteps+(step%NCCL_SHMEM_PAT_STEPS);\n        int* poll = &ps->flags;\n        while (__hip_atomic_load(poll, __ATOMIC_ACQUIRE, __HIP_MEMORY_SCOPE_WORKGROUP) != 0){\n          //pollCount++;// unused variable - compiler warning // Wait for workers to be done with step 'step-NCCL_SHMEM_PAT_STEPS'\n        }\n        patAlgo.getNextOp(ps);\n        int last = ps->last;\n        step++;\n        if (last == 2) break;\n      }\n    } else if (tid < nworkers) { // Worker threads\n      T *inputBuf = (T*)work->sendbuff;\n      T *outputBuf = (T*)work->recvbuff;\n      int parallelFactor = 0;\n      volatile int* pfPtr = &shmem->parallelFactor;\n      while (parallelFactor == 0) parallelFactor = *pfPtr;\n\n      int groupSize = nworkers/(WARP_SIZE*parallelFactor) * WARP_SIZE;\n      int group = tid / groupSize;\n      int nGroups = nworkers / groupSize;\n      int tidInGroup = tid - group*groupSize;\n      // We don't use recvPeers/sendPeers so let's pass shmem structs instead\n      Primitives<T, RedOp, FanSymmetric<1>, 0, Proto, 0, false, 0, Pipeline> prims\n        (tidInGroup, groupSize, (int*)shmem->recvDims, (int*)shmem->sendDims, inputBuf, outputBuf, work->redOpArg, group, 0, 0, nullptr, nullptr, 0, primsModePatRs);\n\n      int step = group;\n      while(1) {\n        struct ncclPatStep* ps = shmem->patSteps+(step%NCCL_SHMEM_PAT_STEPS);\n        int* poll = &ps->flags;\n        while (__hip_atomic_load(poll, __ATOMIC_ACQUIRE, __HIP_MEMORY_SCOPE_WORKGROUP) == 0) {\n          //pollCount++; // unused variable - compiler warning // Wait for compute thread\n        }\n        int last = ps->last;\n        prims.patReduce(ps, shmem);\n        if (tidInGroup == 0) __hip_atomic_store(poll, 0, __ATOMIC_RELEASE, __HIP_MEMORY_SCOPE_WORKGROUP); // Return element to compute thread\n        if (last) break;\n        step += nGroups;\n      }\n    }\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncReduceScatter, T, RedOp, NCCL_ALGO_NVLS, NCCL_PROTO_SIMPLE> {\n  template<bool ReduceSendNotRecv>\n  struct Scatterer {\n    struct ncclDevWorkColl* work;\n    int chunkCount;\n    ssize_t railGridOffset;\n\n    template<int SlicePerChunk, int MinSrcs, int MaxSrcs, int MinDsts, int MaxDsts, int MultimemSrcs, int MultimemDsts>\n    __device__ __forceinline__ void operator()(\n        int tid, int tn, int slice, int maxSliceSize,\n        int nSrcs, void** srcPtrs, int nDsts, void** dstPtrs, int32_t* dstSizes, uint32_t sendDirectFlag, uint32_t recvDirectFlag\n      ) {\n      static_assert(SlicePerChunk == 1, \"require: SlicePerChunk==1\");\n      static_assert(MaxDsts <= 1 || MaxSrcs <= 1, \"require: MaxDsts<=1 || MaxSrcs<=1\");\n\n      struct ncclNvls* nvls = &ncclShmem.channel.nvls;\n      int nNodes = ncclShmem.comm.nNodes;\n      int nRails = nvls->nHeads;\n      int part = ncclShmem.channelId - work->channelLo;\n      void* inbuf = (void*)work->sendbuff;\n      ssize_t countPerRank = work->collnet.count;\n\n      ssize_t railAllBeg = min(railGridOffset + part * chunkCount, nNodes * countPerRank);\n      ssize_t railAllEnd = min(railAllBeg + chunkCount, nNodes * countPerRank);\n      int railAllSize = railAllEnd - railAllBeg;\n      int rail = nvls->headRank;\n      int dst = 0;\n      if (ReduceSendNotRecv) {\n        if (work->regUsed) return;\n        rail = 0;\n        nSrcs = 1;\n      } else {\n        rail = nvls->headRank;\n      }\n      if (tid < nDsts) dstSizes[tid] = railAllSize;\n      do {\n        int node = railAllBeg / countPerRank;\n        int railAllOffset = 0;\n        while (railAllOffset < railAllSize) {\n          ssize_t railOneBeg = node * countPerRank;\n          ssize_t railOneEnd = railOneBeg + countPerRank;\n          ssize_t railOneOffset = (railAllBeg + railAllOffset) - railOneBeg;\n          int delta = min(railAllEnd, railOneEnd) - (railAllBeg + railAllOffset);\n          int rank = ncclShmem.comm.collNetDenseToUserRank[node * nRails + rail];\n          ssize_t userOneBeg = rank * countPerRank + railOneOffset;\n          if (nDsts != 0) {\n            reduceCopy<ncclCollUnroll(), USE_ACC, RedOp, T,\n              /*MultimemSrcs=*/MultimemSrcs, 1, 1 + MaxSrcs,\n              /*MultimemDsts,MinDsts,MaxDsts=*/MultimemDsts, 1, 1,\n              /*PreOpSrcs=*/1>\n              (tid, tn, work->redOpArg, &work->redOpArg, false,\n                /*nSrcs=*/nSrcs, [=]__device__(int s) {\n              return work->regUsed ? (T*)srcPtrs[s] + userOneBeg :\n                !ReduceSendNotRecv ? (T*)srcPtrs[s] + railAllOffset:\n                (T*)inbuf + userOneBeg;\n            },\n                /*nDsts=*/1, [=]__device__(int d/*==0*/) {\n              return (T*)dstPtrs[dst] + railAllOffset;\n            }, delta);\n          }\n          railAllOffset += delta;\n          node += 1;\n        }\n        dst += 1;\n        rail += 1;\n      } while (ReduceSendNotRecv && dst < nRails);\n    }\n  };\n\n  __device__ __forceinline__ void run(int tid, int/*nthreads*/, struct ncclDevWorkColl* work) {\n    struct ncclNvls* nvls = &ncclShmem.channel.nvls;\n    int nelem;\n\n    /* if we are direct NVLS, we only need to allocate 1 warp to scatter for sync;\n     * if not, based on #ranks, we allocate 7 or 5 warps to reduce to saturate bandwidth\n     * and the rest are allocated to scatter. */\n    const int nThreadsNetRecv = work->oneNode ? 0 : (work->netRegUsed ? WARP_SIZE :  6 * WARP_SIZE);\n    const int nThreadsScatter = work->regUsed ? roundUp(nvls->nHeads << 2, WARP_SIZE) : 8 * WARP_SIZE;\n    const int nThreadsReduce = NCCL_MAX_NTHREADS - nThreadsNetRecv - nThreadsScatter;\n    const int tidEndNetRecv = nThreadsNetRecv;\n    const int tidEndScatter = tidEndNetRecv + nThreadsScatter;\n    const int tidEndReduce = tidEndScatter + nThreadsReduce;\n\n    if (work->oneNode) {\n      const int rank = ncclShmem.comm.rank;\n      size_t offset;\n      size_t count, gridOffset, channelCount, chunkCount;\n      ncclCollCbdPart(work, ncclShmem.channelId, NCCL_PROTO_SIMPLE, sizeof(T), &count, &gridOffset, &channelCount, &chunkCount);\n      if (!work->regUsed) {\n        if (tid < tidEndScatter) {\n          // Scatter\n          using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL>;\n          Primitives<T, RedOp, FanAsymmetric<0, NCCL_MAX_NVLS_ARITY>, /*Direct=*/0, Proto, 0>\n            prims(tid, nThreadsScatter, NULL, nvls->up, work->sendbuff, NULL,\n              work->redOpArg, 0 * Proto::MaxGroupWidth, 1, 1);\n          for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n            offset = gridOffset + elemOffset;\n            nelem = min(chunkCount, channelCount - elemOffset);\n            prims.scatter(offset, nvls->nHeads * count, nelem, count, -1, 0);\n          }\n          // coverity[overrun-call] => Coverity think prims.index can be greater than 1\n        } else if (tid < tidEndReduce) {\n          // Reduce through NVLS\n          using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL, 1, 0>;\n          Primitives<T, RedOp, FanAsymmetric<1, 0>, /*Direct=*/0, Proto, 0>\n            prims(tid - tidEndScatter, nThreadsReduce, &nvls->down, NULL, NULL, work->recvbuff,\n              work->redOpArg, 3 * Proto::MaxGroupWidth, 0, 0);\n          for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n            offset = gridOffset + elemOffset;\n            nelem = min(chunkCount, channelCount - elemOffset);\n            prims.recv(offset, nelem);\n          }\n        }\n      } else {\n        if (tid < tidEndScatter) {\n          // Scatter\n          using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL>;\n          Primitives<T, RedOp, FanSymmetric<NCCL_MAX_NVLS_ARITY>, /*Direct=*/0, Proto, 0>\n            prims(tid, nThreadsScatter, nvls->up, nvls->up, NULL, NULL,\n              work->redOpArg, 0 * Proto::MaxGroupWidth, 1, 1);\n          for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n            prims.scatter(0, 0, 0, 0, -1, 0);\n          }\n\n          /* gather used as sync */\n          prims.gather(0, 0, 0, 0, -1, 0);\n        } else if (tid < tidEndReduce) {\n          // Reduce through NVLS\n          using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL, 1, 0>;\n          Primitives<T, RedOp, FanSymmetric<1>, /*Direct=*/1, Proto, 0>\n            prims(tid - tidEndScatter, nThreadsReduce, &nvls->down, &nvls->down, NULL, work->recvbuff,\n              work->redOpArg, 3 * Proto::MaxGroupWidth, 0, 0, work);\n          for (size_t elemOffset = 0; elemOffset < channelCount; elemOffset += chunkCount) {\n            size_t outOffset = gridOffset + elemOffset;\n            size_t inpOffset = outOffset + rank * count;\n            nelem = min(chunkCount, channelCount - elemOffset);\n            // Coverity complains about a possible overrun inside the method invoked below, but that's actually\n            // a false positive.\n            // coverity[overrun-call:FALSE]\n            prims.directRecvCopy(inpOffset, outOffset, nelem);\n          }\n\n          /* send for sync */\n          prims.send(0, 0);\n        }\n      }\n    } else {\n      // multi-node\n      int nNodes = ncclShmem.comm.nNodes;\n      int part = ncclShmem.channelId - work->channelLo;\n      ssize_t countPerRank = work->collnet.count;\n      const int nChannels = work->channelHi - work->channelLo + 1;\n      ssize_t chunkCount = work->collnet.chunkCount;\n      if (tid < tidEndNetRecv) {\n        using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL>;\n        if (work->netRegUsed) {\n          if (tid == 0) {\n            int steps = (int)divUp(nNodes * countPerRank, nChannels * chunkCount);\n            Primitives<T, RedOp, FanAsymmetric<1, 0>, /*Direct=*/0, Proto, 0>::recvPeerNotify(nvls->out, 0, steps);\n          }\n          __syncwarp();\n        } else {\n          Primitives<T, RedOp, FanAsymmetric<1, 0>, /*Direct=*/0, Proto, 0>\n            prims(tid, nThreadsNetRecv, &nvls->out, nullptr, nullptr, work->recvbuff,\n              work->redOpArg, 0 * Proto::MaxGroupWidth, 0, 0);\n          for (ssize_t railGridOffset = 0; railGridOffset < nNodes * countPerRank; railGridOffset += nChannels * chunkCount) {\n            ssize_t railAllBeg = railGridOffset + part * chunkCount;\n            ssize_t railAllEnd = min(railAllBeg + chunkCount, nNodes * countPerRank);\n            ssize_t railOneBeg = ncclShmem.comm.node * countPerRank;\n            ssize_t railOneEnd = railOneBeg + countPerRank;\n            ssize_t beg = max(railAllBeg, railOneBeg);\n            ssize_t end = min(railAllEnd, railOneEnd);\n            prims.recv(beg - railOneBeg, max(ssize_t(0), end - beg), /*postOp=*/true);\n          }\n        }\n      } else {\n        if (tid < tidEndScatter) {\n          using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL>;\n          Primitives<T, RedOp, FanAsymmetric<0, NCCL_MAX_NVLS_ARITY>, /*Direct=*/1, Proto, 0>\n            prims(tid - tidEndNetRecv, nThreadsScatter, nullptr, nvls->up, work->sendbuff, nullptr,\n              work->redOpArg, 1 * Proto::MaxGroupWidth, 1, 1, work);\n          for (ssize_t railGridOffset = 0; railGridOffset < nNodes * countPerRank; railGridOffset += nChannels * chunkCount) {\n            Scatterer</*ReduceSendNotRecv=*/true> scat;\n            scat.work = work;\n            scat.chunkCount = chunkCount;\n            scat.railGridOffset = railGridOffset;\n            prims.template process</*Recv=*/0, /*Send=*/1>(scat);\n          }\n        } else if (tid < tidEndReduce) {\n          using Proto = ProtoSimple<1, 1, USE_ACC, COLL_UNROLL, 1, 0>;\n          Primitives<T, RedOp, FanSymmetric<1>, /*Direct=*/1, Proto, 0>\n            prims(tid - tidEndScatter, nThreadsReduce, &nvls->down, &nvls->out, nullptr, nullptr,\n              work->redOpArg, 2 * Proto::MaxGroupWidth, 0, 1, work);\n          for (ssize_t railGridOffset = 0; railGridOffset < nNodes * countPerRank; railGridOffset += nChannels * chunkCount) {\n            Scatterer</*ReduceSendNotRecv=*/false> scat;\n            scat.work = work;\n            scat.chunkCount = chunkCount;\n            scat.railGridOffset = railGridOffset;\n            prims.template process</*Recv=*/1, /*Send=*/1>(scat);\n          }\n        }\n      }\n    }\n  }\n};\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkColl<ncclFuncReduceScatter, T, RedOp, NCCL_ALGO_COLLNET_DIRECT, NCCL_PROTO_SIMPLE> {\n  template<bool ReduceSendNotRecv>\n  struct Scatterer {\n    struct ncclDevWorkColl* work;\n    int chunkSize;\n    ssize_t railGridOffset;\n\n    template<int SlicePerChunk, int MinSrcs, int MaxSrcs, int MinDsts, int MaxDsts, int MultimemSrcs, int MultimemDsts>\n    __device__ __forceinline__ void operator()(\n        int tid, int tn, int slice, int maxSliceSize,\n        int nSrcs, void** srcPtrs, int nDsts, void** dstPtrs, int32_t* dstSizes, uint32_t sendDirectFlag, uint32_t recvDirectFlag\n      ) {\n      static_assert(SlicePerChunk==1, \"require: SlicePerChunk==1\");\n      static_assert(MaxDsts<=1 || MaxSrcs<=1, \"require: MaxDsts<=1 || MaxSrcs<=1\");\n\n      struct ncclDirect* direct = &ncclShmem.channel.collnetDirect;\n      int nNodes = ncclShmem.comm.nNodes;\n      int nRails = direct->nHeads;\n      int part = ncclShmem.channelId - work->channelLo;\n      void* inbuf = (void*)work->sendbuff;\n      ssize_t countPerRank = work->collnet.count;\n\n      ssize_t railAllBeg = min(railGridOffset + part*chunkSize, nNodes*countPerRank);\n      ssize_t railAllEnd = min(railAllBeg + chunkSize, nNodes*countPerRank);\n      int railAllSize = railAllEnd - railAllBeg;\n      if (tid < nDsts) dstSizes[tid] = railAllSize;\n\n      int dst = 0;\n      int rail;\n      if (!ReduceSendNotRecv) {\n        rail = direct->headRank;\n      } else {\n        rail = direct->headRank+1;\n        if (rail == nRails) rail = 0;\n      }\n      do {\n        int node = railAllBeg/countPerRank;\n        int railAllOffset = 0;\n        while (railAllOffset < railAllSize) {\n          ssize_t railOneBeg = node*countPerRank;\n          ssize_t railOneEnd = railOneBeg + countPerRank;\n          ssize_t railOneOffset = (railAllBeg+railAllOffset) - railOneBeg;\n          int delta = min(railAllEnd, railOneEnd) - (railAllBeg+railAllOffset);\n          int rank = ncclShmem.comm.collNetDenseToUserRank[node*nRails + rail];\n          ssize_t userOneBeg = rank*countPerRank + railOneOffset;\n          if (nDsts != 0) {\n            reduceCopy<ncclCollUnroll(), USE_ACC, RedOp, T,\n                     /*MultimemSrcs=*/0, 1+MinSrcs, 1+MaxSrcs,\n                     /*MultimemDsts,MinDsts,MaxDsts=*/0,1,1,\n                     /*PreOpSrcs=*/1>\n            (tid, tn, work->redOpArg, &work->redOpArg, false,\n             /*nSrcs=*/1+nSrcs, [=]__device__(int s) {\n               return s==0 ? (T*)inbuf + userOneBeg\n                           : work->regUsed && (recvDirectFlag & NCCL_P2P_READ)\n                           ? (T*)srcPtrs[s-1] + userOneBeg\n                           : (T*)srcPtrs[s-1] + railAllOffset;\n             },\n             /*nDsts=*/1, [=]__device__(int d/*==0*/) {\n               return (T*)dstPtrs[dst] + railAllOffset;\n             },\n             delta);\n          }\n          railAllOffset += delta;\n          node += 1;\n        }\n        dst += 1;\n        rail += 1;\n        if (rail == nRails) rail = 0;\n      } while (ReduceSendNotRecv && dst < nRails-1);\n    }\n  };\n\n  __device__ __forceinline__ void run(int tid, int nthreads, struct ncclDevWorkColl* work) {\n    const int part = ncclShmem.channelId - work->channelLo;\n    const int nChannels = work->channelHi - work->channelLo + 1;\n    struct ncclDirect* direct = &ncclShmem.channel.collnetDirect;\n    int const &nNodes = ncclShmem.comm.nNodes;\n    ssize_t chunkSize = int(work->collnet.chunkCount);\n    ssize_t countPerRank = work->collnet.count;\n    const int hasDn = (direct->down[0] >= 0) ? 1 : 0;\n\n    if (direct->out == -1) __builtin_trap();\n    bool isMultiRail = (direct->nHeads > 1);\n    int nWarps1 = (isMultiRail ? 2 : 0);\n    int nWarps2 = (isMultiRail ? 2 : 1);\n    int nWarps3 = 1;\n    float denom = float(work->nWarps)/float(nWarps1+nWarps2+nWarps3);\n    nWarps3 = int(denom*nWarps3);\n    nWarps2 = int(denom*nWarps2);\n    nWarps1 = work->nWarps - (nWarps2+nWarps3);\n\n    using Proto = ProtoSimple<1, 1>;\n\n    int tn = nWarps1*WARP_SIZE;\n    if (tid < tn) {\n      // Phase 1: Scatter inputs to peers\n      Primitives<T, RedOp, FanAsymmetric<0, NCCL_MAX_DIRECT_ARITY>, /*Direct=*/0, Proto, 0>\n        prims(tid, tn, nullptr, direct->heads+1, work->sendbuff, nullptr,\n              work->redOpArg, 0*Proto::MaxGroupWidth, 1, 1);\n      for (ssize_t railGridOffset=0; railGridOffset < nNodes*countPerRank; railGridOffset += nChannels*chunkSize) {\n        Scatterer</*ReduceSendNotRecv=*/true> scat;\n        scat.work = work;\n        scat.chunkSize = chunkSize;\n        scat.railGridOffset = railGridOffset;\n        prims.template process</*Recv=*/0, /*Send=*/1>(scat, 0, 0);\n      }\n      return;\n    }\n    tid -= tn;\n\n    tn = nWarps2*WARP_SIZE;\n    if (tid < tn) {\n      if (work->netRegUsed && !hasDn) {\n        if (tid == 0) {\n          Primitives<T, RedOp, FanAsymmetric<NCCL_MAX_DIRECT_ARITY, 1>, /*Direct=*/0, Proto, 0>::sendPeerNotify(direct->out, 1, 1);\n        }\n        __syncwarp();\n      } else {\n        // Phase 2: Reduce from peers + local input -> send to network\n        Primitives<T, RedOp, FanAsymmetric<NCCL_MAX_DIRECT_ARITY, 1>, /*Direct=*/0, Proto, 0>\n          prims(tid, tn, direct->heads + 1, &direct->out, nullptr, nullptr,\n            work->redOpArg, 1 * Proto::MaxGroupWidth, 1, 1);\n        for (ssize_t railGridOffset = 0; railGridOffset < nNodes * countPerRank; railGridOffset += nChannels * chunkSize) {\n          Scatterer</*ReduceSendNotRecv=*/false> scat;\n          scat.work = work;\n          scat.chunkSize = chunkSize;\n          scat.railGridOffset = railGridOffset;\n          prims.template process</*Recv=*/1, /*Send=*/1>(scat, 0, 0);\n        }\n      }\n      return;\n    }\n    tid -= tn;\n\n    tn = nWarps3*WARP_SIZE;\n    if (tid < tn) {\n      if (work->netRegUsed) {\n        if (tid == 0) {\n          int steps = hasDn ? (int)divUp(nNodes * countPerRank, nChannels * chunkSize) : 1;\n          Primitives<T, RedOp, FanAsymmetric<1, 0>, /*Direct=*/0, Proto, 0>::recvPeerNotify(direct->out, 0, steps);\n        }\n        __syncwarp();\n      } else {\n        // Phase 3: recv from network\n        Primitives<T, RedOp, FanAsymmetric<1, 0>, /*Direct=*/0, Proto, 0>\n          prims(tid, tn, &direct->out, nullptr, nullptr, work->recvbuff,\n            work->redOpArg, 2 * Proto::MaxGroupWidth, 0, 0);\n        for (ssize_t railGridOffset = 0; railGridOffset < nNodes * countPerRank; railGridOffset += nChannels * chunkSize) {\n          ssize_t railAllBeg = railGridOffset + part * chunkSize;\n          ssize_t railAllEnd = min(railAllBeg + chunkSize, nNodes * countPerRank);\n          ssize_t railOneBeg = ncclShmem.comm.node * countPerRank;\n          ssize_t railOneEnd = railOneBeg + countPerRank;\n          ssize_t beg = max(railAllBeg, railOneBeg);\n          ssize_t end = min(railAllEnd, railOneEnd);\n          prims.recv(beg - railOneBeg, max(ssize_t(0), end - beg), /*postOp=*/true);\n        }\n      }\n      return;\n    }\n  }\n};"
  },
  {
    "path": "src/device/sendrecv.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"device.h\"\n#include \"collectives.h\"\n#include \"primitives.h\"\n#if defined(ENABLE_NPKIT)\n#include \"npkit/npkit.h\"\n#endif\n\ntemplate<typename T, typename RedOp>\nstruct RunWorkBatch<ncclFuncSendRecv, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_SIMPLE> {\n  static_assert(sizeof(T)==1, \"SendRecv only works on single byte types T.\");\n\n  template<typename Proto>\n  __device__ void runSend(int tid, int tn, int group, struct ncclDevWorkP2p* work) {\n    size_t bytes = work->sendBytes;\n    bool useLargeChunk = (work->sendIpcReg && ncclShmem.comm.isAllNvlink) || work->sendNetReg;\n    int chunkSize = useLargeChunk ? NCCL_MAX_NET_SIZE : u32fp8Decode(work->sendChunkSize_u32fp8);\n    int stepSize = useLargeChunk ? NCCL_MAX_NET_SIZE : ncclShmem.comm.p2pChunkSize;\n\n#if defined(ENABLE_NPKIT)\n    bool isNpKitThread = (tid == 0);\n    int npKitCtxIdx = blockIdx.x * NCCL_MAX_DEV_WORK_P2P_ELEMENTS + group;\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_CPU)\n    if (isNpKitThread) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_CPU, 0, 0, NPKIT_GET_CPU_TIMESTAMP_FROM_BLOCK,\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_GPU)\n    if (isNpKitThread) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_GPU, 0, 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n    Primitives<T, RedOp, FanAsymmetric<0, 1>, 0, Proto, 1>\n      prims(tid, tn, nullptr, &work->sendRank, work->sendAddr, nullptr,\n            /*redOpArg(ignored)=*/0, group, work->sendConnIndex, work->sendConnIndex, nullptr, work, stepSize);\n\n#if defined(ENABLE_NPKIT)\n      if (isNpKitThread) {\n        prims.npKitCtxIdx = npKitCtxIdx;\n      }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_SEND_RECV_SEND_ENTRY)\n      if (isNpKitThread) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_SEND_RECV_SEND_ENTRY, bytes*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n        prims.npKitDataProcessTotalTime = 0;\n      }\n#endif\n\n    size_t cursor = 0;\n    do {\n      int n = min(size_t(chunkSize), bytes-cursor);\n      prims.directSend(cursor, cursor, n);\n      cursor += n;\n    } while (cursor < bytes);\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_SEND_RECV_SEND_EXIT)\n      if (isNpKitThread) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_SEND_RECV_SEND_EXIT, bytes*sizeof(T), prims.npKitDataProcessTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n  }\n\n  template<typename Proto>\n  __device__ void runRecv(int tid, int tn, int group, struct ncclDevWorkP2p* work) {\n    size_t bytes = work->recvBytes;\n    bool useLargeChunk = (work->recvIpcReg && ncclShmem.comm.isAllNvlink) || work->recvNetReg;\n    int chunkSize = useLargeChunk ? NCCL_MAX_NET_SIZE : u32fp8Decode(work->recvChunkSize_u32fp8);\n    int stepSize = useLargeChunk ? NCCL_MAX_NET_SIZE : ncclShmem.comm.p2pChunkSize;\n\n#if defined(ENABLE_NPKIT)\n    bool isNpKitThread = (tid == 0);\n    int npKitCtxIdx = blockIdx.x * NCCL_MAX_DEV_WORK_P2P_ELEMENTS + group;\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_CPU)\n    if (isNpKitThread) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_CPU, 0, 0, NPKIT_GET_CPU_TIMESTAMP_FROM_BLOCK,\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_TIME_SYNC_GPU)\n    if (isNpKitThread) {\n      NpKit::CollectGpuEvent(NPKIT_EVENT_TIME_SYNC_GPU, 0, 0, NPKIT_GET_GPU_TIMESTAMP(),\n          ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n    }\n#endif\n\n    Primitives<T, RedOp, FanAsymmetric<1, 0>, 0, Proto, 1>\n      prims(tid, tn, &work->recvRank, nullptr, nullptr, work->recvAddr,\n            /*redOpArg(ignored)=*/0, group, work->recvConnIndex, work->recvConnIndex, nullptr, work, stepSize);\n\n#if defined(ENABLE_NPKIT)\n      if (isNpKitThread) {\n        prims.npKitCtxIdx = npKitCtxIdx;\n      }\n#endif\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_SEND_RECV_RECV_ENTRY)\n      if (isNpKitThread) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_SEND_RECV_RECV_ENTRY, bytes*sizeof(T), 0, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n        prims.npKitDataProcessTotalTime = 0;\n      }\n#endif\n\n    size_t cursor = 0;\n    do {\n      int n = min(size_t(chunkSize), bytes-cursor);\n      prims.directRecv(cursor, n);\n      cursor += n;\n    } while (cursor < bytes);\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_SEND_RECV_RECV_EXIT)\n      if (isNpKitThread) {\n        NpKit::CollectGpuEvent(NPKIT_EVENT_SEND_RECV_RECV_EXIT, bytes*sizeof(T), prims.npKitDataProcessTotalTime, NPKIT_GET_GPU_TIMESTAMP(),\n            ncclShmem.comm.npKitEventCollectContexts + npKitCtxIdx);\n      }\n#endif\n  }\n\n#if defined(USE_INDIRECT_FUNCTION_CALL) && !defined(__gfx942__) && !defined(__gfx950__)\n  __device__  void run() {\n#else\n  __device__  __attribute__((noinline)) void run() {\n#endif\n    const int tid = threadIdx.x;\n    const int tn = blockDim.x;\n    const int wid = tid/WARP_SIZE;\n    const int nWarps = tn/WARP_SIZE;\n    const int lane = tid%WARP_SIZE;\n\n    struct Shared {\n      uint32_t workSendMask; // bitmasks of which work indices have send/recv\n      uint32_t workRecvMask;\n    };\n    Shared* shared = (Shared*)ncclScratchForWarp(0);\n\n    struct ncclDevWorkP2p* works = (ncclDevWorkP2p*)ncclShmem.workStorage;\n    int nWorks = ncclShmem.nWorks;\n\n    if (wid == 0) {\n      // Modify the memory range of each work[] to reflect this channel's\n      // partition of the work. Since integer divides are very heavy it's\n      // best to do them all in one warp.\n      int workIx = lane%16;\n      int isSend = lane < 16 ? 0 : 1;\n      bool hasWork = false;\n      if (workIx < nWorks) {\n        struct ncclDevWorkP2p* work = &works[workIx];\n        size_t bytes = isSend ? work->sendBytes : work->recvBytes;\n        int nParts = isSend ? work->nSendChannels : work->nRecvChannels;\n        int part = ncclP2pChannelToPart(work->nP2pChannels, work->channelBase, ncclShmem.channelId, ncclShmem.comm.p2pnChannelsPerPeer, ncclShmem.comm.nNodes);\n        hasWork = (part < nParts);\n        if (nParts != 0) {\n          size_t partBeg, partEnd;\n          ncclP2pPartBounds(nParts, part, bytes, &partBeg, &partEnd);\n          (isSend ? work->sendAddr : work->recvAddr) = (char*)(isSend ? work->sendAddr : work->recvAddr) + partBeg;\n          (isSend ? work->sendBytes : work->recvBytes) = partEnd - partBeg;\n        }\n      }\n      // Coverity reports a possible thread divergence due to not all threads participating in the collective.\n      // However, the code ensures that the participation is on a per-warp basis.\n      // coverity[device_thread_diverged:FALSE]\n      uint32_t mask = __ballot(hasWork);\n      if (lane == 0) {\n        shared->workSendMask = mask>>16;\n        shared->workRecvMask = mask & 0xffff;\n      }\n    }\n\n    // The fastest way to compute a warp uniform division x/y in [0,32) is to\n    // use each lane to guess a solution and count the ones that don't exceed\n    // the numerator:\n    //   __popc(__ballot_sync(~0u, y*(lane+1) <= x))\n    // That takes 1/3 the time of standard division and about 3/4 the time of\n    // approximate floating point division:\n    //   __float2int_rd(__fdividef(float(x),float(y))).\n\n    // nWarpPerWork = nWarps/nWorks\n    int nWarpPerWork = __popcll(__ballot(nWorks*(lane+1) <= nWarps));\n    int nRecvWarpPerWork = nWarpPerWork/2;\n    int nSendWarpPerWork = nWarpPerWork - nRecvWarpPerWork;\n    // This might reduce nWarpPerWork which is probably desirable. It is better\n    // to have a balanced number of reading and writing threads even if that\n    // leaves warps unused.\n    nWarpPerWork = nSendWarpPerWork + nRecvWarpPerWork;\n    // The work index this warp belongs to: workIx = wid/nWarpPerWork\n    int workIx = __popcll(__ballot((lane+1)*nWarpPerWork <= wid));\n\n    __syncthreads(); // Wait for works[] and shared->* to be updated by warp=0\n\n    uint32_t workSendMask = shared->workSendMask;\n    uint32_t workRecvMask = shared->workRecvMask;\n\n    __syncthreads(); // release scratch space used by shared->*\n    if (nWorks <= workIx) return;\n\n    // Thread range for whole work (send & recv combined)\n    int subtid = tid - workIx*nWarpPerWork*WARP_SIZE;\n    int subtn = nWarpPerWork*WARP_SIZE;\n\n    // A send primtive of sufficient size requires 2 cuda barrier ids.\n    constexpr int nSendWarpsForExtraGroup = NCCL_SIMPLE_EXTRA_GROUP_IF_NTHREADS_GE/WARP_SIZE;\n    // Count up all group ids used below this workIx:\n    int group, extra;\n    // Each recv gets one group id:\n    group = __popcll(workRecvMask & ((1<<workIx)-1));\n    // Sends accompanying recvs get one and maybe an extra:\n    extra = (nSendWarpPerWork >= nSendWarpsForExtraGroup) ? 1 : 0;\n    group += __popcll((workSendMask & workRecvMask) & ((1<<workIx)-1))*(1+extra);\n    // Sends without recvs use more warps so compute extra accordingly:\n    extra = (nWarpPerWork >= nSendWarpsForExtraGroup) ? 1 : 0;\n    group += __popcll((workSendMask & ~workRecvMask) & ((1<<workIx)-1))*(1+extra);\n\n    struct ncclDevWorkP2p* work = &works[workIx];\n    bool hasSend = 1 & (workSendMask>>workIx);\n    bool hasRecv = 1 & (workRecvMask>>workIx);\n    bool isCopy = work->sendRank == ncclShmem.comm.rank;\n    bool isSend = !hasRecv || (hasSend && subtid < nSendWarpPerWork*WARP_SIZE);\n\n    if (!isCopy && hasSend && hasRecv) {\n      // Translate thread ids to reflect just this send or recv as opposed to whole work.\n      if (isSend) {\n        subtn = nSendWarpPerWork*WARP_SIZE;\n      } else {\n        subtid -= nSendWarpPerWork*WARP_SIZE;\n        subtn = nRecvWarpPerWork*WARP_SIZE;\n        group += 1 + (nSendWarpPerWork >= nSendWarpsForExtraGroup ? 1 : 0);\n      }\n    }\n\n    if (isCopy) {\n#if defined(__gfx942__) || defined(__gfx950__)\n      reduceCopy<COLL_UNROLL*2, 0, RedOp, T, 0,1,1, 0,1,1, /*PreOpSrcs=*/0>\n        (subtid, subtn, 0, nullptr, false, 1, &work->sendAddr, 1, &work->recvAddr, (ssize_t)work->sendBytes);\n#else\n      reduceCopy<COLL_UNROLL, 0, RedOp, T, 0,1,1, 0,1,1, /*PreOpSrcs=*/0>\n        (subtid, subtn, 0, nullptr, false, 1, &work->sendAddr, 1, &work->recvAddr, (ssize_t)work->sendBytes);\n#endif\n    } else if (isSend) {\n      if (work->sendProtoLL) {\n        runSend<ProtoLL>(subtid, subtn, group, work);\n      } else {\n#if defined(__gfx90a__)\n        runSend<ProtoSimple<1,1,0,8>>(subtid, subtn, group, work);\n#elif defined(__gfx908__) || defined(__gfx942__) || defined(__gfx950__)\n        runSend<ProtoSimple<1,1,0,4>>(subtid, subtn, group, work);\n#else\n        runSend<ProtoSimple<1,1>>(subtid, subtn, group, work);\n#endif\n      }\n    } else {\n      if (work->recvProtoLL) {\n        runRecv<ProtoLL>(subtid, subtn, group, work);\n      } else {\n#if defined(__gfx90a__)\n        runRecv<ProtoSimple<1,1,0,8>>(subtid, subtn, group, work);\n#elif defined(__gfx908__) || defined(__gfx942__) || defined(__gfx950__)\n        runRecv<ProtoSimple<1,1,0,4>>(subtid, subtn, group, work);\n#else\n        runRecv<ProtoSimple<1,1>>(subtid, subtn, group, work);\n#endif\n      }\n    }\n  }\n};\n"
  },
  {
    "path": "src/device/symmetric/all_gather.cuh",
    "content": "// Modification Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n// SPDX-License-Identifier: MIT \n\n#include \"sym_kernels.h\"\n#include \"symmetric/kernel.h\"\n#include \"symmetric/primitives.h\"\n\ntemplate<int BytePerPack, int UnrollPacks, int UnrollPeers>\nstatic __device__ void bcastDeep(\n    ncclSymkArgsHandler const& handler, int tn, int t,\n    bool waitNeeded, ncclLsaBarrierSession<ncclCoopCta>& bar,\n    ncclSymPtr<char> input, ncclSymPtr<char> output, bool inPlace, int nIters\n  ) {\n  using Pack = BytePack<BytePerPack>;\n  int wn = tn/WARP_SIZE;\n  int w = t/WARP_SIZE;\n  int lane = t%WARP_SIZE;\n  int const& rank = handler.comm.rank;\n  int const& nRanks = handler.comm.nRanks;\n\n  Pack* inpPacks = (Pack*)input.localPtr() + intptr_t(w)*UnrollPacks*WARP_SIZE + lane;\n  ncclSymPtr<Pack> outPacks = (ncclSymPtr<Pack>)output + intptr_t(w)*UnrollPacks*WARP_SIZE + lane;\n  Pack tmp[UnrollPacks];\n\n  nIters -= w;\n  if (0 < nIters) {\n    #pragma unroll\n    for (int u=0; u < UnrollPacks; u++) {\n      tmp[u] = inpPacks[u*WARP_SIZE];\n    }\n  }\n\n  if (waitNeeded) bar.wait(ncclCoopCta(), cuda::memory_order_relaxed);\n\n  if (0 < nIters) {\n    while (true) {\n      int dr = inPlace ? 1 : 0;\n      int r = rank + dr;\n      if (r == nRanks) r = 0;\n      #pragma unroll 2\n      for (int partial=0; partial <= 1; partial++) {\n        #pragma unroll 1\n        for (int i = 0;\n             partial ? i < 1 : (dr + UnrollPeers <= nRanks);\n             partial ? i++ : (dr += UnrollPeers)) {\n          #pragma unroll\n          for (int ur=0; ur < UnrollPeers-partial; ur++) {\n            if (partial && dr == nRanks) break;\n            #pragma unroll UnrollPacks\n            for (int u=0; u < UnrollPacks; u++) {\n              outPacks.lsaPtr(r)[u*WARP_SIZE] = tmp[u];\n            }\n            if (++r == nRanks) r = 0;\n          }\n        }\n      }\n      inpPacks += intptr_t(wn)*UnrollPacks*WARP_SIZE;\n      outPacks += intptr_t(wn)*UnrollPacks*WARP_SIZE;\n      nIters -= wn;\n      if (nIters <= 0) break;\n\n      // Load data for next iteration.\n      #pragma unroll\n      for (int u=0; u < UnrollPacks; u++) {\n        tmp[u] = inpPacks[u*WARP_SIZE];\n      }\n    }\n  }\n}\n\ntemplate<int UnrollPeers, typename T>\nstatic __device__ void bcastEnds(\n    ncclSymkArgsHandler const& handler, int tn, int t,\n    ncclSymPtr<T> input, ncclSymPtr<T> output, bool inPlace, size_t nElts, uint32_t nPreElts, size_t nSufElts\n  ) {\n  int const& rank = handler.comm.rank;\n  int const& nRanks = handler.comm.nRanks;\n  BytePack<sizeof(T)>* inpPacks = (BytePack<sizeof(T)>*)input.localPtr();\n  ncclSymPtr<BytePack<sizeof(T)>> outPacks = (ncclSymPtr<BytePack<sizeof(T)>>)output;\n  #pragma unroll 1\n  for (size_t i = t; i < nPreElts+nSufElts; i += tn) {\n    size_t elt = i < nPreElts ? i : nElts-nPreElts-nSufElts+i;\n    BytePack<sizeof(T)> tmp = inpPacks[elt];\n    int dr = inPlace ? 1 : 0;\n    int r = rank + dr;\n    if (r == nRanks) r = 0;\n    #pragma unroll 1\n    for (; dr + UnrollPeers <= nRanks; dr += UnrollPeers) {\n      #pragma unroll UnrollPeers\n      for (int u=0; u < UnrollPeers; u++) {\n        outPacks.lsaPtr(r)[elt] = tmp;\n        if (++r == nRanks) r = 0;\n      }\n    }\n    #pragma unroll UnrollPeers\n    for (int u=0; u < UnrollPeers; u++) {\n      if (dr+u == nRanks) break;\n      outPacks.lsaPtr(r)[elt] = tmp;\n      if (++r == nRanks) r = 0;\n    }\n  }\n}\n\ntemplate<typename T>\nstatic __device__ void bcast(\n    ncclSymkArgsHandler const& handler, int tn, int t, int nBlocks,\n    bool waitNeeded, ncclLsaBarrierSession<ncclCoopCta>& bar,\n    ncclSymPtr<T> input, ncclSymPtr<T> output, size_t nElts\n  ) {\n  bool inPlace = (input == output);\n  size_t nBytes = nElts*sizeof(T);\n  uint32_t nBlocks_rcp32 = nccl::utility::idivRcp32_upto64(nBlocks);\n\n  uint32_t nPreBytes = (16 - input.offset)%16;\n  nPreBytes = min((size_t)nPreBytes, nBytes);\n  uintptr_t cursor = nPreBytes;\n\n  constexpr int MinWarpPerBlock = 4;\n\n  if ((input.offset - output.offset)%16 == 0) {\n    constexpr int BytePerPack = 16, UnrollPacks = 4, UnrollPeers = 2;\n    constexpr int BytePerChunk = MinWarpPerBlock*UnrollPacks*WARP_SIZE*BytePerPack;\n    uint32_t chunks = (nBytes-cursor)/BytePerChunk;\n    chunks -= imodFast32(chunks, nBlocks, nBlocks_rcp32);\n    if (chunks != 0) {\n      uintptr_t cursorAfter = cursor + uintptr_t(chunks)*BytePerChunk;\n      bcastDeep<BytePerPack, UnrollPacks, UnrollPeers>(\n        handler, tn, t, waitNeeded, bar,\n        (ncclSymPtr<char>)input + cursor,\n        (ncclSymPtr<char>)output + cursor,\n        inPlace, chunks*MinWarpPerBlock\n      );\n      cursor = cursorAfter;\n      waitNeeded = false;\n    }\n  }\n\n  if (sizeof(T) == 4 || (sizeof(T) < 4 && (input.offset - output.offset)%4 == 0)) {\n    chunks -= imodFast32(chunks, nBlocks, nBlocks_rcp32);\n    if (chunks != 0) {\n      bcastDeep<(sizeof(T) <= BytePerPack ? BytePerPack : 0), UnrollPacks, UnrollPeers>(\n        handler, tn, t, waitNeeded, bar,\n        (ncclSymPtr<char>)input + cursor,\n        (ncclSymPtr<char>)output + cursor,\n        inPlace, chunks*MinWarpPerBlock\n      );\n      cursor = cursorAfter;\n      waitNeeded = false;\n    }\n  }\n\n  if (waitNeeded) bar.wait(ncclCoopCta(), cuda::memory_order_relaxed);\n\n  constexpr int UnrollPeers = 8;\n  size_t nSufElts = (nBytes-cursor)/sizeof(T);\n  bcastEnds<UnrollPeers>(handler, tn, t, input, output, inPlace, nElts, nPreBytes/sizeof(T), nSufElts);\n}\n\n__device__ __forceinline__ void ncclSymkRun_AllGather_ST(ncclSymkDevWorkArgs const* args) {\n  ncclSymkArgsHandler handler{args};\n  ncclLsaBarrierSession<ncclCoopCta> bar{\n    ncclCoopCta(), handler.comm, ncclTeamTagLsa(), blockIdx.x\n  };\n  int const& rank = handler.comm.rank;\n\n  bar.arrive(ncclCoopCta(), cuda::memory_order_relaxed);\n\n  bool waitNeeded = true;\n  handler.forEachWork<char>(\n      [&]__device__(int block, int nBlocks, size_t nElts, size_t nAllElts,\n                    ncclSymPtr<char> input, ncclSymPtr<char> output) {\n        // Threads numbered over rank.\n        int bt = flattenIx(threadIdx.x%WARP_SIZE, WARP_SIZE,\n                           block, nBlocks,\n                           threadIdx.x/WARP_SIZE, blockDim.x/WARP_SIZE);\n        int btn = nBlocks*blockDim.x;\n\n        bcast(handler, btn, bt, nBlocks, waitNeeded, bar, input, output + rank*nAllElts, nElts);\n\n        waitNeeded = false;\n      }\n    );\n\n  bar.sync(ncclCoopCta(), cuda::memory_order_release);\n}\n\ntemplate<typename T>\nstatic __device__ void bcastMultimem(\n    ncclSymkArgsHandler& handler, int tn, int t, ncclSymPtr<T> input, ncclSymPtr<T> output, size_t nElts\n  ) {\n  size_t nBytes = nElts*sizeof(T);\n  uintptr_t inputUptr = reinterpret_cast<uintptr_t>(input.localPtr());\n  uintptr_t outputUptr = reinterpret_cast<uintptr_t>(output.multimemPtr(handler.comm.lsaMultimem));\n  uint32_t nPreBytes = (16 - input.offset)%16;\n  nPreBytes = min((size_t)nPreBytes, nBytes);\n  uintptr_t nSufBytes;\n\n  if ((inputUptr-outputUptr)%16 == 0) {\n    constexpr int BytePerPack = 16, UnrollPacks = 8;\n    constexpr int BytePerChunk = UnrollPacks*WARP_SIZE*BytePerPack;\n    uintptr_t cursor = nPreBytes;\n    uint32_t nChunks = (nBytes-cursor)/BytePerChunk;\n    uintptr_t cursorAfter = cursor + uintptr_t(nChunks)*BytePerChunk;\n    nSufBytes = nBytes - cursorAfter;\n    cursor += (t/WARP_SIZE)*UnrollPacks*WARP_SIZE*BytePerPack;\n    cursor += (t%WARP_SIZE)*BytePerPack;\n    int nIters = nChunks - t/WARP_SIZE;\n    #pragma unroll 1\n    while (0 < nIters) {\n      BytePack<BytePerPack> tmp[UnrollPacks];\n      #pragma unroll\n      for (int u=0; u < UnrollPacks; u++) {\n        tmp[u] = *reinterpret_cast<BytePack<BytePerPack>*>(inputUptr + cursor + u*WARP_SIZE*BytePerPack);\n      }\n      #pragma unroll\n      for (int u=0; u < UnrollPacks; u++) {\n        multimem_st_global(outputUptr + cursor + u*WARP_SIZE*BytePerPack, tmp[u]);\n      }\n      cursor += tn*UnrollPacks*BytePerPack;\n      nIters -= tn/WARP_SIZE;\n    }\n  } else {\n    nPreBytes = 0;\n    nSufBytes = nBytes;\n  }\n\n  // Get the prefix+suffix element one at a time.\n  #pragma unroll 4\n  for (uintptr_t i = t*sizeof(T); i < nPreBytes + nSufBytes; i += tn*sizeof(T)) {\n    uintptr_t cursor = i < nPreBytes ? i : nBytes-nSufBytes+(i-nPreBytes);\n    BytePack<sizeof(T)> val = *reinterpret_cast<BytePack<sizeof(T)>*>(inputUptr + cursor);\n    multimem_st_global(outputUptr + cursor, val);\n  }\n}\n\n__device__ __forceinline__ void ncclSymkRun_AllGather_STMC(ncclSymkDevWorkArgs const* args) {\n  ncclSymkArgsHandler handler{args};\n  ncclLsaBarrierSession<ncclCoopCta> bar(\n    ncclCoopCta(), handler.comm, ncclTeamTagLsa(), blockIdx.x, /*multimem=*/true\n  );\n  int const& rank = handler.comm.rank;\n\n  bar.sync(ncclCoopCta(), cuda::memory_order_relaxed);\n\n  handler.forEachWork<char>(\n      [&]__device__(int block, int nBlocks, size_t nElts, size_t nAllElts,\n                    ncclSymPtr<char> input, ncclSymPtr<char> output) {\n        // Round robin memory to blocks.\n        int t = flattenIx(threadIdx.x%WARP_SIZE, WARP_SIZE,\n                          block, nBlocks,\n                          threadIdx.x/WARP_SIZE, blockDim.x/WARP_SIZE);\n        int tn = nBlocks*blockDim.x;\n\n        bcastMultimem(handler, tn, t, input, output + rank*nAllElts, nElts);\n      }\n    );\n\n  bar.sync(ncclCoopCta(), cuda::memory_order_release);\n}\n\ntemplate<typename EltType>\nstatic __device__ void allgather_LL_body(\n    ncclSymkArgsHandler& handler, ncclLLA2ASession<ncclCoopCta>& lla2a,\n    EltType* input, EltType* output, int nElts, int nPacks, int nStrideElts\n  ) {\n  using Pack = BytePack<8>;\n  constexpr int EltPerPack = 8/sizeof(EltType);\n  int const& rank = handler.comm.rank;\n  int const& nRanks = handler.comm.nRanks;\n  int t = threadIdx.x;\n  constexpr int tn = ncclSymkMaxThreads;\n\n  #pragma unroll 1\n  while (0 < nElts) {\n    int nIterPacks = min(nPacks, tn);\n    if (t < nIterPacks) {\n      Pack x = loadPack<Pack>(input, t*EltPerPack, nElts);\n      lla2a.bcast(/*slot=*/nIterPacks*rank + t, x);\n    }\n\n    int tn_div_nPacks = tn/nIterPacks;\n    int tn_mod_nPacks = tn%nIterPacks;\n    int peer = t/nIterPacks;\n    int pack = t%nIterPacks;\n    #if 1\n      // NOTE: Unrolling speedup on eos nranks=8 size=64K: 5.7us vs 6.7us\n      constexpr int Unroll = 1;\n      #pragma unroll 1\n      for (int i = t; i < (nRanks*nIterPacks & -(Unroll*tn)); i += Unroll*tn) {\n        Pack got[Unroll];\n        lla2a.template recvUnrolled<Unroll, Unroll>(i, Unroll, tn, /*&*/got);\n        #pragma unroll\n        for (int u=0; u < Unroll; u++) {\n          storePack<Pack>(output + peer*nStrideElts, pack*EltPerPack, nElts, got[u]);\n          peer += tn_div_nPacks;\n          pack += tn_mod_nPacks;\n          if (nIterPacks <= pack) { peer += 1; pack -= nIterPacks; }\n        }\n      }\n\n      int i = (nRanks*nIterPacks & -(Unroll*tn)) + t;\n      int n = (nRanks*nIterPacks)/tn % Unroll;\n      if (i + n*tn < nRanks*nIterPacks) n += 1;\n      if (n != 0) {\n        Pack got[Unroll];\n        lla2a.template recvUnrolled<1, Unroll>(i, n, tn, /*&*/got);\n        #pragma unroll\n        for (int u=0; u < Unroll; u++) {\n          if (u != 0 && u == n) break;\n          storePack(output + peer*nStrideElts, pack*EltPerPack, nElts, got[u]);\n          peer += tn_div_nPacks;\n          pack += tn_mod_nPacks;\n          if (nIterPacks <= pack) { peer += 1; pack -= nIterPacks; }\n        }\n      }\n    #else\n      // The non-unrolled but \"obviously correct\" implementation for reference.\n      #pragma unroll 1\n      for (int i = t; i < nRanks*nIterPacks; i += tn) {\n        Pack got = lla2a.template recv<Pack>(i);\n        storePack(output + peer*nStrideElts, pack*EltPerPack, nElts, got);\n        peer += tn_div_nPacks;\n        pack += tn_mod_nPacks;\n        if (nIterPacks <= pack) { peer += 1; pack -= nIterPacks; }\n      }\n    #endif\n\n    lla2a.endEpoch(ncclCoopCta());\n\n    input += tn*EltPerPack;\n    output += tn*EltPerPack;\n    nElts -= tn*EltPerPack;\n    nPacks -= tn;\n  }\n}\n\nstatic __device__ void ncclSymkRun_AllGather_LL_impl(ncclSymkDevWorkArgs const* args, bool multimem) {\n  ncclSymkArgsHandler handler{args};\n  ncclLLA2ASession<ncclCoopCta> lla2a(\n    ncclCoopCta(), handler.comm, ncclTeamLsa(handler.comm), handler.lsaLLA2A, blockIdx.x, /*maxElts=*/ncclSymkMaxThreads, multimem, handler.comm.lsaMultimem\n  );\n\n  using Pack = BytePack<8>;\n  constexpr int BytePerPack = 8;\n\n  handler.singleWork<char>(\n      [&]__device__(int nElts, int nAllElts,\n                    ncclSymPtr<char> input, ncclSymPtr<char> output) {\n        int nPacks = divUp(nElts, BytePerPack);\n\n        char* blockInput = input.localPtr();\n        char* blockOutput = output.localPtr();\n\n        uint32_t lowBits = nElts;\n        lowBits |= (uintptr_t)blockInput;\n        lowBits |= (uintptr_t)blockOutput;\n        if (__builtin_expect(lowBits%8 == 0, true)) {\n          // NOTE: Specializing for 8-byte alignment in one case help at size=65K: 8.9us vs 5.6us\n          allgather_LL_body(handler, lla2a, (BytePack<8>*)blockInput, (BytePack<8>*)blockOutput,\n                            nElts/8, nPacks, nAllElts/8);\n        } else {\n          allgather_LL_body(handler, lla2a, blockInput, blockOutput, nElts, nPacks, nAllElts);\n        }\n      }\n    );\n}\n\n__device__ __forceinline__ void ncclSymkRun_AllGather_LL(ncclSymkDevWorkArgs const* args) {\n  ncclSymkRun_AllGather_LL_impl(args, /*multimem=*/false);\n}\n\n__device__ __forceinline__ void ncclSymkRun_AllGather_LLMC(ncclSymkDevWorkArgs const* args) {\n  ncclSymkRun_AllGather_LL_impl(args, /*multimem=*/true);\n}\n"
  },
  {
    "path": "src/device/symmetric/all_reduce.cuh",
    "content": "// Modification Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n// SPDX-License-Identifier: MIT\n\n#include \"sym_kernels.h\"\n#include \"nccl_device.h\"\n#include \"symmetric/kernel.h\"\n#include \"symmetric/primitives.h\"\n\ntemplate<int BytePerPack, int UnrollPacks, int UnrollPeers, typename T, typename Red>\nstatic __device__ __forceinline__ void allreduceDeep(\n    ncclSymkArgsHandler const& handler, int tn, int t,\n    bool waitNeeded, ncclLsaBarrierSession<ncclCoopCta>& bar,\n    Red red, ncclSymPtr<char> input, ncclSymPtr<char> output, int32_t nIters\n  ) {\n  using Pack = BytePack<BytePerPack>;\n  using Acc = typename Red::EltType;\n  using AccPack = BytePack<BytePerPack*sizeof(Acc)/sizeof(T)>;\n\n  ncclTeam world = ncclTeamWorld(handler.comm);\n  int wn = tn/WARP_SIZE;\n  int w = t/WARP_SIZE;\n  int lane = t%WARP_SIZE;\n  int const& rank = handler.comm.rank;\n  int const& nRanks = handler.comm.nRanks;\n\n  ncclSymPtr<Pack> inpPacks = (ncclSymPtr<Pack>)input + intptr_t(w)*UnrollPacks*WARP_SIZE + lane;\n  ncclSymPtr<Pack> outPacks = (ncclSymPtr<Pack>)output + intptr_t(w)*UnrollPacks*WARP_SIZE + lane;\n  Pack acc0[UnrollPacks];\n\n  nIters -= w;\n  if (0 < nIters) {\n    #pragma unroll\n    for (int u=0; u < UnrollPacks; u++) {\n      acc0[u] = inpPacks.peerPtr(world, rank)[u*WARP_SIZE];\n    }\n  }\n\n  if (waitNeeded) bar.wait(ncclCoopCta(), cuda::memory_order_relaxed);\n\n  if (0 < nIters) {\n    while (true) {\n      AccPack acc1[UnrollPacks];\n      int r = rank;\n      if (++r == nRanks) r = 0;\n      { Pack tmp1[UnrollPacks];\n        #pragma unroll\n        for (int u=0; u < UnrollPacks; u++) {\n          tmp1[u] = inpPacks.peerPtr(world, r)[u*WARP_SIZE];\n        }\n        #pragma unroll\n        for (int u=0; u < UnrollPacks; u++) {\n          acc1[u] = applyReduce(red, applyCast<T, Acc>(acc0[u]), applyCast<T, Acc>(tmp1[u]));\n        }\n      }\n\n      if (++r == nRanks) r = 0;\n\n      int dr = 2;\n      #pragma unroll 2\n      for (int partial=0; partial <= 1; partial++) {\n        #pragma unroll 1\n        for (int i = 0;\n             partial ? i < 1 : (dr + UnrollPeers <= nRanks);\n             partial ? i++ : (dr += UnrollPeers)) {\n          if (partial && dr == nRanks) break;\n\n          Pack tmp1[UnrollPeers][UnrollPacks];\n          #pragma unroll\n          for (int ur=0; ur < UnrollPeers-partial; ur++) {\n            if (partial && ur!=0 && dr+ur == nRanks) break;\n            #pragma unroll UnrollPacks\n            for (int u=0; u < UnrollPacks; u++) {\n              tmp1[ur][u] = inpPacks.peerPtr(world, r)[u*WARP_SIZE];\n            }\n            if (++r == nRanks) r = 0;\n          }\n          #pragma unroll\n          for (int ur=0; ur < UnrollPeers-partial; ur++) {\n            if (partial && ur!=0 && dr+ur == nRanks) break;\n            #pragma unroll UnrollPacks\n            for (int u=0; u < UnrollPacks; u++) {\n              acc1[u] = applyReduce(red, acc1[u], applyCast<T, Acc>(tmp1[ur][u]));\n            }\n          }\n        }\n      }\n\n      #pragma unroll\n      for (int u=0; u < UnrollPacks; u++) acc0[u] = applyCast<Acc, T>(acc1[u]);\n\n      dr = 0;\n      r = rank;\n      #pragma unroll 2\n      for (int partial=0; partial <= 1; partial++) {\n        #pragma unroll 1\n        for (int i = 0;\n             partial ? i < 1 : (dr + UnrollPeers <= nRanks);\n             partial ? i++ : (dr += UnrollPeers)) {\n          #pragma unroll\n          for (int ur=0; ur < UnrollPeers-partial; ur++) {\n            if (partial && dr == nRanks) break;\n            #pragma unroll UnrollPacks\n            for (int u=0; u < UnrollPacks; u++) {\n              outPacks.peerPtr(world, r)[u*WARP_SIZE] = acc0[u];\n            }\n            if (++r == nRanks) r = 0;\n          }\n        }\n      }\n\n      inpPacks += intptr_t(wn)*UnrollPacks*WARP_SIZE;\n      outPacks += intptr_t(wn)*UnrollPacks*WARP_SIZE;\n      nIters -= wn;\n      if (nIters <= 0) break;\n\n      // Load data for next iteration.\n      #pragma unroll\n      for (int u=0; u < UnrollPacks; u++) {\n        acc0[u] = inpPacks.peerPtr(world, rank)[u*WARP_SIZE];\n      }\n    }\n  }\n}\n\ntemplate<int UnrollPeers, typename Red, typename T>\nstatic __device__ __forceinline__ void allreduceEnds(\n    ncclSymkArgsHandler const& handler, int tn, int t, Red red,\n    ncclSymPtr<T> input, ncclSymPtr<T> output,\n    size_t nElts, uint32_t nPreElts, size_t nSufElts\n  ) {\n  using Acc = typename Red::EltType;\n\n  ncclTeam world = ncclTeamWorld(handler.comm);\n  int const& rank = handler.comm.rank;\n  int const& nRanks = handler.comm.nRanks;\n\n  ncclSymPtr<BytePack<sizeof(T)>> inpPacks = (ncclSymPtr<BytePack<sizeof(T)>>)input;\n  ncclSymPtr<BytePack<sizeof(T)>> outPacks = (ncclSymPtr<BytePack<sizeof(T)>>)output;\n\n  #pragma unroll 1\n  for (size_t i = t; i < nPreElts+nSufElts; i += tn) {\n    size_t elt = i < nPreElts ? i : nElts-nSufElts-nPreElts+i;\n    BytePack<sizeof(T)> acc0 = inpPacks.peerPtr(world, rank)[elt];\n    BytePack<sizeof(Acc)> acc1;\n    BytePack<sizeof(T)> tmp[UnrollPeers];\n    int dr = 1;\n    int r = rank+1;\n    if (nRanks == r) r = 0;\n    bool first = true;\n\n    #pragma unroll 2\n    for (int partial=0; partial <= 1; partial++) {\n      #pragma unroll 1\n      for (int j = 0;\n           partial ? j < 1 : (dr + UnrollPeers <= nRanks);\n           partial ? j++ : (dr += UnrollPeers)) {\n        if (partial && dr == nRanks) break;\n\n        #pragma unroll\n        for (int u=0; u < UnrollPeers-partial; u++) {\n          if (partial && u!=0 && dr+u == nRanks) break;\n          tmp[u] = inpPacks.peerPtr(world, r)[elt];\n          r += 1;\n          if (r == nRanks) r = 0;\n        }\n        if (first) {\n          first = false;\n          acc1 = applyCast<T, Acc>(acc0);\n        }\n        #pragma unroll\n        for (int u=0; u < UnrollPeers-partial; u++) {\n          if (partial && u!=0 && dr+u == nRanks) break;\n          acc1 = applyReduce(red, acc1, applyCast<T, Acc>(tmp[u]));\n        }\n      }\n    }\n\n    acc0 = applyCast<Acc, T>(acc1);\n    dr = 0;\n    r = rank;\n    #pragma unroll 2\n    for (int partial=0; partial <= 1; partial++) {\n      #pragma unroll 1\n      for (int j=0;\n           partial ? j < 1 : (dr + UnrollPeers <= nRanks);\n           partial ? j++ : (dr += UnrollPeers)) {\n        #pragma unroll\n        for (int u=0; u < UnrollPeers-partial; u++) {\n          if (partial && dr+u == nRanks) break;\n          outPacks.peerPtr(world, r)[elt] = acc0;\n          r += 1;\n          if (r == nRanks) r = 0;\n        }\n      }\n    }\n  }\n}\n\ntemplate<typename Red, typename T>\nstatic __device__ void allreduce(\n    ncclSymkArgsHandler const& handler, int tn, int t, int nBlocks,\n    bool waitNeeded, ncclLsaBarrierSession<ncclCoopCta>& bar,\n    Red red, ncclSymPtr<T> input, ncclSymPtr<T> output, size_t nElts\n  ) {\n  int const& nRanks = handler.comm.nRanks;\n  int const& nRanks_rcp32 = handler.nRanks_rcp32;\n  size_t nBytes = nElts*sizeof(T);\n  uint32_t nBlocks_rcp32 = nccl::utility::idivRcp32_upto64(nBlocks);\n  uint32_t nRanks_nBlocks_rcp32 = nccl::utility::imulRcp32(nRanks, nRanks_rcp32, nBlocks, nBlocks_rcp32);\n\n  uint32_t nPreBytes = (16u - input.offset)%16u;\n  nPreBytes = min((size_t)nPreBytes, nBytes);\n  uintptr_t cursor = nPreBytes;\n\n  constexpr int MinWarpPerBlock = 4;\n\n  if ((input.offset - output.offset)%16 == 0) {\n    constexpr int BytePerPack = 16, UnrollPacks = 4, UnrollPeers = 2;\n    constexpr int BytePerChunk = MinWarpPerBlock*UnrollPacks*WARP_SIZE*BytePerPack;\n    uint32_t chunks = (nBytes-cursor)/BytePerChunk;\n    chunks -= imodFast32(chunks, nRanks*nBlocks, nRanks_nBlocks_rcp32);\n    if (chunks != 0) {\n      uintptr_t cursorAfter = cursor + uintptr_t(chunks)*BytePerChunk;\n      allreduceDeep<BytePerPack, UnrollPacks, UnrollPeers, T>(\n        handler, tn, t, waitNeeded, bar, red,\n        (ncclSymPtr<char>)input + cursor,\n        (ncclSymPtr<char>)output + cursor,\n        chunks*MinWarpPerBlock\n      );\n      cursor = cursorAfter;\n      waitNeeded = false;\n    }\n  }\n\n  if (sizeof(T) == 4 || (sizeof(T) < 4 && (input.offset - output.offset)%4 == 0)) {\n    constexpr int BytePerPack = 4, UnrollPacks = 4, UnrollPeers = 4;\n    constexpr int BytePerChunk = MinWarpPerBlock*UnrollPacks*WARP_SIZE*BytePerPack;\n    uint32_t chunks = (nBytes-cursor)/BytePerChunk;\n    chunks -= imodFast32(chunks, nRanks*nBlocks, nRanks_nBlocks_rcp32);\n    if (chunks != 0) {\n      uintptr_t cursorAfter = cursor + uintptr_t(chunks)*BytePerChunk;\n      allreduceDeep<(sizeof(T) <= BytePerPack ? BytePerPack : 0), UnrollPacks, UnrollPeers, T>(\n        handler, tn, t, waitNeeded, bar, red,\n        (ncclSymPtr<char>)input + cursor,\n        (ncclSymPtr<char>)output + cursor,\n        chunks*MinWarpPerBlock\n      );\n      cursor = cursorAfter;\n      waitNeeded = false;\n    }\n  }\n\n  if (waitNeeded) bar.wait(ncclCoopCta(), cuda::memory_order_relaxed);\n\n  constexpr int UnrollPeers = 8;\n  size_t nSufElts = (nBytes-cursor)/sizeof(T);\n  allreduceEnds<UnrollPeers>(handler, tn, t, red, input, output, nElts, nPreBytes/sizeof(T), nSufElts);\n}\n\ntemplate<template<typename> typename Red, typename T>\n__device__ __forceinline__ void ncclSymkRun_AllReduce_RSxLD_AGxST(ncclSymkDevWorkArgs const* args) {\n  ncclSymkArgsHandler handler{args};\n  ncclLsaBarrierSession<ncclCoopCta> bar{\n    ncclCoopCta(), handler.comm, ncclTeamTagLsa(), blockIdx.x\n  };\n\n  Red<typename ncclSymkAccumType<Red, T, /*nvls=*/false>::Type> red(handler.devWork->redOpArg);\n\n  int const& rank = handler.comm.rank;\n  int const& nRanks = handler.comm.nRanks;\n\n  bar.arrive(ncclCoopCta(), cuda::memory_order_relaxed);\n\n  bool waitNeeded = true;\n  handler.forEachWork<T>(\n      [&]__device__(int block, int nBlocks, size_t nElts, size_t nAllElts,\n                    ncclSymPtr<T> input, ncclSymPtr<T> output) {\n        // Threads numbered globally such that we round robin warps by rank then block.\n        int gt = flattenIx(threadIdx.x%WARP_SIZE, WARP_SIZE,\n                           rank, nRanks,\n                           block, nBlocks,\n                           threadIdx.x/WARP_SIZE, blockDim.x/WARP_SIZE);\n        int gtn = nRanks*nBlocks*blockDim.x;\n\n        allreduce(handler, gtn, gt, nBlocks, waitNeeded, bar, red, input, output, nElts);\n\n        waitNeeded = false;\n      }\n    );\n\n  bar.sync(ncclCoopCta(), cuda::memory_order_release);\n}\n\ntemplate<typename Red, typename T>\nstatic __device__ void allreduceMultimem(\n    int tn, int t, Red red, T* input, T* output, size_t nElts\n  ) {\n  uintptr_t inputUptr = reinterpret_cast<uintptr_t>(input);\n  uintptr_t outputUptr = reinterpret_cast<uintptr_t>(output);\n  size_t nBytes = nElts*sizeof(T);\n\n  constexpr int BytePerPack = LoadMultimem_BigPackSize<Red>::BigPackSize;\n  uint32_t nPreBytes = (BytePerPack - inputUptr)%BytePerPack;\n  nPreBytes = min((size_t)nPreBytes, nBytes);\n  uintptr_t nSufBytes;\n\n  if (alignof(T) == BytePerPack || (inputUptr-outputUptr)%BytePerPack == 0) {\n    constexpr int UnrollPacks = 16*8/BytePerPack;\n    constexpr int BytePerChunk = UnrollPacks*WARP_SIZE*BytePerPack;\n    uintptr_t cursor = nPreBytes;\n    int nChunks = (nBytes-cursor)/BytePerChunk;\n    uintptr_t cursorAfter = cursor + uintptr_t(nChunks)*BytePerChunk;\n    nSufBytes = nBytes - cursorAfter;\n    cursor += (t/WARP_SIZE)*UnrollPacks*WARP_SIZE*BytePerPack;\n    cursor += (t%WARP_SIZE)*BytePerPack;\n    int nIters = nChunks - t/WARP_SIZE;\n    #pragma unroll 1\n    while (0 < nIters) {\n      BytePack<BytePerPack> tmp[UnrollPacks];\n      #pragma unroll\n      for (int u=0; u < UnrollPacks; u++) {\n        tmp[u] = applyLoadMultimem<Red, BytePerPack>(red, inputUptr + cursor + u*WARP_SIZE*BytePerPack);\n      }\n      #pragma unroll\n      for (int u=0; u < UnrollPacks; u++) {\n        multimem_st_global(outputUptr + cursor + u*WARP_SIZE*BytePerPack, tmp[u]);\n      }\n      cursor += tn*UnrollPacks*BytePerPack;\n      nIters -= tn/WARP_SIZE;\n    }\n  } else {\n    nPreBytes = 0;\n    nSufBytes = nBytes;\n  }\n\n  // Get the prefix+suffix element one at a time.\n  #pragma unroll 4\n  for (uintptr_t i = t*sizeof(T); i < nPreBytes + nSufBytes; i += tn*sizeof(T)) {\n    uintptr_t cursor = i < nPreBytes ? i : nBytes-nSufBytes+(i-nPreBytes);\n    BytePack<sizeof(T)> val = applyLoadMultimem<Red, sizeof(T)>(red, inputUptr + cursor);\n    multimem_st_global(outputUptr + cursor, val);\n  }\n}\n\ntemplate<template<typename> typename Red, typename T>\n__device__ __forceinline__ void ncclSymkRun_AllReduce_RSxLDMC_AGxSTMC(ncclSymkDevWorkArgs const* args) {\n  ncclSymkArgsHandler handler{args};\n  ncclLsaBarrierSession<ncclCoopCta> bar{\n    ncclCoopCta(), handler.comm, ncclTeamTagLsa(), blockIdx.x, /*multimem=*/true\n  };\n\n  Red<typename ncclSymkAccumType<Red, T, /*nvls=*/true>::Type> red(handler.devWork->redOpArg);\n\n  int const& rank = handler.comm.rank;\n  int const& nRanks = handler.comm.nRanks;\n  auto const& multimem = handler.comm.lsaMultimem;\n\n  bar.sync(ncclCoopCta(), cuda::memory_order_relaxed);\n\n  handler.forEachWork<T>(\n      [&]__device__(int block, int nBlocks, size_t nElts, size_t nAllElts,\n                    ncclSymPtr<T> input, ncclSymPtr<T> output) {\n        // Threads numbered globally such that we round robin warps by rank then block.\n        int gt = flattenIx(threadIdx.x%WARP_SIZE, WARP_SIZE,\n                           rank, nRanks,\n                           block, nBlocks,\n                           threadIdx.x/WARP_SIZE, blockDim.x/WARP_SIZE);\n        int gtn = nRanks*nBlocks*blockDim.x;\n\n        allreduceMultimem(gtn, gt, red, input.multimemPtr(multimem), output.multimemPtr(multimem), nElts);\n      }\n    );\n\n  bar.sync(ncclCoopCta(), cuda::memory_order_release);\n}\n\ntemplate<template<typename> typename Red, typename T>\n__device__ __forceinline__ void ncclSymkRun_AllReduce_AGxLL_R_impl(ncclSymkDevWorkArgs const* args, bool multimem) {\n  ncclSymkArgsHandler handler{args};\n  ncclLLA2ASession<ncclCoopCta> lla2a(\n    ncclCoopCta(), handler.comm, ncclTeamLsa(handler.comm), handler.lsaLLA2A,\n    blockIdx.x, ncclSymkMaxThreads, multimem, handler.comm.lsaMultimem\n  );\n\n  int const& rank = handler.comm.rank;\n  int const& nRanks = handler.comm.nRanks;\n  using Acc = typename ncclSymkAccumType<Red, T, /*nvls=*/false>::Type;\n  Red<Acc> red(handler.devWork->redOpArg);\n\n  using Pack = BytePack<8>;\n  using AccPack = BytePack<8*sizeof(Acc)/sizeof(T)>;\n  constexpr int EltPerPack = 8/sizeof(T);\n\n  handler.singleWork<T>(\n      [&]__device__(int nElts, int nAllElts,\n                    ncclSymPtr<T> inputPtr, ncclSymPtr<T> outputPtr) {\n        int nPacks = divUp(nElts, EltPerPack);\n\n        T* input = (T*)inputPtr.localPtr();\n        T* output = (T*)outputPtr.localPtr();\n\n        bool packAligned = 8 <= alignof(T) || (nElts*sizeof(T) | (uintptr_t)input | (uintptr_t)output)%8 == 0;\n\n        ncclCoopCta cta;\n        int t = threadIdx.x;\n        int tn = ncclSymkMaxThreads;\n\n        if (__builtin_expect(packAligned, true)) {\n          #pragma unroll 1\n          while (0 < nPacks) {\n            if (t < nPacks) {\n              int nIterPacks = min(nPacks, tn);\n              Pack inp = loadPack<Pack>((Pack*)input, t, nPacks);\n              lla2a.bcast(/*slot=*/nIterPacks*rank + t, inp);\n              AccPack out = lla2a.template recvReduce</*Unroll=*/8, Pack>(\n                /*slotStart=*/t, /*slotCount=*/nRanks, /*slotStride=*/nIterPacks,\n                /*eltToAcc=*/[&] __device__ (Pack x)->AccPack {\n                  return applyCast<T, Acc>(x);\n                },\n                /*reduce=*/[&] __device__ (AccPack a, AccPack b)->AccPack {\n                  return applyReduce(red, a, b);\n                }\n              );\n              storePack((Pack*)output, t, nPacks, applyCast<Acc, T>(out));\n            }\n            lla2a.endEpoch(cta);\n\n            input += tn*EltPerPack;\n            output += tn*EltPerPack;\n            nPacks -= tn;\n          }\n        } else {\n          #pragma unroll 1\n          while (0 < nElts) {\n            if (t*EltPerPack < nElts) {\n              int nIterPacks = min(nPacks, tn);\n              Pack inp = loadPack<Pack>(input, t*EltPerPack, nElts);\n              lla2a.bcast(/*slot=*/nIterPacks*rank + t, inp);\n              AccPack out = lla2a.template recvReduce</*Unroll=*/8, Pack>(\n                /*slotStart=*/t, /*slotCount=*/nRanks, /*slotStride=*/nIterPacks,\n                /*eltToAcc=*/[&] __device__ (Pack x)->AccPack {\n                  return applyCast<T, Acc>(x);\n                },\n                /*reduce=*/[&] __device__ (AccPack a, AccPack b)->AccPack {\n                  return applyReduce(red, a, b);\n                }\n              );\n              storePack(output, t*EltPerPack, nElts, applyCast<Acc, T>(out));\n            }\n            lla2a.endEpoch(cta);\n\n            input += tn*EltPerPack;\n            output += tn*EltPerPack;\n            nElts -= tn*EltPerPack;\n            nPacks -= tn;\n          }\n        }\n      }\n    );\n}\n\ntemplate<template<typename> typename Red, typename T>\n__device__ __forceinline__ void ncclSymkRun_AllReduce_AGxLL_R(ncclSymkDevWorkArgs const* args) {\n  ncclSymkRun_AllReduce_AGxLL_R_impl<Red, T>(args, /*multimem=*/false);\n}\n\ntemplate<template<typename> typename Red, typename T>\n__device__ __forceinline__ void ncclSymkRun_AllReduce_AGxLLMC_R(ncclSymkDevWorkArgs const* args) {\n  ncclSymkRun_AllReduce_AGxLL_R_impl<Red, T>(args, /*multimem=*/true);\n}\n"
  },
  {
    "path": "src/device/symmetric/generate.py",
    "content": "# Modification Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n# SPDX-License-Identifier: MIT \n\n#!/usr/bin/env python3\nimport os\nimport sys\nimport shutil\n\n################################################################################\n# The first command line argument is the path to the directory to generate and\n# populate.\n\ngensrc = sys.argv[1]\n\nif os.path.exists(gensrc):\n  for name in os.listdir(gensrc):\n    path = os.path.join(gensrc, name)\n    if os.path.isfile(path):\n      os.remove(path)\n    elif os.path.isdir(path):\n      shutil.rmtree(path)\nelse:\n  os.mkdir(gensrc)\n\ndef paste(sep, *args):\n  return sep.join(args)\n\nindents = 0\ndef emitln(f, lines):\n  global indents\n  for ln in ((lines,) if isinstance(lines, str) else lines):\n    f.write('  '*indents + ln + '\\n')\n\ndef indent(s):\n  return '\\n'.join('  '+l for l in s.splitlines())\n\nclass Rec(object):\n  def __init__(me, **kw):\n    me.__dict__.update(kw)\n  def __eq__(x, y):\n    if len(x) != len(y): return False\n    for k in x:\n      if k not in y: return False\n      if x[k] != y[k]: return False\n    return True\n  def __hash__(me):\n    h = 0\n    for k in me.__dict__:\n      h += hash((k, me.__dict__[k]))\n    return h\n\n################################################################################\n# Edit this region for introducing new algos etc\n\nreductions = [\"AllReduce\",\"ReduceScatter\"]\nall_reds = [\"sum\"]\nall_tys = [\"f32\",\"f16\",\"bf16\",\"f8e4m3\",\"f8e5m2\"]\n\nnvls_algos_by_coll = {\n  \"AllReduce\": [\"AGxLLMC_R\",\"RSxLDMC_AGxSTMC\"],\n  \"ReduceScatter\": [\"LDMC\"]\n}\nldmc_algos = [\"RSxLDMC_AGxSTMC\", \"LDMC\"]\n\ncoll_to_lower = {\n  \"AllGather\": \"all_gather\",\n  \"AllReduce\": \"all_reduce\",\n  \"ReduceScatter\": \"reduce_scatter\"\n}\n\nred_to_ncclDevRedOp = {\n  \"sum\": \"ncclDevSum\"\n}\nred_to_Func = {\n  \"sum\": \"FuncSum\"\n}\n\nty_to_ncclDataType = {\n  \"f32\": \"ncclFloat32\",\n  \"f16\": \"ncclFloat16\",\n  \"bf16\": \"ncclBfloat16\",\n  \"f8e4m3\": \"ncclFloat8e4m3\",\n  \"f8e5m2\": \"ncclFloat8e5m2\"\n}\nty_to_cxxtype = {\n  \"f32\": \"float\",\n  \"f16\": \"half\",\n  \"bf16\": \"hip_bfloat16\",\n  \"f8e4m3\": \"rccl_float8\",\n  \"f8e5m2\": \"rccl_bfloat8\"\n}\n\ndef enumerate_kernels():\n  for algo in [\"LL\",\"ST\"]:\n    yield Rec(coll=\"AllGather\", algo=algo)\n  for red in all_reds:\n    for ty in all_tys:\n      for algo in [\"AGxLL_R\",\"RSxLD_AGxST\"]:\n        yield Rec(coll=\"AllReduce\", algo=algo, red=red, ty=ty)\n      for algo in [\"LL\",\"LD\"]:\n        yield Rec(coll=\"ReduceScatter\", algo=algo, red=red, ty=ty)\n\ndef required_cuda(k):\n  cudart, arch, specific_sms  = 0, 600, None\n  is_nvls = k.algo in nvls_algos_by_coll.get(k.coll, [])\n  if is_nvls:\n    cudart = max(cudart, 12010)\n    arch = 900\n  if k.coll in reductions:\n    if k.ty == \"bf16\":\n      cudart = max(cudart, 11000)\n    if k.ty.startswith(\"f8\"):\n      cudart = max(cudart, 11080)\n      arch = 900\n      if k.algo in ldmc_algos:\n        cudart = 12070\n        arch = None\n        specific_sms = [\"100a\", \"101a\", \"100f\", \"101f\", \"120a\", \"121a\"]\n  return (cudart, arch, specific_sms)\n\n################################################################################\n\ndef kernel_fdep(k):\n  return coll_to_lower[k.coll] + '.cpp'\n\ndef kernel_fname(k):\n  if k.coll in reductions:\n    if k.algo in ldmc_algos and k.ty.startswith('f8'):\n      return paste('_', coll_to_lower[k.coll], k.red, k.ty, k.algo) + '.cpp'\n    else:\n      return paste('_', coll_to_lower[k.coll], k.red, k.ty) + '.cpp'\n  else:\n    return coll_to_lower[k.coll] + '.cpp'\n\ndef kernel_gencode(k):\n  if k.coll in reductions and k.algo in ldmc_algos and k.ty.startswith('f8'):\n    return \"$(NVCC_GENCODE_LDMC_FP8)\"\n  else:\n    return \"$(NVCC_GENCODE)\"\n\ndef kernel_cname(k):\n  if k.coll in reductions:\n    return paste(\"_\", \"ncclSymkDevKernel\", k.coll, k.algo, k.red, k.ty)\n  else:\n    return paste(\"_\", \"ncclSymkDevKernel\", k.coll, k.algo)\n\ndef kernel_conds(k):\n  cudart, arch, specific_sms = required_cuda(k)\n  if cudart == 0 and arch == 0: return (None, None)\n\n  cudart_cond = \"CUDART_VERSION >= %d\"%cudart\n  if not specific_sms:\n    arch_cond = \"__CUDA_ARCH__ >= %d\"%arch\n  else:\n    arch_cond = \" || \".join([\"0\"] + [\"NCCL_CUDA_ARCH_%sSPECIFIC==%d\"%(\"FAMILY_\" if sm[-1] == \"f\" else \"\", 10*int(sm.replace('a', '').replace('f', ''))) for sm in specific_sms])\n  return cudart_cond, arch_cond\n\ndef instantiate(k):\n  form_red_ty = (\n    \"__global__ void {cname}(ncclSymkDevWorkArgs4K NCCL_GRID_CONSTANT const *args4K) {{\\n\"\n    \"  ncclSymkRun_{id}<{red}, {ty}>(args4K->args);\\n\"\n    \"}}\"\n  )\n  form = (\n    \"__global__ void {cname}(ncclSymkDevWorkArgs4K NCCL_GRID_CONSTANT const *args4K) {{\\n\"\n    \"  ncclSymkRun_{id}(args4K->args);\\n\"\n    \"}}\"\n  )\n\n  id = k.coll+'_'+k.algo\n  cname = kernel_cname(k)\n  if k.coll in reductions:\n    inst = form_red_ty.format(cname=cname, id=id, red=red_to_Func[k.red], ty=ty_to_cxxtype[k.ty])\n  else:\n    inst = form.format(cname=cname, id=id)\n  return inst\n\ndef prototype(k):\n  return \"__global__ void {cname}(ncclSymkDevWorkArgs4K const *args4K);\".format(cname=kernel_cname(k))\n\n################################################################################\n\ndef partition(vals, keyfn):\n  ans = {}\n  for x in vals:\n    k = keyfn(x)\n    if k not in ans:\n      ans[k] = []\n    ans[k].append(x)\n  return ans\n\n\nkernels_by_file = partition(enumerate_kernels(), lambda k: (kernel_fname(k), k.coll))\n\n# Add dependency only files (e.g. allreduce.cpp)\nfor coll in set(k.coll for k in enumerate_kernels()):\n  fname = coll_to_lower[coll]+'.cpp'\n  if (fname, coll) not in kernels_by_file:\n    kernels_by_file[fname, coll] = []\n\nfiles_to_print = \"\"\n# Generate each kernel instantiation file\nfor (fname, coll), ks in kernels_by_file.items():\n  files_to_print += fname + \";\"\n  with open(os.path.join(gensrc, fname), \"w\") as f:\n    print(\"-- Generating %s\" % os.path.join(gensrc, fname))\n    emitln(f, '#include \"sym_kernels.h\"')\n    emitln(f, '#include \"symmetric/kernel.h\"')\n    emitln(f, '#include \"symmetric/{coll}.h\"'.format(coll=coll_to_lower[coll]))\n    for k in ks:\n      emitln(f, instantiate(k))\n\n# Generate <gensrc>/sym_kernels_host.cc\nwith open(os.path.join(gensrc, \"sym_kernels_host.cc\"), \"w\") as f:\n  print(\"-- Generating %s\" % os.path.join(gensrc, \"symmetric_kernels.cc\"))\n  emitln(f, '#include \"sym_kernels.h\"')\n  emitln(f, '#include \"device.h\"')\n  emitln(f, '')\n\n  for k in enumerate_kernels():\n    emitln(f, prototype(k))\n  emitln(f, '')\n\n  emitln(f, 'extern int const ncclSymkKernelCount = %d;' % len(list(enumerate_kernels())))\n  emitln(f, 'extern void* const ncclSymkKernelList[] = {')\n  for k in enumerate_kernels():\n    emitln(f, '(void*){cname},'.format(cname=kernel_cname(k)))\n  emitln(f, 'nullptr};')\n  emitln(f, '')\n\n  emitln(f, 'void* ncclSymkGetKernelPtr(ncclSymkKernelId id, int red, ncclDataType_t ty) {')\n  indents += 1\n  emitln(f, 'switch (id) {')\n  emitln(f, 'default: return nullptr;')\n  for (coll, algo), coll_algo_ks in partition(enumerate_kernels(), lambda k: (k.coll, k.algo)).items():\n    emitln(f, 'case ncclSymkKernelId_'+coll+'_'+algo+':')\n    indents += 1\n    if len(coll_algo_ks) == 1:\n      emitln(f, 'return (void*)&'+kernel_cname(coll_algo_ks[0])+';')\n    else:\n      emitln(f, 'switch ((ncclDevRedOp_t)red) {')\n      emitln(f, 'default: return nullptr;')\n      for red, coll_algo_red_ks in partition(coll_algo_ks, lambda k: k.red).items():\n        emitln(f, 'case '+red_to_ncclDevRedOp[red]+':')\n        indents += 1\n        emitln(f, 'switch (ty) {')\n        emitln(f, 'default: return nullptr;')\n        for k in coll_algo_red_ks:\n          emitln(f, 'case '+ty_to_ncclDataType[k.ty]+': return (void*)'+kernel_cname(k)+';')\n        emitln(f, '}')\n        indents -= 1\n      emitln(f, '}')\n    indents -=1\n  emitln(f, '}')\n  indents -= 1\n  emitln(f, '}')\n"
  },
  {
    "path": "src/device/symmetric/kernel.cuh",
    "content": "// Modification Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n// SPDX-License-Identifier: MIT \n\n#ifndef NCCL_DEVICE_SYMMETRIC_KERNEL_H_\n#define NCCL_DEVICE_SYMMETRIC_KERNEL_H_\n\n#include \"sym_kernels.h\"\n\ntemplate<template<typename> typename Red, typename T>\n__device__ __forceinline__ void ncclSymkRun_AllReduce_AGxLL_R(struct ncclSymkDevWorkArgs const* args);\ntemplate<template<typename> typename Red, typename T>\n__device__ __forceinline__ void ncclSymkRun_AllReduce_AGxLLMC_R(struct ncclSymkDevWorkArgs const* args);\n\ntemplate<template<typename> typename Red, typename T>\n__device__ __forceinline__ void ncclSymkRun_AllReduce_RSxLD_AGxST(struct ncclSymkDevWorkArgs const* args);\ntemplate<template<typename> typename Red, typename T>\n__device__ __forceinline__ void ncclSymkRun_AllReduce_RSxLDMC_AGxSTMC(struct ncclSymkDevWorkArgs const* args);\n\n__device__ __forceinline__ void ncclSymkRun_AllGather_LL(struct ncclSymkDevWorkArgs const* args);\n__device__ __forceinline__ void ncclSymkRun_AllGather_LLMC(struct ncclSymkDevWorkArgs const* args);\n__device__ __forceinline__ void ncclSymkRun_AllGather_ST(struct ncclSymkDevWorkArgs const* args);\n__device__ __forceinline__ void ncclSymkRun_AllGather_STMC(struct ncclSymkDevWorkArgs const* args);\n\ntemplate<template<typename> typename Red, typename T>\n__device__ __forceinline__ void ncclSymkRun_ReduceScatter_LL(struct ncclSymkDevWorkArgs const* args);\ntemplate<template<typename> typename Red, typename T>\n__device__ __forceinline__ void ncclSymkRun_ReduceScatter_LD(struct ncclSymkDevWorkArgs const* args);\ntemplate<template<typename> typename Red, typename T>\n__device__ __forceinline__ void ncclSymkRun_ReduceScatter_LDMC(struct ncclSymkDevWorkArgs const* args);\n#endif\n"
  },
  {
    "path": "src/device/symmetric/primitives.cuh",
    "content": "// Modification Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n// SPDX-License-Identifier: MIT \n\n#ifndef NCCL_DEVICE_SYMMETRIC_PRIMITIVES_H_\n#define NCCL_DEVICE_SYMMETRIC_PRIMITIVES_H_\n\n#include \"sym_kernels.h\"\n#include \"bitops.h\"\n#include \"collectives.h\"\n#include \"op128.h\"\n#include \"reduce_kernel.h\"\n#include \"common.h\"\n\n#if __CUDA_ARCH__ >= 700\n// __grid_constant__ appears to break cuda-gdb\n#define NCCL_GRID_CONSTANT __grid_constant__\n#else\n#define NCCL_GRID_CONSTANT\n#endif\n\n// flattenIx(pos0, dim0, pos1, dim1, pos2, dim2, ...)\n// Given a position vector `pos` in a rectangular index space with lengths in the `dim`\n// vector, flatten that down to a linear index. The fastest moving dimension is given first.\n__device__ __forceinline__ int flattenIx() { return 0; }\n\ntemplate<typename Int0, typename Int1, typename ...Ints>\nstatic __device__ Int0 flattenIx(Int0 pos, Int1 size, Ints ...more) {\n  return pos + size*flattenIx(more...);\n}\n\nnamespace {\nstruct ncclSymkArgsHandler {\n  ncclDevComm const& comm;\n  ncclLLA2AHandle const& lsaLLA2A;\n  struct ncclSymkChannelWorkRange* channelWorkRange;\n  struct ncclSymkDevWork* devWork;\n  uint32_t nRanks_rcp32;\n\n  __device__ ncclSymkArgsHandler(ncclSymkDevWorkArgs const* args):\n    comm(args->kcomm.devComm),\n    lsaLLA2A(args->kcomm.lsaLLA2A) {\n    channelWorkRange = args->getWorkRange();\n\n    devWork = args->getWorks(args->nMaxChannels);\n    nRanks_rcp32 = comm.nRanks_rcp32;\n  }\n\n  template<typename T>\n    __device__ void getWorkRange(int block,\n                                 uint16_t& workLo, size_t& indexLo, uint16_t& workHi, size_t& indexHi) {\n    constexpr int EltPerCell = NCCL_SYM_KERNEL_CELL_SIZE / sizeof(T);\n    uint32_t fracLo, fracHi;\n\n    // Where the work begins\n    workLo = (block==0) ? 0 : channelWorkRange[block-1].workHi; // start where predecessor ends\n    fracLo = (block==0) ? 0 : channelWorkRange[block-1].fracHi + 1;\n    // If the predecessor ended on the work boundary, then we step to the beginning of the next work.\n    // This ensures we never have empty parts.\n    if (fracLo == 0x10000) {\n      workLo++;\n      fracLo = 0;\n    }\n    struct ncclSymkDevWork const& dw = devWork[workLo];\n    indexLo = ((fracLo * divUp(dw.nElts, EltPerCell)) >> 16) * EltPerCell;\n\n    // Where the work ends\n    workHi = channelWorkRange[block].workHi;\n    fracHi = channelWorkRange[block].fracHi + 1;\n    indexHi = min(((fracHi * divUp(dw.nElts, EltPerCell)) >> 16) * EltPerCell, dw.nElts);\n  }\n\n  template<typename T>\n    __device__ void getWorkRangeFused(int blockIdx, int w,\n                                      int& block, int& nBlocks, size_t& indexLo, size_t& indexHi) {\n    constexpr int EltPerCell = NCCL_SYM_KERNEL_CELL_SIZE / sizeof(T);\n    struct ncclSymkDevWork const& dw = devWork[w];\n    uint32_t fracLo, fracHi;\n    int lastBlock;\n\n    block = blockIdx - dw.sChannelId;\n    nBlocks = dw.nChannels;\n    lastBlock = dw.sChannelId+dw.nChannels-1;\n\n    // Where the work begins\n    fracLo = (dw.sChannelId==0) ? 0 : ((channelWorkRange[dw.sChannelId-1].fracHi + 1) & 0xFFFF);\n    indexLo = ((fracLo * divUp(dw.nElts, EltPerCell)) >> 16) * EltPerCell;\n    fracHi = (channelWorkRange[lastBlock].workHi == w) ? channelWorkRange[lastBlock].fracHi + 1 : 0x10000;\n    indexHi = min(((fracHi * divUp(dw.nElts, EltPerCell)) >> 16) * EltPerCell, dw.nElts);\n  }\n\n  template<typename T, typename Fn>\n    __device__ void forEachWork(Fn const& fn) {\n      uint16_t workLo, workHi;\n      size_t indexLo, indexHi;\n\n      getWorkRange<T>(blockIdx.x, workLo, indexLo, workHi, indexHi);\n\n      size_t currentIndexLo = indexLo;\n      #pragma unroll 1\n      for (int w = workLo; w <= workHi; w++) {\n        struct ncclSymkDevWork const& dw = devWork[w];\n        size_t const& nAllElts = dw.nElts;\n        size_t currentIndexHi;\n        int block, nBlocks;\n        if (blockIdx.x >= dw.sChannelId && blockIdx.x < dw.sChannelId + dw.nChannels) {\n          getWorkRangeFused<T>(blockIdx.x, w, block, nBlocks, currentIndexLo, currentIndexHi);\n        } else {\n          currentIndexHi = (w < workHi) ? nAllElts : indexHi;\n          block = 0;\n          nBlocks = 1;\n        }\n\n        fn(block, nBlocks, currentIndexHi - currentIndexLo, nAllElts,\n           ncclSymPtr<T>(dw.inputWin, dw.inputOff) + currentIndexLo,\n           ncclSymPtr<T>(dw.outputWin, dw.outputOff) + currentIndexLo);\n\n        currentIndexLo = 0;\n      }\n  }\n\n  template<typename T, typename Fn>\n    __device__ void singleWork(Fn const& fn) {\n      uint16_t w;\n      size_t indexLo, indexHi;\n\n      getWorkRange<T>(blockIdx.x, w, indexLo, w, indexHi);\n\n      struct ncclSymkDevWork const& dw = devWork[w];\n\n      fn(indexHi - indexLo, dw.nElts,\n         ncclSymPtr<T>(dw.inputWin, dw.inputOff) + indexLo,\n         ncclSymPtr<T>(dw.outputWin, dw.outputOff) + indexLo);\n  }\n};\n}\n\ntemplate<template<typename> typename Red, typename T, bool nvls>\nstruct ncclSymkAccumType { using Type = T; };\n\n// Only Red's whose opArg is invariant w.r.t. the datatype can have a different\n// accumulator type. At the moment this excludes integer min/max, sumpostdiv,\n// and premulsum.\ntemplate<> struct ncclSymkAccumType<FuncSum, __half, false> { using Type = float; };\n#if defined(__CUDA_BF16_TYPES_EXIST__)\ntemplate<> struct ncclSymkAccumType<FuncSum, __nv_bfloat16, false> { using Type = float; };\n#endif\n#if defined(__CUDA_FP8_TYPES_EXIST__)\ntemplate<> struct ncclSymkAccumType<FuncSum, __nv_fp8_e4m3, false> { using Type = float; };\ntemplate<> struct ncclSymkAccumType<FuncSum, __nv_fp8_e5m2, false> { using Type = float; };\n#endif\n#endif\n"
  },
  {
    "path": "src/device/symmetric/reduce_scatter.cuh",
    "content": "// Modification Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n// SPDX-License-Identifier: MIT \n\n#include \"sym_kernels.h\"\n#include \"symmetric/kernel.h\"\n#include \"symmetric/primitives.h\"\n\ntemplate<int BytePerPack, int UnrollPacks, int UnrollPeers, typename T, typename Red>\nstatic __device__ void reduceDeep(\n    ncclSymkArgsHandler const& handler, int tn, int t,\n    bool waitNeeded, ncclLsaBarrierSession<ncclCoopCta>& bar,\n    Red red, ncclSymPtr<char> input, ncclSymPtr<char> output, int32_t nIters\n  ) {\n  using Pack = BytePack<BytePerPack>;\n  using Acc = typename Red::EltType;\n  using AccPack = BytePack<BytePerPack*sizeof(Acc)/sizeof(T)>;\n\n  ncclTeam world = ncclTeamWorld(handler.comm);\n  int wn = tn/WARP_SIZE;\n  int w = t/WARP_SIZE;\n  int lane = t%WARP_SIZE;\n  int const& rank = handler.comm.rank;\n  int const& nRanks = handler.comm.nRanks;\n  ncclSymPtr<Pack> inpPacks = (ncclSymPtr<Pack>)input + intptr_t(w)*UnrollPacks*WARP_SIZE + lane;\n  ncclSymPtr<Pack> outPacks = (ncclSymPtr<Pack>)output + intptr_t(w)*UnrollPacks*WARP_SIZE + lane;\n  Pack acc0[UnrollPacks];\n\n  nIters -= w;\n  if (0 < nIters) {\n    #pragma unroll\n    for (int u=0; u < UnrollPacks; u++) {\n      acc0[u] = inpPacks.peerPtr(world, rank)[u*WARP_SIZE];\n    }\n  }\n\n  if (waitNeeded) bar.wait(ncclCoopCta(), cuda::memory_order_relaxed);\n\n  if (0 < nIters) {\n    while (true) {\n      AccPack acc1[UnrollPacks];\n      int r = rank+1;\n      if (r == nRanks) r = 0;\n      { Pack tmp1[UnrollPacks];\n        #pragma unroll\n        for (int u=0; u < UnrollPacks; u++) {\n          tmp1[u] = inpPacks.peerPtr(world, r)[u*WARP_SIZE];\n        }\n        #pragma unroll\n        for (int u=0; u < UnrollPacks; u++) {\n          acc1[u] = applyReduce(red, applyCast<T, Acc>(acc0[u]), applyCast<T, Acc>(tmp1[u]));\n        }\n      }\n\n      r += 1;\n      if (r == nRanks) r = 0;\n\n      int dr = 2;\n      #pragma unroll 2\n      for (int partial=0; partial <= 1; partial++) {\n        #pragma unroll 1\n        for (int i = 0;\n             partial ? i < 1 : (dr + UnrollPeers <= nRanks);\n             partial ? i++ : (dr += UnrollPeers)) {\n          if (partial && dr == nRanks) break;\n\n          Pack tmp1[UnrollPeers][UnrollPacks];\n          #pragma unroll\n          for (int ur=0; ur < UnrollPeers-partial; ur++) {\n            if (partial && ur!=0 && dr+ur == nRanks) break;\n            #pragma unroll UnrollPacks\n            for (int u=0; u < UnrollPacks; u++) {\n              tmp1[ur][u] = inpPacks.peerPtr(world, r)[u*WARP_SIZE];\n            }\n            r += 1;\n            if (r == nRanks) r = 0;\n          }\n          #pragma unroll\n          for (int ur=0; ur < UnrollPeers-partial; ur++) {\n            if (partial && ur!=0 && dr+ur == nRanks) break;\n            #pragma unroll UnrollPacks\n            for (int u=0; u < UnrollPacks; u++) {\n              acc1[u] = applyReduce(red, acc1[u], applyCast<T, Acc>(tmp1[ur][u]));\n            }\n          }\n        }\n      }\n\n      #pragma unroll\n      for (int u=0; u < UnrollPacks; u++) acc0[u] = applyCast<Acc, T>(acc1[u]);\n\n      #pragma unroll UnrollPacks\n      for (int u=0; u < UnrollPacks; u++) outPacks.localPtr()[u*WARP_SIZE] = acc0[u];\n\n      inpPacks += intptr_t(wn)*UnrollPacks*WARP_SIZE;\n      outPacks += intptr_t(wn)*UnrollPacks*WARP_SIZE;\n      nIters -= wn;\n      if (nIters <= 0) break;\n\n      // Load data for next iteration.\n      #pragma unroll\n      for (int u=0; u < UnrollPacks; u++) {\n        acc0[u] = inpPacks.peerPtr(world, rank)[u*WARP_SIZE];\n      }\n    }\n  }\n}\n\ntemplate<int UnrollPeers, typename Red, typename T>\nstatic __device__ void reduceEnds(\n    ncclSymkArgsHandler const& handler, int tn, int t, Red red,\n    ncclSymPtr<T> input, ncclSymPtr<T> output,\n    size_t nElts, uint32_t nPreElts, size_t nSufElts\n  ) {\n  using Acc = typename Red::EltType;\n\n  ncclTeam world = ncclTeamWorld(handler.comm);\n  int const& rank = handler.comm.rank;\n  int const& nRanks = handler.comm.nRanks;\n\n  ncclSymPtr<BytePack<sizeof(T)>> inpPacks = (ncclSymPtr<BytePack<sizeof(T)>>)input;\n  ncclSymPtr<BytePack<sizeof(T)>> outPacks = (ncclSymPtr<BytePack<sizeof(T)>>)output;\n  #pragma unroll 1\n  for (size_t i = t; i < nPreElts+nSufElts; i += tn) {\n    size_t elt = i < nPreElts ? i : nElts-nSufElts-nPreElts+i;\n    BytePack<sizeof(T)> acc0 = inpPacks.peerPtr(world, rank)[elt];\n    BytePack<sizeof(Acc)> acc1;\n    BytePack<sizeof(T)> tmp[UnrollPeers];\n    int dr = 1;\n    int r = rank+1;\n    if (nRanks == r) r = 0;\n    bool first = true;\n\n    #pragma unroll 2\n    for (int partial=0; partial <= 1; partial++) {\n      #pragma unroll 1\n      for (int j = 0;\n           partial ? j < 1 : (dr + UnrollPeers <= nRanks);\n           partial ? j++ : (dr += UnrollPeers)) {\n        if (partial && dr == nRanks) break;\n\n        #pragma unroll\n        for (int u=0; u < UnrollPeers-partial; u++) {\n          if (partial && u!=0 && dr+u == nRanks) break;\n          tmp[u] = inpPacks.peerPtr(world, r)[elt];\n          r += 1;\n          if (r == nRanks) r = 0;\n        }\n        if (first) {\n          first = false;\n          acc1 = applyCast<T, Acc>(acc0);\n        }\n        #pragma unroll\n        for (int u=0; u < UnrollPeers-partial; u++) {\n          if (partial && u!=0 && dr+u == nRanks) break;\n          acc1 = applyReduce(red, acc1, applyCast<T, Acc>(tmp[u]));\n        }\n      }\n    }\n\n    acc0 = applyCast<Acc, T>(acc1);\n    outPacks.localPtr()[elt] = acc0;\n  }\n}\n\ntemplate<typename Red, typename T>\nstatic __device__ void reduce(\n    ncclSymkArgsHandler const& handler, int tn, int t, int nBlocks,\n    bool waitNeeded, ncclLsaBarrierSession<ncclCoopCta>& bar,\n    Red red, ncclSymPtr<T> input, ncclSymPtr<T> output, size_t nElts\n  ) {\n  int const& nRanks = handler.comm.nRanks;\n  int const& nRanks_rcp32 = handler.nRanks_rcp32;\n  uint32_t nBlocks_rcp32 = nccl::utility::idivRcp32_upto64(nBlocks);\n  uint32_t nRanks_nBlocks_rcp32 = nccl::utility::imulRcp32(nRanks, nRanks_rcp32, nBlocks, nBlocks_rcp32);\n\n  uint32_t alignment = uint32_t(input.offset - output.offset);\n  size_t nBytes = nElts*sizeof(T);\n\n  uint32_t nPreBytes = (16u - input.offset)%16u;\n  nPreBytes = min((size_t)nPreBytes, nBytes);\n  uintptr_t cursor = nPreBytes;\n\n  constexpr int MinWarpPerBlock = 4;\n\n  if (alignment%16 == 0) {\n    constexpr int BytePerPack = 16, UnrollPacks = 4, UnrollPeers = 2;\n    constexpr int BytePerChunk = MinWarpPerBlock*UnrollPacks*WARP_SIZE*BytePerPack;\n    uint32_t chunks = (nBytes-cursor)/BytePerChunk;\n    chunks -= imodFast32(chunks, nRanks*nBlocks, nRanks_nBlocks_rcp32);\n    if (chunks != 0) {\n      uintptr_t cursorAfter = cursor + uintptr_t(chunks)*BytePerChunk;\n      reduceDeep<BytePerPack, UnrollPacks, UnrollPeers, T>(\n        handler, tn, t, waitNeeded, bar, red,\n        (ncclSymPtr<char>)input + cursor, (ncclSymPtr<char>)output + cursor,\n        chunks*MinWarpPerBlock\n      );\n      cursor = cursorAfter;\n      waitNeeded = false;\n    }\n  }\n\n  if (sizeof(T) == 4 || (sizeof(T) < 4 && alignment%4 == 0)) {\n    constexpr int BytePerPack = 4, UnrollPacks = 4, UnrollPeers = 4;\n    constexpr int BytePerChunk = MinWarpPerBlock*UnrollPacks*WARP_SIZE*BytePerPack;\n    uint32_t chunks = (nBytes-cursor)/BytePerChunk;\n    chunks -= imodFast32(chunks, nRanks*nBlocks, nRanks_nBlocks_rcp32);\n    if (chunks != 0) {\n      uintptr_t cursorAfter = cursor + uintptr_t(chunks)*BytePerChunk;\n      reduceDeep<(sizeof(T) <= BytePerPack ? BytePerPack : 0), UnrollPacks, UnrollPeers, T>(\n        handler, tn, t, waitNeeded, bar, red,\n        (ncclSymPtr<char>)input + cursor, (ncclSymPtr<char>)output + cursor,\n        chunks*MinWarpPerBlock\n      );\n      cursor = cursorAfter;\n      waitNeeded = false;\n    }\n  }\n\n  if (waitNeeded) bar.wait(ncclCoopCta(), cuda::memory_order_relaxed);\n\n  constexpr int UnrollPeers = 8;\n  size_t nSufElts = (nBytes-cursor)/sizeof(T);\n  reduceEnds<UnrollPeers>(handler, tn, t, red, input, output, nElts, nPreBytes/sizeof(T), nSufElts);\n}\n\ntemplate<template<typename> typename Red, typename T>\n__device__ __forceinline__ void ncclSymkRun_ReduceScatter_LD(ncclSymkDevWorkArgs const* args) {\n  ncclSymkArgsHandler handler{args};\n  ncclLsaBarrierSession<ncclCoopCta> bar{\n    ncclCoopCta(), handler.comm, ncclTeamTagLsa(), blockIdx.x\n  };\n  Red<typename ncclSymkAccumType<Red, T, /*nvls=*/false>::Type> red(handler.devWork->redOpArg);\n  int const& rank = handler.comm.rank;\n\n  bar.arrive(ncclCoopCta(), cuda::memory_order_relaxed);\n\n  bool waitNeeded = true;\n  handler.forEachWork<T>(\n      [&]__device__(int block, int nBlocks, size_t nElts, size_t nAllElts,\n                    ncclSymPtr<T> input, ncclSymPtr<T> output) {\n        // Round robin warps over blocks.\n        int t = flattenIx(threadIdx.x%WARP_SIZE, WARP_SIZE,\n                          block, nBlocks,\n                          threadIdx.x/WARP_SIZE, blockDim.x/WARP_SIZE);\n        int tn = nBlocks*blockDim.x;\n\n        reduce(handler, tn, t, nBlocks, waitNeeded, bar, red, input + rank*nElts, output, nElts);\n\n        waitNeeded = false;\n      }\n    );\n\n  bar.sync(ncclCoopCta(), cuda::memory_order_relaxed);\n}\n\ntemplate<typename Red, typename T>\nstatic __device__ void reduceMultimem(\n    int tn, int t, Red red, T* input, T* output, size_t nElts\n  ) {\n  uintptr_t inputUptr = reinterpret_cast<uintptr_t>(input);\n  uintptr_t outputUptr = reinterpret_cast<uintptr_t>(output);\n  size_t nBytes = nElts*sizeof(T);\n\n  constexpr int BytePerPack = LoadMultimem_BigPackSize<Red>::BigPackSize;\n  uint32_t nPreBytes = (BytePerPack - inputUptr)%BytePerPack;\n  nPreBytes = min((size_t)nPreBytes, nBytes);\n  uintptr_t nSufBytes;\n\n  if (sizeof(T) == BytePerPack || (inputUptr-outputUptr)%BytePerPack == 0) {\n    constexpr int UnrollPacks = 8*(16/BytePerPack);\n    constexpr int BytePerChunk = UnrollPacks*WARP_SIZE*BytePerPack;\n    uintptr_t cursor = nPreBytes;\n    uint32_t nChunks = (nBytes-cursor)/BytePerChunk;\n    uintptr_t cursorAfter = cursor + uintptr_t(nChunks)*BytePerChunk;\n    nSufBytes = nBytes - cursorAfter;\n    cursor += (t/WARP_SIZE)*UnrollPacks*WARP_SIZE*BytePerPack;\n    cursor += (t%WARP_SIZE)*BytePerPack;\n    int nIters = nChunks - t/WARP_SIZE;\n    #pragma unroll 1\n    while (0 < nIters) {\n      BytePack<BytePerPack> tmp[UnrollPacks];\n      #pragma unroll\n      for (int u=0; u < UnrollPacks; u++) {\n        tmp[u] = applyLoadMultimem<Red, BytePerPack>(red, inputUptr + cursor + u*WARP_SIZE*BytePerPack);\n      }\n      #pragma unroll\n      for (int u=0; u < UnrollPacks; u++) {\n        *reinterpret_cast<BytePack<BytePerPack>*>(outputUptr + cursor + u*WARP_SIZE*BytePerPack) = tmp[u];\n      }\n      cursor += tn*UnrollPacks*BytePerPack;\n      nIters -= tn/WARP_SIZE;\n    }\n  } else {\n    nPreBytes = 0;\n    nSufBytes = nBytes;\n  }\n\n  // Get the prefix+suffix element one at a time.\n  #pragma unroll 4\n  for (uintptr_t i = t*sizeof(T); i < nPreBytes + nSufBytes; i += tn*sizeof(T)) {\n    uintptr_t cursor = i < nPreBytes ? i : nBytes-nSufBytes+(i-nPreBytes);\n    BytePack<sizeof(T)> val = applyLoadMultimem<Red, sizeof(T)>(red, inputUptr + cursor);\n    *reinterpret_cast<BytePack<sizeof(T)>*>(outputUptr + cursor) = val;\n  }\n}\n\ntemplate<template<typename> typename Red, typename T>\n__device__ __forceinline__ void ncclSymkRun_ReduceScatter_LDMC(ncclSymkDevWorkArgs const* args) {\n  ncclSymkArgsHandler handler{args};\n  ncclLsaBarrierSession<ncclCoopCta> bar{\n    ncclCoopCta(), handler.comm, ncclTeamTagLsa(), blockIdx.x, /*multimem=*/true\n  };\n  Red<typename ncclSymkAccumType<Red, T, /*nvls=*/true>::Type> red(handler.devWork->redOpArg);\n\n  int const& rank = handler.comm.rank;\n  auto const& multimem = handler.comm.lsaMultimem;\n\n  bar.sync(ncclCoopCta(), cuda::memory_order_relaxed);\n\n  handler.forEachWork<T>(\n      [&]__device__(int block, int nBlocks, size_t nElts, size_t nAllElts,\n                    ncclSymPtr<T> input, ncclSymPtr<T> output) {\n        // Round robin warps over blocks.\n        int t = flattenIx(threadIdx.x%WARP_SIZE, WARP_SIZE,\n                          block, nBlocks,\n                          threadIdx.x/WARP_SIZE, blockDim.x/WARP_SIZE);\n        int tn = nBlocks*blockDim.x;\n\n        reduceMultimem(tn, t, red, input.multimemPtr(multimem) + rank*nElts, output.localPtr(), nElts);\n      }\n    );\n\n  bar.sync(ncclCoopCta(), cuda::memory_order_relaxed);\n}\n\n// T is user type, EltType is the most aligned type\ntemplate<typename T, typename Red, typename EltType>\n__device__ __forceinline__ void ncclSymkRun_ReduceScatter_LL_body(\n    ncclSymkArgsHandler& handler, ncclLLA2ASession<ncclCoopCta>& lla2a,\n    Red red, EltType* input, EltType* output, int nElts, int nPacks, int nStrideElts) {\n  using Pack = BytePack<8>;\n  using Acc = typename Red::EltType;\n  using AccPack = BytePack<8*sizeof(Acc)/sizeof(T)>;\n  constexpr int EltPerPack = 8/sizeof(EltType);\n\n  int const& nRanks = handler.comm.nRanks;\n  int const& rank = handler.comm.rank;\n  int t = threadIdx.x;\n  constexpr int tn = ncclSymkMaxThreads;\n  ncclCoopCta cta;\n\n  #pragma unroll 1\n  while (0 < nElts) {\n    int nIterPacks = min(nPacks, tn);\n    int tn_div_nPacks = tn/nIterPacks;\n    int tn_mod_nPacks = tn%nIterPacks;\n    int peer = t/nIterPacks;\n    int pack = t%nIterPacks;\n\n    #pragma unroll 1\n    for (int i = t; i < nRanks*nIterPacks; i += tn) {\n      Pack got = loadPack<Pack>(input + peer*nStrideElts, pack*EltPerPack, nElts);\n      lla2a.send(peer, rank*nIterPacks + pack, got);\n      peer += tn_div_nPacks;\n      pack += tn_mod_nPacks;\n      if (nIterPacks <= pack) { peer += 1; pack -= nIterPacks; }\n    }\n\n    if (t < nIterPacks) {\n      AccPack got = lla2a.template recvReduce</*Unroll=*/8, Pack>(\n        /*slotStart=*/t, /*slotCount=*/nRanks, /*slotStride=*/nIterPacks,\n        /*eltToAcc=*/[&] __device__ (Pack x)->AccPack {\n          return applyCast<T, Acc>(x);\n        },\n        /*reduce=*/[&] __device__ (AccPack a, AccPack b)->AccPack {\n          return applyReduce(red, a, b);\n        }\n      );\n      storePack(output, t*EltPerPack, nElts, applyCast<Acc, T>(got));\n    }\n    lla2a.endEpoch(cta);\n\n    input += tn*EltPerPack;\n    output += tn*EltPerPack;\n    nElts -= tn*EltPerPack;\n    nPacks -= tn;\n  }\n}\n\ntemplate<template<typename> typename Red, typename T>\n__device__ __forceinline__ void ncclSymkRun_ReduceScatter_LL(ncclSymkDevWorkArgs const* args) {\n  ncclSymkArgsHandler handler{args};\n  ncclLLA2ASession<ncclCoopCta> lla2a(\n    ncclCoopCta(), handler.comm, ncclTeamLsa(handler.comm), handler.lsaLLA2A, blockIdx.x, ncclSymkMaxThreads\n  );\n  Red<typename ncclSymkAccumType<Red, T, /*nvls=*/false>::Type> red(handler.devWork->redOpArg);\n  using Pack = BytePack<8>;\n  constexpr int EltPerPack = 8/sizeof(T);\n\n  handler.singleWork<T>(\n      [&]__device__(int nElts, int nAllElts,\n                    ncclSymPtr<T> inputPtr, ncclSymPtr<T> outputPtr) {\n        int nPacks = divUp(nElts, EltPerPack);\n\n        T* input = (T*)inputPtr.localPtr();\n        T* output = (T*)outputPtr.localPtr();\n\n        uint32_t lowBits = nElts*sizeof(T);\n        lowBits |= (uintptr_t)input;\n        lowBits |= (uintptr_t)output;\n        if (__builtin_expect(lowBits%8 == 0, true)) {\n          ncclSymkRun_ReduceScatter_LL_body<T>(handler, lla2a, red, (Pack*)input, (Pack*)output,\n                                               nPacks, nPacks, divUp(nAllElts, EltPerPack));\n        } else {\n          ncclSymkRun_ReduceScatter_LL_body<T>(handler, lla2a, red, input, output, nElts, nPacks, nAllElts);\n        }\n      }\n    );\n}\n"
  },
  {
    "path": "src/enhcompat.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n/* Define weak symbols used to allow libnccl_static.a to work with older libcudart_static.a */\n\nenum cudaError_t { cudaErrorStubLibrary = 34 };\n\nextern \"C\" {\n\ncudaError_t cudaStreamGetCaptureInfo_v2(...)         __attribute__((visibility(\"hidden\"))) __attribute((weak));\ncudaError_t cudaStreamGetCaptureInfo_v2(...)         { return cudaErrorStubLibrary; }\n\ncudaError_t cudaUserObjectCreate(...)                __attribute__((visibility(\"hidden\"))) __attribute((weak));\ncudaError_t cudaUserObjectCreate(...)                { return cudaErrorStubLibrary; }\n\ncudaError_t cudaGraphRetainUserObject(...)           __attribute__((visibility(\"hidden\"))) __attribute((weak));\ncudaError_t cudaGraphRetainUserObject(...)           { return cudaErrorStubLibrary; }\n\ncudaError_t cudaStreamUpdateCaptureDependencies(...) __attribute__((visibility(\"hidden\"))) __attribute((weak));\ncudaError_t cudaStreamUpdateCaptureDependencies(...) { return cudaErrorStubLibrary; }\n\ncudaError_t cudaGetDriverEntryPoint(...)             __attribute__((visibility(\"hidden\"))) __attribute((weak));\ncudaError_t cudaGetDriverEntryPoint(...)             { return cudaErrorStubLibrary; }\n\n}\n"
  },
  {
    "path": "src/enqueue.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"enqueue.h\"\n#include \"argcheck.h\"\n#include \"coll_net.h\"\n#include \"graph/topo.h\"\n#include <hip/hip_runtime.h>\n#include <hip/hip_cooperative_groups.h>\n#include <hip/hip_ext.h>\n#include \"gdrwrap.h\"\n#include \"bootstrap.h\"\n#include <cstring>\n#include \"channel.h\"\n#include \"rocmwrap.h\"\n#include \"rccl_vars.h\"\n#include \"profiler.h\"\n#include \"transport.h\"\n#include \"register_inline.h\"\n#include \"ce_coll.h\"\n#include \"nvtx.h\"\n#include \"scheduler.h\"\n#include \"common.h\"\n#include \"api_trace.h\"\n\n#include <cstring> // std::memcpy\n#include <cinttypes> // PRIx64\n#include <cassert>\n#include \"latency_profiler/CollTraceFunc.h\"\n\n#ifdef ENABLE_ROCSHMEM\n#include <rocshmem/rocshmem.hpp>\n#endif\n\nusing namespace rccl;\n\nstruct ncclKernelMatch {\n  void* kernelFn;\n  bool specialized;\n};\n\n\n#ifdef ENABLE_COLLTRACE\n#define ncclGetKernelIndex(p_comm) ((p_comm)->unroll + ((p_comm)->collTraceEnabled ? 3 : 0))\nstatic ncclKernelMatch const ncclKerns[6] = {\n  {(void *)ncclDevKernel_Generic_1, true},\n  {(void *)ncclDevKernel_Generic_2, true},\n  {(void *)ncclDevKernel_Generic_4, true},\n  {(void *)ncclDevKernelDebug_Generic_1, true},\n  {(void *)ncclDevKernelDebug_Generic_2, true},\n  {(void *)ncclDevKernelDebug_Generic_4, true}\n};\n#else\n#define ncclGetKernelIndex(p_comm) ((p_comm)->unroll)\nstatic ncclKernelMatch const ncclKerns[3] = {\n  {(void*)ncclDevKernel_Generic_1, true},\n  {(void*)ncclDevKernel_Generic_2, true},\n  {(void*)ncclDevKernel_Generic_4, true}\n};\n#endif\n\nstatic int rcclProtoGrainSize(int proto, ncclComm *comm){\n  switch (proto) {\n    case NCCL_PROTO_LL: return 16;\n    case NCCL_PROTO_LL128: return comm->WarpSize*(NCCL_LL128_SHMEM_ELEMS_PER_THREAD/NCCL_LL128_LINEELEMS)*NCCL_LL128_DATAELEMS*sizeof(uint64_t);\n    case NCCL_PROTO_SIMPLE: return 512;\n    default: return -1;\n  }\n}\n\n/* Copy of ncclShmemScratchWarpSize */\nconstexpr int rcclShmemScratchWarpSize(int cudaArch = NCCL_CUDA_ARCH, int WarpSize = 32) {\n  return (max_constexpr<int>(\n      /*LL    */0,\n      /*LL128 */(NCCL_LL128_SHMEM_ELEMS_PER_THREAD*WarpSize)*sizeof(uint64_t),\n      /*SIMPLE*/(ncclCollUnroll(cudaArch)*WarpSize + 1)*16,\n      // NVLS needs an extra 16B to read unaligned data.\n      /*NVLS  */WarpSize*(cudaArch >= 900 ? ncclNvlsUnrollBytes(cudaArch) : 0) + 16\n    ) + 15) & -16; // pad to 16 bytes\n}\n\n/* Copy of ncclShmemDynamicSize */\nconstexpr int rcclShmemDynamicSize(int cudaArch = NCCL_CUDA_ARCH, int WarpSize = 32) {\n  const int maxNthreads = (cudaArch == 950) ? RCCL_GFX950_MAX_NTHREADS : RCCL_DEFAULT_MAX_NTHREADS;\n  return cudaArch < 700 ? 0 : rcclShmemScratchWarpSize(cudaArch, WarpSize)*(maxNthreads/WarpSize);\n}\n\nNCCL_PARAM(L1SharedMemoryCarveout, \"L1_SHARED_MEMORY_CARVEOUT\", 0);\n\n// Returns maximum kernel stack size of all CUDA kernels\nncclResult_t ncclInitKernelsForDevice(int cudaArch, int maxSharedMem, size_t* maxStackSize) {\n  constexpr int KernelCount = sizeof(ncclKerns)/sizeof(ncclKerns[0]);\n  ncclResult_t result = ncclSuccess;\n\n  if (maxStackSize) *maxStackSize = 0;\n  int carveout = ncclParamL1SharedMemoryCarveout();\n\n  int WarpSize = -1;\n  int cudaDev = -1;\n  CUDACHECK(cudaGetDevice(&cudaDev));\n  CUDACHECK(hipDeviceGetAttribute(&WarpSize, hipDeviceAttributeWarpSize, cudaDev));\n  int ncclMaxSharedMem = rcclShmemDynamicSize(cudaArch, WarpSize);\n\n#ifdef GENERATE_SYM_KERNELS\n  for (int sym=0; sym <= 1; sym++) {\n    int kcount = sym==0 ? KernelCount : ncclSymKernelCount;\n    for (int k=0; k < kcount; k++) {\n      void* fn = sym==0 ? ncclKerns[k].kernelFn : ncclSymKernelList[k];\n#else\n  for (int k = 0; k < KernelCount; k++) {\n    void* fn = ncclKerns[k].kernelFn;\n#endif\n      cudaFuncAttributes attr = {0};\n      if (fn == nullptr) continue;\n\n      cudaError_t errcode = cudaFuncGetAttributes(&attr, fn);\n      if (errcode != cudaSuccess) continue; // Silently ignore failures\n      if (maxStackSize) {\n        if (attr.localSizeBytes > *maxStackSize) *maxStackSize = attr.localSizeBytes;\n      }\n      if (carveout) {\n        CUDACHECKGOTO(cudaFuncSetAttribute(fn,\n          cudaFuncAttributePreferredSharedMemoryCarveout, carveout),\n          result, ignore1);\n      ignore1:;\n      }\n      if (ncclMaxSharedMem != 0) {\n        int sharedMemSize = ncclMaxSharedMem;\n        if (sharedMemSize > (maxSharedMem-attr.sharedSizeBytes)) {\n          WARN(\"cudaArch %d ncclMaxSharedMem %d exceeds device/fn maxSharedMem %zu\",\n               cudaArch, sharedMemSize, maxSharedMem-attr.sharedSizeBytes);\n          return ncclSystemError;\n        }\n        CUDACHECKGOTO(cudaFuncSetAttribute(fn,\n          cudaFuncAttributeMaxDynamicSharedMemorySize, sharedMemSize),\n          result, next_kernel);\n      }\n    next_kernel:;\n    }\n#ifdef GENERATE_SYM_KERNELS\n  }\n#endif\n  return result;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Data movement metrics.\n\nstatic inline int ncclFuncTrafficPerByte(ncclFunc_t func, int nRanks) {\n  switch (func) {\n  case ncclFuncAllReduce: return 2;\n  case ncclFuncAllGather: return nRanks;\n  case ncclFuncReduceScatter: return nRanks;\n  default: return 1;\n  }\n}\n\nRCCL_PARAM_DECLARE(EnableProxyTrace);\n/*****************************************************************************/\n/*       Launch system : synchronization and CUDA kernel launch              */\n/*****************************************************************************/\nstatic ncclResult_t addProxyOpIfNeeded(struct ncclComm* comm, struct ncclKernelPlan* plan, struct ncclProxyOp* op) {\n  bool needed = true;\n  if (rcclParamEnableProxyTrace()) {\n    op->traceKey.commHash = comm->commHash;\n    op->traceKey.opCount = comm->opCount;\n  }\n  NCCLCHECK(ncclProxySaveOp(comm, op, &needed));\n  if (needed) {\n    struct ncclProxyOp* q = ncclMemoryPoolAlloc<struct ncclProxyOp>(&comm->memPool_ncclProxyOp, &comm->memPermanent);\n    *q = *op; // C++ struct assignment\n    ncclIntruQueueEnqueue(&comm->planner.wipPlan.channels[op->channelId].proxyOpQueue, q);\n  }\n  return ncclSuccess;\n}\n\nstatic void addWorkBatchToPlan(\n    struct ncclComm* comm, struct ncclKernelPlan* plan, int channelId,\n    enum ncclDevWorkType workType, int devFuncId, uint32_t workOffset,\n    int p2pRound = -1, bool batchP2P = false\n  ) {\n  ncclKernelPlanner::WipPlan::Channel* chan = &comm->planner.wipPlan.channels[channelId];\n  size_t workSize = ncclDevWorkSize(workType);\n  // Conditions causing us to create a new blank batch.\n  bool newBatch = (chan->workBatchQueue.tail == nullptr);\n  struct ncclDevWorkBatch* batch = nullptr;\n  if (!newBatch) {\n    batch = &chan->workBatchQueue.tail->batch;\n    // All of the conditions that prevent us from appending to current batch.\n    newBatch |= batch->workType != (uint8_t)workType;\n    newBatch |= batch->funcId != devFuncId;\n    // The following ensure the device can handle a batch this large. They have to\n    // account for all extension batches being fused together which is why\n    // wipBatch.workBytes and wipBatch.nP2ps aren't reset to 0 for a new extension\n    // batch further down.\n    newBatch |= NCCL_MAX_DEV_WORK_BATCH_BYTES < chan->wipBatch.workBytes + workSize;\n    if (workType == ncclDevWorkTypeP2p) {\n      newBatch |= (comm->nNodes > 2 && batchP2P)? (chan->wipBatch.nP2ps == NCCL_MAX_DEV_WORK_P2P_PER_BATCH) : (chan->wipBatch.nP2ps == 1);\n      for (int i=0; i < chan->wipBatch.nP2ps; i++) {\n        newBatch |= p2pRound == chan->wipBatch.p2pRounds[i];\n      }\n    }\n  }\n  // Conditions causing us to create an extension batch (prev->nextExtends=1)\n  uint32_t offset = newBatch ? 0 : (workOffset - batch->offsetBase);\n  bool extendBatch = 63*workSize < offset;\n  extendBatch |= 0 != offset%workSize;\n  if (newBatch || extendBatch) {\n    if (!newBatch) batch->nextExtends = extendBatch; // Extending the previous batch.\n    struct ncclWorkBatchList* batchNode = ncclMemoryStackAlloc<ncclWorkBatchList>(&comm->memScoped);\n    // Coverity thinks that ncclIntruQueueEnqueue will access chan->workBatchQueue->tail, which might\n    // be NULL.  But that code is guarded by chan->workBatchQueue->head not being NULL, in which\n    // case tail won't be NULL either.\n    // coverity[var_deref_model:FALSE]\n    ncclIntruQueueEnqueue(&chan->workBatchQueue, batchNode);\n    batch = &batchNode->batch;\n    batch->nextExtends = 0;\n    batch->workType = (uint32_t)workType;\n    batch->funcId = devFuncId;\n    batch->offsetBase = workOffset;\n    batch->offsetBitset = 0;\n    offset = 0;\n    if (newBatch) {\n      // Since extension batches are fused together on the device, and these values\n      // account for constraints on the fused batch, we only reset the values on\n      // a new batch\n      chan->wipBatch.workBytes = 0;\n      chan->wipBatch.nP2ps = 0;\n      // We don't count extension batches since this is used to derive a proxyOpCount,\n      // and we wan't all ops which are fused together to have the same value.\n      chan->nWorkBatchesP2p += (workType == ncclDevWorkTypeP2p ? 1 : 0);\n    }\n    plan->nWorkBatches += 1;\n  }\n  batch->offsetBitset |= 1ull<<(offset/workSize);\n  chan->wipBatch.workBytes += workSize;\n  if (workType == ncclDevWorkTypeP2p) {\n    // We need to ensure that a single batch doesn't have multiple p2p's\n    // of the same round since they would use the same connections.\n    chan->wipBatch.p2pRounds[chan->wipBatch.nP2ps++] = p2pRound;\n  }\n}\n\nstatic void finishPlan(struct ncclComm* comm, struct ncclKernelPlan* plan) {\n  ncclKernelPlanner::WipPlan::Channel* wipChannels = comm->planner.wipPlan.channels;\n  size_t workBytes = plan->workBytes;\n  size_t batchBytes = plan->nWorkBatches*sizeof(struct ncclDevWorkBatch);\n\n  if (plan->isSymColl) return;\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#else\n  plan->threadPerBlock = std::max(plan->threadPerBlock, 256 /*NCCL_MIN_NTHREADS*/);\n#endif\n  // If we can fit everything into the kernel args we do so.\n  if (sizeof(ncclDevKernelArgs) + batchBytes + workBytes <= comm->workArgsBytes) {\n    plan->workStorageType = ncclDevWorkStorageTypeArgs;\n  }\n  plan->kernelArgsSize = sizeof(struct ncclDevKernelArgs) + batchBytes;\n  plan->kernelArgsSize += (plan->workStorageType == ncclDevWorkStorageTypeArgs) ? workBytes : 0;\n  plan->kernelArgsSize = alignUp(plan->kernelArgsSize, 16);\n  plan->kernelArgs = (struct ncclDevKernelArgs*)ncclMemoryStackAlloc(&comm->memScoped, plan->kernelArgsSize, /*align=*/16);\n  plan->kernelArgs->comm = comm->devComm;\n  plan->kernelArgs->channelMask = plan->channelMask;\n  plan->kernelArgs->workStorageType = plan->workStorageType;\n\n  // Put batches into the kernel arguments. The first batch for each channel\n  // must be located at batchZero[blockIdx.x]. To achieve this we round robin\n  // over the channels in ascending order until they're exhausted.\n  struct channelMasks hasBatchMask = plan->channelMask;\n  struct ncclDevWorkBatch* batchPrev[MAXCHANNELS] = {}; // {0...}\n  struct ncclDevWorkBatch* batchZero = (struct ncclDevWorkBatch*)(plan->kernelArgs+1);\n\n  // [RCCL] Preparing batchZero slightly different to support > 64 Channels\n  //        Need to ensure that all channels are processed first before dealing with\n  //        adding additional batches\n  int batchIx = 0;\n  int done = 0;\n  while (!done) {\n    done = 1;\n    for (int c = 0; c < MAXCHANNELS; c++) {\n      if (hasBatchMask.masks[c / 64] & (1ULL << (c%64))) {\n        if (!ncclIntruQueueEmpty(&wipChannels[c].workBatchQueue)) {\n          struct ncclWorkBatchList* batchNode = ncclIntruQueueDequeue(&wipChannels[c].workBatchQueue);\n          if (batchPrev[c] != nullptr) {\n            batchPrev[c]->nextJump = int(&batchZero[batchIx] - batchPrev[c]);\n          }\n          batchPrev[c] = &batchZero[batchIx];\n          batchZero[batchIx++] = batchNode->batch;\n        }\n        if (ncclIntruQueueEmpty(&wipChannels[c].workBatchQueue)) {\n          hasBatchMask.masks[c / 64] ^= (1ULL << (c%64));\n        } else {\n          done = 0;\n        }\n      }\n    }\n  }\n\n  // Merge-sort per-channel proxy-op lists by opCount when merging them into plan->proxyOpQueue\n  // Phase 1: scan first op of each channel, store opCount in headIds[c].\n  uint64_t headIds[MAXCHANNELS];\n  int nHeads = 0;\n  int channelUbound = 0;\n  for (int c=0; c < MAXCHANNELS; c++) {\n    struct ncclProxyOp* op = ncclIntruQueueHead(&wipChannels[c].proxyOpQueue);\n    headIds[c] = op ? op->opCount : uint64_t(-1);\n    if (op) nHeads += 1;\n    if (op) plan->hasProxyOps = true;\n    if (op) channelUbound = c+1;\n  }\n  // Phase 2: Dequeue from planner->channels[c], enqueue in merged order to plan\n  while (nHeads != 0) {\n    int c = -1;\n    uint64_t minId = uint64_t(-1);\n    // Find channel with least proxy-op id. We store the heads[c]->opCount in\n    // headIds[c] to remove indirect loads from this loop.\n    for (int c1=0; c1 < channelUbound; c1++) {\n      uint64_t id = headIds[c1];\n      id = (id>>1 | id<<63); // Move tag bit to order collectives before p2p's\n      if (id < minId) { c = c1; minId = id; }\n    }\n    struct ncclProxyOp* op = ncclIntruQueueDequeue(&wipChannels[c].proxyOpQueue);\n    struct ncclProxyOp* opNext = ncclIntruQueueHead(&wipChannels[c].proxyOpQueue);\n    headIds[c] = opNext ? opNext->opCount : uint64_t(-1);\n    nHeads -= opNext ? 0 : 1;\n    ncclIntruQueueEnqueue(&plan->proxyOpQueue, op);\n  }\n}\n\nNCCL_PARAM(GraphRegister, \"GRAPH_REGISTER\", 0); // LWPCOMMLIBS-632: off by default for RCCL as unsupported feature.\n\nstatic ncclResult_t getCollNetSupport(struct ncclComm* comm, struct ncclTaskColl* task, int* collNetSupport);\nrccl_static ncclResult_t getAlgoInfo(\n  struct ncclComm* comm, struct ncclTaskColl* task,\n  int collNetSupport, int nvlsSupport, int numPipeOps, ncclSimInfo_t* simInfo = NULL\n);\nstatic ncclResult_t calcCollChunking(\n  struct ncclComm* comm, struct ncclTaskColl* task, int nChannels, size_t nBytes,\n  /*outputs*/uint32_t* outChunkSize, uint32_t* outDirectFlags, struct ncclProxyOp* proxyOp\n);\n\nstruct ncclKernelPlanBudget {\n  ssize_t inArgsBytes; // Space available within kernel args struct\n  ssize_t outArgsBytes; // Space available outside of args struct (fifo or persistent buf)\n};\n\nstatic bool testBudget(\n    struct ncclKernelPlanBudget* budget, int nWorkBatches, ssize_t workBytes\n  ) {\n  ssize_t batchBytes = nWorkBatches*sizeof(struct ncclDevWorkBatch);\n  bool ok = false;\n  ok |= (batchBytes + workBytes <= budget->inArgsBytes);\n  ok |= (batchBytes <= budget->inArgsBytes) && (workBytes <= budget->outArgsBytes);\n  return ok;\n}\n\n// Returns whether this should be disabled at the device level.  Should be called after devWork fields have been set for what\n// it depends on.\nbool gfx9CheapFenceOff(const ncclDevWorkColl& devWork, bool disabledByPrecheck){\n    bool fenceOk = devWork.regUsed == 0 && devWork.netRegUsed == 0 && !disabledByPrecheck;\n    return !fenceOk;\n}\n\nncclResult_t ncclTasksRegAndEnqueue(struct ncclComm* comm) {\n  struct ncclKernelPlanner* planner = &comm->planner;\n  struct ncclTaskColl *task;\n  task = ncclIntruQueueHead(&planner->collTaskQueue);\n  while (task != nullptr) {\n    // Build a ncclDevWorkColl[Reg?] struct for each task.\n    void* regBufSend[NCCL_MAX_LOCAL_RANKS];\n    void* regBufRecv[NCCL_MAX_LOCAL_RANKS];\n    bool regNeedConnect = true;\n    struct ncclWorkList* workNode = NULL;\n    struct ncclDevWorkColl devWork = {};\n\n    if (task->algorithm == NCCL_ALGO_NVLS_TREE || task->algorithm == NCCL_ALGO_NVLS) {\n      workNode = ncclIntruQueueDequeue(&planner->tmpCollWorkQueue);\n      goto next;\n    }\n    ncclRegisterCollBuffers(comm, task, regBufSend, regBufRecv, &planner->collCleanupQueue, &regNeedConnect);\n\n    devWork.sendbuff = (void*)task->sendbuff;\n    devWork.recvbuff = (void*)task->recvbuff;\n    devWork.acc = (void*)task->acc;\n    devWork.sendbuffOffset = task->sendbuffOffset;\n    devWork.recvbuffOffset = task->recvbuffOffset;\n    devWork.sendbuffRmtAddrs = task->sendbuffRmtAddrs;\n    devWork.recvbuffRmtAddrs = task->recvbuffRmtAddrs;\n    devWork.root = task->root;\n    devWork.nWarps = task->nWarps;\n    devWork.redOpArg = task->opDev.scalarArg;\n    devWork.redOpArgIsPtr = task->opDev.scalarArgIsPtr;\n    devWork.oneNode = (comm->nNodes == 1);\n    devWork.rcclUseOneSlice = comm->rcclUseOneSlice;\n    //[Added-comment] opCount is missing for collDevWork, adding here\n    devWork.opCount = task->opCount;\n#ifdef ENABLE_ROCSHMEM\n    if (comm->enableRocshmem && task->func == ncclFuncAllToAllGda) {\n        devWork.enableRocshmem = comm->enableRocshmem;\n        devWork.team = comm->team_reduce_world_dup;\n\n        devWork.sndbuff = (void*)comm->sourceRshmem[comm->symId];\n        devWork.tempbuff = (void*)comm->destRshmem[comm->symId];\n\n        comm->symId = (comm->symId + 1) % comm->numSymBuf;\n\n        devWork.size = task->count;\n    }\n#endif\n\n    devWork.isOneRPN = comm->isOneRPN;\n    devWork.netRegUsed = devWork.regUsed = 0;\n    devWork.gfx9CheapFenceOff = gfx9CheapFenceOff(devWork, comm->gfx9CheapFenceOff);\n    devWork.profilerEnabled = ncclProfilerPluginLoaded() && (task->eActivationMask & ncclProfileKernelCh);\n    if (task->regBufType & NCCL_NET_REG_BUFFER)\n      devWork.netRegUsed = 1;\n    if (task->regBufType & (NCCL_IPC_REG_BUFFER | NCCL_NVLS_REG_BUFFER))\n      devWork.regUsed = 1;\n\n    if (task->regBufType & NCCL_NVLS_REG_BUFFER) {\n      struct ncclDevWorkCollReg workReg = {};\n      workReg.coll = devWork; // C++ struct assignment\n      /* NVLS only has one send and recv buffer registered */\n      workReg.dnInputs[0] = regBufSend[0];\n      workReg.dnOutputs[0] = regBufRecv[0];\n      workNode = ncclMemoryStackAllocInlineArray<ncclWorkList, ncclDevWorkCollReg>(&comm->memScoped, 1);\n      workNode->workType = ncclDevWorkTypeCollReg;\n      workNode->size = sizeof(struct ncclDevWorkCollReg);\n      memcpy((void*)(workNode+1), (void*)&workReg, workNode->size);\n    } else {\n      workNode = ncclMemoryStackAllocInlineArray<ncclWorkList, ncclDevWorkColl>(&comm->memScoped, 1);\n      workNode->workType = ncclDevWorkTypeColl;\n      workNode->size = sizeof(struct ncclDevWorkColl);\n      memcpy((void*)(workNode+1), (void*)&devWork, workNode->size);\n    }\nnext:\n    ncclIntruQueueEnqueue(&planner->collWorkQueue, workNode);\n    task = task->next;\n  }\n  assert(ncclIntruQueueEmpty(&planner->tmpCollWorkQueue));\n  return ncclSuccess;\n}\n\n// Called once per ncclGroup to organize the user submitted tasks in\n// comm->planner so that they can be peeled off into plans.\nncclResult_t ncclPrepareTasks(struct ncclComm* comm, bool* algoNeedConnect, bool* needConnect, ncclSimInfo_t* simInfo) {\n  struct ncclKernelPlanner* planner = &comm->planner;\n  planner->persistent = ncclCudaGraphValid(planner->capturingGraph);\n\n  // Tasks from the sorter come out ordered size descending.\n  struct ncclTaskColl* task = ncclTaskCollSorterDequeueAll(&planner->collSorter);\n  // Tasks are assembled by (fn,op,ty) size ascending.\n  struct ncclTaskColl* tasksByFnOpTy[ncclNumFuncs*ncclNumDevRedOps*ncclNumTypes];\n  memset(tasksByFnOpTy, 0, sizeof(tasksByFnOpTy));\n  int fnOpTyIndices[ncclNumFuncs*ncclNumDevRedOps*ncclNumTypes];\n  int fnOpTyCount = 0;\n\n  if (comm->symmetricSupport) {\n    NCCLCHECK(ncclMakeSymmetricTaskList(comm, task, &planner->collSymTaskQueue, &task));\n  }\n\n  // Walk the size sorted tasks, binning them by (fn,op,ty).\n  while (task != nullptr) {\n    struct ncclTaskColl* next = task->next;\n    int index = ((int)task->func*ncclNumDevRedOps + (int)task->opDev.op)*ncclNumTypes + (int)task->datatype;\n    // Add to set of (fn,op,ty) indices on first occurrence\n    if (tasksByFnOpTy[index] == nullptr) fnOpTyIndices[fnOpTyCount++] = index;\n    // Add to LIFO for this (fn,op,ty)\n    task->next = tasksByFnOpTy[index];\n    tasksByFnOpTy[index] = task;\n    // Next task\n    task = next;\n  }\n\n  // Walk (fn,op,ty) bins, compute algo and proto etc. Then bin them by their\n  // scheduling constraints (collnet x nvls).\n  struct ncclIntruQueue<struct ncclTaskColl, &ncclTaskColl::next> collBins[2][2] = {};\n  for (int cursor=0; cursor < fnOpTyCount; cursor++) {\n    struct ncclTaskColl* aggBeg = tasksByFnOpTy[fnOpTyIndices[cursor]];\n    int collNetSupport = 0;\n    NCCLCHECK(getCollNetSupport(comm, aggBeg, &collNetSupport));\n    int nvlsSupport = comm->nvlsSupport && (ncclNvlsSupported(aggBeg->opDev.op, aggBeg->datatype) || aggBeg->func == ncclFuncAllGather);\n    // Crudely estimate number of tasks per channel. This is using the wrong number\n    // of channels for NVLS algos, but knowing the algo requires having this value,\n    // so either be crude our iterate until fixed point, we chose the former.\n    int nTasksPerChannel = divUp(comm->planner.nTasksColl, comm->nChannels);\n    do {\n      struct ncclTaskColl* aggEnd = aggBeg->next;\n      struct ncclTaskColl agg = *aggBeg;\n      // We aggregate operations that are within 4X size of each other.\n      while (aggEnd != nullptr && aggEnd->trafficBytes < 4*aggBeg->trafficBytes) {\n        agg.count += aggEnd->count;\n        agg.trafficBytes += aggEnd->trafficBytes;\n        aggEnd = aggEnd->next;\n      }\n\n      NCCLCHECK(getAlgoInfo(comm, &agg, collNetSupport, nvlsSupport, nTasksPerChannel, simInfo));\n      if(agg.func==ncclFuncAllReduce && agg.acc != nullptr)\n        agg.devFuncId = ncclDevFuncId(agg.func, agg.opDev.op, agg.datatype, agg.algorithm, agg.protocol, 1, agg.pipeline);\n      else\n        agg.devFuncId = ncclDevFuncId(agg.func, agg.opDev.op, agg.datatype, agg.algorithm, agg.protocol, 0, agg.pipeline);\n      if (agg.devFuncId < 0) {\n        WARN(\"%s: unsupported collective. Please ensure the collective has been enabled in build.\", __func__);\n        return ncclInvalidUsage;\n      }\n\n      if (!rcclIsArchSupportedForFunc(&agg, comm->archName)) {\n        WARN(\"%s: unsupported architecture (%s) for collective %s(%s, %s, %s, %s, Acc=%d, Pipeline=%d).\",\n          __func__, comm->archName,\n          ncclFuncToString(task->func), ncclAlgoToString(task->algorithm), ncclProtoToString(task->protocol),\n          ncclDevRedOpToString(task->opDev.op), ncclDatatypeToString(task->datatype), (agg.acc != nullptr), agg.pipeline);\n        return ncclInvalidUsage;\n      }\n\n      int isCollnet=0, isNvls=0;\n      switch (agg.algorithm) {\n      case NCCL_ALGO_NVLS:\n      case NCCL_ALGO_NVLS_TREE:\n        isNvls = 1;\n        isCollnet = agg.algorithm == NCCL_ALGO_NVLS && comm->nNodes > 1;\n        break;\n      case NCCL_ALGO_COLLNET_CHAIN:\n      case NCCL_ALGO_COLLNET_DIRECT:\n        isCollnet = 1;\n        break;\n      }\n      // Update the aggregated tasks with the computed values.\n      do {\n        struct ncclTaskColl* next = aggBeg->next;\n        aggBeg->algorithm = agg.algorithm;\n        aggBeg->protocol = agg.protocol;\n        aggBeg->acc = agg.acc;\n        aggBeg->pipeline = agg.pipeline;\n#ifdef ENABLE_WARP_SPEED\n        aggBeg->useWarpSpeed = agg.useWarpSpeed;\n#endif\n        if (aggBeg->protocol == NCCL_PROTO_LL) aggBeg->trafficBytes *= 4;\n        aggBeg->nMaxChannels = agg.nMaxChannels;\n        aggBeg->nWarps = agg.nWarps;\n        aggBeg->devFuncId = agg.devFuncId;\n        aggBeg->isCollnet = isCollnet;\n        aggBeg->isNvls = isNvls;\n        ncclIntruQueueEnqueue(&collBins[isCollnet][isNvls], aggBeg);\n        aggBeg = next;\n      } while (aggBeg != aggEnd);\n    } while (aggBeg != nullptr);\n  }\n\n  // Concatenate `collBins[*][*]` together into final list `planner->collTaskQueue`.\n  // Collnet is the outer dimension since that affects how we divide over the\n  // channels.\n  for (int isCollnet=0; isCollnet <= 1; isCollnet++) {\n    for (int isNvls=0; isNvls <= 1; isNvls++) {\n      ncclIntruQueueTransfer(&planner->collTaskQueue, &collBins[isCollnet][isNvls]);\n    }\n  }\n\n  // Walk tasks again to:\n  // 1. Possibly register buffers.\n  // 2. Build ncclDevWorkColl structs.\n  // 3. Bin the work structs according to the number of valid channels they\n  //    may be assigned to {collnet, nvls, standard}\n  task = ncclIntruQueueHead(&planner->collTaskQueue);\n  while (task != nullptr) {\n    // Build a ncclDevWorkColl[Reg?] struct for each task.\n    void* regBufSend[NCCL_MAX_LOCAL_RANKS];\n    void* regBufRecv[NCCL_MAX_LOCAL_RANKS];\n    bool regNeedConnect = true;\n    ncclRegisterCollNvlsBuffers(comm, task, regBufSend, regBufRecv, &planner->collCleanupQueue, &regNeedConnect);\n\n    if (comm->runtimeConn && comm->initAlgoChannels[task->algorithm] == false) {\n      if (task->algorithm == NCCL_ALGO_NVLS_TREE && comm->initAlgoChannels[NCCL_ALGO_NVLS] == false && regNeedConnect == true) {\n        comm->initAlgoChannels[NCCL_ALGO_NVLS] = true;\n        algoNeedConnect[NCCL_ALGO_NVLS] = true;\n      }\n      if (task->algorithm != NCCL_ALGO_NVLS || regNeedConnect == true) {\n        comm->initAlgoChannels[task->algorithm] = true;\n        algoNeedConnect[task->algorithm] = true;\n        *needConnect = true;\n      }\n    }\n\n    if (task->algorithm == NCCL_ALGO_NVLS_TREE || task->algorithm == NCCL_ALGO_NVLS) {\n      struct ncclDevWorkColl devWork = {};\n      devWork.sendbuff = (void*)task->sendbuff;\n      devWork.recvbuff = (void*)task->recvbuff;\n      devWork.acc = (void*)task->acc;\n      devWork.sendbuffOffset = task->sendbuffOffset;\n      devWork.recvbuffOffset = task->recvbuffOffset;\n      devWork.sendbuffRmtAddrs = task->sendbuffRmtAddrs;\n      devWork.recvbuffRmtAddrs = task->recvbuffRmtAddrs;\n      devWork.root = task->root;\n      devWork.nWarps = task->nWarps;\n      devWork.redOpArg = task->opDev.scalarArg;\n      devWork.redOpArgIsPtr = task->opDev.scalarArgIsPtr;\n      devWork.oneNode = (comm->nNodes == 1);\n      devWork.netRegUsed = devWork.regUsed = 0;\n      devWork.profilerEnabled = ncclProfilerPluginLoaded() && (task->eActivationMask & ncclProfileKernelCh);\n      if (task->regBufType & NCCL_NET_REG_BUFFER)\n        devWork.netRegUsed = 1;\n      if (task->regBufType & (NCCL_IPC_REG_BUFFER | NCCL_NVLS_REG_BUFFER))\n        devWork.regUsed = 1;\n      devWork.pivotA2ANumBiRings = comm->topo->pivotA2ANumBiRings;\n      devWork.opCount = task->opCount;\n\n      struct ncclWorkList* workNode;\n      if (task->regBufType & NCCL_NVLS_REG_BUFFER) {\n        struct ncclDevWorkCollReg workReg = {};\n        workReg.coll = devWork; // C++ struct assignment\n        /* NVLS only has one send and recv buffer registered */\n        workReg.dnInputs[0] = regBufSend[0];\n        workReg.dnOutputs[0] = regBufRecv[0];\n        workNode = ncclMemoryStackAllocInlineArray<ncclWorkList, ncclDevWorkCollReg>(&comm->memScoped, 1);\n        workNode->workType = ncclDevWorkTypeCollReg;\n        workNode->size = sizeof(struct ncclDevWorkCollReg);\n        memcpy((void*)(workNode + 1), (void*)&workReg, workNode->size);\n      } else {\n        workNode = ncclMemoryStackAllocInlineArray<ncclWorkList, ncclDevWorkColl>(&comm->memScoped, 1);\n        workNode->workType = ncclDevWorkTypeColl;\n        workNode->size = sizeof(struct ncclDevWorkColl);\n        memcpy((void*)(workNode + 1), (void*)&devWork, workNode->size);\n      }\n\n      ncclIntruQueueEnqueue(&planner->tmpCollWorkQueue, workNode);\n    }\n    task = task->next;\n  }\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t addProfilerProxyOpIfNeeded(struct ncclComm* comm, struct ncclKernelPlan* plan, struct ncclProxyOp* op) {\n  int tmp = op->pattern;\n  op->pattern = ncclPatternProfiler;\n  ncclResult_t ret = addProxyOpIfNeeded(comm, plan, op);\n  op->pattern = tmp;\n  return ret;\n}\n\nRCCL_PARAM(IntraNetThreshold, \"INTRANET_THRESHOLD\", 8388608);\n\nstatic ncclResult_t scheduleCollTasksToPlan(\n    struct ncclComm* comm, struct ncclKernelPlan* plan, struct ncclKernelPlanBudget* budget\n  ) {\n  struct ncclKernelPlanner* planner = &comm->planner;\n  // Estimate number of tasks that will fit in this plan.\n  int nPlanColls = 0;\n  size_t trafficBytes[2*2] = {0, 0, 0, 0}; // [collnet][nvls]\n  int nChannels[2*2] = {0, 0, 0, 0}; // [collnet][nvls]\n  int const nMaxChannels[2*2] = {comm->nChannels, comm->nvlsChannels, // [collnet][nvls]\n                                 comm->nChannels, std::min(comm->nChannels, comm->nvlsChannels)};\n  constexpr size_t MinTrafficPerChannel = 16 << 10; // 16K traffic as minimal\n  do {\n    size_t workBytes = 0;\n    struct ncclTaskColl* task = ncclIntruQueueHead(&planner->collTaskQueue);\n    struct ncclWorkList* workNode = ncclIntruQueueHead(&planner->collWorkQueue);\n    while (task != nullptr) {\n      int nBatches = divUp(nPlanColls, 4); // Rough guess: 4 colls per batch.\n      if (!testBudget(budget, nBatches, workBytes + workNode->size)) goto plan_full;\n\n      nPlanColls += 1;\n      workBytes += workNode->size;\n      int kind = 2*task->isCollnet + task->isNvls;\n      trafficBytes[kind] += std::max(MinTrafficPerChannel, task->trafficBytes);\n      nChannels[kind] += task->nMaxChannels;\n      nChannels[kind] = std::min(nChannels[kind], nMaxChannels[kind]);\n      task = task->next;\n      workNode = workNode->next;\n    }\n  plan_full:;\n  } while (0);\n\n  int kindPrev = -1;\n  size_t trafficPerChannel = 0;\n  int channelId = 0;\n  size_t currentTraffic = 0;\n\n  size_t channelCounts[MAXCHANNELS];\n  for (int c=0; c<MAXCHANNELS; c++) channelCounts[c] = 0;\n\n  while (nPlanColls!=0 && !ncclIntruQueueEmpty(&planner->collTaskQueue)) {\n    struct ncclTaskColl* task = ncclIntruQueueHead(&planner->collTaskQueue);\n    struct ncclWorkList* workNode = ncclIntruQueueHead(&planner->collWorkQueue);\n    struct ncclDevWorkColl* devWork = (struct ncclDevWorkColl*)(workNode+1);\n    size_t elementSize = ncclTypeSize(task->datatype);\n\n    int kind = 2*task->isCollnet + task->isNvls;\n    if (kind != kindPrev) {\n      trafficPerChannel = std::max<size_t>(MinTrafficPerChannel, trafficBytes[kind]/nChannels[kind]);\n      kindPrev = kind;\n      channelId = 0;\n      currentTraffic = 0;\n    }\n\n    if (task->isCollnet) {\n      int nChannels = task->nMaxChannels;\n      // Ensure room for worst case of one new batch per channel\n      if (!testBudget(budget, plan->nWorkBatches + nChannels, plan->workBytes + workNode->size)) {\n        return ncclSuccess;\n      }\n\n      size_t globalBytesPerElement = elementSize*ncclFuncMaxSendRecvCount(task->func, comm->nRanks, 1);\n      struct ncclProxyOp proxyOp;\n      uint32_t chunkSize, directFlags=0;\n      size_t nBytes = globalBytesPerElement*task->count;\n      NCCLCHECK(calcCollChunking(comm, task, nChannels, nBytes, &chunkSize, &directFlags, &proxyOp));\n      devWork->channelLo = 0;\n      devWork->channelHi = nChannels-1;\n      devWork->collnet.count = task->count;\n      devWork->collnet.chunkCount = chunkSize/ncclTypeSize(task->datatype);\n      devWork->direct = directFlags;\n\n      uint64_t proxyOpId = uint64_t(plan->collOpCount++)<<1 | 0;\n      for (int c=devWork->channelLo; c <= (int)devWork->channelHi; c++) {\n        proxyOp.channelId = c;\n        proxyOp.opCount = proxyOpId;\n        proxyOp.task.coll = task;\n        proxyOp.rank = comm->rank;\n        proxyOp.eActivationMask = task->eActivationMask;\n        proxyOp.incWorkCounter = true;\n        addWorkBatchToPlan(comm, plan, c, workNode->workType, task->devFuncId, plan->workBytes);\n        // Set pattern to profiler to add a proxy profiler for kernel events\n        if (task->func != ncclFuncAllToAllGda) {\n            NCCLCHECK(addProxyOpIfNeeded(comm, plan, &proxyOp));\n            NCCLCHECK(addProfilerProxyOpIfNeeded(comm, plan, &proxyOp));\n\t}\n      }\n    } else { // not task->isCollnet\n      int trafficPerByte = ncclFuncTrafficPerByte(task->func, comm->nRanks);\n      if (task->protocol == NCCL_PROTO_LL) trafficPerByte *= 4;\n      size_t cellSize = divUp(divUp(MinTrafficPerChannel, (size_t)trafficPerByte), 16) * 16;\n      int elementsPerCell = cellSize/elementSize;\n      size_t cells = divUp(task->count*elementSize, cellSize);\n      size_t trafficPerElement = elementSize*trafficPerByte;\n      size_t trafficPerCell = cellSize*trafficPerByte;\n      size_t cellsPerChannel = std::min(cells, divUp(trafficPerChannel, trafficPerCell));\n      size_t cellsLo;\n      if (channelId+1 == nMaxChannels[kind]) { // On last channel everything goes to \"lo\"\n        cellsLo = cells;\n      } else {\n        cellsLo = std::min(cells, divUp((trafficPerChannel-currentTraffic),trafficPerCell));\n      }\n      int nMidChannels = (cells-cellsLo)/cellsPerChannel;\n      size_t cellsHi = (cells-cellsLo)%cellsPerChannel;\n      int nChannels = (cellsLo!=0 ? 1 : 0) + nMidChannels + (cellsHi!=0 ? 1 : 0);\n      if (nMaxChannels[kind] < channelId + nChannels) { // Overflowed available channels\n        nMidChannels = nMaxChannels[kind] - channelId - 2;\n        cellsPerChannel = (cells-cellsLo)/(nMidChannels+1);\n        cellsHi = cellsPerChannel + (cells-cellsLo)%(nMidChannels+1);\n      }\n      if (cellsHi == 0 && nMidChannels != 0) {\n        cellsHi = cellsPerChannel;\n        nMidChannels -= 1;\n      }\n      if (cellsLo == 0) { // Least channel skipped. Make the next channel the new least.\n        channelId += 1;\n        if (nMidChannels == 0) { cellsLo = cellsHi; cellsHi = 0; }\n        else { cellsLo = cellsPerChannel; nMidChannels -= 1; }\n      }\n      size_t countMid = nMidChannels!=0 ? cellsPerChannel*elementsPerCell : 0;\n      size_t countLo = cellsLo*elementsPerCell;\n      size_t countHi = cellsHi*elementsPerCell;\n      (countHi != 0 ? countHi : countLo) -= cells*elementsPerCell - task->count;\n\n      nChannels = (countLo!=0 ? 1 : 0) + nMidChannels + (cellsHi!=0 ? 1 : 0);\n      // Update number of channels propagated to the profiler\n#ifdef ENABLE_WARP_SPEED\n      task->nChannels = nChannels;\n#else\n      task->nChannels = (uint8_t) nChannels;\n#endif\n      // Ensure room for worst case of one new batch per channel\n      if (!testBudget(budget, plan->nWorkBatches + nChannels, plan->workBytes + workNode->size)) {\n        return ncclSuccess;\n      }\n\n      devWork->channelLo = channelId;\n      devWork->channelHi = channelId + nChannels-1;\n      devWork->cbd.countLo = countLo;\n      devWork->cbd.countMid = countMid;\n      devWork->cbd.countHi = countHi;\n\n      // calcCollChunking() uses global bytes instead of traffic which differs\n      // in that allreduce isn't multiplied by 2.\n      size_t globalBytesPerElement = elementSize*ncclFuncMaxSendRecvCount(task->func, comm->nRanks, 1);\n      struct ncclProxyOp proxyOpLo, proxyOpMid, proxyOpHi;\n\n      size_t nBytes = globalBytesPerElement*task->count;\n      devWork->connIndex = 0;\n      if (task->protocol == NCCL_PROTO_SIMPLE && task->algorithm == NCCL_ALGO_RING) {\n        if (comm->useIntraNet && nBytes > rcclParamIntraNetThreshold()) {\n          devWork->connIndex = NCCL_CONN_IDX_P2P_NET;\n        }\n      }\n\n      uint32_t chunkSize, directFlags=0;\n      size_t grainSize = rcclProtoGrainSize(task->protocol, comm);\n\n      if (countLo != 0) {\n        NCCLCHECK(calcCollChunking(comm, task, /*nChannels=*/1, globalBytesPerElement*countLo, &chunkSize, &directFlags, &proxyOpLo));\n        devWork->cbd.chunkGrainsLo = chunkSize/grainSize;\n      }\n      if (countHi != 0) {\n        NCCLCHECK(calcCollChunking(comm, task, /*nChannels=*/1, globalBytesPerElement*countHi, &chunkSize, &directFlags, &proxyOpHi));\n        devWork->cbd.chunkGrainsHi = chunkSize/grainSize;\n      }\n      if (nMidChannels != 0) {\n        NCCLCHECK(calcCollChunking(comm, task, /*nChannels=*/1, globalBytesPerElement*countMid, &chunkSize, &directFlags, &proxyOpMid));\n        devWork->cbd.chunkGrainsMid = chunkSize/grainSize;\n      }\n      devWork->direct = directFlags;\n\n      // Update the current channel and vacant traffic budget.\n      if (countHi != 0) {\n        channelId += nChannels-1;\n        currentTraffic = cellsHi*elementsPerCell*trafficPerElement;\n      } else if (nMidChannels != 0) {\n        channelId += nChannels;\n        currentTraffic = 0;\n      } else {\n        currentTraffic += cellsLo*elementsPerCell*trafficPerElement;\n      }\n\n      if (currentTraffic >= trafficPerChannel && channelId+1 != nMaxChannels[kind]) {\n        channelId += 1;\n        currentTraffic = 0;\n      }\n\n      uint64_t proxyOpId = uint64_t(plan->collOpCount++)<<1 | 0;\n      for (int c=devWork->channelLo; c <= (int)devWork->channelHi; c++) {\n        struct ncclProxyOp* proxyOp;\n        if (c == (int)devWork->channelLo) {\n          proxyOp = &proxyOpLo;\n          proxyOp->loopOffset = 0;\n          proxyOp->channelSize = countLo * elementSize;\n        } else if (c == (int)devWork->channelHi) {\n          proxyOp = &proxyOpHi;\n          proxyOp->loopOffset = (countLo + nMidChannels * countMid) * elementSize;\n          proxyOp->channelSize = countHi * elementSize;\n        } else {\n          proxyOp = &proxyOpMid;\n          proxyOp->loopOffset = (countLo + (c - devWork->channelLo - 1) * countMid) * elementSize;\n          proxyOp->channelSize = countMid * elementSize;\n        }\n        proxyOp->channelId = c;\n        proxyOp->opCount = proxyOpId;\n        proxyOp->task.coll = task;\n        proxyOp->rank = comm->rank;\n        proxyOp->ringAlgo = NULL;\n        if (proxyOp->reg && task->algorithm == NCCL_ALGO_RING && (task->recvNetHandles[c] || task->sendNetHandles[c])) {\n          if (task->func == ncclFuncAllGather) {\n            proxyOp->ringAlgo = new RingAGAlgorithm(task->sendbuff, task->recvbuff, comm->nRanks, comm->channels[c].ring.userRanks, proxyOp->chunkSteps, proxyOp->sliceSteps, proxyOp->chunkSize, proxyOp->sliceSize, proxyOp->loopOffset, proxyOp->channelSize, elementSize, task->count * elementSize, task->sendNetHandles[c], task->recvNetHandles[c], task->srecvNetHandles[c]);\n          } else if (task->func == ncclFuncAllReduce) {\n            proxyOp->ringAlgo = new RingARAlgorithm(task->sendbuff, task->recvbuff, comm->nRanks, comm->channels[c].ring.index, proxyOp->chunkSteps, proxyOp->sliceSteps, proxyOp->chunkSize, proxyOp->sliceSize, proxyOp->loopOffset, proxyOp->channelSize, elementSize, task->sendNetHandles[c], task->recvNetHandles[c], task->srecvNetHandles[c]);\n          } else if (task->func == ncclFuncBroadcast) {\n            proxyOp->ringAlgo = new RingBCAlgorithm(task->sendbuff, task->recvbuff, comm->rank, task->root, comm->nRanks, comm->channels[c].ring.userRanks, proxyOp->chunkSteps, proxyOp->sliceSteps, proxyOp->chunkSize, proxyOp->sliceSize, proxyOp->loopOffset, proxyOp->channelSize, task->sendNetHandles[c], task->recvNetHandles[c], task->srecvNetHandles[c]);\n          }\n          proxyOp->ringAlgo->incRefCount();\n        }\n        proxyOp->eActivationMask = task->eActivationMask;\n        proxyOp->incWorkCounter = true;\n        proxyOp->nChannels = nChannels;\n        proxyOp->connIndex = 0;\n        if (task->protocol == NCCL_PROTO_SIMPLE && task->algorithm == NCCL_ALGO_RING) {\n          if (comm->useIntraNet && nBytes > rcclParamIntraNetThreshold()) {\n            proxyOp->connIndex = NCCL_CONN_IDX_P2P_NET;\n          }\n        }\n        addWorkBatchToPlan(comm, plan, c, workNode->workType, task->devFuncId, plan->workBytes);\n        // Coverity reports \"proxyOp->connection\" as being possibly uninitialized.  It's hard to\n        // determine if that's actually true but it's also not clear if that would be an issue.\n        // coverity[uninit_use_in_call:FALSE]\n        if (task->func != ncclFuncAllToAllGda) {\n            NCCLCHECK(addProxyOpIfNeeded(comm, plan, proxyOp));\n            NCCLCHECK(addProfilerProxyOpIfNeeded(comm, plan, proxyOp));\n        }\n      }\n    }\n\n    for (int c = devWork->channelLo; c <= devWork->channelHi; ++c) {\n      int maskIdx = c / 64;\n      int relativeIdx = c % 64;\n      plan->channelMask.masks[maskIdx] |= (1ull<<relativeIdx);\n    }\n    //plan->channelMask.masks[channelId/64] |= (2ull<<devWork->channelHi) - (1ull<<devWork->channelLo);\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n    plan->threadPerBlock = task->nWarps * comm->WarpSize;\n#else\n    plan->threadPerBlock = std::max(plan->threadPerBlock, 192 /* 3*WARP_SIZE */);\n#endif\n    if (!plan->kernelSpecialized) {\n      plan->kernelFn = ncclKerns[ncclGetKernelIndex(comm)].kernelFn;\n      plan->kernelSpecialized = ncclKerns[ncclGetKernelIndex(comm)].specialized;\n    }\n    // Profiler\n    plan->groupApiEventHandle = task->groupApiEventHandle;\n\n    if (comm->rank == 0) {\n      INFO(NCCL_TUNING, \"%s: %ld Bytes -> Algo %s proto %s channel{Lo..Hi}={%d..%d}\",\n        ncclFuncToString(task->func), task->count * ncclTypeSize(task->datatype), ncclAlgoToString(task->algorithm),\n        ncclProtoToString(task->protocol), devWork->channelLo, devWork->channelHi);\n\n      if (task->isCollnet) {\n        TRACE(NCCL_COLL, \"Collective %s(%s, %s, %s, %s) count=%ld devFuncId=%d channel{Lo..Hi}={%d..%d} count=%ld chunkCount=%d\",\n          ncclFuncToString(task->func), ncclDevRedOpToString(task->opDev.op),\n          ncclDatatypeToString(task->datatype), ncclAlgoToString(task->algorithm),\n          ncclProtoToString(task->protocol),\n          (long)task->count, task->devFuncId, devWork->channelLo, devWork->channelHi,\n          (long)devWork->collnet.count, devWork->collnet.chunkCount);\n      } else {\n        TRACE(NCCL_COLL, \"Collective %s(%s, %s, %s, %s) count=%ld devFuncId=%d channel{Lo..Hi}={%d..%d} count{Lo,Mid,Hi}={%ld,%ld,%ld} chunkBytes{Lo,Mid,Hi}={%d,%d,%d}\",\n          ncclFuncToString(task->func), ncclDevRedOpToString(task->opDev.op),\n          ncclDatatypeToString(task->datatype), ncclAlgoToString(task->algorithm),\n          ncclProtoToString(task->protocol),\n          (long)task->count, task->devFuncId, devWork->channelLo, devWork->channelHi,\n          (long)devWork->cbd.countLo, (long)devWork->cbd.countMid, (long)devWork->cbd.countHi,\n          int(devWork->cbd.chunkGrainsLo*rcclProtoGrainSize(task->protocol, comm)),\n          int(devWork->cbd.chunkGrainsMid*rcclProtoGrainSize(task->protocol, comm)),\n          int(devWork->cbd.chunkGrainsHi*rcclProtoGrainSize(task->protocol, comm)));\n          // channel traffic counter\n          channelCounts[devWork->channelLo] += (long)devWork->cbd.countLo;\n          if (devWork->channelLo != devWork->channelHi) channelCounts[devWork->channelHi] += (long)devWork->cbd.countHi;\n          for (int c=devWork->channelLo+1; c<devWork->channelHi; c++) channelCounts[c] += (long)devWork->cbd.countMid;\n      }\n    }\n\n    for (int i=0; i < task->nCleanupQueueElts; i++) {\n      ncclIntruQueueEnqueue(&plan->cleanupQueue, ncclIntruQueueDequeue(&planner->collCleanupQueue));\n    }\n    ncclIntruQueueDequeue(&planner->collTaskQueue);\n    ncclIntruQueueDequeue(&planner->collWorkQueue);\n    nPlanColls -= 1;\n    planner->nTasksColl -= 1;\n    ncclIntruQueueEnqueue(&plan->collTaskQueue, task);\n    ncclIntruQueueEnqueue(&plan->workQueue, workNode);\n    plan->workBytes += workNode->size;\n  }\n\n  char line[1024];\n  int offset = 0;\n  for (int c=0; c<MAXCHANNELS; c++) {\n    sprintf(line+offset, \"%ld \", channelCounts[c]);\n    offset = strlen(line);\n  }\n  TRACE(NCCL_COLL, \"Channel traffic counts: %s\", line);\n\n  return ncclSuccess;\n}\n\nNCCL_PARAM(P2pLLThreshold, \"P2P_LL_THRESHOLD\", 8192);\nRCCL_PARAM(P2pNetThreshold, \"P2P_NET_THRESHOLD\", 131072);\nNCCL_PARAM(ChunkSize, \"CHUNK_SIZE\", 0);\n\n\n// Need this temporary parameter to disable p2p batching to avoid some dips at 4MB - 32 MB message size at large scale\n// This parameter must be removed after further investigation,\n// Note that NCCL enables batching by default and it is needed to achieve perf for with smaller messages <= 4MB\nRCCL_PARAM(P2pBatchEnable, \"P2P_BATCH_ENABLE\", 0); // 64k\n\n// Put p2p op in plan assuming there is sizeof(ncclDevWorkBatch) in batch budget\n// and sizeof(ncclDevWorkP2p) in work budget. \"sendRank\" and \"recvRank\" must\n// match the corresponding values for this round of the p2p schedule (no -1's).\n// No-op's are encoded with a -1 size.\nstatic ncclResult_t addP2pToPlan(\n    struct ncclComm* comm, struct ncclKernelPlan* plan,\n    int nChannelsMin, int nChannelsMax, int p2pRound,\n    int sendRank, void* sendAddr, ssize_t sendBytes,\n    int recvRank, void* recvAddr, ssize_t recvBytes,\n    uint64_t sendOpCount, uint64_t recvOpCount,\n    const int planTotalTasks[], struct ncclTaskP2p** p2pTasks\n  ) {\n  ncclResult_t ret = ncclSuccess;\n  int connIndex[2] = {1, 1};\n  bool selfSend = (sendRank == comm->rank);\n  // recv: dir=0, send: dir=1\n  void* addrs[2] = {recvAddr, sendAddr};\n  ssize_t bytes[2] = {recvBytes, sendBytes};\n  bool protoLL[2] = {!selfSend, !selfSend};\n  bool network[2] = {false, false};\n  bool proxySameProcess[2] = {true, true};\n  void** handles[2] = {NULL, NULL};\n  auto batchP2PEnableEnv = rcclParamP2pBatchEnable();\n\n  //ncclP2pChannelBaseForRound now computes channel-base based on batching enablement (env. variable RCCL_P2P_BATCH_ENABLE=1)\n  //but batching is only applicable if msg size is below threshold which is not checked below\n  //this causes perf. dips in some cases but also boosts in other cases even when no batching happens because msg size is above threshold\n  //replacing line below with ncclP2pChannelBaseForRound(comm, p2pRound, batchP2P) can cause issues due to ncclP2pChannelBaseForRound calling the same routine\n  //channel base computed in taskAppend and here must be the same, but in taskAppend the call happens once and is cached for later usage, which is why it wouldn't be consistent with the call below\n  uint8_t base = ncclP2pChannelBaseForRound(comm, p2pRound, batchP2PEnableEnv);\n  struct ncclProxyOp proxyOps[2] = {};\n  int nProxyOps = selfSend ? 0 : 2;\n  if (comm->p2pNet) {\n    for (int dir = 0; dir <= 1; dir++) {\n      if (bytes[dir] > rcclParamP2pNetThreshold())\n        connIndex[dir] = NCCL_CONN_IDX_P2P_NET;\n    }\n  }\n\n  if (!selfSend) {\n    for (int part=0; part < nChannelsMax; part++) {\n      int channelId = ncclP2pChannelForPart(comm->p2pnChannels, base, part, nChannelsMax, comm->nNodes);\n      struct ncclChannelPeer** channelPeers = comm->channels[channelId].peers;\n      for (int dir=0; dir <= 1; dir++) {\n        int peerRank = dir ? sendRank : recvRank;\n        struct ncclConnector* conn = dir ? &channelPeers[peerRank]->send[connIndex[dir]]\n                                         : &channelPeers[peerRank]->recv[connIndex[dir]];\n        protoLL[dir] &= conn->conn.buffs[NCCL_PROTO_LL] != nullptr && !IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx12\");\n        network[dir] |= conn->transportComm == (dir ? &netTransport.send : &netTransport.recv);\n        proxySameProcess[dir] &= conn->proxyConn.sameProcess;\n      }\n    }\n  }\n\n  ssize_t thresholdLL = nChannelsMax*ncclParamP2pLLThreshold();\n  ssize_t paramChunkSize = ncclParamChunkSize();\n  // Arrays indexed by dir where recv=0, send=1:\n  int nChannels[2];\n  int protocol[2];\n  int stepSize[2];\n  int chunkSize[2];\n  int chunkDataSize[2];\n  int chunkDataSize_u32fp8[2];\n  bool netRegistered[2] = {false, false};\n  bool ipcRegistered[2] = {false, false};\n\n  for (int dir=0; dir < 2; dir++) { // 0=recv, 1=send\n    if (bytes[dir] != -1) protoLL[dir] &= bytes[dir] <= thresholdLL;\n    protocol[dir] = protoLL[dir] ? NCCL_PROTO_LL : NCCL_PROTO_SIMPLE;\n\n    stepSize[dir] = comm->buffSizes[protocol[dir]]/NCCL_STEPS;\n    if (protocol[dir] == NCCL_PROTO_SIMPLE) stepSize[dir] = comm->p2pChunkSize;\n    chunkSize[dir] = stepSize[dir];\n    if (paramChunkSize != 0) {\n      chunkSize[dir] = paramChunkSize;\n    } else if (network[dir]) {\n      // Tune chunk size for the network\n      if (protocol[dir] == NCCL_PROTO_SIMPLE && bytes[dir] < stepSize[dir]) chunkSize[dir] /= 4;\n      else if (bytes[dir] < 8*stepSize[dir]) chunkSize[dir] /= 2;\n    }\n\n    chunkDataSize[dir] = chunkSize[dir];\n    if (protocol[dir] == NCCL_PROTO_LL) chunkDataSize[dir] /= 2;\n    chunkDataSize_u32fp8[dir] = u32fp8Encode(chunkDataSize[dir]);\n    chunkDataSize[dir] = u32fp8Decode(chunkDataSize_u32fp8[dir]);\n    chunkSize[dir] = chunkDataSize[dir];\n    if (protocol[dir] == NCCL_PROTO_LL) chunkSize[dir] *= 2;\n\n    if (network[dir]) {\n      bool pxnUsed = !ncclPxnDisable(comm) && comm->isAllNvlink && comm->maxLocalRanks > 1;\n      if (bytes[dir] > 0 && proxySameProcess[dir] && protocol[dir] == NCCL_PROTO_SIMPLE && (!pxnUsed)) {\n        int regFlag = 0;\n        NCCLCHECKGOTO(ncclCalloc(&handles[dir], nChannelsMax), ret, cleanup);\n        for (int part = 0; part < nChannelsMax; part++) {\n          int channelId = ncclP2pChannelForPart(comm->p2pnChannels, base, part, nChannelsMax, comm->nNodes);\n          struct ncclChannelPeer** channelPeers = comm->channels[channelId].peers;\n          int peerRank = dir ? sendRank : recvRank;\n          struct ncclConnector* conn = dir ? &channelPeers[peerRank]->send[connIndex[dir]]\n            : &channelPeers[peerRank]->recv[connIndex[dir]];\n          if (conn->conn.flags & NCCL_DIRECT_NIC)\n            ncclRegisterP2pNetBuffer(comm, addrs[dir], bytes[dir], conn, &regFlag, &handles[dir][part], &plan->cleanupQueue);\n          if (!regFlag) break;\n        }\n        netRegistered[dir] = regFlag ? true : false;\n      }\n    } else if (bytes[dir] > 0 && addrs[dir] && protocol[dir] == NCCL_PROTO_SIMPLE && !selfSend) {\n      int peerRank = dir ? sendRank : recvRank;\n      int regFlag = 0;\n      int channelId = ncclP2pChannelForPart(comm->p2pnChannels, base, 0, nChannelsMax, comm->nNodes);\n      struct ncclChannelPeer** channelPeers = comm->channels[channelId].peers;\n      struct ncclConnector* conn = dir ? &channelPeers[peerRank]->send[connIndex[dir]]\n        : &channelPeers[peerRank]->recv[connIndex[dir]];\n      void* regAddr = NULL;\n      if (conn->conn.flags & (NCCL_P2P_WRITE | NCCL_P2P_READ)) {\n        // We require users registering buffers on both sides\n        NCCLCHECKGOTO(ncclRegisterP2pIpcBuffer(comm, addrs[dir], bytes[dir], peerRank, &regFlag, &regAddr, &plan->cleanupQueue), ret, cleanup);\n        if (regFlag) {\n          if (dir == 0 && (conn->conn.flags & NCCL_P2P_WRITE)) recvAddr = regAddr;\n          else if (dir == 1 && (conn->conn.flags & NCCL_P2P_READ)) sendAddr = regAddr;\n        }\n      }\n      ipcRegistered[dir] = regFlag ? true : false;\n    }\n\n    if (bytes[dir] == -1) nChannels[dir] = 0;\n    else if (bytes[dir] == 0) nChannels[dir] = 1;\n    else {\n      ssize_t minPartSize = comm->nNodes > 1 ? stepSize[dir]/2 : stepSize[dir]/8;\n      ssize_t maxPartSize = comm->nNodes > 1 ? stepSize[dir]   : stepSize[dir]*32;\n      nChannels[dir] = std::min<int>(nChannelsMin, divUp(bytes[dir], minPartSize));\n      size_t partSize = std::max(minPartSize, divUp(bytes[dir], nChannels[dir]));\n      while (partSize > maxPartSize && nChannels[dir] <= nChannelsMax/2) {\n        nChannels[dir] *= 2;\n        partSize = divUp(bytes[dir], nChannels[dir]);\n      }\n    }\n    // Update number of channels propagated to the profiler\n    if (p2pTasks[dir]) p2pTasks[dir]->nChannels = nChannels[dir];\n  }\n\n  struct ncclWorkList* workNode;\n  workNode = ncclMemoryStackAllocInlineArray<ncclWorkList, ncclDevWorkP2p>(&comm->memScoped, 1);\n  workNode->workType = ncclDevWorkTypeP2p;\n  workNode->size = sizeof(struct ncclDevWorkP2p);\n  ncclIntruQueueEnqueue(&plan->workQueue, workNode);\n  uint32_t workOffset;\n  workOffset = plan->workBytes;\n  plan->workBytes += sizeof(struct ncclDevWorkP2p);\n\n  struct ncclDevWorkP2p* work;\n  work = (struct ncclDevWorkP2p*)(workNode+1);\n  work->nP2pChannels = comm->p2pnChannels;\n  work->channelBase = base;\n  work->nSendChannels = nChannels[1];\n  work->sendProtoLL = protoLL[1];\n  work->sendNetReg = netRegistered[1];\n  work->sendIpcReg = ipcRegistered[1];\n  work->sendChunkSize_u32fp8 = chunkDataSize_u32fp8[1];\n  work->sendRank = sendRank;\n  work->sendAddr = sendAddr;\n  work->sendBytes = sendBytes==-1 ? 0 : sendBytes;\n  work->sendConnIndex = connIndex[1];\n  work->sendOpCount = sendOpCount;\n  work->nRecvChannels = nChannels[0];\n  work->recvProtoLL = protoLL[0];\n  work->recvNetReg = netRegistered[0];\n  work->recvIpcReg = ipcRegistered[0];\n  work->recvChunkSize_u32fp8 = chunkDataSize_u32fp8[0];\n  work->recvRank = recvRank;\n  work->recvAddr = recvAddr;\n  work->recvBytes = recvBytes==-1 ? 0 : recvBytes;\n  work->profilerEnabled = ncclProfilerPluginLoaded() && ((p2pTasks[0] ? p2pTasks[0] : p2pTasks[1])->eActivationMask & ncclProfileKernelCh);\n  work->recvConnIndex = connIndex[0];\n  work->recvOpCount = recvOpCount;\n\n  for (int dir=0; dir < nProxyOps; dir++) {\n    struct ncclProxyOp* op = &proxyOps[dir];\n    op->root = dir ? sendRank : recvRank;\n    op->sliceSteps = 1;\n    op->chunkSteps = 1;\n    op->dtype = ncclInt8;\n    op->redOp = ncclSum;\n    op->protocol = protocol[dir];\n    op->pattern = dir ? ncclPatternSend : ncclPatternRecv;\n    op->chunkSize = chunkSize[dir];\n    op->reg = netRegistered[dir];\n    op->coll = p2pTasks[dir] ? p2pTasks[dir]->func : 0;\n    op->collAPI = p2pTasks[dir] ? p2pTasks[dir]->collAPI : 0;\n    op->task.p2p = p2pTasks[dir];\n    op->rank = comm->rank;\n    op->eActivationMask = p2pTasks[dir] ? p2pTasks[dir]->eActivationMask : 0;\n    op->connIndex = connIndex[dir];\n    if (rcclParamEnableProxyTrace()) {\n      op->coll =  dir ? ncclFuncSend : ncclFuncRecv;\n    }\n    // The following are modified per channel part in addWorkToChannels():\n    // op->buffer, op->nbytes, op->nsteps = ...;\n  }\n\n  nChannelsMax = std::max(nChannels[0], nChannels[1]);\n  // Determine how many peers this plan will target concurrently. Make a\n  // simplifying assumption that each task targets a different peer.\n  // Each task is striped across 'nChannelsMax' of 'p2pnChannels' channels.\n  // Each channel runs up to NCCL_MAX_DEV_WORK_P2P_PER_BATCH tasks concurrently.\n  int maxConcurrent;\n  int concurrentTasks[2];\n  maxConcurrent = comm->p2pnChannels / nChannelsMax * NCCL_MAX_DEV_WORK_P2P_PER_BATCH;\n  concurrentTasks[0] = std::min(planTotalTasks[0], maxConcurrent);\n  concurrentTasks[1] = std::min(planTotalTasks[1], maxConcurrent);\n  for (int part=0; part < nChannelsMax; part++) {\n    int incWorkCounter = -1;\n    int channelId = ncclP2pChannelForPart(comm->p2pnChannels, base, part, comm->p2pnChannelsPerPeer, comm->nNodes);\n    plan->channelMask.masks[channelId/64] |= uint64_t(1)<<(channelId%64);\n    // Add batch first.\n    int funcIdx = ncclDevFuncId_P2p();\n    addWorkBatchToPlan(comm, plan, channelId, ncclDevWorkTypeP2p, funcIdx, workOffset, p2pRound, batchP2PEnableEnv);\n    if (funcIdx < 0) {\n      WARN(\"%s: unsupported collective. Please ensure the collective has been enabled in build.\", __func__);\n      return ncclInvalidUsage;\n    }\n    // Add proxy ops.\n    for (int dir=0; dir < nProxyOps; dir++) {\n      // Partition steps across channels.\n      int nParts = dir ? work->nSendChannels : work->nRecvChannels;\n      void* addr = dir ? work->sendAddr : work->recvAddr;\n      size_t bytes = dir ? work->sendBytes : work->recvBytes;\n      if (rcclParamEnableProxyTrace()) {\n        proxyOps[dir].totalBytes = bytes;\n      }\n      proxyOps[dir].recvbuff = nullptr;\n      if (nParts <= part) {\n        proxyOps[dir].nsteps = 0;\n      } else if (bytes == 0) {\n        proxyOps[dir].nsteps = 1;\n        proxyOps[dir].nbytes = 0;\n      } else {\n        size_t chunkDataSize = u32fp8Decode(dir ? work->sendChunkSize_u32fp8 : work->recvChunkSize_u32fp8);\n        size_t partBeg, partEnd;\n        ncclP2pPartBounds(nParts, part, bytes, &partBeg, &partEnd);\n        if (proxyOps[dir].reg) {\n          (dir ? proxyOps[dir].sendbuff : proxyOps[dir].recvbuff) = (uint8_t*)addr + partBeg;\n          (dir ? proxyOps[dir].sendMhandle : proxyOps[dir].recvMhandle) = handles[dir][part];\n          proxyOps[dir].nbytes = partEnd - partBeg;\n          proxyOps[dir].nsteps = DIVUP(proxyOps[dir].nbytes, NCCL_MAX_NET_SIZE);\n        } else {\n          proxyOps[dir].nsteps = divUp(partEnd-partBeg, chunkDataSize);\n          proxyOps[dir].nbytes = std::min(partEnd-partBeg, chunkDataSize);\n        }\n        if (proxyOps[dir].protocol == NCCL_PROTO_LL) {\n          proxyOps[dir].nbytes *= 2;\n          proxyOps[dir].nbytes = roundUp(proxyOps[dir].nbytes, sizeof(union ncclLLFifoLine));\n        }\n      }\n\n      // Increment work counter for <send, recv> pair rather than individual p2p\n      if (proxyOps[dir].nsteps && incWorkCounter < 0) {\n        proxyOps[dir].incWorkCounter = true;\n        incWorkCounter = dir;\n      }\n\n      if (proxyOps[dir].nsteps != 0) {\n        // Calculate the opCount after adding batch since then the batch count will\n        // equal one plus the batch index this p2p settled in.\n        proxyOps[dir].channelId = channelId;\n        proxyOps[dir].opCount = uint64_t(comm->planner.wipPlan.channels[channelId].nWorkBatchesP2p)<<1 | 1;\n        proxyOps[dir].nChannels = nChannels[dir];\n        proxyOps[dir].nPeers = concurrentTasks[dir];\n        NCCLCHECKGOTO(addProxyOpIfNeeded(comm, plan, &proxyOps[dir]), ret, cleanup);\n        NCCLCHECKGOTO(addProfilerProxyOpIfNeeded(comm, plan, &proxyOps[dir]), ret, cleanup);\n      }\n    }\n  }\ncleanup:\n  free(handles[0]);\n  free(handles[1]);\n  return ret;\n}\n\nstatic int calcP2pChannelCount(size_t totalSize, int minChannels, int maxChannels, size_t minSize, size_t maxSize) {\n  size_t size = std::max(minSize, divUp(totalSize, minChannels));\n  int nChannels = minChannels;\n  while (size > maxSize && nChannels <= maxChannels/2) {\n    nChannels *= 2;\n    size = divUp(totalSize, nChannels);\n  }\n  return nChannels;\n}\n\nstatic ncclResult_t scheduleP2pTasksToPlan(\n    struct ncclComm* comm, struct ncclKernelPlan* plan, struct ncclKernelPlanBudget* budget\n  ) {\n  int nRanks = comm->nRanks;\n  struct ncclKernelPlanner::Peer* peers = comm->planner.peers;\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  plan->threadPerBlock = std::max(plan->threadPerBlock, RCCL_P2P_MAX_NTHREADS);\n#else\n  plan->threadPerBlock = std::max(plan->threadPerBlock, NCCL_MAX_NTHREADS);\n#endif\n  if (!plan->kernelSpecialized) {\n    plan->kernelFn = ncclKerns[ncclGetKernelIndex(comm)].kernelFn;\n    plan->kernelSpecialized = ncclKerns[ncclGetKernelIndex(comm)].specialized;\n  }\n\n  // Compute how much to split operations\n  // Try to use all channels\n  int nChannelsMax = comm->p2pnChannelsPerPeer;\n  int nChannelsMin = nChannelsMax;\n  // Try to use all channels, but one channel per operation.\n  while (nChannelsMin*nRanks > comm->p2pnChannels && nChannelsMin > 1) nChannelsMin /= 2;\n\n  // Save the total count of send/recv tasks in the plan\n  int planTotalTasks[2] = {comm->planner.nTasksP2pRecv, comm->planner.nTasksP2pSend};\n  while (comm->planner.nTasksP2p != 0) {\n    for (int round=0; round < nRanks; round++) {\n      int sendRank = comm->p2pSchedule[round].sendRank;\n      int recvRank = comm->p2pSchedule[round].recvRank;\n      struct ncclTaskP2p* send = ncclIntruQueueHead(&peers[sendRank].sendQueue);\n      struct ncclTaskP2p* recv = ncclIntruQueueHead(&peers[recvRank].recvQueue);\n      if (send == nullptr && recv == nullptr) continue;\n\n      if (sendRank == comm->rank) {\n        if (send != nullptr && recv == nullptr) {\n          WARN(\"Trying to send to self without a matching recv\");\n          return ncclInvalidUsage;\n        }\n        if (send == nullptr && recv != nullptr) {\n          WARN(\"Trying to recv to self without a matching send\");\n          return ncclInvalidUsage;\n        }\n      }\n      ssize_t sendBytes = send ? send->bytes : -1;\n      ssize_t recvBytes = recv ? recv->bytes : -1;\n      void* sendBuff = send ? send->buff : nullptr;\n      void* recvBuff = recv ? recv->buff : nullptr;\n      // Add check to keep in-place send to self when P2P batching is enabled\n      // Such case is not supported currently and is causing hangs\n      if (sendRank == comm->rank && send->buff == recv->buff && rcclParamP2pBatchEnable() == 0) {\n        // Skip send to self in-place (we don't need to support this).\n        ncclIntruQueueDequeue(&peers[sendRank].sendQueue);\n        ncclIntruQueueDequeue(&peers[recvRank].recvQueue);\n        ncclMemoryPoolFree(&comm->memPool_ncclTaskP2p, send);\n        ncclMemoryPoolFree(&comm->memPool_ncclTaskP2p, recv);\n        comm->planner.nTasksP2p -= 2;\n        comm->planner.nTasksP2pSend -= 1;\n        comm->planner.nTasksP2pRecv -= 1;\n      } else {\n        // Ensure room for worst case of one new batch per channel.\n        if (!testBudget(budget, plan->nWorkBatches+nChannelsMax, plan->workBytes + sizeof(struct ncclDevWorkP2p))) {\n          return ncclSuccess;\n        }\n        struct ncclTaskP2p* p2pTasks[2] = { recv, send };\n        NCCLCHECK(addP2pToPlan(comm, plan, nChannelsMin, nChannelsMax, round, sendRank, sendBuff, sendBytes, recvRank, recvBuff, recvBytes, send ? send->opCount : 0, recv ? recv->opCount : 0, planTotalTasks, p2pTasks));\n        if (send != nullptr) {\n          ncclIntruQueueDequeue(&peers[sendRank].sendQueue);\n          // Profiler - We can overwrite groupAPI event handles here since all operations here belong to the same group\n          plan->groupApiEventHandle = send->groupApiEventHandle;\n          ncclIntruQueueEnqueue(&plan->p2pTaskQueue, send);\n          comm->planner.nTasksP2p -= 1;\n          comm->planner.nTasksP2pSend -= 1;\n        }\n        if (recv != nullptr) {\n          ncclIntruQueueDequeue(&peers[recvRank].recvQueue);\n          // Profiler - We can overwrite groupAPI event handles here since all operations here belong to the same group\n          plan->groupApiEventHandle = recv->groupApiEventHandle;\n          ncclIntruQueueEnqueue(&plan->p2pTaskQueue, recv);\n          comm->planner.nTasksP2p -= 1;\n          comm->planner.nTasksP2pRecv -= 1;\n        }\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\n// Spin until its safe to increase comm->workFifoProduced to desiredProduced.\nstatic ncclResult_t waitWorkFifoAvailable(struct ncclComm* comm, uint32_t desiredProduced) {\n  bool hasRoom = (desiredProduced - comm->workFifoConsumed) <= comm->workFifoBytes;\n  uint64_t count = 0;\n  int warned = 0;\n  if (!hasRoom) {\n    while (true) {\n      NCCLCHECK(ncclCommPollEventCallbacks(comm, /*waitSome=*/true));\n      hasRoom = (desiredProduced - comm->workFifoConsumed) <= comm->workFifoBytes;\n      if (hasRoom) break;\n      sched_yield();\n\n      /* Warn if we get stuck waiting for workFifo. */\n      count++;\n      if (warned == 0 && count == 100000 && comm->rank == 0) {\n        warned = 1;\n        WARN(\"Waiting for work FIFO to become available. \"\n            \"Work fifo exhaustion can happen in large scale/high iteration count of alltoall. \"\n            \"In order to increase work FIFO size, set NCCL_WORK_FIFO_BYTES to higher number (current: %ld).\\n\\n\"\n            \"RCCL continues to retry...\", comm->workFifoBytes);\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nnamespace {\n  struct uploadWork_cleanup_t {\n    struct ncclCommEventCallback base;\n    void *hostBuf;\n  };\n  ncclResult_t uploadWork_cleanup_fn(\n      struct ncclComm* comm, struct ncclCommEventCallback* cb\n    ) {\n    struct uploadWork_cleanup_t* me = (struct uploadWork_cleanup_t*)cb;\n    free(me->hostBuf);\n    CUDACHECK(cudaEventDestroy(me->base.event));\n    free(me);\n    return ncclSuccess;\n  }\n}\n\nstatic ncclResult_t uploadWork(struct ncclComm* comm, struct ncclKernelPlan* plan) {\n  if (plan->isSymColl || plan->isCeColl) return ncclSuccess;\n\n  size_t workBytes = plan->workBytes;\n  size_t batchBytes = plan->nWorkBatches*sizeof(struct ncclDevWorkBatch);\n  void* fifoBufHost;\n  uint32_t fifoCursor, fifoMask;\n\n  switch (plan->workStorageType) {\n  case ncclDevWorkStorageTypeArgs:\n    plan->kernelArgs->workBuf = nullptr;\n    fifoBufHost = (void*)plan->kernelArgs;\n    fifoCursor = sizeof(ncclDevKernelArgs) + batchBytes;\n    fifoMask = ~0u;\n    break;\n  case ncclDevWorkStorageTypeFifo:\n    fifoBufHost = comm->workFifoBuf;\n    fifoCursor = comm->workFifoProduced;\n    fifoMask = comm->workFifoBytes-1;\n    NCCLCHECK(waitWorkFifoAvailable(comm, fifoCursor + workBytes));\n    plan->kernelArgs->workBuf = comm->workFifoBufDev;\n    break;\n  case ncclDevWorkStorageTypePersistent:\n    // We rely on 16-byte alignment\n    #if __cplusplus >= 201103L\n    fifoBufHost = aligned_alloc(16, ROUNDUP(workBytes, 16));\n    #else\n    static_assert(16 <= alignof(max_align_t), \"We rely on 16-byte alignment.\");\n    fifoBufHost = malloc(workBytes);\n    #endif\n    if (fifoBufHost == nullptr) {\n      WARN(\"Failed to allocate %zu bytes for work FIFO buffer\", workBytes);\n      return ncclSystemError;\n    }\n    fifoCursor = 0;\n    fifoMask = ~0u;\n    break;\n  default:\n    return ncclInternalError;\n  }\n  plan->kernelArgs->workMask = fifoMask;\n\n  // Batches were placed after kernelArgs by finishPlan(). Only thing left to\n  // do is translate the work offset from zero based (in plan) to:\n  //  ncclDevWorkStorageTypeArgs: offset from beginning of kernel args\n  //  ncclDevWorkStorageTypeFifo: offset from base of fifo\n  //  ncclDevWorkStorageTypePersistent: no translation since our dedicated buffer will also begin at zero.\n  struct ncclDevWorkBatch* batchZero = (struct ncclDevWorkBatch*)(plan->kernelArgs+1);\n  for (int b=0; b < plan->nWorkBatches; b++) {\n    batchZero[b].offsetBase += fifoCursor;\n  }\n\n  // Write the channel-shared work structs.\n  struct ncclWorkList* workNode = ncclIntruQueueHead(&plan->workQueue);\n  while (workNode != nullptr) {\n    char* dst = (char*)fifoBufHost;\n    char* src = (char*)(workNode+1);\n    for (int n = workNode->size; n != 0; n -= 16) {\n      memcpy(\n        __builtin_assume_aligned(dst + (fifoCursor & fifoMask), 16),\n        __builtin_assume_aligned(src, 16),\n        16\n      );\n      fifoCursor += 16;\n      src += 16;\n    }\n    workNode = workNode->next;\n  }\n\n  switch (plan->workStorageType) {\n  case ncclDevWorkStorageTypeFifo:\n    comm->workFifoProduced = fifoCursor;\n    if (comm->workFifoBufGdrHandle != nullptr) wc_store_fence();\n    break;\n  case ncclDevWorkStorageTypePersistent:\n    { ncclResult_t result = ncclSuccess;\n      struct uploadWork_cleanup_t* cleanup = nullptr;\n      cudaStreamCaptureMode mode = cudaStreamCaptureModeRelaxed;\n      void* fifoBufDev = nullptr;\n      cudaStream_t deviceStream;\n\n      CUDACHECKGOTO(cudaThreadExchangeStreamCaptureMode(&mode), result, fail);\n\n      // Acquire deviceStream. Since the user's graph will be launched later and it also\n      // acquires the deviceStream, it will observe this upload.\n      NCCLCHECKGOTO(ncclStrongStreamAcquire(ncclCudaGraphNone(), &comm->sharedRes->deviceStream, /*concurrent=*/false, &deviceStream), result, fail);\n\n      CUDACHECKGOTO(cudaMallocAsync(&fifoBufDev, workBytes, comm->memPool, deviceStream), result, fail);\n      plan->workBufPersistent = fifoBufDev;\n      plan->kernelArgs->workBuf = fifoBufDev;\n\n      // coverity[uninit_use_in_call:FALSE] => fifoBufHost is never NULL\n      CUDACHECKGOTO(cudaMemcpyAsync(fifoBufDev, fifoBufHost, workBytes, cudaMemcpyDefault, deviceStream), result, fail);\n      cudaEvent_t memcpyDone;\n      CUDACHECKGOTO(cudaEventCreateWithFlags(&memcpyDone, cudaEventDisableTiming), result, fail);\n      CUDACHECKGOTO(cudaEventRecord(memcpyDone, deviceStream), result, fail);\n\n      NCCLCHECKGOTO(ncclCalloc(&cleanup, 1), result, fail);\n      cleanup->base.fn = uploadWork_cleanup_fn;\n      cleanup->base.event = memcpyDone;\n      cleanup->hostBuf = fifoBufHost;\n      ncclIntruQueueEnqueue(&comm->eventCallbackQueue, (struct ncclCommEventCallback *)cleanup);\n\n      NCCLCHECKGOTO(ncclStrongStreamRelease(ncclCudaGraphNone(), &comm->sharedRes->deviceStream, /*concurrent=*/false), result, fail);\n      NCCLCHECKGOTO(ncclCommPollEventCallbacks(comm, /*waitSome=*/false), result, fail);\n\n    finish_scope:\n      if (mode != cudaStreamCaptureModeRelaxed) (void)cudaThreadExchangeStreamCaptureMode(&mode);\n      return result;\n    fail:\n      if (!cleanup) free(fifoBufHost);\n      goto finish_scope;\n    } break;\n  default: break;\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t uploadProxyOps(struct ncclComm* comm, struct ncclKernelPlan* plan) {\n  uint64_t collOpCount = comm->sharedRes->collOpCount;\n  uint64_t p2pOpBump[MAXCHANNELS] = {/*0...*/};\n  // Advance comm's collOpCount by number of colls in this plan.\n  int hasp2p = 0;\n  comm->sharedRes->collOpCount += plan->collOpCount;\n  comm->collOpCount += plan->collOpCount;\n\n  struct ncclProxyOp* op = ncclIntruQueueHead(&plan->proxyOpQueue);\n  while (op != nullptr) {\n    op->profilerContext = comm->profilerContext;\n    op->eActivationMask = op->coll <= ncclFuncAllReduce ? op->task.coll->eActivationMask : op->task.p2p->eActivationMask;\n    op->taskEventHandle = op->coll <= ncclFuncAllReduce ? op->task.coll->eventHandle : op->task.p2p->eventHandle;\n    ncclProfilerAddPidToProxyOp(op);\n\n    uint64_t oldId = op->opCount;\n    // Ignoring the bottom tag bit, opCount's are zero-based within plan so\n    // translate them to the tip of the comm's history.\n    if (oldId & 1) { // p2p\n      // opCount is monotonic increasing within a plan's channel so just\n      // remember last value to compute max.\n      p2pOpBump[op->channelId] = (oldId>>1) + 1; // +1 to ensure next plan doesn't collide\n      op->opCount = (comm->sharedRes->p2pOpCount[op->channelId]<<1) + oldId;\n      hasp2p = 1;\n    } else { // coll\n      op->opCount = (collOpCount<<1) + oldId;\n    }\n\n    NCCLCHECK(ncclProxySaveOp(comm, op, nullptr));\n    op->opCount = oldId; // Restore for next uploadProxyOps()\n    op = op->enqNext;\n  }\n\n  if (hasp2p) {\n    for (int c=0; c < MAXCHANNELS; c++) {\n      // Advance channel's p2pOpCount by number of p2p's in this plan channel.\n      comm->sharedRes->p2pOpCount[c] += p2pOpBump[c];\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t hostStreamPlanTask(struct ncclComm* comm, struct ncclKernelPlan* plan) {\n  NCCLCHECK(ncclProfilerStartGroupEvent(plan));\n  NCCLCHECK(ncclProfilerStartTaskEvents(plan));\n  if (ncclIntruQueueHead(&plan->proxyOpQueue)) {\n    \tNCCLCHECK(uploadProxyOps(comm, plan));\n    \tNCCLCHECK(ncclProxyStart(comm));\n  }\n  NCCLCHECK(ncclProfilerStopTaskEvents(plan));\n  NCCLCHECK(ncclProfilerStopGroupEvent(plan));\n  if (!plan->persistent) {\n    // Notify main thread of our reclaiming. This will reclaim plan concurrently.\n    ncclIntruQueueMpscEnqueue(&comm->callbackQueue, &plan->reclaimer);\n  }\n  return ncclSuccess;\n}\n\nstatic void HIPRT_CB hostStreamPlanCallback(void *plan_) {\n  NCCL_NVTX3_FUNC_RANGE;\n  struct ncclKernelPlan* plan = (struct ncclKernelPlan*)plan_;\n  ncclResult_t result = hostStreamPlanTask(plan->comm, plan);\n  if (result != ncclSuccess) {\n    WARN(\"hostStreamPlanCallback() failed : %s\", ncclGetErrorString(result));\n  }\n  return;\n}\n\nstatic ncclResult_t reclaimPlan(struct ncclComm* comm, struct ncclCommCallback* me) {\n  struct ncclKernelPlan* plan = (struct ncclKernelPlan*)me; // cast from first member `reclaim`\n  if (plan->persistent) {\n    comm->sharedRes->persistentRefs -= 1;\n    comm->localPersistentRefs -= 1;\n    if (plan->workStorageType == ncclDevWorkStorageTypePersistent) {\n      cudaStreamCaptureMode mode = cudaStreamCaptureModeRelaxed;\n      CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n      CUDACHECK(cudaFree(plan->workBufPersistent));\n      CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n    }\n  }\n  if (plan->isSymColl) {\n    free(plan->kernelSymArgs);\n  }\n  // Free coll tasks\n  struct ncclTaskColl* ct = ncclIntruQueueHead(&plan->collTaskQueue);\n  while (ct != nullptr) {\n    struct ncclTaskColl* ct1 = ct->next;\n    free(ct->sendNetHandles);\n    free(ct->recvNetHandles);\n    free(ct->srecvNetHandles);\n    ncclMemoryPoolFree(&comm->memPool_ncclTaskColl, ct);\n    ct = ct1;\n  }\n  // Free p2p tasks\n  struct ncclTaskP2p* pt = ncclIntruQueueHead(&plan->p2pTaskQueue);\n  while (pt != nullptr) {\n    struct ncclTaskP2p* pt1 = pt->next;\n    ncclMemoryPoolFree(&comm->memPool_ncclTaskP2p, pt);\n    pt = pt1;\n  }\n  // Free proxy ops\n  struct ncclProxyOp* q = ncclIntruQueueHead(&plan->proxyOpQueue);\n  while (q != nullptr) {\n    struct ncclProxyOp* q1 = q->enqNext;\n    if (q->ringAlgo && q->ringAlgo->decRefCount() == 0) delete q->ringAlgo;\n    ncclMemoryPoolFree(&comm->memPool_ncclProxyOp, q);\n    q = q1;\n  }\n  // Run other free callbacks\n  ncclResult_t result = ncclSuccess;\n  while (!ncclIntruQueueEmpty(&plan->cleanupQueue)) {\n    struct ncclCommCallback* cb = ncclIntruQueueDequeue(&plan->cleanupQueue);\n    ncclResult_t res1 = cb->fn(comm, cb); // Expect to reclaim memory of cb\n    if (res1 != ncclSuccess) result = res1;\n  }\n  NCCLCHECK(result);\n  // Free plan struct\n  ncclMemoryPoolFree(&comm->memPool_ncclKernelPlan, plan);\n  return ncclSuccess;\n}\n\nstatic void persistentDestructor(void* plans_) {\n  struct ncclKernelPlan* plan = (struct ncclKernelPlan*)plans_;\n  struct ncclComm* comm = plan->comm;\n  while (plan != nullptr) {\n    struct ncclKernelPlan* next = plan->next;\n    ncclIntruQueueMpscEnqueue(&comm->callbackQueue, &plan->reclaimer);\n    plan = next;\n  }\n}\n\nNCCL_PARAM(LaunchOrderImplicit, \"LAUNCH_ORDER_IMPLICIT\", 0);\n\nnamespace {\n  enum ncclImplicitOrder {\n    ncclImplicitOrderNone,\n    ncclImplicitOrderSerial,\n    ncclImplicitOrderLaunch\n  };\n}\n\nstatic ncclResult_t getImplicitOrder(enum ncclImplicitOrder *mode, bool capturing, int driver=-1) {\n  if (ncclParamLaunchOrderImplicit()) {\n#if !defined(__HIP_PLATFORM_AMD__) || !defined(__HIPCC__)\n    if (driver < 0) { NCCLCHECK(ncclCudaDriverVersion(&driver)); }\n    if (capturing && driver < 12090) { *mode = ncclImplicitOrderSerial; return ncclSuccess; }\n    *mode = 12030 <= std::min<int>(CUDART_VERSION, driver) ? ncclImplicitOrderLaunch : ncclImplicitOrderSerial;\n#else\n    *mode = ncclImplicitOrderSerial;\n#endif\n    return ncclSuccess;\n  }\n  *mode = ncclImplicitOrderNone;\n  return ncclSuccess;\n}\n\nncclResult_t ncclLaunchPrepare(struct ncclComm* comm) {\n  ncclResult_t result = ncclSuccess;\n  struct ncclKernelPlanner* planner = &comm->planner;\n  bool persistent = ncclCudaGraphValid(planner->capturingGraph);\n  planner->persistent = persistent;\n  int nPlans = 0;\n\n  if (planner->nTasksColl + planner->nTasksP2p != 0 ||\n      !ncclIntruQueueEmpty(&planner->collSymTaskQueue) ||\n      !ncclIntruQueueEmpty(&planner->collCeTaskQueue)) {\n    do {\n      memset(&planner->wipPlan, 0, sizeof(planner->wipPlan));\n\n      struct ncclKernelPlan* plan = ncclMemoryPoolAlloc<struct ncclKernelPlan>(&comm->memPool_ncclKernelPlan, &comm->memPermanent);\n      plan->comm = comm;\n      plan->reclaimer.fn = reclaimPlan;\n      plan->persistent = persistent;\n      // finishPlan() promotes ncclDevWorkStorageType[Fifo|Persistent]->Args if the work can fit.\n      plan->workStorageType = persistent ? ncclDevWorkStorageTypePersistent\n                                         : ncclDevWorkStorageTypeFifo;\n\n      if (!ncclIntruQueueEmpty(&planner->collCeTaskQueue)) {\n        struct ncclTaskColl* task = ncclIntruQueueHead(&planner->collCeTaskQueue);\n        plan->isCeColl = true;\n        plan->ceCollArgs = ncclMemoryStackAlloc<struct ncclCeCollArgs>(&comm->memScoped);\n        plan->ceCollArgs->rootRank = task->root;\n        plan->ceCollArgs->nElts = task->count;\n        plan->ceCollArgs->eltSize = ncclTypeSize(task->datatype);\n        plan->ceCollArgs->sendBuff = (uint8_t*)task->sendbuff;\n        plan->ceCollArgs->recvBuff = (uint8_t*)task->recvbuff;\n        plan->ceCollArgs->func = task->func;\n        plan->ceCollArgs->sendWin = task->sendWin;\n        plan->ceCollArgs->recvWin = task->recvWin;\n\n        ncclIntruQueueEnqueue(&planner->planQueue, plan);\n        ncclIntruQueueDequeue(&planner->collCeTaskQueue);\n        ncclMemoryPoolFree(&comm->memPool_ncclTaskColl, task);\n        nPlans += 1;\n      } else {\n\tif (!ncclIntruQueueEmpty(&planner->collSymTaskQueue)) {\n          NCCLCHECKGOTO(ncclSymmetricTaskScheduler(comm, &planner->collSymTaskQueue, plan), result, failure);\n        }\n        else {\n          struct ncclKernelPlanBudget budget;\n          budget.inArgsBytes = comm->workArgsBytes - sizeof(struct ncclDevKernelArgs);\n          // Non-persistent kernels fill up at most half of our fifo per kernel.\n          budget.outArgsBytes = plan->persistent ? (1<<30) : comm->workFifoBytes/2;\n\n          // Drain coll tasks first. This is essential since we partition tasks based\n          // on the work budget and p2p work isn't collective. If we were to drain p2p\n          // first, the place where we cut the kernel could vary by rank which would\n          // cause the \"shortest channel first\" channel picker to have divergent results.\n          if (planner->nTasksColl != 0) {\n            NCCLCHECKGOTO(scheduleCollTasksToPlan(comm, plan, &budget), result, failure);\n          }\n          // And only drain p2p tasks once colls are depleted.\n          if (planner->nTasksColl == 0 && planner->nTasksP2p != 0) {\n            NCCLCHECKGOTO(scheduleP2pTasksToPlan(comm, plan, &budget), result, failure);\n          }\n        }\n\n        finishPlan(comm, plan);\n        if (plan->workBytes != 0) {\n          ncclIntruQueueEnqueue(&planner->planQueue, plan);\n          nPlans += 1;\n        }\n      }\n    } while (planner->nTasksColl + planner->nTasksP2p != 0 ||\n             !ncclIntruQueueEmpty(&planner->collSymTaskQueue) ||\n             !ncclIntruQueueEmpty(&planner->collCeTaskQueue));\n\n    struct ncclKernelPlan* planHead = ncclIntruQueueHead(&planner->planQueue);\n    planner->unlaunchedPlansHead = planHead;\n\n    if (nPlans == 0) return ncclSuccess;\n\n    cudaStream_t launchStream = planner->streams->stream;\n    cudaStream_t deviceStream, launchOrder;\n    NCCLCHECKGOTO(ncclStrongStreamAcquire(planner->capturingGraph, &comm->sharedRes->deviceStream, /*concurrent=*/false, &deviceStream), result, failure);\n\n    if (persistent || planner->numStreams != 1) {\n      // userStream[0] waits on each userStream[i]...\n      for (struct ncclCudaStreamList* l=planner->streams->next; l != nullptr; l = l->next) {\n        CUDACHECKGOTO(cudaEventRecord(comm->sharedRes->scratchEvent, l->stream), result, failure);\n        CUDACHECKGOTO(cudaStreamWaitEvent(launchStream, comm->sharedRes->scratchEvent, 0), result, failure);\n      }\n      // userStream[0] waits on deviceStream\n      NCCLCHECKGOTO(ncclStreamWaitStream(launchStream, deviceStream, comm->sharedRes->scratchEvent), result, failure);\n    } else if (planner->streams->stream != comm->lastStream && comm->lastStream != nullptr && !persistent) {\n      // Stream changed from last call, create dependency against last NCCL kernel launch\n      CUDACHECKGOTO(hipStreamWaitEvent(planner->streams->stream, comm->doneEvent, 0), result, failure);\n    }\n\n    bool capturing = ncclCudaGraphValid(planner->capturingGraph);\n    enum ncclImplicitOrder implicitOrder;\n    cudaError_t status = cudaSuccess;\n    NCCLCHECKGOTO(getImplicitOrder(&implicitOrder, capturing), result, failure);\n\n    if (implicitOrder != ncclImplicitOrderNone) {\n      // userStream[0] waits on per-device (context) launchOrder. Concurrent strong stream access is\n      // required if this is a graph capture, non-captured cannot be concurrent because that would violate\n      // deterministic program order of launches.\n      bool concurrent = capturing;\n      NCCLCHECKGOTO(ncclStrongStreamAcquire(planner->capturingGraph, &comm->context->launchOrder, concurrent, &launchOrder), result, failure);\n      NCCLCHECKGOTO(ncclStreamWaitStream(launchStream, launchOrder, comm->sharedRes->scratchEvent), result, failure);\n    }\n\n    if (!persistent && comm->sharedRes->persistentRefs) status = cudaEventQuery(comm->sharedRes->hostStream.serialEvent);\n    if (persistent || ncclCudaLaunchBlocking || status == cudaErrorNotReady) {\n      // We have to launch host tasks to push proxy args. We are careful to only\n      // do this if necessary since host tasks impose a high performance cost in CUDA.\n      bool acquired = false;\n      cudaStream_t hostStream;\n      for (struct ncclKernelPlan* plan=planHead; plan != nullptr; plan = plan->next) {\n        if (plan->hasProxyOps) {\n          if (!acquired) {\n            acquired = true;\n            NCCLCHECKGOTO(ncclStrongStreamAcquire(planner->capturingGraph, &comm->sharedRes->hostStream, /*concurrent=*/false, &hostStream), result, failure);\n          }\n          plan->isHostCbEnq = true;\n          CUDACHECKGOTO(cudaLaunchHostFunc(hostStream, hostStreamPlanCallback, plan), result, failure);\n        }\n      }\n      if (acquired) {\n        // Make to-be-launched kernels dependent on just-launched host stream tasks.\n        NCCLCHECKGOTO(ncclStreamWaitStream(launchStream, hostStream, comm->sharedRes->scratchEvent), result, failure);\n        NCCLCHECKGOTO(ncclStrongStreamRelease(planner->capturingGraph, &comm->sharedRes->hostStream, /*concurrent=*/false), result, failure);\n      }\n    }\n\n    if (persistent) {\n      comm->sharedRes->persistentRefs += nPlans;\n      comm->localPersistentRefs += nPlans;\n      NCCLCHECKGOTO(ncclCudaGraphAddDestructor(planner->capturingGraph, persistentDestructor, (void*)planHead), result, failure);\n    }\n  }\nfailure:\n  return result;\n}\n\nncclResult_t ncclLaunchKernelBefore_NoUncapturedCuda(struct ncclComm* comm, struct ncclKernelPlan* plan) {\n  // This code is called after we've checked in to the intra-process barrier\n  // but before launching the kernel. We are not allowed to call CUDA unless the\n  // kernel launch is captured.\n  NCCLCHECK(uploadWork(comm, plan));\n  return ncclSuccess;\n}\n\n#if CUDART_VERSION >= 12000\n// NCCL uses the \"Remote\" Mem Sync domain by default\nNCCL_PARAM(MemSyncDomain, \"MEM_SYNC_DOMAIN\", cudaLaunchMemSyncDomainRemote);\n#endif\n\nncclResult_t ncclLaunchKernel(struct ncclComm* comm, struct ncclKernelPlan* plan) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclKernelPlanner* planner = &comm->planner;\n  int nChannels = 0;\n  for (int i = 0; i < MAXCHANNELS/64; i++)\n    nChannels += countOneBits(plan->channelMask.masks[i]);\n  void* sym = plan->kernelFn;\n#ifdef ENABLE_WARP_SPEED\n  rcclSetWarpSpeedSupportAndFinalCuCount(comm, plan, nChannels, plan->kernelArgs->comm->warpLevelComm, nChannels);\n#endif\n  dim3 grid = {(unsigned)nChannels, 1, 1};\n  dim3 block = {(unsigned)plan->threadPerBlock, 1, 1};\n  int smem = rcclShmemDynamicSize(comm->cudaArch, comm->WarpSize);\n  cudaStream_t launchStream = planner->streams->stream;\n\n  NCCLCHECK(ncclProfilerStartKernelLaunchEvent(plan, launchStream));\n  \n  void* extra[] = {plan->kernelArgs, &plan->kernelArgsSize};\n\n  auto event = latency_profiler::collTraceAquireEventBaseline(plan, launchStream);\n  if (planner->numStreams == 1 && !plan->persistent) {\n    latency_profiler::collTraceRecordStartEvent(comm, launchStream, event.get());\n    comm->lastStream = planner->streams->stream;\n    CUDACHECKGOTO(hipExtLaunchKernel(plan->kernelFn, grid, block, extra, 0, launchStream, NULL, comm->doneEvent, 0), ret, do_return);\n\n    latency_profiler::collTraceRecordEndEvent(comm, plan, launchStream, std::move(event));\n    return ncclSuccess;\n  }\n\n  // CUfunction fn;\n  // CUDACHECK(cudaGetFuncBySymbol(&fn, sym));\n\n#if !defined(__HIP_PLATFORM_AMD__) || !defined(__HIPCC__)\n  int driverVersion;\n  NCCLCHECKGOTO(ncclCudaDriverVersion(&driverVersion), ret, do_return);\n\n  CUfunction fn;\n  CUDACHECKGOTO(cudaGetFuncBySymbol(&fn, sym), ret, do_return);\n\n  if (CUDART_VERSION >= 11080 && driverVersion >= 11080) {\n  #if CUDART_VERSION >= 11080\n    int compCap = comm->compCap;\n    unsigned int clusterSize = (compCap >= 90) ? comm->config.cgaClusterSize : 0;\n\n    CUlaunchConfig launchConfig = {0};\n    CUlaunchAttribute launchAttrs[6] = {};\n    int attrs = 0;\n    /* Cooperative Group Array (CGA)\n     * On sm90 and later we have an extra level of hierarchy where we\n     * can group together several blocks within the Grid, called\n     * Thread Block Clusters.\n     * Clusters enable multiple thread blocks running concurrently\n     * across multiple SMs to synchronize and collaboratively fetch\n     * and exchange data. A cluster of blocks are guaranteed to be\n     * concurrently scheduled onto a group of SMs.\n     * The maximum value is 8 and it must be divisible into the grid dimensions\n     */\n    if (clusterSize) {\n      // Grid dimension must be divisible by clusterSize\n      if (grid.x % clusterSize) clusterSize = 1;\n      launchAttrs[attrs].id = CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION;\n      launchAttrs[attrs++].value.clusterDim = {clusterSize, 1, 1};\n      launchAttrs[attrs].id = CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE;\n      launchAttrs[attrs++].value.clusterSchedulingPolicyPreference = CU_CLUSTER_SCHEDULING_POLICY_SPREAD;\n    }\n    #if CUDART_VERSION >= 12000\n    if (compCap >= 90 && driverVersion >= 12000) {\n      // Set the NCCL Mem Sync domain on CUDA 12.0 and later (sm90)\n      launchAttrs[attrs].id = CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN;\n      launchAttrs[attrs++].value.memSyncDomain = (CUlaunchMemSyncDomain) ncclParamMemSyncDomain();\n    }\n    #endif\n    #if CUDART_VERSION >= 12030\n    enum ncclImplicitOrder implicitOrder;\n    NCCLCHECKGOTO(getImplicitOrder(&implicitOrder, plan->persistent, driverVersion), ret, do_return);\n    if (implicitOrder == ncclImplicitOrderLaunch) {\n      launchAttrs[attrs].id = CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT;\n      launchAttrs[attrs].value.launchCompletionEvent.event = comm->sharedRes->launchEvent;\n      launchAttrs[attrs].value.launchCompletionEvent.flags = 0;\n      attrs++;\n    }\n    if (plan->isSymColl && compCap >= 90 && driverVersion >= 12030) {\n      launchAttrs[attrs].id = CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION;\n      launchAttrs[attrs].value.programmaticStreamSerializationAllowed = 1;\n      attrs++;\n    }\n    #endif\n    #if CUDART_VERSION >= 13000\n    if (compCap >= 100 && driverVersion >= 13000) {\n      launchAttrs[attrs].id = CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING;\n      launchAttrs[attrs].value.nvlinkUtilCentricScheduling = comm->config.nvlinkCentricSched;\n      attrs++;\n    }\n    #endif\n    launchConfig.gridDimX = grid.x;\n    launchConfig.gridDimY = grid.y;\n    launchConfig.gridDimZ = grid.z;\n    launchConfig.blockDimX = block.x;\n    launchConfig.blockDimY = block.y;\n    launchConfig.blockDimZ = block.z;\n    launchConfig.sharedMemBytes = smem;\n    launchConfig.attrs = launchAttrs;\n    launchConfig.numAttrs = attrs;\n    launchConfig.hStream = launchStream;\n\n    latency_profiler::collTraceRecordStartEvent(comm, launchStream, event.get());\n    CUCHECKGOTO(cuLaunchKernelEx(&launchConfig, fn, nullptr, extra), ret, do_return);\n    latency_profiler::collTraceRecordEndEvent(comm, plan, launchStream, std::move(event));\n  #endif\n  } else {\n    // Standard kernel launch\n    latency_profiler::collTraceRecordStartEvent(comm, launchStream, event.get());\n    CUCHECKGOTO(cuLaunchKernel(fn, grid.x, grid.y, grid.z, block.x, block.y, block.z, smem, launchStream, nullptr, extra), ret, do_return);\n    latency_profiler::collTraceRecordEndEvent(comm, plan, launchStream, std::move(event));\n  }\n#endif\n  // Standard kernel launch\n  //cuLaunchKernel(sym, grid.x, grid.y, grid.z, block.x, block.y, block.z, smem, launchStream, nullptr, extra);\n  latency_profiler::collTraceRecordStartEvent(comm, launchStream, event.get());\n  CUDACHECKGOTO(cudaLaunchKernel(sym, grid, block, extra, smem, launchStream), ret, do_return);\n  latency_profiler::collTraceRecordEndEvent(comm, plan, launchStream, std::move(event));\n\ndo_return:\n  NCCLCHECK(ncclProfilerStopKernelLaunchEvent(plan));\n  return ret;\n}\n\nncclResult_t ncclLaunchKernelAfter_NoCuda(struct ncclComm* comm, struct ncclKernelPlan* plan) {\n  if (!plan->isHostCbEnq) {\n    // we are not using the host stream for proxy ops and reclaimation submission, call\n    // hostStreamPlanTask directly\n    NCCLCHECK(hostStreamPlanTask(comm, plan));\n  }\n\n  // Increment the opCount for intranode comms as well. Previously if proxyOpQueue was empty\n  // opCount was not incremented because ncclProxyStart wasn't called in hostStreamPlanTask\n  if (!plan->persistent && ncclIntruQueueHead(&plan->proxyOpQueue) == nullptr) {\n    comm->opCount++;\n  }\n  return ncclSuccess;\n}\n\nnamespace {\n  struct KernelFinishCallback {\n    struct ncclCommEventCallback base;\n    uint32_t workFifoConsumed;\n  };\n  ncclResult_t KernelFinishCallback_fn(\n      struct ncclComm* comm, struct ncclCommEventCallback* cb\n    ) {\n    struct KernelFinishCallback* me = (struct KernelFinishCallback*)cb;\n    comm->workFifoConsumed = me->workFifoConsumed;\n    CUDACHECK(cudaEventDestroy(me->base.event));\n    free(me);\n    return ncclSuccess;\n  }\n}\n\nncclResult_t ncclLaunchFinish(struct ncclComm* comm) {\n  struct ncclKernelPlanner* planner = &comm->planner;\n  if (!ncclIntruQueueEmpty(&planner->planQueue)) {\n    // Reset queue to empty without destroying plans since those will be sent\n    // back to us for reclaiming via callbackQueue.\n    ncclIntruQueueConstruct(&planner->planQueue);\n\n    bool capturing = ncclCudaGraphValid(planner->capturingGraph);\n    cudaStream_t launchStream = planner->streams->stream; // First user stream gets launch\n    cudaStream_t deviceStream, launchOrder;\n    cudaEvent_t finishedEvent = comm->sharedRes->scratchEvent;\n\n    if (comm->workFifoProduced - comm->workFifoProducedLastRecorded > comm->workFifoBytes/8) {\n      comm->workFifoProducedLastRecorded = comm->workFifoProduced;\n      struct KernelFinishCallback* cb;\n      NCCLCHECK(ncclCalloc(&cb, 1));\n      cb->base.event = finishedEvent;\n      cb->base.fn = KernelFinishCallback_fn;\n      cb->workFifoConsumed = comm->workFifoProduced;\n      ncclIntruQueueEnqueue(&comm->eventCallbackQueue, &cb->base);\n      // We just stole scratchEvent so must create a new one.\n      CUDACHECK(cudaEventCreateWithFlags(&comm->sharedRes->scratchEvent, cudaEventDisableTiming));\n    }\n\n    if (capturing || planner->numStreams != 1 || ncclParamLaunchOrderImplicit()) {\n      CUDACHECK(cudaEventRecord(finishedEvent, launchStream));\n      // deviceStream waits on userStream[0]\n      NCCLCHECK(ncclStrongStreamAcquiredWorkStream(planner->capturingGraph, &comm->sharedRes->deviceStream, /*concurrent=*/false, &deviceStream));\n\n      // We know that deviceStream is strictly behind the launchStream because launchStream\n      // synced with it before kernel launch. This allows us to to see deviceStream waiting\n      // on launchStream as a fast-forward. When building CUDA graphs fast forwards should\n      // be handled specially so as not to create graphs with a blowup in the number of edges.\n      // So we could do this:\n      //   CUDACHECK(cudaStreamWaitEvent(deviceStream, finishedEvent, 0));\n      // But instead we do:\n      NCCLCHECK(ncclStreamAdvanceToEvent(planner->capturingGraph, deviceStream, finishedEvent));\n\n      // Each userStream[i] waits on userStream[0]\n      for (struct ncclCudaStreamList* l=planner->streams->next; l != nullptr; l = l->next) {\n        CUDACHECK(cudaStreamWaitEvent(l->stream, finishedEvent, 0));\n      }\n    }\n    enum ncclImplicitOrder implicitOrder;\n    NCCLCHECK(getImplicitOrder(&implicitOrder, capturing));\n    if (implicitOrder != ncclImplicitOrderNone) {\n      // As in ncclLaunchPrepare, strong stream can be non-concurrent when non-captured.\n      bool concurrent = capturing;\n      // Incorporate launch event into per-device (context) launch order.\n      NCCLCHECK(ncclStrongStreamAcquiredWorkStream(planner->capturingGraph, &comm->context->launchOrder, concurrent, &launchOrder));\n      // If we don't have launch events (requires CUDA 12.3) then just use completion event (serialize execution).\n      CUDACHECK(cudaStreamWaitEvent(launchOrder, implicitOrder == ncclImplicitOrderLaunch ? comm->sharedRes->launchEvent : finishedEvent));\n      // Release launchOrder as acquired in ncclLaunchPrepare()\n      NCCLCHECK(ncclStrongStreamRelease(planner->capturingGraph, &comm->context->launchOrder, concurrent));\n    }\n    // Release deviceStream as acquired in ncclLaunchPrepare()\n    NCCLCHECK(ncclStrongStreamRelease(planner->capturingGraph, &comm->sharedRes->deviceStream, /*concurrent=*/false));\n  }\n  return ncclSuccess;\n}\n\n/*****************************************************************************/\n/* Enqueueing system : computation of kernel and proxy operations parameters */\n/*****************************************************************************/\n\nstatic inline ncclResult_t getCollNetSupport(\n    struct ncclComm* comm, struct ncclTaskColl* info, int* collNetSupport\n  ) {\n  // Translate ncclAvg and PreMulSum\n  ncclRedOp_t netOp = info->opHost;\n  if (info->opDev.op == ncclDevPreMulSum || info->opDev.op == ncclDevSumPostDiv) {\n    netOp = ncclSum;\n  }\n  *collNetSupport = comm->config.collnetEnable;\n  switch (info->func) {\n  case ncclFuncAllReduce:\n  case ncclFuncReduce:\n  case ncclFuncReduceScatter:\n    *collNetSupport &= comm->collNetSupportMatrix[netOp][info->datatype];\n    break;\n  default:\n    break;\n  }\n  return ncclSuccess;\n}\n\nstatic void initCollCostTable(float** collCostTable) {\n  float (*table)[NCCL_NUM_PROTOCOLS] = (float (*)[NCCL_NUM_PROTOCOLS])collCostTable;\n  for (int a = 0; a < NCCL_NUM_ALGORITHMS; a++) {\n    for (int p = 0; p < NCCL_NUM_PROTOCOLS; p++) {\n      table[a][p] = NCCL_ALGO_PROTO_IGNORE;\n    }\n  }\n}\n\n// numPipeOps: number of pipelined ops. Can be greater than 1 in aggregation mode. Used to adjust latency.\nstatic ncclResult_t updateCollCostTable(\n    struct ncclComm* comm, struct ncclTaskColl* info, size_t nBytes,\n    int collNetSupport, int nvlsSupport, int numPipeOps,\n    float** collCostTable) {\n  float (*table)[NCCL_NUM_PROTOCOLS] = (float (*)[NCCL_NUM_PROTOCOLS])collCostTable;\n\n  if (comm->nRanks == 1 || info->func == ncclFuncAlltoAllPivot || info->func == ncclFuncAllToAllGda) {\n    table[NCCL_ALGO_RING][NCCL_PROTO_SIMPLE] = 0.0;\n    return ncclSuccess;\n  }\n\n  for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) {\n    if ((a == NCCL_ALGO_COLLNET_DIRECT || a == NCCL_ALGO_COLLNET_CHAIN) && collNetSupport != 1) continue;\n    // CollNetDirect is only supported for up to 8 local GPUs\n    if (a == NCCL_ALGO_COLLNET_DIRECT && comm->maxLocalRanks > NCCL_MAX_DIRECT_ARITY+1) continue;\n    // Disable CollNet Chain for more than 8 local GPUs\n    if (a == NCCL_ALGO_COLLNET_CHAIN && comm->maxLocalRanks > NCCL_MAX_DIRECT_ARITY+1) continue;\n    if ((a == NCCL_ALGO_NVLS || a == NCCL_ALGO_NVLS_TREE) && (!nvlsSupport || (info->func != ncclFuncAllReduce && comm->localRanks > NCCL_MAX_NVLS_ARITY))) continue;\n    if (a == NCCL_ALGO_NVLS && collNetSupport != 1 && comm->nNodes > 1) continue;\n    /* Tree reduceScatter doesn't support scaling yet */\n    if (a == NCCL_ALGO_PAT && info->func == ncclFuncReduceScatter\n        && (info->opDev.op == ncclDevPreMulSum || info->opDev.op == ncclDevSumPostDiv)) continue;\n    for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n      if (p == NCCL_PROTO_LL128 && !(comm->topo->type & RCCL_TOPO_XGMI_ALL)) {\n        table[a][p] = NCCL_ALGO_PROTO_IGNORE;\n        continue;\n      }\n      NCCLCHECK(ncclTopoGetAlgoTime(comm, info->func, a, p, nBytes, numPipeOps, &table[a][p]));\n      // Relegate fp8 reduction trees of sufficient depth that they incur precision loss\n      // to be least preferred.\n      if (info->datatype == ncclFloat8e4m3 || info->datatype == ncclFloat8e5m2) {\n        if (a == NCCL_ALGO_RING && comm->nRanks > 8) {\n          table[a][p] *= 1024.0; // Any factor large enough to act as a partition between lossy and non-lossy algos.\n        }\n      }\n    }\n  }\n\n  return ncclSuccess;\n}\n\nextern int64_t ncclParamMinNchannels();\n\nstatic ncclResult_t topoGetAlgoInfo(\n    struct ncclComm* comm, struct ncclTaskColl* info, size_t nBytes,\n    float** collCostTable, ncclSimInfo_t* simInfo\n  ) {\n  float (*table)[NCCL_NUM_PROTOCOLS] = (float (*)[NCCL_NUM_PROTOCOLS])collCostTable;\n\n  float minTime = 3600000000.0;\n  int algorithm = info->algorithm = NCCL_ALGO_UNDEF;\n  int protocol = info->protocol = NCCL_PROTO_UNDEF;\n  for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) {\n    for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n      if (table[a][p] == NCCL_ALGO_PROTO_IGNORE) continue;\n      if (table[a][p] >= 0.0 && table[a][p] < minTime) {\n        algorithm = a;\n        protocol = p;\n        minTime = table[a][p];\n      }\n    }\n  }\n  if(algorithm == NCCL_ALGO_UNDEF){\n    INFO(NCCL_INIT,\"Optimal algorithm is not found in collCostTable, Setting it a default value NCCL_ALGO_RING\");\n    algorithm = NCCL_ALGO_RING;\n  }\n  if(protocol == NCCL_PROTO_UNDEF){\n    INFO(NCCL_INIT,\"Optimal protocol is not found in collCostTable, Setting it a default value NCCL_PROTO_SIMPLE\");\n    protocol = NCCL_PROTO_SIMPLE;\n  }\n\n  info->algorithm = algorithm;\n  info->protocol = protocol;\n  float time = minTime;\n\n  // Tuner plugin sets cost to 0.0 if it finds a match\n  bool isTunerMatchFound = (comm->tuner != NULL && minTime == 0.0);\n\n  // Yes, we are first assigning and then testing if protocol is sane, but that's OK in this case.\n  // coverity[check_after_sink]\n  if (info->algorithm == NCCL_ALGO_UNDEF || info->protocol == NCCL_PROTO_UNDEF) {\n    char ncclAlgoEnvStr[1024] = \"\";\n    char ncclProtoEnvStr[1024] = \"\";\n    const char* algoEnv = ncclGetEnv(\"NCCL_ALGO\");\n    if (algoEnv) {\n      snprintf(ncclAlgoEnvStr, 1023, \" NCCL_ALGO was set to %s.\", algoEnv);\n    }\n    const char* protoEnv = ncclGetEnv(\"NCCL_PROTO\");\n    if (protoEnv) {\n      snprintf(ncclProtoEnvStr, 1023, \" NCCL_PROTO was set to %s.\", protoEnv);\n    }\n    WARN(\"Error : no algorithm/protocol available for function %s with datatype %s.%s%s\", ncclFuncToString(info->func), ncclDatatypeToString(info->datatype), ncclAlgoEnvStr, ncclProtoEnvStr);\n    return (algoEnv || protoEnv) ? ncclInvalidUsage : ncclInternalError;\n  }\n  // Honor Tuner config if available\n  if (!isTunerMatchFound) {\n    rcclUpdateCollectiveProtocol(comm, nBytes, info);\n  }\n  rcclSetPipelining(comm, nBytes, info);\n  if (simInfo) simInfo->estimatedTime = time;\n  TRACE(NCCL_COLL, \"%ld Bytes -> Algo %d proto %d time %f\", nBytes, info->algorithm, info->protocol, time);\n#ifdef ENABLE_WARP_SPEED\n  int nc = comm->topo->warpSpeedEnabled? comm->nChannels / 2 : comm->nChannels;\n#else\n  int nc = comm->nChannels;\n#endif\n  int nt = comm->maxThreads[info->algorithm][info->protocol];\n  int threadThreshold = comm->threadThresholds[info->algorithm][info->protocol];\n  if (info->algorithm == NCCL_ALGO_COLLNET_DIRECT) {\n    // CollNet channel tuning\n    int ncSwitch = 16;\n    bool flag = true;\n    while (ncSwitch >= 1 && flag) {\n      while ((flag = nBytes < nc*nt*comm->channels[0].collnetDirect.nHeads*threadThreshold) && nc > ncSwitch) {\n        if (nc == ncSwitch+ncSwitch/2) threadThreshold /= 2;\n        nc--;\n      }\n      ncSwitch /= 2;\n    }\n  } else if (info->algorithm == NCCL_ALGO_NVLS || info->algorithm == NCCL_ALGO_NVLS_TREE) {\n    // NVLS should not need more than 16 channels to get peak BW.\n    if (comm->nNodes > 1 && info->algorithm == NCCL_ALGO_NVLS) {\n      nc = std::min(comm->nvlsChannels, comm->nChannels);\n    } else {\n      nc = comm->nvlsChannels;\n    }\n  } else {\n    rcclUpdateThreadThreshold(comm, nBytes, info, threadThreshold);\n    INFO(NCCL_INIT, \"pre-adjustment threadThreshold:%i nBytes:%lu nc:%i\", threadThreshold, nBytes, nc);\n\n    int minNChannels = ncclParamMinNchannels();\n    // Ring/Tree channel tuning\n    INFO(NCCL_INIT, \"minNChannels:%i\", minNChannels);\n    if(nBytes < nc * nt * threadThreshold && nc > minNChannels){\n      nc = std::max(1,std::max(minNChannels,(int)(nBytes/std::max(1,nt * threadThreshold))));\n    }\n    INFO(NCCL_INIT, \"post-adjustment based on threadThreshold:%i nBytes:%lu nc:%i\", threadThreshold, nBytes, nc);\n    rcclOverrideChannels(comm, info->func, nBytes, nc);\n  }\n  \n  rcclRestrictMaxChannels(comm, nc);\n\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#else\n  if (info->algorithm != NCCL_ALGO_NVLS && info->algorithm != NCCL_ALGO_NVLS_TREE &&\n    info->algorithm != NCCL_ALGO_COLLNET_DIRECT) {\n    while (nBytes < nc * nt * threadThreshold) {\n      if (nt % 128 == 0) nt /= 2;\n      else break;\n    }\n  }\n  if (info->protocol == NCCL_PROTO_SIMPLE) {\n    if (info->algorithm == NCCL_ALGO_RING) nt += comm->WarpSize; // Extra warp for sync\n    // More threads or sync warps needed due to split thread model\n    if (info->algorithm == NCCL_ALGO_TREE) nt += 4*comm->WarpSize;\n  }\n  nt = nt/comm->WarpSize < 3 ? 3*comm->WarpSize : nt;\n#endif\n  if (info->func == ncclFuncAllReduce && comm->topo->pivotA2ANumBiRings == 3) {\n    static int userTuneInput = -2;\n    if (userTuneInput == -2) {\n      const char *protoStr = getenv(\"NCCL_PROTO\");\n      const char *algoStr = getenv(\"NCCL_ALGO\");\n      if (!protoStr && !algoStr)\n        userTuneInput = 0;\n      else\n        userTuneInput = 1;\n    }\n    info->nMaxChannels = nc;\n    if (!userTuneInput) {\n      // always respect user settings\n      if (nBytes <= 2200008) {\n        info->protocol = NCCL_PROTO_LL;\n        info->algorithm = NCCL_ALGO_TREE;\n        info->nMaxChannels = std::min(24, comm->nChannels);\n      } else {\n        info->protocol = NCCL_PROTO_SIMPLE;\n        info->algorithm = NCCL_ALGO_RING;\n      }\n    }\n  } else if (info->func == ncclFuncAllReduce && comm->topo->treeDefined == 1) {\n    info->algorithm = NCCL_ALGO_TREE;\n#ifdef ENABLE_WARP_SPEED\n    nc = std::min(nc, 64); // Tree uses at most 64 channels as we don't support WarpSpeed Tree.\n  } else if (info->algorithm == NCCL_ALGO_TREE) {\n    nc = std::min(nc, 64); // Tree uses at most 64 channels as we don't support WarpSpeed Tree.\n#else\n    info->nMaxChannels = nc;\n#endif\n  } else {\n    info->nMaxChannels = nc;\n  }\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#else\n  if (info->algorithm == NCCL_ALGO_TREE) nt = NCCL_MAX_NTHREADS; // Tree now uses all threads always.\n  if (info->algorithm == NCCL_ALGO_PAT)  nt = NCCL_MAX_NTHREADS;\n#endif\n  rcclOptThreadBlockSize(comm, info, nBytes, nt);\n  info->nWarps = nt/comm->WarpSize;\n  rcclOverrideAlgorithm(ncclAlgoStr, table, info);\n  rcclOverrideProtocol(ncclProtoStr, table, info);\n#ifdef ENABLE_WARP_SPEED\n  rcclSetWarpSpeedAuto(comm, info, nBytes);\n  if(info->useWarpSpeed) {\n    rcclSetWarpSpeedCUs(comm, info->algorithm, info->nWarps * comm->WarpSize, nc);\n  }\n  info->nMaxChannels = nc;\n#endif\n  return ncclSuccess;\n}\n\n// Use the default topo-based tuner if tuner plugin is not successful.\n// Call the plugin first. Let it set algo+proto, and/or nChannels.\n// Then, topoGetAlgoInfo will set algo/proto if not set, then nChannels and nThreads based on algo/proto.\n// Finally, nChannels will be overriden by the plugin setting.\nrccl_static ncclResult_t getAlgoInfo(\n    struct ncclComm* comm, struct ncclTaskColl* info,\n    int collNetSupport, int nvlsSupport, int numPipeOps, ncclSimInfo_t* simInfo/* = NULL*/\n  ) {\n  size_t elementSize = ncclTypeSize(info->datatype);\n  size_t nBytes = elementSize * ncclFuncMaxSendRecvCount(info->func, comm->nRanks, info->count);\n  struct ncclReg* regSendBuf = NULL;\n  struct ncclReg* regRecvBuf = NULL;\n  int regBuff;\n  bool isSendValid, isRecvValid;\n  size_t sendbuffSize = elementSize * ncclFuncSendCount(info->func, comm->nRanks, info->count);\n  size_t recvbuffSize = elementSize * ncclFuncRecvCount(info->func, comm->nRanks, info->count);\n  info->algorithm = NCCL_ALGO_UNDEF;\n  info->protocol = NCCL_PROTO_UNDEF;\n  int nMaxChannels = 0;\n  float collCostTable[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  initCollCostTable((float **)collCostTable);\n  NCCLCHECK(updateCollCostTable(comm, info, nBytes, collNetSupport, nvlsSupport, numPipeOps, (float **)collCostTable));\n  if (comm->tuner != NULL) {\n    NCCLCHECK(ncclRegFind(comm, info->sendbuff, sendbuffSize, &regSendBuf));\n    NCCLCHECK(ncclRegFind(comm, info->recvbuff, recvbuffSize, &regRecvBuf));\n    NCCLCHECK(ncclRegLocalIsValid(regSendBuf, &isSendValid));\n    NCCLCHECK(ncclRegLocalIsValid(regRecvBuf, &isRecvValid));\n    regBuff = (regSendBuf && regRecvBuf && isSendValid && isRecvValid) || (ncclCudaGraphValid(comm->planner.capturingGraph) && ncclParamGraphRegister());\n    NCCLCHECK(comm->tuner->getCollInfo(\n          comm->tunerContext, info->func, nBytes,\n          numPipeOps, (float **)collCostTable, NCCL_NUM_ALGORITHMS, NCCL_NUM_PROTOCOLS,\n          regBuff, &nMaxChannels));\n    NCCLCHECK(topoGetAlgoInfo(comm, info, nBytes, (float **)collCostTable, simInfo));\n  } else {\n    NCCLCHECK(topoGetAlgoInfo(comm, info, nBytes, (float **)collCostTable, simInfo));\n    //override algo, tree doesn't work with fewer than 64 bytes\n    static int userAlgoInput = -2;\n    const char *algoStr = getenv(\"NCCL_ALGO\");\n    userAlgoInput = !algoStr ? 0 : 1;\n    size_t sizePerRank = rcclGetSizePerRank(info->func, nBytes, comm->nRanks);\n    if (!userAlgoInput && IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\") && comm->nNodes == 1 && (info->func == ncclFuncAllReduce) && sizePerRank >= 64 && sizePerRank <= 262144){\n      info->algorithm = NCCL_ALGO_TREE;\n      info->protocol = NCCL_PROTO_LL;\n    }\n    // NCCL_CTA_POLICY_EFFICIENCY requires user (non-symmetric) buffer registration (currently unsupported with MNNVL)\n    if (comm->config.CTAPolicy == NCCL_CTA_POLICY_EFFICIENCY && ncclGetEnv(\"NCCL_ALGO\") == NULL && ncclGetEnv(\"NCCL_PROTO\") == NULL && !comm->MNNVL) {\n      // make algorithm selection based on buffer registration\n      // there can be other specialized policies for algorithms and protocols pickup in the future\n      NCCLCHECK(ncclRegFind(comm, info->sendbuff, sendbuffSize, &regSendBuf));\n      NCCLCHECK(ncclRegFind(comm, info->recvbuff, recvbuffSize, &regRecvBuf));\n      NCCLCHECK(ncclRegLocalIsValid(regSendBuf, &isSendValid));\n      NCCLCHECK(ncclRegLocalIsValid(regRecvBuf, &isRecvValid));\n      regBuff = (regSendBuf && regRecvBuf && isSendValid && isRecvValid) || (ncclCudaGraphValid(comm->planner.capturingGraph) && ncclParamGraphRegister());\n      if (regBuff && (info->func == ncclFuncAllGather || info->func == ncclFuncReduceScatter)) {\n        if ((comm->nNodes > 1 && collNetSupport && nvlsSupport) || (comm->nNodes == 1 && nvlsSupport)) {\n          int recChannels;\n          NCCLCHECK(ncclNvlsRegResourcesQuery(comm, info, &recChannels));\n          if (recChannels <= info->nMaxChannels) {\n            info->algorithm = NCCL_ALGO_NVLS;\n            info->protocol = NCCL_PROTO_SIMPLE;\n            info->nMaxChannels = recChannels;\n            info->nWarps = comm->maxThreads[info->algorithm][info->protocol] / WARP_SIZE;\n          }\n        }\n      }\n    }\n  }\n\n  info->nMaxChannels = nMaxChannels == 0 ? info->nMaxChannels : nMaxChannels;\n  return ncclSuccess;\n}\n\nNCCL_PARAM(NvlsTreeMaxChunkSize, \"NVLSTREE_MAX_CHUNKSIZE\", -2);\n\nstatic ncclResult_t calcCollChunking(\n    struct ncclComm* comm, struct ncclTaskColl* info, int nChannels, size_t nBytes,\n    /*outputs*/uint32_t* outChunkSize, uint32_t* outDirectFlags, struct ncclProxyOp* proxyOp\n  ) {\n  ncclPattern_t pattern;\n  size_t grainSize = rcclProtoGrainSize(info->protocol, comm);\n\n  switch (info->func) {\n  case ncclFuncBroadcast:\n    pattern = info->algorithm == NCCL_ALGO_TREE ? ncclPatternTreeDown : ncclPatternPipelineFrom;\n    break;\n  case ncclFuncReduce:\n    pattern = info->algorithm == NCCL_ALGO_TREE ? ncclPatternTreeUp : ncclPatternPipelineTo;\n    break;\n  case ncclFuncReduceScatter:\n    pattern =\n      info->algorithm == NCCL_ALGO_PAT ? ncclPatternPatUp :\n      info->algorithm == NCCL_ALGO_NVLS ? ncclPatternNvls :\n      info->algorithm == NCCL_ALGO_COLLNET_DIRECT ? ncclPatternCollnetDirect :\n      ncclPatternRing;\n    break;\n  case ncclFuncAllGather:\n    pattern =\n      info->algorithm == NCCL_ALGO_PAT ? ncclPatternPatDown :\n      info->algorithm == NCCL_ALGO_NVLS ? ncclPatternNvls :\n      info->algorithm == NCCL_ALGO_COLLNET_DIRECT ? ncclPatternCollnetDirect :\n      ncclPatternRing;\n    break;\n  case ncclFuncAlltoAllPivot:\n    pattern = ncclPatternRing;\n    break;\n  case ncclFuncAllToAllGda:\n    pattern = ncclPatternRing;\n    break;\n  case ncclFuncAllReduce:\n    pattern =\n      info->algorithm == NCCL_ALGO_NVLS ? ncclPatternNvls :\n      info->algorithm == NCCL_ALGO_NVLS_TREE ? ncclPatternNvlsTree :\n      info->algorithm == NCCL_ALGO_COLLNET_DIRECT ? ncclPatternCollnetDirect :\n      info->algorithm == NCCL_ALGO_COLLNET_CHAIN ? ncclPatternCollnetChain :\n      info->algorithm == NCCL_ALGO_TREE ? ncclPatternTreeUpDown :\n      ncclPatternRingTwice;\n    break;\n  default:\n    WARN(\"Unknown pattern for collective %d algorithm %d\", info->func, info->algorithm);\n    return ncclInternalError;\n  }\n\n  int nstepsPerLoop, nchunksPerLoop;\n  size_t loopOffset = 0;\n  int stepSize   = comm->buffSizes[info->protocol]/NCCL_STEPS;\n  int chunkSteps = (info->protocol == NCCL_PROTO_SIMPLE && info->algorithm == NCCL_ALGO_RING) ? info->chunkSteps : 1;\n  int sliceSteps = (info->protocol == NCCL_PROTO_SIMPLE && info->algorithm == NCCL_ALGO_RING) ? info->sliceSteps : 1;\n  int chunkSize = stepSize*chunkSteps;\n  if (info->protocol == NCCL_PROTO_LL) chunkSize /= 2;\n  if (info->protocol == NCCL_PROTO_LL128) chunkSize = (chunkSize / NCCL_LL128_LINEELEMS) * NCCL_LL128_DATAELEMS;\n\n  if (info->algorithm == NCCL_ALGO_TREE && info->protocol == NCCL_PROTO_SIMPLE) {\n    if (pattern == ncclPatternTreeUpDown) {\n      // Optimize chunkSize / nSteps\n      while(nBytes / (nChannels * chunkSize) < comm->channels[0].tree.depth*8 && chunkSize > 131072) chunkSize /=2;\n      while(nBytes / (nChannels * chunkSize) < comm->channels[0].tree.depth*4 && chunkSize > 65536) chunkSize /=2;\n      while(nBytes / (nChannels * chunkSize) < comm->channels[0].tree.depth && chunkSize > 32768) chunkSize /=2;\n    }\n  } else if (info->algorithm == NCCL_ALGO_RING && info->protocol == NCCL_PROTO_SIMPLE) {\n    if (pattern == ncclPatternPipelineFrom || pattern == ncclPatternPipelineTo) {\n      // Optimize chunkSize / nSteps\n      while(nBytes / (nChannels * chunkSize) < 64 && chunkSize > 262144) chunkSize /= 2;\n      while(nBytes / (nChannels * chunkSize) < 32 && chunkSize > 131072) chunkSize /= 2;\n      while(nBytes / (nChannels * chunkSize) < 16 && chunkSize > 65536) chunkSize /= 2;\n      while(nBytes / (nChannels * chunkSize) < 8 && chunkSize > 32768) chunkSize /= 2;\n    }\n  } else if (info->algorithm == NCCL_ALGO_COLLNET_DIRECT) {\n    // Optimize chunkSize / nSteps\n    while (nBytes / (nChannels * comm->channels[0].collnetDirect.nHeads * chunkSize) < comm->channels[0].collnetDirect.depth * 64 && chunkSize > 131072) chunkSize /= 2;\n    while (nBytes / (nChannels * comm->channels[0].collnetDirect.nHeads * chunkSize) < comm->channels[0].collnetDirect.depth * 8 && chunkSize > 65536) chunkSize /= 2;\n    while (nBytes / (nChannels * comm->channels[0].collnetDirect.nHeads * chunkSize) < comm->channels[0].collnetDirect.depth * 8 && chunkSize > 32768) chunkSize /= 2;\n  } else if (info->algorithm == NCCL_ALGO_COLLNET_CHAIN) {\n    stepSize = comm->buffSizes[NCCL_PROTO_SIMPLE] / NCCL_STEPS;\n    chunkSize = std::min(256 * 1024, stepSize * chunkSteps);\n    while (nBytes / (nChannels * chunkSize) < comm->channels[0].collnetChain.depth * 64 && chunkSize > 131072) chunkSize /= 2;\n    while (nBytes / (nChannels * chunkSize) < comm->channels[0].collnetChain.depth * 8 && chunkSize > 65536) chunkSize /= 2;\n    while (nBytes / (nChannels * chunkSize) < comm->channels[0].collnetChain.depth && chunkSize > 32768) chunkSize /= 2;\n  } else if (info->algorithm == NCCL_ALGO_NVLS) {\n    if ((info->regBufType & NCCL_NVLS_REG_BUFFER) && (info->func == ncclFuncAllGather || info->func == ncclFuncReduceScatter)) {\n      chunkSize = comm->buffSizes[NCCL_PROTO_SIMPLE] / NCCL_STEPS;\n    } else {\n      int maxChunkSize = comm->nvlsChunkSize;\n      if (comm->nNodes > 1 && comm->bandwidths[ncclFuncAllReduce][NCCL_ALGO_NVLS][NCCL_PROTO_SIMPLE] < 150) maxChunkSize = 32768;\n      if (chunkSize > maxChunkSize) chunkSize = maxChunkSize;\n      // Use uint64_t so that concurrentOps*chunkSize*X does not overflow.\n      // However, nChannels * comm->channels[0].nvls.nHeads should easily fit in 32 bits.\n      // coverity[overflow_before_widen]\n      uint64_t concurrentOps = nChannels * comm->channels[0].nvls.nHeads;\n      if ((nBytes < (64 * (concurrentOps * chunkSize))) && (chunkSize > 65536)) chunkSize = 65536;\n      if ((nBytes < (8 * (concurrentOps * chunkSize))) && (chunkSize > 32768)) chunkSize = 32768;\n      if ((nBytes < (2 * (concurrentOps * chunkSize))) && (chunkSize > 16384)) chunkSize = 16384;\n    }\n  } else if (info->algorithm == NCCL_ALGO_NVLS_TREE) {\n    // Use uint64_t so that concurrentOps*chunkSize*X does not overflow.\n    // However, nChannels * comm->channels[0].nvls.nHeads should easily fit in 32 bits.\n    // coverity[overflow_before_widen]\n    uint64_t concurrentOps = nChannels * comm->channels[0].nvls.nHeads;\n    chunkSize = comm->nvlsChunkSize;\n    int maxChunkSize = (int)ncclParamNvlsTreeMaxChunkSize();\n    if (maxChunkSize == -2) maxChunkSize = comm->nNodes >= 4 ? 65536 : chunkSize;\n    chunkSize = std::min(chunkSize, maxChunkSize);\n    if ((nBytes < (32 * (concurrentOps * chunkSize))) && (chunkSize > 262144)) chunkSize = 262144;\n    if ((nBytes < (16 * (concurrentOps * chunkSize))) && (chunkSize > 131072)) chunkSize = 131072;\n    if ((nBytes < (4 * (concurrentOps * chunkSize))) && (chunkSize > 65536)) chunkSize = 65536;\n    if ((nBytes < (1 * (concurrentOps * chunkSize))) && (chunkSize > 32768)) chunkSize = 32768;\n  } else if (info->algorithm == NCCL_ALGO_TREE && info->protocol == NCCL_PROTO_LL128) {\n    int nNodes = comm->nNodes;\n    float ppn = comm->nRanks / (float)nNodes;\n    float nstepsLL128 = 1+log2i(nNodes) + 0.1*ppn;\n    // Yes, we are OK with the division on the left side of the < operand being integer.\n    // coverity[integer_division]\n    while (nBytes / (nChannels*chunkSize) < nstepsLL128*64/ppn && chunkSize > 131072) chunkSize /= 2;\n    // coverity[integer_division]\n    while (nBytes / (nChannels*chunkSize) < nstepsLL128*16/ppn && chunkSize > 32768) chunkSize /= 2;\n  } else if (info->func == ncclFuncAllGather && info->algorithm == NCCL_ALGO_PAT) {\n    while (chunkSize*nChannels*32 > nBytes && chunkSize > 65536) chunkSize /= 2;\n  } else if (info->func == ncclFuncReduceScatter && info->algorithm == NCCL_ALGO_PAT) {\n    while (chunkSize*nChannels*16 > nBytes && chunkSize > 65536) chunkSize /= 2;\n  }\n\n  // Compute directFlags of work struct.\n  if (info->algorithm == NCCL_ALGO_COLLNET_DIRECT) {\n    // Set direct direction for broadcast-gather (read or write)\n    *outDirectFlags = (nBytes/nChannels <= 1024 * 4) ? NCCL_P2P_READ : NCCL_P2P_WRITE;\n  } else {\n    *outDirectFlags = 0;\n  }\n\n  // Compute nSteps for proxies\n  chunkSize = chunkSize / grainSize * grainSize; // align chunkSize to multiple grainSize\n  switch (pattern) {\n  case ncclPatternTreeUp:\n  case ncclPatternTreeDown:\n  case ncclPatternTreeUpDown:\n  case ncclPatternPatUp:\n  case ncclPatternPatDown:\n  case ncclPatternPipelineFrom:\n  case ncclPatternPipelineTo:\n  case ncclPatternCollnetChain:\n    nstepsPerLoop = nchunksPerLoop = 1;\n    break;\n  case ncclPatternNvls:\n    nstepsPerLoop = 1; nchunksPerLoop = comm->channels[0].nvls.nHeads;\n    loopOffset = nChannels * chunkSize * comm->channels[0].nvls.headRank;\n    break;\n  case ncclPatternCollnetDirect:\n    nstepsPerLoop = 1; nchunksPerLoop = comm->channels[0].collnetDirect.nHeads;\n    loopOffset = nChannels * chunkSize * comm->channels[0].collnetDirect.headRank;\n    break;\n  case ncclPatternRing:\n    nstepsPerLoop = comm->nRanks-1; nchunksPerLoop = comm->nRanks;\n    break;\n  case ncclPatternRingTwice:\n    nstepsPerLoop = 2*(comm->nRanks-1); nchunksPerLoop = comm->nRanks;\n    break;\n  case ncclPatternNvlsTree:\n    nstepsPerLoop = 1; nchunksPerLoop = comm->channels[0].nvls.nHeads;\n    break;\n  default:\n    WARN(\"Unknown pattern %d\", pattern);\n    return ncclInternalError;\n  }\n\n  // Compute nSteps for proxies\n  size_t loopSize = size_t(nChannels)*nchunksPerLoop*chunkSize;\n  int nLoops = (int)DIVUP(nBytes, loopSize);\n  memset(proxyOp, 0, sizeof(*proxyOp));\n  proxyOp->nsteps = nstepsPerLoop * nLoops * chunkSteps;\n  proxyOp->sliceSteps = sliceSteps;\n  proxyOp->chunkSteps = chunkSteps;\n  proxyOp->chunkSize = chunkSize;\n  proxyOp->sliceSize = chunkSize / chunkSteps * sliceSteps;\n  proxyOp->loopSize = loopSize;\n  proxyOp->loopOffset = loopOffset;\n  proxyOp->protocol = info->protocol;\n  proxyOp->dtype = info->datatype;\n  proxyOp->algorithm = info->algorithm;\n  if (info->opDev.op == ncclDevPreMulSum || info->opDev.op == ncclDevSumPostDiv) {\n    proxyOp->redOp = ncclSum; // Network sees avg as sum\n  } else {\n    proxyOp->redOp = info->opHost;\n  }\n  proxyOp->pattern = pattern;\n  proxyOp->coll = info->func;\n  proxyOp->collAPI = info->func;\n  proxyOp->root = info->root;\n  proxyOp->isOneRPN = comm->isOneRPN;\n  // This is used by P2P to reduce the receive buffer size. We don't use it in collectives\n  // because some protocols need to transmit more than the total size, plus they sometimes\n  // round up\n  proxyOp->nbytes = stepSize*sliceSteps;\n\n  if (info->regBufType & NCCL_NET_REG_BUFFER) {\n    proxyOp->reg = 1;\n    if (info->algorithm == NCCL_ALGO_COLLNET_DIRECT || info->algorithm == NCCL_ALGO_NVLS || info->algorithm == NCCL_ALGO_COLLNET_CHAIN) {\n      if (proxyOp->isOneRPN) {\n        proxyOp->nsteps = 1;\n        proxyOp->loopOffset = 0;\n        proxyOp->sendbuff = (uint8_t*)info->sendbuff;\n        proxyOp->sendMhandle = info->sendMhandle;\n      } else {\n        if (info->func == ncclFuncAllGather || info->func == ncclFuncReduceScatter) {\n          proxyOp->nbytes = nBytes / nchunksPerLoop;\n          proxyOp->loopSize = proxyOp->loopSize / nchunksPerLoop;\n          proxyOp->loopOffset = 0;\n          if (info->func == ncclFuncAllGather) {\n            proxyOp->sendbuff = (uint8_t*)info->sendbuff;\n            proxyOp->sendMhandle = info->sendMhandle;\n          }\n        } else {\n          proxyOp->sendbuff = (uint8_t*)info->recvbuff;\n          proxyOp->sendMhandle = info->recvMhandle;\n        }\n      }\n    } else if (info->algorithm == NCCL_ALGO_RING) {\n      if (proxyOp->isOneRPN && info->func == ncclFuncAllGather) {\n        proxyOp->chunkSize = NCCL_MAX_NET_SIZE;\n        proxyOp->sliceSize = NCCL_MAX_NET_SIZE;\n        proxyOp->chunkSteps = 1;\n        proxyOp->sliceSteps = 1;\n        proxyOp->loopSize = size_t(nChannels) * nchunksPerLoop * proxyOp->chunkSize;\n        proxyOp->nsteps = DIVUP(nBytes, proxyOp->loopSize) * nstepsPerLoop;\n        proxyOp->loopOffset = 0;\n      }\n    } else {\n      WARN(\"Net registration invalid algorithm %s\", ncclAlgoToString(info->algorithm));\n      return ncclInternalError;\n    }\n\n    proxyOp->recvMhandle = info->recvMhandle;\n    proxyOp->recvbuff = (uint8_t*)info->recvbuff;\n    proxyOp->nbytes = nBytes;\n  } else {\n    proxyOp->reg = 0;\n  }\n\n  if (pattern == ncclPatternCollnetDirect || pattern == ncclPatternNvls) {\n    proxyOp->specifics.collnetDirect.nNodes = comm->nNodes;\n    proxyOp->specifics.collnetDirect.node = comm->node;\n    if (info->func == ncclFuncAllGather || info->func == ncclFuncReduceScatter) {\n      proxyOp->specifics.collnetDirect.sizePerRank = info->count*ncclTypeSize(info->datatype);\n    }\n  }\n\n  if (pattern == ncclPatternPatUp || pattern == ncclPatternPatDown) {\n    proxyOp->nbytes = DIVUP(nBytes, nChannels);\n  }\n\n  // Set peer count hints used by network plugin\n  switch (proxyOp->pattern) {\n  case ncclPatternRing:\n  case ncclPatternRingTwice:\n  case ncclPatternPipelineFrom:\n  case ncclPatternPipelineTo:\n  case ncclPatternPatUp:\n  case ncclPatternPatDown:\n    proxyOp->nPeers = 1;\n    break;\n  case ncclPatternTreeUp:\n  case ncclPatternTreeDown:\n  case ncclPatternTreeUpDown:\n  case ncclPatternNvlsTree:\n    proxyOp->nPeers = (NCCL_MAX_TREE_ARITY - 1) * 2;\n    break;\n  case ncclPatternCollnetChain:\n  case ncclPatternCollnetDirect:\n  case ncclPatternNvls:\n  case ncclPatternProfiler:\n    // Peer count hints unused\n    break;\n  case ncclPatternSend:\n  case ncclPatternRecv:\n  default:\n    WARN(\"Unknown pattern %d\", pattern);\n    return ncclInternalError;\n  }\n\n  *outChunkSize = proxyOp->chunkSize;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t hostToDevRedOp(\n    ncclDevRedOpFull *opFull, ncclRedOp_t op, ncclDataType_t datatype, ncclComm *comm\n  ) {\n  union {\n    int8_t   i8; uint8_t   u8;\n    int32_t i32; uint32_t u32;\n    int64_t i64; uint64_t u64;\n    __half f16; float f32; double f64;\n    #if defined(RCCL_BFLOAT16)\n      hip_bfloat16 bf16;\n    #endif\n    #if defined(RCCL_FLOAT8)\n      rccl_float8 f8;\n      rccl_bfloat8 bf8;\n    #endif\n    void *ptr;\n  };\n  u64 = 0;\n  opFull->scalarArgIsPtr = false;\n  opFull->proxyOp = op;\n\n  int nbits = 8*ncclTypeSize(datatype);\n  if (nbits <= 0) return ncclInvalidArgument;\n  uint64_t allBits = uint64_t(-1)>>(64-nbits);\n  uint64_t signBit = allBits^(allBits>>1);\n  bool datatype_signed = false;\n\n  switch (int(op)) {\n  case ncclSum:  opFull->op = ncclDevSum;  break;\n  case ncclProd: opFull->op = ncclDevProd; break;\n  case ncclMin:\n  case ncclMax:\n    opFull->op = ncclDevMinMax;\n    opFull->scalarArg = 0;\n    // The xormask used by ncclFuncMinMax<[u]int> is the XOR of the sign bit\n    // for signed (opposed to unsigned) types and all the bits for max (opposed to min).\n    if (datatype==ncclInt8 || datatype==ncclInt32 || datatype==ncclInt64) {\n      opFull->scalarArg ^= signBit;\n    }\n    opFull->scalarArg ^= (op == ncclMax) ? allBits : 0;\n    break;\n  case ncclAvg:\n    switch ((int)datatype) {\n    case ncclInt8:  case ncclInt32:  case ncclInt64:\n      datatype_signed = true;\n      // no break, we want to fall through...\n    case ncclUint8: case ncclUint32: case ncclUint64:\n      opFull->op = ncclDevSumPostDiv;\n      u64 = comm->nRanks<<1 | datatype_signed;\n      break;\n    #if defined(RCCL_FLOAT8)\n    case ncclFloat8e4m3:\n      opFull->op = ncclDevPreMulSum;\n      f8 = static_cast<rccl_float8>(float(1.0/comm->nRanks));\n      break;\n    case ncclFloat8e5m2:\n      opFull->op = ncclDevPreMulSum;\n      bf8 = static_cast<rccl_bfloat8>(float(1.0/comm->nRanks));\n      break;\n    #endif\n    case ncclFloat16:\n      opFull->op = ncclDevPreMulSum;\n      f16 = __float2half(float(1.0/comm->nRanks)); // __double2half not supported pre CUDA 11.x\n      break;\n    #if defined(RCCL_BFLOAT16)\n    case ncclBfloat16:\n      opFull->op = ncclDevPreMulSum;\n      bf16 = (hip_bfloat16)(float(1.0/comm->nRanks));\n      break;\n    #endif\n    case ncclFloat32:\n      opFull->op = ncclDevPreMulSum;\n      f32 = float(1.0/comm->nRanks);\n      break;\n    case ncclFloat64:\n      opFull->op = ncclDevPreMulSum;\n      f64 = 1.0/comm->nRanks;\n      break;\n    }\n    opFull->scalarArgIsPtr = false;\n    opFull->scalarArg = u64;\n    break;\n  default: // user created\n    int ix = int(ncclUserRedOpMangle(comm, op)) - int(ncclNumOps);\n    ncclUserRedOp *user = &comm->userRedOps[ix];\n    if (datatype != user->datatype) {\n      WARN(\"Data type supplied to user-created ncclRedOp_t does not match type \"\n           \"given to reduction operation\");\n      return ncclInvalidArgument;\n    }\n    *opFull = user->opFull;\n    break;\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclPlannerSetCapturingGraph(struct ncclComm* comm, struct ncclInfo* info) {\n  struct ncclKernelPlanner *planner = &comm->planner;\n  if (info->stream != planner->streamRecent || planner->streams == nullptr) {\n    planner->streamRecent = info->stream;\n    struct ncclCudaStreamList* l = planner->streams;\n    while (true) {\n      if (l == nullptr) { // Got to the end, this must be a new stream.\n        struct ncclCudaGraph graph;\n        NCCLCHECK(ncclCudaGetCapturingGraph(&graph, info->stream));\n        if (planner->streams != nullptr && !ncclCudaGraphSame(planner->capturingGraph, graph)) {\n          WARN(\"Streams given to a communicator within a NCCL group must either be all uncaptured or all captured by the same graph.\");\n          return ncclInvalidUsage;\n        }\n        planner->capturingGraph = graph; // C++ struct assignment\n        // Add stream to list\n        l = ncclMemoryStackAlloc<struct ncclCudaStreamList>(&comm->memScoped);\n        l->stream = info->stream;\n        l->next = planner->streams;\n        planner->streams = l;\n        planner->numStreams++;\n        break;\n      }\n      if (l->stream == info->stream)\n        break; // Already seen stream.\n      l = l->next;\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t p2pTaskAppend(\n    struct ncclComm* comm,\n    struct ncclInfo* info,\n    ncclFunc_t coll,\n    ncclFunc_t collAPI,\n    void* buff,\n    size_t count,\n    ncclDataType_t datatype,\n    int peer) {\n  struct ncclKernelPlanner *planner = &comm->planner;\n\n  // Determine peer and basic parameters.\n  ssize_t nBytes = count*ncclTypeSize(datatype);\n  bool isSendNotRecv = coll == ncclFuncSend;\n\n  // Must be in thread local group before tasks can be alloc'd in `comm->memScoped`.\n  ncclGroupCommJoin(comm, ncclGroupTaskTypeCollective);\n  info->coll = coll;\n  // Set capturing graph. Called here so that profiler can emit a group API event with this information\n  NCCLCHECK(ncclPlannerSetCapturingGraph(comm, info));\n  bool isGraphCaptured = ncclCudaGraphValid(planner->capturingGraph);\n  NCCLCHECK(ncclProfilerStartGroupApiEvent(info, isGraphCaptured));\n  NCCLCHECK(ncclProfilerRecordGroupApiEventState(ncclProfilerGroupStartApiStop));\n\n  NCCLCHECK(ncclProfilerStartP2pApiEvent(info, isGraphCaptured));\n\n  struct ncclTaskP2p* p2p = ncclMemoryPoolAlloc<struct ncclTaskP2p>(&comm->memPool_ncclTaskP2p, &comm->memPermanent);\n  p2p->func = coll;\n  p2p->collAPI = collAPI;\n  p2p->buff = buff;\n  p2p->count = count;\n  p2p->datatype = datatype;\n  p2p->root = peer;\n  p2p->bytes = nBytes;\n  p2p->eActivationMask = ncclProfilerApiState.eActivationMask;\n  p2p->groupApiEventHandle = ncclProfilerApiState.groupApiEventHandle;\n  p2p->p2pApiEventHandle = ncclProfilerApiState.p2pApiEventHandle;\n  ncclIntruQueueEnqueue(\n    isSendNotRecv ? &planner->peers[peer].sendQueue : &planner->peers[peer].recvQueue,\n    p2p);\n  planner->nTasksP2p += 1;\n  if (isSendNotRecv)\n    planner->nTasksP2pSend += 1;\n  else\n    planner->nTasksP2pRecv += 1;\n\n  // Mark channels that need pre-connect\n  if (comm->rank != peer) {\n    if (!(isSendNotRecv ? planner->peers[peer].sendSeen : planner->peers[peer].recvSeen)) {\n      // planner->peers[peer].send/recvSeen is private to each comm, so we need to set it anyway.\n      (isSendNotRecv ? planner->peers[peer].sendSeen : planner->peers[peer].recvSeen) = true;\n      int round = 0;\n      while (peer != (isSendNotRecv ? comm->p2pSchedule[round].sendRank\n                                    : comm->p2pSchedule[round].recvRank)) {\n        round += 1;\n      }\n      uint8_t base = ncclP2pChannelBaseForRound(comm, round);\n      for (int c=0; c < comm->p2pnChannelsPerPeer; c++) {\n        int channelId = ncclP2pChannelForPart(comm->p2pnChannels, base, c, comm->p2pnChannelsPerPeer, comm->nNodes);\n        if (isSendNotRecv) {\n          if (comm->channels[channelId].peers[peer]->send[1].hasSeen == 0) { // P2P uses only 1 connector\n            // the send/recv connector is shared among split shared comms. We need to set hasSeen to\n            // 1 in order to avoid duplicate connection setup if user group sendrecv ops with split\n            // shared comms together.\n            comm->channels[channelId].peers[peer]->send[1].hasSeen = 1;\n            comm->channels[channelId].peers[peer]->send[1].p2pOnly = 1;\n            // comm->connectSend[peer] |= (1UL<<channelId);\n            comm->connectSend[peer].masks[channelId/64] |= (1UL<<(channelId%64));\n            ncclGroupCommPreconnect(comm);\n          }\n          if (comm->p2pNet && comm->channels[channelId].peers[peer]->send[NCCL_CONN_IDX_P2P_NET].hasSeen == 0) {\n            comm->channels[channelId].peers[peer]->send[1].hasSeen = 1;\n            //comm->connectSend[peer+comm->nRanks*NCCL_CONN_IDX_P2P_NET] |= (1UL<<channelId);\n            comm->connectSend[peer+comm->nRanks*NCCL_CONN_IDX_P2P_NET].masks[channelId/64] |= (1UL<<(channelId%64));\n            ncclGroupCommPreconnect(comm);\n          }\n        } else {\n          if (comm->channels[channelId].peers[peer]->recv[1].hasSeen == 0) { // P2P uses only 1 connector\n            comm->channels[channelId].peers[peer]->recv[1].hasSeen = 1;\n            comm->channels[channelId].peers[peer]->recv[1].p2pOnly = 1;\n            // comm->connectRecv[peer] |= (1UL<<channelId);\n            comm->connectRecv[peer].masks[channelId/64] |= (1UL<<(channelId%64));\n            ncclGroupCommPreconnect(comm);\n          }\n          if (comm->p2pNet && comm->channels[channelId].peers[peer]->recv[NCCL_CONN_IDX_P2P_NET].hasSeen == 0) {\n            comm->channels[channelId].peers[peer]->recv[1].hasSeen = 1;\n            //comm->connectRecv[peer+comm->nRanks*NCCL_CONN_IDX_P2P_NET] |= (1UL<<channelId);\n            comm->connectRecv[peer+comm->nRanks*NCCL_CONN_IDX_P2P_NET].masks[channelId/64] |= (1UL<<(channelId%64));\n            ncclGroupCommPreconnect(comm);\n          }\n        }\n      }\n    }\n  }\n  ncclProfilerStopP2pApiEvent();\n  return ncclSuccess;\n}\n\nstatic ncclResult_t collTaskAppend(\n    struct ncclComm* comm,\n    struct ncclInfo* info,\n    struct ncclDevRedOpFull opDev) {\n  struct ncclKernelPlanner *planner = &comm->planner;\n\n  // Must be in thread local group before tasks can be alloc'd in `comm->memScoped`.\n  ncclGroupCommJoin(info->comm, ncclGroupTaskTypeCollective);\n  // Set capturing graph. Called here so that profiler can emit a group API event with this information\n  NCCLCHECK(ncclPlannerSetCapturingGraph(comm, info));\n  bool isGraphCaptured = ncclCudaGraphValid(planner->capturingGraph);\n  NCCLCHECK(ncclProfilerStartGroupApiEvent(info, isGraphCaptured));\n  NCCLCHECK(ncclProfilerRecordGroupApiEventState(ncclProfilerGroupStartApiStop));\n  NCCLCHECK(ncclProfilerStartCollApiEvent(info, isGraphCaptured));\n  \n  struct ncclTaskColl* t = ncclMemoryPoolAlloc<struct ncclTaskColl>(&comm->memPool_ncclTaskColl, &comm->memPermanent);\n  t->func = info->coll;\n  t->sendbuff = info->sendbuff;\n  t->recvbuff = info->recvbuff;\n  t->count = info->count;\n  t->root = info->root;\n  t->datatype = info->datatype;\n  size_t elementSize = ncclTypeSize(t->datatype);\n  if (t->func == ncclFuncAllGather || t->func == ncclFuncBroadcast || t->func == ncclFuncAlltoAllPivot) {\n    t->count *= elementSize;\n    t->datatype = ncclInt8;\n    elementSize = 1;\n  }\n  t->trafficBytes = t->count*elementSize*ncclFuncTrafficPerByte(t->func, comm->nRanks);\n  t->opHost = info->op;\n  t->opDev = opDev; // C++ struct assignment\n  t->chunkSteps = info->chunkSteps;\n  t->sliceSteps = info->sliceSteps;\n  t->eActivationMask = ncclProfilerApiState.eActivationMask;\n  t->groupApiEventHandle = ncclProfilerApiState.groupApiEventHandle;\n  t->collApiEventHandle = ncclProfilerApiState.collApiEventHandle;\n  t->opCount = comm->opCount;\n  t->acc = info->acc;\n\n  planner->nTasksColl += 1;\n  ncclTaskCollSorterInsert(&planner->collSorter, t, t->trafficBytes);\n\n  ncclProfilerStopCollApiEvent();\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ceCollTaskAppend(\n    struct ncclComm* comm,\n    struct ncclInfo* info,\n    struct ncclDevrWindow* sendWin,\n    struct ncclDevrWindow* recvWin,\n    struct ncclDevRedOpFull opDev) {\n  struct ncclKernelPlanner *planner = &comm->planner;\n  \n  // Check if CE needs initialization\n  if (comm->ceColl.baseUCSymReadyPtr == NULL && ncclIntruQueueEmpty(&comm->ceInitTaskQueue)) {\n    struct ncclCeInitTask* ceTask;\n    NCCLCHECK(ncclCalloc(&ceTask, 1));\n    ceTask->comm = comm;\n    ncclIntruQueueEnqueue(&comm->ceInitTaskQueue, ceTask);\n    ncclGroupCommJoin(comm, ncclGroupTaskTypeSymRegister);\n  }\n\n  // Must be in thread local group before tasks can be alloc'd in `comm->memScoped`.\n  ncclGroupCommJoin(info->comm, ncclGroupTaskTypeCollective);\n  NCCLCHECK(ncclPlannerSetCapturingGraph(comm, info));\n  struct ncclTaskColl* t = ncclMemoryPoolAlloc<struct ncclTaskColl>(&comm->memPool_ncclTaskColl, &comm->memPermanent);\n\n  t->func = info->coll;\n  t->sendbuff = info->sendbuff;\n  t->recvbuff = info->recvbuff;\n  t->count = info->count;\n  t->root = info->root;\n  t->datatype = info->datatype;\n  size_t elementSize = ncclTypeSize(t->datatype);\n  if (t->func == ncclFuncAllGather || t->func == ncclFuncBroadcast) {\n    t->count *= elementSize;\n    t->datatype = ncclInt8;\n    elementSize = 1;\n  }\n  t->trafficBytes = t->count*elementSize*ncclFuncTrafficPerByte(t->func, comm->nRanks);\n  t->opHost = info->op;\n  t->opDev = opDev; // C++ struct assignment\n  t->chunkSteps = info->chunkSteps;\n  t->sliceSteps = info->sliceSteps;\n  t->eActivationMask = __atomic_load_n(&ncclProfilerEventMask, __ATOMIC_RELAXED);\n  t->sendWin = sendWin;\n  t->recvWin = recvWin;\n\n  ncclIntruQueueEnqueue(&planner->collCeTaskQueue, t);\n\n  return ncclSuccess;\n}\n\n// Converts `info` to a task and adds it to `comm->planner`. The exception is with\n// single rank communicators, collectives are issued as `ncclMemcpyAsync`s and\n// thus don't need a task.\nstatic ncclResult_t taskAppend(struct ncclComm* comm, struct ncclInfo* info) {\n  ncclFunc_t collAPI = info->coll;\n\n  if (info->coll == ncclFuncSend || info->coll == ncclFuncRecv) {\n    NCCLCHECK(p2pTaskAppend(comm, info, info->coll, collAPI, (void*)info->recvbuff, info->count, info->datatype, info->root));\n  } else {\n    // Empty collectives can be discarded.\n    if (info->count == 0) return ncclSuccess;\n\n    if (info->datatype == ncclFloat8e4m3 || info->datatype == ncclFloat8e5m2) {\n      if (comm->minCompCap < 90 && info->coll != ncclFuncAllGather && info->coll != ncclFuncBroadcast && info->coll != ncclFuncAlltoAll && info->coll != ncclFuncScatter && info->coll != ncclFuncGather) {\n        WARN(\"FP8 reduction support begins with sm90 capable devices.\");\n        return ncclInvalidArgument;\n      }\n    }\n\n    // Copy reduction op state from op handle into info struct here since the\n    // op handle may be destroyed before ncclGroupEnd().\n    struct ncclDevRedOpFull opDev;\n    NCCLCHECK(hostToDevRedOp(&opDev, info->op, info->datatype, comm));\n\n    if (comm->nRanks == 1) {\n      NCCLCHECK(ncclLaunchOneRank(info->recvbuff, info->sendbuff, info->count, opDev, info->datatype, info->stream));\n      return ncclSuccess;\n    } else {\n      struct ncclDevrWindow* sendWin;\n      struct ncclDevrWindow* recvWin;\n      ncclDevrFindWindow(comm, info->sendbuff, &sendWin);\n      ncclDevrFindWindow(comm, info->recvbuff, &recvWin);\n      bool ceImplemented = ncclCeImplemented(info->coll, info->op, info->datatype);\n      \n      // Append CE collective task if CE is supported and requested by user\n      if (comm->symmetricSupport && comm->nNodes == 1 && sendWin && recvWin && (sendWin->winFlags & recvWin->winFlags & NCCL_WIN_COLL_SYMMETRIC) && comm->config.CTAPolicy == NCCL_CTA_POLICY_ZERO && ceImplemented) {\n        NCCLCHECK(ceCollTaskAppend(comm, info, sendWin, recvWin, opDev));\n      }\n      // Append kernel-based collective\n      else {\n        if (info->coll == ncclFuncAlltoAll) {\n          for (int r=0; r<comm->nRanks; r++) {\n            NCCLCHECK(p2pTaskAppend(comm, info, ncclFuncSend, collAPI, (void*)((char*)info->sendbuff+r*info->count*ncclTypeSize(info->datatype)), info->count, info->datatype, r));\n            NCCLCHECK(p2pTaskAppend(comm, info, ncclFuncRecv, collAPI, (void*)((char*)info->recvbuff+r*info->count*ncclTypeSize(info->datatype)), info->count, info->datatype, r));\n          }\n        } else if (info->coll == ncclFuncGather){\n          size_t offset = 0;\n          NCCLCHECK(p2pTaskAppend(comm, info, ncclFuncSend, collAPI, (void*)info->sendbuff, info->count, info->datatype, info->root));\n          if (comm->rank == info->root) {\n            for (int r=0; r<comm->nRanks; r++) {\n              void* buff = (void*)((char*)info->recvbuff + offset);\n              NCCLCHECK(p2pTaskAppend(comm, info, ncclFuncRecv, collAPI, buff, info->count, info->datatype, r));\n              offset += info->count * ncclTypeSize(info->datatype);\n            }\n          }\n        } else if (info->coll == ncclFuncScatter) {\n          size_t offset = 0;\n          if (comm->rank == info->root) {\n            for (int r = 0; r < comm->nRanks; r++) {\n              void* buff = (void*)((char*)info->sendbuff + offset);\n              NCCLCHECK(p2pTaskAppend(comm, info, ncclFuncSend, collAPI, buff, info->count, info->datatype, r));\n              offset += info->count * ncclTypeSize(info->datatype);\n            }\n          }\n          NCCLCHECK(p2pTaskAppend(comm, info, ncclFuncRecv, collAPI, (void*)info->recvbuff, info->count, info->datatype, info->root));\n        } else {\n          NCCLCHECK(collTaskAppend(comm, info, opDev));\n        }\n      }\n    }\n  }\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclEnqueueCheck(struct ncclInfo* info) {\n  // Profiler - If a group API event has already started, update the profilerGroupDepth so that the depth\n  // updates correctly for implicit ncclGroupStartInternal and ncclGroupEndInternal calls\n  if (ncclProfilerApiState.profilerGroupDepth > 0) {\n    ncclProfilerApiState.profilerGroupDepth++;\n  }\n  NCCLCHECK(ncclGroupStartInternal());\n  ncclResult_t ret = ncclSuccess;\n  int devOld = -1;\n\n  NCCLCHECKGOTO(CommCheck(info->comm, info->opName, \"comm\"), ret, fail);\n  // Check whether communicator is ready to communicate\n  NCCLCHECKGOTO(ncclCommEnsureReady(info->comm), ret, fail);\n\n  if (info->comm->checkPointers) {\n    CUDACHECKGOTO(cudaGetDevice(&devOld), ret, fail);\n    CUDACHECKGOTO(cudaSetDevice(info->comm->cudaDev), ret, fail);\n  }\n  NCCLCHECKGOTO(ArgsCheck(info), ret, fail);\n\n  INFO(NCCL_COLL,\"%s: opCount %lx sendbuff %p recvbuff %p acc %p count %u datatype %d op %d root %d comm %p [nranks=%d] stream %p task %d globalrank %d\",\n        info->opName, info->comm->opCount, info->sendbuff, info->recvbuff, info->acc, info->count,\n        info->datatype, info->op, info->root, info->comm, info->comm->nRanks, info->stream,\n        info->comm->planner.nTasksP2p + info->comm->planner.nTasksColl,\n        info->comm->localRankToRank[info->comm->localRank]);\n  TRACE_CALL(\"nccl%s(%\" PRIx64 \",%\" PRIx64 \",%zu,%d,%d,%d,%p,%p)\", info->opName, reinterpret_cast<int64_t>(info->sendbuff), reinterpret_cast<int64_t>(info->recvbuff), info->count, info->datatype, info->op, info->root, info->comm, info->stream);\n\n  NCCLCHECKGOTO(taskAppend(info->comm, info), ret, fail);\n\nexit:\n  if (devOld != -1) CUDACHECK(cudaSetDevice(devOld));\n  ncclGroupErrCheck(ret);\n  NCCLCHECK(ncclGroupEndInternal());\n  /* if depth is 1, ncclGroupEndInternal() will trigger group ops. The state can change\n   * so we have to check state here. */\n  if (info->comm && !info->comm->config.blocking) { NCCLCHECK(ncclCommGetAsyncError(info->comm, &ret)); }\n  return ret;\nfail:\n  if (info->comm && !info->comm->config.blocking) (void) ncclCommSetAsyncError(info->comm, ret);\n  goto exit;\n}\n\nNCCL_API(ncclResult_t, ncclRedOpCreatePreMulSum, ncclRedOp_t *op, void *scalar, ncclDataType_t datatype, ncclScalarResidence_t residence, ncclComm_t comm);\nncclResult_t ncclRedOpCreatePreMulSum_impl(ncclRedOp_t *op, void *scalar, ncclDataType_t datatype, ncclScalarResidence_t residence, ncclComm_t comm) {\n  NCCLCHECK(CommCheck(comm, \"ncclRedOpCreatePreMulSum\", \"comm\"));\n  /* join init thread before creating PreMulSum op. */\n  NCCLCHECK(ncclCommEnsureReady(comm));\n\n  if (comm->userRedOpFreeHead == comm->userRedOpCapacity) {\n    // double capacity and resize\n    int cap = 2*comm->userRedOpCapacity;\n    if (cap < 4) cap = 4;\n    ncclUserRedOp *ops = new ncclUserRedOp[cap];\n    if (comm->userRedOpCapacity > 0)\n      std::memcpy(ops, comm->userRedOps, comm->userRedOpCapacity*sizeof(ncclUserRedOp));\n    for(int ix=comm->userRedOpCapacity; ix < cap; ix++)\n      ops[ix].freeNext = ix + 1;\n    delete[] comm->userRedOps;\n    comm->userRedOps = ops;\n    comm->userRedOpCapacity = cap;\n  }\n  // pop from free list\n  int ix = comm->userRedOpFreeHead;\n  ncclUserRedOp *user = &comm->userRedOps[ix];\n  comm->userRedOpFreeHead = user->freeNext;\n\n  user->freeNext = -1; // allocated\n  user->datatype = datatype;\n  user->opFull.op = ncclDevPreMulSum;\n  if (residence == ncclScalarHostImmediate) {\n    int size = ncclTypeSize(datatype);\n    if (size < 1) return ncclInternalError;\n    user->opFull.scalarArgIsPtr = false;\n    std::memcpy(&user->opFull.scalarArg, scalar, size);\n  } else {\n    user->opFull.scalarArgIsPtr = true;\n    user->opFull.scalarArg = reinterpret_cast<uint64_t>(scalar);\n  }\n  *op = ncclRedOp_t(int(ncclNumOps) + ix);\n  *op = ncclUserRedOpMangle(comm, *op);\n\n  // ! recording at sink\n  NCCLCHECK(Recorder::instance().record(rrRedOpCreatePreMulSum, *op, comm, datatype, residence, scalar));\n  TRACE_CALL(\"ncclRedOpCreatePreMulSum(%d,%p,%d,%d,%p)\", *op, scalar, datatype, residence, comm);\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, ncclRedOpDestroy, ncclRedOp_t op, ncclComm_t comm);\nncclResult_t ncclRedOpDestroy_impl(ncclRedOp_t op, ncclComm_t comm) {\n  NCCLCHECK(Recorder::instance().record(rrRedOpDestroy, op, comm));\n  if (0 <= int(op) && int(op) < int(ncclNumOps)) {\n    WARN(\"ncclRedOpDestroy : operator is a NCCL builtin.\");\n    return ncclInvalidArgument;\n  }\n  // int(ncclMaxRedOp) < int(op) will always be false due to the sizes of\n  // the datatypes involved, and that's by design.  We keep the check though\n  // just as a reminder.\n  // coverity[result_independent_of_operands]\n  if (int(op) < 0 || int(ncclMaxRedOp) < int(op)) {\n    WARN(\"ncclRedOpDestroy :  operator is garbage.\");\n    return ncclInvalidArgument;\n  }\n  if (comm == NULL) {\n    WARN(\"ncclRedOpDestroy : invalid communicator passed.\");\n    return ncclInvalidArgument;\n  }\n\n  int ix = int(ncclUserRedOpMangle(comm, op)) - int(ncclNumOps);\n  if (comm->userRedOpCapacity <= ix || comm->userRedOps[ix].freeNext != -1) {\n    WARN(\"ncclRedOpDestroy : operator unknown to this communicator.\");\n    return ncclInvalidArgument;\n  }\n  // push to free list\n  comm->userRedOps[ix].freeNext = comm->userRedOpFreeHead;\n  comm->userRedOpFreeHead = ix;\n  TRACE_CALL(\"ncclRedOpDestroy(%d,%p)\", op, comm);\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/graph/CMakeLists.txt",
    "content": "# Graph sources\nset(GRAPH_SOURCES\n    ${CMAKE_CURRENT_SOURCE_DIR}/topo.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/tuning.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/xml.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/search.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/paths.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/connect.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/rings.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/trees.cc\n)\n\n# Add graph sources to parent scope\nset(GRAPH_SOURCES ${GRAPH_SOURCES} PARENT_SCOPE)\n"
  },
  {
    "path": "src/graph/connect.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"device.h\"\n#include \"graph.h\"\n#include \"transport.h\"\n#include \"trees.h\"\n#include \"rings.h\"\n#include \"topo.h\"\n\n#include \"msccl/msccl_lifecycle.h\"\n\n/******************************************************************/\n/********************* Internode connection ***********************/\n/******************************************************************/\n\nncclResult_t ncclTopoPreset(struct ncclComm* comm, struct ncclTopoGraph** graphs, struct ncclTopoRanks* topoRanks) {\n  int rank = comm->rank;\n  int localRanks = comm->topo->nodes[GPU].count;\n  int nChannels = comm->nChannels;\n\n  topoRanks->crossNicRing = graphs[NCCL_ALGO_RING]->crossNic;\n  topoRanks->nvlsHeadNum = 0;\n  for (int c=0; c<nChannels; c++) {\n    struct ncclChannel* channel = comm->channels+c;\n    channel->ring.prev = channel->ring.next = -1;\n    channel->tree.up = -1;\n    channel->collnetChain.up = -1;\n    for (int i=0; i<NCCL_MAX_TREE_ARITY; i++) channel->tree.down[i] = -1;\n    for (int i=0; i<NCCL_MAX_TREE_ARITY; i++) channel->collnetChain.down[i] = -1;\n    channel->collnetDirect.out = -1;\n    channel->collnetDirect.headRank = -1;\n    channel->collnetDirect.nHeads = 0;\n    channel->collnetDirect.shift = 0;\n    for (int i=0; i<NCCL_MAX_DIRECT_ARITY+1; i++) channel->collnetDirect.heads[i] = -1;\n    for (int i=0; i<NCCL_MAX_DIRECT_ARITY; i++) channel->collnetDirect.up[i] = -1;\n    for (int i=0; i<NCCL_MAX_DIRECT_ARITY; i++) channel->collnetDirect.down[i] = -1;\n\n    int* ringIntra = graphs[NCCL_ALGO_RING]->intra+c*localRanks;\n    int* treeIntra = graphs[NCCL_ALGO_TREE]->intra+c*localRanks;\n    int* collNetIntra = graphs[NCCL_ALGO_COLLNET_CHAIN]->intra+c*localRanks;\n\n    for (int i=0; i<localRanks; i++) {\n      if (ringIntra[i] == rank) {\n        topoRanks->ringRecv[c] = ringIntra[0];\n        topoRanks->ringSend[c] = ringIntra[localRanks-1];\n        topoRanks->ringPrev[c] = (i == 0) ? -1 : ringIntra[i-1];\n        topoRanks->ringNext[c] = (i == localRanks-1) ? -1 : ringIntra[i+1];\n      }\n      if (treeIntra[i] == rank) {\n        int parentIndex = 0;\n        int child0Index = graphs[NCCL_ALGO_TREE]->pattern == NCCL_TOPO_PATTERN_TREE ? 0 : 1;\n        int child1Index = graphs[NCCL_ALGO_TREE]->pattern == NCCL_TOPO_PATTERN_SPLIT_TREE ? 1 : 0;\n\n        topoRanks->treeToParent[c] = treeIntra[parentIndex];\n        topoRanks->treeToChild0[c] = treeIntra[child0Index];\n        topoRanks->treeToChild1[c] = treeIntra[child1Index];\n        channel->tree.up         = i == 0 ? -1 : treeIntra[i-1];\n        channel->tree.down[0]    = i == localRanks-1 ? -1 : treeIntra[i+1];\n      }\n      if (collNetIntra[i] == rank) {\n        channel->collnetChain.up      = i == 0 ? comm->nRanks : collNetIntra[i-1];\n        channel->collnetChain.down[0] = i == localRanks-1 ? -1 : collNetIntra[i+1];\n      }\n    }\n  }\n  // Duplicate channels trees\n  struct ncclChannel* channel0 = comm->channels;\n  struct ncclChannel* channel1 = (nChannels > MAXCHANNELS/2) ? 0 : channel0+nChannels;\n  if (channel1) memcpy(channel1, channel0, nChannels*sizeof(struct ncclChannel));\n\n  // Get nvls heads and the number of heads. Duplicate head is not allowed.\n  for (int c = 0; c < graphs[NCCL_ALGO_NVLS]->nChannels; ++c) {\n    bool addHead = true;\n    int* nvlsIntra = graphs[NCCL_ALGO_NVLS]->intra + c * localRanks;\n\n    for (int dup = 0; dup < topoRanks->nvlsHeadNum; dup++) {\n      if (topoRanks->nvlsHeads[dup] == nvlsIntra[0]) {\n        addHead = false;\n        break;\n      }\n    }\n    if (addHead) {\n      topoRanks->nvlsHeads[topoRanks->nvlsHeadNum++] = nvlsIntra[0];\n    }\n  }\n  memcpy(comm->nvlsHeads, topoRanks->nvlsHeads, sizeof(int) * topoRanks->nvlsHeadNum);\n\n  return ncclSuccess;\n}\n\nbool isRankHere(const char* s, int start, int end, int rank) {\n  if (end <= start || start < 0 || end < 0)\n    return false;\n  int num = 0;\n  while (start < end) {\n    char currChar = s[start];\n    if (isdigit(currChar)) {\n      num = num * 10 + (currChar - '0');\n      if (isdigit(s[start+1])) {\n        start++;\n        continue;\n      }\n    }\n    else if (currChar == '(' || currChar == ')') {\n      start++;\n      num = 0;\n      continue;\n    }\n    if (num == rank) return true;\n    start++;\n  }\n  return false;\n}\n\nncclResult_t ncclTreeBasePostset(struct ncclComm* comm,\n    struct ncclTopoGraph* treeGraph) {\n  int x=0;\n  for (int i=0;  treeGraph->treeBase[i][0]!=0; i++)\n  {\n    x=i+1;\n  }\n  if( treeGraph->treeBase[0][0] == 0) return ncclSuccess;\n  int nChannels = comm->nChannels;\n  //int localRanks = comm->topo->nodes[GPU].count; // unused variable - compiler warning\n  //new tree\n  for (int c=0; c<nChannels; c++) { // in here\n    int buff = c%x;\n    char tempString[NCCL_TOPO_MAX_NODES*4];\n    int ko=0;\n    while (treeGraph->treeBase[buff][ko] != 0) {\n      tempString[ko] = treeGraph->treeBase[buff][ko];\n      ko++;\n    }\n    tempString[ko]=0;\n    int start = 0;\n    int curRank = comm->rank;\n    struct ncclChannel* channel = comm->channels+c;\n    int end = 0;\n    while (tempString[end] != 0) end++;\n    int parent = -1;\n    // constructing a number from the continuous digits\n    while (start < end) {\n      int num = 0, num_found = 0;\n      start++;\n      while (start < end && tempString[start] != '('\n         && tempString[start] != ')') {\n        int num_here = (int)(tempString[start] - '0');\n        num = num * 10 + num_here;\n        start = start + 1;\n        if (tempString[start] == '(' || tempString[start] == ')' || start == end) num_found = 1;\n      }\n      if (num_found != 0 && num == curRank) {\n        channel->tree.up = parent;\n        int depth = 0;\n        for (int childId = 0; childId < NCCL_MAX_TREE_ARITY; childId++) {\n          int or_start = start;\n          int child = -1;\n          channel->tree.down[childId] = -1;\n          if (or_start >= end -1) continue;\n          num=0;\n          or_start++;\n          while (tempString[or_start] != 0 && tempString[or_start] != '('\n             && tempString[or_start] != ')') {\n            int num_here = (int)(tempString[or_start] - '0');\n            num = num * 10 + num_here;\n            or_start++;\n          }\n          child = num;\n          // find next child start\n          while (start < end) {\n            if (tempString[start] == '(' ) depth++;\n            else if(tempString[start] == ')') depth--;\n            if (depth == 0) break; // next child\n            start++;\n          }\n          start++;\n          channel->tree.down[childId] = child;\n          // get kids, update numbers, get out of this string\n        }\n        break;\n      }\n      else { //go to the next one\n        parent = num;\n        int start_c = start;\n        int end_c = start_c;\n        while (end_c < end) {\n          int depth = 0;\n          while (end_c < end) {\n            if (tempString[end_c] == '(' ) depth++;\n            else if(tempString[end_c] == ')') depth--;\n            if (depth == 0) break; // next child\n            end_c++;\n          }\n          if (isRankHere(tempString, start_c, end_c, curRank)) {\n            start = start_c;\n            end = end_c;\n            break;\n          }\n          else {\n            end_c++;\n            start_c = end_c;\n          }\n        }\n      }\n    }\n\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t connectRings(struct ncclComm* comm, int* ringRecv, int* ringSend, int* ringPrev, int* ringNext) {\n  int nChannels = comm->nChannels;\n  int nNodes = comm->nNodes;\n  for (int c=0; c<nChannels; c++) {\n    int* recv = ringRecv+c*comm->nNodes;\n    int* send = ringSend+c*comm->nNodes;\n    int* prev = ringPrev+c*comm->nRanks;\n    int* next = ringNext+c*comm->nRanks;\n    for (int n=0; n<nNodes; n++) {\n      int recvRank = recv[n];\n      int prevSendRank = send[(n-1+nNodes)%nNodes];\n      prev[recvRank] = prevSendRank;\n      int sendRank = send[n];\n      int nextRecvRank = recv[(n+1)%nNodes];\n      next[sendRank] = nextRecvRank;\n    }\n  }\n\n  // [RCCL] Print off the recv/send local ranks per node, per channel\n  if (comm->rank == 0)\n  {\n    char buff[2048] = \"\";\n    int offset = 0;\n    int inc;\n    int numChannels = (nChannels > MAXCHANNELS/2) ? 2 * nChannels : nChannels;\n\n    for (int c = 0; c < numChannels; c++) {\n      sprintf(buff + offset, \"     %02d%n\", c, &inc);\n      offset += inc;\n    }\n    INFO(NCCL_GRAPH, \"[RINGS] %s\", buff);\n\n    for (int n = 0; n < nNodes; n++) {\n      offset = 0;\n      for (int c = 0; c < nChannels; c++) {\n        int recvRank = comm->rankToLocalRank[ringRecv[c*comm->nNodes+n]];\n        int sendRank = comm->rankToLocalRank[ringSend[c*comm->nNodes+n]];\n        sprintf(buff + offset, \" %02d->%02d%n\",  recvRank, sendRank, &inc);\n        offset += inc;\n      }\n      INFO(NCCL_GRAPH, \"[RINGS] %s\", buff);\n    }\n  }\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t getIndexes(int* ranks, int* indexes, int nNodes) {\n for (int n=0; n<nNodes; n++) indexes[n] = ranks[n];\n return ncclSuccess;\n}\n\nstatic ncclResult_t setTreeUp(struct ncclTree* tree, int* indexes, int u) {\n  if (u == -1) return ncclSuccess;\n  tree->up = indexes[u];\n  return ncclSuccess;\n}\n\nstatic ncclResult_t setTreeDown(struct ncclTree* tree, int* indexes, int d) {\n  if (d == -1) return ncclSuccess;\n  int x = 0;\n  while (x < NCCL_MAX_TREE_ARITY && tree->down[x] >= 0) x++;\n  if (x == NCCL_MAX_TREE_ARITY) {\n    WARN(\"Internal error : tree already has %d children (%d %d %d)\", x, tree->down[0], tree->down[1], tree->down[2]);\n    return ncclInternalError;\n  }\n  tree->down[x] = indexes[d];\n  return ncclSuccess;\n}\n\nstatic ncclResult_t connectTrees(struct ncclComm* comm, int* treeToParent, int* treeToChild0, int* treeToChild1, int* treePatterns) {\n\n  const int channelLimit = (IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") || IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\")) ? 2*CHANNEL_LIMIT : CHANNEL_LIMIT;\n  const int nChannels = (comm->nChannels > channelLimit) ? comm->nChannels / 2 : comm->nChannels;\n  const int nNodes = comm->nNodes, node = comm->node;\n\n  // Compute tree depth. Not an exact value but a good approximation in most\n  // cases\n  int depth = comm->nRanks/nNodes - 1 + log2i(nNodes);\n\n  int t0u, t0d0, t0d1, t0ChildType, t1u, t1d0, t1d1, t1ChildType;\n  int* ttp, *ttc0, *ttc1;\n  NCCLCHECK(ncclGetDtree(nNodes, node, &t0u, &t0d0, &t0d1, &t0ChildType, &t1u, &t1d0, &t1d1, &t1ChildType));\n  if (nChannels == comm->nChannels) {\n    for (int c=0; c<nChannels; c++) {\n       struct ncclChannel* channel0 = comm->channels+c;\n       struct ncclChannel* channel1 = channel0+nChannels;\n       ttp = treeToParent+c*comm->nNodes;\n       ttc0 = treeToChild0+c*comm->nNodes;\n       ttc1 = treeToChild1+c*comm->nNodes;\n       if (comm->rank == ttp[node]) {\n         NCCLCHECK(setTreeUp(&channel0->tree, t0ChildType == 0 ? ttc0 : ttc1, t0u));\n         NCCLCHECK(setTreeUp(&channel1->tree, t1ChildType == 0 ? ttc0 : ttc1, t1u));\n       }\n       if (comm->rank == ttc0[node]) {\n         NCCLCHECK(setTreeDown(&channel0->tree, ttp, t0d0));\n         NCCLCHECK(setTreeDown(&channel1->tree, ttp, t1d0));\n       }\n       if (comm->rank == ttc1[node]) {\n         NCCLCHECK(setTreeDown(&channel0->tree, ttp, t0d1));\n         NCCLCHECK(setTreeDown(&channel1->tree, ttp, t1d1));\n       }\n       if (comm->rank == ttp[node] ||\n           comm->rank == ttc0[node] ||\n           comm->rank == ttc1[node]) {\n         INFO(NCCL_GRAPH, \"Tree %d : %d -> %d -> %d/%d/%d\", c,           channel0->tree.up, comm->rank, channel0->tree.down[0], channel0->tree.down[1], channel0->tree.down[2]);\n         INFO(NCCL_GRAPH, \"Tree %d : %d -> %d -> %d/%d/%d\", c+nChannels, channel1->tree.up, comm->rank, channel1->tree.down[0], channel1->tree.down[1], channel1->tree.down[2]);\n       }\n       channel0->tree.depth = channel1->tree.depth = depth;\n    }\n  } else {\n    for (int c=0; c<nChannels; c++) {\n       struct ncclChannel* channel0 = comm->channels+c;\n       ttp = treeToParent+c*comm->nNodes;\n       ttc0 = treeToChild0+c*comm->nNodes;\n       ttc1 = treeToChild1+c*comm->nNodes;\n       if (comm->rank == ttp[node]) {\n         NCCLCHECK(setTreeUp(&channel0->tree, t0ChildType == 0 ? ttc0 : ttc1, t0u));\n       }\n       if (comm->rank == ttc0[node]) {\n         NCCLCHECK(setTreeDown(&channel0->tree, ttp, t0d0));\n       }\n       if (comm->rank == ttc1[node]) {\n         NCCLCHECK(setTreeDown(&channel0->tree, ttp, t0d1));\n       }\n       if (comm->rank == ttp[node] ||\n           comm->rank == ttc0[node] ||\n           comm->rank == ttc1[node]) {\n         INFO(NCCL_GRAPH, \"Tree %d : %d -> %d -> %d/%d/%d\", c,           channel0->tree.up, comm->rank, channel0->tree.down[0], channel0->tree.down[1], channel0->tree.down[2]);\n       }\n       channel0->tree.depth = depth;\n    }\n    for (int c=nChannels; c<nChannels*2; c++) {\n       struct ncclChannel* channel1 = comm->channels+c;\n       ttp = treeToParent+c*comm->nNodes;\n       ttc0 = treeToChild0+c*comm->nNodes;\n       ttc1 = treeToChild1+c*comm->nNodes;\n       if (comm->rank == ttp[node]) {\n         NCCLCHECK(setTreeUp(&channel1->tree, t1ChildType == 0 ? ttc0 : ttc1, t1u));\n       }\n       if (comm->rank == ttc0[node]) {\n         NCCLCHECK(setTreeDown(&channel1->tree, ttp, t1d0));\n       }\n       if (comm->rank == ttc1[node]) {\n         NCCLCHECK(setTreeDown(&channel1->tree, ttp, t1d1));\n       }\n       if (comm->rank == ttp[node] ||\n           comm->rank == ttc0[node] ||\n           comm->rank == ttc1[node]) {\n         INFO(NCCL_GRAPH, \"Tree %d : %d -> %d -> %d/%d/%d\", c+nChannels, channel1->tree.up, comm->rank, channel1->tree.down[0], channel1->tree.down[1], channel1->tree.down[2]);\n       }\n       channel1->tree.depth = depth;\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t connectCollNet(struct ncclComm* comm, struct ncclTopoGraph* collNetGraph) {\n  int rank = comm->rank;\n  int localRanks = comm->localRanks;\n  int nHeads = 0;\n  int *heads;\n  NCCLCHECK(ncclCalloc(&heads, localRanks));\n  // Find all head ranks\n  // Head index is always 0\n  for (int c=0; c<collNetGraph->nChannels; c++) {\n    int* collNetIntra = collNetGraph->intra+c*localRanks;\n    int head = collNetIntra[0];\n    for (int h=0; h<nHeads; h++) if (heads[h] == head) head = -1;\n    if (head != -1) heads[nHeads++] = collNetIntra[0];\n  }\n  // For all channels\n  for (int c=0; c<comm->nChannels; c++) {\n    struct ncclChannel* channel = comm->channels+c;\n    char line[1024];\n    sprintf(line, \"CollNetDirect channel %d rank %d \", c, rank);\n    int nDown = 0;\n    for (int i=0; i<nHeads; i++) {\n      if (rank == heads[i]) { // is head\n        channel->collnetDirect.headRank = i; // Mark the index for deciding offset in the CUDA kernel\n        channel->collnetDirect.out = comm->nRanks; // Set root of collnetDirect to id nranks\n        int* collNetIntra = collNetGraph->intra+i*localRanks;\n        sprintf(line+strlen(line), \"down \");\n        for (int r=0; r<localRanks; r++) {\n          if (collNetIntra[r] == rank) continue;\n          channel->collnetDirect.down[nDown++] = collNetIntra[r];  // connect to all peers\n          sprintf(line+strlen(line), \" %d \", collNetIntra[r]);\n        }\n        sprintf(line+strlen(line), \"nDown %d \", nDown);\n        break;\n      }\n    }\n    // Connect to all heads\n    int nUp = 0;\n    sprintf(line+strlen(line), \"up \");\n    for (int h=0; h<nHeads; h++) {\n      if (rank == heads[h]) continue;\n      channel->collnetDirect.up[nUp++] = heads[h];\n      sprintf(line+strlen(line), \" %d \", heads[h]);\n    }\n    sprintf(line+strlen(line), \"heads \");\n    { // heads[] is the list of heads ordered in head order startubg with self\n      int h0 = (channel->collnetDirect.headRank == -1) ? 0 : channel->collnetDirect.headRank;\n      for (int h1=0; h1 < nHeads; h1++) {\n        int h = (h0+h1)%nHeads;\n        channel->collnetDirect.heads[h1] = heads[h];\n        sprintf(line+strlen(line), \" %d \", heads[h]);\n      }\n    }\n    channel->collnetDirect.nHeads = nHeads;\n    // nHeads should always be greater than 0.\n    // coverity[divide_by_zero]\n    channel->collnetDirect.shift = (rank%localRanks)%nHeads; // Shift by intraRank so that leaves don't send to same head simultaneously\n    channel->collnetDirect.depth = (nUp == 0 && nDown == 0) ? 1 : 2;\n    sprintf(line+strlen(line), \"nUp %d nHeads %d \", nUp, nHeads);\n    sprintf(line+strlen(line), \"headRank %d out %d shift %d\", channel->collnetDirect.headRank, channel->collnetDirect.out, channel->collnetDirect.shift);\n    INFO(NCCL_GRAPH, \"%s\", line);\n  }\n  free(heads);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t connectNvls(struct ncclComm* comm, int* nvlsHeads, int nHeads) {\n  int headRank = -1;\n  if (nHeads == 0) {\n    comm->nvlsChannels = 0;\n    return ncclSuccess;\n  }\n\n  for (int h = 0; h < nHeads; h++) {\n    if (nvlsHeads[h * comm->nNodes + comm->node] == comm->rank) headRank = h;\n  }\n\n  for (int c=0; c<comm->nvlsChannels; c++) {\n    struct ncclChannel* channel = comm->channels+c;\n    channel->nvls.nHeads = nHeads;\n    for (int h=0; h<nHeads; h++) channel->nvls.up[h] = comm->nRanks+1+h;\n    for (int h=nHeads; h<NCCL_MAX_NVLS_ARITY; h++) channel->nvls.up[h] = -1;\n    channel->nvls.down = comm->nRanks+1+headRank;\n    channel->nvls.out = -1;       // NVLS+SHARP not yet implemented.\n    channel->nvls.headRank = headRank;\n    channel->nvls.treeUp = channel->nvls.treeDown[0] = channel->nvls.treeDown[1] = channel->nvls.treeDown[2] = -1;\n    if (comm->config.collnetEnable && channel->nvls.headRank != -1) channel->nvls.out = comm->nRanks;\n  }\n  if (comm->nNodes == 1) return ncclSuccess;\n\n  // Connect Trees\n  int tree0Parent, tree0Child0, tree0Child1, tree1Parent, tree1Child0, tree1Child1;\n  int pc0, pc1; // ignored\n  NCCLCHECK(ncclGetDtree(comm->nNodes, comm->node,\n        &tree0Parent, &tree0Child0, &tree0Child1, &pc0,\n        &tree1Parent, &tree1Child0, &tree1Child1, &pc1));\n\n  int* heads = NULL;\n  int treeUp[2] = { -1, -1 };\n  int treeDown0[2] = { -1, -1 };\n  int treeDown1[2] = { -1, -1 };\n\n  if (comm->node == 0) {\n    for (int h=0; h<nHeads; h++) {\n      char line[1024];\n      sprintf(line, \"NVLS Head %2d:\", h);\n      heads = nvlsHeads+h*comm->nNodes;\n      for (int n=0; n<comm->nNodes && n<20; n++) {\n        sprintf(line+strlen(line), \" %2d\", heads[n]);\n      }\n      INFO(NCCL_INIT, \"%s\", line);\n    }\n  }\n\n  // Find the heads where I'm the head rank and retain tree up/down\n  for (int h=0; h<nHeads; h++) {\n    heads = nvlsHeads+h*comm->nNodes;\n    if (heads[comm->node] == comm->rank) {\n      treeUp[0] = tree0Parent == -1 ? -1: heads[tree0Parent];\n      treeDown0[0] = tree0Child0 == -1 ? -1 : heads[tree0Child0];\n      treeDown1[0] = tree0Child1 == -1 ? -1 : heads[tree0Child1];\n      treeUp[1] = tree1Parent == -1 ? -1 : heads[tree1Parent];\n      treeDown0[1] = tree1Child0 == -1 ? -1 : heads[tree1Child0];\n      treeDown1[1] = tree1Child1 == -1 ? -1 : heads[tree1Child1];\n      break;\n    }\n  }\n  // Set prev/next in all channels (NVLS compute channels work\n  // orthogonally to NVLS search channels).\n  for (int c=0; c<comm->nvlsChannels; c++) {\n    struct ncclChannel* channel = comm->channels+c;\n    channel->nvls.treeUp = treeUp[c%2];\n    channel->nvls.treeDown[0] = channel->nvls.down;\n    int ix = 1;\n    if (treeDown0[c%2] != -1) channel->nvls.treeDown[ix++] = treeDown0[c%2];\n    if (treeDown1[c%2] != -1) channel->nvls.treeDown[ix] = treeDown1[c%2];\n  }\n\n  struct ncclNvls* nvls0 = &comm->channels[0].nvls;\n  struct ncclNvls* nvls1 = &comm->channels[1].nvls;\n  INFO(NCCL_GRAPH, \"NVLS Trees : %d/%d/%d->%d->%d %d/%d/%d->%d->%d\",\n      nvls0->treeDown[0], nvls0->treeDown[1], nvls0->treeDown[2], comm->rank, nvls0->treeUp,\n      nvls1->treeDown[0], nvls1->treeDown[1], nvls1->treeDown[2], comm->rank, nvls1->treeUp);\n  return ncclSuccess;\n}\n\n// Legacy naming\nNCCL_PARAM(MinNrings, \"MIN_NRINGS\", -2);\nNCCL_PARAM(MaxNrings, \"MAX_NRINGS\", -2);\n// New naming\nNCCL_PARAM(MinNchannels, \"MIN_NCHANNELS\", -2);\nNCCL_PARAM(MaxNchannels, \"MAX_NCHANNELS\", -2);\n\nint ncclMinNchannels() {\n  int minNchannels = 2;\n  if (ncclParamMinNrings() != -2) minNchannels = ncclParamMinNrings();\n  if (ncclParamMinNchannels() != -2) minNchannels = ncclParamMinNchannels();\n  if (minNchannels > MAXCHANNELS) {\n    INFO(NCCL_GRAPH|NCCL_ENV, \"User asked for a minimum of %d channels, limiting to %d\", minNchannels, MAXCHANNELS);\n    minNchannels = MAXCHANNELS;\n  }\n  if (minNchannels < 0) minNchannels = 0;\n  return minNchannels;\n}\n\nextern int64_t ncclParamWorkArgsBytes();\n\nint ncclMaxNchannels() {\n  int maxNchannels = MAXCHANNELS;\n  if (ncclParamMaxNrings() != -2) maxNchannels = ncclParamMaxNrings();\n  if (ncclParamMaxNchannels() != -2) maxNchannels = ncclParamMaxNchannels();\n  maxNchannels = std::min(maxNchannels, ncclDevMaxChannelsForArgsBytes(ncclParamWorkArgsBytes()));\n  if (maxNchannels > MAXCHANNELS) maxNchannels = MAXCHANNELS;\n  if (maxNchannels < 1) {\n    INFO(NCCL_GRAPH|NCCL_ENV, \"User asked for a maximum of %d channels, setting it to 1\", maxNchannels);\n    maxNchannels = 1;\n  }\n  return maxNchannels;\n}\n\nstatic int copyChannels(struct ncclComm* comm, int start, int end, int* ringPrev, int* ringNext) {\n  int nranks = comm->nRanks;\n  int c;\n  for (c=start; c<end; c++) {\n    memcpy(ringPrev+c*nranks, ringPrev+(c-start)*nranks, nranks*sizeof(int));\n    memcpy(ringNext+c*nranks, ringNext+(c-start)*nranks, nranks*sizeof(int));\n    memcpy(comm->channels+c, comm->channels+c-start, sizeof(struct ncclChannel));\n  }\n  return c;\n}\n\nvoid exchangeValues(int* v0, int* v1) {\n  int tmp = *v1;\n  *v1 = *v0;\n  *v0 = tmp;\n}\n\nint getTreeNodeParity(int treeDir, int nNodes, int node)\n{\n  if (node == -1) return -1;\n\n  int parentNodes[2], child0Nodes[2], child1Nodes[2], childTypes[2];\n  ncclGetDtree(nNodes, node,\n               &parentNodes[0], &child0Nodes[0], &child1Nodes[0], &childTypes[0],\n               &parentNodes[1], &child0Nodes[1], &child1Nodes[1], &childTypes[1]);\n\n  // Uptree and downtree have different parity\n  if (parentNodes[treeDir] == -1) return treeDir;\n\n  // Recurse and swap parity if this is child that exits from 2nd intranode rank (childType == 0)\n  return ((childTypes[treeDir] + 1) + getTreeNodeParity(treeDir, nNodes, parentNodes[treeDir])) % 2;\n}\n\n// [RCCL] Build rail-optimized trees\nncclResult_t connectRailOptimizedTrees(struct ncclComm* comm, int* treeToParent, int* treeToChild0, int* treeToChild1)\n{\n  INFO(NCCL_GRAPH, \"Building rail-optimized trees for %d nodes\", comm->nNodes);\n\n  /* Rail-optimized trees are implemented in RCCL via a set of specially crafted complimentary\n     pairs of intra-node XGMI paths such that:\n        A) Complimentary pairs alternate their first two elements\n        B) Cover all the XGMI links exactly once\n\n     E.g: For MI300X\n       Path 1A 0 1 2 4 3 6 5 7       Path 2A 2 3 0 5 6 1 7 4\n       Path 1B 1 0 4 7 3 5 2 6       Path 2B 3 2 7 0 6 4 1 5\n               ^ ^                           ^ ^\n\n       Path 3A 4 5 1 6 0 3 7 2       Path 4A 6 7 5 3 4 0 2 1\n       Path 3B 5 4 6 2 0 7 1 3       Path 4B 7 6 3 1 4 2 5 0\n               ^ ^                           ^ ^\n\n     Due to the balanced tree pattern, the 1st rank in the Path gets connected to the first\n     rank of the path of the left child node, while the 2nd rank in the path connects to the first\n     rank of the right child node.\n\n     In order to avoid crossing rails, any time a right child is visited, the channel should\n     be swapped:\n\n                             AB              BA\n                            /  \\            /  \\\n                           /    \\          /    \\\n                          AB     BA       BA     AB\n                         /  \\   /  \\     / \\    /  \\\n                        AB  BA BA   AB  BA  AB AB   BA\n  */\n\n  const int nChannels = (comm->nChannels / 2);\n  const int nNodes = comm->nNodes, node = comm->node, rank = comm->rank;\n  const int depth = comm->nRanks/nNodes - 1 + log2i(nNodes);\n  const int nGpus = comm->topo->nodes[GPU].count;\n  struct ncclTopoGraph* treeGraph = &comm->graphs[NCCL_ALGO_TREE];\n\n  // Compute parent/child nodes for this current node, for uptree and downtree\n  int parentNodes[2], child0Nodes[2], child1Nodes[2], childTypes[2];\n  NCCLCHECK(ncclGetDtree(nNodes, node,\n                         &parentNodes[0], &child0Nodes[0], &child1Nodes[0], &childTypes[0],\n                         &parentNodes[1], &child0Nodes[1], &child1Nodes[1], &childTypes[1]));\n\n  // Loop over up-tree / down-tree\n  for (int treeDir = 0; treeDir < 2; treeDir++) {\n    // Collect the parent / child nodes for this tree direction\n    int parentNode = parentNodes[treeDir];\n    int child0Node = child0Nodes[treeDir];\n    int child1Node = child1Nodes[treeDir];\n\n    int* treeToChild = (childTypes[treeDir] == 0) ? treeToChild0 : treeToChild1;\n\n    // Compute the parity for nodes for this tree direction\n    int nodeParity   = getTreeNodeParity(treeDir, nNodes, node);\n    int parentParity = getTreeNodeParity(treeDir, nNodes, parentNode);\n    int child0Parity = getTreeNodeParity(treeDir, nNodes, child0Node);\n    int child1Parity = getTreeNodeParity(treeDir, nNodes, child1Node);\n\n    // Loop over pairs of complimentary channels\n    for (int ch = 0; ch < nChannels; ch += 2) {\n      int ch0 = treeDir * nChannels + ch;\n      int ch1 = ch0 + 1;\n\n      ncclChannel* channel[2] = {&comm->channels[ch0], &comm->channels[ch1]};\n      channel[0]->tree.depth = channel[1]->tree.depth = depth;\n\n      // Determine ranks that connect to other nodes for each of the two channels\n      int rankToParent[2] = {treeToParent[ch0 * nNodes + node], treeToParent[ch1 * nNodes + node]};\n      int rankToChild0[2] = {treeToChild0[ch0 * nNodes + node], treeToChild0[ch1 * nNodes + node]};\n      int rankToChild1[2] = {treeToChild1[ch0 * nNodes + node], treeToChild1[ch1 * nNodes + node]};\n\n      // All ranks swizzle channels.  This maintains internal rank structures setup during TopoPreset\n      if (nodeParity) {\n        std::swap(channel[0]->tree, channel[1]->tree);\n        std::swap(rankToParent[0], rankToParent[1]);\n        std::swap(rankToChild0[0], rankToChild0[1]);\n        std::swap(rankToChild1[0], rankToChild1[1]);\n\n        // Swap NICs\n        std::swap(treeGraph->inter[ch0 * 2    ], treeGraph->inter[ch1 * 2    ]);\n        std::swap(treeGraph->inter[ch0 * 2 + 1], treeGraph->inter[ch1 * 2 + 1]);\n\n        // Swap lines\n        for (int j = 0; j < nGpus; j++)\n          std::swap(treeGraph->intra[ch0 * nGpus + j], treeGraph->intra[ch1 * nGpus + j]);\n      }\n\n      // Connect ranks that connect to other nodes for each of the two channels\n      for (int i = 0; i < 2; i++) {\n        if (rank == rankToParent[i] && parentNode != -1) {\n          // Connect this rank to correct child rank on parent node\n          int parentChannel = (parentParity + i) % 2 == 0 ? ch0 : ch1;\n          channel[i]->tree.up = treeToChild[parentChannel * nNodes + parentNode];\n        }\n\n        if (rank == rankToChild0[i] && child0Node != -1) {\n          // Connect this rank to the parent rank on child0 node\n          int child0Channel = (child0Parity + i) % 2 == 0 ? ch0 : ch1;\n          setTreeDown(&channel[i]->tree, treeToParent + child0Channel * nNodes, child0Node);\n        }\n\n        if (rank == rankToChild1[i] && child1Node != -1) {\n          // Connect this rank to the parent rank on child1 node\n          int child1Channel = (child1Parity + i) % 2 == 0 ? ch0 : ch1;\n          setTreeDown(&channel[i]->tree, treeToParent + child1Channel * nNodes, child1Node);\n        }\n        if (rank == rankToParent[i] ||\n            rank == rankToChild0[i] ||\n            rank == rankToChild1[i]) {\n          INFO(NCCL_GRAPH, \"Tree %d : %d -> %d -> %d/%d/%d\", (i == 0 ? ch0 : ch1),\n               channel[i]->tree.up, rank,\n               channel[i]->tree.down[0],\n               channel[i]->tree.down[1],\n               channel[i]->tree.down[2]);\n        }\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nNCCL_PARAM(UnpackDoubleNChannels, \"UNPACK_DOUBLE_NCHANNELS\", 1);\nRCCL_PARAM(OutputTrees, \"OUTPUT_TREES\", 0);\n\nncclResult_t ncclTopoPostset(struct ncclComm* comm, int* firstRanks, int* treePatterns, struct ncclTopoRanks** allTopoRanks, int* rings, struct ncclTopoGraph** graphs, struct ncclComm* parent, int nc) {\n  // Gather data from all ranks\n  ncclResult_t ret = ncclSuccess;\n  int *ringRecv = NULL, *ringSend = NULL, *ringPrev = NULL, *ringNext = NULL, *treeToParent = NULL, *treeToChild0 = NULL, *treeToChild1 = NULL, *nvlsHeads = NULL;\n  int nranks = comm->nRanks;\n  int nNodes = comm->nNodes;\n  int nChannels = comm->nChannels;\n  int minHeadNum = INT_MAX;\n  int shared = parent && parent->nvlsSupport  && parent->shareResources;\n  int maxChannels;\n  int minNchannels, maxNchannels;\n  int duplicateCount = 1;\n  NCCLCHECK(ncclCalloc(&ringRecv, nNodes*MAXCHANNELS));\n  NCCLCHECKGOTO(ncclCalloc(&ringSend, nNodes*MAXCHANNELS), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&ringPrev, nranks*MAXCHANNELS), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&ringNext, nranks*MAXCHANNELS), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&treeToParent, nNodes*MAXCHANNELS), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&treeToChild0, nNodes*MAXCHANNELS), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&treeToChild1, nNodes*MAXCHANNELS), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&nvlsHeads, nNodes*MAXCHANNELS), ret, fail);\n\n  // Alternate rings to avoid crossing rails.\n  // CrossNic values could be not the same on all nodes as it depends on the number of net devs and the NVLink bandwidth.\n  // Therefore, it's only done if the rank obtained a solution with crossNic=2.\n  for (int r = 0; r < comm->nRanks; r++) {\n    if (allTopoRanks[r]->crossNicRing == 2 && (nChannels % 2) == 0 && (comm->rankToNode[r] % 2) == 1) {\n      // Exchange rings\n      for (int c=0; c<nChannels; c+=2) {\n        exchangeValues(allTopoRanks[r]->ringRecv+c, allTopoRanks[r]->ringRecv+(c^1));\n        exchangeValues(allTopoRanks[r]->ringSend+c, allTopoRanks[r]->ringSend+(c^1));\n        exchangeValues(allTopoRanks[r]->ringPrev+c, allTopoRanks[r]->ringPrev+(c^1));\n        exchangeValues(allTopoRanks[r]->ringNext+c, allTopoRanks[r]->ringNext+(c^1));\n      }\n    }\n  }\n\n  for (int c=0; c<nChannels;c++) {\n    for (int n=0; n<nNodes; n++) {\n      int r = firstRanks[n];\n      ringRecv[c*nNodes+n] = allTopoRanks[r]->ringRecv[c];\n      ringSend[c*nNodes+n] = allTopoRanks[r]->ringSend[c];\n      treeToParent[c*nNodes+n] = allTopoRanks[r]->treeToParent[c];\n      treeToChild0[c*nNodes+n] = allTopoRanks[r]->treeToChild0[c];\n      treeToChild1[c*nNodes+n] = allTopoRanks[r]->treeToChild1[c];\n    }\n    for (int r=0; r<nranks; r++) {\n      ringPrev[c*nranks+r] = allTopoRanks[r]->ringPrev[c];\n      ringNext[c*nranks+r] = allTopoRanks[r]->ringNext[c];\n    }\n  }\n\n  for (int n = 0; n < nNodes; n++) {\n    int r = firstRanks[n];\n    if (minHeadNum > allTopoRanks[r]->nvlsHeadNum)\n      minHeadNum = allTopoRanks[r]->nvlsHeadNum;\n  }\n\n  for (int c = 0; c < minHeadNum; c++) {\n    for (int n = 0; n < nNodes; n++) {\n      int r = firstRanks[n];\n      nvlsHeads[c * nNodes + n] = allTopoRanks[r]->nvlsHeads[c];\n    }\n  }\n\n  // Connect rings and trees. This should also duplicate the channels.\n  NCCLCHECK(connectRings(comm, ringRecv, ringSend, ringPrev, ringNext));\n\n  // [RCCL] Connect rail-optimized trees\n  if (comm->topo->useRailOptimizedTrees) {\n    NCCLCHECK(connectRailOptimizedTrees(comm, treeToParent, treeToChild0, treeToChild1));\n  } else {\n    NCCLCHECK(connectTrees(comm, treeToParent, treeToChild0, treeToChild1, treePatterns));\n  }\n\n  // Dump graphviz-friendly trees\n  if (rcclParamOutputTrees()) {\n    int rank = comm->rank;\n    char color[8][16] =\n      {\"red\", \"orange\", \"yellow\", \"yellowgreen\", \"green\", \"cyan\", \"deepskyblue\", \"violet\"};\n\n    for (int i = 0; i < comm->nChannels; i++) {\n      INFO(NCCL_GRAPH, \"[TREE] %d.%d [style=filled, fillcolor=%s]\", i, rank, color[rank % comm->localRanks]);\n      for (int j = 0; j < 3; j++) {\n        if (comm->channels[i].tree.down[j] != -1) {\n\t  bool sameNode = (comm->rankToNode[rank] == comm->rankToNode[comm->channels[i].tree.down[j]]);\n          INFO(NCCL_GRAPH, \"[TREE] %d.%d->%d.%d [style=%s,width=10,color=%s,label=\\\"%s\\\"]\",\n\t       i, rank, i, comm->channels[i].tree.down[j],\n\t       sameNode ? \"solid\" : \"dashed\",\n\t       sameNode ? \"black\" : color[rank % comm->localRanks],\n\t       sameNode ? \"\"  : (std::string(\"N\") + std::to_string(graphs[NCCL_ALGO_TREE]->inter[i*2+1])).c_str());\n        }\n      }\n    }\n  }\n\n#ifdef ENABLE_WARP_SPEED\n  // Only use full MAXCHANNELS for gfx942 (MI300X) and gfx950\n  maxChannels = (IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") ||\n                 IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\"))\n                 ? MAXCHANNELS : 2*CHANNEL_LIMIT;\n\n#else\n  // Only use full MAXCHANNELS for gfx942 (MI300X) and gfx950\n  maxChannels = (IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") ||\n                 IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\"))\n                 ? std::min(comm->topo->nodes[GPU].nodes[0].gpu.cu, MAXCHANNELS) : 2*CHANNEL_LIMIT;\n  if (graphs[NCCL_ALGO_RING]->nIntraChannels > 0 || comm->nNodes > 1) {\n    maxChannels = std::min(64, maxChannels);\n  }\n#endif\n  // Duplicate ringPrev/ringNext for ncclBuildRing\n  duplicateCount = maxChannels / nChannels;\n  if (duplicateCount > 1) {\n    int limit = duplicateCount;\n    for (int dup = 1; dup < limit; ++dup) {\n      memcpy(ringPrev + dup * nChannels * nranks, ringPrev, nChannels * nranks * sizeof(int));\n      memcpy(ringNext + dup * nChannels * nranks, ringNext, nChannels * nranks * sizeof(int));\n    }\n  }\n  // Get number of channels after duplication\n  maxNchannels = std::min((int)ncclMaxNchannels(), maxChannels);\n  nc = std::min(maxNchannels/comm->nChannels, nc);\n  nc *= comm->nChannels;\n\n  // Set ring prev/next for my rank\n  for (int c=0; c<nChannels; c++) {\n    struct ncclChannel* channel0 = comm->channels+c;\n    struct ncclChannel* channel1 = channel0+nChannels;\n    channel0->ring.prev = ringPrev[c*nranks+comm->rank];\n    channel0->ring.next = ringNext[c*nranks+comm->rank];\n\n    if (c + nChannels < MAXCHANNELS) {\n      channel1->ring.prev = channel0->ring.prev;\n      channel1->ring.next = channel0->ring.next;\n    }\n  }\n\n  // Duplication should be complete now\n  nChannels = comm->nChannels = std::min(maxChannels, (nChannels <= maxChannels/2) ? nChannels*2 : nChannels);\n\n  // Setup CollNet\n  if (comm->config.collnetEnable) {\n    struct ncclTopoGraph* collNetChainGraph = graphs[NCCL_ALGO_COLLNET_CHAIN];\n    // Add more channels to saturate intra-node bandwidth, except the 1 PPN case\n    if (collNetChainGraph->bwIntra > collNetChainGraph->bwInter && comm->nRanks > comm->nNodes) {\n      int collNetNchannels = std::min(maxChannels, nChannels+nChannels/2);\n      nChannels = comm->nChannels = copyChannels(comm, nChannels, collNetNchannels, ringPrev, ringNext);\n    }\n\n    for (int c = 0; c < comm->nChannels; c++) {\n      comm->channels[c].collnetChain.depth = comm->nRanks/comm->nNodes;\n    }\n\n    if (comm->maxLocalRanks <= NCCL_MAX_DIRECT_ARITY+1) {\n      NCCLCHECKGOTO(connectCollNet(comm, graphs[NCCL_ALGO_COLLNET_DIRECT]), ret, fail);\n    }\n  }\n\n  // Use 4 compute channels per search channel to reach peak BW on <8 PPN\n  if (comm->minCompCap >= 90 && comm->nNodes > 1 && graphs[NCCL_ALGO_RING]->bwIntra > 45.0 && 2*nChannels <= maxChannels) {\n     nChannels = comm->nChannels = copyChannels(comm, nChannels, 2*nChannels, ringPrev, ringNext);\n  }\n\n  // Double the number of channels when using unpack networking (greater than 1 node)\n  // We won't automatically double past 16 channels, users can specify 32 if they want\n  if (comm->netDeviceType == NCCL_NET_DEVICE_UNPACK && comm->nNodes > 1 && nChannels < 16 && ncclParamUnpackDoubleNChannels()) {\n     nChannels = comm->nChannels = copyChannels(comm, nChannels, 2*nChannels, ringPrev, ringNext);\n  }\n\n  minNchannels = ncclMinNchannels();\n  if (comm->nNodes > 1) {\n    minNchannels = std::min(64, minNchannels);\n  }\n  if (comm->nRanks < 8 && 64 < minNchannels) {\n    minNchannels = 2;\n    WARN(\"NCCL_MIN_NCHANNELS set by environment is ignored due to less than 8 GPUs.\");\n  }\n  if (minNchannels > maxChannels) {\n    minNchannels = 2;\n    WARN(\"NCCL_MIN_NCHANNELS set by environment is ignored due to greater than max allowed %d channels.\", maxChannels);\n  }\n\n  if (mscclEnabled() && (comm->topo->mscclEnabled || mscclForceEnabled())) {\n    int mscclNumChannelsRequired = maxNchannels;\n    mscclSchedulerInit(comm, &mscclNumChannelsRequired);\n    if (comm->mscclCompatible) {\n      minNchannels = std::max(minNchannels, mscclNumChannelsRequired);\n    }\n  }\n\n  // Honor NCCL_MIN_NRINGS/NCCL_MAX_NRINGS.\n  // We permit combining max, then min, to only use the first channels, then duplicate them.\n  if (comm->sharedRes->owner != comm) {\n    /* child comm #channels cannot exceed top parent #channels. */\n    nChannels = comm->nChannels = std::min(std::min(std::min(ncclMaxNchannels(), nChannels), comm->config.maxCTAs), comm->sharedRes->tpNChannels);\n    nChannels = comm->nChannels = copyChannels(comm, nChannels, std::min(std::max(minNchannels, std::max(nc, comm->config.minCTAs)), comm->sharedRes->tpNChannels), ringPrev, ringNext);\n  } else {\n    nChannels = comm->nChannels = std::min(std::min(ncclMaxNchannels(), nChannels), comm->config.maxCTAs);\n    nChannels = comm->nChannels = copyChannels(comm, nChannels, std::max(minNchannels, std::max(nc, comm->config.minCTAs)), ringPrev, ringNext);\n  }\n\n  comm->collChannels = comm->nChannels;\n#if CUDART_VERSION >= 12010\n  // Support maximal channel usage for aggregation\n  if (shared && comm->nvlsChannels > parent->nvlsResources->nChannels) {\n    comm->nvlsChannels = parent->nvlsResources->nChannels;\n  }\n  NCCLCHECKGOTO(connectNvls(comm, nvlsHeads, minHeadNum), ret, fail);\n#endif\n  if (shared && comm->nChannels > parent->sharedRes->tpNChannels) {\n    nChannels = comm->nChannels = parent->sharedRes->tpNChannels;\n    comm->collChannels = std::min(comm->collChannels, comm->nChannels);\n  }\n\n  // Create rings array and check all is fine\n  NCCLCHECKGOTO(ncclBuildRings(nChannels, rings, comm->rank, comm->nRanks, ringPrev, ringNext), ret, fail);\n\nexit:\n  if (ringRecv) free(ringRecv);\n  if (ringSend) free(ringSend);\n  if (ringPrev) free(ringPrev);\n  if (ringNext) free(ringNext);\n  if (treeToParent) free(treeToParent);\n  if (treeToChild0) free(treeToChild0);\n  if (treeToChild1) free(treeToChild1);\n  if (nvlsHeads) free(nvlsHeads);\n  return ret;\nfail:\n  goto exit;\n}\n"
  },
  {
    "path": "src/graph/paths.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2018-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"core.h\"\n#include \"graph.h\"\n#include \"topo.h\"\n#include \"comm.h\"\n#include \"net.h\"\n#include \"channel.h\"\n#include \"transport.h\"\n#include \"device.h\"\n#include \"xml.h\"\n\n// Pre-compute GPU->NIC, GPU->GPU and NIC->GPU paths\n\nstruct ncclTopoNodeList {\n  struct ncclTopoNode* list[NCCL_TOPO_MAX_NODES];\n  int count;\n};\n\nstatic ncclResult_t getPath(struct ncclTopoSystem* system, struct ncclTopoNode* node, int t, int64_t id, struct ncclTopoLinkList** path) {\n  for (int i=0; i<system->nodes[t].count; i++) {\n    if (system->nodes[t].nodes[i].id == id) {\n      *path = node->paths[t]+i;\n      return ncclSuccess;\n    }\n  }\n  WARN(\"Could not find node of type %d id %lx\", t, id);\n  return ncclInternalError;\n}\n\nNCCL_PARAM(NvbDisable, \"NVB_DISABLE\", 0);\n\nstatic ncclResult_t ncclTopoSetPaths(struct ncclTopoNode* baseNode, struct ncclTopoSystem* system) {\n  if (baseNode->paths[baseNode->type] == NULL) {\n    NCCLCHECK(ncclCalloc(baseNode->paths+baseNode->type, system->nodes[baseNode->type].count));\n    for (int i=0; i<system->nodes[baseNode->type].count; i++) baseNode->paths[baseNode->type][i].type = PATH_DIS;\n  }\n\n  // breadth-first search to set all paths to that node in the system\n  struct ncclTopoNodeList nodeList;\n  struct ncclTopoNodeList nextNodeList = { { 0 }, 0 };\n  nodeList.count = 1; nodeList.list[0] = baseNode;\n  struct ncclTopoLinkList* basePath;\n  NCCLCHECK(getPath(system, baseNode, baseNode->type, baseNode->id, &basePath));\n  basePath->count = 0;\n  basePath->bw = LOC_BW;\n  basePath->type = PATH_LOC;\n\n  while (nodeList.count) {\n    nextNodeList.count = 0;\n    for (int n=0; n<nodeList.count; n++) {\n      struct ncclTopoNode* node = nodeList.list[n];\n      struct ncclTopoLinkList* path;\n      NCCLCHECK(getPath(system, node, baseNode->type, baseNode->id, &path));\n      for (int l=0; l<node->nlinks; l++) {\n        struct ncclTopoLink* link = node->links+l;\n        struct ncclTopoNode* remNode = link->remNode;\n        if (remNode->paths[baseNode->type] == NULL) {\n          NCCLCHECK(ncclCalloc(remNode->paths+baseNode->type, system->nodes[baseNode->type].count));\n          for (int i=0; i<system->nodes[baseNode->type].count; i++) remNode->paths[baseNode->type][i].type = PATH_DIS;\n        }\n        struct ncclTopoLinkList* remPath;\n        NCCLCHECK(getPath(system, remNode, baseNode->type, baseNode->id, &remPath));\n        float bw = std::min(path->bw, link->bw);\n\n        // allow routing through a GPU only as 1 hop\n        if (node != baseNode && node->type == GPU &&\n            (ncclParamNvbDisable() || link->type != LINK_NVL || remNode->type != GPU || path->count > 1)) continue;\n\n        if ((remPath->bw == 0 || remPath->count > path->count) && remPath->bw < bw) {\n          // Find reverse link\n          for (int l=0; l<remNode->nlinks; l++) {\n            if (remNode->links[l].remNode == node && remNode->links[l].type == link->type) {\n              remPath->list[0] = remNode->links+l;\n              break;\n            }\n          }\n          if (remPath->list[0] == NULL) {\n            WARN(\"Failed to find reverse path from remNode %d/%lx nlinks %d to node %d/%lx\",\n                remNode->type, remNode->id, remNode->nlinks, node->type, node->id);\n            return ncclInternalError;\n          }\n          // Copy the rest of the path\n          for (int i=0; i<path->count; i++) remPath->list[i+1] = path->list[i];\n          remPath->count = path->count + 1;\n          remPath->bw = bw;\n\n          // Start with path type = link type. PATH and LINK types are supposed to match.\n          // Don't consider LINK_NET as we only care about the NIC->GPU path.\n          int type = link->type == LINK_NET ? LINK_LOC : link->type;\n          // Differentiate between one and multiple PCI switches\n          if (node->type == PCI && remNode->type == PCI) type = PATH_PXB;\n          // Consider a path going through the CPU as PATH_PHB\n          if (link->type == LINK_PCI && (node->type == CPU || link->remNode->type == CPU)) type = PATH_PHB;\n          // Set 1 hop NVLink as NVB\n          //if (node->type == GPU && path->type == PATH_NVL && type == PATH_NVL && remPath->count > 1) type = PATH_NVB;\n\n          remPath->type = std::max(path->type, type);\n\n          // Add to the list for the next iteration if not already in the list\n          // Disallow GPUs as intermediate steps for now\n          if (remNode->type != GPU) {\n            int i;\n            for (i=0; i<nextNodeList.count; i++) if (nextNodeList.list[i] == remNode) break;\n            if (i == nextNodeList.count) nextNodeList.list[nextNodeList.count++] = remNode;\n          }\n        }\n      }\n    }\n    memcpy(&nodeList, &nextNodeList, sizeof(nodeList));\n  }\n  return ncclSuccess;\n}\n\nstatic void printNodePaths(struct ncclTopoSystem* system, struct ncclTopoNode* node) {\n  const int linesize = 2048;\n  char line[linesize];\n#ifdef ENABLE_TRACE\n  INFO(NCCL_GRAPH, \"Paths from %s/%lx-%lx :\", topoNodeTypeStr[node->type], NCCL_TOPO_ID_SYSTEM_ID(node->id), NCCL_TOPO_ID_LOCAL_ID(node->id));\n#else\n  snprintf(line, linesize, \"%s/%lx-%lx :\", topoNodeTypeStr[node->type], NCCL_TOPO_ID_SYSTEM_ID(node->id), NCCL_TOPO_ID_LOCAL_ID(node->id));\n  int offset = strlen(line);\n#endif\n  for (int t=0; t<NCCL_TOPO_NODE_TYPES; t++) {\n    if (node->paths[t] == NULL) continue;\n    for (int n = 0; n<system->nodes[t].count; n++) {\n#ifdef ENABLE_TRACE\n      line[0] = 0;\n      int offset = 0;\n      for (int i=0; i<node->paths[t][n].count; i++) {\n        struct ncclTopoLink* link = node->paths[t][n].list[i];\n        struct ncclTopoNode* remNode = link->remNode;\n        snprintf(line+offset, linesize-offset, \"--%s(%g)->%s/%lx-%lx\", topoLinkTypeStr[link->type], link->bw, topoNodeTypeStr[remNode->type], NCCL_TOPO_ID_SYSTEM_ID(remNode->id), NCCL_TOPO_ID_LOCAL_ID(remNode->id));\n        offset = strlen(line);\n      }\n      INFO(NCCL_GRAPH, \"%s (%f)\", line, node->paths[t][n].bw);\n#else\n      snprintf(line+offset, linesize-offset, \"%s/%lx-%lx (%d/%.1f/%s) \", topoNodeTypeStr[t], NCCL_TOPO_ID_SYSTEM_ID(system->nodes[t].nodes[n].id), NCCL_TOPO_ID_LOCAL_ID(system->nodes[t].nodes[n].id), node->paths[t][n].count, node->paths[t][n].bw, topoPathTypeStr[node->paths[t][n].type]);\n      offset = strlen(line);\n#endif\n    }\n  }\n#ifndef ENABLE_TRACE\n  INFO(NCCL_GRAPH, \"%s\", line);\n#endif\n}\n\nncclResult_t ncclTopoPrintPaths(struct ncclTopoSystem* system) {\n  for (int i=0; i<system->nodes[GPU].count; i++) {\n    printNodePaths(system, system->nodes[GPU].nodes+i);\n  }\n  for (int i=0; i<system->nodes[NET].count; i++) {\n    printNodePaths(system, system->nodes[NET].nodes+i);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclGetLocalCpu(struct ncclTopoSystem* system, int gpu, int* retCpu) {\n  // Find the closest CPU to a GPU\n  int minHops = 0;\n  int localCpu = -1;\n  struct ncclTopoLinkList* paths = system->nodes[GPU].nodes[gpu].paths[CPU];\n  for (int c=0; c<system->nodes[CPU].count; c++) {\n    int hops = paths[c].count;\n    if (hops > 0 && (minHops == 0 || hops < minHops)) {\n      localCpu = c;\n      minHops = hops;\n    }\n  }\n  if (localCpu == -1) {\n    WARN(\"Error : could not find CPU close to GPU %d\", gpu);\n    return ncclInternalError;\n  }\n  *retCpu = localCpu;\n  return ncclSuccess;\n}\n\nstatic int mergePathType(int type0, int type1){\n  int max = std::max(type0,type1);\n  int min = std::min(type0,type1);\n  if(max == PATH_PHB && min == PATH_C2C) return PATH_P2C;\n  else return max;\n}\n\nstatic ncclResult_t addInterStep(struct ncclTopoSystem* system, int tx, int ix, int t1, int i1, int t2, int i2) {\n  struct ncclTopoNode* cpuNode = system->nodes[tx].nodes+ix;\n  struct ncclTopoNode* srcNode = system->nodes[t1].nodes+i1;\n\n  int l=0;\n  // Node 1 -> CPU\n  for (int i=0; i<srcNode->paths[tx][ix].count; i++) srcNode->paths[t2][i2].list[l++] = srcNode->paths[tx][ix].list[i];\n  // CPU -> Node 2\n  for (int i=0; i<cpuNode->paths[t2][i2].count; i++) srcNode->paths[t2][i2].list[l++] = cpuNode->paths[t2][i2].list[i];\n\n  // Update path characteristics\n  srcNode->paths[t2][i2].count = l;\n  srcNode->paths[t2][i2].type = mergePathType(srcNode->paths[tx][ix].type, cpuNode->paths[t2][i2].type);\n  if (tx == GPU) srcNode->paths[t2][i2].type = PATH_PXN;\n  srcNode->paths[t2][i2].bw = std::min(srcNode->paths[tx][ix].bw, cpuNode->paths[t2][i2].bw);\n  return ncclSuccess;\n}\n\n// Remove/free all paths\nstatic void ncclTopoRemovePaths(struct ncclTopoSystem* system) {\n  for (int t1=0; t1<NCCL_TOPO_NODE_TYPES; t1++) {\n    for (int n=0; n<system->nodes[t1].count; n++) {\n      struct ncclTopoNode* node = system->nodes[t1].nodes+n;\n      for (int t2=0; t2<NCCL_TOPO_NODE_TYPES; t2++) {\n        if (node->paths[t2]) free(node->paths[t2]);\n        node->paths[t2] = NULL;\n      }\n    }\n  }\n}\n\nstatic const int levelsOldToNew[] = { PATH_LOC, PATH_PIX, PATH_PXB, PATH_PHB, PATH_SYS, PATH_SYS };\nncclResult_t ncclGetLevel(int* level, const char* disableEnv, const char* levelEnv) {\n  if (*level == -1) {\n    int l = -1;\n    if (disableEnv) {\n      const char* str = ncclGetEnv(disableEnv);\n      if (str) {\n        int disable = strtol(str, NULL, 0);\n        if (disable == 1) l = PATH_LOC;\n        if (l >= 0) INFO(NCCL_ALL, \"%s set by environment to %d\", disableEnv, disable);\n      }\n    }\n    if (l == -1) {\n      const char* str = ncclGetEnv(levelEnv);\n      if (str) {\n        for (int i=0; i<=PATH_SYS; i++) {\n          if (strcmp(str, topoPathTypeStr[i]) == 0) {\n            l = i;\n            break;\n          }\n        }\n        // Old style numbering\n        // levelsOldToNew to is an array with each index corresponding to the\n        // \"old level\" int, and each value mapping to the correct value defined in topo.h\n        // maxOldLevel is a quick check to handle out of bounds (based on the length of levelsOldToNew)\n        if (l == -1 && str[0] >= '0' && str[0] <= '9') {\n          int oldLevel = strtol(str, NULL, 0);\n          const int maxOldLevel = sizeof(levelsOldToNew)/sizeof(int) - 1;\n          if (oldLevel > maxOldLevel) oldLevel = maxOldLevel;\n          l = levelsOldToNew[oldLevel];\n        }\n        if (l >= 0) INFO(NCCL_ALL, \"%s set by environment to %s\", levelEnv, topoPathTypeStr[l]);\n      }\n    }\n    *level = l >= 0 ? l : -2;\n  }\n  return ncclSuccess;\n}\n\nNCCL_PARAM(IgnoreDisabledP2p, \"IGNORE_DISABLED_P2P\", 0);\n\nstatic int ncclTopoUserP2pLevel = -1; // Initially \"uninitialized\".  When initialized but unset, changes to -2.\n\n// Gets the user-provided value of NCCL_P2P_LEVEL/NCCL_P2P_DISABLE.  If the user did not provide any, the value\n// of the \"level\" argument is left unchanged.\nncclResult_t ncclGetUserP2pLevel(int* level) {\n  if (ncclTopoUserP2pLevel == -1)\n    NCCLCHECK(ncclGetLevel(&ncclTopoUserP2pLevel, \"NCCL_P2P_DISABLE\", \"NCCL_P2P_LEVEL\"));\n  if (ncclTopoUserP2pLevel != -2)\n    *level = ncclTopoUserP2pLevel;\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoCheckP2p(struct ncclComm* comm, struct ncclTopoSystem* system, int rank1, int rank2,\n                              int* p2p, int *read, int* intermediateRank) {\n  int mnnvl = 0;\n  struct ncclPeerInfo* info1 = NULL;\n  struct ncclPeerInfo* info2 = NULL;\n  *p2p = 0;\n  if (read) *read = 0;\n  if (intermediateRank) *intermediateRank = -1;\n\n  // Rule out different nodes / isolated containers\n  if (comm) {\n    info1 = comm->peerInfo+rank1;\n    info2 = comm->peerInfo+rank2;\n    if (info1->hostHash != info2->hostHash) {\n      if (comm->MNNVL) {\n        NCCLCHECK(ncclTopoCheckMNNVL(comm->topo, info1, info2, &mnnvl));\n        if (!mnnvl) return ncclSuccess;\n      } else {\n        return ncclSuccess;\n      }\n    } else if (info1->shmDev != info2->shmDev) {\n      return ncclSuccess;\n    }\n  }\n\n  // Get GPUs from topology\n  int g1, g2;\n  NCCLCHECK(ncclTopoRankToIndex(system, rank1, &g1, /*showWarn=*/true));\n  struct ncclTopoNode* gpu1 = system->nodes[GPU].nodes+g1;\n  if (ncclTopoRankToIndex(system, rank2, &g2, /*showWarn=*/false) == ncclInternalError) {\n    // GPU not found, we can't use p2p.\n    return ncclSuccess;\n  }\n  #if !defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__)\n  int intermediateIndex = -1;\n  #endif\n  // Set intermediate GPU rank, if routing through an intermediate GPU.\n  struct ncclTopoLinkList* path = gpu1->paths[GPU]+g2;\n  if (path->count == 2) {\n    struct ncclTopoNode* intermediateNode = path->list[0]->remNode;\n    if (intermediateNode->type == GPU) {\n      #if !defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__)\n      intermediateIndex = intermediateNode - system->nodes[GPU].nodes;\n      #endif\n      if (intermediateRank) *intermediateRank = intermediateNode->gpu.rank;\n    }\n  }\n\n  // In general, use P2P whenever we can.\n  int p2pLevel = PATH_SYS;\n\n  // User override\n  NCCLCHECK(ncclGetUserP2pLevel(&p2pLevel));\n\n  // Don't use P2P through ARM CPUs\n  int arch, vendor, model;\n  NCCLCHECK(ncclTopoCpuType(system, &arch, &vendor, &model));\n  if (arch == NCCL_TOPO_CPU_ARCH_ARM) p2pLevel = PATH_PXB;\n  if (arch == NCCL_TOPO_CPU_ARCH_X86 && vendor == NCCL_TOPO_CPU_VENDOR_INTEL) {\n    p2pLevel = PATH_PXB;\n  }\n  if (arch == NCCL_TOPO_CPU_ARCH_X86 && vendor == NCCL_TOPO_CPU_VENDOR_ZHAOXIN) {\n    p2pLevel = PATH_PXB;\n  }\n\n  // Compute the PCI distance and compare with the p2pLevel.\n  if (path->type <= p2pLevel) *p2p = 1;\n\n#if !defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__)\n  if (*p2p == 1) {\n    // NCCL_IGNORE_DISABLED_P2P=2 is used by unit tests that don't want to\n    // validate against NVML at all since they are pretending to be on other hw.\n    if (g1 != g2 && (comm == NULL || (info1->hostHash == comm->peerInfo[comm->rank].hostHash &&\n                                      info1->hostHash == info2->hostHash)) && ncclParamIgnoreDisabledP2p() != 2) {\n      int indexes[3] = {-1,-1,-1};\n      int verticeN = 0;\n      NCCLCHECK(ncclNvmlEnsureInitialized());\n\n      indexes[verticeN++] = system->nodes[GPU].nodes[g1].gpu.dev;\n      if (intermediateIndex != -1) indexes[verticeN++] = system->nodes[GPU].nodes[intermediateIndex].gpu.dev;\n      indexes[verticeN++] = system->nodes[GPU].nodes[g2].gpu.dev;\n\n      for (int i=1; i < verticeN; i++) {\n        nvmlGpuP2PStatus_t status;\n        status = ncclNvmlDevicePairs[indexes[i-1]][indexes[i-0]].p2pStatusRead;\n        bool good = status == NVML_P2P_STATUS_OK;\n        status = ncclNvmlDevicePairs[indexes[i-1]][indexes[i-0]].p2pStatusWrite;\n        good &= status == NVML_P2P_STATUS_OK;\n        if (!good) {\n          if (!ncclParamIgnoreDisabledP2p()) {\n            if (path->type <= PATH_NVB) {\n              WARN(\"P2P is disabled between NVLINK connected GPUs %d and %d. This should not be the case given their connectivity, and is probably due to a hardware issue. If you still want to proceed, you can set NCCL_IGNORE_DISABLED_P2P=1.\", indexes[i-1], indexes[i-0]);\n              return ncclUnhandledCudaError;\n            } else if (path->type < PATH_SYS) {\n              INFO(NCCL_INIT, \"P2P is disabled between connected GPUs %d and %d. You can repress this message with NCCL_IGNORE_DISABLED_P2P=1.\", indexes[i-1], indexes[i-0]);\n            }\n          }\n          *p2p = 0;\n        }\n      }\n    }\n  }\n#endif\n\n  if (path->type == PATH_NVL) {\n    struct ncclTopoNode* gpu2 = system->nodes[GPU].nodes+g2;\n    // Enable P2P Read for Ampere/NVLink only\n    if (read && (gpu1->gpu.cudaCompCap == gpu2->gpu.cudaCompCap) && (gpu1->gpu.cudaCompCap == 80)) *read = 1;\n  }\n\n  return ncclSuccess;\n}\n\n// MNNVL: Check whether peers are in the same fabric cluster and clique\nncclResult_t ncclTopoCheckMNNVL(struct ncclTopoSystem* system, struct ncclPeerInfo* info1, struct ncclPeerInfo* info2, int* ret) {\n  *ret = 0;\n\n  nvmlGpuFabricInfoV_t *fabricInfo1 = &info1->fabricInfo;\n  nvmlGpuFabricInfoV_t *fabricInfo2 = &info2->fabricInfo;\n  // A zero UUID means we don't have MNNVL fabric info\n  unsigned long uuid0 = 0;\n  unsigned long uuid1 = 0;\n  memcpy(&uuid0, fabricInfo2->clusterUuid, sizeof(uuid0));\n  memcpy(&uuid1, fabricInfo2->clusterUuid + sizeof(uuid0), sizeof(uuid1));\n  if ((uuid0 | uuid1) == 0) return ncclSuccess;\n  if ((memcmp(fabricInfo1->clusterUuid, fabricInfo2->clusterUuid, NVML_GPU_FABRIC_UUID_LEN) == 0) &&\n      (fabricInfo1->cliqueId == fabricInfo2->cliqueId)) {\n    TRACE(NCCL_NET, \"MNNVL matching peer 0x%lx UUID %lx.%lx cliqueId 0x%x\",\n         info2->busId, uuid0, uuid1, fabricInfo2->cliqueId);\n    *ret = 1;\n  }\n  return ncclSuccess;\n}\n\nNCCL_PARAM(NetGdrRead, \"NET_GDR_READ\", -2);\nint ncclTopoUserGdrLevel = -1;\nconst char* ncclTopoGdrModeStr[ncclTopoGdrModeNum] = { \"Disabled\", \"Default\", \"PCI\" };\n\n// On C2C platforms use GDRDMA on NICs which are connected to the CPUs\nNCCL_PARAM(NetGdrC2c, \"NET_GDR_C2C\", 1);\n\nncclResult_t ncclTopoCheckGdr(struct ncclTopoSystem* system, int rank, int64_t netId, int read, enum ncclTopoGdrMode* gdrMode) {\n  *gdrMode = ncclTopoGdrModeDisable;\n\n  // Get GPU and NET\n  int n, g;\n  NCCLCHECK(ncclTopoIdToIndex(system, NET, netId, &n));\n  struct ncclTopoNode* net = system->nodes[NET].nodes+n;\n  NCCLCHECK(ncclTopoRankToIndex(system, rank, &g, /*showWarn=*/true));\n  struct ncclTopoNode* gpu = system->nodes[GPU].nodes+g;\n\n  // Check that both the NIC and GPUs support it\n  if (net->net.gdrSupport == 0) return ncclSuccess;\n  if (gpu->gpu.gdrSupport == 0) return ncclSuccess;\n\n  if (read) { // For reads (sends) only enable under certain conditions\n    int gdrReadParam = ncclParamNetGdrRead();\n    if (gdrReadParam == 0) return ncclSuccess;\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#else\n    // Disable GDR Reads pre-Ampere when we have other PCI flows\n    if (gdrReadParam < 0 && gpu->gpu.cudaCompCap < 80) {\n      int nvlink = 0;\n      // Since we don't know whether there are other communicators,\n      // it's better to keep things local if we have a single GPU.\n      if (system->nodes[GPU].count == 1) nvlink = 1;\n      for (int i=0; i<system->nodes[GPU].count; i++) {\n        if (i == g) continue;\n        if (gpu->paths[GPU][i].type == PATH_NVL) {\n          nvlink = 1;\n          break;\n        }\n      }\n      if (!nvlink) return ncclSuccess;\n    }\n#endif\n  }\n\n  // Check if we are close enough that it makes sense to enable GDR\n  int netGdrLevel = system->netGdrLevel == -2 ? PATH_PXB : system->netGdrLevel;\n  NCCLCHECK(ncclGetLevel(&ncclTopoUserGdrLevel, NULL, \"NCCL_NET_GDR_LEVEL\"));\n  if (ncclTopoUserGdrLevel != -2) netGdrLevel = ncclTopoUserGdrLevel;\n  else {\n    int arch, vendor, model;\n    NCCLCHECK(ncclTopoCpuType(system, &arch, &vendor, &model));\n    if (arch == NCCL_TOPO_CPU_ARCH_X86 && vendor == NCCL_TOPO_CPU_VENDOR_AMD && model == NCCL_TOPO_CPU_MODEL_AMD_ROME) {\n      int i, d1 = -1, d2 = -1;\n      for (i = 0; i < system->nodes[CPU].count; i++)\n        if (system->nodes[GPU].nodes[g].paths[CPU][i].count == 2) break;\n      if (i <system->nodes[CPU].count) d1 = system->nodes[CPU].nodes[i].id;\n      for (i = 0; i < system->nodes[CPU].count; i++)\n        if (system->nodes[NET].nodes[n].paths[CPU][i].count == 2) break;\n      if (i <system->nodes[CPU].count) d2 = system->nodes[CPU].nodes[i].id;\n      if (d1 != -1 && d2 != -1 && d1 == d2 &&\n        (system->nodes[GPU].nodes[g].id & 0xf0000) == (system->nodes[NET].nodes[n].net.busId & 0xf0000)) {\n        netGdrLevel = PATH_PHB;\n      }\n    }\n  }\n\n  int distance = gpu->paths[NET][n].type;\n  if (distance == PATH_PXN) {\n    // In case of PXN, use the intermediate GPU distance instead\n    int proxyRank;\n    NCCLCHECK(ncclTopoGetIntermediateRank(system, gpu->gpu.rank, netId, &proxyRank));\n    NCCLCHECK(ncclTopoRankToIndex(system, proxyRank, &g, /*showWarn=*/true));\n    gpu = system->nodes[GPU].nodes+g;\n    distance = gpu->paths[NET][n].type;\n  }\n\n  // On C2C platforms we can still use GDRDMA on NICs connected to the CPUs\n  if (ncclParamNetGdrC2c() && distance == PATH_P2C) {\n    INFO(NCCL_GRAPH | NCCL_NET, \"GPU %d / HCA %lx connected via C2C link\", rank, netId);\n    distance = PATH_C2C;\n  }\n\n  if (distance > netGdrLevel) {\n    INFO(NCCL_GRAPH|NCCL_NET,\"GPU Direct RDMA Disabled for GPU %d / HCA %lx (distance %d > %d)\", rank, netId, distance, netGdrLevel);\n    return ncclSuccess;\n  }\n\n  // Force PCIe mapping if path goes through PCI on a C2C system\n  int c;\n  NCCLCHECK(ncclGetLocalCpu(system, g, &c));\n  if (gpu->paths[CPU][c].type == PATH_C2C && distance != PATH_C2C) *gdrMode = ncclTopoGdrModePci;\n  else *gdrMode = ncclTopoGdrModeDefault;\n\n  INFO(NCCL_GRAPH|NCCL_NET,\"GPU Direct RDMA Enabled for GPU %d / HCA %lx (distance %d <= %d), read %d mode %s\", rank, netId, distance, netGdrLevel, read, ncclTopoGdrModeStr[*gdrMode]);\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoIsGdrAvail(struct ncclTopoSystem* system, int rank, bool *avail) {\n  int netNum = system->nodes[NET].count;\n  enum ncclTopoGdrMode useGdr = ncclTopoGdrModeDisable;\n  *avail = false;\n  for (int n = 0; n < netNum; n++) {\n    int64_t netId = system->nodes[NET].nodes[n].id;\n    NCCLCHECK(ncclTopoCheckGdr(system, rank, netId, 1, &useGdr));\n    if (useGdr) {\n      *avail = true;\n      break;\n    }\n    NCCLCHECK(ncclTopoCheckGdr(system, rank, netId, 0, &useGdr));\n    if (useGdr) {\n      *avail = true;\n      break;\n    }\n  }\n  return ncclSuccess;\n}\n\n// Set to 0 to disable the flush on Hopper when using GDR\nNCCL_PARAM(NetForceFlush, \"NET_FORCE_FLUSH\", 0);\n\n// Determine whether we need to flush the GDR recv buffers\nncclResult_t ncclTopoNeedFlush(struct ncclComm* comm, int64_t netId, int netDev, int rank, int* flush) {\n  *flush = 1;\n  ncclNetProperties_t props;\n  NCCLCHECK(comm->ncclNet->getProperties(netDev, &props));\n  if (props.forceFlush == 1 || ncclParamNetForceFlush()) return ncclSuccess;\n  int g;\n  struct ncclTopoSystem* system = comm->topo;\n  NCCLCHECK(ncclTopoRankToIndex(system, rank, &g, /*showWarn=*/true));\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  *flush = 1;\n#else\n  struct ncclTopoNode* gpu = system->nodes[GPU].nodes+g; // unused variable - compiler warning\n  // Flush is required on Ampere and earlier\n  if (gpu->gpu.cudaCompCap >= 90) *flush = 0;\n  // On C2C platforms, data could go through a PCI switch while completions and\n  // flags would go through C2C. In that case, force a flush.\n  int c, n;\n  NCCLCHECK(ncclGetLocalCpu(system, g, &c));\n  NCCLCHECK(ncclTopoIdToIndex(system, NET, netId, &n));\n  if (gpu->paths[NET][n].type <= PATH_PXB && gpu->paths[CPU][c].type == PATH_C2C) {\n    *flush = 1;\n  }\n#endif\n  return ncclSuccess;\n}\n\nNCCL_PARAM(NetDisableIntra, \"NET_DISABLE_INTRA\", 1);\n\n// Check whether going through the network would be faster than going through P2P/SHM.\nncclResult_t ncclTopoCheckNet(struct ncclTopoSystem* system, int rank1, int rank2, int* net) {\n  if (ncclParamNetDisableIntra() == 1) {\n    *net = 0;\n    return ncclSuccess;\n  }\n  *net = 1;\n  // First check the current GPU-to-GPU speed.\n  int g1, g2;\n  if (ncclTopoRankToIndex(system, rank1, &g1, /*showWarn=*/false) != ncclSuccess ||\n      ncclTopoRankToIndex(system, rank2, &g2, /*showWarn=*/false) != ncclSuccess) {\n    return ncclSuccess;\n  }\n\n  struct ncclTopoNode* gpu1 = system->nodes[GPU].nodes+g1;\n  struct ncclTopoNode* gpu2 = system->nodes[GPU].nodes+g2;\n  float speed = gpu1->paths[GPU][g2].bw;\n\n  // Now check the speed each GPU can access the network through PXB or better\n  float netSpeed1 = 0, netSpeed2 = 0;\n  for (int n=0; n<system->nodes[NET].count; n++) {\n    struct ncclTopoLinkList* path = gpu1->paths[NET]+n;\n    if (path->type <= PATH_PXB && path->bw > netSpeed1) netSpeed1 = path->bw;\n    path = gpu2->paths[NET]+n;\n    if (path->type <= PATH_PXB && path->bw > netSpeed2) netSpeed2 = path->bw;\n  }\n\n  if (netSpeed1 > speed && netSpeed2 > speed) return ncclSuccess;\n  *net = 0;\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetIntermediateRank(struct ncclTopoSystem* system, int rank, int64_t netId, int* intermediateRank) {\n  // Get GPU and NET\n  int n, g;\n  NCCLCHECK(ncclTopoIdToIndex(system, NET, netId, &n));\n  NCCLCHECK(ncclTopoRankToIndex(system, rank, &g, /*showWarn=*/true));\n  struct ncclTopoNode* gpu = system->nodes[GPU].nodes+g;\n  struct ncclTopoLinkList* path = gpu->paths[NET]+n;\n  if (path->type == PATH_PXN) {\n    struct ncclTopoNode* node;\n    int type = NVS;\n    for (int i=0; i<path->count && type == NVS; i++) {\n      node = path->list[i]->remNode;\n      type = node->type;\n    }\n    if (type != GPU) {\n      WARN(\"Could not find intermediate GPU between GPU rank %d and NIC %lx\", rank, netId);\n      return ncclInternalError;\n    }\n    *intermediateRank = node->gpu.rank;\n  } else {\n    *intermediateRank = rank;\n  }\n  return ncclSuccess;\n}\n// Default value of PXN_DISABLE may be overwritten by changes in src/rccl_wrap.cc\nNCCL_PARAM(PxnDisable, \"PXN_DISABLE\", 1);\n\n// Net v4 plugins don't have non-blocking connect/accept. We can't therefore use\n// remote proxies without risking deadlocks\nint ncclPxnDisable(struct ncclComm* comm) {\n  static int pxnDisable = -1;\n  if (pxnDisable == -1) {\n    if (comm && comm->ncclNetVer == 4) {\n      INFO(NCCL_INIT, \"PXN Disabled as plugin is v4\");\n      pxnDisable = 1;\n    } else {\n      rcclSetPxn(comm, pxnDisable);\n      pxnDisable = (pxnDisable > RCCL_VALUE_INVALID)? pxnDisable : ncclParamPxnDisable();\n    }\n  }\n  return pxnDisable;\n}\n\nncclResult_t ncclTopoGetPxnRanks(struct ncclComm* comm, int** intermediateRanks, int* nranks) {\n  struct ncclTopoSystem* system = comm->topo;\n  *nranks = 0;\n  *intermediateRanks = NULL;\n  if (system->nodes[NET].count == 0) return ncclSuccess;\n\n  int nr = 0;\n  int* ranks = NULL;\n  for (int rank=0; rank<comm->nRanks; rank++) {\n    int64_t netId;\n    int proxyRank;\n    NCCLCHECK(ncclTopoGetNetDev(comm, comm->rank, NULL, 0, rank, &netId, NULL, &proxyRank));\n    if (proxyRank == comm->rank) continue;\n    enum ncclTopoGdrMode useGdr;\n    NCCLCHECK(ncclTopoCheckGdr(comm->topo, comm->rank, netId, 1, &useGdr));\n    if (useGdr == ncclTopoGdrModeDisable) continue;\n    int found = 0;\n    for (int r=0; r<nr; r++) {\n      if (ranks[r] == proxyRank) found = 1;\n    }\n    if (!found) {\n      NCCLCHECK(ncclRealloc(&ranks, nr, nr+1));\n      ranks[nr++] = proxyRank;\n    }\n  }\n  *nranks = nr;\n  *intermediateRanks = ranks;\n  return ncclSuccess;\n}\n\nstatic bool rcclPathOverride(struct ncclTopoSystem* system, uint64_t distance) {\n  int i, j;\n\n  for (i = 0; i < system->nodes[GPU].count; i++) {\n    for (j = 0; j < system->nodes[NET].count; j++) {\n      if ((system->nodes[NET].nodes[j].net.busId - system->nodes[GPU].nodes[i].id == distance) || (system->nodes[GPU].nodes[i].id - system->nodes[NET].nodes[j].net.busId == distance))\n        break;\n    }\n    if (j >= system->nodes[NET].count)\n      break;\n  }\n  if (i >= system->nodes[GPU].count) {\n    for (i = 0; i < system->nodes[GPU].count; i++) {\n      for (j = 0; j < system->nodes[NET].count; j++) {\n        if ((system->nodes[NET].nodes[j].net.busId - system->nodes[GPU].nodes[i].id == distance) || (system->nodes[GPU].nodes[i].id - system->nodes[NET].nodes[j].net.busId == distance))\n          system->nodes[GPU].nodes[i].paths[NET][j].type = PATH_PXB;\n      }\n    }\n    return true;\n  } else {\n    return false;\n  }\n}\n\nNCCL_PARAM(PxnC2c, \"PXN_C2C\", 0);\n\nncclResult_t ncclTopoComputePaths(struct ncclTopoSystem* system, struct ncclComm* comm) {\n  // Precompute paths between GPUs/NICs.\n\n  // Remove everything in case we're re-computing\n  ncclTopoRemovePaths(system);\n\n  // Set direct paths to CPUs. We need them in many cases.\n  for (int c=0; c<system->nodes[CPU].count; c++) {\n    NCCLCHECK(ncclTopoSetPaths(system->nodes[CPU].nodes+c, system));\n  }\n\n  // Set direct paths to GPUs.\n  for (int g=0; g<system->nodes[GPU].count; g++) {\n    NCCLCHECK(ncclTopoSetPaths(system->nodes[GPU].nodes+g, system));\n  }\n\n  // Set direct paths to NICs.\n  for (int n=0; n<system->nodes[NET].count; n++) {\n    NCCLCHECK(ncclTopoSetPaths(system->nodes[NET].nodes+n, system));\n  }\n\n  // Set direct paths to NVSwitches.\n  for (int n=0; n<system->nodes[NVS].count; n++) {\n    NCCLCHECK(ncclTopoSetPaths(system->nodes[NVS].nodes+n, system));\n  }\n\n  // Update path for GPUs when we don't want to / can't use GPU Direct P2P\n  for (int g=0; g<system->nodes[GPU].count; g++) {\n    for (int p=0; p<system->nodes[GPU].count; p++) {\n      int p2p;\n      NCCLCHECK(ncclTopoCheckP2p(comm, system, system->nodes[GPU].nodes[p].gpu.rank,\n                                 system->nodes[GPU].nodes[g].gpu.rank, &p2p, NULL, NULL));\n      if (p2p == 0) {\n        // Divert all traffic through the CPU\n        int cpu;\n        NCCLCHECK(ncclGetLocalCpu(system, g, &cpu));\n        NCCLCHECK(addInterStep(system, CPU, cpu, GPU, p, GPU, g));\n      }\n    }\n\n    if (comm == NULL) continue;\n    // Remove GPUs we can't (or don't want to) communicate with through P2P or SHM\n    struct ncclPeerInfo* dstInfo = comm->peerInfo+system->nodes[GPU].nodes[g].gpu.rank;\n    for (int p=0; p<system->nodes[GPU].count; p++) {\n      if (p == g) continue;\n      struct ncclPeerInfo* srcInfo = comm->peerInfo+system->nodes[GPU].nodes[p].gpu.rank;\n      int p2p;\n      NCCLCHECK(ncclTransports[TRANSPORT_P2P]->canConnect(&p2p, comm, NULL, srcInfo, dstInfo));\n      if (p2p == 0) {\n        int shm;\n        NCCLCHECK(ncclTransports[TRANSPORT_SHM]->canConnect(&shm, comm, NULL, srcInfo, dstInfo));\n        if (shm == 0) {\n          // Mark this peer as inaccessible. We'll trim it later.\n          system->nodes[GPU].nodes[p].paths[GPU][g].type = PATH_NET;\n        }\n      }\n    }\n  }\n  // update the GPU -> NIC path in the case of C2C + PHB\n  for (int n = 0; n < system->nodes[NET].count; n++) {\n    struct ncclTopoNode* netNode = system->nodes[NET].nodes + n;\n    for (int g = 0; g < system->nodes[GPU].count; g++) {\n      struct ncclTopoNode* gpuNode = system->nodes[GPU].nodes + g;\n      int c;\n      NCCLCHECK(ncclGetLocalCpu(system, g, &c));\n      if (c == -1) continue;\n      if (mergePathType(gpuNode->paths[CPU][c].type, netNode->paths[CPU][c].type) == PATH_P2C) {\n        gpuNode->paths[NET][n].type = std::min(PATH_P2C, gpuNode->paths[NET][n].type);\n        netNode->paths[GPU][g].type = std::min(PATH_P2C, netNode->paths[GPU][g].type);\n      }\n    }\n  }\n\n  // Special handling of gfx94x and gfx950\n\n#if !defined(TOPO_EXPL)\n  char strValue[1024];\n  NCCLCHECK(ncclTopoGetStrFromSys(\"/sys/devices/virtual/dmi/id\", \"bios_version\", strValue));\n  if (strncmp(\"Hyper-V UEFI Release\", strValue, 20) == 0) {\n#endif\n    int arch, vendor, model;\n    NCCLCHECK(ncclTopoCpuType(system, &arch, &vendor, &model));\n    if (arch == NCCL_TOPO_CPU_ARCH_X86 && vendor == NCCL_TOPO_CPU_VENDOR_INTEL &&\n      (IsArchMatch(system->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") || IsArchMatch(system->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\")) &&\n      ((system->nodes[GPU].count == 8 && system->nodes[NET].count == 8 && system->nodes[GPU].count == system->nRanks) ||\n      (system->nodes[GPU].count != system->nRanks))) {\n      if (!rcclPathOverride(system, 0x100000) && !rcclPathOverride(system, 0x1000))\n        rcclPathOverride(system, 0xff00000);\n    }\n#if !defined(TOPO_EXPL)\n  }\n#endif\n\n  // Update paths for NICs (no GPU Direct, PXN, ...)\n  for (int n=0; n<system->nodes[NET].count; n++) {\n    struct ncclTopoNode* netNode = system->nodes[NET].nodes+n;\n\n    for (int g=0; g<system->nodes[GPU].count; g++) {\n      // Check whether we can access the NIC through another NVLink-connected GPU (PXN)\n      struct ncclTopoNode* gpu = system->nodes[GPU].nodes+g;\n      if (ncclPxnDisable(comm) != 1) {\n        int localGpuIndex;\n        NCCLCHECK(ncclTopoGetLocalGpu(system, netNode->id, &localGpuIndex));\n        if (localGpuIndex != g && localGpuIndex != -1) {\n          // PXN = PCI + NVLink.\n          struct ncclTopoNode* peerNode = system->nodes[GPU].nodes+localGpuIndex;\n          // Only use PXN for NIC n if remote GPU p ...\n          int pxnType = ncclParamPxnC2c() ? PATH_P2C : PATH_PXB;\n          if (/* (1) is connected to the NIC with PxN type*/\n              peerNode->paths[NET][n].type <= pxnType &&\n              /* and (2) is connected to us through NVLink */\n              peerNode->paths[GPU][g].type <= PATH_NVL &&\n              /* and (3) is on the same node as us */\n              NCCL_TOPO_ID_SYSTEM_ID(peerNode->id) == NCCL_TOPO_ID_SYSTEM_ID(gpu->id) &&\n              /* and (4) has either higher bw to that NIC or avoid going through the CPU (path.type is > PATH_PXN)*/\n              (peerNode->paths[NET][n].bw > gpu->paths[NET][n].bw || gpu->paths[NET][n].type > PATH_PXN))\n            // We can use that GPU as relay to communicate with that NIC.\n            // Only enabling it in the GPU->NIC direction for now to favor\n            // receiving locally and sending remotely (consistent with net.cc)\n            NCCLCHECK(addInterStep(system, GPU, localGpuIndex, GPU, g, NET, n));\n        }\n      }\n      if (gpu->paths[NET][n].type < PATH_PHB) {\n        // Update path when we dont want to / can't use GPU Direct RDMA.\n        enum ncclTopoGdrMode gdr;\n        NCCLCHECK(ncclTopoCheckGdr(system, system->nodes[GPU].nodes[g].gpu.rank, netNode->id, 0, &gdr));\n        if (gdr == 0) {\n          // We cannot use GPU Direct RDMA, divert all traffic through the CPU local to the GPU\n          int localCpu;\n          NCCLCHECK(ncclGetLocalCpu(system, g, &localCpu));\n          NCCLCHECK(addInterStep(system, CPU, localCpu, NET, n, GPU, g));\n          NCCLCHECK(addInterStep(system, CPU, localCpu, GPU, g, NET, n));\n        }\n      }\n    }\n  }\n\n  // Pre-compute NET local gpus to accelerate search\n  for (int n=0; n<system->nodes[NET].count; n++) {\n    struct ncclTopoNode* net = system->nodes[NET].nodes+n;\n    NCCLCHECK(ncclTopoGetLocalGpu(system, net->id, &net->net.localGpu));\n  }\n  return ncclSuccess;\n}\n\nRCCL_PARAM(EnableIntranet, \"ENABLE_INTRANET\", -2);\n\nncclResult_t ncclTopoTrimSystem(struct ncclTopoSystem* system, struct ncclComm* comm) {\n  ncclResult_t ret = ncclSuccess;\n  int *domains;\n  int64_t *ids = NULL;\n  int myDomain = 0;\n  int ngpus = system->nodes[GPU].count;\n  int remove = 1;\n  enum ncclTopoGdrMode useGdr = ncclTopoGdrModeDefault;\n  bool allXgmi = true;\n  NCCLCHECK(ncclCalloc(&domains, system->nodes[GPU].count));\n  NCCLCHECKGOTO(ncclCalloc(&ids, system->nodes[GPU].count), ret, fail);\n  for (int g=0; g<system->nodes[GPU].count; g++) {\n    struct ncclTopoNode* gpu = system->nodes[GPU].nodes+g;\n    domains[g] = g;\n    ids[g] = gpu->id;\n    for (int p=0; p<g; p++) {\n      if (gpu->paths[GPU][p].type < PATH_NET) {\n        domains[g] = std::min(domains[g], domains[p]);\n      }\n    }\n    if (gpu->gpu.rank == comm->rank) myDomain = domains[g];\n  }\n\n  for (int i=0; i<ngpus; i++) {\n    if (domains[i] == myDomain) continue;\n    struct ncclTopoNode* gpu = NULL;\n    int g;\n    for (g=0; g<system->nodes[GPU].count /* This one varies over the loops */; g++) {\n      gpu = system->nodes[GPU].nodes+g;\n      if (gpu->id == ids[i]) break; else gpu=NULL;\n    }\n    if (gpu == NULL) {\n      WARN(\"Could not find id %lx\", ids[i]);\n      ret = ncclInternalError;\n      goto fail;\n    }\n    NCCLCHECKGOTO(ncclTopoRemoveNode(system, GPU, g), ret, fail);\n  }\n\n  // trim low speed port on same NIC\n  for (int i = 0; i < system->nodes[NET].count; i ++) {\n    for (int j = 0; j < system->nodes[NET].count; j ++) {\n      if (i == j) continue;\n      if (system->nodes[NET].nodes[i].net.asic == system->nodes[NET].nodes[j].net.asic) {\n        if (system->nodes[NET].nodes[i].net.bw > system->nodes[NET].nodes[j].net.bw)\n          system->nodes[NET].nodes[j].net.bw = 0;\n      }\n    }\n  }\n  do {\n    int n;\n    for (n=0; n<system->nodes[NET].count; n++) {\n      if (system->nodes[NET].nodes[n].net.bw == 0) break;\n    }\n    if (n<system->nodes[NET].count) {\n      NCCLCHECKGOTO(ncclTopoRemoveNode(system, NET, n), ret, fail);\n    }\n    else\n      break;\n  } while (system->nodes[NET].count);\n\n  // detect if all GPUs are connected by XGMI\n  for (int i = 0; i < system->nodes[GPU].count && allXgmi; i++) {\n    int cudaDev1 = system->nodes[GPU].nodes[i].gpu.dev;\n    for (int j = 0; j < system->nodes[GPU].count && allXgmi; j++) {\n      if (i == j) continue;\n      int cudaDev2 = system->nodes[GPU].nodes[j].gpu.dev;\n      bool isXGMI;\n      NCCLCHECKGOTO(ncclTopoGetLinkType(comm->topo, cudaDev1, cudaDev2, &isXGMI), ret, fail);\n      allXgmi &= isXGMI;\n    }\n  }\n  if (allXgmi) system->type |= RCCL_TOPO_XGMI_ALL;\n  for (int g = 0; g < system->nodes[GPU].count; g++) {\n    int64_t netId;\n    NCCLCHECKGOTO(ncclTopoGetLocalNet(system, system->nodes[GPU].nodes[g].gpu.rank, 0, &netId, nullptr), ret, fail);\n    NCCLCHECKGOTO(ncclTopoCheckGdr(system, system->nodes[GPU].nodes[g].gpu.rank, netId, 1, &useGdr), ret, fail);\n    if (!useGdr) break;\n  }\n  if (useGdr && !allXgmi) {\n    remove = 0;\n    system->type |= RCCL_TOPO_GDR_ALL;\n    INFO(NCCL_GRAPH, \"GDR is available on all GPUs\");\n  }\n\n  if (rcclParamEnableIntranet() == 1) {\n    remove = 0;\n    system->type |= RCCL_TOPO_FORCE_INTRA;\n  }\n\n  comm->localRanks = system->nodes[GPU].count;\n  if (system->nodes[GPU].count == comm->nRanks && remove) {\n    for (int n=system->nodes[NET].count-1; n>=0; n--)\n      NCCLCHECKGOTO(ncclTopoRemoveNode(system, NET, n), ret, fail);\n  }\nexit:\n  free(domains);\n  if (ids) free(ids);\n  return ret;\nfail:\n  goto exit;\n}\n\nvoid ncclTopoFree(struct ncclTopoSystem* system) {\n  ncclTopoRemovePaths(system);\n  free(system);\n}\n\nstatic ncclResult_t ncclTopoGetNchannels(struct ncclComm* comm, int g /*local gpu index*/, int peerRank, int* nChannels) {\n  int peer;\n  struct ncclTopoSystem* system = comm->topo;\n  struct ncclTopoLinkList* path = NULL;\n  if (ncclTopoRankToIndex(system, peerRank, &peer, /*showWarn=*/false) == ncclSuccess) {\n    // Same rank\n    if (g == peer) {\n      *nChannels = -1;\n      return ncclSuccess;\n    }\n    // Local rank\n    path = system->nodes[GPU].nodes[peer].paths[GPU]+g;\n    if (path->type == PATH_NVL) {\n      float nvlBw = ncclTopoXGMISpeed(system->nodes[GPU].nodes[g].gpu.gcn);\n      *nChannels = ((IsArchMatch(system->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") || IsArchMatch(system->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\")) ? 4 : 2)*std::max(1, (int)(path->bw / nvlBw));\n    } else {\n      *nChannels = 2;\n    }\n  } else {\n    // Remote rank, use network\n    int nNetChannels = comm->config.nChannelsPerNetPeer;\n    if (nNetChannels == NCCL_CONFIG_UNDEF_INT) {\n       //start from 2 channels per NIC and reduce with scale\n       nNetChannels = 2;\n\n      // check if we need to use more than one NIC, hence more than one channel\n      int netCountByBw = 1, nChannelsMax = nNetChannels;\n      NCCLCHECK(getLocalNetCountByBw(system, g, &netCountByBw));\n      // Avoid overloading channels with 8+ operations as we loose the sync warp, hence a bit of bandwidth.\n      while (nChannelsMax*comm->nRanks > comm->p2pnChannels && nChannelsMax > 1) nChannelsMax /= 2;\n\n      //allow upto channels requires to drive the NICs\n      nNetChannels = std::max(netCountByBw, nChannelsMax);\n    }\n    *nChannels = nNetChannels;\n  }\n  return ncclSuccess;\n}\n\nNCCL_PARAM(MinP2pNChannels, \"MIN_P2P_NCHANNELS\", 1);\nNCCL_PARAM(MaxP2pNChannels, \"MAX_P2P_NCHANNELS\", MAXCHANNELS);\nextern int64_t ncclParamWorkArgsBytes();\n\nncclResult_t ncclTopoComputeP2pChannels(struct ncclComm* comm) {\n  /* here we already honor comm->max/minCTAs for p2pnChannels. */\n  if (comm->sharedRes->owner != comm) {\n    comm->p2pnChannels = std::min(comm->nChannels, (int)ncclParamMaxP2pNChannels());\n    comm->p2pnChannels = std::min(std::max(comm->p2pnChannels, (int)ncclParamMinP2pNChannels()), comm->sharedRes->tpP2pNChannels);\n  } else {\n    comm->p2pnChannels = std::min(comm->nChannels, (int)ncclParamMaxP2pNChannels());\n    comm->p2pnChannels = std::max(comm->p2pnChannels, (int)ncclParamMinP2pNChannels());\n  }\n\n  int minChannels = comm->p2pnChannels;\n  // We need to loop through all local GPUs to have a global picture\n  for (int g=0; g<comm->topo->nodes[GPU].count; g++) {\n    for (int r=0; r<comm->nRanks; r++) {\n      int nChannels;\n      NCCLCHECK(ncclTopoGetNchannels(comm, g, r, &nChannels));\n      if (nChannels >= 0) minChannels = std::min(minChannels, nChannels);\n    }\n  }\n\n  int arch, vendor, model;\n  NCCLCHECK(ncclTopoCpuType(comm->topo, &arch, &vendor, &model));\n  if (arch == NCCL_TOPO_CPU_ARCH_X86 && vendor == NCCL_TOPO_CPU_VENDOR_INTEL && !(comm->topo->type & RCCL_TOPO_XGMI_ALL)) {\n    // Adjust P2P channels on Intel platform\n    comm->p2pnChannelsPerPeer = 8;\n    comm->p2pnChannels = 8;\n  } else if (comm->topo->nodes[GPU].count == comm->topo->nRanks && (comm->topo->type & RCCL_TOPO_4P2H_ROME) && !(comm->topo->type & RCCL_TOPO_GDR_ALL) && !(comm->topo->type & RCCL_TOPO_XGMI_ALL)) {\n    // Adjust P2P channels on Rome\n    comm->p2pnChannelsPerPeer = 2;\n    comm->p2pnChannels = std::min(pow2Up(comm->p2pnChannels), pow2Down(ncclDevMaxChannelsForArgsBytes(ncclParamWorkArgsBytes())));\n  } else {\n    // Round to next pow2 nChannelsPerPeer and nChannels\n    comm->p2pnChannelsPerPeer = pow2Up(minChannels);\n    // Doubling P2P channels per peer on single node\n    if (comm->topo->nodes[GPU].count == comm->topo->nRanks && (IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") || IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\"))) comm->p2pnChannelsPerPeer *= 2;\n    comm->p2pnChannels = std::min(pow2Up(comm->p2pnChannels), 4*CHANNEL_LIMIT);\n    // p2pnChannelsPerPeer cannot be greater than MAXCHANNELS\n    comm->p2pnChannelsPerPeer = std::min(comm->p2pnChannelsPerPeer, MAXCHANNELS);\n  }\n\n  // Init channels that weren't used so far\n  for (int c=comm->nChannels; c<std::max(comm->nChannels, comm->p2pnChannels); c++) NCCLCHECK(initChannel(comm, c));\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetNvbGpus(struct ncclTopoSystem* system, int rank, int* nranks, int** ranks) {\n  int ngpus = system->nodes[GPU].count;\n  NCCLCHECK(ncclCalloc(ranks, ngpus));\n  int nvbGpus = 0;\n  for (int g=0; g<ngpus; g++) {\n    struct ncclTopoNode* gpu = system->nodes[GPU].nodes+g;\n    if (gpu->gpu.rank != rank) continue;\n    for (int p=0; p<ngpus; p++) {\n      if (gpu->paths[GPU][p].type == PATH_NVB) {\n        (*ranks)[nvbGpus++] = system->nodes[GPU].nodes[p].gpu.rank;\n      }\n    }\n  }\n  *nranks = nvbGpus;\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetGpuMinPath(struct ncclTopoSystem* system, int type, int* min) {\n  int minPath = PATH_SYS;\n  for (int i=0; i<system->nodes[GPU].count; i++) {\n    struct ncclTopoLinkList* paths = system->nodes[GPU].nodes[i].paths[type];\n    if (paths == NULL) continue;\n    for (int j=0; j<system->nodes[type].count; j++) {\n      if (type == GPU && i == j) continue;\n      minPath = std::min(minPath, paths[j].type);\n    }\n  }\n  *min = minPath;\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetGpuMaxPath(struct ncclTopoSystem* system, int type, int* max) {\n  int maxPath = PATH_LOC;\n  for (int i=0; i<system->nodes[GPU].count; i++) {\n    struct ncclTopoLinkList* paths = system->nodes[GPU].nodes[i].paths[type];\n    if (paths == NULL) continue;\n    for (int j=0; j<system->nodes[type].count; j++) {\n      if (type == GPU && i == j) continue;\n      maxPath = std::max(maxPath, paths[j].type);\n    }\n  }\n  *max = maxPath;\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoPathAllNVLink(struct ncclTopoSystem* system, int* allNvLink) {\n  int maxPath;\n  NCCLCHECK(ncclTopoGetGpuMaxPath(system, GPU, &maxPath));\n  *allNvLink = maxPath >= PATH_PIX ? 0 : 1;\n  return ncclSuccess;\n}\n\n// Check whether we are in a split NVLink situation, with two NVLink domains, not\n// connected through NVLink (e.g. QPI).\nncclResult_t ncclTopoSplitNvLink(struct ncclTopoSystem* system, int* splitNvLink) {\n  ncclResult_t res = ncclSuccess;\n  int nvlDomains = 0;\n  int *nvlDomain = NULL, *nvlDomainCount = NULL;\n  // Compute NVLink domains\n  NCCLCHECKGOTO(ncclCalloc(&nvlDomain, system->nodes[GPU].count), res, exit);\n  for (int g=0; g<system->nodes[GPU].count; g++) nvlDomain[g] = g;\n  for (int g=0; g<system->nodes[GPU].count; g++) {\n    struct ncclTopoNode* gpu = system->nodes[GPU].nodes+g;\n    int domain = nvlDomain[g];\n    for (int p=g+1; p<system->nodes[GPU].count; p++) {\n      if (gpu->paths[GPU][p].type == PATH_NVL) {\n        nvlDomain[p] = domain;\n      }\n    }\n  }\n  // Compute number of GPUs per NVLink domain.\n  NCCLCHECKGOTO(ncclCalloc(&nvlDomainCount, system->nodes[GPU].count), res, exit);\n  for (int g=0; g<system->nodes[GPU].count; g++) {\n    nvlDomainCount[nvlDomain[g]]++;\n  }\n  // Count the number of NVLink domains\n  for (int g=0; g<system->nodes[GPU].count; g++) {\n    if (nvlDomainCount[g] > 1) nvlDomains++;\n  }\n  *splitNvLink = nvlDomains == 2 ? 1 : 0;\n\nexit:\n  if(nvlDomain) free(nvlDomain);\n  if(nvlDomainCount) free(nvlDomainCount);\n  return res;\n}\n"
  },
  {
    "path": "src/graph/rings.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2019, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"core.h\"\n\nvoid dumpLine(int* values, int nranks, const char* prefix) {\n  constexpr int line_length = 128;\n  char line[line_length];\n  int num_width = snprintf(nullptr, 0, \"%d\", nranks-1);  // safe as per \"man snprintf\"\n  int n = snprintf(line, line_length, \"%s\", prefix);\n  for (int i = 0; i < nranks && n < line_length-1; i++) {\n    n += snprintf(line + n, line_length - n, \" %*d\", num_width, values[i]);\n    // At this point n may be more than line_length-1, so don't use it\n    // for indexing into \"line\".\n  }\n  if (n >= line_length) {\n    // Sprintf wanted to write more than would fit in the buffer. Assume\n    // line_length is at least 4 and replace the end with \"...\" to\n    // indicate that it was truncated.\n    snprintf(line+line_length-4, 4, \"...\");\n  }\n  INFO(NCCL_INIT, \"%s\", line);\n}\n\nncclResult_t ncclBuildRings(int nrings, int* rings, int rank, int nranks, int* prev, int* next) {\n  for (int r=0; r<nrings; r++) {\n    char prefix[40];\n    /*sprintf(prefix, \"[%d] Channel %d Prev : \", rank, r);\n    dumpLine(prev+r*nranks, nranks, prefix);\n    sprintf(prefix, \"[%d] Channel %d Next : \", rank, r);\n    dumpLine(next+r*nranks, nranks, prefix);*/\n\n    int current = rank;\n    for (int i=0; i<nranks; i++) {\n      rings[r*nranks+i] = current;\n      current = next[r*nranks+current];\n    }\n    snprintf(prefix, sizeof(prefix), \"Channel %02d/%02d :\", r, nrings);\n    if (rank == 0) dumpLine(rings+r*nranks, nranks, prefix);\n    if (current != rank) {\n      WARN(\"Error : ring %d does not loop back to start (%d != %d)\", r, current, rank);\n      return ncclInternalError;\n    }\n    // Check that all ranks are there\n    for (int i=0; i<nranks; i++) {\n      int found = 0;\n      for (int j=0; j<nranks; j++) {\n        if (rings[r*nranks+j] == i) {\n          found = 1;\n          break;\n        }\n      }\n      if (found == 0) {\n        WARN(\"Error : ring %d does not contain rank %d\", r, i);\n        return ncclInternalError;\n      }\n    }\n  }\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/graph/rings.h",
    "content": "/*************************************************************************\n * Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\nncclResult_t ncclBuildRings(int nrings, int* rings, int rank, int nranks, int* prev, int* next);\n"
  },
  {
    "path": "src/graph/rome_models.cc",
    "content": "/*\nCopyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.\nCopyright (c) 2024 GigaIO Networks, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n#include \"core.h\"\n#include \"comm.h\"\n#include \"graph.h\"\n#include \"topo.h\"\n#include \"xml.h\"\n#include <math.h>\n#include <sys/time.h>\n#include <algorithm>\n#include <vector>\n#include <string.h>\n#include \"rome_models.h\"\n\nstruct rcclRomeModel {\n  int nGpus;\n  int nCpus;\n  int nNics;\n  int nLinks;\n  int64_t gpuIds[NCCL_TOPO_MAX_NODES];\n  int64_t nicIds[NCCL_TOPO_MAX_NODES];\n  int64_t gpuNuma[NCCL_TOPO_MAX_NODES];\n  int64_t nicNuma[NCCL_TOPO_MAX_NODES];\n  uint8_t connMatrix[NCCL_TOPO_MAX_NODES*NCCL_TOPO_MAX_NODES];\n  uint8_t gdrLevel[NCCL_TOPO_MAX_NODES*NCCL_TOPO_MAX_NODES];\n  const char *pattern;\n  const char *ringBase;\n  const char *ringTail2;  // Lines to use for node N-2 if the total number of nodes is odd\n  const char *ringTail1;  // Lines to use for node N-1 if the total number of nodes is odd\n  const char *options;\n  const char *treeBase;\n  const char *treeRail;\n};\n\nstatic struct rcclRomeModel rome_model_22 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 1, .nLinks = 2,\n  .gpuIds = { 0x3000, 0x43000, 0x26000, 0xc3000, 0x83000, 0x23000, 0xc6000, 0xa3000, },\n  .nicIds = { 0xe1000, },\n  .gpuNuma = { 1, 0, 1, 2, 3, 1, 2, 3, },\n  .nicNuma = { 2, },\n  .connMatrix = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, },\n  .gdrLevel = { PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_SYS, PATH_SYS, PATH_PHB, PATH_SYS, },\n  .pattern = \"10302120\",\n  .ringBase = \"7 4 5 3 1 0 6 2|4 7 3 5 0 1 2 6\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_25 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 2, .nLinks = 2,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xe3000, 0xc3000, 0xc6000, 0x83000, },\n  .nicIds = { 0x61000, 0xa1000, },\n  .gpuNuma = { 0, 1, 1, 1, 2, 2, 2, 3, },\n  .nicNuma = { 0, 3, },\n  .connMatrix = { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, },\n  .gdrLevel = { PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, },\n  .pattern = \"11303011\",\n  .ringBase = \"2 1 0 3 6 7 5 4|7 6 4 5 1 2 3 0\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_27 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 2, .nLinks = 2,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xe3000, 0xc3000, 0xc6000, 0x83000, },\n  .nicIds = { 0x61000, 0xa1000, },\n  .gpuNuma = { 0, 1, 1, 1, 2, 2, 2, 3, },\n  .nicNuma = { 0, 3, },\n  .connMatrix = { 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, },\n  .gdrLevel = { PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, },\n  .pattern = \"11303011\",\n  .ringBase = \"0 6 2 3 1 7 5 4|7 1 4 5 6 0 3 2\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_29 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 1, .nLinks = 3,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xc3000, 0xc6000, 0xa3000, 0x83000, },\n  .nicIds = { 0xe1000, },\n  .gpuNuma = { 0, 1, 1, 1, 2, 2, 3, 3, },\n  .nicNuma = { 2, },\n  .connMatrix = { 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, },\n  .gdrLevel = { PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, },\n  .pattern = \"10302120\",\n  .ringBase = \"6 5 7 4 0 1 3 2|6 4 7 5 2 3 1 0\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_31 = {\n  .nGpus = 8, .nCpus = 8, .nNics = 2, .nLinks = 2,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xe3000, 0xc3000, 0xc6000, 0x83000, },\n  .nicIds = { 0x61000, 0xa1000, },\n  .gpuNuma = { 1, 2, 2, 3, 4, 5, 5, 7, },\n  .nicNuma = { 0, 6, },\n  .connMatrix = { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, },\n  .gdrLevel = { PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, },\n  .pattern = \"0110201010200110\",\n  .ringBase = \"1 2 3 0 6 4 5 7|4 6 7 5 2 1 0 3\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_33 = {\n  .nGpus = 8, .nCpus = 8, .nNics = 2, .nLinks = 2,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xe3000, 0xc3000, 0xc6000, 0x83000, },\n  .nicIds = { 0x61000, 0xa1000, },\n  .gpuNuma = { 1, 2, 2, 3, 4, 5, 5, 7, },\n  .nicNuma = { 0, 6, },\n  .connMatrix = { 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, },\n  .gdrLevel = { PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, },\n  .pattern = \"0110201010200110\",\n  .ringBase = \"1 4 5 7 0 3 2 6|4 1 7 5 6 2 3 0\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_30 = {\n  .nGpus = 8, .nCpus = 8, .nNics = 0, .nLinks = 2,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xe3000, 0xc3000, 0xc6000, 0x83000, },\n  .nicIds = { },\n  .gpuNuma = { 1, 2, 2, 3, 4, 5, 5, 7, },\n  .nicNuma = { },\n  .connMatrix = { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, },\n  .gdrLevel = { },\n  .pattern = \"0010201010200010\",\n  .ringBase = \"3 0 1 2 6 7 5 4|2 1 0 3 7 6 4 5\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_32 = {\n  .nGpus = 8, .nCpus = 8, .nNics = 0, .nLinks = 2,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xe3000, 0xc3000, 0xc6000, 0x83000, },\n  .nicIds = { },\n  .gpuNuma = { 1, 2, 2, 3, 4, 5, 5, 7, },\n  .nicNuma = { },\n  .connMatrix = { 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, },\n  .gdrLevel = { },\n  .pattern = \"0010201010200010\",\n  .ringBase = \"0 6 2 3 4 5 7 1|3 2 6 0 1 7 5 4\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_24 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 0, .nLinks = 2,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xe3000, 0xc3000, 0xc6000, 0x83000, },\n  .nicIds = { },\n  .gpuNuma = { 0, 1, 1, 1, 2, 2, 2, 3, },\n  .nicNuma = { },\n  .connMatrix = { 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, },\n  .gdrLevel = { },\n  .pattern = \"10303010\",\n  .ringBase = \"0 1 2 3 5 7 6 4|1 0 3 2 7 5 4 6\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_26 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 0, .nLinks = 2,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xe3000, 0xc3000, 0xc6000, 0x83000, },\n  .nicIds = { },\n  .gpuNuma = { 0, 1, 1, 1, 2, 2, 2, 3, },\n  .nicNuma = { },\n  .connMatrix = { 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, },\n  .gdrLevel = { },\n  .pattern = \"10303010\",\n  .ringBase = \"4 5 7 1 0 3 2 6|3 0 6 2 1 7 5 4\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_23 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 0, .nLinks = 2,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xc3000, 0xc6000, 0xa3000, 0x83000, },\n  .nicIds = { },\n  .gpuNuma = { 0, 1, 1, 1, 2, 2, 3, 3, },\n  .nicNuma = { },\n  .connMatrix = { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, },\n  .gdrLevel = { },\n  .pattern = \"10302020\",\n  .ringBase = \"1 7 6 4 5 2 0 3|2 5 3 0 4 6 7 1\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_38 = {\n  .nGpus = 8, .nCpus = 7, .nNics = 0, .nLinks = 2,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xc3000, 0xc6000, 0xa3000, 0x83000, },\n  .nicIds = { },\n  .gpuNuma = { 1, 2, 2, 3, 5, 5, 6, 7, },\n  .nicNuma = { },\n  .connMatrix = { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, },\n  .gdrLevel = { },\n  .pattern = \"10201000201010\",\n  .ringBase = \"6 7 1 4 3 5 2 0|0 2 5 3 4 1 7 6\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_28 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 0, .nLinks = 3,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xc3000, 0xc6000, 0xa3000, 0x83000, },\n  .nicIds = { },\n  .gpuNuma = { 0, 1, 1, 1, 2, 2, 3, 3, },\n  .nicNuma = { },\n  .connMatrix = { 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, },\n  .gdrLevel = { },\n  .pattern = \"10302020\",\n  .ringBase = \"0 3 2 1 4 5 6 7|7 6 5 4 1 2 3 0|0 2 5 7 4 6 3 1|1 3 6 4 7 5 2 0\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_40 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 1, .nLinks = 3,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xc3000, 0xc6000, 0xa3000, 0x83000, },\n  .nicIds = { 0xe1000, },\n  .gpuNuma = { 0, 1, 1, 1, 2, 2, 3, 3, },\n  .nicNuma = { 2, },\n  .connMatrix = { 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, },\n  .gdrLevel = { PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, },\n  .pattern = \"10302120\",\n  .ringBase = \"6 7 1 4 0 5 3 2|7 6 4 1 0 2 3 5\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_42 = {\n  .nGpus = 8, .nCpus = 7, .nNics = 1, .nLinks = 3,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xc3000, 0xc6000, 0xa3000, 0x83000, },\n  .nicIds = { 0xe1000, },\n  .gpuNuma = { 1, 2, 2, 3, 5, 5, 6, 7, },\n  .nicNuma = { 4, },\n  .connMatrix = { 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, },\n  .gdrLevel = { PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, },\n  .pattern = \"10201001201010\",\n  .ringBase = \"7 4 6 1 3 0 2 5|6 4 7 1 3 2 5 0\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_44 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 1, .nLinks = 3,\n  .gpuIds = { 0x63000, 0x43000, 0x27000, 0x3000, 0xe3000, 0xc3000, 0xa3000, 0x83000, },\n  .nicIds = { 0xc4000, },\n  .gpuNuma = { 0, 0, 1, 1, 2, 2, 3, 3, },\n  .nicNuma = { 2, },\n  .connMatrix = { 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, },\n  .gdrLevel = { PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, },\n  .pattern = \"20202120\",\n  .ringBase = \"5 4 7 6 2 1 3 0|5 6 7 4 1 0 2 3\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_45 = {\n  .nGpus = 8, .nCpus = 7, .nNics = 0, .nLinks = 3,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xc3000, 0xc6000, 0xa3000, 0x83000, },\n  .nicIds = { },\n  .gpuNuma = { 1, 2, 2, 3, 5, 5, 6, 7, },\n  .nicNuma = { },\n  .connMatrix = { 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, },\n  .gdrLevel = { },\n  .pattern = \"10201000201010\",\n  .ringBase = \"0 1 2 3 4 5 6 7|0 2 5 7 4 6 1 3|0 3 1 6 4 7 5 2|0 7 6 5 4 3 2 1\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_46 = {\n  .nGpus = 8, .nCpus = 7, .nNics = 1, .nLinks = 3,\n  .gpuIds = { 0x43000, 0x23000, 0x26000, 0x3000, 0xc3000, 0xc6000, 0xa3000, 0x83000, },\n  .nicIds = { 0xe1000, },\n  .gpuNuma = { 1, 2, 2, 3, 5, 5, 6, 7, },\n  .nicNuma = { 4, },\n  .connMatrix = { 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, },\n  .gdrLevel = { PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, },\n  .pattern = \"10201001201010\",\n  .ringBase = \"6 5 7 4 1 2 3 0|7 4 6 5 1 0 3 2\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_48 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 0, .nLinks = 3,\n  .gpuIds = { 0x4a000, 0x50000, 0xa000, 0xf000, 0xcb000, 0xd1000, 0x8a000, 0x90000, },\n  .nicIds = { },\n  .gpuNuma = { 0, 0, 1, 1, 2, 2, 3, 3, },\n  .nicNuma = { },\n  .connMatrix = { 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, },\n  .gdrLevel = { },\n  .pattern = \"20202020\",\n  .ringBase = \"0 1 2 3 4 5 6 7|7 6 5 4 3 2 1 0|0 1 2 3 4 5 6 7|7 6 5 4 3 2 1 0\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_49 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 4, .nLinks = 3,\n  .gpuIds = { 0x4a000, 0x50000, 0xa000, 0xf000, 0xcb000, 0xd1000, 0x8a000, 0x90000, },\n  .nicIds = { 0x45000, 0x13000, 0xc6000, 0x85000, },\n  .gpuNuma = { 0, 0, 1, 1, 2, 2, 3, 3, },\n  .nicNuma = { 0, 1, 2, 3, },\n  .connMatrix = { 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, },\n  .gdrLevel = { PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, },\n  .pattern = \"21212121\",\n  .ringBase = \"N0 0 1 2 3 4 5 6 7 N3|N3 7 6 5 4 3 2 1 0 N0|N1 2 3 0 1 6 7 4 5 N2|N2 5 4 7 6 1 0 3 2 N1\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_52 = {\n  .nGpus = 8, .nCpus = 1, .nNics = 0, .nLinks = 3,\n  .gpuIds = { 0xc1000, 0xc5000, 0xc9000, 0xcd000, 0xd1000, 0xd5000, 0xd9000, 0xdd000, },\n  .nicIds = { },\n  .gpuNuma = { 0, 0, 0, 0, 0, 0, 0, 0, },\n  .nicNuma = { },\n  .connMatrix = { 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, },\n  .gdrLevel = { },\n  .pattern = \"80\",\n  .ringBase = \"0 1 3 2 4 5 7 6|6 7 5 4 2 3 1 0|0 1 5 4 6 7 3 2|2 3 7 6 4 5 1 0\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_53 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 4, .nLinks = 3,\n  .gpuIds = { 0x4a000, 0x50000, 0xa000, 0xf000, 0xcb000, 0xd1000, 0x8a000, 0x90000, },\n  .nicIds = { 0x45000, 0x13000, 0xc6000, 0x85000, },\n  .gpuNuma = { 1, 1, 3, 3, 5, 5, 7, 7, },\n  .nicNuma = { 1, 3, 5, 7, },\n  .connMatrix = { 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, },\n  .gdrLevel = { PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, },\n  .pattern = \"21212121\",\n  .ringBase = \"N0 0 1 2 3 4 5 6 7 N3|N3 7 6 5 4 3 2 1 0 N0|N1 2 3 0 1 6 7 4 5 N2|N2 5 4 7 6 1 0 3 2 N1\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_43 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 0, .nLinks = 3,\n  .gpuIds = { 0x63000, 0x43000, 0x27000, 0x3000, 0xe3000, 0xc3000, 0xa3000, 0x83000, },\n  .nicIds = { },\n  .gpuNuma = { 0, 0, 1, 1, 2, 2, 3, 3, },\n  .nicNuma = { },\n  .connMatrix = { 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, },\n  .gdrLevel = { },\n  .pattern = \"20202020\",\n  .ringBase = \"0 1 2 3 4 5 6 7|0 2 5 7 4 6 1 3|0 3 1 6 4 7 5 2|0 7 6 5 4 3 2 1|0 1 2 3 4 5 6 7|0 2 5 7 4 6 1 3|0 3 1 6 4 7 5 2|0 7 6 5 4 3 2 1|0 1 2 3 4 5 6 7|0 2 5 7 4 6 1 3|0 3 1 6 4 7 5 2|0 7 6 5 4 3 2 1\",\n  .options = \"treeDefined=1\",\n  .treeBase = \"(2(5(6(7(4))))(3(0(1))))|(2(5(7(6(4))))(0(1(3))))|(2(5(7(4(6))))(1(3(0))))|(6(1(0(2(3))))(7(4(5))))|(6(1(2(0(3))))(4(5(7))))|(6(1(0(3(2))))(5(7(4))))|(1(6(7(5(4))))(2(3(0))))|(1(6(4(7(5))))(3(2(0))))|(1(6(5(4(7))))(3(0(2))))|(5(2(3(1(0))))(4(6(7))))|(5(2(0(3(1))))(6(4(7))))|(5(2(1(0(3))))(4(7(6))))\",\n};\n\nstatic struct rcclRomeModel rome_model_55 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 0, .nLinks = 3,\n  .gpuIds = { 0x100000, 0x200000, 0x300000, 0x400000, 0x500000, 0x600000, 0x700000, 0x800000, },\n  .nicIds = { },\n  .gpuNuma = { 0, 0, 1, 1, 2, 2, 3, 3, },\n  .nicNuma = { },\n  .connMatrix = { 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, },\n  .gdrLevel = { },\n  .pattern = \"20202020\",\n  .ringBase = \"0 1 2 3 4 5 6 7|7 6 5 4 3 2 1 0|2 3 0 1 6 7 4 5|5 4 7 6 1 0 3 2\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_56 = {\n  .nGpus = 16, .nCpus = 4, .nNics = 0, .nLinks = 4,\n  .gpuIds = { 0x4e000, 0x51000, 0x56000, 0x59000, 0xe000, 0x11000, 0x16000, 0x19000, 0xcf000, 0xd2000, 0xd7000, 0xda000, 0x8f000, 0x92000, 0x97000, 0x9a000, },\n  .nicIds = { },\n  .gpuNuma = { 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, },\n  .nicNuma = { },\n  .connMatrix = { 0, 4, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 4, 0, },\n  .gdrLevel = { },\n  .pattern = \"40404040\",\n  .ringBase = \"0 1 3 2 6 7 15 14 10 11 9 8 12 13 5 4|0 1 2 3 7 6 13 12 8 9 10 11 15 14 5 4|0 2 3 7 6 14 15 11 10 8 9 13 12 4 5 1|4 5 13 12 8 9 11 10 14 15 7 6 2 3 1 0|4 5 14 15 11 10 9 8 12 13 6 7 3 2 1 0|1 5 4 12 13 9 8 10 11 15 14 6 7 3 2 0\",\n  .options = \"pivotA2AEnabled=1,pivotA2ANumBiRings=3,tuning=1,mscclEnabled=1,treeDefined=1\",\n  .treeBase= \"(0(1(3(2(6(7(15(14(10))))))))(4(5(13(12(8(9(11))))))))|(2(3(7(6(13(12(8(9(10))))))))(1(0(4(5(14(15(11))))))))|(14(15(11(10(8(9(13(12(4))))))))(6(7(3(2(0(1(5))))))))|(10(11(9(8(12(13(5(4(0))))))))(14(15(7(6(2(3(1))))))))|(10(11(15(14(5(4(0(1(2))))))))(9(8(12(13(6(7(3))))))))|(4(5(1(0(2(3(7(6(14))))))))(12(13(9(8(10(11(15))))))))|(6(7(15(14(10(11(9(8(12))))))))(2(3(1(0(4(5(13))))))))|(13(12(8(9(10(11(15(14(5))))))))(6(7(3(2(1(0(4))))))))|(8(9(13(12(4(5(1(0(2))))))))(10(11(15(14(6(7(3))))))))|(12(13(5(4(0(1(3(2(6))))))))(8(9(11(10(14(15(7))))))))|(5(4(0(1(2(3(7(6(13))))))))(14(15(11(10(9(8(12))))))))|(2(3(7(6(14(15(11(10(8))))))))(0(1(5(4(12(13(9))))))))\",\n};\n\nstatic struct rcclRomeModel rome_model_58 = {\n  .nGpus = 8, .nCpus = 3, .nNics = 0, .nLinks = 3,\n  .gpuIds = { 0xc1000, 0xc6000, 0xc9000, 0xce000, 0xd1000, 0xd6000, 0xd9000, 0xde000, },\n  .nicIds = { },\n  .gpuNuma = { 3, 3, 1, 1, 0, 0, 0, 0, },\n  .nicNuma = { },\n  .connMatrix = { 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, },\n  .gdrLevel = { },\n  .pattern = \"402020\",\n  .ringBase = \"0 1 3 2 4 5 7 6|6 7 5 4 2 3 1 0|0 1 5 4 6 7 3 2|2 3 7 6 4 5 1 0\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_59 = {\n  .nGpus = 16, .nCpus = 4, .nNics = 8, .nLinks = 4,\n  .gpuIds = { 0x4e000, 0x51000, 0x56000, 0x59000, 0xe000, 0x11000, 0x16000, 0x19000, 0xcf000, 0xd2000, 0xd7000, 0xda000, 0x8f000, 0x92000, 0x97000, 0x9a000, },\n  .nicIds = { 0x4b000, 0x5a000, 0xb000, 0x1a000, 0xcc000, 0xdb000, 0x8c000, 0x9b000, },\n  .gpuNuma = { 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, },\n  .nicNuma = { 0, 0, 1, 1, 2, 2, 3, 3, },\n  .connMatrix = { 0, 4, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 4, 0, },\n  .gdrLevel = { PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, },\n  .pattern = \"42424242\",\n  .ringBase = \"N4 9 8 12 13 5 4 0 1 3 2 6 7 15 14 10 11 N5|N1 3 2 6 7 15 14 10 11 9 8 12 13 5 4 0 1 N0|N3 7 6 2 3 1 0 4 5 13 12 8 9 11 10 14 15 N7|N7 15 14 10 11 9 8 12 13 5 4 0 1 3 2 6 7 N3|N5 11 10 14 15 7 6 2 3 1 0 4 5 13 12 8 9 N4|N0 1 0 4 5 13 12 8 9 11 10 14 15 7 6 2 3 N1|N3 6 7 3 2 1 0 4 5 14 15 11 10 9 8 12 13 N6|N7 14 15 11 10 9 8 12 13 6 7 3 2 1 0 4 5 N2|N2 5 4 0 1 2 3 7 6 13 12 8 9 10 11 15 14 N7|N6 13 12 8 9 10 11 15 14 5 4 0 1 2 3 7 6 N3|N4 8 9 13 12 4 5 1 0 2 3 7 6 14 15 11 10 N5|N5 10 11 15 14 6 7 3 2 0 1 5 4 12 13 9 8 N4|N6 12 13 9 8 10 11 15 14 6 7 3 2 0 1 5 4 N2|N2 4 5 1 0 2 3 7 6 14 15 11 10 8 9 13 12 N6|N1 2 3 7 6 14 15 11 10 8 9 13 12 4 5 1 0 N0|N0 0 1 5 4 12 13 9 8 10 11 15 14 6 7 3 2 N1|N5 10 11 9 8 12 13 5 4 0 1 3 2 6 7 15 14 N7|N3 6 7 15 14 10 11 9 8 12 13 5 4 0 1 3 2 N1|N1 2 3 1 0 4 5 13 12 8 9 11 10 14 15 7 6 N3|N7 14 15 7 6 2 3 1 0 4 5 13 12 8 9 11 10 N5|N0 0 1 2 3 7 6 13 12 8 9 10 11 15 14 5 4 N2|N4 8 9 10 11 15 14 5 4 0 1 2 3 7 6 13 12 N6|N3 7 6 13 12 8 9 10 11 15 14 5 4 0 1 2 3 N1|N1 3 2 1 0 4 5 14 15 11 10 9 8 12 13 6 7 N3|N6 12 13 6 7 3 2 1 0 4 5 14 15 11 10 9 8 N4|N2 4 5 14 15 11 10 9 8 12 13 6 7 3 2 1 0 N0|N0 1 0 2 3 7 6 14 15 11 10 8 9 13 12 4 5 N2|N6 13 12 4 5 1 0 2 3 7 6 14 15 11 10 8 9 N4|N5 11 10 8 9 13 12 4 5 1 0 2 3 7 6 14 15 N7|N2 5 4 12 13 9 8 10 11 15 14 6 7 3 2 0 1 N0|N7 15 14 6 7 3 2 0 1 5 4 12 13 9 8 10 11 N5|N4 9 8 10 11 15 14 6 7 3 2 0 1 5 4 12 13 N6\",\n  .options = \"tuning=4,ll128Enabled=1,baseBw=161.4\",\n};\n\nstatic struct rcclRomeModel rome_model_62 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 0, .nLinks = 3,\n  .gpuIds = { 0xc1000, 0xc6000, 0xc9000, 0xce000, 0xd1000, 0xd6000, 0xd9000, 0xde000, },\n  .nicIds = { },\n  .gpuNuma = { 3, 3, 1, 1, 0, 0, 2, 2, },\n  .nicNuma = { },\n  .connMatrix = { 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, },\n  .gdrLevel = { },\n  .pattern = \"20202020\",\n  .ringBase = \"0 1 3 2 4 5 7 6|6 7 5 4 2 3 1 0|0 1 5 4 6 7 3 2|2 3 7 6 4 5 1 0\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_63 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 4, .nLinks = 3,\n  .gpuIds = { 0xc1000, 0xc6000, 0xc9000, 0xce000, 0xd1000, 0xd6000, 0xd9000, 0xde000, },\n  .nicIds = { 0xc5000, 0xcd000, 0xd5000, 0xdd000, },\n  .gpuNuma = { 3, 3, 1, 1, 0, 0, 2, 2, },\n  .nicNuma = { 3, 1, 0, 2, },\n  .connMatrix = { 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, },\n  .gdrLevel = { PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, },\n  .pattern = \"21212121\",\n  .ringBase = \"N0 0 1 5 4 6 7 3 2 N1|N1 2 3 7 6 4 5 1 0 N0|N3 7 6 0 1 3 2 4 5 N2|N2 5 4 2 3 1 0 6 7 N3|N0 0 1 5 4 6 7 3 2 N1|N1 2 3 7 6 4 5 1 0 N0|N3 7 6 0 1 3 2 4 5 N2|N2 5 4 2 3 1 0 6 7 N3\",\n  .options = \"tuning=3\",\n};\n\nstatic struct rcclRomeModel rome_model_65 = {\n  .nGpus = 16, .nCpus = 4, .nNics = 8, .nLinks = 4,\n  .gpuIds = { 0x4e000, 0x51000, 0x56000, 0x59000, 0xe000, 0x11000, 0x16000, 0x19000, 0xcf000, 0xd2000, 0xd7000, 0xda000, 0x8f000, 0x92000, 0x97000, 0x9a000, },\n  .nicIds = { 0x4b000, 0x5a000, 0xb000, 0x1a000, 0xcc000, 0xdb000, 0x8c000, 0x9b000, },\n  .gpuNuma = { 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, },\n  .nicNuma = { 0, 0, 1, 1, 2, 2, 3, 3, },\n  .connMatrix = { 0, 4, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 4, 0, },\n  .gdrLevel = { PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, },\n  .pattern = \"42424242\",\n  .ringBase = \"N4 9 8 12 13 5 4 0 1 3 2 6 7 15 14 10 11 N5|N1 3 2 6 7 15 14 10 11 9 8 12 13 5 4 0 1 N0|N3 7 6 2 3 1 0 4 5 13 12 8 9 11 10 14 15 N7|N7 15 14 10 11 9 8 12 13 5 4 0 1 3 2 6 7 N3|N5 11 10 14 15 7 6 2 3 1 0 4 5 13 12 8 9 N4|N0 1 0 4 5 13 12 8 9 11 10 14 15 7 6 2 3 N1|N3 6 7 3 2 1 0 4 5 14 15 11 10 9 8 12 13 N6|N7 14 15 11 10 9 8 12 13 6 7 3 2 1 0 4 5 N2|N2 5 4 0 1 2 3 7 6 13 12 8 9 10 11 15 14 N7|N6 13 12 8 9 10 11 15 14 5 4 0 1 2 3 7 6 N3|N4 8 9 13 12 4 5 1 0 2 3 7 6 14 15 11 10 N5|N5 10 11 15 14 6 7 3 2 0 1 5 4 12 13 9 8 N4|N6 12 13 9 8 10 11 15 14 6 7 3 2 0 1 5 4 N2|N2 4 5 1 0 2 3 7 6 14 15 11 10 8 9 13 12 N6|N1 2 3 7 6 14 15 11 10 8 9 13 12 4 5 1 0 N0|N0 0 1 5 4 12 13 9 8 10 11 15 14 6 7 3 2 N1|N5 10 11 9 8 12 13 5 4 0 1 3 2 6 7 15 14 N7|N3 6 7 15 14 10 11 9 8 12 13 5 4 0 1 3 2 N1|N1 2 3 1 0 4 5 13 12 8 9 11 10 14 15 7 6 N3|N7 14 15 7 6 2 3 1 0 4 5 13 12 8 9 11 10 N5|N0 0 1 2 3 7 6 13 12 8 9 10 11 15 14 5 4 N2|N4 8 9 10 11 15 14 5 4 0 1 2 3 7 6 13 12 N6|N3 7 6 13 12 8 9 10 11 15 14 5 4 0 1 2 3 N1|N1 3 2 1 0 4 5 14 15 11 10 9 8 12 13 6 7 N3|N6 12 13 6 7 3 2 1 0 4 5 14 15 11 10 9 8 N4|N2 4 5 14 15 11 10 9 8 12 13 6 7 3 2 1 0 N0|N0 1 0 2 3 7 6 14 15 11 10 8 9 13 12 4 5 N2|N6 13 12 4 5 1 0 2 3 7 6 14 15 11 10 8 9 N4|N5 11 10 8 9 13 12 4 5 1 0 2 3 7 6 14 15 N7|N2 5 4 12 13 9 8 10 11 15 14 6 7 3 2 0 1 N0|N7 15 14 6 7 3 2 0 1 5 4 12 13 9 8 10 11 N5|N4 9 8 10 11 15 14 6 7 3 2 0 1 5 4 12 13 N6\",\n  .options = \"tuning=4,ll128Enabled=1,baseBw=161.4\",\n};\n\nstatic struct rcclRomeModel rome_model_66 = {\n  .nGpus = 8, .nCpus = 2, .nNics = 0, .nLinks = 3,\n  .gpuIds = { 0x29000, 0x2c000, 0x2f000, 0x32000, 0xad000, 0xb0000, 0xb3000, 0xb6000, },\n  .nicIds = { },\n  .gpuNuma = { 1, 1, 1, 1, 3, 3, 3, 3, },\n  .nicNuma = { },\n  .connMatrix = { 0, 4, 0, 0, 2, 0, 1, 0, 4, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 4, 1, 0, 2, 0, 0, 1, 4, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 1, 4, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 1, 4, 0, },\n  .gdrLevel = { },\n  .pattern = \"4040\",\n  .ringBase = \"0 6 7 5 4 2 3 1|1 3 2 4 5 7 6 0|0 1 7 6 2 3 5 4|4 5 3 2 6 7 1 0\",\n  .options = \"disableNumaMatching=1,tuning=2\",\n};\n\nstatic struct rcclRomeModel rome_model_67 = {\n  .nGpus = 8, .nCpus = 2, .nNics = 4, .nLinks = 3,\n  .gpuIds = { 0x29000, 0x2c000, 0x2f000, 0x32000, 0xad000, 0xb0000, 0xb3000, 0xb6000, },\n  .nicIds = { 0x1d000, 0x1e000, 0xa1000, 0xa2000, },\n  .gpuNuma = { 1, 1, 1, 1, 3, 3, 3, 3, },\n  .nicNuma = { 1, 1, 3, 3, },\n  .connMatrix = { 0, 4, 0, 0, 2, 0, 1, 0, 4, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 4, 1, 0, 2, 0, 0, 1, 4, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 1, 4, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 1, 4, 0, },\n  .gdrLevel = { PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, },\n  .pattern = \"4242\",\n  .ringBase = \"N3 7 6 0 1 3 2 4 5 N2|N2 5 4 2 3 1 0 6 7 N3|N1 2 3 5 4 0 1 7 6 N3|N2 4 5 3 2 6 7 1 0 N0|N1 3 2 4 5 7 6 0 1 N0|N0 1 0 6 7 5 4 2 3 N1|N0 0 1 7 6 2 3 5 4 N2|N3 6 7 1 0 4 5 3 2 N1\",\n  .options = \"disableNumaMatching=1,tuning=2\",\n};\n\nstatic struct rcclRomeModel rome_model_68 = {\n  .nGpus = 16, .nCpus = 1, .nNics = 16, .nLinks = 3,\n  .gpuIds = { 0xcf000, 0xd4000, 0xd5000, 0xd6000, 0xd0000, 0xd1000, 0xd2000, 0xd3000, 0xf0000, 0xf1000, 0xf2000, 0xf3000, 0xf4000, 0xf5000, 0xf6000, 0xf7000, },\n  .nicIds = { 0xcd000, 0xc8000, 0xc9000, 0xcb000, 0xcc000, 0xce000, 0xc7000, 0xca000, 0xe8000, 0xe9000, 0xea000, 0xeb000, 0xec000, 0xed000, 0xee000, 0xef000, },\n  .gpuNuma = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, },\n  .nicNuma = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, },\n  .connMatrix = { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, },\n  .gdrLevel = { PATH_PIX, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PIX, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_PIX, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PIX, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PIX, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PIX, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PIX, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PIX, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PIX, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PIX, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_PIX, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PIX, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PIX, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PIX, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PIX, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PXB, PATH_PIX, },\n  .pattern = \"@@\",\n  .ringBase = \"N0 0 1 2 3 N3 N4 4 5 6 7 N7 N8 8 9 10 11 N11 N12 12 13 14 15 N15|N15 15 14 13 12 N12 N11 11 10 9 8 N8 N7 7 6 5 4 N4 N3 3 2 1 0 N0|N1 1 3 0 2 N2 N5 5 7 4 6 N6 N9 9 11 8 10 N10 N13 13 15 12 14 N14|N14 14 12 15 13 N13 N10 10 8 11 9 N9 N6 6 4 7 5 N5 N2 2 0 3 1 N1|N0 0 1 2 3 N3 N4 4 5 6 7 N7 N8 8 9 10 11 N11 N12 12 13 14 15 N15|N15 15 14 13 12 N12 N11 11 10 9 8 N8 N7 7 6 5 4 N4 N3 3 2 1 0 N0|N1 1 3 0 2 N2 N5 5 7 4 6 N6 N9 9 11 8 10 N10 N13 13 15 12 14 N14|N14 14 12 15 13 N13 N10 10 8 11 9 N9 N6 6 4 7 5 N5 N2 2 0 3 1 N1\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_71 = {\n  .nGpus = 8, .nCpus = 2, .nNics = 0, .nLinks = 3,\n  .gpuIds = { 0x32000, 0x35000, 0x11000, 0x14000, 0xae000, 0xb3000, 0x8e000, 0x93000, },\n  .nicIds = { },\n  .gpuNuma = { 0, 0, 0, 0, 1, 1, 1, 1, },\n  .nicNuma = { },\n  .connMatrix = { 0, 4, 1, 0, 0, 0, 2, 0, 4, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 4, 2, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 4, 1, 0, 0, 1, 0, 0, 4, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 1, 0, 1, 4, 0, },\n  .gdrLevel = { },\n  .pattern = \"4040\",\n  .ringBase = \"0 1 3 2 4 5 7 6|6 7 5 4 2 3 1 0|0 1 5 4 2 3 7 6|6 7 3 2 4 5 1 0\",\n  .options = \"disableNumaMatching=1,tuning=2\",\n};\n\nstatic struct rcclRomeModel rome_model_72 = {\n  .nGpus = 8, .nCpus = 2, .nNics = 4, .nLinks = 3,\n  .gpuIds = { 0x32000, 0x35000, 0x11000, 0x14000, 0xae000, 0xb3000, 0x8e000, 0x93000, },\n  .nicIds = { 0x1d000, 0x1e000, 0xa0000, 0xa1000, },\n  .gpuNuma = { 0, 0, 0, 0, 1, 1, 1, 1, },\n  .nicNuma = { 0, 0, 1, 1, },\n  .connMatrix = { 0, 4, 1, 0, 0, 0, 2, 0, 4, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 4, 2, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 4, 1, 0, 0, 1, 0, 0, 4, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 1, 0, 1, 4, 0, },\n  .gdrLevel = { PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, },\n  .pattern = \"4242\",\n  .ringBase = \"N0 0 1 3 2 4 5 7 6 N3|N1 2 3 1 0 6 7 5 4 N2|N3 7 6 0 1 5 4 2 3 N1|N0 1 0 6 7 3 2 4 5 N2|N2 4 5 7 6 0 1 3 2 N1|N3 6 7 5 4 2 3 1 0 N0|N2 5 4 2 3 7 6 0 1 N0|N1 3 2 4 5 1 0 6 7 N3\",\n  .options = \"disableNumaMatching=1,tuning=2\",\n};\n\nstatic struct rcclRomeModel rome_model_73 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 0, .nLinks = 3,\n  .gpuIds = { 0xc1000, 0xc6000, 0xc9000, 0xce000, 0xd1000, 0xd6000, 0xd9000, 0xde000, },\n  .nicIds = { },\n  .gpuNuma = { 3, 3, 1, 1, 0, 0, 2, 2, },\n  .nicNuma = { },\n  .connMatrix = { 0, 4, 1, 0, 0, 0, 2, 0, 4, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 4, 2, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 4, 1, 0, 0, 1, 0, 0, 4, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 1, 0, 1, 4, 0, },\n  .gdrLevel = { },\n  .pattern = \"20202020\",\n  .ringBase = \"0 1 3 2 4 5 7 6|6 7 5 4 2 3 1 0|0 1 5 4 6 7 3 2|2 3 7 6 4 5 1 0\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_74 = {\n  .nGpus = 8, .nCpus = 4, .nNics = 4, .nLinks = 3,\n  .gpuIds = { 0xc1000, 0xc6000, 0xc9000, 0xce000, 0xd1000, 0xd6000, 0xd9000, 0xde000, },\n  .nicIds = { 0xc5000, 0xcd000, 0xd5000, 0xdd000, },\n  .gpuNuma = { 3, 3, 1, 1, 0, 0, 2, 2, },\n  .nicNuma = { 3, 1, 0, 2, },\n  .connMatrix = { 0, 4, 1, 0, 0, 0, 2, 0, 4, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 4, 2, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 4, 1, 0, 0, 1, 0, 0, 4, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 1, 0, 1, 4, 0, },\n  .gdrLevel = { PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, },\n  .pattern = \"21212121\",\n  .ringBase = \"N0 0 1 5 4 6 7 3 2 N1|N1 2 3 7 6 4 5 1 0 N0|N3 7 6 0 1 3 2 4 5 N2|N2 5 4 2 3 1 0 6 7 N3|N0 0 1 5 4 6 7 3 2 N1|N1 2 3 7 6 4 5 1 0 N0|N3 7 6 0 1 3 2 4 5 N2|N2 5 4 2 3 1 0 6 7 N3\",\n  .options = \"tuning=3\",\n};\n\nstatic struct rcclRomeModel rome_model_76 = {\n  .nGpus = 8, .nCpus = 2, .nNics = 8, .nLinks = 3,\n  .gpuIds = { 0x32000, 0x35000, 0x11000, 0x14000, 0xae000, 0xb3000, 0x8e000, 0x93000, },\n  .nicIds = { 0x26000, 0x2d000, 0x5000, 0xc000, 0xab000, 0xb4000, 0x8b000, 0x94000, },\n  .gpuNuma = { 1, 1, 1, 1, 3, 3, 3, 3, },\n  .nicNuma = { 1, 1, 1, 1, 3, 3, 3, 3, },\n  .connMatrix = { 0, 4, 1, 0, 0, 0, 2, 0, 4, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 4, 2, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 4, 1, 0, 0, 1, 0, 0, 4, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 1, 0, 1, 4, 0, },\n  .gdrLevel = { PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, },\n  .pattern = \"4444\",\n  .ringBase = \"N0 0 1 3 2 4 5 7 6 N6|N2 2 3 1 0 6 7 5 4 N4|N5 5 4 2 3 7 6 0 1 N1|N1 1 0 6 7 3 2 4 5 N5|N4 4 5 7 6 0 1 3 2 N2|N2 2 3 1 0 6 7 5 4 N4|N0 0 1 5 4 2 3 7 6 N6|N3 3 2 4 5 1 0 6 7 N7|N4 4 5 7 6 0 1 3 2 N2|N6 6 7 5 4 2 3 1 0 N0|N7 7 6 0 1 5 4 2 3 N3|N6 6 7 3 2 4 5 1 0 N0|N3 3 2 0 1 5 4 6 7 N7|N1 1 0 2 3 7 6 4 5 N5|N5 5 4 6 7 3 2 0 1 N1|N7 7 6 4 5 1 0 2 3 N3\",\n  .options = \"disableNumaMatching=1,tuning=3\",\n};\n\nstatic struct rcclRomeModel rome_model_79 = {\n  .nGpus = 8, .nCpus = 2, .nNics = 0, .nLinks = 7,\n  .gpuIds = { 0x1d000, 0x2e000, 0x3f000, 0x61000, 0x9f000, 0xaf000, 0xbf000, 0xdf000, },\n  .nicIds = { },\n  .gpuNuma = { 0, 0, 0, 0, 1, 1, 1, 1, },\n  .nicNuma = { },\n  .connMatrix = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, },\n  .gdrLevel = { },\n  .pattern = \"4040\",\n  .ringBase = \"0 1 2 3 4 5 6 7|0 1 2 3 4 5 7 6|0 2 4 1 3 6 5 7|0 2 4 6 1 7 3 5|0 3 1 5 2 7 4 6|0 3 5 1 6 2 7 4|0 4 1 7 3 6 2 5|7 6 5 4 3 2 1 0|6 7 5 4 3 2 1 0|7 5 6 3 1 4 2 0|5 3 7 1 6 4 2 0|6 4 7 2 5 1 3 0|4 7 2 6 1 5 3 0|5 2 6 3 7 1 4 0|0 1 2 3 4 5 6 7|0 1 2 3 4 5 7 6|0 2 4 1 3 6 5 7|0 2 4 6 1 7 3 5|0 3 1 5 2 7 4 6|0 3 5 1 6 2 7 4|0 4 1 7 3 6 2 5|7 6 5 4 3 2 1 0|6 7 5 4 3 2 1 0|7 5 6 3 1 4 2 0|5 3 7 1 6 4 2 0|6 4 7 2 5 1 3 0|4 7 2 6 1 5 3 0|5 2 6 3 7 1 4 0\",\n  .options = \"noCpuCheck=1,mscclEnabled=1,tuning=5,disableNumaMatching=1\",\n};\n\nstatic struct rcclRomeModel rome_model_80 = {\n  .nGpus = 4, .nCpus = 4, .nNics = 4, .nLinks = 3,\n  .gpuIds = { 0x82000, 0xc2000, 0x2000, 0x42000, },\n  .nicIds = { 0x81000, 0xc1000, 0x1000, 0x41000, },\n  .gpuNuma = { 2, 3, 0, 1, },\n  .nicNuma = { 2, 3, 0, 1, },\n  .connMatrix = { 0, 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, },\n  .gdrLevel = { PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, },\n  .pattern = \"11111111\",\n  .ringBase = \"N2 2 3 0 1 N1|N0 0 1 3 2 N2|N0 0 2 1 3 N3|N3 3 1 0 2 N2|N3 3 1 2 0 N0|N1 1 0 3 2 N2|N1 1 2 3 0 N0|N2 2 0 1 3 N3|N3 3 0 2 1 N1|N2 2 3 1 0 N0|N1 1 2 0 3 N3|N0 0 3 2 1 N1\",\n  .options = \"\",\n};\n\nstatic struct rcclRomeModel rome_model_81 = {\n  .nGpus = 8, .nCpus = 2, .nNics = 8, .nLinks = 7,\n  .gpuIds     = { 0xc000, 0x22000, 0x38000, 0x5c000, 0x9f000, 0xaf000, 0xbf000, 0xdf000, },\n  .nicIds     = { 0x7000, 0x1d000, 0x33000, 0x57000, 0x9a000, 0xaa000, 0xba000, 0xda000, },\n  .gpuNuma    = { 0, 0, 0, 0, 1, 1, 1, 1, },\n  .nicNuma    = { 0, 0, 0, 0, 1, 1, 1, 1, },\n  .connMatrix = { 0, 1, 1, 1, 1, 1, 1, 1,\n                  1, 0, 1, 1, 1, 1, 1, 1,\n                  1, 1, 0, 1, 1, 1, 1, 1,\n                  1, 1, 1, 0, 1, 1, 1, 1,\n                  1, 1, 1, 1, 0, 1, 1, 1,\n                  1, 1, 1, 1, 1, 0, 1, 1,\n                  1, 1, 1, 1, 1, 1, 0, 1,\n                  1, 1, 1, 1, 1, 1, 1, 0, },\n  .gdrLevel   = {PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS,\n                 PATH_PHB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS,\n                 PATH_PHB, PATH_PHB, PATH_PXB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS,\n                 PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS,\n                 PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB,\n                 PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PXB, PATH_PHB, PATH_PHB,\n                 PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PHB,\n                 PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, },\n  .pattern    = \"4444\",\n  .ringBase   = \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N2 2 5 0 3 6 1 7 4 N4|\"\n                \"N3 3 7 0 4 2 1 6 5 N5|\"\n                \"N4 4 6 2 7 3 0 5 1 N1|\"\n                \"N5 5 4 7 1 3 2 6 0 N0|\"\n                \"N6 6 3 1 4 0 7 5 2 N2|\"\n                \"N7 7 2 0 6 4 1 5 3 N3|\"\n\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N2 2 5 0 3 6 1 7 4 N4|\"\n                \"N3 3 7 0 4 2 1 6 5 N5|\"\n                \"N4 4 6 2 7 3 0 5 1 N1|\"\n                \"N5 5 4 7 1 3 2 6 0 N0|\"\n                \"N6 6 3 1 4 0 7 5 2 N2|\"\n                \"N7 7 2 0 6 4 1 5 3 N3|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n\n                \"N2 2 5 0 3 6 1 7 4 N4|\"\n                \"N3 3 7 0 4 2 1 6 5 N5|\"\n                \"N4 4 6 2 7 3 0 5 1 N1|\"\n                \"N5 5 4 7 1 3 2 6 0 N0|\"\n                \"N6 6 3 1 4 0 7 5 2 N2|\"\n                \"N7 7 2 0 6 4 1 5 3 N3|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n\n                \"N3 3 7 0 4 2 1 6 5 N5|\"\n                \"N4 4 6 2 7 3 0 5 1 N1|\"\n                \"N5 5 4 7 1 3 2 6 0 N0|\"\n                \"N6 6 3 1 4 0 7 5 2 N2|\"\n                \"N7 7 2 0 6 4 1 5 3 N3|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N2 2 5 0 3 6 1 7 4 N4|\"\n\n                \"N4 4 6 2 7 3 0 5 1 N1|\"\n                \"N5 5 4 7 1 3 2 6 0 N0|\"\n                \"N6 6 3 1 4 0 7 5 2 N2|\"\n                \"N7 7 2 0 6 4 1 5 3 N3|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N2 2 5 0 3 6 1 7 4 N4|\"\n                \"N3 3 7 0 4 2 1 6 5 N5|\"\n\n                \"N5 5 4 7 1 3 2 6 0 N0|\"\n                \"N6 6 3 1 4 0 7 5 2 N2|\"\n                \"N7 7 2 0 6 4 1 5 3 N3|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N2 2 5 0 3 6 1 7 4 N4|\"\n                \"N3 3 7 0 4 2 1 6 5 N5|\"\n                \"N4 4 6 2 7 3 0 5 1 N1|\"\n\n                \"N6 6 3 1 4 0 7 5 2 N2|\"\n                \"N7 7 2 0 6 4 1 5 3 N3|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N2 2 5 0 3 6 1 7 4 N4|\"\n                \"N3 3 7 0 4 2 1 6 5 N5|\"\n                \"N4 4 6 2 7 3 0 5 1 N1|\"\n                \"N5 5 4 7 1 3 2 6 0 N0|\"\n\n                \"N7 7 2 0 6 4 1 5 3 N3|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N2 2 5 0 3 6 1 7 4 N4|\"\n                \"N3 3 7 0 4 2 1 6 5 N5|\"\n                \"N4 4 6 2 7 3 0 5 1 N1|\"\n                \"N5 5 4 7 1 3 2 6 0 N0|\"\n                \"N6 6 3 1 4 0 7 5 2 N2|\",\n\n  .ringTail2  = \"N7 7 4 1 3 2 0 6 5 N5|\"\n                \"N6 6 3 0 7 5 1 4 2 N2|\"\n                \"N4 4 6 2 1 7 0 5 3 N3|\"\n                \"N5 5 2 7 3 1 6 0 4 N4|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N2 2 5 0 3 6 4 7 1 N1|\"\n                \"N3 3 7 2 6 1 5 4 0 N0|\"\n\n                \"N6 6 3 0 7 5 1 4 2 N2|\"\n                \"N4 4 6 2 1 7 0 5 3 N3|\"\n                \"N5 5 2 7 3 1 6 0 4 N4|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N2 2 5 0 3 6 4 7 1 N1|\"\n                \"N3 3 7 2 6 1 5 4 0 N0|\"\n                \"N7 7 4 1 3 2 0 6 5 N5|\"\n\n                \"N4 4 6 2 1 7 0 5 3 N3|\"\n                \"N5 5 2 7 3 1 6 0 4 N4|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N2 2 5 0 3 6 4 7 1 N1|\"\n                \"N3 3 7 2 6 1 5 4 0 N0|\"\n                \"N7 7 4 1 3 2 0 6 5 N5|\"\n                \"N6 6 3 0 7 5 1 4 2 N2|\"\n\n                \"N5 5 2 7 3 1 6 0 4 N4|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N2 2 5 0 3 6 4 7 1 N1|\"\n                \"N3 3 7 2 6 1 5 4 0 N0|\"\n                \"N7 7 4 1 3 2 0 6 5 N5|\"\n                \"N6 6 3 0 7 5 1 4 2 N2|\"\n                \"N4 4 6 2 1 7 0 5 3 N3|\"\n\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N2 2 5 0 3 6 4 7 1 N1|\"\n                \"N3 3 7 2 6 1 5 4 0 N0|\"\n                \"N7 7 4 1 3 2 0 6 5 N5|\"\n                \"N6 6 3 0 7 5 1 4 2 N2|\"\n                \"N4 4 6 2 1 7 0 5 3 N3|\"\n                \"N5 5 2 7 3 1 6 0 4 N4|\"\n\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N2 2 5 0 3 6 4 7 1 N1|\"\n                \"N3 3 7 2 6 1 5 4 0 N0|\"\n                \"N7 7 4 1 3 2 0 6 5 N5|\"\n                \"N6 6 3 0 7 5 1 4 2 N2|\"\n                \"N4 4 6 2 1 7 0 5 3 N3|\"\n                \"N5 5 2 7 3 1 6 0 4 N4|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n\n                \"N2 2 5 0 3 6 4 7 1 N1|\"\n                \"N3 3 7 2 6 1 5 4 0 N0|\"\n                \"N7 7 4 1 3 2 0 6 5 N5|\"\n                \"N6 6 3 0 7 5 1 4 2 N2|\"\n                \"N4 4 6 2 1 7 0 5 3 N3|\"\n                \"N5 5 2 7 3 1 6 0 4 N4|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n\n                \"N3 3 7 2 6 1 5 4 0 N0|\"\n                \"N7 7 4 1 3 2 0 6 5 N5|\"\n                \"N6 6 3 0 7 5 1 4 2 N2|\"\n                \"N4 4 6 2 1 7 0 5 3 N3|\"\n                \"N5 5 2 7 3 1 6 0 4 N4|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N2 2 5 0 3 6 4 7 1 N1|\",\n\n\n  .ringTail1  = \"N5 5 4 2 7 1 6 3 0 N0|\"\n                \"N2 2 5 0 3 7 4 6 1 N1|\"\n                \"N3 3 6 4 0 5 1 7 2 N2|\"\n                \"N4 4 7 0 6 5 2 1 3 N3|\"\n                \"N6 6 2 0 7 5 3 1 4 N4|\"\n                \"N7 7 3 2 6 0 4 1 5 N5|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n\n                \"N2 2 5 0 3 7 4 6 1 N1|\"\n                \"N3 3 6 4 0 5 1 7 2 N2|\"\n                \"N4 4 7 0 6 5 2 1 3 N3|\"\n                \"N6 6 2 0 7 5 3 1 4 N4|\"\n                \"N7 7 3 2 6 0 4 1 5 N5|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N5 5 4 2 7 1 6 3 0 N0|\"\n\n                \"N3 3 6 4 0 5 1 7 2 N2|\"\n                \"N4 4 7 0 6 5 2 1 3 N3|\"\n                \"N6 6 2 0 7 5 3 1 4 N4|\"\n                \"N7 7 3 2 6 0 4 1 5 N5|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N5 5 4 2 7 1 6 3 0 N0|\"\n                \"N2 2 5 0 3 7 4 6 1 N1|\"\n\n                \"N4 4 7 0 6 5 2 1 3 N3|\"\n                \"N6 6 2 0 7 5 3 1 4 N4|\"\n                \"N7 7 3 2 6 0 4 1 5 N5|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N5 5 4 2 7 1 6 3 0 N0|\"\n                \"N2 2 5 0 3 7 4 6 1 N1|\"\n                \"N3 3 6 4 0 5 1 7 2 N2|\"\n\n                \"N6 6 2 0 7 5 3 1 4 N4|\"\n                \"N7 7 3 2 6 0 4 1 5 N5|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N5 5 4 2 7 1 6 3 0 N0|\"\n                \"N2 2 5 0 3 7 4 6 1 N1|\"\n                \"N3 3 6 4 0 5 1 7 2 N2|\"\n                \"N4 4 7 0 6 5 2 1 3 N3|\"\n\n                \"N7 7 3 2 6 0 4 1 5 N5|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N5 5 4 2 7 1 6 3 0 N0|\"\n                \"N2 2 5 0 3 7 4 6 1 N1|\"\n                \"N3 3 6 4 0 5 1 7 2 N2|\"\n                \"N4 4 7 0 6 5 2 1 3 N3|\"\n                \"N6 6 2 0 7 5 3 1 4 N4|\"\n\n                \"N1 1 0 2 4 3 5 7 6 N6|\"\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N5 5 4 2 7 1 6 3 0 N0|\"\n                \"N2 2 5 0 3 7 4 6 1 N1|\"\n                \"N3 3 6 4 0 5 1 7 2 N2|\"\n                \"N4 4 7 0 6 5 2 1 3 N3|\"\n                \"N6 6 2 0 7 5 3 1 4 N4|\"\n                \"N7 7 3 2 6 0 4 1 5 N5|\"\n\n                \"N0 0 1 2 3 4 5 6 7 N7|\"\n                \"N5 5 4 2 7 1 6 3 0 N0|\"\n                \"N2 2 5 0 3 7 4 6 1 N1|\"\n                \"N3 3 6 4 0 5 1 7 2 N2|\"\n                \"N4 4 7 0 6 5 2 1 3 N3|\"\n                \"N6 6 2 0 7 5 3 1 4 N4|\"\n                \"N7 7 3 2 6 0 4 1 5 N5|\"\n                \"N1 1 0 2 4 3 5 7 6 N6|\",\n\n  .options    = \"noCpuCheck=1,tuning=5,ll128Enabled=1,disableNumaMatching=1\",\n\n  .treeRail   = \"N0 0 1 2 4 3 6 5 7 N1|\"\n                \"N1 1 0 4 7 3 5 2 6 N0|\"\n                \"N2 2 3 0 5 6 1 7 4 N3|\"\n                \"N3 3 2 7 0 6 4 1 5 N2|\"\n                \"N4 4 5 1 6 0 3 7 2 N5|\"\n                \"N5 5 4 6 2 0 7 1 3 N4|\"\n                \"N6 6 7 5 3 4 0 2 1 N7|\"\n                \"N7 7 6 3 1 4 2 5 0 N6|\"\n\n                \"N2 2 3 0 5 6 1 7 4 N3|\"\n                \"N3 3 2 7 0 6 4 1 5 N2|\"\n                \"N4 4 5 1 6 0 3 7 2 N5|\"\n                \"N5 5 4 6 2 0 7 1 3 N4|\"\n                \"N6 6 7 5 3 4 0 2 1 N7|\"\n                \"N7 7 6 3 1 4 2 5 0 N6|\"\n                \"N0 0 1 2 4 3 6 5 7 N1|\"\n                \"N1 1 0 4 7 3 5 2 6 N0|\"\n\n                \"N4 4 5 1 6 0 3 7 2 N5|\"\n                \"N5 5 4 6 2 0 7 1 3 N4|\"\n                \"N6 6 7 5 3 4 0 2 1 N7|\"\n                \"N7 7 6 3 1 4 2 5 0 N6|\"\n                \"N0 0 1 2 4 3 6 5 7 N1|\"\n                \"N1 1 0 4 7 3 5 2 6 N0|\"\n                \"N2 2 3 0 5 6 1 7 4 N3|\"\n                \"N3 3 2 7 0 6 4 1 5 N2|\"\n\n                \"N6 6 7 5 3 4 0 2 1 N7|\"\n                \"N7 7 6 3 1 4 2 5 0 N6|\"\n                \"N0 0 1 2 4 3 6 5 7 N1|\"\n                \"N1 1 0 4 7 3 5 2 6 N0|\"\n                \"N2 2 3 0 5 6 1 7 4 N3|\"\n                \"N3 3 2 7 0 6 4 1 5 N2|\"\n                \"N4 4 5 1 6 0 3 7 2 N5|\"\n                \"N5 5 4 6 2 0 7 1 3 N4|\"\n\n                \"N0 0 1 2 4 3 6 5 7 N1|\"\n                \"N1 1 0 4 7 3 5 2 6 N0|\"\n                \"N2 2 3 0 5 6 1 7 4 N3|\"\n                \"N3 3 2 7 0 6 4 1 5 N2|\"\n                \"N4 4 5 1 6 0 3 7 2 N5|\"\n                \"N5 5 4 6 2 0 7 1 3 N4|\"\n                \"N6 6 7 5 3 4 0 2 1 N7|\"\n                \"N7 7 6 3 1 4 2 5 0 N6|\"\n\n                \"N2 2 3 0 5 6 1 7 4 N3|\"\n                \"N3 3 2 7 0 6 4 1 5 N2|\"\n                \"N4 4 5 1 6 0 3 7 2 N5|\"\n                \"N5 5 4 6 2 0 7 1 3 N4|\"\n                \"N6 6 7 5 3 4 0 2 1 N7|\"\n                \"N7 7 6 3 1 4 2 5 0 N6|\"\n                \"N0 0 1 2 4 3 6 5 7 N1|\"\n                \"N1 1 0 4 7 3 5 2 6 N0|\"\n\n                \"N4 4 5 1 6 0 3 7 2 N5|\"\n                \"N5 5 4 6 2 0 7 1 3 N4|\"\n                \"N6 6 7 5 3 4 0 2 1 N7|\"\n                \"N7 7 6 3 1 4 2 5 0 N6|\"\n                \"N0 0 1 2 4 3 6 5 7 N1|\"\n                \"N1 1 0 4 7 3 5 2 6 N0|\"\n                \"N2 2 3 0 5 6 1 7 4 N3|\"\n                \"N3 3 2 7 0 6 4 1 5 N2|\"\n\n                \"N6 6 7 5 3 4 0 2 1 N7|\"\n                \"N7 7 6 3 1 4 2 5 0 N6|\"\n                \"N0 0 1 2 4 3 6 5 7 N1|\"\n                \"N1 1 0 4 7 3 5 2 6 N0|\"\n                \"N2 2 3 0 5 6 1 7 4 N3|\"\n                \"N3 3 2 7 0 6 4 1 5 N2|\"\n                \"N4 4 5 1 6 0 3 7 2 N5|\"\n                \"N5 5 4 6 2 0 7 1 3 N4|\",\n};\n\nstatic struct rcclRomeModel rome_model_84 = {\n  .nGpus = 8, .nCpus = 2, .nNics = 16, .nLinks = 7,\n  .gpuIds = { 0x11000, 0x2f000, 0x46000, 0x5d000, 0x8b000, 0xaa000, 0xc2000, 0xda000, },\n  .nicIds = { 0xc000, 0xc000, 0x2a000, 0x2a000, 0x41000, 0x41000, 0x58000, 0x58000, 0x86000, 0x86000, 0xa5000, 0xa5000, 0xbd000, 0xbd000, 0xd5000, 0xd5000, },\n  .gpuNuma = { 0, 0, 0, 0, 1, 1, 1, 1, },\n  .nicNuma = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, },\n  .connMatrix = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, },\n  .gdrLevel = { PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, },\n  .pattern = \"4848\",\n  .ringBase = \"N0 0 1 2 3 4 5 6 7 N14|N2 1 0 2 4 3 5 7 6 N12|N4 2 5 0 3 7 1 6 4 N8|N6 3 6 1 5 2 7 4 0 N0|N8 4 7 0 6 5 1 3 2 N4|N10 5 4 6 3 0 7 2 1 N2|N12 6 2 0 4 1 7 5 3 N6|N14 7 3 1 4 2 6 0 5 N10|N1 0 1 2 3 4 5 6 7 N15|N3 1 0 2 4 3 5 7 6 N13|N5 2 5 0 3 7 1 6 4 N9|N7 3 6 1 5 2 7 4 0 N1|N9 4 7 0 6 5 1 3 2 N5|N11 5 4 6 3 0 7 2 1 N3|N13 6 2 0 4 1 7 5 3 N7|N15 7 3 1 4 2 6 0 5 N11\",\n  .options = \"noCpuCheck=1,tuning=5\",\n};\n\nstatic struct rcclRomeModel rome_model_85 = {\n  .nGpus = 8, .nCpus = 2, .nNics = 4, .nLinks = 3,\n  .gpuIds = { 0x32000, 0x35000, 0x11000, 0x14000, 0xae000, 0xb3000, 0x8e000, 0x93000, },\n  .nicIds = { 0x2d000, 0x5000, 0xab000, 0x94000, },\n  .gpuNuma = { 0, 0, 0, 0, 1, 1, 1, 1, },\n  .nicNuma = { 0, 0, 1, 1, },\n  .connMatrix = { 0, 4, 1, 0, 0, 0, 2, 0, 4, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 4, 2, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 4, 1, 0, 0, 1, 0, 0, 4, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 1, 0, 1, 4, 0, },\n  .gdrLevel = { PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PXB, },\n  .pattern = \"4242\",\n  .ringBase = \"N0 0 1 3 2 4 5 7 6 N3|N1 2 3 1 0 6 7 5 4 N2|N3 7 6 0 1 5 4 2 3 N1|N0 1 0 6 7 3 2 4 5 N2|N2 4 5 7 6 0 1 3 2 N1|N3 6 7 5 4 2 3 1 0 N0|N2 5 4 2 3 7 6 0 1 N0|N1 3 2 4 5 1 0 6 7 N3\",\n  .options = \"tuning=2\",\n};\n\nstatic struct rcclRomeModel rome_model_87 = {\n  .nGpus = 8, .nCpus = 2, .nNics = 4, .nLinks = 7,\n  .gpuIds = { 0xa000, 0x80000, 0xa4000, 0xc8000, 0x10b000, 0x181000, 0x1a5000, 0x1c9000, },\n  .nicIds = { 0xc9000, 0x1a2000, 0x108000, 0x81000, },\n  .gpuNuma = { 0, 0, 0, 0, 1, 1, 1, 1, },\n  .nicNuma = { 0, 1, 1, 0, },\n  .connMatrix = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, },\n  .gdrLevel = { PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, PATH_PXB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PHB, PATH_PXB, PATH_PHB, PATH_PHB, PATH_SYS, PATH_SYS, PATH_SYS, PATH_SYS, },\n  .pattern = \"4242\",\n  .ringBase = \"N3 0 1 2 3 4 5 6 7 N1|\"\n              \"N3 1 0 2 4 3 5 7 6 N1|\"\n              \"N0 2 5 0 3 6 1 7 4 N2|\"\n              \"N0 3 7 0 4 2 1 6 5 N2|\"\n              \"N2 4 6 2 7 3 0 5 1 N3|\"\n              \"N2 5 4 7 1 3 2 6 0 N3|\"\n              \"N1 6 3 1 4 0 7 5 2 N0|\"\n              \"N1 7 2 0 6 4 1 5 3 N0|\"\n\n              \"N3 1 0 2 4 3 5 7 6 N1|\"\n              \"N0 2 5 0 3 6 1 7 4 N2|\"\n              \"N0 3 7 0 4 2 1 6 5 N2|\"\n              \"N2 4 6 2 7 3 0 5 1 N3|\"\n              \"N2 5 4 7 1 3 2 6 0 N3|\"\n              \"N1 6 3 1 4 0 7 5 2 N0|\"\n              \"N1 7 2 0 6 4 1 5 3 N0|\"\n              \"N3 0 1 2 3 4 5 6 7 N1|\"\n\n              \"N0 2 5 0 3 6 1 7 4 N2|\"\n              \"N0 3 7 0 4 2 1 6 5 N2|\"\n              \"N2 4 6 2 7 3 0 5 1 N3|\"\n              \"N2 5 4 7 1 3 2 6 0 N3|\"\n              \"N1 6 3 1 4 0 7 5 2 N0|\"\n              \"N1 7 2 0 6 4 1 5 3 N0|\"\n              \"N3 0 1 2 3 4 5 6 7 N1|\"\n              \"N3 1 0 2 4 3 5 7 6 N1|\"\n\n              \"N0 3 7 0 4 2 1 6 5 N2|\"\n              \"N2 4 6 2 7 3 0 5 1 N3|\"\n              \"N2 5 4 7 1 3 2 6 0 N3|\"\n              \"N1 6 3 1 4 0 7 5 2 N0|\"\n              \"N1 7 2 0 6 4 1 5 3 N0|\"\n              \"N3 0 1 2 3 4 5 6 7 N1|\"\n              \"N3 1 0 2 4 3 5 7 6 N1|\"\n              \"N0 2 5 0 3 6 1 7 4 N2|\"\n\n              \"N2 4 6 2 7 3 0 5 1 N3|\"\n              \"N2 5 4 7 1 3 2 6 0 N3|\"\n              \"N1 6 3 1 4 0 7 5 2 N0|\"\n              \"N1 7 2 0 6 4 1 5 3 N0|\"\n              \"N3 0 1 2 3 4 5 6 7 N1|\"\n              \"N3 1 0 2 4 3 5 7 6 N1|\"\n              \"N0 2 5 0 3 6 1 7 4 N2|\"\n              \"N0 3 7 0 4 2 1 6 5 N2|\"\n\n              \"N2 5 4 7 1 3 2 6 0 N3|\"\n              \"N1 6 3 1 4 0 7 5 2 N0|\"\n              \"N1 7 2 0 6 4 1 5 3 N0|\"\n              \"N3 0 1 2 3 4 5 6 7 N1|\"\n              \"N3 1 0 2 4 3 5 7 6 N1|\"\n              \"N0 2 5 0 3 6 1 7 4 N2|\"\n              \"N0 3 7 0 4 2 1 6 5 N2|\"\n              \"N2 4 6 2 7 3 0 5 1 N3|\"\n\n              \"N1 6 3 1 4 0 7 5 2 N0|\"\n              \"N1 7 2 0 6 4 1 5 3 N0|\"\n              \"N3 0 1 2 3 4 5 6 7 N1|\"\n              \"N3 1 0 2 4 3 5 7 6 N1|\"\n              \"N0 2 5 0 3 6 1 7 4 N2|\"\n              \"N0 3 7 0 4 2 1 6 5 N2|\"\n              \"N2 4 6 2 7 3 0 5 1 N3|\"\n              \"N2 5 4 7 1 3 2 6 0 N3|\"\n\n              \"N1 7 2 0 6 4 1 5 3 N0|\"\n              \"N3 0 1 2 3 4 5 6 7 N1|\"\n              \"N3 1 0 2 4 3 5 7 6 N1|\"\n              \"N0 2 5 0 3 6 1 7 4 N2|\"\n              \"N0 3 7 0 4 2 1 6 5 N2|\"\n              \"N2 4 6 2 7 3 0 5 1 N3|\"\n              \"N2 5 4 7 1 3 2 6 0 N3|\"\n              \"N1 6 3 1 4 0 7 5 2 N0|\",\n\n  .ringTail2 = \"N1 6 3 1 4 0 7 5 2 N0|\"\n               \"N1 7 2 0 6 4 1 5 3 N0|\"\n               \"N2 4 6 2 7 3 0 5 1 N3|\"\n               \"N2 5 4 7 1 3 2 6 0 N3|\"\n               \"N3 0 1 2 3 4 5 6 7 N1|\"\n               \"N3 1 0 2 4 3 5 7 6 N1|\"\n               \"N0 2 5 0 3 6 1 7 4 N2|\"\n               \"N0 3 7 0 4 2 1 6 5 N2|\"\n\n               \"N1 7 2 0 6 4 1 5 3 N0|\"\n               \"N2 4 6 2 7 3 0 5 1 N3|\"\n               \"N2 5 4 7 1 3 2 6 0 N3|\"\n               \"N3 0 1 2 3 4 5 6 7 N1|\"\n               \"N3 1 0 2 4 3 5 7 6 N1|\"\n               \"N0 2 5 0 3 6 1 7 4 N2|\"\n               \"N0 3 7 0 4 2 1 6 5 N2|\"\n               \"N1 6 3 1 4 0 7 5 2 N0|\"\n\n               \"N2 4 6 2 7 3 0 5 1 N3|\"\n               \"N2 5 4 7 1 3 2 6 0 N3|\"\n               \"N3 0 1 2 3 4 5 6 7 N1|\"\n               \"N3 1 0 2 4 3 5 7 6 N1|\"\n               \"N0 2 5 0 3 6 1 7 4 N2|\"\n               \"N0 3 7 0 4 2 1 6 5 N2|\"\n               \"N1 6 3 1 4 0 7 5 2 N0|\"\n               \"N1 7 2 0 6 4 1 5 3 N0|\"\n\n               \"N2 5 4 7 1 3 2 6 0 N3|\"\n               \"N3 0 1 2 3 4 5 6 7 N1|\"\n               \"N3 1 0 2 4 3 5 7 6 N1|\"\n               \"N0 2 5 0 3 6 1 7 4 N2|\"\n               \"N0 3 7 0 4 2 1 6 5 N2|\"\n               \"N1 6 3 1 4 0 7 5 2 N0|\"\n               \"N1 7 2 0 6 4 1 5 3 N0|\"\n               \"N2 4 6 2 7 3 0 5 1 N3|\"\n\n               \"N3 0 1 2 3 4 5 6 7 N1|\"\n               \"N3 1 0 2 4 3 5 7 6 N1|\"\n               \"N0 2 5 0 3 6 1 7 4 N2|\"\n               \"N0 3 7 0 4 2 1 6 5 N2|\"\n               \"N1 6 3 1 4 0 7 5 2 N0|\"\n               \"N1 7 2 0 6 4 1 5 3 N0|\"\n               \"N2 4 6 2 7 3 0 5 1 N3|\"\n               \"N2 5 4 7 1 3 2 6 0 N3|\"\n\n               \"N3 1 0 2 4 3 5 7 6 N1|\"\n               \"N0 2 5 0 3 6 1 7 4 N2|\"\n               \"N0 3 7 0 4 2 1 6 5 N2|\"\n               \"N1 6 3 1 4 0 7 5 2 N0|\"\n               \"N1 7 2 0 6 4 1 5 3 N0|\"\n               \"N2 4 6 2 7 3 0 5 1 N3|\"\n               \"N2 5 4 7 1 3 2 6 0 N3|\"\n               \"N3 0 1 2 3 4 5 6 7 N1|\"\n\n               \"N0 2 5 0 3 6 1 7 4 N2|\"\n               \"N0 3 7 0 4 2 1 6 5 N2|\"\n               \"N1 6 3 1 4 0 7 5 2 N0|\"\n               \"N1 7 2 0 6 4 1 5 3 N0|\"\n               \"N2 4 6 2 7 3 0 5 1 N3|\"\n               \"N2 5 4 7 1 3 2 6 0 N3|\"\n               \"N3 0 1 2 3 4 5 6 7 N1|\"\n               \"N3 1 0 2 4 3 5 7 6 N1|\"\n\n               \"N0 3 7 0 4 2 1 6 5 N2|\"\n               \"N1 6 3 1 4 0 7 5 2 N0|\"\n               \"N1 7 2 0 6 4 1 5 3 N0|\"\n               \"N2 4 6 2 7 3 0 5 1 N3|\"\n               \"N2 5 4 7 1 3 2 6 0 N3|\"\n               \"N3 0 1 2 3 4 5 6 7 N1|\"\n               \"N3 1 0 2 4 3 5 7 6 N1|\"\n               \"N0 2 5 0 3 6 1 7 4 N2|\",\n\n  .ringTail1 = \"N0 2 1 3 4 5 6 7 0 N3|\"\n               \"N0 3 0 2 4 6 5 7 1 N3|\"\n               \"N3 0 1 4 7 5 3 6 2 N0|\"\n               \"N3 1 0 5 2 7 6 4 3 N0|\"\n               \"N1 6 1 2 3 5 0 7 4 N2|\"\n               \"N1 7 3 2 6 0 4 1 5 N2|\"\n               \"N2 4 0 3 7 2 5 1 6 N1|\"\n               \"N2 5 4 2 0 6 3 1 7 N1|\"\n\n               \"N0 3 0 2 4 6 5 7 1 N3|\"\n               \"N3 0 1 4 7 5 3 6 2 N0|\"\n               \"N3 1 0 5 2 7 6 4 3 N0|\"\n               \"N1 6 1 2 3 5 0 7 4 N2|\"\n               \"N1 7 3 2 6 0 4 1 5 N2|\"\n               \"N2 4 0 3 7 2 5 1 6 N1|\"\n               \"N2 5 4 2 0 6 3 1 7 N1|\"\n               \"N0 2 1 3 4 5 6 7 0 N3|\"\n\n               \"N3 0 1 4 7 5 3 6 2 N0|\"\n               \"N3 1 0 5 2 7 6 4 3 N0|\"\n               \"N1 6 1 2 3 5 0 7 4 N2|\"\n               \"N1 7 3 2 6 0 4 1 5 N2|\"\n               \"N2 4 0 3 7 2 5 1 6 N1|\"\n               \"N2 5 4 2 0 6 3 1 7 N1|\"\n               \"N0 2 1 3 4 5 6 7 0 N3|\"\n               \"N0 3 0 2 4 6 5 7 1 N3|\"\n\n               \"N3 1 0 5 2 7 6 4 3 N0|\"\n               \"N1 6 1 2 3 5 0 7 4 N2|\"\n               \"N1 7 3 2 6 0 4 1 5 N2|\"\n               \"N2 4 0 3 7 2 5 1 6 N1|\"\n               \"N2 5 4 2 0 6 3 1 7 N1|\"\n               \"N0 2 1 3 4 5 6 7 0 N3|\"\n               \"N0 3 0 2 4 6 5 7 1 N3|\"\n               \"N3 0 1 4 7 5 3 6 2 N0|\"\n\n               \"N1 6 1 2 3 5 0 7 4 N2|\"\n               \"N1 7 3 2 6 0 4 1 5 N2|\"\n               \"N2 4 0 3 7 2 5 1 6 N1|\"\n               \"N2 5 4 2 0 6 3 1 7 N1|\"\n               \"N0 2 1 3 4 5 6 7 0 N3|\"\n               \"N0 3 0 2 4 6 5 7 1 N3|\"\n               \"N3 0 1 4 7 5 3 6 2 N0|\"\n               \"N3 1 0 5 2 7 6 4 3 N0|\"\n\n               \"N1 7 3 2 6 0 4 1 5 N2|\"\n               \"N2 4 0 3 7 2 5 1 6 N1|\"\n               \"N2 5 4 2 0 6 3 1 7 N1|\"\n               \"N0 2 1 3 4 5 6 7 0 N3|\"\n               \"N0 3 0 2 4 6 5 7 1 N3|\"\n               \"N3 0 1 4 7 5 3 6 2 N0|\"\n               \"N3 1 0 5 2 7 6 4 3 N0|\"\n               \"N1 6 1 2 3 5 0 7 4 N2|\"\n\n               \"N2 4 0 3 7 2 5 1 6 N1|\"\n               \"N2 5 4 2 0 6 3 1 7 N1|\"\n               \"N0 2 1 3 4 5 6 7 0 N3|\"\n               \"N0 3 0 2 4 6 5 7 1 N3|\"\n               \"N3 0 1 4 7 5 3 6 2 N0|\"\n               \"N3 1 0 5 2 7 6 4 3 N0|\"\n               \"N1 6 1 2 3 5 0 7 4 N2|\"\n               \"N1 7 3 2 6 0 4 1 5 N2|\"\n\n               \"N2 5 4 2 0 6 3 1 7 N1|\"\n               \"N0 2 1 3 4 5 6 7 0 N3|\"\n               \"N0 3 0 2 4 6 5 7 1 N3|\"\n               \"N3 0 1 4 7 5 3 6 2 N0|\"\n               \"N3 1 0 5 2 7 6 4 3 N0|\"\n               \"N1 6 1 2 3 5 0 7 4 N2|\"\n               \"N1 7 3 2 6 0 4 1 5 N2|\"\n               \"N2 4 0 3 7 2 5 1 6 N1|\",\n\n  .options = \"noCpuCheck=1,netOverride=1,tuning=5,ll128Enabled=1\",\n\n  .treeRail =  \"N3 0 1 2 4 3 6 5 7 N1|\"\n               \"N3 1 0 4 7 3 5 2 6 N1|\"\n               \"N0 2 3 0 5 6 1 7 4 N2|\"\n               \"N0 3 2 7 0 6 4 1 5 N2|\"\n               \"N2 4 5 1 6 0 3 7 2 N3|\"\n               \"N2 5 4 6 2 0 7 1 3 N3|\"\n               \"N1 6 7 5 3 4 0 2 1 N0|\"\n               \"N1 7 6 3 1 4 2 5 0 N0|\"\n\n               \"N0 2 3 0 5 6 1 7 4 N2|\"\n               \"N0 3 2 7 0 6 4 1 5 N2|\"\n               \"N2 4 5 1 6 0 3 7 2 N3|\"\n               \"N2 5 4 6 2 0 7 1 3 N3|\"\n               \"N1 6 7 5 3 4 0 2 1 N0|\"\n               \"N1 7 6 3 1 4 2 5 0 N0|\"\n               \"N3 0 1 2 4 3 6 5 7 N1|\"\n               \"N3 1 0 4 7 3 5 2 6 N1|\"\n\n               \"N2 4 5 1 6 0 3 7 2 N3|\"\n               \"N2 5 4 6 2 0 7 1 3 N3|\"\n               \"N1 6 7 5 3 4 0 2 1 N0|\"\n               \"N1 7 6 3 1 4 2 5 0 N0|\"\n               \"N3 0 1 2 4 3 6 5 7 N1|\"\n               \"N3 1 0 4 7 3 5 2 6 N1|\"\n               \"N0 2 3 0 5 6 1 7 4 N2|\"\n               \"N0 3 2 7 0 6 4 1 5 N2|\"\n\n               \"N1 6 7 5 3 4 0 2 1 N0|\"\n               \"N1 7 6 3 1 4 2 5 0 N0|\"\n               \"N3 0 1 2 4 3 6 5 7 N1|\"\n               \"N3 1 0 4 7 3 5 2 6 N1|\"\n               \"N0 2 3 0 5 6 1 7 4 N2|\"\n               \"N0 3 2 7 0 6 4 1 5 N2|\"\n               \"N2 4 5 1 6 0 3 7 2 N3|\"\n               \"N2 5 4 6 2 0 7 1 3 N3|\"\n\n               \"N3 0 1 2 4 3 6 5 7 N1|\"\n               \"N3 1 0 4 7 3 5 2 6 N1|\"\n               \"N0 2 3 0 5 6 1 7 4 N2|\"\n               \"N0 3 2 7 0 6 4 1 5 N2|\"\n               \"N2 4 5 1 6 0 3 7 2 N3|\"\n               \"N2 5 4 6 2 0 7 1 3 N3|\"\n               \"N1 6 7 5 3 4 0 2 1 N0|\"\n               \"N1 7 6 3 1 4 2 5 0 N0|\"\n\n               \"N0 2 3 0 5 6 1 7 4 N2|\"\n               \"N0 3 2 7 0 6 4 1 5 N2|\"\n               \"N2 4 5 1 6 0 3 7 2 N3|\"\n               \"N2 5 4 6 2 0 7 1 3 N3|\"\n               \"N1 6 7 5 3 4 0 2 1 N0|\"\n               \"N1 7 6 3 1 4 2 5 0 N0|\"\n               \"N3 0 1 2 4 3 6 5 7 N1|\"\n               \"N3 1 0 4 7 3 5 2 6 N1|\"\n\n               \"N2 4 5 1 6 0 3 7 2 N3|\"\n               \"N2 5 4 6 2 0 7 1 3 N3|\"\n               \"N1 6 7 5 3 4 0 2 1 N0|\"\n               \"N1 7 6 3 1 4 2 5 0 N0|\"\n               \"N3 0 1 2 4 3 6 5 7 N1|\"\n               \"N3 1 0 4 7 3 5 2 6 N1|\"\n               \"N0 2 3 0 5 6 1 7 4 N2|\"\n               \"N0 3 2 7 0 6 4 1 5 N2|\"\n\n               \"N1 6 7 5 3 4 0 2 1 N0|\"\n               \"N1 7 6 3 1 4 2 5 0 N0|\"\n               \"N3 0 1 2 4 3 6 5 7 N1|\"\n               \"N3 1 0 4 7 3 5 2 6 N1|\"\n               \"N0 2 3 0 5 6 1 7 4 N2|\"\n               \"N0 3 2 7 0 6 4 1 5 N2|\"\n               \"N2 4 5 1 6 0 3 7 2 N3|\"\n               \"N2 5 4 6 2 0 7 1 3 N3|\",\n};\n\nstatic struct rcclRomeModel romeTopoModels[] = {\n  rome_model_22, /*  0 */\n  rome_model_25, /*  1 */\n  rome_model_27, /*  2 */\n  rome_model_29, /*  3 */\n  rome_model_31, /*  4 */\n  rome_model_33, /*  5 */\n  rome_model_30, /*  6 */\n  rome_model_32, /*  7 */\n  rome_model_24, /*  8 */\n  rome_model_26, /*  9 */\n  rome_model_23, /* 10 */\n  rome_model_38, /* 11 */\n  rome_model_28, /* 12 */\n  rome_model_40, /* 13 */\n  rome_model_42, /* 14 */\n  rome_model_44, /* 15 */\n  rome_model_45, /* 16 */\n  rome_model_46, /* 17 */\n  rome_model_48, /* 18 */\n  rome_model_49, /* 19 */\n  rome_model_52, /* 20 */\n  rome_model_53, /* 21 */\n  rome_model_43, /* 22 */\n  rome_model_55, /* 23 */\n  rome_model_56, /* 24 */\n  rome_model_58, /* 25 */\n  rome_model_59, /* 26 */\n  rome_model_62, /* 27 */\n  rome_model_63, /* 28 */\n  rome_model_65, /* 29 */\n  rome_model_66, /* 30 */\n  rome_model_67, /* 31 */\n  rome_model_68, /* 32 */\n  rome_model_71, /* 33 */\n  rome_model_72, /* 34 */\n  rome_model_73, /* 35 */\n  rome_model_74, /* 36 */\n  rome_model_76, /* 37 */\n  rome_model_79, /* 38 */\n  rome_model_80, /* 39 */\n  rome_model_81, /* 40 */\n  rome_model_84, /* 41 */\n  rome_model_85, /* 42 */\n  rome_model_87, /* 43 */\n};\n\n// This environment variable allows disabling of the reversal the graph parsing\nRCCL_PARAM(ModelReversalDisable, \"MODEL_REVERSAL_DISABLE\", 0);\n\n/* Parse user defined rings. Format is like :\n * \"0 1|1 0|0 1 2 3|3 2 1 0|N0 0 2 3 1 N1|1 3 2 0|0 1 2 3 4 5 6 7|N2 7 6 5 4 3 2 1 0 N1\"\n * GPUs are numberd from 0 to ngpus, represening GPU-index for the current communicator\n * gpu_map translates between GPU-index and rocm-smi index\n * Network interfaces can be optionally specified by N prefix.\n * Rings with a non-matching number of gpus are ignored so we can provide\n * rings for multiple cases.\n */\nncclResult_t parseGraph(const char* str, struct ncclTopoSystem* system, struct ncclTopoGraph* graph, int* gpu_map, int* net_map, int reverse) {\n  int gpus[NCCL_TOPO_MAX_NODES];\n  int nChannels = 0;\n  int gpu = 0;\n  int offset = 0;\n  int status = 0; // 0 : between numbers, 1 : inside number, 2: start NET, 3: inside NET\n  int nets[NCCL_TOPO_MAX_NODES*2];\n  int net_offset = 0, net_count = 0;\n  int ngpus = system->nodes[GPU].count;\n  int nnets = system->nodes[NET].count;\n\n  if (rcclParamModelReversalDisable()) reverse = 0;\n\n  do {\n    if (str[offset] == 'N') {\n      if (status == 0) {\n        status = 2;\n      }\n    } else {\n      int digit = str[offset] - '0';\n      if (digit >= 0 && digit <= 9) {\n        switch (status) {\n          case 0:\n            gpus[gpu] = digit;\n            status = 1;\n            break;\n          case 1:\n            gpus[gpu] = gpus[gpu]*10+digit;\n            break;\n          case 2:\n            nets[net_offset] = digit+'N';\n            status = 3;\n            break;\n          case 3:\n            nets[net_offset] = (nets[net_offset]-'N')*10+digit+'N';\n            break;\n        }\n      } else {\n        if (status == 1) {\n          gpu++;\n          net_offset = 2*gpu-1;\n          if (gpu > NCCL_TOPO_MAX_NODES) goto end;\n        } else if (status == 2 || status == 3) {\n          net_offset++;\n          net_count++;\n          if (net_offset > ngpus*2) goto end;\n        }\n        status = 0;\n        if (str[offset] == '|' || str[offset] == '\\0') {\n          // Ignore if ngpus doesn't match\n          if (gpu != ngpus) goto newchannel;\n          // Ignore if net_count is not 0 or odd number\n          if (net_count && net_count%2) goto newchannel;\n\n          for (int r=0; r<ngpus; r++) {\n            int g = gpus[r];\n            // Ignore if gpus are out of bounds\n            if (g < 0 || g >= ngpus) goto newchannel;\n            // Ignore if gpus are duplicate\n            for (int i=0; i<r; i++)\n              if (gpus[i] == g) goto newchannel;\n            // find rocm-smi id if needed\n            if (gpu_map) g = gpu_map[g];\n            // Translate gpu numbers into ranks\n            int j = 0;\n            for (j = 0; j < ngpus; j++)\n              if (g == system->nodes[GPU].nodes[j].gpu.dev)\n                break;\n            if (j < ngpus) {\n              int idx = (nChannels*ngpus) + (reverse ? ngpus - 1 - r : r);\n              graph->intra[idx] = system->nodes[GPU].nodes[j].gpu.rank;\n            }\n            else\n              return ncclInternalError;\n          }\n\n          if (net_count) {\n            for (int i = 0; net_map && i < ngpus*2; i++) {\n              if (nets[i]-'N' < 0 || nets[i]-'N' >= nnets) continue;\n              nets[i] = net_map[nets[i]-'N']+'N';\n            }\n            // Swap input/output NICs if reversed\n            if (reverse) {\n              int t = nets[0];\n              nets[0] = nets[ngpus*2-1];\n              nets[ngpus*2-1] = t;\n            }\n            memcpy(&graph->intraNets[ngpus*nChannels*2], nets, ngpus*2*sizeof(int));\n            graph->nIntraChannels++;\n            if (nets[0]-'N' >= nnets || nets[ngpus*2-1]-'N' >= nnets) goto newchannel;\n            graph->inter[nChannels*2] = nets[0]-'N';\n            graph->inter[nChannels*2+1] = nets[ngpus*2-1]-'N';\n          } else if (nnets) {\n            graph->inter[nChannels*2] = system->nodes[NET].nodes[nChannels%nnets].id;\n            graph->inter[nChannels*2+1] = system->nodes[NET].nodes[(nChannels+1)%nnets].id;\n          }\n          nChannels++;\nnewchannel:\n          gpu = 0;\n          net_offset = 0;\n          net_count = 0;\n        }\n      }\n    }\n  } while (str[offset++] != 0);\nend:\n  graph->nChannels = nChannels;\n  graph->bwIntra = graph->bwInter = system->totalBw/nChannels;\n  if (graph->id == 1) {\n    for (int i=0; i<graph->nChannels; i++) {\n      int64_t netId;\n      ncclTopoGetLocalNet(system, graph->intra[i*ngpus+1], i, &netId, nullptr);\n      graph->inter[i*2+1] = netId;\n    }\n  }\n\n#if 0\n  for (int i=0; i<graph->nChannels; i++) {\n    printf(\"Channel %02d: \", i);\n    printf (\"NET/%02d \", graph->inter[i*2]);\n    for (int j=0; j<ngpus; j++) printf(\"GPU/%02d \", graph->intra[i*ngpus+j]);\n    printf (\"NET/%d \", graph->inter[i*2+1]);\n    printf(\"\\n\");\n  }\n#endif\n  return ncclSuccess;\n}\n\n\n/* Parse user defined treeBase for complicated trees. Format is like :\n * \"(4(2(3)(1))(6(5)))\"\n *\n * Rings with a non-matching number of gpus are ignored so we can provide\n * rings for multiple cases.\n */\nncclResult_t parseGraphLight(const char* str, struct ncclTopoSystem* system, struct ncclTopoGraph* graph, int* gpu_map) {\n  int gpus[NCCL_TOPO_MAX_NODES]; //transcribe/change according to gpu_map\n  int gpu = 0;\n  int offset = 0;\n  int start_offset = offset;\n  if (str[0] == 0) {\n    graph->treeBase[0][0] = 0;\n    return ncclSuccess;\n  }\n  int status = 0; // 0 : between numbers, 1 : inside number\n  int ngpus = system->nodes[GPU].count;\n  int x=0;\n  do {\n    int digit = str[offset] - '0';\n    if (digit >= 0 && digit <= 9) {\n      switch (status) {\n        case 0:\n          gpus[gpu] = digit;\n          status = 1;\n          break;\n        case 1:\n          gpus[gpu] = gpus[gpu]*10+digit;\n          break;\n      }\n    } else {\n      if (status == 1) {\n        gpu++;\n      }\n      status = 0;\n      if (str[offset] == '|' || str[offset] == 0) {\n        int r = 0, y = 0;\n        while(start_offset < offset) {\n        // for (int r=0; r<gpu; r++) {\n          if (str[start_offset] == '(' || str[start_offset] == ')') {\n            graph->treeBase[x][y] = str[start_offset];\n            y++;\n            start_offset++;\n          }\n          else {\n            int g = gpus[r];\n            // remap if needed\n            if (gpu_map) g = gpu_map[g];\n            r++;\n            int j = 0;\n            // Translate gpu numbers into ranks\n            for (j = 0; j < ngpus; j++)\n              if (g == system->nodes[GPU].nodes[j].gpu.dev)\n                break;\n            if (j < ngpus)\n            {\n              while (str[start_offset] != '(' && str[start_offset] != ')') start_offset++;\n              char number_str[10];\n              sprintf(number_str, \"%d\", g);\n              int k=0;\n              while (number_str[k] != 0) {\n                graph->treeBase[x][y]=number_str[k];\n                y++;\n                k++;\n              }\n            }\n            else\n              return ncclInternalError;\n          }\n\n        }\n        graph->treeBase[x][y] = 0;\n        x++;\n        gpu=0;\n        start_offset = offset + 1;\n      }\n    }\n  } while (str[offset++] != 0);\n  graph->treeBase[x][0] = 0;\n  return ncclSuccess;\n}\n\n\n\n#define MAX_OPT_TOKENS 10\nextern const char* topoPathTypeStr[];\n\nstatic void parseOptions(struct ncclTopoSystem* system, const char *options) {\n  if (strcmp(options, \"\")) {\n    char *str_temp = (char *)malloc(strlen(options) + 1);\n    if (str_temp == nullptr) {\n      WARN(\"Failed to allocate memory for options parsing\");\n      return;\n    }\n    strcpy(str_temp, options);\n    char* tokens[MAX_OPT_TOKENS];\n    int numTokens = 0;\n    char* state;\n    tokens[numTokens] = strtok_r(str_temp, \"=, \", &state);\n    numTokens++;\n    while (tokens[numTokens-1] != NULL && numTokens < MAX_OPT_TOKENS)\n        tokens[numTokens++] = strtok_r(NULL, \"=, \", &state);\n    for (int i = 0; i < numTokens/2; i++) {\n      if (strcmp(tokens[i*2], \"netGdrLevel\") == 0) {\n        int j;\n        for (j = 0; j <= PATH_SYS; j++) {\n          if (strcmp(tokens[i*2+1], topoPathTypeStr[j]) == 0)\n            break;\n        }\n        if (j <= PATH_SYS)\n          system->netGdrLevel = j;\n        else {\n          system->netGdrLevel = -2;\n          WARN(\"invalid netGdrLevel: %s\", tokens[i*2+1]);\n        }\n      } else if (strcmp(tokens[i*2], \"pivotA2AEnabled\") == 0) {\n        system->pivotA2AEnabled = (bool)atol(tokens[i*2+1]);\n      } else if (strcmp(tokens[i*2], \"pivotA2ANumBiRings\") == 0) {\n        system->pivotA2ANumBiRings = atol(tokens[i*2+1]);\n      } else if (strcmp(tokens[i*2], \"tuning\") == 0) {\n        system->tuning = atol(tokens[i*2+1]);\n      } else if (strcmp(tokens[i*2], \"ll128Enabled\") == 0) {\n        system->ll128Enabled = (bool)atol(tokens[i*2+1]);\n      } else if (strcmp(tokens[i*2], \"baseBw\") == 0) {\n        system->baseBw = std::stof(tokens[i*2+1]);\n      } else if (strcmp(tokens[i*2], \"mscclEnabled\") == 0) {\n        system->mscclEnabled = (bool)atol(tokens[i*2+1]);\n      } else if (strcmp(tokens[i*2], \"treeDefined\") == 0) {\n        system->treeDefined = (bool)atol(tokens[i*2+1]);\n      }\n    }\n    free(str_temp);\n  }\n}\n\nstatic bool checkOption(const char *options, const char *name) {\n  if (strcmp(options, \"\")) {\n    char *str_temp = (char *)malloc(strlen(options) + 1);\n    if (str_temp == nullptr) {\n      WARN(\"Failed to allocate memory for options checking\");\n      return false;\n    }\n    strcpy(str_temp, options);\n    char* tokens[MAX_OPT_TOKENS];\n    int numTokens = 0;\n    char* state;\n    tokens[numTokens] = strtok_r(str_temp, \"=, \", &state);\n    numTokens++;\n    while (tokens[numTokens-1] != NULL && numTokens < MAX_OPT_TOKENS)\n        tokens[numTokens++] = strtok_r(NULL, \"=, \", &state);\n\n    bool result = false;\n    for (int i = 0; i < numTokens/2; i++) {\n      if (strcmp(tokens[i*2], name) == 0) {\n        result = (bool)atol(tokens[i*2+1]);\n        break;\n      }\n    }\n    free(str_temp);\n    return result;\n  }\n  return false;\n}\n\nncclResult_t parseChordalRing(struct ncclTopoSystem* system, struct ncclTopoGraph* graph) {\n  static const char *ringBase = \"0 1 2 3 5 4 7 6|0 2 4 1 7 3 6 5|0 3 1 5 7 2 6 4|0 6 7 4 5 3 2 1|0 5 6 3 7 1 4 2|0 4 6 2 7 5 1 3\";\n  int id[8], dist[8];\n  int i;\n\n  int ngpus = system->nodes[GPU].count;\n  if (ngpus != 8)\n    return ncclSuccess;\n  // validate chordal ring and calculate distance\n  for (i=0; i<ngpus; i++) {\n    struct ncclTopoNode* node = system->nodes[GPU].nodes+i;\n    if (node->paths[GPU] == NULL) continue;\n    int sum = ngpus*(ngpus-1)/2 - node->gpu.dev;\n    int count = 0;\n    for (int n = 0; n<ngpus; n++) {\n      struct ncclTopoLink* link;\n      for (link = node->links; link->remNode; link++) {\n        if (link->remNode->gpu.dev == n) break;\n      }\n      if (!link->remNode) continue;\n      if (link->type != LINK_NVL) continue;\n      sum -= system->nodes[GPU].nodes[n].gpu.dev;\n      count ++;\n    }\n    if(count != ngpus-2 || sum < 0 || sum > ngpus-1) {\n      return ncclSuccess;\n    }\n    dist[i] = sum;\n  }\n  // remap GPU ids\n  for (i = 0; i<ngpus; i++) id[i] = i;\n  for (i = 0; i<ngpus; i++) {\n    if (dist[i] == ngpus-1-i) continue;\n    int j, m, n, temp;\n    for (j=i+1; j < ngpus; j++)\n      if(dist[j] == ngpus-1-i) break;\n    m = dist[i]; n = dist[j]; dist[i] = n; dist[j] = m;\n    temp = id[m]; id[m] = id[n]; id[n] = temp; temp =dist[m];\n    dist[m] = dist[n]; dist[n] = temp;\n  }\n  // create chordal ring based on reference and remapped ids\n  system->type |= RCCL_TOPO_CR8G;\n  NCCLCHECK(parseGraph(ringBase, system, graph, id, NULL, false));\n  if (system->nodes[NET].count && system->nodes[GPU].count != system->nRanks) {\n    int *intra, *used;\n    graph->nChannels = system->nodes[NET].count;\n    NCCLCHECK(ncclCalloc(&intra, ngpus));\n    NCCLCHECK(ncclCalloc(&used,system->nodes[NET].count));\n    for (int n = 0; n < system->nodes[NET].count; n++) {\n      graph->inter[n*2] = graph->inter[n*2+1] = n;\n      struct ncclTopoNode* net = system->nodes[NET].nodes+n;\n      struct ncclTopoLinkList* paths = net->paths[GPU];\n      // find the first unsed GPU that is closest to NIC\n      int f, m;\n      for (f = 0; f < ngpus; f++) {\n        int j = 0; for (j = 0; j < n; j++) if(used[j] == system->nodes[GPU].nodes[f].gpu.rank) break;\n        if(j >= n) break;\n      }\n      for (int i = 0; i < ngpus; i++) {\n        int j = 0; for (j = 0; j < n; j++) if(used[j] == system->nodes[GPU].nodes[i].gpu.rank) break;\n        if (j < n) continue;\n        if (paths[i].count < paths[f].count) f = i;\n      }\n      for (m = 0; m<ngpus; m++) if (graph->intra[n*ngpus+m] == system->nodes[GPU].nodes[f].gpu.rank) break;\n      used[n] = graph->intra[n*ngpus+m];\n      for (int i = 0; i < ngpus; i++) intra[i] = graph->intra[n*ngpus+((i+m)%ngpus)];\n      for (int i = 0; i < ngpus; i++) graph->intra[n*ngpus+i] = intra[i];\n    }\n    free(used);\n    free(intra);\n  }\n  return ncclSuccess;\n}\n\n\nstatic ncclResult_t parseRomeSystem(struct ncclTopoSystem* system, struct rcclRomeModel* romeTopo,\n                                    char *pattern, int *devids) {\n  pattern[0] = 0; // pattern will be NULL for invalid topology\n  romeTopo->nGpus = system->nodes[GPU].count;\n  romeTopo->nCpus = system->nodes[CPU].count;\n  romeTopo->nNics = system->nodes[NET].count;\n  romeTopo->nLinks = 0;\n\n  struct ncclGpuIdHIP {\n    int g;\n    int dev;\n  };\n\n  auto cmpIds = [](const void * g1, const void * g2) {\n    struct ncclGpuIdHIP *s1 = (struct ncclGpuIdHIP*)g1;\n    struct ncclGpuIdHIP *s2 = (struct ncclGpuIdHIP*)g2;\n    return s1->dev - s2->dev;\n  };\n\n  struct ncclCpuNuma {\n    int c;\n    uint64_t numa;\n  };\n\n  auto cmpNuma = [](const void * g1, const void * g2) {\n    struct ncclCpuNuma *s1 = (struct ncclCpuNuma*)g1;\n    struct ncclCpuNuma *s2 = (struct ncclCpuNuma*)g2;\n    return (int)(s1->numa - s2->numa);\n  };\n\n  struct ncclNetId {\n    int n;\n    uint64_t id;\n  };\n\n  auto cmpNets = [](const void * g1, const void * g2) {\n    struct ncclNetId *s1 = (struct ncclNetId*)g1;\n    struct ncclNetId *s2 = (struct ncclNetId*)g2;\n    return (int)(s1->id - s2->id);\n  };\n\n  // sort GPU devices by HIP device ID\n  struct ncclGpuIdHIP gpu_scores[NCCL_TOPO_MAX_NODES];\n  for (int i = 0; i < romeTopo->nGpus; i ++) {\n    gpu_scores[i].g = i;\n    gpu_scores[i].dev = system->nodes[GPU].nodes[i].gpu.dev;\n  }\n  qsort(gpu_scores, romeTopo->nGpus, sizeof(struct ncclGpuIdHIP), cmpIds);\n  // sort CPU devices by NUMA id\n  struct ncclCpuNuma cpu_scores[NCCL_TOPO_MAX_NODES];\n  for (int i = 0; i < romeTopo->nCpus; i ++) {\n    cpu_scores[i].c = i;\n    cpu_scores[i].numa = system->nodes[CPU].nodes[i].id;\n  }\n  qsort(cpu_scores, romeTopo->nCpus, sizeof(struct ncclCpuNuma), cmpNuma);\n  // sort NET devices by id\n  struct ncclNetId net_scores[NCCL_TOPO_MAX_NODES];\n  for (int i = 0; i < romeTopo->nNics; i ++) {\n    net_scores[i].n = i;\n    net_scores[i].id = system->nodes[NET].nodes[i].net.dev;\n  }\n  qsort(net_scores, romeTopo->nNics, sizeof(struct ncclNetId), cmpNets);\n\n  for (int i = 0; i < romeTopo->nGpus; i ++) {\n    int gpu, n, m, distance;\n    gpu = gpu_scores[i].g;\n    romeTopo->gpuIds[i] = system->nodes[GPU].nodes[gpu].id;\n    m = 0;\n    distance = system->nodes[GPU].nodes[gpu].paths[CPU][m].count;\n    for (n = 1; n < romeTopo->nCpus; n++) {\n      if (system->nodes[GPU].nodes[gpu].paths[CPU][n].count < distance) {\n        distance = system->nodes[GPU].nodes[gpu].paths[CPU][n].count;\n        m = n;\n      }\n    }\n    if (m < romeTopo->nCpus) romeTopo->gpuNuma[i] = system->nodes[CPU].nodes[m].id;\n\n    struct ncclTopoNode* node = system->nodes[GPU].nodes+gpu;\n    if (node->paths[GPU] == NULL) continue;\n    int count = 0;\n    for (n = 0; n < romeTopo->nGpus; n++) {\n      romeTopo->connMatrix[i*romeTopo->nGpus+n] = 0;\n      struct ncclTopoLinkList *path = node->paths[GPU] + gpu_scores[n].g;\n      if (path->type != LINK_NVL) continue;\n      romeTopo->connMatrix[i*romeTopo->nGpus+n] = path->bw/ncclTopoXGMISpeed(node->gpu.gcn);\n      count ++;\n    }\n    if (romeTopo->nLinks < count) romeTopo->nLinks = count;\n  }\n\n  for (int i = 0; i < romeTopo->nNics; i++) {\n    int n, m, distance;\n    m = 0;\n    int net = net_scores[i].n;\n    romeTopo->nicIds[i] = system->nodes[NET].nodes[net].net.busId;\n    distance = system->nodes[NET].nodes[net].paths[CPU][m].count;\n    for (n = 0; n < romeTopo->nCpus; n++)\n      if (system->nodes[NET].nodes[net].paths[CPU][n].count < distance) {\n        distance = system->nodes[NET].nodes[net].paths[CPU][n].count;\n        m = n;\n      }\n    if (m < romeTopo->nCpus) romeTopo->nicNuma[i] = system->nodes[CPU].nodes[m].id;\n    else return ncclSuccess;\n  }\n\n  // number of GPUs and NICs on each numa node is used as first screening pattern\n  for (int i = 0; i < romeTopo->nCpus; i++) {\n    uint64_t id = system->nodes[CPU].nodes[cpu_scores[i].c].id;\n    int g = 0, n = 0;\n    for (int j = 0; j < romeTopo->nGpus; j++)\n      if (romeTopo->gpuNuma[j] == id) g++;\n    for (int j = 0; j < romeTopo->nNics; j++)\n      if (romeTopo->nicNuma[j] == id) n++;\n    pattern[i*2] = '0' + g;\n    pattern[i*2+1] = '0' + n;\n  }\n  pattern[romeTopo->nCpus*2] = 0;\n\n  if (devids)\n    for (int i = 0; i<romeTopo->nGpus; i++)\n       devids[i] = gpu_scores[i].dev;\n\n  // compute gdr level matrix\n  for (int i = 0; i < romeTopo->nNics; i++) {\n    int n = net_scores[i].n;\n    for (int j = 0; j < romeTopo->nGpus; j++) {\n      int g = gpu_scores[j].g;\n      romeTopo->gdrLevel[i*romeTopo->nGpus+j] = system->nodes[GPU].nodes[g].paths[NET][n].type;\n    }\n  }\n\n  const char* romeModelFile = getenv(\"RCCL_DUMP_ROME_MODEL_FILE\");\n  if (romeModelFile) {\n    INFO(NCCL_ENV, \"RCCL_DUMP_ROME_MODEL_FILE set by environment to %s\", romeModelFile);\n    FILE* file = fopen(romeModelFile, \"w\");\n    if (file == NULL) {\n      WARN(\"Unable to open %s, not dumping Rome model.\", romeModelFile);\n      return ncclSuccess;\n    }\n    fprintf(file, \"static struct rcclRomeModel rome_model_ = {\\n\");\n    fprintf(file, \"  .nGpus = %d, .nCpus = %d, .nNics = %d, .nLinks = %d,\\n\", romeTopo->nGpus, romeTopo->nCpus, romeTopo->nNics, romeTopo->nLinks);\n    fprintf(file, \"  .gpuIds = { \");\n    for (int i = 0; i < romeTopo->nGpus; i ++) fprintf(file, \"0x%lx, \", romeTopo->gpuIds[i]);\n    fprintf(file, \"},\\n\");\n    fprintf(file, \"  .nicIds = { \");\n    for (int i = 0; i < romeTopo->nNics; i ++) fprintf(file, \"0x%lx, \", romeTopo->nicIds[i]);\n    fprintf(file, \"},\\n\");\n    fprintf(file, \"  .gpuNuma = { \");\n    for (int i = 0; i < romeTopo->nGpus; i ++) fprintf(file, \"%ld, \", romeTopo->gpuNuma[i]);\n    fprintf(file, \"},\\n\");\n    fprintf(file, \"  .nicNuma = { \");\n    for (int i = 0; i < romeTopo->nNics; i ++) fprintf(file, \"%ld, \", romeTopo->nicNuma[i]);\n    fprintf(file, \"},\\n\");\n    fprintf(file, \"  .connMatrix = { \");\n    for (int i = 0; i < romeTopo->nGpus; i ++)\n      for (int n = 0; n < romeTopo->nGpus; n++) fprintf(file, \"%d, \", romeTopo->connMatrix[i*romeTopo->nGpus+n]);\n    fprintf(file, \"},\\n\");\n    fprintf(file, \"  .gdrLevel = { \");\n    for (int i = 0; i < romeTopo->nNics; i ++)\n      for (int n = 0; n < romeTopo->nGpus; n++) fprintf(file, \"PATH_%s, \", topoPathTypeStr[romeTopo->gdrLevel[i*romeTopo->nGpus+n]]);\n    fprintf(file, \"},\\n\");\n    fprintf(file, \"  .pattern = \\\"%s\\\",\\n\", pattern);\n    fprintf(file, \"  .ringBase = \\\"\\\",\\n\");\n    fprintf(file, \"  .options = \\\"\\\",\\n\");\n    fprintf(file, \"};\\n\");\n    fclose(file);\n  }\n  return ncclSuccess;\n}\n\nstatic bool permuteGpuIds(int *g, int n, int last, struct rcclRomeModel* ref, struct rcclRomeModel* topo, int* time, bool nbio, bool ignore_numa) {\n  (*time) ++;\n  if (n == last) {\n    int i, j;\n    // match GPU numa\n    if (!ignore_numa) {\n      for (i = 0; i < ref->nGpus; i++)\n        if (ref->gpuNuma[i] != topo->gpuNuma[g[i]]) break;\n      if (i < ref->nGpus) return false;\n    }\n    // match XGMI connection\n    for (i = 0; i < ref->nGpus; i++) {\n      for (j = 0; j < ref->nGpus; j++) {\n        if (ref->connMatrix[i*ref->nGpus+j] != topo->connMatrix[g[i]*ref->nGpus+g[j]]) break;\n        if ((ref->gpuIds[i]-ref->gpuIds[j])*(topo->gpuIds[g[i]]-topo->gpuIds[g[j]]) < 0) break;\n      }\n      if (j < ref->nGpus) break;\n    }\n    if (i < ref->nGpus) return false;\n    // match NBIO\n    if (nbio) {\n      for (i = 0; i < ref->nGpus; i++) {\n        for (j = 0; j < ref->nGpus; j++) {\n          if (i == j) continue;\n          bool nbio_ref = (ref->gpuIds[i]&0xf0000) == (ref->gpuIds[j]&0xf0000);\n          bool nbio_topo = (topo->gpuIds[g[i]]&0xf0000) == (topo->gpuIds[g[j]]&0xf0000);\n          if (nbio_ref != nbio_topo) break;\n          if (nbio_ref && ((ref->gpuIds[i]-ref->gpuIds[j])*(topo->gpuIds[g[i]]-topo->gpuIds[g[j]]) < 0)) break;\n        }\n        if (j < ref->nGpus) break;\n      }\n      if (i < ref->nGpus) return false;\n    }\n    return true;\n  } else {\n    for (int i = n; i <= last; i++) {\n      std::swap(g[n], g[i]);\n      if (permuteGpuIds(g, n+1, last, ref, topo, time, nbio, ignore_numa)) return true;\n      std::swap(g[n], g[i]);\n    }\n  }\n  return false;\n}\n\nstatic bool permuteNetIds(int *n, int *g, int s, int last, struct rcclRomeModel* ref, struct rcclRomeModel* topo, int* time, bool ignore_numa) {\n  (*time) ++;\n  if (s == last) {\n    int i, j;\n    // match NET numa\n    if (!ignore_numa) {\n      for (i = 0; i < ref->nNics; i++) {\n        if (ref->nicNuma[i] != topo->nicNuma[n[i]]) break;\n      }\n      if (i < ref->nNics) return false;\n    }\n    // match gdr level\n    for (i = 0; i < ref->nNics; i++) {\n      for (j = 0; j < ref->nGpus; j++) {\n        // enabling PXN override paths over PHB and SYS\n        if (topo->gdrLevel[n[i]*ref->nGpus+g[j]] == PATH_PXN) continue;\n        // treat PIX and PXB as same\n        if ((ref->gdrLevel[i*ref->nGpus+j] == PATH_PXB && topo->gdrLevel[n[i]*ref->nGpus+g[j]] == PATH_PIX) ||\n          (ref->gdrLevel[i*ref->nGpus+j] == PATH_PIX && topo->gdrLevel[n[i]*ref->nGpus+g[j]] == PATH_PXB))\n          continue;\n        if (ref->gdrLevel[i*ref->nGpus+j] != topo->gdrLevel[n[i]*ref->nGpus+g[j]]) break;\n      }\n      if (j < ref->nGpus) break;\n    }\n    if (i < ref->nNics) return false;\n    return true;\n  } else {\n    for (int i = s; i <= last; i++) {\n      std::swap(n[s], n[i]);\n      if (permuteNetIds(n, g, s+1, last, ref, topo, time, ignore_numa)) return true;\n      std::swap(n[s], n[i]);\n    }\n  }\n  return false;\n}\n\nint checkAlltoallWidth(struct rcclRomeModel *romeTopo) {\n  int i, width = 0;\n  for (i = 0; i < romeTopo->nGpus; i++) {\n    int j;\n    for (j = 0; j < romeTopo->nGpus; j++) {\n      if (i == j) continue;\n      if (romeTopo->connMatrix[i*romeTopo->nGpus+j] == 0)\n        break;\n      if (width == 0)\n        width = romeTopo->connMatrix[i*romeTopo->nGpus+j];\n      else if (width != romeTopo->connMatrix[i*romeTopo->nGpus+j])\n        break;\n    }\n    if (j < romeTopo->nGpus) break;\n  }\n  if (i < romeTopo->nGpus)\n    width = 0;\n  return width;\n}\n\nRCCL_PARAM(DisableRailTrees, \"DISABLE_RAIL_TREES\", 0);\n\nncclResult_t parseA2a8P(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, const char *ringBase) {\n  constexpr int NUMA_CPUS = 2;\n  constexpr int NUMA_GPUS = 4;\n  constexpr int NUMA_PERMUTE_COUNT = 24;\n  constexpr int TOTAL_PERMUTE_COUNT = (NUMA_PERMUTE_COUNT*NUMA_PERMUTE_COUNT);\n\n  int i;\n\n  const int ngpus = system->nodes[GPU].count;\n  const int ncpus = system->nodes[CPU].count;\n  const int nnets = system->nodes[NET].count;\n\n  // number of GPUs and NICs on each numa node is used as first screening pattern\n  struct rcclRomeModel romeTopo;\n  char pattern[256];\n  int devids[NUMA_CPUS * NUMA_GPUS];\n  NCCLCHECK(parseRomeSystem(system, &romeTopo, pattern, devids));\n\n  // only match for system with 8 GPUs and 2 CPUs\n  if (ngpus != 8 || ncpus != NUMA_CPUS) return ncclSuccess;\n\n  // check if all GPUs are connected alltoall with equal width\n  bool isAlltoall = checkAlltoallWidth(&romeTopo);\n  if (!isAlltoall) return ncclSuccess;\n\n  int *g8, n[NCCL_TOPO_MAX_NODES];\n  int *all_gpu_permutations = (int *)malloc(TOTAL_PERMUTE_COUNT*NUMA_CPUS*NUMA_GPUS*sizeof(int));\n  if (all_gpu_permutations == nullptr) {\n    WARN(\"Failed to allocate memory for GPU permutations\");\n    return ncclSystemError;\n  }\n  struct timeval tvs, tve;\n  gettimeofday(&tvs, NULL);\n  std::vector<int> r(ngpus), g(ngpus), rdm(ngpus);\n  for (i = 0; i < sizeof(romeTopoModels)/sizeof(romeTopoModels[0]); i++) {\n    if (romeTopo.nCpus != romeTopoModels[i].nCpus || romeTopo.nGpus != romeTopoModels[i].nGpus ||\n      romeTopo.nNics != romeTopoModels[i].nNics || romeTopo.nLinks != romeTopoModels[i].nLinks) continue;\n    if (strcmp(romeTopoModels[i].pattern, pattern)) continue;\n    int j;\n    int numa_gpu_permutations[NUMA_CPUS][NUMA_PERMUTE_COUNT][NUMA_GPUS];\n    if (isAlltoall != checkAlltoallWidth(romeTopoModels+i))\n      continue;\n    // permute GPUs for each CPU NUMA nodes\n    for (j = 0; j < ncpus; j++) {\n      int ngpusPerNuma = 0, cnt = 0, npermute = 0;\n      for (int k = 0; k < ngpus; k++) {\n        if (romeTopoModels[i].gpuNuma[k] != j) continue;\n        r[ngpusPerNuma++] = k;\n      }\n      if (ngpusPerNuma == 0) continue;\n      if (ngpusPerNuma != NUMA_GPUS) break;\n      // init GPU mapping\n      for (int k = 0; k < ngpus; k++) {\n        if (romeTopo.gpuNuma[k] != j) continue;\n        g[(2+cnt++)%ngpusPerNuma] = k;\n      }\n      std::sort(g.begin(), g.begin()+ngpusPerNuma);\n      do {\n        for (int n = 0; n < ngpusPerNuma; n++)\n          numa_gpu_permutations[j][npermute][n] = g[n];\n        npermute++;\n      } while (std::next_permutation(g.begin(), g.begin()+ngpusPerNuma));\n      if (npermute != NUMA_PERMUTE_COUNT) break;\n    }\n    if (j < ncpus) continue;\n    // permute GPUs for all CPU NUMA nodes\n    for (int a = 0; a < NUMA_PERMUTE_COUNT; a++) {\n      for (int b = 0; b < NUMA_PERMUTE_COUNT; b++) {\n        uint64_t offset = a*NUMA_PERMUTE_COUNT+b;\n        //offset = (offset+TOTAL_PERMUTE_COUNT/2)%TOTAL_PERMUTE_COUNT;\n        offset *= (NUMA_CPUS*NUMA_GPUS);\n        memcpy(all_gpu_permutations+offset, &numa_gpu_permutations[0][a][0], NUMA_GPUS*sizeof(int));\n        memcpy(all_gpu_permutations+offset+NUMA_GPUS, &numa_gpu_permutations[1][b][0], NUMA_GPUS*sizeof(int));\n      }\n    }\n    // match all GPUs' XGMI connection\n    int p;\n    for (p = 0; p < TOTAL_PERMUTE_COUNT; p++) {\n      g8 = all_gpu_permutations+p*NUMA_CPUS*NUMA_GPUS;\n      int k;\n      for (k = 0; k < romeTopoModels[i].nGpus; k++) {\n        int m;\n        for (m = 0; m < romeTopoModels[i].nGpus; m++) {\n          if (romeTopoModels[i].connMatrix[k*romeTopoModels[i].nGpus+m] != romeTopo.connMatrix[g8[k]*romeTopoModels[i].nGpus+g8[m]]) break;\n        }\n        if (m < romeTopoModels[i].nGpus) break;\n      }\n      if (k < romeTopoModels[i].nGpus) continue;\n      //printf(\"found match %d: \", p); for (int n = 0; n < NUMA_CPUS*NUMA_GPUS; n++) printf(\"%d \", g8[n]); printf(\"\\n\");\n      if (nnets > 1) {\n        // permute NET IDs\n        int time = 0;\n        for (int m = 0; m < nnets; m++) n[m] = (m+2)%nnets;\n        if (permuteNetIds(n, g8, 0, nnets-1, romeTopoModels+i, &romeTopo, &time, false)) break;\n      } else break;\n    }\n    if (p < TOTAL_PERMUTE_COUNT) break;\n  }\n  gettimeofday(&tve, NULL);\n  if (i >= sizeof(romeTopoModels)/sizeof(romeTopoModels[0])) {\n    //printf(\"No solution in %.2fms\\n\", t);\n    return ncclSuccess;\n  }\n  for (int m = 0; m<ngpus; m++) rdm[m] = devids[g8[m]];\n\n  char line[1024];\n  //sprintf(line, \"Found matching Rome model index %d in %.2fms with GPU mapping: \", i, t);\n  sprintf(line, \"Found matching Rome model index %d with GPU mapping: \", i);\n  int offset = strlen(line);\n  for (int k = 0; k < ngpus; k++) {\n    sprintf(line+offset, \"%d \", rdm[k]);\n    offset = strlen(line);\n  }\n  if (nnets > 1) {\n    sprintf(line+offset, \"NET mapping: \");\n    offset = strlen(line);\n    for (int k = 0; k < nnets; k++) {\n      sprintf(line+offset, \"%d \", n[k]);\n      offset = strlen(line);\n    }\n  }\n  INFO(NCCL_GRAPH, \"%s\", line);\n  system->type |= RCCL_TOPO_4P2H_ROME;\n  parseOptions(system, romeTopoModels[i].options);\n  if(IsArchMatch(system->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\")){\n    system->tuning = 6;\n  }\n  // create 4P2H based on reference and remapped ids\n  switch (graph->pattern) {\n  case NCCL_TOPO_PATTERN_RING:\n    // Attempt to use rail-optimized rings if they exist\n    if (system->nHosts % 2 == 0) {\n      // For even number of nodes, alternate forward/reverse on ringBase\n      NCCLCHECK(parseGraph(ringBase != nullptr ? ringBase : romeTopoModels[i].ringBase, system, graph, rdm.data(), nnets > 1 ? n : NULL, system->hostIdx % 2));\n    }\n    else {\n      // For odd number of nodes, check first to see if ringTail1 and ringTail2 are defined\n      if (system->nHosts == 1 || romeTopoModels[i].ringTail1 == nullptr || romeTopoModels[i].ringTail2 == nullptr) {\n        if (system->nHosts > 1)\n          INFO(NCCL_GRAPH, \"[WARN] Dropping back due to lack of support for odd-number of nodes for model index %d\\n\", i);\n        NCCLCHECK(parseGraph(ringBase != nullptr ? ringBase : romeTopoModels[i].ringBase, system, graph, rdm.data(), nnets > 1 ? n : NULL, system->hostIdx % 2));\n      }\n      else\n      {\n        if (system->hostIdx == (system->nHosts - 1)) {\n          NCCLCHECK(parseGraph(romeTopoModels[i].ringTail1, system, graph, rdm.data(), nnets > 1 ? n : NULL, 0));\n        } else if (system->hostIdx == (system->nHosts - 2)) {\n          NCCLCHECK(parseGraph(romeTopoModels[i].ringTail2, system, graph, rdm.data(), nnets > 1 ? n : NULL, 0));\n        } else {\n          NCCLCHECK(parseGraph(ringBase != nullptr ? ringBase : romeTopoModels[i].ringBase, system, graph, rdm.data(), nnets > 1 ? n : NULL, system->hostIdx % 2));\n        }\n      }\n    }\n    break;\n  case NCCL_TOPO_PATTERN_BALANCED_TREE:\n\n    // Check if rail-optimized trees have been defined\n    system->useRailOptimizedTrees = false;\n    if (romeTopoModels[i].treeRail != nullptr && !rcclParamDisableRailTrees()) {\n\n      // If so, parse the lines in advanced\n      // These lines will be modified appropriately during ncclTopoPostset\n      NCCLCHECK(parseGraph(romeTopoModels[i].treeRail, system, graph, g8, nnets > 1 ? n : NULL, 0));\n      if (graph->nChannels) {\n        system->useRailOptimizedTrees = true;\n        return ncclSuccess;\n      }\n    }\n\n    // Fall back to looking for tree configuration from treeBase\n    if (romeTopoModels[i].treeBase != nullptr) {\n      NCCLCHECK(parseGraphLight(romeTopoModels[i].treeBase, system, graph, rdm.data()));\n      if (graph->nChannels) return ncclSuccess;\n    }\n\n    // Fall back to tree from ringBase\n    NCCLCHECK(parseGraph(ringBase != nullptr ? ringBase : romeTopoModels[i].ringBase, system, graph, rdm.data(), nnets > 1 ? n : NULL, 0));\n    // Override GDR distance if requested\n    if (checkOption(romeTopoModels[i].options, \"netOverride\")) {\n      for (int i = 0; i < system->nodes[NET].count; i++) {\n        for (int j = 0; j < system->nodes[GPU].count; j++) {\n          if (system->nodes[GPU].nodes[j].paths[NET][i].type == PATH_PXB) {\n            int k;\n            for (k = 0; k < system->nodes[GPU].count; k++) {\n              if (k != j &&\n                system->nodes[GPU].nodes[k].gpu.dev/2 == system->nodes[GPU].nodes[j].gpu.dev/2)\n                break;\n            }\n            if (k < system->nodes[GPU].count)\n              system->nodes[GPU].nodes[k].paths[NET][i].type = PATH_PXB;\n          }\n        }\n      }\n    }\n    break;\n  }\n\n  // clean up\n  free(all_gpu_permutations);\n  return ncclSuccess;\n}\n\nncclResult_t parseRome4P2H(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, const char *ringBase) {\n  int i;\n\n  int ngpus = system->nodes[GPU].count;\n  int nnets = system->nodes[NET].count;\n\n  // Only support ring and tree graphs\n  if (graph->pattern != NCCL_TOPO_PATTERN_RING &&\n      graph->pattern != NCCL_TOPO_PATTERN_BALANCED_TREE)\n    return ncclSuccess;\n\n  if (ngpus > 8) return ncclSuccess;\n  // only valid on Rome\n  int arch, vendor, model;\n  NCCLCHECK(ncclTopoCpuType(system, &arch, &vendor, &model));\n\n  // number of GPUs and NICs on each numa node is used as first screening pattern\n  struct rcclRomeModel romeTopo;\n  char pattern[256];\n  int devids[NCCL_TOPO_MAX_NODES];\n  NCCLCHECK(parseRomeSystem(system, &romeTopo, pattern, devids));\n\n  // recognize system as Rome 4P2H even if no matching model\n  if (ngpus > 4 && romeTopo.nLinks) system->type |= RCCL_TOPO_4P2H_ROME;\n\n  // detect multiple NICs per GPU\n  int nnetspergpu = (nnets%ngpus == 0) ? nnets/ngpus : 0;\n\n  int g[NCCL_TOPO_MAX_NODES], n[NCCL_TOPO_MAX_NODES], rdm[NCCL_TOPO_MAX_NODES];\n  int time = 0;\n  struct timeval tvs, tve;\n  gettimeofday(&tvs, NULL);\n\n  // check if GPUs are directly connected to CPU\n  bool match_nbio = true;\n  for (i = 0; i < romeTopo.nGpus; i++) {\n    int cpu, gpu;\n    NCCLCHECK(ncclTopoIdToIndex(system, CPU,  romeTopo.gpuNuma[i], &cpu));\n    NCCLCHECK(ncclTopoIdToIndex(system, GPU,  romeTopo.gpuIds[i], &gpu));\n    if (system->nodes[GPU].nodes[gpu].paths[CPU][cpu].count > 2) break;\n  }\n  if (i < romeTopo.nGpus) match_nbio = false;\n\n  for (i = 0; i < sizeof(romeTopoModels)/sizeof(romeTopoModels[0]); i++) {\n    bool ignore_cpu = checkOption(romeTopoModels[i].options, \"noCpuCheck\");\n    if (!ignore_cpu && (arch != NCCL_TOPO_CPU_ARCH_X86 || vendor != NCCL_TOPO_CPU_VENDOR_AMD || model != NCCL_TOPO_CPU_MODEL_AMD_ROME))\n      continue;\n    bool ignore_numa = checkOption(romeTopoModels[i].options, \"disableNumaMatching\");\n    if (!ignore_numa && romeTopo.nCpus != romeTopoModels[i].nCpus) continue;\n    if (romeTopo.nGpus != romeTopoModels[i].nGpus ||\n      romeTopo.nNics != romeTopoModels[i].nNics || romeTopo.nLinks != romeTopoModels[i].nLinks) continue;\n    if (!ignore_numa && strcmp(romeTopoModels[i].pattern, pattern)) continue;\n    // permute GPU IDs\n    for (int j = 0; j < ngpus; j++) g[j] = (j+2)%ngpus;\n    if (!permuteGpuIds(g, 0, ngpus-1, romeTopoModels+i, &romeTopo, &time, ignore_cpu ? false : match_nbio, ignore_numa)) continue;\n    if (nnetspergpu > 1) {\n      int found = 0;\n      // initialize nics mapping\n      for (int j = 0; j < nnets; j++) n[j] = -1;\n      // match nics\n      for (int j = 0; j < nnets; j++) {\n        int k;\n        for (k = 0; k < nnets; k++) {\n          int f;\n          // skips nics that are matched\n          for (f = 0; f < found; f++)\n            if (k == n[f]) break;\n          if (f < found) continue;\n          // check NUMA\n          if (!ignore_numa && romeTopoModels[i].nicNuma[j] != romeTopo.nicNuma[k]) continue;\n          int g;\n          // check GDR\n          for (g = 0; g < ngpus; g++) {\n            // enabling PXN override paths over PHB and SYS\n            if (romeTopo.gdrLevel[k*ngpus+g] == PATH_PXN) continue;\n            if (romeTopoModels[i].gdrLevel[j*ngpus+g] != romeTopo.gdrLevel[k*ngpus+g]) break;\n          }\n          if (g >= ngpus) break;\n        }\n        if (k < nnets) {\n          // found match\n          n[j] = k;\n          found++;\n        } else {\n          return ncclSuccess;\n        }\n      }\n      break;\n    } else {\n      if (nnets > 1) {\n        // permute NET IDs\n        for (int j = 0; j < nnets; j++) n[j] = (j+2)%nnets;\n        if (permuteNetIds(n, g, 0, nnets-1, romeTopoModels+i, &romeTopo, &time, ignore_numa)) break;\n      } else break;\n    }\n  }\n  gettimeofday(&tve, NULL);\n  if (i >= sizeof(romeTopoModels)/sizeof(romeTopoModels[0])) {\n    //printf(\"No solution in %.2fms (%d iter)\\n\", t, time);\n    return ncclSuccess;\n  }\n  for (int m = 0; m<ngpus; m++) rdm[m] = devids[g[m]];\n\n  char line[1024];\n  //sprintf(line, \"Found matching Rome model index %d in %.2fms (%d iter) with GPU mapping: \", i, t, time);\n  sprintf(line, \"Found matching Rome model index %d with GPU mapping: \", i);\n  int offset = strlen(line);\n  for (int k = 0; k < ngpus; k++) {\n    sprintf(line+offset, \"%d \", rdm[k]);\n    offset = strlen(line);\n  }\n  if (nnets > 1) {\n    sprintf(line+offset, \"NET mapping: \");\n    offset = strlen(line);\n    for (int k = 0; k < nnets; k++) {\n      sprintf(line+offset, \"%d \", n[k]);\n      offset = strlen(line);\n    }\n  }\n  INFO(NCCL_GRAPH, \"%s\", line);\n  parseOptions(system, romeTopoModels[i].options);\n  if(IsArchMatch(system->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\")){\n    system->tuning = 6;\n  }\n  // create 4P2H based on reference and remapped ids\n  switch (graph->pattern) {\n  case NCCL_TOPO_PATTERN_RING:\n    // Attempt to use rail-optimized rings if they exist\n    if (system->nHosts % 2 == 0) {\n      // For even number of nodes, alternate forward/reverse on ringBase\n      NCCLCHECK(parseGraph(ringBase != nullptr ? ringBase : romeTopoModels[i].ringBase, system, graph, rdm, nnets > 1 ? n : NULL, system->hostIdx % 2));\n    }\n    else {\n      // For odd number of nodes, check first to see if ringTail1 and ringTail2 are defined\n      if (system->nHosts == 1 || romeTopoModels[i].ringTail1 == nullptr || romeTopoModels[i].ringTail2 == nullptr) {\n        if (system->nHosts > 1)\n          INFO(NCCL_GRAPH, \"[WARN] Dropping back due to lack of support for odd-number of nodes for model index %d\\n\", i);\n        NCCLCHECK(parseGraph(ringBase != nullptr ? ringBase : romeTopoModels[i].ringBase, system, graph, rdm, nnets > 1 ? n : NULL, system->hostIdx % 2));\n      }\n      else\n      {\n        if (system->hostIdx == (system->nHosts - 1)) {\n          NCCLCHECK(parseGraph(romeTopoModels[i].ringTail1, system, graph, rdm, nnets > 1 ? n : NULL, 0));\n        } else if (system->hostIdx == (system->nHosts - 2)) {\n          NCCLCHECK(parseGraph(romeTopoModels[i].ringTail2, system, graph, rdm, nnets > 1 ? n : NULL, 0));\n        } else {\n          NCCLCHECK(parseGraph(ringBase != nullptr ? ringBase : romeTopoModels[i].ringBase, system, graph, rdm, nnets > 1 ? n : NULL, system->hostIdx % 2));\n        }\n      }\n    }\n    break;\n  case NCCL_TOPO_PATTERN_BALANCED_TREE:\n    if (romeTopoModels[i].treeBase != nullptr) {\n      NCCLCHECK(parseGraphLight(romeTopoModels[i].treeBase, system, graph, g));\n      if (graph->nChannels) return ncclSuccess;\n    }\n\n    // Fall back to tree from ringBase\n    NCCLCHECK(parseGraph(ringBase != nullptr ? ringBase : romeTopoModels[i].ringBase, system, graph, rdm, nnets > 1 ? n : NULL, 0));\n    // Override GDR distance if requested\n    if (checkOption(romeTopoModels[i].options, \"netOverride\")) {\n      for (int i = 0; i < system->nodes[NET].count; i++) {\n        for (int j = 0; j < system->nodes[GPU].count; j++) {\n          if (system->nodes[GPU].nodes[j].paths[NET][i].type == PATH_PXB) {\n            int k;\n            for (k = 0; k < system->nodes[GPU].count; k++) {\n              if (k != j &&\n                system->nodes[GPU].nodes[k].gpu.dev/2 == system->nodes[GPU].nodes[j].gpu.dev/2)\n                break;\n            }\n            if (k < system->nodes[GPU].count)\n              system->nodes[GPU].nodes[k].paths[NET][i].type = PATH_PXB;\n          }\n        }\n      }\n    }\n    break;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t parse1H16P(struct ncclTopoSystem* system, struct ncclTopoGraph* graph) {\n  constexpr int NUMA_CPUS = 4;\n  constexpr int NUMA_GPUS = 4;\n  constexpr int NUMA_PERMUTE_COUNT = 24;\n  constexpr int TOTAL_PERMUTE_COUNT = (NUMA_PERMUTE_COUNT*NUMA_PERMUTE_COUNT*NUMA_PERMUTE_COUNT*NUMA_PERMUTE_COUNT);\n\n  int i;\n\n  const int ngpus = system->nodes[GPU].count;\n  const int ncpus = system->nodes[CPU].count;\n  const int nnets = system->nodes[NET].count;\n\n  // only valid on Rome\n  int arch, vendor, model;\n  NCCLCHECK(ncclTopoCpuType(system, &arch, &vendor, &model));\n  if (arch != NCCL_TOPO_CPU_ARCH_X86 || vendor != NCCL_TOPO_CPU_VENDOR_AMD || model != NCCL_TOPO_CPU_MODEL_AMD_ROME)\n    return ncclSuccess;\n\n  // number of GPUs and NICs on each numa node is used as first screening pattern\n  struct rcclRomeModel romeTopo;\n  char pattern[256];\n  int devids[NUMA_CPUS*NUMA_GPUS];\n  NCCLCHECK(parseRomeSystem(system, &romeTopo, pattern, devids));\n\n  // only match for system with 16 GPUs\n  if (ngpus != 16 || ncpus != NUMA_CPUS) return ncclSuccess;\n\n  int *g16, n[NCCL_TOPO_MAX_NODES], rdm[NUMA_GPUS*NUMA_CPUS];\n  int *all_gpu_permutations = (int *)malloc(TOTAL_PERMUTE_COUNT*NUMA_CPUS*NUMA_GPUS*sizeof(int));\n  if (all_gpu_permutations == nullptr) {\n    WARN(\"Failed to allocate memory for GPU permutations\");\n    return ncclSystemError;\n  }\n  struct timeval tvs, tve;\n  gettimeofday(&tvs, NULL);\n  std::vector<int> r(ngpus), g(ngpus);\n  for (i = 0; i < sizeof(romeTopoModels)/sizeof(romeTopoModels[0]); i++) {\n    if (romeTopo.nCpus != romeTopoModels[i].nCpus || romeTopo.nGpus != romeTopoModels[i].nGpus ||\n      romeTopo.nNics != romeTopoModels[i].nNics || romeTopo.nLinks != romeTopoModels[i].nLinks) continue;\n    if (strcmp(romeTopoModels[i].pattern, pattern)) continue;\n    int j;\n    int numa_gpu_permutations[NUMA_CPUS][NUMA_PERMUTE_COUNT][NUMA_GPUS];\n    // permute GPUs for each CPU NUMA nodes\n    for (j = 0; j < ncpus; j++) {\n      int ngpusPerNuma = 0, cnt = 0, npermute = 0;\n      for (int k = 0; k < ngpus; k++) {\n        if (romeTopoModels[i].gpuNuma[k] != j) continue;\n        r[ngpusPerNuma++] = k;\n      }\n      if (ngpusPerNuma == 0) continue;\n      if (ngpusPerNuma != NUMA_GPUS) break;\n      // init GPU mapping\n      for (int k = 0; k < ngpus; k++) {\n        if (romeTopo.gpuNuma[k] != j) continue;\n        g[(2+cnt++)%ngpusPerNuma] = k;\n      }\n      std::sort(g.begin(), g.begin()+ngpusPerNuma);\n      do {\n        for (int n = 0; n < ngpusPerNuma; n++)\n          numa_gpu_permutations[j][npermute][n] = g[n];\n        npermute++;\n      } while (std::next_permutation(g.begin(), g.begin()+ngpusPerNuma));\n      if (npermute != NUMA_PERMUTE_COUNT) break;\n    }\n    if (j < ncpus) continue;\n    // permute GPUs for all CPU NUMA nodes\n    for (int a = 0; a < NUMA_PERMUTE_COUNT; a++) {\n      for (int b = 0; b < NUMA_PERMUTE_COUNT; b++) {\n        for (int c = 0; c < NUMA_PERMUTE_COUNT; c++) {\n          for (int d = 0; d < NUMA_PERMUTE_COUNT; d++) {\n            uint64_t offset = ((a*NUMA_PERMUTE_COUNT+b)*NUMA_PERMUTE_COUNT+c)*NUMA_PERMUTE_COUNT+d;\n            //offset = (offset+TOTAL_PERMUTE_COUNT/2)%TOTAL_PERMUTE_COUNT;\n            offset *= (NUMA_CPUS*NUMA_GPUS);\n            memcpy(all_gpu_permutations+offset, &numa_gpu_permutations[0][a][0], NUMA_GPUS*sizeof(int));\n            memcpy(all_gpu_permutations+offset+NUMA_GPUS, &numa_gpu_permutations[1][b][0], NUMA_GPUS*sizeof(int));\n            memcpy(all_gpu_permutations+offset+NUMA_GPUS*2, &numa_gpu_permutations[2][c][0], NUMA_GPUS*sizeof(int));\n            memcpy(all_gpu_permutations+offset+NUMA_GPUS*3, &numa_gpu_permutations[3][d][0], NUMA_GPUS*sizeof(int));\n          }\n        }\n      }\n    }\n    // match all GPUs' XGMI connection\n    int p;\n    for (p = 0; p < TOTAL_PERMUTE_COUNT; p++) {\n      g16 = all_gpu_permutations+p*NUMA_CPUS*NUMA_GPUS;\n      int k;\n      for (k = 0; k < romeTopoModels[i].nGpus; k++) {\n        int m;\n        for (m = 0; m < romeTopoModels[i].nGpus; m++) {\n          if (romeTopoModels[i].connMatrix[k*romeTopoModels[i].nGpus+m] != romeTopo.connMatrix[g16[k]*romeTopoModels[i].nGpus+g16[m]]) break;\n        }\n        if (m < romeTopoModels[i].nGpus) break;\n      }\n      if (k < romeTopoModels[i].nGpus) continue;\n      //printf(\"found match %d: \", p); for (int n = 0; n < NUMA_CPUS*NUMA_GPUS; n++) printf(\"%d \", g16[n]); printf(\"\\n\");\n      if (nnets > 1) {\n        // permute NET IDs\n        int time = 0;\n        for (int m = 0; m < nnets; m++) n[m] = (m+2)%nnets;\n        if (permuteNetIds(n, g16, 0, nnets-1, romeTopoModels+i, &romeTopo, &time, false)) break;\n      } else break;\n    }\n    if (p < TOTAL_PERMUTE_COUNT) break;\n  }\n  gettimeofday(&tve, NULL);\n  if (i >= sizeof(romeTopoModels)/sizeof(romeTopoModels[0])) {\n    //printf(\"No solution in %.2fms\\n\", t);\n    return ncclSuccess;\n  }\n  for (int m = 0; m<ngpus; m++) rdm[m] = devids[g16[m]];\n\n  char line[1024];\n  //sprintf(line, \"Found matching Rome model index %d in %.2fms with GPU mapping: \", i, t);\n  sprintf(line, \"Found matching Rome model index %d with GPU mapping: \", i);\n  int offset = strlen(line);\n  for (int k = 0; k < ngpus; k++) {\n    sprintf(line+offset, \"%d \", rdm[k]);\n    offset = strlen(line);\n  }\n  if (nnets > 1) {\n    sprintf(line+offset, \"NET mapping: \");\n    offset = strlen(line);\n    for (int k = 0; k < nnets; k++) {\n      sprintf(line+offset, \"%d \", n[k]);\n      offset = strlen(line);\n    }\n  }\n  INFO(NCCL_GRAPH, \"%s\", line);\n  system->type |= RCCL_TOPO_16P1H;\n  parseOptions(system, romeTopoModels[i].options);\n  if(IsArchMatch(system->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\")){\n    system->tuning = 6;\n  }\n\n  // create 16P1H based on reference and remapped ids\n  NCCLCHECK(parseGraph(romeTopoModels[i].ringBase, system, graph, rdm, nnets > 1 ? n : NULL, false));\n\n  if (romeTopoModels[i].treeBase != nullptr) NCCLCHECK(parseGraphLight(romeTopoModels[i].treeBase, system, graph, rdm));\n  // clean up\n  free(all_gpu_permutations);\n  return ncclSuccess;\n}\n\nncclResult_t find_gpu_hives(int *g_hives, int *ng_hives, struct rcclRomeModel *romeTopo) {\n  const int ngpus = romeTopo->nGpus;\n  const int gpus_per_hive = romeTopo->nLinks + 1;\n  const int nhives = ngpus / gpus_per_hive;\n\n  int i;\n  for (i = 0; i < ngpus; i++) {\n    int j, h;\n    for (j = 0; j < nhives; j++) {\n      if (ng_hives[j]) {\n        if (romeTopo->connMatrix[i*ngpus+g_hives[j*gpus_per_hive]]) {\n          g_hives[j*gpus_per_hive+ng_hives[j]] = i;\n          ng_hives[j] ++;\n          break;\n        }\n      }\n    }\n    if (j >= nhives) {\n      for (h = 0; h < nhives; h++) {\n        if (ng_hives[h] == 0) {\n          g_hives[h*gpus_per_hive] = i;\n          ng_hives[h]++;\n          break;\n        }\n      }\n      if (h >= nhives)\n        return ncclInternalError;\n    }\n  }\n  for (int i = 0; i < nhives; i++) {\n    if (ng_hives[i] != gpus_per_hive)\n      return ncclInternalError;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t parse4H4P(struct ncclTopoSystem* system, struct ncclTopoGraph* graph) {\n  constexpr int NUM_HIVES = 4;\n  constexpr int HIVE_GPUS = 4;\n\n  const int ngpus = system->nodes[GPU].count;\n  const int nnets = system->nodes[NET].count;\n\n  // only valid on Rome\n  int arch, vendor, model;\n  NCCLCHECK(ncclTopoCpuType(system, &arch, &vendor, &model));\n  if (arch != NCCL_TOPO_CPU_ARCH_X86 || vendor != NCCL_TOPO_CPU_VENDOR_AMD || model != NCCL_TOPO_CPU_MODEL_AMD_ROME)\n    return ncclSuccess;\n\n  // number of GPUs and NICs on each numa node is used as first screening pattern\n  struct rcclRomeModel romeTopo;\n  char pattern[256];\n  int devids[HIVE_GPUS*NUM_HIVES];\n  NCCLCHECK(parseRomeSystem(system, &romeTopo, pattern, devids));\n\n  // only match for system with 16 GPUs\n  if (ngpus != NUM_HIVES*HIVE_GPUS || nnets != NUM_HIVES*HIVE_GPUS) return ncclSuccess;\n\n  std::vector<int> g_hives(ngpus), n_hives(nnets);\n  int ng_hives[NUM_HIVES];\n  int rdm[NUM_HIVES*HIVE_GPUS];\n\n  // try to sort GPUs into hives\n  for (int i = 0; i < NUM_HIVES; i++)\n    ng_hives[i] = 0;\n  for (int i = 0; i < nnets; i++)\n    n_hives[i] = -1;\n  for (int i = 0; i < ngpus; i++)\n    g_hives[i] = -1;\n\n  if (find_gpu_hives(g_hives.data(), ng_hives, &romeTopo))\n    return ncclSuccess;\n\n  for (int i = 0; i < NUM_HIVES; i++)\n    if (ng_hives[i] != 4) return ncclSuccess;\n  // remap NET ids\n  for (int i = 0; i < nnets; i++) {\n    int j;\n    for (j = 0; j < ngpus; j++) {\n      if(romeTopo.gdrLevel[i*nnets+g_hives[j]] == PATH_PIX) {\n        n_hives[j] = i;\n        break;\n      }\n    }\n    if (j >= ngpus) return ncclSuccess;\n  }\n  // validation\n  for (int i = 0; i < nnets; i++)\n    if (n_hives[i] == -1) return ncclSuccess;\n  for (int i = 0; i < ngpus; i++)\n    if (g_hives[i] == -1) return ncclSuccess;\n\n  for (int m = 0; m<ngpus; m++) rdm[m] = devids[g_hives[m]];\n\n  char line[1024];\n  sprintf(line, \"Found matching Rome model 4P4H with GPU mapping: \");\n  int offset = strlen(line);\n  for (int k = 0; k < ngpus; k++) {\n    sprintf(line+offset, \"%d \", rdm[k]);\n    offset = strlen(line);\n  }\n  if (nnets > 1) {\n    sprintf(line+offset, \"NET mapping: \");\n    offset = strlen(line);\n    for (int k = 0; k < nnets; k++) {\n      sprintf(line+offset, \"%d \", n_hives[k]);\n      offset = strlen(line);\n    }\n  }\n  INFO(NCCL_GRAPH, \"%s\", line);\n  if (arch == NCCL_TOPO_CPU_ARCH_X86 && vendor == NCCL_TOPO_CPU_VENDOR_AMD && model == NCCL_TOPO_CPU_MODEL_AMD_ROME)\n    system->type |= RCCL_TOPO_4P2H_ROME;\n  parseOptions(system, rome_model_68.options);\n  // create 4P4H based on reference and remapped ids\n  NCCLCHECK(parseGraph(rome_model_68.ringBase, system, graph, rdm, n_hives.data(), false));\n  return ncclSuccess;\n}\n\nstatic struct rcclRomeModel gio16gColumbaModel = {\n  .nGpus = 16, .nCpus = 2, .nNics = 0, .nLinks = 7,\n  .gpuIds = { 0x24000, 0x2a000, 0x37000, 0x3d000, 0x4a000, 0x50000, 0x5d000, 0x63000, 0xaf000, 0xb5000, 0xc2000, 0xc8000, 0xd5000, 0xdb000, 0xe8000, 0xee000, },\n  .nicIds = { },\n  .gpuNuma = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, },\n  .nicNuma = { },\n  .connMatrix = { 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,\n                  1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,\n                  1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,\n                  1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,\n                  1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,\n                  1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,\n                  1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,\n                  1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n                  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,\n                  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1,\n                  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,\n                  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1,\n                  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1,\n                  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1,\n                  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1,\n                  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, },\n  .gdrLevel = { },\n  .pattern = \"8080\",\n  .ringBase = \"0 1 2 3 4 5 7 6 12 13 14 15 8 9 11 10\"\n            \"| 2 7 3 5 1 6 0 4 14 9 15 10 13 11 12 8\"\n            \"| 1 3 0 7 4 6 2 5 13 15 11 8 10 14 12 9\"\n            \"| 3 6 5 0 2 4 1 7 15 12 10 9 13 8 14 11\"\n            \"| 10 11 9 8 15 14 13 12 6 7 5 4 3 2 1 0\"\n            \"| 8 12 11 13 10 15 9 14 4 0 6 1 5 3 7 2\"\n            \"| 9 12 14 10 8 11 15 13 5 2 6 4 7 0 3 1\"\n            \"| 11 14 8 13 9 10 12 15 7 1 4 2 0 5 6 3\",\n  .options = \"\",\n};\n\nncclResult_t parseGIOTopos(struct ncclTopoSystem* system, struct ncclTopoGraph* graph) {\n  ncclResult_t r;\n  constexpr int NGPUS = 16;\n  constexpr int NHIVES = 2;\n  constexpr int GPUS_PER_HIVE = NGPUS/NHIVES;\n  const int ngpus = system->nodes[GPU].count;\n  const int ncpus = system->nodes[CPU].count;\n  const int nnets = system->nodes[NET].count;\n\n  if (ngpus < NGPUS || ncpus > 2 || nnets != 0)\n    return ncclSuccess;\n\n  struct rcclRomeModel romeTopo;\n  char pattern[256];\n  int devids[NGPUS];\n  NCCLCHECK(parseRomeSystem(system, &romeTopo, pattern, devids));\n\n  if (romeTopo.nLinks + 1 != GPUS_PER_HIVE)\n    return ncclSuccess;\n\n  int g_hives[NGPUS], ng_hives[NHIVES], rdm[NGPUS];\n  memset(ng_hives, 0, sizeof(ng_hives));\n  memset(g_hives, -1, sizeof(g_hives));\n  NCCLCHECKGOTO(find_gpu_hives(g_hives, ng_hives, &romeTopo), r, exit);\n\n  for (int m = 0; m<ngpus; m++) rdm[m] = devids[g_hives[m]];\n\n  char line[1024];\n  int offset;\n  sprintf(line, \"Found GigaIO rome topo, gpu_mapping: \");\n  offset = strlen(line);\n  for (int k = 0; k < ngpus; k++) {\n    sprintf(line+offset, \"%d \", g_hives[k]);\n    offset = strlen(line);\n  }\n  INFO(NCCL_GRAPH,\"%s\", line);\n\n  system->type |= RCCL_TOPO_4P2H_ROME;\n\n  NCCLCHECKGOTO(parseGraph(gio16gColumbaModel.ringBase, system, graph, rdm, NULL, false), r, exit);\n\nexit:\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/graph/rome_models.h",
    "content": "/*\nCopyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.\nCopyright (c) 2024 GigaIO Networks, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n#ifndef RCCL_ROME_MODELS_H_\n#define RCCL_ROME_MODELS_H_\n\nncclResult_t parseGraph(const char* str, struct ncclTopoSystem* system, struct ncclTopoGraph* graph, int* gpu_map, int* net_map, int reverse);\nncclResult_t parseGraphLight(const char* str, struct ncclTopoSystem* system, struct ncclTopoGraph* graph, int* gpu_map);\nncclResult_t parseRome4P2H(struct ncclTopoSystem* system, struct ncclTopoGraph* graph2, const char *ringBase);\nncclResult_t parseChordalRing(struct ncclTopoSystem* system, struct ncclTopoGraph* graph);\nncclResult_t parse1H16P(struct ncclTopoSystem* system, struct ncclTopoGraph* graph);\nncclResult_t parse4H4P(struct ncclTopoSystem* system, struct ncclTopoGraph* graph);\nncclResult_t parseA2a8P(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, const char *ringBase);\nncclResult_t parseGIOTopos(struct ncclTopoSystem* system, struct ncclTopoGraph* graph);\n\n#endif\n"
  },
  {
    "path": "src/graph/search.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) 2019-2022 GigaIO Networks, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"core.h\"\n#include \"graph.h\"\n#include \"topo.h\"\n#include \"transport.h\"\n#include \"xml.h\"\n#include <math.h>\n#include <sys/time.h>\n#include \"rome_models.h\"\n\nNCCL_PARAM(CrossNic, \"CROSS_NIC\", 2);\n\n// Initialize system->maxBw. This is the per-channel (i.e. per-SM)\n// max bw.\nstatic float getMaxBw(struct ncclTopoSystem* system, struct ncclTopoNode* gpu, int type) {\n  float maxBw = 0.0;\n  for (int i=0; i<system->nodes[type].count; i++) {\n    struct ncclTopoLinkList* path = gpu->paths[type]+i;\n    float bw = path->bw;\n    if (path->count == 0) continue;\n    maxBw = std::max(maxBw, bw);\n  }\n  return maxBw;\n}\nstatic float getTotalBw(struct ncclTopoSystem* system, struct ncclTopoNode* gpu) {\n  float nvlinkBw = 0.0, pciBw = 0.0;\n  for (int l=0; l<gpu->nlinks; l++) {\n    struct ncclTopoLink* link = gpu->links+l;\n    if (link->type == LINK_NVL) nvlinkBw += link->bw;\n    if (link->type == LINK_PCI) pciBw = link->bw;\n  }\n  return std::max(pciBw, nvlinkBw);\n}\nncclResult_t ncclTopoSearchInit(struct ncclTopoSystem* system) {\n  system->maxBw = 0.0;\n  system->totalBw = 0.0;\n  int inter = system->nodes[NET].count;\n  if (inter == 0 && system->nodes[GPU].count == 1) {\n    system->maxBw = LOC_BW;\n    system->totalBw = LOC_BW;\n    return ncclSuccess;\n  }\n  for (int g=0; g<system->nodes[GPU].count; g++) {\n    struct ncclTopoNode* gpu = system->nodes[GPU].nodes+g;\n    system->maxBw = std::max(system->maxBw, getMaxBw(system, gpu, inter ? NET : GPU));\n    system->totalBw = std::max(system->totalBw, getTotalBw(system, gpu));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoComputeCommCPU(struct ncclComm* comm) {\n  // We assume there is at least one CPU and that the CPUs have the same\n  // architecture and vendor.\n  const struct ncclTopoNodeSet* cpus = &comm->topo->nodes[CPU];\n  comm->cpuArch = cpus->nodes[0].cpu.arch;\n  comm->cpuVendor = cpus->nodes[0].cpu.vendor;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t findRevLink(struct ncclTopoNode* node1, struct ncclTopoNode* node2, int type, struct ncclTopoLink** revLink) {\n  for (int l=0; l<node2->nlinks; l++) {\n    struct ncclTopoLink* link = node2->links+l;\n    if (link->remNode == node1 && link->type == type) {\n      *revLink = link;\n      return ncclSuccess;\n    }\n  }\n  WARN(\"Could not find rev link for %d/%ld -> %d/%ld\", node1->type, node1->id, node2->type, node2->id);\n  return ncclInternalError;\n}\n\n// This is unfortunately needed since manipulating floats often results in rounding errors.\n#define SUB_ROUND(a, b) (a = roundf((a-b)*1000)/1000)\n\nstatic ncclResult_t followPath(struct ncclTopoLinkList* path, struct ncclTopoNode* start, int maxSteps, float bw, int* steps) {\n  float pciBw = bw;\n  for (int step=0; step<path->count; step++) {\n    struct ncclTopoNode* node = path->list[step]->remNode;\n    if (node->type == CPU) {\n      // Account for P2P inefficiency through Intel CPU RC\n      if (path->type == PATH_PHB && start->type == GPU &&\n          node->cpu.arch == NCCL_TOPO_CPU_ARCH_X86 &&\n          node->cpu.vendor == NCCL_TOPO_CPU_VENDOR_INTEL) {\n        pciBw = INTEL_P2P_OVERHEAD(bw);\n      }\n    }\n  }\n\n  struct ncclTopoNode* node = start;\n  for (int step=0; step<maxSteps; step++) {\n    struct ncclTopoLink* link = path->list[step];\n    struct ncclTopoLink* revLink = NULL;\n    float fwBw = link->type == LINK_PCI ? pciBw : bw;\n    float revBw = 0;\n    if (link->remNode->type == GPU && link->remNode->gpu.cudaCompCap < 80 && start->type != GPU) {\n      if (revLink == NULL) NCCLCHECK(findRevLink(node, link->remNode, link->type, &revLink));\n      revBw += fwBw/8;\n    }\n    if (link->remNode->type == CPU && link->remNode->cpu.arch == NCCL_TOPO_CPU_ARCH_POWER && link->type == LINK_NVL) {\n      if (revLink == NULL) NCCLCHECK(findRevLink(node, link->remNode, link->type, &revLink));\n      revBw += fwBw;\n    }\n    // Coverity thinks that revLink could be NULL below.  However, we access it only if revBw is non-0, and the\n    // logic of the code is that revBw can become non-0 only if revLink is non-NULL (see the \"if\" statement right above).\n    // coverity[var_deref_op]\n    if (link->bw < fwBw || (revBw && revLink->bw < revBw)) { *steps = step; return ncclSuccess; }\n    SUB_ROUND(link->bw, fwBw);\n    if (revBw) SUB_ROUND(revLink->bw, revBw);\n    node = link->remNode;\n  }\n  *steps = maxSteps;\n  return ncclSuccess;\n}\n\n// Try to go from node type1/index1 to no type2/index2. mult indicates whether we are counting the bandwidth (1) or undoing (-1).\nstatic ncclResult_t ncclTopoFollowPath(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, int type1, int index1, int type2, int index2, float mult, struct ncclTopoNode** node) {\n  // First handle easy cases\n  *node = system->nodes[type2].nodes+index2;\n  if (type1 == -1) return ncclSuccess;\n  struct ncclTopoNode* node1 = system->nodes[type1].nodes+index1;\n  struct ncclTopoLinkList* path = node1->paths[type2]+index2;\n  struct ncclTopoNode* node2 = system->nodes[type2].nodes+index2;\n  struct ncclTopoLinkList* revPath = node2->paths[type1]+index1;\n\n  if (path == NULL) {\n    WARN(\"No path computed to go from %s/%d to %s/%d\", topoNodeTypeStr[type1], index1, topoNodeTypeStr[type2], index2);\n    return ncclInternalError;\n  }\n\n  // Now check link type\n  *node = NULL;\n  int intra = (type1 == GPU || type1 == NVS) && (type2 == GPU || type2 == NVS);\n  float bw = intra ? graph->bwIntra : graph->bwInter;\n  int type = intra ? graph->typeIntra : graph->typeInter;\n\n  if (path->type >= PATH_DIS) return ncclSuccess;\n  if (mult == 1 && (path->type > type)) return ncclSuccess;\n  if (mult == 1 && (graph->pattern == NCCL_TOPO_PATTERN_BALANCED_TREE ||\n        graph->pattern == NCCL_TOPO_PATTERN_TREE ||\n        graph->pattern == NCCL_TOPO_PATTERN_SPLIT_TREE) &&\n      (revPath->type > type)) return ncclSuccess;\n\n  bw *= mult;\n\n  // Check there is enough bandwidth on paths.\n  int step = 0;\n  NCCLCHECK(followPath(path, node1, path->count, bw, &step));\n  if (step < path->count) goto rewind;\n\n  // Enough bandwidth : return destination node.\n  graph->nHops += mult*path->count;\n  *node = system->nodes[type2].nodes+index2;\n  return ncclSuccess;\n\nrewind:\n  // Not enough bandwidth : rewind and exit.\n  NCCLCHECK(followPath(path, node1, step, -bw, &step));\n  return ncclSuccess;\n}\n\nstatic int gpuPciBw(struct ncclTopoNode* gpu) {\n  for (int l=0; l<gpu->nlinks; l++) {\n    struct ncclTopoLink* gpuLink = gpu->links+l;\n    if (gpuLink->type != LINK_PCI) continue;\n    struct ncclTopoNode* pci = gpuLink->remNode;\n    for (int l=0; l<pci->nlinks; l++) {\n      struct ncclTopoLink* pciLink = pci->links+l;\n      if (pciLink->remNode != gpu) continue;\n      return std::min(gpuLink->bw, pciLink->bw);\n    }\n  }\n  return -1;\n}\n\n/* Choose the order in which we try next GPUs. This is critical for the search\n  to quickly converge to the best solution even if it eventually times out. */\nstruct ncclGpuScore {\n  int g;             // Retain the index\n  int startIndex;    // Least important\n  int intraNhops;\n  int intraBw;\n  int interNhops;\n  int interPciBw;\n  int interBw;    // Most important\n};\n\nstatic int cmpScore(const void * g1, const void * g2) {\n  struct ncclGpuScore *s1 = (struct ncclGpuScore*)g1;\n  struct ncclGpuScore *s2 = (struct ncclGpuScore*)g2;\n  int d;\n  if ((d = (s2->interBw - s1->interBw))) return d;\n  if ((d = (s2->interPciBw - s1->interPciBw))) return d;\n  if ((d = (s1->interNhops - s2->interNhops))) return d;\n  if ((d = (s2->intraBw - s1->intraBw))) return d;\n  if ((d = (s1->intraNhops - s2->intraNhops))) return d;\n  return s1->startIndex - s2->startIndex;\n}\n\nstatic int cmpIntraScores(struct ncclGpuScore* scores, int count) {\n  int intraBw = scores[0].intraBw;\n  int intraNhops = scores[0].intraNhops;\n  for (int i=1; i<count; i++) {\n    if (scores[i].intraBw != intraBw || scores[i].intraNhops != intraNhops) return 1;\n  }\n  return 0;\n}\n\nstatic ncclResult_t getGpuIndex(struct ncclTopoSystem* system, int rank, int* index) {\n  for (int g=0; g<system->nodes[GPU].count; g++) {\n    if (system->nodes[GPU].nodes[g].gpu.rank == rank) {\n      *index = g;\n      return ncclSuccess;\n    }\n  }\n  WARN(\"Could not find gpu rank %d\", rank);\n  return ncclInternalError;\n}\n\nstatic ncclResult_t getNetIndex(struct ncclTopoSystem* system, int64_t id, int* index) {\n  for (int n=0; n<system->nodes[NET].count; n++) {\n    if (system->nodes[NET].nodes[n].id == id) {\n      *index = n;\n      return ncclSuccess;\n    }\n  }\n  WARN(\"Could not find net id %lx\", id);\n  return ncclInternalError;\n}\n\nstatic ncclResult_t getNetPaths(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, struct ncclTopoLinkList** netPaths) {\n  int64_t netId = graph->inter[graph->nChannels*2];\n  int n;\n  NCCLCHECK(getNetIndex(system, netId, &n));\n  *netPaths=system->nodes[NET].nodes[n].paths[GPU];\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoSearchNextGpuSort(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, struct ncclTopoNode* gpu, int* next, int* countPtr, int sortNet) {\n  const uint64_t flag = 1ULL<<(graph->nChannels);\n  int ngpus = system->nodes[GPU].count;\n  struct ncclTopoLinkList* paths = gpu->paths[GPU];\n  struct ncclTopoLinkList* netPaths = NULL;\n  if (sortNet) NCCLCHECK(getNetPaths(system, graph, &netPaths));\n\n  struct ncclGpuScore scores[NCCL_TOPO_MAX_NODES];\n  memset(scores, 0, ngpus*sizeof(struct ncclGpuScore));\n  int start = gpu-system->nodes[GPU].nodes;\n  int count = 0;\n  for (int i=1; i<ngpus; i++) {\n    int g = (start+i)%ngpus;\n    if (paths[g].count == 0) continue; // There is no path to that GPU\n    if (system->nodes[GPU].nodes[g].used & flag) continue;\n    scores[count].g = g;\n    scores[count].startIndex = i;\n    scores[count].intraNhops = paths[g].count;\n    scores[count].intraBw = paths[g].bw;\n    if (netPaths) {\n      scores[count].interNhops = netPaths[g].count;\n      scores[count].interPciBw = gpuPciBw(system->nodes[GPU].nodes+g);\n      scores[count].interBw = netPaths[g].bw;\n    }\n    count++;\n  }\n\n  // Sort GPUs\n  qsort(scores, count, sizeof(struct ncclGpuScore), cmpScore);\n\n  // Check if all have the same intra-node score in which case we go reverse for sortNet = -1\n  if (sortNet == -1 && cmpIntraScores(scores, count) == 0) {\n    for (int i=0; i<count; i++) next[i] = scores[count-1-i].g;\n  } else {\n    for (int i=0; i<count; i++) next[i] = scores[i].g;\n  }\n\n  *countPtr = count;\n\n  if (system->nodes[NVS].count) {\n    // NVSwitches prefer when we talk to a limited set of peers. Try to use neighbors first.\n    int index = gpu-system->nodes[GPU].nodes;\n    int i;\n    int prevGpu = (index-1+ngpus)%ngpus;\n    int nextGpu = (index+1)%ngpus;\n    int firstGpus[2];\n    int firstGpuCount = 0;\n    if (graph->pattern == NCCL_TOPO_PATTERN_RING) {\n      firstGpus[0] = nextGpu; firstGpus[1] = prevGpu; firstGpuCount = 2;\n    } else if (graph->pattern == NCCL_TOPO_PATTERN_SPLIT_TREE ||\n        graph->pattern == NCCL_TOPO_PATTERN_BALANCED_TREE) {\n      firstGpus[0] = prevGpu; firstGpus[1] = nextGpu; firstGpuCount = 2;\n    } else {\n      firstGpus[0] = nextGpu; firstGpuCount = 1;\n    }\n    if (nextGpu == prevGpu && firstGpuCount == 2) firstGpuCount = 1;\n    int firstGpuRealCount = 0;\n    for (int g=0; g<firstGpuCount; g++) {\n      for (i=0; i<count && next[i] != firstGpus[g]; i++);\n      if (i<count) {\n        for (; i>0; i--) next[i] = next[i-1];\n        next[0] = firstGpus[g];\n        firstGpuRealCount++;\n      }\n    }\n    *countPtr = firstGpuRealCount;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoSearchRec(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, struct ncclTopoGraph* saveGraph, int* time);\n\n// Try to keep all searchs within one second\n#define NCCL_SEARCH_GLOBAL_TIMEOUT (1ULL<<19)\n#define NCCL_SEARCH_TIMEOUT (1<<14)\n#define NCCL_SEARCH_TIMEOUT_TREE (1<<14)\n#define NCCL_SEARCH_TIMEOUT_SAMECHANNELS (1<<8)\n\n#define FORCED_ORDER_PCI 1\n#define FORCED_ORDER_REPLAY 2\n\nncclResult_t ncclTopoReplayGetGpu(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, int step, int* g) {\n  *g = -1;\n  if (graph->nChannels == 0) return ncclInternalError;\n  int ngpus = system->nodes[GPU].count;\n  int nextRank = graph->intra[(graph->nChannels-1)*ngpus+step+1];\n  for (int i=0; i<ngpus; i++) if (system->nodes[GPU].nodes[i].gpu.rank == nextRank) {\n    *g = i;\n    return ncclSuccess;\n  }\n  return ncclInternalError;\n}\n\nncclResult_t ncclTopoSearchRecGpu(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, struct ncclTopoGraph* saveGraph, struct ncclTopoNode* gpu, int step, int backToNet, int backToFirstRank, int forcedOrder, int *time);\n\nncclResult_t ncclTopoSearchTryGpu(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, struct ncclTopoGraph* saveGraph, int step, int backToNet, int backToFirstRank, int forcedOrder, int *time, int type, int index, int g) {\n  const uint64_t flag = 1ULL<<(graph->nChannels);\n  struct ncclTopoNode* gpu;\n  NCCLCHECK(ncclTopoFollowPath(system, graph, type, index, GPU, g, 1, &gpu));\n  if (gpu) {\n    gpu->used ^= flag;\n    NCCLCHECK(ncclTopoSearchRecGpu(system, graph, saveGraph, gpu, step, backToNet, backToFirstRank, forcedOrder, time));\n    gpu->used ^= flag;\n    NCCLCHECK(ncclTopoFollowPath(system, graph, type, index, GPU, g, -1, &gpu));\n  }\n  return ncclSuccess;\n}\n\nstatic int ncclTopoCountXGMI(struct ncclTopoSystem* system, struct ncclTopoGraph* graph) {\n  int ngpus = system->nodes[GPU].count;\n  int count = 0;\n  for (int c=0; c<graph->nChannels; c++) {\n    for (int i=0; i<ngpus; i++) {\n      int g = graph->intra[ngpus*c+i];\n      int n = graph->intra[ngpus*c+((i+1)%ngpus)];\n      struct ncclTopoNode *node;\n      int j;\n      for (j=0; j<ngpus; j++)\n        if (system->nodes[GPU].nodes[j].gpu.rank == g) break;\n      if (j<ngpus) {\n        node = system->nodes[GPU].nodes+j;\n        for (int k = 0; k<system->nodes[GPU].count; k++) {\n          if (node->paths[GPU][k].count == 1) {\n            struct ncclTopoLink* link = node->paths[GPU][k].list[0];\n            struct ncclTopoNode* remNode = link->remNode;\n            if (remNode->gpu.rank == n) {\n              if (link->type == LINK_NVL)\n                count ++;\n            }\n          }\n        }\n      }\n    }\n  }\n  return count;\n}\n\nncclResult_t ncclTopoSearchTryCollnetDirect(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, struct ncclTopoGraph* saveGraph, int g, int ngpus, int *time) {\n  int fwdg = 0;\n  int bwdg = 0;\n  struct ncclTopoNode* gpu = NULL;\n  float mul = 1.0 / (float)(system->nodes[GPU].count - 1);\n  do {\n    NCCLCHECK(ncclTopoFollowPath(system, graph, GPU, g, GPU, fwdg, mul, &gpu));\n  } while (gpu && ++fwdg < system->nodes[GPU].count);\n\n  if (gpu != NULL) {\n    do {\n      NCCLCHECK(ncclTopoFollowPath(system, graph, GPU, bwdg, GPU, g, mul, &gpu));\n    } while (gpu && ++bwdg < system->nodes[GPU].count);\n    if (gpu != NULL) {\n      // Both directions worked. Now we already have head, so pop the all other intra ranks.\n      int step = 1;\n      for (int index = 0; index < ngpus; ++index) {\n        if (index != g) {\n          graph->intra[graph->nChannels * ngpus + step] = system->nodes[GPU].nodes[index].gpu.rank;\n          step++;\n        }\n      }\n      NCCLCHECK(ncclTopoSearchRecGpu(system, graph, saveGraph, NULL, ngpus, -1, -1, 0, time));\n    }\n    while (bwdg) {\n      bwdg--;\n      NCCLCHECK(ncclTopoFollowPath(system, graph, GPU, bwdg, GPU, g, -mul, &gpu));\n    }\n  }\n  while (fwdg) {\n    fwdg--;\n    NCCLCHECK(ncclTopoFollowPath(system, graph, GPU, g, GPU, fwdg, -mul, &gpu));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoSearchTryNvls(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, struct ncclTopoGraph* saveGraph, int g, int ngpus, int *time) {\n  struct ncclTopoNode* nvs;\n  struct ncclTopoNode* gpu;\n  int d0=0; // See if there is enough bandwidth for NVS->GPU traffic\n  do {\n    NCCLCHECK(ncclTopoFollowPath(system, graph, NVS, 0, GPU, d0, d0 == g ? 2 : 1, &gpu));\n    d0++;\n  } while (gpu && d0 < system->nodes[GPU].count);\n  if (gpu == NULL) {\n    d0--;\n  } else {\n    int d1=0; // See if there is enough bandwidth for GPU->NVS traffic\n    do {\n      NCCLCHECK(ncclTopoFollowPath(system, graph, GPU, d1, NVS, 0, d1 == g ? 2 : 1, &nvs));\n      d1++;\n    } while (nvs && d1 < system->nodes[GPU].count);\n    if (nvs == NULL) {\n      d1--;\n    } else { // Both directions worked. Move on to the next path.\n      NCCLCHECK(ncclTopoSearchRecGpu(system, graph, saveGraph, NULL, ngpus, -1, -1, 0, time));\n    }\n    while (d1) {\n      d1--;\n      NCCLCHECK(ncclTopoFollowPath(system, graph, GPU, d1, NVS, 0, d1 == g ? -2 : -1, &nvs));\n    }\n  }\n  while (d0) {\n    d0--;\n    NCCLCHECK(ncclTopoFollowPath(system, graph, NVS, 0, GPU, d0, d0 == g ? -2 : -1, &gpu));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoCompareGraphs(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, struct ncclTopoGraph* refGraph, int* copy) {\n  // 1. Try to get the same nChannels between Rings and Trees\n  if (graph->nChannels < graph->minChannels) return ncclSuccess;\n\n  if (graph->pattern == NCCL_TOPO_PATTERN_NVLS) { // NVLS channels correspond to GPUs pulling from NVLS. So the more the better.\n    if (graph->nChannels > refGraph->nChannels && graph->nChannels <= system->nodes[GPU].count) *copy = 1;\n    if (graph->nChannels*graph->bwInter > refGraph->nChannels*refGraph->bwInter) *copy = 1;\n    return ncclSuccess;\n  }\n  // 2. Try to get better bandwidth\n  if (graph->nChannels*graph->bwIntra > refGraph->nChannels*refGraph->bwIntra) {\n    *copy = 1;\n    return ncclSuccess;\n  }\n  if (graph->nChannels*graph->bwIntra < refGraph->nChannels*refGraph->bwIntra) return ncclSuccess;\n\n  // 3. Less hops\n  if (graph->pattern == refGraph->pattern && graph->crossNic == refGraph->crossNic && graph->nHops < refGraph->nHops) *copy = 1;\n\n  // 4. Prefer graph with more XGMI connections\n  if (graph->nChannels == refGraph->nChannels\n    && ncclTopoCountXGMI(system, refGraph) < ncclTopoCountXGMI(system, graph)) *copy = 1;\n  return ncclSuccess;\n}\n\n// Add the preferred NICs ordered by GPU first\nstatic ncclResult_t ncclTopoPrefNetsGpuFirst(struct ncclTopoSystem* system, int gpu, int nets[NCCL_TOPO_MAX_NODES], int* netCount) {\n  const int nGpus = (gpu == -1) ? system->nodes[GPU].count : 1;\n  int gpuCount = nGpus;\n  int gpuIds[NCCL_TOPO_MAX_NODES] = {gpu};\n  int firstNets[NCCL_TOPO_MAX_NODES];\n  if (gpu == -1)\n    for (int g = 0; g < nGpus; g++) gpuIds[g] = g;\n\n  for (int c = 0; c < MAXCHANNELS; c++) {\n    for (int g = 0; g < nGpus; g++) {\n      if (gpuIds[g] == -1) continue;\n      int localNet;\n      int64_t netId;\n      struct ncclTopoNode* gpu = system->nodes[GPU].nodes + gpuIds[g];\n      NCCLCHECK(ncclTopoGetLocalNet(system, gpu->gpu.rank, c, &netId, NULL));\n      NCCLCHECK(ncclTopoIdToIndex(system, NET, netId, &localNet));\n      // store the first net found for each GPU in case of duplicates\n      if(c == 0) firstNets[g] = localNet;\n      // if the NET has already been returned for channel 0, that GPU is done\n      if (c > 0 && firstNets[g] == localNet) {\n        gpuIds[g] = -1;\n        gpuCount--;\n        continue;\n      }\n      // only add it to the list if it doesn't already exist\n      int found = 0;\n      while (found < (*netCount) && nets[found] != localNet) found++;\n      if (found == (*netCount)) nets[(*netCount)++] = localNet;\n    }\n    if (gpuCount == 0) break;\n  }\n  return ncclSuccess;\n}\n\n// Add the preferred NICs ordered by channels first\nstatic ncclResult_t ncclTopoPrefNetsChannelFirst(struct ncclTopoSystem* system, int gpu, int nets[NCCL_TOPO_MAX_NODES], int* netCount) {\n  for (int g = 0; g < system->nodes[GPU].count; g++) {\n    if (gpu != -1 && gpu != g) continue;\n    int localNetCount = 0, localNets[MAXCHANNELS];\n    struct ncclTopoNode* gpu = system->nodes[GPU].nodes + g;\n    for (int c = 0; c < MAXCHANNELS; c++) {\n      int64_t netId;\n      NCCLCHECK(ncclTopoGetLocalNet(system, gpu->gpu.rank, c, &netId, NULL));\n      NCCLCHECK(ncclTopoIdToIndex(system, NET, netId, localNets + localNetCount));\n      if (localNetCount > 0 && localNets[localNetCount] == localNets[0]) break;\n      localNetCount++;\n    }\n    // Append NICs to list\n    for (int i = 0; i < localNetCount; i++) {\n      int n = localNets[i];\n      int found = 0;\n      while (found < (*netCount) && nets[found] != n) found++;\n      if (found == (*netCount)) nets[(*netCount)++] = n;\n    }\n  }\n  return ncclSuccess;\n}\n\n// Build a sorted list of the NETs to try.\n//\n// \"gpu\" can be set to -1 to build a list suitable for all GPUs (search start) or to a given gpu\n//  index when trying to get back to the NIC.\n//\n// The list is built the following way:\n// 1. Select NETs starting with those close to GPU(s), based on paths[n].type.\n// 2. add other NETs satisfying typeInter but not already in the list.\nNCCL_PARAM(ScatterEnable, \"MNNVL_SCATTER_NETS_ENABLE\", 1);\nncclResult_t ncclTopoSelectNets(struct ncclTopoSystem* system, int typeInter, int gpu, int nets[NCCL_TOPO_MAX_NODES], int* netCountRet) {\n  ncclResult_t ret = ncclSuccess;\n  int netCount = 0;\n\n  // First add the preferred NETs.\n  if (system->nHosts > 1 && ncclParamScatterEnable()) {\n    // For MNNVL systems, we sort the devices by GPU first, then by channel\n    NCCLCHECK(ncclTopoPrefNetsGpuFirst(system, gpu, nets, &netCount));\n  } else {\n    // For other systems, we sort the devices by channel first, then by GPU\n    NCCLCHECK(ncclTopoPrefNetsChannelFirst(system, gpu, nets, &netCount));\n  }\n\n  // Then add others satisfying typeInter\n  for (int t=0; t <= typeInter; t++) {\n    for (int g = 0; g < system->nodes[GPU].count; g++) {\n      if (gpu != -1 && gpu != g) continue;\n      int localNetCount = 0, localNets[MAXCHANNELS];\n      struct ncclTopoNode* gpu = system->nodes[GPU].nodes+g;\n      struct ncclTopoLinkList* paths = gpu->paths[NET];\n      for (int n=0; n<system->nodes[NET].count && n<MAXCHANNELS; n++) {\n        if (paths[n].type == t) localNets[localNetCount++] = n;\n      }\n      // Append NICs to list\n      for (int i=0; i<localNetCount; i++) {\n        int n = localNets[i];\n        int found = 0;\n        while (found<netCount && nets[found] != n) found++;\n        if (found == netCount) nets[netCount++] = n;\n      }\n    }\n  }\n\n  *netCountRet = netCount;\n  return ret;\n}\n\nncclResult_t ncclTopoSearchRecGpu(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, struct ncclTopoGraph* saveGraph, struct ncclTopoNode* gpu, int step, int backToNet, int backToFirstRank, int forcedOrder, int *time) {\n  if ((*time) <= 0) return ncclSuccess;\n  (*time)--;\n\n  int ngpus = system->nodes[GPU].count;\n  if (step == ngpus) {\n    // Determine whether we found a better solution or not\n    int copy = 0;\n    graph->nChannels++;\n    NCCLCHECK(ncclTopoCompareGraphs(system, graph, saveGraph, &copy));\n    if (copy) {\n      memcpy(saveGraph, graph, sizeof(struct ncclTopoGraph));\n      if (graph->nChannels == graph->maxChannels) *time = -1;\n    }\n    if (graph->nChannels < graph->maxChannels) {\n      NCCLCHECK(ncclTopoSearchRec(system, graph, saveGraph, time));\n    }\n    graph->nChannels--;\n    return ncclSuccess;\n  }\n  graph->intra[graph->nChannels*ngpus+step] = gpu->gpu.rank;\n  int g = gpu - system->nodes[GPU].nodes;\n  int nets[NCCL_TOPO_MAX_NODES];\n  if (step == backToNet) {\n    // first get back to NIC\n    if (system->nodes[NET].count) {\n      int startNetIndex;\n      NCCLCHECK(getNetIndex(system, graph->inter[graph->nChannels*2], &startNetIndex));\n      struct ncclTopoNode* startNet = system->nodes[NET].nodes+startNetIndex;\n      int netCount;\n      NCCLCHECK(ncclTopoSelectNets(system, graph->typeInter, g, nets, &netCount));\n      for (int i=0; i<netCount; i++) {\n        int n = nets[i];\n        struct ncclTopoNode* net = system->nodes[NET].nodes+n;\n        if (graph->pattern == NCCL_TOPO_PATTERN_TREE && net->id != startNet->id) continue; // Trees are symmetric\n        if (graph->pattern == NCCL_TOPO_PATTERN_RING && graph->crossNic == 2) {\n          if (graph->nChannels & 1 && net->id != graph->inter[(graph->nChannels-1)*2]) continue;\n        } else {\n          if (graph->crossNic == 0 && (net->net.asic != startNet->net.asic || net->net.port != startNet->net.port)) continue;\n        }\n\n        // Balanced Tree : count half of the bandwidth on first two GPUs\n        int nextBackToNet = -1;\n        float bwInterSave = graph->bwInter;\n        if (graph->pattern == NCCL_TOPO_PATTERN_BALANCED_TREE) {\n          // Count half of the bandwidth on each of the first two GPUs\n          if (step == 0) nextBackToNet = 1;\n          else if (net->id != graph->inter[graph->nChannels*2+1]) continue;\n          graph->bwInter /= 2;\n        }\n\n        NCCLCHECK(ncclTopoFollowPath(system, graph, GPU, g, NET, n, 1, &net));\n        graph->bwInter = bwInterSave;\n        if (net) {\n          graph->inter[graph->nChannels*2+1] = net->id;\n          NCCLCHECK(ncclTopoSearchRecGpu(system, graph, saveGraph, gpu, step, nextBackToNet, backToFirstRank, forcedOrder, time));\n\n          if (graph->pattern == NCCL_TOPO_PATTERN_BALANCED_TREE) graph->bwInter /= 2;\n          NCCLCHECK(ncclTopoFollowPath(system, graph, GPU, g, NET, n, -1, &net));\n          graph->bwInter = bwInterSave;\n        }\n      }\n    }\n  } else if (graph->pattern == NCCL_TOPO_PATTERN_NVLS) {\n    NCCLCHECK(ncclTopoSearchTryNvls(system, graph, saveGraph, g, ngpus, time));\n  } else if (graph->pattern == NCCL_TOPO_PATTERN_COLLNET_DIRECT) {\n    NCCLCHECK(ncclTopoSearchTryCollnetDirect(system, graph, saveGraph, g, ngpus, time));\n  } else if (step < system->nodes[GPU].count-1) {\n    // Go to next GPU\n    int next[NCCL_TOPO_MAX_NODES];\n    int count;\n    if (forcedOrder == FORCED_ORDER_PCI) { // Try the PCI order\n      next[0] = step+1;\n      count = 1;\n    } else if (forcedOrder == FORCED_ORDER_REPLAY) { // Try last channel order\n      NCCLCHECK(ncclTopoReplayGetGpu(system, graph, step, next));\n      count = 1;\n    } else { // Normal search\n      NCCLCHECK(ncclTopoSearchNextGpuSort(system, graph, gpu, next, &count, backToNet == -1 ? 0 : backToNet == step+1 ? 1 : -1 ));\n    }\n    for (int i=0; i<count; i++) {\n      NCCLCHECK(ncclTopoSearchTryGpu(system, graph, saveGraph, step+1, backToNet, backToFirstRank, forcedOrder, time, GPU, g, next[i]));\n    }\n  } else if (step == backToFirstRank) {\n    // Find first GPU and loop back to it\n    int p;\n    NCCLCHECK(getGpuIndex(system, graph->intra[graph->nChannels*ngpus], &p));\n    struct ncclTopoNode* firstGpu;\n    NCCLCHECK(ncclTopoFollowPath(system, graph, GPU, g, GPU, p, 1, &firstGpu));\n    if (firstGpu) {\n      NCCLCHECK(ncclTopoSearchRecGpu(system, graph, saveGraph, firstGpu, step+1, backToNet, -1, forcedOrder, time));\n      NCCLCHECK(ncclTopoFollowPath(system, graph, GPU, g, GPU, p, -1, &firstGpu));\n    }\n  } else {\n    // Next path\n    NCCLCHECK(ncclTopoSearchRecGpu(system, graph, saveGraph, gpu, ngpus, -1, -1, forcedOrder, time));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoSearchRecNet(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, struct ncclTopoGraph* saveGraph, int backToNet, int backToFirstRank, int* time) {\n  const int bw = graph->bwInter;\n  int nets[NCCL_TOPO_MAX_NODES];\n  int netCount;\n  int graphFound = 0;\n  NCCLCHECK(ncclTopoSelectNets(system, graph->typeInter, -1, nets, &netCount));\n  for (int i=0; i<netCount; i++) {\n    if ((graph->pattern == NCCL_TOPO_PATTERN_NVLS || graph->pattern == NCCL_TOPO_PATTERN_COLLNET_DIRECT) && graphFound) break;\n    int n = nets[(graph->nChannels+i)%netCount];\n    struct ncclTopoNode* net = system->nodes[NET].nodes+n;\n    if (graph->collNet && net->net.collSupport == 0) continue;\n    if (net->net.bw < bw) continue;\n    if (graph->pattern == NCCL_TOPO_PATTERN_RING && graph->crossNic == 2\n        && (graph->nChannels & 1) && net->id != graph->inter[(graph->nChannels-1)*2+1]) continue;\n\n    graph->inter[graph->nChannels*2] = net->id;\n    graph->latencyInter = net->net.latency;\n\n    for (int i=0; i<system->nodes[NET].count; i++) {\n      if ((system->nodes[NET].nodes[i].net.asic == net->net.asic) &&\n          (system->nodes[NET].nodes[i].net.port == net->net.port)) {\n        system->nodes[NET].nodes[i].net.bw -= bw;\n      }\n    }\n\n    if (graph->pattern == NCCL_TOPO_PATTERN_NVLS || graph->pattern == NCCL_TOPO_PATTERN_COLLNET_DIRECT) {\n      // NVLS search only tries to find NIC:GPU combinations to compute the heads.\n      if (graph->nChannels < netCount) {\n        int gpu = net->net.localGpu;\n        if (gpu != -1) {\n          int duplicate = 0;\n          // check whether there is duplicate head when one GPU connects with multiple NICs\n          for (int gc = 0; gc < graph->nChannels; gc++) {\n            if (graph->intra[gc * system->nodes[GPU].count] == system->nodes[GPU].nodes[gpu].gpu.rank) {\n              duplicate = 1;\n              break;\n            }\n          }\n          if (!duplicate) {\n            NCCLCHECK(ncclTopoSearchTryGpu(system, graph, saveGraph, 0, backToNet, backToFirstRank, 0, time, NET, n, gpu));\n            graphFound = 1;\n          }\n        }\n      }\n    } else {\n      if (graph->nChannels > 0 && graph->sameChannels == 1) {\n        // Try to replay the last channel\n        int g;\n        NCCLCHECK(ncclTopoReplayGetGpu(system, graph, -1, &g));\n        NCCLCHECK(ncclTopoSearchTryGpu(system, graph, saveGraph, 0, backToNet, backToFirstRank, FORCED_ORDER_REPLAY, time, NET, n, g));\n      } else {\n        if (graph->nChannels == 0 && system->nodes[NVS].count == 0) {\n          // Always try the PCI order first to set a reference, but don't count in the timeout nor let it run for long\n          struct ncclTopoLinkList* paths = net->paths[GPU];\n          int f = 0, f_gdr = 0;\n          // find the first GPU that is closest to NIC\n          for (int i = 0; i<system->nodes[GPU].count; i++) {\n            if (paths[i].count <= paths[f].count) {\n              // prefer GPU direct RDMA\n              enum ncclTopoGdrMode useGdr;\n              NCCLCHECK(ncclTopoCheckGdr(system, system->nodes[GPU].nodes[i].gpu.rank, net->id, 0, &useGdr));\n              if (paths[i].count < paths[f].count || (paths[i].count == paths[f].count && !f_gdr && useGdr)) {\n                f = i;\n                f_gdr = useGdr;\n              }\n            }\n          }\n          int t = 1 << 10;\n          NCCLCHECK(ncclTopoSearchTryGpu(system, graph, saveGraph, 0, backToNet, backToFirstRank, FORCED_ORDER_PCI, &t, NET, n, 0));\n          if (t == -1) *time = -1;\n        }\n\n        // Then try the most local GPUs\n        int localGpu = net->net.localGpu;\n        if (localGpu != -1) {\n          NCCLCHECK(ncclTopoSearchTryGpu(system, graph, saveGraph, 0, backToNet, backToFirstRank, 0, time, NET, n, localGpu));\n        }\n        int localGpus[NCCL_TOPO_MAX_NODES], localGpuCount, pathType;\n        NCCLCHECK(ncclTopoGetLocal(system, NET, n, GPU, localGpus, &localGpuCount, &pathType));\n        // if no GPUs are connected, skip this net\n        if (pathType == PATH_DIS) continue;\n        for (int g = 0; g < localGpuCount; ++g) {\n          if (localGpus[g] == localGpu) continue; // We already tried this one\n          NCCLCHECK(ncclTopoSearchTryGpu(system, graph, saveGraph, 0, backToNet, backToFirstRank, 0, time, NET, n, localGpus[g]));\n        }\n      }\n    }\n\n    for (int i=0; i<system->nodes[NET].count; i++) {\n      if ((system->nodes[NET].nodes[i].net.asic == net->net.asic) &&\n          (system->nodes[NET].nodes[i].net.port == net->net.port)) {\n        system->nodes[NET].nodes[i].net.bw += bw;\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\n/* Search Patterns\n*\n*     Intra-node\n* Ring            : GPU a -> GPU b -> .. -> GPU x -> GPU a\n* (=Split Tree Loop)\n* Tree            : GPU a -> GPU b -> .. -> GPU x\n* (=Split Tree)\n*\n*     Inter-node\n* Ring            : NET n -> GPU a -> GPU b -> .. -> GPU x -> NET n (or m if crossNic)\n* Tree            : NET n -> GPU a -> GPU b -> .. -> GPU x\n*                              `--> NET n (or m if crossNic)\n* Split Tree      : NET n -> GPU a -> GPU b -> .. -> GPU x\n*                                       `--> NET n (or m if crossNic)\n* Split Tree Loop : NET n -> GPU a -> GPU b -> .. -> GPU x -> GPU a\n*                                       `--> NET n (or m if crossNic)\n*/\nncclResult_t ncclTopoSearchParams(struct ncclTopoSystem* system, int pattern, int* backToNet, int* backToFirstRank) {\n  if (system->nodes[NET].count && system->nodes[GPU].count != system->nRanks) {\n    if (pattern == NCCL_TOPO_PATTERN_RING) *backToNet = system->nodes[GPU].count-1;\n    else if (pattern == NCCL_TOPO_PATTERN_SPLIT_TREE) *backToNet = 1;\n    else *backToNet = 0;\n    *backToFirstRank = -1;\n  } else {\n    *backToNet = -1;\n    if (pattern == NCCL_TOPO_PATTERN_RING) *backToFirstRank = system->nodes[GPU].count-1;\n    else *backToFirstRank = -1;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoSearchRec(struct ncclTopoSystem* system, struct ncclTopoGraph* graph, struct ncclTopoGraph* saveGraph, int* time) {\n  int backToNet, backToFirstRank;\n  NCCLCHECK(ncclTopoSearchParams(system, graph->pattern, &backToNet, &backToFirstRank));\n  if (system->nodes[NET].count && system->nodes[GPU].count != system->nRanks) {\n    // Start from NET\n    ncclTopoSearchRecNet(system, graph, saveGraph, backToNet, backToFirstRank, time);\n  } else {\n    // Intra-node only.\n    if (graph->pattern == NCCL_TOPO_PATTERN_NVLS) {\n      NCCLCHECK(ncclTopoSearchTryGpu(system, graph, saveGraph, 0, backToNet, backToFirstRank, 0, time, -1, -1, graph->nChannels));\n      return ncclSuccess;\n    } else if (graph->nChannels == 0) {\n      // Try PCI order first\n      NCCLCHECK(ncclTopoSearchTryGpu(system, graph, saveGraph, 0, backToNet, backToFirstRank, FORCED_ORDER_PCI, time, -1, -1, 0));\n    } else {\n      // Also try to replay previous channel\n      int g;\n      NCCLCHECK(ncclTopoReplayGetGpu(system, graph, -1, &g));\n      NCCLCHECK(ncclTopoSearchTryGpu(system, graph, saveGraph, 0, backToNet, backToFirstRank, FORCED_ORDER_REPLAY, time, -1, -1, g));\n    }\n    if (graph->sameChannels == 0 || graph->nChannels == 0) {\n      // Finally, try all other possibilities unless we are forced to use the same channels\n      for (int g=0; g<system->nodes[GPU].count; g++) {\n        NCCLCHECK(ncclTopoSearchTryGpu(system, graph, saveGraph, 0, backToNet, backToFirstRank, 0, time, -1, -1, g));\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\n/************************************/\n/* User defined graph from XML file */\n/************************************/\n\nstruct kvDict kvDictLinkType[] = {\n  { \"LOC\", PATH_LOC },\n  { \"NVL\", PATH_NVL },\n  { \"NVB\", PATH_NVB },\n  { \"PIX\", PATH_PIX },\n  { \"PXB\", PATH_PXB },\n  { \"P2C\", PATH_P2C },\n  { \"PXN\", PATH_PXN },\n  { \"PHB\", PATH_PHB },\n  { \"SYS\", PATH_SYS },\n  { NULL, 0 }\n};\n\nncclResult_t ncclTopoGetChannelFromXml(struct ncclXmlNode *xmlChannel, int c, struct ncclTopoSystem* system, struct ncclTopoGraph* graph) {\n  int ngpus = system->nodes[GPU].count;\n  int64_t* inter = graph->inter+2*c;\n  int* intra = graph->intra+ngpus*c;\n  int n=0, g=0;\n  for (int s=0; s<xmlChannel->nSubs; s++) {\n    struct ncclXmlNode* sub = xmlChannel->subs[s];\n    int64_t dev;\n    const char* str;\n    NCCLCHECK(xmlGetAttrStr(sub, \"dev\", &str));\n    dev = strtol(str, NULL, 16);\n    if (strcmp(sub->name, \"net\") == 0) {\n      inter[n++] = dev;\n    } else if (strcmp(sub->name, \"gpu\") == 0) {\n      int rank = -1;\n      for (int g=0; g<ngpus; g++) {\n        int systemId = NCCL_TOPO_ID_SYSTEM_ID(system->nodes[GPU].nodes[g].id);\n        if (NCCL_TOPO_ID(systemId, system->nodes[GPU].nodes[g].gpu.dev) == dev) rank = system->nodes[GPU].nodes[g].gpu.rank;\n      }\n      if (rank == -1) {\n        WARN(\"XML Import Channel : dev %ld not found.\", dev);\n        return ncclSystemError;\n      }\n      intra[g++] = rank;\n    }\n  }\n  return ncclSuccess;\n}\nncclResult_t ncclTopoGetGraphFromXmlSub(struct ncclXmlNode *xmlGraph, struct ncclTopoSystem* system, struct ncclTopoGraph* graph, int* nChannels) {\n  int id;\n  NCCLCHECK(xmlGetAttrInt(xmlGraph, \"id\", &id));\n  if (graph->id != id) return ncclSuccess;\n\n  int crossNic;\n  NCCLCHECK(xmlGetAttrInt(xmlGraph, \"crossnic\", &crossNic));\n  if (ncclParamCrossNic() == 0 && crossNic == 1) return ncclSuccess;\n  graph->crossNic = crossNic;\n\n  NCCLCHECK(xmlGetAttrInt(xmlGraph, \"pattern\", &graph->pattern));\n  NCCLCHECK(xmlGetAttrInt(xmlGraph, \"nchannels\", &graph->nChannels));\n  NCCLCHECK(xmlGetAttrFloat(xmlGraph, \"speedintra\", &graph->bwIntra));\n  NCCLCHECK(xmlGetAttrFloat(xmlGraph, \"speedinter\", &graph->bwInter));\n  const char* str;\n  NCCLCHECK(xmlGetAttr(xmlGraph, \"latencyinter\", &str));\n  if (!str) INFO(NCCL_GRAPH, \"latencyinter not found in graph, using 0.0\");\n  graph->latencyInter = str ? strtof(str, NULL) : 0.0;\n  NCCLCHECK(xmlGetAttr(xmlGraph, \"typeintra\", &str));\n  NCCLCHECK(kvConvertToInt(str, &graph->typeIntra, kvDictLinkType));\n  NCCLCHECK(xmlGetAttr(xmlGraph, \"typeinter\", &str));\n  NCCLCHECK(kvConvertToInt(str, &graph->typeInter, kvDictLinkType));\n  NCCLCHECK(xmlGetAttrInt(xmlGraph, \"samechannels\", &graph->sameChannels));\n  for (int s=0; s<xmlGraph->nSubs; s++) {\n    NCCLCHECK(ncclTopoGetChannelFromXml(xmlGraph->subs[s], s, system, graph));\n  }\n  *nChannels = xmlGraph->nSubs;\n  return ncclSuccess;\n}\nncclResult_t ncclTopoGetGraphFromXml(struct ncclXmlNode *xmlGraphs, struct ncclTopoSystem* system, struct ncclTopoGraph* graph, int* nChannels) {\n  for (int s=0; s<xmlGraphs->nSubs; s++) {\n    NCCLCHECK(ncclTopoGetGraphFromXmlSub(xmlGraphs->subs[s], system, graph, nChannels));\n  }\n  return ncclSuccess;\n}\n\n/* And the reverse : graph->xml */\nncclResult_t ncclTopoGetXmlFromChannel(struct ncclTopoGraph* graph, int c, struct ncclTopoSystem* system, struct ncclXml *xml, struct ncclXmlNode* parent) {\n  struct ncclXmlNode* xmlChannel;\n  int ngpus = system->nodes[GPU].count;\n  int64_t* inter = graph->inter+2*c;\n  int* intra = graph->intra+ngpus*c;\n  NCCLCHECK(xmlAddNode(xml, parent, \"channel\", &xmlChannel));\n  struct ncclXmlNode* node;\n  if (system->nodes[NET].count) {\n    NCCLCHECK(xmlAddNode(xml, xmlChannel, \"net\", &node));\n    NCCLCHECK(xmlSetAttrLong(node, \"dev\", inter[0]));\n  }\n  for (int g=0; g<ngpus; g++) {\n    NCCLCHECK(xmlAddNode(xml, xmlChannel, \"gpu\", &node));\n    int64_t dev = -1;\n    for (int i=0; i<ngpus; i++) {\n      if (system->nodes[GPU].nodes[i].gpu.rank == intra[g]) {\n        int systemId = NCCL_TOPO_ID_SYSTEM_ID(system->nodes[GPU].nodes[i].id);\n        dev = NCCL_TOPO_ID(systemId, system->nodes[GPU].nodes[i].gpu.dev);\n      }\n    }\n    if (dev == -1) {\n      WARN(\"XML Export Channel : rank %d not found.\", intra[g]);\n      return ncclInternalError;\n    }\n    NCCLCHECK(xmlSetAttrLong(node, \"dev\", dev));\n    if (graph->id == 3) break; // NVLS graphs only use the first GPU\n  }\n  if (system->nodes[NET].count) {\n    NCCLCHECK(xmlAddNode(xml, xmlChannel, \"net\", &node));\n    NCCLCHECK(xmlSetAttrLong(node, \"dev\", inter[1]));\n  }\n  return ncclSuccess;\n}\nncclResult_t ncclTopoGetXmlFromGraph(struct ncclTopoGraph* graph, struct ncclTopoSystem* system, struct ncclXml *xml, struct ncclXmlNode* parent) {\n  struct ncclXmlNode* xmlGraph;\n  NCCLCHECK(xmlAddNode(xml, parent, \"graph\", &xmlGraph));\n  NCCLCHECK(xmlSetAttrInt(xmlGraph, \"id\", graph->id));\n  NCCLCHECK(xmlSetAttrInt(xmlGraph, \"pattern\", graph->pattern));\n  NCCLCHECK(xmlSetAttrInt(xmlGraph, \"crossnic\", graph->crossNic));\n  NCCLCHECK(xmlSetAttrInt(xmlGraph, \"nchannels\", graph->nChannels));\n  NCCLCHECK(xmlSetAttrFloat(xmlGraph, \"speedintra\", graph->bwIntra));\n  NCCLCHECK(xmlSetAttrFloat(xmlGraph, \"speedinter\", graph->bwInter));\n  NCCLCHECK(xmlSetAttrFloat(xmlGraph, \"latencyinter\", graph->latencyInter));\n  const char* str;\n  NCCLCHECK(kvConvertToStr(graph->typeIntra, &str, kvDictLinkType));\n  NCCLCHECK(xmlSetAttr(xmlGraph, \"typeintra\", str));\n  NCCLCHECK(kvConvertToStr(graph->typeInter, &str, kvDictLinkType));\n  NCCLCHECK(xmlSetAttr(xmlGraph, \"typeinter\", str));\n  NCCLCHECK(xmlSetAttrInt(xmlGraph, \"samechannels\", graph->sameChannels));\n  for (int c=0; c<graph->nChannels; c++) {\n    NCCLCHECK(ncclTopoGetXmlFromChannel(graph, c, system, xml, xmlGraph));\n  }\n  return ncclSuccess;\n}\nncclResult_t ncclTopoGetXmlFromGraphs(int ngraphs, struct ncclTopoGraph** graphs, struct ncclTopoSystem* system, struct ncclXml *xml) {\n  xml->maxIndex = 0;\n  struct ncclXmlNode* xmlGraphs;\n  NCCLCHECK(xmlAddNode(xml, NULL, \"graphs\", &xmlGraphs));\n  NCCLCHECK(xmlSetAttrInt(xmlGraphs, \"version\", NCCL_GRAPH_XML_VERSION));\n  for (int g=0; g<ngraphs; g++) {\n    NCCLCHECK(ncclTopoGetXmlFromGraph(graphs[g], system, xml, xmlGraphs));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoDupChannels(struct ncclTopoGraph* graph, int ccMin, int ngpus) {\n  if (graph->nChannels == 0) return ncclSuccess;\n  if (graph->pattern == NCCL_TOPO_PATTERN_NVLS) return ncclSuccess;\n  if (graph->bwIntra < 25.0) return ncclSuccess;\n  if (ccMin > 80 && graph->bwIntra < 50.0 && graph->nChannels > 4) return ncclSuccess;\n\n  int dupChannels = std::min(graph->nChannels*2, graph->maxChannels);\n  memcpy(graph->intra+graph->nChannels*ngpus, graph->intra, (dupChannels-graph->nChannels)*ngpus*sizeof(int));\n  memcpy(graph->inter+graph->nChannels*2,graph->inter, (dupChannels-graph->nChannels)*2*sizeof(int64_t));\n  graph->bwIntra /= DIVUP(dupChannels, graph->nChannels);\n  graph->bwInter /= DIVUP(dupChannels, graph->nChannels);\n  graph->nChannels = dupChannels;\n  return ncclSuccess;\n}\n\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\nfloat speedArrayIntra[] = { 48.0, 24.0, 20.0, 18.0, 15.0, 12.0, 10.0, 9.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.4, 1.2, 0.24, 0.12 };\nfloat speedArrayInter[] = { 48.0, 24.0, 20.0, 18.0, 15.0, 12.0, 10.0, 9.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.4, 1.2, 0.24, 0.12 };\n#define NSPEEDSINTRA (sizeof(speedArrayIntra)/sizeof(float))\n#define NSPEEDSINTER (sizeof(speedArrayInter)/sizeof(float))\n#else\nfloat speedArrayIntra[] = { 40.0, 30.0, 20.0, 18.0, 15.0, 12.0, 10.0, 9.0, 7.0, 6.0, 5.0, 4.0, 3.0 };\nfloat speedArrayInter[] = { 48.0, 30.0, 28.0, 24.0, 20.0, 18.0, 15.0, 12.0, 10.0, 9.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.4, 1.2, 0.24, 0.12 };\n#define NSPEEDSINTRA (sizeof(speedArrayIntra)/sizeof(float))\n#define NSPEEDSINTER (sizeof(speedArrayInter)/sizeof(float))\n#endif\n\nfloat sm90SpeedArrayIntra[] = { 60.0, 50.0, 40.0, 30.0, 24.0, 20.0, 15.0, 12.0, 11.0, 6.0, 3.0 };\nfloat sm90SpeedArrayInter[] = { 48.0, 45.0, 42.0, 40.0, 30.0, 24.0, 22.0, 20.0, 17.5, 15.0, 12.0, 6.0, 3.0, 2.4, 1.2, 0.24, 0.12 };\n#define NSPEEDSINTRA_SM90 (sizeof(sm90SpeedArrayIntra)/sizeof(float))\n#define NSPEEDSINTER_SM90 (sizeof(sm90SpeedArrayInter)/sizeof(float))\n\nRCCL_PARAM(ModelMatchingDisable, \"MODEL_MATCHING_DISABLE\", 0);\n\nfloat sm100SpeedArrayIntra[] = { 90.0, 80.0, 70.0, 60.0, 50.0, 40.0, 30.0, 24.0, 20.0, 19.0, 18.0 };\nfloat sm100SpeedArrayInter[] = { 96.0, 48.0, 45.1, 42.0, 40.0, 30.0, 24.0, 22.0, 20.0, 17.5, 15.0, 12.0, 6.0, 3.0, 2.4, 1.2, 0.24, 0.12 };\n#define NSPEEDSINTRA_SM100 (sizeof(sm100SpeedArrayIntra)/sizeof(float))\n#define NSPEEDSINTER_SM100 (sizeof(sm100SpeedArrayInter)/sizeof(float))\n\nncclResult_t ncclTopoCompute(ncclTopoSystem* system, struct ncclTopoGraph* graph) {\n  int ngpus = system->nodes[GPU].count;\n  int crossNic = (system->nodes[NET].count > 1) &&\n  (graph->pattern == NCCL_TOPO_PATTERN_RING ||\n          graph->pattern == NCCL_TOPO_PATTERN_BALANCED_TREE ||\n          graph->pattern == NCCL_TOPO_PATTERN_SPLIT_TREE) ? ncclParamCrossNic() : 0;\n  graph->crossNic = crossNic == 1 ? 1 : 0;\n  graph->bwIntra = graph->bwInter = 0;\n  graph->latencyInter = 0;\n  int minTypeIntra = PATH_LOC, minTypeInter = PATH_PIX;\n  int maxTypeIntra = PATH_SYS, maxTypeInter = PATH_SYS;\n  if (ngpus > 1) {\n    NCCLCHECK(ncclTopoGetGpuMinPath(system, GPU, &minTypeIntra));\n    NCCLCHECK(ncclTopoGetGpuMaxPath(system, GPU, &maxTypeIntra));\n  }\n  if (system->nodes[NET].count > 0) {\n    NCCLCHECK(ncclTopoGetGpuMinPath(system, NET, &minTypeInter));\n    NCCLCHECK(ncclTopoGetGpuMaxPath(system, NET, &maxTypeInter));\n    maxTypeIntra = maxTypeInter;\n  }\n\n  graph->typeIntra = minTypeIntra;\n  graph->typeInter = minTypeInter;\n  graph->nChannels = 0;\n  graph->nIntraChannels = 0;\n  memset(graph->intraNets, 0, MAXCHANNELS*NCCL_TOPO_MAX_NODES*2*sizeof(int));\n  int trySameChannels = graph->pattern == NCCL_TOPO_PATTERN_NVLS ? 0 : 1;\n  graph->sameChannels = trySameChannels;\n\n  int cpuArch, cpuVendor, cpuModel;\n  NCCLCHECK(ncclTopoCpuType(system, &cpuArch, &cpuVendor, &cpuModel));\n\n  const char* str = ncclGetEnv(\"NCCL_GRAPH_FILE\");\n  if (str) {\n    INFO(NCCL_ENV, \"NCCL_GRAPH_FILE set by environment to %s\", str);\n    struct ncclXml* xml;\n    NCCLCHECK(xmlAlloc(&xml, NCCL_GRAPH_XML_MAX_NODES));\n    NCCLCHECK(ncclTopoGetXmlGraphFromFile(str, xml));\n    int nChannels;\n    NCCLCHECK(ncclTopoGetGraphFromXml(xml->nodes, system, graph, &nChannels));\n    INFO(NCCL_GRAPH, \"Search %d : %d channels loaded from XML graph\", graph->id, nChannels);\n    free(xml);\n    if (graph->nChannels > 0) return ncclSuccess;\n  }\n\n  str = getenv(\"NCCL_RINGS\");\n  char* strTrees = getenv(\"RCCL_TREES\");\n\n  if (str || strTrees) {\n    // user supplied topo\n    if (strTrees) {\n      NCCLCHECK(parseGraphLight(strTrees, system, graph, NULL));\n      system->treeDefined=true;\n    } else {\n      // For even number of nodes, alternate forward/reverse on ringBase\n      NCCLCHECK(parseGraph(str, system, graph, NULL, NULL,\n        graph->pattern == NCCL_TOPO_PATTERN_RING ? system->hostIdx % 2 : 0));\n      int arch, vendor, model;\n      NCCLCHECK(ncclTopoCpuType(system, &arch, &vendor, &model));\n      if (graph->nChannels && arch == NCCL_TOPO_CPU_ARCH_X86 && vendor == NCCL_TOPO_CPU_VENDOR_AMD && model == NCCL_TOPO_CPU_MODEL_AMD_ROME) {\n        system->type |= RCCL_TOPO_4P2H_ROME;\n      }\n    }\n  } else if (!rcclParamModelMatchingDisable() && !graph->collNet) {\n    // try to match 8P6L\n    NCCLCHECK(parseChordalRing(system, graph));\n    if (graph->nChannels) return ncclSuccess;\n    // try to match 8P alltoall connected GPUs\n    NCCLCHECK(parseA2a8P(system, graph, nullptr));\n    if (graph->nChannels) return ncclSuccess;\n    // try to match Rome 4P2H\n    const char *remap_str = getenv(\"NCCL_RINGS_REMAP\");\n    NCCLCHECK(parseRome4P2H(system, graph, remap_str));\n    if (graph->nChannels) return ncclSuccess;\n    // try to match 1H16P\n    NCCLCHECK(parse1H16P(system, graph));\n    if (graph->nChannels) return ncclSuccess;\n    // try to match 4H4P\n    NCCLCHECK(parse4H4P(system, graph));\n    if (graph->nChannels) return ncclSuccess;\n\n    NCCLCHECK(parseGIOTopos(system, graph));\n  }\n  if (graph->nChannels) return ncclSuccess;\n\n  if ((graph->pattern == NCCL_TOPO_PATTERN_RING) && (system->type & RCCL_TOPO_4P2H_ROME) && (ngpus == system->nRanks)) {\n    // limit single node max channels when searching ring graph on Rome\n    graph->maxChannels = 2;\n  }\n  if (ngpus == 1) if (graph->pattern != NCCL_TOPO_PATTERN_RING) graph->pattern = NCCL_TOPO_PATTERN_TREE;\n\n  int ccMin;\n  NCCLCHECK(ncclTopoGetCompCap(system, &ccMin, NULL));\n  if (graph->pattern == NCCL_TOPO_PATTERN_NVLS && (system->nodes[NVS].count == 0 || ccMin < 90)) return ncclSuccess;\n  // NVLS and COLLNET_DIRECT search must have ngpus heads at most.\n  if (graph->pattern == NCCL_TOPO_PATTERN_NVLS) graph->maxChannels = std::min(NCCL_MAX_NVLS_ARITY, system->nodes[GPU].count);\n  if (graph->pattern == NCCL_TOPO_PATTERN_COLLNET_DIRECT) graph->maxChannels = std::min(NCCL_MAX_DIRECT_ARITY+1, system->nodes[GPU].count);\n\n  if (ngpus == 1) if (graph->pattern != NCCL_TOPO_PATTERN_RING) graph->pattern = NCCL_TOPO_PATTERN_TREE;\n\n  if (system->nodes[NET].count == 0 && graph->pattern == NCCL_TOPO_PATTERN_NVLS) {\n    // Force intra-node NVLS algorithm to pull evenly from all GPUs.\n    graph->minChannels = graph->maxChannels;\n  }\n\n  int splitNvLink;\n  NCCLCHECK(ncclTopoSplitNvLink(system, &splitNvLink));\n  if (graph->pattern == NCCL_TOPO_PATTERN_RING && splitNvLink) {\n    // We have two sockets with NVLink and a slower link in between (typically QPI).\n    // Tree is likely going to work better but it needs at least 2 channels.\n    // Since Tree needs to have the same number of channels as Ring, also force Ring to use 2 channels.\n    if (graph->maxChannels >= 2 && graph->minChannels == 1) graph->minChannels = 2;\n  }\n\n  struct ncclTopoGraph tmpGraph;\n  memcpy(&tmpGraph, graph, sizeof(struct ncclTopoGraph));\n\n  // First try crossnic, then decrease bw and finally increase bwIntra.\n  int nspeeds = 0;\n  float* speedArray = NULL;\n  if (system->nodes[NET].count == 0) {\n    nspeeds = ccMin >= 100 ? NSPEEDSINTRA_SM100 : (ccMin >= 90 ? NSPEEDSINTRA_SM90 : NSPEEDSINTRA);\n    speedArray = ccMin >= 100 ? sm100SpeedArrayIntra : (ccMin >= 90 ? sm90SpeedArrayIntra : speedArrayIntra);\n  } else {\n    nspeeds = ccMin >= 100 ? NSPEEDSINTER_SM100 : (ccMin >= 90 ? NSPEEDSINTER_SM90 : NSPEEDSINTER);\n    speedArray = ccMin >= 100 ? sm100SpeedArrayInter : (ccMin >= 90 ? sm90SpeedArrayInter : speedArrayInter);\n  }\n  int pass = 1;\n  int speedIndex = 0;\n  float maxBw = system->maxBw;\n  float totalBw = system->totalBw;\n  if (ngpus > 1 && graph->pattern != NCCL_TOPO_PATTERN_RING) totalBw *= ngpus*1.0/(ngpus-1);\n  while ((speedArray[speedIndex] > maxBw || speedArray[speedIndex]*graph->minChannels > totalBw) && speedIndex < nspeeds-1) speedIndex++;\n  tmpGraph.bwIntra = tmpGraph.bwInter = speedArray[speedIndex];\n  int64_t globalTimeout = NCCL_SEARCH_GLOBAL_TIMEOUT;\n\nsearch:\n  int time = tmpGraph.sameChannels ? NCCL_SEARCH_TIMEOUT_SAMECHANNELS :\n    tmpGraph.pattern == NCCL_TOPO_PATTERN_TREE ? NCCL_SEARCH_TIMEOUT_TREE : NCCL_SEARCH_TIMEOUT;\n  tmpGraph.nChannels = 0;\n  globalTimeout -= time;\n\n  NCCLCHECK(ncclTopoSearchRec(system, &tmpGraph, graph, &time));\n#if 0\n  printf(\"Id %d Pattern %d, crossNic %d, Bw %g/%g, type %d/%d, channels %d-%d sameChannels %d -> nChannels %dx%g/%g %s\\n\", tmpGraph.id, tmpGraph.pattern, tmpGraph.crossNic, tmpGraph.bwInter, tmpGraph.bwIntra, tmpGraph.typeInter, tmpGraph.typeIntra, tmpGraph.minChannels, tmpGraph.maxChannels, tmpGraph.sameChannels, graph->nChannels, graph->bwInter, graph->bwIntra, time == 0 ? \"TIMEOUT\" : time == -1 ? \"PERFECT\" : \"\");\n  for (int c=0; c<graph->nChannels; c++) {\n    printf(\"%2d : \", c);\n    for (int g=0; g<ngpus; g++) {\n      printf(\"%d \", graph->intra[c*ngpus+g]);\n    }\n    printf(\"[%lx %lx]\", graph->inter[c*2+0], graph->inter[c*2+1]);\n    printf(\"\\n\");\n  }\n#endif\n  // Optimal solution, stop here\n  if (time == -1) goto done;\n  if (graph->nChannels*graph->bwInter >= system->totalBw) goto done;\n\n  if (pass == 1) {\n    // First pass, we don't have a solution yet ; try other options\n\n    // Try having different channels (except when going through AMD CPUs)\n    if (tmpGraph.sameChannels == 1 &&\n        !(cpuArch == NCCL_TOPO_CPU_ARCH_X86 && cpuVendor == NCCL_TOPO_CPU_VENDOR_AMD && tmpGraph.typeIntra == PATH_SYS)) {\n      tmpGraph.sameChannels = 0;\n      goto search;\n    }\n    tmpGraph.sameChannels = trySameChannels;\n\n    if (time != -1) globalTimeout += time;\n    else globalTimeout = NCCL_SEARCH_GLOBAL_TIMEOUT;\n    if (globalTimeout < 0 && graph->nChannels) goto done;\n\n    // Try a simpler tree\n    if (ccMin >= 90 && tmpGraph.pattern == NCCL_TOPO_PATTERN_BALANCED_TREE) {\n      tmpGraph.pattern = NCCL_TOPO_PATTERN_TREE;\n      goto search;\n    }\n    tmpGraph.pattern = graph->pattern;\n\n    int maxIntra = system->nodes[NET].count > 0 ? tmpGraph.typeInter : maxTypeIntra;\n    if (tmpGraph.typeIntra < maxIntra && (graph->nChannels == 0 || tmpGraph.typeIntra < graph->typeIntra)) {\n      tmpGraph.typeIntra += 1;\n      if (tmpGraph.typeIntra < PATH_DIS) goto search;\n    }\n    tmpGraph.typeIntra = minTypeIntra;\n\n    if (system->nodes[NET].count > 0 && tmpGraph.typeInter < maxTypeInter && (graph->nChannels == 0 || tmpGraph.typeInter < graph->typeInter || tmpGraph.typeInter < PATH_PXN)) {\n      tmpGraph.typeInter += 1;\n      if (tmpGraph.typeInter < PATH_DIS) goto search;\n    }\n    tmpGraph.typeInter = minTypeInter;\n\n    if (crossNic == 2 && tmpGraph.crossNic == 0\n        && (graph->pattern == NCCL_TOPO_PATTERN_RING || graph->pattern == NCCL_TOPO_PATTERN_BALANCED_TREE)) {\n      // Try again with crossNic if permitted\n      tmpGraph.crossNic = 2;\n      goto search;\n    }\n    tmpGraph.crossNic = crossNic == 1 ? 1 : 0;\n\n    // Decrease bw until we find a solution\n    if ((speedIndex < nspeeds-1) && (graph->nChannels == 0 || (speedArray[speedIndex+1]/graph->bwInter > .49))) {\n      tmpGraph.bwInter = tmpGraph.bwIntra = speedArray[++speedIndex];\n      goto search;\n    }\n    speedIndex = 0;\n    while (speedArray[speedIndex] > maxBw && speedIndex < nspeeds-1) speedIndex++;\n    tmpGraph.bwIntra = tmpGraph.bwInter = speedArray[speedIndex];\n\n  }\n\ndone:\n  // We have a solution. Start from that solution and move to pass 2.\n  if (pass == 1) {\n    time = -1;\n    NCCLCHECK(ncclTopoDupChannels(graph, ccMin, ngpus));\n    memcpy(&tmpGraph, graph, sizeof(tmpGraph));\n    speedIndex = 0;\n    while (speedArray[speedIndex] > graph->bwInter && speedIndex < nspeeds-1) speedIndex++;\n    tmpGraph.bwIntra = tmpGraph.bwInter = speedArray[speedIndex];\n    tmpGraph.minChannels = graph->nChannels;\n    pass = 2;\n  }\n\n  if (pass == 2) {\n    // See if we can increase bw\n    if (time != 0 && speedIndex > 0) {\n      if (graph->pattern == NCCL_TOPO_PATTERN_RING) {\n        // increase bw for Ring\n        tmpGraph.bwIntra = tmpGraph.bwInter = speedArray[--speedIndex];\n        goto search;\n      } else if (graph->pattern == NCCL_TOPO_PATTERN_NVLS && tmpGraph.bwInter == graph->bwInter && tmpGraph.bwInter < tmpGraph.bwIntra*2) {\n        tmpGraph.minChannels = tmpGraph.maxChannels = graph->nChannels;\n        tmpGraph.bwInter = speedArray[--speedIndex];\n        goto search;\n      } else if (tmpGraph.bwIntra == graph->bwIntra && tmpGraph.bwIntra < tmpGraph.bwInter*2) {\n        // increase bwIntra for trees (2 nodes or collnet)\n        tmpGraph.bwIntra = speedArray[--speedIndex];\n        goto search;\n      }\n    }\n    time = -1;\n    memcpy(&tmpGraph, graph, sizeof(tmpGraph));\n  }\n\n  if (graph->nChannels == 0 && graph->collNet == 0 && graph->pattern != NCCL_TOPO_PATTERN_NVLS) {\n    INFO(NCCL_GRAPH, \"Could not find a path for pattern %d, falling back to simple order\", graph->pattern);\n    for (int i=0; i<ngpus; i++) graph->intra[i] = system->nodes[GPU].nodes[i].gpu.rank;\n    graph->inter[0] = graph->inter[1] = 0;\n    graph->bwIntra = graph->bwInter = 0.1;\n    graph->typeIntra = graph->typeInter = PATH_SYS;\n    graph->nChannels = 1;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoPrintGraph(struct ncclTopoSystem* system, struct ncclTopoGraph* graph) {\n  INFO(NCCL_GRAPH, \"Pattern %d, crossNic %d, nChannels %d, bw %f/%f, type %s/%s, sameChannels %d\", graph->pattern, graph->crossNic, graph->nChannels, graph->bwIntra, graph->bwInter, topoPathTypeStr[graph->typeIntra], topoPathTypeStr[graph->typeInter], graph->sameChannels);\n  int ngpus = system->nodes[GPU].count;\n\n  char line[1024];\n  for (int c=0; c<graph->nChannels; c++) {\n    sprintf(line, \"%2d :\", c);\n    int offset = strlen(line);\n    if (system->nodes[NET].count > 0 && system->nodes[GPU].count != system->nRanks && !graph->nIntraChannels) {\n      sprintf(line+offset, \" %s/%lx-%lx\", topoNodeTypeStr[NET], NCCL_TOPO_ID_SYSTEM_ID(graph->inter[2*c]), NCCL_TOPO_ID_LOCAL_ID(graph->inter[2*c]));\n      offset = strlen(line);\n    }\n    for (int i=0; i<ngpus; i++) {\n      int n = graph->intraNets[(ngpus*c+i)*2]-'N';\n      if(n >= 0 && n < system->nodes[NET].count) {\n        sprintf(line+offset, \" NET/%d\", n);\n        offset = strlen(line);\n      }\n      int g;\n      ncclTopoRankToIndex(system, graph->intra[ngpus * c + i], &g, true);\n      int64_t topoId = system->nodes[GPU].nodes[g].id;\n      sprintf(line + offset, \" %s/%lx-%lx\", topoNodeTypeStr[GPU], NCCL_TOPO_ID_SYSTEM_ID(topoId), NCCL_TOPO_ID_LOCAL_ID(topoId));\n      offset = strlen(line);\n      n = graph->intraNets[(ngpus*c+i)*2+1]-'N';\n      if(n >= 0 && n < system->nodes[NET].count) {\n        sprintf(line+offset, \" NET/%d\", n);\n        offset = strlen(line);\n      }\n      if (graph->id == 3) break; // NVLS graphs only use the first GPU\n    }\n    if (system->nodes[NET].count > 0 && system->nodes[GPU].count != system->nRanks && !graph->nIntraChannels) {\n      sprintf(line+offset, \" %s/%lx-%lx\", topoNodeTypeStr[NET], NCCL_TOPO_ID_SYSTEM_ID(graph->inter[2*c+1]), NCCL_TOPO_ID_LOCAL_ID(graph->inter[2*c+1]));\n      offset = strlen(line);\n    }\n    INFO(NCCL_GRAPH, \"%s\", line);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoDumpGraphs(struct ncclTopoSystem* system, int ngraphs, struct ncclTopoGraph** graphs) {\n  ncclResult_t ret = ncclSuccess;\n  const char* str = ncclGetEnv(\"NCCL_GRAPH_DUMP_FILE\");\n  struct ncclXml* xml = NULL;\n  if (str) {\n    INFO(NCCL_ENV, \"NCCL_GRAPH_DUMP_FILE set by environment to %s\", str);\n    NCCLCHECK(xmlAlloc(&xml, NCCL_GRAPH_XML_MAX_NODES));\n    NCCLCHECKGOTO(ncclTopoGetXmlFromGraphs(ngraphs, graphs, system, xml), ret, fail);\n    NCCLCHECKGOTO(ncclTopoDumpXmlToFile(str, xml), ret, fail);\n  }\nexit:\n  if (xml) free(xml);\n  return ret;\nfail:\n  goto exit;\n}\n\n#include \"comm.h\"\n// NVLS channels aren't compute channels. Find which NIC corresponds to our rank being the head\nncclResult_t getNvlsNetDev(struct ncclComm* comm, struct ncclTopoGraph* graph, int channelId, int64_t* netId) {\n  ncclResult_t ret = ncclSuccess;\n  int localRanks = comm->topo->nodes[GPU].count;\n  int netNum = 0;\n  int64_t net[MAXCHANNELS];\n\n  for (int c = 0; c < graph->nChannels; c++) {\n    if (graph->intra[c * localRanks] == comm->rank) {\n      net[netNum++] = graph->inter[c * 2];\n    }\n  }\n  if (netNum) {\n    *netId = net[channelId % netNum];\n  } else {\n    ret = ncclInternalError;\n    goto fail;\n  }\n\nexit:\n  return ret;\nfail:\n  WARN(\"Could not find NIC for rank %d in NVLS graph\", comm->rank);\n  goto exit;\n}\n\n// 0: don't use PXN for P2P, 1: use PXN if needed, 2: use PXN as much as possible to maximize aggregation\nNCCL_PARAM(P2pPxnLevel, \"P2P_PXN_LEVEL\", 2);\n\nncclResult_t ncclTopoGetNetDev(struct ncclComm* comm, int rank, struct ncclTopoGraph* graph, int channelId, int peerRank, int64_t* id, int* dev, int* proxyRank) {\n  int64_t netId = -1;\n  int netDev = -1;\n  if (graph) {\n    // Honor the net device in the graph\n    int channel = channelId%graph->nChannels;\n    int ngpus = comm->topo->nodes[GPU].count;\n    int index = graph->intra[channel*ngpus] == rank ? 0 : 1;\n    if (graph->pattern != NCCL_TOPO_PATTERN_NVLS) {\n      netId = graph->inter[channel*2+index];\n    } else {\n      NCCLCHECK(getNvlsNetDev(comm, graph, channelId, &netId));\n    }\n    NCCLCHECK(ncclTopoIdToNetDev(comm->topo, netId, &netDev));\n    if (dev) *dev = netDev;\n    if (id) *id = netId;\n    NCCLCHECK(ncclTopoGetIntermediateRank(comm->topo, rank, netId, proxyRank));\n  } else if (peerRank == -1) {\n    return ncclInternalError;\n  } else {\n    // Start with our local NIC and local Rank\n    NCCLCHECK(ncclTopoGetLocalNet(comm->topo, rank, channelId, &netId, &netDev));\n    if (dev) *dev = netDev;\n    if (id) *id = netId;\n    *proxyRank = rank;\n\n    int pxnLevel = ncclPxnDisable(comm) == 1 ? 0 : ncclParamP2pPxnLevel();\n    // See whether we can use the remote rank preferred device.\n    if (ncclParamCrossNic() == 0 || (pxnLevel != 0)) {\n      // Find local NIC number close to local nvmlDev\n      int nvmlDev = comm->peerInfo[peerRank].nvmlDev;\n      int localRank;\n      if (ncclTopoDevToRank(comm->topo, nvmlDev, &localRank) != ncclSuccess) return ncclSuccess;\n      NCCLCHECK(ncclTopoGetLocalNet(comm->topo, localRank, channelId, &netId, &netDev));\n\n      // Check that device exists on our node\n      if (ncclParamCrossNic() == 0) {\n        if (dev) *dev = netDev;\n        if (id) *id = netId;\n      }\n      if (pxnLevel == 1) {\n        int g, n;\n        NCCLCHECK(ncclTopoRankToIndex(comm->topo, rank, &g, /*showWarn=*/true));\n        NCCLCHECK(ncclTopoIdToIndex(comm->topo, NET, netId, &n));\n        struct ncclTopoNode* gpu = comm->topo->nodes[GPU].nodes+g;\n        if (gpu->paths[NET][n].type <= PATH_PXN) {\n          if (dev) *dev = netDev;\n          if (id) *id = netId;\n          NCCLCHECK(ncclTopoGetIntermediateRank(comm->topo, rank, *dev, proxyRank));\n        }\n      } else if (pxnLevel == 2) {\n        // Check which local GPU corresponds to that NIC and see if we can use PXN.\n        int n, g1, g2;\n        NCCLCHECK(ncclTopoIdToIndex(comm->topo, NET, netId, &n));\n        NCCLCHECK(ncclTopoRankToIndex(comm->topo, rank, &g1, /*showWarn=*/true));\n        NCCLCHECK(ncclTopoGetLocalGpu(comm->topo, netId, &g2));\n        if (g2 != -1) {\n          struct ncclTopoNode* peerGpu = comm->topo->nodes[GPU].nodes+g2;\n          int pxnType = ncclParamPxnC2c() ? PATH_P2C : PATH_PXB;\n          if (peerGpu->paths[GPU][g1].type <= PATH_NVL && peerGpu->paths[NET][n].type <= pxnType) {\n            *proxyRank = peerGpu->gpu.rank;\n            if (dev) *dev = netDev;\n            if (id) *id = netId;\n            return ncclSuccess;\n          }\n        }\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetIntraNetDev(struct ncclTopoSystem* system, int rank, struct ncclTopoGraph* graph, int channelId, int type, int64_t* id, int* dev) {\n  if (dev) *dev = -1;\n  if (id)  *id  = -1;\n  if (graph && graph->nIntraChannels) {\n    int n1 = -1;\n    int ngpus = system->nodes[GPU].count;\n    int nnets = system->nodes[NET].count;\n    int chan = channelId%graph->nIntraChannels;\n    for (int i = 0; i < ngpus; i++) {\n      if (graph->intra[ngpus*chan+i] == rank) {\n        n1 = graph->intraNets[(ngpus*chan+i)*2+type]-'N';\n        break;\n      }\n    }\n    if (n1 >= 0 && n1 < nnets) {\n      if (dev) *dev = n1;\n      if (id)  *id  = NCCL_TOPO_ID(system->systemId, n1);\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetLinkType(struct ncclTopoSystem* system, int cudaDev1, int cudaDev2, bool* isXGMI, int maxInter, int nInter, int *inter) {\n  int interGpus[MAX_XGMI_INTER_GPUS+1];\n  int ngpus = system->nodes[GPU].count;\n  *isXGMI = false;\n  // check for direct XGMI connection\n  for (int i=0; i<ngpus; i++) {\n    if (system->nodes[GPU].nodes[i].gpu.dev == cudaDev1) {\n      struct ncclTopoNode *node = system->nodes[GPU].nodes+i;\n      for (int k = 0; k<system->nodes[GPU].count; k++) {\n        if (node->paths[GPU][k].count == 1) {\n          struct ncclTopoLink* link = node->paths[GPU][k].list[0];\n          struct ncclTopoNode* remNode = link->remNode;\n          if (remNode->gpu.dev == cudaDev2) {\n            *isXGMI = (link->type == LINK_NVL);\n            if (*isXGMI) return ncclSuccess;\n          }\n        }\n      }\n    }\n  }\n  // try intermediate GPUs\n  if (maxInter) {\n    // check if there are intermediate GPUs that are connected to both\n    bool res1, res2, res3;\n    int j;\n    for (j=0; j<nInter; j++) {\n      ncclTopoGetLinkType(system, inter[j], inter[j+1], &res1, 0);\n      if (!res1) break;\n    }\n    if (j<nInter) return ncclSuccess;\n    if (nInter > 0 && inter != nullptr) {\n      ncclTopoGetLinkType(system, inter[nInter], cudaDev2, &res2, 0);\n      if (res2) {\n        *isXGMI = true;\n        return ncclSuccess;\n      }\n      memcpy(interGpus+1, inter+1, sizeof(int)*nInter);\n    }\n    interGpus[0] = cudaDev1;\n    // add one more intermediate GPU recursively util reaching max depth\n    nInter++;\n    if (nInter+2 > ngpus || nInter > MAX_XGMI_INTER_GPUS || nInter > maxInter) return ncclSuccess;\n    for (int i=0; i<ngpus; i++) {\n      int dev = system->nodes[GPU].nodes[i].gpu.dev;\n      // skip duplicated GPU\n      if (dev == cudaDev2) continue;\n      for (j=0; j<nInter; j++)\n        if (dev == interGpus[j]) break;\n      if (j<nInter) continue;\n      // check connectivity with intermediate GPUs\n      interGpus[nInter] = dev;\n      ncclTopoGetLinkType(system, cudaDev1, cudaDev2, &res3, maxInter, nInter, interGpus);\n      if (res3) {\n        *isXGMI = true;\n        return ncclSuccess;\n      }\n    }\n  }\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/graph/topo.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2024, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2024 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"core.h\"\n#include \"graph.h\"\n#include \"topo.h\"\n#include \"comm.h\"\n#include \"nccl.h\"\n#include \"nvmlwrap.h\"\n#include \"coll_net.h\"\n#include \"transport.h\"\n#include <sys/stat.h>\n#include <fcntl.h>\n#include \"cpuset.h\"\n#include \"bootstrap.h\"\n#include <mutex>\n\n#define BUSID_SIZE (sizeof(\"0000:00:00.0\"))\n#define BUSID_REDUCED_SIZE (sizeof(\"0000:00\"))\n\nconst char* topoNodeTypeStr[] = { \"GPU\", \"PCI\", \"NVS\", \"CPU\", \"NIC\", \"NET\" };\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\nconst char* topoLinkTypeStr[] = { \"LOC\", \"XGMI\", \"\",    \"C2C\", \"PCI\",    \"\",    \"\",    \"\",    \"\", \"SYS\", \"NET\" };\nconst char* topoPathTypeStr[] = { \"LOC\", \"XGMI\", \"NVB\", \"C2C\", \"PIX\", \"PXB\", \"P2C\", \"PXN\", \"PHB\", \"SYS\", \"NET\", \"DIS\" };\n#else\nconst char* topoLinkTypeStr[] = { \"LOC\", \"NVL\", \"\",    \"C2C\", \"PCI\",    \"\",    \"\",    \"\",    \"\", \"SYS\", \"NET\" };\nconst char* topoPathTypeStr[] = { \"LOC\", \"NVL\", \"NVB\", \"C2C\", \"PIX\", \"PXB\", \"P2C\", \"PXN\", \"PHB\", \"SYS\", \"NET\", \"DIS\" };\n#endif\n\n/******************************************************************/\n/******************* Graph Creation Functions *********************/\n/******************************************************************/\n\n// Get an int64 from a PCI path. For example, sys/class/pci0000:00/0000:00:02.0/0000:02:00.0/ will return 0x000002000.\nncclResult_t pciPathToInt64(char* path, int offset, int minOffset, int64_t* id) {\n  char* str = path+offset;\n  // Remove trailing \"/\"\n  if (*str == '/') str--;\n  // Find next /\n  while (*str != '/') str--;\n  str++;\n  int64_t numid;\n  NCCLCHECK(busIdToInt64(str, &numid));\n  // Ignore subdevice because those should use the same PCI link so we want to merge nodes.\n  numid -= numid & 0xf;\n  *id = numid;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t findLocalCpu(struct ncclTopoNode* node, struct ncclTopoNode** cpu, struct ncclTopoNode* from) {\n  *cpu = NULL;\n  if (node->type == CPU) {\n    *cpu = node;\n    return ncclSuccess;\n  }\n  for (int l=0; l<node->nlinks; l++) {\n    // Go up the PCI tree to find the CPU. Follow only PCI switches.\n    if (node->links[l].type == LINK_PCI\n\t&& node->links[l].remNode != from\n\t&& (node->links[l].remNode->type == PCI\n\t    || node->links[l].remNode->type == CPU)) {\n      NCCLCHECK(findLocalCpu(node->links[l].remNode, cpu, node));\n    }\n    if (*cpu != NULL) return ncclSuccess;\n  }\n  return ncclSuccess;\n}\n\nint interCpuBw = 0;\nint cpuPciBw = 0;\n\nstatic ncclResult_t ncclTopoGetInterCpuBw(struct ncclTopoNode* cpu, float* bw) {\n  *bw = LOC_BW;\n  if (cpu->cpu.arch == NCCL_TOPO_CPU_ARCH_POWER) {\n    *bw = P9_BW;\n    return ncclSuccess;\n  }\n  if (cpu->cpu.arch == NCCL_TOPO_CPU_ARCH_ARM) {\n    *bw = ARM_BW;\n    return ncclSuccess;\n  }\n  if (cpu->cpu.arch == NCCL_TOPO_CPU_ARCH_X86 && cpu->cpu.vendor == NCCL_TOPO_CPU_VENDOR_INTEL) {\n    *bw =\n      cpu->cpu.model == NCCL_TOPO_CPU_MODEL_INTEL_ERP ? ERP_QPI_BW :\n      cpu->cpu.model == NCCL_TOPO_CPU_MODEL_INTEL_SRP ? SRP_QPI_BW :\n      cpu->cpu.model == NCCL_TOPO_CPU_MODEL_INTEL_SKL ? SKL_QPI_BW :\n      BDW_QPI_BW;\n  }\n  if (cpu->cpu.arch == NCCL_TOPO_CPU_ARCH_X86 && cpu->cpu.vendor == NCCL_TOPO_CPU_VENDOR_AMD) {\n    *bw = AMD_BW;\n  }\n  if (cpu->cpu.arch == NCCL_TOPO_CPU_ARCH_X86 && cpu->cpu.vendor == NCCL_TOPO_CPU_VENDOR_ZHAOXIN) {\n    *bw = cpu->cpu.model ==  NCCL_TOPO_CPU_MODEL_YONGFENG ? YONGFENG_ZPI_BW : ZPI_BW;\n  }\n  return ncclSuccess;\n}\n\nenum ncclNvLinkDeviceType {\n  ncclNvLinkDeviceUnknown,\n  ncclNvLinkDeviceGpu,\n  ncclNvLinkDeviceSwitch,\n  ncclNvLinkDeviceBridge, // IBM/Power NVLink bridge (Device 04ea)\n};\n\nncclResult_t ncclTopoGetNode(struct ncclTopoSystem* system, struct ncclTopoNode** node, int type, uint64_t id) {\n  for (int i=0; i<system->nodes[type].count; i++) {\n    if (system->nodes[type].nodes[i].id == id) {\n      *node = system->nodes[type].nodes+i;\n      return ncclSuccess;\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoCreateNode(struct ncclTopoSystem* system, struct ncclTopoNode** node, int type, uint64_t id) {\n  if (system->nodes[type].count == NCCL_TOPO_MAX_NODES) {\n    WARN(\"Error : tried to create too many nodes of type %d\", type);\n    return ncclInternalError;\n  }\n  struct ncclTopoNode* n = system->nodes[type].nodes+system->nodes[type].count;\n  system->nodes[type].count++;\n  n->type = type;\n  n->id = id;\n  if (type == GPU) {\n    n->gpu.dev = NCCL_TOPO_UNDEF;\n    n->gpu.rank = NCCL_TOPO_UNDEF;\n    n->gpu.cudaCompCap = NCCL_TOPO_UNDEF;\n  } else if (type == CPU) {\n    n->cpu.arch = NCCL_TOPO_UNDEF;\n    n->cpu.vendor = NCCL_TOPO_UNDEF;\n    n->cpu.model = NCCL_TOPO_UNDEF;\n  } else if (type == NET) {\n    n->net.asic = 0ULL;\n    n->net.port = NCCL_TOPO_UNDEF;\n    n->net.bw = 0.0;\n    n->net.latency = 0.0;\n  }\n  *node = n;\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoRemoveNode(struct ncclTopoSystem* system, int type, int index) {\n  struct ncclTopoNode* delNode = system->nodes[type].nodes+index;\n  for (int t=0; t<NCCL_TOPO_NODE_TYPES; t++) {\n    free(delNode->paths[t]);\n    for (int n=0; n<system->nodes[t].count; n++) {\n      struct ncclTopoNode* node = system->nodes[t].nodes+n;\n      if (node == delNode) continue;\n      for (int l=0; l<node->nlinks; l++) {\n        while (l<node->nlinks && node->links[l].remNode == delNode) {\n          memmove(node->links+l, node->links+l+1, (node->nlinks-l-1)*sizeof(struct ncclTopoLink));\n          node->nlinks--;\n        }\n        if (l<node->nlinks && node->links[l].remNode->type == type && node->links[l].remNode >= delNode) {\n          node->links[l].remNode--;\n        }\n      }\n    }\n  }\n  memmove(delNode, delNode+1, (system->nodes[type].count-index-1)*sizeof(struct ncclTopoNode));\n  system->nodes[type].count--;\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoConnectNodes(struct ncclTopoNode* node, struct ncclTopoNode* remNode, int type, float bw) {\n  // Aggregate links into higher bw for NVLink\n  struct ncclTopoLink* link;\n  for (link = node->links; link - node->links != NCCL_TOPO_MAX_LINKS && link->remNode; link++) {\n    if (link->remNode == remNode && link->type == type) break;\n  }\n  if (link - node->links == NCCL_TOPO_MAX_LINKS) {\n    WARN(\"Error : too many Topo links (max %d)\", NCCL_TOPO_MAX_LINKS);\n    return ncclInternalError;\n  }\n  if (link->remNode == NULL) node->nlinks++;\n  link->type = type;\n  link->remNode = remNode;\n  link->bw += bw;\n\n  // Sort links in BW descending order\n  struct ncclTopoLink linkSave;\n  memcpy(&linkSave, link, sizeof(struct ncclTopoLink));\n  while (link != node->links) {\n    if ((link-1)->bw >= linkSave.bw) break;\n    memcpy(link, link-1, sizeof(struct ncclTopoLink));\n    link--;\n  }\n  memcpy(link, &linkSave, sizeof(struct ncclTopoLink));\n  return ncclSuccess;\n}\n\n// BCM Gen4 Switches present themselves as a two-level hierarchical switch\n// even though they're supposed to sustain full BW across all ports.\n// Flatten the switch as this extra level can break the search and make\n// NCCL take wrong topology decisions.\nint getBcmGen(uint64_t id, int level) {\n  if ((id & 0xfffffffffffff000) == 0x1000c0101000a000) return 4;\n  if ((id & 0xfffffffffffff000) == (0x1000c03010000000 | level*0x1000)) return 5;\n  return 0;\n}\nncclResult_t ncclTopoFlattenBcmSwitches(struct ncclTopoSystem* system) {\n  ncclResult_t ret = ncclSuccess;\n  for (int s=0; s<system->nodes[PCI].count; s++) {\n    struct ncclTopoNode* pciSwitch = system->nodes[PCI].nodes+s;\n    int gen = getBcmGen(pciSwitch->pci.device, 0);\n    // Flatten Gen4 PEX switches in base mode\n    if (gen) {\n      // Find sub switches with the same device ID.\n      int64_t* subSwIds;\n      NCCLCHECK(ncclCalloc(&subSwIds, pciSwitch->nlinks));\n      int subs = 0;\n      for (int l=0; l<pciSwitch->nlinks; l++) {\n        struct ncclTopoNode* sub = pciSwitch->links[l].remNode;\n        // Only fuse sub switches with the same device ID.\n        if (sub->type != PCI || getBcmGen(sub->pci.device, 1) != gen) continue;\n        // Save sub switch for later\n        subSwIds[subs++] = sub->id;\n        // Remove link to that sub switch\n        memmove(pciSwitch->links+l, pciSwitch->links+l+1, (pciSwitch->nlinks-l-1)*(sizeof(struct ncclTopoLink)));\n        pciSwitch->nlinks--;\n        // Don't increase l for the next iteration as we just shifted all links by one.\n        l--;\n      }\n\n      for (int s=0; s<subs; s++) {\n        // Find sub switch (system->nodes[PCI].nodes is changing every time we remove a node)\n        int index;\n        NCCLCHECKGOTO(ncclTopoIdToIndex(system, PCI, subSwIds[s], &index), ret, fail);\n        struct ncclTopoNode* sub = system->nodes[PCI].nodes+index;\n        // Connect all sub PCI devices to the parent switch\n        for (int l=0; l<sub->nlinks; l++) {\n          struct ncclTopoNode* remNode = sub->links[l].remNode;\n          if (remNode == pciSwitch) continue;\n          // Add link from parent PCI switch -> PCI device\n          if (pciSwitch->nlinks == NCCL_TOPO_MAX_LINKS) {\n            WARN(\"Error : too many Topo links (max %d)\", NCCL_TOPO_MAX_LINKS);\n            ret = ncclInternalError;\n            goto fail;\n          }\n          memcpy(pciSwitch->links+pciSwitch->nlinks, sub->links+l, sizeof(struct ncclTopoLink));\n          pciSwitch->nlinks++;\n          // Update link from PCI device -> parent PCI switch\n          for (int rl=0; rl<remNode->nlinks; rl++) {\n            if (remNode->links[rl].remNode == sub) {\n              remNode->links[rl].remNode = pciSwitch;\n              break;\n            }\n          }\n        }\n        NCCLCHECKGOTO(ncclTopoRemoveNode(system, PCI, index), ret, fail);\n      }\n      // Set subdevice to 0xffff to make sure we don't merge this switch again.\n      pciSwitch->pci.device |= 0xffff;\n      free(subSwIds);\n      // Restart, as system->nodes[PCI].nodes has changed.\n      s = -1;  // Will be incremented to 0 in the next loop iteration\n      continue;\nfail:\n      free(subSwIds);\n      return ret;\n    }\n  }\n  return ret;\n}\n\nncclResult_t ncclTopoConnectCpus(struct ncclTopoSystem* system) {\n  // And connect all CPU nodes together\n  for (int n=0; n<system->nodes[CPU].count; n++) {\n    struct ncclTopoNode* cpu1 = system->nodes[CPU].nodes+n;\n    for (int p=0; p<system->nodes[CPU].count; p++) {\n      struct ncclTopoNode* cpu2 = system->nodes[CPU].nodes+p;\n      if (n == p || (NCCL_TOPO_ID_SYSTEM_ID(cpu1->id) != NCCL_TOPO_ID_SYSTEM_ID(cpu2->id))) continue;\n      float bw;\n      NCCLCHECK(ncclTopoGetInterCpuBw(cpu1, &bw));\n      NCCLCHECK(ncclTopoConnectNodes(cpu1, cpu2, LINK_SYS, bw));\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclTopoPrintRec(struct ncclTopoNode* node, struct ncclTopoNode* prevNode, char* line, int offset) {\n  if (node->type == GPU) {\n    sprintf(line+offset, \"%s/%lx-%lx (%d)\", topoNodeTypeStr[node->type], NCCL_TOPO_ID_SYSTEM_ID(node->id), NCCL_TOPO_ID_LOCAL_ID(node->id), node->gpu.rank);\n  } else if (node->type == CPU) {\n    sprintf(line+offset, \"%s/%lx-%lx (%d/%d/%d)\", topoNodeTypeStr[node->type], NCCL_TOPO_ID_SYSTEM_ID(node->id), NCCL_TOPO_ID_LOCAL_ID(node->id), node->cpu.arch, node->cpu.vendor, node->cpu.model);\n  } else if (node->type == PCI) {\n    sprintf(line+offset, \"%s/%lx-%lx (%lx)\", topoNodeTypeStr[node->type], NCCL_TOPO_ID_SYSTEM_ID(node->id), NCCL_TOPO_ID_LOCAL_ID(node->id), node->pci.device);\n  } else {\n    sprintf(line+offset, \"%s/%lx-%lx\", topoNodeTypeStr[node->type], NCCL_TOPO_ID_SYSTEM_ID(node->id), NCCL_TOPO_ID_LOCAL_ID(node->id));\n  }\n  INFO(NCCL_GRAPH, \"%s\", line);\n  for (int i=0; i<offset; i++) line[i] = ' ';\n\n  for (int l=0; l<node->nlinks; l++) {\n    struct ncclTopoLink* link = node->links+l;\n    if (link->type == LINK_LOC) {\n      sprintf(line+offset, \"+ %s[%2.1f] - %s/%lx-%lx\", topoLinkTypeStr[link->type], link->bw, topoNodeTypeStr[link->remNode->type], NCCL_TOPO_ID_SYSTEM_ID(link->remNode->id), NCCL_TOPO_ID_LOCAL_ID(link->remNode->id));\n      INFO(NCCL_GRAPH, \"%s\", line);\n    } else if (link->type != LINK_PCI || link->remNode != prevNode) {\n      sprintf(line+offset, \"+ %s[%2.1f] - \", topoLinkTypeStr[link->type], link->bw);\n      int nextOffset = strlen(line);\n      if (link->type == LINK_PCI) {\n        NCCLCHECK(ncclTopoPrintRec(link->remNode, node, line, nextOffset));\n      } else {\n        if (link->remNode->type == NET) {\n          sprintf(line+nextOffset, \"%s/%lx-%lx (%d/%lx/%d/%f)\", topoNodeTypeStr[link->remNode->type], NCCL_TOPO_ID_SYSTEM_ID(link->remNode->id), NCCL_TOPO_ID_LOCAL_ID(link->remNode->id), link->remNode->net.collSupport, link->remNode->net.asic, link->remNode->net.port, link->remNode->net.bw);\n        } else {\n          sprintf(line+nextOffset, \"%s/%lx-%lx\", topoNodeTypeStr[link->remNode->type], NCCL_TOPO_ID_SYSTEM_ID(link->remNode->id), NCCL_TOPO_ID_LOCAL_ID(link->remNode->id));\n        }\n        INFO(NCCL_GRAPH, \"%s\", line);\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoPrint(struct ncclTopoSystem* s) {\n  INFO(NCCL_GRAPH, \"=== System : maxBw %2.1f totalBw %2.1f ===\", s->maxBw, s->totalBw);\n  char line[2048];\n  for (int n=0; n<s->nodes[CPU].count; n++) NCCLCHECK(ncclTopoPrintRec(s->nodes[CPU].nodes+n, NULL, line, 0));\n  INFO(NCCL_GRAPH, \"==========================================\");\n  NCCLCHECK(ncclTopoPrintPaths(s));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclTopoSort(struct ncclTopoNode* node, struct ncclTopoNode* upNode) {\n  // Shift all links to have upLink as last link\n  if (upNode) {\n    int l=0;\n    while (node->links[l].remNode != upNode) l++;\n    struct ncclTopoLink upLink;\n    memcpy(&upLink, node->links+l, sizeof(struct ncclTopoLink));\n    while (node->links[l+1].remNode) {\n      memcpy(node->links+l, node->links+l+1, sizeof(struct ncclTopoLink));\n      l++;\n    }\n    memcpy(node->links+l, &upLink, sizeof(struct ncclTopoLink));\n  }\n\n  // Recursively sort the PCI tree\n  for (int l=0; l<node->nlinks; l++) {\n    struct ncclTopoLink* link = node->links+l;\n    if (link->type == LINK_PCI && link->remNode != upNode) NCCLCHECK(ncclTopoSort(link->remNode, node));\n  }\n  return ncclSuccess;\n}\n\n// We want the graph to be organized to ease/accelerate traversal :\n// 1. NVLinks (already the case)\n// 2. PCI down\n// 3. PCI up\n// 4. SYS (already the case)\nncclResult_t ncclTopoSortSystem(struct ncclTopoSystem* system) {\n  for (int n=0; n<system->nodes[CPU].count; n++) NCCLCHECK(ncclTopoSort(system->nodes[CPU].nodes+n, NULL));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoAddNet(struct ncclXmlNode* xmlNet, struct ncclTopoSystem* system, struct ncclTopoNode* nic, int systemId, int64_t busId) {\n  int dev;\n  NCCLCHECK(xmlGetAttrInt(xmlNet, \"dev\", &dev));\n\n  struct ncclTopoNode* net;\n  NCCLCHECK(ncclTopoCreateNode(system, &net, NET, NCCL_TOPO_ID(systemId, dev)));\n  net->net.dev = dev;\n  const char* str;\n  NCCLCHECK(xmlGetAttr(xmlNet, \"guid\", &str));\n  if (str) sscanf(str, \"0x%lx\", &net->net.asic);\n  else net->net.asic = dev;\n\n  ncclDebugNoWarn = NCCL_GRAPH;\n  int mbps;\n  NCCLCHECK(xmlGetAttrIntDefault(xmlNet, \"speed\", &mbps, 0));\n  if (mbps <= 0) mbps = 10000; // Some NICs define speed = -1\n  net->net.bw = mbps / 8000.0;\n  if (xmlGetAttrFloat(xmlNet, \"latency\", &net->net.latency) != ncclSuccess) net->net.latency = 0;\n  NCCLCHECK(xmlGetAttrIntDefault(xmlNet, \"port\", &net->net.port, 0));\n  NCCLCHECK(xmlGetAttrIntDefault(xmlNet, \"gdr\", &net->net.gdrSupport, 0));\n  NCCLCHECK(xmlGetAttrIntDefault(xmlNet, \"maxconn\", &net->net.maxChannels, MAXCHANNELS));\n  NCCLCHECK(xmlGetAttrIntDefault(xmlNet, \"coll\", &net->net.collSupport, 0));\n  net->net.busId = busId;\n  ncclDebugNoWarn = 0;\n\n  NCCLCHECK(ncclTopoConnectNodes(nic, net, LINK_NET, net->net.bw));\n  NCCLCHECK(ncclTopoConnectNodes(net, nic, LINK_NET, net->net.bw));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoAddNic(struct ncclXmlNode* xmlNic, struct ncclTopoSystem* system, struct ncclTopoNode* nic, int systemId, int64_t busId) {\n  for (int s=0; s<xmlNic->nSubs; s++) {\n    struct ncclXmlNode* xmlNet = xmlNic->subs[s];\n    if (strcmp(xmlNet->name, \"net\") != 0) continue;\n    int index;\n    NCCLCHECK(xmlGetAttrIndex(xmlNet, \"dev\", &index));\n    // This means that the \"dev\" attribute wasn't set on this net xml node. That means it should not be added to the system topology graph\n    if (index == -1) continue;\n    NCCLCHECK(ncclTopoAddNet(xmlNet, system, nic, systemId, busId));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoAddGpu(struct ncclXmlNode* xmlGpu, struct ncclTopoSystem* system, struct ncclTopoNode* gpu) {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  // There is no direct mapping between CUDA SM to HIP GFX. Use SM60 as compatibility level.\n  gpu->gpu.cudaCompCap = 60;\n  // Repurpose previously unused \"sm\" as CU counts\n  NCCLCHECK(xmlGetAttrInt(xmlGpu, \"sm\", &gpu->gpu.cu));\n#else\n  NCCLCHECK(xmlGetAttrInt(xmlGpu, \"sm\", &gpu->gpu.cudaCompCap));\n#endif\n  const char* gcnArch;\n  const char* gcnArchName;\n  NCCLCHECK(xmlGetAttr(xmlGpu, \"gcn\", &gcnArch));\n  convertGcnArchToGcnArchName(gcnArch, &gcnArchName);\n  strncpy(gpu->gpu.gcn, gcnArchName, GCN_ARCH_NAME_LEN-1);\n  gpu->gpu.gcn[GCN_ARCH_NAME_LEN-1] = '\\0';\n  rcclHipDeviceArch_t arch;\n  NCCLCHECK(xmlGetAttrInt(xmlGpu, \"arch\", &arch.value));\n  memcpy(&gpu->gpu.arch, &arch.arch, sizeof(hipDeviceArch_t));\n  NCCLCHECK(xmlGetAttrInt(xmlGpu, \"rank\", &gpu->gpu.rank));\n  NCCLCHECK(xmlGetAttrInt(xmlGpu, \"dev\", &gpu->gpu.dev));\n  NCCLCHECK(xmlGetAttrInt(xmlGpu, \"gdr\", &gpu->gpu.gdrSupport));\n  // Do not go any further, nvlinks will be added in a second pass\n  return ncclSuccess;\n}\n\n#define PCI_BRIDGE_DEVICE_CLASS \"0x060400\"\n\n// struct kvDict kvDictPciClass[] = { { PCI_BRIDGE_DEVICE_CLASS, PCI }, {\"0x080100\", /*CX8 data direct*/PCI}, { \"0x068000\", NVS }, { \"0x068001\", CPU }, { \"0x03\", GPU }, { \"0x02\", NIC }, { NULL, PCI /* Default fallback value */ } };\nstruct kvDict kvDictPciClass[] = { { PCI_BRIDGE_DEVICE_CLASS, PCI }, { \"0x068000\", NVS }, { \"0x068001\", CPU }, { \"0x03\", GPU }, { \"0x02\", NIC }, { \"0x120000\", GPU }, { NULL, PCI /* Default fallback value */ } };\nstruct kvDict kvDictPciGen[] = {\n  { \"2.5 GT/s\", 15 }, { \"5 GT/s\", 30 }, { \"8 GT/s\", 60 }, { \"16 GT/s\", 120 }, { \"32 GT/s\", 240 }, /* Kernel 5.6 and earlier */\n  { \"2.5 GT/s PCIe\", 15 }, { \"5.0 GT/s PCIe\", 30 }, { \"8.0 GT/s PCIe\", 60 }, { \"16.0 GT/s PCIe\", 120 }, { \"32.0 GT/s PCIe\", 240 }, { \"64.0 GT/s PCIe\", 480 },\n  { NULL, 60 /* Default fallback */ } }; // x100 Mbps per lane\nncclResult_t ncclTopoAddPci(struct ncclXmlNode* xmlPci, struct ncclTopoSystem* system, struct ncclTopoNode* parent, int systemId, int numaId) {\n  const char* str;\n\n  int type;\n  NCCLCHECK(xmlGetAttrStr(xmlPci, \"class\", &str));\n  NCCLCHECK(kvConvertToInt(str, &type, kvDictPciClass));\n\n  int64_t busId;\n  NCCLCHECK(xmlGetAttrStr(xmlPci, \"busid\", &str));\n  NCCLCHECK(busIdToInt64(str, &busId));\n\n  struct ncclTopoNode* node = NULL;\n  struct ncclXmlNode* xmlGpu = NULL;\n  NCCLCHECK(xmlGetSub(xmlPci, \"gpu\", &xmlGpu));\n  if (xmlGpu != NULL) {\n    type = GPU;\n    int index;\n    NCCLCHECK(xmlGetAttrIndex(xmlGpu, \"rank\", &index));\n    if (index == -1) return ncclSuccess;\n    NCCLCHECK(ncclTopoCreateNode(system, &node, type, NCCL_TOPO_ID(systemId, busId)));\n    NCCLCHECK(ncclTopoAddGpu(xmlGpu, system, node));\n  }\n  struct ncclXmlNode* xmlNic = NULL;\n  NCCLCHECK(xmlGetSub(xmlPci, \"nic\", &xmlNic));\n  if (xmlNic != NULL) {\n    type = NIC;\n    // Ignore sub device ID and merge multi-port NICs into one PCI device.\n    struct ncclTopoNode* nicNode = NULL;\n    int64_t localNicId = NCCL_TOPO_LOCAL_NIC_ID(numaId, busId);\n    int64_t id = NCCL_TOPO_ID(systemId, localNicId);\n    NCCLCHECK(ncclTopoGetNode(system, &nicNode, type, id));\n    if (nicNode == NULL) {\n      NCCLCHECK(ncclTopoCreateNode(system, &nicNode, type, id));\n      node = nicNode; // Connect it to parent later on\n    }\n    NCCLCHECK(ncclTopoAddNic(xmlNic, system, nicNode, systemId, busId));\n  } else if (type == PCI) {\n    NCCLCHECK(ncclTopoCreateNode(system, &node, type, NCCL_TOPO_ID(systemId, busId)));\n    NCCLCHECK(xmlGetAttr(xmlPci, \"vendor\", &str));\n    if (str) node->pci.device += strtol(str, NULL, 0) << 48;\n    NCCLCHECK(xmlGetAttr(xmlPci, \"device\", &str));\n    if (str) node->pci.device += strtol(str, NULL, 0) << 32;\n    NCCLCHECK(xmlGetAttr(xmlPci, \"subsystem_vendor\", &str));\n    if (str) node->pci.device += strtol(str, NULL, 0) << 16;\n    NCCLCHECK(xmlGetAttr(xmlPci, \"subsystem_device\", &str));\n    if (str) node->pci.device += strtol(str, NULL, 0);\n\n    for (int s=0; s<xmlPci->nSubs; s++) {\n      struct ncclXmlNode* xmlSubPci = xmlPci->subs[s];\n      if (strcmp(xmlSubPci->name, \"pcilink\") != 0) { // PCI links will be added later\n        NCCLCHECK(ncclTopoAddPci(xmlSubPci, system, node, systemId, numaId));\n      }\n    }\n  }\n\n  if (node) {\n    int width, speed;\n    NCCLCHECK(xmlGetAttrInt(xmlPci, \"link_width\", &width));\n    NCCLCHECK(xmlGetAttrStr(xmlPci, \"link_speed\", &str));\n\n    // Manage cases where speed was not indicated in /sys\n    if (width == 0) width = 16;\n    NCCLCHECK(kvConvertToInt(str, &speed, kvDictPciGen)); // Values in 100Mbps, per lane (we want GB/s in the end)\n\n    NCCLCHECK(ncclTopoConnectNodes(node, parent, LINK_PCI, width*speed/80.0));\n    NCCLCHECK(ncclTopoConnectNodes(parent, node, LINK_PCI, width*speed/80.0));\n  }\n  return ncclSuccess;\n}\n\nstruct kvDict kvDictCpuArch[] = { { \"x86_64\", NCCL_TOPO_CPU_ARCH_X86 }, { \"arm64\", NCCL_TOPO_CPU_ARCH_ARM }, { \"ppc64\", NCCL_TOPO_CPU_ARCH_POWER }, { NULL, 0 } };\nstruct kvDict kvDictCpuVendor[] = { { \"GenuineIntel\", NCCL_TOPO_CPU_VENDOR_INTEL }, { \"AuthenticAMD\", NCCL_TOPO_CPU_VENDOR_AMD }, { \"CentaurHauls\", NCCL_TOPO_CPU_VENDOR_ZHAOXIN }, { \"  Shanghai  \", NCCL_TOPO_CPU_VENDOR_ZHAOXIN }, { NULL, 0 } };\n\nncclResult_t ncclGetSystemId(struct ncclTopoSystem* system, struct ncclXmlNode* xmlCpu, int* systemIdPtr) {\n  const char* hostHashStr;\n  NCCLCHECK(xmlGetAttr(xmlCpu, \"host_hash\", &hostHashStr));\n  uint64_t hostHash = hostHashStr ? strtoull(hostHashStr, NULL, 16) : 0;\n  int systemId;\n  for (systemId=0; systemId<system->nHosts; systemId++) if (system->hostHashes[systemId] == hostHash) break;\n  if (systemId == system->nHosts) system->hostHashes[system->nHosts++] = hostHash;\n  *systemIdPtr = systemId;\n  return ncclSuccess;\n}\n\n\nncclResult_t ncclTopoAddCpu(struct ncclXmlNode* xmlCpu, struct ncclTopoSystem* system) {\n  int numaId;\n  NCCLCHECK(xmlGetAttrInt(xmlCpu, \"numaid\", &numaId));\n  int systemId;\n  NCCLCHECK(ncclGetSystemId(system, xmlCpu, &systemId));\n  struct ncclTopoNode* cpu;\n  NCCLCHECK(ncclTopoCreateNode(system, &cpu, CPU, NCCL_TOPO_ID(systemId, numaId)));\n  const char* str;\n  NCCLCHECK(xmlGetAttr(xmlCpu, \"affinity\", &str));\n  if (str != NULL) {\n    NCCLCHECK(ncclStrToCpuset(str, &cpu->cpu.affinity));\n  }\n\n  NCCLCHECK(xmlGetAttrStr(xmlCpu, \"arch\", &str));\n  NCCLCHECK(kvConvertToInt(str, &cpu->cpu.arch, kvDictCpuArch));\n  if (cpu->cpu.arch == NCCL_TOPO_CPU_ARCH_X86) {\n    NCCLCHECK(xmlGetAttrStr(xmlCpu, \"vendor\", &str));\n    NCCLCHECK(kvConvertToInt(str, &cpu->cpu.vendor, kvDictCpuVendor));\n    if (cpu->cpu.vendor == NCCL_TOPO_CPU_VENDOR_INTEL) {\n      int familyId, modelId;\n      NCCLCHECK(xmlGetAttrInt(xmlCpu, \"familyid\", &familyId));\n      NCCLCHECK(xmlGetAttrInt(xmlCpu, \"modelid\", &modelId));\n      cpu->cpu.model =\n        (familyId == 6 && modelId >= 0xCF) ? NCCL_TOPO_CPU_MODEL_INTEL_ERP :\n        (familyId == 6 && modelId >= 0x8F) ? NCCL_TOPO_CPU_MODEL_INTEL_SRP :\n        (familyId == 6 && modelId >= 0x55) ? NCCL_TOPO_CPU_MODEL_INTEL_SKL :\n        NCCL_TOPO_CPU_MODEL_INTEL_BDW;\n    } else if (cpu->cpu.vendor == NCCL_TOPO_CPU_VENDOR_ZHAOXIN) {\n      int familyId, modelId;\n      NCCLCHECK(xmlGetAttrInt(xmlCpu, \"familyid\", &familyId));\n      NCCLCHECK(xmlGetAttrInt(xmlCpu, \"modelid\", &modelId));\n      if (familyId == 7 && modelId == 0x5B) cpu->cpu.model = NCCL_TOPO_CPU_MODEL_YONGFENG;\n    }\n    if (cpu->cpu.vendor == NCCL_TOPO_CPU_VENDOR_AMD) {\n      int familyId, modelId;\n      NCCLCHECK(xmlGetAttrInt(xmlCpu, \"familyid\", &familyId));\n      NCCLCHECK(xmlGetAttrInt(xmlCpu, \"modelid\", &modelId));\n      // Treat \"Milan\" also as \"Rome\"\n      cpu->cpu.model = ((familyId == 143 && modelId >= 49) || familyId == 175) ? NCCL_TOPO_CPU_MODEL_AMD_ROME : NCCL_TOPO_CPU_MODEL_AMD_ZEN;\n    }\n  }\n  for (int s=0; s<xmlCpu->nSubs; s++) {\n    struct ncclXmlNode* node = xmlCpu->subs[s];\n    if (strcmp(node->name, \"pci\") == 0) NCCLCHECK(ncclTopoAddPci(node, system, cpu, systemId, numaId));\n    if (strcmp(node->name, \"nic\") == 0) {\n      struct ncclTopoNode* nic = NULL;\n      int64_t localNicId = NCCL_TOPO_LOCAL_NIC_ID(numaId, 0);\n      int64_t id = NCCL_TOPO_ID(systemId, localNicId);\n      NCCLCHECK(ncclTopoGetNode(system, &nic, NIC, id));\n      if (nic == NULL) {\n        NCCLCHECK(ncclTopoCreateNode(system, &nic, NIC, id));\n        NCCLCHECK(ncclTopoConnectNodes(cpu, nic, LINK_PCI, LOC_BW));\n        NCCLCHECK(ncclTopoConnectNodes(nic, cpu, LINK_PCI, LOC_BW));\n      }\n      NCCLCHECK(ncclTopoAddNic(node, system, nic, systemId, 0));\n    }\n  }\n  return ncclSuccess;\n}\n\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\nncclResult_t ncclTopoAddXGMI(struct ncclXmlNode* node, struct ncclTopoSystem* system, const char* parentBusId) {\n  if (strcmp(node->name, \"xgmi\") == 0) {\n    struct ncclTopoNode* gpu = NULL;\n    int64_t pBusId;\n    NCCLCHECK(busIdToInt64(parentBusId, &pBusId));\n    NCCLCHECK(ncclTopoGetNode(system, &gpu, GPU, pBusId));\n    if (gpu == NULL) {\n      WARN(\"Add XGMI error : could not find GPU %lx\\n\", pBusId);\n      return ncclInternalError;\n    }\n    int count;\n    NCCLCHECK(xmlGetAttrInt(node, \"count\", &count));\n    const char* targetClass;\n    NCCLCHECK(xmlGetAttrStr(node, \"tclass\", &targetClass));\n    int targetType;\n    NCCLCHECK(kvConvertToInt(targetClass, &targetType, kvDictPciClass));\n    struct ncclTopoNode* remote = NULL;\n    if (targetType == GPU) {\n      // NVL P2P connection to another GPU\n      const char* target;\n      NCCLCHECK(xmlGetAttrStr(node, \"target\", &target));\n      int64_t busId;\n      NCCLCHECK(busIdToInt64(target, &busId));\n      NCCLCHECK(ncclTopoGetNode(system, &remote, GPU, busId));\n    } else if (targetType == CPU) {\n      // NVL connection to the local CPU\n      NCCLCHECK(findLocalCpu(gpu, &remote, NULL));\n    } else {\n      if (system->nodes[NVS].count == 0) {\n        NCCLCHECK(ncclTopoCreateNode(system, &remote, NVS, 0));\n      } else {\n        remote = system->nodes[NVS].nodes;\n      }\n    }\n    if (remote) {\n      float nvlSpeed = ncclTopoXGMISpeed(gpu->gpu.gcn);\n      NCCLCHECK(ncclTopoConnectNodes(gpu, remote, LINK_NVL, count*nvlSpeed));\n      if (remote->type != GPU) {\n        NCCLCHECK(ncclTopoConnectNodes(remote, gpu, LINK_NVL, count*nvlSpeed));\n      }\n    }\n  } else {\n    const char* busId;\n    NCCLCHECK(xmlGetAttr(node, \"busid\", &busId));\n    for (int s=0; s<node->nSubs; s++) {\n      NCCLCHECK(ncclTopoAddXGMI(node->subs[s], system, busId ? busId : parentBusId));\n    }\n  }\n  return ncclSuccess;\n}\n#else\nncclResult_t ncclTopoAddNvLinks(struct ncclXmlNode* node, struct ncclTopoSystem* system, const char* parentBusId, int systemId) {\n  if (strcmp(node->name, \"nvlink\") == 0) {\n    struct ncclTopoNode* gpu = NULL;\n    int64_t pBusId;\n    NCCLCHECK(busIdToInt64(parentBusId, &pBusId));\n    pBusId = NCCL_TOPO_ID(systemId, pBusId);\n    NCCLCHECK(ncclTopoGetNode(system, &gpu, GPU, pBusId));\n    if (gpu == NULL) {\n      WARN(\"Add NVLink error : could not find GPU %lx\", pBusId);\n      return ncclInternalError;\n    }\n    int count;\n    NCCLCHECK(xmlGetAttrInt(node, \"count\", &count));\n    const char* targetClass;\n    NCCLCHECK(xmlGetAttrStr(node, \"tclass\", &targetClass));\n    int targetType;\n    NCCLCHECK(kvConvertToInt(targetClass, &targetType, kvDictPciClass));\n    struct ncclTopoNode* remote = NULL;\n    if (targetType == GPU) {\n      // NVL P2P connection to another GPU\n      const char* target;\n      NCCLCHECK(xmlGetAttrStr(node, \"target\", &target));\n      int64_t busId;\n      NCCLCHECK(busIdToInt64(target, &busId));\n      NCCLCHECK(ncclTopoGetNode(system, &remote, GPU, NCCL_TOPO_ID(systemId, busId)));\n    } else if (targetType == CPU) {\n      // NVL connection to the local CPU\n      NCCLCHECK(findLocalCpu(gpu, &remote, NULL));\n    } else {\n      if (system->nodes[NVS].count == 0) {\n        NCCLCHECK(ncclTopoCreateNode(system, &remote, NVS, 0));\n      } else {\n        remote = system->nodes[NVS].nodes;\n      }\n    }\n    if (remote) {\n      float nvlBw = ncclTopoNVLinkBw(gpu->gpu.cudaCompCap);\n      NCCLCHECK(ncclTopoConnectNodes(gpu, remote, LINK_NVL, count*nvlBw));\n      if (remote->type != GPU) {\n        NCCLCHECK(ncclTopoConnectNodes(remote, gpu, LINK_NVL, count*nvlBw));\n      }\n    }\n  } else {\n    if (strcmp(node->name, \"cpu\") == 0) {\n      NCCLCHECK(ncclGetSystemId(system, node, &systemId));\n    }\n    const char* busId;\n    NCCLCHECK(xmlGetAttr(node, \"busid\", &busId));\n    for (int s=0; s<node->nSubs; s++) {\n      NCCLCHECK(ncclTopoAddNvLinks(node->subs[s], system, busId ? busId : parentBusId, systemId));\n    }\n  }\n  return ncclSuccess;\n}\n#endif\n\nncclResult_t ncclTopoAddPciLinks(struct ncclXmlNode* node, struct ncclTopoSystem* system, const char* parentBusId, int systemId) {\n  if (strcmp(node->name, \"pcilink\") == 0) {\n    struct ncclTopoNode* pci = NULL;\n    int64_t pBusId;\n    NCCLCHECK(busIdToInt64(parentBusId, &pBusId));\n    pBusId = NCCL_TOPO_ID(systemId, pBusId);\n    NCCLCHECK(ncclTopoGetNode(system, &pci, PCI, pBusId));\n    if (pci == NULL) {\n      WARN(\"Add PCI Link error : could not find PCI SW %lx\", pBusId);\n      return ncclInternalError;\n    }\n    struct ncclTopoNode* remote = NULL;\n    const char* target;\n    NCCLCHECK(xmlGetAttrStr(node, \"target\", &target));\n    int64_t busId;\n    NCCLCHECK(busIdToInt64(target, &busId));\n    NCCLCHECK(ncclTopoGetNode(system, &remote, PCI, NCCL_TOPO_ID(systemId, busId)));\n    if (remote) NCCLCHECK(ncclTopoConnectNodes(pci, remote, LINK_LOC, LOC_BW));\n  } else {\n    if (strcmp(node->name, \"cpu\") == 0) {\n      NCCLCHECK(ncclGetSystemId(system, node, &systemId));\n    }\n    const char* busId;\n    NCCLCHECK(xmlGetAttr(node, \"busid\", &busId));\n    for (int s=0; s<node->nSubs; s++) {\n      NCCLCHECK(ncclTopoAddPciLinks(node->subs[s], system, busId ? busId : parentBusId, systemId));\n    }\n  }\n  return ncclSuccess;\n}\n\n\nncclResult_t ncclTopoAddC2c(struct ncclXmlNode* node, struct ncclTopoSystem* system, const char* parentBusId, int systemId) {\n  if (strcmp(node->name, \"c2c\") == 0) {\n    struct ncclTopoNode* gpu = NULL;\n    int64_t pBusId;\n    NCCLCHECK(busIdToInt64(parentBusId, &pBusId));\n    pBusId = NCCL_TOPO_ID(systemId, pBusId);\n    NCCLCHECK(ncclTopoGetNode(system, &gpu, GPU, pBusId));\n    if (gpu == NULL) {\n      WARN(\"Add NVLink error : could not find GPU %lx\", pBusId);\n      return ncclInternalError;\n    }\n    int count = 0;\n    NCCLCHECK(xmlGetAttrInt(node, \"count\", &count));\n    int bw = 0;\n    NCCLCHECK(xmlGetAttrInt(node, \"bw\", &bw));\n    double c2cBw = (bw*count)/1000.0;\n    struct ncclTopoNode* cpu = NULL;\n    NCCLCHECK(findLocalCpu(gpu, &cpu, NULL));\n    if (cpu == NULL) return ncclSuccess;\n    NCCLCHECK(ncclTopoConnectNodes(gpu, cpu, LINK_C2C, c2cBw));\n    NCCLCHECK(ncclTopoConnectNodes(cpu, gpu, LINK_C2C, c2cBw));\n  } else {\n    if (strcmp(node->name, \"cpu\") == 0) {\n      NCCLCHECK(ncclGetSystemId(system, node, &systemId));\n    }\n    const char* busId;\n    NCCLCHECK(xmlGetAttr(node, \"busid\", &busId));\n    for (int s=0; s<node->nSubs; s++) {\n      NCCLCHECK(ncclTopoAddC2c(node->subs[s], system, busId ? busId : parentBusId, systemId));\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetSystemFromXml(struct ncclXml* xml, struct ncclTopoSystem** topoSystem, const uint64_t localHostHash) {\n  NCCLCHECK(ncclCalloc(topoSystem, 1));\n  struct ncclTopoSystem* system = *topoSystem;\n  struct ncclXmlNode* topNode;\n  NCCLCHECK(xmlFindTag(xml, \"system\", &topNode));\n  for (int s=0; s<topNode->nSubs; s++) {\n    struct ncclXmlNode* node = topNode->subs[s];\n    if (strcmp(node->name, \"cpu\") == 0) NCCLCHECK(ncclTopoAddCpu(node, *topoSystem));\n  }\n\n  int systemId = 0;\n  while (systemId < system->nHosts && system->hostHashes[systemId] != localHostHash) systemId++;\n  system->systemId = systemId;\n  if(systemId == system->nHosts){\n    WARN(\"localHostHash = 0x%lx not found in the list of system hostHashes\",localHostHash);\n    return ncclInvalidArgument;\n  }\n\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  NCCLCHECK(ncclTopoAddXGMI(topNode, *topoSystem, NULL));\n#else\n  NCCLCHECK(ncclTopoAddNvLinks(topNode, *topoSystem, NULL, 0));\n#endif\n  NCCLCHECK(ncclTopoAddC2c(topNode, *topoSystem, NULL, 0));\n  NCCLCHECK(ncclTopoAddPciLinks(topNode, *topoSystem, NULL, 0));\n\n  NCCLCHECK(ncclTopoFlattenBcmSwitches(*topoSystem));\n  NCCLCHECK(ncclTopoConnectCpus(*topoSystem));\n  NCCLCHECK(ncclTopoSortSystem(*topoSystem));\n\n  return ncclSuccess;\n}\n\nNCCL_PARAM(TopoDumpFileRank, \"TOPO_DUMP_FILE_RANK\", 0);\n\n// Only set values if not already set\nstatic ncclResult_t xmlInitAttrInt(struct ncclXmlNode* node, const char* attrName, const int value) {\n  int index;\n  NCCLCHECK(xmlGetAttrIndex(node, attrName, &index));\n  if (index == -1) {\n    index = node->nAttrs++;\n    strncpy(node->attrs[index].key, attrName, MAX_STR_LEN);\n    node->attrs[index].key[MAX_STR_LEN] = '\\0';\n    snprintf(node->attrs[index].value, MAX_STR_LEN, \"%d\", value);\n  }\n  return ncclSuccess;\n}\nstatic ncclResult_t xmlInitAttrUint64(struct ncclXmlNode* node, const char* attrName, const uint64_t value) {\n  int index;\n  NCCLCHECK(xmlGetAttrIndex(node, attrName, &index));\n  if (index == -1) {\n    index = node->nAttrs++;\n    strncpy(node->attrs[index].key, attrName, MAX_STR_LEN);\n    node->attrs[index].key[MAX_STR_LEN] = '\\0';\n    snprintf(node->attrs[index].value, MAX_STR_LEN, \"0x%lx\", value);\n  }\n  return ncclSuccess;\n}\nstatic ncclResult_t xmlInitAttrFloat(struct ncclXmlNode* node, const char* attrName, const float value) {\n  int index;\n  NCCLCHECK(xmlGetAttrIndex(node, attrName, &index));\n  if (index == -1) {\n    index = node->nAttrs++;\n    strncpy(node->attrs[index].key, attrName, MAX_STR_LEN);\n    node->attrs[index].key[MAX_STR_LEN] = '\\0';\n    snprintf(node->attrs[index].value, MAX_STR_LEN, \"%f\", value);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoRefreshBcmP2pLinks(void) {\n  //refresh the switch topology by reading the link below\n  FILE *fp = fopen(\"/sys/kernel/pci_switch_link/refresh_switch_toplogy\", \"r\");\n  if (fp != NULL) {\n    int tmp;\n    size_t r = fread(&tmp, sizeof(tmp), 1, fp);\n    if (r != 1)\n      INFO(NCCL_GRAPH, \"Failed to read refresh_switch_toplogy\");\n    fclose(fp);\n  }\n  return ncclSuccess;\n}\n\n// This is just checking for direct descendence\nint ncclTopoCheckPix(ncclXmlNode* common, ncclXmlNode** nodes, int nNodes) {\n  const char* tempBusId;\n  // If the common parent isn't a pci switch, then this isn't PIX\n  NCCLCHECK(xmlGetAttrStr(common, \"busid\", &tempBusId));\n  if (tempBusId == NULL) return 0;\n  TRACE(NCCL_GRAPH, \"Checking pix for busid=%s\", tempBusId);\n\n  // All the nodes must have a \"nic\" which is a parent, and then a pci node (busid) which must be a child of the \"common\"\n  for (int i = 0; i < nNodes; i++) {\n    ncclXmlNode* node = nodes[i];\n    if (strcmp(node->name, \"net\") == 0) {\n      node = node->parent;\n      if (node == NULL) return 0;\n      if (strcmp(node->name, \"nic\") == 0) {\n        node = node->parent;\n        if (node == NULL) return 0;\n        // All nodes must descend from the same first level pci switch\n        if (strcmp(node->name, \"pci\") == 0) {\n          TRACE(NCCL_GRAPH, \"Comparing parent of node=%p to common=%p\", node->parent, common);\n          if (node->parent != common) return 0;\n        }\n      }\n    }\n  }\n\n  return 1;\n}\n\n#define NCCL_TOPO_XML_DEPTH_MAX 256\ntypedef struct xmlNodeStack {\n  ncclXmlNode* elems[NCCL_TOPO_XML_DEPTH_MAX];\n  int tail;\n\n  ncclXmlNode* top() {\n    if (!empty()) {\n      return elems[tail - 1];\n    } else {\n      return NULL;\n    }\n  }\n\n  ncclXmlNode* pop() {\n    ncclXmlNode* node = top();\n    if (node) {\n      tail--;\n    }\n    return node;\n  }\n\n  void push(ncclXmlNode* node) {\n    if (tail < NCCL_TOPO_XML_DEPTH_MAX) {\n      elems[tail++] = node;\n    }\n  }\n\n  bool empty() {\n    return tail == 0;\n  }\n\n} xmlNodeStack;\n\nncclResult_t ncclFindFirstPciParent(ncclXmlNode** parent) {\n  ncclXmlNode* newParent = *parent;\n  while (strcmp(newParent->name, \"pci\") != 0) {\n    newParent = newParent->parent;\n    if (newParent == nullptr) return ncclSuccess;\n    if (strcmp(newParent->name, \"system\") == 0) return ncclSuccess;\n  }\n  *parent = newParent;\n  return ncclSuccess;\n}\n\n// 1. Find the common parent xmlNode between the given set of nodes\nncclResult_t ncclTopoGetPath(ncclXmlNode** nodes, int nNodes, int* path, ncclXmlNode** parent) {\n  // Track a stack of parents per-net node being merged\n  xmlNodeStack* parents;\n  NCCLCHECK(ncclCalloc(&parents, nNodes));\n  // Find the common parent\n  ncclXmlNode* common = NULL;\n\n  if (nNodes == 1) {\n    common = nodes[0];\n    *path = PATH_LOC;\n    goto out;\n  }\n\n  for (int i = 0; i < nNodes; i++) {\n    ncclXmlNode* temp;\n    temp = nodes[i];\n    while (temp) {\n      parents[i].push(temp);\n      temp = strcmp(temp->name, \"system\") == 0 ? NULL : temp->parent;\n    }\n  }\n\n  common = NULL;\n  int c;\n  c = 1;\n  while (c && !parents[0].empty()) {\n    ncclXmlNode* temp = parents[0].top();\n    for (int i = 1; i < nNodes; i++) {\n      if (!parents[i].empty()) {\n        c &= (temp == parents[i].top());\n      } else {\n        c = 0;\n        break;\n      }\n    }\n\n    if (c) {\n      common = temp;\n      if (common == NULL) TRACE(NCCL_GRAPH, \"COMMON IS NULL\");\n      for (int i = 0; i < nNodes; i++) {\n        parents[i].pop();\n      }\n    // Check multi-port while we still have the mismatched parents\n    // For multi-port to be true, all parents (peers) must have the busId attribute with all but the last character matching\n    } else {\n      int multiPort = 1;\n      const char* tempBusId;\n\n      NCCLCHECK(xmlGetAttr(temp, \"busid\", &tempBusId));\n      if (tempBusId) {\n        for (int i = 1; i < nNodes; i++) {\n          if (!parents[i].empty()) {\n            const char* busId;\n            NCCLCHECK(xmlGetAttr(parents[i].top(), \"busid\", &busId));\n            if (busId) {\n              if (strlen(busId) != strlen(tempBusId)) {\n                multiPort = 0;\n                break;\n              }\n              if (strncmp(busId, tempBusId, strlen(busId)-1) != 0) {\n                multiPort = 0;\n                break;\n              }\n            } else {\n              multiPort = 0;\n              break;\n            }\n          }\n        }\n      } else {\n        multiPort = 0;\n      }\n\n      if (multiPort) {\n        *path = PATH_PORT;\n        goto out;\n      }\n    }\n  }\n\n  if (common == NULL) {\n    *path = PATH_DIS;\n  } else if (strcmp(common->name,\"system\") == 0) {\n    *path = PATH_SYS;\n  } else if (strcmp(common->name, \"cpu\") == 0) {\n    *path = PATH_PHB;\n  } else if (strcmp(common->name, \"nic\") == 0) {\n    *path = PATH_PORT;\n  } else if (strcmp(common->name, \"net\") == 0) {\n    *path = PATH_PORT;\n  } else if (ncclTopoCheckPix(common, nodes, nNodes)) {\n    *path = PATH_PIX;\n  } else {\n    *path = PATH_PXB;\n  }\n\nout:\n  ncclFindFirstPciParent(&common);\n  *parent = common;\n  free(parents);\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoMakeUniqueBusId(struct ncclXml* xml, char* busId, struct ncclXmlNode** pciNode, struct ncclXmlNode* parent) {\n  int i = 0;\n  int64_t rBusId;\n  NCCLCHECK(busIdToInt64(busId, &rBusId));\n  // Try to find an unused busid - NCCL expects leaf busid to be unique\n  while (i < 100) {\n    rBusId++;\n    TRACE(NCCL_GRAPH, \"Trying to make new busId %lx\", rBusId);\n    int64ToBusId(rBusId, busId);\n    struct ncclXmlNode* temp = NULL;\n    NCCLCHECK(xmlFindTagKv(xml, \"pci\", &temp, \"busid\", busId));\n    if (temp == NULL) {\n      NCCLCHECK(xmlAddNode(xml, parent, \"pci\", pciNode));\n      NCCLCHECK(xmlSetAttr(*pciNode, \"busid\", busId));\n      TRACE(NCCL_GRAPH, \"Made new busId %lx\", rBusId);\n      return ncclSuccess;\n    }\n    TRACE(NCCL_GRAPH, \"Conflicting busId %lx\", rBusId);\n    i++;\n  }\n\n  WARN(\"TOPO/NET : Couldn't generate unique busId after %d tries\", i);\n  return ncclInternalError;\n}\n\nncclResult_t ncclTopoMakePciParent(struct ncclXml* xml, struct ncclXmlNode** parent, struct ncclXmlNode* physNetNode) {\n  struct ncclXmlNode* newBusId = NULL;\n  struct ncclXmlNode* pci = physNetNode->parent;\n  if (pci) {\n    pci = pci->parent;\n    if (pci) {\n      if (strcmp(pci->name, \"pci\") == 0) {\n        char busId[NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE];\n        memset(busId, 0, sizeof(busId));\n        const char* originalBusId;\n        // Seed busId with the current NIC 0's busId to make discovering a unique hash quicker\n        NCCLCHECK(xmlGetAttrStr(pci, \"busid\", &originalBusId));\n        snprintf(busId, sizeof(busId), \"%s\", originalBusId);\n        NCCLCHECK(ncclTopoMakeUniqueBusId(xml, busId, &newBusId, *parent));\n        for (int i = 0; i < pci->nAttrs; i++) {\n          NCCLCHECK(xmlSetAttr(newBusId, pci->attrs[i].key, pci->attrs[i].value));\n        }\n        NCCLCHECK(xmlSetAttr(newBusId, \"busid\", busId));\n        *parent = newBusId;\n      }\n    }\n  }\n\n  if (newBusId == NULL) {\n    const char* name;\n    NCCLCHECK(xmlGetAttr(physNetNode, \"name\", &name));\n    WARN(\"TOPO/NET : Can't find busId of child 0 %s\", name);\n    return ncclInternalError;\n  }\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoMakeVnic(struct ncclXml* xml, struct ncclTopoNetInfo* netInfo, ncclNetVDeviceProps_t* vProps, struct ncclXmlNode** physNetNodes) {\n  if (vProps->ndevs > NCCL_NET_MAX_DEVS_PER_NIC) {\n    WARN(\"TOPO/NET : Tried to merge too many NICs. %d > %d\", vProps->ndevs, NCCL_NET_MAX_DEVS_PER_NIC);\n    return ncclInternalError;\n  }\n\n  // Don't make vNics of size 1\n  if (vProps->ndevs == 1) {\n    TRACE(NCCL_GRAPH, \"TOPO/NET : Skipping vNic of size 1\");\n    return ncclSuccess;\n  }\n\n  // Trigger the merge, then get the new device's properties\n  int vDevIndex = 0;\n  ncclResult_t ret = netInfo->makeVDevice(&vDevIndex, vProps);\n  if (ret != ncclSuccess) {\n    INFO(NCCL_GRAPH|NCCL_INIT|NCCL_NET, \"TOPO/NET : Tried merging multiple devices together and failed. vProps={ndevs=%d, devs=[%d %d %d %d]}. Set NCCL_NET_MERGE_LEVEL=LOC to disable NIC fusion.\",\n      vProps->ndevs, vProps->devs[0], vProps->devs[1], vProps->devs[2], vProps->devs[3]);\n    return ret;\n  }\n\n  // Mark original NICs as keep=\"0\" in the topology\n  for (int i = 0; i < vProps->ndevs; i++) {\n    int dev = vProps->devs[i];\n    struct ncclXmlNode* netNode = physNetNodes[dev];\n    NCCLCHECK(xmlSetAttrInt(netNode, \"keep\", 0));\n  }\n\n  INFO(NCCL_GRAPH, \"TOPO/NET : Made vNic %d\", vDevIndex);\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoForceMerge(struct ncclXml* xml, struct ncclTopoNetInfo* netInfo, int* placedDevs, ncclNetProperties_t* propsList, struct ncclXmlNode** physNetNodes, int nPhysDevs) {\n  ncclResult_t ret = ncclSuccess;\n  const char* str = netInfo->forceMerge;\n  INFO(NCCL_ENV | NCCL_NET, \"TOPO/NET : Force-fusing NICs using NCCL_NET_FORCE_MERGE=%s\", str);\n  char* ncStr;\n  NCCLCHECK(ncclCalloc(&ncStr, strlen(str)+1));\n  strcpy(ncStr, str);\n  char* semi_token;\n  char* semi = strtok_r(ncStr, \";\", &semi_token);\n  while (semi) {\n    TRACE(NCCL_NET, \"Fusing %s\", semi);\n    struct netIf userIfs[NCCL_NET_MAX_DEVS_PER_NIC];\n    int nUserIfs = parseStringList(semi, userIfs, NCCL_NET_MAX_DEVS_PER_NIC);\n    if (nUserIfs == 0) {\n      INFO(NCCL_NET, \"NET/IB : Invalid NCCL_NET_FORCE_MERGE specified %s. Couldn't parse substring %s. Please provide a semicolon-delimited list of comma-delimited NIC groups.\",\n        ncStr, semi);\n      continue;\n    }\n\n    ncclNetVDeviceProps_t vProps = {0};\n    for (int d = 0; d < nPhysDevs; d++) {\n      if (matchIfList(propsList[d].name, propsList[d].port, userIfs, nUserIfs, 1)) {\n        vProps.devs[vProps.ndevs++] = d;\n      }\n    }\n\n    if (vProps.ndevs != nUserIfs) {\n      WARN(\"TOPO/NET : Only matched %d devices, %d requested from %s\",\n        vProps.ndevs, nUserIfs, semi);\n      ret = ncclInvalidUsage;\n      goto fail;\n    }\n\n    if (vProps.ndevs > NCCL_NET_MAX_DEVS_PER_NIC) {\n      WARN(\"Specified fused NIC %s which has too many devices (%d). Max %d\", semi, vProps.ndevs, NCCL_NET_MAX_DEVS_PER_NIC);\n      ret = ncclInvalidUsage;\n      goto fail;\n    }\n\n    ret = ncclTopoMakeVnic(xml, netInfo, &vProps, physNetNodes);\n    if (ret == ncclSuccess) {\n      // Only set that a device is \"placed\" after successfully making a vNic (it's possible to exit before this)\n      for (int i = 0; i < vProps.ndevs; i++) {\n        placedDevs[vProps.devs[i]] = 1;\n      }\n    } else {\n      WARN(\"TOPO/NET : Could not force merge NICs %s. Please specify a valid NCCL_NET_FORCE_MERGE string.\", semi);\n      ret = ncclInvalidUsage;\n      goto fail;\n    }\n\n    semi = strtok_r(NULL, \";\", &semi_token);;\n  }\n\nexit:\n  free(ncStr);\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t ncclTopoAutoMerge(struct ncclXml* xml, struct ncclTopoNetInfo* netInfo, int* placedDevs, ncclNetProperties_t* propsList, struct ncclXmlNode** physNetNodes, int nPhysDevs) {\n  // Compute the path type between each device\n  int* paths = NULL;\n  ncclResult_t res = ncclSuccess;\n  ncclCalloc(&paths, nPhysDevs*nPhysDevs);\n  TRACE(NCCL_GRAPH, \"Allocated %d paths\", nPhysDevs*nPhysDevs);\n  for (int i = 0; i < nPhysDevs; i++) {\n    for (int j = 0; j < nPhysDevs; j++) {\n      struct ncclXmlNode* nodes[2];\n      nodes[0] = physNetNodes[i];\n      nodes[1] = physNetNodes[j];\n      struct ncclXmlNode* parent;\n      NCCLCHECKGOTO(ncclTopoGetPath(nodes, 2, &paths[i*nPhysDevs + j], &parent), res, out);\n    }\n  }\n\n  // Place all remaining physical devices into a virtual device given the mergeLevel criteria\n  for (int i = 0; i < nPhysDevs; i++) {\n    // Select the first unplaced device \"i\" as the root\n    if (placedDevs[i] == 0) {\n      // Init a new vDevice\n      ncclNetVDeviceProps_t vProps;\n      vProps = {0};\n      vProps.devs[vProps.ndevs++] = i;\n      placedDevs[i] = 1;\n      TRACE(NCCL_GRAPH, \"Placed dev %d\", i);\n\n      // Select each unplaced device \"j\" which is at most \"mergeLevel\" distance from \"i\", but not equal to \"i\"\n      // (Don't merge the same device with itself)\n      for (int j = 0; j < nPhysDevs; j++) {\n        if (paths[i*nPhysDevs + j] <= netInfo->mergeLevel &&\n        placedDevs[j] == 0 && j != i) {\n          vProps.devs[vProps.ndevs++] = j;\n          placedDevs[j] = 1;\n          TRACE(NCCL_GRAPH, \"Placed dev %d path=%d\", j, paths[i*nPhysDevs + j] );\n        }\n        if (vProps.ndevs == NCCL_NET_MAX_DEVS_PER_NIC) break;\n      }\n\n      if (vProps.ndevs > NCCL_NET_MAX_DEVS_PER_NIC) {\n        WARN(\"TOPO/NET : Tried to merge too many NICs. %d > %d\", vProps.ndevs, NCCL_NET_MAX_DEVS_PER_NIC);\n        return ncclInternalError;\n      }\n\n      ncclResult_t ret = ncclTopoMakeVnic(xml, netInfo, &vProps, physNetNodes);\n\n      // Merging failed.\n      // Mark all as unplaced and increase their distance to disconnected (PATH_DIS)\n      // Set i to 0 to restart the automatic merging process and ensure all are placed\n      if (ret != ncclSuccess) {\n        INFO(NCCL_GRAPH|NCCL_INIT|NCCL_NET, \"Marking physical devices as unplaced, increasing distance and restarting search.\");\n        placedDevs[i] = 0;\n        TRACE(NCCL_GRAPH, \"Setting dev %d as unplaced, keeping distance -> self as PATH_LOC\", i);\n        for (int k = 1; k < vProps.ndevs; k++) {\n          int dev = vProps.devs[k];\n          placedDevs[dev] = 0;\n          paths[i*nPhysDevs + dev] = PATH_DIS;\n          paths[dev*nPhysDevs + i] = PATH_DIS;\n          TRACE(NCCL_GRAPH, \"Setting dev %d as unplaced, setting distance -> %d as PATH_DIS\", dev, i);\n        }\n        i = 0;\n      }\n    }\n  }\n\nout:\n  free(paths);\n  return res;\n}\n\nstruct kvDict nicPathKvList[] = {\n  { \"LOC\",  PATH_LOC },\n  { \"PORT\", PATH_PORT },\n  { \"PIX\",  PATH_PIX },\n  { \"PXB\",  PATH_PXB },\n  { \"P2C\",  PATH_P2C },\n  { \"PXN\",  PATH_PXN },\n  { \"PHB\",  PATH_PHB },\n  { \"SYS\",  PATH_SYS },\n  { NULL, 0 }\n};\n\n\nncclResult_t ncclTopoFindLinkWidthRec(ncclXmlNode* node, ncclXmlNode** physNetNodes, int ndevs, int* foundPhysNet, int* linkWidth) {\n  int myLinkWidth = 0;\n  if (strcmp(node->name, \"pci\") == 0) {\n    NCCLCHECK(xmlGetAttrInt(node, \"link_width\", &myLinkWidth));\n#ifdef ENABLE_TRACE\n    const char *busidAttr, *linkAttr;\n    NCCLCHECK(xmlGetAttrStr(node, \"busid\", &busidAttr));\n    NCCLCHECK(xmlGetAttr(node, \"link_width\", &linkAttr));\n    TRACE(NCCL_GRAPH, \"Found link_width (%s)=%d for busid=%s\", linkAttr, myLinkWidth, busidAttr);\n#endif\n  }\n\n  *foundPhysNet = 0;\n  // Detect if a physical child is found. This information will be propagated up the stack.\n  int devId = 0;\n  while (devId < ndevs && !(*foundPhysNet)) *foundPhysNet = (node == physNetNodes[devId++]);\n\n  int totalChildLinkWidth = 0;\n  for (int i = 0; i < node->nSubs; i++) {\n    ncclXmlNode* child = node->subs[i];\n    int found = 0;\n    int tempLinkWidth = 0;\n    NCCLCHECK(ncclTopoFindLinkWidthRec(child, physNetNodes, ndevs, &found, &tempLinkWidth));\n    if (found) {\n      *foundPhysNet = 1;\n      totalChildLinkWidth += tempLinkWidth;\n    }\n  }\n\n  if (*foundPhysNet == 0) {\n    // No child NICs were found, do not accrue any detected link_width\n    *linkWidth = 0;\n    INFO(NCCL_GRAPH, \"Did not find child net device. Returning link_width=%d totalChildLinkWidth=%d\", *linkWidth, totalChildLinkWidth);\n  } else if (totalChildLinkWidth == 0) {\n    // If A child NIC was found but no link_width was detected among children, assign the link_width to mine (I am the first pci node right above the physNetNode).\n    *linkWidth = myLinkWidth;\n    INFO(NCCL_GRAPH, \"Found child net device for %s. Returning link_width=%d totalChildLinkWidth=%d\", node->name, *linkWidth, totalChildLinkWidth);\n  } else {\n  // Standard recursive accrual of link_width. The link_width is either the bottleneck of this PCI node's width or the sum of its children's width.\n    *linkWidth = myLinkWidth > 0 ? std::min(myLinkWidth, totalChildLinkWidth) : totalChildLinkWidth;\n    INFO(NCCL_GRAPH, \"Found child net device for %s. Returning link_width=%d totalChildLinkWidth=%d\", node->name, *linkWidth, totalChildLinkWidth);\n  }\n\n  return ncclSuccess;\n}\n\n// DFS over nodes under common parent\n// Exclude link widths of non-physNetNodes chains\nncclResult_t ncclTopoFindLinkWidth(ncclXmlNode* parent, ncclXmlNode** physNetNodes, int ndevs, int* linkWidth) {\n  *linkWidth = 0;\n  for (int i = 0; i < parent->nSubs; i++) {\n    ncclXmlNode* child = parent->subs[i];\n    int foundPhysNet = 0;\n    int childLinkWidth = 0;\n    NCCLCHECK(ncclTopoFindLinkWidthRec(child, physNetNodes, ndevs, &foundPhysNet, &childLinkWidth));\n    if (foundPhysNet) {\n      *linkWidth += childLinkWidth;\n    }\n  }\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoWidenLinks(ncclXmlNode** physNetNodes, int ndevs, ncclXmlNode* parent) {\n  int sumLinkWidth = 0;\n  NCCLCHECK(ncclTopoFindLinkWidth(parent, physNetNodes, ndevs, &sumLinkWidth));\n  for (int i = 0; i < ndevs; i++) {\n    ncclXmlNode* temp = physNetNodes[i];\n    while (temp != parent) {\n      if (strcmp(temp->name, \"pci\") == 0) {\n        NCCLCHECK(xmlSetAttrInt(temp, \"link_width\", sumLinkWidth));\n        TRACE(NCCL_GRAPH, \"Set link_width to %d for node %s\", sumLinkWidth, temp->name);\n      }\n      temp = temp->parent;\n    }\n  }\n\n  if (strcmp(parent->name, \"pci\") == 0) {\n    NCCLCHECK(xmlSetAttrInt(parent, \"link_width\", sumLinkWidth));\n    TRACE(NCCL_GRAPH, \"Set link_width to %d for node %s\", sumLinkWidth, parent->name);\n  }\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetVNicParent(struct ncclXml* xml, ncclResult_t (*getProperties)(int, ncclNetProperties_t*), ncclNetVDeviceProps_t* vProps, ncclXmlNode** parent) {\n  ncclNetProperties_t props[NCCL_NET_MAX_DEVS_PER_NIC];\n  ncclXmlNode* physNetNodes[NCCL_NET_MAX_DEVS_PER_NIC];\n  for (int i = 0; i < vProps->ndevs; i++) {\n    NCCLCHECK(getProperties(vProps->devs[i], props + i));\n    struct ncclXmlNode* physNetNode;\n    NCCLCHECK(xmlFindTagKv(xml, \"net\", &physNetNode, \"name\", props[i].name));\n    physNetNodes[i] = physNetNode;\n    TRACE(NCCL_GRAPH, \"Re-found physical ncclNet node %d %s\", i,  props[i].name);\n  }\n\n  int path = PATH_LOC;\n  NCCLCHECK(ncclTopoGetPath(physNetNodes, vProps->ndevs, &path, parent));\n  if (path == PATH_PHB || path == PATH_PXB || path == PATH_PIX) {\n    INFO(NCCL_GRAPH, \"Widening links\");\n    NCCLCHECK(ncclTopoWidenLinks(physNetNodes, vProps->ndevs, *parent));\n  }\n\n  if (*parent) {\n    if (strcmp((*parent)->name, \"pci\") == 0) {\n      // Compare PCI class here to avoid NCCL WARN when the \"class\" attribute doesn't exist\n      const char* c;\n      NCCLCHECK(xmlGetAttrStr(*parent, \"class\", &c));\n      if (c && strcmp(c, PCI_BRIDGE_DEVICE_CLASS) == 0) {\n        // If the common parent is a PCI switch, we must reparent the new NIC under a made up pci device with a unique busid\n        NCCLCHECK(ncclTopoMakePciParent(xml, parent, physNetNodes[0]));\n      }\n    } else if (strcmp((*parent)->name, \"cpu\") == 0) {\n      // If the common parent is a PCI switch, we must reparent the new NIC under a made up pci device with a unique busid\n      NCCLCHECK(ncclTopoMakePciParent(xml, parent, physNetNodes[0]));\n    }\n  }\n\n  TRACE(NCCL_GRAPH, \"Selected parent %s with path %d\", (*parent)->name, path);\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoMakeVNics(struct ncclXml* xml, struct ncclTopoNetInfo* netInfo, int physicalDevs) {\n  int* placedDevs = NULL;\n  struct ncclXmlNode** physNetNodes = NULL;\n  ncclNetProperties_t* props = NULL;\n  ncclResult_t res = ncclSuccess;\n  if (physicalDevs == 0) return ncclSuccess;\n\n  NCCLCHECK(ncclCalloc(&physNetNodes, physicalDevs));\n  NCCLCHECK(ncclCalloc(&placedDevs, physicalDevs));\n  NCCLCHECK(ncclCalloc(&props, physicalDevs));\n  for (int i = 0; i < physicalDevs; i++) {\n    NCCLCHECKGOTO(netInfo->getProperties(i, props + i), res, out);\n    struct ncclXmlNode* physNetNode;\n    NCCLCHECKGOTO(xmlFindTagKv(xml, \"net\", &physNetNode, \"name\", props[i].name), res, out);\n    physNetNodes[i] = physNetNode;\n    TRACE(NCCL_GRAPH, \"Found physical ncclNet node %d %s\", i,  props[i].name);\n  }\n\n  if (netInfo->forceMerge) NCCLCHECKGOTO(ncclTopoForceMerge(xml, netInfo, placedDevs, props, physNetNodes, physicalDevs), res, out);\n  NCCLCHECKGOTO(ncclTopoAutoMerge(xml, netInfo, placedDevs, props, physNetNodes, physicalDevs), res, out);\n\nout:\n  free(physNetNodes);\n  free(props);\n  if (placedDevs) free(placedDevs);\n  return res;\n}\n\nstatic ncclResult_t ncclTopoPopulateNics(ncclXml* xml, int startIndex, int endIndex, struct ncclTopoNetInfo* netInfo, int virtualNics) {\n  for (int n = startIndex; n < endIndex; n++) {\n    ncclNetProperties_t props;\n    NCCLCHECK(netInfo->getProperties(n, &props));\n    struct ncclXmlNode* netNode = NULL;\n    struct ncclXmlNode* parent = NULL;\n    if (virtualNics) {\n      struct ncclXmlNode* net = NULL;\n      NCCLCHECK(xmlFindTagKv(xml, \"net\", &net, \"name\", props.name));\n      // In the event of multithreaded use case, we need to re-discover the shared parent of the given devices for this vNIC\n      // Only run this if the net doesn't exist locally - this may alter the XML state\n      if (net == NULL) NCCLCHECK(ncclTopoGetVNicParent(xml, netInfo->getProperties, &props.vProps, &parent));\n    }\n\n    NCCLCHECK(ncclTopoFillNet(xml, props.pciPath, props.name, &netNode, parent));\n\n    const char* colAttr;\n    NCCLCHECK(xmlGetAttr(netNode, \"coll\", &colAttr));\n\n    NCCLCHECK(xmlSetAttrInt(netNode, \"keep\", 1));\n    int dev;\n    xmlGetAttrIntDefault(netNode, \"dev\", &dev, -1);\n    if (dev != -1 && dev != n) INFO(NCCL_GRAPH, \"TOPO/NET : Changing %s dev index from %d to %d\", netInfo->name, dev, n);\n    NCCLCHECK(xmlSetAttrInt(netNode, \"dev\", n));\n    NCCLCHECK(xmlInitAttrInt(netNode, \"latency\", props.latency));\n    NCCLCHECK(xmlInitAttrInt(netNode, \"speed\", props.speed));\n    NCCLCHECK(xmlInitAttrInt(netNode, \"port\", props.port));\n    NCCLCHECK(xmlInitAttrUint64(netNode, \"guid\", props.guid));\n    NCCLCHECK(xmlInitAttrInt(netNode, \"maxconn\", props.maxComms));\n    bool gdrSupport = (props.ptrSupport & NCCL_PTR_CUDA) || (netInfo->dmaBufSupport && (props.ptrSupport & NCCL_PTR_DMABUF));\n    INFO(NCCL_NET,\"NET/%s : GPU Direct RDMA %s for HCA %d '%s'\", netInfo->name, gdrSupport ? \"Enabled\" : \"Disabled\", n, props.name);\n    NCCLCHECK(xmlInitAttrInt(netNode, \"gdr\", gdrSupport));\n    // Only set coll if it's not 0\n    if (netInfo->coll) NCCLCHECK(xmlInitAttrInt(netNode, \"coll\", netInfo->coll));\n\n    const char* keepAttr;\n    NCCLCHECK(xmlGetAttr(netNode, \"coll\", &colAttr));\n    NCCLCHECK(xmlGetAttr(netNode, \"keep\", &keepAttr));\n    INFO(NCCL_GRAPH, \"ncclTopoPopulateNics : Filled %s in topo with pciPath=%s keep=%s coll=%s\",\n      props.name, props.pciPath, keepAttr, colAttr);\n  }\n\n  return ncclSuccess;\n}\n\n// Calls to network plugin APIs should be protected. This function should be called inside a per-process lock.\nncclResult_t ncclTopoProcessNet(ncclXml* xml, const char* dumpXmlFile, struct ncclTopoNetInfo* net) {\n  bool usePhysicalDevices = (dumpXmlFile || net->makeVDevice == NULL);\n  int nPhysicalNics, nVirtualNics;\n  NCCLCHECK(net->getDevCount(net->netPluginIndex, &nPhysicalNics, &nVirtualNics));\n  // List the physical devices in the topo\n  NCCLCHECK(ncclTopoPopulateNics(xml, 0, nPhysicalNics, net, /*virtual=*/false));\n  if (!usePhysicalDevices) {\n    // Virtual devices are only created once per network\n    if (nVirtualNics == NCCL_UNDEF_DEV_COUNT) {\n      NCCLCHECK(ncclTopoMakeVNics(xml, net, nPhysicalNics));\n      // Update the number of virtual devices both locally and in the state tracking the plugin.\n      // Note: 0 is a valid number of virtual devices\n      int nDevs;\n      NCCLCHECK(net->devices(&nDevs));\n      nVirtualNics = nDevs - nPhysicalNics;\n      NCCLCHECK(net->setVirtDevCount(net->netPluginIndex, nVirtualNics));\n    }\n    // populate the virtual devices if any\n    if (nVirtualNics > 0) {\n      NCCLCHECK(ncclTopoPopulateNics(xml, nPhysicalNics, nPhysicalNics + nVirtualNics, net, /*virtual=*/true));\n    }\n  }\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetFusionEnv(int* mergeLevel, const char** forceMerge) {\n  if (forceMerge) *forceMerge = ncclGetEnv(\"NCCL_NET_FORCE_MERGE\");\n  const char* mergeLevelEnv = ncclGetEnv(\"NCCL_NET_MERGE_LEVEL\");\n  if (mergeLevelEnv) {\n    kvConvertToInt(mergeLevelEnv, mergeLevel, nicPathKvList);\n  } else {\n    *mergeLevel = PATH_PORT;\n  }\n  return ncclSuccess;\n}\n\nstatic std::mutex netMutex;\n\nncclResult_t ncclTopoGetSystem(struct ncclComm* comm, struct ncclTopoSystem** system, const char* dumpXmlFile) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclXml* xml;\n  char* mem = NULL;\n  int* localRanks = NULL;\n  struct ncclXml* rankXml;\n  int localRank = -1, nLocalRanks = 0;\n  struct ncclTopoNetInfo netInfo = {0};\n  NCCLCHECK(xmlAlloc(&xml, NCCL_TOPO_XML_MAX_NODES));\n  const char* xmlTopoFile = ncclGetEnv(\"NCCL_TOPO_FILE\");\n  if (xmlTopoFile) {\n    INFO(NCCL_ENV, \"NCCL_TOPO_FILE set by environment to %s\", xmlTopoFile);\n    NCCLCHECKGOTO(ncclTopoGetXmlFromFile(xmlTopoFile, xml, 1), ret, fail);\n  } else {\n    // Try default XML topology location\n    NCCLCHECKGOTO(ncclTopoGetXmlFromFile(\"/var/run/nvidia-topologyd/virtualTopology.xml\", xml, 0), ret, fail);\n  }\n  // Fixup the cpu's host_hashes.\n  struct ncclXmlNode* node;\n  // Update every cpu node's host_hash attribute since those are not\n  // intended to be preserved from the XML files that have been read.\n  NCCLCHECKGOTO(xmlFindTag(xml, \"cpu\", &node), ret, fail);\n  while (node != nullptr) {\n    NCCLCHECKGOTO(xmlSetAttrLong(node, \"host_hash\", getHostHash()), ret, fail);\n    NCCLCHECKGOTO(xmlFindNextTag(xml, \"cpu\", node, &node), ret, fail);\n  }\n  if (xml->maxIndex == 0) {\n    // Create top tag\n    struct ncclXmlNode* top;\n    NCCLCHECKGOTO(xmlAddNode(xml, NULL, \"system\", &top), ret, fail);\n    NCCLCHECKGOTO(xmlSetAttrInt(top, \"version\", NCCL_TOPO_XML_VERSION), ret, fail);\n  }\n\n  NCCLCHECKGOTO(ncclTopoRefreshBcmP2pLinks(), ret, fail);\n\n  // Detect only the GPU managed by this process.  We'll get any others through XML fusion.\n  char busId[NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE];\n  NCCLCHECKGOTO(int64ToBusId(comm->peerInfo[comm->rank].busId, busId), ret, fail);\n  NCCLCHECKGOTO(ncclTopoFillGpu(xml, busId, &node), ret, fail);\n  if (node) {\n    NCCLCHECKGOTO(xmlSetAttrInt(node, \"keep\", 1), ret, fail);\n    NCCLCHECKGOTO(xmlSetAttrInt(node, \"rank\", comm->rank), ret, fail);\n    NCCLCHECKGOTO(xmlInitAttrInt(node, \"gdr\", comm->peerInfo[comm->rank].gdrSupport), ret, fail);\n  }\n\n  // Auto-detect NICs if needed. net/collnet share the same xml/graph nodes,\n  // so we start with collnet so that it has precedence.\n  {\n      std::lock_guard<std::mutex> lock(netMutex);\n      INFO(NCCL_GRAPH, \"TOPO/NET : Importing network plugins to topology\");\n      if (collNetSupport(comm)) {\n        netInfo.coll = 1;\n        netInfo.netPluginIndex = comm->netPluginIndex;\n        netInfo.dmaBufSupport = comm->dmaBufSupport;\n        netInfo.getDevCount = ncclCollNetGetDevCount;\n        netInfo.setVirtDevCount = ncclCollNetSetVirtDevCount;\n        netInfo.name = comm->ncclCollNet->name;\n        netInfo.getProperties = comm->ncclCollNet->getProperties;\n        netInfo.makeVDevice = comm->ncclCollNet->makeVDevice;\n        netInfo.devices = comm->ncclCollNet->devices;\n        NCCLCHECK(ncclTopoGetFusionEnv(&netInfo.mergeLevel, &netInfo.forceMerge));\n        NCCLCHECKGOTO(ncclTopoProcessNet(xml, dumpXmlFile, &netInfo), ret, fail);\n      }\n\n      netInfo.coll = 0;\n      netInfo.netPluginIndex = comm->netPluginIndex;\n      netInfo.dmaBufSupport = comm->dmaBufSupport;\n      netInfo.getDevCount = ncclNetGetDevCount;\n      netInfo.setVirtDevCount = ncclNetSetVirtDevCount;\n      netInfo.name = comm->ncclNet->name;\n      netInfo.getProperties = comm->ncclNet->getProperties;\n      netInfo.makeVDevice = comm->ncclNet->makeVDevice;\n      netInfo.devices = comm->ncclNet->devices;\n      NCCLCHECK(ncclTopoGetFusionEnv(&netInfo.mergeLevel, &netInfo.forceMerge));\n      NCCLCHECKGOTO(ncclTopoProcessNet(xml, dumpXmlFile, &netInfo), ret, fail);\n  }\n\n  // Remove XML branches which don't have a node with keep=\"1\" (typically when importing a topology)\n  NCCLCHECKGOTO(ncclTopoTrimXml(xml), ret, fail);\n\n  // XML topo fusion.\n  if (comm->MNNVL) {\n    // MNNVL clique support\n    nLocalRanks = comm->clique.size;\n    localRank = comm->cliqueRank;\n    localRanks = comm->clique.ranks;\n  } else {\n    // Intra-node fusion.  Much of the comm is not initialized yet at this point so we need to do our own calculations.\n    NCCLCHECKGOTO(ncclCalloc(&localRanks, comm->nRanks), ret, fail);\n    for (int i = 0; i < comm->nRanks; i++) {\n      if (comm->peerInfo[i].hostHash == comm->peerInfo[comm->rank].hostHash) {\n        if (i == comm->rank)\n          localRank = nLocalRanks;\n        localRanks[nLocalRanks++] = i;\n      }\n    }\n  }\n  NCCLCHECKGOTO(ncclCalloc(&mem, nLocalRanks * xmlMemSize(NCCL_TOPO_XML_MAX_NODES)), ret, fail);\n  rankXml = (struct ncclXml*)(mem+xmlMemSize(NCCL_TOPO_XML_MAX_NODES)*localRank);\n  memcpy(rankXml, xml, xmlMemSize(NCCL_TOPO_XML_MAX_NODES));\n  NCCLCHECKGOTO(ncclTopoConvertXml(rankXml, (uintptr_t)xml->nodes, 1), ret, fail);\n  // nLocalRanks can't actually be 0, or we wouldn't be running at all...\n  // coverity[divide_by_zero]\n  NCCLCHECKGOTO(bootstrapIntraNodeAllGather(comm->bootstrap, localRanks, localRank, nLocalRanks, mem, xmlMemSize(NCCL_TOPO_XML_MAX_NODES)), ret, fail);\n  if (comm->MNNVL) {\n    // Ensure that we have enough room when fusing topos from multiple nodes.\n    free(xml);\n    xml = NULL;\n    NCCLCHECKGOTO(xmlAlloc(&xml, nLocalRanks*NCCL_TOPO_XML_MAX_NODES), ret, fail);\n  } else {\n    // In the intra-node case there's no need to enlarge the topo xml.\n    xml->maxIndex = 0;\n  }\n  for (int i = 0; i < nLocalRanks; i++) {\n    struct ncclXml* peerXml = (struct ncclXml*)(mem+xmlMemSize(NCCL_TOPO_XML_MAX_NODES)*i);\n    NCCLCHECKGOTO(ncclTopoConvertXml(peerXml, (uintptr_t)peerXml->nodes, 0), ret, fail);\n    NCCLCHECKGOTO(ncclTopoFuseXml(xml, peerXml), ret, fail);\n  }\n\n  if (dumpXmlFile && comm->rank == ncclParamTopoDumpFileRank()) {\n    INFO(NCCL_ENV, \"NCCL_TOPO_DUMP_FILE set by environment to %s\", dumpXmlFile);\n    NCCLCHECKGOTO(ncclTopoDumpXmlToFile(dumpXmlFile, xml), ret, fail);\n  }\n\n  // Only update our topo tracking structure if we aren't dumping (separate steps)\n  if (dumpXmlFile == NULL) NCCLCHECKGOTO(ncclTopoGetSystemFromXml(xml, system, getHostHash()), ret, fail);\n\nexit:\n  if (!comm->MNNVL && localRanks) free(localRanks);\n  if (mem) free(mem);\n  free(xml);\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t ncclTopoGetLocal(struct ncclTopoSystem* system, int type, int index, int resultType,\n                                     int locals[NCCL_TOPO_MAX_NODES], int* localCount, int* pathType) {\n  int minType = PATH_DIS;\n  float maxBw = 0;\n  int count = 0;\n  struct ncclTopoLinkList* paths = system->nodes[type].nodes[index].paths[resultType];\n  if (paths == NULL) { *localCount = 0; return ncclSuccess; }\n  for (int i=0; i<system->nodes[resultType].count; i++) {\n    if (paths[i].bw > maxBw || (paths[i].bw == maxBw && paths[i].type < minType)) {\n      maxBw = paths[i].bw;\n      minType = paths[i].type;\n      if (pathType) *pathType = minType;\n      count = 0;\n    }\n    if (paths[i].bw == maxBw && paths[i].type == minType) {\n      if (count == NCCL_TOPO_MAX_NODES) {\n        WARN(\"Error : ran out of room to store found nodes in ncclTopoGetLocal.\"\n             \" Filled %d of type %d, starting from index %d of type %d.\",\n             NCCL_TOPO_MAX_NODES, resultType, index, type);\n        return ncclInternalError;\n      }\n      locals[count++] = i;\n    }\n  }\n  *localCount = count;\n  return ncclSuccess;\n}\n\nncclResult_t getLocalNetCountByBw(struct ncclTopoSystem* system, int gpu, int *count) {\n  int localNetCount = 0, netCountByBw = 0;\n  int localNets[NCCL_TOPO_MAX_NODES];\n  float totalNetBw = 0, gpuBw = 0;\n\n  for (int l=0; l<system->nodes[GPU].nodes[gpu].nlinks; l++) {\n    //assuming BW to CPU reflects the GPU bandwidth via P2P or C2C\n    //caveat, this could be wrong if there is a PCIe switch,\n    //and a narrower link to the CPU\n    if (system->nodes[GPU].nodes[gpu].links[l].remNode->type == CPU) {\n      gpuBw = system->nodes[GPU].nodes[gpu].links[l].bw;\n    }\n  }\n\n  NCCLCHECK(ncclTopoGetLocal(system, GPU, gpu, NET, localNets, &localNetCount, NULL));\n  for (int l=0; (l < localNetCount) && (totalNetBw < gpuBw); l++, netCountByBw++) {\n    totalNetBw += system->nodes[GPU].nodes[gpu].paths[NET][localNets[l]].bw;\n  }\n  *count = netCountByBw;\n\n  return ncclSuccess;\n}\n\nenum netDevsPolicy {\n  NETDEVS_POLICY_AUTO = 0x0,\n  NETDEVS_POLICY_ALL = 0x1,\n  NETDEVS_POLICY_MAX = 0x2,\n  NETDEVS_POLICY_UNDEF = 0xffffffff\n};\n\nstatic enum netDevsPolicy netDevsPolicy = NETDEVS_POLICY_UNDEF;\nstatic int netDevsPolicyNum = -1;\n\nstatic void getNetDevsPolicyOnce() {\n  const char* envStr = ncclGetEnv(\"NCCL_NETDEVS_POLICY\");\n  if (envStr) {\n    if (strcasecmp(envStr, \"AUTO\") == 0) {\n      netDevsPolicy = NETDEVS_POLICY_AUTO;\n    } else if (strcasecmp(envStr, \"ALL\") == 0) {\n      netDevsPolicy = NETDEVS_POLICY_ALL;\n    } else if (strncasecmp(envStr, \"MAX:\", strlen(\"MAX:\")) == 0) {\n      int envNum = atoi(envStr + strlen(\"MAX:\"));\n      if (envNum > 0) {\n        netDevsPolicy = NETDEVS_POLICY_MAX;\n        netDevsPolicyNum = envNum;\n      }\n    }\n    if (netDevsPolicy == NETDEVS_POLICY_UNDEF)\n      INFO(NCCL_ENV, \"Unable to recognize NCCL_NETDEVS_POLICY=%s, using NCCL_NETDEVS_POLICY_AUTO instead.\", envStr);\n    else\n      INFO(NCCL_ENV, \"NCCL_NETDEVS_POLICY set by environment to %s\", envStr);\n  }\n  if (netDevsPolicy == NETDEVS_POLICY_UNDEF) netDevsPolicy = NETDEVS_POLICY_AUTO;\n}\n\nncclResult_t ncclTopoGetLocalNet(struct ncclTopoSystem* system, int rank, int channelId, int64_t* id, int* dev) {\n  int gpu;\n  NCCLCHECK(ncclTopoRankToIndex(system, rank, &gpu, /*showWarn=*/true));\n\n  int localNets[NCCL_TOPO_MAX_NODES];\n  int localNetCount;\n  NCCLCHECK(ncclTopoGetLocal(system, GPU, gpu, NET, localNets, &localNetCount, NULL));\n  if (localNetCount==0) {\n#if !defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__)\n    WARN(\"Could not find any local path from gpu %d to net.\", gpu);\n#endif\n    return ncclInternalError;\n  }\n\n  static pthread_once_t once = PTHREAD_ONCE_INIT;\n  pthread_once(&once,getNetDevsPolicyOnce);\n  int netsPerGpu = 0;\n  if (netDevsPolicy == NETDEVS_POLICY_AUTO) {\n    int localGpus[NCCL_TOPO_MAX_NODES];\n    int localGpuCount;\n    NCCLCHECK(ncclTopoGetLocal(system, NET, localNets[0], GPU, localGpus, &localGpuCount, NULL));\n    netsPerGpu = DIVUP(localNetCount, localGpuCount);\n  } else if (netDevsPolicy == NETDEVS_POLICY_ALL) {\n    netsPerGpu = localNetCount;\n  } else if (netDevsPolicy == NETDEVS_POLICY_MAX) {\n    if (netDevsPolicyNum <= 0) {\n      WARN(\"Invalid number of network devices = %d for policy MAX\", netDevsPolicyNum);\n      return ncclInternalError;\n    }\n    netsPerGpu = std::min(netDevsPolicyNum, localNetCount);\n  } else {\n    WARN(\"Unknown netDevs policy\");\n    return ncclInternalError;\n  }\n\n  int net = system->nodes[GPU].nodes[gpu].gpu.dev;\n  if (isPow2(localNetCount)) net = mirrorBits(net, localNetCount);\n  net += channelId%(netsPerGpu);\n  if (id) *id = system->nodes[NET].nodes[localNets[net%localNetCount]].id;\n  if (dev) *dev = system->nodes[NET].nodes[localNets[net%localNetCount]].net.dev;\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetLocalGpu(struct ncclTopoSystem* system, int64_t netId, int* gpuIndex) {\n  ncclResult_t ret = ncclSuccess;\n  int netIndex;\n  NCCLCHECK(ncclTopoIdToIndex(system, NET, netId, &netIndex));\n\n  int localGpus[NCCL_TOPO_MAX_NODES];\n  int localGpuCount;\n  NCCLCHECK(ncclTopoGetLocal(system, NET, netIndex, GPU, localGpus, &localGpuCount, NULL));\n\n  int foundGpu = -1;\n  for (int c=0; c<MAXCHANNELS; c++) {\n    for (int lg=0; lg<localGpuCount; lg++) {\n      int g = localGpus[lg];\n      struct ncclTopoNode* gpu = system->nodes[GPU].nodes+g;\n      int64_t id;\n      NCCLCHECK(ncclTopoGetLocalNet(system, gpu->gpu.rank, c, &id, NULL));\n      if (netId == id) {\n        foundGpu = g;\n        goto exit;\n      }\n    }\n  }\nexit:\n  *gpuIndex = foundGpu;\n  return ret;\n}\n\n/****************************/\n/* External query functions */\n/****************************/\n\nncclResult_t ncclTopoCpuType(struct ncclTopoSystem* system, int* arch, int* vendor, int* model) {\n  *arch = system->nodes[CPU].nodes[0].cpu.arch;\n  *vendor = system->nodes[CPU].nodes[0].cpu.vendor;\n  *model = system->nodes[CPU].nodes[0].cpu.model;\n  return ncclSuccess;\n}\n\nNCCL_PARAM(IgnoreCpuAffinity, \"IGNORE_CPU_AFFINITY\", 0);\n\nncclResult_t ncclTopoGetCpuAffinity(struct ncclTopoSystem* system, int rank, cpu_set_t* affinity) {\n  struct ncclTopoNode* cpu = NULL, *gpu = NULL;\n  int gpuIndex, cpuIndex;\n  NCCLCHECK(ncclTopoRankToIndex(system, rank, &gpuIndex, /*showWarn=*/true));\n  NCCLCHECK(ncclGetLocalCpu(system, gpuIndex, &cpuIndex));\n  gpu = system->nodes[GPU].nodes+gpuIndex;\n  cpu = system->nodes[CPU].nodes+cpuIndex;\n\n  // Query the CPU affinity set we were provided\n  cpu_set_t mask;\n  SYSCHECK(sched_getaffinity(0, sizeof(cpu_set_t), &mask), \"sched_getaffinity\");\n\n  // Get the affinity of the CPU close to our GPU.\n  cpu_set_t cpuMask = cpu->cpu.affinity;\n\n  // Get the final affinity\n  cpu_set_t finalMask;\n  if (ncclParamIgnoreCpuAffinity())\n    // Ignore the CPU affinity set and use the GPU one instead\n    finalMask = cpuMask;\n  else\n    // Use a subset of the GPU affinity set\n    CPU_AND(&finalMask, &mask, &cpuMask);\n\n  memcpy(affinity, &finalMask, sizeof(cpu_set_t));\n\n  // display the final affinity\n  char msg[1024] = \"\";\n  snprintf(msg + strlen(msg), sizeof(msg) - strlen(msg), \"Affinity for GPU %d is \", gpu->gpu.dev);\n  if (CPU_COUNT(&finalMask)) {\n    (void)ncclCpusetToRangeStr(&finalMask, msg + strlen(msg), sizeof(msg) - strlen(msg));\n  } else {\n    snprintf(msg + strlen(msg), sizeof(msg) - strlen(msg), \"empty, ignoring\");\n  }\n  snprintf(msg + strlen(msg), sizeof(msg) - strlen(msg), \". (GPU affinity = \");\n  (void)ncclCpusetToRangeStr(&cpuMask, msg + strlen(msg), sizeof(msg) - strlen(msg));\n  if (!ncclParamIgnoreCpuAffinity()) {\n    snprintf(msg + strlen(msg), sizeof(msg) - strlen(msg), \" ; CPU affinity = \");\n    (void)ncclCpusetToRangeStr(&mask, msg + strlen(msg), sizeof(msg) - strlen(msg));\n  }\n  snprintf(msg + strlen(msg), sizeof(msg) - strlen(msg), \").\");\n  INFO(NCCL_INIT, \"%s: %s\", __func__, msg);\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetGpuCount(struct ncclTopoSystem* system, int* count) {\n  *count = system->nodes[GPU].count;\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetNetCount(struct ncclTopoSystem* system, int* count) {\n  *count = system->nodes[NET].count;\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetNvsCount(struct ncclTopoSystem* system, int* count) {\n  *count = system->nodes[NVS].count;\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetCompCap(struct ncclTopoSystem* system, int* ccMin, int* ccMax) {\n  if (system->nodes[GPU].count == 0) return ncclInternalError;\n  int min, max;\n  min = max = system->nodes[GPU].nodes[0].gpu.cudaCompCap;\n  for (int g=1; g<system->nodes[GPU].count; g++) {\n    min = std::min(min, system->nodes[GPU].nodes[g].gpu.cudaCompCap);\n    max = std::max(max, system->nodes[GPU].nodes[g].gpu.cudaCompCap);\n  }\n  if (ccMin) *ccMin = min;\n  if (ccMax) *ccMax = max;\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/graph/topo.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_TOPO_H_\n#define NCCL_TOPO_H_\n\n#include \"graph.h\"\n#include \"core.h\"\n#include \"xml.h\"\n#include \"net.h\"\n#include \"archinfo.h\"\n#include <string.h>\n\n#define LOC_BW 5000.0\n#define SM60_NVLINK_BW 18.0\n#define SM70_NVLINK_BW 20.0\n#define SM80_NVLINK_BW 20.0\n#define SM90_NVLINK_BW 20.6\n#define SM86_NVLINK_BW 12.0\n#define SM100_NVLINK_BW 40.1\n#define PCI_BW 12.0           // PCI Gen3 x16\n#define AMD_BW 16.0\n#define BDW_QPI_BW 6.0\n#define SKL_QPI_BW 10.0\n#define SRP_QPI_BW 22.0\n#define ERP_QPI_BW 40.0\n#define ZPI_BW 6.0\n#define YONGFENG_ZPI_BW 9.0\n#define P9_BW 32.0\n#define ARM_BW 6.0\n#define NET_BW 12.0           // 100Gbit\n#define VEGA_XGMI_WIDTH 24.0\n#define MI200_XGMI_WIDTH 36.0\n#define GFX94X_XGMI_WIDTH 48.0\n#define GFX95X_XGMI_WIDTH 48.0\n\n// Intel CPU convert GPU P2P traffic into 64B PCI TLPs, so GPU\n// to GPU traffic consumes more PCI bandwidth.\n#define INTEL_P2P_OVERHEAD(bw) (bw*6/5)\n\n#define NCCL_TOPO_NODE_TYPES 6\n#define GPU 0\n#define PCI 1\n#define NVS 2\n#define CPU 3 // Actually NUMA domains\n#define NIC 4\n#define NET 5\nextern const char* topoNodeTypeStr[];\n\n// We want link types and path types to match as much as possible\n#define LINK_LOC 0\n#define LINK_NVL 1\n// Skipping 2 for PATH_NVB\n#define LINK_C2C 3\n#define LINK_PCI 4\n// Skipping 5 for PATH_PXB\n// Skipping 6 for PATH_PXN\n// Skipping 7 for PATH_P2C\n// Skipping 8 for PATH_PHB\n#define LINK_SYS 9\n#define LINK_NET 10\nextern const char* topoLinkTypeStr[];\n\n// Local (myself)\n#define PATH_LOC 0\n\n// Connection traversing NVLink\n#define PATH_NVL 1\n\n// Connection through NVLink using an intermediate GPU\n#define PATH_NVB 2\n\n// Connection through C2C\n#define PATH_C2C 3\n\n// Connection traversing at most a single PCIe bridge\n#define PATH_PIX 4\n\n// Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)\n#define PATH_PXB 5\n\n// Connection between a GPU and a NIC using the C2C connection to the CPU and the PCIe connection to the NIC\n#define PATH_P2C 6\n\n// Connection between a GPU and a NIC using an intermediate GPU. Used to enable rail-local, aggregated network send/recv operations.\n#define PATH_PXN 7\n\n// Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)\n#define PATH_PHB 8\n\n// Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)\n#define PATH_SYS 9\n\n// Connection through the network\n#define PATH_NET 10\n\n// New type of path which should precede PATH_PIX\n#define PATH_PORT PATH_NVL\n\n// Disconnected\n#define PATH_DIS 11\nextern const char* topoPathTypeStr[];\n\nextern int64_t ncclParamPxnC2c();\n\nstruct ncclTopoNode;\nstruct ncclTopoLink {\n  int type;\n  float bw;\n  struct ncclTopoNode* remNode;\n};\n// Allows for up to 32 NICs per node on GB200-NVL72\n#define NCCL_TOPO_MAX_LINKS 576\n#define NCCL_TOPO_MAX_HOPS (NCCL_TOPO_MAX_NODES*NCCL_TOPO_NODE_TYPES)\n\nstruct ncclTopoLinkList {\n  struct ncclTopoLink* list[NCCL_TOPO_MAX_HOPS];\n  int count;\n  float bw;\n  int type;\n};\n\n#define NCCL_TOPO_UNDEF (-1)\n\n#define NCCL_TOPO_ID_LOCAL_ID_MASK 0x00ffffffffffffff\n#define NCCL_TOPO_ID_SYSTEM_ID(id) (id >> 56)\n#define NCCL_TOPO_ID_LOCAL_ID(id) (id & NCCL_TOPO_ID_LOCAL_ID_MASK)\n#define NCCL_TOPO_LOCAL_NIC_ID(numaid, busid) (((int64_t)numaid << 56) + busid)\n#define NCCL_TOPO_ID(systemid, localid) (((int64_t)systemid << 56) + (localid & NCCL_TOPO_ID_LOCAL_ID_MASK))\n\n#define RCCL_TOPO_CR8G      1\n#define RCCL_TOPO_4P2H_ROME 2\n#define RCCL_TOPO_GDR_ALL   4\n#define RCCL_TOPO_16P1H     8\n#define RCCL_TOPO_FORCE_INTRA 16\n#define RCCL_TOPO_XGMI_ALL  32\n\n\n#define GCN_ARCH_NAME_LEN 16\n\nstruct ncclTopoNode {\n  int type;\n  int64_t id;\n  // Type specific data\n  union {\n    struct {\n      int dev; // NVML dev number\n      int rank;\n      int cudaCompCap;\n      int gdrSupport;\n      char gcn[GCN_ARCH_NAME_LEN];\n      hipDeviceArch_t arch;\n      int cu;\n    }gpu;\n    struct {\n      int dev; // Plugin dev number\n      uint64_t asic;\n      int port;\n      float bw;\n      float latency;\n      int gdrSupport;\n      int collSupport;\n      int maxChannels;\n      int localGpu;\n      int64_t busId;\n    }net;\n    struct {\n      int arch;\n      int vendor;\n      int model;\n      cpu_set_t affinity;\n    }cpu;\n    struct {\n      uint64_t device;\n    }pci;\n  };\n  int nlinks;\n  struct ncclTopoLink links[NCCL_TOPO_MAX_LINKS];\n  // Pre-computed paths to GPUs and NICs\n  struct ncclTopoLinkList* paths[NCCL_TOPO_NODE_TYPES];\n  // Used during search\n  uint64_t used;\n};\n\nstruct ncclTopoNodeSet {\n  int count;\n  struct ncclTopoNode nodes[NCCL_TOPO_MAX_NODES];\n};\n\nstruct ncclTopoSystem {\n  int systemId;\n  uint64_t hostHashes[NCCL_TOPO_MAX_NODES];\n  int nHosts;\n  struct ncclTopoNodeSet nodes[NCCL_TOPO_NODE_TYPES];\n  float maxBw;\n  float totalBw;\n  int type;\n  int nRanks;\n  int netGdrLevel;\n  int tuning;\n\n  bool pivotA2AEnabled;\n  int pivotA2ANumBiRings;\n  bool treeDefined;\n  bool ll128Enabled;\n#ifdef ENABLE_WARP_SPEED\n  bool warpSpeedEnabled;\n#endif\n  float baseBw;\n  bool mscclEnabled;\n\n  // [RCCL] Track hostIdx to support rail-optimized rings/trees\n  int hostIdx;\n  bool useRailOptimizedTrees;\n};\n\nncclResult_t ncclTopoGetNode(struct ncclTopoSystem* system, struct ncclTopoNode** node, int type, uint64_t id);\nncclResult_t ncclTopoCreateNode(struct ncclTopoSystem* system, struct ncclTopoNode** node, int type, uint64_t id);\nncclResult_t ncclTopoRemoveNode(struct ncclTopoSystem* system, int type, int id);\nncclResult_t ncclTopoConnectNodes(struct ncclTopoNode* node, struct ncclTopoNode* remNode, int type, float bw);\nncclResult_t ncclTopoPrintPaths(struct ncclTopoSystem* system);\nncclResult_t ncclTopoLoadSystem(const char* xmlTopoFile, struct ncclTopoSystem* system);\nncclResult_t ncclTopoGetIntermediateRank(struct ncclTopoSystem* system, int rank, int64_t netId, int* intermediateRank);\nncclResult_t ncclTopoGetGpuMinPath(struct ncclTopoSystem* system, int type, int* min);\nncclResult_t ncclTopoGetGpuMaxPath(struct ncclTopoSystem* system, int type, int* max);\nncclResult_t ncclTopoSplitNvLink(struct ncclTopoSystem* system, int* splitNvLink);\n\nstruct ncclTopoNetInfo {\n  bool coll;\n  // communicator-specific information\n  int netPluginIndex;\n  bool dmaBufSupport;\n  // NIC fusion\n  int mergeLevel;\n  const char* forceMerge;\n  // dev count tracking functions (not part of ncclNet)\n  ncclResult_t (*getDevCount)(int, int*, int*);\n  ncclResult_t (*setVirtDevCount)(int, int);\n  // ncclNet API functions\n  const char* name;\n  ncclResult_t (*getProperties)(int, ncclNetProperties_t*);\n  ncclResult_t (*makeVDevice)(int*, ncclNetVDeviceProps_t*);\n  ncclResult_t (*devices)(int*);\n};\n\nncclResult_t ncclTopoProcessNet(ncclXml* xml, const char* dumpXmlFile, struct ncclTopoNetInfo* net);\nncclResult_t ncclTopoGetFusionEnv(int* mergeLevel, const char** forceMerge);\n\n#define NCCL_TOPO_XML_MAX_NODES 8192\n#define NCCL_GRAPH_XML_MAX_NODES 8192\nncclResult_t ncclTopoGetSystemFromXml(struct ncclXml* xml, struct ncclTopoSystem** topoSystem, uint64_t localHostHash);\nncclResult_t ncclTopoGetGraphFromXml(struct ncclXmlNode *xmlGraphs, struct ncclTopoSystem* system, struct ncclTopoGraph* graph, int* nChannels);\nncclResult_t ncclTopoGetXmlFromGraphs(int ngraphs, struct ncclTopoGraph** graphs, struct ncclTopoSystem* system, struct ncclXml *xml);\n\nncclResult_t ncclTopoGetCompCap(struct ncclTopoSystem* system, int* ccMin, int* ccMax);\n\nstatic ncclResult_t ncclTopoIdToIndex(struct ncclTopoSystem* system, int type, int64_t id, int* index) {\n  *index = -1;\n  for (int i=0; i<system->nodes[type].count; i++) {\n    if (system->nodes[type].nodes[i].id == id) {\n      *index = i;\n      return ncclSuccess;\n    }\n  }\n  return ncclInternalError;\n}\n\nstatic ncclResult_t ncclTopoRankToIndex(struct ncclTopoSystem* system, int rank, int* index, bool showWarn) {\n  *index = -1;\n  for (int i=0; i<system->nodes[GPU].count; i++) {\n    if (system->nodes[GPU].nodes[i].gpu.rank == rank) {\n      *index = i;\n      return ncclSuccess;\n    }\n  }\n  if (showWarn) WARN(\"ncclTopoRankToIndex could not find rank %d\", rank);\n  return ncclInternalError;\n}\n\nstatic ncclResult_t ncclTopoDevToRank(struct ncclTopoSystem* system, int dev, int* rank) {\n  *rank = -1;\n  for (int i=0; i<system->nodes[GPU].count; i++) {\n    if (NCCL_TOPO_ID_SYSTEM_ID(system->nodes[GPU].nodes[i].id) != system->systemId) continue; // Only consider GPUs on our node\n    if (system->nodes[GPU].nodes[i].gpu.dev == dev) {\n      *rank = system->nodes[GPU].nodes[i].gpu.rank;\n      return ncclSuccess;\n    }\n  }\n  return ncclInternalError;\n}\n\nextern struct kvDict nicPathKvList[];\n\nstatic ncclResult_t ncclTopoIdToNetDev(struct ncclTopoSystem* system, int64_t id, int* netDev) {\n  *netDev = -1;\n  for (int i=0; i<system->nodes[NET].count; i++) {\n    if (system->nodes[NET].nodes[i].id == id) {\n      *netDev = system->nodes[NET].nodes[i].net.dev;\n      return ncclSuccess;\n    }\n  }\n  WARN(\"Could not find NET with id %lx\", id);\n  return ncclInternalError;\n}\n\n// Returns XGMI speed in GB/s\nstatic float ncclTopoXGMISpeed(const char* gcn) {\n  if (IsArchMatch(gcn, \"gfx90a\"))\n    return MI200_XGMI_WIDTH;\n  else if (IsArchMatch(gcn, \"gfx942\"))\n    return GFX94X_XGMI_WIDTH;\n  else if (IsArchMatch(gcn, \"gfx95\"))\n    return GFX95X_XGMI_WIDTH;\n  else\n    return VEGA_XGMI_WIDTH;\n}\n\n// Returns NVLink bw in GB/s\nstatic float ncclTopoNVLinkBw(int cudaCompCap) {\n  return\n    cudaCompCap >= 100 ? SM100_NVLINK_BW :\n    cudaCompCap >= 90 ? SM90_NVLINK_BW :\n    cudaCompCap == 86 ? SM86_NVLINK_BW :\n    cudaCompCap >= 80 ? SM80_NVLINK_BW :\n    cudaCompCap >= 70 ? SM70_NVLINK_BW :\n    cudaCompCap >= 60 ? SM60_NVLINK_BW :\n    SM80_NVLINK_BW;\n}\n\n// Mirror bits\nstatic bool isPow2(int val) {\n  return (val & (val-1)) == 0;\n}\nstatic int mirrorBits(int val, int pow2) {\n  int mirror = 0;\n  for (int b=1, mb=(pow2>>1); b<pow2; b<<=1, mb>>=1) if (val & b) mirror |= mb;\n  return mirror;\n}\n#endif\n"
  },
  {
    "path": "src/graph/trees.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2020, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nccl.h\"\n\n#define RANK_TO_INDEX(r) (rank > root ? rank-1 : rank)\n\n/* Btree which alternates leaves and nodes.\n * Assumes root is 0, which conveniently builds a tree on powers of two,\n * (because we have pow2-1 ranks) which lets us manipulate bits.\n * Find first non-zero bit, then :\n * Find the parent :\n *   xx01[0] -> xx10[0] (1,5,9 below) or xx00[0] if xx10[0] is out of bounds (13 below)\n *   xx11[0] -> xx10[0] (3,7,11 below)\n * Find the children :\n *   xx10[0] -> xx01[0] (2,4,6,8,10,12) or -1 (1,3,5,7,9,11,13)\n *   xx10[0] -> xx11[0] (2,4,6,8,10) or xx101[0] (12) or xx1001[0] ... or -1 (1,3,5,7,9,11,13)\n *\n * Illustration :\n * 0---------------8\n *          ______/ \\______\n *         4               12\n *       /   \\            /  \\\n *     2       6       10     \\\n *    / \\     / \\     /  \\     \\\n *   1   3   5   7   9   11    13\n */\nncclResult_t ncclGetBtree(int nranks, int rank, int* u, int* d0, int* d1, int* parentChildType) {\n  int up, down0, down1;\n  int bit;\n  for (bit=1; bit<nranks; bit<<=1) {\n    if (bit & rank) break;\n  }\n\n  if (rank == 0) {\n    *u = -1;\n    *d0 = -1;\n    // Child rank is > 0 so it has to be our child 1, not 0.\n    *d1 = nranks > 1 ? bit >> 1 : -1;\n    return ncclSuccess;\n  }\n\n  up = (rank ^ bit) | (bit << 1);\n  // if smaller than the parent, we are his first child, otherwise we're his second\n  if (up >= nranks) up = (rank ^ bit);\n  *parentChildType = (rank < up) ? 0 : 1;\n  *u = up;\n\n  int lowbit = bit >> 1;\n  // down0 is always within bounds\n  down0 = lowbit == 0 ? -1 : rank-lowbit;\n\n  down1 = lowbit == 0 ? -1 : rank+lowbit;\n  // Make sure down1 is within bounds\n  while (down1 >= nranks) {\n    down1 = lowbit == 0 ? -1 : rank+lowbit;\n    lowbit >>= 1;\n  }\n  *d0 = down0; *d1 = down1;\n\n  return ncclSuccess;\n}\n\n/* Build a double binary tree. Take the previous tree for the first tree.\n * For the second tree, we use a mirror tree (if nranks is even)\n *\n * 0---------------8                   3----------------11\n *          ______/ \\                 / \\______\n *         4         \\               /         7\n *       /   \\        \\             /        /   \\\n *     2       6       10         1        5      9\n *    / \\     / \\     /  \\       / \\      / \\    / \\\n *   1   3   5   7   9   11     0   2    4   6  8   10\n *\n * or shift it by one rank (if nranks is odd).\n *\n * 0---------------8            1---------------9\n *          ______/ \\______              ______/ \\______\n *         4               12           5                0\n *       /   \\            /           /   \\            /\n *     2       6       10           3       7       11\n *    / \\     / \\     /  \\         / \\     / \\     /  \\\n *   1   3   5   7   9   11       2   4   6   8  10   12\n */\nncclResult_t ncclGetDtree(int nranks, int rank, int* s0, int* d0_0, int* d0_1, int* parentChildType0, int* s1, int* d1_0, int* d1_1, int* parentChildType1) {\n  // First tree ... use a btree\n  ncclGetBtree(nranks, rank, s0, d0_0, d0_1, parentChildType0);\n  // Second tree ... mirror or shift\n  if (nranks % 2 == 1) {\n    // shift\n    int shiftrank = (rank-1+nranks) % nranks;\n    int u, d0, d1;\n    ncclGetBtree(nranks, shiftrank, &u, &d0, &d1, parentChildType1);\n    *s1 = u == -1 ? -1 : (u+1) % nranks;\n    *d1_0 = d0 == -1 ? -1 : (d0+1) % nranks;\n    *d1_1 = d1 == -1 ? -1 : (d1+1) % nranks;\n  } else {\n    // mirror\n    int u, d0, d1;\n    ncclGetBtree(nranks, nranks-1-rank, &u, &d0, &d1, parentChildType1);\n    *s1 = u == -1 ? -1 : nranks-1-u;\n    *d1_0 = d0 == -1 ? -1 : nranks-1-d0;\n    *d1_1 = d1 == -1 ? -1 : nranks-1-d1;\n  }\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/graph/tuning.cc",
    "content": "\n/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"core.h\"\n#include \"device.h\"\n#include \"comm.h\"\n#include \"topo.h\"\n#include \"nccl_tuner.h\"\n\nNCCL_PARAM(Nthreads, \"NTHREADS\", -2);\nNCCL_PARAM(Ll128Nthreads, \"LL128_NTHREADS\", -2);\n\nstatic int getNthreads(const char* name, int env, int min, int max, int def, int WarpSize) {\n  int nt = env;\n  if (nt > 0) {\n    if (nt % WarpSize != 0) {\n      INFO(NCCL_GRAPH|NCCL_ENV, \"Invalid %s %d (must be a multiple of %d)\", name, nt, WarpSize);\n      nt = max;\n    } else if (nt > max) {\n      INFO(NCCL_GRAPH|NCCL_ENV, \"Invalid %s %d (maximum %d).\", name, nt, max);\n      nt = max;\n    } else if (nt < min) {\n      INFO(NCCL_GRAPH|NCCL_ENV, \"Invalid %s %d (minimum %d).\", name, nt, min);\n      nt = min;\n    }\n  } else {\n    nt = def;\n  }\n  return nt;\n}\n\n// Parse a map of prefixes to a list of elements. The first prefix is\n// optional and, if not present, the list of elements will be applied\n// to all prefixes. Only the first list of elements can lack a\n// prefix. Prefixes (if present) are followed by a colon. Lists of\n// elements are comma delimited. Mappings of prefix to the lists of\n// elements are semi-colon delimited.\n//\n// For example:\n//\n//     NCCL_ALGO=\"ring,collnetdirect;allreduce:tree,collnetdirect;broadcast:ring\"\n// Enable ring and collnetdirect for all functions, then select tree\n// and collnetdirect for allreduce and ring for broadcast.\n//\n//     NCCL_PROTO=\"LL,Simple;allreduce:^LL\"\n// Enable LL and Simple for all functions, but everything except LL\n// for allreduce.\n//\n//     NCCL_PROTO=\"^LL128;allreduce:LL128\"\n// Enable everything but LL128, but only LL128 for allreduce.\nncclResult_t parseList(const char* str, const char* prefixElems[], int nprefixes, const char* elems[], int nelems, int* list) {\n  ncclResult_t ret = ncclSuccess;\n  char* fullStr = strdup(str);\n  char* tmpFullStr;\n  char* fullToken = strtok_r(fullStr, \";\", &tmpFullStr);\n  char* subToken = nullptr;\n  char* tokStr = nullptr;\n  while (fullToken) {\n    subToken = strdup(fullToken);\n    char* tmpSubStr;\n    char* prefix = strtok_r(subToken, \":\", &tmpSubStr);\n    char* elemList = strtok_r(NULL, \":\", &tmpSubStr);\n    if (elemList == NULL) {\n      if (fullToken != fullStr) {\n        // It makes no sense for any entry other than the first to not have a prefix,\n        // because then all the prefixes before the prefix-less entry would be\n        // overwritten.\n        WARN(\"All entries except the first must have a prefix: \\\"%s\\\"\", str);\n        ret = ncclInvalidUsage;\n        goto fail;\n      }\n      elemList = prefix;\n      prefix = NULL;\n    }\n\n    int unset, set;\n    if (elemList[0] == '^') {\n      unset = 1; set = 0; elemList++;\n    } else {\n      unset = 0; set = 1;\n    }\n\n    bool foundPrefix = false;\n    for (int p=0; p<nprefixes; p++) {\n      if (prefix && strcasecmp(prefix, prefixElems[p]) != 0) continue;\n      foundPrefix = true;\n      for (int e=0; e<nelems; e++) list[p*nelems+e] = unset;\n\n      tokStr = strdup(elemList);\n      char* tmpStr;\n      char* elem = strtok_r(tokStr, \",\", &tmpStr);\n      while (elem) {\n        int e;\n        for (e=0; e<nelems; e++) {\n          if (strcasecmp(elem, elems[e]) == 0) {\n            list[p*nelems+e] = set;\n            break;\n          }\n        }\n        if (e==nelems) {\n          WARN(\"Unrecognized element token \\\"%s\\\" when parsing \\\"%s\\\"\", elem, str);\n          ret = ncclInvalidUsage;\n          goto fail;\n        }\n        elem = strtok_r(NULL, \",\", &tmpStr);\n      }\n      free(tokStr);\n      tokStr = nullptr;\n    }\n    if (!foundPrefix) {\n      WARN(\"Unrecognized prefix token \\\"%s\\\" when parsing \\\"%s\\\"\", prefix, str);\n      ret = ncclInvalidUsage;\n      goto fail;\n    }\n    free(subToken);\n    subToken = nullptr;\n\n    fullToken = strtok_r(NULL, \";\", &tmpFullStr);\n  }\n\nexit:\n  free(tokStr);\n  free(subToken);\n  free(fullStr);\n  return ret;\nfail:\n  goto exit;\n}\n\n// Latencies in us, Bandwidths in GB/s\n// Tree { LL, LL128, Simple } , Ring { LL, LL128, Simple }\nstatic const float baseLat  [NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS] = {\n      { 12.0, 12.0, 17.0 }, { 12.0, 12.0, 17.0 },   // Tree, Ring\n      { 12.0, 12.0, 17.0 }, { 12.0, 12.0, 17.0 },   // Collnet Direct, Chain\n      {    0,    0,    0 }, {    0,    0,    0 }};  // NVLS, NVLS Tree\n\n// NVLink, PCI, Network\n#define NCCL_HW_NVLINK 0\n#define NCCL_HW_PCI 1\n#define NCCL_HW_NET 2\n\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#define RCCL_FACTOR_TABLE_SIZE 27\n#define RCCL_FACTOR_TABLE_MAX_INDEX (RCCL_FACTOR_TABLE_SIZE - 1)\n#endif\nstruct tuningModel {\n  float hwLat [3][NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  float bwRatio [2][NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  float treeCorrectionFactor[NCCL_NUM_PROTOCOLS][RCCL_FACTOR_TABLE_SIZE];\n  float ringCorrectionFactor[NCCL_NUM_PROTOCOLS][RCCL_FACTOR_TABLE_SIZE];\n#else\n  float treeCorrectionFactor[NCCL_NUM_PROTOCOLS][27];\n  float ringCorrectionFactor[NCCL_NUM_PROTOCOLS][27];\n#endif\n  uint64_t llProtoRanges[RCCL_TUNABLE_COLLS][NCCL_NUM_PROTOCOLS - 1][RCCL_PROTOCOL_ENTRY_SIZE];\n  uint64_t channelThresholds[RCCL_TUNABLE_COLLS][RCCL_CHANNELS_TUNABLE_ENTRIES][3]; //for each collective, set for 5 channel-counts: 2,4,8,16,32,40,48,56,64, {min,max,nchannels}\n};\n\n\nstatic struct tuningModel tuning_model_0 {\n  .hwLat = {\n    /* NVLINK */\n    { /* Tree (LL/LL128/Simple)*/ { 0.8, 1.4, 2.5 }, /* Ring (LL/LL128/Simple)*/ { 0.8, 2.2, 3.6 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 0.8 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 1.4 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 3.6} },\n    /* PCI */\n    { /* Tree (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* Ring (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 5.7 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 5.7 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 5.7} },\n    /* NET */\n    { /* Tree (LL/LL128/Simple)*/ { 11.8, 18.2, 20.8 }, /* Ring (LL/LL128/Simple)*/ { 9.5, 19.8, 15.1 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 11.8 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 18.2 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 15.1} },\n  },\n\n  .bwRatio = {\n    /* 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.04, 0.22, 0.91 }, /* Ring (LL/LL128/Simple)*/ { 0.04, 0.34, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* more than 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.04, 0.22, 0.95 }, /* Ring (LL/LL128/Simple)*/ { 0.04, 0.34, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 1.00} },\n  },\n\n  .treeCorrectionFactor = {\n    { 0.1, 0.2, 0.1, 0.1, 0.9, 0.3, 0.4, 0.1, 0.2, 0.4, 0.2, 0.1, 0.3, 0.3, 0.2, 0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, },\n    { 0.1, 0.3, 1.0, 0.1, 0.5, 1.0, 0.9, 1.0, 1.0, 1.0, 0.3, 0.1, 0.4, 0.5, 0.5, 0.4, 0.4, 0.3, 0.3, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, },\n    { 0.2, 1.0, 0.1, 0.1, 0.7, 0.2, 0.4, 0.1, 0.1, 0.3, 0.4, 0.3, 0.6, 0.8, 1.0, 1.0, 1.0, 1.0, 0.9, 0.8, 0.8, 0.8, 0.8, 0.8, 0.9, 0.9, 0.9, },\n  },\n\n  .ringCorrectionFactor = {\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.2, 0.4, 0.2, 0.3, 0.5, 0.3, 0.1, 0.5, 0.5, 0.3, 0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.3, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.8, 0.7, 0.5, 0.4, 0.4, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, },\n    { 1.0, 0.8, 0.2, 1.0, 1.0, 0.3, 1.0, 0.1, 0.1, 0.2, 0.2, 0.1, 0.5, 1.0, 0.8, 0.8, 1.0, 0.9, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, },\n  },\n\n  .llProtoRanges = {{{RCCL_LL_LIMITS_UNDEFINED}}},\n  .channelThresholds  = {{{CHAN_THRESHOLDS_UNDEFINED}}},\n};\n\nstatic struct tuningModel tuning_model_1 {\n  .hwLat =\n  { /* NVLINK */\n    { /* Tree (LL/LL128/Simple)*/ { 1.5, 1.5, 4.5 }, /* Ring (LL/LL128/Simple)*/ { 1.5, 1.5, 4.5 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 4.5 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 4.5 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* PCI */\n    { /* Tree (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* Ring (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 5.7 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 5.7 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* NET */\n    { /* Tree (LL/LL128/Simple)*/ { 33.0, 33.0, 15.8 }, /* Ring (LL/LL128/Simple)*/ { 5.1, 5.1, 68.8 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 15.8 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 15.8 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n  },\n\n  .bwRatio =\n  { /* 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.12, 1.00, 0.99 }, /* Ring (LL/LL128/Simple)*/ { 0.12, 1.00, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* more than 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.15, 1.00, 0.42 }, /* Ring (LL/LL128/Simple)*/ { 0.20, 1.00, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n  },\n\n  .treeCorrectionFactor = {\n    { 0.5, 0.4, 0.7, 0.6, 1.0, 1.0, 0.5, 0.4, 0.1, 0.5, 0.4, 0.6, 1.0, 1.0, 1.0, 1.0, 1.0, 0.8, 0.6, 0.5, 0.4, 0.4, 0.3, 0.2, 0.1, 0.1, 0.1, },\n    { 0.5, 0.4, 0.7, 0.6, 1.0, 1.0, 0.5, 0.4, 0.1, 0.5, 0.4, 0.6, 1.0, 1.0, 1.0, 1.0, 1.0, 0.8, 0.6, 0.5, 0.4, 0.4, 0.3, 0.2, 0.1, 0.1, 0.1, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.3, 0.4, 0.5, 0.1, 0.6, 1.0, 1.0, 1.0, 0.6, 0.5, 0.7, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.7, 0.5, 0.3, 0.3, },\n  },\n\n  .ringCorrectionFactor = {\n    { 1.0, 0.5, 1.0, 1.0, 0.6, 0.7, 1.0, 1.0, 0.2, 1.0, 0.9, 0.7, 1.0, 1.0, 1.0, 0.9, 0.9, 0.8, 0.8, 0.7, 0.6, 0.5, 0.5, 0.3, 0.2, 0.1, 0.1, },\n    { 1.0, 0.5, 1.0, 1.0, 0.6, 0.7, 1.0, 1.0, 0.2, 1.0, 0.9, 0.7, 1.0, 1.0, 1.0, 0.9, 0.9, 0.8, 0.8, 0.7, 0.6, 0.5, 0.5, 0.3, 0.2, 0.1, 0.1, },\n    { 0.3, 1.0, 0.3, 0.1, 0.1, 0.1, 0.3, 0.7, 1.0, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.2, 0.3, 0.5, 0.9, 1.0, 1.0, 1.0, 1.0, },\n  },\n\n  .llProtoRanges = {{{RCCL_LL_LIMITS_UNDEFINED}}},\n  .channelThresholds  = {{{CHAN_THRESHOLDS_UNDEFINED}}},\n};\n\nstatic struct tuningModel tuning_model_2 {\n  .hwLat = {\n    /* NVLINK */\n    { /* Tree (LL/LL128/Simple)*/ { 1.5, 1.5, 4.5 }, /* Ring (LL/LL128/Simple)*/ { 1.5, 1.5, 4.5 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 4.5 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 4.5 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* PCI */\n    { /* Tree (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* Ring (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 5.7 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 5.7 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* NET */\n    { /* Tree (LL/LL128/Simple)*/ { 27.9, 27.9, 15.8 }, /* Ring (LL/LL128/Simple)*/ { 12.1, 12.1, 68.8 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 15.8 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 15.8 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n  },\n\n  .bwRatio = {\n    /* 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.07, 1.00, 0.99 }, /* Ring (LL/LL128/Simple)*/ { 0.08, 1.00, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* more than 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.07, 1.00, 0.42 }, /* Ring (LL/LL128/Simple)*/ { 0.08, 1.00, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n  },\n\n  .treeCorrectionFactor = {\n    { 0.1, 0.4, 0.3, 0.3, 0.2, 0.4, 0.5, 0.1, 0.1, 0.6, 0.7, 0.7, 0.8, 1.0, 0.9, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, },\n    { 0.1, 0.4, 0.3, 0.3, 0.2, 0.4, 0.5, 0.1, 0.1, 0.6, 0.7, 0.7, 0.8, 1.0, 0.9, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, },\n    { 1.0, 0.1, 0.1, 0.1, 0.1, 0.2, 0.3, 0.5, 0.1, 0.6, 0.9, 0.8, 0.7, 0.9, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.7, 0.9, 0.9, 1.0, 1.0, 1.0, },\n  },\n\n  .ringCorrectionFactor = {\n    { 0.1, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.4, 1.0, 1.0, 1.0, 1.0, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, },\n    { 0.1, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.4, 1.0, 1.0, 1.0, 1.0, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.2, 0.4, 0.5, 0.6, 0.9, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, },\n  },\n\n  .llProtoRanges = {{{RCCL_LL_LIMITS_UNDEFINED}}},\n  .channelThresholds  = {{{CHAN_THRESHOLDS_UNDEFINED}}},\n};\n\nstatic struct tuningModel tuning_model_3 {\n  .hwLat = {\n    /* NVLINK */\n    { /* Tree (LL/LL128/Simple)*/ { 0.8, 0.0, 2.5 }, /* Ring (LL/LL128/Simple)*/ { 0.8, 0.0, 3.6 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 0.8 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 0.0 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* PCI */\n    { /* Tree (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* Ring (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 5.7 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 5.7 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* NET */\n    { /* Tree (LL/LL128/Simple)*/ { 12.5, 0.0, 22.4 }, /* Ring (LL/LL128/Simple)*/ { 9.5, 0.0, 19.8 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 12.5 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 0.0 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n  },\n\n  .bwRatio = {\n    /* 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.20, 0.00, 1.75 }, /* Ring (LL/LL128/Simple)*/ { 0.20, 0.00, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* more than 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.20, 0.00, 0.96 }, /* Ring (LL/LL128/Simple)*/ { 0.20, 0.00, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n  },\n\n  .treeCorrectionFactor = {\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 1.0, 0.2, 1.0, 0.9, 1.0, 0.6, 0.4, 0.6, 0.4, 0.3, 0.3, 0.3, 0.3, 0.3, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, },\n    { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, },\n    { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.1, 0.1, 0.1, 0.2, 1.0, 0.8, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.8, 0.7, 0.8, 0.9, 0.7, 0.7, },\n  },\n\n  .ringCorrectionFactor = {\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.3, 0.1, 0.2, 0.1, 0.4, 0.4, 0.2, 0.2, 0.3, 0.7, 0.5, 0.4, 0.3, 0.3, 0.3, 0.3, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, },\n    { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.5, 1.0, 0.1, 0.3, 0.1, 0.1, 0.1, 0.2, 0.2, 0.2, 0.3, 0.4, 0.7, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, },\n  },\n\n  .llProtoRanges = {{{RCCL_LL_LIMITS_UNDEFINED}}},\n  .channelThresholds  = {{{CHAN_THRESHOLDS_UNDEFINED}}},\n};\n\nstatic struct tuningModel tuning_model_4 {\n  .hwLat = {\n    /* NVLINK */\n    { /* Tree (LL/LL128/Simple)*/ { 0.8, 1.4, 2.5 }, /* Ring (LL/LL128/Simple)*/ { 0.8, 2.2, 3.6 }, /* CollNetDirect (Simple)*/ { 0.8, 1.4, 2.5 }, /* CollNetChain (Simple)*/ { 0.8, 1.4, 2.5 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* PCI */\n    { /* Tree (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* Ring (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 5.7 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 5.7 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* NET */\n    { /* Tree (LL/LL128/Simple)*/ { 32.2, 34.4, 47.6 }, /* Ring (LL/LL128/Simple)*/ { 35.4, 87.8, 209.2 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 47.6 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 47.6 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n  },\n\n  .bwRatio = {\n    /* 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.16, 1.09, 1.61 }, /* Ring (LL/LL128/Simple)*/ { 0.15, 0.41, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* more than 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.16, 1.09, 1.08 }, /* Ring (LL/LL128/Simple)*/ { 0.15, 0.41, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n  },\n\n  .treeCorrectionFactor = {\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 0.1, 0.1, 0.2, 0.4, 0.6, 0.5, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.2, 0.1, 0.1, 0.2, 1.0, 0.5, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, },\n    { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.8, 0.4, 0.3, 0.3, 0.1, 0.1, 1.0, 1.0, 0.7, 0.5, 0.6, 0.5, 0.6, 0.6, 0.5, 0.6, 0.6, 0.6, 0.7, },\n  },\n\n  .ringCorrectionFactor = {\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.2, 0.2, 0.1, 0.3, 0.1, 0.1, 0.1, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, },\n    { 0.4, 0.5, 0.5, 0.4, 0.4, 0.4, 0.4, 0.2, 0.2, 0.1, 0.3, 1.0, 1.0, 0.7, 0.8, 0.5, 1.0, 1.0, 1.0, 1.0, 1.0, 0.9, 0.8, 0.5, 0.4, 0.3, 0.3, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 1.0, 0.8, 0.5, 0.1, 0.7, 0.2, 0.4, 0.4, 0.6, 0.7, 0.9, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, },\n  },\n\n  .llProtoRanges = {{{RCCL_LL_LIMITS_UNDEFINED}}},\n  .channelThresholds  = {{{CHAN_THRESHOLDS_UNDEFINED}}},\n};\n\nstatic struct tuningModel tuning_model_5 {\n  .hwLat = {\n    /* NVLINK */\n    { /* Tree (LL/LL128/Simple)*/ { 0.9, 0.9, 2.3 }, /* Ring (LL/LL128/Simple)*/ { 0.8, 0.8, 2.1 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 0.9 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 0.0 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* PCI */\n    { /* Tree (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* Ring (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 5.7 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 5.7 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* NET */\n    { /* Tree (LL/LL128/Simple)*/ { 10.5, 10.5, 25.0 }, /* Ring (LL/LL128/Simple)*/ { 9.5, 9.5, 320.0 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 10.5 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 0.0 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n  },\n\n  .bwRatio = {\n    /* 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.06, 0.06, 0.11 }, /* Ring (LL/LL128/Simple)*/ { 0.08, 0.08, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* more than 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.06, 0.06, 0.59 }, /* Ring (LL/LL128/Simple)*/ { 0.08, 0.08, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n  },\n\n  .treeCorrectionFactor = {                                                                    /*16M 32M  64M  128M 256M 512M  1G   2G  4G */\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 1.0, 1.0, 1.0, 1.0, 0.6, 1.0, 0.9, 1.0, 1.0, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 1.0, 1.0, 1.0, 1.0, 0.6, 1.0, 0.9, 1.0, 1.0, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.7, 1.0, 1.0, 1.0, 1.0, 1.0, 0.7, 0.7, 0.5, 0.6, 0.6, 0.6, },\n  },\n\n  .ringCorrectionFactor = {\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 0.2, 1.0, 0.4, 0.4, 0.1, 0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 0.2, 1.0, 0.4, 0.4, 0.1, 0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.7, 0.2, 1.0, 1.0, 1.0, },\n  },\n  // Follow order in RcclTunableColls\n  .llProtoRanges = {\n    /*ReduceScatter*/\n    {/*LL (min/max/factor/thread_threshold)*/ {0, 655360, 1, 16}, /*LL64/128 (min/max/factor/thread_threshold)*/ {131072, 3211264, 1, 64}},\n    /*AllGather*/\n    {/*LL (min/max/factor/thread_threshold)*/ {0, 98304,  1, 16}, /*LL64/128 (min/max/factor/thread_threshold)*/ {98304, 5046272, 1, 64}},\n    /*AllReduce*/\n    {/*LL (min/max/factor/thread_threshold)*/ {0, 524288, 1, 0},/*LL64/128 (min/max/factor/thread_threshold)*/ {524288, 4415057, 3145728, 0}},\n    /*Reduce*/\n    {/*LL (min/max/factor/thread_threshold)*/ {0, 4096, 1, 0},/*LL64/128 (min/max/factor/thread_threshold)*/ {4096, 16777216, 1, 0}},\n    /*Broadcast*/\n    {/*LL (min/max/factor/thread_threshold)*/ {0, 8192, 1, 0},/*LL64/128 (min/max/factor/thread_threshold)*/ {8192, 33554432, 1, 0}},\n  },\n\n  .channelThresholds  = {{{CHAN_THRESHOLDS_UNDEFINED}}},\n\n};\n\nstatic struct tuningModel tuning_model_6 {\n  .hwLat = {\n    /* NVLINK */\n    { /* Tree (LL/LL128/Simple)*/ { 0.9, 0.9, 2.3 }, /* Ring (LL/LL128/Simple)*/ { 0.8, 0.8, 2.1 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 0.9 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 0.0 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 } },\n    /* PCI */\n    { /* Tree (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* Ring (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 5.7 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 5.7 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 } },\n    /* NET */\n    { /* Tree (LL/LL128/Simple)*/ { 10.5, 10.5, 25.0 }, /* Ring (LL/LL128/Simple)*/ { 9.5, 9.5, 320.0 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 10.5 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 0.0 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 } },\n  },\n\n  .bwRatio = {\n    /* 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.06, 0.06, 0.11 }, /* Ring (LL/LL128/Simple)*/ { 0.08, 0.08, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 } },\n    /* more than 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.06, 0.06, 0.59 }, /* Ring (LL/LL128/Simple)*/ { 0.08, 0.08, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 } },\n  },\n\n  .treeCorrectionFactor = {                                                                    /*16M 32M  64M  128M 256M 512M  1G   2G  4G */\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 1.0, 1.0, 1.0, 1.0, 0.6, 1.0, 0.9, 1.0, 1.0, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 1.0, 1.0, 1.0, 1.0, 0.6, 1.0, 0.9, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 1.0, 0.1, 0.9, 0.9, 0.1, 0.1, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.7, 1.0, 0.1, 0.1, 0.1, 0.1, 0.1, 0.7, 0.15, 0.6, 0.1, 0.6, },\n  },\n\n  .ringCorrectionFactor = {\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 0.2, 1.0, 0.4, 0.4, 0.1, 0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.0, 0.2, 1.0, 0.4, 0.4, 0.1, 0.2, 0.1, 0.1, 0.1, 0.1, 5.5, 0.1, 0.1, 1.0, 1.0, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.9, 0.1, 1.0, 0.1, 0.6, 1.0, 1.0, },\n  },\n  // Follow order in RcclTunableColls\n  .llProtoRanges = {\n    /*ReduceScatter*/\n    {/*LL (min/max/factor/thread_threshold)*/ {0, 65536, 1, 16}, /*LL64/128 (min/max/factor/thread_threshold)*/ {65536, 8388608, 1, 64}},\n    /*AllGather*/\n    {/*LL (min/max/factor/thread_threshold)*/ {0, 65536,  1, 16}, /*LL64/128 (min/max/factor/thread_threshold)*/ {65536, 8388608, 1, 64}},\n    /*AllReduce*/\n    {/*LL (min/max/factor/thread_threshold)*/ {0, 262144, 1, 0},/*LL64/128 (min/max/factor/thread_threshold)*/ {262144, 70640910, 3145728, 0}},\n    /*Reduce*/\n    {/*LL (min/max/factor/thread_threshold)*/ {0, 16383, 1, 0},/*LL64/128 (min/max/factor/thread_threshold)*/ {16383, 16777216, 1, 0}},\n    /*Broadcast*/\n    {/*LL (min/max/factor/thread_threshold)*/ {0, 2048, 1, 0},/*LL64/128 (min/max/factor/thread_threshold)*/ {2048, 16777216, 1, 0}},\n  },\n\n    .channelThresholds  = {\n    // For each collective, define minMax per-rank size threshold for 32,40,48,56,64 channels\n    /*ReduceScatter*/ {{512, 1024, 2},{1024, 2048, 4},{2048, 4096, 8},{4096, 65536, 16}, {65536, 262144, 32}, {262144, 524288, 40}, {1,1, 48}, {524288, 1048576, 56}, {1048576, 268435457, 64}},\n    /*AllGather*/     {{2048, 4096, 2},{4096, 8192, 4},{8192, 16384, 8},{16384, 262144, 16},{262144, 524288, 32}, {524288, 1048576, 40}, {1,1, 48}, {1048576, 4194304, 56}, {4194304, 268435457, 64}},\n    /*AllReduce*/     {{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}},\n  },\n};\n\nstatic struct tuningModel tuning_model_7 {\n     .hwLat = {\n    /* NVLINK */\n    { /* Tree (LL/LL128/Simple)*/ { 0.8, 1.4, 2.5 }, /* Ring (LL/LL128/Simple)*/ { 0.8, 2.2, 3.6 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 0.8 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 1.4 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 3.6} },\n    /* PCI */\n    { /* Tree (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* Ring (LL/LL128/Simple)*/ { 2.2, 2.2, 5.7 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 5.7 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 5.7 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 5.7} },\n    /* NET */\n    { /* Tree (LL/LL128/Simple)*/ { 11.8, 18.2, 20.8 }, /* Ring (LL/LL128/Simple)*/ { 9.5, 19.8, 15.1 }, /* CollNetDirect (Simple)*/ { 0.0, 0.0, 11.8 }, /* CollNetChain (Simple)*/ { 0.0, 0.0, 18.2 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 15.1} },\n  },\n\n  .bwRatio = {\n    /* 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.051, 0.22, 0.64 }, /* Ring (LL/LL128/Simple)*/ { 0.74, 0.34, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 0} },\n    /* more than 2 nodes */\n    { /* Tree (LL/LL128/Simple)*/ { 0.051, 0.22, 0.64 }, /* Ring (LL/LL128/Simple)*/ { 0.74, 0.34, 1.00 }, /* CollNetDirect (Simple)*/ { 0.00, 0.00, 1.00 }, /* CollNetChain (Simple)*/ { 0.00, 0.00, 1.00 }, /* NVLS */ { 0, 0, 0 }, /* NVLS Tree */ { 0, 0, 0 }, /* PAT */ { 0, 0, 1.00} },\n  },\n\n  .treeCorrectionFactor = {\n    { 0.1, 0.2, 0.1, 0.1, 0.9, 0.3, 0.4, 0.1, 0.2, 0.4, 0.2, 0.1, 0.3, 0.3, 0.2, 0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, },\n    { 0.1, 0.3, 1.0, 0.1, 0.5, 1.0, 0.9, 1.0, 1.0, 1.0, 0.3, 0.1, 0.4, 0.5, 0.5, 0.4, 0.4, 0.3, 0.3, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, },\n    { 0.2, 1.0, 0.1, 0.1, 0.7, 0.2, 0.4, 0.1, 0.1, 0.3, 0.4, 0.3, 0.6, 0.8, 1.0, 1.0, 1.0, 1.0, 0.9, 0.8, 0.8, 0.8, 0.8, 0.8, 0.9, 0.9, 0.9, },\n  },\n\n  .ringCorrectionFactor = {\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.2, 0.4, 0.2, 0.3, 0.5, 0.3, 0.1, 0.5, 0.5, 0.3, 0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, },\n    { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.3, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.8, 0.7, 0.5, 0.4, 0.4, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, },\n    { 1.0, 0.8, 0.2, 1.0, 1.0, 0.3, 1.0, 0.1, 0.1, 0.2, 0.2, 0.1, 0.5, 1.0, 0.8, 0.8, 1.0, 0.9, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, },\n  },\n  // Follow order in RcclTunableColls\n  .llProtoRanges = {\n    /*ReduceScatter*/\n    {/*LL (min/max/factor/thread_threshold)*/ {0, 65536, 1, 16}, /*LL64/128 (min/max/factor/thread_threshold)*/ {65536, 8388608, 1, 64}},\n    /*AllGather*/\n    {/*LL (min/max/factor/thread_threshold)*/ {0, 65536,  1, 16}, /*LL64/128 (min/max/factor/thread_threshold)*/ {65536, 8388608, 1, 64}},\n    /*AllReduce*/\n    {/*LL (min/max/factor/thread_threshold)*/ {0, 1048576, 1, 0},/*LL64/128 (min/max/factor/thread_threshold)*/ {1048576, 70640910, 3145728, 0}},\n    /*Reduce*/\n    {/*LL (min/max/factor/thread_threshold)*/ {0, 16383, 1, 0},/*LL64/128 (min/max/factor/thread_threshold)*/ {16383, 16777216, 1, 0}},\n    /*Broadcast*/\n    {/*LL (min/max/factor/thread_threshold)*/ {0, 2048, 1, 0},/*LL64/128 (min/max/factor/thread_threshold)*/ {2048, 16777216, 1, 0}},\n  },\n\n    .channelThresholds  = {\n    // For each collective, define minMax per-rank size threshold for 32,40,48,56,64 channels\n    /*ReduceScatter*/ {{512, 1024, 2},{1024, 2048, 4},{2048, 4096, 8},{4096, 65536, 16}, {65536, 262144, 32}, {262144, 524288, 40}, {1,1, 48}, {524288, 1048576, 56}, {1048576, 268435457, 64}},\n    /*AllGather*/     {{2048, 4096, 2},{4096, 8192, 4},{8192, 16384, 8},{16384, 262144, 16},{262144, 524288, 32}, {524288, 1048576, 40}, {1,1, 48}, {1048576, 4194304, 56}, {4194304, 268435457, 64}},\n    /*AllReduce*/     {{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}},\n  },\n};\n\nstatic struct tuningModel rcclTuningModel[] = {\n  tuning_model_0,\n  tuning_model_1,\n  tuning_model_2,\n  tuning_model_3,\n  tuning_model_4,\n  tuning_model_5,\n  tuning_model_6,\n  tuning_model_7,\n};\n\n// NVLS efficiency factor.\nstatic const float nvlsEfficiency[NCCL_NUM_COMPCAPS] = {\n  0.0f, // Volta\n  0.0f, // Ampere\n  0.85f, // Hopper\n  0.74f, // Blackwell\n};\n\n// Default tuner constants\nstatic const ncclTunerConstants_t ncclTunerConstantsDefaults = {\n  .baseLatencies = {\n    {  6.8, 14.0,  8.4 }, {  6.6, 14.0,  8.4 },  // Tree, Ring\n    {    0,    0,    0 }, {    0,    0,    0 },  // Collnet Direct, Chain\n    {    0,    0,    0 }, {    0,    0,    0 },  // NVLS, NVLS Tree\n    {  8.0,  8.0,  8.0 }                         // PAT\n    },\n  .hwLatencies = {\n  /* NVLINK */\n  { { .6, 1.25, 4.0 }, { .6, 1.9, 3.4 }, /* Tree (LL/LL128/Simple), Ring (LL/LL128/Simple)*/\n    {  0,    0, 3.7 }, {  0,   0,  2.8 }, /* CollNetDirect (LL/LL128/Simple), CollNetChain (LL/LL128/Simple)*/\n    {  0,    0,  25 }, {  0,   0,  25 }, /* NVLS (LL/LL128/Simple), NVLSTree (LL/LL128/Simple)*/\n    {  0,    0, 4.0 } /* PAT (LL/LL128/Simple)*/\n    },\n  /* PCI */\n  { { 1.0, 1.9, 4.0 }, { 1.0, 2.5, 5.7 }, /* Tree (LL/LL128/Simple), Ring (LL/LL128/Simple)*/\n    {  0,    0, 3.7 }, {  0,   0,  2.8 }, /* CollNetDirect (LL/LL128/Simple), CollNetChain (LL/LL128/Simple)*/\n    {  0,    0,   0 }, {  0,   0,    0 }, /* NVLS (LL/LL128/Simple), NVLSTree (LL/LL128/Simple)*/\n    {  0,    0, 4.0 } /* PAT (LL/LL128/Simple)*/\n    },\n  /* NET */\n  { { 5.0, 8.5, 14 }, { 2.7, 4.0, 14.0 }, /* Tree (LL/LL128/Simple), Ring (LL/LL128/Simple)*/\n    {   0,   0, 31 }, {   0,   0,   30 }, /* CollNetDirect (LL/LL128/Simple), CollNetChain (LL/LL128/Simple)*/\n    {   0,   0, 18 }, {   0,   0,   14 }, /* NVLS (LL/LL128/Simple), NVLSTree (LL/LL128/Simple)*/\n    {   0,   0, 14 } /* PAT (LL/LL128/Simple)*/\n    },\n  },\n  .llMaxBws = {\n     {39.0, 39.0, 20.4}, /* Volta-N1/Intel-N2/Intel-N4) */\n     {87.7, 22.5 /*avg of ring & tree*/, 19.0}, /* Ampere-N1/AMD-N2/AMD-N4) */\n     {141.0, 45.0 /*avg of ring & tree*/, 35.0}, /* Hopper-N1/AMD-N2/AMD-N4) */\n     {2*141.0, 2*45.0 /*avg of ring & tree*/, 2*35.0}, /* Blackwell-N1/AMD-N2/AMD-N4) */\n  },\n  .perChMaxRingLL128Bws = {\n    {20.0, 20.0, 20.0}, /* Volta (N1/N2/N4) */\n    {20.0, 20.0, 20.0}, /* Ampere (N1/N2/N4) */\n    {36.7, 36.7, 36.7}, /* Hopper (N1/N2/N4) */\n    {2*36.7, 2*36.7, 2*36.7}, /* Blackwell (N1/N2/N4) */\n  },\n  .perChMaxTreeLL128Bws = {\n    {20.0, 20.0, 20.0}, /* Volta (N1/N2/N4) */\n    {20.0, 20.0, 20.0}, /* Ampere (N1/N2/N4) */\n    {36.7, 36.7, 29.0}, /* Hopper (N1/N2/N4) */\n    {55.6, 31.67, 20.0}, /* Blackwell (N1/N2/N4) */\n  },\n  .perChMaxTreeBws = {\n    {26.5, 18.5, 10.0}, /* Volta (N1/N2/N4) */\n    {24.0, 23.6, 17.8}, /* Ampere (N1/N2/N4) */\n    {38.7, 41.4, 36.0}, /* Hopper (N1/N2/N4) */\n    {70.0, 42.8, 24.0}, /* Blackwell (N1/N2/N4) */\n  },\n  .perChMaxNVLSTreeBws = {\n    {26.5, 18.5, 10.0}, /* Volta (N1/N2/N4) */\n    {24.0, 23.6, 17.8}, /* Ampere (N1/N2/N4) */\n    {0.0, 57.7, 45.5}, /* Hopper (N1/N2/N4) */\n    {0.0, 96.0, 43.1} /* Blackwell (N1/N2/N4) */\n  }\n};\n\nNCCL_PARAM(PatEnable, \"PAT_ENABLE\", 0);\nstatic int ncclPatEnable(struct ncclComm* comm) {\n  if (!ncclParamPatEnable()) return 0;\n#if !defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__)\n  if (comm->minCompCap < 60) return 0; // Need SM60 or higher for CUDA atomics\n#endif\n  if (comm->nNodes != comm->nRanks) return 0; // PAT only supports 1 GPU per node\n  if (comm->netDeviceType != NCCL_NET_DEVICE_HOST) return 0;   // PAT doesn't support net device offload\n  return 1;\n}\n\n// Network post overhead in ns (1000 = 1 us)\nNCCL_PARAM(NetOverhead, \"NET_OVERHEAD\", -2);\n\nstatic float getNetOverhead(struct ncclComm* comm) {\n  if (ncclParamNetOverhead() != -2) return ncclParamNetOverhead() * .001;\n  if (comm->cpuArch == NCCL_TOPO_CPU_ARCH_X86 && comm->cpuVendor == NCCL_TOPO_CPU_VENDOR_INTEL) return 1.0;\n  if (comm->cpuArch == NCCL_TOPO_CPU_ARCH_X86 && comm->cpuVendor == NCCL_TOPO_CPU_VENDOR_AMD) return 2.0;\n  return 1.0;\n}\n\nNCCL_PARAM(Ll128C2c, \"LL128_C2C\", 1);\n\nncclResult_t ncclTopoInitTunerConstants(struct ncclComm* comm) {\n\n  comm->tunerConstants = ncclTunerConstantsDefaults;\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoTuneModel(struct ncclComm* comm, int minCompCap, int maxCompCap, struct ncclTopoGraph** graphs) {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  static int rcclMaxThreads[NCCL_NUM_PROTOCOLS] = {0};\n  if (rcclMaxThreads[NCCL_PROTO_SIMPLE] == 0) rcclGetMaxNthreads(comm, rcclMaxThreads);\n  static int maxNthreads      = rcclMaxThreads[NCCL_PROTO_SIMPLE];\n  static int maxLL128Nthreads = rcclMaxThreads[NCCL_PROTO_LL128];\n  static int maxLLThreads     = rcclMaxThreads[NCCL_PROTO_LL];\n  int simpleDefaultThreads = (graphs[NCCL_ALGO_RING]->bwIntra*graphs[NCCL_ALGO_RING]->nChannels <= PCI_BW) ? 256 : maxNthreads;\n    comm->maxThreads[NCCL_ALGO_RING][NCCL_PROTO_SIMPLE] = getNthreads(\"NCCL_NTHREADS\", ncclParamNthreads(), 4*comm->WarpSize, maxNthreads, simpleDefaultThreads, comm->WarpSize);\n  comm->maxThreads[NCCL_ALGO_TREE][NCCL_PROTO_SIMPLE] = comm->maxThreads[NCCL_ALGO_COLLNET_DIRECT][NCCL_PROTO_SIMPLE] =\n    getNthreads(\"NCCL_NTHREADS\", ncclParamNthreads(), 4*comm->WarpSize, maxNthreads, maxNthreads, comm->WarpSize);\n  comm->maxThreads[NCCL_ALGO_RING][NCCL_PROTO_LL] = comm->maxThreads[NCCL_ALGO_TREE][NCCL_PROTO_LL] = comm->maxThreads[NCCL_ALGO_COLLNET_DIRECT][NCCL_PROTO_LL] =\n    getNthreads(\"NCCL_NTHREADS\", ncclParamNthreads(), 4*comm->WarpSize, maxNthreads, maxLLThreads, comm->WarpSize);\n  comm->maxThreads[NCCL_ALGO_RING][NCCL_PROTO_LL128] = comm->maxThreads[NCCL_ALGO_TREE][NCCL_PROTO_LL128] =\n    getNthreads(\"NCCL_LL128_NTHREADS\", ncclParamLl128Nthreads(), 4*comm->WarpSize, maxLL128Nthreads, maxLL128Nthreads, comm->WarpSize);\n#else\n  int simpleDefaultThreads = (graphs[NCCL_ALGO_RING]->bwIntra*graphs[NCCL_ALGO_RING]->nChannels <= PCI_BW) ? 256 : NCCL_MAX_NTHREADS;\n    comm->maxThreads[NCCL_ALGO_RING][NCCL_PROTO_SIMPLE] = getNthreads(\"NCCL_NTHREADS\", ncclParamNthreads(), 2*WARP_SIZE, NCCL_SIMPLE_MAX_NTHREADS, simpleDefaultThreads);\n  comm->maxThreads[NCCL_ALGO_TREE][NCCL_PROTO_SIMPLE] =\n    getNthreads(\"NCCL_NTHREADS\", ncclParamNthreads(), 2*WARP_SIZE, NCCL_SIMPLE_MAX_NTHREADS, NCCL_SIMPLE_MAX_NTHREADS);\n  comm->maxThreads[NCCL_ALGO_COLLNET_DIRECT][NCCL_PROTO_SIMPLE] =\n    comm->maxThreads[NCCL_ALGO_COLLNET_CHAIN][NCCL_PROTO_SIMPLE] =\n    comm->maxThreads[NCCL_ALGO_NVLS][NCCL_PROTO_SIMPLE] =\n    comm->maxThreads[NCCL_ALGO_NVLS_TREE][NCCL_PROTO_SIMPLE] = NCCL_MAX_NTHREADS;\n  comm->maxThreads[NCCL_ALGO_RING][NCCL_PROTO_LL] = comm->maxThreads[NCCL_ALGO_TREE][NCCL_PROTO_LL] =\n    getNthreads(\"NCCL_NTHREADS\", ncclParamNthreads(), 2*WARP_SIZE, NCCL_LL_MAX_NTHREADS, NCCL_LL_MAX_NTHREADS);\n  comm->maxThreads[NCCL_ALGO_RING][NCCL_PROTO_LL128] = comm->maxThreads[NCCL_ALGO_TREE][NCCL_PROTO_LL128] =\n    getNthreads(\"NCCL_LL128_NTHREADS\", ncclParamLl128Nthreads(), NCCL_LL128_MAX_NTHREADS/4, NCCL_LL128_MAX_NTHREADS, NCCL_LL128_MAX_NTHREADS);\n#endif\n\n  int nNodes = comm->nNodes;\n  int nRanks = comm->nRanks;\n  if (nRanks <= 1) return ncclSuccess;\n#if !defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__)\n  int compCapIndex = minCompCap >= 100 ? NCCL_BLACKWELL_COMPCAP_IDX : (minCompCap >= 90 ? NCCL_HOPPER_COMPCAP_IDX : minCompCap >= 80 ? NCCL_AMPERE_COMPCAP_IDX : NCCL_VOLTA_COMPCAP_IDX);\n  int index2 = nNodes <= 2 ? nNodes-1 : 2;\n  // LL: for single node, we look at GPU type; for multi-node, we look at CPU type\n  int index1 = nNodes == 1 ? compCapIndex :\n               (comm->cpuVendor == NCCL_TOPO_CPU_VENDOR_AMD || comm->cpuVendor == NCCL_TOPO_CPU_VENDOR_MIXED) ? 1 : 0;\n  double llMaxBw = comm->tunerConstants.llMaxBws[index1][index2];\n  double perChMaxTreeBw = comm->tunerConstants.perChMaxTreeBws[compCapIndex][index2];\n  double perChMaxRingLL128Bw = comm->tunerConstants.perChMaxRingLL128Bws[compCapIndex][index2];\n  double perChMaxTreeLL128Bw = comm->tunerConstants.perChMaxTreeLL128Bws[compCapIndex][index2];\n  double perChMaxNVLSTreeBw = comm->tunerConstants.perChMaxNVLSTreeBws[compCapIndex][index2];\n  // De-penalize Tree/Simple latency on Power systems to favor Tree than Ring\n  if (comm->cpuArch == NCCL_TOPO_CPU_ARCH_POWER) comm->tunerConstants.hwLatencies[NCCL_HW_PCI][NCCL_ALGO_TREE][NCCL_PROTO_SIMPLE] = comm->tunerConstants.hwLatencies[NCCL_HW_PCI][NCCL_ALGO_RING][NCCL_PROTO_SIMPLE];\n#endif\n  float ppn = (float)nRanks / nNodes;\n\n  int intraHw[NCCL_NUM_ALGORITHMS], hw[NCCL_NUM_ALGORITHMS];\n  for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) intraHw[a] = graphs[a]->typeIntra == LINK_NVL ? NCCL_HW_NVLINK : NCCL_HW_PCI;\n  for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) hw[a] = nNodes == 1 ? intraHw[a] : NCCL_HW_NET;\n  INFO(NCCL_INIT,\"RCCL Tuning index:%d\",comm->topo->tuning);\n  memcpy(comm->minMaxLLRange,\n        rcclTuningModel[comm->topo->tuning].llProtoRanges,\n        sizeof(rcclTuningModel[comm->topo->tuning].llProtoRanges));\n\n  memcpy(comm->minMaxChannelThresholds,\n        rcclTuningModel[comm->topo->tuning].channelThresholds,\n        sizeof(rcclTuningModel[comm->topo->tuning].channelThresholds));\n\n  for (int coll=0; coll<NCCL_NUM_FUNCTIONS; coll++) {\n    int nsteps = coll == ncclFuncAllReduce ? 2*(nRanks-1) :\n      coll == ncclFuncReduceScatter || coll == ncclFuncAllGather ? nRanks-1 :\n      nRanks;\n\n    for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) {\n      if ((coll == ncclFuncBroadcast || coll == ncclFuncReduce) && a != NCCL_ALGO_RING) continue;\n      if ((coll == ncclFuncReduceScatter || coll == ncclFuncAllGather)\n          && a != NCCL_ALGO_PAT && a != NCCL_ALGO_RING\n          && a != NCCL_ALGO_NVLS && a != NCCL_ALGO_COLLNET_DIRECT) continue;\n      if (coll == ncclFuncAllReduce && a == NCCL_ALGO_PAT) continue;\n\n      for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n        if (a == NCCL_ALGO_TREE && p == NCCL_PROTO_SIMPLE && (IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") || IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\")) && comm->topo->nodes[GPU].count == comm->topo->nRanks) continue;\n        if ((a == NCCL_ALGO_NVLS || a == NCCL_ALGO_NVLS_TREE) && p != NCCL_PROTO_SIMPLE) continue;\n        if ((coll == ncclFuncReduceScatter || coll == ncclFuncAllGather)\n            && a == NCCL_ALGO_PAT && (p != NCCL_PROTO_SIMPLE || ncclPatEnable(comm) == 0)) continue;\n        int collnet = (a == NCCL_ALGO_COLLNET_DIRECT || a == NCCL_ALGO_COLLNET_CHAIN) ? 1 : 0;\n        float bw = nNodes <= 2 || collnet ? graphs[a]->bwIntra : graphs[a]->bwInter;\n#if !defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__)\n        if (a == NCCL_ALGO_NVLS_TREE || a == NCCL_ALGO_NVLS)\n        {\n          // NVLS/NVLStree needs at least 2 channels\n          if (graphs[a]->nChannels < 2 ) continue;\n          // Convert to NVLS busBW/channel\n          float intraBw = graphs[a]->bwIntra * nvlsEfficiency[compCapIndex] * (graphs[a]->nChannels - 1) / graphs[a]->nChannels;\n\t        // AllReduce pipelines two operations.\n          if (coll == ncclFuncAllReduce) {\n            intraBw *= 2.0f;\n          } else {\n            intraBw *= (ppn - 1) / ppn;\n          }\n          // Handle 2 node case of NVLSTree\n          float interBw = graphs[a]->bwInter * ((nNodes <= 2 && a == NCCL_ALGO_NVLS_TREE) ? 2 : 1);\n          bw = std::min( {intraBw, interBw, a == NCCL_ALGO_NVLS_TREE ? (float)perChMaxNVLSTreeBw : std::numeric_limits<float>::max()} );\n        };\n#endif\n        float busBw = graphs[a]->nChannels * bw;\n\n        // Various model refinements\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n        if (nNodes <= 2)\n          busBw *= rcclTuningModel[comm->topo->tuning].bwRatio[0][a][p];\n        else\n          busBw *= rcclTuningModel[comm->topo->tuning].bwRatio[1][a][p];\n        if (a == NCCL_ALGO_RING && p == NCCL_PROTO_LL && (coll == ncclFuncBroadcast || coll == ncclFuncReduce) && (IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") || IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\")) && comm->topo->nodes[GPU].count == comm->topo->nRanks) { busBw = busBw * 1.65; }\n#else\n        if (a == NCCL_ALGO_RING && p == NCCL_PROTO_LL) { busBw = std::min(llMaxBw, busBw * .5); }\n        if (a == NCCL_ALGO_RING && p == NCCL_PROTO_LL128) busBw = std::min(busBw * (0.92 /*120.0/128.0*/), graphs[a]->nChannels*perChMaxRingLL128Bw);\n        if (a == NCCL_ALGO_TREE && coll == ncclFuncAllReduce) busBw = std::min(busBw*.92, graphs[a]->nChannels*perChMaxTreeBw);\n        if (a == NCCL_ALGO_TREE && p == NCCL_PROTO_LL) busBw = std::min(busBw*1.0/3.8, llMaxBw);\n        if (a == NCCL_ALGO_TREE && p == NCCL_PROTO_LL128) busBw = std::min(busBw * (nNodes == 1 ? 7.0/9.0 : 120.0/128.0), graphs[a]->nChannels*perChMaxTreeLL128Bw);\n        if (a == NCCL_ALGO_TREE && comm->maxTreePattern == NCCL_TOPO_PATTERN_TREE) busBw *= .85;\n        if (a == NCCL_ALGO_PAT) busBw *= .75;\n        if (a == NCCL_ALGO_COLLNET_DIRECT && p != NCCL_PROTO_SIMPLE) busBw = 0;  // Not used\n        if (a == NCCL_ALGO_COLLNET_CHAIN && p != NCCL_PROTO_SIMPLE) busBw = 0;  // Not used\n        if (a == NCCL_ALGO_COLLNET_DIRECT && p == NCCL_PROTO_SIMPLE) {\n          if (coll == ncclFuncAllGather || coll == ncclFuncReduceScatter) {\n            busBw = ppn * std::min(graphs[a]->bwIntra, graphs[a]->bwInter * 0.9f);\n          } else {\n            // Collnet+Direct requires all GPUs to have a local NIC to work at full speed\n            float factor = ppn / (1.0*graphs[a]->nChannels); // GPU/NIC ratio\n            factor -= (factor-1)/2;\n            busBw /= factor;\n            if (minCompCap >= 90) busBw *= .85;\n          }\n        }\n        // disable collnet for allgather/reducescatter if #localranks > #heads\n        // AllGather/ReduceScatter requires 1:1 GPU:NIC\n        if ((a == NCCL_ALGO_NVLS || a == NCCL_ALGO_COLLNET_DIRECT) && p == NCCL_PROTO_SIMPLE && (coll == ncclFuncAllGather || coll == ncclFuncReduceScatter) && comm->nNodes > 1) {\n          int nHeads = 0;\n          if (coll == ncclFuncAllGather && comm->nNodes > 1 && (!comm->ncclCollNet || !comm->ncclCollNet->iallgather)) busBw = 0.0f;\n          if (coll == ncclFuncReduceScatter && comm->nNodes > 1 && (!comm->ncclCollNet || !comm->ncclCollNet->ireducescatter)) busBw = 0.0f;\n          if (comm->config.collnetEnable)\n            nHeads = comm->collNetHeadsNum;\n          else\n            busBw = 0.0f;\n          if (busBw > 0.0f) {\n            for (int r = 0; r < comm->nRanks; r++) {\n              int node = comm->rankToNode[r];\n              if (comm->nodeRanks[node].localRanks > nHeads) {\n                busBw = 0.0f;\n                break;\n              }\n            }\n          }\n        }\n#endif\n        // Convert bus BW to algorithm BW\n        if (!(a != NCCL_ALGO_RING && (coll == ncclFuncAllGather || coll == ncclFuncReduceScatter))) {\n          float ratio = 1.0f;\n          if (a == NCCL_ALGO_RING || a == NCCL_ALGO_NVLS || a == NCCL_ALGO_NVLS_TREE) ratio *= (1.0 * nRanks) / nsteps;\n          else ratio *= .5;\n          busBw *= ratio;\n        }\n        comm->bandwidths[coll][a][p] = busBw;\n        comm->latencies[coll][a][p] = baseLat[a][p];\n        float intraLat = rcclTuningModel[comm->topo->tuning].hwLat[intraHw[a]][a][p];\n        float interLat =  ppn == 1 ? rcclTuningModel[comm->topo->tuning].hwLat[NCCL_HW_NET][NCCL_ALGO_TREE][p] : rcclTuningModel[comm->topo->tuning].hwLat[NCCL_HW_NET][a][p];\n        interLat += graphs[a]->latencyInter;\n        // Also add the flush extra latency\n        if (p == NCCL_PROTO_SIMPLE) interLat += graphs[a]->latencyInter;\n\n        if (a == NCCL_ALGO_RING) {\n          float lat = rcclTuningModel[comm->topo->tuning].hwLat[hw[a]][a][p];\n          if ((coll == ncclFuncReduce || coll == ncclFuncBroadcast)) {\n            if (graphs[a]->sameChannels) {\n              comm->latencies[coll][a][p] += lat;\n            } else {\n              if (p == NCCL_PROTO_SIMPLE) lat = rcclTuningModel[comm->topo->tuning].hwLat[hw[a]][NCCL_ALGO_TREE][p]; // Add some chunk latency, waiting for proper chunk modeling\n              comm->latencies[coll][a][p] += nsteps*lat;\n            }\n          } else {\n            // Inter-node rings still have to launch nsteps * net overhead.\n            float netOverhead = 0.0;\n            if (nNodes > 1) {\n              netOverhead = getNetOverhead(comm);\n              if (p == NCCL_PROTO_SIMPLE) netOverhead *= 3;\n            }\n            intraLat = std::max(intraLat, netOverhead);\n            int nInterSteps = nNodes == 1 ? 0 : coll == ncclFuncAllReduce ? 2*(nNodes-1) : nNodes-1;\n            comm->latencies[coll][a][p] += (nsteps-nInterSteps)*intraLat + nInterSteps*interLat;\n          }\n        } else if (a == NCCL_ALGO_TREE) {\n          if (coll == ncclFuncAllReduce) {\n            comm->latencies[coll][a][p] +=\n              2 * ((nRanks/nNodes-1) * intraLat + log2i(nNodes) * interLat);\n          }\n        } else if (a == NCCL_ALGO_COLLNET_DIRECT) {\n          comm->latencies[coll][a][p] +=\n            2 * (std::min(1, (nRanks/nNodes-1)) * intraLat + (nRanks/nNodes-1) * 0.4) + interLat;  // Add 0.4 us arity serialization latency\n        } else if (a == NCCL_ALGO_COLLNET_CHAIN) {\n          comm->latencies[coll][a][p] += 2 * (nRanks/nNodes-1) * intraLat + interLat;\n        } else if (a == NCCL_ALGO_NVLS) {\n          if (nNodes > 1) comm->latencies[coll][a][p] += rcclTuningModel[comm->topo->tuning].hwLat[NCCL_HW_NET][a][p];\n        } else if (a == NCCL_ALGO_NVLS_TREE) {\n          comm->latencies[coll][a][p] += 2*(nNodes-1)*rcclTuningModel[comm->topo->tuning].hwLat[NCCL_HW_NET][a][p];\n        } else if (a == NCCL_ALGO_PAT) {\n          if (coll == ncclFuncAllGather || coll == ncclFuncReduceScatter) {\n            comm->latencies[coll][a][p] += log2i(nNodes) * (interLat/3.5) // Log latency\n              + nRanks * 2.8; // Still a linear part; hopefully we'll manage to remove it at some point.\n          }\n        }\n      }\n    }\n  }\n\n  // Protocols/Algorithms enable/disable, and user overrides.\n  // All are enabled except ll128 which is enabled by default only in certain cases.\n  int protoEnable[NCCL_NUM_FUNCTIONS*NCCL_NUM_PROTOCOLS];\n  int algoEnable[NCCL_NUM_FUNCTIONS*NCCL_NUM_ALGORITHMS];\n  for (int f=0; f<NCCL_NUM_FUNCTIONS; f++) {\n    for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n      protoEnable[f*NCCL_NUM_PROTOCOLS+p] = p == NCCL_PROTO_LL128 ? 2 : 1;\n    }\n    for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) {\n      algoEnable[f*NCCL_NUM_ALGORITHMS+a] = 1;\n    }\n  }\n\n  const char *protoStr = ncclGetEnv(\"NCCL_PROTO\");\n  if (protoStr) {\n    INFO(NCCL_ENV, \"NCCL_PROTO set by environment to %s\", protoStr);\n    NCCLCHECK(parseList(protoStr, ncclFuncStr, NCCL_NUM_FUNCTIONS, ncclProtoStr, NCCL_NUM_PROTOCOLS, protoEnable));\n  }\n  const char *algoStr = ncclGetEnv(\"NCCL_ALGO\");\n  if (algoStr) {\n    INFO(NCCL_ENV, \"NCCL_ALGO set by environment to %s\", algoStr);\n    NCCLCHECK(parseList(algoStr, ncclFuncStr, NCCL_NUM_FUNCTIONS, ncclAlgoStr, NCCL_NUM_ALGORITHMS, algoEnable));\n  }\n\n  if (comm->rank == 0 && (algoStr||protoStr)) {\n    constexpr int strLength = 1024;\n    char funcAlgoProtoTuningStr[strLength];\n    int offset = 0;\n    offset += snprintf(funcAlgoProtoTuningStr+offset, std::max(0, strLength-offset), \"\\n     Function | \");\n    for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n      offset += snprintf(funcAlgoProtoTuningStr+offset, std::max(0, strLength-offset), \"%8s  \", ncclProtoStr[p]);\n    }\n    offset += snprintf(funcAlgoProtoTuningStr+offset, std::max(0, strLength-offset), \" | \");\n    for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) {\n      offset += snprintf(funcAlgoProtoTuningStr+offset, std::max(0, strLength-offset), \"%13s  \", ncclAlgoStr[a]);\n    }\n    offset += snprintf(funcAlgoProtoTuningStr+offset, std::max(0, strLength-offset), \"\\n\");\n\n    for (int f=0; f<NCCL_NUM_FUNCTIONS; f++) {\n      offset += snprintf(funcAlgoProtoTuningStr+offset, std::max(0, strLength-offset), \"%13s | \", ncclFuncStr[f]);\n      for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n        offset += snprintf(funcAlgoProtoTuningStr+offset, std::max(0, strLength-offset), \"%8d  \", protoEnable[f*NCCL_NUM_PROTOCOLS+p]);\n      }\n      offset += snprintf(funcAlgoProtoTuningStr+offset, std::max(0, strLength-offset), \" | \");\n      for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) {\n        offset += snprintf(funcAlgoProtoTuningStr+offset, std::max(0, strLength-offset), \"%13d  \", algoEnable[f*NCCL_NUM_ALGORITHMS+a]);\n      }\n      offset += snprintf(funcAlgoProtoTuningStr+offset, std::max(0, strLength-offset), \"\\n\");\n    }\n\n    INFO(NCCL_ENV, \"Enabled NCCL Func/Proto/Algo Matrix:%s\", funcAlgoProtoTuningStr);\n  }\n\n  int nvsCount = 0;\n  NCCLCHECK(ncclTopoGetNvsCount(comm->topo, &nvsCount));\n\n  for (int f=0; f<NCCL_NUM_FUNCTIONS; f++) {\n    for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) {\n      int disable = 0;\n      // Disable NVLS Tree on a single node\n      if (comm->nNodes == 1 && a == NCCL_ALGO_NVLS_TREE) disable = 1;\n      // Disable Collnet+Direct, Collnet+Chain or Collnet+NVLS if collnet is not supported.\n      if (comm->config.collnetEnable == 0 &&\n          (a == NCCL_ALGO_COLLNET_DIRECT ||\n           a == NCCL_ALGO_COLLNET_CHAIN ||\n           (a == NCCL_ALGO_NVLS && comm->nNodes > 1))) disable = 1;\n      // Disable CollNet+Direct if not on an NVSwitch system\n      if (nvsCount == 0 && a == NCCL_ALGO_COLLNET_DIRECT) disable = 1;\n      if (disable) algoEnable[f*NCCL_NUM_ALGORITHMS+a] = 0;\n    }\n  }\n\n  for (int c=0; c<NCCL_NUM_FUNCTIONS; c++) for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n    int pEnable = protoEnable[c*NCCL_NUM_PROTOCOLS+p];\n    if (pEnable != 0 && p == NCCL_PROTO_LL128) {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#if defined(ENABLE_LL128)\n      // Enable LL128 by default only on gfx90a with available tuning table\n      pEnable = (graphs[a]->typeInter <= PATH_PXB) && graphs[a]->typeIntra <= PATH_NVL &&\n        ((IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx90a\") ||\n          IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") ||\n          IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\")) && comm->topo->ll128Enabled) ? 1 : 0;\n#else\n      pEnable = 0;\n#endif\n#else\n      pEnable = 1;\n      if (ncclParamLl128C2c() && minCompCap >= 90) {\n        // Enable LL128 by default only on Hopper/Blackwell for all connections up to P2C and PXN.\n        pEnable &= (graphs[a]->typeInter <= PATH_PXN);\n      } else {\n        // Enable LL128 only up to PXB. Don't enable LL128 over PxN because PxN can encapsulate PxB or P2C links.\n        pEnable &= (graphs[a]->typeInter <= PATH_PXB);\n        if (!ncclParamLl128C2c() && minCompCap >= 90)\n          INFO(NCCL_GRAPH, \"Disabling LL128 over all PxN connections (PXB and C2C). This ensures that no C2C link will be used by LL128.\");\n      }\n      pEnable &= (graphs[a]->typeIntra <= PATH_NVB);\n      pEnable &= (minCompCap == maxCompCap);\n      pEnable &= !(minCompCap < 70 || (minCompCap == 90 && CUDART_VERSION == 11080 && c == ncclFuncAllReduce && a == NCCL_ALGO_RING && comm->nRanks == 2));\n#endif\n    }\n    if (pEnable == 0) comm->bandwidths[c][a][p] = 0;\n    if (algoEnable[c*NCCL_NUM_ALGORITHMS+a] == 0) comm->bandwidths[c][a][p] = 0;\n  }\n\n  if (comm->rank == 0) {\n    constexpr int lineLen = 1024;\n    char line[lineLen];\n    int offset = 0;\n    for (int block=0; block<DIVUP(NCCL_NUM_ALGORITHMS, 3); block++) {\n      offset = snprintf(line, lineLen, \"  Algorithm   |\");\n      for (int ba=0; ba<3; ba++) {\n        int a = block*3+ba;\n        if (a >= NCCL_NUM_ALGORITHMS) continue;\n        offset += snprintf(line+offset, std::max(0, lineLen-offset), \" %14s   %14s   %14s |\", \"\", ncclAlgoStr[a], \"\");\n      }\n      INFO(NCCL_TUNING, \"%s\", line);\n      offset = snprintf(line, lineLen, \"  Protocol    |\");\n      for (int ba=0; ba<3; ba++) {\n        for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n          offset += snprintf(line+offset, std::max(0, lineLen-offset), \" %14s |\", ncclProtoStr[p]);\n        }\n      }\n      INFO(NCCL_TUNING, \"%s\", line);\n      offset = snprintf(line, lineLen, \" Max NThreads |\");\n      for (int ba=0; ba<3; ba++) {\n        int a = block*3+ba;\n        if (a >= NCCL_NUM_ALGORITHMS) continue;\n        for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n          offset += snprintf(line+offset, std::max(0, lineLen-offset), \" %14d |\", comm->maxThreads[a][p]);\n        }\n      }\n      INFO(NCCL_TUNING, \"%s\", line);\n      for (int c=0; c<NCCL_NUM_FUNCTIONS; c++) {\n        offset = snprintf(line, lineLen, \"%13s |\", ncclFuncStr[c]);\n        for (int ba=0; ba<3; ba++) {\n          int a = block*3+ba;\n          if (a >= NCCL_NUM_ALGORITHMS) continue;\n          for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n            offset += snprintf(line+offset, std::max(0, lineLen-offset), \"%8.1f/%6.1f |\", comm->latencies[c][a][p], comm->bandwidths[c][a][p]);\n          }\n        }\n        INFO(NCCL_TUNING, \"%s\", line);\n      }\n    }\n  }\n\n  // Set per-thread amount of work before we increase nThreads and nChannels\n  for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) {\n    comm->threadThresholds[a][NCCL_PROTO_LL] = NCCL_LL_THREAD_THRESHOLD;\n    comm->threadThresholds[a][NCCL_PROTO_LL128] = NCCL_LL128_THREAD_THRESHOLD;\n    comm->threadThresholds[a][NCCL_PROTO_SIMPLE] = NCCL_SIMPLE_THREAD_THRESHOLD;\n  }\n  comm->threadThresholds[NCCL_ALGO_RING][NCCL_PROTO_LL] *= nRanks;\n  comm->threadThresholds[NCCL_ALGO_COLLNET_DIRECT][NCCL_PROTO_SIMPLE] = 256;\n  comm->threadThresholds[NCCL_ALGO_COLLNET_CHAIN][NCCL_PROTO_SIMPLE] = 256;\n\n  // Override defaults with user env\n  const char* str = ncclGetEnv(\"NCCL_THREAD_THRESHOLDS\");\n  if (str) {\n    INFO(NCCL_ENV, \"NCCL_THREAD_THRESHOLDS set by environment to %s\", str);\n    ssize_t t[2][NCCL_NUM_PROTOCOLS] = {{ -2, -2, -2 }, { -2, -2, -2 }};\n    sscanf(str, \"%ld %ld %ld %ld %ld %ld\", t[0], t[0]+1, t[0]+2, t[1], t[1]+1, t[1]+2);\n    for (int a=0; a<2; a++) {\n      for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n        if (t[a][p] >= 0) comm->threadThresholds[a][p] = t[a][p];\n      }\n    }\n  }\n\n  INFO(NCCL_INIT, \"threadThresholds %ld/%ld/%ld | %ld/%ld/%ld | %ld | %ld\",\n      comm->threadThresholds[NCCL_ALGO_TREE][NCCL_PROTO_LL],\n      comm->threadThresholds[NCCL_ALGO_TREE][NCCL_PROTO_LL128],\n      comm->threadThresholds[NCCL_ALGO_TREE][NCCL_PROTO_SIMPLE],\n      comm->threadThresholds[NCCL_ALGO_RING][NCCL_PROTO_LL],\n      comm->threadThresholds[NCCL_ALGO_RING][NCCL_PROTO_LL128],\n      comm->threadThresholds[NCCL_ALGO_RING][NCCL_PROTO_SIMPLE],\n      comm->threadThresholds[NCCL_ALGO_COLLNET_DIRECT][NCCL_PROTO_SIMPLE],\n      comm->threadThresholds[NCCL_ALGO_COLLNET_CHAIN][NCCL_PROTO_SIMPLE]);\n  return ncclSuccess;\n}\n\n// Trees are not perfectly sticking to the model for medium sizes. Applying a static correction\n// factor is not ideal but works quite well. Powers of two, 64 B to 256MB.\n#if !defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__)\nstatic float treeCorrectionFactor[NCCL_NUM_PROTOCOLS][23] = {\n  { 1.0, 1.0, 1.0, 1.0,  .9,  .8,  .7,  .7,  .7,  .7,  .6,  .5,  .4,  .4,  .5,  .6,  .7,  .8,  .9, 1.0, 1.0, 1.0, 1.0 },\n  { 1.0, 1.0, 1.0, 1.0, 1.0,  .9,  .8,  .8,  .8,  .7,  .6,  .6,  .6,  .6,  .6,  .6,  .8,  .9,  .9,  .9,  .9, 1.0, 1.0 },\n  {  .9,  .9,  .9,  .9,  .9,  .9,  .9,  .8,  .7,  .6,  .6,  .5,  .5,  .5,  .5,  .6,  .7,  .8,  .7,  .7,  .8,  .9,  .9 }\n};\n#endif\n\nncclResult_t ncclTopoGetAlgoTime(struct ncclComm* comm, int coll, int algorithm, int protocol, size_t nBytes, int numPipeOps, float* time) {\n  float bw = comm->bandwidths[coll][algorithm][protocol];\n  float lat = comm->latencies[coll][algorithm][protocol];\n\n  if (bw == 0) {\n    *time = -1.0; return ncclSuccess;\n  }\n  int logSize = log2i(nBytes>>6);\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  logSize = std::max(0, std::min(RCCL_FACTOR_TABLE_MAX_INDEX, logSize));\n  if (algorithm == NCCL_ALGO_TREE) {\n    bw *= rcclTuningModel[comm->topo->tuning].treeCorrectionFactor[protocol][logSize];\n  }\n  else if (algorithm == NCCL_ALGO_RING && comm->nNodes > 1) {\n    bw *= rcclTuningModel[comm->topo->tuning].ringCorrectionFactor[protocol][logSize];\n  }\n\n#else\n  if (algorithm == NCCL_ALGO_TREE && coll == ncclFuncAllReduce && logSize >= 0 && logSize < 23) bw *= treeCorrectionFactor[protocol][logSize];\n  if (algorithm == NCCL_ALGO_RING && protocol == NCCL_PROTO_SIMPLE && comm->nNodes > 1\n      && coll == ncclFuncAllReduce && nBytes/(comm->nChannels*comm->nRanks) >= 64) {\n    lat *= comm->minCompCap < 80 ? 1.9 : 1.4; // Plateau effect of ring\n  }\n#endif\n  // Tree pipelining saves latency in aggregation cases\n  int latCount = algorithm == NCCL_ALGO_RING ? numPipeOps : DIVUP(numPipeOps, NCCL_MAX_DEV_WORK_BATCH_COLLS);\n  *time = lat * latCount + nBytes / (1000 * bw);\n  return ncclSuccess;\n}\n\n/**\n * takes gfx arch name as C-style string and returns a tuning index to\n */\nint rcclGetTuningIndexForArch(const char* gfxarch) {\n  static const std::vector<std::pair<std::string, int>> tuningIndexMap = {\n    {\"gfx906\", 0}, {\"gfx908\", 0}, {\"gfx90a\", 0}, {\"gfx942\", 5},\n    {\"gfx950\", 6}, {\"gfx1030\", 0}, {\"gfx1100\", 0}, {\"gfx1102\", 0},\n    {\"gfx1200\", 7}, {\"gfx1201\", 7}\n  };\n  if (gfxarch == nullptr) return 0;\n  std::string arch(gfxarch);\n  for (const auto& p : tuningIndexMap) {\n    const std::string& prefix = p.first;\n    if (arch.size() >= prefix.size() &&\n        arch.compare(0, prefix.size(), prefix) == 0) {\n      return p.second;\n    }\n  }\n  return 0;\n}"
  },
  {
    "path": "src/graph/xml.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2019-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <unistd.h>\n#include <fcntl.h>\n#include <ctype.h>\n#include <float.h>\n#include \"core.h\"\n#include \"nvmlwrap.h\"\n#include \"xml.h\"\n#ifdef USE_AMDSMI\n#include \"amdsmi_wrap.h\"\n#else\n#include \"rocm_smi_wrap.h\"\n#endif\n#include \"archinfo.h\"\n#if defined(__x86_64__)\n#include <cpuid.h>\n#endif\n\n// Arbitrarily large number for constructing virtual topology string\n#define NCCL_MAX_XML_DEPTH 1024\n\n/*******************/\n/* XML File Parser */\n/*******************/\n\nncclResult_t xmlGetChar(FILE* file, char* c) {\n  if (fread(c, 1, 1, file) == 0) {\n    WARN(\"XML Parse : Unexpected EOF\");\n    return ncclInternalError;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t xmlGetValue(FILE* file, char* value, char* last) {\n  char c;\n  NCCLCHECK(xmlGetChar(file, &c));\n  if (c != '\"' && c != '\\'') {\n#if INT_OK\n    int o = 0;\n    do {\n      value[o] = c;\n      if (o == MAX_STR_LEN-1) {\n        value[o] = '\\0';\n        WARN(\"Error : value %s too long (max %d)\", value, MAX_STR_LEN);\n        return ncclInternalError;\n      }\n      o++;\n      NCCLCHECK(xmlGetChar(file, &c));\n    } while (c >= '0' && c <= '9');\n    value[o] = '\\0';\n    *last = c;\n    return ncclSuccess;\n#else\n    WARN(\"XML Parse : Expected (double) quote.\");\n    return ncclInternalError;\n#endif\n  }\n  int o = 0;\n  char quote = c;  // Remember which quote type we started with\n  do {\n    NCCLCHECK(xmlGetChar(file, &c));\n    value[o] = c;\n    if (o == MAX_STR_LEN-1) {\n      value[o] = '\\0';\n      WARN(\"Error : value %s too long (max %d)\", value, MAX_STR_LEN);\n      return ncclInternalError;\n    }\n    o++;\n  } while (c != quote);\n  value[o-1] = '\\0';\n  NCCLCHECK(xmlGetChar(file, last));\n  return ncclSuccess;\n}\n\nncclResult_t xmlGetToken(FILE* file, char* name, char* value, char* last) {\n  char c;\n  char* ptr = name;\n  int o = 0;\n  do {\n    NCCLCHECK(xmlGetChar(file, &c));\n    if (c == '=') {\n      ptr[o] = '\\0';\n      if (value == NULL) {\n        WARN(\"XML Parse : Unexpected value with name %s\", ptr);\n        return ncclInternalError;\n      }\n      return xmlGetValue(file, value, last);\n    }\n    ptr[o] = c;\n    if (o == MAX_STR_LEN-1) {\n      ptr[o] = '\\0';\n      WARN(\"Error : name %s too long (max %d)\", ptr, MAX_STR_LEN);\n      return ncclInternalError;\n    }\n    o++;\n  } while (c != ' ' && c != '>' && c != '/' && c != '\\n' && c != '\\r');\n  ptr[o-1] = '\\0';\n  *last = c;\n  return ncclSuccess;\n}\n\n// Shift the 3-chars string by one char and append c at the end\n#define SHIFT_APPEND(s, c) do { s[0]=s[1]; s[1]=s[2]; s[2]=c; } while(0)\nncclResult_t xmlSkipComment(FILE* file, char* start, char next) {\n  // Start from something neutral with \\0 at the end.\n  char end[4] = \"...\";\n\n  // Inject all trailing chars from previous reads. We don't need\n  // to check for --> here because there cannot be a > in the name.\n  for (int i=0; i<strlen(start); i++) SHIFT_APPEND(end, start[i]);\n  SHIFT_APPEND(end, next);\n\n  // Stop when we find \"-->\"\n  while (strcmp(end, \"-->\") != 0) {\n    int c;\n    if (fread(&c, 1, 1, file) != 1) {\n      WARN(\"XML Parse error : unterminated comment\");\n      return ncclInternalError;\n    }\n    SHIFT_APPEND(end, c);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t xmlGetNode(FILE* file, struct ncclXmlNode* node) {\n  node->type = NODE_TYPE_NONE;\n  char c = ' ';\n  while (c == ' ' || c == '\\n' || c == '\\r') {\n    if (fread(&c, 1, 1, file) == 0) return ncclSuccess;\n  }\n  if (c != '<') {\n    WARN(\"XML Parse error : expecting '<', got '%c'\", c);\n    return ncclInternalError;\n  }\n  // Read XML element name\n  NCCLCHECK(xmlGetToken(file, node->name, NULL, &c));\n\n  // Check for comments\n  if (strncmp(node->name, \"!--\", 3) == 0) {\n    NCCLCHECK(xmlSkipComment(file, node->name+3, c));\n    return xmlGetNode(file, node);\n  }\n\n  // Check for closing tag\n  if (node->name[0] == '\\0' && c == '/') {\n    node->type = NODE_TYPE_CLOSE;\n    // Re-read the name, we got '/' in the first call\n    NCCLCHECK(xmlGetToken(file, node->name, NULL, &c));\n    if (c != '>') {\n      WARN(\"XML Parse error : unexpected trailing %c in closing tag %s\", c, node->name);\n      return ncclInternalError;\n    }\n    return ncclSuccess;\n  }\n\n  node->type = NODE_TYPE_OPEN;\n\n  // Get Attributes\n  int a = 0;\n  while (c == ' ') {\n    NCCLCHECK(xmlGetToken(file, node->attrs[a].key, node->attrs[a].value, &c));\n    if (a == MAX_ATTR_COUNT) {\n      INFO(NCCL_GRAPH, \"XML Parse : Ignoring extra attributes (max %d)\", MAX_ATTR_COUNT);\n      // Actually we need to still consume the extra attributes so we have an extra one.\n    } else a++;\n  }\n  node->nAttrs = a;\n  if (c == '/') {\n    node->type = NODE_TYPE_SINGLE;\n    char str[MAX_STR_LEN];\n    NCCLCHECK(xmlGetToken(file, str, NULL, &c));\n  }\n  if (c != '>') {\n    WARN(\"XML Parse : expected >, got '%c'\", c);\n    return ncclInternalError;\n  }\n  return ncclSuccess;\n}\n\ntypedef ncclResult_t (*xmlHandlerFunc_t)(FILE*, struct ncclXml*, struct ncclXmlNode*);\n\nstruct xmlHandler {\n  const char * name;\n  xmlHandlerFunc_t func;\n};\n\nncclResult_t xmlLoadSub(FILE* file, struct ncclXml* xml, struct ncclXmlNode* head, struct xmlHandler handlers[], int nHandlers) {\n  if (head && head->type == NODE_TYPE_SINGLE) return ncclSuccess;\n  while (1) {\n    if (xml->maxIndex == xml->maxNodes) {\n      WARN(\"Error : XML parser is limited to %d nodes\", xml->maxNodes);\n      return ncclInternalError;\n    }\n    struct ncclXmlNode* node = xml->nodes+xml->maxIndex;\n    memset(node, 0, sizeof(struct ncclXmlNode));\n    NCCLCHECK(xmlGetNode(file, node));\n    if (node->type == NODE_TYPE_NONE) {\n      if (head) {\n        WARN(\"XML Parse : unterminated %s\", head->name);\n        return ncclInternalError;\n      } else {\n        // All done\n        return ncclSuccess;\n      }\n    }\n    if (head && node->type == NODE_TYPE_CLOSE) {\n      if (strcmp(node->name, head->name) != 0) {\n        WARN(\"XML Mismatch : %s / %s\", head->name, node->name);\n        return ncclInternalError;\n      }\n      return ncclSuccess;\n    }\n    int found = 0;\n    for (int h=0; h<nHandlers; h++) {\n      if (strcmp(node->name, handlers[h].name) == 0) {\n        if (head) {\n          if (head->nSubs == MAX_SUBS) {\n            WARN(\"Error : XML parser is limited to %d subnodes\", MAX_SUBS);\n            return ncclInternalError;\n          }\n          head->subs[head->nSubs++] = node;\n        }\n        node->parent = head;\n        node->nSubs = 0;\n        xml->maxIndex++;\n        NCCLCHECK(handlers[h].func(file, xml, node));\n        found = 1;\n        break;\n      }\n    }\n    if (!found) {\n      if (nHandlers) INFO(NCCL_GRAPH, \"Ignoring element %s\", node->name);\n      NCCLCHECK(xmlLoadSub(file, xml, node, NULL, 0));\n    }\n  }\n}\n\n/**************/\n/* XML Writer */\n/**************/\n\n// exp == 1 -- serialize; exp == 0 -- deserialize\nncclResult_t ncclTopoConvertXml(struct ncclXml* xml, uintptr_t base, int exp) {\n  for (int n = 0; n < xml->maxIndex; n++) {\n    struct ncclXmlNode *node = &xml->nodes[n];\n\n    // For \"parent\", we shift the base by 1 so that we can distinguish actual\n    // NULL pointers from pointers pointing to the first node.\n    if (node->parent)\n      node->parent = (struct ncclXmlNode *) (exp ? ((uintptr_t)node->parent - base + 1) : (base - 1 + (uintptr_t)node->parent));\n\n    for (int s = 0; s < node->nSubs; s++) {\n      node->subs[s] = (struct ncclXmlNode *) (exp ? ((uintptr_t)node->subs[s] - base) : (base + (uintptr_t)node->subs[s]));\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoDumpXmlRec(int indent, FILE* file, struct ncclXmlNode* node) {\n  for (int i=0; i<indent; i++) fprintf(file, \" \");\n  fprintf(file, \"<%s\", node->name);\n\n  for (int a=0; a<node->nAttrs; a++) {\n    fprintf(file, \" %s=\\\"%s\\\"\", node->attrs[a].key, node->attrs[a].value);\n  }\n  if (node->nSubs == 0) {\n    fprintf(file, \"/>\\n\");\n  } else {\n    fprintf(file, \">\\n\");\n    for (int s=0; s<node->nSubs; s++) {\n      NCCLCHECK(ncclTopoDumpXmlRec(indent+2, file, node->subs[s]));\n    }\n    for (int i=0; i<indent; i++) fprintf(file, \" \");\n    fprintf(file, \"</%s>\\n\", node->name);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoDumpXmlToFile(const char* xmlTopoFile, struct ncclXml* xml) {\n  FILE* file = fopen(xmlTopoFile, \"w\");\n  if (file == NULL) {\n    INFO(NCCL_GRAPH|NCCL_ENV, \"Unable to open %s, not dumping topology.\", xmlTopoFile);\n    return ncclSuccess;\n  }\n  NCCLCHECK(ncclTopoDumpXmlRec(0, file, xml->nodes));\n  fclose(file);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlTopoFuseXmlRecursive(struct ncclXml* dst, struct ncclXmlNode* dstParent, struct ncclXmlNode* srcParent) {\n  for (int i = 0; i < srcParent->nSubs; i++) {\n    struct ncclXmlNode* srcNode = srcParent->subs[i];\n    struct ncclXmlNode* dstNode;\n    NCCLCHECK(xmlFindNode(dstParent, srcNode, &dstNode));\n    if (dstNode == NULL) {\n      NCCLCHECK(xmlAddTree(dst, dstParent, srcNode));\n    } else {\n      NCCLCHECK(xmlTopoFuseXmlRecursive(dst, dstNode, srcNode));\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoFuseXml(struct ncclXml* dst, struct ncclXml* src) {\n  struct ncclXmlNode* topNodeDst;\n  NCCLCHECK(xmlFindTag(dst, \"system\", &topNodeDst));\n\n  if (topNodeDst == NULL) {\n    xmlAddTree(dst, NULL, src->nodes);\n    return ncclSuccess;\n  }\n\n  struct ncclXmlNode* topNodeSrc;\n  NCCLCHECK(xmlFindTag(src, \"system\", &topNodeSrc));\n\n  NCCLCHECK(xmlTopoFuseXmlRecursive(dst, topNodeDst, topNodeSrc));\n\n  return ncclSuccess;\n}\n\n\n/****************************************/\n/* Parser rules for our specific format */\n/****************************************/\n\nncclResult_t ncclTopoXmlLoadNvlink(FILE* file, struct ncclXml* xml, struct ncclXmlNode* head) {\n  NCCLCHECK(xmlLoadSub(file, xml, head, NULL, 0));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoXmlLoadPciLink(FILE* file, struct ncclXml* xml, struct ncclXmlNode* head) {\n  NCCLCHECK(xmlLoadSub(file, xml, head, NULL, 0));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoXmlLoadC2c(FILE* file, struct ncclXml* xml, struct ncclXmlNode* head) {\n  NCCLCHECK(xmlLoadSub(file, xml, head, NULL, 0));\n  return ncclSuccess;\n}\nncclResult_t ncclTopoXmlLoadGpu(FILE* file, struct ncclXml* xml, struct ncclXmlNode* head) {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  struct xmlHandler handlers[] = { { \"xgmi\", ncclTopoXmlLoadNvlink } };\n#else\n  struct xmlHandler handlers[] = { { \"nvlink\", ncclTopoXmlLoadNvlink }, { \"c2c\", ncclTopoXmlLoadC2c } };\n#endif\n  NCCLCHECK(xmlLoadSub(file, xml, head, handlers, 2));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoXmlLoadNet(FILE* file, struct ncclXml* xml, struct ncclXmlNode* head) {\n  NCCLCHECK(xmlLoadSub(file, xml, head, NULL, 0));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoXmlLoadNic(FILE* file, struct ncclXml* xml, struct ncclXmlNode* head) {\n  struct xmlHandler handlers[] = { { \"net\", ncclTopoXmlLoadNet } };\n  NCCLCHECK(xmlLoadSub(file, xml, head, handlers, 1));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoXmlLoadPci(FILE* file, struct ncclXml* xml, struct ncclXmlNode* head) {\n  struct xmlHandler handlers[] = { { \"pci\", ncclTopoXmlLoadPci }, { \"gpu\", ncclTopoXmlLoadGpu }, { \"nic\", ncclTopoXmlLoadNic}, { \"pcilink\", ncclTopoXmlLoadPciLink} };\n  NCCLCHECK(xmlLoadSub(file, xml, head, handlers, 4));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoXmlLoadCpu(FILE* file, struct ncclXml* xml, struct ncclXmlNode* head) {\n  struct xmlHandler handlers[] = { { \"pci\", ncclTopoXmlLoadPci }, { \"nic\", ncclTopoXmlLoadNic } };\n  NCCLCHECK(xmlLoadSub(file, xml, head, handlers, 2));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoXmlLoadSystem(FILE* file, struct ncclXml* xml, struct ncclXmlNode* head) {\n  int version;\n  NCCLCHECK(xmlGetAttrInt(head, \"version\", &version));\n  if (version != NCCL_TOPO_XML_VERSION) {\n    WARN(\"XML Topology has wrong version %d, %d needed\", version, NCCL_TOPO_XML_VERSION);\n    return ncclInvalidUsage;\n  }\n  const char* name;\n  NCCLCHECK(xmlGetAttr(head, \"name\", &name));\n  if (name != NULL) {\n    INFO(NCCL_GRAPH, \"Loading topology %s\", name);\n  } else {\n    INFO(NCCL_GRAPH, \"Loading unnamed topology\");\n  }\n\n  struct xmlHandler handlers[] = { { \"cpu\", ncclTopoXmlLoadCpu } };\n  NCCLCHECK(xmlLoadSub(file, xml, head, handlers, 1));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetXmlFromFile(const char* xmlTopoFile, struct ncclXml* xml, int warn) {\n  FILE* file = fopen(xmlTopoFile, \"r\");\n  if (file == NULL) {\n    if (warn) {\n      INFO(NCCL_GRAPH|NCCL_ENV, \"Could not open XML topology file %s : %s\", xmlTopoFile, strerror(errno));\n    }\n    return ncclSuccess;\n  }\n  INFO(NCCL_GRAPH, \"Loading topology file %s\", xmlTopoFile);\n  struct xmlHandler handlers[] = { { \"system\", ncclTopoXmlLoadSystem } };\n  xml->maxIndex = 0;\n  NCCLCHECK(xmlLoadSub(file, xml, NULL, handlers, 1));\n  fclose(file);\n  return ncclSuccess;\n}\n\n/**********************/\n/* XML creation       */\n/* from autodetection */\n/**********************/\n\n#define BUSID_SIZE (sizeof(\"0000:00:00.0\"))\n#define BUSID_REDUCED_SIZE (sizeof(\"0000:00\"))\nstatic void memcpylower(char* dst, const char* src, const size_t size) {\n  for (int i=0; i<size; i++) dst[i] = tolower(src[i]);\n}\nstatic ncclResult_t getPciPath(const char* busId, char** path) {\n  char busPath[] = \"/sys/class/pci_bus/0000:00/../../0000:00:00.0\";\n  memcpylower(busPath+sizeof(\"/sys/class/pci_bus/\")-1, busId, BUSID_REDUCED_SIZE-1);\n  memcpylower(busPath+sizeof(\"/sys/class/pci_bus/0000:00/../../\")-1, busId, BUSID_SIZE-2);\n  // override PCIe device function ID in CPX mode\n  busPath[sizeof(\"/sys/class/pci_bus/0000:00/../../\")+BUSID_SIZE-3] = '0';\n  *path = realpath(busPath, NULL);\n  if (*path == NULL) {\n    WARN(\"Could not find real path of %s\", busPath);\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\n#include <dirent.h>\nstatic ncclResult_t getBcmLinks(const char* busId, int* nlinks, char** peers) {\n  *nlinks = 0;\n  *peers = NULL;\n  char dirPath[] = \"/sys/kernel/pci_switch_link/virtual_switch_links/0000:00:00.0\";\n  memcpylower(dirPath+sizeof(\"/sys/kernel/pci_switch_link/virtual_switch_links/\")-1, busId, BUSID_SIZE-1);\n  DIR *dir = opendir(dirPath);\n  if (dir) {\n    struct dirent* file;\n    while ((file = readdir(dir)) != NULL) {\n      if (strlen(file->d_name) != BUSID_SIZE-1) continue;\n      char* path;\n      if (getPciPath(file->d_name, &path) == ncclSystemError) continue;\n      free(path);\n      NCCLCHECK(ncclRealloc(peers, (*nlinks)*BUSID_SIZE, ((*nlinks)+1)*BUSID_SIZE));\n      memcpy((*peers)+BUSID_SIZE*(*nlinks)++, file->d_name, BUSID_SIZE);\n    }\n    closedir(dir);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetStrFromSys(const char* path, const char* fileName, char* strValue) {\n  char filePath[PATH_MAX];\n  snprintf(filePath, sizeof(filePath), \"%s/%s\", path, fileName);\n  int offset = 0;\n  FILE* file;\n  if ((file = fopen(filePath, \"r\")) != NULL) {\n    while (feof(file) == 0 && ferror(file) == 0 && offset < MAX_STR_LEN) {\n      int len = fread(strValue+offset, 1, MAX_STR_LEN-offset, file);\n      offset += len;\n    }\n    fclose(file);\n  }\n  if (offset == 0) {\n    strValue[0] = '\\0';\n    INFO(NCCL_GRAPH, \"Topology detection : could not read %s, ignoring\", filePath);\n  } else {\n    strValue[offset-1] = '\\0';\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoSetAttrFromSys(struct ncclXmlNode* pciNode, const char* path, const char* fileName, const char* attrName) {\n  char strValue[MAX_STR_LEN];\n  NCCLCHECK(ncclTopoGetStrFromSys(path, fileName, strValue));\n  if (strValue[0] != '\\0') { NCCLCHECK(xmlSetAttr(pciNode, attrName, strValue)); }\n  TRACE(NCCL_GRAPH, \"Read from sys %s/%s -> %s=%s\", path, fileName, attrName, strValue);\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetXmlFromCpu(struct ncclXmlNode* cpuNode, struct ncclXml* xml) {\n  int index;\n  NCCLCHECK(xmlGetAttrIndex(cpuNode, \"affinity\", &index));\n  if (index == -1) {\n    const char* numaId;\n    NCCLCHECK(xmlGetAttr(cpuNode, \"numaid\", &numaId));\n    if (numaId == NULL) {\n      WARN(\"GetXmlFromCpu : could not find CPU numa ID.\");\n      return ncclInternalError;\n    }\n    // Set affinity\n    char cpumaskPath[] = \"/sys/devices/system/node/node000000\";\n    snprintf(cpumaskPath, sizeof(cpumaskPath), \"/sys/devices/system/node/node%s\", numaId);\n    NCCLCHECK(ncclTopoSetAttrFromSys(cpuNode, cpumaskPath, \"cpumap\", \"affinity\"));\n  }\n\n  NCCLCHECK(xmlGetAttrIndex(cpuNode, \"arch\", &index));\n  if (index == -1) {\n    // Fill CPU type / vendor / model\n#if defined(__PPC__)\n    NCCLCHECK(xmlSetAttr(cpuNode, \"arch\", \"ppc64\"));\n#elif defined(__aarch64__)\n    NCCLCHECK(xmlSetAttr(cpuNode, \"arch\", \"arm64\"));\n#elif defined(__x86_64__)\n    NCCLCHECK(xmlSetAttr(cpuNode, \"arch\", \"x86_64\"));\n#endif\n  }\n\n#if defined(__x86_64__)\n  NCCLCHECK(xmlGetAttrIndex(cpuNode, \"vendor\", &index));\n  if (index == -1) {\n    union {\n      struct {\n        // CPUID 0 String register order\n        uint32_t ebx;\n        uint32_t edx;\n        uint32_t ecx;\n      };\n      char vendor[12];\n    } cpuid0;\n\n    unsigned unused;\n    __cpuid(0, unused, cpuid0.ebx, cpuid0.ecx, cpuid0.edx);\n    char vendor[13];\n    strncpy(vendor, cpuid0.vendor, 12);\n    vendor[12] = '\\0';\n    NCCLCHECK(xmlSetAttr(cpuNode, \"vendor\", vendor));\n  }\n\n  NCCLCHECK(xmlGetAttrIndex(cpuNode, \"familyid\", &index));\n  if (index == -1) {\n    union {\n      struct {\n        unsigned steppingId:4;\n        unsigned modelId:4;\n        unsigned familyId:4;\n        unsigned processorType:2;\n        unsigned resv0:2;\n        unsigned extModelId:4;\n        unsigned extFamilyId:8;\n        unsigned resv1:4;\n      };\n      uint32_t val;\n    } cpuid1;\n    unsigned unused;\n    __cpuid(1, cpuid1.val, unused, unused, unused);\n    int familyId = cpuid1.familyId + (cpuid1.extFamilyId << 4);\n    int modelId = cpuid1.modelId + (cpuid1.extModelId << 4);\n    NCCLCHECK(xmlSetAttrInt(cpuNode, \"familyid\", familyId));\n    NCCLCHECK(xmlSetAttrInt(cpuNode, \"modelid\", modelId));\n  }\n#endif\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetPciNode(struct ncclXml* xml, const char* busId, struct ncclXmlNode** pciNode) {\n  NCCLCHECK(xmlFindTagKv(xml, \"pci\", pciNode, \"busid\", busId));\n  if (*pciNode == NULL) {\n    NCCLCHECK(xmlAddNode(xml, NULL, \"pci\", pciNode));\n    NCCLCHECK(xmlSetAttr(*pciNode, \"busid\", busId));\n  }\n  return ncclSuccess;\n}\n\n// Check whether a string is in BDF format or not.\n// BDF (Bus-Device-Function) is \"BBBB:BB:DD.F\" where B, D and F are hex digits.\n// There can be trailing chars.\nint isHex(char c) { return ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F')); }\nint checkBDFFormat(char* bdf) {\n  if (strlen(bdf) != 12) return 0;\n  if ((bdf[4] != ':') || (bdf[7] != ':') || (bdf[10] != '.')) return 0;\n  if ((isHex(bdf[0]) == 0) || (isHex(bdf[1]) == 0) || (isHex(bdf[2]) == 0) || (isHex(bdf[3]) == 0) ||\n      (isHex(bdf[5]) == 0) || (isHex(bdf[6]) == 0) || (isHex(bdf[8]) == 0) || (isHex(bdf[9]) == 0) ||\n      (isHex(bdf[11]) == 0)) return 0;\n  return 1;\n}\n\nncclResult_t ncclTopoGetXmlFromSys(struct ncclXmlNode* pciNode, struct ncclXml* xml) {\n  // Fill info, then parent\n  const char* busId;\n  NCCLCHECK(xmlGetAttr(pciNode, \"busid\", &busId));\n  char* path = NULL;\n  ncclDebugNoWarn = NCCL_GRAPH;\n  getPciPath(busId, &path);\n  ncclDebugNoWarn = 0;\n\n  if (path) {\n    NCCLCHECK(ncclTopoSetAttrFromSys(pciNode, path, \"class\", \"class\"));\n  }\n  int index;\n  ncclDebugNoWarn = NCCL_GRAPH;\n  NCCLCHECK(xmlGetAttrIndex(pciNode, \"vendor\", &index));\n  if (index == -1) {\n    if (path) ncclTopoSetAttrFromSys(pciNode, path, \"vendor\", \"vendor\");\n  }\n  NCCLCHECK(xmlGetAttrIndex(pciNode, \"device\", &index));\n  if (index == -1) {\n    if (path) ncclTopoSetAttrFromSys(pciNode, path, \"device\", \"device\");\n  }\n  NCCLCHECK(xmlGetAttrIndex(pciNode, \"subsystem_vendor\", &index));\n  if (index == -1) {\n    if (path) ncclTopoSetAttrFromSys(pciNode, path, \"subsystem_vendor\", \"subsystem_vendor\");\n  }\n  NCCLCHECK(xmlGetAttrIndex(pciNode, \"subsystem_device\", &index));\n  if (index == -1) {\n    if (path) ncclTopoSetAttrFromSys(pciNode, path, \"subsystem_device\", \"subsystem_device\");\n  }\n  ncclDebugNoWarn = 0;\n  NCCLCHECK(xmlGetAttrIndex(pciNode, \"link_speed\", &index));\n  if (index == -1) {\n    if (path) {\n      char deviceSpeedStr[MAX_STR_LEN];\n      float deviceSpeed = FLT_MAX;\n      NCCLCHECK(ncclTopoGetStrFromSys(path, \"max_link_speed\", deviceSpeedStr));\n      sscanf(deviceSpeedStr, \"%f GT/s\", &deviceSpeed);\n      char portSpeedStr[MAX_STR_LEN];\n      float portSpeed = FLT_MAX;\n      NCCLCHECK(ncclTopoGetStrFromSys(path, \"../max_link_speed\", portSpeedStr));\n      if (portSpeedStr[0])\n        sscanf(portSpeedStr, \"%f GT/s\", &portSpeed);\n      else\n        portSpeed = deviceSpeed;\n      NCCLCHECK(xmlSetAttr(pciNode, \"link_speed\", portSpeed < deviceSpeed ? portSpeedStr : deviceSpeedStr));\n    } else {\n      NCCLCHECK(xmlSetAttr(pciNode, \"link_speed\", \"\"));\n    }\n  }\n  NCCLCHECK(xmlGetAttrIndex(pciNode, \"link_width\", &index));\n  if (index == -1) {\n    if (path) {\n      char strValue[MAX_STR_LEN];\n      NCCLCHECK(ncclTopoGetStrFromSys(path, \"max_link_width\", strValue));\n      int deviceWidth = strtol(strValue, NULL, 0);\n      NCCLCHECK(ncclTopoGetStrFromSys(path, \"../max_link_width\", strValue));\n      int portWidth;\n      if (strValue[0])\n        portWidth = strtol(strValue, NULL, 0);\n      else\n        portWidth = deviceWidth;\n      NCCLCHECK(xmlSetAttrInt(pciNode, \"link_width\", std::min(deviceWidth,portWidth)));\n    } else {\n      NCCLCHECK(xmlSetAttr(pciNode, \"link_width\", \"\"));\n    }\n  }\n\n  const char* vendor;\n  NCCLCHECK(xmlGetAttr(pciNode, \"vendor\", &vendor));\n  if (vendor != NULL && strcmp(vendor, \"0x1000\") == 0) { // BCM switch, look for P2P connections\n    int nlinks;\n    char* peers;\n    NCCLCHECK(getBcmLinks(busId, &nlinks, &peers));\n    for (int l=0; l<nlinks; l++) {\n      char* target = peers+l*BUSID_SIZE;\n      struct ncclXmlNode* linkNode;\n      NCCLCHECK(xmlGetSubKv(pciNode, \"pcilink\", &linkNode, \"target\", target));\n      if (linkNode == NULL) {\n        NCCLCHECK(xmlAddNode(xml, pciNode, \"pcilink\", &linkNode));\n        NCCLCHECK(xmlSetAttr(linkNode, \"target\", target));\n      }\n    }\n  }\n\n  struct ncclXmlNode* parent = pciNode->parent;\n  if (parent == NULL) {\n    if (path) {\n      // Save that for later in case next step is a CPU\n      char numaIdStr[MAX_STR_LEN];\n      NCCLCHECK(ncclTopoGetStrFromSys(path, \"numa_node\", numaIdStr));\n      // Workaround kernel bug for now\n      if (strcmp(numaIdStr, \"-1\") == 0) strcpy(numaIdStr, \"0\");\n\n      // Go up one level in the PCI tree. Rewind two \"/\" and follow the upper PCI\n      // switch, or stop if we reach a CPU root complex.\n      int slashCount = 0;\n      int parentOffset;\n      for (parentOffset = strlen(path)-1; parentOffset>0; parentOffset--) {\n        if (path[parentOffset] == '/') {\n          slashCount++;\n          path[parentOffset] = '\\0';\n          int start = parentOffset - 1;\n          while (start>0 && path[start] != '/') start--;\n          // Check whether the parent path looks like \"BBBB:BB:DD.F\" or not.\n          if (checkBDFFormat(path+start+1) == 0) {\n            // This a CPU root complex. Create a CPU tag and stop there.\n            struct ncclXmlNode* topNode;\n            NCCLCHECK(xmlFindTag(xml, \"system\", &topNode));\n            NCCLCHECK(xmlGetSubKv(topNode, \"cpu\", &parent, \"numaid\", numaIdStr));\n            if (parent == NULL) {\n              NCCLCHECK(xmlAddNode(xml, topNode, \"cpu\", &parent));\n              NCCLCHECK(xmlSetAttrLong(parent, \"host_hash\", getHostHash()));\n              NCCLCHECK(xmlSetAttr(parent, \"numaid\", numaIdStr));\n            }\n          } else if (slashCount == 2) {\n            // Continue on the upper PCI switch\n            for (int i = strlen(path)-1; i>0; i--) {\n              if (path[i] == '/') {\n                NCCLCHECK(xmlFindTagKv(xml, \"pci\", &parent, \"busid\", path+i+1));\n                if (parent == NULL) {\n                  NCCLCHECK(xmlAddNode(xml, NULL, \"pci\", &parent));\n                  NCCLCHECK(xmlSetAttr(parent, \"busid\", path+i+1));\n                }\n                break;\n              }\n            }\n          }\n        }\n        if (parent) break;\n      }\n    } else {\n      // No information on /sys, attach GPU to unknown CPU\n      NCCLCHECK(xmlFindTagKv(xml, \"cpu\", &parent, \"numaid\", \"-1\"));\n      if (parent == NULL) {\n        struct ncclXmlNode* topNode;\n        NCCLCHECK(xmlFindTag(xml, \"system\", &topNode));\n        NCCLCHECK(xmlAddNode(xml, topNode, \"cpu\", &parent));\n        NCCLCHECK(xmlSetAttrLong(parent, \"host_hash\", getHostHash()));\n        NCCLCHECK(xmlSetAttr(parent, \"numaid\", \"-1\"));\n        NCCLCHECK(ncclTopoGetXmlFromCpu(parent, xml));\n      }\n    }\n    pciNode->parent = parent;\n    // Keep PCI sub devices ordered by PCI Bus ID (Issue #820)\n    // Coverity complains about dereferenced parent being NULL\n    // but this can never happen.\n    // coverity[var_deref_op]\n    int subIndex = parent->nSubs;\n    const char* newBusId;\n    NCCLCHECK(xmlGetAttrStr(pciNode, \"busid\", &newBusId));\n    for (int s=0; s<parent->nSubs; s++) {\n      const char* busId;\n      NCCLCHECK(xmlGetAttr(parent->subs[s], \"busid\", &busId));\n      if (busId != NULL && strcmp(newBusId, busId) < 0) { subIndex = s; break; }\n    }\n    if (parent->nSubs == MAX_SUBS) {\n      WARN(\"Error : XML parser is limited to %d subnodes\", MAX_SUBS);\n      return ncclInternalError;\n    }\n    for (int s = parent->nSubs; s > subIndex; s--) parent->subs[s] = parent->subs[s-1];\n    parent->subs[subIndex] = pciNode;\n    parent->nSubs++;\n  }\n  if (strcmp(parent->name, \"pci\") == 0) {\n    NCCLCHECK(ncclTopoGetXmlFromSys(parent, xml));\n  } else if (strcmp(parent->name, \"cpu\") == 0) {\n    NCCLCHECK(ncclTopoGetXmlFromCpu(parent, xml));\n  }\n  free(path);\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetXmlFromGpu(struct ncclXmlNode* pciNode, uint32_t rocmDev, struct ncclXml* xml, struct ncclXmlNode** gpuNodeRet) {\n  struct ncclXmlNode* gpuNode = NULL;\n  NCCLCHECK(xmlGetSub(pciNode, \"gpu\", &gpuNode));\n  if (gpuNode == NULL) NCCLCHECK(xmlAddNode(xml, pciNode, \"gpu\", &gpuNode));\n\n  int index = -1;\n\n  int dev = -1;\n  NCCLCHECK(xmlGetAttrIndex(gpuNode, \"dev\", &index));\n  if (index == -1) {\n    NCCLCHECK(xmlSetAttrInt(gpuNode, \"dev\", rocmDev));\n  }\n  NCCLCHECK(xmlGetAttrInt(gpuNode, \"dev\", &dev));\n  if (dev == -1) { *gpuNodeRet = NULL; return ncclSuccess; }\n\n  NCCLCHECK(xmlGetAttrIndex(gpuNode, \"sm\", &index));\n  if (index == -1) {\n    cudaDeviceProp devProp;\n    CUDACHECK(cudaGetDeviceProperties(&devProp, 0));\n    NCCLCHECK(xmlSetAttrInt(gpuNode, \"sm\", devProp.multiProcessorCount));\n  }\n  int sm;\n  NCCLCHECK(xmlGetAttrInt(gpuNode, \"sm\", &sm));\n\n  const char* gcn;\n  const char* gcnArchName;\n  NCCLCHECK(xmlGetAttrIndex(gpuNode, \"gcn\", &index));\n  if (index == -1) {\n    hipDeviceProp_t devProp;\n    CUDACHECK(hipGetDeviceProperties(&devProp, 0));\n    //extract only the releveant info from the gcnArchName attribute\n    //e.g.: convert \"gfx908:sramecc+:xnack-\" to \"gfx908\"\n    char gcnArchNameSubstr[128];\n    GcnArchNameFormat(devProp.gcnArchName, gcnArchNameSubstr);\n    gcn = gcnArchNameSubstr;\n    NCCLCHECK(xmlSetAttr(gpuNode, \"gcn\", gcn));\n  }\n  NCCLCHECK(xmlGetAttr(gpuNode, \"gcn\", &gcn));\n  convertGcnArchToGcnArchName(gcn, &gcnArchName);\n  if (gcn != gcnArchName) {\n     NCCLCHECK(xmlSetAttr(gpuNode, \"gcn\", gcnArchName));\n  }\n\n  rcclHipDeviceArch_t arch;\n  NCCLCHECK(xmlGetAttrIndex(gpuNode, \"arch\", &index));\n  if (index == -1) {\n    hipDeviceProp_t devProp;\n    CUDACHECK(hipGetDeviceProperties(&devProp, 0));\n    memcpy(&arch.arch, &devProp.arch, sizeof(hipDeviceArch_t));\n    NCCLCHECK(xmlSetAttrInt(gpuNode, \"arch\", arch.value));\n  }\n  NCCLCHECK(xmlGetAttrInt(gpuNode, \"arch\", &arch.value));\n\n  struct ncclXmlNode* nvlNode = NULL;\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  NCCLCHECK(xmlGetSub(gpuNode, \"xgmi\", &nvlNode));\n#else\n  NCCLCHECK(xmlGetSub(gpuNode, \"nvlink\", &nvlNode));\n#endif\n  if (nvlNode == NULL) {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n    const char* busId;\n    NCCLCHECK(xmlGetAttr(pciNode, \"busid\", &busId));\n    uint32_t deviceCnt;\n#ifdef USE_AMDSMI\n    NCCLCHECK(amd_smi_getNumDevice(&deviceCnt));\n    for (int i=0; i<deviceCnt; i++) {\n      if (i != dev) {\n        amdsmi_link_type_t amdsmi_type;\n        int hops, count;\n        if (amd_smi_getLinkInfo(dev, i, &amdsmi_type, &hops, &count) == ncclSuccess) {\n          if (amdsmi_type == AMDSMI_LINK_TYPE_XGMI && hops == 1) {\n            char busIdStr[] = \"00000000:00:00.0\";\n            NCCLCHECK(amd_smi_getDevicePciBusIdString(i, busIdStr, sizeof(busIdStr)));\n            char lowerId[NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE];\n            for (int c=0; c<NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE; c++) {\n              lowerId[c] = tolower(busIdStr[c]);\n              if (busIdStr[c] == 0) break;\n            }\n            NCCLCHECK(xmlGetSubKv(gpuNode, \"xgmi\", &nvlNode, \"target\", lowerId));\n            if (nvlNode == NULL) {\n              NCCLCHECK(xmlAddNode(xml, gpuNode, \"xgmi\", &nvlNode));\n              NCCLCHECK(xmlSetAttr(nvlNode, \"target\", lowerId));\n              NCCLCHECK(xmlSetAttrInt(nvlNode, \"count\", count));\n            }\n          }\n        }\n      }\n    }\n#else\n    NCCLCHECK(rocm_smi_getNumDevice(&deviceCnt));\n    for (int i=0; i<deviceCnt; i++) {\n      if (i != dev) {\n        RSMI_IO_LINK_TYPE rsmi_type;\n        int hops, count;\n        if (rocm_smi_getLinkInfo(dev, i, &rsmi_type, &hops, &count) == ncclSuccess) {\n          if (rsmi_type == RSMI_IOLINK_TYPE_XGMI && hops == 1) {\n            char busIdStr[] = \"00000000:00:00.0\";\n            NCCLCHECK(rocm_smi_getDevicePciBusIdString(i, busIdStr, sizeof(busIdStr)));\n            char lowerId[NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE];\n            for (int c=0; c<NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE; c++) {\n              lowerId[c] = tolower(busIdStr[c]);\n              if (busIdStr[c] == 0) break;\n            }\n            NCCLCHECK(xmlGetSubKv(gpuNode, \"xgmi\", &nvlNode, \"target\", lowerId));\n            if (nvlNode == NULL) {\n              NCCLCHECK(xmlAddNode(xml, gpuNode, \"xgmi\", &nvlNode));\n              NCCLCHECK(xmlSetAttr(nvlNode, \"target\", lowerId));\n              NCCLCHECK(xmlSetAttrInt(nvlNode, \"count\", count));\n            }\n          }\n        }\n      }\n    }\n#endif\n#else\n    // NVML NVLink detection\n    int maxNvLinks = (sm < 60) ? 0 : (sm < 70) ? 4 : (sm < 80) ? 6 : (sm < 90) ? 12 : 18;\n\n    if (maxNvLinks > 0 && nvmlDev == NULL) {\n      INFO(NCCL_GRAPH, \"No NVML device handle. Skipping nvlink detection.\");\n      maxNvLinks = 0;\n    }\n\n    for (int l=0; l<maxNvLinks; ++l) {\n      // Check whether we can use this NVLink for P2P\n      unsigned canP2P;\n      if ((ncclNvmlDeviceGetNvLinkCapability(nvmlDev, l, NVML_NVLINK_CAP_P2P_SUPPORTED, &canP2P) != ncclSuccess) || !canP2P) continue;\n\n      // Make sure the Nvlink is up. The previous call should have trained the link.\n      nvmlEnableState_t isActive = NVML_FEATURE_DISABLED;\n#if CUDART_VERSION >= 11080\n      if (sm >= 90) {\n        nvmlFieldValue_t fv;\n        fv.fieldId = NVML_FI_DEV_NVLINK_GET_STATE;\n        fv.scopeId = l;\n        // fv.value will contain NV_FEATURE_ENABLED or NV_FEATURE_DISABLED\n        if ((ncclNvmlDeviceGetFieldValues(nvmlDev, 1, &fv) == ncclSuccess) && (fv.nvmlReturn == NVML_SUCCESS))\n          isActive = (nvmlEnableState_t) fv.value.uiVal;\n      } else /* FALLTHRU to GetNvLinkState if before SM90 */\n#endif\n      {\n        (void) ncclNvmlDeviceGetNvLinkState(nvmlDev, l, &isActive);\n      }\n      if (isActive != NVML_FEATURE_ENABLED) continue;\n\n      // Try to figure out what's on the other side of the NVLink\n      nvmlPciInfo_t remoteProc;\n      if (ncclNvmlDeviceGetNvLinkRemotePciInfo(nvmlDev, l, &remoteProc) != ncclSuccess) continue;\n\n      // Make a lower case copy of the bus ID for calling ncclDeviceType\n      // PCI system path is in lower case\n      char* p = remoteProc.busId;\n      char lowerId[NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE];\n      for (int c=0; c<NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE; c++) {\n        lowerId[c] = tolower(p[c]);\n        if (p[c] == 0) break;\n      }\n\n      NCCLCHECK(xmlGetSubKv(gpuNode, \"nvlink\", &nvlNode, \"target\", lowerId));\n      if (nvlNode == NULL) {\n        NCCLCHECK(xmlAddNode(xml, gpuNode, \"nvlink\", &nvlNode));\n        NCCLCHECK(xmlSetAttr(nvlNode, \"target\", lowerId));\n        NCCLCHECK(xmlSetAttrInt(nvlNode, \"count\", 1));\n      } else {\n        int count;\n        NCCLCHECK(xmlGetAttrInt(nvlNode, \"count\", &count));\n        NCCLCHECK(xmlSetAttrInt(nvlNode, \"count\", count+1));\n      }\n    }\n#endif\n  }\n#if CUDART_VERSION >= 11080\n  struct ncclXmlNode* c2cNode = NULL;\n  NCCLCHECK(xmlGetSub(gpuNode, \"c2c\", &c2cNode));\n  if (c2cNode == NULL) {\n      if (sm >= 90) {\n        int c2cLinksCount = 0;\n        nvmlFieldValue_t fv;\n        fv.fieldId = NVML_FI_DEV_C2C_LINK_COUNT;\n        if ((ncclNvmlDeviceGetFieldValues(nvmlDev, 1, &fv) == ncclSuccess) && (fv.nvmlReturn == NVML_SUCCESS)) {\n          c2cLinksCount = fv.value.uiVal;\n          int bw = 0;\n\t  int count = 0;\n          for (int l=0; l<c2cLinksCount; l++) {\n            nvmlFieldValue_t fvs[2];\n            fvs[0].fieldId = NVML_FI_DEV_C2C_LINK_GET_STATUS;\n            fvs[0].scopeId = l;\n            fvs[1].fieldId = NVML_FI_DEV_C2C_LINK_GET_MAX_BW;\n            fvs[1].scopeId = l;\n            if ((ncclNvmlDeviceGetFieldValues(nvmlDev, 2, fvs) == ncclSuccess) &&\n                (fvs[0].nvmlReturn == NVML_SUCCESS) &&\n                (fvs[0].value.uiVal == 1) &&\n                (fvs[1].nvmlReturn == NVML_SUCCESS)) {\n              bw = fvs[1].value.uiVal;\n\t      count++;\n            }\n          }\n          if (count > 0) {\n            NCCLCHECK(xmlAddNode(xml, gpuNode, \"c2c\", &c2cNode));\n            NCCLCHECK(xmlSetAttrInt(c2cNode, \"bw\", bw));\n            NCCLCHECK(xmlSetAttrInt(c2cNode, \"count\", count));\n          }\n        }\n      }\n  }\n#endif\n  // Fill target classes\n  for (int s=0; s<gpuNode->nSubs; s++) {\n    struct ncclXmlNode* sub = gpuNode->subs[s];\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n    if (strcmp(sub->name, \"xgmi\") != 0) continue;\n#else\n    if (strcmp(sub->name, \"nvlink\") != 0) continue;\n#endif\n    int index;\n    NCCLCHECK(xmlGetAttrIndex(sub, \"tclass\", &index));\n    if (index == -1) {\n      const char* busId;\n      NCCLCHECK(xmlGetAttr(sub, \"target\", &busId));\n      char* path;\n      ncclDebugNoWarn = NCCL_GRAPH;\n      getPciPath(busId, &path);\n      ncclDebugNoWarn = 0;\n      if (path == NULL || strcmp(busId, \"fffffff:ffff:ff\") == 0) {\n        // Remote NVLink device is not visible inside this VM. Assume NVSwitch.\n        NCCLCHECK(xmlSetAttr(sub, \"tclass\", \"0x068000\"));\n      } else {\n        NCCLCHECK(ncclTopoSetAttrFromSys(sub, path, \"class\", \"tclass\"));\n        free(path);\n      }\n    }\n  }\n  *gpuNodeRet = gpuNode;\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoFillGpu(struct ncclXml* xml, const char* busId, struct ncclXmlNode** gpuNode) {\n  struct ncclXmlNode* node;\n  NCCLCHECK(ncclTopoGetPciNode(xml, busId, &node));\n  NCCLCHECK(xmlSetAttrIfUnset(node, \"class\", \"0x03\"));\n  NCCLCHECK(ncclTopoGetXmlFromSys(node, xml));\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  uint32_t devIndex = 0;\n#ifdef USE_AMDSMI\n  static int amdsmiInit = 0;\n  if (amdsmiInit == 0) {\n    NCCLCHECK(amd_smi_init());\n  }\n  NCCLCHECK(amd_smi_getDeviceIndexByPciBusId(busId, &devIndex));\n#else\n  static int rocmsmiInit = 0;\n  if (rocmsmiInit == 0) {\n    NCCLCHECK(rocm_smi_init());\n  }\n  NCCLCHECK(rocm_smi_getDeviceIndexByPciBusId(busId, &devIndex));\n#endif\n  NCCLCHECK(ncclTopoGetXmlFromGpu(node, devIndex, xml, gpuNode));\n#else\n  nvmlDevice_t nvmlDev;\n  NCCLCHECK(ncclNvmlDeviceGetHandleByPciBusId(busId, &nvmlDev));\n  NCCLCHECK(ncclTopoGetXmlFromGpu(node, nvmlDev, xml, gpuNode));\n#endif\n  return ncclSuccess;\n}\n\n// Returns the subsystem name of a path, i.e. the end of the path\n// where sysPath/subsystem points to.\nncclResult_t ncclTopoGetSubsystem(const char* sysPath, char* subSys) {\n  char subSysPath[PATH_MAX];\n  snprintf(subSysPath, sizeof(subSysPath), \"%s/subsystem\", sysPath);\n  char* path = realpath(subSysPath, NULL);\n  if (path == NULL) {\n    subSys[0] = '\\0';\n  } else {\n    int offset;\n    for (offset = strlen(path); offset > 0 && path[offset] != '/'; offset--);\n    strcpy(subSys, path+offset+1);\n    free(path);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoFillNet(struct ncclXml* xml, const char* pciPath, const char* netName, struct ncclXmlNode** netNode, struct ncclXmlNode* forceParent) {\n  NCCLCHECK(xmlFindTagKv(xml, \"net\", netNode, \"name\", netName));\n\n  if (*netNode != NULL) return ncclSuccess;\n\n  struct ncclXmlNode* parent = NULL;\n  if (forceParent) {\n    parent = forceParent;\n  } else {\n    const char* pciSysPath = pciPath;\n    if (pciSysPath) {\n      char subSystem[PATH_MAX];\n      NCCLCHECK(ncclTopoGetSubsystem(pciSysPath, subSystem));\n      // This is not a PCI device (virtual, usb, ...).\n      if (strcmp(subSystem, \"pci\") != 0 && !forceParent) {\n        INFO(NCCL_NET | NCCL_GRAPH, \"Topology detection: network path (name = %s) %s is not a PCI device (%s). Attaching to first CPU\", netName, pciSysPath, subSystem);\n        pciSysPath = NULL;\n      }\n    }\n\n    if (pciSysPath) {\n      int offset;\n      for (offset = strlen(pciSysPath) - 1; pciSysPath[offset] != '/'; offset--);\n      char busId[NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE];\n      strcpy(busId, pciSysPath + offset + 1);\n      NCCLCHECK(ncclTopoGetPciNode(xml, busId, &parent));\n      NCCLCHECK(xmlSetAttrIfUnset(parent, \"class\", \"0x02\"));\n      NCCLCHECK(ncclTopoGetXmlFromSys(parent, xml));\n    } else {\n      // Virtual NIC, no PCI device, attach to first CPU\n      NCCLCHECK(xmlFindTag(xml, \"cpu\", &parent));\n    }\n  }\n\n  struct ncclXmlNode* nicNode = NULL;\n  NCCLCHECK(xmlGetSub(parent, \"nic\", &nicNode));\n  if (nicNode == NULL) {\n    NCCLCHECK(xmlAddNode(xml, parent, \"nic\", &nicNode));\n  }\n\n  // We know that this net does not exist yet (we searched for it at the\n  // beginning of this function), so we can add it.\n  NCCLCHECK(xmlAddNode(xml, nicNode, \"net\", netNode));\n  NCCLCHECK(xmlSetAttr(*netNode, \"name\", netName));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoTrimXmlRec(struct ncclXmlNode* node, int* keep) {\n  const char* str;\n  NCCLCHECK(xmlGetAttr(node, \"keep\", &str));\n  if (str && strcmp(str, \"1\") == 0) {\n    NCCLCHECK(xmlUnsetAttr(node, \"keep\"));\n    *keep = 1;\n  } else {\n    // Copy nSubs and subs as they could change as we trim recursively.\n    struct ncclXmlNode* subs[MAX_SUBS];\n    int nSubs = node->nSubs;\n    memcpy(subs, node->subs, node->nSubs*sizeof(struct ncclXmlNode*));\n    *keep = 0;\n    for (int s=0; s<nSubs; s++) {\n      int k = 0;\n      NCCLCHECK(ncclTopoTrimXmlRec(subs[s], &k));\n      *keep += k;\n    }\n    // Remove node if it has no children and no keep attribute\n    if (*keep == 0 && // Trim PCI switches, CPUs with no used GPU/NIC under them, or pruned NICs\n        (strcmp(node->name, \"pci\") == 0 || strcmp(node->name, \"cpu\") == 0 || strcmp(node->name, \"nic\") == 0 || strcmp(node->name, \"net\") == 0)) {\n#ifdef ENABLE_TRACE\n      const char* name;\n      const char* busid;\n      NCCLCHECK(xmlGetAttr(node, \"name\", &name));\n      NCCLCHECK(xmlGetAttr(node, \"busid\", &busid));\n      TRACE(NCCL_GRAPH, \"Removing node %s %s %s\\n\", node->name, name, busid);\n#endif\n      NCCLCHECK(xmlRemoveNode(node));\n    }\n  }\n  return ncclSuccess;\n}\nncclResult_t ncclTopoTrimXml(struct ncclXml* xml) {\n  int keep = 0;\n  NCCLCHECK(ncclTopoTrimXmlRec(xml->nodes, &keep));\n  return ncclSuccess;\n}\n\n/**************************************************/\n/* Parser rules for the user-defined graph search */\n/**************************************************/\n\nncclResult_t ncclTopoXmlGraphLoadGpu(FILE* file, struct ncclXml* xml, struct ncclXmlNode* head) {\n  NCCLCHECK(xmlLoadSub(file, xml, head, NULL, 0));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoXmlGraphLoadNet(FILE* file, struct ncclXml* xml, struct ncclXmlNode* head) {\n  NCCLCHECK(xmlLoadSub(file, xml, head, NULL, 0));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoXmlGraphLoadChannel(FILE* file, struct ncclXml* xml, struct ncclXmlNode* head) {\n  struct xmlHandler handlers[] = { { \"net\", ncclTopoXmlGraphLoadNet }, { \"gpu\", ncclTopoXmlGraphLoadGpu } };\n  NCCLCHECK(xmlLoadSub(file, xml, head, handlers, 2));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoXmlGraphLoadGraph(FILE* file, struct ncclXml* xml, struct ncclXmlNode* head) {\n  struct xmlHandler handlers[] = { { \"channel\", ncclTopoXmlGraphLoadChannel } };\n  NCCLCHECK(xmlLoadSub(file, xml, head, handlers, 1));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoXmlGraphLoadGraphs(FILE* file, struct ncclXml* xmlGraph, struct ncclXmlNode* head) {\n  int version;\n  NCCLCHECK(xmlGetAttrInt(head, \"version\", &version));\n  if (version != NCCL_GRAPH_XML_VERSION) {\n    WARN(\"XML Graph has wrong version %d, %d needed\", version, NCCL_GRAPH_XML_VERSION);\n    return ncclInvalidUsage;\n  }\n  const char* name;\n  NCCLCHECK(xmlGetAttr(head, \"name\", &name));\n  if (name != NULL) INFO(NCCL_GRAPH, \"Loading graphs for topology %s\", name);\n  else INFO(NCCL_GRAPH, \"Loading graphs\");\n\n  struct xmlHandler handlers[] = { { \"graph\", ncclTopoXmlGraphLoadGraph } };\n  NCCLCHECK(xmlLoadSub(file, xmlGraph, head, handlers, 1));\n  return ncclSuccess;\n}\n\nncclResult_t ncclTopoGetXmlGraphFromFile(const char* xmlGraphFile, struct ncclXml* xml) {\n  FILE* file = fopen(xmlGraphFile, \"r\");\n  if (file == NULL) {\n    WARN(\"Could not open XML graph file %s : %s\", xmlGraphFile, strerror(errno));\n    return ncclSystemError;\n  }\n  struct xmlHandler handlers[] = { { \"graphs\", ncclTopoXmlGraphLoadGraphs } };\n  xml->maxIndex = 0;\n  NCCLCHECK(xmlLoadSub(file, xml, NULL, handlers, 1));\n  fclose(file);\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/graph/xml.h",
    "content": "/*************************************************************************\n * Copyright (c) 2019-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef XML_H_\n#define XML_H_\n\n#include \"nccl.h\"\n#include \"debug.h\"\n#include \"checks.h\"\n#include \"alloc.h\"\n#include <stdlib.h>\n#include \"archinfo.h\"\n\n// A few constraints to make the implementation easy\n#define MAX_STR_LEN 255\n#define MAX_ATTR_COUNT 16\n#define MAX_SUBS 512\t//Changed the value from 128 to 512 for CPX mode\n\n#define NODE_TYPE_NONE 0\n#define NODE_TYPE_OPEN 1\n#define NODE_TYPE_CLOSE 2\n#define NODE_TYPE_SINGLE 3\n\nstruct ncclXmlNode {\n  char name[MAX_STR_LEN+1];\n  struct {\n    char key[MAX_STR_LEN+1];\n    char value[MAX_STR_LEN+1];\n  } attrs[MAX_ATTR_COUNT+1]; // Need an extra one to consume extra params\n  int nAttrs;\n  int type;\n  struct ncclXmlNode* parent;\n  struct ncclXmlNode* subs[MAX_SUBS];\n  int nSubs;\n};\n\nstruct ncclXml {\n  int maxIndex, maxNodes;\n  struct ncclXmlNode nodes[1];\n};\n\n/* File functions */\n#define NCCL_TOPO_XML_VERSION 2\nncclResult_t ncclTopoGetXmlFromFile(const char* xmlTopoFile, struct ncclXml* xml, int warn);\nncclResult_t ncclTopoDumpXmlToFile(const char* xmlTopoFile, struct ncclXml* xml);\n#define NCCL_GRAPH_XML_VERSION 1\nncclResult_t ncclTopoGetXmlGraphFromFile(const char* xmlGraphFile, struct ncclXml* xml);\n\n/* Auto-detect functions */\nncclResult_t ncclTopoFillGpu(struct ncclXml* xml, const char* busId, struct ncclXmlNode** gpuNode);\nncclResult_t ncclTopoFillNet(struct ncclXml* xml, const char* pciPath, const char* netName, struct ncclXmlNode** netNode, struct ncclXmlNode* forceParent=NULL);\n\n/* Remove unneeded parts */\nncclResult_t ncclTopoTrimXml(struct ncclXml* xml);\n\n/* Fuse multiple system XMLs into one, skipping duplicate entries */\nncclResult_t ncclTopoFuseXml(struct ncclXml* dst, struct ncclXml* src);\n/* Relocate pointers in XML to (de-)serialize the structure */\nncclResult_t ncclTopoConvertXml(struct ncclXml* xml, uintptr_t base, int exp);\n\nncclResult_t ncclTopoGetStrFromSys(const char* path, const char* fileName, char* strValue);\n\n/**************/\n/* XML Struct */\n/* Functions  */\n/**************/\n\nstatic size_t xmlMemSize(int maxNodes) {\n  return offsetof(struct ncclXml, nodes) + sizeof(struct ncclXmlNode)*maxNodes;\n}\nstatic ncclResult_t xmlAlloc(struct ncclXml** xml, int maxNodes) {\n  char* mem;\n  NCCLCHECK(ncclCalloc(&mem, xmlMemSize(maxNodes)));\n  *xml = (struct ncclXml*)mem;\n  (*xml)->maxNodes = maxNodes;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlGetAttrIndex(struct ncclXmlNode* node, const char* attrName, int* index) {\n  *index = -1;\n  const int nAttrs = node->nAttrs;\n  for (int a=0; a<nAttrs; a++) {\n    if (strncmp(node->attrs[a].key, attrName, MAX_STR_LEN) == 0) {\n      *index = a;\n      return ncclSuccess;\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlGetAttr(struct ncclXmlNode* node, const char* attrName, const char** value) {\n  int index;\n  NCCLCHECK(xmlGetAttrIndex(node, attrName, &index));\n  *value = index == -1 ? NULL : node->attrs[index].value;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlGetAttrStr(struct ncclXmlNode* node, const char* attrName, const char** value) {\n  NCCLCHECK(xmlGetAttr(node, attrName, value));\n  if (*value == NULL) {\n    WARN(\"Attribute %s of node %s not found\", attrName, node->name);\n    return ncclInternalError;\n  }\n  return ncclSuccess;\n}\nstatic ncclResult_t xmlGetAttrInt(struct ncclXmlNode* node, const char* attrName, int* value) {\n  const char* str;\n  NCCLCHECK(xmlGetAttrStr(node, attrName, &str));\n  *value = strtol(str, NULL, 0);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlGetAttrIntDefault(struct ncclXmlNode* node, const char* attrName, int* value, int defaultValue) {\n  const char* str;\n  NCCLCHECK(xmlGetAttr(node, attrName, &str));\n  *value = str ? strtol(str, NULL, 0) : defaultValue;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlGetAttrUint64(struct ncclXmlNode* node, const char* attrName, uint64_t* value) {\n  const char* str;\n  NCCLCHECK(xmlGetAttrStr(node, attrName, &str));\n  *value = strtoull(str, NULL, 0);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlGetAttrUint64Default(struct ncclXmlNode* node, const char* attrName, uint64_t* value, uint64_t defaultValue) {\n  const char* str;\n  NCCLCHECK(xmlGetAttr(node, attrName, &str));\n  *value = str ? strtoull(str, NULL, 0) : defaultValue;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlGetAttrLong(struct ncclXmlNode* node, const char* attrName, int64_t* value) {\n  const char* str;\n  NCCLCHECK(xmlGetAttrStr(node, attrName, &str));\n  *value = strtol(str, NULL, 0);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlGetAttrFloat(struct ncclXmlNode* node, const char* attrName, float* value) {\n  const char* str;\n  NCCLCHECK(xmlGetAttrStr(node, attrName, &str));\n  *value = strtof(str, NULL);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlGetAttrFloatDefault(struct ncclXmlNode* node, const char* attrName, float* value, float defaultValue) {\n  const char* str;\n  NCCLCHECK(xmlGetAttr(node, attrName, &str));\n  *value = str ? strtof(str, NULL) : defaultValue;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlFindTag(struct ncclXml* xml, const char* tagName, struct ncclXmlNode** node) {\n  *node = NULL;\n  for (int i=0; i<xml->maxIndex; i++) {\n    struct ncclXmlNode* n = xml->nodes+i;\n    if (strcmp(n->name, tagName) == 0) {\n      *node = n;\n      return ncclSuccess;\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlFindNextTag(struct ncclXml* xml, const char* tagName, struct ncclXmlNode* prev, struct ncclXmlNode** node) {\n  *node = NULL;\n  for (int i=prev-xml->nodes+1; i<xml->maxIndex; i++) {\n    struct ncclXmlNode* n = xml->nodes+i;\n    if (strcmp(n->name, tagName) == 0) {\n      *node = n;\n      return ncclSuccess;\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlFindTagKv(struct ncclXml* xml, const char* tagName, struct ncclXmlNode** node, const char* attrName, const char* attrValue) {\n  *node = NULL;\n  for (int i=0; i<xml->maxIndex; i++) {\n    struct ncclXmlNode* n = xml->nodes+i;\n    if (strcmp(n->name, tagName) == 0) {\n      const char* value;\n      NCCLCHECK(xmlGetAttr(n, attrName, &value));\n      if (value && strcmp(value, attrValue) == 0) {\n        *node = n;\n        return ncclSuccess;\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlFindNode(struct ncclXmlNode* parentNode, struct ncclXmlNode* searchNode, struct ncclXmlNode** node) {\n  *node = NULL;\n  // Search for the node at the current level only.\n  for (int i=0; i<parentNode->nSubs; i++) {\n    struct ncclXmlNode* n = parentNode->subs[i];\n    if (strcmp(n->name, searchNode->name) == 0 && n->type == searchNode->type && n->nAttrs == searchNode->nAttrs) {\n      int a;\n      // Ensure that all the attributes are the same.\n      for (a=0; a<searchNode->nAttrs; a++) {\n        const char* val;\n        NCCLCHECK(xmlGetAttr(n, searchNode->attrs[a].key, &val));\n        if (!val || strcmp(val, searchNode->attrs[a].value))\n          break;\n      }\n      if (a == searchNode->nAttrs) {\n        *node = n;\n        return ncclSuccess;\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlSetAttr(struct ncclXmlNode* node, const char* attrName, const char* value) {\n  int index;\n  NCCLCHECK(xmlGetAttrIndex(node, attrName, &index));\n  if (index == -1) {\n    index = node->nAttrs++;\n    strncpy(node->attrs[index].key, attrName, MAX_STR_LEN);\n    node->attrs[index].key[MAX_STR_LEN] = '\\0';\n  }\n  strncpy(node->attrs[index].value, value, MAX_STR_LEN);\n  node->attrs[index].value[MAX_STR_LEN] = '\\0';\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlPrintNodeRecursive(struct ncclXmlNode* node, const char* name) {\n  while (node) {\n    char line[1024*8];\n    int cursor = 0;\n    snprintf(line, sizeof(line), \"<name=%s\", node->name);\n    for (int i = 0; i < node->nAttrs; i++) {\n      cursor = strlen(line);\n      snprintf(line + cursor, sizeof(line) - cursor, \" %s=%s\", node->attrs[i].key, node->attrs[i].value);\n    }\n    cursor = strlen(line);\n    snprintf(line + cursor, sizeof(line) - cursor, \">\");\n    INFO(NCCL_GRAPH, \"%s\", line);\n    node = node->parent;\n  }\n  return ncclSuccess;\n}\n\n\nstatic ncclResult_t xmlSetAttrIfUnset(struct ncclXmlNode* node, const char* attrName, const char* value) {\n  int index;\n  NCCLCHECK(xmlGetAttrIndex(node, attrName, &index));\n  if (index != -1) return ncclSuccess;\n  index = node->nAttrs++;\n  strncpy(node->attrs[index].key, attrName, MAX_STR_LEN);\n  node->attrs[index].key[MAX_STR_LEN] = '\\0';\n  strncpy(node->attrs[index].value, value, MAX_STR_LEN);\n  node->attrs[index].value[MAX_STR_LEN] = '\\0';\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlSetAttrInt(struct ncclXmlNode* node, const char* attrName, const int value) {\n  int index;\n  NCCLCHECK(xmlGetAttrIndex(node, attrName, &index));\n  if (index == -1) {\n    index = node->nAttrs++;\n    strncpy(node->attrs[index].key, attrName, MAX_STR_LEN);\n    node->attrs[index].key[MAX_STR_LEN] = '\\0';\n  }\n  snprintf(node->attrs[index].value, MAX_STR_LEN, \"%d\", value);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlSetAttrFloat(struct ncclXmlNode* node, const char* attrName, const float value) {\n  int index;\n  NCCLCHECK(xmlGetAttrIndex(node, attrName, &index));\n  if (index == -1) {\n    index = node->nAttrs++;\n    strncpy(node->attrs[index].key, attrName, MAX_STR_LEN);\n    node->attrs[index].key[MAX_STR_LEN] = '\\0';\n  }\n  snprintf(node->attrs[index].value, MAX_STR_LEN, \"%g\", value);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlSetAttrLong(struct ncclXmlNode* node, const char* attrName, const int64_t value) {\n  int index;\n  NCCLCHECK(xmlGetAttrIndex(node, attrName, &index));\n  if (index == -1) {\n    index = node->nAttrs++;\n    strncpy(node->attrs[index].key, attrName, MAX_STR_LEN);\n    node->attrs[index].key[MAX_STR_LEN] = '\\0';\n  }\n  snprintf(node->attrs[index].value, MAX_STR_LEN, \"%#lx\", value);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlUnsetAttr(struct ncclXmlNode* node, const char* attrName) {\n  int index;\n  NCCLCHECK(xmlGetAttrIndex(node, attrName, &index));\n  if (index == -1) return ncclSuccess;\n  for (int i=index+1; i<node->nAttrs; i++) {\n    strcpy(node->attrs[i-1].key, node->attrs[i].key);\n    strcpy(node->attrs[i-1].value, node->attrs[i].value);\n  }\n  node->nAttrs--;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlGetSub(struct ncclXmlNode* node, const char* subName, struct ncclXmlNode** sub) {\n  *sub = NULL;\n  for (int s=0; s<node->nSubs; s++) {\n    if (strcmp(node->subs[s]->name, subName) == 0) {\n      *sub = node->subs[s];\n      return ncclSuccess;\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlGetSubKv(struct ncclXmlNode* node, const char* subName, struct ncclXmlNode** sub, const char* attrName, const char* attrValue) {\n  *sub = NULL;\n  for (int s=0; s<node->nSubs; s++) {\n    struct ncclXmlNode* subNode = node->subs[s];\n    if (strcmp(subNode->name, subName) == 0) {\n      const char* value;\n      NCCLCHECK(xmlGetAttr(subNode, attrName, &value));\n      if (value && strcmp(value, attrValue) == 0) {\n        *sub = node->subs[s];\n        return ncclSuccess;\n      }\n    }\n  }\n  return ncclSuccess;\n}\nstatic ncclResult_t xmlGetSubKvInt(struct ncclXmlNode* node, const char* subName, struct ncclXmlNode** sub, const char* attrName, const int attrValue) {\n  char strValue[10];\n  snprintf(strValue, 10, \"%d\", attrValue);\n  NCCLCHECK(xmlGetSubKv(node, subName, sub, attrName, strValue));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlAddNode(struct ncclXml* xml, struct ncclXmlNode* parent, const char* subName, struct ncclXmlNode** sub) {\n  if (xml->maxIndex == xml->maxNodes) {\n    WARN(\"Error : too many XML nodes (max %d)\", xml->maxNodes);\n    return ncclInternalError;\n  }\n  struct ncclXmlNode* s = xml->nodes+xml->maxIndex++;\n  s->nSubs = 0;\n  s->nAttrs = 0;\n  *sub = s;\n  s->parent = parent;\n  if (parent) {\n    if (parent->nSubs == MAX_SUBS) {\n      WARN(\"Error : too many XML subnodes (max %d)\", MAX_SUBS);\n      return ncclInternalError;\n    }\n    parent->subs[parent->nSubs++] = s;\n  }\n  strncpy(s->name, subName, MAX_STR_LEN);\n  s->name[MAX_STR_LEN] = '\\0';\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlRemoveNode(struct ncclXmlNode* node) {\n  node->type = NODE_TYPE_NONE;\n  struct ncclXmlNode* parent = node->parent;\n  if (parent == NULL) return ncclSuccess;\n  int shift = 0;\n  for (int s=0; s<parent->nSubs; s++) {\n    if (parent->subs[s] == node) shift = 1;\n    else if (shift) parent->subs[s-1] = parent->subs[s];\n  }\n  parent->nSubs--;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t xmlAddTree(struct ncclXml* dst, struct ncclXmlNode* parent, struct ncclXmlNode* srcNode) {\n  if (dst->maxIndex == dst->maxNodes) {\n    WARN(\"Error : too many XML nodes (max %d)\", dst->maxNodes);\n    return ncclInternalError;\n  }\n  struct ncclXmlNode* dstNode = dst->nodes+dst->maxIndex++;\n  *dstNode = *srcNode;\n  dstNode->parent = parent;\n  if (parent) {\n    if (parent->nSubs == MAX_SUBS) {\n      WARN(\"Error : too many XML subnodes (max %d)\", MAX_SUBS);\n      return ncclInternalError;\n    }\n    parent->subs[parent->nSubs++] = dstNode;\n  }\n  dstNode->nSubs = 0;\n  // Recursively copy the subtree(s)\n  for (int i=0; i<srcNode->nSubs; i++)\n    NCCLCHECK(xmlAddTree(dst, dstNode, srcNode->subs[i]));\n  return ncclSuccess;\n}\n\n\n// Dictionary for STR -> INT conversions. No dictionary size information,\n// there needs to be a last element with str == NULL.\nstruct kvDict {\n  const char* str;\n  int value;\n};\n\nstatic ncclResult_t kvConvertToInt(const char* str, int* value, struct kvDict* dict) {\n  struct kvDict* d = dict;\n  while (d->str) {\n    if (strncmp(str, d->str, strlen(d->str)) == 0) {\n      *value = d->value;\n      return ncclSuccess;\n    }\n    d++;\n  }\n  INFO(NCCL_GRAPH, \"KV Convert to int : could not find value of '%s' in dictionary, falling back to %d\", str, d->value);\n  *value = d->value;\n  return ncclSuccess;\n}\nstatic ncclResult_t kvConvertToStr(int value, const char** str, struct kvDict* dict) {\n  struct kvDict* d = dict;\n  while (d->str) {\n    if (value == d->value) {\n      *str = d->str;\n      return ncclSuccess;\n    }\n    d++;\n  }\n  WARN(\"KV Convert to str : could not find value %d in dictionary\", value);\n  return ncclInternalError;\n}\n\ntypedef union {\n  hipDeviceArch_t arch;\n  int value;\n  static_assert(sizeof(hipDeviceArch_t) == sizeof(int),\n      \"value must be the same size of hipDeviceArch_t.\");\n} rcclHipDeviceArch_t;\n#endif\n"
  },
  {
    "path": "src/group.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"group.h\"\n#include \"debug.h\"\n#include \"enqueue.h\"\n#include \"transport.h\"\n#include \"channel.h\"\n#include \"api_trace.h\"\n#include <assert.h>\n#include \"bootstrap.h\"\n#include \"ce_coll.h\"\n#include \"profiler.h\"\n#include \"nvtx.h\"\n\n#include \"msccl/msccl_lifecycle.h\"\n\nusing namespace rccl;\n\n#define GROUP_MAX_RECLAIM_STEPS 10\n\n__thread int ncclGroupDepth = 0; // depth of ncclGroupStart nesting\n__thread ncclResult_t ncclGroupError = ncclSuccess;\n__thread struct ncclComm* ncclGroupCommHead[ncclGroupTaskTypeNum] = {nullptr};\n__thread struct ncclComm* ncclGroupCommPreconnectHead = nullptr;\n__thread struct ncclIntruQueue<struct ncclAsyncJob, &ncclAsyncJob::next> ncclAsyncJobs;\n__thread int ncclGroupBlocking = -1; /* default mode */\nvoid* ncclAsyncJobMain(void* arg);\n\nncclResult_t ncclAsyncLaunch(\n    struct ncclAsyncJob* job,\n    ncclResult_t(*func)(struct ncclAsyncJob*),\n    void(*undo)(struct ncclAsyncJob*),\n    void(*destructor)(void*), ncclComm_t comm\n  ) {\n  ncclResult_t ret = ncclSuccess;\n\n  job->destroyFlag = comm->destroyFlag;\n  if (ncclGroupDepth == 0) {\n    ret = func(job);\n    if (ret != ncclSuccess && undo) undo(job);\n    if (destructor) destructor(job);\n  } else {\n    job->func = func;\n    job->undo = undo;\n    job->destructor = destructor;\n    job->abortFlag = comm->abortFlag;\n    job->abortFlagDev = comm->abortFlagDev;\n    job->childAbortFlag = comm->childAbortFlag;\n    job->childAbortFlagDev = comm->childAbortFlagDev;\n    job->state = ncclGroupJobRunning;\n    job->comm = comm;\n    /* check if there are blocking and nonblocking comms at the same time in group. */\n    if (comm->destroyFlag) {\n      ncclGroupBlocking = 1;\n    } else if (ncclGroupBlocking == -1) {\n      /* first met communicator */\n      ncclGroupBlocking = comm->config.blocking;\n    } else if (ncclGroupBlocking != comm->config.blocking) {\n      WARN(\"Blocking and nonblocking communicators are not allowed in the same group.\");\n      ret = ncclInvalidArgument;\n    }\n    if (ret == ncclSuccess) {\n      ncclIntruQueueEnqueue(&ncclAsyncJobs, job);\n    } else {\n      // no need to undo, the job hasn't run\n      if (destructor) destructor(job);\n    }\n  }\n\n  return ret;\n}\n\nvoid* ncclAsyncJobMain(void* arg) {\n  struct ncclAsyncJob* job = (struct ncclAsyncJob*)arg;\n  job->result = job->func(job);\n  if (job->result != ncclSuccess) {\n    INFO(NCCL_INIT,\"%s:%d -> %d [Async thread]\", __FILE__, __LINE__, job->result);\n  }\n  __atomic_store_n(&job->state, ncclGroupJobDone, __ATOMIC_RELEASE);\n  return arg;\n}\n\nncclResult_t ncclAsyncJobComplete(struct ncclAsyncJob* job) {\n  ncclResult_t ret;\n  PTHREADCHECK(pthread_join(job->thread, NULL), \"pthread_join\");\n  if (job->result != ncclSuccess) {\n    WARN(\"ncclAsyncJobComplete: job %p failed, job error %d\", job, job->result);\n  }\n  ret = job->result;\n  if (job->destructor) job->destructor((void*)job);\n  return ret;\n}\n\nNCCL_API(ncclResult_t, ncclGroupStart);\nncclResult_t ncclGroupStart_impl() {\n  if (!mscclIsCaller())\n  {\n    NCCLCHECK(Recorder::instance().record(rrGroupStart, ncclGroupDepth));\n  }\n  ncclResult_t ret = ncclSuccess;\n  NCCL_NVTX3_FUNC_RANGE;\n\n  NCCLCHECK(ncclGroupStartInternal());\n  TRACE_CALL(\"ncclGroupStart()\");\n  return ret;\n}\n\nncclResult_t ncclGroupStartInternal() {\n  ncclGroupDepth++;\n  if (mscclAvailable() && !mscclIsCaller()) {\n    NCCLCHECK(mscclGroupStart());\n  }\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, ncclGroupEnd);\nncclResult_t ncclGroupEnd_impl() {\n  if (!mscclIsCaller())\n  {\n    NCCLCHECK(Recorder::instance().record(rrGroupEnd, ncclGroupDepth));\n  }\n  ncclResult_t ret = ncclSuccess;\n  NCCL_NVTX3_FUNC_RANGE;\n  NCCLCHECKGOTO(ncclGroupEndInternal(), ret, exit);\n  TRACE_CALL(\"ncclGroupEnd()\");\nexit:\n  return ret;\n}\n\nNCCL_API(ncclResult_t, ncclGroupSimulateEnd, ncclSimInfo_t* simInfo);\nncclResult_t ncclGroupSimulateEnd(ncclSimInfo_t* simInfo) {\n  if (!mscclIsCaller())\n  {\n    Recorder::instance().record(ncclGroupDepth, simInfo);\n  }\n  ncclResult_t ret = ncclSuccess;\n  NCCL_NVTX3_FUNC_RANGE;\n  NCCLCHECKGOTO(ncclGroupEndInternal(simInfo), ret, exit);\n  TRACE_CALL(\"ncclGroupSimulateEnd()\");\nexit:\n  return ret;\n}\n\nstruct ncclPreconnectJob {\n  struct ncclAsyncJob base;\n  struct ncclComm* comm;\n  bool* algoNeedConnect;\n};\n\nstruct ncclPrepareTasksAndCollPreconnectJob {\n  struct ncclAsyncJob base;\n  struct ncclComm* comm;\n  ncclSimInfo_t* simInfo;\n};\n\nncclResult_t ncclP2PPreconnectFunc(struct ncclAsyncJob* job_) {\n  struct ncclPreconnectJob* job = (struct ncclPreconnectJob*)job_;\n  struct ncclComm* comm = job->comm;\n  CUDACHECK(cudaSetDevice(comm->cudaDev));\n  if (!job_->isThreadMain && CPU_COUNT(&comm->cpuAffinity)) sched_setaffinity(0, sizeof(cpu_set_t), &comm->cpuAffinity);\n  NCCLCHECK(ncclTransportP2pSetup(comm, NULL, 1));\n  if (comm->p2pNet) NCCLCHECK(ncclTransportP2pSetup(comm, NULL, NCCL_CONN_IDX_P2P_NET));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclCollPreconnect(struct ncclComm* comm, bool* algoNeedConnect) {\n  for (int i = 0; i < NCCL_NUM_ALGORITHMS; ++i) {\n    if (algoNeedConnect[i]) {\n      switch (i) {\n        case NCCL_ALGO_RING: {\n          NCCLCHECK(ncclTransportRingConnect(comm));\n          break;\n        }\n        case NCCL_ALGO_TREE: {\n          NCCLCHECK(ncclTransportTreeConnect(comm));\n          break;\n        }\n        case NCCL_ALGO_NVLS: {\n          /* If we are using NVLS_TREE algo, we must mark NVLS algo to set up\n           * NVLS intra-node buffer */\n          NCCLCHECK(ncclNvlsBufferSetup(comm));\n          break;\n        }\n        case NCCL_ALGO_NVLS_TREE: {\n          NCCLCHECK(ncclNvlsTreeConnect(comm));\n          break;\n        }\n        case NCCL_ALGO_COLLNET_CHAIN: {\n          NCCLCHECK(ncclCollNetChainBufferSetup(comm));\n          break;\n        }\n        case NCCL_ALGO_COLLNET_DIRECT: {\n          NCCLCHECK(ncclCollNetDirectBufferSetup(comm));\n          break;\n        }\n        case NCCL_ALGO_PAT: {\n          NCCLCHECK(ncclTransportPatConnect(comm));\n          break;\n        }\n        // Yes, it's a dead code.  That's fine...\n        // coverity[dead_error_begin]\n        default: {\n          NCCLCHECK(ncclInternalError);\n        }\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclPrepareTasksAndCollPreconnectFunc(struct ncclAsyncJob* job_) {\n  struct ncclPrepareTasksAndCollPreconnectJob* job = (ncclPrepareTasksAndCollPreconnectJob*)job_;\n  struct ncclComm* comm = job->comm;\n  bool needConnect;\n  bool algoNeedConnect[NCCL_NUM_ALGORITHMS];\n  memset(algoNeedConnect, 0, sizeof(bool)*NCCL_NUM_ALGORITHMS);\n  CUDACHECK(cudaSetDevice(comm->cudaDev));\n  if (!job_->isThreadMain && CPU_COUNT(&comm->cpuAffinity)) sched_setaffinity(0, sizeof(cpu_set_t), &comm->cpuAffinity);\n  NCCLCHECK(ncclPrepareTasks(comm, algoNeedConnect, &needConnect, job->simInfo));\n  if (comm->cuMemSupport && needConnect) NCCLCHECK(ncclCollPreconnect(comm, algoNeedConnect));\n  return ncclSuccess;\n}\n\nncclResult_t ncclCollPreconnectFunc(struct ncclAsyncJob* job_) {\n  struct ncclPreconnectJob* job = (struct ncclPreconnectJob*)job_;\n  struct ncclComm* comm = job->comm;\n  ncclResult_t ret = ncclSuccess;\n\n  if (!job_->isThreadMain) CUDACHECK(cudaSetDevice(comm->cudaDev));\n  if (!job_->isThreadMain && CPU_COUNT(&comm->cpuAffinity)) sched_setaffinity(0, sizeof(cpu_set_t), &comm->cpuAffinity);\n  NCCLCHECKGOTO(ncclCollPreconnect(comm, job->algoNeedConnect), ret, fail);\n\nexit:\n  free(job->algoNeedConnect);\n  return ret;\nfail:\n  goto exit;\n}\n\nstruct ncclGroupSymmetricJob {\n  struct ncclAsyncJob base;\n  struct ncclComm* comm;\n};\n\nncclResult_t ncclCommGroupRegisterSymmetric(struct ncclAsyncJob* job_) {\n  struct ncclGroupSymmetricJob* job = (struct ncclGroupSymmetricJob*)job_;\n  struct ncclComm* comm = job->comm;\n  ncclResult_t ret = ncclSuccess;\n\n  CUDACHECKGOTO(cudaSetDevice(comm->cudaDev), ret, fail);\n\n  while (!ncclIntruQueueEmpty(&comm->devrState.regTaskQueue)) {\n    struct ncclDevrRegTask* task = ncclIntruQueueDequeue(&comm->devrState.regTaskQueue);\n    NCCLCHECKGOTO(ncclDevrWindowRegisterInGroup(\n      comm, task->userPtr, task->userSize, task->winFlags, task->outWinDev),\n      ret, fail);\n    free(task);\n  }\n\n  while (!ncclIntruQueueEmpty(&comm->devrState.commCreateTaskQueue)) {\n    struct ncclDevrCommCreateTask* task = ncclIntruQueueDequeue(&comm->devrState.commCreateTaskQueue);\n    NCCLCHECKGOTO(ncclDevrCommCreateInternal(\n      comm, (struct ncclDevCommRequirements const*)task->reqs, task->outDevComm),\n      ret, fail);\n    freeDevCommRequirements(task->reqs); // free additional task memory for reqs\n    free(task);\n  }\n\n  while (!ncclIntruQueueEmpty(&comm->ceInitTaskQueue)) {\n    struct ncclCeInitTask* task = ncclIntruQueueDequeue(&comm->ceInitTaskQueue);\n    NCCLCHECKGOTO(ncclCeInit(task->comm), ret, fail);\n    free(task);\n  }\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\nstatic ncclResult_t doLaunches(struct ncclComm* head) {\n  ncclResult_t result = ncclSuccess;\n  struct ncclComm* cliqueHead = head;\n  struct ncclComm* cliqueNextHead;\n  bool useBarrier = ncclParamLaunchMode == ncclLaunchModeGroup;\n  // This outer loop iterates over cliques of comms which are siblings of the\n  // same global entity. We calculate a clique as all comms which have the same\n  // `intraComm0` value.\n  do {\n    struct ncclComm* comm = cliqueHead;\n    bool capturingYes = false, capturingNo = false;\n    do {\n      (ncclCudaGraphValid(comm->planner.capturingGraph) ? capturingYes : capturingNo) = true;\n      CUDACHECKGOTO(cudaSetDevice(comm->cudaDev), result, failure);\n      NCCLCHECKGOTO(ncclLaunchPrepare(comm), result, failure);\n      if (useBarrier) ncclCommIntraBarrierIn(comm, 1);\n      comm = comm->groupNext[ncclGroupTaskTypeCollective];\n    } while (comm != nullptr && comm->intraComm0 == cliqueHead->intraComm0);\n    cliqueNextHead = comm;\n\n    if (capturingYes && capturingNo) {\n      // We have entered barriers but are aborting without leaving them. Thus\n      // these comms are permanently trashed. We need a good mechanism for\n      // tracking and reporting that.\n      WARN(\"Either none or all communicators in a ncclGroup() can be CUDA graph captured.\");\n      result = ncclInvalidUsage;\n      goto failure;\n    }\n\n    while (true) { // Iterate rounds of launches for clique.\n      bool moreRounds = false;\n      comm = cliqueHead;\n      do { // Iterate clique members.\n        struct ncclComm* next = comm->groupNext[ncclGroupTaskTypeCollective];\n        if (useBarrier) {\n          // Barrier reduction result tells us if this was the final round.\n          moreRounds = 0 != ncclCommIntraBarrierOut(comm);\n        } else {\n          moreRounds |= comm->planner.unlaunchedPlansHead != nullptr;\n        }\n        if (moreRounds) {\n          // Pop next unlaunched kernel\n          struct ncclKernelPlan* plan = comm->planner.unlaunchedPlansHead;\n          if (plan != nullptr) {\n            comm->planner.unlaunchedPlansHead = plan->next;\n            CUDACHECKGOTO(cudaSetDevice(comm->cudaDev), result, failure);\n            NCCLCHECKGOTO(ncclLaunchKernelBefore_NoUncapturedCuda(comm, plan), result, failure);\n            if (plan->isCeColl) {\n              NCCLCHECKGOTO(ncclLaunchCeColl(comm, plan), result, failure);\n            } else {\n              NCCLCHECKGOTO(ncclLaunchKernel(comm, plan), result, failure);\n            }\n          }\n          // Barrier reduction input indicates if we require further rounds.\n          if (useBarrier) ncclCommIntraBarrierIn(comm, comm->planner.unlaunchedPlansHead != nullptr ? 1 : 0);\n          if (plan != nullptr) {\n            NCCLCHECKGOTO(ncclLaunchKernelAfter_NoCuda(comm, plan), result, failure);\n          }\n        } else { // Final round.\n          CUDACHECKGOTO(cudaSetDevice(comm->cudaDev), result, failure);\n          NCCLCHECKGOTO(ncclLaunchFinish(comm), result, failure);\n        }\n        comm = next;\n      } while (comm != cliqueNextHead);\n      if (!moreRounds) break;\n    }\n    cliqueHead = cliqueNextHead;\n  } while (cliqueHead != nullptr);\nfailure:\n  return result;\n}\n\nstatic inline void groupLocalResetJobState() {\n  ncclGroupError = ncclSuccess;\n  for (int type = 0; type < ncclGroupTaskTypeNum; ++type) ncclGroupCommHead[type] = NULL;\n  ncclGroupCommPreconnectHead = NULL;\n  ncclGroupBlocking = -1;\n  ncclIntruQueueConstruct(&ncclAsyncJobs);\n  return;\n}\n\nstatic void groupCleanup(struct ncclComm** groupCommHeadPtr, struct ncclIntruQueue<struct ncclAsyncJob, &ncclAsyncJob::next>* asyncJobsPtr, ncclResult_t error) {\n  struct ncclComm* comm;\n  for (int type = 0; type < ncclGroupTaskTypeNum; ++type) {\n    comm = groupCommHeadPtr[type];\n    // reset groupCommHeadPtr[type]\n    groupCommHeadPtr[type] = nullptr;\n    while (comm != nullptr) {\n      struct ncclComm* next = comm->groupNext[type];\n      (void)ncclGroupCommLeave(comm, type); // overwrites comm->groupNext\n      // We don't know if preconnect succeeded or happened at all, so clear\n      // the flags that let `taskAppend()` skip over checking if preconnect\n      // is needed.\n      if (type == ncclGroupTaskTypeCollective) {\n        comm->preconnectNext = reinterpret_cast<struct ncclComm*>(0x1);\n        for (int i = 0; i < comm->nRanks; i++) {\n          for (int j = 0; j < MAXCHANNELS/64; j++) {\n            comm->connectSend[i].masks[j] = 0UL;\n            comm->connectRecv[i].masks[j] = 0UL;\n          }\n        }\n        // Reclaim abandoned kernel plan memory. Note ncclWork structs were already\n        // reclaimed by a `ncclMemoryStackPop(&comm->memScoped)` during `ncclGroupCommLeave()`.\n        while (!ncclIntruQueueEmpty(&comm->planner.planQueue)) {\n          struct ncclKernelPlan* plan = ncclIntruQueueDequeue(&comm->planner.planQueue);\n          // Persistent plans will be reclaimed via the callbackQueue when the\n          // graph drops its UserObject reference.\n          if (!plan->persistent) {\n            while (!ncclIntruQueueEmpty(&plan->proxyOpQueue)) {\n              struct ncclProxyOp* pxop = ncclIntruQueueDequeue(&plan->proxyOpQueue);\n              ncclMemoryPoolFree(&comm->memPool_ncclProxyOp, pxop);\n            }\n            ncclMemoryPoolFree(&comm->memPool_ncclKernelPlan, plan);\n          }\n        }\n\n        { // Reset comm->planner to empty.\n          ncclKernelPlanner::Peer* tmp = comm->planner.peers;\n          memset(&comm->planner, 0, sizeof(comm->planner));\n          comm->planner.peers = tmp;\n          if (comm->planner.peers != NULL) memset(comm->planner.peers, 0, comm->nRanks * sizeof(comm->planner.peers[0]));\n        }\n      }\n\n      if (!comm->config.blocking)\n        (void)ncclCommSetAsyncError(comm, error);\n      comm = next;\n    }\n  }\n\n  /* reset everything */\n  while (!ncclIntruQueueEmpty(asyncJobsPtr)) {\n    struct ncclAsyncJob* job = ncclIntruQueueDequeue(asyncJobsPtr);\n    if (!job->destroyFlag && job->comm && !job->comm->config.blocking)\n      (void) ncclCommSetAsyncError(job->comm, error);\n    if (job->undo) job->undo(job);\n    if (job->destructor) job->destructor((void*)job);\n  }\n\n  return;\n}\n\nstatic ncclResult_t asyncJobLaunch(struct ncclIntruQueue<struct ncclAsyncJob, &ncclAsyncJob::next> *asyncJobsMain, volatile bool *groupAbortFlag) {\n  ncclResult_t ret = ncclSuccess;\n  bool jobsDone = false;\n  bool errorJobAbortFlag = false;\n\n  if (!ncclIntruQueueEmpty(asyncJobsMain)) {\n    struct ncclAsyncJob* job = ncclIntruQueueHead(asyncJobsMain);\n    if (job->next == nullptr) {\n      job->isThreadMain = true;\n      ncclAsyncJobMain(job);\n      job->state = ncclGroupJobJoined;\n      return job->result;\n    }\n    do {\n      PTHREADCHECKGOTO(pthread_create(&job->thread, nullptr, ncclAsyncJobMain, job), \"pthread_create\", ret, fail);\n      job = job->next;\n    } while (job != nullptr);\n\n    do {\n      jobsDone = true;\n      job = ncclIntruQueueHead(asyncJobsMain);\n      do {\n        ncclGroupJobState_t state = __atomic_load_n(&job->state, __ATOMIC_ACQUIRE);\n        if (state == ncclGroupJobRunning) {\n          jobsDone = false;\n        } else if (state == ncclGroupJobDone) {\n          int err;\n          if ((err = pthread_join(job->thread, nullptr)) != 0) {\n            WARN(\"Error waiting for pthread_join: %s\", strerror(err));\n            ret = ncclSystemError;\n          }\n          job->state = ncclGroupJobJoined;\n          if (job->result != ncclSuccess && ret == ncclSuccess) {\n            ret = job->result;\n            errorJobAbortFlag = true;\n          }\n        } else {\n          /* safety check */\n          assert(state == ncclGroupJobJoined);\n        }\n\n        if (!job->destroyFlag && (__atomic_load_n(groupAbortFlag, __ATOMIC_ACQUIRE) || errorJobAbortFlag == true)) {\n          __atomic_store_n(job->abortFlag, 1, __ATOMIC_RELEASE);\n          __atomic_store_n(job->abortFlagDev, 1, __ATOMIC_RELEASE);\n          if (job->childAbortFlag) {\n            __atomic_store_n(job->childAbortFlag, 1, __ATOMIC_RELEASE);\n            __atomic_store_n(job->childAbortFlagDev, 1, __ATOMIC_RELEASE);\n          }\n        }\n\n        job = job->next;\n      } while (job != nullptr);\n      // Let preconnect threads progress.\n      if (jobsDone == false) usleep(1);\n    } while (jobsDone == false);\n\n    if (ret != ncclSuccess) goto fail;\n  }\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\nNCCL_PARAM(SingleProcMemRegEnable, \"SINGLE_PROC_MEM_REG_ENABLE\", 0);\n\nstatic ncclResult_t ncclPrepareTasksAndCollPreconnect(struct ncclComm* comm, ncclSimInfo_t* simInfo, struct ncclIntruQueue<struct ncclAsyncJob, &ncclAsyncJob::next>* asyncCollJobs) {\n  if (ncclParamSingleProcMemRegEnable()) {\n    struct ncclPrepareTasksAndCollPreconnectJob* job;\n    NCCLCHECK(ncclCalloc(&job, 1));\n    job->base.func = ncclPrepareTasksAndCollPreconnectFunc;\n    job->base.undo = nullptr;\n    job->base.destructor = free;\n    job->base.state = ncclGroupJobRunning;\n    job->base.abortFlag = comm->abortFlag;\n    job->base.abortFlagDev = comm->abortFlagDev;\n    job->comm = comm;\n    job->simInfo = simInfo;\n    ncclIntruQueueEnqueue(asyncCollJobs, &job->base);\n  } else {\n    bool needConnect = false;\n    bool algoNeedConnect[NCCL_NUM_ALGORITHMS];\n    memset(algoNeedConnect, 0, sizeof(bool) * NCCL_NUM_ALGORITHMS);\n\n    CUDACHECK(cudaSetDevice(comm->cudaDev));\n    NCCLCHECK(ncclPrepareTasks(comm, algoNeedConnect, &needConnect, simInfo));\n\n    if (comm->cuMemSupport && needConnect) {\n      ncclResult_t ret;\n      struct ncclPreconnectJob* job;\n      NCCLCHECK(ncclCalloc(&job, 1));\n      job->base.func = ncclCollPreconnectFunc;\n      job->base.undo = nullptr;\n      job->base.destructor = free;\n      job->base.state = ncclGroupJobRunning;\n      job->base.abortFlag = comm->abortFlag;\n      job->base.abortFlagDev = comm->abortFlagDev;\n      job->comm = comm;\n      if ((ret = ncclCalloc(&job->algoNeedConnect, NCCL_NUM_ALGORITHMS))) {\n        free(job);\n        NCCLCHECK(ret);\n      }\n      memcpy(job->algoNeedConnect, algoNeedConnect, sizeof(bool) * NCCL_NUM_ALGORITHMS);\n      ncclIntruQueueEnqueue(asyncCollJobs, &job->base);\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t groupLaunch(struct ncclAsyncJob *job_, ncclSimInfo_t* simInfo = NULL) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclGroupJob *gjob = (struct ncclGroupJob*) job_;\n  struct ncclComm **groupCommHeadMain = gjob->groupCommHead;\n  struct ncclComm *groupCommPreconnectHeadMain = gjob->groupCommPreconnectHead;\n  struct ncclIntruQueue<struct ncclAsyncJob, &ncclAsyncJob::next> *asyncJobsMain = &gjob->asyncJobs;\n  bool *groupAbortFlag = &gjob->abortFlag;\n\n  if (!simInfo && groupCommPreconnectHeadMain != nullptr) {\n    struct ncclComm* comm = groupCommPreconnectHeadMain;\n    do {\n      struct ncclPreconnectJob* job;\n      NCCLCHECKGOTO(ncclCalloc(&job, 1), ret, fail);\n      job->base.func = ncclP2PPreconnectFunc;\n      job->base.undo = nullptr;\n      job->base.destructor = free;\n      job->base.state = ncclGroupJobRunning;\n      job->base.abortFlag = comm->abortFlag;\n      job->base.abortFlagDev = comm->abortFlagDev;\n      job->comm = comm;\n      ncclIntruQueueEnqueue(asyncJobsMain,  (struct ncclAsyncJob*)job);\n\n      struct ncclComm* next = comm->preconnectNext;\n      comm->preconnectNext = reinterpret_cast<struct ncclComm*>(0x1);\n      comm = next;\n    } while (comm != nullptr);\n  }\n\n  NCCLCHECKGOTO(asyncJobLaunch(asyncJobsMain, groupAbortFlag), ret, fail);\n\n  // only loop through sym alloc and register tasks\n  for (int type = ncclGroupTaskTypeSymRegister; type <= ncclGroupTaskTypeSymRegister; ++type) {\n    if (groupCommHeadMain[type]) {\n      struct ncclComm* cliqueHead = groupCommHeadMain[type];\n      struct ncclComm* comm = NULL;\n      struct ncclIntruQueue<struct ncclAsyncJob, &ncclAsyncJob::next> asyncSymJobs;\n      ncclIntruQueueConstruct(&asyncSymJobs);\n      do {\n        comm = cliqueHead;\n        do {\n          struct ncclGroupSymmetricJob* job;\n          NCCLCHECKGOTO(ncclCalloc(&job, 1), ret, fail);\n          job->base.func = ncclCommGroupRegisterSymmetric;\n          job->base.undo = nullptr;\n          job->base.destructor = free;\n          job->base.state = ncclGroupJobRunning;\n          job->base.abortFlag = comm->abortFlag;\n          job->base.abortFlagDev = comm->abortFlagDev;\n          job->comm = comm;\n          ncclIntruQueueEnqueue(&asyncSymJobs, (struct ncclAsyncJob*)job);\n          comm = comm->groupNext[type];\n        } while (comm != nullptr && comm->intraComm0 == cliqueHead->intraComm0);\n        NCCLCHECKGOTO(asyncJobLaunch(&asyncSymJobs, groupAbortFlag), ret, fail);\n        while (!ncclIntruQueueEmpty(&asyncSymJobs)) {\n          struct ncclAsyncJob* job = ncclIntruQueueDequeue(&asyncSymJobs);\n          if (job->destructor) job->destructor((void*)job);\n        }\n        cliqueHead = comm;\n      } while (cliqueHead != nullptr);\n    }\n  }\n\n  /* Connect channels at runtime if cumem is supported */\n  if (groupCommHeadMain[ncclGroupTaskTypeCollective] != nullptr) {\n    struct ncclComm* cliqueHead = groupCommHeadMain[ncclGroupTaskTypeCollective];\n    struct ncclComm* comm = NULL;\n    struct ncclIntruQueue<struct ncclAsyncJob, &ncclAsyncJob::next> asyncCollJobs;\n    ncclIntruQueueConstruct(&asyncCollJobs);\n    do {\n      // We need to preconnect connections for collectives clique by clique to avoid\n      // race condition for split shared comms which can connect the same connections\n      // at the same time.\n      comm = cliqueHead;\n      do {\n        NCCLCHECKGOTO(ncclPrepareTasksAndCollPreconnect(comm, simInfo, &asyncCollJobs), ret, fail);\n        comm = comm->groupNext[ncclGroupTaskTypeCollective];\n      } while (comm != nullptr && comm->intraComm0 == cliqueHead->intraComm0);\n      // connect\n      NCCLCHECKGOTO(asyncJobLaunch(&asyncCollJobs, groupAbortFlag), ret, fail);\n      while (!ncclIntruQueueEmpty(&asyncCollJobs)) {\n        struct ncclAsyncJob* job = ncclIntruQueueDequeue(&asyncCollJobs);\n        if (job->destructor) job->destructor((void*)job);\n      }\n      cliqueHead = comm;\n    } while (cliqueHead != nullptr);\n\n    // done with all buffer allocation, start registration and enqueue\n    comm = groupCommHeadMain[ncclGroupTaskTypeCollective];\n    do {\n      CUDACHECKGOTO(cudaSetDevice(comm->cudaDev), ret, fail);\n      NCCLCHECKGOTO(ncclTasksRegAndEnqueue(comm), ret, fail);\n      comm = comm->groupNext[ncclGroupTaskTypeCollective];\n    } while (comm);\n  }\n\n  if ((!simInfo) && (groupCommHeadMain[ncclGroupTaskTypeCollective] != nullptr)) {\n    NCCLCHECKGOTO(doLaunches(groupCommHeadMain[ncclGroupTaskTypeCollective]), ret, fail);\n  }\n\n  while (!ncclIntruQueueEmpty(asyncJobsMain)) {\n    struct ncclAsyncJob* job = ncclIntruQueueDequeue(asyncJobsMain);\n    if (!job->destroyFlag && job->comm && !job->comm->config.blocking && groupCommHeadMain[ncclGroupTaskTypeCollective] == nullptr)\n      (void) ncclCommSetAsyncError(job->comm, ret);\n    if (job->destructor) job->destructor((void*)job);\n  }\n\n  for (int type = 0; type < ncclGroupTaskTypeNum; ++type) {\n    while (groupCommHeadMain[type] != nullptr) {\n      struct ncclComm* comm = groupCommHeadMain[type];\n      struct ncclComm* next = comm->groupNext[type];\n      // Poll for callbacks sent to us from other threads. Typically these free\n      // resources from to our memory pools and UB\n      if (comm->reclaimSteps == GROUP_MAX_RECLAIM_STEPS) {\n        NCCLCHECKGOTO(ncclCommPollCallbacks(comm, /*waitSome=*/false), ret, fail);\n        comm->reclaimSteps = 0;\n      } else {\n        comm->reclaimSteps++;\n      }\n      (void)ncclGroupCommLeave(comm, type);\n      if (!comm->config.blocking) {\n        (void)ncclCommSetAsyncError(comm, ret);\n      }\n      groupCommHeadMain[type] = next;\n    }\n  }\n\nexit:\n  return ret;\nfail:\n  groupCleanup(gjob->groupCommHead, &gjob->asyncJobs, ret);\n  goto exit;\n}\n\nstatic ncclResult_t groupLaunchNonBlocking(struct ncclAsyncJob *job_) {\n  return groupLaunch(job_ /* estimatedTime = NULL */);\n}\n\nncclResult_t ncclGroupEndInternal(ncclSimInfo_t* simInfo) {\n  ncclResult_t ret = ncclSuccess;\n  ncclSimInfo_t internalSimInfo = NCCL_SIM_INFO_INITIALIZER;\n  ncclSimInfo_t* internalSimInfoPtr = NULL;\n  size_t realSize = 0;\n  bool hasCommHead = false;\n  ncclGroupJob* groupJob = NULL;\n\n  internalSimInfo.magic = 0;\n\n  if (ncclGroupDepth == 0) {\n    WARN(\"ncclGroupEnd: not in a group call.\");\n    ret = ncclInvalidUsage;\n    goto exit;\n  }\n\n  if (mscclAvailable() && !mscclIsCaller()) {\n    NCCLCHECK(mscclGroupEnd());\n  }\n  \n  if (ncclProfilerApiState.profilerGroupDepth > 0) {\n    ncclProfilerApiState.profilerGroupDepth--;\n  }\n  if (ncclProfilerApiState.profilerGroupDepth == 0) {\n    NCCLCHECK(ncclProfilerRecordGroupApiEventState(ncclProfilerGroupEndApiStart));\n  }\n\n  if ((--ncclGroupDepth) > 0) goto exit;\n\n  if ((ret = ncclGroupError) != ncclSuccess) goto fail;\n\n  if (simInfo) {\n    memcpy((void*)&realSize, (void*)&simInfo->size, sizeof(size_t));\n    realSize = realSize > sizeof(ncclSimInfo_t) ? sizeof(ncclSimInfo_t) : realSize;\n    memcpy((void*)&internalSimInfo, (void*)simInfo, realSize);\n    if (internalSimInfo.magic != 0x74685283) {\n      WARN(\"ncclSimInfo_t argument not initialized via NCCL_SIM_INFO_INITIALIZER\");\n      ret = ncclInvalidArgument;\n      goto fail;\n    }\n    internalSimInfoPtr = &internalSimInfo;\n  }\n\n  for (int type = 0; type < ncclGroupTaskTypeNum; ++type) {\n    if (ncclGroupCommHead[type]) {\n      hasCommHead = true;\n      break;\n    }\n  }\n\n  NCCLCHECKGOTO(ncclCalloc(&groupJob, 1), ret, fail);\n  ncclIntruQueueConstruct(&groupJob->asyncJobs);\n  groupJob->groupRefCount = 0;\n  groupJob->nonBlockingInit = false;\n  memcpy(groupJob->groupCommHead, ncclGroupCommHead, sizeof(ncclGroupCommHead));\n  groupJob->groupCommPreconnectHead = ncclGroupCommPreconnectHead;\n  groupJob->groupError = ncclSuccess;\n  groupJob->abortFlag = false;\n  groupJob->joined = false;\n  ncclIntruQueueTransfer(&groupJob->asyncJobs, &ncclAsyncJobs);\n\n  if (hasCommHead || !ncclIntruQueueEmpty(&groupJob->asyncJobs) || ncclGroupCommPreconnectHead != nullptr) {\n    /* make sure ncclGroupBlocking has been set. */\n    assert(ncclGroupBlocking == 0 || ncclGroupBlocking == 1);\n    if (ncclGroupBlocking == 0 && (ncclGroupCommPreconnectHead != nullptr || !ncclIntruQueueEmpty(&ncclAsyncJobs))) {\n      /* nonblocking group */\n      if (!ncclIntruQueueEmpty(&groupJob->asyncJobs)) {\n        ncclAsyncJob* job = ncclIntruQueueHead(&groupJob->asyncJobs);\n        do {\n          NCCLCHECKGOTO(ncclCommSetAsyncError(job->comm, ncclInProgress), ret, fail);\n          if (job->comm->groupJob == NULL) {\n            job->comm->groupJob = groupJob;\n            groupJob->groupRefCount++;\n          }\n          job = job->next;\n        } while (job);\n      }\n\n      for (int type = 0; type < ncclGroupTaskTypeNum; ++type) {\n        if (ncclGroupCommHead[type]) {\n          ncclComm_t comm = ncclGroupCommHead[type];\n          do {\n            NCCLCHECKGOTO(ncclCommSetAsyncError(comm, ncclInProgress), ret, fail);\n            /* link group job to communicators. */\n            if (comm->groupJob == NULL) {\n              comm->groupJob = groupJob;\n              groupJob->groupRefCount++;\n            }\n            comm = comm->groupNext[type];\n          } while (comm);\n        }\n      }\n\n      groupJob->base.func = groupLaunchNonBlocking;\n      PTHREADCHECKGOTO(pthread_create(&groupJob->base.thread, NULL, ncclAsyncJobMain, (void*)&groupJob->base), \"pthread_create\", ret, fail);\n      groupJob->nonBlockingInit = true;\n      ret = ncclInProgress;\n    } else {\n      /* blocking group */\n      int savedDev;\n      CUDACHECKGOTO(cudaGetDevice(&savedDev), ret, fail);\n      NCCLCHECKGOTO(groupLaunch(&groupJob->base, internalSimInfoPtr), ret, fail);\n      CUDACHECKGOTO(cudaSetDevice(savedDev), ret, fail);\n      if (simInfo) memcpy((void*)simInfo, (void*)internalSimInfoPtr, realSize);\n      free(groupJob);\n    }\n  }\n  /* Reset the job state for the next group call. */\n  groupLocalResetJobState();\n\nexit:\n  // Profiler group API start is called inside taskAppend to get graph capture information for the event\n  NCCLCHECK(ncclProfilerStopGroupApiEvent());\n  return ret;\nfail:\n  if (groupJob) {\n    groupCleanup(groupJob->groupCommHead, &groupJob->asyncJobs, ret);\n    free(groupJob);\n  } else {\n    groupCleanup(ncclGroupCommHead, &ncclAsyncJobs, ret);\n  }\n  groupLocalResetJobState();\n  goto exit;\n}\n\nncclResult_t ncclGroupJobComplete(struct ncclGroupJob* groupJob) {\n  ncclResult_t ret = ncclSuccess;\n  if (groupJob && groupJob->nonBlockingInit) {\n    if (!__atomic_exchange_n(&groupJob->joined, true, __ATOMIC_ACQ_REL)) {\n      ret = ncclAsyncJobComplete(&groupJob->base);\n    }\n    if (ncclAtomicRefCountDecrement(&groupJob->groupRefCount) == 0) {\n      free(groupJob);\n    }\n  }\n  return ret;\n}\n\nncclResult_t ncclGroupJobAbort(struct ncclGroupJob* groupJob) {\n  if (groupJob && groupJob->nonBlockingInit) {\n    if (!__atomic_exchange_n(&groupJob->joined, true, __ATOMIC_ACQ_REL)) {\n      __atomic_store_n(&groupJob->abortFlag, true, __ATOMIC_RELAXED);\n      ncclAsyncJobComplete(&groupJob->base);\n    }\n    if (ncclAtomicRefCountDecrement(&groupJob->groupRefCount) == 0) {\n      free(groupJob);\n    }\n  }\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/include/BfdBacktrace.hpp",
    "content": "#ifndef __BFD_BACKTRACE__\n#define __BFD_BACKTRACE__\n\n/*\n * Copyright (C) Mellanox Technologies Ltd. 2001-2014.  ALL RIGHTS RESERVED.\n * Modification Copyright (C) Advanced Micro Devices, Inc, 2022. ALL RIGHTS RESERVED\n *\n * This code is based on the UCX library's mechanism to extract the call stack\n * using the BFD library (ucx/src/ucs/debug/debug.c).\n */\n\n#include <dirent.h>\n#include <link.h>\n#include <dlfcn.h>\n#include <execinfo.h>\n#include <bfd.h>\n#include <stdio.h>\n#include <string.h>\n#include <unistd.h>\n#include <stdlib.h>\n\n#ifdef HAVE_CPLUS_DEMANGLE\n#define HAVE_DECL_BASENAME 1\n#include <demangle.h>\n#endif\n\nstruct dl_address_search {\n    unsigned long            address;\n    const char               *filename;\n    unsigned long            base;\n};\n\nstruct backtrace_file {\n    struct dl_address_search dl;\n    bfd                      *abfd;\n    asymbol                  **syms;\n};\n\nstruct backtrace_line {\n    unsigned long            address;\n    char                     *file;\n    char                     *function;\n    unsigned                 lineno;\n};\n\n#define BACKTRACE_MAX            64\n\nstruct backtrace {\n    struct backtrace_line    lines[BACKTRACE_MAX];\n    int                      size;\n    int                      position;\n};\ntypedef struct backtrace backtrace_h;\n\nstruct backtrace_search {\n    int                      count;\n    struct backtrace_file    *file;\n    int                      backoff; /* search the line where the function call\n                                         took place, instead of return address */\n    struct backtrace_line    *lines;\n    int                      max_lines;\n};\n\nstatic const char *get_exe()\n{\n    static char exe[1024];\n    int ret;\n\n    ret = readlink(\"/proc/self/exe\", exe, sizeof(exe) - 1);\n    if (ret < 0) {\n        exe[0] = '\\0';\n    } else {\n        exe[ret] = '\\0';\n    }\n\n    return exe;\n}\n\nstatic int dl_match_address(struct dl_phdr_info *info, size_t size, void *data)\n{\n    struct dl_address_search *dl = (struct dl_address_search *) data;\n    const ElfW(Phdr) *phdr;\n    ElfW(Addr) load_base = info->dlpi_addr;\n    long n;\n\n    phdr = info->dlpi_phdr;\n    for (n = info->dlpi_phnum; --n >= 0; phdr++) {\n        if (phdr->p_type == PT_LOAD) {\n            ElfW(Addr) vbaseaddr = phdr->p_vaddr + load_base;\n            if (dl->address >= vbaseaddr && dl->address < vbaseaddr + phdr->p_memsz) {\n                dl->filename = info->dlpi_name;\n                dl->base     = info->dlpi_addr;\n            }\n        }\n    }\n    return 0;\n}\n\nstatic int dl_lookup_address(struct dl_address_search *dl)\n{\n    dl->filename = NULL;\n    dl->base     = 0;\n\n    dl_iterate_phdr(dl_match_address, dl);\n    if (dl->filename == NULL) {\n        return 0;\n    }\n    if (strlen(dl->filename) == 0) {\n        dl->filename = get_exe();\n    }\n    return 1;\n}\n\nstatic int load_file(struct backtrace_file *file)\n{\n    long symcount;\n    unsigned int size;\n    char **matching;\n\n    file->syms = NULL;\n    file->abfd = bfd_openr(file->dl.filename, NULL);\n    if (!file->abfd) {\n        goto err;\n    }\n\n    if (bfd_check_format(file->abfd, bfd_archive)) {\n        goto err_close;\n    }\n\n    if (!bfd_check_format_matches(file->abfd, bfd_object, &matching)) {\n        goto err_close;\n    }\n    if ((bfd_get_file_flags(file->abfd) & HAS_SYMS) == 0) {\n        goto err_close;\n    }\n\n    symcount = bfd_read_minisymbols(file->abfd, 0, (void**)&file->syms, &size);\n    if (symcount == 0) {\n        free(file->syms);\n        symcount = bfd_read_minisymbols(file->abfd, 1, (void**)&file->syms, &size);\n    }\n    if (symcount < 0) {\n        goto err_close;\n    }\n\n    return 1;\n\nerr_close:\n    bfd_close(file->abfd);\nerr:\n    return 0;\n}\n\nstatic void unload_file(struct backtrace_file *file)\n{\n    free(file->syms);\n    bfd_close(file->abfd);\n}\n\nstatic void find_address_in_section(bfd *abfd, asection *section, void *data)\n{\n    struct backtrace_search *search = (backtrace_search *)data;\n    bfd_size_type size;\n    bfd_vma vma;\n    unsigned long address;\n    const char *filename, *function;\n    unsigned lineno;\n    int found;\n\n    if ((search->count > 0) || (search->max_lines == 0) ||\n#ifdef HAVE_DECL_BFD_GET_SECTION_FLAGS\n        ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)) {\n#else\n        ((bfd_section_flags(section) & SEC_ALLOC) == 0)) {\n#endif\n        return;\n    }\n\n    address = search->file->dl.address - search->file->dl.base;\n#ifdef HAVE_DECL_BFD_GET_SECTION_VMA\n    vma = bfd_get_section_vma(abfd, section);\n#else\n    vma = bfd_section_vma(section);\n#endif\n\n    if (address < vma) {\n        return;\n    }\n#ifdef HAVE_TWO_ARG_BFD_SECTION_SIZE\n    size = bfd_section_size(abfd, section);\n#else\n    size = bfd_section_size(section);\n#endif\n    if (address >= vma + size) {\n        return;\n    }\n\n    /* Search in address-1 to get the calling line instead of return address */\n    found = bfd_find_nearest_line(abfd, section, search->file->syms,\n                                  address - vma - search->backoff,\n                                  &filename, &function, &lineno);\n   do {\n        search->lines[search->count].address  = address;\n        search->lines[search->count].file     = strdup(filename ? filename :\n                                                       \"UNKNOWN_FILE\");\n\tsearch->lines[search->count].function = function ?\n#ifdef HAVE_CPLUS_DEMANGLE\n\t  cplus_demangle(function, 0) : strdup(\"UNKNOWN_FUNCTION\");\n#else\n\t  strdup(function) : strdup(\"UNKNOWN_FUNCTION\");\n#endif\n        search->lines[search->count].lineno   = lineno;\n        if (search->count == 0) {\n            /* To get the inliner info, search at the original address */\n            bfd_find_nearest_line(abfd, section, search->file->syms, address - vma,\n                                  &filename, &function, &lineno);\n        }\n\n        ++search->count;\n        found = bfd_find_inliner_info(abfd, &filename, &function, &lineno);\n    } while (found && (search->count < search->max_lines));\n}\n\n\nstatic int get_line_info(struct backtrace_file *file, int backoff,\n                         struct backtrace_line *lines, int max)\n{\n    struct backtrace_search search;\n\n    search.file      = file;\n    search.backoff   = backoff;\n    search.count     = 0;\n    search.lines     = lines;\n    search.max_lines = max;\n    bfd_map_over_sections(file->abfd, find_address_in_section, &search);\n    return search.count;\n}\n\n#endif\n"
  },
  {
    "path": "src/include/alloc.h",
    "content": "/*************************************************************************\n * Copyright (c) 2019-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_ALLOC_H_\n#define NCCL_ALLOC_H_\n\n#include \"nccl.h\"\n#include \"checks.h\"\n#include \"bitops.h\"\n#include \"utils.h\"\n#include \"p2p.h\"\n#include <sys/mman.h>\n#include <unistd.h>\n#include <stdlib.h>\n#include <string.h>\n#include <unordered_map>\n#include \"rccl_vars.h\"\n\n#if CUDART_VERSION >= 11030\n#include <cuda.h>\n#include \"cudawrap.h\"\n#endif\n\nuint64_t clockNano(); // from utils.h with which we have a circular dependency\n\ntemplate<typename T>\nconstexpr size_t ncclSizeOfT() { return sizeof(T); }\ntemplate<>\nconstexpr size_t ncclSizeOfT<void>() { return 1; }\n\nstruct ncclSideStream {\n  cudaStream_t stream;\n  uint64_t refCount;\n};\n\ninline std::unordered_map<int64_t, ncclSideStream> sideStream;\ninline pthread_mutex_t sideStreamLock = PTHREAD_MUTEX_INITIALIZER;\nextern ncclResult_t getBusId(int cudaDev, int64_t *busId);\n\nstatic inline ncclResult_t ncclCreateSideStream(int cudaDev) {\n  ncclResult_t res = ncclSuccess;\n  int64_t busId;\n  NCCLCHECK(getBusId(cudaDev, &busId));\n  pthread_mutex_lock(&sideStreamLock);\n  if (auto it = sideStream.find(busId); it != sideStream.end()) {\n    it->second.refCount++;\n    INFO(NCCL_ALLOC, \"Side stream %p of dev %d busid %lx inc count to %ld\",\n      it->second.stream, cudaDev, busId, it->second.refCount);\n  } else {\n    cudaStream_t stream;\n    CUDACHECKGOTO(cudaStreamCreateWithFlags(&stream, cudaStreamNonBlocking), res, fail);\n    sideStream.emplace(busId, ncclSideStream{stream, 1});\n    INFO(NCCL_ALLOC, \"Created side stream %p of dev %d busid %lx\",\n      stream, cudaDev, busId);\n  }\nfail:\n  pthread_mutex_unlock(&sideStreamLock);\n  return res;\n};\n\nstatic inline ncclResult_t ncclDestroySideStream(int cudaDev) {\n  ncclResult_t res = ncclSuccess;\n  int64_t busId;\n  NCCLCHECK(getBusId(cudaDev, &busId));\n  pthread_mutex_lock(&sideStreamLock);\n  if (auto it = sideStream.find(busId); it != sideStream.end()) {\n    it->second.refCount--;\n    if (it->second.refCount== 0) {\n      INFO(NCCL_ALLOC, \"Destroyed side stream %p of dev %d busid %lx\",\n        it->second.stream, cudaDev, busId);\n      CUDACHECKGOTO(cudaStreamDestroy(it->second.stream), res, fail);\n      sideStream.erase(it);\n    } else {\n      INFO(NCCL_ALLOC, \"Side stream %p of dev %d busid %lx dec count to %ld\",\n        it->second.stream, cudaDev, busId, it->second.refCount);\n    }\n  } else {\n    WARN(\"Side stream of dev %d busid %lx was not found for destroy\", cudaDev, busId);\n  }\nfail:\n  pthread_mutex_unlock(&sideStreamLock);\n  return res;\n};\n\nstatic inline ncclResult_t getSideStream(cudaStream_t *stream) {\n  int cudaDev;\n  int64_t busId;\n  CUDACHECK(cudaGetDevice(&cudaDev));\n  NCCLCHECK(getBusId(cudaDev, &busId));\n  pthread_mutex_lock(&sideStreamLock);\n  if (auto it = sideStream.find(busId); it != sideStream.end()) {\n    *stream = it->second.stream;\n    INFO(NCCL_ALLOC, \"Found side stream %p of dev %d busid %lx count %ld\",\n      it->second.stream, cudaDev, busId, it->second.refCount);\n  } else {\n    *stream = 0;\n    WARN(\"Side stream of dev %d busid %lx was not found\", cudaDev, busId);\n  }\n  pthread_mutex_unlock(&sideStreamLock);\n  return ncclSuccess;\n}\n\n#if CUDART_VERSION >= 12020\n\nstatic inline ncclResult_t ncclCuMemHostAlloc(void** ptr, CUmemGenericAllocationHandle *handlep, size_t size) {\n  ncclResult_t result = ncclSuccess;\n  size_t granularity = 0;\n  CUdevice currentDev;\n  CUmemAllocationProp prop = {};\n  CUmemAccessDesc accessDesc = {};\n  CUmemGenericAllocationHandle handle;\n  int cudaDev;\n  int cpuNumaNodeId = -1;\n  CUmemAllocationHandleType type = ncclCuMemHandleType;\n\n  CUDACHECK(cudaGetDevice(&cudaDev));\n  CUCHECK(cuDeviceGet(&currentDev, cudaDev));\n  CUCHECK(cuDeviceGetAttribute(&cpuNumaNodeId, CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID, currentDev));\n  if (cpuNumaNodeId < 0) cpuNumaNodeId = 0;\n  prop.location.type = CU_MEM_LOCATION_TYPE_HOST_NUMA;\n  prop.type = CU_MEM_ALLOCATION_TYPE_PINNED;\n  prop.requestedHandleTypes = type; // So it can be exported\n  prop.location.id = cpuNumaNodeId;\n  CUCHECK(cuMemGetAllocationGranularity(&granularity, &prop, CU_MEM_ALLOC_GRANULARITY_MINIMUM));\n  ALIGN_SIZE(size, granularity);\n  /* Allocate the physical memory on the device */\n  CUCHECK(cuMemCreate(&handle, size, &prop, 0));\n  /* Reserve a virtual address range */\n  CUCHECK(cuMemAddressReserve((CUdeviceptr*)ptr, size, granularity, 0, 0));\n  /* Map the virtual address range to the physical allocation */\n  CUCHECK(cuMemMap((CUdeviceptr)*ptr, size, 0, handle, 0));\n  /* Now allow RW access to the newly mapped memory for local GPU */\n  accessDesc.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n  accessDesc.location.id = cudaDev;\n  accessDesc.flags = CU_MEM_ACCESS_FLAGS_PROT_READWRITE;\n  CUCHECK(cuMemSetAccess((CUdeviceptr)*ptr, size, &accessDesc, 1));\n\n  /* Now allow RW access to the newly mapped memory from the CPU */\n  accessDesc.location.type = CU_MEM_LOCATION_TYPE_HOST_NUMA;\n  accessDesc.location.id = cpuNumaNodeId;\n  accessDesc.flags = CU_MEM_ACCESS_FLAGS_PROT_READWRITE;\n  CUCHECK(cuMemSetAccess((CUdeviceptr)*ptr, size, &accessDesc, 1));\n\n  if (handlep) *handlep = handle;\n  INFO(NCCL_ALLOC, \"CUMEM Host Alloc Size %zi pointer %p handle %llx numa %d dev %d granularity %ld\", size, *ptr, handle, cpuNumaNodeId, cudaDev, granularity);\n  return result;\n}\n\nstatic inline ncclResult_t ncclCuMemHostFree(void* ptr) {\n  if (ptr == NULL) return ncclSuccess;\n  ncclResult_t result = ncclSuccess;\n  CUmemGenericAllocationHandle handle;\n  size_t size = 0;\n  CUCHECK(cuMemRetainAllocationHandle(&handle, ptr));\n  CUCHECK(cuMemRelease(handle));\n  CUCHECK(cuMemGetAddressRange(NULL, &size, (CUdeviceptr)ptr));\n  TRACE(NCCL_ALLOC, \"CUMEM Host Free Size %zi pointer %p handle 0x%llx\", size, ptr, handle);\n  CUCHECK(cuMemUnmap((CUdeviceptr)ptr, size));\n  CUCHECK(cuMemRelease(handle));\n  CUCHECK(cuMemAddressFree((CUdeviceptr)ptr, size));\n  return result;\n}\n\n#else /* CUDART_VERSION >= 12020 */\n\nstatic inline ncclResult_t ncclCuMemHostAlloc(void** ptr, void* handlep, size_t size) {\n  WARN(\"CUMEM Host is not supported prior to CUDA 12.2\");\n  return ncclInternalError;\n}\n\nstatic inline ncclResult_t ncclCuMemHostFree(void* ptr) {\n  WARN(\"CUMEM Host is not supported prior to CUDA 12.2\");\n  return ncclInternalError;\n}\n\n#endif  /* CUDART_VERSION >= 12020 */\n\ntemplate <typename T>\nncclResult_t ncclCudaHostCallocDebug(T** ptr, size_t nelem, const char *filefunc, int line) {\n  ncclResult_t result = ncclSuccess;\n  cudaStreamCaptureMode mode = cudaStreamCaptureModeRelaxed;\n  *ptr = nullptr;\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  int managed = 0;\n  CUDACHECK(hipDeviceGetAttribute(&managed, hipDeviceAttributeDirectManagedMemAccessFromHost, 0));\n  if (nelem > 0) {\n    if (managed) {\n#if defined(HIP_UNCACHED_MEMORY)\n      CUDACHECKGOTO(hipExtMallocWithFlags((void**)ptr, nelem*ncclSizeOfT<T>(), hipDeviceMallocUncached), result, finish);\n#else\n      CUDACHECKGOTO(hipExtMallocWithFlags((void**)ptr, nelem*ncclSizeOfT<T>(), hipDeviceMallocFinegrained), result, finish);\n#endif\n    } else\n#if defined(HIP_HOST_UNCACHED_MEMORY)\n      CUDACHECKGOTO(hipHostMalloc(ptr, nelem*ncclSizeOfT<T>(), cudaHostAllocMapped | hipHostMallocUncached), result, finish);\n#else\n      CUDACHECKGOTO(hipHostMalloc(ptr, nelem*ncclSizeOfT<T>(), cudaHostAllocMapped), result, finish);\n#endif\n    memset(*ptr, 0, nelem*ncclSizeOfT<T>());\n  }\nfinish:\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  if (*ptr == nullptr && nelem > 0) WARN(\"Failed to CUDA host alloc %ld bytes\", nelem*ncclSizeOfT<T>());\n  INFO(NCCL_ALLOC, \"%s:%d Cuda Host Alloc Size %ld pointer %p\", filefunc, line, nelem*ncclSizeOfT<T>(), *ptr);\n  return result;\n}\n\nstatic inline ncclResult_t ncclCudaHostFree(void* ptr) {\n  CUDACHECK(cudaFreeHost(ptr));\n  return ncclSuccess;\n}\n\n#define ncclCudaHostCalloc(...) ncclCudaHostCallocDebug(__VA_ARGS__, __FILE__, __LINE__)\n\ntemplate <typename T>\nncclResult_t ncclCallocDebug(T** ptr, size_t nelem, const char *filefunc, int line) {\n  if (nelem > 0) {\n    T* p = (T*)malloc(nelem*ncclSizeOfT<T>());\n    if (p == NULL) {\n      WARN(\"Failed to malloc %ld bytes\", nelem*ncclSizeOfT<T>());\n      return ncclSystemError;\n    }\n    //INFO(NCCL_ALLOC, \"%s:%d malloc Size %ld pointer %p\", filefunc, line, nelem*ncclSizeOfT<T>(), p);\n    memset(p, 0, nelem*ncclSizeOfT<T>());\n    *ptr = p;\n  } else {\n    *ptr = NULL;\n  }\n  return ncclSuccess;\n}\n#define ncclCalloc(...) ncclCallocDebug(__VA_ARGS__, __FILE__, __LINE__)\n\ntemplate <typename T>\nncclResult_t ncclRealloc(T** ptr, size_t oldNelem, size_t nelem) {\n  T* oldp = *ptr;\n  if (nelem < oldNelem || (oldp == NULL && oldNelem > 0)) return ncclInternalError;\n  if (nelem == oldNelem) return ncclSuccess;\n\n  T* p = (T*)malloc(nelem*ncclSizeOfT<T>());\n  if (p == NULL) {\n    WARN(\"Failed to malloc %ld bytes\", nelem*ncclSizeOfT<T>());\n    return ncclSystemError;\n  }\n  if (oldp && oldNelem) memcpy(p, oldp, oldNelem * ncclSizeOfT<T>());\n  if (oldp) free(oldp);\n  memset(p+oldNelem, 0, (nelem-oldNelem)*ncclSizeOfT<T>());\n  *ptr = (T*)p;\n  INFO(NCCL_ALLOC, \"Mem Realloc old size %ld, new size %ld pointer %p\", oldNelem*ncclSizeOfT<T>(), nelem*ncclSizeOfT<T>(), *ptr);\n  return ncclSuccess;\n}\n\nstruct __attribute__ ((aligned(64))) allocationTracker {\n  union {\n    struct {\n      uint64_t totalAlloc;\n      uint64_t totalAllocSize;\n    };\n    char align[64];\n  };\n};\nstatic_assert(sizeof(struct allocationTracker) == 64, \"allocationTracker must be size of 64 bytes\");\n#define MAX_ALLOC_TRACK_NGPU 128\nextern struct allocationTracker allocTracker[];\n\n#if ROCM_VERSION >= 70000\n\n#include \"rocmwrap.h\"\n\n// ncclCuMemAllocAddr takes memory handle and size and returns the mapped address pointer\nstatic inline ncclResult_t ncclCuMemAllocAddr(void **ptr, CUmemGenericAllocationHandle *handleIn, size_t size) {\n  ncclResult_t result = ncclSuccess;\n  size_t granularity = 0;\n  CUmemAllocationProp prop = {};\n  CUmemAccessDesc accessDesc = {};\n  int cudaDev;\n  CUDACHECK(cudaGetDevice(&cudaDev));\n  CUCHECK(cuMemGetAllocationPropertiesFromHandle(&prop, *handleIn));\n  CUCHECK(cuMemGetAllocationGranularity(&granularity, &prop, CU_MEM_ALLOC_GRANULARITY_MINIMUM));\n  ALIGN_SIZE(size, granularity);\n  /* Reserve a virtual address range */\n  CUCHECK(cuMemAddressReserve((CUdeviceptr *)ptr, size, granularity, 0, 0));\n  /* Map the virtual address range to the physical allocation */\n  CUCHECK(cuMemMap((CUdeviceptr)*ptr, size, 0, *handleIn, 0));\n  /* Now allow RW access to the newly mapped memory */\n  accessDesc.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n  accessDesc.location.id = cudaDev;\n  accessDesc.flags = CU_MEM_ACCESS_FLAGS_PROT_READWRITE;\n  CUCHECK(cuMemSetAccess((CUdeviceptr)*ptr, size, &accessDesc, 1));\n  TRACE(NCCL_ALLOC, \"CuMem Map Size %zu pointer %p handle %llx\", size, *ptr, *handleIn);\n  if (cudaDev < MAX_ALLOC_TRACK_NGPU) {\n     __atomic_fetch_add(&allocTracker[cudaDev].totalAlloc, 1, __ATOMIC_RELAXED);\n     __atomic_fetch_add(&allocTracker[cudaDev].totalAllocSize, size, __ATOMIC_RELAXED);\n  }\n  INFO(NCCL_ALLOC, \"ncclCuMemAllocAddr: Memory used = %ld on device = %d\", allocTracker[cudaDev].totalAllocSize, cudaDev);\n  return result;\n}\n\nstatic inline ncclResult_t ncclCuMemFreeAddr(void *ptr) {\n  if (ptr == NULL) return ncclSuccess;\n  ncclResult_t result = ncclSuccess;\n  size_t size = 0;\n  CUCHECK(cuMemGetAddressRange(NULL, &size, (CUdeviceptr)ptr));\n  CUCHECK(cuMemUnmap((CUdeviceptr)ptr, size));\n  CUCHECK(cuMemAddressFree((CUdeviceptr)ptr, size));\n\n  int dev;\n  size *= -1;\n  CUDACHECK(hipGetDevice(&dev));\n  if (dev < MAX_ALLOC_TRACK_NGPU) {\n     __atomic_fetch_add(&allocTracker[dev].totalAlloc, -1, __ATOMIC_RELAXED);\n     __atomic_fetch_add(&allocTracker[dev].totalAllocSize, size, __ATOMIC_RELAXED);\n  }\n  INFO(NCCL_ALLOC, \"ncclCuMemFreeAddr: Memory used = %ld on device = %d\", allocTracker[dev].totalAllocSize, dev);\n  return result;\n}\n\nstatic inline ncclResult_t ncclCuMemAlloc(void **ptr, CUmemGenericAllocationHandle *handlep, CUmemAllocationHandleType type, size_t size) {\n  ncclResult_t result = ncclSuccess;\n  size_t granularity = 0;\n  CUdevice currentDev;\n  CUmemAllocationProp prop = {};\n  CUmemAccessDesc accessDesc = {};\n  CUmemGenericAllocationHandle handle;\n  int cudaDev;\n  int flag = 0;\n  CUDACHECK(cudaGetDevice(&cudaDev));\n  CUCHECK(cuDeviceGet(&currentDev, cudaDev));\n  prop.type = CU_MEM_ALLOCATION_TYPE_PINNED;\n  prop.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n  prop.requestedHandleTypes = type;\n  prop.location.id = currentDev;\n  // Query device to see if RDMA support is available\n  // CUCHECK(cuDeviceGetAttribute(&flag, CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED, currentDev));\n  if (flag) prop.allocFlags.gpuDirectRDMACapable = 1;\n  CUCHECK(cuMemGetAllocationGranularity(&granularity, &prop, CU_MEM_ALLOC_GRANULARITY_MINIMUM));\n  ALIGN_SIZE(size, granularity);\n  /* Allocate the physical memory on the device */\n  CUCHECK(cuMemCreate(&handle, size, &prop, 0));\n  /* Reserve a virtual address range */\n  CUCHECK(cuMemAddressReserve((CUdeviceptr *)ptr, size, granularity, 0, 0));\n  /* Map the virtual address range to the physical allocation */\n  CUCHECK(cuMemMap((CUdeviceptr)*ptr, size, 0, handle, 0));\n  /* Now allow RW access to the newly mapped memory */\n  accessDesc.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n  accessDesc.location.id = currentDev;\n  accessDesc.flags = CU_MEM_ACCESS_FLAGS_PROT_READWRITE;\n  CUCHECK(cuMemSetAccess((CUdeviceptr)*ptr, size, &accessDesc, 1));\n  if (handlep) *handlep = handle;\n  TRACE(NCCL_ALLOC, \"CuMem Alloc Size %zu pointer %p handle %llx\", size, *ptr, handle);\n  \n  if (cudaDev < MAX_ALLOC_TRACK_NGPU) {\n     __atomic_fetch_add(&allocTracker[cudaDev].totalAlloc, 1, __ATOMIC_RELAXED);\n     __atomic_fetch_add(&allocTracker[cudaDev].totalAllocSize, size, __ATOMIC_RELAXED);\n  }\n  INFO(NCCL_ALLOC, \"ncclCuMemAlloc: Memory used = %ld on device = %d\", allocTracker[cudaDev].totalAllocSize, cudaDev);\n\n  return result;\n}\n\nstatic inline ncclResult_t ncclCuMemFree(void *ptr) {\n  if (ptr == NULL) return ncclSuccess;\n  ncclResult_t result = ncclSuccess;\n  CUmemGenericAllocationHandle handle;\n  size_t size = 0;\n  CUCHECK(cuMemRetainAllocationHandle(&handle, ptr));\n  CUCHECK(cuMemRelease(handle));\n  CUCHECK(cuMemGetAddressRange(NULL, &size, (CUdeviceptr)ptr));\n  TRACE(NCCL_ALLOC, \"CuMem Free Size %zu pointer %p handle 0x%llx\", size, ptr, handle);\n  CUCHECK(cuMemUnmap((CUdeviceptr)ptr, size));\n  CUCHECK(cuMemRelease(handle));\n  CUCHECK(cuMemAddressFree((CUdeviceptr)ptr, size));\n\n  int dev;\n  size *= -1;\n  CUDACHECK(hipGetDevice(&dev));\n  if (dev < MAX_ALLOC_TRACK_NGPU) {\n     __atomic_fetch_add(&allocTracker[dev].totalAlloc, -1, __ATOMIC_RELAXED);\n     __atomic_fetch_add(&allocTracker[dev].totalAllocSize, size, __ATOMIC_RELAXED);\n  }\n  INFO(NCCL_ALLOC, \"ncclCuMemFree: Memory used = %ld on device = %d\", allocTracker[dev].totalAllocSize, dev);\n  return result;\n}\n\n#else\n\nextern int ncclCuMemEnable();\n\nstatic inline ncclResult_t ncclCuMemAlloc(void **ptr, void *handlep, int type, size_t size) {\n  WARN(\"CUMEM not supported prior to ROCm 7.0\");\n  return ncclInternalError;\n}\nstatic inline ncclResult_t ncclCuMemFree(void *ptr) {\n  WARN(\"CUMEM not supported prior to ROCm 7.0\");\n  return ncclInternalError;\n}\n\nstatic inline ncclResult_t ncclCuMemAllocAddr(void **ptr, CUmemGenericAllocationHandle *handleIn, size_t size) {\n  WARN(\"CUMEM not supported prior to ROCm 7.0\");\n  return ncclInternalError;\n}\n\nstatic inline ncclResult_t ncclCuMemFreeAddr(void *ptr) {\n  WARN(\"CUMEM not supported prior to ROCm 7.0\");\n  return ncclInternalError;\n}\n#endif\n\ntemplate <typename T>\nncclResult_t ncclCudaMallocDebug(const char *filefunc, int line, T** ptr, size_t nelem, unsigned int flags = hipDeviceMallocDefault) {\n  ncclResult_t result = ncclSuccess;\n  cudaStreamCaptureMode mode = cudaStreamCaptureModeRelaxed;\n  *ptr = nullptr;\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  if (nelem > 0) \n    CUDACHECKGOTO(hipExtMallocWithFlags((void**)ptr, nelem*ncclSizeOfT<T>(), flags), result, finish);\nfinish:\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  if (*ptr == nullptr && nelem > 0) WARN(\"Failed to CUDA malloc %ld bytes\", nelem*ncclSizeOfT<T>());\n  else {\n     int dev;\n     CUDACHECK(hipGetDevice(&dev));\n     if (dev < MAX_ALLOC_TRACK_NGPU) {\n        __atomic_fetch_add(&allocTracker[dev].totalAlloc, 1, __ATOMIC_RELAXED);\n        __atomic_fetch_add(&allocTracker[dev].totalAllocSize, nelem*ncclSizeOfT<T>(), __ATOMIC_RELAXED);\n     }\n     INFO(NCCL_ALLOC, \"ncclCudaMallocDebug: Memory used = %ld on device = %d\", allocTracker[dev].totalAllocSize, dev);\n  }\n  INFO(NCCL_ALLOC, \"%s:%d Cuda Alloc Size %ld pointer %p flags %d\", filefunc, line, nelem*ncclSizeOfT<T>(), *ptr, flags);\n  return result;\n}\n#define ncclCudaMalloc(...) ncclCudaMallocDebug( __FILE__, __LINE__, __VA_ARGS__)\n\ntemplate <typename T>\nncclResult_t ncclCudaCallocDebug(const char *filefunc, int line, T** ptr, size_t nelem, unsigned int flags = hipDeviceMallocDefault) {\n  ncclResult_t result = ncclSuccess;\n  cudaStreamCaptureMode mode = cudaStreamCaptureModeRelaxed;\n  *ptr = nullptr;\n  int dev;\n\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  // Need a side stream so as not to interfere with graph capture.\n  cudaStream_t stream, sidestream;\n  NCCLCHECK(getSideStream(&sidestream));\n  stream = sidestream;\n  if (sidestream == nullptr)\n    CUDACHECK(cudaStreamCreateWithFlags(&stream, cudaStreamNonBlocking));\n  CUDACHECKGOTO(hipExtMallocWithFlags((void**)ptr, nelem*ncclSizeOfT<T>(), flags), result, finish);\n  CUDACHECKGOTO(cudaMemsetAsync(*ptr, 0, nelem*ncclSizeOfT<T>(), stream), result, finish);\n  CUDACHECKGOTO(cudaStreamSynchronize(stream), result, finish);\n  if (sidestream == nullptr)\n    CUDACHECKGOTO(cudaStreamDestroy(stream), result, finish);\nfinish:\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  if (*ptr == nullptr && nelem > 0) WARN(\"Failed to CUDA calloc %ld bytes\", nelem*ncclSizeOfT<T>());\n  else {\n      CUDACHECK(hipGetDevice(&dev));\n      if (dev < MAX_ALLOC_TRACK_NGPU) {\n    \t __atomic_fetch_add(&allocTracker[dev].totalAlloc, 1, __ATOMIC_RELAXED);\n    \t __atomic_fetch_add(&allocTracker[dev].totalAllocSize, nelem*ncclSizeOfT<T>(), __ATOMIC_RELAXED);\n      }\n      INFO(NCCL_ALLOC, \"ncclCudaCallocDebug: Memory used = %ld on device = %d\", allocTracker[dev].totalAllocSize, dev);\n  }\n  INFO(NCCL_ALLOC, \"%s:%d Cuda Alloc Size %ld pointer %p flags %d\", filefunc, line, nelem*ncclSizeOfT<T>(), *ptr, flags);\n  return result;\n}\n#define ncclCudaCalloc(...) ncclCudaCallocDebug(__FILE__, __LINE__, __VA_ARGS__)\n\ntemplate <typename T>\nncclResult_t ncclCudaCallocAsyncDebug(const char *filefunc, int line, T** ptr, size_t nelem, hipStream_t stream, unsigned int flags = hipDeviceMallocDefault) {\n  ncclResult_t result = ncclSuccess;\n  cudaStreamCaptureMode mode = cudaStreamCaptureModeRelaxed;\n  *ptr = nullptr;\n  int dev;\n\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  if (nelem > 0) {\n    CUDACHECKGOTO(hipExtMallocWithFlags((void**)ptr, nelem*ncclSizeOfT<T>(), flags), result, finish);\n    CUDACHECKGOTO(cudaMemsetAsync(*ptr, 0, nelem*ncclSizeOfT<T>(), stream), result, finish); \n  }\nfinish:\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  if (*ptr == nullptr && nelem > 0) WARN(\"Failed to CUDA calloc async %ld bytes\", nelem*ncclSizeOfT<T>());\n  else {\n     CUDACHECK(hipGetDevice(&dev));\n     if (dev < MAX_ALLOC_TRACK_NGPU) {\n       __atomic_fetch_add(&allocTracker[dev].totalAlloc, 1, __ATOMIC_RELAXED);\n       __atomic_fetch_add(&allocTracker[dev].totalAllocSize, nelem*ncclSizeOfT<T>(), __ATOMIC_RELAXED);\n     }\n     INFO(NCCL_ALLOC, \"ncclCudaCallocDebug: Memory used = %ld on device = %d\", allocTracker[dev].totalAllocSize, dev);\n  }\n  INFO(NCCL_ALLOC, \"%s:%d Cuda Alloc Size %ld pointer %p flags %d\", filefunc, line, nelem*ncclSizeOfT<T>(), *ptr, flags);\n  return result;\n}\n#define ncclCudaCallocAsync(...) ncclCudaCallocAsyncDebug(__FILE__, __LINE__, __VA_ARGS__)\n\ntemplate <typename T>\nncclResult_t ncclCudaMemcpy(T* dst, T* src, size_t nelem) {\n  ncclResult_t result = ncclSuccess;\n  cudaStreamCaptureMode mode = cudaStreamCaptureModeRelaxed;\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  // Need a side stream so as not to interfere with graph capture.\n  cudaStream_t stream, sidestream;\n  NCCLCHECK(getSideStream(&sidestream));\n  stream = sidestream;\n  if (sidestream == nullptr)\n    CUDACHECKGOTO(cudaStreamCreateWithFlags(&stream, cudaStreamNonBlocking), result, finish);\n  NCCLCHECKGOTO(ncclCudaMemcpyAsync(dst, src, nelem, stream), result, finish);\n  CUDACHECKGOTO(cudaStreamSynchronize(stream), result, finish);\n  if (sidestream == nullptr)\n    CUDACHECKGOTO(cudaStreamDestroy(stream), result, finish);\nfinish:\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  return result;\n}\n\ntemplate <typename T>\nncclResult_t ncclCudaMemcpyAsync(T* dst, T* src, size_t nelem, cudaStream_t stream) {\n  ncclResult_t result = ncclSuccess;\n  cudaStreamCaptureMode mode = cudaStreamCaptureModeRelaxed;\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  CUDACHECKGOTO(cudaMemcpyAsync(dst, src, nelem*ncclSizeOfT<T>(), cudaMemcpyDefault, stream), result, finish);\nfinish:\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  return result;\n}\n\ntemplate <typename T>\nncclResult_t ncclCudaFree(T* ptr) {\n  ncclResult_t result = ncclSuccess;\n  cudaStreamCaptureMode mode = cudaStreamCaptureModeRelaxed;\n  TRACE(NCCL_ALLOC, \"Cuda Free pointer %p\", ptr);\n\n  // get the size of the allocation\n  if (ptr != NULL) {\n     CUdeviceptr baseAddress;\n     size_t retrievedSize;\n\n     CUDACHECK(cuMemGetAddressRange(&baseAddress, &retrievedSize, ptr));\n     retrievedSize *= -1;\n\n     if (ptr == baseAddress) {\n        int dev;\n        CUDACHECK(hipGetDevice(&dev));\n        if (dev < MAX_ALLOC_TRACK_NGPU) {\n           __atomic_fetch_add(&allocTracker[dev].totalAlloc, -1, __ATOMIC_RELAXED);\n           __atomic_fetch_add(&allocTracker[dev].totalAllocSize, retrievedSize, __ATOMIC_RELAXED);\n        }\n        INFO(NCCL_ALLOC, \"ncclCudaFree: Memory used = %ld on device = %d\", allocTracker[dev].totalAllocSize, dev);\n     }\n  }\n\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  if (ncclCuMemEnable()) {\n    NCCLCHECKGOTO(ncclCuMemFree((void *)ptr), result, finish);\n  } else {\n    CUDACHECKGOTO(cudaFree(ptr), result, finish);\n  }\nfinish:\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  return result;\n}\n\n// Allocate memory to be potentially ibv_reg_mr'd. This needs to be\n// allocated on separate pages as those pages will be marked DONTFORK\n// and if they are shared, that could cause a crash in a child process\ninline ncclResult_t ncclIbMallocDebug(void** ptr, size_t size, const char *filefunc, int line) {\n  if (size > 0) {\n    long page_size = sysconf(_SC_PAGESIZE);\n    if (page_size < 0) return ncclSystemError;\n    void* p;\n    int size_aligned = ROUNDUP(size, page_size);\n    int ret = posix_memalign(&p, page_size, size_aligned);\n    if (ret != 0) return ncclSystemError;\n    memset(p, 0, size);\n    *ptr = p;\n  } else {\n    *ptr = NULL;\n  }\n  INFO(NCCL_ALLOC, \"%s:%d Ib Alloc Size %ld pointer %p\", filefunc, line, size, *ptr);\n  return ncclSuccess;\n}\n#define ncclIbMalloc(...) ncclIbMallocDebug(__VA_ARGS__, __FILE__, __LINE__)\n\n#endif\n"
  },
  {
    "path": "src/include/allocator.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_ALLOCATOR_H_\n#define NCCL_ALLOCATOR_H_\n\n////////////////////////////////////////////////////////////////////////////////\n// ncclSpace: Allocates contiguous segments of non-negative integers. Useful\n// as a memory allocator when we can't put allocator state within the memory\n// being allocated.\n\nstruct ncclSpace {\n  int count;\n  int capacity;\n  int64_t* cuts;\n};\n\nvoid ncclSpaceConstruct(struct ncclSpace* a);\nvoid ncclSpaceDestruct(struct ncclSpace* a);\nncclResult_t ncclSpaceAlloc(struct ncclSpace* a, int64_t spaceLimit, int64_t objSize, int objAlign, int64_t* outObjOffset);\nncclResult_t ncclSpaceFree(struct ncclSpace* a, int64_t objOffset, int64_t objSize);\n\n\n////////////////////////////////////////////////////////////////////////////////\n// ncclShadowPool: Allocates device-side objects, their host-side shadows, and\n// maintains the device->host object address mapping.\n\nstruct ncclShadowObject;\nstruct ncclShadowPage;\nstruct ncclShadowPool {\n  int count, hbits;\n  struct ncclShadowObject** table;\n  cudaMemPool_t memPool;\n  struct ncclShadowPage* pages;\n};\n\nvoid ncclShadowPoolConstruct(struct ncclShadowPool*);\nncclResult_t ncclShadowPoolDestruct(struct ncclShadowPool*);\nncclResult_t ncclShadowPoolAlloc(struct ncclShadowPool*, size_t size, void** outDevObj, void** outHostObj, cudaStream_t stream);\nncclResult_t ncclShadowPoolFree(struct ncclShadowPool*, void* devObj, cudaStream_t stream);\nncclResult_t ncclShadowPoolToHost(struct ncclShadowPool*, void* devObj, void** outHostObj);\n\ntemplate<typename T>\nstatic inline ncclResult_t ncclShadowPoolAlloc(struct ncclShadowPool* pool, T** outDevObj, T** outHostObj, cudaStream_t stream) {\n  void* devObj;\n  void* hostObj;\n  ncclResult_t got = ncclShadowPoolAlloc(pool, sizeof(T), &devObj, &hostObj, stream);\n  if (outDevObj) *outDevObj = (T*)devObj;\n  if (outHostObj) *outHostObj = (T*)hostObj;\n  return got;\n}\n\ntemplate<typename T>\nstatic inline ncclResult_t ncclShadowPoolToHost(struct ncclShadowPool* pool, T* devObj, T** hostObj) {\n  return ncclShadowPoolToHost(pool, (void*)devObj, (void**)hostObj);\n}\n\n#endif\n"
  },
  {
    "path": "src/include/alt_rsmi.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef __ALT_RSMI_H__\n#define __ALT_RSMI_H__\n\n/*\n** This is a light-weight implementation of the RSMI functionality used in RCCL\n** The code is based on the actual rocm_smi_library code, but extracted to contain only\n** the bits actually required by RCCL.\n*/\n\n#include <stdio.h>\n#include <dirent.h>\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <unistd.h>\n\n#include <iostream>\n#include <fstream>\n#include <sstream>\n#include <cstring>\n#include <map>\n#include <cassert>\n#include <algorithm>\n#include <iomanip>\n\n/**\n ** This is an exact copy of the IO Link types from rocm_smi.h\n ** These definitions are required since we do not know whether the\n ** code will also be compiled such that it includes the rocm_smi.h\n ** file or not. The values have to be identical however\n */\ntypedef enum _ARSMI_IO_LINK_TYPE {\n  ARSMI_IOLINK_TYPE_UNDEFINED      = 0,          //!< unknown type.\n  ARSMI_IOLINK_TYPE_PCIEXPRESS,                  //!< PCI Express\n  ARSMI_IOLINK_TYPE_XGMI,                        //!< XGMI\n  ARSMI_IOLINK_TYPE_NUMIOLINKTYPES,              //!< Number of IO Link types\n  ARSMI_IOLINK_TYPE_SIZE           = 0xFFFFFFFF  //!< Max of IO Link types\n} ARSMI_IO_LINK_TYPE;\n\nstruct ARSMI_linkInfo {\n    uint32_t src_node;\n    uint32_t dst_node;\n    uint64_t hops;\n    ARSMI_IO_LINK_TYPE type;\n    uint64_t weight;\n    uint64_t min_bandwidth;\n    uint64_t max_bandwidth;\n};\ntypedef struct ARSMI_linkInfo ARSMI_linkInfo;\n\nint ARSMI_init (void);\nint ARSMI_get_num_devices (uint32_t *num_devices);\nint ARSMI_dev_pci_id_get(uint32_t dv_ind, uint64_t *bdfid);\nint ARSMI_topo_get_link_info(uint32_t dv_ind_src, uint32_t dv_ind_dst,\n                             ARSMI_linkInfo *info);\n\n#endif\n"
  },
  {
    "path": "src/include/amdsmi_wrap.h",
    "content": "// Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n\n#ifndef AMDSMI_WRAP_H_\n#define AMDSMI_WRAP_H_\n\n#include <cstdint>\n#include \"amd_smi/amdsmi.h\"\n#include \"nccl.h\"\n\nncclResult_t amd_smi_init();\nncclResult_t amd_smi_shutdown();\nncclResult_t amd_smi_getNumDevice(uint32_t* num_devs);\nncclResult_t amd_smi_getDevicePciBusIdString(uint32_t deviceIndex, char* pciBusId, size_t len);\nncclResult_t amd_smi_getDeviceIndexByPciBusId(const char* pciBusId, uint32_t* deviceIndex);\nncclResult_t amd_smi_getLinkInfo(int srcDev, int dstDev, amdsmi_link_type_t* type, int *hops, int *count);\n\n#endif\n"
  },
  {
    "path": "src/include/api_trace.h",
    "content": "// MIT License\n//\n// Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\n\n#pragma once\n\n#include <rccl/rccl.h>\n\n#include <stddef.h>\n#include <stdint.h>\n\n// should only be increased if fundamental changes to dispatch table(s)\n#define RCCL_API_TRACE_VERSION_MAJOR 0\n\n// should be increased every time new members are added to existing dispatch tables\n#define RCCL_API_TRACE_VERSION_PATCH 3\n\n#if !defined(RCCL_EXTERN_C_INIT)\n#    ifdef __cplusplus\n#        define RCCL_EXTERN_C_INIT                                                       \\\n            extern \"C\"                                                                   \\\n            {\n#    else\n#        define RCCL_EXTERN_C_INIT\n#    endif\n#endif\n\n#if !defined(RCCL_EXTERN_C_FINI)\n#    ifdef __cplusplus\n#        define RCCL_EXTERN_C_FINI }\n#    else\n#        define RCCL_EXTERN_C_FINI\n#    endif\n#endif\n\nRCCL_EXTERN_C_INIT\n\ntypedef uint64_t rccl_range_id_t;\ntypedef ncclResult_t (*ncclAllGather_fn_t)(const void* sendbuff, void* recvbuff,\n                                           size_t sendcount, ncclDataType_t datatype,\n                                           ncclComm_t comm, hipStream_t stream);\ntypedef ncclResult_t (*ncclAllReduce_fn_t)(const void* sendbuff, void* recvbuff,\n                                           size_t count, ncclDataType_t datatype,\n                                           ncclRedOp_t op, struct ncclComm* comm,\n                                           hipStream_t stream);\ntypedef ncclResult_t (*ncclAllReduceWithBias_fn_t)(const void* sendbuff, void* recvbuff,\n                                           size_t count, ncclDataType_t datatype,\n                                           ncclRedOp_t op, struct ncclComm* comm,\n                                           hipStream_t stream, const void* acc);\ntypedef ncclResult_t (*ncclAlltoAll_fn_t)(const void* sendbuff, void* recvbuff,\n                                          size_t count, ncclDataType_t datatype,\n                                          ncclComm_t comm, hipStream_t stream);\ntypedef ncclResult_t (*ncclAlltoAllv_fn_t)(\n    const void* sendbuff, const size_t sendcounts[], const size_t sdispls[],\n    void* recvbuff, const size_t recvcounts[], const size_t rdispls[],\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\ntypedef ncclResult_t (*ncclBroadcast_fn_t)(const void* sendbuff, void* recvbuff,\n                                           size_t count, ncclDataType_t datatype,\n                                           int root, ncclComm_t comm,\n                                           hipStream_t stream);\ntypedef ncclResult_t (*ncclGather_fn_t)(const void* sendbuff, void* recvbuff,\n                                        size_t sendcount, ncclDataType_t datatype,\n                                        int root, ncclComm_t comm, hipStream_t stream);\ntypedef ncclResult_t (*ncclReduce_fn_t)(const void* sendbuff, void* recvbuff,\n                                        size_t count, ncclDataType_t datatype,\n                                        ncclRedOp_t op, int root, ncclComm_t comm,\n                                        hipStream_t stream);\ntypedef ncclResult_t (*ncclReduceScatter_fn_t)(const void* sendbuff, void* recvbuff,\n                                               size_t recvcount, ncclDataType_t datatype,\n                                               ncclRedOp_t op, struct ncclComm* comm,\n                                               hipStream_t stream);\ntypedef ncclResult_t (*ncclScatter_fn_t)(const void* sendbuff, void* recvbuff,\n                                         size_t recvcount, ncclDataType_t datatype,\n                                         int root, ncclComm_t comm, hipStream_t stream);\ntypedef ncclResult_t (*ncclSend_fn_t)(const void* sendbuff, size_t count,\n                                      ncclDataType_t datatype, int peer, ncclComm_t comm,\n                                      hipStream_t stream);\ntypedef ncclResult_t (*ncclRecv_fn_t)(void* recvbuff, size_t count,\n                                      ncclDataType_t datatype, int peer, ncclComm_t comm,\n                                      hipStream_t stream);\ntypedef ncclResult_t (*ncclRedOpCreatePreMulSum_fn_t)(ncclRedOp_t* op, void* scalar,\n                                                      ncclDataType_t        datatype,\n                                                      ncclScalarResidence_t residence,\n                                                      ncclComm_t            comm);\ntypedef ncclResult_t (*ncclRedOpDestroy_fn_t)(ncclRedOp_t op, ncclComm_t comm);\ntypedef ncclResult_t (*ncclGroupStart_fn_t)();\ntypedef ncclResult_t (*ncclGroupEnd_fn_t)();\ntypedef ncclResult_t (*ncclGetVersion_fn_t)(int* version);\ntypedef ncclResult_t (*ncclGetUniqueId_fn_t)(ncclUniqueId* out);\n\ntypedef ncclResult_t (*ncclCommInitRank_fn_t)(ncclComm_t* newcomm, int nranks,\n                                              ncclUniqueId commId, int myrank);\n\ntypedef ncclResult_t (*ncclCommInitAll_fn_t)(ncclComm_t* comms, int ndev,\n                                             const int* devlist);\n\ntypedef ncclResult_t (*ncclCommInitRankConfig_fn_t)(ncclComm_t* comm, int nranks,\n                                                    ncclUniqueId commId, int myrank,\n                                                    ncclConfig_t* config);\n\ntypedef ncclResult_t (*ncclCommFinalize_fn_t)(ncclComm_t comm);\n\ntypedef ncclResult_t (*ncclCommDestroy_fn_t)(ncclComm_t comm);\n\ntypedef ncclResult_t (*ncclCommAbort_fn_t)(ncclComm_t comm);\n\ntypedef ncclResult_t (*ncclCommShrink_fn_t)(ncclComm_t comm, int* excludeRanksList,\n                                            int excludeRanksCount, ncclComm_t *newcomm, \n                                            ncclConfig_t* config, int shrinkFlags);\n\ntypedef ncclResult_t (*ncclCommSplit_fn_t)(ncclComm_t comm, int color, int key,\n                                           ncclComm_t* newcomm, ncclConfig_t* config);\n\ntypedef const char* (*ncclGetErrorString_fn_t)(ncclResult_t code);\n\ntypedef const char* (*ncclGetLastError_fn_t)(const ncclComm_t comm);\n\ntypedef ncclResult_t (*ncclCommGetAsyncError_fn_t)(ncclComm_t    comm,\n                                                   ncclResult_t* asyncError);\n\ntypedef ncclResult_t (*ncclCommCount_fn_t)(const ncclComm_t comm, int* count);\n\ntypedef ncclResult_t (*ncclCommCuDevice_fn_t)(const ncclComm_t comm, int* devid);\n\ntypedef ncclResult_t (*ncclCommUserRank_fn_t)(const ncclComm_t comm, int* rank);\n\ntypedef ncclResult_t (*ncclMemAlloc_fn_t)(void** ptr, size_t size);\n\ntypedef ncclResult_t (*ncclMemFree_fn_t)(void* ptr);\n\ntypedef ncclResult_t (*mscclLoadAlgo_fn_t)(const char*        mscclAlgoFilePath,\n                                           mscclAlgoHandle_t* mscclAlgoHandle, int rank);\n\ntypedef ncclResult_t (*mscclRunAlgo_fn_t)(\n    const void* sendBuff, const size_t sendCounts[], const size_t sDisPls[],\n    void* recvBuff, const size_t recvCounts[], const size_t rDisPls[], size_t count,\n    ncclDataType_t dataType, int root, int peer, ncclRedOp_t op,\n    mscclAlgoHandle_t mscclAlgoHandle, ncclComm_t comm, hipStream_t stream);\n\ntypedef ncclResult_t (*mscclUnloadAlgo_fn_t)(mscclAlgoHandle_t mscclAlgoHandle);\n\ntypedef ncclResult_t (*ncclCommRegister_fn_t)(const ncclComm_t comm, void* buff,\n                                              size_t size, void** handle);\n\ntypedef ncclResult_t (*ncclCommDeregister_fn_t)(const ncclComm_t comm, void* handle);\n\ntypedef ncclResult_t (*ncclCommWindowRegister_fn_t)(ncclComm_t comm, void* userPtr, size_t userSize, ncclWindow_t* outWinDev, int winFlags);\n\ntypedef ncclResult_t (*ncclCommWindowDeregister_fn_t)(ncclComm_t comm, ncclWindow_t win);\n\ntypedef struct rcclApiFuncTable\n{\n    // ADD NEW FUNCTIONS AT BOTTOM ONLY\n    uint64_t                      size;\n    ncclAllGather_fn_t            ncclAllGather_fn;\n    ncclAllReduce_fn_t            ncclAllReduce_fn;\n    ncclAlltoAll_fn_t             ncclAllToAll_fn;\n    ncclAlltoAllv_fn_t            ncclAllToAllv_fn;\n    ncclBroadcast_fn_t            ncclBroadcast_fn;\n    ncclGather_fn_t               ncclGather_fn;\n    ncclReduce_fn_t               ncclReduce_fn;\n    ncclReduceScatter_fn_t        ncclReduceScatter_fn;\n    ncclScatter_fn_t              ncclScatter_fn;\n    ncclSend_fn_t                 ncclSend_fn;\n    ncclRecv_fn_t                 ncclRecv_fn;\n    ncclRedOpCreatePreMulSum_fn_t ncclRedOpCreatePreMulSum_fn;\n    ncclRedOpDestroy_fn_t         ncclRedOpDestroy_fn;\n    ncclGroupStart_fn_t           ncclGroupStart_fn;\n    ncclGroupEnd_fn_t             ncclGroupEnd_fn;\n    ncclGetVersion_fn_t           ncclGetVersion_fn;\n    ncclGetUniqueId_fn_t          ncclGetUniqueId_fn;\n    ncclCommInitRank_fn_t         ncclCommInitRank_fn;\n    ncclCommInitAll_fn_t          ncclCommInitAll_fn;\n    ncclCommInitRankConfig_fn_t   ncclCommInitRankConfig_fn;\n    ncclCommFinalize_fn_t         ncclCommFinalize_fn;\n    ncclCommDestroy_fn_t          ncclCommDestroy_fn;\n    ncclCommAbort_fn_t            ncclCommAbort_fn;\n    ncclCommSplit_fn_t            ncclCommSplit_fn;\n    ncclGetErrorString_fn_t       ncclGetErrorString_fn;\n    ncclGetLastError_fn_t         ncclGetLastError_fn;\n    ncclCommGetAsyncError_fn_t    ncclCommGetAsyncError_fn;\n    ncclCommCount_fn_t            ncclCommCount_fn;\n    ncclCommCuDevice_fn_t         ncclCommCuDevice_fn;\n    ncclCommUserRank_fn_t         ncclCommUserRank_fn;\n    ncclMemAlloc_fn_t             ncclMemAlloc_fn;\n    ncclMemFree_fn_t              ncclMemFree_fn;\n    mscclLoadAlgo_fn_t            mscclLoadAlgo_fn;\n    mscclRunAlgo_fn_t             mscclRunAlgo_fn;\n    mscclUnloadAlgo_fn_t          mscclUnloadAlgo_fn;\n    ncclCommRegister_fn_t         ncclCommRegister_fn;\n    ncclCommDeregister_fn_t       ncclCommDeregister_fn;\n    ncclAllReduceWithBias_fn_t    ncclAllReduceWithBias_fn;\n    ncclCommShrink_fn_t           ncclCommShrink_fn;\n    ncclCommWindowRegister_fn_t   ncclCommWindowRegister_fn;\n    ncclCommWindowDeregister_fn_t ncclCommWindowDeregister_fn;\n    ncclAlltoAll_fn_t             ncclAlltoAll_fn;\n    ncclAlltoAllv_fn_t            ncclAlltoAllv_fn;\n    // ADD NEW FUNCTIONS HERE ONLY\n} rcclApiFuncTable;\n\nRCCL_EXTERN_C_FINI\n"
  },
  {
    "path": "src/include/archinfo.h",
    "content": "/*\nCopyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#ifndef ARCHINFO_H_\n#define ARCHINFO_H_\n\n#include <string.h>\n\n/*\n#include <hip/hip_runtime_api.h>\n#include <hip/hip_runtime.h>\n*/\n\nvoid GcnArchNameFormat(char *gcnArchName, char* out);\nvoid convertGcnArchToGcnArchName(const char* gcnArch, const char** gcnArchName);\nint GetGcnArchName(int deviceId, char* out);\ndouble GetDeviceWallClockRateInKhz(int deviceId);\nbool IsArchMatch(char const* arch, char const* target);\n\n#endif // ARCHINFO_H\n"
  },
  {
    "path": "src/include/argcheck.h",
    "content": "/*************************************************************************\n * Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_ARGCHECK_H_\n#define NCCL_ARGCHECK_H_\n\n#include \"core.h\"\n#include \"info.h\"\n\nncclResult_t PtrCheck(void* ptr, const char* opname, const char* ptrname);\nncclResult_t CommCheck(struct ncclComm* ptr, const char* opname, const char* ptrname);\nncclResult_t ArgsCheck(struct ncclInfo* info);\nncclResult_t CudaPtrCheck(const void* pointer, struct ncclComm* comm, const char* ptrname, const char* opname);\n\n#endif\n"
  },
  {
    "path": "src/include/bitops.h",
    "content": "/*************************************************************************\n * Copyright (c) 2019-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_BITOPS_H_\n#define NCCL_BITOPS_H_\n\n#include <stdint.h>\n#include <string.h>\n\n#if !__NVCC__\n  #ifndef __host__\n    #define __host__\n  #endif\n  #ifndef __device__\n    #define __device__\n  #endif\n#endif\n\ntemplate<typename Int>\nconstexpr static __host__ __device__ Int minval(Int a) { return a; }\ntemplate<typename Int, typename ...More>\nconstexpr static __host__ __device__ Int minval(Int a, Int b, More ...more) {\n  #if __CUDA_ARCH__\n    return minval(min(a, b), more...);\n  #else\n    return minval(a < b ? a : b, more...);\n  #endif\n}\n\ntemplate<typename Int>\nconstexpr static __host__ __device__ Int maxval(Int a) { return a; }\ntemplate<typename Int, typename ...More>\nconstexpr static __host__ __device__ Int maxval(Int a, Int b, More ...more) {\n  #if __CUDA_ARCH__\n    return maxval(max(a, b), more...);\n  #else\n    return maxval(a > b ? a : b, more...);\n  #endif\n}\n\n#define BIT(x) (1UL << (x))\n#define MASK(x) ((1UL << x) - 1UL)\n\n#define DIVUP(x, y) \\\n    (((x)+(y)-1)/(y))\n\n#define ROUNDUP(x, y) \\\n    (DIVUP((x), (y))*(y))\n\n#define ALIGN_POWER(x, y) \\\n    ((x) > (y) ? ROUNDUP(x, y) : ((y)/((y)/(x))))\n\n#define ALIGN_SIZE(size, align) \\\n  size = ((size + (align) - 1) / (align)) * (align);\n\ntemplate<typename X, typename Y, typename Z = decltype(X()+Y())>\nstatic __host__ __device__ constexpr Z divUp(X x, Y y) {\n  return (x+y-1)/y;\n}\n\ntemplate<typename X, typename Y, typename Z = decltype(X()+Y())>\nstatic __host__ __device__ constexpr Z roundUp(X x, Y y) {\n  return (x+y-1) - (x+y-1)%y;\n}\ntemplate<typename X, typename Y, typename Z = decltype(X()+Y())>\nstatic __host__ __device__ constexpr Z roundDown(X x, Y y) {\n  return x - x%y;\n}\n\n// assumes second argument is a power of 2\ntemplate<typename X, typename Y, typename Z = decltype(X()+Y())>\nstatic __host__ __device__ constexpr Z alignUp(X x, Y a) {\n  return (x + a-1) & -Z(a);\n}\ntemplate<typename T>\nstatic __host__ __device__ T* alignUp(T* x, size_t a) {\n  static_assert(sizeof(T) == 1, \"Only single byte types allowed.\");\n  return reinterpret_cast<T*>((reinterpret_cast<uintptr_t>(x) + a-1) & -uintptr_t(a));\n}\n\n// assumes second argument is a power of 2\ntemplate<typename X, typename Y, typename Z = decltype(X()+Y())>\nstatic __host__ __device__ constexpr Z alignDown(X x, Y a) {\n  return x & -Z(a);\n}\n\ntemplate<typename T>\nstatic __host__ __device__ T* alignDown(T* x, size_t a) {\n  static_assert(sizeof(T) == 1, \"Only single byte types allowed.\");\n  return reinterpret_cast<T*>(reinterpret_cast<uintptr_t>(x) & -uintptr_t(a));\n}\n\ntemplate<typename Int>\nconstexpr __host__ __device__ bool isPow2(Int x) {\n  return (x & (x-1)) == 0;\n}\n\ntemplate<typename T>\nstatic __host__ __device__ T add4G(T base, int delta4G) {\n  union { T tmp; uint32_t u32[2]; };\n  tmp = base;\n  u32[1] += delta4G;\n  return tmp;\n}\n\ntemplate<typename T>\nstatic __host__ __device__ T incWrap4G(T ptr, uint32_t delta4G, uint32_t lo4G, uint32_t hi4G) {\n  union { T tmp; uint32_t u32[2]; };\n  tmp = ptr;\n  u32[1] += delta4G;\n  if (u32[1] >= hi4G) u32[1] -= hi4G-lo4G;\n  return tmp;\n}\n\ntemplate<typename T>\nstatic __host__ __device__ T decWrap4G(T ptr, uint32_t delta4G, uint32_t lo4G, uint32_t hi4G) {\n  union { T tmp; uint32_t u32[2]; };\n  tmp = ptr;\n  u32[1] -= delta4G;\n  if (u32[1] < lo4G) u32[1] += hi4G-lo4G;\n  return tmp;\n}\n\n// Produce the reciprocal of x for use in idivByRcp\nconstexpr __host__ __device__ uint32_t idivRcp32(uint32_t x) {\n  return uint32_t(uint64_t(0x100000000)/x);\n}\nconstexpr __host__ __device__ uint64_t idivRcp64(uint64_t x) {\n  return uint64_t(-1)/x + isPow2(x);\n}\n\nstatic __host__ __device__ uint32_t mul32hi(uint32_t a, uint32_t b) {\n#if __CUDA_ARCH__\n  return __umulhi(a, b);\n#else\n  return uint64_t(a)*b >> 32;\n#endif\n}\nstatic __host__ __device__ uint64_t mul64hi(uint64_t a, uint64_t b) {\n#if __CUDA_ARCH__\n  return __umul64hi(a, b);\n#else\n  return (uint64_t)(((unsigned __int128)a)*b >> 64);\n#endif\n}\n\n// Produce the reciprocal of x*y given their respective reciprocals. This incurs\n// no integer division on device.\nstatic __host__ __device__ uint32_t imulRcp32(uint32_t x, uint32_t xrcp, uint32_t y, uint32_t yrcp) {\n  if (xrcp == 0) return yrcp;\n  if (yrcp == 0) return xrcp;\n  uint32_t rcp = mul32hi(xrcp, yrcp);\n  uint32_t rem = -x*y*rcp;\n  if (x*y <= rem) rcp += 1;\n  return rcp;\n}\nstatic __host__ __device__ uint64_t imulRcp64(uint64_t x, uint64_t xrcp, uint64_t y, uint64_t yrcp) {\n  if (xrcp == 0) return yrcp;\n  if (yrcp == 0) return xrcp;\n  uint64_t rcp = mul64hi(xrcp, yrcp);\n  uint64_t rem = -x*y*rcp;\n  if (x*y <= rem) rcp += 1;\n  return rcp;\n}\n\n// Fast integer division where divisor has precomputed reciprocal.\n// idivFast(x, y, idivRcp(y)) == x/y\nstatic __host__ __device__ void idivmodFast32(uint32_t *quo, uint32_t *rem, uint32_t x, uint32_t y, uint32_t yrcp) {\n  uint32_t q = x, r = 0;\n  if (yrcp != 0) {\n    q = mul32hi(x, yrcp);\n    r = x - y*q;\n    if (r >= y) { q += 1; r -= y; }\n  }\n  *quo = q;\n  *rem = r;\n}\nstatic __host__ __device__ void idivmodFast64(uint64_t *quo, uint64_t *rem, uint64_t x, uint64_t y, uint64_t yrcp) {\n  uint64_t q = x, r = 0;\n  if (yrcp != 0) {\n    q = mul64hi(x, yrcp);\n    r = x - y*q;\n    if (r >= y) { q += 1; r -= y; }\n  }\n  *quo = q;\n  *rem = r;\n}\n\nstatic __host__ __device__ uint32_t idivFast32(uint32_t x, uint32_t y, uint32_t yrcp) {\n  uint32_t q, r;\n  idivmodFast32(&q, &r, x, y, yrcp);\n  return q;\n}\nstatic __host__ __device__ uint32_t idivFast64(uint64_t x, uint64_t y, uint64_t yrcp) {\n  uint64_t q, r;\n  idivmodFast64(&q, &r, x, y, yrcp);\n  return q;\n}\n\nstatic __host__ __device__ uint32_t imodFast32(uint32_t x, uint32_t y, uint32_t yrcp) {\n  uint32_t q, r;\n  idivmodFast32(&q, &r, x, y, yrcp);\n  return r;\n}\nstatic __host__ __device__ uint32_t imodFast64(uint64_t x, uint64_t y, uint64_t yrcp) {\n  uint64_t q, r;\n  idivmodFast64(&q, &r, x, y, yrcp);\n  return r;\n}\n\ntemplate<typename Int>\nstatic __host__ __device__ int countOneBits(Int x) {\n#if __CUDA_ARCH__\n  if (sizeof(Int) <= sizeof(unsigned int)) {\n    return __popc((unsigned int)x);\n  } else if (sizeof(Int) <= sizeof(unsigned long long)) {\n    return __popcll((unsigned long long)x);\n  } else {\n    static_assert(sizeof(Int) <= sizeof(unsigned long long), \"Unsupported integer size.\");\n    return -1;\n  }\n#else\n  if (sizeof(Int) <= sizeof(unsigned int)) {\n    return __builtin_popcount((unsigned int)x);\n  } else if (sizeof(Int) <= sizeof(unsigned long)) {\n    return __builtin_popcountl((unsigned long)x);\n  } else if (sizeof(Int) <= sizeof(unsigned long long)) {\n    return __builtin_popcountll((unsigned long long)x);\n  } else {\n    static_assert(sizeof(Int) <= sizeof(unsigned long long), \"Unsupported integer size.\");\n    return -1;\n  }\n#endif\n}\n\n// Returns index of first one bit or returns -1 if mask is zero.\ntemplate<typename Int>\nstatic __host__ __device__ int firstOneBit(Int mask) {\n  int i;\n#if __CUDA_ARCH__\n  if (sizeof(Int) <= sizeof(int)) {\n    i = __ffs((int)mask);\n  } else if (sizeof(Int) <= sizeof(long long)) {\n    i = __ffsll((long long)mask);\n  } else {\n    static_assert(sizeof(Int) <= sizeof(long long), \"Unsupported integer size.\");\n  }\n#else\n  if (sizeof(Int) <= sizeof(int)) {\n    i = __builtin_ffs((int)mask);\n  } else if (sizeof(Int) <= sizeof(long)) {\n    i = __builtin_ffsl((long)mask);\n  } else if (sizeof(Int) <= sizeof(long long)) {\n    i = __builtin_ffsll((long long)mask);\n  } else {\n    static_assert(sizeof(Int) <= sizeof(long long), \"Unsupported integer size.\");\n  }\n#endif\n  return i-1;\n}\n\ntemplate<typename Int>\nstatic __host__ __device__ int popFirstOneBit(Int* mask) {\n  Int tmp = *mask;\n  *mask &= *mask-1;\n  return firstOneBit(tmp);\n}\n\ntemplate<typename Int>\nstatic __host__ __device__ int log2Down(Int x) {\n  int w, n;\n#if __CUDA_ARCH__\n  if (sizeof(Int) <= sizeof(int)) {\n    w = 8*sizeof(int);\n    n = __clz((int)x);\n  } else if (sizeof(Int) <= sizeof(long long)) {\n    w = 8*sizeof(long long);\n    n = __clzll((long long)x);\n  } else {\n    static_assert(sizeof(Int) <= sizeof(long long), \"Unsupported integer size.\");\n  }\n#else\n  if (x == 0) {\n    return -1;\n  } else if (sizeof(Int) <= sizeof(unsigned int)) {\n    w = 8*sizeof(unsigned int);\n    n = __builtin_clz((unsigned int)x);\n  } else if (sizeof(Int) <= sizeof(unsigned long)) {\n    w = 8*sizeof(unsigned long);\n    n = __builtin_clzl((unsigned long)x);\n  } else if (sizeof(Int) <= sizeof(unsigned long long)) {\n    w = 8*sizeof(unsigned long long);\n    n = __builtin_clzll((unsigned long long)x);\n  } else {\n    static_assert(sizeof(Int) <= sizeof(unsigned long long), \"Unsupported integer size.\");\n  }\n#endif\n  return (w-1)-n;\n}\n\ntemplate<typename Int>\nstatic __host__ __device__ int log2Up(Int x) {\n  int w, n;\n  if (x != 0) x -= 1;\n#if __CUDA_ARCH__\n  if (sizeof(Int) <= sizeof(int)) {\n    w = 8*sizeof(int);\n    n = __clz((int)x);\n  } else if (sizeof(Int) <= sizeof(long long)) {\n    w = 8*sizeof(long long);\n    n = __clzll((long long)x);\n  } else {\n    static_assert(sizeof(Int) <= sizeof(long long), \"Unsupported integer size.\");\n  }\n#else\n  if (x == 0) {\n    return 0;\n  } else if (sizeof(Int) <= sizeof(unsigned int)) {\n    w = 8*sizeof(unsigned int);\n    n = __builtin_clz((unsigned int)x);\n  } else if (sizeof(Int) <= sizeof(unsigned long)) {\n    w = 8*sizeof(unsigned long);\n    n = __builtin_clzl((unsigned long)x);\n  } else if (sizeof(Int) <= sizeof(unsigned long long)) {\n    w = 8*sizeof(unsigned long long);\n    n = __builtin_clzll((unsigned long long)x);\n  } else {\n    static_assert(sizeof(Int) <= sizeof(unsigned long long), \"Unsupported integer size.\");\n  }\n#endif\n  return w-n;\n}\n\ntemplate<typename Int>\nstatic __host__ __device__ Int pow2Up(Int x) {\n  return Int(1)<<log2Up(x);\n}\n\ntemplate<typename Int>\nstatic __host__ __device__ Int pow2Down(Int x) {\n  // True, log2Down can return -1, but we don't normally pass 0 as an argument...\n  // coverity[negative_shift]\n  return Int(1)<<log2Down(x);\n}\n\ntemplate<typename UInt, int nSubBits>\nstatic __host__ __device__ UInt reverseSubBits(UInt x) {\n  if (nSubBits >= 16 && 8*sizeof(UInt) == nSubBits) {\n    switch (8*sizeof(UInt)) {\n    case 16: x = __builtin_bswap16(x); break;\n    case 32: x = __builtin_bswap32(x); break;\n    case 64: x = __builtin_bswap64(x); break;\n    default: static_assert(8*sizeof(UInt) <= 64, \"Unsupported integer type.\");\n    }\n    return reverseSubBits<UInt, 8>(x);\n  } else if (nSubBits <= 1) {\n    return x;\n  } else {\n    UInt m = UInt(-1)/((UInt(1)<<(nSubBits/2))+1);\n    x = (x & m)<<(nSubBits/2) | (x & ~m)>>(nSubBits/2);\n    return reverseSubBits<UInt, nSubBits/2>(x);\n  }\n}\n\ntemplate<typename T> struct ncclToUnsigned;\ntemplate<> struct ncclToUnsigned<char> { using type = unsigned char; };\ntemplate<> struct ncclToUnsigned<signed char> { using type = unsigned char; };\ntemplate<> struct ncclToUnsigned<unsigned char> { using type = unsigned char; };\ntemplate<> struct ncclToUnsigned<signed short> { using type = unsigned short; };\ntemplate<> struct ncclToUnsigned<unsigned short> { using type = unsigned short; };\ntemplate<> struct ncclToUnsigned<signed int> { using type = unsigned int; };\ntemplate<> struct ncclToUnsigned<unsigned int> { using type = unsigned int; };\ntemplate<> struct ncclToUnsigned<signed long> { using type = unsigned long; };\ntemplate<> struct ncclToUnsigned<unsigned long> { using type = unsigned long; };\ntemplate<> struct ncclToUnsigned<signed long long> { using type = unsigned long long; };\ntemplate<> struct ncclToUnsigned<unsigned long long> { using type = unsigned long long; };\n\n// Reverse the bottom nBits bits of x. The top bits will be overwritten with 0's.\ntemplate<typename Int>\nstatic __host__ __device__ Int reverseBits(Int x, int nBits) {\n  using UInt = typename ncclToUnsigned<Int>::type;\n  union { UInt ux; Int sx; };\n  sx = x;\n  #if __CUDA_ARCH__\n    if (sizeof(Int) <= sizeof(unsigned int)) {\n      ux = __brev(ux);\n    } else if (sizeof(Int) <= sizeof(unsigned long long)) {\n      ux = __brevll(ux);\n    } else {\n      static_assert(sizeof(Int) <= sizeof(unsigned long long), \"Unsupported integer type.\");\n    }\n  #else\n    ux = reverseSubBits<UInt, 8*sizeof(UInt)>(ux);\n  #endif\n  ux = nBits==0 ? 0 : ux>>(8*sizeof(UInt)-nBits);\n  return sx;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Custom 8 bit floating point format for approximating 32 bit uints. This format\n// has nearly the full range of uint32_t except it only keeps the top 3 bits\n// beneath the leading 1 bit and thus has a max value of 0xf0000000.\n\nstatic __host__ __device__ uint32_t u32fpEncode(uint32_t x, int bitsPerPow2) {\n  int log2x;\n  #if __CUDA_ARCH__\n    log2x = 31-__clz(x|1);\n  #else\n    log2x = 31-__builtin_clz(x|1);\n  #endif\n  uint32_t mantissa = x>>(log2x >= bitsPerPow2 ? log2x-bitsPerPow2 : 0) & ((1u<<bitsPerPow2)-1);\n  uint32_t exponent = log2x >= bitsPerPow2 ? log2x-(bitsPerPow2-1) : 0;\n  return exponent<<bitsPerPow2 | mantissa;\n}\n\nstatic __host__ __device__ uint32_t u32fpDecode(uint32_t x, int bitsPerPow2) {\n  uint32_t exponent = x>>bitsPerPow2;\n  uint32_t mantissa = (x & ((1u<<bitsPerPow2)-1)) | (exponent!=0 ? 0x8 : 0);\n  if (exponent != 0) exponent -= 1;\n  return mantissa<<exponent;\n}\n\nconstexpr uint32_t u32fp8MaxValue() { return 0xf0000000; }\n\nstatic __host__ __device__ uint8_t u32fp8Encode(uint32_t x) {\n  return u32fpEncode(x, 3);\n}\nstatic __host__ __device__ uint32_t u32fp8Decode(uint8_t x) {\n  return u32fpDecode(x, 3);\n}\n\n// The hash isn't just a function of the bytes but also where the bytes are split\n// into different calls to eatHash().\nstatic __host__ __device__ void eatHash(uint64_t acc[2], const void* bytes, size_t size) {\n  char const* ptr = (char const*)bytes;\n  acc[0] ^= size;\n  while (size != 0) {\n    // Mix the accumulator bits.\n    acc[0] += acc[1];\n    acc[1] ^= acc[0];\n    acc[0] ^= acc[0] >> 31;\n    acc[0] *= 0x9de62bbc8cef3ce3;\n    acc[1] ^= acc[1] >> 32;\n    acc[1] *= 0x485cd6311b599e79;\n    // Read in a chunk of input.\n    size_t chunkSize = size < sizeof(uint64_t) ? size : sizeof(uint64_t);\n    uint64_t x = 0;\n    memcpy(&x, ptr, chunkSize);\n    ptr += chunkSize;\n    size -= chunkSize;\n    // Add to accumulator.\n    acc[0] += x;\n  }\n}\n\ntemplate<typename T>\nstatic __host__ __device__ void eatHash(uint64_t acc[2], const T* bytes) {\n  eatHash(acc, (const void*)bytes, sizeof(T));\n}\n\nstatic __host__ __device__ uint64_t digestHash(uint64_t const acc[2]) {\n  uint64_t h = acc[0];\n  h ^= h >> 31;\n  h *= 0xbac3bd562846de6b;\n  h += acc[1];\n  h ^= h >> 32;\n  h *= 0x995a187a14e7b445;\n  return h;\n}\n\nstatic __host__ __device__ uint64_t getHash(const void* bytes, size_t size) {\n  uint64_t acc[2] = {1, 1};\n  eatHash(acc, bytes, size);\n  return digestHash(acc);\n}\ntemplate<typename T>\nstatic __host__ __device__ uint64_t getHash(const T* bytes) {\n  return getHash((const void*)bytes, sizeof(T));\n}\n\n#endif\n"
  },
  {
    "path": "src/include/bootstrap.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_BOOTSTRAP_H_\n#define NCCL_BOOTSTRAP_H_\n\n#include \"nccl.h\"\n#include \"comm.h\"\n\nstruct ncclBootstrapHandle {\n  uint64_t magic;\n  union ncclSocketAddress addr;\n};\nstatic_assert(sizeof(struct ncclBootstrapHandle) <= sizeof(ncclUniqueId), \"Bootstrap handle is too large to fit inside NCCL unique ID\");\n\nncclResult_t bootstrapNetInit();\nncclResult_t bootstrapCreateRoot(struct ncclBootstrapHandle* handle, bool idFromEnv);\nncclResult_t bootstrapGetUniqueId(struct ncclBootstrapHandle* handle);\nncclResult_t bootstrapInit(int nHandles, void* handle, struct ncclComm* comm);\nncclResult_t bootstrapSplit(uint64_t magic, struct ncclComm* comm, struct ncclComm* parent, int color, int key, int* parentRanks);\nncclResult_t bootstrapAllGather(void* commState, void* allData, int size);\nncclResult_t bootstrapSend(void* commState, int peer, int tag, void* data, int size);\nncclResult_t bootstrapRecv(void* commState, int peer, int tag, void* data, int size);\nncclResult_t bootstrapBarrier(void* commState, int rank, int nranks, int tag);\nncclResult_t bootstrapBroadcast(void* commState, int rank, int nranks, int root, void* bcastData, int size);\nncclResult_t bootstrapIntraNodeBarrier(void* commState, int *ranks, int rank, int nranks, int tag);\nncclResult_t bootstrapIntraNodeAllGather(void* commState, int *ranks, int rank, int nranks, void* allData, int size);\nncclResult_t bootstrapIntraNodeBroadcast(void* commState, int *ranks, int rank, int nranks, int root, void* bcastData, int size);\nncclResult_t bootstrapClose(void* commState);\nncclResult_t bootstrapAbort(void* commState);\n#endif\n"
  },
  {
    "path": "src/include/ce_coll.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_CE_COLL_H_\n#define NCCL_CE_COLL_H_\n\n#include \"nccl.h\"\n#include \"nccl_common.h\"\n#include \"bitops.h\"\n\n// Memory operations per rank for different synchronization protocols\n#define NCCL_CE_SYNC_OPS_PER_RANK_MC 2\n#define NCCL_CE_SYNC_OPS_PER_RANK_UC 3\n\nstruct ncclCeColl {\n  uint8_t* baseUCSymReadyPtr;\n  uint8_t* baseUCSymComplPtr;\n  size_t baseUCSymReadyOffset;\n  size_t baseUCSymComplOffset;\n  uint32_t ceSeqNum;\n  bool useCompletePtr;\n  uint32_t intraBatchSyncFreq;\n  uint64_t intraBatchSyncMsgThreshold;\n  struct ncclDevrWindow* ceSyncWin;\n};\n\nstruct ncclCeInitTask {\n  struct ncclCeInitTask *next;\n  struct ncclComm* comm;\n};\n\nstruct alignas(16) ncclCeCollArgs {\n  ncclFunc_t func;\n  int rootRank;\n  size_t nElts;\n  size_t eltSize;\n  uint8_t* sendBuff;\n  uint8_t* recvBuff;\n  struct ncclDevrWindow* sendWin;\n  struct ncclDevrWindow* recvWin;\n};\n\nstruct ncclCeBatchOpsParams {\n  void** dsts;\n  void** srcs;\n  size_t* sizes;\n  size_t numOps;\n  bool intraBatchSync;\n#if CUDART_VERSION >= 12080\n  cudaMemcpyAttributes* attrs;\n  size_t* attrIdxs;\n  size_t numAttrs;\n#endif\n};\n\nbool ncclCeImplemented(ncclFunc_t coll, int/*ncclDevRedOp_t*/ red, ncclDataType_t ty);\n\nncclResult_t ncclCeInit(struct ncclComm* comm);\n\nncclResult_t ncclCeFinalize(struct ncclComm* comm);\n\nncclResult_t ncclMemOpSync(struct ncclComm* comm, cudaStream_t stream);\n\nncclResult_t ncclLaunchCeColl(struct ncclComm* comm, struct ncclKernelPlan* plan);\n\nncclResult_t ncclCeAllGather(struct ncclComm* comm, struct ncclCeCollArgs* args, cudaStream_t stream);\n\nncclResult_t ncclCeScatter(struct ncclComm* comm, struct ncclCeCollArgs* args, cudaStream_t stream);\n\nncclResult_t ncclCeGather(struct ncclComm* comm, struct ncclCeCollArgs* args, cudaStream_t stream);\n\nncclResult_t ncclCeAlltoAll(struct ncclComm* comm, struct ncclCeCollArgs* args, cudaStream_t stream);\n#endif /* NCCL_CE_COLL_H_ */\n"
  },
  {
    "path": "src/include/channel.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_CHANNEL_H_\n#define NCCL_CHANNEL_H_\n#include \"comm.h\"\n#include \"utils.h\"\n\n#include <algorithm>\n\nncclResult_t initChannel(struct ncclComm* comm, int channelid);\nncclResult_t initNvlsChannel(struct ncclComm* comm, int channelId, struct ncclComm* parent, bool share);\nncclResult_t initCollnetChannel(struct ncclComm* comm, int channelId, struct ncclComm* parent, bool share);\nncclResult_t freeChannel(struct ncclChannel* channel, int nRanks, int collnetNRanks, int nvlsNRanks);\n\ninline uint8_t ncclP2pChannelBaseForRound(struct ncclComm* comm, int p2pRound, int p2pBatchEnable = 0) {\n  int base;\n  if (comm->nNodes > 1) {\n    int nodeDelta = p2pRound/comm->maxLocalRanks;\n    int localDelta = p2pRound%comm->maxLocalRanks;\n    int batchSize = (comm->nNodes > 2 && p2pBatchEnable) ? NCCL_MAX_DEV_WORK_P2P_PER_BATCH : 1;\n    base = nodeDelta*divUp(comm->maxLocalRanks, batchSize);\n    base += localDelta/batchSize;\n  } else {\n    base = p2pRound;\n  }\n  return base & 0xff;\n}\n\n#endif\n"
  },
  {
    "path": "src/include/checks.h",
    "content": "/*************************************************************************\n * Copyright (c) 2019-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_CHECKS_H_\n#define NCCL_CHECKS_H_\n\n#include \"debug.h\"\n\n// Check CUDA RT calls\n#define CUDACHECK(cmd) do {                                 \\\n    cudaError_t err = cmd;                                  \\\n    if( err != cudaSuccess ) {                              \\\n        return rcclCudaErrorHandler(err);                   \\\n    }                                                       \\\n} while(false)\n\n#define CUDACHECKGOTO(cmd, RES, label) do {                 \\\n    cudaError_t err = cmd;                                  \\\n    if( err != cudaSuccess ) {                              \\\n        RES = rcclCudaErrorHandler(err);                    \\\n        goto label;                                         \\\n    }                                                       \\\n} while(false)\n\n// Report failure but clear error and continue\n#define CUDACHECKIGNORE(cmd) do {  \\\n    cudaError_t err = cmd;         \\\n    if( err != cudaSuccess ) {     \\\n        INFO(NCCL_ALL,\"%s:%d Cuda failure '%s'\", __FILE__, __LINE__, cudaGetErrorString(err)); \\\n        (void) cudaGetLastError(); \\\n    }                              \\\n} while(false)\n\n#include <errno.h>\n// Check system calls\n#define SYSCHECK(statement, name) do { \\\n  int retval; \\\n  SYSCHECKSYNC((statement), name, retval); \\\n  if (retval == -1) { \\\n    WARN(\"Call to \" name \" failed: %s\", strerror(errno)); \\\n    return ncclSystemError; \\\n  } \\\n} while (false)\n\n#define SYSCHECKSYNC(statement, name, retval) do { \\\n  retval = (statement); \\\n  if (retval == -1 && (errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)) { \\\n    INFO(NCCL_ALL,\"Call to \" name \" returned %s, retrying\", strerror(errno)); \\\n  } else { \\\n    break; \\\n  } \\\n} while(true)\n\n#define SYSCHECKGOTO(statement, name, RES, label) do { \\\n  int retval; \\\n  SYSCHECKSYNC((statement), name, retval); \\\n  if (retval == -1) { \\\n    WARN(\"Call to \" name \" failed: %s\", strerror(errno)); \\\n    RES = ncclSystemError; \\\n    goto label; \\\n  } \\\n} while (0)\n\n// Pthread calls don't set errno and never return EINTR.\n#define PTHREADCHECK(statement, name) do { \\\n  int retval = (statement); \\\n  if (retval != 0) { \\\n    WARN(\"Call to \" name \" failed: %s\", strerror(retval)); \\\n    return ncclSystemError; \\\n  } \\\n} while (0)\n\n#define PTHREADCHECKGOTO(statement, name, RES, label) do { \\\n  int retval = (statement); \\\n  if (retval != 0) { \\\n    WARN(\"Call to \" name \" failed: %s\", strerror(retval)); \\\n    RES = ncclSystemError; \\\n    goto label; \\\n  } \\\n} while (0)\n\n#define NEQCHECK(statement, value) do {   \\\n  if ((statement) != value) {             \\\n    /* Print the back trace*/             \\\n    INFO(NCCL_ALL,\"%s:%d -> %d (%s)\", __FILE__, __LINE__, ncclSystemError, strerror(errno));    \\\n    return ncclSystemError;     \\\n  }                             \\\n} while (0)\n\n#define NEQCHECKGOTO(statement, value, RES, label) do { \\\n  if ((statement) != value) { \\\n    /* Print the back trace*/ \\\n    RES = ncclSystemError;    \\\n    INFO(NCCL_ALL,\"%s:%d -> %d (%s)\", __FILE__, __LINE__, RES, strerror(errno));    \\\n    goto label; \\\n  } \\\n} while (0)\n\n#define EQCHECK(statement, value) do {    \\\n  if ((statement) == value) {             \\\n    /* Print the back trace*/             \\\n    INFO(NCCL_ALL,\"%s:%d -> %d (%s)\", __FILE__, __LINE__, ncclSystemError, strerror(errno));    \\\n    return ncclSystemError;     \\\n  }                             \\\n} while (0)\n\n#define EQCHECKGOTO(statement, value, RES, label) do { \\\n  if ((statement) == value) { \\\n    /* Print the back trace*/ \\\n    RES = ncclSystemError;    \\\n    INFO(NCCL_ALL,\"%s:%d -> %d (%s)\", __FILE__, __LINE__, RES, strerror(errno));    \\\n    goto label; \\\n  } \\\n} while (0)\n\n// Propagate errors up\n#define NCCLCHECK(call) do { \\\n  ncclResult_t RES = call; \\\n  if (RES != ncclSuccess && RES != ncclInProgress) { \\\n    /* Print the back trace*/ \\\n    if (ncclDebugNoWarn == 0) INFO(NCCL_ALL,\"%s:%d -> %d\", __FILE__, __LINE__, RES);    \\\n    return RES; \\\n  } \\\n} while (0)\n\n#define NCCLCHECKGOTO(call, RES, label) do { \\\n  RES = call; \\\n  if (RES != ncclSuccess && RES != ncclInProgress) { \\\n    /* Print the back trace*/ \\\n    if (ncclDebugNoWarn == 0) INFO(NCCL_ALL,\"%s:%d -> %d\", __FILE__, __LINE__, RES);    \\\n    goto label; \\\n  } \\\n} while (0)\n\n#define NCCLWAIT(call, cond, abortFlagPtr) do {         \\\n  uint32_t* tmpAbortFlag = (abortFlagPtr);     \\\n  ncclResult_t RES = call;                \\\n  if (RES != ncclSuccess && RES != ncclInProgress) {               \\\n    if (ncclDebugNoWarn == 0) INFO(NCCL_ALL,\"%s:%d -> %d\", __FILE__, __LINE__, RES);    \\\n    return ncclInternalError;             \\\n  }                                       \\\n  if (__atomic_load(tmpAbortFlag, __ATOMIC_ACQUIRE)) NEQCHECK(*tmpAbortFlag, 0); \\\n} while (!(cond))\n\n#define NCCLWAITGOTO(call, cond, abortFlagPtr, RES, label) do { \\\n  uint32_t* tmpAbortFlag = (abortFlagPtr);             \\\n  RES = call;                             \\\n  if (RES != ncclSuccess && RES != ncclInProgress) {               \\\n    if (ncclDebugNoWarn == 0) INFO(NCCL_ALL,\"%s:%d -> %d\", __FILE__, __LINE__, RES);    \\\n    goto label;                           \\\n  }                                       \\\n  if (__atomic_load(tmpAbortFlag, __ATOMIC_ACQUIRE)) NEQCHECKGOTO(*tmpAbortFlag, 0, RES, label); \\\n} while (!(cond))\n\n#define NCCLCHECKTHREAD(a, args) do { \\\n  if (((args)->ret = (a)) != ncclSuccess && (args)->ret != ncclInProgress) { \\\n    INFO(NCCL_INIT,\"%s:%d -> %d [Async thread]\", __FILE__, __LINE__, (args)->ret); \\\n    return args; \\\n  } \\\n} while(0)\n\n#define CUDACHECKTHREAD(a) do { \\\n  if ((a) != cudaSuccess) { \\\n    INFO(NCCL_INIT,\"%s:%d -> %d [Async thread]\", __FILE__, __LINE__, args->ret); \\\n    args->ret = ncclUnhandledCudaError; \\\n    return args; \\\n  } \\\n} while(0)\n\n#endif\n"
  },
  {
    "path": "src/include/coll_net.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef COLL_NET_H_\n#define COLL_NET_H_\n\n#include \"nccl.h\"\n#include \"nccl_net.h\"\n\ntypedef char collNetHandle_t[NCCL_NET_HANDLE_MAXSIZE];\n\n// Translation to external API\nstatic const char* collNetName(struct ncclComm* comm) { return comm->ncclCollNet->name; }\nstatic ncclResult_t collNetDevices(struct ncclComm* comm, int* ndev) { NCCLCHECK(comm->ncclCollNet->devices(ndev)); return ncclSuccess; }\nstatic ncclResult_t collNetGetProperties(struct ncclComm* comm, int dev, ncclNetProperties_t* props) { NCCLCHECK(comm->ncclCollNet->getProperties(dev, props)); return ncclSuccess; }\nstatic ncclResult_t collNetListen(struct ncclComm* comm, int dev, void* handle, void** listenComm) { NCCLCHECK(comm->ncclCollNet->listen(comm->collNetContext, dev, handle, listenComm)); return ncclSuccess; }\nstatic ncclResult_t collNetConnect(struct ncclComm* comm, void* handles[], int nranks, int rank, void* listenComm, void** collComm) { NCCLCHECK(comm->ncclCollNet->connect(handles, nranks, rank, listenComm, collComm)); return ncclSuccess; }\nstatic ncclResult_t collNetReduceSupport(struct ncclComm* comm, ncclDataType_t dataType, ncclRedOp_t redOp, int* supported) { NCCLCHECK(comm->ncclCollNet->reduceSupport(dataType, redOp, supported)); return ncclSuccess; }\nstatic ncclResult_t collNetRegMr(struct ncclComm* comm, void* collComm, void* data, size_t size, int type, void** mhandle) { NCCLCHECK(comm->ncclCollNet->regMr(collComm, data, size, type, mhandle)); return ncclSuccess; }\n/* DMA-BUF support */\nstatic ncclResult_t collNetRegMrDmaBuf(struct ncclComm* comm, void* collComm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle) { NCCLCHECK(comm->ncclCollNet->regMrDmaBuf(collComm, data, size, type, offset, fd, mhandle)); return ncclSuccess; }\nstatic ncclResult_t collNetDeregMr(struct ncclComm* comm, void* collComm, void* mhandle) { NCCLCHECK(comm->ncclCollNet->deregMr(collComm, mhandle)); return ncclSuccess; }\nstatic ncclResult_t collNetIallreduce(struct ncclComm* comm, void* collComm, void* sendData, void* recvData, int count, ncclDataType_t dataType, ncclRedOp_t redOp, void* sendMhandle, void* recvMhandle,  void** request) {\n  NCCLCHECK(comm->ncclCollNet->iallreduce(collComm, sendData, recvData, count, dataType, redOp, sendMhandle, recvMhandle, request)); return ncclSuccess; }\nstatic ncclResult_t collNetIflush(struct ncclComm* comm, void* collComm, void* data, int size, void* mhandle, void** request) { NCCLCHECK(comm->ncclCollNet->iflush(collComm, data, size, mhandle, request)); return ncclSuccess; }\nstatic ncclResult_t collNetTest(struct ncclComm* comm, void* request, int* done, int* size) { NCCLCHECK(comm->ncclCollNet->test(request, done, size)); return ncclSuccess; }\nstatic ncclResult_t collNetCloseColl(struct ncclComm* comm, void* collComm) { NCCLCHECK(comm->ncclCollNet->closeColl(collComm)); return ncclSuccess; }\nstatic ncclResult_t collNetCloseListen(struct ncclComm* comm, void* listenComm) { NCCLCHECK(comm->ncclCollNet->closeListen(listenComm)); return ncclSuccess; }\nstatic ncclResult_t collNetFinalize(struct ncclComm* comm, void* ctx) { NCCLCHECK(comm->ncclCollNet->finalize(ctx)); return ncclSuccess; }\n\nstatic int collNetSupport(struct ncclComm* comm) { return comm->ncclCollNet != nullptr ? 1 : 0; }\n\n#endif\n"
  },
  {
    "path": "src/include/collectives.h",
    "content": "/*************************************************************************\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_COLLECTIVES_H_\n#define NCCL_COLLECTIVES_H_\n\n#include \"nccl.h\"\n#include \"nccl_tuner.h\"\n#include \"device.h\"\n\n#define NCCL_MAX_NET_SIZE (1024*1024*1024L) // Rather than send INT_MAX which is 2G-1, send a power of two.\n\n// CHUNKSIZE must be a multiple of SLICESIZE\n// RCCL: Benchmarking on single node for MI300X showed improved throughput for single node always using\n// a single slice, so we have separate configurations for single node and multi-node.  Single node configs\n// are suffixed with _SINGLE_NODE.\n#define ALLREDUCE_SLICESTEPS (NCCL_STEPS/4)\n#define ALLREDUCE_SLICESTEPS_SINGLE_NODE (NCCL_STEPS/2)\n#define ALLREDUCE_CHUNKSTEPS (NCCL_STEPS/2)\n#define ALLGATHER_SLICESTEPS (NCCL_STEPS/4)\n#define ALLGATHER_SLICESTEPS_SINGLE_NODE (NCCL_STEPS/2)\n#define ALLGATHER_CHUNKSTEPS (NCCL_STEPS/2)\n#define ALLTOALL_SLICESTEPS 1\n#define ALLTOALL_CHUNKSTEPS 1\n#define REDUCESCATTER_SLICESTEPS (NCCL_STEPS/4)\n#define REDUCESCATTER_SLICESTEPS_SINGLE_NODE (NCCL_STEPS/2)\n#define REDUCESCATTER_CHUNKSTEPS (NCCL_STEPS/2)\n#define BROADCAST_SLICESTEPS 1\n#define BROADCAST_CHUNKSTEPS 1\n#define GATHER_SLICESTEPS 1\n#define GATHER_CHUNKSTEPS 1\n#define SCATTER_SLICESTEPS 1\n#define SCATTER_CHUNKSTEPS 1\n#define REDUCE_SLICESTEPS 1\n#define REDUCE_CHUNKSTEPS 1\n#define NCCL_MAX_SLICE_PER_CHUNK 2  // max value for CHUNKSTEPS/SLICESTEPS, must accord with above\n#define NCCL_MAX_NET_SIZE (1024*1024*1024L) // Rather than send INT_MAX which is 2G-1, send a power of two.\n#define ALLTOALL_PIVOT_SLICESTEPS 2\n#define ALLTOALL_PIVOT_CHUNKSTEPS 4\n\nstatic_assert(ALLREDUCE_CHUNKSTEPS == ALLREDUCE_SLICESTEPS_SINGLE_NODE, \"ALLREDUCE_CHUNKSTEPS must be equal to ALLREDUCE_SLICESTEPS_SINGLE_NODE\");\nstatic_assert(ALLGATHER_CHUNKSTEPS == ALLGATHER_SLICESTEPS_SINGLE_NODE, \"ALLGATHER_CHUNKSTEPS must be equal to ALLGATHER_SLICESTEPS_SINGLE_NODE\");\nstatic_assert(REDUCESCATTER_CHUNKSTEPS == REDUCESCATTER_SLICESTEPS_SINGLE_NODE, \"REDUCESCATTER_CHUNKSTEPS must be equal to REDUCESCATTER_SLICESTEPS_SINGLE_NODE\");\n\nconst char* ncclFuncToString(ncclFunc_t op);\nconst char* ncclDevRedOpToString(ncclDevRedOp_t op);\nconst char* ncclDatatypeToString(ncclDataType_t type);\nconst char* ncclAlgoToString(int algo);\nconst char* ncclProtoToString(int proto);\n\ninline int ncclTypeSize(ncclDataType_t type) {\n  switch (type) {\n  case ncclInt8:\n  case ncclUint8:\n  case ncclFloat8e4m3:\n  case ncclFloat8e5m2:\n    return 1;\n  case ncclFloat16:\n  case ncclBfloat16:\n    return 2;\n  case ncclInt32:\n  case ncclUint32:\n  case ncclFloat32:\n    return 4;\n  case ncclInt64:\n  case ncclUint64:\n  case ncclFloat64:\n    return 8;\n  default:\n    return -1;\n  }\n}\n\n#include <sys/types.h>\n\n#define NCCL_MODE_NORMAL 0\n#define NCCL_MODE_OFFSET 1\n#define NCCL_MODE_PTR    2\nstruct ncclConnFifo {\n  int mode;\n  int offset;\n  ssize_t size;\n  void* ptr;\n};\n\n#include <stdio.h>\n\nclass RingAlgorithm {\nprotected:\n  int refCount;\n  int nRanks;\n  int nStepsPerLoop;\n  int chunkSteps;\n  int sliceSteps;\n  ssize_t sliceSize;\n  ssize_t loopSize;\n  ssize_t channelSize;\n  uint8_t *sendbuff;\n  uint8_t *recvbuff;\n  void *sendMhandle;\n  void *recvMhandle;\n  void *srecvMhandle;\npublic:\n  // this ring class is used by proxy thread to retrieve the send and recv buffer, size as well as corresponding\n  // mem handle based on the current step of the proxy args. The derived ring algo class is AR, AG, and BC which\n  // would be allocated during enqueue stage and copied to proxy side through shared memory. For each copy, we will\n  // increase the refCount by incRefCount() since the same ring algo object can be referenced multiple times for send\n  // and recv progress. After all steps are done, we decrease the refCount and only delete the ring object when\n  // refCount == 0.\n  virtual void getNextSendAddr(int curStep, uint8_t **sendbuffOut, size_t *sizeOut, void **mhandleOut) = 0;\n  virtual void getNextRecvAddr(int curStep, uint8_t **recvbuffOut, size_t *sizeOut, void **mhandleOut) = 0;\n  int incRefCount() {\n    return __atomic_add_fetch(&refCount, 1, __ATOMIC_RELAXED);\n  }\n  int decRefCount() {\n    return __atomic_sub_fetch(&refCount, 1, __ATOMIC_RELEASE);\n  }\n  RingAlgorithm() { refCount = 0; }\n  virtual ~RingAlgorithm() {};\n};\n\nclass RingARAlgorithm : public RingAlgorithm {\nprivate:\n  int ringIndex;\n  int elemSize;\n  ssize_t chunkSize;\n  int slicePerChunk;\npublic:\n  void getNextSendAddr(int curStep, uint8_t **sendbuffOut, size_t *sizeOut, void **mhandleOut) {\n    int curLoop = curStep / nStepsPerLoop;\n    int curLoopStage = (curStep % nStepsPerLoop) / chunkSteps;\n    int chunkStage = curLoopStage % nRanks;\n    int sliceStage = (curStep % chunkSteps) / sliceSteps;\n    ssize_t elemOffset = curLoop * loopSize;\n    ssize_t remSize = channelSize - elemOffset;\n    ssize_t chunkOffset;\n    ssize_t sliceOffset;\n    ssize_t curSliceSize;\n    ssize_t curChunkSize;\n    ssize_t size;\n    ssize_t nelem;\n    int chunkId;\n\n    if (remSize < loopSize) {\n      curChunkSize = alignUp(divUp(remSize / elemSize, nRanks), 16 / elemSize) * elemSize;\n    } else {\n      curChunkSize = chunkSize;\n    }\n    chunkId = (ringIndex + nRanks - 1 - chunkStage) % nRanks;\n    chunkOffset = chunkId * curChunkSize;\n    nelem = std::min(remSize - chunkOffset, curChunkSize);\n    curSliceSize = std::max(divUp(nelem / elemSize, 16 * slicePerChunk) * 16, sliceSize / elemSize / 32) * elemSize;\n    sliceOffset = sliceStage * curSliceSize;\n\n    if (nelem <= sliceOffset) {\n      *sendbuffOut = sendbuff;\n      *mhandleOut = sendMhandle;\n    } else {\n      if (curLoopStage == 0) {\n        *sendbuffOut = sendbuff + elemOffset + chunkOffset + sliceOffset;\n        *mhandleOut = sendMhandle;\n      } else {\n        *sendbuffOut = recvbuff + elemOffset + chunkOffset + sliceOffset;\n        *mhandleOut = srecvMhandle;\n      }\n    }\n    size = std::min(curSliceSize, nelem - sliceOffset);\n    *sizeOut = size < 0 ? 0 : size;\n    return;\n  }\n\n  void getNextRecvAddr(int curStep, uint8_t **recvbuffOut, size_t *sizeOut, void **mhandleOut) {\n    int curLoop = curStep / nStepsPerLoop;\n    int curLoopStage = ((curStep + chunkSteps) % nStepsPerLoop) / chunkSteps;\n    int chunkStage = curLoopStage % nRanks;\n    int sliceStage = (curStep % chunkSteps) / sliceSteps;\n    ssize_t elemOffset = curLoop * loopSize;\n    ssize_t remSize = channelSize - elemOffset;\n    ssize_t chunkOffset;\n    ssize_t sliceOffset;\n    ssize_t curSliceSize;\n    ssize_t curChunkSize;\n    ssize_t size;\n    ssize_t nelem;\n    int chunkId;\n\n    if (remSize < loopSize) {\n      curChunkSize = alignUp(divUp(remSize / elemSize, nRanks), 16 / elemSize) * elemSize;\n    } else {\n      curChunkSize = chunkSize;\n    }\n\n    if (curLoopStage == 0) {\n      chunkId = (ringIndex + 1) % nRanks;\n    } else {\n      chunkId = (ringIndex + nRanks - 1 - chunkStage) % nRanks;\n    }\n\n    chunkOffset = chunkId * curChunkSize;\n    nelem = std::min(remSize - chunkOffset, curChunkSize);\n    curSliceSize = std::max(divUp(nelem / elemSize, 16 * slicePerChunk) * 16, sliceSize / elemSize / 32) * elemSize;\n    sliceOffset = sliceStage * curSliceSize;\n    if (nelem <= sliceOffset) {\n      *recvbuffOut = recvbuff;\n    } else {\n      *recvbuffOut = recvbuff + elemOffset + chunkOffset + sliceOffset;\n    }\n    if (sizeOut) {\n      size = std::min(curSliceSize, nelem - sliceOffset);\n      *sizeOut = size < 0 ? 0 : size;\n    }\n    *mhandleOut = recvMhandle;\n    return;\n  }\n\n  RingARAlgorithm(const void *sendbuff, void *recvbuff, int nRanks, int ringIndex, int chunkSteps, int sliceSteps, size_t chunkSize, size_t sliceSize, size_t gridOffset, size_t channelSize, int elemSize, void *sendMhandle, void *recvMhandle, void *srecvMhandle) {\n    this->ringIndex = ringIndex;\n    this->nRanks = nRanks;\n    this->nStepsPerLoop = 2 * (nRanks - 1) * chunkSteps;\n    this->chunkSteps = chunkSteps;\n    this->sliceSteps = sliceSteps;\n    this->chunkSize = chunkSize;\n    this->sliceSize = sliceSize;\n    this->loopSize = nRanks * chunkSize;\n    this->sendbuff = (uint8_t*)sendbuff + gridOffset;\n    this->recvbuff = (uint8_t*)recvbuff + gridOffset;\n    this->channelSize = channelSize;\n    this->elemSize = elemSize;\n    this->sendMhandle = sendMhandle;\n    this->recvMhandle = recvMhandle;\n    this->srecvMhandle = srecvMhandle;\n    this->slicePerChunk = chunkSteps / sliceSteps;\n  }\n  ~RingARAlgorithm() {}\n};\n\nclass RingAGAlgorithm : public RingAlgorithm {\nprivate:\n  int *ringRanks;\n  int elemSize;\n  ssize_t sendSize;\n  int slicePerChunk;\npublic:\n  void getNextSendAddr(int curStep, uint8_t **sendbuffOut, size_t *sizeOut, void **mhandleOut) {\n    int curLoop = curStep / nStepsPerLoop;\n    int chunkStage = (curStep % nStepsPerLoop) / chunkSteps;\n    int sliceStage = (curStep % chunkSteps) / sliceSteps;\n    ssize_t sliceOffset;\n    ssize_t curSliceSize;\n    ssize_t offset;\n    ssize_t elemOffset = curLoop * loopSize;\n    ssize_t chunkSize = std::min(loopSize, channelSize - elemOffset);\n    ssize_t size;\n    int rankDest;\n    uint8_t *buff;\n    void *mhandle;\n\n    curSliceSize = std::max(divUp(chunkSize / elemSize, 16 * slicePerChunk) * 16, sliceSize / elemSize / 32) * elemSize;\n    sliceOffset = sliceStage * curSliceSize;\n    if (chunkStage == 0) {\n      rankDest = ringRanks[0];\n      offset = elemOffset + sliceOffset;\n      buff = sendbuff + offset;\n      mhandle = sendMhandle;\n    } else {\n      rankDest = ringRanks[nRanks - chunkStage];\n      offset = elemOffset + rankDest * sendSize + sliceOffset;\n      buff = recvbuff + offset;\n      mhandle = srecvMhandle;\n    }\n    *sendbuffOut = buff;\n    size = std::min(curSliceSize, channelSize - elemOffset - sliceOffset);\n    *sizeOut = size < 0 ? 0 : size;\n    *mhandleOut = mhandle;\n    return;\n  }\n\n  void getNextRecvAddr(int curStep, uint8_t **recvbuffOut, size_t *sizeOut, void **mhandleOut) {\n    int curLoop = curStep / nStepsPerLoop;\n    int chunkStage = ((curStep + chunkSteps) % nStepsPerLoop) / chunkSteps;\n    int sliceStage = (curStep % chunkSteps) / sliceSteps;\n    ssize_t sliceOffset;\n    ssize_t curSliceSize;\n    ssize_t offset;\n    ssize_t elemOffset = curLoop * loopSize;\n    ssize_t chunkSize = std::min(loopSize, channelSize - elemOffset);\n    ssize_t size;\n    int rankDest;\n\n    curSliceSize = std::max(divUp(chunkSize / elemSize, 16 * slicePerChunk) * 16, sliceSize / elemSize / 32) * elemSize;\n    sliceOffset = sliceStage * curSliceSize;\n    if (chunkStage == 0) {\n      rankDest = ringRanks[1];\n    } else {\n      rankDest = ringRanks[nRanks - chunkStage];\n    }\n    offset = elemOffset + rankDest * sendSize + sliceOffset;\n    *recvbuffOut = recvbuff + offset;\n    if (sizeOut) {\n      size = std::min(sliceSize, channelSize - elemOffset - sliceOffset);\n      *sizeOut = size < 0 ? 0 : size;\n    }\n    *mhandleOut = recvMhandle;\n  }\n\n  RingAGAlgorithm(const void *sendbuff, void *recvbuff, int nRanks, int *ringRanks, int chunkSteps, int sliceSteps, size_t chunkSize, size_t sliceSize, size_t gridOffset, size_t channelSize, int elemSize, size_t sendSize, void *sendMhandle, void *recvMhandle, void *srecvMhandle) {\n    this->ringRanks = ringRanks;\n    this->nRanks = nRanks;\n    this->nStepsPerLoop = (nRanks - 1) * chunkSteps;\n    this->chunkSteps = chunkSteps;\n    this->sliceSteps = sliceSteps;\n    this->elemSize = elemSize;\n    this->sliceSize = sliceSize;\n    this->loopSize = chunkSize;\n    this->sendSize = sendSize;\n    this->channelSize = channelSize;\n    this->sendbuff = (uint8_t*)sendbuff + gridOffset;\n    this->recvbuff = (uint8_t*)recvbuff + gridOffset;\n    this->sendMhandle = sendMhandle;\n    this->recvMhandle = recvMhandle;\n    this->srecvMhandle = srecvMhandle;\n    this->slicePerChunk = chunkSteps / sliceSteps;\n  }\n  ~RingAGAlgorithm() {}\n};\n\nclass RingBCAlgorithm : public RingAlgorithm {\nprivate:\n  int root;\n  int rank;\n  int nextRank;\npublic:\n  void getNextSendAddr(int curStep, uint8_t **sendbuffOut, size_t *sizeOut, void **mhandleOut) {\n    int curLoop = curStep / nStepsPerLoop;\n    int sliceStage = (curStep % chunkSteps) / sliceSteps;\n    ssize_t sliceOffset = sliceStage * sliceSize;\n    ssize_t offset;\n    ssize_t elemOffset = curLoop * loopSize;\n    ssize_t size;\n    uint8_t *buff;\n    void *mhandle;\n\n    offset = elemOffset + sliceOffset;\n    if (offset >= channelSize) {\n      buff = sendbuff;\n      mhandle = sendMhandle;\n    } else if (rank == root) {\n      buff = sendbuff + offset;\n      mhandle = sendMhandle;\n    } else {\n      buff = recvbuff + offset;\n      mhandle = srecvMhandle;\n    }\n    *sendbuffOut = buff;\n    size = std::min(sliceSize, channelSize - offset);\n    *sizeOut = size < 0 ? 0 : size;\n    *mhandleOut = mhandle;\n    return;\n  }\n\n  void getNextRecvAddr(int curStep, uint8_t **recvbuffOut, size_t *sizeOut, void **mhandleOut) {\n    int curLoop = curStep / nStepsPerLoop;\n    int sliceStage = (curStep % chunkSteps) / sliceSteps;\n    ssize_t sliceOffset = sliceStage * sliceSize;\n    ssize_t offset;\n    ssize_t elemOffset = curLoop * loopSize;\n    ssize_t size;\n    offset = elemOffset + sliceOffset;\n    if (offset >= channelSize) {\n      *recvbuffOut = recvbuff;\n    } else {\n      *recvbuffOut = recvbuff + offset;\n    }\n    if (sizeOut) {\n      size = std::min(sliceSize, channelSize - offset);\n      *sizeOut = size < 0 ? 0 : size;\n    }\n    *mhandleOut = recvMhandle;\n    return;\n  }\n\n  RingBCAlgorithm(const void* sendbuff, void* recvbuff, int rank, int root, int nRanks, int *ringRanks, int chunkSteps, int sliceSteps, size_t chunkSize, size_t sliceSize, size_t gridOffset, size_t channelSize, void *sendMhandle, void *recvMhandle, void *srecvMhandle) {\n    this->root = root;\n    this->rank = rank;\n    this->nextRank = ringRanks[1];\n    this->nStepsPerLoop = chunkSteps;\n    this->chunkSteps = chunkSteps;\n    this->sliceSteps = sliceSteps;\n    this->sliceSize = sliceSize;\n    this->loopSize = chunkSize;\n    this->channelSize = channelSize;\n    this->sendbuff = (uint8_t*)sendbuff + gridOffset;\n    this->recvbuff = (uint8_t*)recvbuff + gridOffset;\n    this->sendMhandle = sendMhandle;\n    this->recvMhandle = recvMhandle;\n    this->srecvMhandle = srecvMhandle;\n  }\n  ~RingBCAlgorithm() {}\n};\n\n#if !defined (__CUDA_ARCH__) || __CUDA_ARCH__ >= 600\n// #include <cuda/atomic>\n#endif\n\n// Need a power of two to ensure it divides by parallelFactor (which is also a power of two)\n#define NCCL_PAT_NWORKERS 128\n\nstatic constexpr int PatUsed = 0x1,\n                     PatSkipped = 0x2;\n\nstruct ncclPatStep {\n  int recvDim, sendDim, recvOffset, sendOffset, stepOffset, postRecv, postSend, nelem, last, flags;\n  size_t inpIx, outIx;\n};\n\nstruct ncclPatPeer {\n    uint64_t step;\n    struct ncclConnInfo* conn;\n    struct ncclConnFifo* connFifo;\n    void* buff;\n    uint64_t *headPtr;\n    uint64_t *tailPtr;\n    uint64_t stepCache;\n    long long int accSize;\n    int connStepSize;\n};\n\n#define NCCL_SHMEM_PAT_STEPS 32\nstruct ncclPatShmem {\n  struct ncclPatStep patSteps[NCCL_SHMEM_PAT_STEPS];\n  int parallelFactor;\n  long long int localAccSize;\n  struct ncclPatPeer sendDims[32]; // Should cover 2^32 ranks\n  struct ncclPatPeer recvDims[32];\n};\n\ntemplate<typename T>\nclass PatRSAlgorithm{\n  size_t offset;\n  size_t end;\n  size_t count;\n  int chunkCount;\n  int nelem;\n  int rank;\n  int nranks;\n  int nrPow2;\n  int postFreq;\n  int lastA;\n  int parallelFactor;\n  int aggFactor;\n  int as; // aggregated steps\n  int a; // step inside aggregated step\n  int sendSkipped; // number of skipped steps during aggregation\n  int stepOffset;\n  int aggDelta;\n  int scale;\n  int phase;\n\n  __device__ __host__ ssize_t min(ssize_t a, ssize_t b) {\n    return (a<b)?a:b;\n  }\n\n  __device__ __host__ int getNelem() {\n    return min(chunkCount, end-offset);\n  }\n\n  __device__ __host__ int mirrorInvert(int i, int max) {\n    int ret = 0;\n    for (int mask=1, imask=max/2; mask<max; mask<<=1, imask>>=1) {\n      if ((i&mask) == 0) ret += imask;\n    }\n    return ret;\n  }\n\n  __device__ __host__ int firstBitSet(int i, int max) {\n    int ffs =\n#ifdef __CUDA_ARCH__\n      __ffs(i);\n#else\n      __builtin_ffs(i);\n#endif\n    return ffs ? ffs-1 : max;\n  }\n\n  __device__ __host__ void resetA() {\n    a = 0;\n    sendSkipped = stepOffset = 0;\n    lastA = aggFactor;\n    if (phase >= 2) lastA /= 2*scale;\n    if (phase == 4) lastA = 1;\n  }\n\n  __device__ __host__ void reset() {\n    nelem = getNelem();\n    phase = 0;\n    scale = 1;\n    as = aggDelta - 1;\n    resetA();\n  }\n\n  __device__ __host__ int nBitsSet(int i) {\n    int nbits =\n#ifdef __CUDA_ARCH__\n      __popc(i);\n#else\n      __builtin_popcount(i);\n#endif\n    return nbits;\n  }\n\n  // Return 1 when only upper bits are set. For example, if nrpow2==16 we'll return 1 for 8, 12, 14, 15.\n  // A number being in the form of 1111000 implies that the complementary is 0000111 meaning it's a power of 2 minus 1.\n  __device__ __host__ int newPeer(int i, int pow2) {\n    //printf(\"New peer %d/%d -> %d\\n\", i, pow2, nBitsSet((i ^ (pow2-1)) + 1) == 1 ? 1 : 0);\n    return nBitsSet((i ^ (pow2-1)) + 1) == 1 ? 1 : 0;\n  }\n\npublic:\n   __device__ __host__ PatRSAlgorithm(int stepSize, int stepDepth, int maxParallelFactor, size_t offset, size_t end, size_t count, int chunkCount, int rank, int nranks):\n     offset(offset), end(end), count(count), chunkCount(chunkCount), rank(rank), nranks(nranks) {\n    parallelFactor = maxParallelFactor;\n    aggDelta = nrPow2 = (1<<log2Up(nranks));\n\n    aggFactor = 1;\n    size_t channelSize = end-offset;\n    while (stepSize / (channelSize*sizeof(T)*aggFactor) >= 2 && aggFactor < nranks/2) {\n      aggFactor *= 2;\n      aggDelta /= 2;\n    }\n    postFreq = aggFactor;\n    if (postFreq < parallelFactor) parallelFactor = postFreq;\n    int d = stepDepth;\n    while (d > 1 && aggFactor < nranks/2) {\n      d /= 2;\n      aggFactor *= 2;\n      aggDelta /= 2;\n    }\n\n    reset();\n  }\n\n  __device__ __host__ int getParallelFactor() {\n    return parallelFactor;\n  }\n\n  __device__ __host__ void getNextOp(struct ncclPatStep* ps) {\n    ps->last = 0;\n    ps->nelem = nelem;\n    ps->outIx = offset;\n    ps->stepOffset = stepOffset;\n    int skip = 0;\n    if (a >= lastA) {\n      skip = 1;\n    } else if (phase == 0) {\n      int s = mirrorInvert(a, lastA)*aggDelta + as;\n      if (s >= nranks) skip = 1;\n      int sendDataRank = (rank + s) % nranks;\n      ps->inpIx = sendDataRank * count + offset;\n      ps->recvDim = -1;\n      ps->sendDim = 0;\n      ps->outIx = 0;\n      ps->recvOffset = -1;\n      ps->sendOffset = (a%postFreq) * nelem;\n      if (((a%postFreq) + 1 >= postFreq) || (a == lastA-1)) {\n        ps->postSend = 1;\n      } else {\n        ps->postSend = 0;\n      }\n      ps->postRecv = 0;\n    } else if (phase == 1) {\n      int s = mirrorInvert(a, lastA)*aggDelta + as;\n      if (s >= nranks) skip = 1;\n      ps->recvDim = firstBitSet(s, nrPow2);\n      ps->sendOffset = (a%postFreq)*nelem;\n      ps->recvOffset = (a%postFreq)*nelem;\n      ps->postSend = 0;\n      if (ps->recvDim == 0 && (((a%postFreq) + 1 >= postFreq) || (a == lastA-1))) ps->postSend = 1;\n      if (((a%postFreq) + 1 >= postFreq) || (a == lastA-1)) {\n        ps->postRecv = 1;\n      } else {\n        ps->postRecv = 0;\n      }\n      s -= (1<<ps->recvDim);\n      int recvDataRank = (rank + nranks + s) % nranks;\n      ps->inpIx = recvDataRank * count + offset;\n      ps->sendDim = s ? firstBitSet(s, nrPow2) : -1;\n      if (ps->sendDim == -1) {\n        ps->sendOffset = -1;\n      } else if (as - (1<<ps->recvDim) == 0) {\n        if (newPeer(a, aggFactor)) { sendSkipped = a; ps->stepOffset = stepOffset = 0; }\n        int foffset = a - sendSkipped;\n        ps->sendOffset = (foffset%postFreq)*nelem;\n      }\n      int recvDim = ps->recvDim;\n      if (s < nranks && skip) {\n        ps->recvDim = -1;\n        ps->recvOffset = -1;\n        ps->postRecv = 0;\n        skip = 0;\n      }\n      if (recvDim > 0 && (((a-sendSkipped)%postFreq) + 1 >= postFreq) && skip == 0) stepOffset++;\n    } else if (phase == 2) {\n      int s = (2*mirrorInvert(a, lastA)+1)*scale*aggDelta + 1;\n      ps->postRecv = 0;\n      if (s >= nranks) skip = 1;\n      ps->recvDim = 0;\n      ps->postSend = a == lastA-1 ? 1 : 0;\n      s -= 1;\n      if (s < nranks && skip) {\n        ps->recvDim = -1;\n        ps->recvOffset = -1;\n        skip = 0;\n      } else if (!skip) {\n        int foffset = a + aggFactor - aggFactor/scale;\n        ps->postRecv |= ((foffset+1)%postFreq) == 0 ? 1 : 0;\n        ps->recvOffset = (foffset%postFreq) * nelem;\n      }\n      int recvDataRank = (rank + nranks + s) % nranks;\n      ps->inpIx = recvDataRank * count + offset;\n      ps->sendDim = s ? firstBitSet(s, nrPow2) : -1;\n      int foffset = a;\n      ps->postSend |= ((foffset+1)%postFreq) == 0 ? 1 : 0;\n      ps->sendOffset = (foffset%postFreq) * nelem;\n    } else if (phase == 3) {\n      int s = (2*mirrorInvert(a, lastA)+1)*scale*aggDelta;\n      ps->postRecv = a == lastA-1 ? 1 : 0;\n      if (s >= nranks) skip = 1;\n      ps->recvDim = firstBitSet(s, nrPow2);\n      ps->postSend = 0;\n      s -= (1<<ps->recvDim);\n      int foffset = a;\n      ps->postRecv |= (foffset+1)%postFreq == 0 ? 1 : 0;\n      ps->recvOffset = (foffset%postFreq) * nelem;\n      int recvDataRank = (rank + nranks + s) % nranks;\n      ps->inpIx = recvDataRank * count + offset;\n      ps->sendDim = s ? firstBitSet(s, nrPow2) : -1;\n      if (s < nranks && skip) {\n        ps->recvDim = -1;\n        ps->recvOffset = -1;\n        ps->postRecv = 0;\n        skip = 0;\n      }\n      if (newPeer(a, aggFactor/(2*scale))) { sendSkipped = a; ps->stepOffset = stepOffset = 0; }\n      foffset = a - sendSkipped;\n      if ((foffset%postFreq) + 1 >= postFreq && skip == 0) stepOffset++;\n      ps->sendOffset = ps->sendDim >= 0 ? (foffset%postFreq) * nelem : -1;\n    } else if (phase == 4) {\n      ps->recvDim = 0;\n      ps->sendDim = -1;\n      ps->inpIx = rank * count + offset;\n      ps->recvOffset = ((aggFactor-1)%postFreq) * nelem;\n      ps->sendOffset = -1;\n      ps->postRecv = 1;\n      ps->postSend = 0;\n      offset += chunkCount;\n    }\n    a++;\n    if (a >= lastA && a >= parallelFactor) {\n      int p = phase;\n      if (p == 1) as--;\n      if (p == 3) scale *= 2;\n      phase =\n        p == 0 ? as == 1 ? (aggFactor > 1 ? 2 : 4) : 1 :\n        p == 1 ? as % 2 == 1 ? 0 : 1 :\n        p == 2 ? 3 :\n        p == 3 ? scale < aggFactor ? 2 : 4 :\n        5;\n      if (p == 4) {\n        if (offset >= end) {\n          ps->last = 2;\n        } else {\n          reset();\n        }\n      } else {\n        resetA();\n      }\n    } else if (phase == 4 && offset >= end) {\n      ps->last = 1;\n    }\n    int flags = PatUsed | (skip ? PatSkipped : 0);\n#if __CUDA_ARCH__ >= 600\n    cuda::atomic_ref<int, cuda::thread_scope_block> a(ps->flags);\n    a.store(flags, cuda::memory_order_release);\n#else\n    ps->flags = flags;\n#endif\n  }\n};\n\ntemplate<typename T>\nclass PatAGAlgorithm{\n  size_t offset;\n  size_t end;\n  size_t count;\n  int chunkCount;\n  int nelem;\n  int rank;\n  int nranks;\n  int nrPow2;\n  int postFreq;\n  int lastA;\n  int parallelFactor;\n  int aggFactor;\n  int as; // aggregated steps\n  int a; // step inside aggregated step\n  int aggDelta;\n  int scale;\n  int phase;\n\n  // AS computation\n  int asDim;\n  int v;\n  int bitCount[32];\n  int bitZeroStep[32];\n\n  __device__ __host__ ssize_t min(ssize_t a, ssize_t b) {\n    return (a<b)?a:b;\n  }\n\n  __device__ __host__ int getNelem() {\n    return min(chunkCount, end-offset);\n  }\n\n  __device__ __host__ int mirror(int i, int max) {\n    int ret = 0;\n    for (int mask=1, imask=max/2; mask<max; mask<<=1, imask>>=1) {\n      if ((i&mask)) ret += imask;\n    }\n    return ret;\n  }\n\n  __device__ __host__ int firstBitSet(int i, int max) {\n    int ffs =\n#ifdef __CUDA_ARCH__\n      __ffs(i);\n#else\n      __builtin_ffs(i);\n#endif\n    return ffs ? ffs-1 : max;\n  }\n\n  __device__ __host__ void resetA() {\n    a = 0;\n    lastA = aggFactor;\n    if (phase >= 2) lastA /= 2*scale;\n  }\n\n  __device__ __host__ void reset() {\n    nelem = getNelem();\n    scale = aggFactor/2;\n    phase = scale ? 2 : 1;\n    v = 0;\n    for (int i = 0; i<asDim; i++) {\n      bitCount[i] = asDim-i;\n      bitZeroStep[i] = 1;\n    }\n    as = nextAs();\n    resetA();\n  }\n\n  __device__ __host__ int nextAs() {\n    for (int d=0; d<asDim; d++) {\n      int p = 1<<d;\n      bitCount[d]--;\n      if (bitCount[d] == 0) {\n        v ^= p;\n        bitCount[d] = p;\n        if ((v&p) == 0) {\n          bitCount[d] += firstBitSet(bitZeroStep[d], asDim) - 1;\n          if (bitCount[d] == 0) {\n            v ^= p;\n            bitCount[d] = p;\n          }\n          bitZeroStep[d]++;\n        }\n      }\n    }\n    return v;\n  }\n\n\npublic:\n   __device__ __host__ PatAGAlgorithm(int stepSize, int stepDepth, int maxParallelFactor, size_t offset, size_t end, size_t count, int chunkCount, int rank, int nranks):\n     offset(offset), end(end), count(count), chunkCount(chunkCount), rank(rank), nranks(nranks) {\n    parallelFactor = maxParallelFactor;\n    aggDelta = nrPow2 = (1<<log2Up(nranks));\n\n    aggFactor = 1;\n    size_t channelSize = end-offset;\n    while (stepSize / (channelSize*sizeof(T)*aggFactor) >= 2 && aggFactor < nranks/2) {\n      aggFactor *= 2;\n      aggDelta /= 2;\n    }\n    postFreq = aggFactor;\n    if (postFreq < parallelFactor) parallelFactor = postFreq;\n    int d = stepDepth;\n    while (d > 1 && aggFactor < nranks/2) {\n      d /= 2;\n      aggFactor *= 2;\n      aggDelta /= 2;\n    }\n\n    asDim = log2Up(aggDelta);\n    reset();\n  }\n\n  __device__ __host__ int getParallelFactor() {\n    return parallelFactor;\n  }\n\n  __device__ __host__ void getNextOp(struct ncclPatStep* ps) {\n    ps->last = 0;\n    ps->nelem = nelem;\n    ps->inpIx = offset;\n    int skip = 0;\n    if (a >= lastA) {\n      skip = 1;\n    } else if (phase == 0) {\n      int s = a*aggDelta + as;\n      if (s >= nranks) skip = 1;\n      int recvDataRank = (rank + s) % nranks;\n      ps->outIx = recvDataRank * count + offset;\n      ps->sendDim = -1;\n      ps->recvDim = 0;\n      ps->inpIx = 0;\n      ps->sendOffset = -1;\n      ps->recvOffset = (a % postFreq) * nelem;\n      ps->stepOffset = 0;\n      ps->postRecv = (a % postFreq == postFreq-1) || ((a+1)*aggDelta+as >= nranks) ? 1 : 0;\n      ps->postSend = 0;\n   } else if (phase == 1) {\n      int s = a*aggDelta + as;\n      if (s >= nranks) skip = 1;\n      ps->sendDim = firstBitSet(s, nrPow2);\n      s -= (1<<ps->sendDim);\n      int sendDataRank = (rank + nranks + s) % nranks;\n      ps->outIx = sendDataRank * count + offset;\n      ps->recvDim = s ? firstBitSet(s, nrPow2) : -1;\n      ps->sendOffset = ps->recvOffset = (a % postFreq) * nelem;\n      ps->postSend = (a % postFreq == postFreq-1) || ((a+1)*aggDelta+as >= nranks) ? 1 : 0;\n      ps->postRecv = (ps->sendDim == 0) && ((a % postFreq == postFreq-1) || ((a+1)*aggDelta+as-1 >= nranks)) ? 1 : 0;\n      ps->stepOffset = (ps->sendDim == 0) ? 0 : a/postFreq;\n      if (ps->recvDim == -1) {\n        ps->recvOffset = -1;\n        ps->postRecv = 0;\n      } else if (as - (1<<ps->sendDim) == 0) {\n        int foffset = (a*aggDelta) >> (ps->recvDim+1);\n        ps->recvOffset = (foffset%postFreq)*nelem;\n        ps->postRecv = (ps->sendDim == 0) && ((foffset % postFreq == postFreq-1) || ((((foffset+1)*2)+1)<<ps->recvDim) >= nranks) ? 1 : 0;\n        ps->stepOffset = (ps->sendDim == 0) ? 0 : foffset/postFreq;\n      }\n      if (s < nranks && ps->sendDim == 0 && skip) {\n        // Don't forget to receive at least once even if we don't send afterwards\n        ps->sendDim = -1;\n        ps->sendOffset = -1;\n        ps->postSend = 0;\n        skip = 0;\n      }\n    } else if (phase == 2) {\n      int s = (2*a+1)*scale*aggDelta;\n      ps->postSend = (a % postFreq == postFreq-1) || ((2*(a+1)+1)*scale*aggDelta >= nranks) ? 1 : 0;\n      ps->postRecv = 0;\n      if (s >= nranks) skip = 1;\n      ps->sendDim = firstBitSet(s, nrPow2);\n      s -= (1<<ps->sendDim);\n      ps->sendOffset = (a%postFreq) * nelem;\n      ps->stepOffset = a / postFreq;\n      int sendDataRank = (rank + nranks + s) % nranks;\n      ps->outIx = sendDataRank * count + offset;\n      ps->recvDim = s ? firstBitSet(s, nrPow2) : -1;\n      if (ps->recvDim == -1) {\n        ps->recvOffset = -1;\n      } else {\n        s -= (1<<ps->recvDim);\n        int foffset = (a*2*scale*aggDelta) >> (ps->recvDim+1);\n        ps->recvOffset = (foffset%postFreq)*nelem;\n        ps->stepOffset = foffset / postFreq;\n      }\n    }\n    a++;\n    if (a >= lastA && a >= parallelFactor) {\n      int p = phase;\n      if (p == 2) scale /= 2;\n      phase =\n        p == 2 ? scale ? 2 : 1 :\n        p == 1 ? as % 2 == 1 ? 0 : 1 :\n        1;\n      if (p == 0 || (p == 1 && as % 2 == 0)) as = nextAs();\n      if (p == 0 && as == aggDelta/2) {\n        offset += chunkCount;\n        if (offset >= end) {\n          ps->last = 2;\n        } else {\n          reset();\n        }\n      } else {\n        resetA();\n      }\n    } else if (phase == 0 && as == 1 && offset + chunkCount >= end && a-1 >= ((lastA-1) / parallelFactor) * parallelFactor) {\n      ps->last = 1;\n    }\n    int flags = PatUsed | (skip ? PatSkipped : 0);\n#if __CUDA_ARCH__ >= 600\n    cuda::atomic_ref<int, cuda::thread_scope_block> a(ps->flags);\n    a.store(flags, cuda::memory_order_release);\n#else\n    ps->flags = flags;\n#endif\n  }\n};\n#endif\n"
  },
  {
    "path": "src/include/comm.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_COMM_H_\n#define NCCL_COMM_H_\n\n// #include \"transport.h\"\n#include \"p2p.h\"\n#include \"collectives.h\"\n#include \"nccl_tuner.h\"\n#include \"proxy.h\"\n#include \"strongstream.h\"\n#include \"nccl_net.h\"\n#include \"register.h\"\n#include \"graph.h\"\n#include \"nvmlwrap.h\"\n#include \"profiler.h\"\n#include \"allocator.h\"\n#include \"dev_runtime.h\"\n#include \"sym_kernels.h\"\n#include \"ce_coll.h\"\n#include \"latency_profiler/CollTrace.h\"\n#include \"rccl_common.h\"\n#include \"recorder.h\"\n\n#ifdef ENABLE_ROCSHMEM\n#include <rocshmem/rocshmem.hpp>\n#endif\n\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#define HIPRT_CB\n#else\n#if CUDART_VERSION < 9000\nstruct cudaLaunchParams {\n  void *func;\n  dim3 gridDim;\n  dim3 blockDim;\n  void **args;\n  size_t sharedMem;\n  cudaStream_t stream;\n};\n#endif\n#endif\n\n#define CACHE_LINE_SIZE 64\n#define MEM_ALIGN 4096\n#define CUDA_IPC_MIN 2097152UL\n\n// Channels / LL tuning\n#define NCCL_LL_THREAD_THRESHOLD 8\n#define NCCL_LL128_THREAD_THRESHOLD 8\n#define NCCL_SIMPLE_THREAD_THRESHOLD 64\n\nstruct ncclSendMem {\n  union {\n    struct {\n      uint64_t head;\n      char pad1[CACHE_LINE_SIZE-sizeof(uint64_t)];\n      void* ptrExchange;\n      uint64_t redOpArgExchange[2];\n      char pad2[CACHE_LINE_SIZE-sizeof(void*)-2*sizeof(uint64_t)];\n      int offsFifo[NCCL_STEPS];\n    };\n    char pad3[MEM_ALIGN];\n  };\n};\n\nstruct ncclRecvMem {\n  union {\n    struct {\n      uint64_t tail;\n      char pad1[CACHE_LINE_SIZE-sizeof(uint64_t)];\n      struct ncclConnFifo connFifo[NCCL_STEPS];\n      int flush; // For GDRCopy-based flush\n    };\n    char pad4[MEM_ALIGN];\n  };\n};\n\nenum helperThreadState {ThreadStart, ThreadStop};\n\n#define NCCL_IPC_POOL_SIZE (2*NCCL_MAX_LOCAL_RANKS*NCCL_MAX_OPS)\n\nstruct ncclGraphHelperResources {\n  ncclComm* comm;\n  pthread_mutex_t threadLock;\n  pthread_cond_t  threadCond;\n  enum helperThreadState threadState;\n  void* ipcBases[NCCL_IPC_POOL_SIZE];\n  int ipcTail;\n  int ipcHead;\n};\n\nstruct ncclUserRedOp {\n  int freeNext; // -1=allocated, otherwise index of next free entry in array\n  ncclDataType_t datatype;\n  ncclDevRedOpFull opFull;\n};\n\nstruct ncclNodeRanks {\n  int localRanks;\n  int* localRankToRank;\n};\n\nstruct cliqueInfo {\n  int id;\n  int size;\n  int *ranks;\n};\n\nstruct ncclDestructor {\n  struct ncclDestructor* next;\n  void* obj;\n  ncclResult_t(*fn)(struct ncclDestructor* me);\n};\n\nstruct ncclCommCallback {\n  struct ncclCommCallback* next;\n  ncclResult_t(*fn)(struct ncclComm* comm, struct ncclCommCallback* cb);\n};\nstruct ncclCommEventCallback {\n  struct ncclCommEventCallback* next;\n  cudaEvent_t event;\n  ncclResult_t(*fn)(struct ncclComm* comm, struct ncclCommEventCallback* cb);\n};\n\nstruct ncclSharedResources {\n  int refCount;\n  struct ncclComm* owner; /* comm which creates this shared res. */\n  struct ncclChannelPeer* peers[MAXCHANNELS];\n  struct ncclDevChannelPeer* devPeers[MAXCHANNELS];\n  /* P2P operation counter, one per channel */\n  uint64_t p2pOpCount[MAXCHANNELS];\n  /* Collective operation counter */\n  uint64_t collOpCount;\n  int tpNRanks;\n  int tpNLocalRanks;\n  int tpNChannels;\n  int tpP2pNChannels;\n  int tpP2pChunkSize;\n  uint64_t magic;\n\n  // top parent rank to localRank translation table\n  int* tpRankToLocalRank;\n  // Internal streams\n  struct ncclStrongStream deviceStream, hostStream;\n  int persistentRefs;\n  cudaEvent_t launchEvent, scratchEvent;\n\n  /* proxy related shared res */\n  struct ncclProxyState* proxyState;\n};\n\nstruct ncclChannel {\n  struct ncclChannelPeer** peers;\n  struct ncclDevChannelPeer** devPeers;\n  /* devPeer pointer array used for host side access */\n  struct ncclDevChannelPeer** devPeersHostPtr;\n  struct ncclRing ring;\n  int* devRingUserRanks;\n  struct ncclTree tree;\n\n  struct ncclTree collnetChain;\n  struct ncclDirect collnetDirect;\n  struct ncclTree binTree;\n  struct ncclNvls nvls;\n\n  int id; // index of this channel\n  uint32_t workFifoProduced; // +1 successor of last used work fifo byte\n\n  /* comm split sharable resources */\n  struct ncclChannelPeer* collnetPeers;\n  struct ncclDevChannelPeer* collnetDevPeers;\n  struct ncclChannelPeer* nvlsPeers;\n  struct ncclDevChannelPeer* nvlsDevPeers;\n};\n\nstruct ncclWorkBatchList {\n  struct ncclWorkBatchList* next;\n  struct ncclDevWorkBatch batch;\n};\nstruct alignas(16) ncclWorkList {\n  struct ncclWorkList* next;\n  enum ncclDevWorkType workType;\n  int size; // Size of struct following this node\n  // ncclDevWorkColl, ncclDevWorkColLReg, ncclDevWorkP2p[]...\n};\n\nstruct ncclCollnetHandleList {\n  struct ncclCollnetHandleList *next;\n  void* collnetHandle;\n  size_t size;\n  const void* buffer;\n  struct ncclProxyConnector* proxyconn;\n};\n\nstruct ncclTaskColl {\n  struct ncclTaskColl* next;\n  ncclFunc_t func;\n  void const* sendbuff;\n  void* recvbuff;\n  void const* acc;\n  size_t count;\n  int root;\n  ncclDataType_t datatype;\n  ncclRedOp_t opHost;\n  struct ncclDevRedOpFull opDev;\n  int chunkSteps, sliceSteps;\n  // Computed later:\n  size_t trafficBytes;\n#ifdef ENABLE_WARP_SPEED\n  int32_t nMaxChannels:16;\n  bool useWarpSpeed;\n#else\n  int32_t nMaxChannels:8;\n#endif\n  int32_t nWarps:8;\n  int32_t algorithm:8, protocol:8, pipeline:8;\n  uint32_t isCollnet:1, isNvls:1, isSymLast:1;\n  uint32_t devFuncId:29;\n  int regBufType;\n  uint64_t opCount;\n  // number of elements in planner->ipcMemQueue associated with this collective\n  int nCleanupQueueElts;\n\n  struct ncclDevrWindow* sendWin;\n  struct ncclDevrWindow* recvWin;\n  void* sendMhandle;\n  void* recvMhandle;\n  void** sendNetHandles;\n  void** recvNetHandles;\n  void** srecvNetHandles;\n  // index for IPC record lookup\n  uintptr_t sendbuffOffset;\n  uintptr_t recvbuffOffset;\n  uintptr_t* sendbuffRmtAddrs;\n  uintptr_t* recvbuffRmtAddrs;\n\n  // Profiler plugin\n  int eActivationMask;\n  void* groupApiEventHandle;\n  void* collApiEventHandle;\n  void* eventHandle;\n  uint8_t nChannels;\n};\n\nstruct ncclTaskP2p {\n  struct ncclTaskP2p* next;\n  ncclFunc_t func;\n  ncclFunc_t collAPI;\n  void* buff;\n  size_t count;\n  ncclDataType_t datatype;\n  int root;\n  size_t bytes;\n  uint64_t opCount;\n\n  // Profiler plugin\n  int eActivationMask;\n  void* groupApiEventHandle;\n  void* p2pApiEventHandle;\n  void* eventHandle;\n  uint8_t nChannels;\n};\n\nstruct ncclKernelPlan {\n  // A kernel plan is also a callback that reclaims itself. Hence this must\n  // be the first member.\n  struct ncclCommCallback reclaimer;\n\n  struct ncclComm* comm;\n  struct ncclKernelPlan* next;\n\n  bool persistent; // aka captured in a graph\n  bool isHostCbEnq;\n  bool isSymColl;\n  bool isCeColl;\n  enum ncclDevWorkStorageType workStorageType;\n  bool kernelSpecialized;\n  void* kernelFn;\n  union {\n    struct ncclDevKernelArgs* kernelArgs;\n    void* kernelSymArgs;\n    struct ncclCeCollArgs* ceCollArgs;\n  };\n  size_t kernelArgsSize;\n  struct channelMasks channelMask;\n  bool hasProxyOps; // does any channel have a non-empty proxyOpQueue\n  int threadPerBlock;\n\n  int collOpCount; // Number of collectives in this plan.\n  int nWorkBatches; // Number of work batches.\n  size_t workBytes; // Sum size of all work (in the fifo) in bytes.\n  struct ncclIntruQueue<struct ncclWorkList, &ncclWorkList::next> workQueue;\n  struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next> cleanupQueue;\n  void* workBufPersistent;\n\n  struct ncclIntruQueue<struct ncclTaskP2p, &ncclTaskP2p::next> p2pTaskQueue;\n  struct ncclIntruQueue<struct ncclTaskColl, &ncclTaskColl::next> collTaskQueue;\n  struct ncclIntruQueue<struct ncclProxyOp, &ncclProxyOp::enqNext> proxyOpQueue;\n\n  // Profiler plugin\n  void* groupApiEventHandle;\n  void* kernelLaunchEventHandle;\n  void* groupEventHandle;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Roughly sorts ncclTaskColl's by their size descending. This structure is\n// self-referential, meaning that pointers it contains internally may point\n// into the structure itself. This means that it is NOT memcpy-moveable:\n\nstruct ncclTaskCollSorter {\n  static constexpr int UnitLog2 = 10; // 1K\n  static constexpr size_t UnitSize = 1<<UnitLog2;\n  static constexpr int MaxLog2 = 30; // 1GB\n  static constexpr size_t MaxSize = 1ull<<MaxLog2;\n  // Number of bins between powers of 2. For 4 bins, the worst case out-of-order\n  // relative magnitude is (5/4)-1 = 25%\n  static constexpr int BitsPerPow2 = 2;\n  static constexpr int BinsPerPow2 = 1<<BitsPerPow2;\n  static constexpr int BinCount = 1 + (MaxLog2-UnitLog2)*BinsPerPow2;\n\n  struct ncclTaskColl* head;\n  struct ncclTaskColl* tail;\n  // Least bin such that it and all above are empty.\n  int binEdge;\n  // Pointer to the pointer to this bin's head node which is either the\n  // previous node's `next` field or `head`.\n  struct ncclTaskColl** bins[BinCount];\n};\n\ninline void ncclTaskCollSorterInsert(\n    struct ncclTaskCollSorter* me, struct ncclTaskColl* x, size_t size\n  ) {\n  constexpr int UnitLog2 = ncclTaskCollSorter::UnitLog2;\n  constexpr size_t MaxSize = ncclTaskCollSorter::MaxSize;\n  constexpr int BitsPerPow2 = ncclTaskCollSorter::BitsPerPow2;\n  constexpr int BinCount = ncclTaskCollSorter::BinCount;\n  int bin = u32fpEncode(std::min(MaxSize, size)>>UnitLog2, BitsPerPow2);\n  bin = BinCount-1 - bin; // descending bin\n\n  if (me->bins[bin] == nullptr) {\n    if (me->binEdge <= bin) {\n      me->binEdge = bin+1;\n      me->bins[bin] = me->tail ? &me->tail->next : &me->head;\n      me->tail = x;\n    } else {\n      // Find successor non-empty bin after this one.\n      int succ = bin+1;\n      while (me->bins[succ] == nullptr) succ++;\n      // What was our successor's head's previous is now our head's previous.\n      me->bins[bin] = me->bins[succ];\n      // The first node we insert is our tail, so that becomes our successor's\n      // head's new previous.\n      me->bins[succ] = &x->next;\n    }\n  }\n  // Push a new head for this bin.\n  x->next = *me->bins[bin];\n  *me->bins[bin] = x;\n}\n\ninline bool ncclTaskCollSorterEmpty(struct ncclTaskCollSorter* me) {\n  return me->head == nullptr;\n}\n\n// Reset sorter and return sorted linked list of its coll tasks.\ninline struct ncclTaskColl* ncclTaskCollSorterDequeueAll(struct ncclTaskCollSorter* me) {\n  struct ncclTaskColl* head = me->head;\n  if (head != nullptr) memset(me, 0, sizeof(*me));\n  return head;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nstruct ncclCudaStreamList {\n  struct ncclCudaStreamList *next;\n  cudaStream_t stream;\n};\n\nstruct ncclKernelPlanner {\n  //////////////////////////////////////////////////////////////////////////////\n  // State for accumulating tasks between ncclGroupStart/End()\n  //////////////////////////////////////////////////////////////////////////////\n\n  struct Peer {\n    bool sendSeen, recvSeen;\n    struct ncclIntruQueue<struct ncclTaskP2p, &ncclTaskP2p::next> sendQueue;\n    struct ncclIntruQueue<struct ncclTaskP2p, &ncclTaskP2p::next> recvQueue;\n  };\n  struct ncclTaskCollSorter collSorter;\n  struct Peer* peers/*[nRanks]*/;\n  int nTasksColl, nTasksP2p;\n  int nTasksP2pSend, nTasksP2pRecv;\n  bool persistent;\n  // The list of user streams aggregated over all tasks present.\n  struct ncclCudaStreamList* streams;\n  // Keep track of the number of user streams\n  int numStreams;\n  // The most recent user stream. Ignored if streams==nullptr\n  cudaStream_t streamRecent;\n  // The graph capturing all user streams or invalid if none. Thus we restrict the\n  // user that all streams must be captured in the same graph or not captured\n  // at all. Technically we could probably relax this, but that would mean\n  // collecting a different `ncclTasks` per graph and one for non-graph.\n  struct ncclCudaGraph capturingGraph;\n\n  //////////////////////////////////////////////////////////////////////////////\n  // Lists of tasks to be assembled into plans.\n  //////////////////////////////////////////////////////////////////////////////\n\n  struct ncclIntruQueue<struct ncclTaskColl, &ncclTaskColl::next> collTaskQueue;\n  struct ncclIntruQueue<struct ncclTaskColl, &ncclTaskColl::next> collCeTaskQueue;\n  struct ncclIntruQueue<struct ncclTaskColl, &ncclTaskColl::next> collSymTaskQueue;\n  struct ncclIntruQueue<struct ncclWorkList, &ncclWorkList::next> collWorkQueue;\n  struct ncclIntruQueue<struct ncclWorkList, &ncclWorkList::next> tmpCollWorkQueue;\n  struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next> collCleanupQueue;\n\n  //////////////////////////////////////////////////////////////////////////////\n  // State for building current (Work-In-Progress) plan:\n  //////////////////////////////////////////////////////////////////////////////\n\n  struct WipPlan {\n    struct Channel {\n      struct {\n        int workBytes; // Sum size of work metadata referenced by this batch.\n        int nP2ps; // Number of p2p works in this batch\n        int p2pRounds[NCCL_MAX_DEV_WORK_P2P_PER_BATCH]; // which rounds are present in this batch.\n      } wipBatch; // work-in-progress batch which will be next tail of workBatchQueue\n      int nWorkBatchesP2p; // number of p2p batches for this channel.\n      struct ncclIntruQueue<struct ncclWorkBatchList, &ncclWorkBatchList::next> workBatchQueue;\n      struct ncclIntruQueue<struct ncclProxyOp, &ncclProxyOp::enqNext> proxyOpQueue;\n    } channels[MAXCHANNELS];\n  } wipPlan;\n\n  //////////////////////////////////////////////////////////////////////////////\n  // State for launching built plans:\n  //////////////////////////////////////////////////////////////////////////////\n\n  // List of kernel plans built form tasks.\n  struct ncclIntruQueue<struct ncclKernelPlan, &ncclKernelPlan::next> planQueue;\n  // First of the unlaunched kernels in `planQueue`\n  struct ncclKernelPlan* unlaunchedPlansHead;\n};\n\n#define NCCL_MAGIC 0x0280028002800280 // Nickel atomic number is 28.\n\nstruct ncclPeerInfo {\n  int rank;\n  int cudaDev;\n  int nvmlDev;\n  int gdrSupport;\n  bool hasFineGrain;\n  uint64_t hostHash;\n  uint64_t pidHash;\n  dev_t shmDev;\n  int64_t busId;\n  struct ncclComm* comm;\n  int cudaCompCap;\n  size_t totalGlobalMem;\n  // MNNVL support\n  nvmlGpuFabricInfoV_t fabricInfo;\n  int cuMemSupport;\n  int version;\n};\n\ntypedef enum ncclGroupTaskType {\n  ncclGroupTaskTypeCollective = 0,\n  ncclGroupTaskTypeSymRegister = 1,\n  ncclGroupTaskTypeNum = 2,\n} ncclGroupTaskType_t;\n\nstruct ncclCommSymTeams;\n\nstruct ncclComm {\n  uint64_t startMagic;\n  struct ncclMemoryStack memPermanent, memScoped;\n  // List of destructors to run when comm is destructed\n  struct ncclDestructor* destructorHead;\n\n  struct ncclCudaContext* context;\n  struct ncclSharedResources* sharedRes;\n  /* map to top parent ranks. */\n  int* topParentRanks;\n  int* topParentLocalRanks;\n  struct ncclChannel channels[MAXCHANNELS];\n  struct ncclPeerInfo* peerInfo;\n  struct ncclTopoSystem* topo;\n  struct ncclProxyConnector* gproxyConn;\n  struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next> legacyRegCleanupQueue;\n  bool peerInfoValid;\n\n  ncclNet_t* ncclNet;\n  void* netContext;\n  int netPluginIndex;\n  int ncclNetVer;\n  ncclNetDeviceType netDeviceType;\n  ncclCollNet_t* ncclCollNet;\n  void* collNetContext;\n  void* bootstrap;\n  // Bitmasks for ncclTransportP2pSetup\n  struct channelMasks* connectSend;\n  struct channelMasks* connectRecv;\n  struct ncclTopoGraph graphs[NCCL_NUM_ALGORITHMS];\n  int maxTreePattern;\n  bool initAlgoChannels[NCCL_NUM_ALGORITHMS];\n  bool runtimeConn; // if dynamic connection is supported\n  bool directMode;\n  int cuMemSupport;\n\n  uint64_t magic; // Magic number for all network communication. Not a security key -- only goal is to detect mismatches.\n\n  uint64_t commHash;\n  int rank;    // my rank in the communicator\n  int nRanks;  // number of GPUs in communicator\n  int cudaDev; // my cuda device index\n  int nvmlDev; // my nvml device index\n  int compCap; // compute capability of the GPU\n  int minCompCap, maxCompCap; // min/max compute capability in the communicator\n  int64_t busId;   // my PCI bus ID in int format\n  cpu_set_t cpuAffinity; // CPU affinity of the GPU\n  int WarpSize;\n  int cudaArch; // matches __CUDA_ARCH__ of device\n\n  int cpuArch;   // architecture - As defined in src/include/graph.h, e.g. x86/arm/ppc/mixed\n  int cpuVendor; // vendor - As defined in src/include/graph.h\n\n  int node;\n  int nNodes;\n  int rcclUseOneSlice; // RCCL: true if this comm is using one slice per primitive\n  int gfx9CheapFenceOff; // RCCL: true if gfx9 cheap fence is disabled\n  int localRank;\n  int localRanks;\n  int maxLocalRanks;\n  int minLocalRanks;\n  int* rankToNode;\n  int* rankToLocalRank;\n  int* localRankToRank;\n  // localRanks and localRanktoRank for all nodes\n  struct ncclNodeRanks* nodeRanks;\n  // MNNVL: Multi-Node NVLink\n  int MNNVL; // true when MNNVL is available\n  struct cliqueInfo clique; // Our MNNVL clique information\n  int cliqueRank; // Our rank within the MNNVL clique\n\n  // NVL Domain info\n  ncclNvlDomainInfo_v5_t nvlDomainInfo;\n\n  bool checkPointers;\n  bool dmaBufSupport;\n\n  // Counter for tracking CUDA launches (P2P and collectives included)\n  uint64_t opCount;\n  // Collective operation counter\n  uint64_t collOpCount;\n\n  // Channels for collectives\n  int nChannels; // connection nChannels\n  int collChannels; // enqueue nChannels\n  int nvlsChannels; // enqueue nChannels\n  // all nvls heads stored to check if we can splitShare\n  int nvlsHeads[MAXCHANNELS];\n  // Channels (per peer) for p2p\n  int p2pnChannels;\n  int p2pnChannelsPerPeer;\n\n  // Should this comm allocate LL buffers for network P2P connections?\n  bool allocP2pNetLLBuffers;\n\n  // Buffer sizes\n  int buffSizes[NCCL_NUM_PROTOCOLS];\n  int p2pChunkSize;\n  int nvlsChunkSize;\n\n  // Tuner values\n  ncclTunerConstants_t tunerConstants;\n  ssize_t threadThresholds[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  float latencies[NCCL_NUM_FUNCTIONS][NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  float bandwidths[NCCL_NUM_FUNCTIONS][NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  int maxThreads[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n  uint64_t minMaxLLRange[RCCL_TUNABLE_COLLS][NCCL_NUM_PROTOCOLS - 1][RCCL_PROTOCOL_ENTRY_SIZE];\n  uint64_t minMaxChannelThresholds[RCCL_TUNABLE_COLLS][RCCL_CHANNELS_TUNABLE_ENTRIES][3]; //for each collective, set for 5 channel-counts: 32,40,48,56,64, the two values for min/max size-threshold\n\n  /* This attribute can indicate the states of communicators and return code of\n  * asynchronous NCCL operations. */\n  ncclResult_t asyncResult;\n\n  // Flag to ask NCCL kernels to abort\n  uint32_t* abortFlag;\n  uint32_t* abortFlagDev;\n  int* abortFlagRefCount;\n  uint32_t* childAbortFlag;\n  uint32_t* childAbortFlagDev;\n  uint32_t destroyFlag;\n\n  // Flags for enable P2P NET\n  uint32_t p2pNet;\n  uint32_t useIntraNet;\n  bool hasFineGrain;\n\n  // Device side of the communicator (for cudaFree's)\n  struct ncclKernelComm* devComm; // actually = &ncclKernelCommAndChannels::comm\n\n  uint32_t workArgsBytes; // max size of kernel args\n  uint32_t workFifoBytes; // size of workFifoBuf, power of 2\n  void* workFifoBuf;\n  void* workFifoBufDev;\n  void* workFifoBufGdrHandle;\n\n  // Monotonic number of bytes (mod 1<<32) sent to fifo.\n  uint32_t workFifoProduced;\n  uint32_t workFifoProducedLastRecorded;\n  uint32_t workFifoConsumed;\n\n  // Intra-process sync\n  struct ncclComm* intraComm0; // leader of intra-process comms (self possible)\n  struct ncclComm* intraNext; // next of intra-process comms, intraComm0 is head\n  int intraRank;\n  int intraRanks;\n  uint32_t intraBarrierPhase;\n  char intraPad1[64 - sizeof(uint64_t)];\n  uint64_t intraBarrierCounter; // only used if this is intraComm0\n  char intraPad2[64 - sizeof(uint64_t)];\n  uint64_t intraBarrierGate; // only used if this is intraComm0\n\n  struct ncclProxyState* proxyState;\n  int proxyRefCountOld; /* store proxy post-atomic-sub refcount */\n  // Whether this communicator uses collNet\n  bool isOneRPN;\n  uint8_t collNetSupportMatrix[4/*sum,prod,max,min*/][ncclNumTypes];\n  int* collNetHeads;\n  int collNetHeadsNum;\n  int* collNetDenseToUserRank;\n  int* collNetUserToDenseRank;\n  /* sharable collNet proxy progress resource. */\n  struct ncclCollNetSharedRes* collNetSharedRes;\n\n  // NVLink SHARP (NVLS) support\n  int nvlsSupport;\n  int nvlsRegSupport;\n  /* sharable NVLS resource. */\n  struct ncclNvlsSharedRes* nvlsResources;\n\n  // pools backed by comm->memPermanent\n  struct ncclMemoryPool memPool_ncclTaskColl;\n  struct ncclMemoryPool memPool_ncclTaskP2p;\n  struct ncclMemoryPool memPool_ncclProxyOp;\n  struct ncclMemoryPool memPool_ncclKernelPlan;\n\n  // Next comm in this thread's active ncclGroup[Start|End](). Holds \"0x1\" when\n  // this comm is not yet in a group.\n  struct ncclComm* groupNext[ncclGroupTaskTypeNum];\n  // Subset of those in groupNext list. Holds 0x1 if not needing preconnect.\n  struct ncclComm* preconnectNext;\n  int localPersistentRefs; // number of persistent plan-lists capturing this comm\n  struct P2pSchedulePair { int sendRank; int recvRank; } *p2pSchedule;\n\n  struct ncclKernelPlanner planner;\n\n  cudaMemPool_t memPool;\n  // Queue of events and associated callbacks for cleaning up asynchronous work.\n  // Using this is preferable to using CUDA host callbacks because host callbacks\n  // won't allow the work following the callback to run until the callback completes,\n  // which comes at expense to perf.\n  struct ncclIntruQueue<struct ncclCommEventCallback, &ncclCommEventCallback::next> eventCallbackQueue;\n\n  // user-created reduction ops\n  int userRedOpCapacity, userRedOpFreeHead;\n  ncclUserRedOp *userRedOps;\n\n  // Queue of things for the main thread to do\n  int reclaimSteps;\n  struct ncclIntruQueueMpsc<struct ncclCommCallback, &ncclCommCallback::next> callbackQueue;\n\n  hipEvent_t doneEvent;\n  hipStream_t lastStream;\n  std::unique_ptr<latency_profiler::CollTrace> ctrace;\n\n#ifdef ENABLE_COLLTRACE\n  struct ncclCollTrace* collTrace;\n  union ncclCollTraceTail *collTraceTail;\n  pthread_t collTraceThread;\n  volatile bool collTraceExit;\n  bool collTraceEnabled;\n#endif\n\n#ifdef ENABLE_FAULT_INJECTION\n  uint64_t faults;\n#endif\n\n  ncclConfig_t config;\n  // initState is to more conveniently reclaim resources when errors happen.\n  ncclResult_t initState;\n  // flag to indicate if ncclCommFinalize() is called\n  bool finalizeCalled;\n  // shared structures for finalization\n  int finalizeRankCnt;\n\n#if defined(ENABLE_MSCCLPP)\n  // Whether this comm is compatible with MSCCLPP\n  bool mscclppCompatible;\n  struct mscclppComm* mscclpp_comm;\n  size_t mscclpp_threshold;\n  bool mscclppForceEnable;\n#endif\n\n  // Whether this comm is compatible with MSCCL\n  bool mscclCompatible;\n  // group job to support multi-thread FT\n  struct ncclGroupJob *groupJob;\n\n  // Flag indicating if this communicator shares resources with parent or children\n  bool shareResources;\n\n  // Tuning plugin\n  int tunerPluginLoaded;\n  ncclTuner_t* tuner;\n  void *tunerContext;\n\n  // Profiler plugin\n  void* profilerContext;\n  uint64_t seqNumber[NCCL_NUM_FUNCTIONS];\n  struct ncclProfilerProxy profiler;\n\n  // CE Collective\n  struct ncclCeColl ceColl;\n  struct ncclIntruQueue<struct ncclCeInitTask, &ncclCeInitTask::next> ceInitTaskQueue;\n  \n  // buffer registration cache\n  struct ncclRegCache regCache;\n  int isAllNvlink;\n  bool isAllDirectP2p;\n  int symmetricSupport;\n  bool useNetPXN;\n  bool useGdr;\n  int splitCount;\n\n  struct ncclDevrState devrState; // The symmetric runtime state\n  struct ncclSymkState symkState; // The symmetric kernels state (built on previous)\n\n  // unroll factor for comm [RCCL]\n  int unroll;\n  // custom collective [RCCL]\n  bool enableCustColl;\n  // gfx name from hipDeviceProp_t [RCCL]\n  char* archName;\n  // multiProcessorCount from hipDeviceProp_t [RCCL]\n  int cuCount;\n\n#ifdef ENABLE_ROCSHMEM\n  // circular ring buffer in rocshmem symmetric heap\n  void** sourceRshmem;\n  void** destRshmem;\n  rocshmem::rocshmem_team_t team_reduce_world_dup;\n  int enableRocshmem;\n  int rocshmemThreshold;\n  int numSymBuf;\n  int symId;\n#endif\n\n  uint64_t endMagic;\n};\n\nstatic_assert(offsetof(struct ncclComm, startMagic) == 0, \"startMagic must be the first field of ncclComm\");\nstatic_assert(offsetof(struct ncclComm, endMagic) == sizeof(struct ncclComm) - sizeof(uint64_t), \"endMagic must be the last field of ncclComm\");\n\nenum ncclLaunchMode {\n  ncclLaunchModeInvalid=0,\n  ncclLaunchModeParallel,\n  ncclLaunchModeGroup\n};\nextern enum ncclLaunchMode ncclParamLaunchMode;\n\nvoid ncclCommPushFree(struct ncclComm* comm, void* buf);\nvoid ncclCommPushCudaFree(struct ncclComm* comm, void* buf);\nvoid ncclCommPushCudaHostFree(struct ncclComm* comm, void* buf);\nvoid ncclCommPushCudaGdrFree(struct ncclComm* comm, void* handle);\n\ninline ncclResult_t ncclCommPollCallbacks(struct ncclComm* comm, bool waitSome) {\n  ncclResult_t result = ncclSuccess;\n  struct ncclCommCallback* cb = ncclIntruQueueMpscDequeueAll(&comm->callbackQueue, waitSome);\n  while (cb != nullptr) {\n    struct ncclCommCallback* next = cb->next;\n    ncclResult_t res1 = cb->fn(comm, cb); // may reclaim memory of cb\n    if (res1 != ncclSuccess) result = res1;\n    cb = next;\n  }\n  NCCLCHECK(result);\n  return ncclSuccess;\n}\n\ninline ncclResult_t ncclCommPollEventCallbacks(struct ncclComm *comm, bool waitSome) {\n  ncclResult_t result = ncclSuccess;\n  cudaStreamCaptureMode mode = cudaStreamCaptureModeRelaxed;\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  while (true) {\n    struct ncclCommEventCallback* cb = ncclIntruQueueHead(&comm->eventCallbackQueue);\n    if (cb == nullptr) break;\n    cudaError_t ok;\n    if (waitSome) {\n      ok = cudaEventSynchronize(cb->event);\n      waitSome = false;\n    } else {\n      ok = cudaEventQuery(cb->event);\n      if (ok == cudaErrorNotReady) break;\n    }\n    ncclIntruQueueDequeue(&comm->eventCallbackQueue);\n    if (ok == cudaSuccess) {\n      NCCLCHECKGOTO(cb->fn(comm, cb), result, finish);\n    } else {\n      CUDACHECKGOTO(ok, result, finish);\n    }\n  }\nfinish:\n  CUDACHECK(cudaThreadExchangeStreamCaptureMode(&mode));\n  return ncclSuccess;\n}\n\ninline void ncclCommIntraBarrierIn(struct ncclComm* comm, uint32_t x) {\n  int phase = comm->intraBarrierPhase;\n  if (comm->intraRanks == 1) {\n    // Release everyone (just me).\n    comm->intraBarrierGate = (uint64_t(x)<<32) | (phase^1);\n  } else {\n    struct ncclComm* comm0 = comm->intraComm0;\n    uint64_t count = __atomic_add_fetch(&comm0->intraBarrierCounter, (uint64_t(x)<<32) + 1, __ATOMIC_RELEASE);\n    if (uint32_t(count) == uint32_t(comm->intraRanks)) {\n      // Reset.\n      __atomic_store_n(&comm0->intraBarrierCounter, 0, __ATOMIC_RELAXED);\n      // Release everyone.\n      __atomic_store_n(&comm0->intraBarrierGate, (count>>32<<32) | (phase^1), __ATOMIC_RELEASE);\n    }\n  }\n}\n\n// returns sum of x values contributed to ncclCommIntraBarrierIn(comm, x)\ninline uint32_t ncclCommIntraBarrierOut(struct ncclComm* comm) {\n  struct ncclComm* comm0 = comm->intraComm0;\n  comm->intraBarrierPhase ^= 1;\n  uint32_t phase = comm->intraBarrierPhase;\n  uint64_t gate = __atomic_load_n(&comm0->intraBarrierGate, __ATOMIC_RELAXED);\n  if ((gate & 1) != phase) {\n    uint64_t t0 = clockNano();\n    do {\n      // Spin vigorously for first 5us.\n      if (clockNano()-t0 >= 5*1000) sched_yield();\n      gate = __atomic_load_n(&comm0->intraBarrierGate, __ATOMIC_RELAXED);\n    } while ((gate & 1) != phase);\n  }\n  if (comm->intraRanks != 1) __atomic_thread_fence(__ATOMIC_ACQUIRE);\n  return gate>>32;\n}\n\n// Scrambles the bits of non-builtin values of ncclRedOp_t according to the\n// communicator memory address. Used to catch bugs so that integer handles\n// associated with this communicator won't collide with handles of other\n// communicatrs. This function is its own inverse.\nstatic inline ncclRedOp_t ncclUserRedOpMangle(ncclComm *comm, ncclRedOp_t op) {\n  // Preserve the built-in values.\n  if(int(op) < int(ncclNumOps))\n    return op;\n  uint64_t h = reinterpret_cast<uint64_t>(comm);\n  h ^= h >> 32;\n  h *= 0x9e3779b97f4a7c13u; // Knuth's 64-bit magical hash constant\n  h >>= 32; // h is now an excellent 32-bit hash of the comm pointer\n  h &= int(ncclMaxRedOp); // ncclMaxRedOp is a power of 2 minus 1\n  int op1 = int(h) ^ int(op);\n  // Since builtin values are preserved, we also have to preserve their preimage.\n  return op1 < int(ncclNumOps) ? op : ncclRedOp_t(op1);\n}\n\nncclResult_t ncclCommEnsureReady(ncclComm_t comm);\nncclResult_t ncclCommSetAsyncError(ncclComm_t comm, ncclResult_t nextState);\n\n#endif\n"
  },
  {
    "path": "src/include/core.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2021, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2021 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_CORE_H_\n#define NCCL_CORE_H_\n\n#include <pthread.h>\n#include <unistd.h>\n#include <stdlib.h>\n#include <stdint.h>\n#include <algorithm> // For std::min/std::max\n#include \"nccl.h\"\n\n#ifdef PROFAPI\n#define NCCL_API(ret, func, args...)        \\\n    extern \"C\"                              \\\n    __attribute__ ((visibility(\"default\"))) \\\n    __attribute__ ((alias(#func)))          \\\n    ret p##func (args);                     \\\n    extern \"C\"                              \\\n    __attribute__ ((visibility(\"default\"))) \\\n    __attribute__ ((weak))                  \\\n    ret func(args)\n#else\n#define NCCL_API(ret, func, args...)        \\\n    extern \"C\"                              \\\n    __attribute__ ((visibility(\"default\"))) \\\n    ret func(args)\n#endif // end PROFAPI\n\n#include \"debug.h\"\n#include \"checks.h\"\n#include \"rocmwrap.h\"\n#include \"alloc.h\"\n#include \"utils.h\"\n#include \"param.h\"\n#ifdef NVTX_NO_IMPL\n#include \"nvtx_stub.h\"\n#else\n#include \"nvtx.h\"\n#endif\n\n#endif // end include guard\n"
  },
  {
    "path": "src/include/cpuset.h",
    "content": "/*************************************************************************\n * Copyright (c) 2018-2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_CPUSET_H_\n#define NCCL_CPUSET_H_\n\n#include \"nccl.h\"\n#include <cstdint>\n#include <cstdio>\n#include <cstdlib>\n#include <sched.h>\n\n// Convert local_cpus, e.g. 0003ff,f0003fff to cpu_set_t.\n// The bitmask is divided into chunks of 32 bits, each of them represented by 8 hex number.\n#define U32_LEN 32 // using uint32_t\n#define CPU_SET_N_U32 (CPU_SETSIZE / U32_LEN)\n\nstatic ncclResult_t ncclStrToCpuset(const char* maskStr, cpu_set_t* set) {\n  uint32_t cpumasks[CPU_SET_N_U32] = {0};\n\n  // transform the string into an array of 32 bit masks, starting with the highest mask\n  int m = CPU_SET_N_U32;\n  char* str = strdup(maskStr);\n  char* token = strtok(str, \",\");\n  while (token != NULL && m > 0) {\n    cpumasks[--m] = strtoul(token, NULL, /*base = hex*/ 16);\n    token = strtok(NULL, \",\");\n  }\n  free(str);\n\n  // list all the CPUs as part of the CPU set, starting with the lowest mask (= current value of m)\n  CPU_ZERO(set);\n  for (int a = 0; (a + m) < CPU_SET_N_U32; a++) {\n    // each mask is U32_LEN CPUs, list them all if the bit is on\n    for (int i = 0; i < U32_LEN; ++i) {\n      if (cpumasks[a + m] & (1UL << i)) CPU_SET(i + a * U32_LEN, set);\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic char* ncclCpusetToRangeStr(cpu_set_t* mask, char* str, size_t len) {\n  int c = 0;\n  int start = -1;\n  // Iterate through all possible CPU bits plus one extra position\n  for (int cpu = 0; cpu <= CPU_SETSIZE; cpu++) {\n    int isSet = (cpu == CPU_SETSIZE) ? 0 : CPU_ISSET(cpu, mask);\n    // Start of a new range\n    if (isSet && start == -1) {\n      start = cpu;\n    }\n    // End of a range, add comma between ranges\n    if (!isSet && start != -1) {\n      if (cpu-1 == start) {\n        c += snprintf(str+c, len-c, \"%s%d\", c ? \",\" : \"\", start);\n      } else {\n        c += snprintf(str+c, len-c, \"%s%d-%d\", c ? \",\" : \"\", start, cpu-1);\n      }\n      if (c >= len-1) break;\n      start = -1;\n    }\n  }\n  if (c == 0) str[0] = '\\0';\n  return str;\n}\n\nstatic ncclResult_t ncclStrListToCpuset(const char* userStr, cpu_set_t* mask) {\n  // reset the CPU set\n  CPU_ZERO(mask);\n  const char delim[] = \",\";\n  char* str = strdup(userStr);\n  char* token = strtok(str, delim);\n  while (token != NULL) {\n    uint64_t cpu = strtoull(token, NULL, 0);\n    CPU_SET(cpu, mask);\n    token = strtok(NULL, delim);\n  }\n  free(str);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclCpusetToStrList(cpu_set_t* mask, char* str, size_t len) {\n  if (len == 0) return ncclSuccess;\n  str[0] = '\\0';\n  int count = 0;\n  for (uint64_t id = 0; id < CPU_SETSIZE; ++id) {\n    if (CPU_ISSET(id, mask)) {\n      snprintf(str + strlen(str), len - strlen(str), \"%s%lu\", (count++ == 0) ? \"\" : \",\", id);\n    }\n  }\n  return ncclSuccess;\n}\n\n#endif\n"
  },
  {
    "path": "src/include/cudawrap.h",
    "content": "/*************************************************************************\n * Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_CUDAWRAP_H_\n#define NCCL_CUDAWRAP_H_\n\n#include <cuda.h>\n#include <cuda_runtime.h>\n#include \"checks.h\"\n\n// Is cuMem API usage enabled\nextern int ncclCuMemEnable();\nextern int ncclCuMemHostEnable();\n\n#if CUDART_VERSION >= 11030\n#include <cudaTypedefs.h>\n\n// Handle type used for cuMemCreate()\nextern CUmemAllocationHandleType ncclCuMemHandleType;\n\n#endif\n\n#define CUPFN(symbol) pfn_##symbol\n\n// Check CUDA PFN driver calls\n#define CUCHECK(cmd) do {\t\t\t\t      \\\n    CUresult err = pfn_##cmd;\t\t\t\t      \\\n    if( err != CUDA_SUCCESS ) {\t\t\t\t      \\\n      const char *errStr;\t\t\t\t      \\\n      (void) pfn_cuGetErrorString(err, &errStr);\t      \\\n      WARN(\"Cuda failure %d '%s'\", err, errStr);\t      \\\n      return ncclUnhandledCudaError;\t\t\t      \\\n    }\t\t\t\t\t\t\t      \\\n} while(false)\n\n#define CUCALL(cmd) do {\t\t\t\t      \\\n    pfn_##cmd;\t\t\t\t                \\\n} while(false)\n\n#define CUCHECKGOTO(cmd, res, label) do {\t\t      \\\n    CUresult err = pfn_##cmd;\t\t\t\t      \\\n    if( err != CUDA_SUCCESS ) {\t\t\t\t      \\\n      const char *errStr;\t\t\t\t      \\\n      (void) pfn_cuGetErrorString(err, &errStr);\t      \\\n      WARN(\"Cuda failure %d '%s'\", err, errStr);\t      \\\n      res = ncclUnhandledCudaError;\t\t\t      \\\n      goto label;\t\t\t\t\t      \\\n    }\t\t\t\t\t\t\t      \\\n} while(false)\n\n// Report failure but clear error and continue\n#define CUCHECKIGNORE(cmd) do {\t\t\t\t\t\t\\\n    CUresult err = pfn_##cmd;\t\t\t\t\t\t\\\n    if( err != CUDA_SUCCESS ) {\t\t\t\t\t\t\\\n      const char *errStr;\t\t\t\t\t\t\\\n      (void) pfn_cuGetErrorString(err, &errStr);\t\t\t\\\n      INFO(NCCL_ALL,\"%s:%d Cuda failure %d '%s'\", __FILE__, __LINE__, err, errStr); \\\n    }\t\t\t\t\t\t\t\t\t\\\n} while(false)\n\n#define CUCHECKTHREAD(cmd, args) do {\t\t\t\t\t\\\n    CUresult err = pfn_##cmd;\t\t\t\t\t\t\\\n    if (err != CUDA_SUCCESS) {\t\t\t\t\t\t\\\n      INFO(NCCL_INIT,\"%s:%d -> %d [Async thread]\", __FILE__, __LINE__, err); \\\n      args->ret = ncclUnhandledCudaError;\t\t\t\t\\\n      return args;\t\t\t\t\t\t\t\\\n    }\t\t\t\t\t\t\t\t\t\\\n} while(0)\n\n#define DECLARE_CUDA_PFN_EXTERN(symbol,version) extern PFN_##symbol##_v##version pfn_##symbol\n\n#if CUDART_VERSION >= 11030\n/* CUDA Driver functions loaded with cuGetProcAddress for versioning */\nDECLARE_CUDA_PFN_EXTERN(cuDeviceGet, 2000);\nDECLARE_CUDA_PFN_EXTERN(cuDeviceGetAttribute, 2000);\nDECLARE_CUDA_PFN_EXTERN(cuGetErrorString, 6000);\nDECLARE_CUDA_PFN_EXTERN(cuGetErrorName, 6000);\nDECLARE_CUDA_PFN_EXTERN(cuMemGetAddressRange, 3020);\nDECLARE_CUDA_PFN_EXTERN(cuCtxCreate, 11040);\nDECLARE_CUDA_PFN_EXTERN(cuCtxDestroy, 4000);\nDECLARE_CUDA_PFN_EXTERN(cuCtxGetCurrent, 4000);\nDECLARE_CUDA_PFN_EXTERN(cuCtxSetCurrent, 4000);\nDECLARE_CUDA_PFN_EXTERN(cuCtxGetDevice, 2000);\nDECLARE_CUDA_PFN_EXTERN(cuPointerGetAttribute, 4000);\nDECLARE_CUDA_PFN_EXTERN(cuLaunchKernel, 4000);\n#if CUDART_VERSION >= 11080\nDECLARE_CUDA_PFN_EXTERN(cuLaunchKernelEx, 11060);\n#endif\n// cuMem API support\nDECLARE_CUDA_PFN_EXTERN(cuMemAddressReserve, 10020);\nDECLARE_CUDA_PFN_EXTERN(cuMemAddressFree, 10020);\nDECLARE_CUDA_PFN_EXTERN(cuMemCreate, 10020);\nDECLARE_CUDA_PFN_EXTERN(cuMemGetAllocationGranularity, 10020);\nDECLARE_CUDA_PFN_EXTERN(cuMemExportToShareableHandle, 10020);\nDECLARE_CUDA_PFN_EXTERN(cuMemImportFromShareableHandle, 10020);\nDECLARE_CUDA_PFN_EXTERN(cuMemMap, 10020);\nDECLARE_CUDA_PFN_EXTERN(cuMemRelease, 10020);\nDECLARE_CUDA_PFN_EXTERN(cuMemRetainAllocationHandle, 11000);\nDECLARE_CUDA_PFN_EXTERN(cuMemSetAccess, 10020);\nDECLARE_CUDA_PFN_EXTERN(cuMemUnmap, 10020);\nDECLARE_CUDA_PFN_EXTERN(cuMemGetAllocationPropertiesFromHandle, 10020);\n#if CUDA_VERSION >= 11070\nDECLARE_CUDA_PFN_EXTERN(cuMemGetHandleForAddressRange, 11070); // DMA-BUF support\n#endif\n#if CUDA_VERSION >= 12010\n/* NVSwitch Multicast support */\nDECLARE_CUDA_PFN_EXTERN(cuMulticastAddDevice, 12010);\nDECLARE_CUDA_PFN_EXTERN(cuMulticastBindMem, 12010);\nDECLARE_CUDA_PFN_EXTERN(cuMulticastBindAddr, 12010);\nDECLARE_CUDA_PFN_EXTERN(cuMulticastCreate, 12010);\nDECLARE_CUDA_PFN_EXTERN(cuMulticastGetGranularity, 12010);\nDECLARE_CUDA_PFN_EXTERN(cuMulticastUnbind, 12010);\n#endif\n/* Stream-MemOp support */\nDECLARE_CUDA_PFN_EXTERN(cuStreamBatchMemOp, 11070);\nDECLARE_CUDA_PFN_EXTERN(cuStreamWaitValue32, 11070);\nDECLARE_CUDA_PFN_EXTERN(cuStreamWaitValue64, 11070);\nDECLARE_CUDA_PFN_EXTERN(cuStreamWriteValue32, 11070);\nDECLARE_CUDA_PFN_EXTERN(cuStreamWriteValue64, 11070);\n#endif\n\nncclResult_t ncclCudaLibraryInit(void);\n\nextern int ncclCudaDriverVersionCache;\nextern bool ncclCudaLaunchBlocking; // initialized by ncclCudaLibraryInit()\n\ninline ncclResult_t ncclCudaDriverVersion(int* driver) {\n  int version = __atomic_load_n(&ncclCudaDriverVersionCache, __ATOMIC_RELAXED);\n  if (version == -1) {\n    CUDACHECK(cudaDriverGetVersion(&version));\n    __atomic_store_n(&ncclCudaDriverVersionCache, version, __ATOMIC_RELAXED);\n  }\n  *driver = version;\n  return ncclSuccess;\n}\n#endif\n"
  },
  {
    "path": "src/include/debug.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_INT_DEBUG_H_\n#define NCCL_INT_DEBUG_H_\n\n#include \"nccl.h\"\n#include \"nccl_common.h\"\n#include <stdio.h>\n\n#include <pthread.h>\n\n// Conform to pthread and NVTX standard\n#define NCCL_THREAD_NAMELEN 16\n\nextern int ncclDebugLevel;\nextern uint64_t ncclDebugMask;\nextern FILE *ncclDebugFile;\n\nvoid ncclDebugLog(ncclDebugLogLevel level, unsigned long flags, const char *filefunc, int line, const char *fmt, ...) __attribute__ ((format (printf, 5, 6)));\n\n// Let code temporarily downgrade WARN into INFO\nextern thread_local int ncclDebugNoWarn;\nextern char ncclLastError[];\n\n#define ERROR(...) ncclDebugLog(NCCL_LOG_ERROR, NCCL_ALL, __FILE__, __LINE__, __VA_ARGS__)\n#define VERSION(...) ncclDebugLog(NCCL_LOG_VERSION, NCCL_ALL, __FILE__, __LINE__, __VA_ARGS__)\n#define WARN(...) ncclDebugLog(NCCL_LOG_WARN, NCCL_ALL, __FILE__, __LINE__, __VA_ARGS__)\n#define INFO(FLAGS, ...) ncclDebugLog(NCCL_LOG_INFO, (FLAGS), __func__, __LINE__, __VA_ARGS__)\n#define TRACE_CALL(...) ncclDebugLog(NCCL_LOG_TRACE, NCCL_CALL, __func__, __LINE__, __VA_ARGS__)\n\n#ifdef ENABLE_TRACE\n#define TRACE(FLAGS, ...) ncclDebugLog(NCCL_LOG_TRACE, (FLAGS), __func__, __LINE__, __VA_ARGS__)\n#else\n#define TRACE(...)\n#endif\n\nvoid ncclSetThreadName(pthread_t thread, const char *fmt, ...);\n\nvoid ncclResetDebugInit();\n\n// RCCL custom error message handling.\nstatic inline ncclResult_t rcclCudaErrorHandler(cudaError_t err) {\n\n    // Print the cuda error\n    ERROR(\"HIP failure: '%s'\", cudaGetErrorString(err));\n\n    // Special error message here:\n    switch (err) {\n    case cudaErrorStreamCaptureInvalidated:\n\t    ERROR(\"Application is trying to use an invalidated stream to launch RCCL kernel. \"\n\t          \"This operation is invalid. RCCL is exiting.\");\n\t    break;\n    default:\n\t    break;\n    }\n    return ncclUnhandledCudaError;\n}\n\n#endif\n"
  },
  {
    "path": "src/include/dev_runtime.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_DEVICE_RUNTIME_H_\n#define NCCL_DEVICE_RUNTIME_H_\n#include \"nccl.h\"\n#include \"nccl_device.h\"\n#include \"nccl_common.h\"\n#include \"allocator.h\"\n#include \"bitops.h\"\n#include \"utils.h\"\n\n////////////////////////////////////////////////////////////////////////////////\n// ncclDevr[_]: runtime implements for symmetric API.\n\nstruct ncclDevrMemory;\nstruct ncclDevrWindow {\n  struct ncclDevrMemory* memory;\n  void* userPtr;\n  size_t size;\n  size_t bigOffset; // Offset in big VA space.\n  int winFlags;\n  void* localRegHandle;\n  struct ncclWindow_vidmem* vidmem;\n};\nstruct ncclDevrWindowSorted;\nstruct ncclDevrTeam;\n\nstruct ncclDevrRegTask {\n  struct ncclDevrRegTask *next;\n  void* userPtr;\n  size_t userSize;\n  int winFlags;\n  ncclWindow_t* outWinDev;\n};\n\nstruct ncclDevrCommCreateTask {\n  struct ncclDevrCommCreateTask *next;\n  struct ncclDevCommRequirements* reqs;\n  struct ncclDevComm* outDevComm;\n};\n\nstruct ncclDevrState {\n  // Like localRank/localRanks except \"lsa\" ranks must be consecutive in the world\n  // and all lsa subsets have the same number of ranks. If any condition is\n  // false then the lsa team is just the singleton of self.\n  int lsaSelf;\n  int lsaSize;\n  int* lsaRankList;\n\n  size_t granularity; // cuMemGetAllocationGranularity\n  struct ncclDevrMemory* memHead;\n  struct ncclDevrWindowSorted* winSorted;\n  int winSortedCapacity, winSortedCount;\n  struct ncclDevrTeam* teamHead;\n  size_t bigSize; // size of our big logical space (128GB?)\n  struct ncclSpace bigSpace; // allocates our big VA space.\n  void* lsaFlatBase; // base ptr for all lsa ranks big VA's concatenated together: size = lsaRanks*bigSize\n  struct ncclShadowPool shadows;\n  struct ncclDevCommWindowTable* windowTable;\n\n  struct ncclIntruQueue<struct ncclDevrRegTask, &ncclDevrRegTask::next> regTaskQueue;\n  struct ncclIntruQueue<struct ncclDevrCommCreateTask, &ncclDevrCommCreateTask::next> commCreateTaskQueue;\n};\n\n// We assume ncclComm has a `ncclDevrState symState` member.\nncclResult_t ncclDevrInitOnce(struct ncclComm* comm);\nncclResult_t ncclDevrFinalize(struct ncclComm* comm);\n\n// If found *outWinHost will be populated and *outWinId >= 0, otherwise *outWinId == -1\nncclResult_t ncclDevrFindWindow(struct ncclComm* comm, void const* userPtr, struct ncclDevrWindow** outWin);\n\nncclResult_t ncclDevrWindowRegisterInGroup(\n  struct ncclComm* comm, void* ptr, size_t size, int winFlags, ncclWindow_t* outWinDev\n);\n\nncclResult_t ncclDevrCommCreateInternal(\n  struct ncclComm* comm, struct ncclDevCommRequirements const* reqs, struct ncclDevComm* outDevComm\n);\nvoid freeDevCommRequirements(\n  struct ncclDevCommRequirements* reqs\n);\n\n// Get the corresponding pointer in another lsa rank's symmetric memory window\nncclResult_t ncclDevrGetLsaRankPtr(struct ncclComm* comm, struct ncclDevrWindow* winHost, size_t offset, int lsaRank, void** outPtr);\n\n// Get the multicast address for a given team\nncclResult_t ncclDevrGetLsaTeamPtrMC(struct ncclComm* comm, struct ncclDevrWindow* winHost, size_t offset, struct ncclTeam lsaTeam, void** outPtr);\n#endif\n"
  },
  {
    "path": "src/include/device.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_DEVICE_H_\n#define NCCL_DEVICE_H_\n\n#include \"nccl.h\"\n#include \"rccl_float8.h\"\n#if ROCM_VERSION >= 60000\n  // This is a workaround for the fact that the old hip_bfloat16.h header file may still be used by some rocm files.\n  // The _HIP_INCLUDE_HIP_AMD_DETAIL_HIP_BFLOAT16_H_ and _HIP_BFLOAT16_H_ macros are defined in the old hip_bfloat16.h header\n  #if !defined(_HIP_INCLUDE_HIP_AMD_DETAIL_HIP_BFLOAT16_H_) && !defined(_HIP_BFLOAT16_H_)\n    #define _HIP_INCLUDE_HIP_AMD_DETAIL_HIP_BFLOAT16_H_\n    #define _HIP_BFLOAT16_H_\n    #include <hip/hip_bf16.h>\n    typedef __hip_bfloat16 hip_bfloat16;\n  #else\n    #error \"RCCL is not using the correct hip_bf16.h file. Please make sure that the correct header is included!\"\n  #endif\n#else\n  #include <hip/hip_bfloat16.h>\n#endif\n#include \"nccl_tuner.h\"\n#include \"bitops.h\"\n#if defined(ENABLE_NPKIT)\n#include \"npkit/npkit_struct.h\"\n#endif\n#include <algorithm>\n#include <stdint.h>\n#include <sys/types.h>\n#include <unordered_map>\n#include <string>\n#include \"debug.h\"\n\n#ifdef ENABLE_ROCSHMEM\n#include <rocshmem/rocshmem.hpp>\n#endif\n\nextern const char* ncclFuncStr[NCCL_NUM_FUNCTIONS+3];\n\nextern const char* ncclAlgoStr[NCCL_NUM_ALGORITHMS];\n\nextern const char* ncclProtoStr[NCCL_NUM_PROTOCOLS];\n\nextern const char* funcNames[];\n\n#define NCCL_MAX_OPS 2048\n#define NCCL_STEPS 8\n\n#ifdef __CUDA_ARCH__\n  #define NCCL_CUDA_ARCH __CUDA_ARCH__\n#else\n  #define NCCL_CUDA_ARCH 0\n#endif\n\n#ifdef __CUDA_ARCH_SPECIFIC__\n  #define NCCL_CUDA_ARCH_SPECIFIC __CUDA_ARCH_SPECIFIC__\n#elif defined(__CUDA_ARCH_HAS_FEATURE__)\n  #if __CUDA_ARCH_HAS_FEATURE__(SM90_ALL)\n    #define NCCL_CUDA_ARCH_SPECIFIC 900\n  #elif __CUDA_ARCH_HAS_FEATURE__(SM100_ALL)\n    #define NCCL_CUDA_ARCH_SPECIFIC 1000\n  #elif __CUDA_ARCH_HAS_FEATURE__(SM101_ALL)\n    #define NCCL_CUDA_ARCH_SPECIFIC 1010\n  #elif __CUDA_ARCH_HAS_FEATURE__(SM120_ALL)\n    #define NCCL_CUDA_ARCH_SPECIFIC 1200\n  #else\n    #define NCCL_CUDA_ARCH_SPECIFIC 0\n  #endif\n#else\n  #define NCCL_CUDA_ARCH_SPECIFIC 0\n#endif\n\n#ifdef __CUDA_ARCH_FAMILY_SPECIFIC__\n  #define NCCL_CUDA_ARCH_FAMILY_SPECIFIC __CUDA_ARCH_FAMILY_SPECIFIC__\n#else\n  #define NCCL_CUDA_ARCH_FAMILY_SPECIFIC 0\n#endif\n\n#include \"net_device.h\"\n\nenum ncclDevRedOp_t {\n  ncclDevSum, ncclDevProd, ncclDevMinMax,\n  ncclDevPreMulSum, ncclDevSumPostDiv,\n  ncclNumDevRedOps\n};\nstruct ncclDevRedOpFull {\n  ncclDevRedOp_t op;\n  ncclRedOp_t proxyOp;\n  bool scalarArgIsPtr;\n  uint64_t scalarArg;\n};\n\nunion ncclLLFifoLine {\n  /* Flags have to be *after* data, because otherwise, an incomplete receive\n    from the network may receive the flag but not the data.\n    Note this is assuming that either we receive contiguous chunks of data\n    (sockets) or data is written with an atomicity of 8 bytes (IB/RDMA). */\n  struct {\n    uint32_t data1;\n    uint32_t flag1;\n    uint32_t data2;\n    uint32_t flag2;\n  };\n  uint64_t v[2];\n  int4 i4;\n};\n\n#if __HIP_DEVICE_COMPILE__\n  #if defined(__GFX9__)\n  #define WARP_SIZE 64\n  #else\n  #define WARP_SIZE 32\n  #endif\n  #if defined (__gfx950__)\n  #define NCCL_MAX_NTHREADS 512\n  #else\n  #define NCCL_MAX_NTHREADS 256\n  #endif\n  // Number of named barriers supported by CUDA\n  #define NCCL_MAX_GROUPS (NCCL_MAX_NTHREADS/WARP_SIZE)\n#else\n /* IMPORTANT Note ragarding WARP_SIZE, NCCL_MAX_NTHREADS and NCCL_MAX_GROUPS:\n  * These should NEVER be referenced by host code in RCCL. It is defined here\n  * solely as a workaround to allow RCCL to compile, since the host still compiles __device__ functions,\n  * and they need to be defined. These __device__ functions will not be called from the host.\n  * The host warp size is handled in src/enqueue.cc by calling hipDeviceGetAttributes(). */\n  #define WARP_SIZE 32\n  #define NCCL_MAX_NTHREADS 256\n  // Number of named barriers supported by CUDA\n  #define NCCL_MAX_GROUPS (NCCL_MAX_NTHREADS/WARP_SIZE)\n#endif\n\n#ifdef ENABLE_WARP_SPEED\n#define MAXCHANNELS 512\n#else\n#define MAXCHANNELS 128\n#endif\n#define CHANNEL_LIMIT 16 // this is used to limit channels for pre MI3xx GPUs\n#define NCCL_MAX_LOCAL_RANKS 72\n#define NCCL_MIN_NTHREADS (4*WARP_SIZE)\n#define NCCL_SIMPLE_MAX_NTHREADS NCCL_MAX_NTHREADS\n#define NCCL_SIMPLE_EXTRA_GROUP_IF_NTHREADS_GE (3*WARP_SIZE)\n#define NCCL_LL_MAX_NTHREADS NCCL_MAX_NTHREADS\n#define NCCL_LL_LINES_PER_THREAD 8\n#ifdef TEST_LL_CLEANUP\n#define NCCL_LL_CLEAN_MASK 0x078 // Set to 0x100 to disable cleanup\n#define NCCL_LL_FLAG_MAX   0x100\n#define NCCL_LL_FLAG(a) ((uint32_t)((a) % NCCL_LL_FLAG_MAX))\n#else\n#define NCCL_LL_CLEAN_MASK 0x7ffffff8\n#define NCCL_LL_FLAG(a) ((uint32_t)(a))\n#endif\n// Make sure the clean mask will last for at least NCCL_NSTEPS\nstatic_assert(NCCL_LL_CLEAN_MASK % NCCL_STEPS == 0, \"Invalid NCCL_LL_CLEAN_MASK value\");\n\n#define NCCL_LL128_LINESIZE 64\n#define NCCL_LL128_LINEELEMS (NCCL_LL128_LINESIZE/sizeof(uint64_t))\n#define NCCL_LL128_DATAELEMS (NCCL_LL128_LINEELEMS-1)\n\n#define NCCL_LL128_MAX_NTHREADS 256\n#define NCCL_LL128_ELEMS_PER_THREAD 28\n\n#define NCCL_LL128_SHMEM_ELEMS_PER_THREAD 8\n#define NCCL_LL128_SHMEM_SIZE (NCCL_LL128_SHMEM_ELEMS_PER_THREAD*NCCL_LL128_MAX_NTHREADS)\n\n#define NCCL_P2P_WRITE 0x01\n#define NCCL_P2P_READ  0x02\n#define NCCL_DIRECT_NIC   0x04\n#define NCCL_NVLS_MIN_POLL 0x80\n\n\n\n#define NCCL_REGULAR_BUFFER 0x00\n#define NCCL_IPC_REG_BUFFER 0x01\n#define NCCL_NVLS_REG_BUFFER 0x02\n#define NCCL_NET_REG_BUFFER 0x04\n\n#define RCCL_FUNC_ID_MASK 0xF\n#define RCCL_COLL_SHIFT 0\n#define RCCL_ALGO_SHIFT 4\n#define RCCL_PROTO_SHIFT 8\n#define RCCL_REDOP_SHIFT 12\n#define RCCL_DTYPE_SHIFT 16\n#define RCCL_ACC_SHIFT 20\n#define RCCL_PIPELINE_SHIFT 24\n\nstruct ncclConnInfo {\n  // Regular comm mechanism\n  char *buffs[NCCL_NUM_PROTOCOLS]; // Local for recv, remote for send\n  void* mhandles[NCCL_NUM_PROTOCOLS];\n  uint64_t *tail;     // Local for recv, remote for send\n  uint64_t *head;     // Local for send, remote for recv\n\n  int flags;          // Direct communication / other flags\n  int shared;         // Buffers are shared\n  int stepSize;       // Step size for the SIMPLE buffer\n  void **ptrExchange; // Pointer exchange for direct communication\n  uint64_t* redOpArgExchange; // PreOp scaler exchange for direct pull case\n\n  struct ncclConnFifo* connFifo; // Used for GPU - Proxy communication\n\n  uint64_t step;      // Keep where we are\n  uint64_t llLastCleaning;\n\n  // GPU's HDP_MEM_FLUSH_ADDR: HDP Memory Coherency Flush Control. This register\n  // allows software to explicitly initiate a flush read to HDP memory. See more\n  // descriptions in primitives.h.\n  uint32_t* next_hdp_reg;  // Next GPU in ring (for p2p transport use only)\n  uint32_t* curr_hdp_reg;  // Current GPU's HDP register\n  ncclNetDeviceHandle_t netDeviceHandle;\n};\n\nstruct ncclProxyConnector {\n  bool initialized;\n  int rank;\n  int tpRank;\n  int tpLocalRank;\n  int sameProcess;\n  struct ncclProxyConnection* connection;\n  ncclResult_t (*proxyProgress)(struct ncclProxyState* proxyState, struct ncclProxyArgs*); // Copied from transport if necessary\n};\n\nstruct ncclConnector {\n  int connected;\n  int hasSeen;\n  int p2pOnly;\n  struct ncclProxyConnector proxyConn;\n  struct ncclTransportComm* transportComm;\n  void* transportResources;\n  struct ncclConnInfo conn;\n};\n\nstruct ncclRing {\n  // Shortcuts for userRanks[1] and userRanks[n-1]\n  int prev;\n  int next;\n\n  // Maps an internal nccl index to user-specified rank order. This is necessary\n  // since we need to know how the user expects data to be ordered across\n  // devices. Ordered from current device.\n  int* userRanks;\n\n  int index; // This rank's index in the ring\n};\n\n\n// The root of each tree only has one node down (+1 intra-node).\n#define NCCL_MAX_TREE_ARITY_TOP 2\n// Nodes inside the binary tree can have to two nodes down (+1 intra-node).\n#define NCCL_MAX_TREE_ARITY 3\nstruct ncclTree {\n  int depth;\n  int up;\n  int down[NCCL_MAX_TREE_ARITY];\n};\n\n#define NCCL_MAX_DIRECT_ARITY 7\nstruct ncclDirect {\n  int depth;\n  int out;\n  int nHeads;   // Number of parallel N<->1<->net operations we'll do in parallel; size of up/down\n  int headRank; // Index in 0..nHeads-1 I am the head rank of. -1 if I'm not a head rank (no local NIC)\n  int shift;    // Shuffling of send/recv for scatter/gather operations, basically localRank%nHeads\n  // The heads[...] are guaranteed to be in rotated order start with self:\n  //   headRank, (headRank+1)%nHeads, (headRank+2)%nHeads, ...\n  int heads[NCCL_MAX_DIRECT_ARITY+1];\n  int up[NCCL_MAX_DIRECT_ARITY];\n  int down[NCCL_MAX_DIRECT_ARITY];\n};\n\n#define NCCL_CONN_IDX_P2P_NET 2\n#define NCCL_MAX_NVLS_ARITY 32\n#define NCCL_MAX_NVLS_TREE_ARITY 3\nstruct ncclNvls {\n  int out;\n  int nHeads;   // Number of parallel N<->1<->net operations we'll do in parallel; size of up/down\n  int headRank; // Index in 0..nHeads-1 I am the head rank of. -1 if I'm not a head rank (no local NIC)\n  int up[NCCL_MAX_NVLS_ARITY];\n  int down;\n  int treeUp;\n  int treeDown[NCCL_MAX_NVLS_TREE_ARITY];\n};\n\n#if __CUDA_ARCH__ >= 900\n#define NCCL_MAX_ARITY NCCL_MAX_NVLS_ARITY\n#else\n#define NCCL_MAX_ARITY NCCL_MAX_DIRECT_ARITY\n#endif\n\n#define NCCL_MAX_CONNS 3\nstruct ncclChannelPeer {\n  struct ncclConnector send[NCCL_MAX_CONNS];\n  struct ncclConnector recv[NCCL_MAX_CONNS];\n  int refCount;\n};\n\nstruct ncclKernelComm;\n\n#pragma pack(push)  /* push current alignment to stack */\n#pragma pack(8)     /* set alignment to 8 bytes boundary */\n\nstruct alignas(16) ncclDevWorkP2p {\n  void *sendAddr, *recvAddr;\n  size_t sendBytes, recvBytes;\n  int sendRank, recvRank;\n  uint64_t sendOpCount, recvOpCount;\n  // From the part index, nP2pChannels, and channelBase the device code can\n  // calculate which part of the transfer a channel is responsible for.\n  uint8_t nP2pChannels; // Always equal to comm->p2pnChannels\n  uint8_t channelBase; // Channel owning first part.\n  // Zero channels indicates no work in that direction.\n  uint8_t nSendChannels, nRecvChannels;\n  // Chunk size stored in 8 bits via u32fp8Encode/Decode.\n  uint8_t sendChunkSize_u32fp8, recvChunkSize_u32fp8;\n\n  uint8_t sendProtoLL:1, recvProtoLL:1;\n  uint8_t sendNetReg:1, recvNetReg:1;\n  uint8_t sendIpcReg:1, recvIpcReg:1;\n\n  uint8_t profilerEnabled:1;\n\n  uint8_t sendConnIndex:2, recvConnIndex:2;\n};\n\n// Compute the subset of the data transfer corresponding to the given part index.\ninline __host__ __device__ void ncclP2pPartBounds(int nParts, int part, size_t bytes, size_t* partBeg, size_t* partEnd) {\n  size_t partBytes = alignUp(divUp(bytes, nParts), 4<<10);\n  #if __CUDA_ARCH__\n    *partBeg = min((part+0)*partBytes, bytes);\n    *partEnd = min((part+1)*partBytes, bytes);\n  #else\n    *partBeg = std::min<size_t>((part+0)*partBytes, bytes);\n    *partEnd = std::min<size_t>((part+1)*partBytes, bytes);\n  #endif\n}\n\n// implemented in channel.h\ninline __host__ uint8_t ncclP2pChannelBaseForRound(struct ncclComm* comm, int p2pRound, int p2pBatchEnable);\n\n// ncclP2pChannelToPart and ncclP2pChannelForPart are inverses. The device code\n// uses ncclP2pChannelToPart to determine which part \"this\" channel is responsible for.\ninline __host__ int ncclP2pChannelForPart(int nP2pChannels, int base, int part, int nParts, int nNodes) {\n  if (nNodes > 2) {\n    // Only works because nP2pChannels is pow2\n    int nChannelsLog2 = countOneBits(nP2pChannels-1);\n    int delta = reverseBits(part, nChannelsLog2);\n    return (base + delta) & (nP2pChannels-1);\n  } else {\n    return (base * nParts + part) & (nP2pChannels-1);\n  }\n}\ninline __device__ int ncclP2pChannelToPart(int nP2pChannels, int base, int channel, int nParts, int nNodes) {\n  if (nNodes > 2) {\n    // Only works because nP2pChannels is pow2\n    int nChannelsLog2 = countOneBits(nP2pChannels-1);\n    int delta = (channel-base) & (nP2pChannels-1);\n    return reverseBits(delta, nChannelsLog2);\n  } else {\n    return (channel - base * nParts) & (nP2pChannels-1);\n  }\n}\n\nstruct alignas(16) ncclDevWorkColl {\n  // Running on channels [channelLo..channelHi], hi is inclusive.\n  //   nChannels == (channelHi - channelLo) + 1\n#ifdef ENABLE_WARP_SPEED\n  uint32_t channelLo:16, channelHi:16;\n#else\n  uint32_t channelLo:8, channelHi:8;\n#endif\n  uint32_t nWarps:8;\n  uint32_t redOpArgIsPtr:1, regUsed:1, netRegUsed:1, oneNode:1, direct:2, isOneRPN:1, rcclUseOneSlice:1, gfx9CheapFenceOff:1;\n  uint32_t root:30, connIndex:2;\n  uint16_t pivotA2ANumBiRings:15, profilerEnabled:1;\n  void* recvbuff;\n  void* sendbuff;\n  void *acc;\n  uintptr_t sendbuffOffset;\n  uintptr_t recvbuffOffset;\n  uintptr_t* sendbuffRmtAddrs;\n  uintptr_t* recvbuffRmtAddrs;\n  union {\n    // Continuous-byte-distribution scheduling. The lo and hi channels are of\n    // different size than the channels in the middle.\n    struct {\n      size_t countLo, countMid, countHi;\n      // Chunk counts where units are ncclProtoGrainSize(protocol) bytes\n      uint64_t chunkGrainsLo:21, chunkGrainsMid:21, chunkGrainsHi:21;\n    } cbd;\n    // Collnet scheduling. All channels divide work evenly.\n    struct {\n      size_t count; // Total size, not divided per channel.\n      uint32_t chunkCount;\n    } collnet;\n  };\n  uint64_t redOpArg;\n  uint64_t opCount;\n\n#ifdef ENABLE_ROCSHMEM\n  rocshmem::rocshmem_team_t team;\n  int enableRocshmem;\n  void* tempbuff;\n  void* sndbuff;\n  int size;\n#endif\n};\n\n\n__device__ constexpr int ncclProtoGrainSize(int proto) {\n  return proto == NCCL_PROTO_LL ? 16 :\n        proto == NCCL_PROTO_LL128 ? WARP_SIZE*NCCL_LL128_SHMEM_ELEMS_PER_THREAD/NCCL_LL128_LINEELEMS*NCCL_LL128_DATAELEMS*sizeof(uint64_t) :\n        proto == NCCL_PROTO_SIMPLE ? 512 :\n        -1;\n}\n\ntemplate<typename Int>\n__device__ inline void ncclCollCbdPart(\n    struct ncclDevWorkColl* work, uint32_t channelId, int proto, int eltSize,\n    Int* count, Int* partOffset, Int* partCount, Int* chunkCount\n  ) {\n  int eltPerGrain = ncclProtoGrainSize(proto)/eltSize;\n  int nMidChannels = work->channelHi - work->channelLo - 1;\n  // We can assum that nMidChannels<0 implies countMid==0, which let's us assume\n  // that countMid*nMidChannels == 0.\n  if (count != nullptr) {\n    *count = work->cbd.countLo + work->cbd.countMid*nMidChannels + work->cbd.countHi;\n  }\n  if (channelId == work->channelLo) {\n    *partOffset = 0;\n    *partCount = work->cbd.countLo;\n    *chunkCount = work->cbd.chunkGrainsLo*eltPerGrain;\n  } else if (channelId == work->channelHi) {\n    *partOffset = work->cbd.countLo + nMidChannels*work->cbd.countMid;\n    *partCount = work->cbd.countHi;\n    *chunkCount = work->cbd.chunkGrainsHi*eltPerGrain;\n  } else {\n    int mid = channelId - work->channelLo - 1;\n    *partOffset = work->cbd.countLo + mid*work->cbd.countMid;\n    *partCount = work->cbd.countMid;\n    *chunkCount = work->cbd.chunkGrainsMid*eltPerGrain;\n  }\n}\n\nstruct alignas(16) ncclDevWorkCollReg {\n  struct ncclDevWorkColl coll;\n  void* dnInputs[NCCL_MAX_DIRECT_ARITY+1];\n  void* dnOutputs[NCCL_MAX_DIRECT_ARITY+1];\n  void* upOutputs[NCCL_MAX_DIRECT_ARITY+1];\n};\n\nenum ncclDevWorkType: uint8_t {\n  ncclDevWorkTypeP2p,\n  ncclDevWorkTypeColl,\n  ncclDevWorkTypeCollReg\n};\n\nconstexpr size_t ncclDevWorkSize(enum ncclDevWorkType type) {\n  return type == ncclDevWorkTypeP2p ? sizeof(ncclDevWorkP2p) :\n        type == ncclDevWorkTypeColl ? sizeof(ncclDevWorkColl) : sizeof(ncclDevWorkCollReg);\n}\n\n#define NCCL_MAX_DEV_WORK_BATCH_BYTES 128\n#define NCCL_MAX_DEV_WORK_BATCH_COLLS (NCCL_MAX_DEV_WORK_BATCH_BYTES/sizeof(ncclDevWorkColl))\n#define NCCL_MAX_DEV_WORK_P2P_PER_BATCH 2\n#define NCCL_MAX_DEV_WORK_P2P_ELEMENTS 2\nstruct alignas(16) ncclDevWorkBatch {\n  union {\n    struct {\n      // nextExtends: should next one be merged into this one.\n      // nextJump=0: end of this channel's batch list\n      // nextJump>0: batches[thisIndex+nextJump] is next batch in this list\n      uint32_t nextJump:14, nextExtends:1;\n      uint32_t workType:2, funcId:15;\n    };\n    // Unioning bitfields with underlying type hints compiler to emit the best\n    // SASS LD/ST accesses.\n    uint32_t flags;\n  };\n  // Rolling offset in fifo where this batch's work structs begin\n  uint32_t offsetBase;\n  // Set of relative offsets from offsetBase for this channel's subset of the batch:\n  // For each bit index i in offsetMask, find work at fifo offset: offsetBase + i*sizeof(WorkStructType)\n  uint64_t offsetBitset;\n};\n\nstruct ncclDevChannelPeer {\n  // Stripped version of ncclChannelPeer where we only keep the ncclConnInfo\n  // instead of the full ncclConnector.\n  struct ncclConnInfo send[NCCL_MAX_CONNS];\n  struct ncclConnInfo recv[NCCL_MAX_CONNS];\n\n};\n#pragma pack(pop)   /* restore original alignment from stack */\n\n#ifdef ENABLE_PROFILING\n#define PROFILE_NUM_ITEMS 31\n#define PROFILE_NUM_LAUNCHES 1024\n\nstruct ncclProf {\n  uint32_t count;\n  uint32_t seq; // only entry from first launch is used\n  struct {\n    uint64_t line:16;\n    uint64_t timeStamp:48;\n  } elem[PROFILE_NUM_ITEMS];\n};\nstatic_assert(sizeof(struct ncclProf) == 256, \"ncclProf must have size of 256\");\n#endif\n\n#ifdef ENABLE_COLLTRACE\ntypedef enum {\n  ncclCollTraceNotReady = 0,\n  ncclCollTraceKernelLaunchType = 1,\n  ncclCollTraceKernelEndType = 2,\n  ncclCollTraceCollLaunchType = 3,\n  ncclCollTraceAbortType = 4,\n  ncclCollTraceDataType = 5,\n  ncclCollTraceCollElemType = (1<<4),\n  ncclCollTraceP2pElemType = (1<<5),\n} ncclCollTraceDataType_t;\n\nstruct ncclCollTrace {\n  int16_t funcIndex;\n  uint8_t xccId:4;\n  uint16_t data_0:12;\n  uint8_t type;\n  uint8_t batchIx;\n  uint8_t tid;\n  uint8_t channelId;\n  uint64_t timeStamp:56;\n  union {\n    uint64_t opCount;\n    uint32_t p2pOpCount[2];\n  };\n  union {\n    uint64_t data_1;\n    struct {\n      uint8_t nWarps;\n      uint8_t nChannels;\n      uint8_t bid;\n      uint8_t root;\n    } coll;\n    struct {\n      uint8_t sendRank;\n      uint8_t recvRank;\n      uint8_t nSendChannels;\n      uint8_t nRecvChannels;\n      uint8_t channelBase;\n      uint8_t sendConnIndex:2;\n      uint8_t recvConnIndex:2;\n      uint8_t sendProtoLL:1;\n      uint8_t recvProtoLL:1;\n      uint8_t sendRegistered:1;\n      uint8_t recvRegistered:1;\n    } p2p;\n  };\n};\nstatic_assert(sizeof(struct ncclCollTrace) == 8*sizeof(int), \"ncclCollTrace must have a pow2 size\");\n\nunion ncclCollTraceTail{\n  uint32_t tail;\n  char padding[4096];\n};\n\n#define COLLTRACE_NUM_ITEMS 8192\n#endif\n\nstruct alignas(16) ncclDevChannel {\n  struct ncclDevChannelPeer** peers;\n  struct ncclRing ring;\n  struct ncclTree tree;\n  struct ncclTree collnetChain;\n  struct ncclDirect collnetDirect;\n  struct ncclTree binTree;\n  struct ncclNvls nvls;\n  uint32_t* workFifoDone; // Location of done counter, device writes index+1 of last work processed\n  uint64_t workCounter;\n};\n\n#define MAX_PROFILER_EVENTS_PER_CHANNEL 64\nstruct ncclDevProfiler {\n  struct {\n    uint64_t counter;\n    uint64_t timestamp;\n  } data[MAX_PROFILER_EVENTS_PER_CHANNEL];\n};\n\nstruct ncclKernelComm {\n  int rank;\n  int nRanks;\n  int node;\n  int nNodes;\n  int buffSizes[NCCL_NUM_PROTOCOLS];\n  int p2pChunkSize;\n  int isAllNvlink;\n  int p2pnChannelsPerPeer;\n  int warpLevelComm;\n  int* collNetDenseToUserRank;\n\n  // Flag to ask NCCL kernels to abort\n  volatile uint32_t* abortFlag;\n\n  // Channels, device side\n  struct ncclDevChannel* channels/*[MAXCHANNELS]*/;\n\n  int* rankToLocalRank;\n\n  // Profiler counters\n  struct ncclDevProfiler* workStarted/*[MAXCHANNELS]*/;\n  struct ncclDevProfiler* workCompleted/*[MAXCHANNELS]*/;\n\n#if defined(ENABLE_NPKIT)\n  NpKitEventCollectContext* npKitEventCollectContexts;\n  uint64_t* cpuTimestamp;\n#endif\n\n#ifdef ENABLE_COLLTRACE\n  struct ncclCollTrace* collTrace;\n  union ncclCollTraceTail *collTraceTail;\n  pthread_t collTraceThread;\n#endif\n\n#ifdef ENABLE_PROFILING\n  struct ncclProf* devProf;\n#endif\n\n#ifdef ENABLE_FAULT_INJECTION\n  uint64_t faults;\n#endif\n};\n\n#ifdef ENABLE_FAULT_INJECTION\n#define RANDOM_DELAY_ON_WARP_START 0x1L\n#endif\n\nstruct alignas(16) ncclKernelCommAndChannels {\n  struct ncclKernelComm comm;\n  struct ncclDevChannel channels[MAXCHANNELS];\n};\n\nenum ncclDevWorkStorageType: uint8_t {\n  ncclDevWorkStorageTypeArgs=0,\n  ncclDevWorkStorageTypeFifo=1,\n  ncclDevWorkStorageTypePersistent=2\n};\n\nstruct channelMasks {\n  uint64_t masks[MAXCHANNELS/64];\n};\n\nstruct alignas(16) ncclDevKernelArgs {\n  struct ncclKernelComm* comm;\n  struct channelMasks channelMask;\n  enum ncclDevWorkStorageType workStorageType;\n  uint32_t workMask;\n  void* workBuf;\n  // A channel's first batch is at `blockIdx.x`. Use `nextJump` to follow rest of list.\n  // struct ncclDevWorkBatch batches[];\n};\n\ntemplate<size_t capacity>\nstruct alignas(16) ncclDevKernelArgsStorage {\n  union {\n    struct ncclDevKernelArgs args;\n    ulong2 storage[capacity/sizeof(ulong2)];\n  };\n};\n\n\ntypedef ncclDevKernelArgsStorage<(5<<10)> ncclDevKernelArgs5K;\ntypedef ncclDevKernelArgsStorage<(4<<10)> ncclDevKernelArgs4K;\n//typedef ncclDevKernelArgsStorage<(32<<10)-4> ncclDevKernelArgs31K;\n\n#ifdef ENABLE_WARP_SPEED\n// needed extra storage for accomodating more channels than 128 for WarpSpeed support\n// 256 channels (i.e. 256 warps) would hang without this extra storage\n// 5KB should be sufficient for now\ntypedef ncclDevKernelArgs5K ncclDevKernelArgsDefaultStorage;\n#else\ntypedef ncclDevKernelArgs4K ncclDevKernelArgsDefaultStorage;\n#endif\n__host__ __device__ constexpr int ncclMaxKernelArgsSize(/*int cudaDriver, */int cudaArch=NCCL_CUDA_ARCH) {\n  //return (cudaArch < 700 || cudaDriver < 12010) ? 4<<10 : (32<<10)-4;\n  return sizeof(ncclDevKernelArgsDefaultStorage);\n}\n\ntemplate<typename T>\n__host__ __device__ constexpr T min_constexpr(T a) { return a; }\ntemplate<typename T, typename ...Ts>\n__host__ __device__ constexpr T min_constexpr(T a, T b, Ts ...c) {\n  return min_constexpr<T>((a < b ? a : b), c...);\n}\n\ntemplate<typename T>\n__host__ __device__ constexpr T max_constexpr(T a) { return a; }\ntemplate<typename T, typename ...Ts>\n__host__ __device__ constexpr T max_constexpr(T a, T b, Ts ...c) {\n  return max_constexpr<T>((a > b ? a : b), c...);\n}\n\nconstexpr int ncclDevMaxChannelsForArgsBytes(size_t argsBytes) {\n  return min_constexpr<size_t>(MAXCHANNELS, (argsBytes - sizeof(struct ncclDevKernelArgs))/sizeof(struct ncclDevWorkBatch));\n}\n\n// Calculate the unroll factor given:\n// * bytePerPack: number of bytes accessed per instruction\n// * insns: max permissible unroll value\n// * bytes: desired number of in-flight bytes per iteration ( = unroll*bytePerPack)\n__host__ __device__ constexpr int ncclCalcUnroll(int bytePerPack, int insns, int bytes) {\n  return min_constexpr(insns, (bytes + bytePerPack-1)/bytePerPack);\n}\n\n// Note that all unroll value logic should depend on a given cudaArch argument\n// and not __CUDA_ARCH__ since these need to be host-side executable where the\n// arch value is strictly runtime only. By defaulting to NCCL_CUDA_ARCH, device\n// side code can elide passing the arch for brevity.\n\n__host__ __device__ constexpr int ncclCollUnroll(int cudaArch = NCCL_CUDA_ARCH) {\n  // Our collective unroll should move to the same bytes&insns model as NVLS.\n  return cudaArch >= 800 ? (cudaArch / 100 == 12 ? 6 : 8) : 4;\n}\n\n__host__ __device__ constexpr int ncclNvlsUnrollBytes(int cudaArch = NCCL_CUDA_ARCH) { return 4*16; }\n__host__ __device__ constexpr int ncclNvlsUnrollInsns(int cudaArch = NCCL_CUDA_ARCH) { return 16; }\n\n__host__ __device__ constexpr int ncclNvlsUnroll(int bytePerPack, int cudaArch = NCCL_CUDA_ARCH) {\n  return ncclCalcUnroll(bytePerPack, ncclNvlsUnrollInsns(cudaArch), ncclNvlsUnrollBytes(cudaArch));\n}\n\n// The amount of dynamic shmem per warp\n__device__ constexpr int ncclShmemScratchWarpSize(int cudaArch = NCCL_CUDA_ARCH) {\n  return (max_constexpr<int>(\n      /*LL    */0,\n      /*LL128 */(NCCL_LL128_SHMEM_ELEMS_PER_THREAD*WARP_SIZE)*sizeof(uint64_t),\n      /*SIMPLE*/(ncclCollUnroll(cudaArch)*WARP_SIZE + 1)*16,\n      // NVLS needs an extra 16B to read unaligned data.\n      /*NVLS  */WARP_SIZE*(cudaArch >= 900 ? ncclNvlsUnrollBytes(cudaArch) : 0) + 16\n    ) + 15) & -16; // pad to 16 bytes\n}\n\n// RCCL has its own varient of ncclShmemDynamicSize and ncclShmemScratchWarpSize\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#else\n// The amount of dynamic shmem per block\n__device__ constexpr int ncclShmemDynamicSize(int cudaArch = NCCL_CUDA_ARCH) {\n  return cudaArch < 700 ? 0 : ncclShmemScratchWarpSize(cudaArch)*(NCCL_MAX_NTHREADS/WARP_SIZE);\n}\n#endif\n\n// Host-side table of kernel function pointers.\nextern int const ncclDevKernelCount;\nextern void* const ncclDevKernelList[/*ncclDevKernelCount*/];\n\n// Table of most specialized kernel function to run given func index.\nextern int const ncclDevFuncRowToId[];\nextern void* const ncclDevKernelForFunc[/*funcIndex*/];\nextern bool const ncclDevKernelForFuncIsSpecialized[/*funcIndex*/];\n\n// Launch a one-rank reduction on stream.\nncclResult_t ncclLaunchOneRank(void* dst, void const* src, size_t nElts, struct ncclDevRedOpFull redOp, ncclDataType_t type, cudaStream_t stream);\n\n// `ncclNvlsSupported()` needs to be in sync with \"func_valid\" in \"src/device/generate.py\"\ninline bool ncclNvlsSupported(int devRedOp, int type) {\n  switch (type) {\n  case ncclInt32:\n  case ncclUint32:\n  case ncclInt64:\n  case ncclUint64:\n  case ncclFloat16:\n  case ncclBfloat16:\n    return devRedOp == ncclDevSum || devRedOp == ncclDevMinMax;\n  case ncclFloat:\n  case ncclDouble:\n    return devRedOp == ncclDevSum;\n  default:\n    return false;\n  }\n}\n\n// Map the uint64_t key to funcIdx\nextern std::unordered_map<uint64_t, int> ncclDevFuncNameToId;\n\n// `ncclDevFuncId()` needs to be in sync with 'all_colls' in generate.py\ninline int ncclDevFuncId(int coll, int devRedOp, int type, int algo, int proto, int acc = 0, int pipeline = 0) {\n  int row = -1;\n  uint64_t key;\n  // Pack 4-bit fields from right (LSB) to left in order:\n  // coll, algo, proto, devRedOp, type, acc, pipeline\n  // This logic must be in sync with the key generation logic in generate.py\n  if (coll == ncclFuncBroadcast) {\n    key = ((uint64_t)(coll     & RCCL_FUNC_ID_MASK) << RCCL_COLL_SHIFT ) |\n          ((uint64_t)(proto    & RCCL_FUNC_ID_MASK) << RCCL_PROTO_SHIFT);\n  } else if (coll == ncclFuncSendRecv || coll == ncclFuncAlltoAllPivot || coll == ncclFuncAllToAllGda) {\n    key = ((uint64_t)(coll     & RCCL_FUNC_ID_MASK) << RCCL_COLL_SHIFT );\n  } else {\n    key = ((uint64_t)(coll     & RCCL_FUNC_ID_MASK) << RCCL_COLL_SHIFT ) |\n          ((uint64_t)(algo     & RCCL_FUNC_ID_MASK) << RCCL_ALGO_SHIFT ) |\n          ((uint64_t)(proto    & RCCL_FUNC_ID_MASK) << RCCL_PROTO_SHIFT) |\n          ((uint64_t)(devRedOp & RCCL_FUNC_ID_MASK) << RCCL_REDOP_SHIFT) |\n          ((uint64_t)(type     & RCCL_FUNC_ID_MASK) << RCCL_DTYPE_SHIFT) |\n          ((uint64_t)(acc      & RCCL_FUNC_ID_MASK) << RCCL_ACC_SHIFT)   |\n          ((uint64_t)(pipeline & RCCL_FUNC_ID_MASK) << RCCL_PIPELINE_SHIFT);\n  }\n  auto it = ncclDevFuncNameToId.find(key);\n  if (it != ncclDevFuncNameToId.end()) {\n    row = it->second;\n  }\n  if(row < 0) {\n    WARN(\"Fatal error: ncclDevFuncId: %lu not found for coll: %d, algo: %d, proto: %d, devRedOp: %d, type: %d, acc: %d, pipeline: %d\", key, coll, algo, proto, devRedOp, type, acc, pipeline);\n    return -1;\n  }\n  return row;\n}\n\ninline int ncclDevFuncId_P2p() {\n  static int ncclDevFuncIdP2p = ncclDevFuncId(ncclFuncSendRecv, -1 , -1 , NCCL_ALGO_UNDEF, NCCL_PROTO_UNDEF);\n  return ncclDevFuncIdP2p;\n}\n\n#endif\n"
  },
  {
    "path": "src/include/enqueue.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_ENQUEUE_H_\n#define NCCL_ENQUEUE_H_\n\n#include \"comm.h\"\n#include \"group.h\"\n#include \"collectives.h\"\n#include \"utils.h\"\n\n#define NCCL_LL_ALIGNMENT_PER_THREAD sizeof(uint64_t)\n#define NCCL_LL128_ALIGNMENT_PER_WARP 480\n#define NCCL_SIMPLE_ALIGNMENT (WARP_SIZE * 8LL * 16LL)\n#define NCCL_BYTES_ALIGNMENT 16\n\nvoid* rcclGetKernelIndex(int unroll, bool useCollTrace, struct ncclTaskColl* task = NULL);\n\nncclResult_t ncclInitKernelsForDevice(int cudaArch, int maxSharedMem, size_t* maxStackSize);\nncclResult_t ncclEnqueueCheck(struct ncclInfo* info);\nncclResult_t ncclLaunchPrepare(struct ncclComm* comm);\nncclResult_t ncclLaunchKernelBefore_NoUncapturedCuda(struct ncclComm* comm, struct ncclKernelPlan* plan);\nncclResult_t ncclLaunchKernel(struct ncclComm* comm, struct ncclKernelPlan* plan);\nncclResult_t ncclLaunchKernelAfter_NoCuda(struct ncclComm* comm, struct ncclKernelPlan* plan);\nncclResult_t ncclLaunchFinish(struct ncclComm* comm);\nncclResult_t ncclPrepareTasks(struct ncclComm* comm, bool* algoNeedConnect, bool* needConnect, ncclSimInfo_t* simInfo);\nncclResult_t ncclTasksRegAndEnqueue(struct ncclComm* comm);\n\nstatic inline size_t ncclFuncSendCount(ncclFunc_t func, int nRanks, size_t count) {\n  return func == ncclFuncReduceScatter ? nRanks*count : count;\n}\nstatic inline size_t ncclFuncRecvCount(ncclFunc_t func, int nRanks, size_t count) {\n  return func == ncclFuncAllGather ? nRanks*count : count;\n}\nrccl_static inline size_t ncclFuncMaxSendRecvCount(ncclFunc_t func, int nRanks, size_t count) {\n  return func == ncclFuncAllGather || func == ncclFuncReduceScatter ? nRanks*count : count;\n}\n\n#endif // End include guard\n"
  },
  {
    "path": "src/include/gdrwrap.h",
    "content": "/*************************************************************************\n * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_GDRWRAP_H_\n#define NCCL_GDRWRAP_H_\n\n#include \"nccl.h\"\n#include \"alloc.h\"\n#include <stdint.h> // for standard [u]intX_t types\n#include <stdio.h>\n#include <stdlib.h>\n#include \"archinfo.h\"\n\n// These can be used if the GDR library isn't thread safe\n#include <pthread.h>\nextern pthread_mutex_t gdrLock;\n#define GDRLOCK() pthread_mutex_lock(&gdrLock)\n#define GDRUNLOCK() pthread_mutex_unlock(&gdrLock)\n#define GDRLOCKCALL(cmd, ret) do {                      \\\n    GDRLOCK();                                          \\\n    ret = cmd;                                          \\\n    GDRUNLOCK();                                        \\\n} while(false)\n\n#define GDRCHECK(cmd) do {                              \\\n    int e;                                              \\\n    /* GDRLOCKCALL(cmd, e); */                          \\\n    e = cmd;                                            \\\n    if( e != 0 ) {                                      \\\n      WARN(\"GDRCOPY failure %d\", e);                    \\\n      return ncclSystemError;                           \\\n    }                                                   \\\n} while(false)\n\n// This is required as the GDR memory is mapped WC\n#if !defined(__NVCC__)\n#if defined(__PPC__)\nstatic inline void wc_store_fence(void) { asm volatile(\"sync\") ; }\n#elif defined(__x86_64__)\n#include <immintrin.h>\nstatic inline void wc_store_fence(void) { _mm_sfence(); }\n#elif defined(__aarch64__) || defined(__riscv)\n#ifdef __cplusplus\n#include <atomic>\nstatic inline void wc_store_fence(void) { std::atomic_thread_fence(std::memory_order_release); }\n#else\n#include <stdatomic.h>\nstatic inline void wc_store_fence(void) { atomic_thread_fence(memory_order_release); }\n#endif\n#endif\n#endif\n\n//#define GDR_DIRECT 1\n#ifdef GDR_DIRECT\n// Call the GDR API library code directly rather than via\n// dlopen() wrappers\n#include <gdrapi.h>\n\nstatic ncclResult_t wrap_gdr_symbols(void) { return ncclSuccess; }\nstatic gdr_t wrap_gdr_open(void) { gdr_t g = gdr_open(); return g; }\nstatic ncclResult_t wrap_gdr_close(gdr_t g) { GDRCHECK(gdr_close(g)); return ncclSuccess; }\nstatic ncclResult_t wrap_gdr_pin_buffer(gdr_t g, unsigned long addr, size_t size, uint64_t p2p_token, uint32_t va_space, gdr_mh_t *handle) {\n  GDRCHECK(gdr_pin_buffer(g, addr, size, p2p_token, va_space, handle));\n  return ncclSuccess;\n}\nstatic ncclResult_t wrap_gdr_unpin_buffer(gdr_t g, gdr_mh_t handle) {\n  GDRCHECK(gdr_unpin_buffer(g, handle));\n  return ncclSuccess;\n}\nstatic ncclResult_t wrap_gdr_get_info(gdr_t g, gdr_mh_t handle, gdr_info_t *info) {\n  GDRCHECK(gdr_get_info(g, handle, info));\n  return ncclSuccess;\n}\nstatic ncclResult_t wrap_gdr_map(gdr_t g, gdr_mh_t handle, void **va, size_t size) {\n  GDRCHECK(gdr_map(gdr_t g, gdr_mh_t handle, void **va, size_t size));\n  return ncclSuccess;\n}\nstatic ncclResult_t wrap_gdr_unmap(gdr_t g, gdr_mh_t handle, void *va, size_t size) {\n  GDRCHECK(gdr_unmap(gdr_t g, gdr_mh_t handle, void **va, size_t size));\n  return ncclSuccess;\n}\nstatic void wrap_gdr_runtime_get_version(int *major, int *minor) {\n  gdr_runtime_get_version(major, minor);\n  return ncclSuccess;\n}\nstatic void wrap_gdr_driver_get_version(gdr_t g, int *major, int *minor) {\n  gdr_driver_get_version(g, major, minor);\n  return ncclSuccess;\n}\nstatic ncclResult_t wrap_gdr_copy_to_mapping(gdr_mh_t handle, void *map_d_ptr, const void *h_ptr, size_t size) {\n  GDRCHECK(gdr_copy_to_mapping(handle, map_d_ptr, h_ptr, size));\n  return ncclSuccess;\n}\nstatic ncclResult_t wrap_gdr_copy_from_mapping(gdr_mh_t handle, void *h_ptr, const void *map_d_ptr, size_t size) {\n  GDRCHECK(gdr_copy_from_mapping(handle, h_ptr, map_d_ptr, size));\n  return ncclSuccess;\n}\n\n#else\n// Dynamically handle dependency the GDR API library\n\n/* Extracted from gdrapi.h (v2.1 Nov 2020) */\n\n#define GPU_PAGE_SHIFT   16\n#define GPU_PAGE_SIZE    (1UL << GPU_PAGE_SHIFT)\n#define GPU_PAGE_OFFSET  (GPU_PAGE_SIZE-1)\n#define GPU_PAGE_MASK    (~GPU_PAGE_OFFSET)\n\nstruct gdr;\ntypedef struct gdr *gdr_t;\n\ntypedef struct gdr_mh_s {\n  unsigned long h;\n} gdr_mh_t;\n\nstruct gdr_info {\n    uint64_t va;\n    uint64_t mapped_size;\n    uint32_t page_size;\n    uint64_t tm_cycles;\n    uint32_t cycles_per_ms;\n    unsigned mapped:1;\n    unsigned wc_mapping:1;\n};\ntypedef struct gdr_info gdr_info_t;\n\n/* End of gdrapi.h */\n\nncclResult_t wrap_gdr_symbols(void);\n\ngdr_t wrap_gdr_open(void);\nncclResult_t wrap_gdr_close(gdr_t g);\nncclResult_t wrap_gdr_pin_buffer(gdr_t g, unsigned long addr, size_t size, uint64_t p2p_token, uint32_t va_space, gdr_mh_t *handle);\nncclResult_t wrap_gdr_unpin_buffer(gdr_t g, gdr_mh_t handle);\nncclResult_t wrap_gdr_get_info(gdr_t g, gdr_mh_t handle, gdr_info_t *info);\nncclResult_t wrap_gdr_map(gdr_t g, gdr_mh_t handle, void **va, size_t size);\nncclResult_t wrap_gdr_unmap(gdr_t g, gdr_mh_t handle, void *va, size_t size);\nncclResult_t wrap_gdr_runtime_get_version(int *major, int *minor);\nncclResult_t wrap_gdr_driver_get_version(gdr_t g, int *major, int *minor);\nncclResult_t wrap_gdr_copy_to_mapping(gdr_mh_t handle, void *map_d_ptr, const void *h_ptr, size_t size);\nncclResult_t wrap_gdr_copy_from_mapping(gdr_mh_t handle, void *h_ptr, const void *map_d_ptr, size_t size);\n\n#endif // GDR_DIRECT\n\n// Global GDR driver handle\nextern gdr_t ncclGdrCopy;\n\n#include \"alloc.h\"\n\ntypedef struct gdr_mem_desc {\n  void *gdrDevMem;\n  void *gdrMap;\n  size_t gdrOffset;\n  size_t gdrMapSize;\n  gdr_mh_t gdrMh;\n} gdr_mem_desc_t;\n\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\nstatic gdr_t ncclGdrInit() {\n  cudaDeviceProp devProp;\n  char gcnArchNameSubstr[128];\n  cudaError_t err = cudaGetDeviceProperties(&devProp, 0);\n  if (err != cudaSuccess) {\n    WARN(\"Failed to GetDeviceProperties for device\");\n    return NULL;\n  }\n  GcnArchNameFormat(devProp.gcnArchName, gcnArchNameSubstr);\n  if (IsArchMatch(gcnArchNameSubstr, \"gfx942\") ||\n      IsArchMatch(gcnArchNameSubstr, \"gfx950\")) {\n    INFO(NCCL_INIT, \"Enabled GDRCopy equivalent memory allocation on %s\", gcnArchNameSubstr);\n    return (gdr_t)0x12345678L;\n  } else {\n    INFO(NCCL_INIT, \"Disabled GDRCopy equivalent memory allocation on %s due to GPU architecture\", gcnArchNameSubstr);\n    return NULL;\n  }\n}\n\ntemplate <typename T>\nstatic ncclResult_t ncclGdrCudaCalloc(T** ptr, T** devPtr, size_t nelem, void** gdrHandle) {\n  // gdr_info_t info; // unused variable - compiler warning\n  size_t mapSize;\n  // gdr_mh_t mh;     // unused variable - compiler warning\n  char *devMem;\n  // void *gdrMap;    // unused variable - compiler warning\n\n  mapSize = ncclSizeOfT<T>()*nelem;\n\n  // GDRCOPY Pinned buffer has to be a minimum of a GPU_PAGE_SIZE\n  ALIGN_SIZE(mapSize, GPU_PAGE_SIZE);\n  // GDRCOPY Pinned buffer has to be GPU_PAGE_SIZE aligned too\n#if defined(HIP_UNCACHED_MEMORY)\n  NCCLCHECK(ncclCudaCalloc(&devMem, mapSize+GPU_PAGE_SIZE-1, hipDeviceMallocUncached));\n#else\n  NCCLCHECK(ncclCudaCalloc(&devMem, mapSize+GPU_PAGE_SIZE-1, hipDeviceMallocFinegrained));\n#endif\n  gdr_mem_desc_t* md;\n  NCCLCHECK(ncclCalloc(&md, 1));\n  md->gdrDevMem = devMem;\n  md->gdrMap = NULL;\n  md->gdrMapSize = mapSize;\n  md->gdrOffset = 0;\n  md->gdrMh.h = 0;\n  *gdrHandle = md;\n\n  *ptr = (T *)(devMem);\n  if (devPtr) *devPtr = (T *)(devMem);\n\n  TRACE(NCCL_INIT, \"GDRCOPY : allocated devMem %p gdrMap %p offset %lx mh %lx mapSize %zi at %p\",\n       md->gdrDevMem, md->gdrMap, md->gdrOffset, md->gdrMh.h, md->gdrMapSize, *ptr);\n\n  return ncclSuccess;\n}\n\ntemplate <typename T>\nstatic ncclResult_t ncclGdrCudaCopy(void *gdrHandle, T* dst, T* src, size_t nelem) {\n  //gdr_mem_desc_t *md = (gdr_mem_desc_t*)gdrHandle; // unused variable - compiler warning\n  memcpy(dst, src, nelem*sizeof(T));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclGdrCudaFree(void* gdrHandle) {\n  gdr_mem_desc_t *md = (gdr_mem_desc_t*)gdrHandle;\n  CUDACHECK(cudaFree(md->gdrDevMem));\n  free(md);\n\n  return ncclSuccess;\n}\n#else\nstatic gdr_t ncclGdrInit() {\n  int libMajor, libMinor, drvMajor, drvMinor;\n  gdr_t handle = NULL;\n  // Dynamically load the GDRAPI library symbols\n  if (wrap_gdr_symbols() == ncclSuccess) {\n    handle = wrap_gdr_open();\n\n    if (handle != NULL) {\n      ncclResult_t res;\n\n      // Query the version of libgdrapi\n      NCCLCHECKGOTO(wrap_gdr_runtime_get_version(&libMajor, &libMinor), res, error);\n\n      // Query the version of gdrdrv driver\n      NCCLCHECKGOTO(wrap_gdr_driver_get_version(handle, &drvMajor, &drvMinor), res, error);\n\n      // Only support GDRAPI 2.1 and later\n      if (libMajor < 2 || (libMajor == 2 && libMinor < 1) || drvMajor < 2 || (drvMajor == 2 && drvMinor < 1)) {\n        goto error;\n      }\n      else\n        INFO(NCCL_INIT, \"GDRCOPY enabled library %d.%d driver %d.%d\", libMajor, libMinor, drvMajor, drvMinor);\n    }\n  }\n  return handle;\nerror:\n  if (handle != NULL) (void) wrap_gdr_close(handle);\n  return NULL;\n}\n\ntemplate <typename T>\nstatic ncclResult_t ncclGdrCudaCalloc(T** ptr, T** devPtr, size_t nelem, void** gdrHandle) {\n  gdr_info_t info;\n  size_t mapSize;\n  gdr_mh_t mh;\n  char *devMem;\n  void *gdrMap;\n\n  mapSize = ncclSizeOfT<T>()*nelem;\n\n  // GDRCOPY Pinned buffer has to be a minimum of a GPU_PAGE_SIZE\n  ALIGN_SIZE(mapSize, GPU_PAGE_SIZE);\n  // GDRCOPY Pinned buffer has to be GPU_PAGE_SIZE aligned too\n  NCCLCHECK(ncclCudaCalloc(&devMem, mapSize+GPU_PAGE_SIZE-1));\n  uint64_t alignedAddr = (((uint64_t) devMem) + GPU_PAGE_OFFSET) & GPU_PAGE_MASK;\n  size_t align = alignedAddr - (uint64_t)devMem;\n\n  //TRACE(NCCL_INIT, \"GDRCOPY: Pin buffer 0x%lx (%p) align %zu size %zu\", alignedAddr, devMem, align, mapSize);\n  NCCLCHECK(wrap_gdr_pin_buffer(ncclGdrCopy, alignedAddr, mapSize, 0, 0, &mh));\n\n  NCCLCHECK(wrap_gdr_map(ncclGdrCopy, mh, &gdrMap, mapSize));\n  //TRACE(NCCL_INIT, \"GDRCOPY : mapped %p (0x%lx) at %p\", devMem, alignedAddr, gdrMap);\n\n  NCCLCHECK(wrap_gdr_get_info(ncclGdrCopy, mh, &info));\n\n  // Will offset ever be non zero ?\n  ssize_t off = info.va - alignedAddr;\n\n  gdr_mem_desc_t* md;\n  NCCLCHECK(ncclCalloc(&md, 1));\n  md->gdrDevMem = devMem;\n  md->gdrMap = gdrMap;\n  md->gdrMapSize = mapSize;\n  md->gdrOffset = off+align;\n  md->gdrMh = mh;\n  *gdrHandle = md;\n\n  *ptr = (T *)((char *)gdrMap+off);\n  if (devPtr) *devPtr = (T *)(devMem+off+align);\n\n  TRACE(NCCL_INIT, \"GDRCOPY : allocated devMem %p gdrMap %p offset %lx mh %lx mapSize %zu at %p\",\n       md->gdrDevMem, md->gdrMap, md->gdrOffset, md->gdrMh.h, md->gdrMapSize, *ptr);\n\n  return ncclSuccess;\n}\n\ntemplate <typename T>\nstatic ncclResult_t ncclGdrCudaCopy(void *gdrHandle, T* dst, T* src, size_t nelem) {\n  gdr_mem_desc_t *md = (gdr_mem_desc_t*)gdrHandle;\n  NCCLCHECK(wrap_gdr_copy_to_mapping(md->gdrMh, dst, src, nelem*ncclSizeOfT<T>()));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclGdrCudaFree(void* gdrHandle) {\n  gdr_mem_desc_t *md = (gdr_mem_desc_t*)gdrHandle;\n  NCCLCHECK(wrap_gdr_unmap(ncclGdrCopy, md->gdrMh, md->gdrMap, md->gdrMapSize));\n  NCCLCHECK(wrap_gdr_unpin_buffer(ncclGdrCopy, md->gdrMh));\n  NCCLCHECK(ncclCudaFree(md->gdrDevMem));\n  free(md);\n\n  return ncclSuccess;\n}\n#endif\n\n#endif // End include guard\n"
  },
  {
    "path": "src/include/git_version.h",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef RCCL_GIT_VERSION_H_\n#define RCCL_GIT_VERSION_H_\n\nextern const char *rcclGitHash;\n\n#endif\n"
  },
  {
    "path": "src/include/graph.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_GRAPH_H_\n#define NCCL_GRAPH_H_\n\n#include \"nccl.h\"\n#include \"device.h\"\n#include <limits.h>\n#include <stdlib.h>\n#include <ctype.h>\n#include <stdio.h>\n#include <sched.h>\n\nncclResult_t ncclTopoCudaPath(int cudaDev, char** path);\n\nstruct ncclTopoSystem;\n// Build the topology\nncclResult_t ncclTopoGetSystem(struct ncclComm* comm, struct ncclTopoSystem** system, const char* dumpXmlFile=NULL);\nncclResult_t ncclTopoSortSystem(struct ncclTopoSystem* system);\nncclResult_t ncclTopoPrint(struct ncclTopoSystem* system);\n\nncclResult_t ncclTopoComputePaths(struct ncclTopoSystem* system, struct ncclComm* comm);\nvoid ncclTopoFree(struct ncclTopoSystem* system);\nncclResult_t ncclTopoTrimSystem(struct ncclTopoSystem* system, struct ncclComm* comm);\nncclResult_t ncclTopoComputeP2pChannels(struct ncclComm* comm);\nncclResult_t ncclTopoGetNvbGpus(struct ncclTopoSystem* system, int rank, int* nranks, int** ranks);\nncclResult_t ncclTopoPathAllNVLink(struct ncclTopoSystem* system, int* allNvLink);\n\nncclResult_t ncclTopoComputeCommCPU(struct ncclComm* comm);\n\n// Query topology\nncclResult_t ncclTopoGetNetDev(struct ncclComm* comm, int rank, struct ncclTopoGraph* graph, int channelId, int peerRank, int64_t* id, int* dev, int* proxyRank);\nncclResult_t ncclTopoCheckP2p(struct ncclComm* comm, struct ncclTopoSystem* system, int rank1, int rank2, int* p2p, int *read, int* intermediateRank);\nncclResult_t ncclTopoCheckMNNVL(struct ncclTopoSystem* system, struct ncclPeerInfo* info1, struct ncclPeerInfo* info2, int* ret);\nenum ncclTopoGdrMode {\n  ncclTopoGdrModeDisable = 0,\n  ncclTopoGdrModeDefault = 1,\n  ncclTopoGdrModePci = 2,\n  ncclTopoGdrModeNum = 3\n};\nncclResult_t ncclTopoCheckGdr(struct ncclTopoSystem* topo, int rank, int64_t netId, int read, enum ncclTopoGdrMode* gdrMode);\nncclResult_t ncclTopoNeedFlush(struct ncclComm* comm, int64_t netId, int netDev, int rank, int* flush);\nncclResult_t ncclTopoIsGdrAvail(struct ncclTopoSystem* system, int rank, bool *avail);\nncclResult_t ncclTopoCheckNet(struct ncclTopoSystem* system, int rank1, int rank2, int* net);\nint ncclPxnDisable(struct ncclComm* comm);\nncclResult_t ncclTopoGetPxnRanks(struct ncclComm* comm, int** intermediateRanks, int* nranks);\nncclResult_t ncclGetLocalCpu(struct ncclTopoSystem* system, int gpu, int* retCpu);\n\nncclResult_t ncclGetUserP2pLevel(int* level);\n\n#define MAX_XGMI_INTER_GPUS 4\nncclResult_t ncclTopoGetIntraNetDev(struct ncclTopoSystem* system, int rank, struct ncclTopoGraph* graph, int channelId, int type, int64_t* id, int* dev);\nncclResult_t ncclTopoGetLinkType(struct ncclTopoSystem* system, int cudaDev1, int cudaDev2, bool* isXGMI, int maxInter=MAX_XGMI_INTER_GPUS, int nInter=0, int *inter=nullptr);\n\n// Find CPU affinity\nncclResult_t ncclTopoGetCpuAffinity(struct ncclTopoSystem* system, int rank, cpu_set_t* affinity);\n\n#define NCCL_TOPO_CPU_ARCH_X86 1\n#define NCCL_TOPO_CPU_ARCH_POWER 2\n#define NCCL_TOPO_CPU_ARCH_ARM 3\n#define NCCL_TOPO_CPU_ARCH_MIXED 4\n#define NCCL_TOPO_CPU_VENDOR_INTEL 1\n#define NCCL_TOPO_CPU_VENDOR_AMD 2\n#define NCCL_TOPO_CPU_VENDOR_ZHAOXIN 3\n#define NCCL_TOPO_CPU_VENDOR_MIXED 4\n#define NCCL_TOPO_CPU_MODEL_INTEL_BDW 1\n#define NCCL_TOPO_CPU_MODEL_INTEL_SKL 2\n#define NCCL_TOPO_CPU_MODEL_INTEL_SRP 3\n#define NCCL_TOPO_CPU_MODEL_INTEL_ERP 4\n#define NCCL_TOPO_CPU_MODEL_AMD_ZEN 5\n#define NCCL_TOPO_CPU_MODEL_AMD_ROME 6\n#define NCCL_TOPO_CPU_MODEL_YONGFENG 1\nncclResult_t ncclTopoCpuType(struct ncclTopoSystem* system, int* arch, int* vendor, int* model);\nncclResult_t ncclTopoGetGpuCount(struct ncclTopoSystem* system, int* count);\nncclResult_t ncclTopoGetNetCount(struct ncclTopoSystem* system, int* count);\nncclResult_t ncclTopoGetNvsCount(struct ncclTopoSystem* system, int* count);\nncclResult_t ncclTopoGetLocalNet(struct ncclTopoSystem* system, int rank, int channelId, int64_t* id, int* dev);\nncclResult_t ncclTopoGetLocalGpu(struct ncclTopoSystem* system, int64_t netId, int* gpuIndex);\nncclResult_t getLocalNetCountByBw(struct ncclTopoSystem* system, int gpu, int *count);\n\n// Allows for up to 32 NICs per node on GB200-NVL72\n#define NCCL_TOPO_MAX_NODES 64\nncclResult_t ncclTopoGetLocal(struct ncclTopoSystem* system, int type, int index, int resultType, int locals[NCCL_TOPO_MAX_NODES], int* localCount, int* pathType);\n\n// Init search. Needs to be done before calling ncclTopoCompute\nncclResult_t ncclTopoSearchInit(struct ncclTopoSystem* system);\n\n#define NCCL_TOPO_PATTERN_BALANCED_TREE 1   // Spread NIC traffic between two GPUs (Tree parent + one child on first GPU, second child on second GPU)\n#define NCCL_TOPO_PATTERN_SPLIT_TREE 2      // Spread NIC traffic between two GPUs (Tree parent on first GPU, tree children on the second GPU)\n#define NCCL_TOPO_PATTERN_TREE 3            // All NIC traffic going to/from the same GPU\n#define NCCL_TOPO_PATTERN_RING 4            // Ring\n#define NCCL_TOPO_PATTERN_NVLS 5            // NVLS+SHARP and NVLS+Tree\n#define NCCL_TOPO_PATTERN_COLLNET_DIRECT 6  // Collnet Direct\nstruct ncclTopoGraph {\n  // Input / output\n  int id; // ring : 0, tree : 1, collnet : 2, nvls : 3, collnetDirect : 4\n  int pattern;\n  int crossNic;\n  int collNet;\n  int minChannels;\n  int maxChannels;\n  // Output\n  int nChannels;\n  float bwIntra;\n  float bwInter;\n  float latencyInter;\n  int typeIntra;\n  int typeInter;\n  int sameChannels;\n  int nHops;\n  int intra[MAXCHANNELS*NCCL_TOPO_MAX_NODES];\n  int64_t inter[MAXCHANNELS*2];\n  int nIntraChannels;\n  int intraNets[MAXCHANNELS*NCCL_TOPO_MAX_NODES*2];\n  char treeBase[NCCL_TOPO_MAX_NODES][NCCL_TOPO_MAX_NODES*4];\n};\nncclResult_t ncclTopoCompute(struct ncclTopoSystem* system, struct ncclTopoGraph* graph);\n\nncclResult_t ncclTopoPrintGraph(struct ncclTopoSystem* system, struct ncclTopoGraph* graph);\nncclResult_t ncclTopoDumpGraphs(struct ncclTopoSystem* system, int ngraphs, struct ncclTopoGraph** graphs);\n\nstruct ncclTopoRanks {\n  int crossNicRing;\n  int ringRecv[MAXCHANNELS];\n  int ringSend[MAXCHANNELS];\n  int ringPrev[MAXCHANNELS];\n  int ringNext[MAXCHANNELS];\n  int treeToParent[MAXCHANNELS];\n  int treeToChild0[MAXCHANNELS];\n  int treeToChild1[MAXCHANNELS];\n  int nvlsHeads[MAXCHANNELS];\n  int nvlsHeadNum;\n};\n\nncclResult_t ncclTopoPreset(struct ncclComm* comm, struct ncclTopoGraph** graphs, struct ncclTopoRanks* topoRanks);\n\nncclResult_t ncclTopoPostset(struct ncclComm* comm, int* firstRanks, int* treePatterns,\n    struct ncclTopoRanks** allTopoRanks, int* rings, struct ncclTopoGraph** graphs, struct ncclComm* parent, int nc);\nncclResult_t ncclTreeBasePostset(struct ncclComm* comm, struct ncclTopoGraph* treeGraph);\n\nncclResult_t ncclTopoInitTunerConstants(struct ncclComm* comm);\nncclResult_t ncclTopoTuneModel(struct ncclComm* comm, int minCompCap, int maxCompCap, struct ncclTopoGraph** graphs);\nncclResult_t ncclTopoGetAlgoTime(struct ncclComm* comm, int coll, int algorithm, int protocol, size_t nBytes, int numPipeOps, float* time);\nint rcclGetTuningIndexForArch(const char* gfxarch);\n#endif\n"
  },
  {
    "path": "src/include/group.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2017, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_GROUP_H_\n#define NCCL_GROUP_H_\n\n#include \"nccl.h\"\n#include \"comm.h\"\n#include \"allocator.h\"\n#include \"register.h\"\n\nncclResult_t ncclGroupErrCheck(ncclResult_t ret);\nvoid ncclGroupCommJoin(struct ncclComm* comm, int type);\nvoid ncclGroupCommPreconnect(struct ncclComm* comm);\nncclResult_t ncclGroupCommLeave(struct ncclComm* comm);\nncclResult_t ncclGroupJobAbort(struct ncclGroupJob* groupJob);\nncclResult_t ncclGroupJobComplete(struct ncclGroupJob *groupJob);\n\ntypedef ncclResult_t(*ncclInitFunc_t)(ncclComm_t* newcomm, int ndev, ncclUniqueId commId, int myrank, int cudaDev);\n\nncclResult_t ncclAsyncInit(ncclInitFunc_t func, ncclComm_t* newcomm, int ndev, ncclUniqueId commId, int myrank, int cudaDev);\n\ntypedef enum ncclGroupJobState {\n  ncclGroupJobRunning = 0,\n  ncclGroupJobDone    = 1,\n  ncclGroupJobJoined  = 2,\n} ncclGroupJobState_t;\n\nstruct ncclAsyncJob {\n  struct ncclAsyncJob* next;\n  pthread_t thread;\n  ncclResult_t result;\n  ncclResult_t(*func)(struct ncclAsyncJob*);\n  void(*undo)(struct ncclAsyncJob*);\n  void(*destructor)(void*);\n  ncclGroupJobState_t state;\n  uint32_t* abortFlag; /* point to comm abortFlag */\n  uint32_t* abortFlagDev; /* point to comm abortFlagDev */\n  uint32_t* childAbortFlag; /* point to child abortFlag */\n  uint32_t* childAbortFlagDev; /* point to child abortFlagDev */\n  ncclComm_t comm;\n  int destroyFlag;\n  bool isThreadMain;\n};\n\nncclResult_t ncclAsyncLaunch(\n  struct ncclAsyncJob* job,\n  ncclResult_t(*func)(struct ncclAsyncJob*),\n  void(*undo)(struct ncclAsyncJob*),\n  void(*destructor)(void*), ncclComm_t comm\n);\n\nstruct ncclGroupJob {\n  struct ncclAsyncJob base;\n  int groupRefCount;\n  bool nonBlockingInit;\n  bool joined;\n  struct ncclComm *groupCommHead[ncclGroupTaskTypeNum];\n  struct ncclComm *groupCommPreconnectHead;\n  ncclResult_t groupError;\n  bool abortFlag;\n  struct ncclIntruQueue<struct ncclAsyncJob, &ncclAsyncJob::next> asyncJobs;\n};\n\nncclResult_t ncclGroupStartInternal();\nncclResult_t ncclGroupEndInternal(ncclSimInfo_t* simInfo = NULL);\nncclResult_t ncclAsyncJobComplete(struct ncclAsyncJob* job);\n\n////////////////////////////////////////////////////////////////////////////////\n\nextern __thread int ncclGroupDepth; // depth of ncclGroupStart nesting\nextern __thread ncclResult_t ncclGroupError;\nextern __thread struct ncclComm* ncclGroupCommHead[ncclGroupTaskTypeNum];\nextern __thread struct ncclComm* ncclGroupCommPreconnectHead;\nextern __thread int ncclGroupBlocking;\n\ninline ncclResult_t ncclGroupErrCheck(ncclResult_t ret) {\n  if (ncclGroupDepth > 0) {\n    if (ret != ncclSuccess && ret != ncclInProgress) ncclGroupError = ret;\n  }\n  return ret;\n}\n\n// Add comm to this thread's group\ninline void ncclGroupCommJoin(struct ncclComm* comm, int type) {\n  if (comm->groupNext[type] == reinterpret_cast<struct ncclComm*>(0x1)) {\n    // Insert comm into ncclGroupCommHead adjacent to sibling comms. This preserves\n    // the users program order yet insures siblings occur consecutively. This\n    // is required by doLaunches() in \"group.cc\".\n    struct ncclComm** pp = &ncclGroupCommHead[type];\n    while (*pp != nullptr && comm->intraComm0 != (*pp)->intraComm0)\n      pp = &(*pp)->groupNext[type];\n\n    // didn't find its clique, we need to insert it with ascending order based on commHash\n    if (*pp == nullptr) {\n      pp = &ncclGroupCommHead[type];\n      while (*pp != nullptr && (*pp)->commHash < comm->commHash) pp = &(*pp)->groupNext[type];\n    }\n    comm->groupNext[type] = *pp;\n    *pp = comm;\n    // Comms gets a new memory stack scope upon joining. Each task batched for\n    // this comm is allocated there.\n    ncclMemoryStackPush(&comm->memScoped);\n    if (type == ncclGroupTaskTypeCollective) {\n      // Initialize planner\n      ncclKernelPlanner::Peer* tmp = comm->planner.peers;\n      memset(&comm->planner, 0, sizeof(comm->planner));\n      comm->planner.peers = tmp;\n    }\n  }\n  ncclGroupBlocking = comm->config.blocking;\n}\n\n// Add comm to this thread's group needing preconnect\ninline void ncclGroupCommPreconnect(struct ncclComm* comm) {\n  if (comm->preconnectNext == reinterpret_cast<struct ncclComm*>(0x1)) {\n    comm->preconnectNext = ncclGroupCommPreconnectHead;\n    ncclGroupCommPreconnectHead = comm;\n  }\n}\n\n// Comm has left group\ninline ncclResult_t ncclGroupCommLeave(struct ncclComm* comm, int type) {\n  comm->groupNext[type] = reinterpret_cast<struct ncclComm*>(0x1);\n  ncclMemoryStackPop(&comm->memScoped);\n  return ncclSuccess;\n}\n\n#endif\n"
  },
  {
    "path": "src/include/hip_rocm_version_info.h",
    "content": "/*\nCopyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#ifndef RCCL_HIP_ROCM_VERSION_INFO_H_\n#define RCCL_HIP_ROCM_VERSION_INFO_H_\n\n#define STR2(v) #v\n#define STR(v) STR2(v)\n\n// HIP version info retrieval\n#if ROCM_VERSION >= 50000\n   #define HIP_BUILD_INFO STR(HIP_VERSION_MAJOR) \".\" STR(HIP_VERSION_MINOR) \".\" STR(HIP_VERSION_PATCH) \"-\" HIP_VERSION_GITHASH\n// HIP Githash info not available in older ROCm versions < 5.0\n#elif ROCM_VERSION >= 40000\n   #define HIP_BUILD_INFO STR(HIP_VERSION_MAJOR) \".\" STR(HIP_VERSION_MINOR) \".\" STR(HIP_VERSION_PATCH)\n#else\n   #define HIP_BUILD_INFO \"Unknown\"\n#endif\n\n// ROCm version info retrieval  \n#if ROCM_VERSION >= 60000\n   // rocm_version.h moved to rocm/include/rocm-core from ROCm 6.0\n   #include <rocm-core/rocm_version.h>\n#else\n   // rocm-core/rocm_version.h not present in some ROCm versions < 6.0. \n   // So, including it from rocm/include/rocm_version.h\n   #if ROCM_VERSION >= 50000\n      #include <rocm_version.h>\n      //ROCM_BUILD_INFO not defined in ROCm Versions < 5.50\n      #ifndef ROCM_BUILD_INFO\n         #define ROCM_BUILD_INFO STR(ROCM_VERSION_MAJOR) \".\" STR(ROCM_VERSION_MINOR) \".\" STR(ROCM_VERSION_PATCH)\n      #endif\n   //ROCm version info not available for ROCm versions < 5.0\n   #else\n      #define ROCM_BUILD_INFO \"Unknown\"\n   #endif\n#endif\n\n#endif"
  },
  {
    "path": "src/include/ibvcore.h",
    "content": "#ifndef NCCL_IBV_CORE_H_\n#define NCCL_IBV_CORE_H_\n\n/* Basic IB verbs structs. Needed to dynamically load IB verbs functions without\n * explicit including of IB verbs header.\n */\n\n#include <stddef.h>\n#include <stdint.h>\n#include <sys/types.h>\n#include <unistd.h>\n#include <string.h>\n\n#if __GNUC__ >= 3\n#  define __attribute_const __attribute__((const))\n#else\n#  define __attribute_const\n#endif\n\nunion ibv_gid {\n\tuint8_t\t\t\traw[16];\n\tstruct {\n\t\tuint64_t\tsubnet_prefix;\n\t\tuint64_t\tinterface_id;\n\t} global;\n};\n\n#ifndef container_of\n/**\n  * container_of - cast a member of a structure out to the containing structure\n  * @ptr:        the pointer to the member.\n  * @type:       the type of the container struct this is embedded in.\n  * @member:     the name of the member within the struct.\n  *\n */\n#define container_of(ptr, type, member) \\\n\t((type *) ((uint8_t *)(ptr) - offsetof(type, member)))\n#endif\n\n#define vext_field_avail(type, fld, sz) (offsetof(type, fld) < (sz))\n\n/*XXX:__VERBS_ABI_IS_EXTENDED produces warning \"integer operation result is out of range\" with g++ 4.8.2*/\nstatic void *__VERBS_ABI_IS_EXTENDED = ((uint8_t *)NULL) - 1;\n\nenum ibv_node_type {\n\tIBV_NODE_UNKNOWN\t= -1,\n\tIBV_NODE_CA \t\t= 1,\n\tIBV_NODE_SWITCH,\n\tIBV_NODE_ROUTER,\n\tIBV_NODE_RNIC,\n\n\t/* Leave a gap for future node types before starting with\n\t * experimental node types.\n\t */\n\tIBV_EXP_NODE_TYPE_START\t= 32,\n\tIBV_EXP_NODE_MIC\t= IBV_EXP_NODE_TYPE_START\n};\n\nenum ibv_transport_type {\n\tIBV_TRANSPORT_UNKNOWN\t= -1,\n\tIBV_TRANSPORT_IB\t= 0,\n\tIBV_TRANSPORT_IWARP,\n\n\t/* Leave a gap for future transport types before starting with\n\t * experimental transport types.\n\t */\n\tIBV_EXP_TRANSPORT_TYPE_START\t= 32,\n\tIBV_EXP_TRANSPORT_SCIF\t\t= IBV_EXP_TRANSPORT_TYPE_START\n};\n\nenum ibv_device_cap_flags {\n\tIBV_DEVICE_RESIZE_MAX_WR\t= 1,\n\tIBV_DEVICE_BAD_PKEY_CNTR\t= 1 <<  1,\n\tIBV_DEVICE_BAD_QKEY_CNTR\t= 1 <<  2,\n\tIBV_DEVICE_RAW_MULTI\t\t= 1 <<  3,\n\tIBV_DEVICE_AUTO_PATH_MIG\t= 1 <<  4,\n\tIBV_DEVICE_CHANGE_PHY_PORT\t= 1 <<  5,\n\tIBV_DEVICE_UD_AV_PORT_ENFORCE\t= 1 <<  6,\n\tIBV_DEVICE_CURR_QP_STATE_MOD\t= 1 <<  7,\n\tIBV_DEVICE_SHUTDOWN_PORT\t= 1 <<  8,\n\tIBV_DEVICE_INIT_TYPE\t\t= 1 <<  9,\n\tIBV_DEVICE_PORT_ACTIVE_EVENT\t= 1 << 10,\n\tIBV_DEVICE_SYS_IMAGE_GUID\t= 1 << 11,\n\tIBV_DEVICE_RC_RNR_NAK_GEN\t= 1 << 12,\n\tIBV_DEVICE_SRQ_RESIZE\t\t= 1 << 13,\n\tIBV_DEVICE_N_NOTIFY_CQ\t\t= 1 << 14,\n\tIBV_DEVICE_XRC\t\t\t= 1 << 20,\n\tIBV_DEVICE_MANAGED_FLOW_STEERING = 1 << 29\n};\n\nenum ibv_atomic_cap {\n\tIBV_ATOMIC_NONE,\n\tIBV_ATOMIC_HCA,\n\tIBV_ATOMIC_GLOB\n};\n\nstruct ibv_device_attr {\n\tchar\t\t\tfw_ver[64];\n\tuint64_t\t\tnode_guid;\n\tuint64_t\t\tsys_image_guid;\n\tuint64_t\t\tmax_mr_size;\n\tuint64_t\t\tpage_size_cap;\n\tuint32_t\t\tvendor_id;\n\tuint32_t\t\tvendor_part_id;\n\tuint32_t\t\thw_ver;\n\tint\t\t\tmax_qp;\n\tint\t\t\tmax_qp_wr;\n\tint\t\t\tdevice_cap_flags;\n\tint\t\t\tmax_sge;\n\tint\t\t\tmax_sge_rd;\n\tint\t\t\tmax_cq;\n\tint\t\t\tmax_cqe;\n\tint\t\t\tmax_mr;\n\tint\t\t\tmax_pd;\n\tint\t\t\tmax_qp_rd_atom;\n\tint\t\t\tmax_ee_rd_atom;\n\tint\t\t\tmax_res_rd_atom;\n\tint\t\t\tmax_qp_init_rd_atom;\n\tint\t\t\tmax_ee_init_rd_atom;\n\tenum ibv_atomic_cap\tatomic_cap;\n\tint\t\t\tmax_ee;\n\tint\t\t\tmax_rdd;\n\tint\t\t\tmax_mw;\n\tint\t\t\tmax_raw_ipv6_qp;\n\tint\t\t\tmax_raw_ethy_qp;\n\tint\t\t\tmax_mcast_grp;\n\tint\t\t\tmax_mcast_qp_attach;\n\tint\t\t\tmax_total_mcast_qp_attach;\n\tint\t\t\tmax_ah;\n\tint\t\t\tmax_fmr;\n\tint\t\t\tmax_map_per_fmr;\n\tint\t\t\tmax_srq;\n\tint\t\t\tmax_srq_wr;\n\tint\t\t\tmax_srq_sge;\n\tuint16_t\t\tmax_pkeys;\n\tuint8_t\t\t\tlocal_ca_ack_delay;\n\tuint8_t\t\t\tphys_port_cnt;\n};\n\nenum ibv_mtu {\n\tIBV_MTU_256  = 1,\n\tIBV_MTU_512  = 2,\n\tIBV_MTU_1024 = 3,\n\tIBV_MTU_2048 = 4,\n\tIBV_MTU_4096 = 5\n};\n\nenum ibv_port_state {\n\tIBV_PORT_NOP\t\t= 0,\n\tIBV_PORT_DOWN\t\t= 1,\n\tIBV_PORT_INIT\t\t= 2,\n\tIBV_PORT_ARMED\t\t= 3,\n\tIBV_PORT_ACTIVE\t\t= 4,\n\tIBV_PORT_ACTIVE_DEFER\t= 5\n};\n\nenum {\n\tIBV_LINK_LAYER_UNSPECIFIED,\n\tIBV_LINK_LAYER_INFINIBAND,\n\tIBV_LINK_LAYER_ETHERNET,\n\n\t/* Leave a gap for future link layer types before starting with\n\t * experimental link layer.\n\t */\n\tIBV_EXP_LINK_LAYER_START\t= 32,\n\tIBV_EXP_LINK_LAYER_SCIF\t\t= IBV_EXP_LINK_LAYER_START\n};\n\nenum ibv_port_cap_flags {\n\tIBV_PORT_SM\t\t\t\t= 1 <<  1,\n\tIBV_PORT_NOTICE_SUP\t\t\t= 1 <<  2,\n\tIBV_PORT_TRAP_SUP\t\t\t= 1 <<  3,\n\tIBV_PORT_OPT_IPD_SUP\t\t\t= 1 <<  4,\n\tIBV_PORT_AUTO_MIGR_SUP\t\t\t= 1 <<  5,\n\tIBV_PORT_SL_MAP_SUP\t\t\t= 1 <<  6,\n\tIBV_PORT_MKEY_NVRAM\t\t\t= 1 <<  7,\n\tIBV_PORT_PKEY_NVRAM\t\t\t= 1 <<  8,\n\tIBV_PORT_LED_INFO_SUP\t\t\t= 1 <<  9,\n\tIBV_PORT_SYS_IMAGE_GUID_SUP\t\t= 1 << 11,\n\tIBV_PORT_PKEY_SW_EXT_PORT_TRAP_SUP\t= 1 << 12,\n\tIBV_PORT_EXTENDED_SPEEDS_SUP\t\t= 1 << 14,\n\tIBV_PORT_CM_SUP\t\t\t\t= 1 << 16,\n\tIBV_PORT_SNMP_TUNNEL_SUP\t\t= 1 << 17,\n\tIBV_PORT_REINIT_SUP\t\t\t= 1 << 18,\n\tIBV_PORT_DEVICE_MGMT_SUP\t\t= 1 << 19,\n\tIBV_PORT_VENDOR_CLASS\t\t\t= 1 << 24,\n\tIBV_PORT_CLIENT_REG_SUP\t\t\t= 1 << 25,\n\tIBV_PORT_IP_BASED_GIDS\t\t\t= 1 << 26,\n};\n\nstruct ibv_port_attr {\n\tenum ibv_port_state\tstate;\n\tenum ibv_mtu\t\tmax_mtu;\n\tenum ibv_mtu\t\tactive_mtu;\n\tint\t\t\tgid_tbl_len;\n\tuint32_t\t\tport_cap_flags;\n\tuint32_t\t\tmax_msg_sz;\n\tuint32_t\t\tbad_pkey_cntr;\n\tuint32_t\t\tqkey_viol_cntr;\n\tuint16_t\t\tpkey_tbl_len;\n\tuint16_t\t\tlid;\n\tuint16_t\t\tsm_lid;\n\tuint8_t\t\t\tlmc;\n\tuint8_t\t\t\tmax_vl_num;\n\tuint8_t\t\t\tsm_sl;\n\tuint8_t\t\t\tsubnet_timeout;\n\tuint8_t\t\t\tinit_type_reply;\n\tuint8_t\t\t\tactive_width;\n\tuint8_t\t\t\tactive_speed;\n\tuint8_t\t\t\tphys_state;\n\tuint8_t\t\t\tlink_layer;\n\tuint8_t                 flags;\n\tuint16_t                port_cap_flags2;\n\tuint32_t                active_speed_ex;\n};\n\nenum ibv_event_type {\n\tIBV_EVENT_CQ_ERR,\n\tIBV_EVENT_QP_FATAL,\n\tIBV_EVENT_QP_REQ_ERR,\n\tIBV_EVENT_QP_ACCESS_ERR,\n\tIBV_EVENT_COMM_EST,\n\tIBV_EVENT_SQ_DRAINED,\n\tIBV_EVENT_PATH_MIG,\n\tIBV_EVENT_PATH_MIG_ERR,\n\tIBV_EVENT_DEVICE_FATAL,\n\tIBV_EVENT_PORT_ACTIVE,\n\tIBV_EVENT_PORT_ERR,\n\tIBV_EVENT_LID_CHANGE,\n\tIBV_EVENT_PKEY_CHANGE,\n\tIBV_EVENT_SM_CHANGE,\n\tIBV_EVENT_SRQ_ERR,\n\tIBV_EVENT_SRQ_LIMIT_REACHED,\n\tIBV_EVENT_QP_LAST_WQE_REACHED,\n\tIBV_EVENT_CLIENT_REREGISTER,\n\tIBV_EVENT_GID_CHANGE,\n\n\t/* new experimental events start here leaving enough\n\t * room for 14 events which should be enough\n\t */\n\tIBV_EXP_EVENT_DCT_KEY_VIOLATION = 32,\n\tIBV_EXP_EVENT_DCT_ACCESS_ERR,\n\tIBV_EXP_EVENT_DCT_REQ_ERR,\n};\n\nstruct ibv_async_event {\n\tunion {\n\t\tstruct ibv_cq  *cq;\n\t\tstruct ibv_qp  *qp;\n\t\tstruct ibv_srq *srq;\n\t\tstruct ibv_exp_dct *dct;\n\t\tint\t\tport_num;\n\t\t/* For source compatible with Legacy API */\n\t\tuint32_t\txrc_qp_num;\n\t} element;\n\tenum ibv_event_type\tevent_type;\n};\n\nenum ibv_wc_status {\n\tIBV_WC_SUCCESS,\n\tIBV_WC_LOC_LEN_ERR,\n\tIBV_WC_LOC_QP_OP_ERR,\n\tIBV_WC_LOC_EEC_OP_ERR,\n\tIBV_WC_LOC_PROT_ERR,\n\tIBV_WC_WR_FLUSH_ERR,\n\tIBV_WC_MW_BIND_ERR,\n\tIBV_WC_BAD_RESP_ERR,\n\tIBV_WC_LOC_ACCESS_ERR,\n\tIBV_WC_REM_INV_REQ_ERR,\n\tIBV_WC_REM_ACCESS_ERR,\n\tIBV_WC_REM_OP_ERR,\n\tIBV_WC_RETRY_EXC_ERR,\n\tIBV_WC_RNR_RETRY_EXC_ERR,\n\tIBV_WC_LOC_RDD_VIOL_ERR,\n\tIBV_WC_REM_INV_RD_REQ_ERR,\n\tIBV_WC_REM_ABORT_ERR,\n\tIBV_WC_INV_EECN_ERR,\n\tIBV_WC_INV_EEC_STATE_ERR,\n\tIBV_WC_FATAL_ERR,\n\tIBV_WC_RESP_TIMEOUT_ERR,\n\tIBV_WC_GENERAL_ERR\n};\nconst char *ibv_wc_status_str(enum ibv_wc_status status);\n\nenum ibv_wc_opcode {\n\tIBV_WC_SEND,\n\tIBV_WC_RDMA_WRITE,\n\tIBV_WC_RDMA_READ,\n\tIBV_WC_COMP_SWAP,\n\tIBV_WC_FETCH_ADD,\n\tIBV_WC_BIND_MW,\n/*\n * Set value of IBV_WC_RECV so consumers can test if a completion is a\n * receive by testing (opcode & IBV_WC_RECV).\n */\n\tIBV_WC_RECV\t\t\t= 1 << 7,\n\tIBV_WC_RECV_RDMA_WITH_IMM\n};\n\nenum ibv_wc_flags {\n\tIBV_WC_GRH\t\t= 1 << 0,\n\tIBV_WC_WITH_IMM\t\t= 1 << 1\n};\n\nstruct ibv_wc {\n\tuint64_t\t\twr_id;\n\tenum ibv_wc_status\tstatus;\n\tenum ibv_wc_opcode\topcode;\n\tuint32_t\t\tvendor_err;\n\tuint32_t\t\tbyte_len;\n\tuint32_t\t\timm_data;\t/* in network byte order */\n\tuint32_t\t\tqp_num;\n\tuint32_t\t\tsrc_qp;\n\tint\t\t\twc_flags;\n\tuint16_t\t\tpkey_index;\n\tuint16_t\t\tslid;\n\tuint8_t\t\t\tsl;\n\tuint8_t\t\t\tdlid_path_bits;\n};\n\nenum ibv_access_flags {\n\tIBV_ACCESS_LOCAL_WRITE\t\t= 1,\n\tIBV_ACCESS_REMOTE_WRITE\t\t= (1<<1),\n\tIBV_ACCESS_REMOTE_READ\t\t= (1<<2),\n\tIBV_ACCESS_REMOTE_ATOMIC\t= (1<<3),\n\tIBV_ACCESS_MW_BIND\t\t= (1<<4),\n\tIBV_ACCESS_RELAXED_ORDERING     = (1<<20),\n};\n\nstruct ibv_pd {\n\tstruct ibv_context     *context;\n\tuint32_t\t\thandle;\n};\n\nenum ibv_xrcd_init_attr_mask {\n\tIBV_XRCD_INIT_ATTR_FD\t    = 1 << 0,\n\tIBV_XRCD_INIT_ATTR_OFLAGS   = 1 << 1,\n\tIBV_XRCD_INIT_ATTR_RESERVED = 1 << 2\n};\n\nstruct ibv_xrcd_init_attr {\n\tuint32_t comp_mask;\n\tint\t fd;\n\tint\t oflags;\n};\n\nstruct ibv_xrcd {\n\tstruct ibv_context     *context;\n};\n\nenum ibv_rereg_mr_flags {\n\tIBV_REREG_MR_CHANGE_TRANSLATION\t= (1 << 0),\n\tIBV_REREG_MR_CHANGE_PD\t\t= (1 << 1),\n\tIBV_REREG_MR_CHANGE_ACCESS\t= (1 << 2),\n\tIBV_REREG_MR_KEEP_VALID\t\t= (1 << 3)\n};\n\nstruct ibv_mr {\n\tstruct ibv_context     *context;\n\tstruct ibv_pd\t       *pd;\n\tvoid\t\t       *addr;\n\tsize_t\t\t\tlength;\n\tuint32_t\t\thandle;\n\tuint32_t\t\tlkey;\n\tuint32_t\t\trkey;\n};\n\nenum ibv_mw_type {\n\tIBV_MW_TYPE_1\t\t\t= 1,\n\tIBV_MW_TYPE_2\t\t\t= 2\n};\n\nstruct ibv_mw {\n\tstruct ibv_context     *context;\n\tstruct ibv_pd\t       *pd;\n\tuint32_t\t\trkey;\n};\n\nstruct ibv_global_route {\n\tunion ibv_gid\t\tdgid;\n\tuint32_t\t\tflow_label;\n\tuint8_t\t\t\tsgid_index;\n\tuint8_t\t\t\thop_limit;\n\tuint8_t\t\t\ttraffic_class;\n};\n\nstruct ibv_grh {\n\tuint32_t\t\tversion_tclass_flow;\n\tuint16_t\t\tpaylen;\n\tuint8_t\t\t\tnext_hdr;\n\tuint8_t\t\t\thop_limit;\n\tunion ibv_gid\t\tsgid;\n\tunion ibv_gid\t\tdgid;\n};\n\nenum ibv_rate {\n\tIBV_RATE_MAX      = 0,\n\tIBV_RATE_2_5_GBPS = 2,\n\tIBV_RATE_5_GBPS   = 5,\n\tIBV_RATE_10_GBPS  = 3,\n\tIBV_RATE_20_GBPS  = 6,\n\tIBV_RATE_30_GBPS  = 4,\n\tIBV_RATE_40_GBPS  = 7,\n\tIBV_RATE_60_GBPS  = 8,\n\tIBV_RATE_80_GBPS  = 9,\n\tIBV_RATE_120_GBPS = 10,\n\tIBV_RATE_14_GBPS  = 11,\n\tIBV_RATE_56_GBPS  = 12,\n\tIBV_RATE_112_GBPS = 13,\n\tIBV_RATE_168_GBPS = 14,\n\tIBV_RATE_25_GBPS  = 15,\n\tIBV_RATE_100_GBPS = 16,\n\tIBV_RATE_200_GBPS = 17,\n\tIBV_RATE_300_GBPS = 18\n};\n\n/**\n * ibv_rate_to_mult - Convert the IB rate enum to a multiple of the\n * base rate of 2.5 Gbit/sec.  For example, IBV_RATE_5_GBPS will be\n * converted to 2, since 5 Gbit/sec is 2 * 2.5 Gbit/sec.\n * @rate: rate to convert.\n */\nint ibv_rate_to_mult(enum ibv_rate rate) __attribute_const;\n\n/**\n * mult_to_ibv_rate - Convert a multiple of 2.5 Gbit/sec to an IB rate enum.\n * @mult: multiple to convert.\n */\nenum ibv_rate mult_to_ibv_rate(int mult) __attribute_const;\n\n/**\n * ibv_rate_to_mbps - Convert the IB rate enum to Mbit/sec.\n * For example, IBV_RATE_5_GBPS will return the value 5000.\n * @rate: rate to convert.\n */\nint ibv_rate_to_mbps(enum ibv_rate rate) __attribute_const;\n\n/**\n * mbps_to_ibv_rate - Convert a Mbit/sec value to an IB rate enum.\n * @mbps: value to convert.\n */\nenum ibv_rate mbps_to_ibv_rate(int mbps) __attribute_const;\n\nstruct ibv_ah_attr {\n\tstruct ibv_global_route\tgrh;\n\tuint16_t\t\tdlid;\n\tuint8_t\t\t\tsl;\n\tuint8_t\t\t\tsrc_path_bits;\n\tuint8_t\t\t\tstatic_rate;\n\tuint8_t\t\t\tis_global;\n\tuint8_t\t\t\tport_num;\n};\n\nenum ibv_srq_attr_mask {\n\tIBV_SRQ_MAX_WR\t= 1 << 0,\n\tIBV_SRQ_LIMIT\t= 1 << 1\n};\n\nstruct ibv_srq_attr {\n\tuint32_t\t\tmax_wr;\n\tuint32_t\t\tmax_sge;\n\tuint32_t\t\tsrq_limit;\n};\n\nstruct ibv_srq_init_attr {\n\tvoid\t\t       *srq_context;\n\tstruct ibv_srq_attr\tattr;\n};\n\nenum ibv_srq_type {\n\tIBV_SRQT_BASIC,\n\tIBV_SRQT_XRC\n};\n\nenum ibv_srq_init_attr_mask {\n\tIBV_SRQ_INIT_ATTR_TYPE\t\t= 1 << 0,\n\tIBV_SRQ_INIT_ATTR_PD\t\t= 1 << 1,\n\tIBV_SRQ_INIT_ATTR_XRCD\t\t= 1 << 2,\n\tIBV_SRQ_INIT_ATTR_CQ\t\t= 1 << 3,\n\tIBV_SRQ_INIT_ATTR_RESERVED\t= 1 << 4\n};\n\nstruct ibv_srq_init_attr_ex {\n\tvoid\t\t       *srq_context;\n\tstruct ibv_srq_attr\tattr;\n\n\tuint32_t\t\tcomp_mask;\n\tenum ibv_srq_type\tsrq_type;\n\tstruct ibv_pd\t       *pd;\n\tstruct ibv_xrcd\t       *xrcd;\n\tstruct ibv_cq\t       *cq;\n};\n\nenum ibv_qp_type {\n\tIBV_QPT_RC = 2,\n\tIBV_QPT_UC,\n\tIBV_QPT_UD,\n\t/* XRC compatible code */\n\tIBV_QPT_XRC,\n\tIBV_QPT_RAW_PACKET = 8,\n\tIBV_QPT_RAW_ETH = 8,\n\tIBV_QPT_XRC_SEND = 9,\n\tIBV_QPT_XRC_RECV,\n\n\t/* Leave a gap for future qp types before starting with\n\t * experimental qp types.\n\t */\n\tIBV_EXP_QP_TYPE_START\t= 32,\n\tIBV_EXP_QPT_DC_INI\t= IBV_EXP_QP_TYPE_START\n};\n\nstruct ibv_qp_cap {\n\tuint32_t\t\tmax_send_wr;\n\tuint32_t\t\tmax_recv_wr;\n\tuint32_t\t\tmax_send_sge;\n\tuint32_t\t\tmax_recv_sge;\n\tuint32_t\t\tmax_inline_data;\n};\n\nstruct ibv_qp_init_attr {\n\tvoid\t\t       *qp_context;\n\tstruct ibv_cq\t       *send_cq;\n\tstruct ibv_cq\t       *recv_cq;\n\tstruct ibv_srq\t       *srq;\n\tstruct ibv_qp_cap\tcap;\n\tenum ibv_qp_type\tqp_type;\n\tint\t\t\tsq_sig_all;\n\t/* Below is needed for backwards compatabile */\n\tstruct ibv_xrc_domain  *xrc_domain;\n};\n\nenum ibv_qp_init_attr_mask {\n\tIBV_QP_INIT_ATTR_PD\t\t= 1 << 0,\n\tIBV_QP_INIT_ATTR_XRCD\t\t= 1 << 1,\n\tIBV_QP_INIT_ATTR_RESERVED\t= 1 << 2\n};\n\nstruct ibv_qp_init_attr_ex {\n\tvoid\t\t       *qp_context;\n\tstruct ibv_cq\t       *send_cq;\n\tstruct ibv_cq\t       *recv_cq;\n\tstruct ibv_srq\t       *srq;\n\tstruct ibv_qp_cap\tcap;\n\tenum ibv_qp_type\tqp_type;\n\tint\t\t\tsq_sig_all;\n\n\tuint32_t\t\tcomp_mask;\n\tstruct ibv_pd\t       *pd;\n\tstruct ibv_xrcd\t       *xrcd;\n};\n\nenum ibv_qp_open_attr_mask {\n\tIBV_QP_OPEN_ATTR_NUM\t\t= 1 << 0,\n\tIBV_QP_OPEN_ATTR_XRCD\t\t= 1 << 1,\n\tIBV_QP_OPEN_ATTR_CONTEXT\t= 1 << 2,\n\tIBV_QP_OPEN_ATTR_TYPE\t\t= 1 << 3,\n\tIBV_QP_OPEN_ATTR_RESERVED\t= 1 << 4\n};\n\nstruct ibv_qp_open_attr {\n\tuint32_t\t\tcomp_mask;\n\tuint32_t\t\tqp_num;\n\tstruct ibv_xrcd        *xrcd;\n\tvoid\t\t       *qp_context;\n\tenum ibv_qp_type\tqp_type;\n};\n\nenum ibv_qp_attr_mask {\n\tIBV_QP_STATE\t\t\t= 1 << \t0,\n\tIBV_QP_CUR_STATE\t\t= 1 << \t1,\n\tIBV_QP_EN_SQD_ASYNC_NOTIFY\t= 1 << \t2,\n\tIBV_QP_ACCESS_FLAGS\t\t= 1 << \t3,\n\tIBV_QP_PKEY_INDEX\t\t= 1 << \t4,\n\tIBV_QP_PORT\t\t\t= 1 << \t5,\n\tIBV_QP_QKEY\t\t\t= 1 << \t6,\n\tIBV_QP_AV\t\t\t= 1 << \t7,\n\tIBV_QP_PATH_MTU\t\t\t= 1 << \t8,\n\tIBV_QP_TIMEOUT\t\t\t= 1 << \t9,\n\tIBV_QP_RETRY_CNT\t\t= 1 << 10,\n\tIBV_QP_RNR_RETRY\t\t= 1 << 11,\n\tIBV_QP_RQ_PSN\t\t\t= 1 << 12,\n\tIBV_QP_MAX_QP_RD_ATOMIC\t\t= 1 << 13,\n\tIBV_QP_ALT_PATH\t\t\t= 1 << 14,\n\tIBV_QP_MIN_RNR_TIMER\t\t= 1 << 15,\n\tIBV_QP_SQ_PSN\t\t\t= 1 << 16,\n\tIBV_QP_MAX_DEST_RD_ATOMIC\t= 1 << 17,\n\tIBV_QP_PATH_MIG_STATE\t\t= 1 << 18,\n\tIBV_QP_CAP\t\t\t= 1 << 19,\n\tIBV_QP_DEST_QPN\t\t\t= 1 << 20\n};\n\nenum ibv_qp_state {\n\tIBV_QPS_RESET,\n\tIBV_QPS_INIT,\n\tIBV_QPS_RTR,\n\tIBV_QPS_RTS,\n\tIBV_QPS_SQD,\n\tIBV_QPS_SQE,\n\tIBV_QPS_ERR,\n\tIBV_QPS_UNKNOWN\n};\n\nenum ibv_mig_state {\n\tIBV_MIG_MIGRATED,\n\tIBV_MIG_REARM,\n\tIBV_MIG_ARMED\n};\n\nstruct ibv_qp_attr {\n\tenum ibv_qp_state\tqp_state;\n\tenum ibv_qp_state\tcur_qp_state;\n\tenum ibv_mtu\t\tpath_mtu;\n\tenum ibv_mig_state\tpath_mig_state;\n\tuint32_t\t\tqkey;\n\tuint32_t\t\trq_psn;\n\tuint32_t\t\tsq_psn;\n\tuint32_t\t\tdest_qp_num;\n\tint\t\t\tqp_access_flags;\n\tstruct ibv_qp_cap\tcap;\n\tstruct ibv_ah_attr\tah_attr;\n\tstruct ibv_ah_attr\talt_ah_attr;\n\tuint16_t\t\tpkey_index;\n\tuint16_t\t\talt_pkey_index;\n\tuint8_t\t\t\ten_sqd_async_notify;\n\tuint8_t\t\t\tsq_draining;\n\tuint8_t\t\t\tmax_rd_atomic;\n\tuint8_t\t\t\tmax_dest_rd_atomic;\n\tuint8_t\t\t\tmin_rnr_timer;\n\tuint8_t\t\t\tport_num;\n\tuint8_t\t\t\ttimeout;\n\tuint8_t\t\t\tretry_cnt;\n\tuint8_t\t\t\trnr_retry;\n\tuint8_t\t\t\talt_port_num;\n\tuint8_t\t\t\talt_timeout;\n};\n\nenum ibv_wr_opcode {\n\tIBV_WR_RDMA_WRITE,\n\tIBV_WR_RDMA_WRITE_WITH_IMM,\n\tIBV_WR_SEND,\n\tIBV_WR_SEND_WITH_IMM,\n\tIBV_WR_RDMA_READ,\n\tIBV_WR_ATOMIC_CMP_AND_SWP,\n\tIBV_WR_ATOMIC_FETCH_AND_ADD\n};\n\nenum ibv_send_flags {\n\tIBV_SEND_FENCE\t\t= 1 << 0,\n\tIBV_SEND_SIGNALED\t= 1 << 1,\n\tIBV_SEND_SOLICITED\t= 1 << 2,\n\tIBV_SEND_INLINE\t\t= 1 << 3\n};\n\nstruct ibv_sge {\n\tuint64_t\t\taddr;\n\tuint32_t\t\tlength;\n\tuint32_t\t\tlkey;\n};\n\nstruct ibv_send_wr {\n\tuint64_t\t\twr_id;\n\tstruct ibv_send_wr     *next;\n\tstruct ibv_sge\t       *sg_list;\n\tint\t\t\tnum_sge;\n\tenum ibv_wr_opcode\topcode;\n\tint\t\t\tsend_flags;\n\tuint32_t\t\timm_data;\t/* in network byte order */\n\tunion {\n\t\tstruct {\n\t\t\tuint64_t\tremote_addr;\n\t\t\tuint32_t\trkey;\n\t\t} rdma;\n\t\tstruct {\n\t\t\tuint64_t\tremote_addr;\n\t\t\tuint64_t\tcompare_add;\n\t\t\tuint64_t\tswap;\n\t\t\tuint32_t\trkey;\n\t\t} atomic;\n\t\tstruct {\n\t\t\tstruct ibv_ah  *ah;\n\t\t\tuint32_t\tremote_qpn;\n\t\t\tuint32_t\tremote_qkey;\n\t\t} ud;\n\t} wr;\n\tunion {\n\t\tunion {\n\t\t\tstruct {\n\t\t\t\tuint32_t    remote_srqn;\n\t\t\t} xrc;\n\t\t} qp_type;\n\n\t\tuint32_t\t\txrc_remote_srq_num;\n\t};\n};\n\nstruct ibv_recv_wr {\n\tuint64_t\t\twr_id;\n\tstruct ibv_recv_wr     *next;\n\tstruct ibv_sge\t       *sg_list;\n\tint\t\t\tnum_sge;\n};\n\nstruct ibv_mw_bind {\n\tuint64_t\t\twr_id;\n\tstruct ibv_mr\t       *mr;\n\tvoid\t\t       *addr;\n\tsize_t\t\t\tlength;\n\tint\t\t\tsend_flags;\n\tint\t\t\tmw_access_flags;\n};\n\nstruct ibv_srq {\n\tstruct ibv_context     *context;\n\tvoid\t\t       *srq_context;\n\tstruct ibv_pd\t       *pd;\n\tuint32_t\t\thandle;\n\n\tpthread_mutex_t\t\tmutex;\n\tpthread_cond_t\t\tcond;\n\tuint32_t\t\tevents_completed;\n\n\t/* below are for source compatabilty with legacy XRC,\n\t*   padding based on ibv_srq_legacy.\n\t*/\n\tuint32_t\t\txrc_srq_num_bin_compat_padding;\n\tstruct ibv_xrc_domain\t*xrc_domain_bin_compat_padding;\n\tstruct ibv_cq\t*xrc_cq_bin_compat_padding;\n\tvoid\t\t*ibv_srq_padding;\n\n\t/* legacy fields */\n\tuint32_t\t\txrc_srq_num;\n\tstruct ibv_xrc_domain\t*xrc_domain;\n\tstruct ibv_cq\t\t*xrc_cq;\n};\n\n/* Not in use in new API, needed for compilation as part of source compat layer */\nenum ibv_event_flags {\n\tIBV_XRC_QP_EVENT_FLAG = 0x80000000,\n};\n\n\n\nstruct ibv_qp {\n\tstruct ibv_context     *context;\n\tvoid\t\t       *qp_context;\n\tstruct ibv_pd\t       *pd;\n\tstruct ibv_cq\t       *send_cq;\n\tstruct ibv_cq\t       *recv_cq;\n\tstruct ibv_srq\t       *srq;\n\tuint32_t\t\thandle;\n\tuint32_t\t\tqp_num;\n\tenum ibv_qp_state       state;\n\tenum ibv_qp_type\tqp_type;\n\n\tpthread_mutex_t\t\tmutex;\n\tpthread_cond_t\t\tcond;\n\tuint32_t\t\tevents_completed;\n};\n\nstruct ibv_comp_channel {\n\tstruct ibv_context     *context;\n\tint\t\t\tfd;\n\tint\t\t\trefcnt;\n};\n\nstruct ibv_cq {\n\tstruct ibv_context     *context;\n\tstruct ibv_comp_channel *channel;\n\tvoid\t\t       *cq_context;\n\tuint32_t\t\thandle;\n\tint\t\t\tcqe;\n\n\tpthread_mutex_t\t\tmutex;\n\tpthread_cond_t\t\tcond;\n\tuint32_t\t\tcomp_events_completed;\n\tuint32_t\t\tasync_events_completed;\n};\n\nstruct ibv_ah {\n\tstruct ibv_context     *context;\n\tstruct ibv_pd\t       *pd;\n\tuint32_t\t\thandle;\n};\n\nenum ibv_flow_flags {\n\tIBV_FLOW_ATTR_FLAGS_ALLOW_LOOP_BACK = 1,\n\tIBV_FLOW_ATTR_FLAGS_DONT_TRAP = 1 << 1,\n};\n\nenum ibv_flow_attr_type {\n\t/* steering according to rule specifications */\n\tIBV_FLOW_ATTR_NORMAL\t\t= 0x0,\n\t/* default unicast and multicast rule -\n\t * receive all Eth traffic which isn't steered to any QP\n\t */\n\tIBV_FLOW_ATTR_ALL_DEFAULT\t= 0x1,\n\t/* default multicast rule -\n\t * receive all Eth multicast traffic which isn't steered to any QP\n\t */\n\tIBV_FLOW_ATTR_MC_DEFAULT\t= 0x2,\n};\n\nenum ibv_flow_spec_type {\n\tIBV_FLOW_SPEC_ETH\t= 0x20,\n\tIBV_FLOW_SPEC_IPV4\t= 0x30,\n\tIBV_FLOW_SPEC_TCP\t= 0x40,\n\tIBV_FLOW_SPEC_UDP\t= 0x41,\n};\n\nstruct ibv_flow_eth_filter {\n\tuint8_t\t\tdst_mac[6];\n\tuint8_t\t\tsrc_mac[6];\n\tuint16_t\tether_type;\n\t/*\n\t * same layout as 802.1q: prio 3, cfi 1, vlan id 12\n\t */\n\tuint16_t\tvlan_tag;\n};\n\nstruct ibv_flow_spec_eth {\n\tenum ibv_flow_spec_type  type;\n\tuint16_t  size;\n\tstruct ibv_flow_eth_filter val;\n\tstruct ibv_flow_eth_filter mask;\n};\n\nstruct ibv_flow_ipv4_filter {\n\tuint32_t src_ip;\n\tuint32_t dst_ip;\n};\n\nstruct ibv_flow_spec_ipv4 {\n\tenum ibv_flow_spec_type  type;\n\tuint16_t  size;\n\tstruct ibv_flow_ipv4_filter val;\n\tstruct ibv_flow_ipv4_filter mask;\n};\n\nstruct ibv_flow_tcp_udp_filter {\n\tuint16_t dst_port;\n\tuint16_t src_port;\n};\n\nstruct ibv_flow_spec_tcp_udp {\n\tenum ibv_flow_spec_type  type;\n\tuint16_t  size;\n\tstruct ibv_flow_tcp_udp_filter val;\n\tstruct ibv_flow_tcp_udp_filter mask;\n};\n\nstruct ibv_flow_spec {\n\tunion {\n\t\tstruct {\n\t\t\tenum ibv_flow_spec_type\ttype;\n\t\t\tuint16_t\t\tsize;\n\t\t} hdr;\n\t\tstruct ibv_flow_spec_eth eth;\n\t\tstruct ibv_flow_spec_ipv4 ipv4;\n\t\tstruct ibv_flow_spec_tcp_udp tcp_udp;\n\t};\n};\n\nstruct ibv_flow_attr {\n\tuint32_t comp_mask;\n\tenum ibv_flow_attr_type type;\n\tuint16_t size;\n\tuint16_t priority;\n\tuint8_t num_of_specs;\n\tuint8_t port;\n\tuint32_t flags;\n\t/* Following are the optional layers according to user request\n\t * struct ibv_flow_spec_xxx [L2]\n\t * struct ibv_flow_spec_yyy [L3/L4]\n\t */\n};\n\nstruct ibv_flow {\n\tuint32_t\t   comp_mask;\n\tstruct ibv_context *context;\n\tuint32_t\t   handle;\n};\n\nstruct ibv_device;\nstruct ibv_context;\n\nstruct ibv_device_ops {\n\tstruct ibv_context *\t(*alloc_context)(struct ibv_device *device, int cmd_fd);\n\tvoid\t\t\t(*free_context)(struct ibv_context *context);\n};\n\nenum {\n\tIBV_SYSFS_NAME_MAX\t= 64,\n\tIBV_SYSFS_PATH_MAX\t= 256\n};\n\nstruct ibv_device {\n\tstruct ibv_device_ops\tops;\n\tenum ibv_node_type\tnode_type;\n\tenum ibv_transport_type\ttransport_type;\n\t/* Name of underlying kernel IB device, eg \"mthca0\" */\n\tchar\t\t\tname[IBV_SYSFS_NAME_MAX];\n\t/* Name of uverbs device, eg \"uverbs0\" */\n\tchar\t\t\tdev_name[IBV_SYSFS_NAME_MAX];\n\t/* Path to infiniband_verbs class device in sysfs */\n\tchar\t\t\tdev_path[IBV_SYSFS_PATH_MAX];\n\t/* Path to infiniband class device in sysfs */\n\tchar\t\t\tibdev_path[IBV_SYSFS_PATH_MAX];\n};\n\nstruct verbs_device {\n\tstruct ibv_device device; /* Must be first */\n\tsize_t\tsz;\n\tsize_t\tsize_of_context;\n\tint\t(*init_context)(struct verbs_device *device,\n\t\t\t\tstruct ibv_context *ctx, int cmd_fd);\n\tvoid\t(*uninit_context)(struct verbs_device *device,\n\t\t\t\tstruct ibv_context *ctx);\n\t/* future fields added here */\n};\n\nstruct ibv_context_ops {\n\tint\t\t\t(*query_device)(struct ibv_context *context,\n\t\t\t\t\t      struct ibv_device_attr *device_attr);\n\tint\t\t\t(*query_port)(struct ibv_context *context, uint8_t port_num,\n\t\t\t\t\t      struct ibv_port_attr *port_attr);\n\tstruct ibv_pd *\t\t(*alloc_pd)(struct ibv_context *context);\n\tint\t\t\t(*dealloc_pd)(struct ibv_pd *pd);\n\tstruct ibv_mr *\t\t(*reg_mr)(struct ibv_pd *pd, void *addr, size_t length,\n\t\t\t\t\t  int access);\n\tstruct ibv_mr *\t\t(*rereg_mr)(struct ibv_mr *mr,\n\t\t\t\t\t    int flags,\n\t\t\t\t\t    struct ibv_pd *pd, void *addr,\n\t\t\t\t\t    size_t length,\n\t\t\t\t\t    int access);\n\tint\t\t\t(*dereg_mr)(struct ibv_mr *mr);\n\tstruct ibv_mw *\t\t(*alloc_mw)(struct ibv_pd *pd, enum ibv_mw_type type);\n\tint\t\t\t(*bind_mw)(struct ibv_qp *qp, struct ibv_mw *mw,\n\t\t\t\t\t   struct ibv_mw_bind *mw_bind);\n\tint\t\t\t(*dealloc_mw)(struct ibv_mw *mw);\n\tstruct ibv_cq *\t\t(*create_cq)(struct ibv_context *context, int cqe,\n\t\t\t\t\t     struct ibv_comp_channel *channel,\n\t\t\t\t\t     int comp_vector);\n\tint\t\t\t(*poll_cq)(struct ibv_cq *cq, int num_entries, struct ibv_wc *wc);\n\tint\t\t\t(*req_notify_cq)(struct ibv_cq *cq, int solicited_only);\n\tvoid\t\t\t(*cq_event)(struct ibv_cq *cq);\n\tint\t\t\t(*resize_cq)(struct ibv_cq *cq, int cqe);\n\tint\t\t\t(*destroy_cq)(struct ibv_cq *cq);\n\tstruct ibv_srq *\t(*create_srq)(struct ibv_pd *pd,\n\t\t\t\t\t      struct ibv_srq_init_attr *srq_init_attr);\n\tint\t\t\t(*modify_srq)(struct ibv_srq *srq,\n\t\t\t\t\t      struct ibv_srq_attr *srq_attr,\n\t\t\t\t\t      int srq_attr_mask);\n\tint\t\t\t(*query_srq)(struct ibv_srq *srq,\n\t\t\t\t\t     struct ibv_srq_attr *srq_attr);\n\tint\t\t\t(*destroy_srq)(struct ibv_srq *srq);\n\tint\t\t\t(*post_srq_recv)(struct ibv_srq *srq,\n\t\t\t\t\t\t struct ibv_recv_wr *recv_wr,\n\t\t\t\t\t\t struct ibv_recv_wr **bad_recv_wr);\n\tstruct ibv_qp *\t\t(*create_qp)(struct ibv_pd *pd, struct ibv_qp_init_attr *attr);\n\tint\t\t\t(*query_qp)(struct ibv_qp *qp, struct ibv_qp_attr *attr,\n\t\t\t\t\t    int attr_mask,\n\t\t\t\t\t    struct ibv_qp_init_attr *init_attr);\n\tint\t\t\t(*modify_qp)(struct ibv_qp *qp, struct ibv_qp_attr *attr,\n\t\t\t\t\t     int attr_mask);\n\tint\t\t\t(*destroy_qp)(struct ibv_qp *qp);\n\tint\t\t\t(*post_send)(struct ibv_qp *qp, struct ibv_send_wr *wr,\n\t\t\t\t\t     struct ibv_send_wr **bad_wr);\n\tint\t\t\t(*post_recv)(struct ibv_qp *qp, struct ibv_recv_wr *wr,\n\t\t\t\t\t     struct ibv_recv_wr **bad_wr);\n\tstruct ibv_ah *\t\t(*create_ah)(struct ibv_pd *pd, struct ibv_ah_attr *attr);\n\tint\t\t\t(*destroy_ah)(struct ibv_ah *ah);\n\tint\t\t\t(*attach_mcast)(struct ibv_qp *qp, const union ibv_gid *gid,\n\t\t\t\t\t\tuint16_t lid);\n\tint\t\t\t(*detach_mcast)(struct ibv_qp *qp, const union ibv_gid *gid,\n\t\t\t\t\t\tuint16_t lid);\n\tvoid\t\t\t(*async_event)(struct ibv_async_event *event);\n};\n\nstruct ibv_context {\n\tstruct ibv_device      *device;\n\tstruct ibv_context_ops\tops;\n\tint\t\t\tcmd_fd;\n\tint\t\t\tasync_fd;\n\tint\t\t\tnum_comp_vectors;\n\tpthread_mutex_t\t\tmutex;\n\tvoid\t\t       *abi_compat;\n};\n\nenum verbs_context_mask {\n\tVERBS_CONTEXT_XRCD         = (uint64_t)1 << 0,\n\tVERBS_CONTEXT_SRQ          = (uint64_t)1 << 1,\n\tVERBS_CONTEXT_QP           = (uint64_t)1 << 2,\n\tVERBS_CONTEXT_RESERVED     = (uint64_t)1 << 3,\n\tVERBS_CONTEXT_EXP\t   = (uint64_t)1 << 62\n};\n\nstruct verbs_context {\n\t/*  \"grows up\" - new fields go here */\n\tint (*query_port)(struct ibv_context *context, uint8_t port_num,\n\t\t\t  struct ibv_port_attr *port_attr,\n\t\t\t  size_t port_attr_len);\n\tint (*_reserved[25]) (void);\n\tstruct verbs_ex_private *priv;\n\tint (*query_device_ex)(struct ibv_context *context,\n\t\t\t       const struct ibv_query_device_ex_input *input,\n\t\t\t       struct ibv_device_attr_ex *attr,\n\t\t\t       size_t attr_size);\n\tint (*ibv_destroy_flow) (struct ibv_flow *flow);\n\tvoid (*ABI_placeholder2) (void); /* DO NOT COPY THIS GARBAGE */\n\tstruct ibv_flow * (*ibv_create_flow) (struct ibv_qp *qp,\n\t\t\t\t\t      struct ibv_flow_attr *flow_attr);\n\tvoid (*ABI_placeholder1) (void); /* DO NOT COPY THIS GARBAGE */\n\tstruct ibv_qp * (*open_qp)(struct ibv_context *context,\n\t\t\tstruct ibv_qp_open_attr *attr);\n\tstruct ibv_qp * (*create_qp_ex)(struct ibv_context *context,\n\t\t\tstruct ibv_qp_init_attr_ex *qp_init_attr_ex);\n\tint (*get_srq_num)(struct ibv_srq *srq, uint32_t *srq_num);\n\tstruct ibv_srq *\t(*create_srq_ex)(struct ibv_context *context,\n\t\t\t\t\t\t struct ibv_srq_init_attr_ex *srq_init_attr_ex);\n\tstruct ibv_xrcd *\t(*open_xrcd)(struct ibv_context *context,\n\t\t\t\t\t     struct ibv_xrcd_init_attr *xrcd_init_attr);\n\tint\t\t\t(*close_xrcd)(struct ibv_xrcd *xrcd);\n\tuint64_t _ABI_placeholder3;\n\tsize_t   sz;\t\t\t/* Must be immediately before struct ibv_context */\n\tstruct ibv_context context;\t/* Must be last field in the struct */\n};\n\nstatic inline struct verbs_context *verbs_get_ctx(struct ibv_context *ctx)\n{\n\tif (ctx->abi_compat != __VERBS_ABI_IS_EXTENDED)\n\t\treturn NULL;\n\n\t/* open code container_of to not pollute the global namespace */\n\treturn (struct verbs_context *)(((uintptr_t)ctx) -\n\t\t\t\t\toffsetof(struct verbs_context,\n\t\t\t\t\t\t context));\n}\n\n#define verbs_get_ctx_op(ctx, op) ({ \\\n\tstruct verbs_context *__vctx = verbs_get_ctx(ctx); \\\n\t(!__vctx || (__vctx->sz < sizeof(*__vctx) - offsetof(struct verbs_context, op)) || \\\n\t !__vctx->op) ? NULL : __vctx; })\n\n#define verbs_set_ctx_op(_vctx, op, ptr) ({ \\\n\tstruct verbs_context *vctx = _vctx; \\\n\tif (vctx && (vctx->sz >= sizeof(*vctx) - offsetof(struct verbs_context, op))) \\\n\t\tvctx->op = ptr; })\n\nstatic inline struct verbs_device *verbs_get_device(struct ibv_device *dev)\n{\n\treturn (dev->ops.alloc_context) ?\n\t\tNULL : container_of(dev, struct verbs_device, device);\n}\n\nstatic inline int ibv_post_send(struct ibv_qp *qp, struct ibv_send_wr *wr, struct ibv_send_wr **bad_wr) {\n  return qp->context->ops.post_send(qp, wr, bad_wr);\n}\n\nstruct ibv_ece {\n\t/*\n\t * Unique identifier of the provider vendor on the network.\n\t * The providers will set IEEE OUI here to distinguish\n\t * itself in non-homogenius network.\n\t */\n\tuint32_t vendor_id;\n\t/*\n\t * Provider specific attributes which are supported or\n\t * needed to be enabled by ECE users.\n\t */\n\tuint32_t options;\n\tuint32_t comp_mask;\n};\n\n/**\n * ibv_query_port_ex - Get (extended) port properties\n */\nstatic inline int ibv_query_port_ex(struct ibv_context *context,\n\t\t\t\t    uint8_t port_num,\n\t\t\t\t    struct ibv_port_attr *port_attr)\n{\n\tstruct verbs_context *vctx = verbs_get_ctx_op(context, query_port);\n\n        if (vctx) {\n          return vctx->query_port(context, port_num, port_attr, sizeof(*port_attr));\n        }\n\n        return -1;\n}\n\n#endif  // NCCL_IBV_CORE_H_\n"
  },
  {
    "path": "src/include/ibvsymbols.h",
    "content": "#ifndef NCCL_IBV_SYMBOLS_H_\n#define NCCL_IBV_SYMBOLS_H_\n\n#ifdef NCCL_BUILD_RDMA_CORE\n#include <infiniband/verbs.h>\n#else\n#include \"ibvcore.h\"\n#endif\n\n#include \"nccl.h\"\n\n/* IB Verbs Function Pointers*/\nstruct ncclIbvSymbols {\n  int (*ibv_internal_fork_init)(void);\n  struct ibv_device** (*ibv_internal_get_device_list)(int *num_devices);\n  void (*ibv_internal_free_device_list)(struct ibv_device **list);\n  const char * (*ibv_internal_get_device_name)(struct ibv_device *device);\n  struct ibv_context* (*ibv_internal_open_device)(struct ibv_device* device);\n  int (*ibv_internal_close_device)(struct ibv_context *context);\n  int (*ibv_internal_get_async_event)(struct ibv_context *context, struct ibv_async_event *event);\n  void (*ibv_internal_ack_async_event)(struct ibv_async_event *event);\n  int (*ibv_internal_query_device)(struct ibv_context *context, struct ibv_device_attr *device_attr);\n  int (*ibv_internal_query_port)(struct ibv_context *context, uint8_t port_num, struct ibv_port_attr *port_attr);\n  int (*ibv_internal_query_gid)(struct ibv_context *context, uint8_t port_num, int index, union ibv_gid *gid);\n  int (*ibv_internal_query_qp)(struct ibv_qp *qp, struct ibv_qp_attr *attr, int attr_mask, struct ibv_qp_init_attr *init_attr);\n  struct ibv_pd * (*ibv_internal_alloc_pd)(struct ibv_context *context);\n  int (*ibv_internal_dealloc_pd)(struct ibv_pd *pd);\n  struct ibv_mr * (*ibv_internal_reg_mr)(struct ibv_pd *pd, void *addr, size_t length, int access);\n  struct ibv_mr * (*ibv_internal_reg_mr_iova2)(struct ibv_pd *pd, void *addr, size_t length, uint64_t iova, unsigned int access);\n  /* DMA-BUF support */\n  struct ibv_mr * (*ibv_internal_reg_dmabuf_mr)(struct ibv_pd *pd, uint64_t offset, size_t length, uint64_t iova, int fd, int access);\n  int (*ibv_internal_dereg_mr)(struct ibv_mr *mr);\n  struct ibv_cq * (*ibv_internal_create_cq)(struct ibv_context *context, int cqe, void *cq_context, struct ibv_comp_channel *channel, int comp_vector);\n  int (*ibv_internal_destroy_cq)(struct ibv_cq *cq);\n  struct ibv_qp * (*ibv_internal_create_qp)(struct ibv_pd *pd, struct ibv_qp_init_attr *qp_init_attr);\n  int (*ibv_internal_modify_qp)(struct ibv_qp *qp, struct ibv_qp_attr *attr, int attr_mask);\n  int (*ibv_internal_destroy_qp)(struct ibv_qp *qp);\n  const char * (*ibv_internal_event_type_str)(enum ibv_event_type event);\n  int (*ibv_internal_query_ece)(struct ibv_qp *qp, struct ibv_ece *ece);\n  int (*ibv_internal_set_ece)(struct ibv_qp *qp, struct ibv_ece *ece);\n};\n\n/* Constructs IB verbs symbols per rdma-core linking or dynamic loading mode */\nncclResult_t buildIbvSymbols(struct ncclIbvSymbols* ibvSymbols);\n\n#endif  // NCCL_IBV_SYMBOLS_H_\n"
  },
  {
    "path": "src/include/ibvwrap.h",
    "content": "/*************************************************************************\n * Copyright (c) 2004, 2005 Topspin Communications.  All rights reserved.\n * Copyright (c) 2004, 2011-2012 Intel Corporation.  All rights reserved.\n * Copyright (c) 2005, 2006, 2007 Cisco Systems, Inc.  All rights reserved.\n * Copyright (c) 2005 PathScale, Inc.  All rights reserved.\n *\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_IBVWRAP_H_\n#define NCCL_IBVWRAP_H_\n\n#include <arpa/inet.h>\n#include <netinet/in.h>\n#ifdef NCCL_BUILD_RDMA_CORE\n#include <infiniband/verbs.h>\n#else\n#include \"ibvcore.h\"\n#endif\n\n#include \"core.h\"\n#include <sys/types.h>\n#include <unistd.h>\n\ntypedef enum ibv_return_enum\n{\n    IBV_SUCCESS = 0,                   //!< The operation was successful\n} ibv_return_t;\n\nncclResult_t wrap_ibv_symbols(void);\n/* NCCL wrappers of IB verbs functions */\nncclResult_t wrap_ibv_fork_init(void);\nncclResult_t wrap_ibv_get_device_list(struct ibv_device ***ret, int *num_devices);\nncclResult_t wrap_ibv_free_device_list(struct ibv_device **list);\nconst char *wrap_ibv_get_device_name(struct ibv_device *device);\nncclResult_t wrap_ibv_open_device(struct ibv_context **ret, struct ibv_device *device);\nncclResult_t wrap_ibv_close_device(struct ibv_context *context);\nncclResult_t wrap_ibv_get_async_event(struct ibv_context *context, struct ibv_async_event *event);\nncclResult_t wrap_ibv_ack_async_event(struct ibv_async_event *event);\nncclResult_t wrap_ibv_query_device(struct ibv_context *context, struct ibv_device_attr *device_attr);\nncclResult_t wrap_ibv_query_port(struct ibv_context *context, uint8_t port_num, struct ibv_port_attr *port_attr);\nncclResult_t wrap_ibv_query_gid(struct ibv_context *context, uint8_t port_num, int index, union ibv_gid *gid);\nncclResult_t wrap_ibv_query_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, int attr_mask, struct ibv_qp_init_attr *init_attr);\nncclResult_t wrap_ibv_alloc_pd(struct ibv_pd **ret, struct ibv_context *context);\nncclResult_t wrap_ibv_dealloc_pd(struct ibv_pd *pd);\nncclResult_t wrap_ibv_reg_mr(struct ibv_mr **ret, struct ibv_pd *pd, void *addr, size_t length, int access);\nstruct ibv_mr * wrap_direct_ibv_reg_mr(struct ibv_pd *pd, void *addr, size_t length, int access);\nncclResult_t wrap_ibv_reg_mr_iova2(struct ibv_mr **ret, struct ibv_pd *pd, void *addr, size_t length, uint64_t iova, int access);\n/* DMA-BUF support */\nncclResult_t wrap_ibv_reg_dmabuf_mr(struct ibv_mr **ret, struct ibv_pd *pd, uint64_t offset, size_t length, uint64_t iova, int fd, int access);\nstruct ibv_mr * wrap_direct_ibv_reg_dmabuf_mr(struct ibv_pd *pd, uint64_t offset, size_t length, uint64_t iova, int fd, int access);\nncclResult_t wrap_ibv_dereg_mr(struct ibv_mr *mr);\nncclResult_t wrap_ibv_create_comp_channel(struct ibv_comp_channel **ret, struct ibv_context *context);\nncclResult_t wrap_ibv_destroy_comp_channel(struct ibv_comp_channel *channel);\nncclResult_t wrap_ibv_create_cq(struct ibv_cq **ret, struct ibv_context *context, int cqe, void *cq_context, struct ibv_comp_channel *channel, int comp_vector);\nncclResult_t wrap_ibv_destroy_cq(struct ibv_cq *cq);\nstatic inline ncclResult_t wrap_ibv_poll_cq(struct ibv_cq *cq, int num_entries, struct ibv_wc *wc, int* num_done) {\n  int done = cq->context->ops.poll_cq(cq, num_entries, wc); /*returns the number of wcs or 0 on success, a negative number otherwise*/\n  if (done < 0) {\n    WARN(\"Call to ibv_poll_cq() returned %d\", done);\n    return ncclSystemError;\n  }\n  *num_done = done;\n  return ncclSuccess;\n}\nncclResult_t wrap_ibv_create_qp(struct ibv_qp **ret, struct ibv_pd *pd, struct ibv_qp_init_attr *qp_init_attr);\nncclResult_t wrap_ibv_modify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, int attr_mask);\nncclResult_t wrap_ibv_destroy_qp(struct ibv_qp *qp);\nncclResult_t wrap_ibv_query_ece(struct ibv_qp *qp, struct ibv_ece *ece, int* supported);\nncclResult_t wrap_ibv_set_ece(struct ibv_qp *qp, struct ibv_ece *ece, int* supported);\n\nstatic inline ncclResult_t wrap_ibv_post_send(struct ibv_qp *qp, struct ibv_send_wr *wr, struct ibv_send_wr **bad_wr) {\n  int ret = qp->context->ops.post_send(qp, wr, bad_wr); /*returns 0 on success, or the value of errno on failure (which indicates the failure reason)*/\n  if (ret != IBV_SUCCESS) {\n    WARN(\"ibv_post_send() failed with error %s, Bad WR %p, First WR %p\", strerror(ret), wr, *bad_wr);\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\nstatic inline ncclResult_t wrap_ibv_post_recv(struct ibv_qp *qp, struct ibv_recv_wr *wr, struct ibv_recv_wr **bad_wr) {\n  int ret = qp->context->ops.post_recv(qp, wr, bad_wr); /*returns 0 on success, or the value of errno on failure (which indicates the failure reason)*/\n  if (ret != IBV_SUCCESS) {\n    WARN(\"ibv_post_recv() failed with error %s\", strerror(ret));\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t wrap_ibv_event_type_str(char **ret, enum ibv_event_type event);\n\n// converts a GID into a readable string. On success, returns a non-null pointer to gidStr.\n// NULL is returned if there was an error, with errno set to indicate the error.\n// errno = ENOSPC if the converted string would exceed strLen.\nstatic inline const char* ibvGetGidStr(union ibv_gid* gid, char* gidStr, size_t strLen) {\n  // GID is a 16B handle, to convert it to a readable form, we use inet_ntop\n  // sizeof(ibv_gid) == sizeof(struct in6_addr), so using AF_INET6\n  static_assert(sizeof(union ibv_gid) == sizeof(struct in6_addr), \"the sizeof struct ibv_gid must be the size of struct in6_addr\");\n  return inet_ntop(AF_INET6, gid->raw, gidStr, strLen);\n}\n\n#endif //End include guard\n"
  },
  {
    "path": "src/include/info.h",
    "content": "/*************************************************************************\n * Copyright (c) 2019-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_INFO_H_\n#define NCCL_INFO_H_\n\n#include \"nccl.h\"\n#include \"collectives.h\"\n#include \"core.h\"\n#include \"utils.h\"\n\n// Used to pass NCCL call information between functions\nstruct ncclInfo {\n  ncclFunc_t coll;\n  const char* opName;\n  // NCCL Coll Args\n  const void* sendbuff;\n  void* recvbuff;\n  size_t count;\n  ncclDataType_t datatype;\n  ncclRedOp_t op;\n  int root; // peer for p2p operations\n  ncclComm_t comm;\n  cudaStream_t stream;\n  // Algorithm details\n  int chunkSteps;\n  int sliceSteps;\n  const void* acc;\n};\n\n#endif"
  },
  {
    "path": "src/include/ionic/ionicdvcore.h",
    "content": "#ifndef NCCL_IONICDV_CORE_H_\n#define NCCL_IONICDV_CORE_H_\n\n/* Basic ionic direct verbs structs.\n * Needed to dynamically load ionic direct verbs functions without\n * explicit including of ionic direct verbs header.\n */\n\n#include <stddef.h>\n#include <stdint.h>\n#include <sys/types.h>\n#include <unistd.h>\n#include \"ibvwrap.h\"\n\nenum ionicdv_reg_udma_mask {\n    IONIC_UDMA_MASK_LOW    = 1,\n    IONIC_UDMA_MASK_HIGH   = 2\n};\n\n#endif  // NCCL_IONICDV_CORE_H_\n"
  },
  {
    "path": "src/include/ionic/ionicdvsymbols.h",
    "content": "#ifndef NCCL_IONICDV_SYMBOLS_H_\n#define NCCL_IONICDV_SYMBOLS_H_\n\n#include \"ionic/ionicdvcore.h\"\n#include \"nccl.h\"\n\n/* Ionic Direct Verbs Function Pointers*/\nstruct ncclIonicdvSymbols  {\n  int (*ionicdv_internal_qp_set_gda)(struct ibv_qp *qp, bool enable_send, bool enable_recv);\n  int (*ionicdv_internal_pd_set_udma_mask)(struct ibv_pd *ibpd, uint8_t udma_mask);\n};\n\n/* Constructs ionic direct verbs symbols per rdma-core linking or dynamic loading mode */\nncclResult_t buildIonicdvSymbols(struct ncclIonicdvSymbols* ionicdvSymbols);\n\n#endif  // NCCL_IONICDV_SYMBOLS_H_\n"
  },
  {
    "path": "src/include/ionic/ionicdvwrap.h",
    "content": "#ifndef NCCL_IONICDVWRAP_H_\n#define NCCL_IONICDVWRAP_H_\n\n#include <arpa/inet.h>\n#include <netinet/in.h>\n#include \"ionic/ionicdvcore.h\"\n#include \"core.h\"\n#include \"ibvwrap.h\"\n#include <sys/types.h>\n#include <unistd.h>\n\nncclResult_t wrap_ionicdv_symbols(void);\n/* NCCL wrappers of ionic direct verbs functions */\nncclResult_t wrap_ionicdv_qp_set_gda(struct ibv_qp *ibqp, bool enable_send, bool enable_recv);\nncclResult_t wrap_ionicdv_pd_set_udma_mask(struct ibv_pd *ibpd, uint8_t udma_mask);\n\n#endif // NCCL_IONICDVWRAP_H_\n"
  },
  {
    "path": "src/include/ipcsocket.h",
    "content": "/*\n * Copyright (c) 2016-2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See COPYRIGHT for license information\n */\n\n#ifndef NCCL_IPCSOCKET_H\n#define NCCL_IPCSOCKET_H\n\n#include \"nccl.h\"\n#include <stdio.h>\n#include <fcntl.h>\n#include <sys/mman.h>\n#include <unistd.h>\n#include <errno.h>\n#include <sys/wait.h>\n#include <sys/types.h>\n#include <sys/socket.h>\n#include <memory.h>\n#include <sys/un.h>\n#include <inttypes.h>\n\n#define NCCL_IPC_SOCKNAME_LEN 64\n\nstruct ncclIpcSocket {\n  int fd;\n  char socketName[NCCL_IPC_SOCKNAME_LEN];\n  volatile uint32_t* abortFlag;\n};\n\nncclResult_t ncclIpcSocketInit(struct ncclIpcSocket *handle, int rank, uint64_t hash, volatile uint32_t* abortFlag);\nncclResult_t ncclIpcSocketClose(struct ncclIpcSocket *handle);\nncclResult_t ncclIpcSocketGetFd(struct ncclIpcSocket* handle, int* fd);\n\nncclResult_t ncclIpcSocketRecvFd(struct ncclIpcSocket *handle, int *fd);\nncclResult_t ncclIpcSocketSendFd(struct ncclIpcSocket *handle, const int fd, int rank, uint64_t hash);\n\nncclResult_t ncclIpcSocketSendMsg(ncclIpcSocket *handle, void *hdr, int hdrLen, const int sendFd, int rank, uint64_t hash);\nncclResult_t ncclIpcSocketRecvMsg(ncclIpcSocket *handle, void *hdr, int hdrLen, int *recvFd);\n\n#endif /* NCCL_IPCSOCKET_H */\n"
  },
  {
    "path": "src/include/latency_profiler/CollTrace.h",
    "content": "/*\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n#pragma once\n\n#include <thread>\n#include <atomic>\n#include \"CollTraceEvent.h\"\n#include \"CollTraceUtils.h\"\n#include \"EventQueue.h\"\n\nstruct ncclComm;\n\nnamespace latency_profiler {\n\nstruct CollStats;\n\n// CollTrace Workflow\n// 1) measure collective latency by adding cuda/hip event before and after\n// a kernel launch in RCCL.\n\n// 2) Started a separate worker thread to collect latency data into\n// its local ring buffer.\n\n// 3) Perform CPU level all gather to exchange latency data\n// between threads (200 to 300us per 100 latency data exchange)\n\n// 4) Report to scuba when results buffer is full or every few minutes\n\nclass CollTrace {\n public:\n  CollTrace(ncclComm* comm);\n  __attribute__((visibility(\"default\"))) ~CollTrace();\n\n  void enqueueEvent(std::unique_ptr<CollTraceEvent> event);\n\n  std::unique_ptr<CollTraceEvent> createEvent(\n      CollTraceEvent::EventType type = CollTraceEvent::EventType::COMM);\n\n  void recordCurCollResult(int rank, float latencyMs);\n\n  void reportIfNeeded(bool checkInterval);\n\n private:\n  EventQueue<CollTraceEvent> eventQueue_;\n  std::thread profilingWorkerThread_;\n  void* collTraceThreadFn(int cudaDev);\n  std::atomic<uint64_t> curCollId_{0};\n  std::unique_ptr<CollTraceEvent> curEvent_;\n  std::deque<std::unique_ptr<CollTraceInfo>> pastColls_;\n\n  ncclComm* comm_{nullptr};\n  std::string commHash_;\n  int rank_{-1};\n  std::deque<std::vector<CollStats>> stats_;\n  std::chrono::time_point<std::chrono::steady_clock> lastReportTime_;\n};\n} // namespace latency_profiler\n"
  },
  {
    "path": "src/include/latency_profiler/CollTraceEvent.h",
    "content": "/*\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n#pragma once\n\n#include <cuda_runtime.h>\n#include <functional>\n#include <memory>\n#include <queue>\n#include \"checks.h\"\n#include \"CollTraceUtils.h\"\n\nnamespace latency_profiler {\n\n// CUDA event pointer w/ deleter\nstruct CudaEventDeleter {\n  void operator()(cudaEvent_t e) {\n    // Ignore error at destroy\n    cudaEventDestroy(e);\n  }\n};\nusing CudaEventPtr = std::unique_ptr<\n    std::pointer_traits<cudaEvent_t>::element_type,\n    CudaEventDeleter>;\n\n// a wrapper class for cuda event\nclass CudaWaitEvent {\n public:\n  CudaWaitEvent(CudaEventPtr e) : event_(std::move(e)) {}\n  ~CudaWaitEvent() {}\n\n  cudaEvent_t getCudaEvent() {\n    return event_.get();\n  }\n\n  std::shared_ptr<float> getElapsedTimeSinceEvent(CudaWaitEvent* start);\n  ncclResult_t waitEventFinish();\n\n private:\n  CudaEventPtr event_;\n};\n\n// Event data structure\nstruct CollTraceEvent {\n  enum class EventType { COMM, TERMINATE };\n\n  CollTraceInfo coll;\n  std::unique_ptr<CudaWaitEvent> start{nullptr};\n  std::unique_ptr<CudaWaitEvent> stop{nullptr};\n  EventType eventType = EventType::COMM;\n\n  CollTraceEvent(EventType type) : eventType(type) {}\n  CollTraceEvent() = default;\n\n  ~CollTraceEvent() {}\n\n  // CollTraceEvent is not copyable\n  CollTraceEvent(const CollTraceEvent&) = delete;\n  CollTraceEvent& operator=(const CollTraceEvent&) = delete;\n\n  // CollTraceEvent is movable\n  CollTraceEvent(CollTraceEvent&&) = default;\n  CollTraceEvent& operator=(CollTraceEvent&&) = default;\n};\n} // namespace latency_profiler\n"
  },
  {
    "path": "src/include/latency_profiler/CollTraceFunc.h",
    "content": "/*\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n#pragma once\n\n#include \"CollTraceEvent.h\"\n#include \"comm.h\"\n#include \"CollTraceUtils.h\"\n\nnamespace latency_profiler {\nclass CollTraceError : public std::runtime_error {\n public:\n  explicit CollTraceError(const std::string& what) : std::runtime_error(what) {}\n};\n\nncclResult_t collTraceInit(ncclComm* comm);\n\nncclResult_t collTraceDestroy(ncclComm* comm);\n\nstd::unique_ptr<CollTraceEvent> collTraceAquireEventBaseline(\n    ncclKernelPlan* plan,\n    cudaStream_t stream);\n\nncclResult_t collTraceRecordStartEvent(\n    ncclComm* comm,\n    cudaStream_t launchStream,\n    CollTraceEvent* event);\n\nncclResult_t collTraceRecordEndEvent(\n    ncclComm* comm,\n    ncclKernelPlan* plan,\n    cudaStream_t launchStream,\n    std::unique_ptr<CollTraceEvent> event);\n\nCollTraceInfo parseCollInfoFromCollTask(const ncclTaskColl& collTask);\n} // namespace latency_profiler\n"
  },
  {
    "path": "src/include/latency_profiler/CollTraceUtils.h",
    "content": "/*\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n#pragma once\n\n#include <deque>\n#include <memory>\n#include <string>\n#include <vector>\n\nnamespace latency_profiler {\n\nstruct CollStats {\n  const int collId;\n  const int percent;\n  const float minLatencyUs;\n  const float maxLatencyUs;\n  const std::string opName;\n  const std::string dataType;\n  int64_t count;\n  CollStats(const int collId, const int percent, const float minLatencyUs, const float maxLatencyUs, const std::string& opName, const std::string& dataType, const int64_t count) : collId(collId), percent(percent), minLatencyUs(minLatencyUs), maxLatencyUs(maxLatencyUs), opName(opName), dataType(dataType), count(count) {\n\n  }\n};\n\nstruct CollTraceInfo {\n  int64_t collId;\n  std::string opName;\n  std::string dataType;\n  int64_t count;\n  float latencyMs{-1};\n};\n\nvoid reportToFile(\n    const std::deque<std::vector<CollStats>>& stats,\n    const std::string& commHash);\n\nstd::vector<CollStats> aggregateResults(\n    const std::deque<std::unique_ptr<CollTraceInfo>>& info,\n    const std::vector<float>& latencyAllGather,\n    int RANKS_PER_HOST,\n    int NCCL_COLLTRACE_RECORD_MAX);\n\nfloat getSizeMb(const std::string& dataType, int count);\n\n} // namespace latency_profiler\n"
  },
  {
    "path": "src/include/latency_profiler/EventQueue.h",
    "content": "/*\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n#pragma once\n\n#include <condition_variable>\n#include <deque>\n\nnamespace latency_profiler {\n\n// A multi-producer, single consumer queue.\n// This queue is designed to be used in scenarios where multiple producers\n// are pushing items into the queue, and a single consumer is waiting for\n// items to be available.\n\ntemplate <class Element>\nclass EventQueue {\n private:\n  std::deque<std::unique_ptr<Element>> queue_;\n  std::condition_variable cv_;\n  mutable std::mutex mutex_;\n\n public:\n  void push(std::unique_ptr<Element> item) {\n    {\n      std::lock_guard<std::mutex> lock(mutex_);\n      queue_.push_back(std::move(item));\n    }\n    cv_.notify_one();\n  }\n\n  std::unique_ptr<Element> waitPop() {\n    std::unique_lock<std::mutex> lock(mutex_);\n    if (queue_.empty()) {\n      cv_.wait(lock, [this] { return !queue_.empty(); });\n    }\n    std::unique_ptr<Element> item = std::move(queue_.front());\n    queue_.pop_front();\n\n    return item;\n  }\n};\n} // namespace latency_profiler\n"
  },
  {
    "path": "src/include/latency_profiler/MIT-LICENSE.txt",
    "content": "MIT License\n\nCopyright (c) Meta Platforms, Inc. and affiliates.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "src/include/mlx5/mlx5dvcore.h",
    "content": "// Modification Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n// SPDX-License-Identifier: MIT \n\n#ifndef NCCL_MLX5DV_CORE_H_\n#define NCCL_MLX5DV_CORE_H_\n\n/* Basic MLX5 direct verbs structs. Needed to dynamically load MLX5 direct verbs functions without\n * explicit including of MLX5 direct verbs header.\n */\n\n#include <stddef.h>\n#include <stdint.h>\n#include <sys/types.h>\n#include <unistd.h>\n#include \"ibvwrap.h\"\n\nenum mlx5dv_reg_dmabuf_access  {\n\tMLX5DV_REG_DMABUF_ACCESS_DATA_DIRECT\t\t= (1<<0),\n};\n\n#endif  // NCCL_MLX5DV_CORE_H_\n"
  },
  {
    "path": "src/include/mlx5/mlx5dvsymbols.h",
    "content": "// Modification Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n// SPDX-License-Identifier: MIT \n\n#ifndef NCCL_MLX5DV_SYMBOLS_H_\n#define NCCL_MLX5DV_SYMBOLS_H_\n\n#ifdef NCCL_BUILD_MLX5DV\n#include <infiniband/mlx5dv.h>\n#else\n#include \"mlx5/mlx5dvcore.h\"\n#endif\n\n#include \"nccl.h\"\n\n/* MLX5 Direct Verbs Function Pointers*/\nstruct ncclMlx5dvSymbols {\n  bool (*mlx5dv_internal_is_supported)(struct ibv_device *device);\n  int (*mlx5dv_internal_get_data_direct_sysfs_path)(struct ibv_context *context, char *buf, size_t buf_len);\n  /* DMA-BUF support */\n  struct ibv_mr * (*mlx5dv_internal_reg_dmabuf_mr)(struct ibv_pd *pd, uint64_t offset, size_t length, uint64_t iova, int fd, int access, int mlx5_access);\n  };\n\n/* Constructs MLX5 direct verbs symbols per rdma-core linking or dynamic loading mode */\nncclResult_t buildMlx5dvSymbols(struct ncclMlx5dvSymbols* mlx5dvSymbols);\n\n#endif  // NCCL_MLX5DV_SYMBOLS_H_\n"
  },
  {
    "path": "src/include/mlx5/mlx5dvwrap.h",
    "content": "/*************************************************************************\n * Copyright (c) 2004, 2005 Topspin Communications.  All rights reserved.\n * Copyright (c) 2004, 2011-2012 Intel Corporation.  All rights reserved.\n * Copyright (c) 2005, 2006, 2007 Cisco Systems, Inc.  All rights reserved.\n * Copyright (c) 2005 PathScale, Inc.  All rights reserved.\n *\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_MLX5DVWRAP_H_\n#define NCCL_MLX5DVWRAP_H_\n\n#include <arpa/inet.h>\n#include <netinet/in.h>\n#ifdef NCCL_BUILD_MLX5DV\n#include <infiniband/mlx5dv.h>\n#else\n#include \"mlx5/mlx5dvcore.h\"\n#endif\n\n#include \"core.h\"\n#include \"ibvwrap.h\"\n#include <sys/types.h>\n#include <unistd.h>\n\ntypedef enum mlx5dv_return_enum\n{\n    MLX5DV_SUCCESS = 0,                   //!< The operation was successful\n} mlx5dv_return_t;\n\nncclResult_t wrap_mlx5dv_symbols(void);\n/* NCCL wrappers of MLX5 direct verbs functions */\nbool wrap_mlx5dv_is_supported(struct ibv_device *device);\nncclResult_t wrap_mlx5dv_get_data_direct_sysfs_path(struct ibv_context *context, char *buf, size_t buf_len);\n/* DMA-BUF support */\nncclResult_t wrap_mlx5dv_reg_dmabuf_mr(struct ibv_mr **ret, struct ibv_pd *pd, uint64_t offset, size_t length, uint64_t iova, int fd, int access, int mlx5_access);\nstruct ibv_mr * wrap_direct_mlx5dv_reg_dmabuf_mr(struct ibv_pd *pd, uint64_t offset, size_t length, uint64_t iova, int fd, int access, int mlx5_access);\n\n#endif // NCCL_MLX5DVWRAP_H_\n"
  },
  {
    "path": "src/include/mnnvl.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_MNNVL_H_\n#define NCCL_MNNVL_H_\n\n#include \"nccl.h\"\n#include \"comm.h\"\n\nncclResult_t ncclMnnvlCheck(struct ncclComm* comm);\n\n#endif\n"
  },
  {
    "path": "src/include/msccl/msccl_kernel.h",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#ifndef MSCCL_KERNEL_H_\n#define MSCCL_KERNEL_H_\n\n#define MSCCL_KERNEL_ENTRY_NAME(devredop, type, proto, fullOps) mscclKernel_##devredop##_##type##_##proto##_##fullOps\n\n#define MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE_PROTO(devredop, type, proto, fullOps) \\\n__global__ void MSCCL_KERNEL_ENTRY_NAME(devredop, type, proto, fullOps)(struct ncclKernelComm* comm, struct mscclAlgo* algo, struct mscclWork* work);\n\n#define MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, type, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE_PROTO(devredop, type, LL, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE_PROTO(devredop, type, LL128, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE_PROTO(devredop, type, Simple, fullOps)\n\n#define MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP(devredop, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, int8_t, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, uint8_t, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, int32_t, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, uint32_t, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, int64_t, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, uint64_t, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, half, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, float, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, double, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, hip_bfloat16, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, rccl_float8, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, rccl_bfloat8, fullOps)\n\n#define MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_NOFLOAT(devredop, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, int8_t, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, uint8_t, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, int32_t, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, uint32_t, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, int64_t, fullOps) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP_TYPE(devredop, uint64_t, fullOps)\n\n#define MSCCL_DECL_KERNEL_ENTRY_FUNC() \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP(Sum, false) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP(Prod, false) \\\n  MSCCL_DECL_KERNEL_ENTRY_FUNC_DEVREDOP(MinMax, false)\n\nMSCCL_DECL_KERNEL_ENTRY_FUNC()\n\n#endif\n"
  },
  {
    "path": "src/include/msccl/msccl_lifecycle.h",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#ifndef MSCCL_LIFECYCLE_H_\n#define MSCCL_LIFECYCLE_H_\n\n#include \"enqueue.h\"\n\n#include \"msccl/msccl_struct.h\"\n\nbool mscclEnabled();\nbool mscclForceEnabled();\n\nvoid mscclSetIsCallerFlag();\nvoid mscclClearIsCallerFlag();\nbool mscclIsCaller();\n\n/**\n * @brief mscclAvailable() is used to determine if msccl functionality is avaliable\n * @param comm is an optional rccl communicator, if provided uses the mscclStatus\n * from a global map<comm -> mscclStatus> to determine if msccl is available. If not available\n * in the map, this invocations inserts a new key value pair in the global map.\n * If comm == nullptr, on the first invocation it initializes a static thread local variable \n * mscclStatus and uses the same object in subsequent calls from same thread if comm is null ptr\n */\nbool mscclAvailable(const ncclComm_t comm = nullptr);\n\nncclResult_t mscclSchedulerInit(ncclComm_t comm, int* numChannelsRequired);\n\nncclResult_t mscclInit(ncclComm_t comm);\n\nncclResult_t mscclGroupStart();\n\nncclResult_t mscclEnqueueCheck(\n    const void* sendbuff, const size_t sendcounts[], const size_t sdispls[],\n    void* recvbuff, const size_t recvcounts[], const size_t rdispls[],\n    size_t count, ncclDataType_t datatype, int root, int peer, ncclRedOp_t op,\n    mscclFunc_t mscclFunc, ncclComm_t comm, hipStream_t stream);\n\nncclResult_t mscclGroupEnd();\n\nncclResult_t mscclTeardown(const ncclComm_t comm);\n\nsize_t mscclKernMaxLocalSize();\n\n#endif\n"
  },
  {
    "path": "src/include/msccl/msccl_parser.h",
    "content": "/*************************************************************************\n * Copyright (c) 2019-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef MSCCL_PARSER_H_\n#define MSCCL_PARSER_H_\n\n#include \"nccl.h\"\n#include \"debug.h\"\n#include \"checks.h\"\n#include <stdlib.h>\n\n#include \"msccl/msccl_struct.h\"\n\n// A few constraints to make the implementation easy\n#define MAX_STR_LEN 255\n#define MAX_ATTR_COUNT 16\n#define MAX_SUBS 1024\n#define MAX_NODES 4096\n\n#define NODE_TYPE_NONE 0\n#define NODE_TYPE_OPEN 1\n#define NODE_TYPE_CLOSE 2\n#define NODE_TYPE_SINGLE 3\n\nstruct mscclXmlNode {\n  char name[MAX_STR_LEN+1];\n  struct {\n    char key[MAX_STR_LEN+1];\n    char value[MAX_STR_LEN+1];\n  } attrs[MAX_ATTR_COUNT+1]; // Need an extra one to consume extra params\n  int nAttrs;\n  int type;\n  struct mscclXmlNode* parent;\n  struct mscclXmlNode* subs[MAX_SUBS];\n  int nSubs;\n};\n\nstruct mscclXml {\n  struct mscclXmlNode nodes[MAX_NODES];\n  int maxIndex;\n};\n\nstatic ncclResult_t mscclXmlGetAttrIndex(struct mscclXmlNode* node, const char* attrName, int* index) {\n  *index = -1;\n  const int nAttrs = node->nAttrs;\n  for (int a=0; a<nAttrs; a++) {\n    if (strncmp(node->attrs[a].key, attrName, MAX_STR_LEN) == 0) {\n      *index = a;\n      return ncclSuccess;\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t mscclXmlGetAttr(struct mscclXmlNode* node, const char* attrName, const char** value) {\n  int index;\n  NCCLCHECK(mscclXmlGetAttrIndex(node, attrName, &index));\n  *value = index == -1 ? NULL : node->attrs[index].value;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t mscclXmlGetAttrStr(struct mscclXmlNode* node, const char* attrName, const char** value) {\n  NCCLCHECK(mscclXmlGetAttr(node, attrName, value));\n  if (*value == NULL) {\n    WARN(\"Attribute %s of node %s not found\", attrName, node->name);\n    return ncclInternalError;\n  }\n  return ncclSuccess;\n}\nstatic ncclResult_t mscclXmlGetAttrInt(struct mscclXmlNode* node, const char* attrName, int* value) {\n  const char* str;\n  NCCLCHECK(mscclXmlGetAttrStr(node, attrName, &str));\n  *value = strtol(str, NULL, 0);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t mscclXmlGetAttrInt64(struct mscclXmlNode* node, const char* attrName, int64_t* value) {\n  const char* str;\n  NCCLCHECK(mscclXmlGetAttrStr(node, attrName, &str));\n  *value = strtoll(str, NULL, 0);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t mscclXmlFindTag(struct mscclXml* xml, const char* tagName, struct mscclXmlNode** node) {\n  *node = NULL;\n  for (int i=0; i<xml->maxIndex; i++) {\n    struct mscclXmlNode* n = xml->nodes+i;\n    if (strcmp(n->name, tagName) == 0) {\n      *node = n;\n      return ncclSuccess;\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t mscclGetAlgoFromXmlFile(const char* xmlGraphFile, struct mscclAlgo* algo, int rank);\n\nncclResult_t mscclGetAlgoMetaFromXmlFile(const char* xmlGraphFile, struct mscclAlgoMeta* algoMeta);\n\n#endif\n"
  },
  {
    "path": "src/include/msccl/msccl_scheduler.h",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#ifndef MSCCL_SCHEDULER_H_\n#define MSCCL_SCHEDULER_H_\n\ntypedef enum { mscclFuncReduce             =  0,\n               mscclFuncBroadcast          =  1,\n               mscclFuncAllReduce          =  2,\n               mscclFuncReduceScatter      =  3,\n               mscclFuncAllGather          =  4,\n               mscclFuncSend               =  5,\n               mscclFuncRecv               =  6,\n               mscclFuncGather             =  7,\n               mscclFuncScatter            =  8,\n               mscclFuncAllToAll           =  9,\n               mscclFuncAllToAllv          =  10,\n               mscclNumFuncs               =  11 } mscclFunc_t;\n\nstruct mscclSchedulerParam {\n  const void* sendBuff;\n  const size_t* sendCounts;\n  const size_t* sDisPls;\n  void* recvBuff;\n  const size_t* recvCounts;\n  const size_t* rDisPls;\n  size_t count;\n  ncclDataType_t dataType;\n  int root;\n  int peer;\n  ncclRedOp_t op;\n  mscclFunc_t func;\n  int rank;\n  int nRanks;\n  bool scheduled;\n  mscclAlgoHandle_t handle;\n  uint64_t opCount;\n};\n\ntypedef struct {\n  // Name of the scheduler (mainly for logs)\n  const char* name;\n  // Load all algorithms\n  ncclResult_t (*init)();\n  // Select an algorithm\n  ncclResult_t (*selectAlgo)(struct mscclSchedulerParam* param);\n  // Unload all algorithms\n  ncclResult_t (*teardown)();\n} mscclSchedulerInterface;\n\n#endif\n"
  },
  {
    "path": "src/include/msccl/msccl_setup.h",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#ifndef MSCCL_SETUP_H_\n#define MSCCL_SETUP_H_\n\n#include <hip/hip_runtime.h>\n\n#include \"comm.h\"\n#include \"msccl/msccl_struct.h\"\n\nncclResult_t mscclGetCaptureStatus(const ncclComm_t comm, hipStream_t stream);\n\nncclResult_t mscclSetupScratch(struct mscclAlgo* hostAlgo, hipStream_t stream);\n\nncclResult_t mscclSetupSyncFlags(const ncclComm_t comm, hipStream_t stream);\n\nncclResult_t mscclSetupConnections(struct mscclAlgo* hostAlgo,const ncclComm_t comm);\n\nncclResult_t mscclSetupCount(struct mscclAlgo* hostAlgo, ncclComm_t comm, size_t count, ncclDataType_t dataType);\n\nncclResult_t mscclSetupProxy(struct mscclAlgo* hostAlgo, ncclComm_t comm, hipStream_t stream);\n\nncclResult_t mscclSetupKernel(const void* sendBuff, void* recvBuff, size_t count,\n    ncclDataType_t dataType, ncclRedOp_t op, struct mscclAlgo* hostAlgo, struct mscclAlgo* devAlgo,\n    ncclComm_t comm, hipStream_t stream);\n\nncclResult_t mscclInitWorkFifoStatus(mscclWorkFifoStatus* workFifoStatus);\n\nncclResult_t mscclDestroyWorkFifoStatus(mscclWorkFifoStatus* workFifoStatus);\n\n#endif\n"
  },
  {
    "path": "src/include/msccl/msccl_status.h",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#ifndef MSCCL_STATUS_H_\n#define MSCCL_STATUS_H_\n\n#include \"msccl/msccl_struct.h\"\n\nbool mscclInitialized(const ncclComm_t comm);\n\nvoid mscclSetInitialized(const ncclComm_t comm, bool initialized = true);\n\nvoid mscclRemoveRank(const ncclComm_t comm);\n\nmscclStatus& mscclGetStatus(const ncclComm_t comm);\n\nmscclSavedProxyArgs& mscclGetSavedProxyArgs(const ncclComm_t comm);\n\nmscclThreadLocalStatus& mscclGetThreadLocalStatus();\n\n#endif\n"
  },
  {
    "path": "src/include/msccl/msccl_struct.h",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#ifndef MSCCL_STRUCT_H_\n#define MSCCL_STRUCT_H_\n\n#include <cstdint>\n#include <map>\n#include <set>\n#include <vector>\n#include \"device.h\"\n#include \"msccl/msccl_scheduler.h\"\n\n#define MSCCL_MAX_NUM_STEPS 64\n#define MSCCL_MAX_NUM_THREAD_BLOCKS_PER_CHANNEL 32\n#define MSCCL_MAX_NUM_THREAD_BLOCKS 64\n#define MSCCL_MAX_COUNT 72 // max concurrent number of msccl chunk transmission\n#define MSCCL_MAX_REDUCE_FUSION 16\n#define MSCCL_MAX_NUM_ALGOS 1024\n\n#define MSCCL_SLICESTEPS (NCCL_STEPS/4)\n#define MSCCL_CHUNKSTEPS (NCCL_STEPS/2)\n\n#define MSCCL_INPUT_BUFFER 0\n#define MSCCL_OUTPUT_BUFFER 1\n#define MSCCL_SCRATCH_BUFFER 2\n\n#define MSCCL_SEND 0\n#define MSCCL_RECV 1\n#define MSCCL_RECV_COPY_SEND 2\n#define MSCCL_RECV_REDUCE_SEND 3\n#define MSCCL_RECV_REDUCE_COPY 4\n#define MSCCL_RECV_REDUCE_COPY_SEND 5\n#define MSCCL_LOCAL_COPY 6\n#define MSCCL_REDUCE 7\n\n#define MSCCL_MAX_NTHREADS 256\n\nstruct mscclTransmission {\n  int16_t dependencePointer; // index to the first dependence\n  int16_t numDependencies; // dependencePointer+numDependencies indicate the last dependence\n  int16_t reductionPointer; // where the reduction starts\n  int16_t numReductions; // number of reductions with the same dst\n  int16_t srcOffset;\n  int16_t dstOffset;\n  uint8_t srcBuffer : 4; // input/output/scratch\n  uint8_t dstBuffer : 4; // input/output/scratch\n  int8_t hasDependence;\n  uint8_t type;\n  uint8_t count;\n}; // 16 bytes\n\nstatic_assert((1ULL << (8*sizeof(mscclTransmission::count))) - 1 > MSCCL_MAX_COUNT, \"MSCCL_MAX_COUNT must representable by datatype of count\");\n\nstruct mscclThreadBlock {\n  // step is used to index into these arrays\n  struct mscclTransmission transmissions[MSCCL_MAX_NUM_STEPS]; // 4KB\n  int8_t dependentBid[MSCCL_MAX_NUM_STEPS]; // -1 if not dependent on any thread block, 256 bytes\n  int16_t dependentStep[MSCCL_MAX_NUM_STEPS]; // 512 bytes\n  int16_t reductionSrcOffsets[MSCCL_MAX_NUM_STEPS]; // 512 bytes\n  int16_t sendPeer;\n  int16_t recvPeer;\n  uint16_t nSteps;\n  int16_t channelId; // associated channel. -1 indicates a thread block with only local copies\n}; // 5384 bytes\n\nstatic_assert(sizeof(struct mscclThreadBlock) % sizeof(uint64_t) == 0, \"Sanity check: sizeof(struct mscclThreadBlock) %% sizeof(uint64_t) != 0\");\n\nstruct mscclFlag {\n  uint64_t flag;\n  uint64_t align[3]; // to avoid false sharing\n};\n\nstruct mscclChannelPeerInfo {\n  int peer;\n  // nTransmissionsOfCount[i]: number of transmissions with count i (in terms of msccl chunks)\n  int nTransmissionsOfCount[MSCCL_MAX_COUNT + 1];\n  int existingCounts[MSCCL_MAX_COUNT + 1];\n  int nExistingCounts;\n};\n\nstruct mscclChannelInfo {\n  struct mscclChannelPeerInfo sendPeerInfo[MSCCL_MAX_NUM_THREAD_BLOCKS_PER_CHANNEL];\n  int nSendPeers;\n  struct mscclChannelPeerInfo recvPeerInfo[MSCCL_MAX_NUM_THREAD_BLOCKS_PER_CHANNEL];\n  int nRecvPeers;\n};\n\nstruct mscclAlgoMeta {\n  // Path to algorithm file\n  std::string filePath;\n  // number of chunks of input/output in each MSCCL algorithm loop\n  int nChunksPerLoop;\n  // number of channels needed by MSCCL algorithm\n  int nChannels;\n  // number of ranks required by this algorithm\n  int nRanks;\n  // need to times nRanks for all-gather, reduce-scatter and all-to-all\n  int sizeMultiplier;\n  // MSCCL function type\n  mscclFunc_t func;\n  // Min message size allowed for this algorithm.\n  int64_t minBytes;\n  // Max message size allowed for this algorithm, 0 for no limit.\n  int64_t maxBytes;\n  // Whether this algorithm is suitable for in-place.\n  bool inPlace;\n  // Whether this algorithm is suitable for out-of-place.\n  bool outOfPlace;\n};\n\nstruct mscclAlgo {\n  // number of chunks of input/output in each MSCCL algorithm loop\n  int nChunksPerLoop;\n  // the protocol that the algorithm needs to use\n  int protocol;\n  // number of channels needed by MSCCL algorithm\n  int nChannels;\n  // number of ranks required by this algorithm\n  int nRanks;\n  // number of necessary thread blocks\n  int nBlocks;\n  // number of scratch chunks that MSCCL will use\n  int nScratchChunks;\n  // need to times nRanks for all-gather, reduce-scatter and all-to-all\n  int sizeMultiplier;\n  // number of steps per chunk for this algorithm\n  int chunkSteps;\n  // number of steps per slice for this algorithm\n  int sliceSteps;\n  // bid is used as an index into this array\n  struct mscclThreadBlock mscclTBs[MSCCL_MAX_NUM_THREAD_BLOCKS];\n  // used to calculate proxy info\n  struct mscclChannelInfo mscclChannels[MAXCHANNELS];\n  // Whether the algorithm requires reduce operation\n  bool hasReduce;\n  // MSCCL function type\n  mscclFunc_t func;\n  // Min message size allowed for this algorithm.\n  int64_t minBytes;\n  // Max message size allowed for this algorithm, 0 for no limit.\n  int64_t maxBytes;\n  // Whether this algorithm is suitable for in-place.\n  bool inPlace;\n  // Whether this algorithm is suitable for out-of-place.\n  bool outOfPlace;\n  // Keep a bit mask of used types (max 8 at present)\n  uint8_t typeMask;\n};\n\nenum mscclGroupStatus {\n  mscclNoGroup,\n  mscclGroupSupportedOp,\n  mscclGroupUnsupportedOp\n};\n\nstruct mscclSavedSchedulerParam {\n  struct mscclSchedulerParam p;\n  std::vector<size_t> savedSendCounts;\n  std::vector<size_t> savedSDisPls;\n  std::vector<size_t> savedRecvCounts;\n  std::vector<size_t> savedRDisPls;\n  ncclComm_t comm;\n  hipStream_t stream;\n};\n\nenum mscclCaptureStatus {\n  mscclUnknownCaptureStatus,\n  mscclNoCapture,\n  mscclNewCapture,\n  mscclExistingCapture\n};\n\nstruct mscclProxyArg {\n  struct mscclAlgo* hostAlgo;\n  ncclComm_t comm;\n  mscclProxyArg(struct mscclAlgo* hostAlgo, ncclComm_t comm)\n    : hostAlgo(hostAlgo), comm(comm) {}\n};\n\ntypedef std::map<unsigned long long, std::vector<struct mscclProxyArg>> mscclSavedProxyArgs;\n\nstruct mscclThreadLocalStatus {\n  bool mscclIsCallerFlag;\n  mscclGroupStatus groupStatus;\n  int groupDepth;\n  std::vector<struct mscclSavedSchedulerParam> savedSchedulerParams;\n  unsigned long long captureId;\n  mscclCaptureStatus captureStatus;\n  hipGraph_t graph;\n};\n\nstruct mscclWorkFifoStatus {\n  uint64_t workFifoDepth;\n  struct mscclWork* workFifo;\n  uint32_t* workFifoDone;\n  uint32_t workFifoSent;\n  uint32_t workFifoSentPerThreadBlock[MSCCL_MAX_NUM_THREAD_BLOCKS];\n  uint32_t workFifoAckdMin;\n};\n\ntypedef std::map<unsigned long long, mscclWorkFifoStatus> mscclSavedGraphWorkFifoStatus;\n\nstruct mscclStatus {\n  std::vector<mscclAlgoHandle_t> freeAlgoHandles;\n  std::map<mscclAlgoHandle_t, mscclAlgo *> hostAlgos;\n  std::map<mscclAlgoHandle_t, mscclAlgo *> devAlgos;\n  struct mscclFlag* syncFlags;\n  std::map<size_t, void *> scratchBuffers;\n  size_t nBytes;\n  int stepSize;\n  int chunkSteps;\n  int sliceSteps;\n  int chunkSize;\n  int chunkEffectiveSize;\n  uint32_t workIndex;\n  uint32_t maxAllowedCount;\n  ncclDataType_t dataType;\n  std::map<ncclComm_t, std::set<mscclAlgoHandle_t>> connectedAlgos;\n  hipStream_t lastStream;\n  void* mscclSchedulerLib;\n  mscclSchedulerInterface* mscclSchedulerPtr;\n  std::vector<mscclAlgoMeta> algoMetas;\n  std::vector<std::map<int, mscclAlgoHandle_t>> rankToAlgoHandles;\n  bool graphEnabled;\n  bool graphFirstKernel;\n  bool needsProxy;\n  mscclWorkFifoStatus defaultWorkFifoStatus;\n  mscclSavedGraphWorkFifoStatus graphWorkFifoStatus;\n};\n\n#pragma pack(push)\n#pragma pack(8)\n\nstruct mscclWork {\n  volatile struct mscclFlag *syncFlags;\n  void *scratchBuffer;\n  const void *sendBuff;\n  void *recvBuff;\n  uint32_t* workFifoDone;\n  size_t sizePerMscclChunk;\n  uint64_t redOpArg;\n  uint32_t workIndex;\n  uint32_t maxAllowedCount;\n  uint32_t workFifoDoneAck;\n  int nChunksPerLoop;\n  bool hasReduce;\n  bool redOpArgIsPtr;\n  uint32_t fnIndex;\n};\nstatic_assert(sizeof(struct mscclWork) % 16 == 0, \"mscclWork needs to be 16B aligned\");\n\n#pragma pack(pop)\n\nstruct mscclShmemData {\n  struct mscclThreadBlock mscclTB;\n  alignas(16) struct mscclWork work;\n};\nstatic_assert(offsetof(struct mscclShmemData, work) % 16 == 0, \"mscclShmemData.work needs to be 16B aligned\");\n\n#endif\n"
  },
  {
    "path": "src/include/mscclpp/mscclpp_nccl.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt and NOTICES.txt for license information\n ************************************************************************/\n\n#ifndef MSCCLPP_NCCL_H_\n#define MSCCLPP_NCCL_H_\n\n#include \"nccl.h\"\n#include <unordered_map>\n#include <unordered_set>\n\ntypedef struct mscclppComm* mscclppComm_t;\n\ntypedef ncclUniqueId mscclppUniqueId;\n\n/* A ncclUniqueId and a mscclppUniqueId will always be created together and used alternatively. This maps between them. */\nextern std::unordered_map<ncclUniqueId, mscclppUniqueId> mscclpp_uniqueIdMap;\nextern std::unordered_map<mscclppUniqueId, std::unordered_set<ncclUniqueId>> mscclpp_uniqueIdReverseMap;\nextern std::unordered_map<mscclppComm_t, mscclppUniqueId> mscclpp_commToUniqueIdMap;\nextern std::unordered_map<ncclComm_t, ncclUniqueId> ncclCommToUniqueIdMap;\n\nextern \"C\" {\n  /* See ncclGetUniqueId. */\n  ncclResult_t  mscclpp_ncclGetUniqueId(mscclppUniqueId* uniqueId);\n\n  /* See ncclCommInitRank. */\n  ncclResult_t  mscclpp_ncclCommInitRank(mscclppComm_t* comm, int nranks, mscclppUniqueId commId, int rank);\n\n  /* See ncclCommDestroy. */\n  ncclResult_t  mscclpp_ncclCommDestroy(mscclppComm_t comm);\n\n  /* See ncclAllReduce. */\n  ncclResult_t  mscclpp_ncclAllReduce(const void* sendbuff, void* recvbuff, size_t count,\n      ncclDataType_t datatype, ncclRedOp_t op, mscclppComm_t comm, hipStream_t stream);\n\n  /* See ncclAllGather. */\n  ncclResult_t  mscclpp_ncclAllGather(const void* sendbuff, void* recvbuff, size_t sendcount,\n      ncclDataType_t datatype, mscclppComm_t comm, hipStream_t stream);\n\n  ncclResult_t mscclpp_ncclCommRegister(mscclppComm_t comm, void* buff, size_t size, void** handle);\n\n  ncclResult_t mscclpp_ncclCommDeregister(mscclppComm_t comm, void* handle);\n\n  bool mscclpp_BuffIsRegistered(mscclppComm_t comm, const void* buff);\n\n  size_t mscclpp_BufferSize(mscclppComm_t comm, void* handle);\n\n  ncclResult_t mscclpp_ncclMemAlloc(void** ptr, size_t size);\n\n  ncclResult_t mscclpp_ncclMemFree(void* ptr);\n}\n\nnamespace std {\n  template <>\n  struct hash<ncclUniqueId> {\n    size_t operator ()(const ncclUniqueId& uniqueId) const noexcept;\n  };\n}\n\nbool operator ==(const ncclUniqueId& a, const ncclUniqueId& b);\n\nbool mscclppCommCompatible(ncclComm_t comm);\n\n#endif\n"
  },
  {
    "path": "src/include/nccl_common.h",
    "content": "/*************************************************************************\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_DEBUG_H_\n#define NCCL_DEBUG_H_\n\n// Workaround for libstdc++ trying to force public visibility of std:: symbols.  We don't want to do that in libnccl.so.\n#include <bits/c++config.h>\n#undef _GLIBCXX_VISIBILITY\n#define _GLIBCXX_VISIBILITY(V)\n\n#include <cstdint>\n#include \"nccl.h\"\n\ntypedef enum {\n  NCCL_LOG_NONE = 0,\n  NCCL_LOG_ERROR = 1,\n  NCCL_LOG_VERSION = 2,\n  NCCL_LOG_WARN = 3,\n  NCCL_LOG_INFO = 4,\n  NCCL_LOG_ABORT = 5,\n  NCCL_LOG_TRACE = 6\n} ncclDebugLogLevel;\n\ntypedef enum {\n  NCCL_INIT = 0x1,\n  NCCL_COLL = 0x2,\n  NCCL_P2P = 0x4,\n  NCCL_SHM = 0x8,\n  NCCL_NET = 0x10,\n  NCCL_GRAPH = 0x20,\n  NCCL_TUNING = 0x40,\n  NCCL_ENV = 0x80,\n  NCCL_ALLOC = 0x100,\n  NCCL_CALL = 0x200,\n  NCCL_PROXY = 0x400,\n  NCCL_NVLS = 0x800,\n  NCCL_BOOTSTRAP = 0x1000,\n  NCCL_REG = 0x2000,\n  NCCL_PROFILE = 0x4000,\n  NCCL_RAS = 0x8000,\n  NCCL_VERBS = 0x10000,\n  NCCL_ALL = ~0\n} ncclDebugLogSubSys;\n\ntypedef void (*ncclDebugLogger_t)(ncclDebugLogLevel level, unsigned long flags, const char *file, int line, const char *fmt, ...);\n\n// NCCL core profiler callback for network defined events instrumentation\nenum {\n  ncclProfilerNetEventStart = 0,\n  ncclProfilerNetEventStop,\n  ncclProfilerNetEventUpdate,\n  ncclProfilerNetEventUpdateAndStop,\n};\n\ntypedef ncclResult_t (*ncclProfilerCallback_t)(void** eHandle, int type, void* pHandle, int64_t pluginId, void* extData);\n\n#define NCCL_NUM_FUNCTIONS 5 // Send/Recv not included for now\ntypedef enum {\n  ncclFuncBroadcast = 0,\n  ncclFuncReduce = 1,\n  ncclFuncAllGather = 2,\n  ncclFuncReduceScatter = 3,\n  ncclFuncAllReduce = 4,\n  ncclFuncSendRecv = 5,\n  ncclFuncSend = 6,\n  ncclFuncRecv = 7,\n  ncclFuncAlltoAll = 8,\n  ncclFuncScatter = 9,\n  ncclFuncGather = 10,\n  ncclFuncAlltoAllPivot = 11,\n  ncclFuncAllToAllGda = 12,\n  ncclNumFuncs = 13\n} ncclFunc_t;\n\n\n#endif\n"
  },
  {
    "path": "src/include/nccl_device/README.md",
    "content": "This directory has been structured to make it easy for user to read the headers to learn the API. The files adjacent\nto this README are meant for humans. They contain the essential declarations like which types exist and function prototypes and comments\nindicating the contract/usage. Everything else goes into the \"impl/\" subdirectory. Most modules are stratified into three layers:\n\n1) \"foo.h\" Public API declarations.\n2) \"impl/foo__types.h\" struct definitions. Has #include of layer 1.\n3) \"impl/foo_funcs.h\" inline functions. Has #include of layer 2.\n\nThe include dependencies should be acyclic for layers 1 and 2 since order matters for declarations and types. Layer 3 though\ncan freely have cycles amongst itself (\"impl/foo__funcs.h\" and \"impl/bar__funcs.h\" can mutually include each other) since\nfunctions can be defined in any order once declared.\n\nTranslation units should just include \"nccl_device.h\" to ensure they get all the \"impl/foo__funcs.h\". But if a translation unit wants\nto be more specific as to which module it pulls in it should include \"impl/foo__funcs.h\".\n\nOne of the nasty reasons this was required is because of C++ defaulted function parameters:\n\n```\n// +++ in foo.h +++\nstruct Foo; // defined in some __types.h\n\n// +++ in \"impl/foo__types.h\" +++\nstruct Foo { int x; };\n\n// +++ in \"bar.h\" +++\n// Prototype function where default value is default construction of Foo. Since\n// Foo would be incomplete if just including \"foo.h\" the compiler errors because\n// it can't reason about the {}.\n// I was able to solve this by including \"impl/foo__types.h\" instead.\n#include \"impl/foo__types.h\"\nvoid bar(Foo arg = {});\n```\n"
  },
  {
    "path": "src/include/nccl_device/comm.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_COMM_H_\n#define _NCCL_DEVICE_COMM_H_\n#include \"core_tmp.h\"\n#endif\n"
  },
  {
    "path": "src/include/nccl_device/coop.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_COOP_H_\n#define _NCCL_DEVICE_COOP_H_\n#include \"utility.h\"\n\n#define __CUDACC__ 0\n\n// ncclCoop[Foo]: NCCL's versions of CUDA's Cooperative Groups. They conform\n// to just this subset of the CUDA API:\n//   int Coop::thread_rank();\n//   int Coop::size();\n//   int Coop::num_threads(); // same as size()\n//   void Coop::sync();\n\n#if __CUDACC__\ntemplate<int nThreadsPow2>\nstruct ncclCoopTile { // An aligned pow2 set of threads within the warp.\n  static_assert(nccl::utility::isPow2(nThreadsPow2) && nThreadsPow2 <= 32, \"Condition required\");\n\n  NCCL_DEVICE_INLINE int thread_rank() const {\n    return nccl::utility::lane() % nThreadsPow2;\n  }\n  NCCL_DEVICE_INLINE constexpr int size() const { return nThreadsPow2; }\n  NCCL_DEVICE_INLINE constexpr int num_threads() const { return nThreadsPow2; }\n\n  NCCL_DEVICE_INLINE uint32_t laneMask() const {\n    return (-1u>>(32-nThreadsPow2))<<(nccl::utility::lane() & -nThreadsPow2);\n  }\n  NCCL_DEVICE_INLINE void sync() {\n    __syncwarp(laneMask());\n  }\n};\n#endif\n\n#if __CUDACC__\ntypedef ncclCoopTile<1> ncclCoopThread;\ntypedef ncclCoopTile<32> ncclCoopWarp;\n#endif\n\n#if __CUDACC__\nstruct ncclCoopLanes { // Some lanes of this warp.\n  uint32_t lmask;\n  \n  NCCL_DEVICE_INLINE constexpr ncclCoopLanes(uint32_t lmask=-1u): lmask(lmask) {}\n\n  NCCL_DEVICE_INLINE int thread_rank() const {\n    return __popc(lmask & nccl::utility::lanemask_lt());\n  }\n  NCCL_DEVICE_INLINE int size() const {\n    return __popc(lmask);\n  }\n  NCCL_DEVICE_INLINE int num_threads() const {\n    return __popc(lmask);\n  }\n  NCCL_DEVICE_INLINE void sync() {\n    __syncwarp(lmask);\n  }\n};\n#endif\n\n#if __CUDACC__\n// A set of consecutive warps that the user has also supplied with a unique\n// id from [0..15]. It is an error for two different warp spans with the same\n// id to be in a collective concurrently.\nstruct ncclCoopWarpSpan {\n  uint32_t warp0:8, nWarps:8, id:8;\n\n  NCCL_DEVICE_INLINE constexpr ncclCoopWarpSpan(int warp0, int nWarps, int id):\n    warp0(warp0), nWarps(nWarps), id(id) {\n  }\n  \n  NCCL_DEVICE_INLINE int thread_rank() const {\n    return threadIdx.x - 32*warp0;\n  }\n  NCCL_DEVICE_INLINE int size() const {\n    return 32*nWarps;\n  }\n  NCCL_DEVICE_INLINE int num_threads() const {\n    return 32*nWarps;\n  }\n\n  NCCL_DEVICE_INLINE void sync() {\n    //asm volatile(\"barrier.sync %0, %1;\" :: \"r\"(1+id), \"r\"(32*nWarps) : \"memory\");\n    __barrier_sync_count(1+id, 32*nWarps);\n  }\n};\n#endif\n\n#if __CUDACC__\nstruct ncclCoopCta {\n  NCCL_DEVICE_INLINE int thread_rank() const { return threadIdx.x; }\n  NCCL_DEVICE_INLINE int size() const { return blockDim.x; }\n  NCCL_DEVICE_INLINE int num_threads() const { return blockDim.x; }\n  NCCL_DEVICE_INLINE void sync() { __syncthreads(); }\n};\n#endif\n\n#if __CUDACC__\ntemplate<int nThreadsPow2>\nNCCL_DEVICE_INLINE uint32_t ncclCoopLaneMask(ncclCoopTile<nThreadsPow2> coop) {\n  return coop.laneMask();\n}\nNCCL_DEVICE_INLINE uint32_t ncclCoopLaneMask(ncclCoopLanes coop) {\n  return coop.lmask;\n}\nNCCL_DEVICE_INLINE uint32_t ncclCoopLaneMask(ncclCoopWarpSpan coop) {\n  return -1u;\n}\nNCCL_DEVICE_INLINE uint32_t ncclCoopLaneMask(ncclCoopCta coop) {\n  return -1u;\n}\n#endif\n\n#if __CUDACC__\n// ncclCoopIsThread:\n// At compile time do we know the given coop is a single thread only.\ntemplate<int nThreads>\nNCCL_DEVICE_INLINE constexpr bool ncclCoopIsThread(ncclCoopTile<nThreads>) {\n  return nThreads == 1;\n}\nNCCL_DEVICE_INLINE constexpr bool ncclCoopIsThread(ncclCoopLanes) { return false; }\nNCCL_DEVICE_INLINE constexpr bool ncclCoopIsThread(ncclCoopWarpSpan) { return false; }\nNCCL_DEVICE_INLINE constexpr bool ncclCoopIsThread(ncclCoopCta) { return false; }\n#endif\n\n#if __CUDACC__\n// Pick threads of our warp that are safe to use collectively.\nNCCL_DEVICE_INLINE ncclCoopLanes ncclCoopCoalesced() {\n  return ncclCoopLanes{__activemask()};\n}\n#endif\n\n#if __CUDACC__\n// Pick threads of our warp that are safe to use collectively given that this\n// is a collective on the provided cooperative group.\ntemplate<typename Coop>\nNCCL_DEVICE_INLINE ncclCoopTile<32> ncclCoopCoalesced(Coop) {\n  return ncclCoopTile<32>();\n}\nNCCL_DEVICE_INLINE ncclCoopLanes ncclCoopCoalesced(ncclCoopLanes coop) {\n  return coop;\n}\ntemplate<int nThreads>\nNCCL_DEVICE_INLINE ncclCoopTile<nThreads> ncclCoopCoalesced(ncclCoopTile<nThreads> coop) {\n  return coop;\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "src/include/nccl_device/core.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_CORE_H_\n#define _NCCL_DEVICE_CORE_H_\n#include <nccl.h>\n#include \"coop.h\"\n#include \"utility.h\"\n\n#define __CUDACC__ 0\n\nstruct ncclDevComm;\ntypedef struct ncclDevComm ncclDevComm_t;\n\nstruct ncclTeam;\ntypedef struct ncclTeam ncclTeam_t;\n\n// typedef struct ncclWindow_vidmem* ncclWindow_t; // in nccl.h\n\nstruct ncclMultimemHandle;\ntypedef struct ncclMultimemHandle ncclMultimemHandle_t;\n\ntypedef uint32_t ncclDevResourceHandle;\ntypedef ncclDevResourceHandle ncclDevResourceHandle_t;\n\nstruct ncclLsaBarrierHandle;\ntypedef struct ncclLsaBarrierHandle ncclLsaBarrierHandle_t;\n\nstruct ncclLLA2AHandle;\ntypedef struct ncclLLA2AHandle ncclLLA2AHandle_t;\n\nstruct ncclTeam {\n  int nRanks, rank, stride;\n};\n\n#if __cplusplus\ntemplate<typename T> struct ncclSymPtr;\n#endif\n\n#if __cplusplus\nstruct ncclTeamTagWorld {};\nstruct ncclTeamTagLsa {};\nstruct ncclTeamTagRail {};\n#endif\n\nstruct ncclDevCommRequirements;\ntypedef struct ncclDevCommRequirements ncclDevCommRequirements_t;\n\nstruct ncclDevResourceRequirements;\ntypedef struct ncclDevResourceRequirements ncclDevResourceRequirements_t;\n\nstruct ncclTeamRequirements;\ntypedef struct ncclTeamRequirements ncclTeamRequirements_t;\n\nstruct ncclDevCommRequirements {\n  ncclDevResourceRequirements_t* resourceRequirementsList;\n  ncclTeamRequirements_t* teamRequirementsList;\n\n  bool lsaMultimem; // Enable multimem on lsa team\n\n  int lsaBarrierCount;\n};\n\nstruct ncclDevResourceRequirements {\n  ncclDevResourceRequirements_t* next;\n  size_t bufferSize, bufferAlign;\n  ncclDevResourceHandle_t* outBufferHandle; // If non-null, target assigned during ncclDevCommCreate.\n};\n\nstruct ncclTeamRequirements {\n  ncclTeamRequirements_t* next;\n  ncclTeam_t team;\n  bool multimem;\n  ncclMultimemHandle_t* outMultimemHandle; // If non-null, target assigned during ncclDevCommCreate.\n};\n\nNCCL_EXTERN_C __host__ ncclResult_t ncclDevCommCreate(ncclComm_t, ncclDevCommRequirements_t const*, ncclDevComm_t* outDevComm);\nNCCL_EXTERN_C __host__ ncclResult_t ncclDevCommDestroy(ncclComm_t, ncclDevComm_t const* devComm);\n\n////////////////////////////////////////////////////////////////////////////////\n// Team API:\n\n#if __cplusplus\nNCCL_HOST_DEVICE_INLINE ncclTeam ncclTeamWorld(ncclDevComm const&);\n#endif\nNCCL_EXTERN_C __host__ ncclTeam_t ncclTeamWorld(ncclComm_t);\n\n#if __cplusplus\nNCCL_HOST_DEVICE_INLINE ncclTeam ncclTeamLsa(ncclDevComm const&);\n#endif\nNCCL_EXTERN_C __host__ ncclTeam_t ncclTeamLsa(ncclComm_t);\n\nNCCL_EXTERN_C NCCL_HOST_DEVICE_INLINE bool ncclTeamRankIsMember(ncclTeam_t a, ncclTeam_t b, int bPeer);\nNCCL_EXTERN_C NCCL_HOST_DEVICE_INLINE int ncclTeamRankToTeam(ncclTeam_t a, ncclTeam_t b, int bPeer);\n\n#if __cplusplus\nNCCL_HOST_DEVICE_INLINE int ncclTeamRankToWorld(ncclDevComm const&, ncclTeam, int rank);\n#endif\nNCCL_EXTERN_C __host__ int ncclTeamRankToWorld(ncclComm_t, ncclTeam_t, int rank);\n\n#if __cplusplus\nNCCL_HOST_DEVICE_INLINE int ncclTeamRankToLsa(ncclDevComm const&, ncclTeam, int rank);\n#endif\nNCCL_EXTERN_C __host__ int ncclTeamRankToLsa(ncclComm_t, ncclTeam_t, int rank);\n\nNCCL_EXTERN_C NCCL_HOST_DEVICE_INLINE ncclTeam_t ncclTeamInnerFactor(ncclTeam_t parent, int innerSize);\nNCCL_EXTERN_C NCCL_HOST_DEVICE_INLINE ncclTeam_t ncclTeamOuterFactor(ncclTeam_t parent, int innerSize);\n\n// Interpret each team as a set of ranks. This function assumes that `subset`\n// is a subset of `parent`. Thus the number of ranks in the set difference of\n// `parent` minus `subset` is `super.nRanks - subset.nRanks`. Given `index` this\n// function returns the index'th element of `parent` minus `subset`.\nNCCL_EXTERN_C NCCL_HOST_DEVICE_INLINE int ncclTeamRankInDifference(ncclTeam_t parent, ncclTeam_t subset, int index);\n\n// Equivalent to ncclTeamOuterFactor of lsa team.\n#if __cplusplus\nNCCL_HOST_DEVICE_INLINE ncclTeam ncclTeamRail(ncclDevComm const&);\n#endif\nNCCL_EXTERN_C __host__ ncclTeam_t ncclTeamRail(ncclComm_t);\n\n// Get offset of resource buffer within `comm.resourceWindow`.\nNCCL_EXTERN_C NCCL_HOST_DEVICE_INLINE size_t ncclGetResourceBufferOffset(ncclDevResourceHandle_t);\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE ncclSymPtr<char> ncclGetResourceBuffer(ncclDevComm const&, ncclDevResourceHandle);\n#endif\n\n////////////////////////////////////////////////////////////////////////////////\n// Window API:\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE void* ncclGetLocalPointer(ncclWindow_t w, size_t offset);\nNCCL_DEVICE_INLINE void* ncclGetLsaPointer(ncclWindow_t w, size_t offset, int peer);\nNCCL_DEVICE_INLINE void* ncclGetPeerPointer(ncclWindow_t w, size_t offset, int peer);\nNCCL_DEVICE_INLINE void* ncclGetPeerPointer(ncclWindow_t w, size_t offset, ncclTeam tm, int peer);\nNCCL_DEVICE_INLINE void* ncclGetMultimemPointer(ncclWindow_t w, size_t offset, ncclMultimemHandle mmHandle);\nNCCL_DEVICE_INLINE void* ncclGetLsaMultimemPointer(ncclWindow_t w, size_t offset, ncclDevComm const&);\n#endif\n\n#if __CUDACC__\n// Convenience for combining ncclGet***Pointer() with resource handle.\nNCCL_DEVICE_INLINE void* ncclGetResourceBufferLocalPointer(ncclDevComm const&, ncclDevResourceHandle);\nNCCL_DEVICE_INLINE void* ncclGetResourceBufferLsaPointer(ncclDevComm const&, ncclDevResourceHandle, int peer);\nNCCL_DEVICE_INLINE void* ncclGetResourceBufferPeerPointer(ncclDevComm const&, ncclDevResourceHandle, ncclTeam, int peer);\nNCCL_DEVICE_INLINE void* ncclGetResourceBufferMultimemPointer(ncclDevComm const&, ncclDevResourceHandle, ncclMultimemHandle);\nNCCL_DEVICE_INLINE void* ncclGetResourceBufferLsaMultimemPointer(ncclDevComm const&, ncclDevResourceHandle);\n#endif\n\n#endif // _NCCL_DEVICE_CORE_H_\n"
  },
  {
    "path": "src/include/nccl_device/impl/comm__funcs.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_COMM__FUNCS_H_\n#define _NCCL_DEVICE_COMM__FUNCS_H_\n#include \"comm__types.h\"\n#endif // _NCCL_DEVICE_COMM__FUNCS_H_\n"
  },
  {
    "path": "src/include/nccl_device/impl/comm__types.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_COMM__TYPES_H_\n#define _NCCL_DEVICE_COMM__TYPES_H_\n#include \"../comm_tmp.h\"\n#include \"core__types.h\"\n#include \"mem_barrier__types.h\"\n#include \"ll_a2a__types.h\"\n\nstruct ncclDevCommWindowTable;\n#if __cplusplus\nstruct ncclDevCommWindowTable {\n  struct Entry {\n    uintptr_t base, size;\n    ncclWindow_t window;\n  } entries[32];\n  struct ncclDevCommWindowTable* next;\n};\n#endif\n\nstruct ncclDevComm {\n  int rank, nRanks;\n  uint32_t nRanks_rcp32;\n  int lsaRank, lsaSize;\n  uint32_t lsaSize_rcp32;\n\n  struct ncclDevCommWindowTable* windowTable;\n\n  ncclWindow_t resourceWindow;\n  struct ncclWindow_vidmem resourceWindow_inlined;\n\n  ncclMultimemHandle_t lsaMultimem;\n  ncclLsaBarrierHandle_t lsaBarrier;\n};\n\n#endif // _NCCL_DEVICE_COMM__TYPES_H_\n"
  },
  {
    "path": "src/include/nccl_device/impl/core__funcs.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_CORE__FUNCS_H_\n#define _NCCL_DEVICE_CORE__FUNCS_H_\n#include \"core__types.h\"\n#include \"comm__types.h\"\n#include \"ptr__types.h\"\n\n#define __CUDACC__ 0\n\n#if __cplusplus\nNCCL_HOST_DEVICE_INLINE ncclTeam ncclTeamWorld(ncclDevComm const &comm) {\n  ncclTeam ans;\n  ans.nRanks = comm.nRanks;\n  ans.rank = comm.rank;\n  ans.stride = 1;\n  return ans;\n}\n#endif\n\n#if __cplusplus\nNCCL_HOST_DEVICE_INLINE ncclTeam ncclTeamLsa(ncclDevComm const &comm) {\n  ncclTeam ans;\n  ans.nRanks = comm.lsaSize;\n  ans.rank = comm.lsaRank;\n  ans.stride = 1;\n  return ans;\n}\n#endif\n\n#if __cplusplus\nNCCL_HOST_DEVICE_INLINE ncclTeam ncclTeamRail(ncclDevComm const& comm) {\n  ncclTeam ans;\n  ans.nRanks = nccl::utility::idivFast32(comm.nRanks, comm.lsaSize, comm.lsaSize_rcp32);\n  ans.rank = nccl::utility::idivFast32(comm.rank, comm.lsaSize, comm.lsaSize_rcp32);\n  ans.stride = comm.lsaSize;\n  return ans;\n}\n#endif\n\nNCCL_HOST_DEVICE_INLINE bool ncclTeamRankIsMember(ncclTeam_t a, ncclTeam_t b, int brank) {\n  int wrank = (brank - b.rank)*b.stride;\n  uint32_t adelta = wrank/a.stride;\n  uint32_t amod = wrank%a.stride;\n  int arank = a.rank + adelta;\n  return 0 <= arank && arank < a.nRanks && amod == 0;\n}\n\nNCCL_HOST_DEVICE_INLINE int ncclTeamRankToTeam(ncclTeam_t a, ncclTeam_t b, int brank) {\n  int wrank = (brank - b.rank)*b.stride;\n  uint32_t adelta = wrank/a.stride;\n  //uint32_t amod = wrank%a.stride;\n  int arank = a.rank + adelta;\n  return arank;\n}\n\n#if __cplusplus\nNCCL_HOST_DEVICE_INLINE int ncclTeamRankToWorld(ncclDevComm const& comm, ncclTeam tm, int rank) {\n  return comm.rank + (rank - tm.rank)*tm.stride;\n}\n#endif\n\n#if __cplusplus\nNCCL_HOST_DEVICE_INLINE int ncclTeamRankToLsa(ncclDevComm const& comm, ncclTeam tm, int rank) {\n  return comm.lsaRank + (rank - tm.rank)*tm.stride;\n}\n#endif\n\nNCCL_HOST_DEVICE_INLINE ncclTeam_t ncclTeamInnerFactor(ncclTeam_t parent, int innerSize) {\n  ncclTeam_t ans;\n  ans.nRanks = innerSize;\n  ans.rank = parent.rank%innerSize;\n  ans.stride = parent.stride;\n  return ans;\n}\n\nNCCL_HOST_DEVICE_INLINE ncclTeam_t ncclTeamOuterFactor(ncclTeam_t parent, int innerSize) {\n  ncclTeam_t ans;\n  ans.nRanks = parent.nRanks/innerSize;\n  ans.rank = parent.rank/innerSize;\n  ans.stride = parent.stride*innerSize;\n  return ans;\n}\n\nNCCL_HOST_DEVICE_INLINE int ncclTeamRankInDifference(ncclTeam_t parent, ncclTeam_t subset, int index) {\n  int stride = subset.stride/parent.stride;\n  int below = parent.rank - subset.rank*stride;\n  if (stride < 0) {\n    stride = -stride;\n    below -= (subset.nRanks-1)*stride;\n  }\n  if (index < below) {\n    return index;\n  } else if (index-below < (subset.nRanks-1)*(stride-1)) {\n    return below + 1 + ((index-below)/(stride-1))*stride + (index-below)%(stride-1);\n  } else {\n    return below + 1 + (subset.nRanks-1)*stride + (index - below - (subset.nRanks-1)*(stride-1));\n  }\n}\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE void* ncclGetLocalPointer(ncclWindow_t w, size_t offset) {\n  char* base = nccl::utility::loadConst(&w->lsaFlatBase);\n  uint32_t stride4G = nccl::utility::loadConst(&w->stride4G);\n  int i = nccl::utility::loadConst(&w->lsaRank);\n  return (void*)(nccl::utility::add4G(base, i*stride4G) + offset);\n}\n#endif\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE void* ncclGetLsaPointer(ncclWindow_t w, size_t offset, int peer) {\n  char* base = nccl::utility::loadConst(&w->lsaFlatBase);\n  uint32_t stride4G = nccl::utility::loadConst(&w->stride4G);\n  int i = peer;\n  return (void*)(nccl::utility::add4G(base, i*stride4G) + offset);\n}\n#endif\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE void* ncclGetPeerPointer(ncclWindow_t w, size_t offset, int peer) {\n  char* base = nccl::utility::loadConst(&w->lsaFlatBase);\n  uint32_t stride4G = nccl::utility::loadConst(&w->stride4G);\n  int worldRank = nccl::utility::loadConst(&w->worldRank);\n  int lsaRank = nccl::utility::loadConst(&w->lsaRank);\n  int i = lsaRank + (peer - worldRank);\n  return (void*)(nccl::utility::add4G(base, i*stride4G) + offset);\n}\n#endif\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE void* ncclGetPeerPointer(ncclWindow_t w, size_t offset, ncclTeam tm, int peer) {\n  char* base = nccl::utility::loadConst(&w->lsaFlatBase);\n  uint32_t stride4G = nccl::utility::loadConst(&w->stride4G);\n  int lsaRank = nccl::utility::loadConst(&w->lsaRank);\n  int i = lsaRank + (peer - tm.rank)*tm.stride;\n  return (void*)(nccl::utility::add4G(base, i*stride4G) + offset);\n}\n#endif\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE void* ncclGetMultimemPointer(ncclWindow_t w, size_t offset, ncclMultimemHandle mm) {\n  void* ptr = mm.mcBasePtr;\n  ptr = reinterpret_cast<char(*)[4096]>(ptr) + nccl::utility::loadConst(&w->mcOffset4K);\n  return (void*)((char*)ptr + offset);\n}\n#endif\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE void* ncclGetLsaMultimemPointer(ncclWindow_t w, size_t offset, ncclDevComm const& comm) {\n  return ncclGetMultimemPointer(w, offset, comm.lsaMultimem);\n}\n#endif\n\nNCCL_HOST_DEVICE_INLINE size_t ncclGetResourceBufferOffset(ncclDevResourceHandle_t h) {\n  return ((size_t)h)*128;\n}\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE void* ncclGetResourceBufferLocalPointer(ncclDevComm const& comm, ncclDevResourceHandle h) {\n  void* lsaFlatBase = comm.resourceWindow_inlined.lsaFlatBase;\n  uint32_t stride4G = comm.resourceWindow_inlined.stride4G;\n  void* local = nccl::utility::add4G(lsaFlatBase, comm.lsaRank*stride4G);\n  return (void*)(reinterpret_cast<char(*)[128]>(local) + h);\n}\n#endif\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE void* ncclGetResourceBufferLsaPointer(ncclDevComm const& comm, ncclDevResourceHandle h, int peer) {\n  int r = peer;\n  void* lsaFlatBase = comm.resourceWindow_inlined.lsaFlatBase;\n  uint32_t stride4G = comm.resourceWindow_inlined.stride4G;\n  void* local = nccl::utility::add4G(lsaFlatBase, r*stride4G);\n  return (void*)(reinterpret_cast<char(*)[128]>(local) + h);\n}\n#endif\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE void* ncclGetResourceBufferPeerPointer(ncclDevComm const& comm, ncclDevResourceHandle h, ncclTeam team, int peer) {\n  int r = comm.lsaRank + (peer - team.rank)*team.stride;\n  void* lsaFlatBase = comm.resourceWindow_inlined.lsaFlatBase;\n  uint32_t stride4G = comm.resourceWindow_inlined.stride4G;\n  void* local = nccl::utility::add4G(lsaFlatBase, r*stride4G);\n  return (void*)(reinterpret_cast<char(*)[128]>(local) + h);\n}\n#endif\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE void* ncclGetResourceBufferMultimemPointer(ncclDevComm const& comm, ncclDevResourceHandle h, ncclMultimemHandle mm) {\n  void* ptr = mm.mcBasePtr;\n  ptr = reinterpret_cast<char(*)[4096]>(ptr) + comm.resourceWindow_inlined.mcOffset4K;\n  ptr = reinterpret_cast<char(*)[128]>(ptr) + h;\n  return ptr;\n}\n#endif\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE void* ncclGetResourceBufferLsaMultimemPointer(ncclDevComm const& comm, ncclDevResourceHandle h) {\n  return ncclGetResourceBufferMultimemPointer(comm, h, comm.lsaMultimem);\n}\n#endif\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE ncclSymPtr<char> ncclGetResourceBuffer(ncclDevComm const& comm, ncclDevResourceHandle h) {\n  return ncclSymPtr<char>(comm.resourceWindow, size_t(h)*128);\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "src/include/nccl_device/impl/core__types.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_CORE__TYPES_H_\n#define _NCCL_DEVICE_CORE__TYPES_H_\n#include \"../core_tmp.h\"\n\n// nccl.h has: typedef ncclWindow_vidmem* ncclWindow_t;\nstruct ncclWindow_vidmem {\n  void* winHost;\n  //ncclGinWindow_t ginWin;\n  char* lsaFlatBase; // pointer to first byte for rank 0 of lsa team\n  int lsaRank;\n  int worldRank;\n  uint32_t stride4G;\n  uint32_t mcOffset4K;\n};\n\nstruct ncclMultimemHandle {\n  void* mcBasePtr;\n};\n\n#endif\n"
  },
  {
    "path": "src/include/nccl_device/impl/ll_a2a__funcs.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_LL_A2A__FUNCS_H_\n#define _NCCL_DEVICE_LL_A2A__FUNCS_H_\n#include \"ll_a2a__types.h\"\n#include \"comm__types.h\"\n#include \"../utility.h\"\n\n#define __CUDACC__ 0\n\n#if __CUDACC__\ntemplate<typename Coop>\nNCCL_DEVICE_INLINE ncclLLA2ASession<Coop>::ncclLLA2ASession(\n    Coop coop, ncclDevComm const& comm, ncclTeam team,\n    ncclLLA2AHandle handle, uint32_t block, int maxElts,\n    bool multimem, ncclMultimemHandle mmHandle\n  ):\n  ncclLLA2ASession_internal<Coop>{\n    coop, comm, team, handle, (int)block, /*pitch=*/maxElts,\n    multimem, mmHandle, /*epoch=*/0, /*slotsOffset=*/0\n  } {\n  uint4* line = (uint4*)ncclGetResourceBufferLocalPointer(comm, handle.bufHandle);\n  line += block*(1 + 2*handle.nSlots);\n  this->epoch = line->x + 2;\n  this->slotsOffset = this->calcSlotOffset();\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename Coop>\nNCCL_DEVICE_INLINE ncclLLA2ASession<Coop>::~ncclLLA2ASession() {\n  uint4* line = (uint4*)ncclGetResourceBufferLocalPointer(this->comm, this->handle.bufHandle);\n  line += this->block*(1 + 2*this->handle.nSlots);\n  if (this->coop.thread_rank() == 0) line->x = this->epoch - 2;\n  this->coop.sync();\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename Coop>\ntemplate<typename T>\nNCCL_DEVICE_INLINE void ncclLLA2ASession<Coop>::send(int peer, int elt, T data) {\n  using nccl::utility::divUp;\n  union { T tmp; uint32_t u32[divUp(sizeof(T), 8)][2]; };\n  tmp = data;\n  uint4* buf = (uint4*)ncclGetResourceBufferPeerPointer(this->comm, this->handle.bufHandle, this->team, peer);\n  buf += this->slotsOffset + elt;\n  #pragma unroll\n  for (int u=0; u < divUp(sizeof(T), 8); u++) {\n    asm volatile(\"st.volatile.v4.u32 [%0],{%1,%3,%2,%3};\" ::\n      \"l\"(buf + u*this->pitch),\n      \"r\"(u32[u][0]), \"r\"(u32[u][1]), \"r\"(this->epoch)\n    );\n  }\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename Coop>\ntemplate<typename T>\nNCCL_DEVICE_INLINE void ncclLLA2ASession<Coop>::bcast(int elt, T data) {\n  using nccl::utility::divUp;\n  if (this->multimem) {\n    union { T tmp; uint32_t u32[divUp(sizeof(T),8)][2]; };\n    tmp = data;\n    uint4* bufmc = (uint4*)ncclGetResourceBufferMultimemPointer(this->comm, this->handle.bufHandle, this->mmHandle);\n    bufmc += this->slotsOffset + elt;\n    #pragma unroll\n    for (int u=0; u < divUp(sizeof(T), 8); u++) {\n      asm volatile(\"st.volatile.v4.u32 [%0],{%1,%3,%2,%3};\" ::\n        \"l\"(bufmc + this->pitch*u),\n        \"r\"(u32[u][0]), \"r\"(u32[u][1]), \"r\"(this->epoch)\n      );\n    }\n  } else {\n    union { T tmp; uint32_t u32[divUp(sizeof(T), 8)][2]; };\n    tmp = data;\n    int dr = 0;\n    int r = this->team.rank;\n    #pragma unroll 1\n    for (; dr+8 <= this->team.nRanks; dr += 8) {\n      #pragma unroll\n      for (int ur=0; ur < 8; ur++) {\n        uint4* buf = (uint4*)ncclGetResourceBufferPeerPointer(this->comm, this->handle.bufHandle, this->team, r);\n        buf += this->slotsOffset + elt;\n        #pragma unroll\n        for (int u=0; u < divUp(sizeof(T),8); u++) {\n          asm volatile(\"st.volatile.v4.u32 [%0],{%1,%3,%2,%3};\" ::\n            \"l\"(buf + u*this->pitch),\n            \"r\"(u32[u][0]), \"r\"(u32[u][1]), \"r\"(this->epoch)\n          );\n        }\n        r += 1;\n        if (r == this->team.nRanks) r = 0;\n      }\n    }\n    #pragma unroll\n    for (int ur=0; ur < 8; ur++, dr++) {\n      if (dr == this->team.nRanks) break;\n      uint4* buf = (uint4*)ncclGetResourceBufferPeerPointer(this->comm, this->handle.bufHandle, this->team, r);\n      buf += this->slotsOffset + elt;\n      #pragma unroll\n      for (int u=0; u < divUp(sizeof(T),8); u++) {\n        asm volatile(\"st.volatile.v4.u32 [%0],{%1,%3,%2,%3};\" ::\n          \"l\"(buf + u*this->pitch),\n          \"r\"(u32[u][0]), \"r\"(u32[u][1]), \"r\"(this->epoch)\n        );\n      }\n      r += 1;\n      if (r == this->team.nRanks) r = 0;\n    }\n  }\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename Coop>\ntemplate<typename T>\nNCCL_DEVICE_INLINE T ncclLLA2ASession<Coop>::recv(int elt) {\n  T ret[1];\n  this->template recvUnrolled</*MinEltCount=*/1, /*MaxEltCount=*/1>(elt, 1, 0, ret);\n  return ret[0];\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename Coop>\ntemplate<int MinEltCount, int MaxEltCount, typename T>\nNCCL_DEVICE_INLINE void ncclLLA2ASession<Coop>::recvUnrolled(int eltStart, int eltCount, int eltStride, T(&elts)[MaxEltCount]) {\n  using nccl::utility::divUp;\n  uint4* buf = (uint4*)ncclGetResourceBufferLocalPointer(this->comm, this->handle.bufHandle);\n  buf += this->slotsOffset + eltStart;\n\n  uint4 tmp[MaxEltCount][divUp(sizeof(T), 8)];\n  #pragma unroll 1\n  while (true) {\n    #pragma unroll\n    for (int u=0; u < MaxEltCount; u++) {\n      if (u < MinEltCount || u < eltCount) {\n        #pragma unroll\n        for (int v=0; v < divUp(sizeof(T), 8); v++) {\n          asm volatile(\"ld.volatile.v4.u32 {%0,%1,%2,%3},[%4];\"\n            : \"=r\"(tmp[u][v].x), \"=r\"(tmp[u][v].y), \"=r\"(tmp[u][v].z), \"=r\"(tmp[u][v].w)\n            : \"l\"(buf + u*eltStride + v*this->pitch));\n        }\n      }\n    }\n    bool okAll = true;\n    #pragma unroll\n    for (int u=0; u < MaxEltCount; u++) {\n      #pragma unroll\n      for (int v=0; v < divUp(sizeof(T), 8); v++) {\n        if (u < MinEltCount || u < eltCount) {\n          bool ok = tmp[u][v].y == this->epoch &&\n                    tmp[u][v].w == this->epoch;\n          okAll &= ok;\n        }\n      }\n    }\n    if (__builtin_expect(okAll, true)) break;\n  }\n\n  #pragma unroll\n  for (int u=0; u < MaxEltCount; u++) {\n    if (MinEltCount <= u && u == eltCount) break;\n    union { T val; uint32_t u32[divUp(sizeof(T), 8)][2]; };\n    #pragma unroll\n    for (int v=0; v < divUp(sizeof(T), 8); v++) {\n      u32[v][0] = tmp[u][v].x;\n      u32[v][1] = tmp[u][v].z;\n    }\n    elts[u] = val;\n  }\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename Coop>\ntemplate<int Unroll, typename Elt, typename EltToAcc, typename Reduce>\nNCCL_DEVICE_INLINE auto ncclLLA2ASession<Coop>::recvReduce(\n    int eltStart, int eltCount, int eltStride, EltToAcc eltToAcc, Reduce reduce\n  ) -> decltype(eltToAcc(nccl::utility::declval<Elt>())) {\n  using Acc = decltype(eltToAcc(nccl::utility::declval<Elt>()));\n  Acc acc;\n  int i = 0;\n  #pragma unroll 1\n  for (; i+Unroll <= eltCount; i += Unroll) {\n    Elt got[Unroll];\n    this->template recvUnrolled</*Min=*/Unroll>(eltStart + i*eltStride, Unroll, eltStride, got);\n    Acc acc0 = eltToAcc(got[0]);\n    acc = i==0 ? acc0 : reduce(acc, acc0);\n    #pragma unroll\n    for (int j=1; j < Unroll; j++) acc = reduce(acc, eltToAcc(got[j]));\n  }\n  if (i < eltCount) {\n    Elt got[Unroll];\n    this->template recvUnrolled</*Min=*/1>(eltStart + i*eltStride, eltCount-i, eltStride, got);\n    Acc acc0 = eltToAcc(got[0]);\n    acc = i==0 ? acc0 : reduce(acc, acc0);\n    #pragma unroll\n    for (int j=1; j < Unroll-1; j++) {\n      if (i+j < eltCount) acc = reduce(acc, eltToAcc(got[j]));\n    }\n  }\n  return acc;\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename Coop>\nNCCL_DEVICE_INLINE void ncclLLA2ASession<Coop>::endEpoch(Coop) {\n  if (__builtin_expect(this->epoch >= -2u, false)) {\n    this->coop.sync();\n    uint4* buf = (uint4*)ncclGetResourceBufferLocalPointer(this->comm, this->handle.bufHandle);\n    buf += this->slotsOffset;\n    #pragma unroll 4\n    for (int i=this->coop.thread_rank(); i < this->handle.nSlots; i += this->coop.size()) {\n      buf[i] = uint4{0, 0, 0, 0};\n    }\n  }\n  this->coop.sync();\n  this->epoch += (this->epoch == -1u) ? 3 : 1;\n  this->slotsOffset = this->calcSlotOffset();\n}\n#endif\n\n#endif // _NCCL_DEVICE_LL_A2A__FUNCS_H_\n"
  },
  {
    "path": "src/include/nccl_device/impl/ll_a2a__types.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_LL_A2A__TYPES_H_\n#define _NCCL_DEVICE_LL_A2A__TYPES_H_\n#include \"../ll_a2a.h\"\n#include \"core__types.h\"\n\n#define __CUDACC__ 0\n\nstruct ncclLLA2AHandle {\n  ncclDevResourceHandle_t bufHandle;\n  uint32_t nSlots;\n};\n\n#if __CUDACC__\ntemplate<typename Coop>\nstruct ncclLLA2ASession_internal {\n  Coop coop;\n  ncclDevComm const& comm;\n  ncclTeam team;\n  ncclLLA2AHandle handle;\n  int block;\n  int pitch;\n  bool multimem;\n  ncclMultimemHandle mmHandle;\n  uint32_t epoch;\n  uint32_t slotsOffset;\n\n  NCCL_DEVICE_INLINE uint32_t calcSlotOffset() const {\n    return block*(1 + 2*handle.nSlots) + 1 + (epoch & 1)*handle.nSlots;\n  }\n};\n#endif\n\n#endif // _NCCL_DEVICE_LL_A2A__TYPES_H_\n"
  },
  {
    "path": "src/include/nccl_device/impl/mem_barrier__funcs.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_MEM_BARRIER__FUNCS_H_\n#define _NCCL_DEVICE_MEM_BARRIER__FUNCS_H_\n#include \"mem_barrier__types.h\"\n#include \"comm__types.h\"\n\n#define __CUDACC__ 0\n\n#if __CUDACC__\ntemplate<typename Coop>\nNCCL_DEVICE_INLINE ncclLsaBarrierSession<Coop>::ncclLsaBarrierSession(\n    Coop coop, ncclDevComm const& comm, ncclTeam team,\n    ncclLsaBarrierHandle handle, uint32_t index,\n    bool multimem, ncclMultimemHandle mmHandle\n  ):\n  ncclLsaBarrierSession_internal<Coop>{\n    coop, comm, team, handle, (int)index,\n#if CUDART_VERSION >= 12060\n    multimem,\n#else // WAR for an issue with ptxas in CTK < 12.6\n    /*multimem=*/false,\n#endif\n    mmHandle, /*epoch=*/0\n  } {\n  uint32_t* state = (uint32_t*)ncclGetResourceBufferLocalPointer(comm, handle.bufHandle);\n  this->epoch = state[(this->multimem ? 0 : 1)*this->handle.nBarriers + this->index];\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename Coop>\nNCCL_DEVICE_INLINE ncclLsaBarrierSession<Coop>::ncclLsaBarrierSession(\n    Coop coop, ncclDevComm const& comm, ncclTeamTagLsa, uint32_t index, bool multimem\n  ): ncclLsaBarrierSession(\n    coop, comm, ncclTeamLsa(comm), comm.lsaBarrier, index, multimem, comm.lsaMultimem\n  ) {\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename Coop>\nNCCL_DEVICE_INLINE ncclLsaBarrierSession<Coop>::~ncclLsaBarrierSession() {\n  uint32_t* state = (uint32_t*)ncclGetResourceBufferLocalPointer(this->comm, this->handle.bufHandle);\n  if (this->coop.thread_rank() == 0) {\n#if __CUDA_ARCH__ == 1200 && CUDART_VERSION < 13000\n    // WAR for a compiler issue with CTK < 13.0\n    if (this->index == 0)\n      state[(this->multimem ? 0 : 1)*this->handle.nBarriers] = this->epoch;\n    else\n#endif\n    state[(this->multimem ? 0 : 1)*this->handle.nBarriers + this->index] = this->epoch;\n  }\n  this->coop.sync();\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename Coop>\nNCCL_DEVICE_INLINE void ncclLsaBarrierSession<Coop>::arrive(Coop, cuda::memory_order order) {\n  this->coop.sync();\n  if (this->multimem) {\n  #if __CUDA_ARCH__ >= 900\n    if (this->coop.thread_rank() == 0) {\n      uint32_t* inbox = this->mcInbox(/*multimem=*/true);\n      if (nccl::utility::releaseOrderOf(order) != cuda::memory_order_relaxed) {\n        asm volatile(\"multimem.red.release.sys.add.u32 [%0],1;\" :: \"l\"(inbox));\n      } else {\n        asm volatile(\"multimem.red.relaxed.sys.add.u32 [%0],1;\" :: \"l\"(inbox));\n      }\n    }\n  #endif\n  } else {\n    #pragma unroll 1\n    for (int i = this->coop.thread_rank(); i < this->team.nRanks-1; i += this->coop.size()) {\n      int peer = i + (this->team.rank <= i ? 1 : 0);\n      cuda::atomic_ref<uint32_t> inbox(*this->ucInbox(peer, this->team.rank));\n      inbox.store(this->epoch+1, nccl::utility::releaseOrderOf(order));\n    }\n  }\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename Coop>\nNCCL_DEVICE_INLINE void ncclLsaBarrierSession<Coop>::wait(Coop, cuda::memory_order order) {\n  if (this->multimem) {\n  #if __CUDA_ARCH__ >= 900\n    if (this->coop.thread_rank() == 0) {\n      cuda::atomic_ref<uint32_t> inbox(*this->mcInbox(/*multimem=*/false));\n      #pragma unroll 1\n      while (true) {\n        uint32_t got = inbox.load(nccl::utility::acquireOrderOf(order));\n        if (got - (this->epoch + this->team.nRanks) <= uint32_t(-1)>>1) break;\n      }\n      this->epoch += this->team.nRanks;\n    }\n  #endif\n  } else {\n    #pragma unroll 1\n    for (int i = this->coop.thread_rank(); i < this->team.nRanks-1; i += this->coop.size()) {\n      int peer = i + (this->team.rank <= i ? 1 : 0);\n      cuda::atomic_ref<uint32_t> inbox(*this->ucInbox(this->team.rank, peer));\n      #pragma unroll 1\n      while (true) {\n        uint32_t got = inbox.load(nccl::utility::acquireOrderOf(order));\n        if (got - (this->epoch + 1) <= uint32_t(-1)>>1) break;\n      }\n    }\n    this->epoch += 1;\n  }\n  this->coop.sync();\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename Coop>\nNCCL_DEVICE_INLINE void ncclLsaBarrierSession<Coop>::sync(Coop coop, cuda::memory_order order) {\n  this->arrive(coop, order);\n  this->wait(coop, order);\n}\n#endif\n\n#endif // _NCCL_DEVICE_MEM_BARRIER__FUNCS_H_\n"
  },
  {
    "path": "src/include/nccl_device/impl/mem_barrier__types.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_MEM_BARRIER__TYPES_H_\n#define _NCCL_DEVICE_MEM_BARRIER__TYPES_H_\n#include \"../mem_barrier.h\"\n#include \"core__types.h\"\n\n#define __CUDACC__ 0\n\nstruct ncclLsaBarrierHandle {\n  ncclDevResourceHandle_t bufHandle;\n  int nBarriers;\n};\n\n#if __CUDACC__\ntemplate<typename Coop>\nstruct ncclLsaBarrierSession_internal {\n  Coop coop;\n  ncclDevComm const& comm;\n  ncclTeam team;\n  ncclLsaBarrierHandle handle;\n  int index;\n  bool multimem;\n  ncclMultimemHandle mmHandle;\n  uint32_t epoch;\n\n  NCCL_DEVICE_INLINE uint32_t* mcInbox(bool multimem) {\n    uint32_t* state;\n    if (multimem) { // multicast\n      state = (uint32_t*)ncclGetResourceBufferMultimemPointer(comm, handle.bufHandle, mmHandle);\n    } else { // unicast\n      state = (uint32_t*)ncclGetResourceBufferLocalPointer(comm, handle.bufHandle);\n    }\n    return state + 2*handle.nBarriers + index;\n  }\n\n  NCCL_DEVICE_INLINE uint32_t* ucInbox(int owner, int peer) {\n    uint32_t* state = (uint32_t*)ncclGetResourceBufferPeerPointer(comm, handle.bufHandle, team, owner);\n    return state + 3*handle.nBarriers + index*team.nRanks + peer;\n  }\n};\n#endif\n\n#endif // _NCCL_DEVICE_MEM_BARRIER__TYPES_H_\n"
  },
  {
    "path": "src/include/nccl_device/impl/ptr__funcs.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_PTR__FUNCS_H_\n#define _NCCL_DEVICE_PTR__FUNCS_H_\n#include \"ptr__types.h\"\n#include \"core__funcs.h\"\n#include \"comm__types.h\"\n\n#define __CUDACC__ 0\n\n#if __cplusplus\n\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE constexpr ncclSymPtr<T>::ncclSymPtr(ncclWindow_t window, size_t offset):\n  window(window), offset(offset) {\n}\n\ntemplate<typename T>\ntemplate<typename U>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T>::operator ncclSymPtr<U>() const {\n  return {window, offset};\n}\n\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& ncclSymPtr<T>::operator+=(int d) {\n  offset = reinterpret_cast<size_t>(reinterpret_cast<T*>(offset) + d);\n  return *this;\n}\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& ncclSymPtr<T>::operator+=(unsigned int d) {\n  offset = reinterpret_cast<size_t>(reinterpret_cast<T*>(offset) + d);\n  return *this;\n}\n\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& ncclSymPtr<T>::operator+=(long d) {\n  offset = reinterpret_cast<size_t>(reinterpret_cast<T*>(offset) + d);\n  return *this;\n}\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& ncclSymPtr<T>::operator+=(unsigned long d) {\n  offset = reinterpret_cast<size_t>(reinterpret_cast<T*>(offset) + d);\n  return *this;\n}\n\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& ncclSymPtr<T>::operator+=(long long d) {\n  offset = reinterpret_cast<size_t>(reinterpret_cast<T*>(offset) + d);\n  return *this;\n}\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& ncclSymPtr<T>::operator+=(unsigned long long d) {\n  offset = reinterpret_cast<size_t>(reinterpret_cast<T*>(offset) + d);\n  return *this;\n}\n\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& ncclSymPtr<T>::operator-=(int d) {\n  offset = reinterpret_cast<size_t>(reinterpret_cast<T*>(offset) - d);\n  return *this;\n}\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& ncclSymPtr<T>::operator-=(unsigned int d) {\n  offset = reinterpret_cast<size_t>(reinterpret_cast<T*>(offset) - d);\n  return *this;\n}\n\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& ncclSymPtr<T>::operator-=(long d) {\n  offset = reinterpret_cast<size_t>(reinterpret_cast<T*>(offset) - d);\n  return *this;\n}\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& ncclSymPtr<T>::operator-=(unsigned long d) {\n  offset = reinterpret_cast<size_t>(reinterpret_cast<T*>(offset) - d);\n  return *this;\n}\n\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& ncclSymPtr<T>::operator-=(long long d) {\n  offset = reinterpret_cast<size_t>(reinterpret_cast<T*>(offset) - d);\n  return *this;\n}\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& ncclSymPtr<T>::operator-=(unsigned long long d) {\n  offset = reinterpret_cast<size_t>(reinterpret_cast<T*>(offset) - d);\n  return *this;\n}\n\n#if __CUDACC__\ntemplate<typename T>\nNCCL_DEVICE_INLINE T* ncclSymPtr<T>::localPtr() const {\n  return (T*)ncclGetLocalPointer(window, offset);\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename T>\nNCCL_DEVICE_INLINE T* ncclSymPtr<T>::lsaPtr(int peer) const {\n  return (T*)ncclGetLsaPointer(window, offset, peer);\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename T>\nNCCL_DEVICE_INLINE T* ncclSymPtr<T>::peerPtr(int peer) const {\n  return (T*)ncclGetPeerPointer(window, offset, peer);\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename T>\nNCCL_DEVICE_INLINE T* ncclSymPtr<T>::peerPtr(ncclTeam team, int peer) const {\n  return (T*)ncclGetPeerPointer(window, offset, team, peer);\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename T>\nNCCL_DEVICE_INLINE T* ncclSymPtr<T>::multimemPtr(ncclMultimemHandle mmHandle) const {\n  return (T*)ncclGetMultimemPointer(window, offset, mmHandle);\n}\n#endif\n\n#if __CUDACC__\ntemplate<typename T>\nNCCL_DEVICE_INLINE T* ncclSymPtr<T>::lsaMultimemPtr(ncclDevComm const& comm) const {\n  return (T*)ncclGetLsaMultimemPointer(window, offset, comm);\n}\n#endif\n\ntemplate<typename T, typename Int>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T> operator+(ncclSymPtr<T> p, Int d) {\n  return p += d;\n}\ntemplate<typename T, typename Int>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T> operator-(ncclSymPtr<T> p, Int d) {\n  return p -= d;\n}\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE ptrdiff_t operator-(ncclSymPtr<T> a, ncclSymPtr<T> b) {\n  return reinterpret_cast<T*>(a.offset) - reinterpret_cast<T*>(b.offset);\n}\n\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE bool operator==(ncclSymPtr<T> a, ncclSymPtr<T> b) {\n  return a.window == b.window && a.offset == b.offset;\n}\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE bool operator!=(ncclSymPtr<T> a, ncclSymPtr<T> b) {\n  return a.window != b.window || a.offset != b.offset;\n}\n\n#endif // __cplusplus\n#endif // _NCCL_DEVICE_PTR__FUNCS_H_\n"
  },
  {
    "path": "src/include/nccl_device/impl/ptr__types.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_PTR__TYPES_H_\n#define _NCCL_DEVICE_PTR__TYPES_H_\n#include \"../ptr.h\"\n#include \"core__types.h\"\n#endif // _NCCL_DEVICE_PTR__TYPES_H_\n"
  },
  {
    "path": "src/include/nccl_device/ll_a2a.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_LL_A2A_H_\n#define _NCCL_DEVICE_LL_A2A_H_\n#include \"impl/core__types.h\"\n\n#define __CUDACC__ 0\n\nstruct ncclLLA2AHandle;\n\nNCCL_EXTERN_C __host__ int ncclLLA2ACalcSlots(int maxElts, int maxEltSize);\n\nNCCL_EXTERN_C __host__ ncclResult_t ncclLLA2ACreateRequirement(int nBlocks, int nSlots, ncclLLA2AHandle_t* outHandle, ncclDevResourceRequirements_t* outReq);\n\n#if __CUDACC__\ntemplate<typename Coop>\nstruct ncclLLA2ASession_internal;\n\ntemplate<typename Coop>\nstruct ncclLLA2ASession: ncclLLA2ASession_internal<Coop> {\n  NCCL_DEVICE_INLINE ncclLLA2ASession(Coop, ncclDevComm const&, ncclTeam, ncclLLA2AHandle, uint32_t block, int maxElts, bool multimem=false, ncclMultimemHandle mmHandle={});\n\n  NCCL_DEVICE_INLINE ~ncclLLA2ASession();\n\n  ncclLLA2ASession(ncclLLA2ASession const&) = delete; // Sessions are not copyable\n  \n  template<typename T>\n  NCCL_DEVICE_INLINE void send(int peer, int slot, T data);\n\n  template<typename T>\n  NCCL_DEVICE_INLINE void bcast(int slot, T data);\n\n  template<typename T>\n  NCCL_DEVICE_INLINE T recv(int slot);\n\n  template<int MinEltCount, int MaxEltCount, typename T>\n  NCCL_DEVICE_INLINE void recvUnrolled(int eltStart, int eltCount, int eltStride, T(&vals)[MaxEltCount]);\n\n  template<int Unroll, typename Elt, typename EltToAcc, typename Reduce>\n  NCCL_DEVICE_INLINE auto recvReduce(int eltStart, int eltCount, int eltStride, EltToAcc eltToAcc, Reduce red)\n    -> decltype(eltToAcc(nccl::utility::declval<Elt>())) ;\n  \n  // End an alltoall region. For every peer in team you must have done both of the\n  // following each of which can be accomplished using any thread in coop:\n  //  1. Targeted that peer with at least one send().\n  //  2. Received from a slot targeted by that peer.\n  NCCL_DEVICE_INLINE void endEpoch(Coop);\n};\n#endif\n\n#endif // _NCCL_DEVICE_LL_A2A_H_\n"
  },
  {
    "path": "src/include/nccl_device/mem_barrier.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_MEM_BARRIER_H_\n#define _NCCL_DEVICE_MEM_BARRIER_H_\n#include \"impl/core__types.h\"\n#include \"core_tmp.h\"\n\n#define __CUDACC__ 0\n\nstruct ncclLsaBarrierHandle;\n\nNCCL_EXTERN_C __host__ ncclResult_t ncclLsaBarrierCreateRequirement(ncclTeam_t, int nBarriers, ncclLsaBarrierHandle_t* outHandle, ncclDevResourceRequirements_t* outReq);\n\n#if __CUDACC__\ntemplate<typename Coop>\nstruct ncclLsaBarrierSession_internal;\n\ntemplate<typename Coop>\nstruct ncclLsaBarrierSession: ncclLsaBarrierSession_internal<Coop> {\n  NCCL_DEVICE_INLINE ncclLsaBarrierSession(Coop, ncclDevComm const&, ncclTeam, ncclLsaBarrierHandle, uint32_t index, bool multimem=false, ncclMultimemHandle mmHandle={});\n\n  NCCL_DEVICE_INLINE ncclLsaBarrierSession(Coop, ncclDevComm const&, ncclTeamTagLsa, uint32_t index, bool multimem=false);\n\n  NCCL_DEVICE_INLINE ~ncclLsaBarrierSession();\n\n  ncclLsaBarrierSession(ncclLsaBarrierSession const&) = delete; // Sessions are not copyable\n\n  NCCL_DEVICE_INLINE void arrive(Coop, cuda::memory_order);\n  NCCL_DEVICE_INLINE void wait(Coop, cuda::memory_order);\n  NCCL_DEVICE_INLINE void sync(Coop, cuda::memory_order);\n};\n#endif\n\n#endif // _NCCL_DEVICE_MEM_BARRIER_H_\n"
  },
  {
    "path": "src/include/nccl_device/ptr.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_PTR_H_\n#define _NCCL_DEVICE_PTR_H_\n#include \"core.h\"\n#include <stdint.h>\n\n#define __CUDACC__ 0\n\n#if __cplusplus\ntemplate<typename T>\nstruct ncclSymPtr {\n  using ElementType = T;\n  ncclWindow_t window;\n  size_t offset;\n\n  NCCL_HOST_DEVICE_INLINE constexpr ncclSymPtr(ncclWindow_t window=nullptr, size_t offset=0);\n\n  template<typename U>\n  NCCL_HOST_DEVICE_INLINE operator ncclSymPtr<U>() const;\n\n  NCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& operator+=(int d);\n  NCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& operator+=(unsigned int d);\n  NCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& operator+=(long d);\n  NCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& operator+=(unsigned long d);\n  NCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& operator+=(long long d);\n  NCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& operator+=(unsigned long long d);\n\n  NCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& operator-=(int d);\n  NCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& operator-=(unsigned int d);\n  NCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& operator-=(long d);\n  NCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& operator-=(unsigned long d);\n  NCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& operator-=(long long d);\n  NCCL_HOST_DEVICE_INLINE ncclSymPtr<T>& operator-=(unsigned long long d);\n\n  #if __CUDACC__\n  NCCL_DEVICE_INLINE T* localPtr() const;\n  NCCL_DEVICE_INLINE T* lsaPtr(int peer) const;\n  NCCL_DEVICE_INLINE T* peerPtr(int peer) const;\n  NCCL_DEVICE_INLINE T* peerPtr(ncclTeam team, int peer) const;\n  NCCL_DEVICE_INLINE T* multimemPtr(ncclMultimemHandle mmHandle) const;\n  NCCL_DEVICE_INLINE T* lsaMultimemPtr(ncclDevComm const&) const;\n  #endif\n};\n\ntemplate<typename T, typename Int>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T> operator+(ncclSymPtr<T> p, Int d);\ntemplate<typename T, typename Int>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T> operator-(ncclSymPtr<T> p, Int d);\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE ptrdiff_t operator-(ncclSymPtr<T> a, ncclSymPtr<T> b);\n\ntemplate<typename T, typename Int>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T> operator==(ncclSymPtr<T> a, ncclSymPtr<T> b);\ntemplate<typename T, typename Int>\nNCCL_HOST_DEVICE_INLINE ncclSymPtr<T> operator!=(ncclSymPtr<T> a, ncclSymPtr<T> b);\n#endif\n\n#endif\n"
  },
  {
    "path": "src/include/nccl_device/utility.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef _NCCL_DEVICE_UTILITY_H_\n#define _NCCL_DEVICE_UTILITY_H_\n\n#define __CUDACC__ 0\n\n#if __CUDACC__\n  #define NCCL_DEVICE_INLINE __device__ __forceinline__\n  #define NCCL_HOST_DEVICE_INLINE __host__ __device__ __forceinline__\n#else\n  #ifndef __host__\n    #define __host__\n  #endif\n  #define NCCL_DEVICE_INLINE\n  #define NCCL_HOST_DEVICE_INLINE inline __attribute__((always_inline))\n#endif\n\n#if __cplusplus\n#define NCCL_EXTERN_C extern \"C\"\n#else\n#define NCCL_EXTERN_C\n#endif\n\n#include <stdint.h>\n#include <stdbool.h>\n\n#if __CUDACC__\n// #include <cuda/atomic>\n#endif\n\n#if __cplusplus\nnamespace nccl {\nnamespace utility {\n\ntemplate<typename T>\nT&& declval() noexcept {\n  static_assert(sizeof(T)!=sizeof(T), \"You can't evaluate declval.\");\n}\n\ntemplate<typename X, typename Y, typename Z = decltype(X()+Y())>\nNCCL_HOST_DEVICE_INLINE constexpr Z divUp(X x, Y y) {\n  return (x+y-1)/y;\n}\n\ntemplate<typename X, typename Y, typename Z = decltype(X()+Y())>\nNCCL_HOST_DEVICE_INLINE constexpr Z roundUp(X x, Y y) {\n  return (x+y-1) - (x+y-1)%y;\n}\ntemplate<typename X, typename Y, typename Z = decltype(X()+Y())>\nNCCL_HOST_DEVICE_INLINE constexpr Z roundDown(X x, Y y) {\n  return x - x%y;\n}\n\n// assumes second argument is a power of 2\ntemplate<typename X, typename Y, typename Z = decltype(X()+Y())>\nNCCL_HOST_DEVICE_INLINE constexpr Z alignUp(X x, Y a) {\n  return (x + a-1) & -Z(a);\n}\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE T* alignUp(T* x, size_t a) {\n  static_assert(sizeof(T) == 1, \"Only single byte types allowed.\");\n  return reinterpret_cast<T*>((reinterpret_cast<uintptr_t>(x) + a-1) & -uintptr_t(a));\n}\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE void* alignUp(void const* x, size_t a) {\n  return reinterpret_cast<void*>((reinterpret_cast<uintptr_t>(x) + a-1) & -uintptr_t(a));\n}\n\n// assumes second argument is a power of 2\ntemplate<typename X, typename Y, typename Z = decltype(X()+int())>\nNCCL_HOST_DEVICE_INLINE constexpr Z alignDown(X x, Y a) {\n  return x & -Z(a);\n}\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE T* alignDown(T* x, size_t a) {\n  static_assert(sizeof(T) == 1, \"Only single byte types allowed.\");\n  return reinterpret_cast<T*>(reinterpret_cast<uintptr_t>(x) & -uintptr_t(a));\n}\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE void* alignDown(void const* x, size_t a) {\n  return reinterpret_cast<void*>(reinterpret_cast<uintptr_t>(x) & -uintptr_t(a));\n}\n\ntemplate<typename T>\nNCCL_HOST_DEVICE_INLINE T add4G(T base, int delta4G) {\n  union { uint32_t u32[2]; T tmp; };\n  tmp = base;\n  u32[1] += delta4G;\n  return tmp;\n}\n\n\ntemplate<typename Int>\nNCCL_HOST_DEVICE_INLINE constexpr bool isPow2(Int x) {\n  return (x & (x-1)) == 0;\n}\n\n// Produce the reciprocal of x for use in idivByRcp\nNCCL_HOST_DEVICE_INLINE constexpr uint32_t idivRcp32(uint32_t x) {\n  return uint32_t(-1)/x + isPow2(x);\n}\nNCCL_HOST_DEVICE_INLINE constexpr uint64_t idivRcp64(uint64_t x) {\n  return uint64_t(-1)/x + isPow2(x);\n}\n\nNCCL_HOST_DEVICE_INLINE uint32_t mul32hi(uint32_t a, uint32_t b) {\n#if __CUDA_ARCH__\n  return __umulhi(a, b);\n#else\n  return uint64_t(a)*b >> 32;\n#endif\n}\nNCCL_HOST_DEVICE_INLINE uint64_t mul64hi(uint64_t a, uint64_t b) {\n#if __CUDA_ARCH__\n  return __umul64hi(a, b);\n#else\n  return (uint64_t)(((unsigned __int128)a)*b >> 64);\n#endif\n}\n\n// Produce the reciprocal of x*y given their respective reciprocals. This incurs\n// no integer division on device.\nNCCL_HOST_DEVICE_INLINE uint32_t imulRcp32(uint32_t x, uint32_t xrcp, uint32_t y, uint32_t yrcp) {\n  if (xrcp == 0) return yrcp;\n  if (yrcp == 0) return xrcp;\n  uint32_t rcp = mul32hi(xrcp, yrcp);\n  uint32_t rem = -x*y*rcp;\n  if (x*y <= rem) rcp += 1;\n  return rcp;\n}\nNCCL_HOST_DEVICE_INLINE uint64_t imulRcp64(uint64_t x, uint64_t xrcp, uint64_t y, uint64_t yrcp) {\n  if (xrcp == 0) return yrcp;\n  if (yrcp == 0) return xrcp;\n  uint64_t rcp = mul64hi(xrcp, yrcp);\n  uint64_t rem = -x*y*rcp;\n  if (x*y <= rem) rcp += 1;\n  return rcp;\n}\n\n// Fast unsigned integer division where divisor has precomputed reciprocal.\n// idivFast(x, y, idivRcp(y)) == x/y\nNCCL_HOST_DEVICE_INLINE void idivmodFast32(uint32_t *quo, uint32_t *rem, uint32_t x, uint32_t y, uint32_t yrcp) {\n  uint32_t q = yrcp == 0 ? x : mul32hi(x, yrcp);\n  uint32_t r = x - y*q;\n  if (r >= y) { q += 1; r -= y; }\n  *quo = q;\n  *rem = r;\n}\nNCCL_HOST_DEVICE_INLINE void idivmodFast64(uint64_t *quo, uint64_t *rem, uint64_t x, uint64_t y, uint64_t yrcp) {\n  uint32_t q = yrcp == 0 ? x : mul64hi(x, yrcp);\n  uint32_t r = x - y*q;\n  if (r >= y) { q += 1; r -= y; }\n  *quo = q;\n  *rem = r;\n}\n\nNCCL_HOST_DEVICE_INLINE uint32_t idivFast32(uint32_t x, uint32_t y, uint32_t yrcp) {\n  uint32_t q, r;\n  idivmodFast32(&q, &r, x, y, yrcp);\n  return q;\n}\nNCCL_HOST_DEVICE_INLINE uint32_t idivFast64(uint64_t x, uint64_t y, uint64_t yrcp) {\n  uint64_t q, r;\n  idivmodFast64(&q, &r, x, y, yrcp);\n  return q;\n}\n\nNCCL_HOST_DEVICE_INLINE uint32_t imodFast32(uint32_t x, uint32_t y, uint32_t yrcp) {\n  uint32_t q, r;\n  idivmodFast32(&q, &r, x, y, yrcp);\n  return r;\n}\nNCCL_HOST_DEVICE_INLINE uint32_t imodFast64(uint64_t x, uint64_t y, uint64_t yrcp) {\n  uint64_t q, r;\n  idivmodFast64(&q, &r, x, y, yrcp);\n  return r;\n}\n\n#if __CUDACC__\n// Precomputed integer reciprocoals for denominator values 1..64 inclusive.\n// Pass these to idivFast64() for fast division on the GPU.\nNCCL_DEVICE_INLINE uint64_t idivRcp64_upto64(int x) {\n  static constexpr uint64_t table[65] = {\n    idivRcp64(0x01), idivRcp64(0x01), idivRcp64(0x02), idivRcp64(0x03),\n    idivRcp64(0x04), idivRcp64(0x05), idivRcp64(0x06), idivRcp64(0x07),\n    idivRcp64(0x08), idivRcp64(0x09), idivRcp64(0x0a), idivRcp64(0x0b),\n    idivRcp64(0x0c), idivRcp64(0x0d), idivRcp64(0x0e), idivRcp64(0x0f),\n    idivRcp64(0x10), idivRcp64(0x11), idivRcp64(0x12), idivRcp64(0x13),\n    idivRcp64(0x14), idivRcp64(0x15), idivRcp64(0x16), idivRcp64(0x17),\n    idivRcp64(0x18), idivRcp64(0x19), idivRcp64(0x1a), idivRcp64(0x1b),\n    idivRcp64(0x1c), idivRcp64(0x1d), idivRcp64(0x1e), idivRcp64(0x1f),\n    idivRcp64(0x20), idivRcp64(0x21), idivRcp64(0x22), idivRcp64(0x23),\n    idivRcp64(0x24), idivRcp64(0x25), idivRcp64(0x26), idivRcp64(0x27),\n    idivRcp64(0x28), idivRcp64(0x29), idivRcp64(0x2a), idivRcp64(0x2b),\n    idivRcp64(0x2c), idivRcp64(0x2d), idivRcp64(0x2e), idivRcp64(0x2f),\n    idivRcp64(0x30), idivRcp64(0x31), idivRcp64(0x32), idivRcp64(0x33),\n    idivRcp64(0x34), idivRcp64(0x35), idivRcp64(0x36), idivRcp64(0x37),\n    idivRcp64(0x38), idivRcp64(0x39), idivRcp64(0x3a), idivRcp64(0x3b),\n    idivRcp64(0x3c), idivRcp64(0x3d), idivRcp64(0x3e), idivRcp64(0x3f),\n    idivRcp64(0x40)\n  };\n  return table[x];\n}\n#endif\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE uint32_t idivRcp32_upto64(int x) {\n  return idivRcp64_upto64(x)>>32;\n}\n#endif\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE void fenceAcquireGpu() {\n  static __device__ int dummy;\n  int tmp;\n  asm volatile(\"ld.acquire.gpu.s32 %0,[%1];\" : \"=r\"(tmp) : \"l\"(&dummy) : \"memory\");\n  dummy = tmp;\n}\nNCCL_DEVICE_INLINE void fenceReleaseGpu() {\n  cuda::atomic_thread_fence(cuda::memory_order_release, cuda::thread_scope_device);\n}\n#endif\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE cuda::memory_order acquireOrderOf(cuda::memory_order ord) {\n  return ord == cuda::memory_order_release ? cuda::memory_order_relaxed :\n         ord == cuda::memory_order_acq_rel ? cuda::memory_order_acquire :\n         ord;\n}\nNCCL_DEVICE_INLINE cuda::memory_order releaseOrderOf(cuda::memory_order ord) {\n  return ord == cuda::memory_order_acquire ? cuda::memory_order_relaxed :\n         ord == cuda::memory_order_acq_rel ? cuda::memory_order_release :\n         ord;\n}\n#endif\n\n#if __CUDACC__\nNCCL_DEVICE_INLINE int lane() {\n  int ret;\n  asm(\"mov.u32 %0, %%laneid;\" : \"=r\"(ret));\n  return ret;\n}\nNCCL_DEVICE_INLINE unsigned int lanemask_lt() {\n  unsigned int ret;\n  asm(\"mov.u32 %0, %%lanemask_lt;\" : \"=r\"(ret));\n  return ret;\n}\n#endif\n\n#if __CUDACC__\n// Load anything, but cache like its constant memory.\ntemplate<typename T>\nNCCL_DEVICE_INLINE T loadConst(T const *p) {\n  if (alignof(T) == 1) {\n    union { uint8_t part[sizeof(T)]; T ret; };\n    for (int i=0; i < (int)sizeof(T); i++) part[i] = __ldg((uint8_t const*)p + i);\n    return ret;\n  } else if (alignof(T) == 2) {\n    union { uint16_t part[sizeof(T)/2]; T ret; };\n    for (int i=0; i < (int)sizeof(T)/2; i++) part[i] = __ldg((uint16_t const*)p + i);\n    return ret;\n  } else if (alignof(T) == 4) {\n    union { uint32_t part[sizeof(T)/4]; T ret; };\n    for (int i=0; i < (int)sizeof(T)/4; i++) part[i] = __ldg((uint32_t const*)p + i);\n    return ret;\n  } else if (alignof(T) == 8) {\n    union { uint64_t part[sizeof(T)/8]; T ret; };\n    for (int i=0; i < (int)sizeof(T)/8; i++) part[i] = __ldg((uint64_t const*)p + i);\n    return ret;\n  } else { // alignof(T) >= 16\n    union { ulonglong2 part[sizeof(T)/16]; T ret; };\n    for (int i=0; i < (int)sizeof(T)/16; i++) part[i] = __ldg((ulonglong2 const*)p + i);\n    return ret;\n  }\n}\n#endif\n\n////////////////////////////////////////////////////////////////////////////////\n// Optional<T>: Holds a T that may or may not be constructed. An Optional\n// constructed with a Present<Arg...> will have its T constructed via the\n// T::T(Arg...) constructor. An Optional constructed with a Absent will not\n// have its T constructed.\n\ntemplate<int ...vals>\nstruct IntSeq {};\n\ntemplate<int n, int m, int ...i>\nstruct IntSeqUpTo: IntSeqUpTo<n, m+1, i..., m> {};\ntemplate<int n, int ...i>\nstruct IntSeqUpTo<n, n, i...> { using Type = IntSeq<i...>; };\n\n// Present<Arg...>: Packs a list of arguments together to be passed to Optional<T>.\ntemplate<typename ...Arg>\nstruct Present;\ntemplate<>\nstruct Present<> {};\ntemplate<typename H, typename ...T>\nstruct Present<H, T...> {\n  H h;\n  Present<T...> t;\n\n  NCCL_HOST_DEVICE_INLINE H get(IntSeq<0>) {\n    return static_cast<H>(h);\n  }\n  template<int i>\n  NCCL_HOST_DEVICE_INLINE decltype(auto) get(IntSeq<i>) {\n    return t.get(IntSeq<i-1>{});\n  }\n};\n\nNCCL_HOST_DEVICE_INLINE Present<> present() {\n  return Present<>{};\n}\ntemplate<typename H, typename ...T>\nNCCL_HOST_DEVICE_INLINE Present<H&&, T&&...> present(H&& h, T&& ...t) {\n  return Present<H&&, T&&...>{static_cast<H&&>(h), present(static_cast<T&&>(t)...)};\n}\n\nstruct Absent {};\n\ntemplate<typename T>\nstruct Optional {\n  bool present; // Is `thing` constructed.\n  union { T thing; };\n\n  // Construct with absent thing:\n  NCCL_HOST_DEVICE_INLINE constexpr Optional(): present(false) {}\n  NCCL_HOST_DEVICE_INLINE constexpr Optional(Absent): present(false) {}\n\n  // Helper constructor\n  template<int ...i, typename ...Arg>\n  NCCL_HOST_DEVICE_INLINE Optional(Present<Arg...> args, IntSeq<i...>):\n    present(true),\n    thing{args.get(IntSeq<i>())...} {\n  }\n  // Construct with present thing:\n  template<typename ...Arg>\n  NCCL_HOST_DEVICE_INLINE Optional(Present<Arg...> args):\n    Optional(args, IntSeqUpTo<sizeof...(Arg), 0>::Type()) {\n  }\n\n  NCCL_HOST_DEVICE_INLINE ~Optional() {\n    if (present) thing.~T();\n  }\n};\n\n}}\n#endif // __cplusplus\n#endif\n"
  },
  {
    "path": "src/include/nccl_device.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nccl_device/impl/comm__funcs.h\"\n#include \"nccl_device/coop.h\"\n#include \"nccl_device/impl/core__funcs.h\"\n#include \"nccl_device/impl/ll_a2a__funcs.h\"\n#include \"nccl_device/impl/mem_barrier__funcs.h\"\n//#include \"nccl_device/net_barrier__funcs.h\"\n//#include \"nccl_device/net_scratch_a2a__funcs.h\"\n//#include \"nccl_device/barrier__funcs.h\"\n#include \"nccl_device/impl/ptr__funcs.h\"\n"
  },
  {
    "path": "src/include/net.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_INT_NET_H_\n#define NCCL_INT_NET_H_\n\n#include \"nccl.h\"\n#include \"nccl_net.h\"\n#include \"comm.h\"\n#include \"checks.h\"\n\n#define NCCL_UNDEF_DEV_COUNT -1\n\ntypedef char ncclNetHandle_t[NCCL_NET_HANDLE_MAXSIZE];\n\nncclResult_t ncclNetInit(struct ncclComm* comm);\nncclResult_t ncclNetFinalize(struct ncclComm* comm);\nncclResult_t ncclNetGetDevCount(int netPluginIndex, int* nPhysDev, int* nVirtDev);\nncclResult_t ncclNetSetVirtDevCount(int netPluginIndex, int nVirtDev);\nncclResult_t ncclCollNetGetDevCount(int netPluginIndex, int* nPhysDev, int* nVirtDev);\nncclResult_t ncclCollNetSetVirtDevCount(int netPluginIndex, int nVirtDev);\n\n// Test whether the current GPU support GPU Direct RDMA.\nncclResult_t ncclGpuGdrSupport(struct ncclComm* comm, int* gdrSupport);\n\nextern ncclNet_t ncclNetIb;\nextern ncclNet_t ncclNetSocket;\n\nextern ncclResult_t rcclNetP2pPolicy(void* handle, int isP2p);\nextern int64_t ncclParamDmaBufEnable();\n\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\nextern ncclNet_t rocmNetIb;\nextern ncclResult_t rcclRocmNetP2pPolicy(void* handle, int isP2p);\n#endif\n\n#endif\n"
  },
  {
    "path": "src/include/net_device.h",
    "content": "/*************************************************************************\n * Copyright (c) 2023-2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_NET_DEVICE_H_\n#define NCCL_NET_DEVICE_H_\n\n#define NCCL_NET_DEVICE_INVALID_VERSION      0x0\n#define NCCL_NET_MTU_SIZE                    4096\n\n// Arbitrary version number - A given NCCL build will only be compatible with a single device networking plugin\n// version. NCCL will check the supplied version number from net->getProperties() and compare to its internal version.\n#define NCCL_NET_DEVICE_UNPACK_VERSION 0x7\n\ntypedef enum {NCCL_NET_DEVICE_HOST=0, NCCL_NET_DEVICE_UNPACK=1} ncclNetDeviceType;\n\ntypedef struct {\n  ncclNetDeviceType netDeviceType; // Network offload type\n  int netDeviceVersion;            // Version number for network offload\n  void* handle;\n  size_t size;\n  int needsProxyProgress;\n} ncclNetDeviceHandle_v7_t;\n\ntypedef ncclNetDeviceHandle_v7_t ncclNetDeviceHandle_v8_t;\ntypedef ncclNetDeviceHandle_v8_t ncclNetDeviceHandle_v9_t;\ntypedef ncclNetDeviceHandle_v9_t ncclNetDeviceHandle_v10_t;\ntypedef ncclNetDeviceHandle_v10_t ncclNetDeviceHandle_v11_t;\ntypedef ncclNetDeviceHandle_v11_t ncclNetDeviceHandle_t;\n\n#endif\n"
  },
  {
    "path": "src/include/npkit/npkit.h",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#ifndef NPKIT_H_\n#define NPKIT_H_\n\n#include <string>\n#include <thread>\n\n#include <hip/hip_runtime.h>\n\n#include \"npkit/npkit_event.h\"\n#include \"npkit/npkit_struct.h\"\n#include \"common.h\"\n\n#define NPKIT_GET_GPU_TIMESTAMP wall_clock64\n#define NPKIT_GET_CPU_TIMESTAMP_FROM_BLOCK \\\n  __atomic_load_n(reinterpret_cast<uint64_t*>((uint8_t *)ncclShmem.comm.cpuTimestamp + 128*blockIdx.x), __ATOMIC_RELAXED)\n\n\nclass NpKit {\n public:\n  static const uint64_t kNumGpuEventBuffers = 1024;\n\n  static const uint64_t kNumCpuEventBuffers = 64;\n\n  static ncclResult_t Init(int rank);\n\n  static ncclResult_t Dump(const std::string& dump_dir);\n\n  static ncclResult_t Shutdown();\n\n  static NpKitEventCollectContext* GetGpuEventCollectContexts();\n\n  static inline __device__ void CollectGpuEvent(uint8_t type, int64_t size, uint32_t rsvd, uint64_t timestamp,\n                                                NpKitEventCollectContext* ctx) {\n    uint64_t event_buffer_head = ctx->event_buffer_head;\n    if (event_buffer_head < kMaxNumGpuEventsPerBuffer) {\n      NpKitEvent& event = ctx->event_buffer[event_buffer_head];\n      event.fields.type = type;\n      event.fields.size = size < 0 ? 0 : size;\n      event.fields.rsvd = rsvd;\n      event.fields.timestamp = timestamp;\n      ctx->event_buffer_head++;\n    }\n  }\n\n  static void CollectCpuEvent(uint8_t type, int64_t size, uint32_t rsvd, uint64_t timestamp, int channel_id);\n\n  static uint64_t *GetCpuTimestamp();\n\n private:\n  static void CpuTimestampUpdateThread();\n\n  // 64K * 512 * 16B = 512MB per GPU\n  static const uint64_t kMaxNumGpuEventsPerBuffer = 1ULL << 16;\n\n  // 64K * 2 (send/recv) * (512/32) = 2M, 2M * 32 * 16B = 1GB per CPU\n  static const uint64_t kMaxNumCpuEventsPerBuffer = 1ULL << 21;\n\n  static NpKitEvent** gpu_event_buffers_;\n  static NpKitEvent** cpu_event_buffers_;\n\n  static NpKitEventCollectContext* gpu_collect_contexts_;\n  static NpKitEventCollectContext* cpu_collect_contexts_;\n  static uint64_t* cpu_timestamp_;\n\n  static uint64_t rank_;\n\n  static std::thread* cpu_timestamp_update_thread_;\n  static volatile bool cpu_timestamp_update_thread_should_stop_;\n};\n\n#endif\n"
  },
  {
    "path": "src/include/npkit/npkit_event.h",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#ifndef NPKIT_EVENT_H_\n#define NPKIT_EVENT_H_\n\n#define NPKIT_EVENT_INVALID                                     0x0\n\n#define NPKIT_EVENT_ALL_REDUCE_RING_ENTRY                       0x1\n#define NPKIT_EVENT_ALL_REDUCE_RING_EXIT                        0x2\n#define NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_ENTRY                0x3\n#define NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_EXIT                 0x4\n#define NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_ENTRY                 0x5\n#define NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_EXIT                  0x6\n\n#define NPKIT_EVENT_COPY_SEND_ENTRY                             0x7\n#define NPKIT_EVENT_COPY_SEND_EXIT                              0x8\n#define NPKIT_EVENT_DIRECT_COPY_SEND_ENTRY                      0x9\n#define NPKIT_EVENT_DIRECT_COPY_SEND_EXIT                       0xA\n#define NPKIT_EVENT_DIRECT_RECV_ENTRY                           0xB\n#define NPKIT_EVENT_DIRECT_RECV_EXIT                            0xC\n#define NPKIT_EVENT_DIRECT_RECV_COPY_SEND_ENTRY                 0xD\n#define NPKIT_EVENT_DIRECT_RECV_COPY_SEND_EXIT                  0xE\n#define NPKIT_EVENT_DIRECT_RECV_REDUCE_COPY_SEND_ENTRY          0xF\n#define NPKIT_EVENT_DIRECT_RECV_REDUCE_COPY_SEND_EXIT           0x10\n#define NPKIT_EVENT_DIRECT_SEND_ENTRY                           0x11\n#define NPKIT_EVENT_DIRECT_SEND_EXIT                            0x12\n#define NPKIT_EVENT_DIRECT_SEND_FROM_OUTPUT_ENTRY               0x13\n#define NPKIT_EVENT_DIRECT_SEND_FROM_OUTPUT_EXIT                0x14\n#define NPKIT_EVENT_RECV_ENTRY                                  0x15\n#define NPKIT_EVENT_RECV_EXIT                                   0x16\n#define NPKIT_EVENT_RECV_COPY_SEND_ENTRY                        0x17\n#define NPKIT_EVENT_RECV_COPY_SEND_EXIT                         0x18\n#define NPKIT_EVENT_RECV_REDUCE_COPY_ENTRY                      0x19\n#define NPKIT_EVENT_RECV_REDUCE_COPY_EXIT                       0x1A\n#define NPKIT_EVENT_RECV_REDUCE_COPY_SEND_ENTRY                 0x1B\n#define NPKIT_EVENT_RECV_REDUCE_COPY_SEND_EXIT                  0x1C\n#define NPKIT_EVENT_RECV_REDUCE_SEND_ENTRY                      0x1D\n#define NPKIT_EVENT_RECV_REDUCE_SEND_EXIT                       0x1E\n#define NPKIT_EVENT_SEND_ENTRY                                  0x1F\n#define NPKIT_EVENT_SEND_EXIT                                   0x20\n#define NPKIT_EVENT_SEND_FROM_OUTPUT_ENTRY                      0x21\n#define NPKIT_EVENT_SEND_FROM_OUTPUT_EXIT                       0x22\n\n#define NPKIT_EVENT_PRIM_SIMPLE_WAIT_PEER_ENTRY                 0x23\n#define NPKIT_EVENT_PRIM_SIMPLE_WAIT_PEER_EXIT                  0x24\n#define NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_ENTRY      0x25\n#define NPKIT_EVENT_PRIM_SIMPLE_REDUCE_OR_COPY_MULTI_EXIT       0x26\n\n#define NPKIT_EVENT_PRIM_LL_WAIT_SEND_ENTRY                     0x27\n#define NPKIT_EVENT_PRIM_LL_WAIT_SEND_EXIT                      0x28\n#define NPKIT_EVENT_PRIM_LL_DATA_PROCESS_ENTRY                  0x29\n#define NPKIT_EVENT_PRIM_LL_DATA_PROCESS_EXIT                   0x2A\n\n#define NPKIT_EVENT_PRIM_LL128_WAIT_SEND_ENTRY                  0x2B\n#define NPKIT_EVENT_PRIM_LL128_WAIT_SEND_EXIT                   0x2C\n#define NPKIT_EVENT_PRIM_LL128_DATA_PROCESS_ENTRY               0x2D\n#define NPKIT_EVENT_PRIM_LL128_DATA_PROCESS_EXIT                0x2E\n\n#define NPKIT_EVENT_NET_SEND_ENTRY                              0x2F\n#define NPKIT_EVENT_NET_SEND_EXIT                               0x30\n\n#define NPKIT_EVENT_NET_RECV_ENTRY                              0x31\n#define NPKIT_EVENT_NET_RECV_EXIT                               0x32\n\n#define NPKIT_EVENT_TIME_SYNC_GPU                               0x33\n#define NPKIT_EVENT_TIME_SYNC_CPU                               0x34\n\n#define NPKIT_EVENT_ALL_REDUCE_RING_SEND_ENTRY                  0x35\n#define NPKIT_EVENT_ALL_REDUCE_RING_SEND_EXIT                   0x36\n#define NPKIT_EVENT_ALL_REDUCE_RING_RECV_REDUCE_SEND_ENTRY      0x37\n#define NPKIT_EVENT_ALL_REDUCE_RING_RECV_REDUCE_SEND_EXIT       0x38\n#define NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_REDUCE_COPY_SEND_ENTRY  0x39\n#define NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_REDUCE_COPY_SEND_EXIT   0x3A\n#define NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_COPY_SEND_ENTRY 0x3B\n#define NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_COPY_SEND_EXIT  0x3C\n#define NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_ENTRY           0x3D\n#define NPKIT_EVENT_ALL_REDUCE_RING_DIRECT_RECV_EXIT            0x3E\n\n#define NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_REDUCE_ENTRY         0x3F\n#define NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_REDUCE_EXIT          0x40\n#define NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_BROADCAST_ENTRY      0x41\n#define NPKIT_EVENT_ALL_REDUCE_TREE_UPDOWN_BROADCAST_EXIT       0x42\n\n#define NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_BROADCAST_ENTRY    0x43\n#define NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_BROADCAST_EXIT     0x44\n#define NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_ENTRY          0x45\n#define NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_REDUCE_EXIT           0x46\n#define NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_BROADCAST_ENTRY       0x47\n#define NPKIT_EVENT_ALL_REDUCE_TREE_SPLIT_BROADCAST_EXIT        0x48\n\n#define NPKIT_EVENT_SEND_RECV_LOCAL_COPY_ENTRY                  0x49\n#define NPKIT_EVENT_SEND_RECV_LOCAL_COPY_EXIT                   0x4A\n#define NPKIT_EVENT_SEND_RECV_SEND_ENTRY                        0x4B\n#define NPKIT_EVENT_SEND_RECV_SEND_EXIT                         0x4C\n#define NPKIT_EVENT_SEND_RECV_RECV_ENTRY                        0x4D\n#define NPKIT_EVENT_SEND_RECV_RECV_EXIT                         0x4E\n\n#define NPKIT_PRIM_COLLECT_DATA_PROCESS_TIME                    0x4F\n\n#define NPKIT_EVENT_ALL_GATHER_RING_ENTRY                       0x50\n#define NPKIT_EVENT_ALL_GATHER_RING_EXIT                        0x51\n#define NPKIT_EVENT_ALL_GATHER_RING_SEND_ENTRY                  0x52\n#define NPKIT_EVENT_ALL_GATHER_RING_SEND_EXIT                   0x53\n#define NPKIT_EVENT_ALL_GATHER_RING_RECV_COPY_SEND_ENTRY        0x54\n#define NPKIT_EVENT_ALL_GATHER_RING_RECV_COPY_SEND_EXIT         0x55\n#define NPKIT_EVENT_ALL_GATHER_RING_DIRECT_RECV_ENTRY           0x56\n#define NPKIT_EVENT_ALL_GATHER_RING_DIRECT_RECV_EXIT            0x57\n\n#define NPKIT_EVENT_NET_TEST_ENTRY                              0x58\n#define NPKIT_EVENT_NET_TEST_EXIT                               0x59\n\n#define NPKIT_EVENT_MSCCL_GENERIC_OP_ENTRY                      0x5A\n#define NPKIT_EVENT_MSCCL_GENERIC_OP_EXIT                       0x5B\n#define NPKIT_EVENT_MSCCL_REDUCE_ENTRY                          0x5C\n#define NPKIT_EVENT_MSCCL_REDUCE_EXIT                           0x5D\n#define NPKIT_EVENT_MSCCL_SEND_ENTRY                          \t0x5E\n#define NPKIT_EVENT_MSCCL_SEND_EXIT                           \t0x5F\n#define NPKIT_EVENT_MSCCL_RECV_ENTRY                            0x60\n#define NPKIT_EVENT_MSCCL_RECV_EXIT                             0x61\n#define NPKIT_EVENT_MSCCL_RUN_ENTRY                             0x62\n#define NPKIT_EVENT_MSCCL_RUN_EXIT                              0x63\n#define NPKIT_EVENT_MSCCL_RECV_REDUCE_COPY_ENTRY                0x64\n#define NPKIT_EVENT_MSCCL_RECV_REDUCE_COPY_EXIT                 0x65\n#define NPKIT_EVENT_MSCCL_INIT_ENTRY                            0x66\n#define NPKIT_EVENT_MSCCL_INIT_EXIT                             0x67\n\n#define NPKIT_EVENT_BROADCAST_RING_ENTRY                        0x68\n#define NPKIT_EVENT_BROADCAST_RING_EXIT                         0x69\n\n#define NPKIT_EVENT_REDUCE_SCATTER_RING_ENTRY                   0x70\n#define NPKIT_EVENT_REDUCE_SCATTER_RING_EXIT                    0x71\n#define NPKIT_EVENT_REDUCE_SCATTER_RING_SEND_ENTRY              0x72\n#define NPKIT_EVENT_REDUCE_SCATTER_RING_SEND_EXIT               0x73\n#define NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_SEND_ENTRY  0x74\n#define NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_SEND_EXIT   0x75\n#define NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_COPY_ENTRY  0x76\n#define NPKIT_EVENT_REDUCE_SCATTER_RING_RECV_REDUCE_COPY_EXIT   0x77\n#endif\n"
  },
  {
    "path": "src/include/npkit/npkit_struct.h",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#ifndef NPKIT_STRUCT_H_\n#define NPKIT_STRUCT_H_\n\n#include <cstdint>\n\n#pragma pack(push, 1)\n\nunion NpKitEvent {\n  uint64_t bits[2];\n  struct {\n    uint64_t type : 8;\n    uint32_t size : 32;\n    uint64_t rsvd : 24;\n    uint64_t timestamp;\n  } fields;\n};\n\nstruct NpKitEventCollectContext {\n  NpKitEvent* event_buffer;\n  uint64_t event_buffer_head;\n};\n\n#pragma pack(pop)\n\n#endif\n"
  },
  {
    "path": "src/include/nvmlwrap.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_NVMLWRAP_H_\n#define NCCL_NVMLWRAP_H_\n\n#include \"nccl.h\"\n\n//#define NCCL_NVML_DIRECT 1\n#ifndef NCCL_NVML_DIRECT\n#define NCCL_NVML_DIRECT 0\n#endif\n\n#if NCCL_NVML_DIRECT\n#include \"nvml.h\"\n#else\n// Dynamically handle dependencies on NVML\n\n/* Extracted from nvml.h */\n\n#define NVML_API_VERSION            12\n\n#define NVML_STRUCT_VERSION(data, ver) (unsigned int)(sizeof(nvml ## data ## _v ## ver ## _t) | \\\n                                                      (ver << 24U))\n\ntypedef struct nvmlDevice_st* nvmlDevice_t;\n#define NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE   16\n\ntypedef enum nvmlEnableState_enum\n{\n    NVML_FEATURE_DISABLED    = 0,     //!< Feature disabled\n    NVML_FEATURE_ENABLED     = 1      //!< Feature enabled\n} nvmlEnableState_t;\n\ntypedef enum nvmlNvLinkCapability_enum\n{\n    NVML_NVLINK_CAP_P2P_SUPPORTED = 0,     // P2P over NVLink is supported\n    NVML_NVLINK_CAP_SYSMEM_ACCESS = 1,     // Access to system memory is supported\n    NVML_NVLINK_CAP_P2P_ATOMICS   = 2,     // P2P atomics are supported\n    NVML_NVLINK_CAP_SYSMEM_ATOMICS= 3,     // System memory atomics are supported\n    NVML_NVLINK_CAP_SLI_BRIDGE    = 4,     // SLI is supported over this link\n    NVML_NVLINK_CAP_VALID         = 5,     // Link is supported on this device\n    // should be last\n    NVML_NVLINK_CAP_COUNT\n} nvmlNvLinkCapability_t;\n\ntypedef enum nvmlReturn_enum\n{\n    NVML_SUCCESS = 0,                   //!< The operation was successful\n    NVML_ERROR_UNINITIALIZED = 1,       //!< NVML was not first initialized with nvmlInit()\n    NVML_ERROR_INVALID_ARGUMENT = 2,    //!< A supplied argument is invalid\n    NVML_ERROR_NOT_SUPPORTED = 3,       //!< The requested operation is not available on target device\n    NVML_ERROR_NO_PERMISSION = 4,       //!< The current user does not have permission for operation\n    NVML_ERROR_ALREADY_INITIALIZED = 5, //!< Deprecated: Multiple initializations are now allowed through ref counting\n    NVML_ERROR_NOT_FOUND = 6,           //!< A query to find an object was unsuccessful\n    NVML_ERROR_INSUFFICIENT_SIZE = 7,   //!< An input argument is not large enough\n    NVML_ERROR_INSUFFICIENT_POWER = 8,  //!< A device's external power cables are not properly attached\n    NVML_ERROR_DRIVER_NOT_LOADED = 9,   //!< NVIDIA driver is not loaded\n    NVML_ERROR_TIMEOUT = 10,            //!< User provided timeout passed\n    NVML_ERROR_IRQ_ISSUE = 11,          //!< NVIDIA Kernel detected an interrupt issue with a GPU\n    NVML_ERROR_LIBRARY_NOT_FOUND = 12,  //!< NVML Shared Library couldn't be found or loaded\n    NVML_ERROR_FUNCTION_NOT_FOUND = 13, //!< Local version of NVML doesn't implement this function\n    NVML_ERROR_CORRUPTED_INFOROM = 14,  //!< infoROM is corrupted\n    NVML_ERROR_GPU_IS_LOST = 15,        //!< The GPU has fallen off the bus or has otherwise become inaccessible\n    NVML_ERROR_RESET_REQUIRED = 16,     //!< The GPU requires a reset before it can be used again\n    NVML_ERROR_OPERATING_SYSTEM = 17,   //!< The GPU control device has been blocked by the operating system/cgroups\n    NVML_ERROR_LIB_RM_VERSION_MISMATCH = 18,   //!< RM detects a driver/library version mismatch\n    NVML_ERROR_IN_USE = 19,             //!< An operation cannot be performed because the GPU is currently in use\n    NVML_ERROR_UNKNOWN = 999            //!< An internal driver error occurred\n} nvmlReturn_t;\n\ntypedef struct nvmlPciInfo_st\n{\n    char busId[NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE]; //!< The tuple domain:bus:device.function PCI identifier (&amp; NULL terminator)\n    unsigned int domain;             //!< The PCI domain on which the device's bus resides, 0 to 0xffff\n    unsigned int bus;                //!< The bus on which the device resides, 0 to 0xff\n    unsigned int device;             //!< The device's id on the bus, 0 to 31\n    unsigned int pciDeviceId;        //!< The combined 16-bit device id and 16-bit vendor id\n\n    // Added in NVML 2.285 API\n    unsigned int pciSubSystemId;     //!< The 32-bit Sub System Device ID\n\n    // NVIDIA reserved for internal use only\n    unsigned int reserved0;\n    unsigned int reserved1;\n    unsigned int reserved2;\n    unsigned int reserved3;\n} nvmlPciInfo_t;\n\n/* P2P Capability Index Status*/\ntypedef enum nvmlGpuP2PStatus_enum\n{\n    NVML_P2P_STATUS_OK     = 0,\n    NVML_P2P_STATUS_CHIPSET_NOT_SUPPORED,\n    NVML_P2P_STATUS_GPU_NOT_SUPPORTED,\n    NVML_P2P_STATUS_IOH_TOPOLOGY_NOT_SUPPORTED,\n    NVML_P2P_STATUS_DISABLED_BY_REGKEY,\n    NVML_P2P_STATUS_NOT_SUPPORTED,\n    NVML_P2P_STATUS_UNKNOWN\n} nvmlGpuP2PStatus_t;\n\n/* P2P Capability Index*/\ntypedef enum nvmlGpuP2PCapsIndex_enum\n{\n    NVML_P2P_CAPS_INDEX_READ = 0,\n    NVML_P2P_CAPS_INDEX_WRITE,\n    NVML_P2P_CAPS_INDEX_NVLINK,\n    NVML_P2P_CAPS_INDEX_ATOMICS,\n    NVML_P2P_CAPS_INDEX_PROP,\n    NVML_P2P_CAPS_INDEX_UNKNOWN\n} nvmlGpuP2PCapsIndex_t;\n\n/**\n * Represents the type for sample value returned\n */\ntypedef enum nvmlValueType_enum\n{\n    NVML_VALUE_TYPE_DOUBLE = 0,\n    NVML_VALUE_TYPE_UNSIGNED_INT = 1,\n    NVML_VALUE_TYPE_UNSIGNED_LONG = 2,\n    NVML_VALUE_TYPE_UNSIGNED_LONG_LONG = 3,\n    NVML_VALUE_TYPE_SIGNED_LONG_LONG = 4,\n\n    // Keep this last\n    NVML_VALUE_TYPE_COUNT\n}nvmlValueType_t;\n\n\n/**\n * Union to represent different types of Value\n */\ntypedef union nvmlValue_st\n{\n    double dVal;                    //!< If the value is double\n    unsigned int uiVal;             //!< If the value is unsigned int\n    unsigned long ulVal;            //!< If the value is unsigned long\n    unsigned long long ullVal;      //!< If the value is unsigned long long\n    signed long long sllVal;        //!< If the value is signed long long\n}nvmlValue_t;\n\n/**\n * Field Identifiers.\n *\n * All Identifiers pertain to a device. Each ID is only used once and is guaranteed never to change.\n */\n\n/* NVLink Speed */\n#define NVML_FI_DEV_NVLINK_SPEED_MBPS_COMMON 90  //!< Common NVLink Speed in MBps for active links\n#define NVML_FI_DEV_NVLINK_LINK_COUNT        91  //!< Number of NVLinks present on the device\n\n/**\n * Remote device NVLink ID\n *\n * Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.\n */\n#define NVML_FI_DEV_NVLINK_REMOTE_NVLINK_ID     146 //!< Remote device NVLink ID\n\n/**\n * NVSwitch: connected NVLink count\n */\n#define NVML_FI_DEV_NVSWITCH_CONNECTED_LINK_COUNT   147  //!< Number of NVLinks connected to NVSwitch\n\n#define NVML_FI_DEV_NVLINK_GET_SPEED                  164\n#define NVML_FI_DEV_NVLINK_GET_STATE                  165\n#define NVML_FI_DEV_NVLINK_GET_VERSION                166\n\n#define NVML_FI_DEV_C2C_LINK_COUNT                    170 //!< Number of C2C Links present on the device\n#define NVML_FI_DEV_C2C_LINK_GET_STATUS               171 //!< C2C Link Status 0=INACTIVE 1=ACTIVE\n#define NVML_FI_DEV_C2C_LINK_GET_MAX_BW               172 //!< C2C Link Speed in MBps for active links\n\n#define NVML_FI_MAX 173 //!< One greater than the largest field ID defined above\n\n/**\n * Information for a Field Value Sample\n */\ntypedef struct nvmlFieldValue_st\n{\n    unsigned int fieldId;       //!< ID of the NVML field to retrieve. This must be set before any call that uses this struct. See the constants starting with NVML_FI_ above.\n    unsigned int scopeId;       //!< Scope ID can represent data used by NVML depending on fieldId's context. For example, for NVLink throughput counter data, scopeId can represent linkId.\n    long long timestamp;        //!< CPU Timestamp of this value in microseconds since 1970\n    long long latencyUsec;      //!< How long this field value took to update (in usec) within NVML. This may be averaged across several fields that are serviced by the same driver call.\n    nvmlValueType_t valueType;  //!< Type of the value stored in value\n    nvmlReturn_t nvmlReturn;    //!< Return code for retrieving this value. This must be checked before looking at value, as value is undefined if nvmlReturn != NVML_SUCCESS\n    nvmlValue_t value;          //!< Value for this field. This is only valid if nvmlReturn == NVML_SUCCESS\n} nvmlFieldValue_t;\n\n\n#define NVML_GPU_FABRIC_UUID_LEN 16\n\n#define NVML_GPU_FABRIC_STATE_NOT_SUPPORTED 0\n#define NVML_GPU_FABRIC_STATE_NOT_STARTED   1\n#define NVML_GPU_FABRIC_STATE_IN_PROGRESS   2\n#define NVML_GPU_FABRIC_STATE_COMPLETED     3\n\ntypedef unsigned char nvmlGpuFabricState_t;\n\ntypedef struct {\n    unsigned char        clusterUuid[NVML_GPU_FABRIC_UUID_LEN]; //!< Uuid of the cluster to which this GPU belongs\n    nvmlReturn_t         status;                                //!< Error status, if any. Must be checked only if state returns \"complete\".\n    unsigned int         cliqueId;                              //!< ID of the fabric clique to which this GPU belongs\n    nvmlGpuFabricState_t state;                                 //!< Current state of GPU registration process\n} nvmlGpuFabricInfo_t;\n\n#define NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_NOT_SUPPORTED 0\n#define NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_TRUE          1\n#define NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_FALSE         2\n\n#define NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_DEGRADED_BW 0\n#define NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_DEGRADED_BW 0x11\n\n/**\n * GPU Fabric Health Status Mask for various fields can be obtained\n * using the below macro.\n * Ex - NVML_GPU_FABRIC_HEALTH_GET(var, _DEGRADED_BW)\n */\n#define NVML_GPU_FABRIC_HEALTH_GET(var, type)             \\\n    (((var) >> NVML_GPU_FABRIC_HEALTH_MASK_SHIFT##type) & \\\n     (NVML_GPU_FABRIC_HEALTH_MASK_WIDTH##type))\n\n/**\n * GPU Fabric Health Status Mask for various fields can be tested\n * using the below macro.\n * Ex - NVML_GPU_FABRIC_HEALTH_TEST(var, _DEGRADED_BW, _TRUE)\n */\n#define NVML_GPU_FABRIC_HEALTH_TEST(var, type, val) \\\n    (NVML_GPU_FABRIC_HEALTH_GET(var, type) ==       \\\n     NVML_GPU_FABRIC_HEALTH_MASK##type##val)\n\n/**\n* GPU Fabric information (v2).\n*\n* Version 2 adds the \\ref nvmlGpuFabricInfo_v2_t.version field\n* to the start of the structure, and the \\ref nvmlGpuFabricInfo_v2_t.healthMask\n* field to the end. This structure is not backwards-compatible with\n* \\ref nvmlGpuFabricInfo_t.\n*/\ntypedef struct {\n    unsigned int         version;                               //!< Structure version identifier (set to \\ref nvmlGpuFabricInfo_v2)\n    unsigned char        clusterUuid[NVML_GPU_FABRIC_UUID_LEN]; //!< Uuid of the cluster to which this GPU belongs\n    nvmlReturn_t         status;                                //!< Error status, if any. Must be checked only if state returns \"complete\".\n    unsigned int         cliqueId;                              //!< ID of the fabric clique to which this GPU belongs\n    nvmlGpuFabricState_t state;                                 //!< Current state of GPU registration process\n    unsigned int         healthMask;                            //!< GPU Fabric health Status Mask\n} nvmlGpuFabricInfo_v2_t;\n\ntypedef nvmlGpuFabricInfo_v2_t nvmlGpuFabricInfoV_t;\n\n/**\n* Version identifier value for \\ref nvmlGpuFabricInfo_v2_t.version.\n*/\n#define nvmlGpuFabricInfo_v2 NVML_STRUCT_VERSION(GpuFabricInfo, 2)\n\n/**\n * Structure to store platform information (v2)\n */\ntypedef struct\n{\n    unsigned int version;                       //!< the API version number\n    unsigned char ibGuid[16];                   //!< Infiniband GUID reported by platform (for Blackwell, ibGuid is 8 bytes so indices 8-15 are zero)\n    unsigned char chassisSerialNumber[16];      //!< Serial number of the chassis containing this GPU (for Blackwell it is 13 bytes so indices 13-15 are zero)\n    unsigned char slotNumber;                   //!< The slot number in the chassis containing this GPU (includes switches)\n    unsigned char trayIndex;                    //!< The tray index within the compute slots in the chassis containing this GPU (does not include switches)\n    unsigned char hostId;                       //!< Index of the node within the slot containing this GPU\n    unsigned char peerType;                     //!< Platform indicated NVLink-peer type (e.g. switch present or not)\n    unsigned char moduleId;                     //!< ID of this GPU within the node\n} nvmlPlatformInfo_v2_t;\n\ntypedef nvmlPlatformInfo_v2_t nvmlPlatformInfo_t;\n#define nvmlPlatformInfo_v2 NVML_STRUCT_VERSION(PlatformInfo, 2)\n\n/**\n * Confidential Compute Feature Status values\n */\n#define NVML_CC_SYSTEM_FEATURE_DISABLED 0\n#define NVML_CC_SYSTEM_FEATURE_ENABLED  1\n\ntypedef struct nvmlConfComputeSystemState_st {\n    unsigned int environment;\n    unsigned int ccFeature;\n    unsigned int devToolsMode;\n} nvmlConfComputeSystemState_t;\n\n/**\n * Confidential Compute Multigpu mode values\n */\n#define NVML_CC_SYSTEM_MULTIGPU_NONE 0\n#define NVML_CC_SYSTEM_MULTIGPU_PROTECTED_PCIE 1\n#define NVML_CC_SYSTEM_MULTIGPU_NVLE 2\n\n/**\n * Confidential Compute System settings\n */\ntypedef struct {\n    unsigned int version;\n    unsigned int environment;\n    unsigned int ccFeature;\n    unsigned int devToolsMode;\n    unsigned int multiGpuMode;\n} nvmlSystemConfComputeSettings_v1_t;\n\ntypedef nvmlSystemConfComputeSettings_v1_t nvmlSystemConfComputeSettings_t;\n#define nvmlSystemConfComputeSettings_v1 NVML_STRUCT_VERSION(SystemConfComputeSettings, 1)\n\n/* End of nvml.h */\n#endif // NCCL_NVML_DIRECT\n\nconstexpr int ncclNvmlMaxDevices = 32;\nstruct ncclNvmlDeviceInfo {\n  nvmlDevice_t handle;\n  int computeCapabilityMajor, computeCapabilityMinor;\n};\nstruct ncclNvmlDevicePairInfo {\n  nvmlGpuP2PStatus_t p2pStatusRead, p2pStatusWrite;\n};\nextern int ncclNvmlDeviceCount;\nextern ncclNvmlDeviceInfo ncclNvmlDevices[ncclNvmlMaxDevices];\nextern ncclNvmlDevicePairInfo ncclNvmlDevicePairs[ncclNvmlMaxDevices][ncclNvmlMaxDevices];\n\nstruct ncclNvmlCCStatus {\n    bool CCEnabled;\n    bool multiGpuProtectedPCIE;\n    bool multiGpuNVLE;\n};\n\n// All ncclNvmlFoo() functions call ncclNvmlEnsureInitialized() implicitly.\n// Outsiders need only call it if they want to inspect the ncclNvml global\n// tables above.\nncclResult_t ncclNvmlEnsureInitialized();\n\nncclResult_t ncclNvmlDeviceGetHandleByPciBusId(const char* pciBusId, nvmlDevice_t* device);\nncclResult_t ncclNvmlDeviceGetIndex(nvmlDevice_t device, unsigned* index);\nncclResult_t ncclNvmlDeviceGetHandleByIndex(unsigned int index, nvmlDevice_t *device);\nncclResult_t ncclNvmlDeviceGetNvLinkState(nvmlDevice_t device, unsigned int link, nvmlEnableState_t *isActive);\nncclResult_t ncclNvmlDeviceGetNvLinkRemotePciInfo(nvmlDevice_t device, unsigned int link, nvmlPciInfo_t *pci);\nncclResult_t ncclNvmlDeviceGetNvLinkCapability(nvmlDevice_t device, unsigned int link, nvmlNvLinkCapability_t capability, unsigned int *capResult);\nncclResult_t ncclNvmlDeviceGetCudaComputeCapability(nvmlDevice_t device, int* major, int* minor);\nncclResult_t ncclNvmlDeviceGetP2PStatus(nvmlDevice_t device1, nvmlDevice_t device2, nvmlGpuP2PCapsIndex_t p2pIndex, nvmlGpuP2PStatus_t* p2pStatus);\nncclResult_t ncclNvmlDeviceGetFieldValues(nvmlDevice_t device, int valuesCount, nvmlFieldValue_t *values);\nncclResult_t ncclNvmlDeviceGetGpuFabricInfoV(nvmlDevice_t device, nvmlGpuFabricInfoV_t *gpuFabricInfo);\nncclResult_t ncclNvmlDeviceGetPlatformInfo(nvmlDevice_t device, nvmlPlatformInfo_t *plaformInfo);\nncclResult_t ncclNvmlGetCCStatus(struct ncclNvmlCCStatus *status);\n\n#endif // End include guard\n"
  },
  {
    "path": "src/include/nvtx.h",
    "content": "/*************************************************************************\n * Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_NVTX_H_\n#define NCCL_NVTX_H_\n\n#include \"nvtx3/nvtx3.hpp\"\n#include \"roctx.h\"\n\n#include \"param.h\"\n\n#if __cpp_constexpr >= 201304L && !defined(NVTX3_CONSTEXPR_IF_CPP14)\n#define NVTX3_CONSTEXPR_IF_CPP14 constexpr\n#else\n#define NVTX3_CONSTEXPR_IF_CPP14\n#endif\n\n// Define all NCCL-provided static schema IDs here (avoid duplicates).\n#define NVTX_SID_CommInitRank         0\n#define NVTX_SID_CommInitAll          1\n#define NVTX_SID_CommDestroy          2 // same schema as NVTX_SID_CommInitRank\n#define NVTX_SID_CommAbort            3 // same schema as NVTX_SID_CommInitRank\n#define NVTX_SID_AllGather            4\n#define NVTX_SID_AllReduce            5\n#define NVTX_SID_AlltoAll             6\n#define NVTX_SID_AlltoAllv            7\n#define NVTX_SID_Broadcast            8\n#define NVTX_SID_Gather               9\n#define NVTX_SID_MSCCL                10\n#define NVTX_SID_ReduceScatter        11\n#define NVTX_SID_Reduce               12\n#define NVTX_SID_Scatter              13\n#define NVTX_SID_Send                 14\n#define NVTX_SID_Recv                 15\n#define NVTX_SID_CommInitRankConfig   16 // same schema as NVTX_SID_CommInitRank\n#define NVTX_SID_CommInitRankScalable 17 // same schema as NVTX_SID_CommInitRank\n#define NVTX_SID_CommSplit            18\n#define NVTX_SID_CommFinalize         19\n#define NVTX_SID_CommShrink           20\n// When adding new schema IDs, DO NOT re-use/overlap with the enum schema ID below!\n\n// Define static schema ID for the reduction operation.\n#define NVTX_PAYLOAD_ENTRY_NCCL_REDOP 21 + NVTX_PAYLOAD_ENTRY_TYPE_SCHEMA_ID_STATIC_START\n\nextern const nvtxDomainHandle_t ncclNvtxDomainHandle;\n\nstruct nccl_domain{static constexpr char const* name{\"NCCL\"};};\n\nextern int64_t ncclParamNvtxDisable();\n\n/// @brief Register an NVTX payload schema for static-size payloads.\nclass payload_schema {\n public:\n  explicit payload_schema(const nvtxPayloadSchemaEntry_t entries[], size_t numEntries,\n    const uint64_t schemaId, const size_t size) noexcept\n  {\n    schema_attr.payloadStaticSize = size;\n    schema_attr.entries = entries;\n    schema_attr.numEntries = numEntries;\n    schema_attr.schemaId = schemaId;\n    nvtxPayloadSchemaRegister(nvtx3::domain::get<nccl_domain>(), &schema_attr);\n  }\n\n  payload_schema() = delete;\n  ~payload_schema() = default;\n  payload_schema(payload_schema const&) = default;\n  payload_schema& operator=(payload_schema const&) = default;\n  payload_schema(payload_schema&&) = default;\n  payload_schema& operator=(payload_schema&&) = default;\n\nprivate:\n  nvtxPayloadSchemaAttr_t schema_attr{\n    NVTX_PAYLOAD_SCHEMA_ATTR_TYPE |\n    NVTX_PAYLOAD_SCHEMA_ATTR_ENTRIES |\n    NVTX_PAYLOAD_SCHEMA_ATTR_NUM_ENTRIES |\n    NVTX_PAYLOAD_SCHEMA_ATTR_STATIC_SIZE |\n    NVTX_PAYLOAD_SCHEMA_ATTR_SCHEMA_ID,\n    nullptr, /* schema name is not needed */\n    NVTX_PAYLOAD_SCHEMA_TYPE_STATIC,\n    NVTX_PAYLOAD_SCHEMA_FLAG_NONE,\n    nullptr, 0, 0, 0, 0, nullptr};\n};\n\nclass ncclOptionalNvtxScopedRange\n{\n public:\n  void push(const nvtx3::event_attributes& attr) noexcept {\n    // pushed must not be true already, but it's too expensive to check\n    pushed = true;\n    nvtxDomainRangePushEx(nvtx3::domain::get<nccl_domain>(), attr.get());\n  }\n\n  ~ncclOptionalNvtxScopedRange() noexcept {\n    if (!pushed) {\n      return;\n    }\n    nvtxDomainRangePop(nvtx3::domain::get<nccl_domain>());\n  }\n\n  ncclOptionalNvtxScopedRange() = default;\n  ncclOptionalNvtxScopedRange(ncclOptionalNvtxScopedRange const&) = delete;\n  ncclOptionalNvtxScopedRange& operator=(ncclOptionalNvtxScopedRange const&) = delete;\n  ncclOptionalNvtxScopedRange(ncclOptionalNvtxScopedRange&&) = delete;\n  ncclOptionalNvtxScopedRange& operator=(ncclOptionalNvtxScopedRange&&) = delete;\n\n private:\n  bool pushed = false;\n};\n\n// Convenience macro to give the payload parameters a scope.\n#define NVTX3_PAYLOAD(...) __VA_ARGS__\n\n// Create NVTX push/pop range with parameters\n// @param N NCCL API name without the `nccl` prefix.\n// @param T name of the used NVTX payload schema without \"Schema\" suffix.\n// @param P payload parameters/entries\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#define NVTX3_FUNC_WITH_PARAMS(N, T, P) \\\n  constexpr uint64_t schemaId = NVTX_PAYLOAD_ENTRY_TYPE_SCHEMA_ID_STATIC_START + NVTX_SID_##N; \\\n  static const payload_schema schema{T##Schema, std::extent<decltype(T##Schema)>::value - 1, \\\n    schemaId, sizeof(T)}; \\\n  const T _payload = {P}; \\\n  nvtxPayloadData_t nvtx3_bpl__[] = {{schemaId, sizeof(_payload), &_payload}}; \\\n  roctx_scoped_range_in const roctx_range__{T##Schema, nvtx3_bpl__, std::extent<decltype(T##Schema)>::value - 1, \"RCCL_\" #N};\n\n#define NCCL_NVTX3_FUNC_RANGE \\\n  roctx_scoped_range_in const roctx_range__((\"RCCL_\"))\n#else\n#define NVTX3_FUNC_WITH_PARAMS(N, T, P)                                                          \\\n  ncclOptionalNvtxScopedRange nvtx3_range__;                                                     \\\n  if (!ncclParamNvtxDisable())                                                                   \\\n  {                                                                                              \\\n    constexpr uint64_t schemaId = NVTX_PAYLOAD_ENTRY_TYPE_SCHEMA_ID_STATIC_START + NVTX_SID_##N; \\\n    static const payload_schema                                                                  \\\n        schema{T##Schema, std::extent<decltype(T##Schema)>::value - 1, schemaId, sizeof(T)};     \\\n    static ::nvtx3::v1::registered_string_in<nccl_domain> const nvtx3_func_name__{__func__};     \\\n    const T _payload = {P};                                                                      \\\n    nvtxPayloadData_t nvtx3_bpl__[] = {{schemaId, sizeof(_payload), &_payload}};                 \\\n    ::nvtx3::v1::event_attributes const nvtx3_func_attr__{nvtx3_func_name__, nvtx3_bpl__};       \\\n    nvtx3_range__.push(nvtx3_func_attr__);                                                       \\\n  }\n\n#define NCCL_NVTX3_FUNC_RANGE \\\n  ncclOptionalNvtxScopedRange nvtx3_range__; \\\n  if (!ncclParamNvtxDisable()) { \\\n    static ::nvtx3::v1::registered_string_in<nccl_domain> const nvtx3_func_name__{__func__}; \\\n    static ::nvtx3::v1::event_attributes const nvtx3_func_attr__{nvtx3_func_name__}; \\\n    nvtx3_range__.push(nvtx3_func_attr__); \\\n  }\n#endif\n\n/// @brief Creates an NVTX range with extended payload using the RAII pattern.\n/// @tparam PayloadType Data type of the payload.\ntemplate <typename PayloadType>\nclass ncclOptionalNvtxPayloadRange {\n public:\n  void push(const nvtx3::event_attributes& attr) noexcept {\n    // pushed must not be true already, but it's too expensive to check\n    pushed = true;\n    nvtxDomainRangePushEx(nvtx3::domain::get<nccl_domain>(), attr.get());\n  }\n\n  ~ncclOptionalNvtxPayloadRange() noexcept {\n    if (!pushed) {\n      return;\n    }\n    if (payloadData.payload) {\n      nvtxRangePopPayload(nvtx3::domain::get<nccl_domain>(), &payloadData, 1);\n    } else {\n      nvtxDomainRangePop(nvtx3::domain::get<nccl_domain>());\n    }\n  }\n\n  void setPayloadData(const uint64_t schemaId) noexcept\n  {\n    payloadData = {schemaId, sizeof(PayloadType), &payload};\n  }\n\n  ncclOptionalNvtxPayloadRange() = default;\n  ncclOptionalNvtxPayloadRange(ncclOptionalNvtxPayloadRange const&) = delete;\n  ncclOptionalNvtxPayloadRange& operator=(ncclOptionalNvtxPayloadRange const&) = delete;\n  ncclOptionalNvtxPayloadRange(ncclOptionalNvtxPayloadRange&&) = delete;\n  ncclOptionalNvtxPayloadRange& operator=(ncclOptionalNvtxPayloadRange&&) = delete;\n\n  // Holds the payload data.\n  PayloadType payload{};\n  nvtxPayloadData_t payloadData = {NVTX_PAYLOAD_ENTRY_TYPE_INVALID, 0, NULL};\n\n  bool isPushed() const noexcept {\n    return pushed;\n  }\n\n private:\n  bool pushed = false;\n};\n\n// Create an NVTX range with the function name as the range name. Use RAII pattern.\n// @param T Type ID of the NVTX payload (pointer for variable-size payloads).\n#define NVTX3_RANGE(T)                                                                       \\\n  ncclOptionalNvtxPayloadRange<T> nvtx3_range__;                                             \\\n  if (!ncclParamNvtxDisable())                                                               \\\n  {                                                                                          \\\n    static ::nvtx3::v1::registered_string_in<nccl_domain> const nvtx3_func_name__{__func__}; \\\n    ::nvtx3::v1::event_attributes const nvtx3_func_attr__{nvtx3_func_name__};                \\\n    nvtx3_range__.push(nvtx3_func_attr__);                                                   \\\n  }\n\n// Add static-size payload to the NVTX range created with `NVTX3_RANGE()`,\n// which must be in this or an outer scope.\n// @param N NCCL API name without the `nccl` prefix.\n// @param S name of the used NVTX payload schema.\n// @param P payload parameters/entries\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#define NVTX3_RANGE_ADD_PAYLOAD(N, S, P) do { \\\n  constexpr uint64_t schema_id = NVTX_PAYLOAD_ENTRY_TYPE_SCHEMA_ID_STATIC_START + NVTX_SID_##N; \\\n  static const payload_schema schema{S, std::extent<decltype(S)>::value - 1, schema_id, \\\n    sizeof(nvtx3_range__.payload)}; \\\n  nvtx3_range__.payload = {P}; \\\n  nvtx3_range__.setPayloadData(schema_id); \\\n  nvtxPayloadData_t nvtx3_bpl__[] = {{schema_id, sizeof(nvtx3_range__.payloadData), &nvtx3_range__.payloadData}}; \\\n  roctx_scoped_range_in const roctx_range__{S, nvtx3_bpl__, std::extent<decltype(S)>::value - 1, \"RCCL_\" #N}; \\\n} while (0)\n#else\n#define NVTX3_RANGE_ADD_PAYLOAD(N, S, P) do { \\\n  if (!nvtx3_range__.isPushed()) { \\\n    break; \\\n  } \\\n  constexpr uint64_t schema_id = NVTX_PAYLOAD_ENTRY_TYPE_SCHEMA_ID_STATIC_START + NVTX_SID_##N; \\\n  static const payload_schema schema{S, std::extent<decltype(S)>::value - 1, schema_id, \\\n    sizeof(nvtx3_range__.payload)}; \\\n  nvtx3_range__.payload = {P}; \\\n  nvtx3_range__.setPayloadData(schema_id); \\\n} while (0)\n#endif\n\nextern void initNvtxRegisteredEnums();\n\n#endif\n"
  },
  {
    "path": "src/include/nvtx3/nvToolsExt.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n/** \\file nvToolsExt.h\n */\n\n/* ========================================================================= */\n/** \\mainpage\n * \\tableofcontents\n * \\section INTRODUCTION Introduction\n *\n * The NVIDIA Tools Extension library is a set of functions that a\n * developer can use to provide additional information to tools.\n * The additional information is used by the tool to improve\n * analysis and visualization of data.\n *\n * The library introduces close to zero overhead if no tool is\n * attached to the application.  The overhead when a tool is\n * attached is specific to the tool.\n *\n * \\section INITIALIZATION_SECTION Initialization\n *\n * Typically the tool's library that plugs into NVTX is indirectly\n * loaded via enviromental properties that are platform specific.\n * For some platform or special cases, the user may be required\n * to instead explicity initialize instead though.   This can also\n * be helpful to control when the API loads a tool's library instead\n * of what would typically be the first function call to emit info.\n * For these rare case, see \\ref INITIALIZATION for additional information.\n *\n * \\section MARKERS_AND_RANGES Markers and Ranges\n *\n * Markers and ranges are used to describe events at a specific time (markers)\n * or over a time span (ranges) during the execution of the application\n * respectively.\n *\n * \\subsection MARKERS Markers\n *\n * Markers denote specific moments in time.\n *\n *\n * See \\ref DOMAINS and \\ref EVENT_ATTRIBUTES for additional information on\n * how to specify the domain.\n *\n * \\subsection THREAD_RANGES Thread Ranges\n *\n * Thread ranges denote nested time ranges. Nesting is maintained per thread\n * per domain and does not require any additional correlation mechanism. The\n * duration of a thread range is defined by the corresponding pair of\n * nvtxRangePush* to nvtxRangePop API calls.\n *\n * See \\ref DOMAINS and \\ref EVENT_ATTRIBUTES for additional information on\n * how to specify the domain.\n *\n * \\subsection PROCESS_RANGES Process Ranges\n *\n * Process ranges denote a time span that can expose arbitrary concurrency, as\n * opposed to thread ranges that only support nesting. In addition the range\n * start event can happen on a different thread than the end marker. For the\n * correlation of a start/end pair an unique correlation ID is used that is\n * returned from the start API call and needs to be passed into the end API\n * call.\n *\n * \\subsection EVENT_ATTRIBUTES Event Attributes\n *\n * \\ref MARKERS_AND_RANGES can be annotated with various attributes to provide\n * additional information for an event or to guide the tool's visualization of\n * the data. Each of the attributes is optional and if left unused the\n * attributes fall back to a default value. The attributes include:\n * - color\n * - category\n *\n * To specify any attribute other than the text message, the \\ref\n * EVENT_ATTRIBUTE_STRUCTURE \"Event Attribute Structure\" must be used.\n *\n * \\section DOMAINS Domains\n *\n * Domains enable developers to scope annotations. By default all events and\n * annotations are in the default domain. Additional domains can be registered.\n * This allows developers to scope markers, ranges, and resources names to\n * avoid conflicts.\n *\n * The function ::nvtxDomainCreateA or ::nvtxDomainCreateW is used to create\n * a named domain.\n *\n * Each domain maintains its own\n * - categories\n * - thread range stacks\n * - registered strings\n *\n * The function ::nvtxDomainDestroy marks the end of the domain. Destroying\n * a domain unregisters and destroys all objects associated with it such as\n * registered strings, resource objects, named categories, and started ranges.\n *\n * \\section RESOURCE_NAMING Resource Naming\n *\n * This section covers calls that allow to annotate objects with user-provided\n * names in order to allow for a better analysis of complex trace data. All of\n * the functions take the handle or the ID of the object to name and the name.\n * The functions can be called multiple times during the execution of an\n * application, however, in that case it is implementation dependent which\n * name will be reported by the tool.\n *\n * \\subsection CATEGORY_NAMING Category Naming\n *\n * Some function in this library support associating an integer category\n * to enable filtering and sorting.  The category naming functions allow\n * the application to associate a user friendly name with the integer\n * category.  Support for domains have been added in NVTX_VERSION_2 to\n * avoid collisions when domains are developed independantly.\n *\n * \\subsection RESOURCE_OBJECTS Resource Objects\n *\n * Resource objects are a generic mechanism for attaching data to an application\n * resource.  The identifier field makes the association to a pointer or handle,\n * while the type field helps provide deeper understanding of the identifier as\n * well as enabling differentiation in cases where handles generated by different\n * APIs may collide.  The resource object may also have an associated message to\n * associate with the application resource, enabling further annotation of this\n * object and how it is used.\n *\n * The resource object was introduced in NVTX_VERSION_2 to supersede existing naming\n * functions and allow the application resource identified by those functions to be\n * associated to a domain.  The other naming functions are still supported for backward\n * compatibility but will be associated only to the default domain.\n *\n * \\subsection RESOURCE_NAMING_OS Resource Naming\n *\n * Some operating system resources creation APIs do not support providing a user friendly\n * name, such as some OS thread creation APIs.  This API support resource naming though\n * both through resource objects and functions following the pattern\n * nvtxName[RESOURCE_TYPE][A|W](identifier, name).  Resource objects introduced in NVTX_VERSION 2\n * supersede the other functions with a a more general method of assigning names to OS resources,\n * along with associating them to domains too.  The older nvtxName* functions are only associated\n * with the default domain.\n * \\section EXTENSIONS Optional Extensions\n * Optional extensions will either appear within the existing sections the extend or appear\n * in the \"Related Pages\" when they introduce new concepts.\n */\n\n /**\n * Tools Extension API version\n */\n#if defined(NVTX_VERSION) && NVTX_VERSION < 3\n#error \"Trying to #include NVTX version 3 in a source file where an older NVTX version has already been included.  If you are not directly using NVTX (the NVIDIA Tools Extension library), you are getting this error because libraries you are using have included different versions of NVTX.  Suggested solutions are: (1) reorder #includes so the newest NVTX version is included first, (2) avoid using the conflicting libraries in the same .c/.cpp file, or (3) update the library using the older NVTX version to use the newer version instead.\"\n#endif\n\n/* Header guard */\n#if !defined(NVTX_VERSION)\n#define NVTX_VERSION 3\n\n#if defined(_MSC_VER)\n#define NVTX_API __stdcall\n#define NVTX_INLINE_STATIC __inline static\n#else /*defined(__GNUC__)*/\n#define NVTX_API\n#if defined(__cplusplus) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)\n#define NVTX_INLINE_STATIC inline static\n#else\n#define NVTX_INLINE_STATIC __inline__ static\n#endif\n#endif /* Platform */\n\n#if defined(NVTX_NO_IMPL)\n/* When omitting implementation, avoid declaring functions inline */\n/* without definitions, since this causes compiler warnings. */\n#define NVTX_DECLSPEC\n#elif defined(NVTX_EXPORT_API)\n/* Allow overriding definition of NVTX_DECLSPEC when exporting API. */\n/* Default is empty, meaning non-inline with external linkage. */\n#if !defined(NVTX_DECLSPEC)\n#define NVTX_DECLSPEC\n#endif\n#else\n/* Normal NVTX usage defines the NVTX API inline with static */\n/* (internal) linkage. */\n#define NVTX_DECLSPEC NVTX_INLINE_STATIC\n#endif\n\n#include \"nvtxDetail/nvtxLinkOnce.h\"\n\n#define NVTX_VERSIONED_IDENTIFIER_L3(NAME, VERSION) NAME##_v##VERSION\n#define NVTX_VERSIONED_IDENTIFIER_L2(NAME, VERSION) NVTX_VERSIONED_IDENTIFIER_L3(NAME, VERSION)\n#define NVTX_VERSIONED_IDENTIFIER(NAME) NVTX_VERSIONED_IDENTIFIER_L2(NAME, NVTX_VERSION)\n\n/**\n * The nvToolsExt library depends on stdint.h.  If the build tool chain in use\n * does not include stdint.h then define NVTX_STDINT_TYPES_ALREADY_DEFINED\n * and define the following types:\n * <ul>\n *   <li>uint8_t\n *   <li>int8_t\n *   <li>uint16_t\n *   <li>int16_t\n *   <li>uint32_t\n *   <li>int32_t\n *   <li>uint64_t\n *   <li>int64_t\n *   <li>uintptr_t\n *   <li>intptr_t\n * </ul>\n * #define NVTX_STDINT_TYPES_ALREADY_DEFINED if you are using your own header file.\n */\n#ifndef NVTX_STDINT_TYPES_ALREADY_DEFINED\n#include <stdint.h>\n#endif\n\n#include <stddef.h>\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n/**\n* Result Codes\n*/\n\n#define NVTX_SUCCESS 0\n#define NVTX_FAIL 1\n#define NVTX_ERR_INIT_LOAD_PROPERTY 2\n#define NVTX_ERR_INIT_ACCESS_LIBRARY 3\n#define NVTX_ERR_INIT_LOAD_LIBRARY 4\n#define NVTX_ERR_INIT_MISSING_LIBRARY_ENTRY_POINT 5\n#define NVTX_ERR_INIT_FAILED_LIBRARY_ENTRY_POINT 6\n#define NVTX_ERR_NO_INJECTION_LIBRARY_AVAILABLE 7\n\n/**\n * Size of the nvtxEventAttributes_t structure.\n */\n#define NVTX_EVENT_ATTRIB_STRUCT_SIZE ( (uint16_t)( sizeof(nvtxEventAttributes_t) ) )\n\n#define NVTX_NO_PUSH_POP_TRACKING ((int)-2)\n\ntypedef uint64_t nvtxRangeId_t;\n\n/* Forward declaration of opaque domain registration structure */\nstruct nvtxDomainRegistration_st;\ntypedef struct nvtxDomainRegistration_st nvtxDomainRegistration;\n\n/* \\brief Domain Handle Structure.\n* \\anchor DOMAIN_HANDLE_STRUCTURE\n*\n* This structure is opaque to the user and is used as a handle to reference\n* a domain.  This type is returned from tools when using the NVTX API to\n* create a domain.\n*\n*/\ntypedef nvtxDomainRegistration* nvtxDomainHandle_t;\n\n/* Forward declaration of opaque string registration structure */\nstruct nvtxStringRegistration_st;\ntypedef struct nvtxStringRegistration_st nvtxStringRegistration;\n\n/* \\brief Registered String Handle Structure.\n* \\anchor REGISTERED_STRING_HANDLE_STRUCTURE\n*\n* This structure is opaque to the user and is used as a handle to reference\n* a registered string.  This type is returned from tools when using the NVTX\n* API to create a registered string.\n*\n*/\ntypedef nvtxStringRegistration* nvtxStringHandle_t;\n\n/* ========================================================================= */\n/** \\defgroup GENERAL General\n * @{\n */\n\n/** ---------------------------------------------------------------------------\n * Color Types\n * ------------------------------------------------------------------------- */\ntypedef enum nvtxColorType_t\n{\n    NVTX_COLOR_UNKNOWN  = 0,                 /**< Color attribute is unused. */\n    NVTX_COLOR_ARGB     = 1                  /**< An ARGB color is provided. */\n} nvtxColorType_t;\n\n/** ---------------------------------------------------------------------------\n * Message Types\n * ------------------------------------------------------------------------- */\ntypedef enum nvtxMessageType_t\n{\n    NVTX_MESSAGE_UNKNOWN          = 0,    /**< Message attribute is unused. */\n    NVTX_MESSAGE_TYPE_ASCII       = 1,    /**< A character sequence is used as payload. */\n    NVTX_MESSAGE_TYPE_UNICODE     = 2,     /**< A wide character sequence is used as payload. */\n    /* NVTX_VERSION_2 */\n    NVTX_MESSAGE_TYPE_REGISTERED  = 3,    /**< A unique string handle that was registered\n                                                with \\ref nvtxDomainRegisterStringA() or\n                                                \\ref nvtxDomainRegisterStringW(). */\n} nvtxMessageType_t;\n\ntypedef union nvtxMessageValue_t\n{\n    const char* ascii;\n    const wchar_t* unicode;\n    /* NVTX_VERSION_2 */\n    nvtxStringHandle_t registered;\n} nvtxMessageValue_t;\n\n\n/** @} */ /*END defgroup*/\n/* ------------------------------------------------------------------------- */\n/** \\brief Force initialization (optional)\n*\n* Force NVTX library to initialize.  The first call to any NVTX API function\n* will automatically initialize the entire API.  This can make the first call\n* much slower than subsequent calls.  In applications where the first call to\n* NVTX may be in a performance-critical section, calling nvtxInitialize before\n* any performance-critical sections will ensure NVTX initialization occurs at\n* an acceptable time.  Since nvtxInitialize takes no parameters and has no\n* expected behavior besides initialization, it is convenient to add a call to\n* nvtxInitialize in NVTX-instrumented applications that need to force earlier\n* initialization without changing any other code.  For example, if an app's\n* first NVTX call is nvtxDomainCreate, and it is difficult to move that call\n* earlier because the domain handle must be stored in an object only created\n* at that point, adding a call to nvtxInitialize at the top of main() will\n* ensure the later call to nvtxDomainCreate is as fast as possible.\n*\n* \\version \\NVTX_VERSION_3\n*\n* \\param reserved - must be zero or NULL.\n*\n* @{ */\nNVTX_DECLSPEC void NVTX_API nvtxInitialize(const void* reserved);\n/** @} */\n\n\n/** @} */ /*END defgroup*/\n\n/* ========================================================================= */\n/** \\defgroup EVENT_ATTRIBUTES Event Attributes\n* @{\n*/\n\n/** ---------------------------------------------------------------------------\n* Payload Types\n* ------------------------------------------------------------------------- */\ntypedef enum nvtxPayloadType_t\n{\n    NVTX_PAYLOAD_UNKNOWN = 0,   /**< Payload attribute is unused. */\n    NVTX_PAYLOAD_TYPE_UNSIGNED_INT64 = 1,   /**< A 64 bit unsigned integer value is used as payload. */\n    NVTX_PAYLOAD_TYPE_INT64 = 2,   /**< A 64 bit signed integer value is used as payload. */\n    NVTX_PAYLOAD_TYPE_DOUBLE = 3,   /**< A 64 bit floating point value is used as payload. */\n    /* NVTX_VERSION_2 */\n    NVTX_PAYLOAD_TYPE_UNSIGNED_INT32 = 4,   /**< A 32 bit floating point value is used as payload. */\n    NVTX_PAYLOAD_TYPE_INT32 = 5,   /**< A 32 bit floating point value is used as payload. */\n    NVTX_PAYLOAD_TYPE_FLOAT = 6    /**< A 32 bit floating point value is used as payload. */\n} nvtxPayloadType_t;\n\n/** \\brief Event Attribute Structure.\n * \\anchor EVENT_ATTRIBUTE_STRUCTURE\n *\n * This structure is used to describe the attributes of an event. The layout of\n * the structure is defined by a specific version of the tools extension\n * library and can change between different versions of the Tools Extension\n * library.\n *\n * \\par Initializing the Attributes\n *\n * The caller should always perform the following three tasks when using\n * attributes:\n * <ul>\n *    <li>Zero the structure\n *    <li>Set the version field\n *    <li>Set the size field\n * </ul>\n *\n * Zeroing the structure sets all the event attributes types and values\n * to the default value.\n *\n * The version and size field are used by the Tools Extension\n * implementation to handle multiple versions of the attributes structure.\n *\n * It is recommended that the caller use one of the following to methods\n * to initialize the event attributes structure:\n *\n * \\par Method 1: Initializing nvtxEventAttributes for future compatibility\n * \\code\n * nvtxEventAttributes_t eventAttrib = {0};\n * eventAttrib.version = NVTX_VERSION;\n * eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n * \\endcode\n *\n * \\par Method 2: Initializing nvtxEventAttributes for a specific version\n * \\code\n * nvtxEventAttributes_t eventAttrib = {0};\n * eventAttrib.version = 1;\n * eventAttrib.size = (uint16_t)(sizeof(nvtxEventAttributes_v1));\n * \\endcode\n *\n * If the caller uses Method 1 it is critical that the entire binary\n * layout of the structure be configured to 0 so that all fields\n * are initialized to the default value.\n *\n * The caller should either use both NVTX_VERSION and\n * NVTX_EVENT_ATTRIB_STRUCT_SIZE (Method 1) or use explicit values\n * and a versioned type (Method 2).  Using a mix of the two methods\n * will likely cause either source level incompatibility or binary\n * incompatibility in the future.\n *\n * \\par Settings Attribute Types and Values\n *\n *\n * \\par Example:\n * \\code\n * // Initialize\n * nvtxEventAttributes_t eventAttrib = {0};\n * eventAttrib.version = NVTX_VERSION;\n * eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n *\n * // Configure the Attributes\n * eventAttrib.colorType = NVTX_COLOR_ARGB;\n * eventAttrib.color = 0xFF880000;\n * eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;\n * eventAttrib.message.ascii = \"Example\";\n * \\endcode\n *\n * In the example the caller does not have to set the value of\n * \\ref ::nvtxEventAttributes_v2::category or\n * \\ref ::nvtxEventAttributes_v2::payload as these fields were set to\n * the default value by {0}.\n * \\sa\n * ::nvtxDomainMarkEx\n * ::nvtxDomainRangeStartEx\n * ::nvtxDomainRangePushEx\n */\ntypedef struct nvtxEventAttributes_v2\n{\n    /**\n    * \\brief Version flag of the structure.\n    *\n    * Needs to be set to NVTX_VERSION to indicate the version of NVTX APIs\n    * supported in this header file. This can optionally be overridden to\n    * another version of the tools extension library.\n    */\n    uint16_t version;\n\n    /**\n    * \\brief Size of the structure.\n    *\n    * Needs to be set to the size in bytes of the event attribute\n    * structure used to specify the event.\n    */\n    uint16_t size;\n\n    /**\n     * \\brief ID of the category the event is assigned to.\n     *\n     * A category is a user-controlled ID that can be used to group\n     * events.  The tool may use category IDs to improve filtering or\n     * enable grouping of events in the same category. The functions\n     * \\ref ::nvtxNameCategoryA or \\ref ::nvtxNameCategoryW can be used\n     * to name a category.\n     *\n     * Default Value is 0\n     */\n    uint32_t category;\n\n    /** \\brief Color type specified in this attribute structure.\n     *\n     * Defines the color format of the attribute structure's \\ref COLOR_FIELD\n     * \"color\" field.\n     *\n     * Default Value is NVTX_COLOR_UNKNOWN\n     */\n    int32_t colorType;              /* nvtxColorType_t */\n\n    /** \\brief Color assigned to this event. \\anchor COLOR_FIELD\n     *\n     * The color that the tool should use to visualize the event.\n     */\n    uint32_t color;\n\n    /**\n     * \\brief Payload type specified in this attribute structure.\n     *\n     * Defines the payload format of the attribute structure's \\ref PAYLOAD_FIELD\n     * \"payload\" field.\n     *\n     * Default Value is NVTX_PAYLOAD_UNKNOWN\n     */\n    int32_t payloadType;            /* nvtxPayloadType_t */\n\n    int32_t reserved0;\n\n    /**\n     * \\brief Payload assigned to this event. \\anchor PAYLOAD_FIELD\n     *\n     * A numerical value that can be used to annotate an event. The tool could\n     * use the payload data to reconstruct graphs and diagrams.\n     */\n    union payload_t\n    {\n        uint64_t ullValue;\n        int64_t llValue;\n        double dValue;\n        /* NVTX_VERSION_2 */\n        uint32_t uiValue;\n        int32_t iValue;\n        float fValue;\n    } payload;\n\n    /** \\brief Message type specified in this attribute structure.\n     *\n     * Defines the message format of the attribute structure's \\ref MESSAGE_FIELD\n     * \"message\" field.\n     *\n     * Default Value is NVTX_MESSAGE_UNKNOWN\n     */\n    int32_t messageType;            /* nvtxMessageType_t */\n\n    /** \\brief Message assigned to this attribute structure. \\anchor MESSAGE_FIELD\n     *\n     * The text message that is attached to an event.\n     */\n    nvtxMessageValue_t message;\n\n} nvtxEventAttributes_v2;\n\ntypedef struct nvtxEventAttributes_v2 nvtxEventAttributes_t;\n\n/** @} */ /*END defgroup*/\n/* ========================================================================= */\n/** \\defgroup MARKERS_AND_RANGES Markers and Ranges\n *\n * See \\ref MARKERS_AND_RANGES for more details\n *\n * @{\n */\n\n/** \\name Marker */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Marks an instantaneous event in the application.\n*\n* A marker can contain a text message or specify additional information\n* using the event attributes structure.  These attributes include a text\n* message, color, category, and a payload. Each of the attributes is optional\n* and can only be sent out using the \\ref nvtxDomainMarkEx function.\n*\n* nvtxDomainMarkEx(NULL, event) is equivalent to calling\n* nvtxMarkEx(event).\n*\n* \\param domain    - The domain of scoping the category.\n* \\param eventAttrib - The event attribute structure defining the marker's\n* attribute types and attribute values.\n*\n* \\sa\n* ::nvtxMarkEx\n*\n* \\version \\NVTX_VERSION_2\n* @{ */\nNVTX_DECLSPEC void NVTX_API nvtxDomainMarkEx(nvtxDomainHandle_t domain, const nvtxEventAttributes_t* eventAttrib);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Marks an instantaneous event in the application.\n *\n * A marker can contain a text message or specify additional information\n * using the event attributes structure.  These attributes include a text\n * message, color, category, and a payload. Each of the attributes is optional\n * and can only be sent out using the \\ref nvtxMarkEx function.\n * If \\ref nvtxMarkA or \\ref nvtxMarkW are used to specify the marker\n * or if an attribute is unspecified then a default value will be used.\n *\n * \\param eventAttrib - The event attribute structure defining the marker's\n * attribute types and attribute values.\n *\n * \\par Example:\n * \\code\n * // zero the structure\n * nvtxEventAttributes_t eventAttrib = {0};\n * // set the version and the size information\n * eventAttrib.version = NVTX_VERSION;\n * eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n * // configure the attributes.  0 is the default for all attributes.\n * eventAttrib.colorType = NVTX_COLOR_ARGB;\n * eventAttrib.color = 0xFF880000;\n * eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;\n * eventAttrib.message.ascii = \"Example nvtxMarkEx\";\n * nvtxMarkEx(&eventAttrib);\n * \\endcode\n *\n * \\sa\n * ::nvtxDomainMarkEx\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxMarkEx(const nvtxEventAttributes_t* eventAttrib);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Marks an instantaneous event in the application.\n *\n * A marker created using \\ref nvtxMarkA or \\ref nvtxMarkW contains only a\n * text message.\n *\n * \\param message     - The message associated to this marker event.\n *\n * \\par Example:\n * \\code\n * nvtxMarkA(\"Example nvtxMarkA\");\n * nvtxMarkW(L\"Example nvtxMarkW\");\n * \\endcode\n *\n * \\sa\n * ::nvtxDomainMarkEx\n * ::nvtxMarkEx\n *\n * \\version \\NVTX_VERSION_0\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxMarkA(const char* message);\nNVTX_DECLSPEC void NVTX_API nvtxMarkW(const wchar_t* message);\n/** @} */\n\n\n/** \\name Process Ranges */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Starts a process range in a domain.\n*\n* \\param domain    - The domain of scoping the category.\n* \\param eventAttrib - The event attribute structure defining the range's\n* attribute types and attribute values.\n*\n* \\return The unique ID used to correlate a pair of Start and End events.\n*\n* \\remarks Ranges defined by Start/End can overlap.\n*\n* \\par Example:\n* \\code\n* nvtxDomainHandle_t domain = nvtxDomainCreateA(\"my domain\");\n* nvtxEventAttributes_t eventAttrib = {0};\n* eventAttrib.version = NVTX_VERSION;\n* eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n* eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;\n* eventAttrib.message.ascii = \"my range\";\n* nvtxRangeId_t rangeId = nvtxDomainRangeStartEx(&eventAttrib);\n* // ...\n* nvtxDomainRangeEnd(rangeId);\n* \\endcode\n*\n* \\sa\n* ::nvtxDomainRangeEnd\n*\n* \\version \\NVTX_VERSION_2\n* @{ */\nNVTX_DECLSPEC nvtxRangeId_t NVTX_API nvtxDomainRangeStartEx(nvtxDomainHandle_t domain, const nvtxEventAttributes_t* eventAttrib);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Starts a process range.\n *\n * \\param eventAttrib - The event attribute structure defining the range's\n * attribute types and attribute values.\n *\n * \\return The unique ID used to correlate a pair of Start and End events.\n *\n * \\remarks Ranges defined by Start/End can overlap.\n *\n * \\par Example:\n * \\code\n * nvtxEventAttributes_t eventAttrib = {0};\n * eventAttrib.version = NVTX_VERSION;\n * eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n * eventAttrib.category = 3;\n * eventAttrib.colorType = NVTX_COLOR_ARGB;\n * eventAttrib.color = 0xFF0088FF;\n * eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;\n * eventAttrib.message.ascii = \"Example Range\";\n * nvtxRangeId_t rangeId = nvtxRangeStartEx(&eventAttrib);\n * // ...\n * nvtxRangeEnd(rangeId);\n * \\endcode\n *\n * \\sa\n * ::nvtxRangeEnd\n * ::nvtxDomainRangeStartEx\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC nvtxRangeId_t NVTX_API nvtxRangeStartEx(const nvtxEventAttributes_t* eventAttrib);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Starts a process range.\n *\n * \\param message     - The event message associated to this range event.\n *\n * \\return The unique ID used to correlate a pair of Start and End events.\n *\n * \\remarks Ranges defined by Start/End can overlap.\n *\n * \\par Example:\n * \\code\n * nvtxRangeId_t r1 = nvtxRangeStartA(\"Range 1\");\n * nvtxRangeId_t r2 = nvtxRangeStartW(L\"Range 2\");\n * nvtxRangeEnd(r1);\n * nvtxRangeEnd(r2);\n * \\endcode\n *\n * \\sa\n * ::nvtxRangeEnd\n * ::nvtxRangeStartEx\n * ::nvtxDomainRangeStartEx\n *\n * \\version \\NVTX_VERSION_0\n * @{ */\nNVTX_DECLSPEC nvtxRangeId_t NVTX_API nvtxRangeStartA(const char* message);\nNVTX_DECLSPEC nvtxRangeId_t NVTX_API nvtxRangeStartW(const wchar_t* message);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Ends a process range.\n*\n* \\param domain - The domain\n* \\param id - The correlation ID returned from a nvtxRangeStart call.\n*\n* \\remarks This function is offered completeness but is an alias for ::nvtxRangeEnd.\n* It does not need a domain param since that is associated iwth the range ID at ::nvtxDomainRangeStartEx\n*\n* \\par Example:\n* \\code\n* nvtxDomainHandle_t domain = nvtxDomainCreateA(\"my domain\");\n* nvtxEventAttributes_t eventAttrib = {0};\n* eventAttrib.version = NVTX_VERSION;\n* eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n* eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;\n* eventAttrib.message.ascii = \"my range\";\n* nvtxRangeId_t rangeId = nvtxDomainRangeStartEx(&eventAttrib);\n* // ...\n* nvtxDomainRangeEnd(rangeId);\n* \\endcode\n*\n* \\sa\n* ::nvtxDomainRangeStartEx\n*\n* \\version \\NVTX_VERSION_2\n* @{ */\nNVTX_DECLSPEC void NVTX_API nvtxDomainRangeEnd(nvtxDomainHandle_t domain, nvtxRangeId_t id);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Ends a process range.\n *\n * \\param id - The correlation ID returned from an nvtxRangeStart call.\n *\n * \\sa\n * ::nvtxDomainRangeStartEx\n * ::nvtxRangeStartEx\n * ::nvtxRangeStartA\n * ::nvtxRangeStartW\n *\n * \\version \\NVTX_VERSION_0\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxRangeEnd(nvtxRangeId_t id);\n/** @} */\n\n/** \\name Thread Ranges */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Starts a nested thread range.\n*\n* \\param domain    - The domain of scoping.\n* \\param eventAttrib - The event attribute structure defining the range's\n* attribute types and attribute values.\n*\n* \\return The 0 based level of range being started. This value is scoped to the domain.\n* If an error occurs, a negative value is returned.\n*\n* \\par Example:\n* \\code\n* nvtxDomainHandle_t domain = nvtxDomainCreateA(\"example domain\");\n* nvtxEventAttributes_t eventAttrib = {0};\n* eventAttrib.version = NVTX_VERSION;\n* eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n* eventAttrib.colorType = NVTX_COLOR_ARGB;\n* eventAttrib.color = 0xFFFF0000;\n* eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;\n* eventAttrib.message.ascii = \"Level 0\";\n* nvtxDomainRangePushEx(domain, &eventAttrib);\n*\n* // Re-use eventAttrib\n* eventAttrib.messageType = NVTX_MESSAGE_TYPE_UNICODE;\n* eventAttrib.message.unicode = L\"Level 1\";\n* nvtxDomainRangePushEx(domain, &eventAttrib);\n*\n* nvtxDomainRangePop(domain); //level 1\n* nvtxDomainRangePop(domain); //level 0\n* \\endcode\n*\n* \\sa\n* ::nvtxDomainRangePop\n*\n* \\version \\NVTX_VERSION_2\n* @{ */\nNVTX_DECLSPEC int NVTX_API nvtxDomainRangePushEx(nvtxDomainHandle_t domain, const nvtxEventAttributes_t* eventAttrib);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Starts a nested thread range.\n *\n * \\param eventAttrib - The event attribute structure defining the range's\n * attribute types and attribute values.\n *\n * \\return The 0 based level of range being started. This level is per domain.\n * If an error occurs a negative value is returned.\n *\n * \\par Example:\n * \\code\n * nvtxEventAttributes_t eventAttrib = {0};\n * eventAttrib.version = NVTX_VERSION;\n * eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n * eventAttrib.colorType = NVTX_COLOR_ARGB;\n * eventAttrib.color = 0xFFFF0000;\n * eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;\n * eventAttrib.message.ascii = \"Level 0\";\n * nvtxRangePushEx(&eventAttrib);\n *\n * // Re-use eventAttrib\n * eventAttrib.messageType = NVTX_MESSAGE_TYPE_UNICODE;\n * eventAttrib.message.unicode = L\"Level 1\";\n * nvtxRangePushEx(&eventAttrib);\n *\n * nvtxRangePop();\n * nvtxRangePop();\n * \\endcode\n *\n * \\sa\n * ::nvtxDomainRangePushEx\n * ::nvtxRangePop\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC int NVTX_API nvtxRangePushEx(const nvtxEventAttributes_t* eventAttrib);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Starts a nested thread range.\n *\n * \\param message     - The event message associated to this range event.\n *\n * \\return The 0 based level of range being started.  If an error occurs a\n * negative value is returned.\n *\n * \\par Example:\n * \\code\n * nvtxRangePushA(\"Level 0\");\n * nvtxRangePushW(L\"Level 1\");\n * nvtxRangePop();\n * nvtxRangePop();\n * \\endcode\n *\n * \\sa\n * ::nvtxDomainRangePushEx\n * ::nvtxRangePop\n *\n * \\version \\NVTX_VERSION_0\n * @{ */\nNVTX_DECLSPEC int NVTX_API nvtxRangePushA(const char* message);\nNVTX_DECLSPEC int NVTX_API nvtxRangePushW(const wchar_t* message);\n/** @} */\n\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Ends a nested thread range.\n*\n* \\return The level of the range being ended. If an error occurs a negative\n* value is returned on the current thread.\n*\n* \\par Example:\n* \\code\n* nvtxDomainHandle_t domain = nvtxDomainCreate(\"example library\");\n* nvtxDomainRangePushA(domain, \"Level 0\");\n* nvtxDomainRangePushW(domain, L\"Level 1\");\n* nvtxDomainRangePop(domain);\n* nvtxDomainRangePop(domain);\n* \\endcode\n*\n* \\sa\n* ::nvtxRangePushEx\n* ::nvtxRangePushA\n* ::nvtxRangePushW\n*\n* \\version \\NVTX_VERSION_2\n* @{ */\nNVTX_DECLSPEC int NVTX_API nvtxDomainRangePop(nvtxDomainHandle_t domain);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Ends a nested thread range.\n *\n * \\return The level of the range being ended. If an error occurs a negative\n * value is returned on the current thread.\n *\n * \\par Example:\n * \\code\n * nvtxRangePushA(\"Level 0\");\n * nvtxRangePushW(L\"Level 1\");\n * nvtxRangePop();\n * nvtxRangePop();\n * \\endcode\n *\n * \\sa\n * ::nvtxRangePushEx\n * ::nvtxRangePushA\n * ::nvtxRangePushW\n *\n * \\version \\NVTX_VERSION_0\n * @{ */\nNVTX_DECLSPEC int NVTX_API nvtxRangePop(void);\n/** @} */\n\n\n/** @} */ /*END defgroup*/\n/* ========================================================================= */\n/** \\defgroup RESOURCE_NAMING Resource Naming\n *\n * See \\ref RESOURCE_NAMING for more details\n *\n * @{\n */\n\n\n/*  ------------------------------------------------------------------------- */\n/** \\name Functions for Generic Resource Naming*/\n/*  ------------------------------------------------------------------------- */\n\n/*  ------------------------------------------------------------------------- */\n/** \\cond SHOW_HIDDEN\n* \\brief Resource typing helpers.\n*\n* Classes are used to make it easy to create a series of resource types\n* per API without collisions\n*/\n#define NVTX_RESOURCE_MAKE_TYPE(CLASS, INDEX) ((((uint32_t)(NVTX_RESOURCE_CLASS_ ## CLASS))<<16)|((uint32_t)(INDEX)))\n#define NVTX_RESOURCE_CLASS_GENERIC 1\n/** \\endcond */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Generic resource type for when a resource class is not available.\n*\n* \\sa\n* ::nvtxDomainResourceCreate\n*\n* \\version \\NVTX_VERSION_2\n*/\ntypedef enum nvtxResourceGenericType_t\n{\n    NVTX_RESOURCE_TYPE_UNKNOWN = 0,\n    NVTX_RESOURCE_TYPE_GENERIC_POINTER = NVTX_RESOURCE_MAKE_TYPE(GENERIC, 1), /**< Generic pointer assumed to have no collisions with other pointers. */\n    NVTX_RESOURCE_TYPE_GENERIC_HANDLE = NVTX_RESOURCE_MAKE_TYPE(GENERIC, 2), /**< Generic handle assumed to have no collisions with other handles. */\n    NVTX_RESOURCE_TYPE_GENERIC_THREAD_NATIVE = NVTX_RESOURCE_MAKE_TYPE(GENERIC, 3), /**< OS native thread identifier. */\n    NVTX_RESOURCE_TYPE_GENERIC_THREAD_POSIX = NVTX_RESOURCE_MAKE_TYPE(GENERIC, 4) /**< POSIX pthread identifier. */\n} nvtxResourceGenericType_t;\n\n\n\n/** \\brief Resource Attribute Structure.\n* \\anchor RESOURCE_ATTRIBUTE_STRUCTURE\n*\n* This structure is used to describe the attributes of a resource. The layout of\n* the structure is defined by a specific version of the tools extension\n* library and can change between different versions of the Tools Extension\n* library.\n*\n* \\par Initializing the Attributes\n*\n* The caller should always perform the following three tasks when using\n* attributes:\n* <ul>\n*    <li>Zero the structure\n*    <li>Set the version field\n*    <li>Set the size field\n* </ul>\n*\n* Zeroing the structure sets all the resource attributes types and values\n* to the default value.\n*\n* The version and size field are used by the Tools Extension\n* implementation to handle multiple versions of the attributes structure.\n*\n* It is recommended that the caller use one of the following to methods\n* to initialize the event attributes structure:\n*\n* \\par Method 1: Initializing nvtxEventAttributes for future compatibility\n* \\code\n* nvtxResourceAttributes_t attribs = {0};\n* attribs.version = NVTX_VERSION;\n* attribs.size = NVTX_RESOURCE_ATTRIB_STRUCT_SIZE;\n* \\endcode\n*\n* \\par Method 2: Initializing nvtxEventAttributes for a specific version\n* \\code\n* nvtxResourceAttributes_v0 attribs = {0};\n* attribs.version = 2;\n* attribs.size = (uint16_t)(sizeof(nvtxResourceAttributes_v0));\n* \\endcode\n*\n* If the caller uses Method 1 it is critical that the entire binary\n* layout of the structure be configured to 0 so that all fields\n* are initialized to the default value.\n*\n* The caller should either use both NVTX_VERSION and\n* NVTX_RESOURCE_ATTRIB_STRUCT_SIZE (Method 1) or use explicit values\n* and a versioned type (Method 2).  Using a mix of the two methods\n* will likely cause either source level incompatibility or binary\n* incompatibility in the future.\n*\n* \\par Settings Attribute Types and Values\n*\n*\n* \\par Example:\n* \\code\n* nvtxDomainHandle_t domain = nvtxDomainCreateA(\"example domain\");\n*\n* // Initialize\n* nvtxResourceAttributes_t attribs = {0};\n* attribs.version = NVTX_VERSION;\n* attribs.size = NVTX_RESOURCE_ATTRIB_STRUCT_SIZE;\n*\n* // Configure the Attributes\n* attribs.identifierType = NVTX_RESOURCE_TYPE_GENERIC_POINTER;\n* attribs.identifier.pValue = (const void*)pMutex;\n* attribs.messageType = NVTX_MESSAGE_TYPE_ASCII;\n* attribs.message.ascii = \"Single thread access to database.\";\n*\n* nvtxResourceHandle_t handle = nvtxDomainResourceCreate(domain, attribs);\n* \\endcode\n*\n* \\sa\n* ::nvtxDomainResourceCreate\n*/\ntypedef struct nvtxResourceAttributes_v0\n{\n    /**\n    * \\brief Version flag of the structure.\n    *\n    * Needs to be set to NVTX_VERSION to indicate the version of NVTX APIs\n    * supported in this header file. This can optionally be overridden to\n    * another version of the tools extension library.\n    */\n    uint16_t version;\n\n    /**\n    * \\brief Size of the structure.\n    *\n    * Needs to be set to the size in bytes of this attribute\n    * structure.\n    */\n    uint16_t size;\n\n    /**\n    * \\brief Identifier type specifies how to interpret the identifier field\n    *\n    * Defines the identifier format of the attribute structure's \\ref RESOURCE_IDENTIFIER_FIELD\n    * \"identifier\" field.\n    *\n    * Default Value is NVTX_RESOURCE_TYPE_UNKNOWN\n    */\n    int32_t identifierType;            /* values from enums following the pattern nvtxResource[name]Type_t */\n\n    /**\n    * \\brief Identifier for the resource.\n    * \\anchor RESOURCE_IDENTIFIER_FIELD\n    *\n    * An identifier may be a pointer or a handle to an OS or middleware API object.\n    * The resource type will assist in avoiding collisions where handles values may collide.\n    */\n    union identifier_t\n    {\n        const void* pValue;\n        uint64_t ullValue;\n    } identifier;\n\n    /** \\brief Message type specified in this attribute structure.\n    *\n    * Defines the message format of the attribute structure's \\ref RESOURCE_MESSAGE_FIELD\n    * \"message\" field.\n    *\n    * Default Value is NVTX_MESSAGE_UNKNOWN\n    */\n    int32_t messageType;            /* nvtxMessageType_t */\n\n    /** \\brief Message assigned to this attribute structure. \\anchor RESOURCE_MESSAGE_FIELD\n    *\n    * The text message that is attached to a resource.\n    */\n    nvtxMessageValue_t message;\n\n} nvtxResourceAttributes_v0;\n\ntypedef struct nvtxResourceAttributes_v0 nvtxResourceAttributes_t;\n\n/* \\cond SHOW_HIDDEN\n* \\version \\NVTX_VERSION_2\n*/\n#define NVTX_RESOURCE_ATTRIB_STRUCT_SIZE ( (uint16_t)( sizeof(nvtxResourceAttributes_v0) ) )\ntypedef struct nvtxResourceHandle* nvtxResourceHandle_t;\n/** \\endcond */\n\n\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Create a resource object to track and associate data with OS and middleware objects\n*\n* Allows users to associate an API handle or pointer with a user-provided name.\n*\n*\n* \\param domain - Domain to own the resource object\n* \\param attribs - Attributes to be associated with the resource\n*\n* \\return A handle that represents the newly created resource object.\n*\n* \\par Example:\n* \\code\n* nvtxDomainHandle_t domain = nvtxDomainCreateA(\"example domain\");\n* nvtxResourceAttributes_t attribs = {0};\n* attribs.version = NVTX_VERSION;\n* attribs.size = NVTX_RESOURCE_ATTRIB_STRUCT_SIZE;\n* attribs.identifierType = NVTX_RESOURCE_TYPE_GENERIC_POINTER;\n* attribs.identifier.pValue = (const void*)pMutex;\n* attribs.messageType = NVTX_MESSAGE_TYPE_ASCII;\n* attribs.message.ascii = \"Single thread access to database.\";\n* nvtxResourceHandle_t handle = nvtxDomainResourceCreate(domain, attribs);\n* \\endcode\n*\n* \\sa\n* ::nvtxResourceAttributes_t\n* ::nvtxDomainResourceDestroy\n*\n* \\version \\NVTX_VERSION_2\n* @{ */\nNVTX_DECLSPEC nvtxResourceHandle_t NVTX_API nvtxDomainResourceCreate(nvtxDomainHandle_t domain, nvtxResourceAttributes_t* attribs);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Destroy a resource object to track and associate data with OS and middleware objects\n*\n* Allows users to associate an API handle or pointer with a user-provided name.\n*\n* \\param resource - Handle to the resource in which to operate.\n*\n* \\par Example:\n* \\code\n* nvtxDomainHandle_t domain = nvtxDomainCreateA(\"example domain\");\n* nvtxResourceAttributes_t attribs = {0};\n* attribs.version = NVTX_VERSION;\n* attribs.size = NVTX_RESOURCE_ATTRIB_STRUCT_SIZE;\n* attribs.identifierType = NVTX_RESOURCE_TYPE_GENERIC_POINTER;\n* attribs.identifier.pValue = (const void*)pMutex;\n* attribs.messageType = NVTX_MESSAGE_TYPE_ASCII;\n* attribs.message.ascii = \"Single thread access to database.\";\n* nvtxResourceHandle_t handle = nvtxDomainResourceCreate(domain, attribs);\n* nvtxDomainResourceDestroy(handle);\n* \\endcode\n*\n* \\sa\n* ::nvtxDomainResourceCreate\n*\n* \\version \\NVTX_VERSION_2\n* @{ */\nNVTX_DECLSPEC void NVTX_API nvtxDomainResourceDestroy(nvtxResourceHandle_t resource);\n/** @} */\n\n\n/** \\name Functions for NVTX Category Naming*/\n\n/* ------------------------------------------------------------------------- */\n/**\n* \\brief Annotate an NVTX category used within a domain.\n*\n* Categories are used to group sets of events. Each category is identified\n* through a unique ID and that ID is passed into any of the marker/range\n* events to assign that event to a specific category. The nvtxDomainNameCategory\n* function calls allow the user to assign a name to a category ID that is\n* specific to the domain.\n*\n* nvtxDomainNameCategory(NULL, category, name) is equivalent to calling\n* nvtxNameCategory(category, name).\n*\n* \\param domain    - The domain of scoping the category.\n* \\param category  - The category ID to name.\n* \\param name      - The name of the category.\n*\n* \\remarks The category names are tracked per domain.\n*\n* \\par Example:\n* \\code\n* nvtxDomainHandle_t domain = nvtxDomainCreateA(\"example\");\n* nvtxDomainNameCategoryA(domain, 1, \"Memory Allocation\");\n* nvtxDomainNameCategoryW(domain, 2, L\"Memory Transfer\");\n* \\endcode\n*\n* \\version \\NVTX_VERSION_2\n* @{ */\nNVTX_DECLSPEC void NVTX_API nvtxDomainNameCategoryA(nvtxDomainHandle_t domain, uint32_t category, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxDomainNameCategoryW(nvtxDomainHandle_t domain, uint32_t category, const wchar_t* name);\n/** @} */\n\n/** \\brief Annotate an NVTX category.\n *\n * Categories are used to group sets of events. Each category is identified\n * through a unique ID and that ID is passed into any of the marker/range\n * events to assign that event to a specific category. The nvtxNameCategory\n * function calls allow the user to assign a name to a category ID.\n *\n * \\param category - The category ID to name.\n * \\param name     - The name of the category.\n *\n * \\remarks The category names are tracked per process.\n *\n * \\par Example:\n * \\code\n * nvtxNameCategory(1, \"Memory Allocation\");\n * nvtxNameCategory(2, \"Memory Transfer\");\n * nvtxNameCategory(3, \"Memory Object Lifetime\");\n * \\endcode\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameCategoryA(uint32_t category, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameCategoryW(uint32_t category, const wchar_t* name);\n/** @} */\n\n/** \\name Functions for OS Threads Naming*/\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Annotate an OS thread.\n *\n * Allows the user to name an active thread of the current process. If an\n * invalid thread ID is provided or a thread ID from a different process is\n * used the behavior of the tool is implementation dependent.\n *\n * Tools expect thread ID to be a number that uniquely identifies the thread\n * at the time of the call. Note that a thread's ID can be reused after\n * it is destroyed. Tools may choose how to handle aliasing of thread IDs.\n *\n * POSIX pthread_t type returned by pthread_self() may not comply with these\n * expectations. Please use OS-specific thread ID instead of pthread_t.\n *\n * The thread name is associated to the default domain.  To support domains\n * use resource objects via ::nvtxDomainResourceCreate.\n *\n * \\param threadId - The ID of the thread to name.\n * \\param name     - The name of the thread.\n *\n * \\par Examples:\n * MS Windows:\n * \\code\n * #include <windows.h>\n * nvtxNameOsThread(GetCurrentThreadId(), \"Current thread\");\n * nvtxNameOsThread(GetThreadId(SomeThreadHandle), \"Other thread\");\n * \\endcode\n *\n * Android:\n * \\code\n * #include <unistd.h>\n * nvtxNameOsThreadA(gettid(), \"Current thread\");\n * nvtxNameOsThreadA(getpid(), \"Main thread\");\n * \\endcode\n *\n * Linux:\n * \\code\n * #include <sys/syscall.h>\n * nvtxNameOsThreadA(syscall(SYS_gettid), \"Current thread\");\n * \\endcode\n * \\code\n * #include <unistd.h>\n * nvtxNameOsThreadA(getpid(), \"Main thread\");\n * \\endcode\n *\n * OS X:\n * \\code\n * #include <sys/syscall.h>\n * nvtxNameOsThreadA(syscall(SYS_thread_selfid), \"Current thread\");\n * \\endcode\n * \\code\n * #include <pthread.h>\n * __uint64_t id;\n * pthread_threadid_np(pthread_self(), &id);\n * nvtxNameOsThreadA(id, \"Current thread\");\n * pthread_threadid_np(somePThreadId, &id);\n * nvtxNameOsThreadA(id, \"Other thread\");\n * \\endcode\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameOsThreadA(uint32_t threadId, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameOsThreadW(uint32_t threadId, const wchar_t* name);\n/** @} */\n\n\n/** @} */ /*END defgroup*/\n/* ========================================================================= */\n/** \\defgroup STRING_REGISTRATION String Registration\n*\n* Registered strings are intended to increase performance by lowering instrumentation\n* overhead.  String may be registered once and the handle may be passed in place of\n* a string where an the APIs may allow.\n*\n* See \\ref STRING_REGISTRATION for more details\n*\n* @{\n*/\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Register a string.\n\n* Registers an immutable string with NVTX. Once registered the pointer used\n* to register the domain name can be used in nvtxEventAttributes_t\n* \\ref MESSAGE_FIELD. This allows NVTX implementation to skip copying the\n* contents of the message on each event invocation.\n*\n* String registration is an optimization. It is recommended to use string\n* registration if the string will be passed to an event many times.\n*\n* String are not unregistered, except that by unregistering the entire domain\n*\n* \\param domain  - Domain handle. If NULL then the global domain is used.\n* \\param string    - A unique pointer to a sequence of characters.\n*\n* \\return A handle representing the registered string.\n*\n* \\par Example:\n* \\code\n* nvtxDomainCreateA(\"com.nvidia.nvtx.example\");\n* nvtxStringHandle_t message = nvtxDomainRegisterStringA(domain, \"registered string\");\n* nvtxEventAttributes_t eventAttrib = {0};\n* eventAttrib.version = NVTX_VERSION;\n* eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n* eventAttrib.messageType = NVTX_MESSAGE_TYPE_REGISTERED;\n* eventAttrib.message.registered = message;\n* \\endcode\n*\n* \\version \\NVTX_VERSION_2\n* @{ */\nNVTX_DECLSPEC nvtxStringHandle_t NVTX_API nvtxDomainRegisterStringA(nvtxDomainHandle_t domain, const char* string);\nNVTX_DECLSPEC nvtxStringHandle_t NVTX_API nvtxDomainRegisterStringW(nvtxDomainHandle_t domain, const wchar_t* string);\n/** @} */\n\n/** @} */ /*END defgroup*/\n/* ========================================================================= */\n/** \\defgroup DOMAINS Domains\n*\n* Domains are used to group events to a developer defined scope. Middleware\n* vendors may also scope their own events to avoid collisions with the\n* the application developer's events, so that the application developer may\n* inspect both parts and easily differentiate or filter them.  By default\n* all events are scoped to a global domain where NULL is provided or when\n* using APIs provided b versions of NVTX below v2\n*\n* Domains are intended to be typically long lived objects with the intention\n* of logically separating events of large modules from each other such as\n* middleware libraries from each other and the main application.\n*\n* See \\ref DOMAINS for more details\n*\n* @{\n*/\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Register a NVTX domain.\n*\n* Domains are used to scope annotations. All NVTX_VERSION_0 and NVTX_VERSION_1\n* annotations are scoped to the global domain. The function nvtxDomainCreate\n* creates a new named domain.\n*\n* Each domain maintains its own nvtxRangePush and nvtxRangePop stack.\n*\n* \\param name - A unique string representing the domain.\n*\n* \\return A handle representing the domain.\n*\n* \\par Example:\n* \\code\n* nvtxDomainHandle_t domain = nvtxDomainCreateA(\"com.nvidia.nvtx.example\");\n*\n* nvtxMarkA(\"nvtxMarkA to global domain\");\n*\n* nvtxEventAttributes_t eventAttrib1 = {0};\n* eventAttrib1.version = NVTX_VERSION;\n* eventAttrib1.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n* eventAttrib1.message.ascii = \"nvtxDomainMarkEx to global domain\";\n* nvtxDomainMarkEx(NULL, &eventAttrib1);\n*\n* nvtxEventAttributes_t eventAttrib2 = {0};\n* eventAttrib2.version = NVTX_VERSION;\n* eventAttrib2.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n* eventAttrib2.message.ascii = \"nvtxDomainMarkEx to com.nvidia.nvtx.example\";\n* nvtxDomainMarkEx(domain, &eventAttrib2);\n* nvtxDomainDestroy(domain);\n* \\endcode\n*\n* \\sa\n* ::nvtxDomainDestroy\n*\n* \\version \\NVTX_VERSION_2\n* @{ */\nNVTX_DECLSPEC nvtxDomainHandle_t NVTX_API nvtxDomainCreateA(const char* name);\nNVTX_DECLSPEC nvtxDomainHandle_t NVTX_API nvtxDomainCreateW(const wchar_t* name);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Unregister a NVTX domain.\n*\n* Unregisters the domain handle and frees all domain specific resources.\n*\n* \\param domain    - the domain handle\n*\n* \\par Example:\n* \\code\n* nvtxDomainHandle_t domain = nvtxDomainCreateA(\"com.nvidia.nvtx.example\");\n* nvtxDomainDestroy(domain);\n* \\endcode\n*\n* \\sa\n* ::nvtxDomainCreateA\n* ::nvtxDomainCreateW\n*\n* \\version \\NVTX_VERSION_2\n* @{ */\nNVTX_DECLSPEC void NVTX_API nvtxDomainDestroy(nvtxDomainHandle_t domain);\n/** @} */\n\n\n/** @} */ /*END defgroup*/\n/* ========================================================================= */\n/** \\cond SHOW_HIDDEN */\n\n#ifdef UNICODE\n    #define nvtxMark            nvtxMarkW\n    #define nvtxRangeStart      nvtxRangeStartW\n    #define nvtxRangePush       nvtxRangePushW\n    #define nvtxNameCategory    nvtxNameCategoryW\n    #define nvtxNameOsThread    nvtxNameOsThreadW\n    /* NVTX_VERSION_2 */\n    #define nvtxDomainCreate         nvtxDomainCreateW\n    #define nvtxDomainRegisterString nvtxDomainRegisterStringW\n    #define nvtxDomainNameCategory   nvtxDomainNameCategoryW\n#else\n    #define nvtxMark            nvtxMarkA\n    #define nvtxRangeStart      nvtxRangeStartA\n    #define nvtxRangePush       nvtxRangePushA\n    #define nvtxNameCategory    nvtxNameCategoryA\n    #define nvtxNameOsThread    nvtxNameOsThreadA\n    /* NVTX_VERSION_2 */\n    #define nvtxDomainCreate         nvtxDomainCreateA\n    #define nvtxDomainRegisterString nvtxDomainRegisterStringA\n    #define nvtxDomainNameCategory   nvtxDomainNameCategoryA\n#endif\n\n/** \\endcond */\n\n#ifdef __cplusplus\n} /* extern \"C\" */\n#endif /* __cplusplus */\n\n#define NVTX_IMPL_GUARD /* Ensure other headers cannot be included directly */\n\n#include \"nvtxDetail/nvtxTypes.h\"\n\n#ifndef NVTX_NO_IMPL\n#include \"nvtxDetail/nvtxImpl.h\"\n#endif /*NVTX_NO_IMPL*/\n\n#undef NVTX_IMPL_GUARD\n\n#endif /* !defined(NVTX_VERSION) */\n"
  },
  {
    "path": "src/include/nvtx3/nvToolsExtCounters.h",
    "content": "/**\n * The NVTX counters extension is intended to collect counter values of various\n * sources. It uses the NVTX payload extension to specify the data layout a\n * counter group.\n *\n * A counter group is a set of counters that are collected together (at the same\n * time). Counters are always registered as a group. Hence, a single counter is\n * represented by a group with one counter.\n *\n * A sample refers to all values for a given timestamp. These values must\n * include counter values and may include multiple instances of a counter group.\n *\n * The NVTX domain handle is the first argument to all counter collect\n * functions. 0/NULL/nullptr represents the default domain (no domain).\n */\n\n#include \"nvToolsExtPayload.h\"\n\n#ifndef NVTOOLSEXT_COUNTERS_H\n#define NVTOOLSEXT_COUNTERS_H\n\n/**\n * \\brief The compatibility ID is used for versioning of this extension.\n */\n#ifndef NVTX_EXT_COUNTERS_COMPATID\n#define NVTX_EXT_COUNTERS_COMPATID 0x0101\n#endif\n\n/**\n * \\brief The module ID identifies the payload extension. It has to be unique\n * among the extension modules.\n */\n#ifndef NVTX_EXT_COUNTERS_MODULEID\n#define NVTX_EXT_COUNTERS_MODULEID 4\n#endif\n\n\n/** Identifies an invalid scope and indicates an error if returned by `nvtxScopeRegister`. */\n#define NVTX_SCOPE_NONE                   0 /* no scope */\n\n#define NVTX_SCOPE_ROOT                   1\n\n#define NVTX_SCOPE_CURRENT_HW_MACHINE     2 /* Node/machine name, Device? */\n#define NVTX_SCOPE_CURRENT_HW_SOCKET      3\n#define NVTX_SCOPE_CURRENT_HW_CPU         4\n#define NVTX_SCOPE_CURRENT_HW_CPU_LOGICAL 5\n/* Innermost HW execution context at registration time */\n#define NVTX_SCOPE_CURRENT_HW_INNERMOST   6\n\n/* Virtualized hardware, virtual machines, OS (if you don't know any better) */\n#define NVTX_SCOPE_CURRENT_HYPERVISOR     7\n#define NVTX_SCOPE_CURRENT_VM             8\n#define NVTX_SCOPE_CURRENT_KERNEL         9\n#define NVTX_SCOPE_CURRENT_CONTAINER     10\n#define NVTX_SCOPE_CURRENT_OS\t         11\n\n/* Software scopes */\n#define NVTX_SCOPE_CURRENT_SW_PROCESS \t 12 /* Process scope */\n#define NVTX_SCOPE_CURRENT_SW_THREAD  \t 13 /* Thread scope */\n#define NVTX_SCOPE_CURRENT_SW_FIBER      14\n/* Innermost SW execution context at registration time */\n#define NVTX_SCOPE_CURRENT_SW_INNERMOST  15\n\n/** Static (user-provided) scope IDs (feed forward) */\n#define NVTX_SCOPE_ID_STATIC_START  (1 << 24)\n\n/** Dynamically (tool) generated scope IDs */\n#define NVTX_SCOPE_ID_DYNAMIC_START 4294967296  /* 1 << 32 */\n\n\n/** Identifier of the semantic extension for counters. */\n#define NVTX_SEMANTIC_ID_COUNTERS_V1 5\n\n/***  Flags to augment the counter value. ***/\n#define NVTX_COUNTERS_FLAG_NONE       0\n\n/**\n * Convert the fixed point value to a normalized floating point.\n * Use the sign/unsign from the underlying type this flag is applied to.\n * Unsigned [0f : 1f] or signed [-1f : 1f]\n */\n#define NVTX_COUNTERS_FLAG_NORM       (1 << 1)\n\n/**\n * Tools should apply scale and limits when graphing, ideally in a \"soft\" way to\n * to see when limits are exceeded.\n */\n#define NVTX_COUNTERS_FLAG_LIMIT_MIN  (1 << 2)\n#define NVTX_COUNTERS_FLAG_LIMIT_MAX  (1 << 3)\n#define NVTX_COUNTERS_FLAG_LIMITS \\\n    (NVTX_COUNTERS_FLAG_LIMIT_MIN | NVTX_COUNTERS_FLAG_LIMIT_MAX)\n\n/** Counter time scope **/\n#define NVTX_COUNTERS_FLAG_TIME_POINT       (1 << 5)\n#define NVTX_COUNTERS_FLAG_TIME_SINCE_LAST  (2 << 5)\n#define NVTX_COUNTERS_FLAG_TIME_UNTIL_NEXT  (3 << 5)\n#define NVTX_COUNTERS_FLAG_TIME_SINCE_START (4 << 5)\n\n/** Counter value type **/\n#define NVTX_COUNTERS_FLAG_VALUE_ABSOLUTE   (1 << 10)\n#define NVTX_COUNTERS_FLAG_VALUE_DELTA      (2 << 10) // delta to previous counter sample\n\n/** Counter visualization hints **/\n#define NVTX_COUNTERS_FLAG_INTERPOLATE      (1 << 14)\n\n/** Datatypes for limits union (value of `limitType`). */\n#define NVTX_COUNTERS_LIMIT_I64 0\n#define NVTX_COUNTERS_LIMIT_U64 1\n#define NVTX_COUNTERS_LIMIT_F64 2\n\n/** Reasons for the missing sample value. */\n#define NVTX_COUNTERS_SAMPLE_ZERO        0\n#define NVTX_COUNTERS_SAMPLE_UNCHANGED   1\n#define NVTX_COUNTERS_SAMPLE_UNAVAILABLE 2\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n/**\n * \\brief Specify additional properties of a counter or counter group.\n */\ntypedef struct nvtxSemanticsCounter_v1\n{\n    /** Header of the semantic extension (with identifier, version, etc.). */\n    struct nvtxSemanticsHeader_v1 header;\n\n    /**\n     * Flag if normalization, scale limits, etc. should be applied to counter\n     * values.\n     */\n    uint64_t flags;\n\n    /** Unit of the counter value (case insensitive) */\n    const char* unit;\n\n    /** Should be 1 if not used. */\n    uint64_t unitScaleNumerator;\n\n    /** Should be 1 if not used. */\n    uint64_t unitScaleDenominator;\n\n    /** Determines the used union member. Use defines `NVTX_COUNTERS_LIMIT_*`. */\n    int64_t limitType;\n\n    /** Soft graph limit. */\n    union limits_t {\n        int64_t i64[2];\n        uint64_t u64[2];\n        double d[2];\n    } limits;\n} nvtxSemanticsCounter_t;\n\ntypedef struct nvtxCountersAttr_v1\n{\n    size_t structSize;\n\n    /**\n     * A schema ID referring to the data layout of the counter group or a\n     * predefined NVTX payloads number type.\n     */\n    uint64_t schemaId;\n\n    /** Name of the counter group. */\n    const char* name;\n\n    /** Identifier of the scope of the counters. */\n    uint64_t scopeId;\n\n    /**\n     * (Optional) Specify additional semantics for a counter (group). The\n     * semantics provided are applied to the all counters in a group. If the\n     * semantics should only refer to a single counter in a group, the semantics\n     * field of the payload entry has to be used. Accepted semantics are\n     * `nvtxSemanticsCounter_t` and `nvtxSemanticsTime_t`.\n     */\n    const nvtxSemanticsHeader_t* semantics;\n} nvtxCountersAttr_t;\n\n/* Forward declaration of opaque counter group registration structure */\nstruct nvtxCountersRegistration_st;\ntypedef struct nvtxCountersRegistration_st nvtxCountersRegistration;\n\n/* \\brief Counters Handle Structure.\n* \\anchor COUNTERS_HANDLE_STRUCTURE\n*\n* This structure is opaque to the user and is used as a handle to reference a counter group.\n* This type is returned from tools when using the NVTX API to create a counters group.\n*/\ntypedef nvtxCountersRegistration* nvtxCountersHandle_t;\n\ntypedef struct nvtxCountersBatch_v1\n{\n    /** Handle to attributes (data layout, scope, etc.) of a counter (group). */\n    nvtxCountersHandle_t hCounter;\n\n    /** Array of counter samples. */\n    const void* counters;\n\n    /** Size of the `counters` array (in bytes). */\n    size_t cntArrSize;\n\n    /** Array of timestamps or reference-time plus delta pair. `NULL` is used, if\n    timestamps are part of the counter (group) layout.) */\n    const void* timestamps;\n\n    /** Size of the `timestamps` array or definition (in bytes). */\n    size_t tsSize;\n} nvtxCountersBatch_t;\n\n/**\n * \\brief Register a counter group.\n *\n * @param hDomain NVTX domain handle.\n * @param attr Pointer to the attributes of the counter (group).\n *\n * @return Counter handle identifying a counter or counter (group).\n *         The counter handle is unique within the NVTX domain.\n */\nNVTX_DECLSPEC nvtxCountersHandle_t NVTX_API nvtxCountersRegister(\n    nvtxDomainHandle_t hDomain,\n    const nvtxCountersAttr_t* attr);\n\n/**\n * \\brief Sample one integer counter by value immediately (the NVTX tool determines the timestamp).\n *\n * @param hDomain handle of the NVTX domain.\n * @param hCounter handle of the NVTX counter (group).\n * @param value 64-bit integer counter value.\n */\nNVTX_DECLSPEC void NVTX_API nvtxCountersSampleInt64(\n    nvtxDomainHandle_t hDomain,\n    nvtxCountersHandle_t hCounter,\n    int64_t value);\n\n/**\n * \\brief Sample one floating point counter by value immediately (the NVTX tool determines the timestamp).\n *\n * @param hDomain handle of the NVTX domain.\n * @param hCounter handle of the NVTX counter (group).\n * @param value 64-bit floating-point counter value.\n */\nNVTX_DECLSPEC void NVTX_API nvtxCountersSampleFloat64(\n    nvtxDomainHandle_t hDomain,\n    nvtxCountersHandle_t hCounter,\n    double value);\n\n/**\n * \\brief Sample a counter group by reference immediately (the NVTX tool determines the timestamp).\n *\n * @param hDomain handle of the NVTX domain.\n * @param hCounter handle of the NVTX counter (group).\n * @param counters pointer to one or more counter values.\n * @param size size of the counter value(s) in bytes.\n */\nNVTX_DECLSPEC void NVTX_API nvtxCountersSample(\n    nvtxDomainHandle_t hDomain,\n    nvtxCountersHandle_t hCounter,\n    void* values,\n    size_t size);\n\n/**\n * \\brief Sample without value.\n *\n * @param hDomain handle of the NVTX domain.\n * @param hCounter handle of the NVTX counter (group).\n * @param reason reason for the missing sample value.\n */\nNVTX_DECLSPEC void NVTX_API nvtxCountersSampleNoValue(\n    nvtxDomainHandle_t hDomain,\n    nvtxCountersHandle_t hCounter,\n    uint8_t reason);\n\n/**\n * \\brief Submit a batch of counters in the given domain.\n *        Timestamps are part of the counter sample data.\n *\n * The size of a data sampling point is defined by the `staticSize` field of the\n * payload schema. An NVTX tool can assume that the counter samples are stored\n * as an array with each entry being `staticSize` bytes.\n *\n * @param hDomain handle of the NVTX domain\n * @param hCounter handle of the counter group (includes counter data decoding schema)\n * @param counters blob containing counter data and timestamps\n * @param size size of the counter data blob in bytes\n */\nNVTX_DECLSPEC void NVTX_API nvtxCountersSubmitBatch(\n    nvtxDomainHandle_t hDomain,\n    nvtxCountersHandle_t hCounter,\n    const void* counters,\n    size_t size);\n\n/**\n * \\brief Submit a batch of counters in the given domain.\n *        Timestamps are separated from the counter data.\n *\n * @param hDomain handle of the NVTX domain\n * @param counterBatch Pointer to the counter data to be submitted.\n */\nNVTX_DECLSPEC void NVTX_API nvtxCountersSubmitBatchEx(\n    nvtxDomainHandle_t hDomain,\n    const nvtxCountersBatch_t* counterBatch);\n\n\n#define NVTX3EXT_CBID_nvtxCountersRegister           0\n#define NVTX3EXT_CBID_nvtxCountersSampleInt64        1\n#define NVTX3EXT_CBID_nvtxCountersSampleFloat64      2\n#define NVTX3EXT_CBID_nvtxCountersSample             3\n#define NVTX3EXT_CBID_nvtxCountersSampleNoValue      4\n#define NVTX3EXT_CBID_nvtxCountersSubmitBatch        5\n#define NVTX3EXT_CBID_nvtxCountersSubmitBatchEx      6\n\n#ifdef __GNUC__\n#pragma GCC visibility push(internal)\n#endif\n\n#define NVTX_EXT_TYPES_GUARD /* Ensure other headers cannot be included directly */\n#include \"nvtxDetail/nvtxExtTypes.h\"\n#undef NVTX_EXT_TYPES_GUARD\n\n#ifndef NVTX_NO_IMPL\n#define NVTX_EXT_IMPL_COUNTERS_GUARD /* Ensure other headers cannot be included directly */\n#include \"nvtxDetail/nvtxExtImplCounters_v1.h\"\n#undef NVTX_EXT_IMPL_COUNTERS_GUARD\n#endif /*NVTX_NO_IMPL*/\n\n#ifdef __GNUC__\n#pragma GCC visibility pop\n#endif\n\n#ifdef __cplusplus\n}\n#endif /* __cplusplus */\n\n#endif /* NVTOOLSEXT_COUNTERS_H */\n"
  },
  {
    "path": "src/include/nvtx3/nvToolsExtCuda.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#include \"nvToolsExt.h\"\n\n#include \"cuda.h\"\n\n#ifndef NVTOOLSEXT_CUDA_V3\n#define NVTOOLSEXT_CUDA_V3\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n/* ========================================================================= */\n/** \\name Functions for CUDA Resource Naming\n*/\n/** \\addtogroup RESOURCE_NAMING\n * \\section RESOURCE_NAMING_CUDA CUDA Resource Naming\n *\n * This section covers the API functions that allow to annotate CUDA resources\n * with user-provided names.\n *\n * @{\n */\n\n/*  ------------------------------------------------------------------------- */\n/* \\cond SHOW_HIDDEN\n* \\brief Used to build a non-colliding value for resource types separated class\n* \\version \\NVTX_VERSION_2\n*/\n#define NVTX_RESOURCE_CLASS_CUDA  4\n/** \\endcond */\n\n/*  ------------------------------------------------------------------------- */\n/** \\brief Resource types for CUDA\n*/\ntypedef enum nvtxResourceCUDAType_t\n{\n    NVTX_RESOURCE_TYPE_CUDA_DEVICE = NVTX_RESOURCE_MAKE_TYPE(CUDA, 1), /* CUdevice */\n    NVTX_RESOURCE_TYPE_CUDA_CONTEXT = NVTX_RESOURCE_MAKE_TYPE(CUDA, 2), /* CUcontext */\n    NVTX_RESOURCE_TYPE_CUDA_STREAM = NVTX_RESOURCE_MAKE_TYPE(CUDA, 3), /* CUstream */\n    NVTX_RESOURCE_TYPE_CUDA_EVENT = NVTX_RESOURCE_MAKE_TYPE(CUDA, 4), /* CUevent */\n} nvtxResourceCUDAType_t;\n\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Annotates a CUDA device.\n *\n * Allows the user to associate a CUDA device with a user-provided name.\n *\n * \\param device - The handle of the CUDA device to name.\n * \\param name   - The name of the CUDA device.\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameCuDeviceA(CUdevice device, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameCuDeviceW(CUdevice device, const wchar_t* name);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Annotates a CUDA context.\n *\n * Allows the user to associate a CUDA context with a user-provided name.\n *\n * \\param context - The handle of the CUDA context to name.\n * \\param name    - The name of the CUDA context.\n *\n * \\par Example:\n * \\code\n * CUresult status = cuCtxCreate( &cuContext, 0, cuDevice );\n * if ( CUDA_SUCCESS != status )\n *     goto Error;\n * nvtxNameCuContext(cuContext, \"CTX_NAME\");\n * \\endcode\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameCuContextA(CUcontext context, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameCuContextW(CUcontext context, const wchar_t* name);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Annotates a CUDA stream.\n *\n * Allows the user to associate a CUDA stream with a user-provided name.\n *\n * \\param stream - The handle of the CUDA stream to name.\n * \\param name   - The name of the CUDA stream.\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameCuStreamA(CUstream stream, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameCuStreamW(CUstream stream, const wchar_t* name);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Annotates a CUDA event.\n *\n * Allows the user to associate a CUDA event with a user-provided name.\n *\n * \\param event - The handle of the CUDA event to name.\n * \\param name  - The name of the CUDA event.\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameCuEventA(CUevent event, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameCuEventW(CUevent event, const wchar_t* name);\n/** @} */\n\n/** @} */ /* END RESOURCE_NAMING */\n\n/* ========================================================================= */\n#ifdef UNICODE\n  #define nvtxNameCuDevice   nvtxNameCuDeviceW\n  #define nvtxNameCuContext  nvtxNameCuContextW\n  #define nvtxNameCuStream   nvtxNameCuStreamW\n  #define nvtxNameCuEvent    nvtxNameCuEventW\n#else\n  #define nvtxNameCuDevice   nvtxNameCuDeviceA\n  #define nvtxNameCuContext  nvtxNameCuContextA\n  #define nvtxNameCuStream   nvtxNameCuStreamA\n  #define nvtxNameCuEvent    nvtxNameCuEventA\n#endif\n\n#ifdef __cplusplus\n}\n#endif /* __cplusplus */\n\n#ifndef NVTX_NO_IMPL\n#define NVTX_IMPL_GUARD_CUDA /* Ensure other headers cannot be included directly */\n#include \"nvtxDetail/nvtxImplCuda_v3.h\"\n#undef NVTX_IMPL_GUARD_CUDA\n#endif /*NVTX_NO_IMPL*/\n\n#endif /* NVTOOLSEXT_CUDA_V3 */\n"
  },
  {
    "path": "src/include/nvtx3/nvToolsExtCudaRt.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#include \"nvToolsExt.h\"\n\n#include \"cuda.h\"\n#include \"driver_types.h\"\n\n#ifndef NVTOOLSEXT_CUDART_V3\n#define NVTOOLSEXT_CUDART_V3\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n/* ========================================================================= */\n/** \\name Functions for CUDA Resource Naming\n*/\n/** \\addtogroup RESOURCE_NAMING\n * \\section RESOURCE_NAMING_CUDART CUDA Runtime Resource Naming\n *\n * This section covers the API functions that allow to annotate CUDA resources\n * with user-provided names.\n *\n * @{\n */\n\n/*  ------------------------------------------------------------------------- */\n/* \\cond SHOW_HIDDEN\n* \\brief Used to build a non-colliding value for resource types separated class\n* \\version \\NVTX_VERSION_2\n*/\n#define NVTX_RESOURCE_CLASS_CUDART 5\n/** \\endcond */\n\n/*  ------------------------------------------------------------------------- */\n/** \\brief Resource types for CUDART\n*/\ntypedef enum nvtxResourceCUDARTType_t\n{\n    NVTX_RESOURCE_TYPE_CUDART_DEVICE = NVTX_RESOURCE_MAKE_TYPE(CUDART, 0), /* int device */\n    NVTX_RESOURCE_TYPE_CUDART_STREAM = NVTX_RESOURCE_MAKE_TYPE(CUDART, 1), /* cudaStream_t */\n    NVTX_RESOURCE_TYPE_CUDART_EVENT = NVTX_RESOURCE_MAKE_TYPE(CUDART, 2), /* cudaEvent_t */\n} nvtxResourceCUDARTType_t;\n\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Annotates a CUDA device.\n *\n * Allows the user to associate a CUDA device with a user-provided name.\n *\n * \\param device - The id of the CUDA device to name.\n * \\param name   - The name of the CUDA device.\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameCudaDeviceA(int device, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameCudaDeviceW(int device, const wchar_t* name);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Annotates a CUDA stream.\n *\n * Allows the user to associate a CUDA stream with a user-provided name.\n *\n * \\param stream - The handle of the CUDA stream to name.\n * \\param name   - The name of the CUDA stream.\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameCudaStreamA(cudaStream_t stream, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameCudaStreamW(cudaStream_t stream, const wchar_t* name);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Annotates a CUDA event.\n *\n * Allows the user to associate a CUDA event with a user-provided name.\n *\n * \\param event - The handle of the CUDA event to name.\n * \\param name  - The name of the CUDA event.\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameCudaEventA(cudaEvent_t event, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameCudaEventW(cudaEvent_t event, const wchar_t* name);\n/** @} */\n\n/** @} */ /* END RESOURCE_NAMING */\n\n/* ========================================================================= */\n#ifdef UNICODE\n  #define nvtxNameCudaDevice nvtxNameCudaDeviceW\n  #define nvtxNameCudaStream nvtxNameCudaStreamW\n  #define nvtxNameCudaEvent  nvtxNameCudaEventW\n#else\n  #define nvtxNameCudaDevice nvtxNameCudaDeviceA\n  #define nvtxNameCudaStream nvtxNameCudaStreamA\n  #define nvtxNameCudaEvent  nvtxNameCudaEventA\n#endif\n\n#ifdef __cplusplus\n}\n#endif /* __cplusplus */\n\n#ifndef NVTX_NO_IMPL\n#define NVTX_IMPL_GUARD_CUDART /* Ensure other headers cannot be included directly */\n#include \"nvtxDetail/nvtxImplCudaRt_v3.h\"\n#undef NVTX_IMPL_GUARD_CUDART\n#endif /*NVTX_NO_IMPL*/\n\n#endif /* NVTOOLSEXT_CUDART_V3 */\n"
  },
  {
    "path": "src/include/nvtx3/nvToolsExtMem.h",
    "content": "/*\n* Copyright 2009-2020  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#include \"nvToolsExt.h\"\n\n#ifndef NVTOOLSEXTV3_MEM_V1\n#define NVTOOLSEXTV3_MEM_V1\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n#define NVTX_EXT_MODULEID_MEM 1\n\n/* \\cond SHOW_HIDDEN\n * \\brief A compatibility ID value used in structures and initialization to\n * identify version differences.\n */\n#define NVTX_EXT_COMPATID_MEM 0x0102\n\n/* \\cond SHOW_HIDDEN\n * \\brief This value is returned by functions that return `nvtxMemHeapHandle_t`,\n * if a tool is not attached.\n */\n#define NVTX_MEM_HEAP_HANDLE_NO_TOOL ((nvtxMemHeapHandle_t)(intptr_t)-1)\n\n/* \\cond SHOW_HIDDEN\n * \\brief This value is returned by functions that return `nvtxMemRegionHandle_t`\n * if a tool is not attached.\n */\n#define NVTX_MEM_REGION_HANDLE_NO_TOOL ((nvtxMemRegionHandle_t)(intptr_t)-1)\n\n/* \\cond SHOW_HIDDEN\n * \\brief This value is returned by functions that return `nvtxMemPermissionsHandle_t`\n * if a tool is not attached.\n */\n#define NVTX_MEM_PERMISSIONS_HANDLE_NO_TOOL ((nvtxMemPermissionsHandle_t)-1)\n\n\n/* \\cond SHOW_HIDDEN\n * \\brief This should not be used and is considered an error but defined to\n * detect an accidental use of zero or NULL.\n */\n#define NVTX_MEM_HEAP_USAGE_UNKNOWN 0x0\n\n\n/* \\cond SHOW_HIDDEN\n * \\brief This should not be used and is considered an error but defined to\n * detect an accidental use of zero or NULL.\n */\n#define NVTX_MEM_TYPE_UNKNOWN 0x0\n\n\n/*  ------------------------------------------------------------------------- */\n/** \\defgroup MEMORY Memory\n * See page \\ref PAGE_MEMORY.\n * @{\n */\n\n/**\n * \\brief To indicate the full process virtual address space as a heap for\n * functions where a nvtxMemHeapHandle_t is accepted.\n *\n * The heap by default is always read-write-execute permissions without creating regions.\n * Regions created in this heap have read-write access by default but not execute.\n */\n#define NVTX_MEM_HEAP_HANDLE_PROCESS_WIDE ((nvtxMemHeapHandle_t)0)\n\n/** \\brief This heap is a sub-allocator.\n *\n * Heap created with this usage should not be accessed by the user until regions are registered.\n * Regions from a heap with this usage have read-write access by default but not execute.\n */\n#define NVTX_MEM_HEAP_USAGE_TYPE_SUB_ALLOCATOR 0x1\n\n/**\n * \\brief This is a heap of memory that has an explicit layout.\n *\n * The layout could be static or dynamic (calculated). This often represents an algorithm's\n * structures that are packed together. By default this heap is assumed to be accessible for\n * scopes where the memory is naturally accessible by hardware. Regions may be use to further\n * annotate or restrict access. A tool may have an option to be more strict, but special\n * consideration must be made for `NVTX_MEM_HEAP_HANDLE_PROCESS_WIDE`.\n *\n * The behavior of this usage is similar to NVTX_MEM_HEAP_HANDLE_PROCESS_WIDE but\n * a tool can use it to track special behaviors and reservation.\n *\n * Memory in a heap with this usage has read-write permissions by default but not execute without\n * creating regions. Regions created in this heap have the same default permission access.\n */\n#define NVTX_MEM_HEAP_USAGE_TYPE_LAYOUT 0x2\n\n\n/**\n * \\brief Standard process userspace virtual addresses for linear allocations.\n *\n * APIs that map into this space, such as CUDA UVA should use this type.\n *\n * Relevant functions: cudaMalloc, cudaMallocManaged, cudaHostAlloc, cudaMallocHost\n * NVTX_MEM_HEAP_HANDLE_PROCESS_WIDE is supported\n *\n * nvtxMemHeapRegister receives a heapDesc of type nvtxMemVirtualRangeDesc_t\n */\n#define NVTX_MEM_TYPE_VIRTUAL_ADDRESS 0x1\n\n\n/**\n * \\brief To indicate you are modifying permissions to the process-wide\n * full virtual address space.\n *\n * This is a companion object to `NVTX_MEM_HEAP_HANDLE_PROCESS_WIDE`.\n */\n#define NVTX_MEM_PERMISSIONS_HANDLE_PROCESS_WIDE ((nvtxMemPermissionsHandle_t)0)\n\n#define NVTX_MEM_PERMISSIONS_CREATE_FLAGS_NONE 0x0\n#define NVTX_MEM_PERMISSIONS_CREATE_FLAGS_EXCLUDE_GLOBAL_READ 0x1\n#define NVTX_MEM_PERMISSIONS_CREATE_FLAGS_EXCLUDE_GLOBAL_WRITE 0x2\n#define NVTX_MEM_PERMISSIONS_CREATE_FLAGS_EXCLUDE_GLOBAL_ATOMIC 0x4\n\n\n/* \\cond SHOW_HIDDEN\n * \\brief Forward declaration of opaque memory heap structure.\n */\nstruct nvtxMemHeap_v1;\ntypedef struct nvtxMemHeap_v1 nvtxMemHeap_t;\n\n/** \\brief A handle returned by a tool to represent a memory heap. */\ntypedef nvtxMemHeap_t* nvtxMemHeapHandle_t;\n\n/* \\cond SHOW_HIDDEN\n * \\brief Forward declaration of opaque memory heap structure.\n */\nstruct nvtxMemRegion_v1;\ntypedef struct nvtxMemRegion_v1 nvtxMemRegion_t;\n\n/** \\brief A handle returned by a tool to represent a memory region. */\ntypedef nvtxMemRegion_t* nvtxMemRegionHandle_t;\n\n/** \\brief A reference to a memory region (by pointer or handle).\n * Which member of the union will be determined by a type or flag field outside.\n */\ntypedef union nvtxMemRegionRef_t\n{\n    void const* pointer;\n    nvtxMemRegionHandle_t handle;\n} nvtxMemRegionRef_t;\n\n/* \\cond SHOW_HIDDEN\n * \\brief Forward declaration of opaque memory permissions structure\n */\nstruct nvtxMemPermissions_v1;\ntypedef struct nvtxMemPermissions_v1 nvtxMemPermissions_t;\n\n/** \\brief A handle returned by a tool to represent a memory permissions mask. */\ntypedef nvtxMemPermissions_t* nvtxMemPermissionsHandle_t;\n\n\ntypedef struct nvtxMemVirtualRangeDesc_v1\n{\n    size_t  size;\n    void const*  ptr;\n} nvtxMemVirtualRangeDesc_v1 ;\ntypedef nvtxMemVirtualRangeDesc_v1 nvtxMemVirtualRangeDesc_t;\n\n\n/** \\brief structure to describe a heap in process virtual memory. */\ntypedef struct nvtxMemHeapDesc_v1\n{\n    uint16_t extCompatID; /* Set to NVTX_EXT_COMPATID_MEM */\n    uint16_t structSize; /* Size of the structure. */\n    uint32_t reserved0;\n\n    /** \\brief Usage characteristics of the heap\n     *\n     * Usage characteristics help tools like memcheckers, santiizer,\n     * as well as other debugging and profiling tools to determine some\n     * special behaviors they should apply to the heap and it's regions.\n     * The value follows the convention NVTX_MEM_HEAP_USAGE_*\n     *\n     * Default Value is 0, which is invalid.\n     */\n    uint32_t usage;\n\n    /** \\brief Memory type characteristics of the heap\n     *\n     * The 'type' indicates how to interpret the ptr field of the heapDesc.\n     * This is intended to support many additional types of memory, beyond\n     * standard process virtual memory, such as API specific memory only\n     * addressed by handles or multi-dimensional memory requiring more complex\n     * descriptions to handle features like strides, tiling, or interlace.\n     *\n     * The values conforms to NVTX_MEM_TYPE_*\n     *\n     * The value in the field 'type' identifies the descriptor type that will\n     * be in the field 'typeSpecificDesc'.  'typeSpecificDesc' is void* because\n     * it is extensible.  Example usage is if type is NVTX_MEM_TYPE_VIRTUAL_ADDRESS,\n     * then typeSpecificDesc points to a nvtxMemVirtualRangeDesc_t.\n     *\n     * Default Value is 0, which is invalid.\n     */\n    uint32_t type;\n\n    /** \\brief size of the heap memory descriptor pointed to by typeSpecificDesc\n     *\n     * Default Value is 0 which is invalid.\n     */\n    size_t typeSpecificDescSize;\n\n    /** \\brief Pointer to the heap memory descriptor\n     *\n     * The value in the field 'type' identifies the descriptor type that will\n     * be in the field 'typeSpecificDesc'.  'typeSpecificDesc' is void* because\n     * it is extensible.  Example usage is if type is NVTX_MEM_TYPE_VIRTUAL_ADDRESS,\n     * then typeSpecificDesc points to a nvtxMemVirtualRangeDesc_t.\n     *\n     * Default Value is 0, which is invalid.\n     */\n    void const* typeSpecificDesc;\n\n    /** \\brief ID of the category the event is assigned to.\n     *\n     * A category is a user-controlled ID that can be used to group\n     * events.  The tool may use category IDs to improve filtering or\n     * enable grouping of events in the same category. The functions\n     * \\ref ::nvtxNameCategoryA or \\ref ::nvtxNameCategoryW can be used\n     * to name a category.\n     *\n     * Default Value is 0.\n     */\n    uint32_t category;\n\n    /** \\brief Message type specified in this attribute structure.\n     *\n     * Defines the message format of the attribute structure's \\ref MESSAGE_FIELD\n     * \"message\" field.\n     *\n     * Default Value is `NVTX_MESSAGE_UNKNOWN`.\n     */\n    uint32_t messageType;            /* nvtxMessageType_t */\n\n    /** \\brief Message assigned to this attribute structure. \\anchor MESSAGE_FIELD\n     *\n     * The text message that is attached to an event.\n     */\n    nvtxMessageValue_t message;\n\n} nvtxMemHeapDesc_v1 ;\ntypedef nvtxMemHeapDesc_v1 nvtxMemHeapDesc_t;\n\n/**\n * \\brief Create a memory heap to represent a object or range of memory that will be further\n * sub-divided into regions.\n *\n * The handle used to addrss the heap will depend on the heap's type.  Where the heap is virtual\n * memory accessible, the addrss of the heap's memory itself is it's handle. This will likewise\n * be returned from the function.\n *\n * For more advanced types, where the heap is not virtual memory accessible the tools may be\n * responsible for returning a void const * that that uniquely identifies the object. Please see\n * the description of each heap type for more details on whether this is expected to be a uniquely\n * generated by the tool or otherwise.\n */\nNVTX_DECLSPEC nvtxMemHeapHandle_t NVTX_API nvtxMemHeapRegister(\n    nvtxDomainHandle_t domain,\n    nvtxMemHeapDesc_t const* desc);\n\n /** \\brief Destroy a memory heap. */\nNVTX_DECLSPEC void NVTX_API nvtxMemHeapUnregister(\n    nvtxDomainHandle_t domain,\n    nvtxMemHeapHandle_t heap);/* NVTX_MEM_HEAP_HANDLE_PROCESS_WIDE is not supported */\n\n/**\n * \\brief Reset the memory heap wipes out any changes, as if it were a fresh heap.\n *\n * This includes invalidating all regions and their handles.\n */\nNVTX_DECLSPEC void NVTX_API nvtxMemHeapReset(\n    nvtxDomainHandle_t domain,\n    nvtxMemHeapHandle_t heap); /* NVTX_MEM_HEAP_HANDLE_PROCESS_WIDE is supported */\n\n/**\n * \\brief Register a region of memory inside of a heap.\n *\n * The heap refers the the heap within which the region resides. This can be from\n * `nvtxMemHeapRegister`, `NVTX_MEM_HEAP_HANDLE_PROCESS_WIDE`, or one provided\n * from other extension API.\n *\n * The regionType arg will define which type is used in regionDescArray.\n * The most commonly used type is `NVTX_MEM_TYPE_VIRTUAL_ADDRESS`.\n * In this case regionDescElements is an array of `nvtxMemVirtualRangeDesc_t`.\n *\n * The regionCount arg is how many element are in regionDescArray and regionHandleArrayOut.\n *\n * The regionHandleArrayOut arg points to an array where the tool will provide region handles. If\n * a pointer is provided, it is expected to have regionCount elements. This pointer can be NULL if\n * regionType is NVTX_MEM_TYPE_VIRTUAL_ADDRESS. In this case, the user can use the pointer to the\n * virtual memory to reference the region in other related functions which accept nvtMemRegionRef_t.\n */\ntypedef struct nvtxMemRegionsRegisterBatch_v1\n{\n    uint16_t extCompatID; /* Set to NVTX_EXT_COMPATID_MEM */\n    uint16_t structSize; /* Size of the structure. */\n\n    uint32_t regionType; /* NVTX_MEM_TYPE_* */\n\n    nvtxMemHeapHandle_t heap;\n\n    size_t regionCount;\n    size_t regionDescElementSize;\n    void const* regionDescElements; /* This will also become the handle for this region. */\n    nvtxMemRegionHandle_t* regionHandleElementsOut; /* This will also become the handle for this region. */\n\n} nvtxMemRegionsRegisterBatch_v1;\ntypedef nvtxMemRegionsRegisterBatch_v1 nvtxMemRegionsRegisterBatch_t;\n\n /** \\brief Register a region of memory inside of a heap of linear process virtual memory\n */\nNVTX_DECLSPEC void NVTX_API nvtxMemRegionsRegister(\n    nvtxDomainHandle_t domain,\n    nvtxMemRegionsRegisterBatch_t const* desc);\n\n\n\n/**\n * \\brief Register a region of memory inside of a heap.\n *\n * The heap refers the the heap within which the region resides.\n * This can be from nvtxMemHeapRegister, NVTX_MEM_HEAP_HANDLE_PROCESS_WIDE, or\n * one provided from other extension API.\n *\n * The regionType arg will define which type is used in regionDescArray.\n * The most commonly used type is NVTX_MEM_TYPE_VIRTUAL_ADDRESS.\n *\n * The regionCount arg is how many element are in regionDescArray and regionHandleArrayOut.\n *\n * The regionHandleArrayOut arg points to an array where the tool will provide region handles. If\n * a pointer if provided, it is expected to have regionCount elements. This pointer can be NULL if\n * regionType is NVTX_MEM_TYPE_VIRTUAL_ADDRESS. In this case, the user can use the pointer to the\n * virtual memory to reference the region in other related functions which accept nvtMemRegionRef_t.\n */\ntypedef struct nvtxMemRegionsResizeBatch_v1\n{\n    uint16_t extCompatID; /* Set to NVTX_EXT_COMPATID_MEM */\n    uint16_t structSize; /* Size of the structure. */\n\n    uint32_t regionType; /* NVTX_MEM_TYPE_* */\n\n    size_t regionDescCount;\n    size_t regionDescElementSize;\n    void const* regionDescElements; /* This will also become the handle for this region. */\n\n} nvtxMemRegionsResizeBatch_v1;\ntypedef nvtxMemRegionsResizeBatch_v1 nvtxMemRegionsResizeBatch_t;\n\n /** \\brief Register a region of memory inside of a heap of linear process virtual memory\n */\nNVTX_DECLSPEC void NVTX_API nvtxMemRegionsResize(\n    nvtxDomainHandle_t domain,\n    nvtxMemRegionsResizeBatch_t const* desc);\n\n\n#define NVTX_MEM_REGION_REF_TYPE_UNKNOWN 0x0\n#define NVTX_MEM_REGION_REF_TYPE_POINTER 0x1\n#define NVTX_MEM_REGION_REF_TYPE_HANDLE 0x2\n\n/**\n * \\brief Register a region of memory inside of a heap.\n *\n * The heap refers the the heap within which the region resides.\n * This can be from nvtxMemHeapRegister, `NVTX_MEM_HEAP_HANDLE_PROCESS_WIDE`, or\n * one provided from other extension API.\n *\n * The regionType arg will define which type is used in `regionDescArray`.\n * The most commonly used type is NVTX_MEM_TYPE_VIRTUAL_ADDRESS.\n *\n * The regionCount arg is how many element are in regionDescArray and regionHandleArrayOut.\n *\n * The regionHandleArrayOut arg points to an array where the tool will provide region handles.\n * If a pointer if provided, it is expected to have regionCount elements.\n * This pointer can be NULL if regionType is NVTX_MEM_TYPE_VIRTUAL_ADDRESS.  In this case,\n * the user can use the pointer to the virtual memory to reference the region in other\n * related functions which accept a nvtMemRegionRef_t.\n */\ntypedef struct nvtxMemRegionsUnregisterBatch_v1\n{\n    uint16_t extCompatID; /* Set to NVTX_EXT_COMPATID_MEM */\n    uint16_t structSize; /* Size of the structure. */\n\n    uint32_t refType; /* NVTX_MEM_REGION_REF_TYPE_* */\n\n    size_t refCount; /* count of elements in refArray */\n    size_t refElementSize;\n    nvtxMemRegionRef_t const* refElements; /* This will also become the handle for this region. */\n\n} nvtxMemRegionsUnregisterBatch_v1;\ntypedef nvtxMemRegionsUnregisterBatch_v1 nvtxMemRegionsUnregisterBatch_t;\n\n/**\n * \\brief Unregistration for regions of process virtual memory\n *\n * This is not necessary if the nvtx heap destroy function has been called that\n * contains this object.\n */\nNVTX_DECLSPEC void NVTX_API nvtxMemRegionsUnregister(\n    nvtxDomainHandle_t domain,\n    nvtxMemRegionsUnregisterBatch_t const* desc);\n\ntypedef struct nvtxMemRegionNameDesc_v1\n{\n    uint32_t regionRefType; /* NVTX_MEM_REGION_REF_TYPE_* */\n    uint32_t nameType; /* nvtxMessageType_t */\n\n    nvtxMemRegionRef_t region;\n    nvtxMessageValue_t name;\n\n    uint32_t category;\n    uint32_t reserved0;\n} nvtxMemRegionNameDesc_v1;\ntypedef nvtxMemRegionNameDesc_v1 nvtxMemRegionNameDesc_t;\n\n\ntypedef struct nvtxMemRegionsNameBatch_v1\n{\n    uint16_t extCompatID; /* Set to NVTX_EXT_COMPATID_MEM */\n    uint16_t structSize; /* Size of the structure. */\n\n    uint32_t reserved0;\n\n    size_t regionCount;\n    size_t regionElementSize;\n    nvtxMemRegionNameDesc_t const* regionElements;\n    size_t reserved1;\n} nvtxMemRegionsNameBatch_v1 ;\ntypedef nvtxMemRegionsNameBatch_v1 nvtxMemRegionsNameBatch_t;\n\n\n /** \\brief Name or rename a region. */\nNVTX_DECLSPEC void NVTX_API nvtxMemRegionsName(\n    nvtxDomainHandle_t domain,\n    nvtxMemRegionsNameBatch_t const* desc);\n\n/** \\brief There are no permissions for this memory. */\n#define NVTX_MEM_PERMISSIONS_REGION_FLAGS_NONE 0x0\n\n/** \\brief The memory is readable. */\n#define NVTX_MEM_PERMISSIONS_REGION_FLAGS_READ 0x1\n\n/** \\brief The memory is writable. */\n#define NVTX_MEM_PERMISSIONS_REGION_FLAGS_WRITE 0x2\n\n/** \\brief The memory is for atomic RW. */\n#define NVTX_MEM_PERMISSIONS_REGION_FLAGS_ATOMIC 0x4\n\n/**\n * \\brief The memory access permissions are reset for a region.\n *\n * This is as if never set, rather than documented defaults.  As as result any flags\n * indicating how unspecified regions are handle will affect this area.\n *\n * This should not be used with READ, WRITE, nor ATOMIC, as those flags would have no effect.\n */\n#define NVTX_MEM_PERMISSIONS_REGION_FLAGS_RESET 0x8\n\n\ntypedef struct nvtxMemPermissionsAssignRegionDesc_v1\n{\n    uint32_t flags; /* NVTX_MEM_PERMISSIONS_REGION_FLAGS_* */\n    uint32_t regionRefType; /* NVTX_MEM_REGION_REF_TYPE_* */\n    nvtxMemRegionRef_t region;\n\n} nvtxMemPermissionsAssignRegionDesc_v1 ;\ntypedef nvtxMemPermissionsAssignRegionDesc_v1 nvtxMemPermissionsAssignRegionDesc_t;\n\n\ntypedef struct nvtxMemPermissionsAssignBatch_v1\n{\n    uint16_t extCompatID; /* Set to NVTX_EXT_COMPATID_MEM */\n    uint16_t structSize; /* Size of the structure. */\n\n    uint32_t reserved0;\n\n    nvtxMemPermissionsHandle_t permissions;\n\n    size_t regionCount;\n    size_t regionElementSize;\n    nvtxMemPermissionsAssignRegionDesc_t const* regionElements;\n\n    size_t reserved1;\n} nvtxMemPermissionsAssignBatch_v1 ;\ntypedef nvtxMemPermissionsAssignBatch_v1 nvtxMemPermissionsAssignBatch_t;\n\n\n /** \\brief Change the permissions of a region of process virtual memory. */\nNVTX_DECLSPEC void NVTX_API nvtxMemPermissionsAssign(\n    nvtxDomainHandle_t domain,\n    nvtxMemPermissionsAssignBatch_t const* desc);\n\n\n/**\n * \\brief Create a permissions object for fine grain thread-local control in\n * multi-threading scenarios\n *\n * Unlike the global permissions object (NVTX_MEM_PERMISSIONS_HANDLE_PROCESS_WIDE), a new\n * permissions object is empty. There are no regions registered to it, so more memory is accessible\n * if bound(bind) without calls to nvtxMemPermissionsSetAccess* first. The permissions are not\n * active until nvtxMemPermissionsBind. See `nvtxMemPermissionsBind` for more details.\n *\n * Use the flags NVTX_MEM_PERMISSIONS_CREATE_FLAGS_EXCLUDE_GLOBAL_* to control  how the regions in\n * this permission object will interact with global permissions when bound. You may choose to\n * either replace global memory regions setting or overlay on top of them. The most common uses are\n * as follows:\n *     * To limit tools to validate writing exclusively specified in this object but inherit all\n *       global read access regions use `NVTX_MEM_PERMISSIONS_CREATE_FLAGS_EXCLUDE_GLOBAL_WRITE`\n *     * To limit tools to validate both read & write permissions exclusively specified in this\n *        object use NVTX_MEM_PERMISSIONS_CREATE_FLAGS_EXCLUDE_GLOBAL_READ\n *                   & NVTX_MEM_PERMISSIONS_CREATE_FLAGS_EXCLUDE_GLOBAL_WRITE\n *\n * Also see `nvtxMemPermissionsBind` & `nvtxMemPermissionsSetAccess*`.\n */\nNVTX_DECLSPEC nvtxMemPermissionsHandle_t NVTX_API nvtxMemPermissionsCreate(\n    nvtxDomainHandle_t domain,\n    int32_t creationflags); /* NVTX_MEM_PERMISSIONS_CREATE_FLAGS_* */\n\n/**\n * \\brief Destroy the permissions object.\n *\n * If bound(bind), destroy will also unbind it.\n */\nNVTX_DECLSPEC void NVTX_API nvtxMemPermissionsDestroy(\n    nvtxDomainHandle_t domain,\n    nvtxMemPermissionsHandle_t permissionsHandle); /* only supported on objects from nvtxMemPermissionsCreate */\n\n/** \\brief Reset the permissions object back to its created state. */\nNVTX_DECLSPEC void NVTX_API nvtxMemPermissionsReset(\n    nvtxDomainHandle_t domain,\n    nvtxMemPermissionsHandle_t permissionsHandle);\n/* NVTX_MEM_PERMISSIONS_HANDLE_PROCESS_WIDE and other special handles are supported */\n\n\n#define NVTX_MEM_PERMISSIONS_BIND_FLAGS_NONE 0x0\n\n /** \\brief Upon binding, with the thread, exclude parent scope write regions instead of overlaying on top of them.\n  *\n   * EX A developer may chose to first prevent all writes except the ones specified to avoid\n  * OOB writes, since there are typically less regions written to than read from.\n **/\n#define NVTX_MEM_PERMISSIONS_BIND_FLAGS_STRICT_WRITE 0x2\n\n /** \\brief Upon binding, with the thread, exclude parent scope read regions instead of overlaying on top of them.\n  *\n  * EX After eliminating any errors when applying strict writes, a developer may then choose to\n  * annotate and enforce strict reads behaviors in segments of code.\n **/\n#define NVTX_MEM_PERMISSIONS_BIND_FLAGS_STRICT_READ 0x1\n\n /** \\brief Upon binding, with the thread, exclude parent scope atomic RW regions instead of overlaying on top of them.\n  *\n  * EX After eliminating any errors from read and write, a developer may chose to ensure\n  * that atomics are in their own region, removing standard read/write, and replacing with\n  * this strict atomic only access.  This way they know that conventional reads or writes\n  * will not cause unepected issues.\n **/\n#define NVTX_MEM_PERMISSIONS_BIND_FLAGS_STRICT_ATOMIC 0x4\n\n\n#define NVTX_MEM_PERMISSIONS_BIND_SCOPE_UNKNOWN 0x0\n\n /** \\brief Bind to thread scope.  In this case, tools should validate that local thread's\n  * execution is honoring the permissions as well as the state of NVTX_MEM_PERMISSIONS_HANDLE_PROCESS_WIDE\n  * at the time of binding.  If this is not bound then NVTX_MEM_PERMISSIONS_HANDLE_PROCESS_WIDE should be\n  * used to validate the memory.\n  *\n  * Not all tools will support every scope, such a GPU sanitizer.\n **/\n#define NVTX_MEM_PERMISSIONS_BIND_SCOPE_CPU_THREAD 0x1\n\n/**\n * \\brief Bind to CUDA stream scope.\n *\n * In this case, work enqueued to a CUDA stream should be validated by the tool,\n * when it executes, that it respect the permission of the permission at the point\n * of binding, as well as the appropriate nvtxMemCudaGetDevicePermissions at the\n * time of binding. If this is not bound then nvtxMemCudaGetDevicePermissions at\n * the time of stream enqueue should be used to validate the memory.\n *\n * This could apply to work done either on the GPU like a kernel launch or to\n * CPU based callbacks like cudaStreamAddCallback if the tools supports it.\n *\n * Binding is applies locally to a CPU thread so that if N CPU threads are enqueing\n * work to the same stream (like the default stream) that there cannot be a race\n * condition between thread binding vs launching their work. IE users should\n * expect the permissions bound in the thread to be honored by the proceeding\n * work (launches, copies, etc) invoked from in the CPU thread until unbound.\n */\n#define NVTX_MEM_PERMISSIONS_BIND_SCOPE_CUDA_STREAM 0x2\n\n\n/**\n * \\brief Bind the permissions object into a particular scope on the caller thread\n *\n * Permissions do not take affect until binding. Binding permissions is a thread local\n * activity that overrides global behaviors.  This is to avoid multi-threaded race conditions,\n *\n * The scope dictates what type of processing it applies to, and when in some cases.\n * EX1: NVTX_MEM_PERMISSIONS_BIND_SCOPE_CPU_THREAD applies to CPU code accessing memory while bound.\n * EX2: NVTX_MEM_PERMISSIONS_BIND_SCOPE_CUDA_STREAM applies to CUDA streams, and the permissions\n * must be recorded and applied when the work in the stream dequeues to executes.  In this case\n * it could be GPU or CPU, if the tool support both.\n *\n * Bind can be called again on the same object and thread to take any updates to the\n * specified permission object or the inherited properties.\n *\n * Bind flags support changing how the binding process inherits region access control.\n * In the case of thread scope this is NVTX_MEM_PERMISSIONS_HANDLE_PROCESS_WIDE and from CUDA_STREAM\n * this is nvtxMemCudaGetDevicePermissions.  Choosing stricter modes allows the user to\n * further reduce the access with less work, since memory by default, behaves as natural\n * until the NVTX annotations instructs a tool to treat it anther way.  See strict flags\n * for more details.\n *\n * Also see nvtxMemPermissionsUnbind\n */\nNVTX_DECLSPEC void NVTX_API nvtxMemPermissionsBind(\n    nvtxDomainHandle_t domain,\n    nvtxMemPermissionsHandle_t permissions, /* special object like NVTX_MEM_PERMISSIONS_HANDLE_PROCESS_WIDE are not supported */\n    uint32_t bindScope, /* NVTX_MEM_PERMISSIONS_BIND_SCOPE_* */\n    uint32_t bindFlags); /* NVTX_MEM_PERMISSIONS_BIND_FLAGS_* */\n\n/**\n * \\brief Unbind the permissions object bound to the caller thread.\n *\n * Upon unbind, the thread local permissions for a scope are restored to the default\n * behavior defined by the scope.\n */\nNVTX_DECLSPEC void NVTX_API nvtxMemPermissionsUnbind(\n    nvtxDomainHandle_t domain,\n    uint32_t bindScope);\n\n/** @} */ /*END defgroup*/\n\ntypedef enum NvtxExtMemCallbackId\n{\n    /* CBID 0 is invalid */\n    NVTX3EXT_CBID_nvtxMemHeapRegister                  = 1,\n    NVTX3EXT_CBID_nvtxMemHeapUnregister                = 2,\n    NVTX3EXT_CBID_nvtxMemHeapReset                     = 3,\n    NVTX3EXT_CBID_nvtxMemRegionsRegister               = 4,\n    NVTX3EXT_CBID_nvtxMemRegionsResize                 = 5,\n    NVTX3EXT_CBID_nvtxMemRegionsUnregister             = 6,\n    NVTX3EXT_CBID_nvtxMemRegionsName                   = 7,\n    NVTX3EXT_CBID_nvtxMemPermissionsAssign             = 8,\n    NVTX3EXT_CBID_nvtxMemPermissionsCreate             = 9,\n    NVTX3EXT_CBID_nvtxMemPermissionsDestroy            = 10,\n    NVTX3EXT_CBID_nvtxMemPermissionsReset              = 11,\n    NVTX3EXT_CBID_nvtxMemPermissionsBind               = 12,\n    NVTX3EXT_CBID_nvtxMemPermissionsUnbind             = 13,\n\n    /* 14-16 in nvtExtImplMemCudaRt1.h */\n    NVTX3EXT_CBID_nvtxMemCudaGetProcessWidePermissions = 14,\n    NVTX3EXT_CBID_nvtxMemCudaGetDeviceWidePermissions  = 15,\n    NVTX3EXT_CBID_nvtxMemCudaSetPeerAccess             = 16,\n\n    NVTX3EXT_CBID_MEM_FN_NUM                           = 17\n} NvtxExtMemCallbackId;\n\n#ifdef __GNUC__\n#pragma GCC visibility push(internal)\n#endif\n\n/* Extension types are required for the implementation and the NVTX handler. */\n#define NVTX_EXT_TYPES_GUARD /* Ensure other headers cannot be included directly */\n#include \"nvtxDetail/nvtxExtTypes.h\"\n#undef NVTX_EXT_TYPES_GUARD\n\n#ifndef NVTX_NO_IMPL\n/* Ensure other headers cannot be included directly */\n#define NVTX_EXT_IMPL_MEM_GUARD\n#include \"nvtxDetail/nvtxExtImplMem_v1.h\"\n#undef NVTX_EXT_IMPL_MEM_GUARD\n#endif /*NVTX_NO_IMPL*/\n\n#ifdef __GNUC__\n#pragma GCC visibility pop\n#endif\n\n#ifdef __cplusplus\n}\n#endif /* __cplusplus */\n\n#endif /* NVTOOLSEXTV3_MEM_V1 */\n"
  },
  {
    "path": "src/include/nvtx3/nvToolsExtMemCudaRt.h",
    "content": "/*\n* Copyright 2009-2020  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n#ifndef NVTOOLSEXTV3_MEM_CUDART_V1\n#define NVTOOLSEXTV3_MEM_CUDART_V1\n\n#include \"nvToolsExtMem.h\"\n\n#include \"cuda.h\"\n#include \"cuda_runtime.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n\n/** \\brief The memory is from a CUDA runtime array.\n *\n * Relevant functions: cudaMallocArray,  cudaMalloc3DArray\n * Also cudaArray_t from other types such as cudaMipmappedArray_t\n *\n * NVTX_MEM_HEAP_HANDLE_PROCESS_WIDE is not supported\n *\n * nvtxMemHeapRegister receives a heapDesc of type cudaArray_t because the description can be retrieved by tools through cudaArrayGetInfo()\n * nvtxMemRegionRegisterEx receives a regionDesc of type nvtxMemCudaArrayRangeDesc_t\n */\n#define NVTX_MEM_TYPE_CUDA_ARRAY 0x11\n\n/** \\brief structure to describe memory in a CUDA array object\n */\ntypedef struct nvtxMemCudaArrayRangeDesc_v1\n{\n    uint16_t extCompatID; /* Set to NVTX_EXT_COMPATID_MEM */\n    uint16_t structSize; /* Size of the structure. */\n    uint32_t reserved0;\n    cudaArray_t  src;\n    size_t offset[3];\n    size_t extent[3];\n} nvtxMemCudaArrayRangeDesc_v1;\ntypedef nvtxMemCudaArrayRangeDesc_v1 nvtxMemCudaArrayRangeDesc_t;\n\n\n/** \\brief The memory is from a CUDA device array.\n *\n * Relevant functions: cuArrayCreate,  cuArray3DCreate\n * Also CUarray from other types such as CUmipmappedArray\n *\n * NVTX_MEM_HEAP_HANDLE_PROCESS_WIDE is not supported\n *\n * nvtxMemHeapRegister receives a heapDesc of type cudaArray_t because the description can be retrieved by tools through cudaArrayGetInfo()\n * nvtxMemRegionRegisterEx receives a regionDesc of type nvtxMemCuArrayRangeDesc_t\n */\n#define NVTX_MEM_TYPE_CU_ARRAY 0x12\n\n/** \\brief structure to describe memory in a CUDA array object\n */\ntypedef struct nvtxMemCuArrayRangeDesc_v1\n{\n    uint16_t extCompatID; /* Set to NVTX_EXT_COMPATID_MEM */\n    uint16_t structSize; /* Size of the structure. */\n    uint32_t reserved0;\n    CUarray  src;\n    size_t offset[3];\n    size_t extent[3];\n} nvtxMemCuArrayRangeDesc_v1;\ntypedef nvtxMemCuArrayRangeDesc_v1 nvtxMemCuArrayRangeDesc_t;\n\n/* Reserving 0x2-0xF for more common types */\n\n#define NVTX_MEM_CUDA_PEER_ALL_DEVICES -1\n\n/** \\brief Get the permission object that represent the CUDA runtime device\n * or cuda driver context\n *\n * This object will allow developers to adjust permissions applied to work executed\n * on the GPU.  It may be inherited or overridden by permissions object bound\n * with NVTX_MEM_PERMISSIONS_BIND_SCOPE_CUDA_STREAM, depending on the binding flags.\n *\n * Ex. change the peer to peer access permissions between devices in entirety\n * or punch through special holes\n *\n * By default, all memory is accessible that naturally would be to a CUDA kernel until\n * modified otherwise by nvtxMemCudaSetPeerAccess or changing regions.\n *\n * This object should also represent the CUDA driver API level context.\n*/\nNVTX_DECLSPEC nvtxMemPermissionsHandle_t NVTX_API nvtxMemCudaGetProcessWidePermissions(\n    nvtxDomainHandle_t domain);\n\n/** \\brief Get the permission object that represent the CUDA runtime device\n * or cuda driver context\n *\n * This object will allow developers to adjust permissions applied to work executed\n * on the GPU.  It may be inherited or overridden by permissions object bound\n * with NVTX_MEM_PERMISSIONS_BIND_SCOPE_CUDA_STREAM, depending on the binding flags.\n *\n * Ex. change the peer to peer access permissions between devices in entirety\n * or punch through special holes\n *\n * By default, all memory is accessible that naturally would be to a CUDA kernel until\n * modified otherwise by nvtxMemCudaSetPeerAccess or changing regions.\n *\n * This object should also represent the CUDA driver API level context.\n*/\nNVTX_DECLSPEC nvtxMemPermissionsHandle_t NVTX_API nvtxMemCudaGetDeviceWidePermissions(\n    nvtxDomainHandle_t domain,\n    int device);\n\n/** \\brief Change the default behavior for all memory mapped in from a particular device.\n *\n * While typically all memory defaults to readable and writable, users may desire to limit\n * access to reduced default permissions such as read-only and a per-device basis.\n *\n * Regions can used to further override smaller windows of memory.\n *\n * devicePeer can be NVTX_MEM_CUDA_PEER_ALL_DEVICES\n *\n*/\nNVTX_DECLSPEC void NVTX_API nvtxMemCudaSetPeerAccess(\n    nvtxDomainHandle_t domain,\n    nvtxMemPermissionsHandle_t permissions,\n    int devicePeer, /* device number such as from cudaGetDevice() or NVTX_MEM_CUDA_PEER_ALL_DEVICES */\n    uint32_t flags); /* NVTX_MEM_PERMISSIONS_REGION_FLAGS_* */\n\n/** @} */ /*END defgroup*/\n\n#ifdef __GNUC__\n#pragma GCC visibility push(internal)\n#endif\n\n#ifndef NVTX_NO_IMPL\n#define NVTX_EXT_IMPL_MEM_CUDART_GUARD /* Ensure other headers cannot be included directly */\n#include \"nvtxDetail/nvtxExtImplMemCudaRt_v1.h\"\n#undef NVTX_EXT_IMPL_MEM_CUDART_GUARD\n#endif /*NVTX_NO_IMPL*/\n\n#ifdef __GNUC__\n#pragma GCC visibility pop\n#endif\n\n\n#ifdef __cplusplus\n}\n#endif /* __cplusplus */\n\n#endif /* NVTOOLSEXTV3_MEM_CUDART_V1 */\n"
  },
  {
    "path": "src/include/nvtx3/nvToolsExtOpenCL.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#include \"nvToolsExt.h\"\n\n#include <CL/cl.h>\n\n#ifndef NVTOOLSEXT_OPENCL_V3\n#define NVTOOLSEXT_OPENCL_V3\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n/* ========================================================================= */\n/** \\name Functions for OpenCL Resource Naming\n */\n/** \\addtogroup RESOURCE_NAMING\n * \\section RESOURCE_NAMING_OPENCL OpenCL Resource Naming\n *\n * This section covers the API functions that allow to annotate OpenCL resources\n * with user-provided names.\n *\n * @{\n */\n\n/*  ------------------------------------------------------------------------- */\n/* \\cond SHOW_HIDDEN\n* \\brief Used to build a non-colliding value for resource types separated class\n* \\version \\NVTX_VERSION_2\n*/\n#define NVTX_RESOURCE_CLASS_OPENCL 6\n/** \\endcond */\n\n/*  ------------------------------------------------------------------------- */\n/** \\brief Resource types for OpenCL\n*/\ntypedef enum nvtxResourceOpenCLType_t\n{\n    NVTX_RESOURCE_TYPE_OPENCL_DEVICE = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 1),\n    NVTX_RESOURCE_TYPE_OPENCL_CONTEXT = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 2),\n    NVTX_RESOURCE_TYPE_OPENCL_COMMANDQUEUE = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 3),\n    NVTX_RESOURCE_TYPE_OPENCL_MEMOBJECT = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 4),\n    NVTX_RESOURCE_TYPE_OPENCL_SAMPLER = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 5),\n    NVTX_RESOURCE_TYPE_OPENCL_PROGRAM = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 6),\n    NVTX_RESOURCE_TYPE_OPENCL_EVENT = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 7),\n} nvtxResourceOpenCLType_t;\n\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Annotates an OpenCL device.\n *\n * Allows to associate an OpenCL device with a user-provided name.\n *\n * \\param device - The handle of the OpenCL device to name.\n * \\param name   - The name of the OpenCL device.\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameClDeviceA(cl_device_id device, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameClDeviceW(cl_device_id device, const wchar_t* name);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Annotates an OpenCL context.\n *\n * Allows to associate an OpenCL context with a user-provided name.\n *\n * \\param context - The handle of the OpenCL context to name.\n * \\param name    - The name of the OpenCL context.\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameClContextA(cl_context context, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameClContextW(cl_context context, const wchar_t* name);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Annotates an OpenCL command queue.\n *\n * Allows to associate an OpenCL command queue with a user-provided name.\n *\n * \\param command_queue - The handle of the OpenCL command queue to name.\n * \\param name          - The name of the OpenCL command queue.\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameClCommandQueueA(cl_command_queue command_queue, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameClCommandQueueW(cl_command_queue command_queue, const wchar_t* name);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Annotates an OpenCL memory object.\n *\n * Allows to associate an OpenCL memory object with a user-provided name.\n *\n * \\param memobj - The handle of the OpenCL memory object to name.\n * \\param name   - The name of the OpenCL memory object.\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameClMemObjectA(cl_mem memobj, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameClMemObjectW(cl_mem memobj, const wchar_t* name);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Annotates an OpenCL sampler.\n *\n * Allows to associate an OpenCL sampler with a user-provided name.\n *\n * \\param sampler - The handle of the OpenCL sampler to name.\n * \\param name    - The name of the OpenCL sampler.\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameClSamplerA(cl_sampler sampler, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameClSamplerW(cl_sampler sampler, const wchar_t* name);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Annotates an OpenCL program.\n *\n * Allows to associate an OpenCL program with a user-provided name.\n *\n * \\param program - The handle of the OpenCL program to name.\n * \\param name    - The name of the OpenCL program.\n *\n * \\code\n * cpProgram = clCreateProgramWithSource(cxGPUContext, 1,\n *     (const char **) &cSourceCL, &program_length, &ciErrNum);\n * shrCheckErrorEX(ciErrNum, CL_SUCCESS, pCleanup);\n * nvtxNameClProgram(cpProgram, L\"PROGRAM_NAME\");\n * \\endcode\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameClProgramA(cl_program program, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameClProgramW(cl_program program, const wchar_t* name);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Annotates an OpenCL event.\n *\n * Allows to associate an OpenCL event with a user-provided name.\n *\n * \\param evnt - The handle of the OpenCL event to name.\n * \\param name - The name of the OpenCL event.\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxNameClEventA(cl_event evnt, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameClEventW(cl_event evnt, const wchar_t* name);\n/** @} */\n\n/** @} */ /* END RESOURCE_NAMING */\n\n/* ========================================================================= */\n#ifdef UNICODE\n  #define nvtxNameClDevice        nvtxNameClDeviceW\n  #define nvtxNameClContext       nvtxNameClContextW\n  #define nvtxNameClCommandQueue  nvtxNameClCommandQueueW\n  #define nvtxNameClMemObject     nvtxNameClMemObjectW\n  #define nvtxNameClSampler       nvtxNameClSamplerW\n  #define nvtxNameClProgram       nvtxNameClProgramW\n  #define nvtxNameClEvent         nvtxNameClEventW\n#else\n  #define nvtxNameClDevice        nvtxNameClDeviceA\n  #define nvtxNameClContext       nvtxNameClContextA\n  #define nvtxNameClCommandQueue  nvtxNameClCommandQueueA\n  #define nvtxNameClMemObject     nvtxNameClMemObjectA\n  #define nvtxNameClSampler       nvtxNameClSamplerA\n  #define nvtxNameClProgram       nvtxNameClProgramA\n  #define nvtxNameClEvent         nvtxNameClEventA\n#endif\n\n#ifdef __cplusplus\n}\n#endif /* __cplusplus */\n\n#ifndef NVTX_NO_IMPL\n#define NVTX_IMPL_GUARD_OPENCL /* Ensure other headers cannot be included directly */\n#include \"nvtxDetail/nvtxImplOpenCL_v3.h\"\n#undef NVTX_IMPL_GUARD_OPENCL\n#endif /*NVTX_NO_IMPL*/\n\n#endif /* NVTOOLSEXT_OPENCL_V3 */\n"
  },
  {
    "path": "src/include/nvtx3/nvToolsExtPayload.h",
    "content": "/*\n* Copyright 2021-2024  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#include \"nvToolsExt.h\"\n\n/* Optionally include helper macros. */\n/* #include \"nvToolsExtPayloadHelper.h\" */\n\n/**\n * If needed, semantic extension headers can be included after this header.\n */\n\n/**\n * \\brief The compatibility ID is used for versioning of this extension.\n */\n#ifndef NVTX_EXT_PAYLOAD_COMPATID\n#define NVTX_EXT_PAYLOAD_COMPATID 0x0103\n#endif\n\n/**\n * \\brief The module ID identifies the payload extension. It has to be unique\n * among the extension modules.\n */\n#ifndef NVTX_EXT_PAYLOAD_MODULEID\n#define NVTX_EXT_PAYLOAD_MODULEID 2\n#endif\n\n/**\n * \\brief Additional value for the enum @ref nvtxPayloadType_t\n */\n#ifndef NVTX_PAYLOAD_TYPE_EXT\n#define NVTX_PAYLOAD_TYPE_EXT ((int32_t)0xDFBD0009)\n#endif\n\n/** ---------------------------------------------------------------------------\n * Payload schema entry flags. Used for @ref nvtxPayloadSchemaEntry_t::flags.\n * ------------------------------------------------------------------------- */\n#ifndef NVTX_PAYLOAD_ENTRY_FLAGS_V1\n#define NVTX_PAYLOAD_ENTRY_FLAGS_V1\n\n#define NVTX_PAYLOAD_ENTRY_FLAG_UNUSED 0\n\n/**\n * Absolute pointer into a payload (entry) of the same event.\n */\n#define NVTX_PAYLOAD_ENTRY_FLAG_POINTER          (1 << 1)\n\n/**\n * Offset from base address of the payload.\n */\n#define NVTX_PAYLOAD_ENTRY_FLAG_OFFSET_FROM_BASE (1 << 2)\n\n/**\n * Offset from the end of this payload entry.\n */\n#define NVTX_PAYLOAD_ENTRY_FLAG_OFFSET_FROM_HERE (1 << 3)\n\n/**\n * The value is an array with fixed length, set with the field `arrayLength`.\n */\n#define NVTX_PAYLOAD_ENTRY_FLAG_ARRAY_FIXED_SIZE           (1 << 4)\n\n/**\n * The value is a zero-/null-terminated array.\n */\n#define NVTX_PAYLOAD_ENTRY_FLAG_ARRAY_ZERO_TERMINATED      (2 << 4)\n\n/**\n * \\brief A single or multi-dimensional array of variable length.\n *\n * The field `arrayOrUnionDetail` contains the index of the schema entry that\n * holds the length(s). If the length entry is a scalar, then this entry is a 1D\n * array. If the length entry is a fixed-size array, then the number of\n * dimensions is defined with the registration of the schema. If the length\n * entry is a zero-terminated array, then the array of the dimensions can be\n * determined at runtime.\n * For multidimensional arrays, values are stored in row-major order, with rows\n * being stored consecutively in contiguous memory. The size of the entry (in\n * bytes) is the product of the dimensions multiplied with size of the array\n * element.\n */\n#define NVTX_PAYLOAD_ENTRY_FLAG_ARRAY_LENGTH_INDEX         (3 << 4)\n\n/**\n * \\brief A single or multi-dimensional array of variable length, where the\n * dimensions are stored in a different payload (index) of the same event.\n *\n * This enables an existing address to an array to be directly passed, while the\n * dimensions are defined in a separate payload (with only one payload entry).\n */\n#define NVTX_PAYLOAD_ENTRY_FLAG_ARRAY_LENGTH_PAYLOAD_INDEX (4 << 4)\n\n/**\n * \\brief The value or data that is pointed to by this payload entry value shall\n * be copied by the NVTX handler.\n *\n * A tool may not support deep copy and just ignore this flag.\n * See @ref NVTX_PAYLOAD_SCHEMA_FLAG_DEEP_COPY for more details.\n */\n#define NVTX_PAYLOAD_ENTRY_FLAG_DEEP_COPY          (1 << 8)\n\n/**\n * Notifies the NVTX handler to hide this entry in case of visualization.\n */\n#define NVTX_PAYLOAD_ENTRY_FLAG_HIDE               (1 << 9)\n\n/**\n * The entry specifies the event message. Any string type can be used.\n */\n#define NVTX_PAYLOAD_ENTRY_FLAG_EVENT_MESSAGE      (1 << 10)\n\n/**\n * \\brief The entry contains an event timestamp.\n *\n * The time source might be provided via the entry semantics field. In most\n * cases, the timestamp (entry) type is @ref NVTX_PAYLOAD_ENTRY_TYPE_UINT64.\n */\n#define NVTX_PAYLOAD_ENTRY_FLAG_EVENT_TIMESTAMP    (2 << 10)\n\n/**\n * These flags specify the NVTX event type to which an entry refers.\n */\n#define NVTX_PAYLOAD_ENTRY_FLAG_RANGE_BEGIN        (1 << 12)\n#define NVTX_PAYLOAD_ENTRY_FLAG_RANGE_END          (2 << 12)\n#define NVTX_PAYLOAD_ENTRY_FLAG_MARK               (3 << 12)\n#define NVTX_PAYLOAD_ENTRY_FLAG_COUNTER            (4 << 12)\n\n#endif /* NVTX_PAYLOAD_ENTRY_FLAGS_V1 */\n/** ---------------------------------------------------------------------------\n * END: Payload schema entry flags.\n * ------------------------------------------------------------------------- */\n\n/** \\todo: Keep this in the header? */\n/**\n * @note The ‘array’ flags assume that the array is embedded. Otherwise,\n * @ref NVTX_PAYLOAD_ENTRY_FLAG_POINTER has to be additionally specified. Some\n * combinations may be invalid based on the `NVTX_PAYLOAD_SCHEMA_TYPE_*` this\n * entry is enclosed. For instance, variable length embedded arrays are valid\n * within @ref NVTX_PAYLOAD_SCHEMA_TYPE_DYNAMIC but invalid with\n * @ref NVTX_PAYLOAD_SCHEMA_TYPE_STATIC. See `NVTX_PAYLOAD_SCHEMA_TYPE_*` for\n * additional details.\n */\n\n/* Helper macro to check if an entry represents an array. */\n#define NVTX_PAYLOAD_ENTRY_FLAG_IS_ARRAY (\\\n    NVTX_PAYLOAD_ENTRY_FLAG_ARRAY_FIXED_SIZE | \\\n    NVTX_PAYLOAD_ENTRY_FLAG_ARRAY_ZERO_TERMINATED | \\\n    NVTX_PAYLOAD_ENTRY_FLAG_ARRAY_LENGTH_INDEX)\n\n#define NVTX_PAYLOAD_ENTRY_FLAG_ARRAY_TYPE(F) \\\n    (F & NVTX_PAYLOAD_ENTRY_FLAG_IS_ARRAY)\n/** \\todo end */\n\n\n/** ---------------------------------------------------------------------------\n * Types of entries in a payload schema.\n *\n * @note Several of the predefined types contain the size (in bits) in their\n * names. For some data types the size (in bytes) is not fixed and may differ\n * for different platforms/operating systems/compilers. To provide portability,\n * an array of sizes (in bytes) for type 1 to 28 ( @ref\n * NVTX_PAYLOAD_ENTRY_TYPE_CHAR to @ref NVTX_PAYLOAD_ENTRY_TYPE_INFO_ARRAY_SIZE)\n * is passed to the NVTX extension initialization function\n * @ref InitializeInjectionNvtxExtension via the `extInfo` field of\n * @ref nvtxExtModuleInfo_t.\n * ------------------------------------------------------------------------- */\n#ifndef NVTX_PAYLOAD_ENTRY_TYPES_V1\n#define NVTX_PAYLOAD_ENTRY_TYPES_V1\n\n#define NVTX_PAYLOAD_ENTRY_TYPE_INVALID     0\n\n/**\n * Basic integer types.\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_CHAR        1\n#define NVTX_PAYLOAD_ENTRY_TYPE_UCHAR       2\n#define NVTX_PAYLOAD_ENTRY_TYPE_SHORT       3\n#define NVTX_PAYLOAD_ENTRY_TYPE_USHORT      4\n#define NVTX_PAYLOAD_ENTRY_TYPE_INT         5\n#define NVTX_PAYLOAD_ENTRY_TYPE_UINT        6\n#define NVTX_PAYLOAD_ENTRY_TYPE_LONG        7\n#define NVTX_PAYLOAD_ENTRY_TYPE_ULONG       8\n#define NVTX_PAYLOAD_ENTRY_TYPE_LONGLONG    9\n#define NVTX_PAYLOAD_ENTRY_TYPE_ULONGLONG  10\n\n/**\n * Integer types with explicit size.\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_INT8       11\n#define NVTX_PAYLOAD_ENTRY_TYPE_UINT8      12\n#define NVTX_PAYLOAD_ENTRY_TYPE_INT16      13\n#define NVTX_PAYLOAD_ENTRY_TYPE_UINT16     14\n#define NVTX_PAYLOAD_ENTRY_TYPE_INT32      15\n#define NVTX_PAYLOAD_ENTRY_TYPE_UINT32     16\n#define NVTX_PAYLOAD_ENTRY_TYPE_INT64      17\n#define NVTX_PAYLOAD_ENTRY_TYPE_UINT64     18\n\n/**\n * Floating point types\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_FLOAT      19\n#define NVTX_PAYLOAD_ENTRY_TYPE_DOUBLE     20\n#define NVTX_PAYLOAD_ENTRY_TYPE_LONGDOUBLE 21\n\n/**\n * Size type (`size_t` in C).\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_SIZE       22\n\n/**\n * Any address, e.g. `void*`. If the pointer type matters, use the flag @ref\n * NVTX_PAYLOAD_ENTRY_FLAG_POINTER and the respective type instead.\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_ADDRESS    23\n\n/**\n * Special character types.\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_WCHAR      24 /* wide character (since C90) */\n#define NVTX_PAYLOAD_ENTRY_TYPE_CHAR8      25 /* since C2x and C++20 */\n#define NVTX_PAYLOAD_ENTRY_TYPE_CHAR16     26\n#define NVTX_PAYLOAD_ENTRY_TYPE_CHAR32     27\n\n/**\n * There is type size and alignment information for all previous types.\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_INFO_ARRAY_SIZE (NVTX_PAYLOAD_ENTRY_TYPE_CHAR32 + 1)\n\n/**\n * Store raw 8-bit binary data. As with `char`, 1-byte alignment is assumed.\n * Typically, a tool will display this as hex or binary.\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_BYTE       32\n\n/**\n * These types do not have standardized equivalents. It is assumed that the\n * number at the end corresponds to the bits used to store the value and that\n * the alignment corresponds to standardized types of the same size.\n * A tool may not support these types.\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_INT128     33\n#define NVTX_PAYLOAD_ENTRY_TYPE_UINT128    34\n\n#define NVTX_PAYLOAD_ENTRY_TYPE_FLOAT16    42\n#define NVTX_PAYLOAD_ENTRY_TYPE_FLOAT32    43\n#define NVTX_PAYLOAD_ENTRY_TYPE_FLOAT64    44\n#define NVTX_PAYLOAD_ENTRY_TYPE_FLOAT128   45\n\n#define NVTX_PAYLOAD_ENTRY_TYPE_BF16       50\n#define NVTX_PAYLOAD_ENTRY_TYPE_TF32       52\n\n/**\n * Generic data type\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_DATATYPE   53\n\n/**\n * Data types are as defined by NVTXv3 core.\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_CATEGORY   68 /* uint32_t */\n#define NVTX_PAYLOAD_ENTRY_TYPE_COLOR_ARGB 69 /* uint32_t */\n\n/**\n * The scope of events or counters (see `nvtxScopeRegister`).\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_SCOPE_ID   70 /* uint64_t */\n\n/**\n * Thread ID as scope.\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_TID_UINT32 73\n#define NVTX_PAYLOAD_ENTRY_TYPE_TID_UINT64 74\n\n/**\n * \\brief String types.\n *\n * If no flags are set for the entry and `arrayOrUnionDetail > 0`, the entry is\n * assumed to be a fixed-size string with the given length, embedded in the payload.\n * `NVTX_PAYLOAD_ENTRY_FLAG_ARRAY_FIXED_SIZE` is redundant for fixed-size strings.\n *\n * \\todo(Revise the following paragraph.)\n * Setting the flag `NVTX_PAYLOAD_ENTRY_FLAG_ARRAY_ZERO_TERMINATED` specifies a\n * zero-terminated string. If `arrayOrUnionDetail > 0`, the entry is handled as\n * a zero-terminated array of fixed-size strings.\n *\n * Setting the flag `NVTX_PAYLOAD_ENTRY_FLAG_ARRAY_LENGTH_INDEX` specifies a\n * variable-length string with the length given in the entry specified by the\n * field `arrayOrUnionDetail`.\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_CSTRING       75 /* `char*`, system LOCALE */\n#define NVTX_PAYLOAD_ENTRY_TYPE_CSTRING_UTF8  76\n#define NVTX_PAYLOAD_ENTRY_TYPE_CSTRING_UTF16 77\n#define NVTX_PAYLOAD_ENTRY_TYPE_CSTRING_UTF32 78\n\n/**\n * The entry value is of type @ref nvtxStringHandle_t returned by\n * @ref nvtxDomainRegisterString.\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_NVTX_REGISTERED_STRING_HANDLE 80\n\n/**\n * This type marks the union selector member (entry index) in schemas used by\n * a union with internal selector.\n * See @ref NVTX_PAYLOAD_SCHEMA_TYPE_UNION_WITH_INTERNAL_SELECTOR.\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_UNION_SELECTOR 100\n\n/**\n * \\brief Predefined schema ID for payload data that is referenced in another payload.\n *\n * This schema ID can be used in @ref nvtxPayloadData_t::schema_id to indicate that the\n * payload is a blob of memory which other payload entries may point into.\n * A tool will not expose this payload directly.\n *\n * This schema ID cannot be used as schema entry type!\n */\n#define NVTX_TYPE_PAYLOAD_SCHEMA_REFERENCED 1022\n\n/**\n * \\brief Predefined schema ID for raw payload data.\n *\n * This schema ID can be used in @ref nvtxPayloadData_t::schema_id to indicate\n * that the payload is a blob, which can be shown with an arbitrary data viewer.\n * This schema ID cannot be used as schema entry type!\n */\n#define NVTX_TYPE_PAYLOAD_SCHEMA_RAW        1023\n\n/**\n * \\deprecated: Remove for official release!\n * In the initial version of this header custom schema IDs started\n * here. Unless predefined types require more than 16 bits we can keep this\n * value to preserve backwards compatibility. The value is not used as first\n * ID for custom schemas any more, but in the analysis every entry type >= this\n * value is assumed to be a custom schema.\n */\n#define NVTX_PAYLOAD_ENTRY_TYPE_CUSTOM_BASE 65536\n\n/* Custom (static) schema IDs. */\n#define NVTX_PAYLOAD_ENTRY_TYPE_SCHEMA_ID_STATIC_START  (1 << 24)\n\n/* Dynamic schema IDs (generated by the tool) start here. */\n#define NVTX_PAYLOAD_ENTRY_TYPE_SCHEMA_ID_DYNAMIC_START 4294967296 /* 1 << 32 */\n\n#endif /* NVTX_PAYLOAD_ENTRY_TYPES_V1 */\n/** ---------------------------------------------------------------------------\n * END: Payload schema entry types.\n * ------------------------------------------------------------------------- */\n\n\n#ifndef NVTX_PAYLOAD_SCHEMA_TYPES_V1\n#define NVTX_PAYLOAD_SCHEMA_TYPES_V1\n\n/**\n * \\brief The payload schema type.\n *\n * A schema can be either of the following types. It is set with\n * @ref nvtxPayloadSchemaAttr_t::type.\n */\n#define NVTX_PAYLOAD_SCHEMA_TYPE_INVALID                      0\n#define NVTX_PAYLOAD_SCHEMA_TYPE_STATIC                       1\n#define NVTX_PAYLOAD_SCHEMA_TYPE_DYNAMIC                      2\n#define NVTX_PAYLOAD_SCHEMA_TYPE_UNION                        3\n#define NVTX_PAYLOAD_SCHEMA_TYPE_UNION_WITH_INTERNAL_SELECTOR 4\n\n#endif /* NVTX_PAYLOAD_SCHEMA_TYPES_V1 */\n\n\n#ifndef NVTX_PAYLOAD_SCHEMA_FLAGS_V1\n#define NVTX_PAYLOAD_SCHEMA_FLAGS_V1\n\n/**\n * \\brief Flags for static and dynamic schemas.\n *\n * The schema flags are used with @ref nvtxPayloadSchemaAttr_t::flags.\n */\n#define NVTX_PAYLOAD_SCHEMA_FLAG_NONE           0\n\n/**\n * This flag indicates that a schema and the corresponding payloads can\n * contain fields which require a deep copy.\n */\n#define NVTX_PAYLOAD_SCHEMA_FLAG_DEEP_COPY      (1 << 1)\n\n/**\n * This flag indicates that a schema and the corresponding payload can be\n * referenced by another payload of the same event. If the schema is not\n * intended to be visualized directly, it is possible use\n * @ref NVTX_TYPE_PAYLOAD_SCHEMA_REFERENCED instead.\n */\n#define NVTX_PAYLOAD_SCHEMA_FLAG_REFERENCED     (1 << 2)\n\n/**\n * The schema defines a counter group. An NVTX handler can expect that the schema\n * contains entries with counter semantics.\n */\n#define NVTX_PAYLOAD_SCHEMA_FLAG_COUNTER_GROUP  (1 << 3)\n\n\n#endif /* NVTX_PAYLOAD_SCHEMA_FLAGS_V1 */\n\n\n#ifndef NVTX_PAYLOAD_SCHEMA_ATTRS_V1\n#define NVTX_PAYLOAD_SCHEMA_ATTRS_V1\n\n/**\n * The values allow the valid fields in @ref nvtxPayloadSchemaAttr_t to be\n * specified via setting the field `fieldMask`.\n */\n#define NVTX_PAYLOAD_SCHEMA_ATTR_NAME        (1 << 1)\n#define NVTX_PAYLOAD_SCHEMA_ATTR_TYPE        (1 << 2)\n#define NVTX_PAYLOAD_SCHEMA_ATTR_FLAGS       (1 << 3)\n#define NVTX_PAYLOAD_SCHEMA_ATTR_ENTRIES     (1 << 4)\n#define NVTX_PAYLOAD_SCHEMA_ATTR_NUM_ENTRIES (1 << 5)\n#define NVTX_PAYLOAD_SCHEMA_ATTR_STATIC_SIZE (1 << 6)\n#define NVTX_PAYLOAD_SCHEMA_ATTR_ALIGNMENT   (1 << 7)\n#define NVTX_PAYLOAD_SCHEMA_ATTR_SCHEMA_ID   (1 << 8)\n#define NVTX_PAYLOAD_SCHEMA_ATTR_EXTENSION   (1 << 9)\n\n#endif /* NVTX_PAYLOAD_SCHEMA_ATTRS_V1 */\n\n\n#ifndef NVTX_PAYLOAD_ENUM_ATTRS_V1\n#define NVTX_PAYLOAD_ENUM_ATTRS_V1\n\n/**\n * The values are used to set the field `fieldMask` and specify which fields in\n * @ref nvtxPayloadEnumAttr_t are set.\n */\n#define NVTX_PAYLOAD_ENUM_ATTR_NAME        (1 << 1)\n#define NVTX_PAYLOAD_ENUM_ATTR_ENTRIES     (1 << 2)\n#define NVTX_PAYLOAD_ENUM_ATTR_NUM_ENTRIES (1 << 3)\n#define NVTX_PAYLOAD_ENUM_ATTR_SIZE        (1 << 4)\n#define NVTX_PAYLOAD_ENUM_ATTR_SCHEMA_ID   (1 << 5)\n#define NVTX_PAYLOAD_ENUM_ATTR_EXTENSION   (1 << 6)\n\n#endif /* NVTX_PAYLOAD_ENUM_ATTRS_V1 */\n\n/**\n * An NVTX scope specifies the execution scope or source of events or counters.\n */\n#ifndef NVTX_SCOPES_V1\n#define NVTX_SCOPES_V1\n\n/** Identifies an invalid scope and indicates an error if returned by `nvtxScopeRegister`. */\n#define NVTX_SCOPE_NONE                    0 /* no scope */\n\n#define NVTX_SCOPE_ROOT                    1\n\n#define NVTX_SCOPE_CURRENT_HW_MACHINE      2 /* Node/machine name */\n#define NVTX_SCOPE_CURRENT_HW_SOCKET       3\n#define NVTX_SCOPE_CURRENT_HW_CPU_PHYSICAL 4 /* Physical CPU core */\n#define NVTX_SCOPE_CURRENT_HW_CPU_LOGICAL  5 /* Logical CPU core */\n/* Innermost HW execution context at registration time */\n#define NVTX_SCOPE_CURRENT_HW_INNERMOST   15\n\n/* Virtualized hardware, virtual machines, OS (if you don't know any better)\n\\todo: Need to be more precise what information is expected for each of these scopes. */\n#define NVTX_SCOPE_CURRENT_HYPERVISOR     16\n#define NVTX_SCOPE_CURRENT_VM             17\n#define NVTX_SCOPE_CURRENT_KERNEL         18\n#define NVTX_SCOPE_CURRENT_CONTAINER      19\n#define NVTX_SCOPE_CURRENT_OS             20\n\n/* Software scopes */\n#define NVTX_SCOPE_CURRENT_SW_PROCESS \t  21 /* Process scope */\n#define NVTX_SCOPE_CURRENT_SW_THREAD  \t  22 /* Thread scope */\n/* Innermost SW execution context at registration time */\n#define NVTX_SCOPE_CURRENT_SW_INNERMOST   31\n\n/** Static (user-provided) scope IDs (feed forward) */\n#define NVTX_SCOPE_ID_STATIC_START  (1 << 24)\n\n/** Dynamically (tool) generated scope IDs */\n#define NVTX_SCOPE_ID_DYNAMIC_START 4294967296  /* 1 << 32 */\n\n#endif /* NVTX_SCOPES_V1 */\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n#ifndef NVTX_PAYLOAD_TYPEDEFS_V1\n#define NVTX_PAYLOAD_TYPEDEFS_V1\n\n/**\n * \\brief Size and alignment information for predefined payload entry types.\n *\n * The struct contains the size and the alignment size in bytes. A respective\n * array for the predefined types is passed via nvtxExtModuleInfo_t to the NVTX\n * client/handler. The type (ID) is used as index into this array.\n */\ntypedef struct nvtxPayloadEntryTypeInfo_v1\n{\n    uint16_t size;\n    uint16_t align;\n} nvtxPayloadEntryTypeInfo_t;\n\n/**\n * \\brief Binary payload data, size and decoding information.\n *\n * An array of type `nvtxPayloadData_t` is passed to the NVTX event attached to\n * an NVTX event via the `payload.ullvalue` field of NVTX event attributes.\n *\n * The `schemaId` be a predefined schema entry type (`NVTX_PAYLOAD_ENTRY_TYPE*`),\n * a schema ID (statically specified or dynamically created) or one of\n * `NVTX_PAYLOAD_TYPE_REFERENCED` or `NVTX_PAYLOAD_TYPE_RAW`.\n *\n * Setting the size of a payload to `MAX_SIZE` can be useful to reduce the\n * overhead of NVTX instrumentation, when no NVTX handler is attached. However,\n * a tool might not be able to detect the size of a payload and thus skip it.\n * A reasonable use case is a payload that represents a null-terminated\n * C string, where the NVTX handler can call `strlen()`.\n */\ntypedef struct nvtxPayloadData_v1\n{\n    /**\n     * The schema ID, which defines the layout of the binary data.\n     */\n    uint64_t    schemaId;\n\n    /**\n     * Size of the payload (blob) in bytes. `SIZE_MAX` (`-1`) indicates the tool\n     * that it should figure out the size, which might not be possible.\n     */\n    size_t      size;\n\n    /**\n     * Pointer to the binary payload data.\n     */\n    const void* payload;\n} nvtxPayloadData_t;\n\n\n/**\n * \\brief Header of the payload entry's semantic field.\n *\n * If the semantic field of the payload schema entry is set, the first four\n * fields (header) are defined with this type. A tool can iterate through the\n * extensions and check, if it supports (can handle) it.\n */\ntypedef struct nvtxSemanticsHeader_v1\n{\n    uint32_t structSize; /** Size of semantic extension struct. */\n    uint16_t semanticId;\n    uint16_t version;\n    const struct nvtxSemanticsHeader_v1* next; /** linked list */\n    /* Additional fields are defined by the specific semantic extension. */\n} nvtxSemanticsHeader_t;\n\n/**\n * \\brief Entry in a schema.\n *\n * A payload schema consists of an array of payload schema entries. It is\n * registered with @ref nvtxPayloadSchemaRegister. `flag` can be set to `0` for\n * simple values, 'type' is the only \"required\" field. If not set explicitly,\n * all other fields are zero-initialized, which means that the entry has no name\n * and the offset is determined based on self-alignment rules.\n *\n * Example schema:\n *  nvtxPayloadSchemaEntry_t schema[] = {\n *      {0, NVTX_EXT_PAYLOAD_TYPE_UINT8, \"one byte\"},\n *      {0, NVTX_EXT_PAYLOAD_TYPE_INT32, \"four bytes\"}\n *  };\n */\ntypedef struct nvtxPayloadSchemaEntry_v1\n{\n    /**\n     * \\brief Flags to augment the basic type.\n     *\n     * This field allows additional properties of the payload entry to be\n     * specified. Valid values are `NVTX_PAYLOAD_ENTRY_FLAG_*`.\n     */\n    uint64_t       flags;\n\n    /**\n     * \\brief Predefined payload schema entry type or custom schema ID.\n     *\n     * Predefined types are `NVTX_PAYLOAD_ENTRY_TYPE_*`. Passing a schema ID\n     * enables nesting of schemas.\n     */\n    uint64_t       type;\n\n    /**\n     * \\brief Name or label of the payload entry. (Optional)\n     *\n     * A meaningful name or label can help organizing and interpreting the data.\n     */\n    const char*    name;\n\n    /**\n     * \\brief Description of the payload entry. (Optional)\n     *\n     * A more detail description of the data that is stored with this entry.\n     */\n    const char*    description;\n\n    /**\n     * \\brief String length, array length or member selector for union types.\n     *\n     * If @ref type is a C string type, this field specifies the string length.\n     *\n     * If @ref flags specify that the entry is an array, this field specifies\n     * the array length. See `NVTX_PAYLOAD_ENTRY_FLAG_ARRAY_*` for more details.\n     *\n     * If @ref type is a union with schema type @ref NVTX_PAYLOAD_SCHEMA_TYPE_UNION\n     * (external selection of the union member), this field contains the index\n     * (starting with 0) to an entry of integral type in the same schema. The\n     * associated field value specifies the selected union member.\n     *\n     * @note An array of schema type @ref NVTX_PAYLOAD_SCHEMA_TYPE_UNION is not\n     * supported. @ref NVTX_PAYLOAD_SCHEMA_TYPE_UNION_WITH_INTERNAL_SELECTOR can\n     * be used instead.\n     */\n    uint64_t       arrayOrUnionDetail;\n\n    /**\n     * \\brief Offset in the binary payload data (in bytes).\n     *\n     * This field specifies the byte offset from the base address of the actual\n     * binary data (blob) to the start address of the data of this entry.\n     *\n     * It is recommended (but not required) to provide the offset it. Otherwise,\n     * the NVTX handler will determine the offset from natural alignment rules.\n     * In some cases, e.g. dynamic schema layouts, the offset cannot be set and\n     * has to be determined based on the data of prior entries.\n     *\n     * Setting the offset can also be used to skip entries during payload parsing.\n     */\n    uint64_t       offset;\n\n    /**\n     * \\brief Additional semantics of the payload entry.\n     *\n     * The field points to the first element in a linked list, which enables\n     * multiple semantic extensions.\n     */\n    const nvtxSemanticsHeader_t* semantics;\n\n    /**\n     * \\brief Reserved for future use. Do not use it!\n     */\n    const void*    reserved;\n} nvtxPayloadSchemaEntry_t;\n\n\n/**\n * \\brief Header of the schema attribute extension field.\n */\ntypedef struct nvtxPayloadSchemaExtension_v1\n{\n    uint32_t structSize; /** Size of schema extension struct. */\n    uint16_t schemaExtId;\n    uint16_t version;\n    const struct nvtxPayloadSchemaExtension_v1* next; /** linked list */\n    /* Additional fields are defined by the specific schema extension. */\n} nvtxPayloadSchemaExtension_t;\n\n/**\n * \\brief NVTX payload schema attributes.\n */\ntypedef struct nvtxPayloadSchemaAttr_v1\n{\n    /**\n     * \\brief Mask of valid fields in this struct.\n     *\n     * Use the `NVTX_PAYLOAD_SCHEMA_ATTR_*` defines.\n     */\n    uint64_t                        fieldMask;\n\n    /**\n     * \\brief Name of the payload schema. (Optional)\n     */\n    const char*                     name;\n\n    /**\n     * \\brief Payload schema type. (Mandatory) \\anchor PAYLOAD_TYPE_FIELD\n     *\n     * Use the `NVTX_PAYLOAD_SCHEMA_TYPE_*` defines.\n     */\n    uint64_t                        type;\n\n    /**\n     * \\brief Payload schema flags. (Optional)\n     *\n     * Flags defined by `NVTX_PAYLOAD_SCHEMA_FLAG_*` can be used to set\n     * additional properties of the schema.\n     */\n    uint64_t                        flags;\n\n    /**\n     * \\brief Entries of a payload schema. (Mandatory) \\anchor ENTRIES_FIELD\n     *\n     * This field is a pointer to an array of schema entries, each describing a\n     * field in a data structure, e.g. in a C struct or union.\n     */\n    const nvtxPayloadSchemaEntry_t* entries;\n\n    /**\n     * \\brief Number of entries in the payload schema. (Mandatory)\n     *\n     * Number of entries in the array of payload entries \\ref ENTRIES_FIELD.\n     */\n    size_t                          numEntries;\n\n    /**\n     * \\brief The binary payload size in bytes for static payload schemas.\n     *\n     * If \\ref PAYLOAD_TYPE_FIELD is @ref NVTX_PAYLOAD_SCHEMA_TYPE_DYNAMIC this\n     * value is ignored. If this field is not specified for a schema of type\n     * @ref NVTX_PAYLOAD_SCHEMA_TYPE_STATIC, the size can be automatically\n     * determined by a tool.\n     */\n    size_t                          payloadStaticSize;\n\n    /**\n     * \\brief The byte alignment for packed structures.\n     *\n     * If not specified, this field defaults to `0`, which means that the fields\n     * in the data structure are not packed and natural alignment rules can be\n     * applied.\n     */\n    size_t                          packAlign;\n\n    /* Static/custom schema ID must be\n       >= NVTX_PAYLOAD_ENTRY_TYPE_SCHEMA_ID_STATIC_START and\n       < NVTX_PAYLOAD_ENTRY_TYPE_SCHEMA_ID_DYNAMIC_START */\n    uint64_t                        schemaId;\n\n    /* Flexible extension for schema attributes. */\n    void*                           extension;\n} nvtxPayloadSchemaAttr_t;\n\n/**\n * \\brief This type is used to describe an enumeration.\n *\n * Since the value of an enum entry might not be meaningful for the analysis\n * and/or visualization, a tool can show the name of enum entry instead.\n *\n * An array of this struct is passed to @ref nvtxPayloadEnumAttr_t::entries to be\n * finally registered via @ref nvtxPayloadEnumRegister with the NVTX handler.\n *\n * @note EXPERIMENTAL\n */\ntypedef struct nvtxPayloadEnum_v1\n{\n    /**\n     * Name of the enum value.\n     */\n    const char* name;\n\n    /**\n     * Value of the enum entry.\n     */\n    uint64_t    value;\n\n    /**\n     * Indicates that this entry sets a specific set of bits, which can be used\n     * to define bitsets.\n     */\n    int8_t      isFlag;\n} nvtxPayloadEnum_t;\n\n/**\n * \\brief NVTX payload enumeration type attributes.\n *\n * A pointer to this struct is passed to @ref nvtxPayloadEnumRegister.\n */\ntypedef struct nvtxPayloadEnumAttr_v1\n{\n    /**\n     * Mask of valid fields in this struct. See `NVTX_PAYLOAD_ENUM_ATTR_*`.\n     */\n    uint64_t                 fieldMask;\n\n    /**\n     * Name of the enum. (Optional)\n     */\n    const char*              name;\n\n    /**\n     * Entries of the enum. (Mandatory)\n     */\n    const nvtxPayloadEnum_t* entries;\n\n    /**\n     * Number of entries in the enum. (Mandatory)\n     */\n    size_t                   numEntries;\n\n    /**\n     * Size of enumeration type in bytes\n     */\n    size_t                   sizeOfEnum;\n\n    /**\n     * Static/custom schema ID must be\n     * >= NVTX_PAYLOAD_ENTRY_TYPE_SCHEMA_ID_STATIC_START and\n     *  < NVTX_PAYLOAD_ENTRY_TYPE_SCHEMA_ID_DYNAMIC_START\n     */\n    uint64_t                 schemaId;\n\n    /* Flexible extension for enumeration attributes. */\n    void*                    extension;\n} nvtxPayloadEnumAttr_t;\n\ntypedef struct nvtxScopeAttr_v1\n{\n    size_t structSize;\n\n    /** Path delimited by '/' characters, relative to parentScope. Leading\n    slashes are ignored. Nodes in the path may use name[key] syntax to indicate\n    an array of sibling nodes, which may be combined with other non-array nodes\n    or different arrays at the same scope. Node names should be UTF8 printable\n    characters, excluding '/', '[', and ']' characters which have special\n    meaning here. An empty C string \"\" and `NULL` are valid inputs and treated\n    equivalently. */\n    const char* path;\n\n    uint64_t parentScope;\n\n    /** The static scope ID must be unique within the domain,\n        >= NVTX_EVENT_SCOPE_ID_STATIC_START, and\n        < NVTX_EVENT_SCOPE_ID_DYNAMIC_START. */\n    uint64_t scopeId;\n} nvtxScopeAttr_t;\n\n\n#endif /* NVTX_PAYLOAD_TYPEDEFS_V1 */\n\n#ifndef NVTX_PAYLOAD_API_FUNCTIONS_V1\n#define NVTX_PAYLOAD_API_FUNCTIONS_V1\n\n/**\n * \\brief Register a payload schema.\n *\n * @param domain NVTX domain handle.\n * @param attr NVTX payload schema attributes.\n */\nNVTX_DECLSPEC uint64_t NVTX_API nvtxPayloadSchemaRegister(\n    nvtxDomainHandle_t domain,\n    const nvtxPayloadSchemaAttr_t* attr);\n\n/**\n * \\brief Register an enumeration type with the payload extension.\n *\n * @param domain NVTX domain handle\n * @param attr NVTX payload enumeration type attributes.\n */\nNVTX_DECLSPEC uint64_t NVTX_API nvtxPayloadEnumRegister(\n    nvtxDomainHandle_t domain,\n    const nvtxPayloadEnumAttr_t* attr);\n\n/**\n * \\brief Register a scope.\n *\n * @param domain NVTX domain handle (0 for default domain)\n * @param attr Scope attributes.\n *\n * @return an identifier for the scope. If the operation was not successful,\n * `NVTX_SCOPE_NONE` is returned.\n */\nNVTX_DECLSPEC uint64_t NVTX_API nvtxScopeRegister(\n    nvtxDomainHandle_t domain,\n    const nvtxScopeAttr_t* attr);\n\n/**\n * \\brief Marks an instantaneous event in the application with the attributes\n * being passed via the extended payload.\n *\n * An NVTX handler can assume that the payload contains the event message.\n * Otherwise, it might ignore the event.\n *\n * @param domain NVTX domain handle\n * @param payloadData pointer to an array of structured payloads.\n * @param count number of payload BLOBs.\n */\nNVTX_DECLSPEC void NVTX_API nvtxMarkPayload(\n    nvtxDomainHandle_t domain,\n    const nvtxPayloadData_t* payloadData,\n    size_t count);\n\n/**\n * \\brief Begin a nested thread range with the attributes being passed via the\n * payload.\n *\n * @param domain NVTX domain handle\n * @param payloadData pointer to an array of structured payloads.\n * @param count number of payload BLOBs.\n *\n * @return The level of the range being ended. If an error occurs a negative\n * value is returned on the current thread.\n */\nNVTX_DECLSPEC int NVTX_API nvtxRangePushPayload(\n    nvtxDomainHandle_t domain,\n    const nvtxPayloadData_t* payloadData,\n    size_t count);\n\n/**\n * \\brief End a nested thread range with an additional custom payload.\n *\n * NVTX event attributes passed to this function (via the payloads) overwrite\n * event attributes (message and color) that have been set in the push event.\n * Other payload entries extend the data of the range.\n *\n * @param domain NVTX domain handle\n * @param payloadData pointer to an array of structured payloads.\n * @param count number of payload BLOBs.\n *\n * @return The level of the range being ended. If an error occurs a negative\n * value is returned on the current thread.\n */\nNVTX_DECLSPEC int NVTX_API nvtxRangePopPayload(\n    nvtxDomainHandle_t domain,\n    const nvtxPayloadData_t* payloadData,\n    size_t count);\n\n/**\n * \\brief Start a thread range with attributes passed via the extended payload.\n *\n * @param domain NVTX domain handle\n * @param payloadData pointer to an array of structured payloads.\n * @param count number of payload BLOBs.\n *\n * @return The level of the range being ended. If an error occurs a negative\n * value is returned on the current thread.\n */\nNVTX_DECLSPEC nvtxRangeId_t NVTX_API nvtxRangeStartPayload(\n    nvtxDomainHandle_t domain,\n    const nvtxPayloadData_t* payloadData,\n    size_t count);\n\n/**\n * \\brief End a thread range and pass a custom payload.\n *\n * NVTX event attributes passed to this function (via the payloads) overwrite\n * event attributes (message and color) that have been set in the start event.\n * Other payload entries extend the data of the range.\n *\n * @param domain NVTX domain handle\n * @param id The correlation ID returned from a NVTX range start call.\n * @param payloadData pointer to an array of structured payloads.\n * @param count number of payload BLOBs.\n */\nNVTX_DECLSPEC void NVTX_API nvtxRangeEndPayload(\n    nvtxDomainHandle_t domain,\n    nvtxRangeId_t id,\n    const nvtxPayloadData_t* payloadData,\n    size_t count);\n\n/**\n * @brief Checks if an NVTX domain is enabled (unofficial and may not work)\n *\n * @param domain NVTX domain handle\n * @return 0 if the domain is not enabled.\n */\nNVTX_DECLSPEC uint8_t NVTX_API nvtxDomainIsEnabled(\n    nvtxDomainHandle_t domain);\n\n#endif /* NVTX_PAYLOAD_API_FUNCTIONS_V1 */\n\n#ifndef NVTX_PAYLOAD_CALLBACK_ID_V1\n#define NVTX_PAYLOAD_CALLBACK_ID_V1\n/**\n * \\brief Callback Ids of API functions in the payload extension.\n *\n * The NVTX handler can use these values to register a handler function. When\n * InitializeInjectionNvtxExtension(nvtxExtModuleInfo_t* moduleInfo) is\n * executed, a handler routine 'handlenvtxPayloadRegisterSchema' can be\n * registered as follows:\n * \\code{.c}\n *      moduleInfo->segments->slots[NVTX3EXT_CBID_nvtxPayloadSchemaRegister] =\n *          (intptr_t)YourPayloadRegisterSchemaHandlerFn;\n * \\endcode\n */\n#define NVTX3EXT_CBID_nvtxPayloadSchemaRegister      0\n#define NVTX3EXT_CBID_nvtxPayloadEnumRegister        1\n#define NVTX3EXT_CBID_nvtxMarkPayload                2\n#define NVTX3EXT_CBID_nvtxRangePushPayload           3\n#define NVTX3EXT_CBID_nvtxRangePopPayload            4\n#define NVTX3EXT_CBID_nvtxRangeStartPayload          5\n#define NVTX3EXT_CBID_nvtxRangeEndPayload            6\n#define NVTX3EXT_CBID_nvtxDomainIsEnabled            7\n#define NVTX3EXT_CBID_nvtxScopeRegister             12\n#endif /* NVTX_PAYLOAD_CALLBACK_ID_V1 */\n\n/*** Helper utilities ***/\n\n/** \\brief  Helper macro for safe double-cast of pointer to uint64_t value. */\n#ifndef NVTX_POINTER_AS_PAYLOAD_ULLVALUE\n# ifdef __cplusplus\n# define NVTX_POINTER_AS_PAYLOAD_ULLVALUE(p) \\\n    static_cast<uint64_t>(reinterpret_cast<uintptr_t>(p))\n# else\n#define NVTX_POINTER_AS_PAYLOAD_ULLVALUE(p) ((uint64_t)(uintptr_t)p)\n# endif\n#endif\n\n#ifndef NVTX_PAYLOAD_EVTATTR_SET_DATA\n/**\n * \\brief Helper macro to attach a single payload to an NVTX event attribute.\n *\n * @param evtAttr NVTX event attribute (variable name)\n * @param pldata_addr Adress of `nvtxPayloadData_t` variable.\n * @param schema_id NVTX binary payload schema ID.\n * @param pl_addr Address of the (actual) payload.\n * @param sz size of the (actual) payload.\n */\n#define NVTX_PAYLOAD_EVTATTR_SET_DATA(evtAttr, pldata_addr, schema_id, pl_addr, sz) \\\n    (pldata_addr)->schemaId = schema_id; \\\n    (pldata_addr)->size = sz; \\\n    (pldata_addr)->payload = pl_addr; \\\n    (evtAttr).payload.ullValue = NVTX_POINTER_AS_PAYLOAD_ULLVALUE(pldata_addr); \\\n    (evtAttr).payloadType = NVTX_PAYLOAD_TYPE_EXT; \\\n    (evtAttr).reserved0 = 1;\n#endif /* NVTX_PAYLOAD_EVTATTR_SET_DATA */\n\n#ifndef NVTX_PAYLOAD_EVTATTR_SET_MULTIPLE\n/**\n * \\brief Helper macro to attach multiple payloads to an NVTX event attribute.\n *\n * @param evtAttr NVTX event attribute (variable name)\n * @param pldata Payload data array (of type `nvtxPayloadData_t`)\n */\n#define NVTX_PAYLOAD_EVTATTR_SET_MULTIPLE(evtAttr, pldata) \\\n    (evtAttr).payloadType = NVTX_PAYLOAD_TYPE_EXT; \\\n    (evtAttr).reserved0 = sizeof(pldata)/sizeof(nvtxPayloadData_t); \\\n    (evtAttr).payload.ullValue = NVTX_POINTER_AS_PAYLOAD_ULLVALUE(pldata);\n#endif /* NVTX_PAYLOAD_EVTATTR_SET_MULTIPLE */\n\n#ifndef NVTX_PAYLOAD_EVTATTR_SET\n/*\n * Do not use this macro directly! It is a helper to attach a single payload to\n * an NVTX event attribute.\n * @warning The NVTX push, start or mark operation must not be in an outer scope.\n */\n#define NVTX_PAYLOAD_EVTATTR_SET(evtAttr, schema_id, pl_addr, sz) \\\n    nvtxPayloadData_t _NVTX_PAYLOAD_DATA_VAR[] = \\\n        {{schema_id, sz, pl_addr}}; \\\n    (evtAttr)->payload.ullValue = \\\n        NVTX_POINTER_AS_PAYLOAD_ULLVALUE(_NVTX_PAYLOAD_DATA_VAR); \\\n    (evtAttr)->payloadType = NVTX_PAYLOAD_TYPE_EXT; \\\n    (evtAttr)->reserved0 = 1;\n#endif /* NVTX_PAYLOAD_EVTATTR_SET */\n\n#ifndef nvtxPayloadRangePush\n/**\n * \\brief Helper macro to push a range with extended payload.\n *\n * @param domain NVTX domain handle (0 for default domain)\n * @param evtAttr pointer to NVTX event attribute.\n * @param schemaId NVTX payload schema ID\n * @param plAddr Pointer to the binary data (actual payload)\n * @param size Size of the binary payload data in bytes.\n */\n#define nvtxPayloadRangePush(domain, evtAttr, schemaId, plAddr, size) \\\ndo { \\\n    NVTX_PAYLOAD_EVTATTR_SET(evtAttr, schemaId, plAddr, size) \\\n    nvtxDomainRangePushEx(domain, evtAttr); \\\n} while (0)\n#endif /* nvtxPayloadRangePush */\n\n#ifndef nvtxPayloadMark\n/**\n * \\brief Helper macro to set a marker with extended payload.\n *\n * @param domain NVTX domain handle (0 for default domain)\n * @param evtAttr pointer to NVTX event attribute.\n * @param schemaId NVTX payload schema ID\n * @param plAddr Pointer to the binary data (actual payload)\n * @param size Size of the binary payload data in bytes.\n */\n#define nvtxPayloadMark(domain, evtAttr, schemaId, plAddr, size) \\\ndo { \\\n    NVTX_PAYLOAD_EVTATTR_SET(evtAttr, schemaId, plAddr, size) \\\n    nvtxDomainMarkEx(domain, evtAttr); \\\n} while (0)\n#endif /* nvtxPayloadMark */\n\n\n#ifdef __GNUC__\n#pragma GCC visibility push(internal)\n#endif\n\n/* Extension types are required for the implementation and the NVTX handler. */\n#define NVTX_EXT_TYPES_GUARD\n#include \"nvtxDetail/nvtxExtTypes.h\"\n#undef NVTX_EXT_TYPES_GUARD\n\n#ifndef NVTX_NO_IMPL\n#define NVTX_EXT_IMPL_PAYLOAD_GUARD\n#include \"nvtxDetail/nvtxExtImplPayload_v1.h\"\n#undef NVTX_EXT_IMPL_PAYLOAD_GUARD\n#endif /* NVTX_NO_IMPL */\n\n#ifdef __GNUC__\n#pragma GCC visibility pop\n#endif\n\n#ifdef __cplusplus\n}\n#endif /* __cplusplus */\n"
  },
  {
    "path": "src/include/nvtx3/nvToolsExtPayloadHelper.h",
    "content": "/*\n* Copyright 2023  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#include \"nvtxDetail/nvtxExtPayloadHelperInternal.h\"\n\n\n/* This is just an empty marker (for readability), which can be omitted. */\n/* TODO: Fix issue with trailing comma at end of entry list. */\n#define NCCL_NVTX_PAYLOAD_ENTRIES\n\n\n/**\n * Use this macro for payload entries that are defined by a schema (nested\n * payload schema).\n */\n#define NVTX_PAYLOAD_NESTED(schemaId) _NVTX_PAYLOAD_NESTED(schemaId)\n\n\n/**\n * \\brief Define a payload schema for an existing C `struct` definition.\n *\n *  This macro does\n *   1) create schema description (array of schema entries).\n *   2) set the schema attributes for a static data layout.\n *\n * It can be used in static code or within a function context.\n *\n * Example:\n *  NVTX_DEFINE_SCHEMA_FOR_STRUCT(your_struct, \"SchemaName\",\n *      NCCL_NVTX_PAYLOAD_ENTRIES(\n *          (index, TYPE_INT, \"integer value\"),\n *          (dpfloat, TYPE_DOUBLE, \"fp64 value\"),\n *          (text, TYPE_CSTRING, \"text\", NULL, 24)\n *      )\n *  )\n *\n * It is required to at least provide the struct name and the payload entries.\n * The first two fields (member name and NVTX entry type) of each payload entry\n * are required.\n *\n * The optional parameters are only allowed to be passed in the predefined order.\n * Hence, `payload_flags` requires `payload_schema` to be given and\n * `prefix` requires `payload_flags` and `payload_schema` to be given.\n * The payload entries are always the last parameter. A maximum of 16 schema\n * entries is supported.\n *\n * It is recommended to use `NVTX_PAYLOAD_SCHEMA_REGISTER` to register the schema.\n *\n * @param struct_id The name of the struct.\n * @param schema_name (Optional 1) name of the payload schema. Default is `NULL`.\n * @param prefix (Optional 2) prefix before the schema and attributes variables,\n *               e.g. `static const`. Leave this empty, if no prefix is desired.\n * @param schema_flags (Optional 2) flags to augment the payload schema.\n *                     Default is `NVTX_PAYLOAD_SCHEMA_FLAG_NONE`.\n * @param schema_id (Optional 4) User-defined payload schema ID.\n * @param entries (Mandatory) Payload schema entries. This is always the last\n *                parameter to the macro.\n */\n#define NVTX_DEFINE_SCHEMA_FOR_STRUCT(struct_id, ...) \\\n    _NVTX_DEFINE_SCHEMA_FOR_STRUCT(struct_id, __VA_ARGS__)\n\n\n/**\n * \\brief Define a C struct together with a matching schema.\n *\n * This macro does\n *   1) define the payload type (typedef struct).\n *   2) create schema description (array of schema entries).\n *   3) set the schema attributes for a static data layout.\n *\n * The macro can be used in static code or within a function context.\n *\n * It defines the schema attributes in `struct_id##Attr`. Thus, it is recommended\n * to use `NVTX_PAYLOAD_SCHEMA_REGISTER(domain, struct_id)` to register the schema.\n *\n * Example:\n *  NVTX_DEFINE_STRUCT_WITH_SCHEMA(your_struct_name, \"Your schema name\",\n *      NCCL_NVTX_PAYLOAD_ENTRIES(\n *          (int, index, TYPE_INT, \"integer value\"),\n *          (double, dpfloat, TYPE_DOUBLE, \"fp64 value\"),\n *          (const char, (text, 24), TYPE_CSTRING, \"text\", NULL, 24)\n *      )\n *  )\n *\n * The first three fields (C type, member, entry type) of each entry are required.\n * A fixed-size array or string requires a special notation with the member\n * name and the size separated by comma and put into brackets (see last entry\n * in the example).\n *\n * The optional parameters are positional (only allowed to be passed in the\n * predefined order). A maximum of 16 schema entries is supported.\n *\n * @param struct_id The name of the struct.\n * @param schema_name (Optional 1) name of the payload schema. Default is `NULL`.\n * @param prefix (Optional 2) prefix before the schema and attributes variables,\n *               e.g. `static const`. Leave this empty, if no prefix is desired.\n * @param schema_flags (Optional 3) flags to augment the payload schema.\n *                     Default is `NVTX_PAYLOAD_SCHEMA_FLAG_NONE`.\n * @param schema_id (Optional 4) User-defined payload schema ID.\n * @param entries (Mandatory) The schema entries. This is always the last\n *                parameter to the macro.\n */\n#define NVTX_DEFINE_STRUCT_WITH_SCHEMA(struct_id, ...) \\\n    _NVTX_DEFINE_STRUCT_WITH_SCHEMA(struct_id, __VA_ARGS__)\n\n/**\n * \\brief Initialize and register the NVTX binary payload schema.\n *\n * This does essentially the same as `NVTX_DEFINE_STRUCT_WITH_SCHEMA`, but in\n * addition the schema is registered. The schema ID will be defined as follows:\n * `const uint64_t struct_id##_schemaId`.\n *\n * @param domain The NVTX domain handle (0 for default domain).\n * All other parameters are similar to `NVTX_DEFINE_STRUCT_WITH_SCHEMA`.\n */\n#define NVTX_DEFINE_STRUCT_WITH_SCHEMA_AND_REGISTER(domain, struct_id, ...) \\\n    _NVTX_DEFINE_STRUCT_WITH_SCHEMA(struct_id, __VA_ARGS__) \\\n    const uint64_t struct_id##_schemaId = nvtxPayloadSchemaRegister(domain, &struct_id##Attr);\n\n/**\n * \\brief Define payload schema for an existing `struct` and register the schema.\n *\n * This does essentially the same as `NVTX_PAYLOAD_STATIC_SCHEMA_DEFINE`, but in\n * addition, the schema is registered and `uint64_t struct_id##_schemaId` set.\n *\n * @param domain The NVTX domain handle (0 for default domain).\n * All other parameters are similar to `NVTX_PAYLOAD_STATIC_SCHEMA_DEFINE`.\n */\n#define NVTX_DEFINE_SCHEMA_FOR_STRUCT_AND_REGISTER(domain, struct_id, ...) \\\n    _NVTX_DEFINE_SCHEMA_FOR_STRUCT(struct_id, __VA_ARGS__) \\\n    const uint64_t struct_id##_schemaId = nvtxPayloadSchemaRegister(domain, &struct_id##Attr);\n\n/**\n * \\brief Create a type definition for the given struct ID and members.\n *\n * This is a convenience macro. A normal `typedef` can be used instead.\n *\n * Example usage:\n *   NVTX_DEFINE_STRUCT(your_struct,\n *           (double, fp64),\n *           (uint8_t, u8),\n *           (float, fp32[3])\n *   )\n *\n * @param struct_id The name of the struct.\n * @param members The members of the struct.\n */\n#define NVTX_DEFINE_STRUCT(struct_id, ...) \\\n    _NVTX_PAYLOAD_TYPEDEF_STRUCT(struct_id, __VA_ARGS__)\n\n/**\n * \\brief Register an NVTX binary payload schema.\n *\n * This is a convenience macro, which takes the same `struct_id` that has been\n * used in other helper macros. Instead, `nvtxPayloadSchemaRegister` can also be\n * used, but `&struct_id##Attr` has to be passed.\n *\n * @param domain The NVTX domain handle (0 for default domain).\n * @param struct_id The name of the struct.\n *\n * @return NVTX schema ID\n */\n#define NVTX_PAYLOAD_SCHEMA_REGISTER(domain, struct_id) \\\n    nvtxPayloadSchemaRegister(domain, &struct_id##Attr);\n\n"
  },
  {
    "path": "src/include/nvtx3/nvToolsExtSemanticsCounters.h",
    "content": "/*\n* Copyright 2024  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n/**\n * NVTX semantic headers require nvToolsExtPayload.h to be included beforehand.\n */\n\n#ifndef NVTX_SEMANTIC_ID_COUNTERS_V1\n#define NVTX_SEMANTIC_ID_COUNTERS_V1 2\n\n/**\n * Flags to extend the semantics of counters.\n */\n#define NVTX_COUNTERS_FLAGS_NONE  0\n\n/**\n * Convert the fixed point value to a normalized floating point value.\n * Unsigned [0f : 1f] or signed [-1f : 1f] is determined by the underlying type\n * this flag is applied to.\n */\n#define NVTX_COUNTERS_FLAG_NORMALIZE    (1 << 1)\n\n/**\n *  Visual tools should apply scale and limits when graphing.\n */\n#define NVTX_COUNTERS_FLAG_LIMIT_MIN    (1 << 2)\n#define NVTX_COUNTERS_FLAG_LIMIT_MAX    (1 << 3)\n#define NVTX_COUNTERS_FLAG_LIMITS \\\n    (NVTX_COUNTERS_FLAG_LIMIT_MIN | NVTX_COUNTERS_FLAG_LIMIT_MAX)\n\n/**\n * Counter time scopes.\n */\n#define NVTX_COUNTERS_FLAG_TIMESCOPE_POINT        (1 << 5)\n#define NVTX_COUNTERS_FLAG_TIMESCOPE_SINCE_LAST   (2 << 5)\n#define NVTX_COUNTERS_FLAG_TIMESCOPE_UNTIL_NEXT   (3 << 5)\n#define NVTX_COUNTERS_FLAG_TIMESCOPE_SINCE_START  (4 << 5)\n\n/**\n * Counter value types.\n */\n#define NVTX_COUNTERS_FLAG_VALUETYPE_ABSOLUTE (1 << 10)\n/** Delta to previous value of same counter type. */\n#define NVTX_COUNTERS_FLAG_VALUETYPE_DELTA    (2 << 10)\n\n/**\n * Datatypes for the `limits` union.\n */\n#define NVTX_COUNTERS_LIMIT_I64 0\n#define NVTX_COUNTERS_LIMIT_U64 1\n#define NVTX_COUNTERS_LIMIT_F64 2\n\n/**\n *\\brief Specify counter semantics.\n */\ntypedef struct nvtxSemanticsCounter_v1 {\n    /** Header of the semantic extensions (with identifier, version, etc.). */\n    struct nvtxSemanticsHeader_v1 header;\n\n    /** Flags to provide more context about the counter value. */\n    uint64_t flags;\n\n    /** Unit of the counter value (case-insensitive). */\n    const char*  unit;\n\n    /** Should be 1 if not used. */\n    uint64_t unitScaleNumerator;\n\n    /** Should be 1 if not used. */\n    uint64_t unitScaleDenominator;\n\n    /** Determines the used union member. Use defines `NVTX_COUNTER_LIMIT_*`. */\n    int64_t limitType;\n\n    /** Graph limits {minimum, maximum}. */\n    union limits_t {\n        int64_t  i64[2];\n        uint64_t u64[2];\n        double   d[2];\n    } limits;\n} nvtxSemanticsCounter_t;\n\n#endif /* NVTX_SEMANTIC_ID_COUNTERS_V1 */\n"
  },
  {
    "path": "src/include/nvtx3/nvToolsExtSemanticsScope.h",
    "content": "/*\n* Copyright 2024  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n/**\n * NVTX semantic headers require nvToolsExtPayload.h to be included beforehand.\n */\n\n#ifndef NVTX_SEMANTIC_ID_SCOPE_V1\n#define NVTX_SEMANTIC_ID_SCOPE_V1 1\n\n/**\n * \\brief Specify the NVTX scope for a payload entry.\n *\n * This allows the scope to be set for a specific value or counter in a payload.\n * The scope must be known at schema registration time.\n */\ntypedef struct nvtxSemanticsScope_v1\n{\n    struct nvtxSemanticsHeader_v1 header;\n\n    /** Specifies the scope of a payload entry, e.g. a counter or timestamp. */\n    uint64_t scopeId;\n} nvtxSemanticsScope_t;\n\n#endif /* NVTX_SEMANTIC_ID_SCOPE_V1 */\n"
  },
  {
    "path": "src/include/nvtx3/nvToolsExtSync.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#include \"nvToolsExt.h\"\n\n#ifndef NVTOOLSEXT_SYNC_V3\n#define NVTOOLSEXT_SYNC_V3\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n/* \\cond SHOW_HIDDEN\n* \\version \\NVTX_VERSION_2\n*/\n#define NVTX_SYNCUSER_ATTRIB_STRUCT_SIZE ( (uint16_t)( sizeof(nvtxSyncUserAttributes_v0) ) )\n/** \\endcond */\n\n\n/**\n* \\page PAGE_SYNCHRONIZATION Synchronization\n*\n* This section covers a subset of the API that allow users to track additional\n* synchronization details of their application.   Naming OS synchronization primitives\n* may allow users to better understand the data collected by traced synchronization\n* APIs.  Additionally, a user defined synchronization object can allow the users to\n* to tell the tools when the user is building their own synchronization system\n* that do not rely on the OS to provide behaviors and instead use techniques like\n* atomic operations and spinlocks.\n*\n* See module \\ref SYNCHRONIZATION for details.\n*\n* \\par Example:\n* \\code\n* class MyMutex\n* {\n*     volatile long bLocked;\n*     nvtxSyncUser_t hSync;\n* public:\n*     MyMutex(const char* name, nvtxDomainHandle_t d){\n*          bLocked = 0;\n*\n*          nvtxSyncUserAttributes_t attribs = { 0 };\n*          attribs.version = NVTX_VERSION;\n*          attribs.size = NVTX_SYNCUSER_ATTRIB_STRUCT_SIZE;\n*          attribs.messageType = NVTX_MESSAGE_TYPE_ASCII;\n*          attribs.message.ascii = name;\n*          hSync = nvtxDomainSyncUserCreate(d, &attribs);\n*     }\n*\n*     ~MyMutex() {\n*          nvtxDomainSyncUserDestroy(hSync);\n*     }\n*\n*     bool Lock() {\n*          nvtxDomainSyncUserAcquireStart(hSync);\n*          bool acquired = __sync_bool_compare_and_swap(&bLocked, 0, 1);//atomic compiler intrinsic\n\n*          if (acquired) {\n*              nvtxDomainSyncUserAcquireSuccess(hSync);\n*          }\n*          else {\n*              nvtxDomainSyncUserAcquireFailed(hSync);\n*          }\n*          return acquired;\n*     }\n\n*     void Unlock() {\n*          nvtxDomainSyncUserReleasing(hSync);\n*          bLocked = false;\n*     }\n* };\n* \\endcode\n*\n* \\version \\NVTX_VERSION_2\n*/\n\n/*  ------------------------------------------------------------------------- */\n/* \\cond SHOW_HIDDEN\n* \\brief Used to build a non-colliding value for resource types separated class\n* \\version \\NVTX_VERSION_2\n*/\n#define NVTX_RESOURCE_CLASS_SYNC_OS 2 /**< Synchronization objects that are OS specific. */\n#define NVTX_RESOURCE_CLASS_SYNC_PTHREAD 3 /**< Synchronization objects that are from the POSIX Threads API (pthread)*/\n/** \\endcond */\n\n\n/*  ------------------------------------------------------------------------- */\n/** \\defgroup SYNCHRONIZATION Synchronization\n* See page \\ref PAGE_SYNCHRONIZATION.\n* @{\n*/\n\n/** \\brief Resource type values for OSs with POSIX Thread API support\n */\ntypedef enum nvtxResourceSyncPosixThreadType_t\n{\n    NVTX_RESOURCE_TYPE_SYNC_PTHREAD_MUTEX = NVTX_RESOURCE_MAKE_TYPE(SYNC_PTHREAD, 1), /* pthread_mutex_t  */\n    NVTX_RESOURCE_TYPE_SYNC_PTHREAD_CONDITION = NVTX_RESOURCE_MAKE_TYPE(SYNC_PTHREAD, 2), /* pthread_cond_t  */\n    NVTX_RESOURCE_TYPE_SYNC_PTHREAD_RWLOCK = NVTX_RESOURCE_MAKE_TYPE(SYNC_PTHREAD, 3), /* pthread_rwlock_t  */\n    NVTX_RESOURCE_TYPE_SYNC_PTHREAD_BARRIER = NVTX_RESOURCE_MAKE_TYPE(SYNC_PTHREAD, 4), /* pthread_barrier_t  */\n    NVTX_RESOURCE_TYPE_SYNC_PTHREAD_SPINLOCK = NVTX_RESOURCE_MAKE_TYPE(SYNC_PTHREAD, 5), /* pthread_spinlock_t  */\n    NVTX_RESOURCE_TYPE_SYNC_PTHREAD_ONCE = NVTX_RESOURCE_MAKE_TYPE(SYNC_PTHREAD, 6) /* pthread_once_t  */\n} nvtxResourceSyncPosixThreadType_t;\n\n/** \\brief Resource type values for Windows OSs\n*/\ntypedef enum nvtxResourceSyncWindowsType_t\n{\n    NVTX_RESOURCE_TYPE_SYNC_WINDOWS_MUTEX = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 1),\n    NVTX_RESOURCE_TYPE_SYNC_WINDOWS_SEMAPHORE = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 2),\n    NVTX_RESOURCE_TYPE_SYNC_WINDOWS_EVENT = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 3),\n    NVTX_RESOURCE_TYPE_SYNC_WINDOWS_CRITICAL_SECTION = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 4),\n    NVTX_RESOURCE_TYPE_SYNC_WINDOWS_SRWLOCK = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 5)\n} nvtxResourceSyncWindowsType_t;\n\n/** \\brief Resource type values for Linux and Linux derived OSs such as Android\n* \\sa\n* ::nvtxResourceSyncPosixThreadType_t\n*/\ntypedef enum nvtxResourceSyncLinuxType_t\n{\n    NVTX_RESOURCE_TYPE_SYNC_LINUX_MUTEX = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 1),\n    NVTX_RESOURCE_TYPE_SYNC_LINUX_FUTEX = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 2),\n    NVTX_RESOURCE_TYPE_SYNC_LINUX_SEMAPHORE = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 3),\n    NVTX_RESOURCE_TYPE_SYNC_LINUX_COMPLETION = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 4),\n    NVTX_RESOURCE_TYPE_SYNC_LINUX_SPINLOCK = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 5),\n    NVTX_RESOURCE_TYPE_SYNC_LINUX_SEQLOCK = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 6),\n    NVTX_RESOURCE_TYPE_SYNC_LINUX_RCU = NVTX_RESOURCE_MAKE_TYPE(SYNC_OS, 7)\n} nvtxResourceSyncLinuxType_t;\n\n/** \\brief Resource type values for Android come from Linux.\n* \\sa\n* ::nvtxResourceSyncLinuxType_t\n* ::nvtxResourceSyncPosixThreadType_t\n*/\ntypedef enum nvtxResourceSyncLinuxType_t nvtxResourceSyncAndroidType_t;\n\n/** \\brief User Defined Synchronization Object Handle .\n* \\anchor SYNCUSER_HANDLE_STRUCTURE\n*\n* This structure is opaque to the user and is used as a handle to reference\n* a user defined syncrhonization object.  The tools will return a pointer through the API for the application\n* to hold on it's behalf to reference the string in the future.\n*\n*/\ntypedef struct nvtxSyncUser* nvtxSyncUser_t;\n\n/** \\brief User Defined Synchronization Object Attributes Structure.\n* \\anchor USERDEF_SYNC_ATTRIBUTES_STRUCTURE\n*\n* This structure is used to describe the attributes of a user defined synchronization\n* object.  The layout of the structure is defined by a specific version of the tools\n* extension library and can change between different versions of the Tools Extension\n* library.\n*\n* \\par Initializing the Attributes\n*\n* The caller should always perform the following three tasks when using\n* attributes:\n* <ul>\n*    <li>Zero the structure\n*    <li>Set the version field\n*    <li>Set the size field\n* </ul>\n*\n* Zeroing the structure sets all the event attributes types and values\n* to the default value.\n*\n* The version and size field are used by the Tools Extension\n* implementation to handle multiple versions of the attributes structure.\n*\n* It is recommended that the caller use one of the following to methods\n* to initialize the event attributes structure:\n*\n* \\par Method 1: Initializing nvtxEventAttributes for future compatibility\n* \\code\n* nvtxSyncUserAttributes_t attribs = {0};\n* attribs.version = NVTX_VERSION;\n* attribs.size = NVTX_SYNCUSER_ATTRIB_STRUCT_SIZE;\n* \\endcode\n*\n* \\par Method 2: Initializing nvtxSyncUserAttributes_t for a specific version\n* \\code\n* nvtxSyncUserAttributes_t attribs = {0};\n* attribs.version = 1;\n* attribs.size = (uint16_t)(sizeof(nvtxSyncUserAttributes_t));\n* \\endcode\n*\n* If the caller uses Method 1 it is critical that the entire binary\n* layout of the structure be configured to 0 so that all fields\n* are initialized to the default value.\n*\n* The caller should either use both NVTX_VERSION and\n* NVTX_SYNCUSER_ATTRIB_STRUCT_SIZE (Method 1) or use explicit values\n* and a versioned type (Method 2).  Using a mix of the two methods\n* will likely cause either source level incompatibility or binary\n* incompatibility in the future.\n*\n* \\par Settings Attribute Types and Values\n*\n*\n* \\par Example:\n* \\code\n* // Initialize\n* nvtxSyncUserAttributes_t attribs = {0};\n* attribs.version = NVTX_VERSION;\n* attribs.size = NVTX_SYNCUSER_ATTRIB_STRUCT_SIZE;\n*\n* // Configure the Attributes\n* attribs.messageType = NVTX_MESSAGE_TYPE_ASCII;\n* attribs.message.ascii = \"Example\";\n* \\endcode\n*\n* \\sa\n* ::nvtxDomainSyncUserCreate\n*/\ntypedef struct nvtxSyncUserAttributes_v0\n{\n    /**\n    * \\brief Version flag of the structure.\n    *\n    * Needs to be set to NVTX_VERSION to indicate the version of NVTX APIs\n    * supported in this header file. This can optionally be overridden to\n    * another version of the tools extension library.\n    */\n    uint16_t version;\n\n    /**\n    * \\brief Size of the structure.\n    *\n    * Needs to be set to the size in bytes of the event attribute\n    * structure used to specify the event.\n    */\n    uint16_t size;\n\n    /** \\brief Message type specified in this attribute structure.\n    *\n    * Defines the message format of the attribute structure's \\ref nvtxSyncUserAttributes_v0::message\n    * \"message\" field.\n    *\n    * Default Value is NVTX_MESSAGE_UNKNOWN\n    */\n    int32_t messageType;            /* nvtxMessageType_t */\n\n    /** \\brief Message assigned to this attribute structure.\n    *\n    * The text message that is attached to an event.\n    */\n    nvtxMessageValue_t message;\n\n} nvtxSyncUserAttributes_v0;\n\ntypedef struct nvtxSyncUserAttributes_v0 nvtxSyncUserAttributes_t;\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Create a user defined synchronization object\n* This is used to track non-OS synchronization working with spinlocks and atomics\n*\n* \\param domain - Domain to own the resource\n* \\param attribs - A structure to assign multiple attributes to the object.\n*\n* \\return A handle that represents the newly created user defined synchronization object.\n*\n* \\sa\n* ::nvtxDomainSyncUserCreate\n* ::nvtxDomainSyncUserDestroy\n* ::nvtxDomainSyncUserAcquireStart\n* ::nvtxDomainSyncUserAcquireFailed\n* ::nvtxDomainSyncUserAcquireSuccess\n* ::nvtxDomainSyncUserReleasing\n*\n* \\version \\NVTX_VERSION_2\n*/\nNVTX_DECLSPEC nvtxSyncUser_t NVTX_API nvtxDomainSyncUserCreate(nvtxDomainHandle_t domain, const nvtxSyncUserAttributes_t* attribs);\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Destroy a user defined synchronization object\n* This is used to track non-OS synchronization working with spinlocks and atomics\n*\n* \\param handle - A handle to the object to operate on.\n*\n* \\sa\n* ::nvtxDomainSyncUserCreate\n* ::nvtxDomainSyncUserDestroy\n* ::nvtxDomainSyncUserAcquireStart\n* ::nvtxDomainSyncUserAcquireFailed\n* ::nvtxDomainSyncUserAcquireSuccess\n* ::nvtxDomainSyncUserReleasing\n*\n* \\version \\NVTX_VERSION_2\n*/\nNVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserDestroy(nvtxSyncUser_t handle);\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Signal to tools that an attempt to acquire a user defined synchronization object\n*\n* \\param handle - A handle to the object to operate on.\n*\n* \\sa\n* ::nvtxDomainSyncUserCreate\n* ::nvtxDomainSyncUserDestroy\n* ::nvtxDomainSyncUserAcquireStart\n* ::nvtxDomainSyncUserAcquireFailed\n* ::nvtxDomainSyncUserAcquireSuccess\n* ::nvtxDomainSyncUserReleasing\n*\n* \\version \\NVTX_VERSION_2\n*/\nNVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserAcquireStart(nvtxSyncUser_t handle);\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Signal to tools of failure in acquiring a user defined synchronization object\n* This should be called after \\ref nvtxDomainSyncUserAcquireStart\n*\n* \\param handle - A handle to the object to operate on.\n*\n* \\sa\n* ::nvtxDomainSyncUserCreate\n* ::nvtxDomainSyncUserDestroy\n* ::nvtxDomainSyncUserAcquireStart\n* ::nvtxDomainSyncUserAcquireFailed\n* ::nvtxDomainSyncUserAcquireSuccess\n* ::nvtxDomainSyncUserReleasing\n*\n* \\version \\NVTX_VERSION_2\n*/NVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserAcquireFailed(nvtxSyncUser_t handle);\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Signal to tools of success in acquiring a user defined synchronization object\n* This should be called after \\ref nvtxDomainSyncUserAcquireStart.\n*\n* \\param handle - A handle to the object to operate on.\n*\n* \\sa\n* ::nvtxDomainSyncUserCreate\n* ::nvtxDomainSyncUserDestroy\n* ::nvtxDomainSyncUserAcquireStart\n* ::nvtxDomainSyncUserAcquireFailed\n* ::nvtxDomainSyncUserAcquireSuccess\n* ::nvtxDomainSyncUserReleasing\n*\n* \\version \\NVTX_VERSION_2\n*/NVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserAcquireSuccess(nvtxSyncUser_t handle);\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Signal to tools of releasing a reservation on user defined synchronization object\n* This should be called after \\ref nvtxDomainSyncUserAcquireSuccess.\n*\n* \\param handle - A handle to the object to operate on.\n*\n* \\sa\n* ::nvtxDomainSyncUserCreate\n* ::nvtxDomainSyncUserDestroy\n* ::nvtxDomainSyncUserAcquireStart\n* ::nvtxDomainSyncUserAcquireFailed\n* ::nvtxDomainSyncUserAcquireSuccess\n* ::nvtxDomainSyncUserReleasing\n*\n* \\version \\NVTX_VERSION_2\n*/\nNVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserReleasing(nvtxSyncUser_t handle);\n\n\n/** @} */ /*END defgroup*/\n\n#ifdef __cplusplus\n}\n#endif /* __cplusplus */\n\n#ifndef NVTX_NO_IMPL\n#define NVTX_IMPL_GUARD_SYNC /* Ensure other headers cannot be included directly */\n#include \"nvtxDetail/nvtxImplSync_v3.h\"\n#undef NVTX_IMPL_GUARD_SYNC\n#endif /*NVTX_NO_IMPL*/\n\n#endif /* NVTOOLSEXT_SYNC_V3 */\n"
  },
  {
    "path": "src/include/nvtx3/nvtx3.hpp",
    "content": "/*\n *  Copyright (c) 2020-2022, NVIDIA CORPORATION.\n *\n *  Licensed under the Apache License, Version 2.0 (the \"License\");\n *  you may not use this file except in compliance with the License.\n *  You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n *  Unless required by applicable law or agreed to in writing, software\n *  distributed under the License is distributed on an \"AS IS\" BASIS,\n *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *  See the License for the specific language governing permissions and\n *  limitations under the License.\n *\n *  Licensed under the Apache License v2.0 with LLVM Exceptions.\n *  See https://llvm.org/LICENSE.txt for license information.\n *\n *  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n */\n\n/* Temporary helper #defines, #undef'ed at end of header */\n#define NVTX3_CPP_VERSION_MAJOR 1\n#define NVTX3_CPP_VERSION_MINOR 0\n\n/* This section handles the decision of whether to provide unversioned symbols.\n * If NVTX3_CPP_REQUIRE_EXPLICIT_VERSION is #defined, unversioned symbols are\n * not provided, and explicit-version symbols such as nvtx3::v1::scoped_range\n * and NVTX3_V1_FUNC_RANGE must be used.  By default, the first #include of this\n * header will define the unversioned symbols such as nvtx3::scoped_range and\n * NVTX3_FUNC_RANGE.  Subsequently including a different major version of this\n * header without #defining NVTX3_CPP_REQUIRE_EXPLICIT_VERSION triggers an error\n * since the symbols would conflict.  Subsequently including of a different\n * minor version within the same major version is allowed. Functionality of\n * minor versions is cumulative, regardless of include order.\n *\n * Since NVTX3_CPP_REQUIRE_EXPLICIT_VERSION allows all combinations of versions\n * to coexist without problems within a translation unit, the recommended best\n * practice for instrumenting header-based libraries with NVTX C++ Wrappers is\n * is to #define NVTX3_CPP_REQUIRE_EXPLICIT_VERSION before including nvtx3.hpp,\n * #undef it afterward, and only use explicit-version symbols.  This is not\n * necessary in common cases, such as instrumenting a standalone application, or\n * static/shared libraries in .cpp files or headers private to those projects.\n */\n/* clang-format off */\n#if !defined(NVTX3_CPP_REQUIRE_EXPLICIT_VERSION)\n  /* Define macro used by all definitions in this header to indicate the\n   * unversioned symbols should be defined in addition to the versioned ones.\n   */\n  #define NVTX3_INLINE_THIS_VERSION\n\n  #if !defined(NVTX3_CPP_INLINED_VERSION_MAJOR)\n    /* First occurrence of this header in the translation unit.  Define macros\n     * indicating which version shall be used for unversioned symbols.\n     */\n\n    /**\n     * @brief Semantic major version number for NVTX C++ wrappers of unversioned symbols\n     *\n     * Breaking changes may occur between major versions, and different major versions\n     * cannot provide unversioned symbols in the same translation unit (.cpp file).\n     *\n     * Note: If NVTX3_CPP_REQUIRE_EXPLICIT_VERSION is defined, this macro is not defined.\n     *\n     * Not to be confused with the version number of the NVTX core library.\n     */\n    #define NVTX3_CPP_INLINED_VERSION_MAJOR 1  // NVTX3_CPP_VERSION_MAJOR\n\n    /**\n     * @brief Semantic minor version number for NVTX C++ wrappers of unversioned symbols\n     *\n     * No breaking changes occur between minor versions -- minor version changes within\n     * a major version are purely additive.\n     *\n     * Note: If NVTX3_CPP_REQUIRE_EXPLICIT_VERSION is defined, this macro is not defined.\n     *\n     * Not to be confused with the version number of the NVTX core library.\n     */\n    #define NVTX3_CPP_INLINED_VERSION_MINOR 0  // NVTX3_CPP_VERSION_MINOR\n  #elif NVTX3_CPP_INLINED_VERSION_MAJOR != NVTX3_CPP_VERSION_MAJOR\n    /* Unsupported case -- cannot define unversioned symbols for different major versions\n     * in the same translation unit.\n     */\n    #error \\\n      \"Two different major versions of the NVTX C++ Wrappers are being included in a single .cpp file, with unversioned symbols enabled in both.  Only one major version can enable unversioned symbols in a .cpp file.  To disable unversioned symbols, #define NVTX3_CPP_REQUIRE_EXPLICIT_VERSION before #including nvtx3.hpp, and use the explicit-version symbols instead -- this is the preferred way to use nvtx3.hpp from a header file.\"\n  #elif (NVTX3_CPP_INLINED_VERSION_MAJOR == NVTX3_CPP_VERSION_MAJOR) && \\\n    (NVTX3_CPP_INLINED_VERSION_MINOR < NVTX3_CPP_VERSION_MINOR)\n    /* An older minor version of the same major version already defined unversioned\n     * symbols.  The new features provided in this header will be inlined\n     * redefine the minor version macro to this header's version.\n     */\n    #undef NVTX3_CPP_INLINED_VERSION_MINOR\n    #define NVTX3_CPP_INLINED_VERSION_MINOR 0  // NVTX3_CPP_VERSION_MINOR\n    // else, already have this version or newer, nothing to do\n  #endif\n#endif\n/* clang-format on */\n\n/**\n * @file nvtx3.hpp\n *\n * @brief Provides C++ constructs making the NVTX library safer and easier to\n * use with zero overhead.\n */\n\n/**\n * \\mainpage\n * \\tableofcontents\n *\n * \\section QUICK_START Quick Start\n *\n * To add NVTX ranges to your code, use the `nvtx3::scoped_range` RAII object. A\n * range begins when the object is created, and ends when the object is\n * destroyed.\n *\n * \\code{.cpp}\n * #include \"nvtx3.hpp\"\n * void some_function() {\n *    // Begins a NVTX range with the messsage \"some_function\"\n *    // The range ends when some_function() returns and `r` is destroyed\n *    nvtx3::scoped_range r{\"some_function\"};\n *\n *    for(int i = 0; i < 6; ++i) {\n *       nvtx3::scoped_range loop{\"loop range\"};\n *       std::this_thread::sleep_for(std::chrono::seconds{1});\n *    }\n * } // Range ends when `r` is destroyed\n * \\endcode\n *\n * The example code above generates the following timeline view in Nsight\n * Systems:\n *\n * \\image html\n * https://raw.githubusercontent.com/NVIDIA/NVTX/release-v3/docs/images/example_range.png\n *\n * Alternatively, use the \\ref MACROS like `NVTX3_FUNC_RANGE()` to add\n * ranges to your code that automatically use the name of the enclosing function\n * as the range's message.\n *\n * \\code{.cpp}\n * #include \"nvtx3.hpp\"\n * void some_function() {\n *    // Creates a range with a message \"some_function\" that ends when the\n *    // enclosing function returns\n *    NVTX3_FUNC_RANGE();\n *    ...\n * }\n * \\endcode\n *\n *\n * \\section Overview\n *\n * The NVTX library provides a set of functions for users to annotate their code\n * to aid in performance profiling and optimization. These annotations provide\n * information to tools like Nsight Systems to improve visualization of\n * application timelines.\n *\n * \\ref RANGES are one of the most commonly used NVTX constructs for annotating\n * a span of time. For example, imagine a user wanted to see every time a\n * function, `my_function`, is called and how long it takes to execute. This can\n * be accomplished with an NVTX range created on the entry to the function and\n * terminated on return from `my_function` using the push/pop C APIs:\n *\n * \\code{.cpp}\n * void my_function(...) {\n *    nvtxRangePushA(\"my_function\"); // Begins NVTX range\n *    // do work\n *    nvtxRangePop(); // Ends NVTX range\n * }\n * \\endcode\n *\n * One of the challenges with using the NVTX C API is that it requires manually\n * terminating the end of the range with `nvtxRangePop`. This can be challenging\n * if `my_function()` has multiple returns or can throw exceptions as it\n * requires calling `nvtxRangePop()` before all possible return points.\n *\n * NVTX C++ solves this inconvenience through the \"RAII\" technique by providing\n * a `nvtx3::scoped_range` class that begins a range at construction and ends\n * the range on destruction. The above example then becomes:\n *\n * \\code{.cpp}\n * void my_function(...) {\n *    nvtx3::scoped_range r{\"my_function\"}; // Begins NVTX range\n *    // do work\n * } // Range ends on exit from `my_function` when `r` is destroyed\n * \\endcode\n *\n * The range object `r` is deterministically destroyed whenever `my_function`\n * returns---ending the NVTX range without manual intervention. For more\n * information, see \\ref RANGES and `nvtx3::scoped_range_in`.\n *\n * Another inconvenience of the NVTX C APIs are the several constructs where the\n * user is expected to initialize an object at the beginning of an application\n * and reuse that object throughout the lifetime of the application. For example\n * see domains, categories, and registered messages.\n *\n * Example:\n * \\code{.cpp}\n * nvtxDomainHandle_t D = nvtxDomainCreateA(\"my domain\");\n * // Reuse `D` throughout the rest of the application\n * \\endcode\n *\n * This can be problematic if the user application or library does not have an\n * explicit initialization function called before all other functions to\n * ensure that these long-lived objects are initialized before being used.\n *\n * NVTX C++ makes use of the \"construct on first use\" technique to alleviate\n * this inconvenience. In short, a function local static object is constructed\n * upon the first invocation of a function and returns a reference to that\n * object on all future invocations. See the documentation for `nvtx3::domain`,\n * `nvtx3::named_category`, `nvtx3::registered_string`, and\n * https://isocpp.org/wiki/faq/ctors#static-init-order-on-first-use for more\n * information.\n *\n * Using construct on first use, the above example becomes:\n * \\code{.cpp}\n * struct my_domain{ static constexpr char const* name{\"my domain\"}; };\n *\n * // The first invocation of `domain::get` for the type `my_domain` will\n * // construct a `nvtx3::domain` object and return a reference to it. Future\n * // invocations simply return a reference.\n * nvtx3::domain const& D = nvtx3::domain::get<my_domain>();\n * \\endcode\n * For more information about NVTX and how it can be used, see\n * https://docs.nvidia.com/cuda/profiler-users-guide/index.html#nvtx and\n * https://devblogs.nvidia.com/cuda-pro-tip-generate-custom-application-profile-timelines-nvtx/\n * for more information.\n *\n * \\section RANGES Ranges\n *\n * Ranges are used to describe a span of time during the execution of an\n * application. Common examples are using ranges to annotate the time it takes\n * to execute a function or an iteration of a loop.\n *\n * NVTX C++ uses RAII to automate the generation of ranges that are tied to the\n * lifetime of objects. Similar to `std::lock_guard` in the C++ Standard\n * Template Library.\n *\n * \\subsection scoped_range Scoped Range\n *\n * `nvtx3::scoped_range_in` is a class that begins a range upon construction\n * and ends the range at destruction. This is one of the most commonly used\n * constructs in NVTX C++ and is useful for annotating spans of time on a\n * particular thread. These ranges can be nested to arbitrary depths.\n *\n * `nvtx3::scoped_range` is an alias for a `nvtx3::scoped_range_in` in the\n * global NVTX domain. For more information about Domains, see \\ref DOMAINS.\n *\n * Various attributes of a range can be configured constructing a\n * `nvtx3::scoped_range_in` with a `nvtx3::event_attributes` object. For\n * more information, see \\ref ATTRIBUTES.\n *\n * Example:\n *\n * \\code{.cpp}\n * void some_function() {\n *    // Creates a range for the duration of `some_function`\n *    nvtx3::scoped_range r{};\n *\n *    while(true) {\n *       // Creates a range for every loop iteration\n *       // `loop_range` is nested inside `r`\n *       nvtx3::scoped_range loop_range{};\n *    }\n * }\n * \\endcode\n *\n * \\subsection unique_range Unique Range\n *\n * `nvtx3::unique_range` is similar to `nvtx3::scoped_range`, with a few key differences:\n * - `unique_range` objects can be destroyed in any order whereas `scoped_range` objects must be\n *    destroyed in exact reverse creation order\n * - `unique_range` can start and end on different threads\n * - `unique_range` is moveable\n * - `unique_range` objects can be constructed as heap objects\n *\n * There is extra overhead associated with `unique_range` constructs and therefore use of\n * `nvtx3::scoped_range_in` should be preferred.\n *\n * \\section MARKS Marks\n *\n * `nvtx3::mark` annotates an instantaneous point in time with a \"marker\".\n *\n * Unlike a \"range\" which has a beginning and an end, a marker is a single event\n * in an application, such as detecting a problem:\n *\n * \\code{.cpp}\n * bool success = do_operation(...);\n * if (!success) {\n *    nvtx3::mark(\"operation failed!\");\n * }\n * \\endcode\n *\n * \\section DOMAINS Domains\n *\n * Similar to C++ namespaces, domains allow for scoping NVTX events. By default,\n * all NVTX events belong to the \"global\" domain. Libraries and applications\n * should scope their events to use a custom domain to differentiate where the\n * events originate from.\n *\n * It is common for a library or application to have only a single domain and\n * for the name of that domain to be known at compile time. Therefore, Domains\n * in NVTX C++ are represented by _tag types_.\n *\n * For example, to define a custom domain, simply define a new concrete type\n * (a `class` or `struct`) with a `static` member called `name` that contains\n * the desired name of the domain.\n *\n * \\code{.cpp}\n * struct my_domain{ static constexpr char const* name{\"my domain\"}; };\n * \\endcode\n *\n * For any NVTX C++ construct that can be scoped to a domain, the type\n * `my_domain` can be passed as an explicit template argument to scope it to\n * the custom domain.\n *\n * The tag type `nvtx3::domain::global` represents the global NVTX domain.\n *\n * \\code{.cpp}\n * // By default, `scoped_range_in` belongs to the global domain\n * nvtx3::scoped_range_in<> r0{};\n *\n * // Alias for a `scoped_range_in` in the global domain\n * nvtx3::scoped_range r1{};\n *\n * // `r` belongs to the custom domain\n * nvtx3::scoped_range_in<my_domain> r{};\n * \\endcode\n *\n * When using a custom domain, it is recommended to define type aliases for NVTX\n * constructs in the custom domain.\n * \\code{.cpp}\n * using my_scoped_range = nvtx3::scoped_range_in<my_domain>;\n * using my_registered_string = nvtx3::registered_string_in<my_domain>;\n * using my_named_category = nvtx3::named_category_in<my_domain>;\n * \\endcode\n *\n * See `nvtx3::domain` for more information.\n *\n * \\section ATTRIBUTES Event Attributes\n *\n * NVTX events can be customized with various attributes to provide additional\n * information (such as a custom message) or to control visualization of the\n * event (such as the color used). These attributes can be specified per-event\n * via arguments to a `nvtx3::event_attributes` object.\n *\n * NVTX events can be customized via four \"attributes\":\n * - \\ref COLOR : color used to visualize the event in tools.\n * - \\ref MESSAGES :  Custom message string.\n * - \\ref PAYLOAD :  User-defined numerical value.\n * - \\ref CATEGORY : Intra-domain grouping.\n *\n * It is possible to construct a `nvtx3::event_attributes` from any number of\n * attribute objects (nvtx3::color, nvtx3::message, nvtx3::payload,\n * nvtx3::category) in any order. If an attribute is not specified, a tool\n * specific default value is used. See `nvtx3::event_attributes` for more\n * information.\n *\n * \\code{.cpp}\n * // Set message, same as passing nvtx3::message{\"message\"}\n * nvtx3::event_attributes attr{\"message\"};\n *\n * // Set message and color\n * nvtx3::event_attributes attr{\"message\", nvtx3::rgb{127, 255, 0}};\n *\n * // Set message, color, payload, category\n * nvtx3::event_attributes attr{\"message\",\n *                              nvtx3::rgb{127, 255, 0},\n *                              nvtx3::payload{42},\n *                              nvtx3::category{1}};\n *\n * // Same as above -- can use any order of arguments\n * nvtx3::event_attributes attr{nvtx3::payload{42},\n *                              nvtx3::category{1},\n *                              \"message\",\n *                              nvtx3::rgb{127, 255, 0}};\n *\n * // Multiple arguments of the same type are allowed, but only the first is\n * // used -- in this example, payload is set to 42:\n * nvtx3::event_attributes attr{ nvtx3::payload{42}, nvtx3::payload{7} };\n *\n * // Using the nvtx3 namespace in a local scope makes the syntax more succinct:\n * using namespace nvtx3;\n * event_attributes attr{\"message\", rgb{127, 255, 0}, payload{42}, category{1}};\n * \\endcode\n *\n * \\subsection MESSAGES message\n *\n * `nvtx3::message` sets the message string for an NVTX event.\n *\n * Example:\n * \\code{.cpp}\n * // Create an `event_attributes` with the message \"my message\"\n * nvtx3::event_attributes attr{nvtx3::message{\"my message\"}};\n *\n * // strings and string literals implicitly assumed to be a `nvtx3::message`\n * nvtx3::event_attributes attr{\"my message\"};\n * \\endcode\n *\n * \\subsubsection REGISTERED_MESSAGE Registered Messages\n *\n * Associating a `nvtx3::message` with an event requires copying the contents of\n * the message every time the message is used, i.e., copying the entire message\n * string. This may cause non-trivial overhead in performance sensitive code.\n *\n * To eliminate this overhead, NVTX allows registering a message string,\n * yielding a \"handle\" that is inexpensive to copy that may be used in place of\n * a message string. When visualizing the events, tools such as Nsight Systems\n * will take care of mapping the message handle to its string.\n *\n * A message should be registered once and the handle reused throughout the rest\n * of the application. This can be done by either explicitly creating static\n * `nvtx3::registered_string` objects, or using the\n * `nvtx3::registered_string::get` construct on first use helper (recommended).\n *\n * Similar to \\ref DOMAINS, `nvtx3::registered_string::get` requires defining a\n * custom tag type with a static `message` member whose value will be the\n * contents of the registered string.\n *\n * Example:\n * \\code{.cpp}\n * // Explicitly constructed, static `registered_string` in my_domain:\n * static registered_string_in<my_domain> static_message{\"my message\"};\n *\n * // Or use construct on first use:\n * // Define a tag type with a `message` member string to register\n * struct my_message{ static constexpr char const* message{ \"my message\" }; };\n *\n * // Uses construct on first use to register the contents of\n * // `my_message::message`\n * auto& msg = nvtx3::registered_string_in<my_domain>::get<my_message>();\n * \\endcode\n *\n * \\subsection COLOR color\n *\n * Associating a `nvtx3::color` with an event allows controlling how the event\n * is visualized in a tool such as Nsight Systems. This is a convenient way to\n * visually differentiate among different events.\n *\n * \\code{.cpp}\n * // Define a color via rgb color values\n * nvtx3::color c{nvtx3::rgb{127, 255, 0}};\n * nvtx3::event_attributes attr{c};\n *\n * // rgb color values can be passed directly to an `event_attributes`\n * nvtx3::event_attributes attr1{nvtx3::rgb{127,255,0}};\n * \\endcode\n *\n * \\subsection CATEGORY category\n *\n * A `nvtx3::category` is simply an integer id that allows for fine-grain\n * grouping of NVTX events. For example, one might use separate categories for\n * IO, memory allocation, compute, etc.\n *\n * \\code{.cpp}\n * nvtx3::event_attributes{nvtx3::category{1}};\n * \\endcode\n *\n * \\subsubsection NAMED_CATEGORIES Named Categories\n *\n * Associates a `name` string with a category `id` to help differentiate among\n * categories.\n *\n * For any given category id `Id`, a `named_category{Id, \"name\"}` should only\n * be constructed once and reused throughout an application. This can be done by\n * either explicitly creating static `nvtx3::named_category` objects, or using\n * the `nvtx3::named_category::get` construct on first use helper (recommended).\n *\n * Similar to \\ref DOMAINS, `nvtx3::named_category::get` requires defining a\n * custom tag type with static `name` and `id` members.\n *\n * \\code{.cpp}\n * // Explicitly constructed, static `named_category` in my_domain:\n * static nvtx3::named_category_in<my_domain> static_category{42, \"my category\"};\n *\n * // Or use construct on first use:\n * // Define a tag type with `name` and `id` members\n * struct my_category {\n *    static constexpr char const* name{\"my category\"}; // category name\n *    static constexpr uint32_t id{42}; // category id\n * };\n *\n * // Use construct on first use to name the category id `42`\n * // with name \"my category\":\n * auto& cat = named_category_in<my_domain>::get<my_category>();\n *\n * // Range `r` associated with category id `42`\n * nvtx3::event_attributes attr{cat};\n * \\endcode\n *\n * \\subsection PAYLOAD payload\n *\n * Allows associating a user-defined numerical value with an event.\n *\n * \\code{.cpp}\n * // Constructs a payload from the `int32_t` value 42\n * nvtx3:: event_attributes attr{nvtx3::payload{42}};\n * \\endcode\n *\n *\n * \\section EXAMPLE Example\n *\n * Putting it all together:\n * \\code{.cpp}\n * // Define a custom domain tag type\n * struct my_domain{ static constexpr char const* name{\"my domain\"}; };\n *\n * // Define a named category tag type\n * struct my_category{\n *    static constexpr char const* name{\"my category\"};\n *    static constexpr uint32_t id{42};\n * };\n *\n * // Define a registered string tag type\n * struct my_message{ static constexpr char const* message{\"my message\"}; };\n *\n * // For convenience, use aliases for domain scoped objects\n * using my_scoped_range = nvtx3::scoped_range_in<my_domain>;\n * using my_registered_string = nvtx3::registered_string_in<my_domain>;\n * using my_named_category = nvtx3::named_category_in<my_domain>;\n *\n * // Default values for all attributes\n * nvtx3::event_attributes attr{};\n * my_scoped_range r0{attr};\n *\n * // Custom (unregistered) message, and unnamed category\n * nvtx3::event_attributes attr1{\"message\", nvtx3::category{2}};\n * my_scoped_range r1{attr1};\n *\n * // Alternatively, pass arguments of `event_attributes` ctor directly to\n * // `my_scoped_range`\n * my_scoped_range r2{\"message\", nvtx3::category{2}};\n *\n * // construct on first use a registered string\n * auto& msg = my_registered_string::get<my_message>();\n *\n * // construct on first use a named category\n * auto& cat = my_named_category::get<my_category>();\n *\n * // Use registered string and named category with a custom payload\n * my_scoped_range r3{msg, cat, nvtx3::payload{42}};\n *\n * // Any number of arguments in any order\n * my_scoped_range r{nvtx3::rgb{127, 255,0}, msg};\n *\n * \\endcode\n * \\section MACROS Convenience Macros\n *\n * Oftentimes users want to quickly and easily add NVTX ranges to their library\n * or application to aid in profiling and optimization.\n *\n * A convenient way to do this is to use the \\ref NVTX3_FUNC_RANGE and\n * \\ref NVTX3_FUNC_RANGE_IN macros. These macros take care of constructing an\n * `nvtx3::scoped_range_in` with the name of the enclosing function as the\n * range's message.\n *\n * \\code{.cpp}\n * void some_function() {\n *    // Automatically generates an NVTX range for the duration of the function\n *    // using \"some_function\" as the event's message.\n *    NVTX3_FUNC_RANGE();\n * }\n * \\endcode\n *\n */\n\n/* Temporary helper #defines, removed with #undef at end of header */\n\n/* Some compilers do not correctly support SFINAE, which is used in this API\n * to detect common usage errors and provide clearer error messages (by using\n * static_assert) than the compiler would produce otherwise.  These compilers\n * will generate errors while compiling this file such as:\n *\n *  error: ‘name’ is not a member of ‘nvtx3::v1::domain::global’\n *\n * The following compiler versions are known to have this problem, and so are\n * set by default to disable the SFINAE-based checks:\n *\n * - All MSVC versions prior to VS2017 Update 7 (15.7)\n * - GCC 8.1-8.3 (the problem was fixed in GCC 8.4)\n *\n * If you find your compiler hits this problem, you can work around it by\n * defining NVTX3_USE_CHECKED_OVERLOADS_FOR_GET to 0 before including this\n * header, or you can add a check for your compiler version to this #if.\n * Also, please report the issue on the NVTX github page.\n */\n#if !defined(NVTX3_USE_CHECKED_OVERLOADS_FOR_GET)\n#if defined(_MSC_VER) && _MSC_VER < 1914 \\\n  || defined(__GNUC__) && __GNUC__ == 8 && __GNUC_MINOR__ < 4\n#define NVTX3_USE_CHECKED_OVERLOADS_FOR_GET 0\n#else\n#define NVTX3_USE_CHECKED_OVERLOADS_FOR_GET 1\n#endif\n#define NVTX3_USE_CHECKED_OVERLOADS_FOR_GET_DEFINED_HERE\n#endif\n\n/* Within this header, nvtx3::NVTX3_VERSION_NAMESPACE resolves to nvtx3::vX,\n * where \"X\" is the major version number. */\n#define NVTX3_CONCAT(A, B) A##B\n#define NVTX3_NAMESPACE_FOR(VERSION) NVTX3_CONCAT(v, VERSION)\n#define NVTX3_VERSION_NAMESPACE NVTX3_NAMESPACE_FOR(NVTX3_CPP_VERSION_MAJOR)\n\n/* Avoid duplicating #if defined(NVTX3_INLINE_THIS_VERSION) for namespaces\n * in each minor version by making a macro to use unconditionally, which\n * resolves to \"inline\" or nothing as appropriate. */\n#if defined(NVTX3_INLINE_THIS_VERSION)\n#define NVTX3_INLINE_IF_REQUESTED inline\n#else\n#define NVTX3_INLINE_IF_REQUESTED\n#endif\n\n/* Enables the use of constexpr when support for C++14 constexpr is present.\n *\n * Initialization of a class member that is a union to a specific union member\n * can only be done in the body of a constructor, not in a member initializer\n * list.  A constexpr constructor must have an empty body until C++14, so there\n * is no way to make an initializer of a member union constexpr in C++11.  This\n * macro allows making functions constexpr in C++14 or newer, but non-constexpr\n * in C++11 compilation.  It is used here on constructors that initialize their\n * member unions.\n */\n#if __cpp_constexpr >= 201304L\n#define NVTX3_CONSTEXPR_IF_CPP14 constexpr\n#else\n#define NVTX3_CONSTEXPR_IF_CPP14\n#endif\n\n /* Use a macro for static asserts, which defaults to static_assert, but that\n  * testing tools can replace with a logging function.  For example:\n  * #define NVTX3_STATIC_ASSERT(c, m) \\\n  *   do { if (!(c)) printf(\"static_assert would fail: %s\\n\", m); } while (0)\n  */\n#if !defined(NVTX3_STATIC_ASSERT)\n#define NVTX3_STATIC_ASSERT(condition, message) static_assert(condition, message);\n#define NVTX3_STATIC_ASSERT_DEFINED_HERE\n#endif\n\n/* Implementation sections, enclosed in guard macros for each minor version */\n\n#ifndef NVTX3_CPP_DEFINITIONS_V1_0\n#define NVTX3_CPP_DEFINITIONS_V1_0\n\n#include \"nvToolsExt.h\"\n#include \"nvToolsExtPayload.h\"\n\n#include <memory>\n#include <string>\n#include <type_traits>\n#include <utility>\n#include <cstddef>\n\nnamespace nvtx3 {\n\nNVTX3_INLINE_IF_REQUESTED namespace NVTX3_VERSION_NAMESPACE\n{\n\nnamespace detail {\n\ntemplate <typename Unused>\nstruct always_false : std::false_type {};\n\ntemplate <typename T, typename = void>\nstruct has_name : std::false_type {};\ntemplate <typename T>\nstruct has_name<T, decltype((void)T::name, void())> : std::true_type {};\n\ntemplate <typename T, typename = void>\nstruct has_id : std::false_type {};\ntemplate <typename T>\nstruct has_id<T, decltype((void)T::id, void())> : std::true_type {};\n\ntemplate <typename T, typename = void>\nstruct has_message : std::false_type {};\ntemplate <typename T>\nstruct has_message<T, decltype((void)T::message, void())> : std::true_type {};\n\ntemplate <typename T, typename = void>\nstruct is_c_string : std::false_type {};\ntemplate <typename T>\nstruct is_c_string<T, typename std::enable_if<\n  std::is_convertible<T, char const*   >::value ||\n  std::is_convertible<T, wchar_t const*>::value\n>::type> : std::true_type {};\n\ntemplate <typename T>\nusing is_uint32 = std::is_same<typename std::decay<T>::type, uint32_t>;\n\n}  // namespace detail\n\n/**\n * @brief `domain`s allow for grouping NVTX events into a single scope to\n * differentiate them from events in other `domain`s.\n *\n * By default, all NVTX constructs are placed in the \"global\" NVTX domain.\n *\n * A custom `domain` may be used in order to differentiate a library's or\n * application's NVTX events from other events.\n *\n * `domain`s are expected to be long-lived and unique to a library or\n * application. As such, it is assumed a domain's name is known at compile\n * time. Therefore, all NVTX constructs that can be associated with a domain\n * require the domain to be specified via a *type* `D` passed as an\n * explicit template parameter.\n *\n * The type `domain::global` may be used to indicate that the global NVTX\n * domain should be used.\n *\n * None of the C++ NVTX constructs require the user to manually construct a\n * `domain` object. Instead, if a custom domain is desired, the user is\n * expected to define a type `D` that contains a member\n * `D::name` which resolves to either a `char const*` or `wchar_t\n * const*`. The value of `D::name` is used to name and uniquely\n * identify the custom domain.\n *\n * Upon the first use of an NVTX construct associated with the type\n * `D`, the \"construct on first use\" pattern is used to construct a\n * function local static `domain` object. All future NVTX constructs\n * associated with `D` will use a reference to the previously\n * constructed `domain` object. See `domain::get`.\n *\n * Example:\n * \\code{.cpp}\n * // The type `my_domain` defines a `name` member used to name and identify\n * // the `domain` object identified by `my_domain`.\n * struct my_domain{ static constexpr char const* name{\"my_domain\"}; };\n *\n * // The NVTX range `r` will be grouped with all other NVTX constructs\n * // associated with  `my_domain`.\n * nvtx3::scoped_range_in<my_domain> r{};\n *\n * // An alias can be created for a `scoped_range_in` in the custom domain\n * using my_scoped_range = nvtx3::scoped_range_in<my_domain>;\n * my_scoped_range my_range{};\n *\n * // `domain::global` indicates that the global NVTX domain is used\n * nvtx3::scoped_range_in<domain::global> r2{};\n *\n * // For convenience, `nvtx3::scoped_range` is an alias for a range in the\n * // global domain\n * nvtx3::scoped_range r3{};\n * \\endcode\n */\nclass domain {\n public:\n  domain(domain const&) = delete;\n  domain& operator=(domain const&) = delete;\n  domain(domain&&) = delete;\n  domain& operator=(domain&&) = delete;\n\n  /**\n   * @brief Tag type for the \"global\" NVTX domain.\n   *\n   * This type may be passed as a template argument to any function/class\n   * expecting a type to identify a domain to indicate that the global domain\n   * should be used.\n   *\n   * All NVTX events in the global domain across all libraries and\n   * applications will be grouped together.\n   *\n   */\n  struct global {\n  };\n\n#if NVTX3_USE_CHECKED_OVERLOADS_FOR_GET\n  /**\n   * @brief Returns reference to an instance of a function local static\n   * `domain` object.\n   *\n   * Uses the \"construct on first use\" idiom to safely ensure the `domain`\n   * object is initialized exactly once upon first invocation of\n   * `domain::get<D>()`. All following invocations will return a\n   * reference to the previously constructed `domain` object. See\n   * https://isocpp.org/wiki/faq/ctors#static-init-order-on-first-use\n   *\n   * None of the constructs in this header require the user to directly invoke\n   * `domain::get`. It is automatically invoked when constructing objects like\n   * a `scoped_range_in` or `category`. Advanced users may wish to use\n   * `domain::get` for the convenience of the \"construct on first use\" idiom\n   * when using domains with their own use of the NVTX C API.\n   *\n   * This function is threadsafe as of C++11. If two or more threads call\n   * `domain::get<D>` concurrently, exactly one of them is guaranteed\n   * to construct the `domain` object and the other(s) will receive a\n   * reference to the object after it is fully constructed.\n   *\n   * The domain's name is specified via the type `D` pass as an\n   * explicit template parameter. `D` is required to contain a\n   * member `D::name` that resolves to either a `char const*` or\n   * `wchar_t const*`. The value of `D::name` is used to name and\n   * uniquely identify the `domain`.\n   *\n   * Example:\n   * \\code{.cpp}\n   * // The type `my_domain` defines a `name` member used to name and identify\n   * // the `domain` object identified by `my_domain`.\n   * struct my_domain{ static constexpr char const* name{\"my domain\"}; };\n   *\n   * auto& D1 = domain::get<my_domain>(); // First invocation constructs a\n   *                                      // `domain` with the name \"my domain\"\n   *\n   * auto& D2 = domain::get<my_domain>(); // Quickly returns reference to\n   *                                      // previously constructed `domain`.\n   * \\endcode\n   *\n   * @tparam D Type that contains a `D::name` member used to\n   * name the `domain` object.\n   * @return Reference to the `domain` corresponding to the type `D`.\n   */\n  template <typename D = global,\n    typename std::enable_if<\n      detail::is_c_string<decltype(D::name)>::value\n    , int>::type = 0>\n  static domain const& get() noexcept\n  {\n    static domain const d(D::name);\n    return d;\n  }\n\n  /**\n   * @brief Overload of `domain::get` to provide a clear compile error when\n   * `D` has a `name` member that is not directly convertible to either\n   * `char const*` or `wchar_t const*`.\n   */\n  template <typename D = global,\n    typename std::enable_if<\n      !detail::is_c_string<decltype(D::name)>::value\n    , int>::type = 0>\n  static domain const& get() noexcept\n  {\n    NVTX3_STATIC_ASSERT(detail::always_false<D>::value,\n      \"Type used to identify an NVTX domain must contain a static constexpr member \"\n      \"called 'name' of type const char* or const wchar_t* -- 'name' member is not \"\n      \"convertible to either of those types\");\n    static domain const unused;\n    return unused;  // Function must compile for static_assert to be triggered\n  }\n\n  /**\n   * @brief Overload of `domain::get` to provide a clear compile error when\n   * `D` does not have a `name` member.\n   */\n  template <typename D = global,\n    typename std::enable_if<\n      !detail::has_name<D>::value\n    , int>::type = 0>\n  static domain const& get() noexcept\n  {\n    NVTX3_STATIC_ASSERT(detail::always_false<D>::value,\n      \"Type used to identify an NVTX domain must contain a static constexpr member \"\n      \"called 'name' of type const char* or const wchar_t* -- 'name' member is missing\");\n    static domain const unused;\n    return unused;  // Function must compile for static_assert to be triggered\n  }\n#else\n  template <typename D = global>\n  static domain const& get() noexcept\n  {\n    static domain const d(D::name);\n    return d;\n  }\n#endif\n\n  /**\n   * @brief Conversion operator to `nvtxDomainHandle_t`.\n   *\n   * Allows transparently passing a domain object into an API expecting a\n   * native `nvtxDomainHandle_t` object.\n   */\n  operator nvtxDomainHandle_t() const noexcept { return _domain; }\n\n private:\n  /**\n   * @brief Construct a new domain with the specified `name`.\n   *\n   * This constructor is private as it is intended that `domain` objects only\n   * be created through the `domain::get` function.\n   *\n   * @param name A unique name identifying the domain\n   */\n  explicit domain(char const* name) noexcept : _domain{nvtxDomainCreateA(name)} {}\n\n  /**\n   * @brief Construct a new domain with the specified `name`.\n   *\n   * This constructor is private as it is intended that `domain` objects only\n   * be created through the `domain::get` function.\n   *\n   * @param name A unique name identifying the domain\n   */\n  explicit domain(wchar_t const* name) noexcept : _domain{nvtxDomainCreateW(name)} {}\n\n  /**\n   * @brief Construct a new domain with the specified `name`.\n   *\n   * This constructor is private as it is intended that `domain` objects only\n   * be created through the `domain::get` function.\n   *\n   * @param name A unique name identifying the domain\n   */\n  explicit domain(std::string const& name) noexcept : domain{name.c_str()} {}\n\n  /**\n   * @brief Construct a new domain with the specified `name`.\n   *\n   * This constructor is private as it is intended that `domain` objects only\n   * be created through the `domain::get` function.\n   *\n   * @param name A unique name identifying the domain\n   */\n  explicit domain(std::wstring const& name) noexcept : domain{name.c_str()} {}\n\n  /**\n   * @brief Default constructor creates a `domain` representing the\n   * \"global\" NVTX domain.\n   *\n   * All events not associated with a custom `domain` are grouped in the\n   * \"global\" NVTX domain.\n   *\n   */\n  domain() noexcept {}\n\n  /**\n   * @brief Intentionally avoid calling nvtxDomainDestroy on the `domain` object.\n   *\n   * No currently-available tools attempt to free domain resources when the\n   * nvtxDomainDestroy function is called, due to the thread-safety and\n   * efficiency challenges of freeing thread-local storage for other threads.\n   * Since libraries may be disallowed from introducing static destructors,\n   * and destroying the domain is likely to have no effect, the destructor\n   * for `domain` intentionally chooses to not destroy the domain.\n   *\n   * In a situation where domain destruction is necessary, either manually\n   * call nvtxDomainDestroy on the domain's handle, or make a class that\n   * derives from `domain` and calls nvtxDomainDestroy in its destructor.\n   */\n  ~domain() = default;\n\n private:\n  nvtxDomainHandle_t const _domain{};  ///< The `domain`s NVTX handle\n};\n\n/**\n * @brief Returns reference to the `domain` object that represents the global\n * NVTX domain.\n *\n * This specialization for `domain::global` returns a default constructed,\n * `domain` object for use when the \"global\" domain is desired.\n *\n * All NVTX events in the global domain across all libraries and applications\n * will be grouped together.\n *\n * @return Reference to the `domain` corresponding to the global NVTX domain.\n *\n */\ntemplate <>\ninline domain const& domain::get<domain::global>() noexcept\n{\n  static domain const d{};\n  return d;\n}\n\n/**\n * @brief Indicates the values of the red, green, and blue color channels for\n * an RGB color to use as an event attribute (assumes no transparency).\n *\n */\nstruct rgb {\n  /// Type used for component values\n  using component_type = uint8_t;\n\n  /**\n   * @brief Construct a rgb with red, green, and blue channels\n   * specified by `red_`, `green_`, and `blue_`, respectively.\n   *\n   * Valid values are in the range `[0,255]`.\n   *\n   * @param red_ Value of the red channel\n   * @param green_ Value of the green channel\n   * @param blue_ Value of the blue channel\n   */\n  constexpr rgb(\n    component_type red_,\n    component_type green_,\n    component_type blue_) noexcept\n    : red{red_}, green{green_}, blue{blue_}\n  {\n  }\n\n  component_type red{};    ///< Red channel value\n  component_type green{};  ///< Green channel value\n  component_type blue{};   ///< Blue channel value\n};\n\n/**\n * @brief Indicates the value of the alpha, red, green, and blue color\n * channels for an ARGB color to use as an event attribute.\n *\n */\nstruct argb final : rgb {\n  /**\n   * @brief Construct an argb with alpha, red, green, and blue channels\n   * specified by `alpha_`, `red_`, `green_`, and `blue_`, respectively.\n   *\n   * Valid values are in the range `[0,255]`.\n   *\n   * @param alpha_  Value of the alpha channel (opacity)\n   * @param red_  Value of the red channel\n   * @param green_  Value of the green channel\n   * @param blue_  Value of the blue channel\n   *\n   */\n  constexpr argb(\n    component_type alpha_,\n    component_type red_,\n    component_type green_,\n    component_type blue_) noexcept\n    : rgb{red_, green_, blue_}, alpha{alpha_}\n  {\n  }\n\n  component_type alpha{};  ///< Alpha channel value\n};\n\n/**\n * @brief Represents a custom color that can be associated with an NVTX event\n * via it's `event_attributes`.\n *\n * Specifying colors for NVTX events is a convenient way to visually\n * differentiate among different events in a visualization tool such as Nsight\n * Systems.\n *\n */\nclass color {\n public:\n  /// Type used for the color's value\n  using value_type = uint32_t;\n\n  /**\n   * @brief Constructs a `color` using the value provided by `hex_code`.\n   *\n   * `hex_code` is expected to be a 4 byte argb hex code.\n   *\n   * The most significant byte indicates the value of the alpha channel\n   * (opacity) (0-255)\n   *\n   * The next byte indicates the value of the red channel (0-255)\n   *\n   * The next byte indicates the value of the green channel (0-255)\n   *\n   * The least significant byte indicates the value of the blue channel\n   * (0-255)\n   *\n   * @param hex_code The hex code used to construct the `color`\n   */\n  constexpr explicit color(value_type hex_code) noexcept : _value{hex_code} {}\n\n  /**\n   * @brief Construct a `color` using the alpha, red, green, blue components\n   * in `argb`.\n   *\n   * @param argb The alpha, red, green, blue components of the desired `color`\n   */\n  constexpr color(argb argb_) noexcept\n    : color{from_bytes_msb_to_lsb(argb_.alpha, argb_.red, argb_.green, argb_.blue)}\n  {\n  }\n\n  /**\n   * @brief Construct a `color` using the red, green, blue components in\n   * `rgb`.\n   *\n   * Uses maximum value for the alpha channel (opacity) of the `color`.\n   *\n   * @param rgb The red, green, blue components of the desired `color`\n   */\n  constexpr color(rgb rgb_) noexcept\n    : color{from_bytes_msb_to_lsb(0xFF, rgb_.red, rgb_.green, rgb_.blue)}\n  {\n  }\n\n  /**\n   * @brief Returns the `color`s argb hex code\n   *\n   */\n  constexpr value_type get_value() const noexcept { return _value; }\n\n  /**\n   * @brief Return the NVTX color type of the color.\n   *\n   */\n  constexpr nvtxColorType_t get_type() const noexcept { return _type; }\n\n  color() = delete;\n  ~color() = default;\n  color(color const&) = default;\n  color& operator=(color const&) = default;\n  color(color&&) = default;\n  color& operator=(color&&) = default;\n\n private:\n  /**\n   * @brief Constructs an unsigned, 4B integer from the component bytes in\n   * most to least significant byte order.\n   *\n   */\n  constexpr static value_type from_bytes_msb_to_lsb(\n    uint8_t byte3,\n    uint8_t byte2,\n    uint8_t byte1,\n    uint8_t byte0) noexcept\n  {\n    return uint32_t{byte3} << 24 | uint32_t{byte2} << 16 | uint32_t{byte1} << 8 | uint32_t{byte0};\n  }\n\n  value_type _value{};                     ///< color's argb color code\n  nvtxColorType_t _type{NVTX_COLOR_ARGB};  ///< NVTX color type code\n};\n\n/**\n * @brief Object for intra-domain grouping of NVTX events.\n *\n * A `category` is simply an integer id that allows for fine-grain grouping of\n * NVTX events. For example, one might use separate categories for IO, memory\n * allocation, compute, etc.\n *\n * Example:\n * \\code{.cpp}\n * nvtx3::category cat1{1};\n *\n * // Range `r1` belongs to the category identified by the value `1`.\n * nvtx3::scoped_range r1{cat1};\n *\n * // Range `r2` belongs to the same category as `r1`\n * nvtx3::scoped_range r2{nvtx3::category{1}};\n * \\endcode\n *\n * To associate a name string with a category id, see `named_category`.\n *\n */\nclass category {\n public:\n  /// Type used for `category`s integer id.\n  using id_type = uint32_t;\n\n  /**\n   * @brief Construct a `category` with the specified `id`.\n   *\n   * The `category` will be unnamed and identified only by its `id` value.\n   *\n   * All `category`s in a domain sharing the same `id` are equivalent.\n   *\n   * @param[in] id The `category`'s identifying value\n   */\n  constexpr explicit category(id_type id) noexcept : id_{id} {}\n\n  /**\n   * @brief Returns the id of the category.\n   *\n   */\n  constexpr id_type get_id() const noexcept { return id_; }\n\n  category() = delete;\n  ~category() = default;\n  category(category const&) = default;\n  category& operator=(category const&) = default;\n  category(category&&) = default;\n  category& operator=(category&&) = default;\n\n private:\n  id_type id_{};  ///< category's unique identifier\n};\n\n/**\n * @brief A `category` with an associated name string.\n *\n * Associates a `name` string with a category `id` to help differentiate among\n * categories.\n *\n * For any given category id `Id`, a `named_category(Id, \"name\")` should only\n * be constructed once and reused throughout an application. This can be done\n * by either explicitly creating static `named_category` objects, or using the\n * `named_category::get` construct on first use helper (recommended).\n *\n * Creating two or more `named_category` objects with the same value for `id`\n * in the same domain results in undefined behavior.\n *\n * Similarly, behavior is undefined when a `named_category` and `category`\n * share the same value of `id`.\n *\n * Example:\n * \\code{.cpp}\n * // Explicitly constructed, static `named_category` in global domain:\n * static nvtx3::named_category static_category{42, \"my category\"};\n *\n * // Range `r` associated with category id `42`\n * nvtx3::scoped_range r{static_category};\n *\n * // OR use construct on first use:\n *\n * // Define a type with `name` and `id` members\n * struct my_category {\n *    static constexpr char const* name{\"my category\"}; // category name\n *    static constexpr uint32_t id{42}; // category id\n * };\n *\n * // Use construct on first use to name the category id `42`\n * // with name \"my category\"\n * auto& cat = named_category_in<my_domain>::get<my_category>();\n *\n * // Range `r` associated with category id `42`\n * nvtx3::scoped_range r{cat};\n * \\endcode\n *\n * `named_category_in<D>`'s association of a name to a category id is local to\n * the domain specified by the type `D`. An id may have a different name in\n * another domain.\n *\n * @tparam D Type containing `name` member used to identify the `domain` to\n * which the `named_category_in` belongs. Else, `domain::global` to indicate\n * that the global NVTX domain should be used.\n */\ntemplate <typename D = domain::global>\nclass named_category_in final : public category {\n public:\n#if NVTX3_USE_CHECKED_OVERLOADS_FOR_GET\n  /**\n   * @brief Returns a global instance of a `named_category_in` as a\n   * function-local static.\n   *\n   * Creates a `named_category_in<D>` with name and id specified by the contents\n   * of a type `C`. `C::name` determines the name and `C::id` determines the\n   * category id.\n   *\n   * This function is useful for constructing a named `category` exactly once\n   * and reusing the same instance throughout an application.\n   *\n   * Example:\n   * \\code{.cpp}\n   * // Define a type with `name` and `id` members\n   * struct my_category {\n   *    static constexpr char const* name{\"my category\"}; // category name\n   *    static constexpr uint32_t id{42}; // category id\n   * };\n   *\n   * // Use construct on first use to name the category id `42`\n   * // with name \"my category\"\n   * auto& cat = named_category_in<my_domain>::get<my_category>();\n   *\n   * // Range `r` associated with category id `42`\n   * nvtx3::scoped_range r{cat};\n   * \\endcode\n   *\n   * Uses the \"construct on first use\" idiom to safely ensure the `category`\n   * object is initialized exactly once. See\n   * https://isocpp.org/wiki/faq/ctors#static-init-order-on-first-use\n   *\n   * @tparam C Type containing a member `C::name` that resolves to either a\n   * `char const*` or `wchar_t const*` and `C::id`.\n   */\n  template <typename C,\n    typename std::enable_if<\n      detail::is_c_string<decltype(C::name)>::value &&\n      detail::is_uint32<decltype(C::id)>::value\n    , int>::type = 0>\n  static named_category_in const& get() noexcept\n  {\n    static named_category_in const cat(C::id, C::name);\n    return cat;\n  }\n\n  /**\n   * @brief Overload of `named_category_in::get` to provide a clear compile error\n   * when `C` has the required `name` and `id` members, but they are not the\n   * required types.  `name` must be directly convertible to `char const*` or\n   * `wchar_t const*`, and `id` must be `uint32_t`.\n   */\n  template <typename C,\n    typename std::enable_if<\n      !detail::is_c_string<decltype(C::name)>::value ||\n      !detail::is_uint32<decltype(C::id)>::value\n    , int>::type = 0>\n  static named_category_in const& get() noexcept\n  {\n    NVTX3_STATIC_ASSERT(detail::is_c_string<decltype(C::name)>::value,\n      \"Type used to name an NVTX category must contain a static constexpr member \"\n      \"called 'name' of type const char* or const wchar_t* -- 'name' member is not \"\n      \"convertible to either of those types\");\n    NVTX3_STATIC_ASSERT(detail::is_uint32<decltype(C::id)>::value,\n      \"Type used to name an NVTX category must contain a static constexpr member \"\n      \"called 'id' of type uint32_t -- 'id' member is the wrong type\");\n    static named_category_in const unused;\n    return unused;  // Function must compile for static_assert to be triggered\n  }\n\n  /**\n   * @brief Overload of `named_category_in::get` to provide a clear compile error\n   * when `C` does not have the required `name` and `id` members.\n   */\n  template <typename C,\n    typename std::enable_if<\n      !detail::has_name<C>::value ||\n      !detail::has_id<C>::value\n    , int>::type = 0>\n  static named_category_in const& get() noexcept\n  {\n    NVTX3_STATIC_ASSERT(detail::has_name<C>::value,\n      \"Type used to name an NVTX category must contain a static constexpr member \"\n      \"called 'name' of type const char* or const wchar_t* -- 'name' member is missing\");\n    NVTX3_STATIC_ASSERT(detail::has_id<C>::value,\n      \"Type used to name an NVTX category must contain a static constexpr member \"\n      \"called 'id' of type uint32_t -- 'id' member is missing\");\n    static named_category_in const unused;\n    return unused;  // Function must compile for static_assert to be triggered\n  }\n#else\n  template <typename C>\n  static named_category_in const& get() noexcept\n  {\n    static named_category_in const cat(C::id, C::name);\n    return cat;\n  }\n#endif\n\n private:\n  // Default constructor is only used internally for static_assert(false) cases.\n  named_category_in() noexcept : category{0} {}\n\n public:\n  /**\n   * @brief Construct a `named_category_in` with the specified `id` and `name`.\n   *\n   * The name `name` will be registered with `id`.\n   *\n   * Every unique value of `id` should only be named once.\n   *\n   * @param[in] id The category id to name\n   * @param[in] name The name to associated with `id`\n   */\n  named_category_in(id_type id, char const* name) noexcept : category{id}\n  {\n#ifndef NVTX_DISABLE\n    nvtxDomainNameCategoryA(domain::get<D>(), get_id(), name);\n#else\n    (void)id;\n    (void)name;\n#endif\n  };\n\n  /**\n   * @brief Construct a `named_category_in` with the specified `id` and `name`.\n   *\n   * The name `name` will be registered with `id`.\n   *\n   * Every unique value of `id` should only be named once.\n   *\n   * @param[in] id The category id to name\n   * @param[in] name The name to associated with `id`\n   */\n  named_category_in(id_type id, wchar_t const* name) noexcept : category{id}\n  {\n#ifndef NVTX_DISABLE\n    nvtxDomainNameCategoryW(domain::get<D>(), get_id(), name);\n#else\n    (void)id;\n    (void)name;\n#endif\n  };\n};\n\n/**\n * @brief Alias for a `named_category_in` in the global NVTX domain.\n *\n */\nusing named_category = named_category_in<domain::global>;\n\n/**\n * @brief A message registered with NVTX.\n *\n * Normally, associating a `message` with an NVTX event requires copying the\n * contents of the message string. This may cause non-trivial overhead in\n * highly performance sensitive regions of code.\n *\n * message registration is an optimization to lower the overhead of\n * associating a message with an NVTX event. Registering a message yields a\n * handle that is inexpensive to copy that may be used in place of a message\n * string.\n *\n * A particular message should only be registered once and the handle\n * reused throughout the rest of the application. This can be done by either\n * explicitly creating static `registered_string_in` objects, or using the\n * `registered_string_in::get` construct on first use helper (recommended).\n *\n * Example:\n * \\code{.cpp}\n * // Explicitly constructed, static `registered_string` in my_domain:\n * static registered_string_in<my_domain> static_message{\"message\"};\n *\n * // \"message\" is associated with the range `r`\n * nvtx3::scoped_range r{static_message};\n *\n * // Or use construct on first use:\n *\n * // Define a type with a `message` member that defines the contents of the\n * // registered string\n * struct my_message{ static constexpr char const* message{ \"my message\" }; };\n *\n * // Uses construct on first use to register the contents of\n * // `my_message::message`\n * auto& msg = registered_string_in<my_domain>::get<my_message>();\n *\n * // \"my message\" is associated with the range `r`\n * nvtx3::scoped_range r{msg};\n * \\endcode\n *\n * `registered_string_in`s are local to a particular domain specified via\n * the type `D`.\n *\n * @tparam D Type containing `name` member used to identify the `domain` to\n * which the `registered_string_in` belongs. Else, `domain::global` to indicate\n * that the global NVTX domain should be used.\n */\ntemplate <typename D = domain::global>\nclass registered_string_in {\n public:\n#if NVTX3_USE_CHECKED_OVERLOADS_FOR_GET\n  /**\n   * @brief Returns a global instance of a `registered_string_in` as a function\n   * local static.\n   *\n   * Provides a convenient way to register a message with NVTX without having\n   * to explicitly register the message.\n   *\n   * Upon first invocation, constructs a `registered_string_in` whose contents\n   * are specified by `message::message`.\n   *\n   * All future invocations will return a reference to the object constructed\n   * in the first invocation.\n   *\n   * Example:\n   * \\code{.cpp}\n   * // Define a type with a `message` member that defines the contents of the\n   * // registered string\n   * struct my_message{ static constexpr char const* message{ \"my message\" };\n   * };\n   *\n   * // Uses construct on first use to register the contents of\n   * // `my_message::message`\n   * auto& msg = registered_string_in<my_domain>::get<my_message>();\n   *\n   * // \"my message\" is associated with the range `r`\n   * nvtx3::scoped_range r{msg};\n   * \\endcode\n   *\n   * @tparam M Type required to contain a member `M::message` that\n   * resolves to either a `char const*` or `wchar_t const*` used as the\n   * registered string's contents.\n   * @return Reference to a `registered_string_in` associated with the type `M`.\n   */\n  template <typename M,\n    typename std::enable_if<\n      detail::is_c_string<decltype(M::message)>::value\n    , int>::type = 0>\n  static registered_string_in const& get() noexcept\n  {\n    static registered_string_in const regstr(M::message);\n    return regstr;\n  }\n\n  /**\n   * @brief Overload of `registered_string_in::get` to provide a clear compile error\n   * when `M` has a `message` member that is not directly convertible to either\n   * `char const*` or `wchar_t const*`.\n   */\n  template <typename M,\n    typename std::enable_if<\n      !detail::is_c_string<decltype(M::message)>::value\n    , int>::type = 0>\n  static registered_string_in const& get() noexcept\n  {\n    NVTX3_STATIC_ASSERT(detail::always_false<M>::value,\n      \"Type used to register an NVTX string must contain a static constexpr member \"\n      \"called 'message' of type const char* or const wchar_t* -- 'message' member is \"\n      \"not convertible to either of those types\");\n    static registered_string_in const unused;\n    return unused;  // Function must compile for static_assert to be triggered\n  }\n\n  /**\n   * @brief Overload of `registered_string_in::get` to provide a clear compile error when\n   * `M` does not have a `message` member.\n   */\n  template <typename M,\n    typename std::enable_if<\n      !detail::has_message<M>::value\n    , int>::type = 0>\n  static registered_string_in const& get() noexcept\n  {\n    NVTX3_STATIC_ASSERT(detail::always_false<M>::value,\n      \"Type used to register an NVTX string must contain a static constexpr member \"\n      \"called 'message' of type const char* or const wchar_t* -- 'message' member \"\n      \"is missing\");\n    static registered_string_in const unused;\n    return unused;  // Function must compile for static_assert to be triggered\n  }\n#else\n  template <typename M>\n  static registered_string_in const& get() noexcept\n  {\n    static registered_string_in const regstr(M::message);\n    return regstr;\n  }\n#endif\n\n  /**\n   * @brief Constructs a `registered_string_in` from the specified `msg` string.\n   *\n   * Registers `msg` with NVTX and associates a handle with the registered\n   * message.\n   *\n   * A particular message should should only be registered once and the handle\n   * reused throughout the rest of the application.\n   *\n   * @param msg The contents of the message\n   */\n  explicit registered_string_in(char const* msg) noexcept\n    : handle_{nvtxDomainRegisterStringA(domain::get<D>(), msg)}\n  {\n  }\n\n  /**\n   * @brief Constructs a `registered_string_in` from the specified `msg` string.\n   *\n   * Registers `msg` with NVTX and associates a handle with the registered\n   * message.\n   *\n   * A particular message should should only be registered once and the handle\n   * reused throughout the rest of the application.\n   *\n   * @param msg The contents of the message\n   */\n  explicit registered_string_in(std::string const& msg) noexcept\n    : registered_string_in{msg.c_str()} {}\n\n  /**\n   * @brief Constructs a `registered_string_in` from the specified `msg` string.\n   *\n   * Registers `msg` with NVTX and associates a handle with the registered\n   * message.\n   *\n   * A particular message should should only be registered once and the handle\n   * reused throughout the rest of the application.\n   *\n   * @param msg The contents of the message\n   */\n  explicit registered_string_in(wchar_t const* msg) noexcept\n    : handle_{nvtxDomainRegisterStringW(domain::get<D>(), msg)}\n  {\n  }\n\n  /**\n   * @brief Constructs a `registered_string_in` from the specified `msg` string.\n   *\n   * Registers `msg` with NVTX and associates a handle with the registered\n   * message.\n   *\n   * A particular message should only be registered once and the handle\n   * reused throughout the rest of the application.\n   *\n   * @param msg The contents of the message\n   */\n  explicit registered_string_in(std::wstring const& msg) noexcept\n    : registered_string_in{msg.c_str()} {}\n\n  /**\n   * @brief Returns the registered string's handle\n   *\n   */\n  nvtxStringHandle_t get_handle() const noexcept { return handle_; }\n\nprivate:\n  // Default constructor is only used internally for static_assert(false) cases.\n  registered_string_in() noexcept {};\npublic:\n  ~registered_string_in() = default;\n  registered_string_in(registered_string_in const&) = default;\n  registered_string_in& operator=(registered_string_in const&) = default;\n  registered_string_in(registered_string_in&&) = default;\n  registered_string_in& operator=(registered_string_in&&) = default;\n\n private:\n  nvtxStringHandle_t handle_{};  ///< The handle returned from\n                                 ///< registering the message with NVTX\n};\n\n/**\n * @brief Alias for a `registered_string_in` in the global NVTX domain.\n *\n */\nusing registered_string = registered_string_in<domain::global>;\n\n/**\n * @brief Allows associating a message string with an NVTX event via\n * its `EventAttribute`s.\n *\n * Associating a `message` with an NVTX event through its `event_attributes`\n * allows for naming events to easily differentiate them from other events.\n *\n * Every time an NVTX event is created with an associated `message`, the\n * contents of the message string must be copied.  This may cause non-trivial\n * overhead in highly performance sensitive sections of code. Use of a\n * `nvtx3::registered_string` is recommended in these situations.\n *\n * Example:\n * \\code{.cpp}\n * // Creates an `event_attributes` with message \"message 0\"\n * nvtx3::event_attributes attr0{nvtx3::message{\"message 0\"}};\n *\n * // `range0` contains message \"message 0\"\n * nvtx3::scoped_range range0{attr0};\n *\n * // `std::string` and string literals are implicitly assumed to be\n * // the contents of an `nvtx3::message`\n * // Creates an `event_attributes` with message \"message 1\"\n * nvtx3::event_attributes attr1{\"message 1\"};\n *\n * // `range1` contains message \"message 1\"\n * nvtx3::scoped_range range1{attr1};\n *\n * // `range2` contains message \"message 2\"\n * nvtx3::scoped_range range2{nvtx3::Mesage{\"message 2\"}};\n *\n * // `std::string` and string literals are implicitly assumed to be\n * // the contents of an `nvtx3::message`\n * // `range3` contains message \"message 3\"\n * nvtx3::scoped_range range3{\"message 3\"};\n * \\endcode\n */\nclass message {\n public:\n  using value_type = nvtxMessageValue_t;\n\n  /**\n   * @brief Construct a `message` whose contents are specified by `msg`.\n   *\n   * @param msg The contents of the message\n   */\n  NVTX3_CONSTEXPR_IF_CPP14 message(char const* msg) noexcept : type_{NVTX_MESSAGE_TYPE_ASCII}\n  {\n    value_.ascii = msg;\n  }\n\n  /**\n   * @brief Construct a `message` whose contents are specified by `msg`.\n   *\n   * @param msg The contents of the message\n   */\n  message(std::string const& msg) noexcept : message{msg.c_str()} {}\n\n  /**\n   * @brief Disallow construction for `std::string` r-value\n   *\n   * `message` is a non-owning type and therefore cannot take ownership of an\n   * r-value. Therefore, constructing from an r-value is disallowed to prevent\n   * a dangling pointer.\n   *\n   */\n  message(std::string&&) = delete;\n\n  /**\n   * @brief Construct a `message` whose contents are specified by `msg`.\n   *\n   * @param msg The contents of the message\n   */\n  NVTX3_CONSTEXPR_IF_CPP14 message(wchar_t const* msg) noexcept : type_{NVTX_MESSAGE_TYPE_UNICODE}\n  {\n    value_.unicode = msg;\n  }\n\n  /**\n   * @brief Construct a `message` whose contents are specified by `msg`.\n   *\n   * @param msg The contents of the message\n   */\n  message(std::wstring const& msg) noexcept : message{msg.c_str()} {}\n\n  /**\n   * @brief Disallow construction for `std::wstring` r-value\n   *\n   * `message` is a non-owning type and therefore cannot take ownership of an\n   * r-value. Therefore, constructing from an r-value is disallowed to prevent\n   * a dangling pointer.\n   *\n   */\n  message(std::wstring&&) = delete;\n\n  /**\n   * @brief Construct a `message` from a `registered_string_in`.\n   *\n   * @tparam D Type containing `name` member used to identify the `domain`\n   * to which the `registered_string_in` belongs. Else, `domain::global` to\n   * indicate that the global NVTX domain should be used.\n   * @param msg The message that has already been registered with NVTX.\n   */\n  template <typename D>\n  NVTX3_CONSTEXPR_IF_CPP14 message(registered_string_in<D> const& msg) noexcept\n    : type_{NVTX_MESSAGE_TYPE_REGISTERED}\n  {\n    value_.registered = msg.get_handle();\n  }\n\n  /**\n   * @brief Construct a `message` from NVTX C API type and value.\n   *\n   * @param type nvtxMessageType_t enum value indicating type of the payload\n   * @param value nvtxMessageValue_t union containing message\n   */\n  constexpr message(\n    nvtxMessageType_t const& type,\n    nvtxMessageValue_t const& value) noexcept\n    : type_{type}, value_(value)\n  {\n  }\n\n  /**\n   * @brief Construct a `message` from NVTX C API registered string handle.\n   *\n   * @param handle nvtxStringHandle_t value of registered string handle\n   */\n  NVTX3_CONSTEXPR_IF_CPP14 message(nvtxStringHandle_t handle) noexcept\n    : type_{NVTX_MESSAGE_TYPE_REGISTERED}\n  {\n    value_.registered = handle;\n  }\n\n  /**\n   * @brief Return the union holding the value of the message.\n   *\n   */\n  constexpr value_type get_value() const noexcept { return value_; }\n\n  /**\n   * @brief Return the type information about the value the union holds.\n   *\n   */\n  constexpr nvtxMessageType_t get_type() const noexcept { return type_; }\n\n private:\n  nvtxMessageType_t type_{};    ///< message type\n  nvtxMessageValue_t value_{};  ///< message contents\n};\n\n/**\n * @brief A numerical value that can be associated with an NVTX event via\n * its `event_attributes`.\n *\n * Example:\n * \\code{.cpp}\n * // Constructs a payload from the int32_t value 42\n * nvtx3:: event_attributes attr{nvtx3::payload{42}};\n *\n * // `range0` will have an int32_t payload of 42\n * nvtx3::scoped_range range0{attr};\n *\n * // range1 has double payload of 3.14\n * nvtx3::scoped_range range1{nvtx3::payload{3.14}};\n * \\endcode\n */\nclass payload {\n public:\n  using value_type = typename nvtxEventAttributes_v2::payload_t;\n\n  /**\n   * @brief Construct a `payload` from a signed, 8 byte integer.\n   *\n   * @param value Value to use as contents of the payload\n   */\n  NVTX3_CONSTEXPR_IF_CPP14 explicit payload(int64_t value) noexcept\n    : type_{NVTX_PAYLOAD_TYPE_INT64}, value_{}\n  {\n    value_.llValue = value;\n  }\n\n  /**\n   * @brief Construct a `payload` from a signed, 4 byte integer.\n   *\n   * @param value Value to use as contents of the payload\n   */\n  NVTX3_CONSTEXPR_IF_CPP14 explicit payload(int32_t value) noexcept\n    : type_{NVTX_PAYLOAD_TYPE_INT32}, value_{}\n  {\n    value_.iValue = value;\n  }\n\n  /**\n   * @brief Construct a `payload` from an unsigned, 8 byte integer.\n   *\n   * @param value Value to use as contents of the payload\n   */\n  NVTX3_CONSTEXPR_IF_CPP14 explicit payload(uint64_t value) noexcept\n    : type_{NVTX_PAYLOAD_TYPE_UNSIGNED_INT64}, value_{}\n  {\n    value_.ullValue = value;\n  }\n\n  /**\n   * @brief Construct a `payload` from an unsigned, 4 byte integer.\n   *\n   * @param value Value to use as contents of the payload\n   */\n  NVTX3_CONSTEXPR_IF_CPP14 explicit payload(uint32_t value) noexcept\n    : type_{NVTX_PAYLOAD_TYPE_UNSIGNED_INT32}, value_{}\n  {\n    value_.uiValue = value;\n  }\n\n  /**\n   * @brief Construct a `payload` from a single-precision floating point\n   * value.\n   *\n   * @param value Value to use as contents of the payload\n   */\n  NVTX3_CONSTEXPR_IF_CPP14 explicit payload(float value) noexcept\n    : type_{NVTX_PAYLOAD_TYPE_FLOAT}, value_{}\n  {\n    value_.fValue = value;\n  }\n\n  /**\n   * @brief Construct a `payload` from a double-precision floating point\n   * value.\n   *\n   * @param value Value to use as contents of the payload\n   */\n  NVTX3_CONSTEXPR_IF_CPP14 explicit payload(double value) noexcept\n    : type_{NVTX_PAYLOAD_TYPE_DOUBLE}, value_{}\n  {\n    value_.dValue = value;\n  }\n\n  /**\n   * @brief Construct a `payload` from NVTX C API type and value.\n   *\n   * @param type nvtxPayloadType_t enum value indicating type of the payload\n   * @param value nvtxEventAttributes_t::payload_t union containing payload\n   */\n  constexpr payload(\n    nvtxPayloadType_t const& type,\n    value_type const& value) noexcept\n    : type_{type}, value_(value)\n  {\n  }\n\n  /**\n   * @brief Return the union holding the value of the payload\n   *\n   */\n  constexpr value_type get_value() const noexcept { return value_; }\n\n  /**\n   * @brief Return the information about the type the union holds.\n   *\n   */\n  constexpr nvtxPayloadType_t get_type() const noexcept { return type_; }\n\n private:\n  nvtxPayloadType_t type_;  ///< Type of the payload value\n  value_type value_;        ///< Union holding the payload value\n};\n\n/**\n * @brief Describes the attributes of a NVTX event.\n *\n * NVTX events can be customized via four \"attributes\":\n *\n * - color:    color used to visualize the event in tools such as Nsight\n *             Systems. See `color`.\n * - message:  Custom message string. See `message`.\n * - payload:  User-defined numerical value. See `payload`.\n * - category: Intra-domain grouping. See `category`.\n *\n * These component attributes are specified via an `event_attributes` object.\n * See `nvtx3::color`, `nvtx3::message`, `nvtx3::payload`, and\n * `nvtx3::category` for how these individual attributes are constructed.\n *\n * While it is possible to specify all four attributes, it is common to want\n * to only specify a subset of attributes and use default values for the\n * others. For convenience, `event_attributes` can be constructed from any\n * number of attribute components in any order.\n *\n * Example:\n * \\code{.cpp}\n * // Set message, same as using nvtx3::message{\"message\"}\n * event_attributes attr{\"message\"};\n *\n * // Set message and color\n * event_attributes attr{\"message\", nvtx3::rgb{127, 255, 0}};\n *\n * // Set message, color, payload, category\n * event_attributes attr{\"message\",\n *                       nvtx3::rgb{127, 255, 0},\n *                       nvtx3::payload{42},\n *                       nvtx3::category{1}};\n *\n * // Same as above -- can use any order of arguments\n * event_attributes attr{nvtx3::payload{42},\n *                       nvtx3::category{1},\n *                       \"message\",\n *                       nvtx3::rgb{127, 255, 0}};\n *\n * // Multiple arguments of the same type are allowed, but only the first is\n * // used -- in this example, payload is set to 42:\n * event_attributes attr{ nvtx3::payload{42}, nvtx3::payload{7} };\n *\n * // Range `r` will be customized according the attributes in `attr`\n * nvtx3::scoped_range r{attr};\n *\n * // For convenience, `event_attributes` constructor arguments may be passed\n * // to the `scoped_range_in` contructor -- they are forwarded to the\n * // `event_attributes` constructor\n * nvtx3::scoped_range r{nvtx3::payload{42}, nvtx3::category{1}, \"message\"};\n *\n * // Using the nvtx3 namespace in a local scope makes the syntax more succinct:\n * using namespace nvtx3;\n * scoped_range r{payload{42}, category{1}, \"message\"};\n * \\endcode\n *\n */\nclass event_attributes {\n public:\n  using value_type = nvtxEventAttributes_t;\n\n  /**\n   * @brief Default constructor creates an `event_attributes` with no\n   * category, color, payload, nor message.\n   */\n  constexpr event_attributes() noexcept\n    : attributes_{\n        NVTX_VERSION,                   // version\n        sizeof(nvtxEventAttributes_t),  // size\n        0,                              // category\n        NVTX_COLOR_UNKNOWN,             // color type\n        0,                              // color value\n        NVTX_PAYLOAD_UNKNOWN,           // payload type\n        0,                              // reserved 4B\n        {0},                            // payload value (union)\n        NVTX_MESSAGE_UNKNOWN,           // message type\n        {0}                             // message value (union)\n      }\n  {\n  }\n\n  /**\n   * @brief Variadic constructor where the first argument is a `category`.\n   *\n   * Sets the value of the `EventAttribute`s category based on `c` and\n   * forwards the remaining variadic parameter pack to the next constructor.\n   *\n   */\n  template <typename... Args>\n  NVTX3_CONSTEXPR_IF_CPP14 explicit event_attributes(category const& c, Args const&... args) noexcept\n    : event_attributes(args...)\n  {\n    attributes_.category = c.get_id();\n  }\n\n  /**\n   * @brief Variadic constructor where the first argument is a `color`.\n   *\n   * Sets the value of the `EventAttribute`s color based on `c` and forwards\n   * the remaining variadic parameter pack to the next constructor.\n   *\n   */\n  template <typename... Args>\n  NVTX3_CONSTEXPR_IF_CPP14 explicit event_attributes(color const& c, Args const&... args) noexcept\n    : event_attributes(args...)\n  {\n    attributes_.color     = c.get_value();\n    attributes_.colorType = c.get_type();\n  }\n\n  /**\n   * @brief Variadic constructor where the first argument is a `payload`.\n   *\n   * Sets the value of the `EventAttribute`s payload based on `p` and forwards\n   * the remaining variadic parameter pack to the next constructor.\n   *\n   */\n  template <typename... Args>\n  NVTX3_CONSTEXPR_IF_CPP14 explicit event_attributes(payload const& p, Args const&... args) noexcept\n    : event_attributes(args...)\n  {\n    attributes_.payload     = p.get_value();\n    attributes_.payloadType = p.get_type();\n  }\n\n  /**\n   * @brief Variadic constructor where the first argument is a `message`.\n   *\n   * Sets the value of the `EventAttribute`s message based on `m` and forwards\n   * the remaining variadic parameter pack to the next constructor.\n   *\n   */\n  template <typename... Args>\n  NVTX3_CONSTEXPR_IF_CPP14 explicit event_attributes(message const& m, Args const&... args) noexcept\n    : event_attributes(args...)\n  {\n    attributes_.message     = m.get_value();\n    attributes_.messageType = m.get_type();\n  }\n\n  /**\n   * @brief Variadic constructor where the first argument is an extended payload.\n   *\n   * Sets the `ullValue` of the `EventAttribute`s payload and forwards\n   * the remaining variadic parameter pack to the next constructor.\n   *\n   */\n  template <typename... Args>\n  NVTX3_CONSTEXPR_IF_CPP14 explicit event_attributes(nvtxPayloadData_t const* p, Args const&... args) noexcept\n    : event_attributes(args...)\n  {\n    attributes_.payloadType = NVTX_PAYLOAD_TYPE_EXT;\n    attributes_.reserved0 = 1; // NCCL uses only a single binary payload per event.\n    attributes_.payload.ullValue = NVTX_POINTER_AS_PAYLOAD_ULLVALUE(p);\n  }\n\n  ~event_attributes() = default;\n  event_attributes(event_attributes const&) = default;\n  event_attributes& operator=(event_attributes const&) = default;\n  event_attributes(event_attributes&&) = default;\n  event_attributes& operator=(event_attributes&&) = default;\n\n  /**\n   * @brief Get raw pointer to underlying NVTX attributes object.\n   *\n   */\n  constexpr value_type const* get() const noexcept { return &attributes_; }\n\n private:\n  value_type attributes_{};  ///< The NVTX attributes structure\n};\n\n/**\n * @brief A RAII object for creating a NVTX range local to a thread within a\n * domain.\n *\n * When constructed, begins a nested NVTX range on the calling thread in the\n * specified domain. Upon destruction, ends the NVTX range.\n *\n * Behavior is undefined if a `scoped_range_in` object is\n * created/destroyed on different threads.\n *\n * `scoped_range_in` is neither moveable nor copyable.\n *\n * `scoped_range_in`s may be nested within other ranges.\n *\n * The domain of the range is specified by the template type parameter `D`.\n * By default, the `domain::global` is used, which scopes the range to the\n * global NVTX domain. The convenience alias `scoped_range` is provided for\n * ranges scoped to the global domain.\n *\n * A custom domain can be defined by creating a type, `D`, with a static\n * member `D::name` whose value is used to name the domain associated with\n * `D`. `D::name` must resolve to either `char const*` or `wchar_t const*`\n *\n * Example:\n * \\code{.cpp}\n * // Define a type `my_domain` with a member `name` used to name the domain\n * // associated with the type `my_domain`.\n * struct my_domain{\n *    static constexpr char const* name{\"my domain\"};\n * };\n * \\endcode\n *\n * Usage:\n * \\code{.cpp}\n * nvtx3::scoped_range_in<my_domain> r1{\"range 1\"}; // Range in my domain\n *\n * // Three equivalent ways to make a range in the global domain:\n * nvtx3::scoped_range_in<nvtx3::domain::global> r2{\"range 2\"};\n * nvtx3::scoped_range_in<> r3{\"range 3\"};\n * nvtx3::scoped_range r4{\"range 4\"};\n *\n * // Create an alias to succinctly make ranges in my domain:\n * using my_scoped_range = nvtx3::scoped_range_in<my_domain>;\n *\n * my_scoped_range r3{\"range 3\"};\n * \\endcode\n */\ntemplate <class D = domain::global>\nclass scoped_range_in {\n public:\n  /**\n   * @brief Construct a `scoped_range_in` with the specified\n   * `event_attributes`\n   *\n   * Example:\n   * \\code{cpp}\n   * nvtx3::event_attributes attr{\"msg\", nvtx3::rgb{127,255,0}};\n   * nvtx3::scoped_range range{attr}; // Creates a range with message contents\n   *                                  // \"msg\" and green color\n   * \\endcode\n   *\n   * @param[in] attr `event_attributes` that describes the desired attributes\n   * of the range.\n   */\n  explicit scoped_range_in(event_attributes const& attr) noexcept\n  {\n#ifndef NVTX_DISABLE\n    nvtxDomainRangePushEx(domain::get<D>(), attr.get());\n#else\n    (void)attr;\n#endif\n  }\n\n  /**\n   * @brief Constructs a `scoped_range_in` from the constructor arguments\n   * of an `event_attributes`.\n   *\n   * Forwards the arguments `args...` to construct an\n   * `event_attributes` object. The `event_attributes` object is then\n   * associated with the `scoped_range_in`.\n   *\n   * For more detail, see `event_attributes` documentation.\n   *\n   * Example:\n   * \\code{cpp}\n   * // Creates a range with message \"message\" and green color\n   * nvtx3::scoped_range r{\"message\", nvtx3::rgb{127,255,0}};\n   * \\endcode\n   *\n   * @param[in] args Arguments to used to construct an `event_attributes` associated with this\n   * range.\n   *\n   */\n  template <typename... Args>\n  explicit scoped_range_in(Args const&... args) noexcept\n    : scoped_range_in{event_attributes{args...}}\n  {\n  }\n\n  /**\n   * @brief Default constructor creates a `scoped_range_in` with no\n   * message, color, payload, nor category.\n   *\n   */\n  scoped_range_in() noexcept : scoped_range_in{event_attributes{}} {}\n\n  /**\n   * @brief Delete `operator new` to disallow heap allocated objects.\n   *\n   * `scoped_range_in` must follow RAII semantics to guarantee proper push/pop semantics.\n   *\n   */\n  void* operator new(std::size_t) = delete;\n\n  scoped_range_in(scoped_range_in const&) = delete;\n  scoped_range_in& operator=(scoped_range_in const&) = delete;\n  scoped_range_in(scoped_range_in&&) = delete;\n  scoped_range_in& operator=(scoped_range_in&&) = delete;\n\n  /**\n   * @brief Destroy the scoped_range_in, ending the NVTX range event.\n   */\n  ~scoped_range_in() noexcept\n  {\n#ifndef NVTX_DISABLE\n    nvtxDomainRangePop(domain::get<D>());\n#endif\n  }\n};\n\n/**\n * @brief Alias for a `scoped_range_in` in the global NVTX domain.\n *\n */\nusing scoped_range = scoped_range_in<domain::global>;\n\nnamespace detail {\n\n/// @cond internal\ntemplate <typename D = domain::global>\nclass optional_scoped_range_in\n{\npublic:\n  optional_scoped_range_in() = default;\n\n  void begin(event_attributes const& attr) noexcept\n  {\n#ifndef NVTX_DISABLE\n    // This class is not meant to be part of the public NVTX C++ API and should\n    // only be used in the `NVTX3_FUNC_RANGE_IF` and `NVTX3_FUNC_RANGE_IF_IN`\n    // macros. However, to prevent developers from misusing this class, make\n    // sure to not start multiple ranges.\n    if (initialized) { return; }\n\n    nvtxDomainRangePushEx(domain::get<D>(), attr.get());\n    initialized = true;\n#endif\n  }\n\n  ~optional_scoped_range_in() noexcept\n  {\n#ifndef NVTX_DISABLE\n    if (initialized) { nvtxDomainRangePop(domain::get<D>()); }\n#endif\n  }\n\n  void* operator new(std::size_t) = delete;\n  optional_scoped_range_in(optional_scoped_range_in const&) = delete;\n  optional_scoped_range_in& operator=(optional_scoped_range_in const&) = delete;\n  optional_scoped_range_in(optional_scoped_range_in&&) = delete;\n  optional_scoped_range_in& operator=(optional_scoped_range_in&&) = delete;\n\nprivate:\n#ifndef NVTX_DISABLE\n  bool initialized = false;\n#endif\n};\n/// @endcond\n\n} // namespace detail\n\n/**\n * @brief Handle used for correlating explicit range start and end events.\n *\n * A handle is \"null\" if it does not correspond to any range.\n *\n */\nstruct range_handle {\n  /// Type used for the handle's value\n  using value_type = nvtxRangeId_t;\n\n\n  /**\n   * @brief Construct a `range_handle` from the given id.\n   *\n   */\n  constexpr explicit range_handle(value_type id) noexcept : _range_id{id} {}\n\n  /**\n   * @brief Constructs a null range handle.\n   *\n   * A null range_handle corresponds to no range. Calling `end_range` on a\n   * null handle is undefined behavior when a tool is active.\n   *\n   */\n  constexpr range_handle() noexcept = default;\n\n  /**\n   * @brief Checks whether this handle is null\n   *\n   * Provides contextual conversion to `bool`.\n   *\n   * \\code{cpp}\n   * range_handle handle{};\n   * if (handle) {...}\n   * \\endcode\n   *\n   */\n  constexpr explicit operator bool() const noexcept { return get_value() != null_range_id; };\n\n  /**\n   * @brief Implicit conversion from `nullptr` constructs a null handle.\n   *\n   * Satisfies the \"NullablePointer\" requirement to make `range_handle` comparable with `nullptr`.\n   *\n   */\n  constexpr range_handle(std::nullptr_t) noexcept {}\n\n  /**\n   * @brief Returns the `range_handle`'s value\n   *\n   * @return value_type The handle's value\n   */\n  constexpr value_type get_value() const noexcept { return _range_id; }\n\n private:\n  /// Sentinel value for a null handle that corresponds to no range\n  static constexpr value_type null_range_id = nvtxRangeId_t{0};\n\n  value_type _range_id{null_range_id};  ///< The underlying NVTX range id\n};\n\n/**\n * @brief Compares two range_handles for equality\n *\n * @param lhs The first range_handle to compare\n * @param rhs The second range_handle to compare\n */\ninline constexpr bool operator==(range_handle lhs, range_handle rhs) noexcept\n{\n  return lhs.get_value() == rhs.get_value();\n}\n\n/**\n * @brief Compares two range_handles for inequality\n *\n * @param lhs The first range_handle to compare\n * @param rhs The second range_handle to compare\n */\ninline constexpr bool operator!=(range_handle lhs, range_handle rhs) noexcept { return !(lhs == rhs); }\n\n/**\n * @brief Manually begin an NVTX range.\n *\n * Explicitly begins an NVTX range and returns a unique handle. To end the\n * range, pass the handle to `end_range_in<D>()`.\n *\n * `nvtx3::start_range(...)` is equivalent to `nvtx3::start_range_in<>(...)` and\n * `nvtx3::start_range_in<nvtx3::domain::global>(...)`.\n *\n * `start_range_in/end_range_in` are the most explicit and lowest level APIs\n * provided for creating ranges.  Use of `nvtx3::unique_range_in` should be\n * preferred unless one is unable to tie the range to the lifetime of an object.\n *\n * Example:\n * \\code{.cpp}\n * nvtx3::event_attributes attr{\"msg\", nvtx3::rgb{127,255,0}};\n * // Manually begin a range\n * nvtx3::range_handle h = nvtx3::start_range_in<my_domain>(attr);\n * ...\n * nvtx3::end_range_in<my_domain>(h); // End the range\n * \\endcode\n *\n * @tparam D Type containing `name` member used to identify the `domain`\n * to which the range belongs. Else, `domain::global` to indicate that the\n * global NVTX domain should be used.\n * @param[in] attr `event_attributes` that describes the desired attributes\n * of the range.\n * @return Unique handle to be passed to `end_range_in` to end the range.\n */\ntemplate <typename D = domain::global>\ninline range_handle start_range_in(event_attributes const& attr) noexcept\n{\n#ifndef NVTX_DISABLE\n  return range_handle{nvtxDomainRangeStartEx(domain::get<D>(), attr.get())};\n#else\n  (void)attr;\n  return {};\n#endif\n}\n\n/**\n * @brief Manually begin an NVTX range.\n *\n * Explicitly begins an NVTX range and returns a unique handle. To end the\n * range, pass the handle to `end_range_in<D>()`.\n *\n * `nvtx3::start_range(...)` is equivalent to `nvtx3::start_range_in<>(...)` and\n * `nvtx3::start_range_in<nvtx3::domain::global>(...)`.\n *\n * `start_range_in/end_range_in` are the most explicit and lowest level APIs\n * provided for creating ranges.  Use of `nvtx3::unique_range_in` should be\n * preferred unless one is unable to tie the range to the lifetime of an object.\n *\n * This overload uses `args...` to construct an  `event_attributes` to\n * associate with the range.  For more detail, see `event_attributes`.\n *\n * Example:\n * \\code{cpp}\n * // Manually begin a range\n * nvtx3::range_handle h = nvtx3::start_range_in<D>(\"msg\", nvtx3::rgb{127,255,0});\n * ...\n * nvtx3::end_range_in<D>(h); // Ends the range\n * \\endcode\n *\n * @tparam D Type containing `name` member used to identify the `domain`\n * to which the range belongs. Else, `domain::global` to indicate that the\n * global NVTX domain should be used.\n * @param args[in] Variadic parameter pack of the arguments for an `event_attributes`.\n * @return Unique handle to be passed to `end_range` to end the range.\n */\ntemplate <typename D = domain::global, typename... Args>\ninline range_handle start_range_in(Args const&... args) noexcept\n{\n#ifndef NVTX_DISABLE\n  return start_range_in<D>(event_attributes{args...});\n#else\n  return {};\n#endif\n}\n\n/**\n * @brief Manually begin an NVTX range in the global domain.\n *\n * Explicitly begins an NVTX range and returns a unique handle. To end the\n * range, pass the handle to `end_range()`.\n *\n * `nvtx3::start_range(...)` is equivalent to `nvtx3::start_range_in<>(...)` and\n * `nvtx3::start_range_in<nvtx3::domain::global>(...)`.\n *\n * `start_range/end_range` are the most explicit and lowest level APIs\n * provided for creating ranges.  Use of `nvtx3::unique_range` should be\n * preferred unless one is unable to tie the range to the lifetime of an object.\n *\n * Example:\n * \\code{.cpp}\n * nvtx3::event_attributes attr{\"msg\", nvtx3::rgb{127,255,0}};\n * // Manually begin a range\n * nvtx3::range_handle h = nvtx3::start_range(attr);\n * ...\n * nvtx3::end_range(h); // End the range\n * \\endcode\n *\n * @param[in] attr `event_attributes` that describes the desired attributes\n * of the range.\n * @return Unique handle to be passed to `end_range_in` to end the range.\n */\ninline range_handle start_range(event_attributes const& attr) noexcept\n{\n#ifndef NVTX_DISABLE\n  return start_range_in<domain::global>(attr);\n#else\n  (void)attr;\n  return {};\n#endif\n}\n\n/**\n * @brief Manually begin an NVTX range in the global domain.\n *\n * Explicitly begins an NVTX range and returns a unique handle. To end the\n * range, pass the handle to `end_range_in<D>()`.\n *\n * `nvtx3::start_range(...)` is equivalent to `nvtx3::start_range_in<>(...)` and\n * `nvtx3::start_range_in<nvtx3::domain::global>(...)`.\n *\n * `start_range_in/end_range_in` are the most explicit and lowest level APIs\n * provided for creating ranges.  Use of `nvtx3::unique_range_in` should be\n * preferred unless one is unable to tie the range to the lifetime of an object.\n *\n * This overload uses `args...` to construct an  `event_attributes` to\n * associate with the range.  For more detail, see `event_attributes`.\n *\n * Example:\n * \\code{cpp}\n * // Manually begin a range\n * nvtx3::range_handle h = nvtx3::start_range(\"msg\", nvtx3::rgb{127,255,0});\n * ...\n * nvtx3::end_range(h); // Ends the range\n * \\endcode\n *\n * @param args[in] Variadic parameter pack of the arguments for an `event_attributes`.\n * @return Unique handle to be passed to `end_range` to end the range.\n */\ntemplate <typename... Args>\ninline range_handle start_range(Args const&... args) noexcept\n{\n#ifndef NVTX_DISABLE\n  return start_range_in<domain::global>(args...);\n#else\n  return {};\n#endif\n}\n\n/**\n * @brief Manually end the range associated with the handle `r` in domain `D`.\n *\n * Explicitly ends the NVTX range indicated by the handle `r` returned from a\n * prior call to `start_range_in<D>`. The range may end on a different thread\n * from where it began.\n *\n * @tparam D Type containing `name` member used to identify the `domain` to\n * which the range belongs. Else, `domain::global` to indicate that the global\n * NVTX domain should be used.\n * @param r Handle to a range started by a prior call to `start_range_in`.\n *\n * @warning The domain type specified as template parameter to this function\n * must be the same that was specified on the associated `start_range_in` call.\n */\ntemplate <typename D = domain::global>\ninline void end_range_in(range_handle r) noexcept\n{\n#ifndef NVTX_DISABLE\n  nvtxDomainRangeEnd(domain::get<D>(), r.get_value());\n#else\n  (void)r;\n#endif\n}\n\n/**\n * @brief Manually end the range associated with the handle `r` in the global\n * domain.\n *\n * Explicitly ends the NVTX range indicated by the handle `r` returned from a\n * prior call to `start_range`. The range may end on a different thread from\n * where it began.\n *\n * @param r Handle to a range started by a prior call to `start_range`.\n *\n * @warning The domain type specified as template parameter to this function\n * must be the same that was specified on the associated `start_range` call.\n */\ninline void end_range(range_handle r) noexcept\n{\n#ifndef NVTX_DISABLE\n  end_range_in<domain::global>(r);\n#else\n  (void)r;\n#endif\n}\n\n/**\n * @brief A RAII object for creating a NVTX range within a domain that can\n * be created and destroyed on different threads.\n *\n * When constructed, begins a NVTX range in the specified domain. Upon\n * destruction, ends the NVTX range.\n *\n * Similar to `nvtx3::scoped_range_in`, with a few key differences:\n * - `unique_range` objects can be destroyed in an order whereas `scoped_range` objects must be\n *    destroyed in exact reverse creation order\n * - `unique_range` can start and end on different threads\n * - `unique_range` is moveable\n * - `unique_range` objects can be constructed as heap objects\n *\n * There is extra overhead associated with `unique_range` constructs and therefore use of\n * `nvtx3::scoped_range_in` should be preferred.\n *\n * @tparam D Type containing `name` member used to identify the `domain`\n * to which the `unique_range_in` belongs. Else, `domain::global` to\n * indicate that the global NVTX domain should be used.\n */\ntemplate <typename D = domain::global>\nclass unique_range_in {\n public:\n  /**\n   * @brief Construct a new unique_range_in object with the specified event attributes\n   *\n   * Example:\n   * \\code{cpp}\n   * nvtx3::event_attributes attr{\"msg\", nvtx3::rgb{127,255,0}};\n   * nvtx3::unique_range_in<my_domain> range{attr}; // Creates a range with message contents\n   *                                            // \"msg\" and green color\n   * \\endcode\n   *\n   * @param[in] attr `event_attributes` that describes the desired attributes\n   * of the range.\n   */\n  explicit unique_range_in(event_attributes const& attr) noexcept\n    : handle_{start_range_in<D>(attr)}\n  {\n  }\n\n  /**\n   * @brief Constructs a `unique_range_in` from the constructor arguments\n   * of an `event_attributes`.\n   *\n   * Forwards the arguments `args...` to construct an\n   * `event_attributes` object. The `event_attributes` object is then\n   * associated with the `unique_range_in`.\n   *\n   * For more detail, see `event_attributes` documentation.\n   *\n   * Example:\n   * \\code{.cpp}\n   * // Creates a range with message \"message\" and green color\n   * nvtx3::unique_range_in<> r{\"message\", nvtx3::rgb{127,255,0}};\n   * \\endcode\n   *\n   * @param[in] args Variadic parameter pack of arguments to construct an `event_attributes`\n   * associated with this range.\n   */\n  template <typename... Args>\n  explicit unique_range_in(Args const&... args) noexcept\n    : unique_range_in{event_attributes{args...}}\n  {\n  }\n\n  /**\n   * @brief Default constructor creates a `unique_range_in` with no\n   * message, color, payload, nor category.\n   *\n   */\n  constexpr unique_range_in() noexcept : unique_range_in{event_attributes{}} {}\n\n  /**\n   * @brief Destroy the `unique_range_in` ending the range.\n   *\n   */\n  ~unique_range_in() noexcept = default;\n\n  /**\n   * @brief Move constructor allows taking ownership of the NVTX range from\n   * another `unique_range_in`.\n   *\n   * @param other The range to take ownership of\n   */\n  unique_range_in(unique_range_in&& other) noexcept = default;\n\n  /**\n   * @brief Move assignment operator allows taking ownership of an NVTX range\n   * from another `unique_range_in`.\n   *\n   * @param other The range to take ownership of\n   */\n  unique_range_in& operator=(unique_range_in&& other) noexcept = default;\n\n  /// Copy construction is not allowed to prevent multiple objects from owning\n  /// the same range handle\n  unique_range_in(unique_range_in const&) = delete;\n\n  /// Copy assignment is not allowed to prevent multiple objects from owning the\n  /// same range handle\n  unique_range_in& operator=(unique_range_in const&) = delete;\n\n private:\n\n  struct end_range_handle {\n    using pointer = range_handle;  /// Override the pointer type of the unique_ptr\n    void operator()(range_handle h) const noexcept { end_range_in<D>(h); }\n  };\n\n  /// Range handle used to correlate the start/end of the range\n  std::unique_ptr<range_handle, end_range_handle> handle_;\n};\n\n/**\n * @brief Alias for a `unique_range_in` in the global NVTX domain.\n *\n */\nusing unique_range = unique_range_in<domain::global>;\n\n/**\n * @brief Annotates an instantaneous point in time with a \"marker\", using the\n * attributes specified by `attr`.\n *\n * Unlike a \"range\" which has a beginning and an end, a marker is a single event\n * in an application, such as detecting a problem:\n *\n * \\code{.cpp}\n * bool success = do_operation(...);\n * if (!success) {\n *    nvtx3::event_attributes attr{\"operation failed!\", nvtx3::rgb{255,0,0}};\n *    nvtx3::mark_in<my_domain>(attr);\n * }\n * \\endcode\n *\n * Note that nvtx3::mark_in<D> is a function, not a class like scoped_range_in<D>.\n *\n * @tparam D Type containing `name` member used to identify the `domain`\n * to which the `unique_range_in` belongs. Else, `domain::global` to\n * indicate that the global NVTX domain should be used.\n * @param[in] attr `event_attributes` that describes the desired attributes\n * of the mark.\n */\ntemplate <typename D = domain::global>\ninline void mark_in(event_attributes const& attr) noexcept\n{\n#ifndef NVTX_DISABLE\n  nvtxDomainMarkEx(domain::get<D>(), attr.get());\n#else\n  (void)(attr);\n#endif\n}\n\n/**\n * @brief Annotates an instantaneous point in time with a \"marker\", using the\n * arguments to construct an `event_attributes`.\n *\n * Unlike a \"range\" which has a beginning and an end, a marker is a single event\n * in an application, such as detecting a problem:\n *\n * \\code{.cpp}\n * bool success = do_operation(...);\n * if (!success) {\n *    nvtx3::mark_in<my_domain>(\"operation failed!\", nvtx3::rgb{255,0,0});\n * }\n * \\endcode\n *\n * Note that nvtx3::mark_in<D> is a function, not a class like scoped_range_in<D>.\n *\n * Forwards the arguments `args...` to construct an `event_attributes` object.\n * The attributes are then associated with the marker. For more detail, see\n * the `event_attributes` documentation.\n *\n * @tparam D Type containing `name` member used to identify the `domain`\n * to which the `unique_range_in` belongs. Else `domain::global` to\n * indicate that the global NVTX domain should be used.\n * @param[in] args Variadic parameter pack of arguments to construct an `event_attributes`\n * associated with this range.\n *\n */\ntemplate <typename D = domain::global, typename... Args>\ninline void mark_in(Args const&... args) noexcept\n{\n#ifndef NVTX_DISABLE\n  mark_in<D>(event_attributes{args...});\n#endif\n}\n\n/**\n * @brief Annotates an instantaneous point in time with a \"marker\", using the\n * attributes specified by `attr`, in the global domain.\n *\n * Unlike a \"range\" which has a beginning and an end, a marker is a single event\n * in an application, such as detecting a problem:\n *\n * \\code{.cpp}\n * bool success = do_operation(...);\n * if (!success) {\n *    nvtx3::event_attributes attr{\"operation failed!\", nvtx3::rgb{255,0,0}};\n *    nvtx3::mark(attr);\n * }\n * \\endcode\n *\n * Note that nvtx3::mark is a function, not a class like scoped_range.\n *\n * @param[in] attr `event_attributes` that describes the desired attributes\n * of the mark.\n */\ninline void mark(event_attributes const& attr) noexcept\n{\n#ifndef NVTX_DISABLE\n  mark_in<domain::global>(attr);\n#endif\n}\n\n/**\n * @brief Annotates an instantaneous point in time with a \"marker\", using the\n * arguments to construct an `event_attributes`, in the global domain.\n *\n * Unlike a \"range\" which has a beginning and an end, a marker is a single event\n * in an application, such as detecting a problem:\n *\n * \\code{.cpp}\n * bool success = do_operation(...);\n * if (!success) {\n *    nvtx3::mark(\"operation failed!\", nvtx3::rgb{255,0,0});\n * }\n * \\endcode\n *\n * Note that nvtx3::mark is a function, not a class like scoped_range.\n *\n * Forwards the arguments `args...` to construct an `event_attributes` object.\n * The attributes are then associated with the marker. For more detail, see\n * the `event_attributes` documentation.\n *\n * @param[in] args Variadic parameter pack of arguments to construct an\n * `event_attributes` associated with this range.\n *\n */\ntemplate <typename... Args>\ninline void mark(Args const&... args) noexcept\n{\n#ifndef NVTX_DISABLE\n  mark_in<domain::global>(args...);\n#endif\n}\n\n}  // namespace NVTX3_VERSION_NAMESPACE\n\n}  // namespace nvtx3\n\n#ifndef NVTX_DISABLE\n/**\n * @brief Convenience macro for generating a range in the specified `domain`\n * from the lifetime of a function\n *\n * This macro is useful for generating an NVTX range in `domain` from\n * the entry point of a function to its exit. It is intended to be the first\n * line of the function.\n *\n * Constructs a static `registered_string_in` using the name of the immediately\n * enclosing function returned by `__func__` and constructs a\n * `nvtx3::scoped_range` using the registered function name as the range's\n * message.\n *\n * Example:\n * \\code{.cpp}\n * struct my_domain{static constexpr char const* name{\"my_domain\"};};\n *\n * void foo(...) {\n *    NVTX3_FUNC_RANGE_IN(my_domain); // Range begins on entry to foo()\n *    // do stuff\n *    ...\n * } // Range ends on return from foo()\n * \\endcode\n *\n * @param[in] D Type containing `name` member used to identify the\n * `domain` to which the `registered_string_in` belongs. Else,\n * `domain::global` to  indicate that the global NVTX domain should be used.\n */\n#if !defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__)\n#define NVTX3_V1_FUNC_RANGE_IN(D)                                                  \\\n  static ::nvtx3::v1::registered_string_in<D> const nvtx3_func_name__{__func__};   \\\n  static ::nvtx3::v1::event_attributes const nvtx3_func_attr__{nvtx3_func_name__}; \\\n  ::nvtx3::v1::scoped_range_in<D> const nvtx3_range__{nvtx3_func_attr__};\n#else\n#define NVTX3_V1_FUNC_RANGE_IN(D) \\\n  roctx_scoped_range_in const roctx_range__{__func__};\n#endif\n\n/**\n * @brief Convenience macro for generating a range in the specified `domain`\n * from the lifetime of a function if the given boolean expression evaluates\n * to true.\n *\n * Similar to `NVTX3_V1_FUNC_RANGE_IN(D)`, the only difference being that\n * `NVTX3_V1_FUNC_RANGE_IF_IN(D, C)` only generates a range if the given boolean\n * expression evaluates to true.\n *\n * @param[in] D Type containing `name` member used to identify the\n * `domain` to which the `registered_string_in` belongs. Else,\n * `domain::global` to indicate that the global NVTX domain should be used.\n *\n * @param[in] C Boolean expression used to determine if a range should be\n * generated.\n */\n#define NVTX3_V1_FUNC_RANGE_IF_IN(D, C) \\\n  ::nvtx3::v1::detail::optional_scoped_range_in<D> optional_nvtx3_range__;           \\\n  if (C) {                                                                           \\\n    static ::nvtx3::v1::registered_string_in<D> const nvtx3_func_name__{__func__};   \\\n    static ::nvtx3::v1::event_attributes const nvtx3_func_attr__{nvtx3_func_name__}; \\\n    optional_nvtx3_range__.begin(nvtx3_func_attr__);                                 \\\n  }\n#else\n#define NVTX3_V1_FUNC_RANGE_IN(D)\n#define NVTX3_V1_FUNC_RANGE_IF_IN(D, C)\n#endif  // NVTX_DISABLE\n\n/**\n * @brief Convenience macro for generating a range in the global domain from the\n * lifetime of a function.\n *\n * This macro is useful for generating an NVTX range in the global domain from\n * the entry point of a function to its exit. It is intended to be the first\n * line of the function.\n *\n * Constructs a static `registered_string_in` using the name of the immediately\n * enclosing function returned by `__func__` and constructs a\n * `nvtx3::scoped_range` using the registered function name as the range's\n * message.\n *\n * Example:\n * \\code{.cpp}\n * void foo(...) {\n *    NVTX3_FUNC_RANGE(); // Range begins on entry to foo()\n *    // do stuff\n *    ...\n * } // Range ends on return from foo()\n * \\endcode\n */\n#define NVTX3_V1_FUNC_RANGE() NVTX3_V1_FUNC_RANGE_IN(::nvtx3::v1::domain::global)\n\n/**\n * @brief Convenience macro for generating a range in the global domain from the\n * lifetime of a function if the given boolean expression evaluates to true.\n *\n * Similar to `NVTX3_V1_FUNC_RANGE()`, the only difference being that\n * `NVTX3_V1_FUNC_RANGE_IF(C)` only generates a range if the given boolean\n * expression evaluates to true.\n *\n * @param[in] C Boolean expression used to determine if a range should be\n * generated.\n */\n#define NVTX3_V1_FUNC_RANGE_IF(C) NVTX3_V1_FUNC_RANGE_IF_IN(::nvtx3::v1::domain::global, C)\n\n/* When inlining this version, versioned macros must have unversioned aliases.\n * For each NVTX3_Vx_ #define, make an NVTX3_ alias of it here.*/\n#if defined(NVTX3_INLINE_THIS_VERSION)\n/* clang format off */\n#define NVTX3_FUNC_RANGE       NVTX3_V1_FUNC_RANGE\n#define NVTX3_FUNC_RANGE_IF    NVTX3_V1_FUNC_RANGE_IF\n#define NVTX3_FUNC_RANGE_IN    NVTX3_V1_FUNC_RANGE_IN\n#define NVTX3_FUNC_RANGE_IF_IN NVTX3_V1_FUNC_RANGE_IF_IN\n/* clang format on */\n#endif\n\n#endif  // NVTX3_CPP_DEFINITIONS_V1_0\n\n/* Add functionality for new minor versions here, by copying the above section enclosed\n * in #ifndef NVTX3_CPP_DEFINITIONS_Vx_y, and incrementing the minor version.  This code\n * is an example of how additions for version 1.2 would look, indented for clarity.  Note\n * that the versioned symbols and macros are always provided, and the unversioned symbols\n * are only provided if NVTX3_INLINE_THIS_VERSION was defined at the top of this header.\n *\n * \\code{.cpp}\n * #ifndef NVTX3_CPP_DEFINITIONS_V1_2\n * #define NVTX3_CPP_DEFINITIONS_V1_2\n *     namespace nvtx3 {\n *         NVTX3_INLINE_IF_REQUESTED namespace NVTX3_VERSION_NAMESPACE {\n *             class new_class {};\n *             inline void new_function() {}\n *         }\n *     }\n *\n *     // Macros must have the major version in their names:\n *     #define NVTX3_V1_NEW_MACRO_A() ...\n *     #define NVTX3_V1_NEW_MACRO_B() ...\n *\n *     // If inlining, make aliases for the macros with the version number omitted\n *     #if defined(NVTX3_INLINE_THIS_VERSION)\n *         #define NVTX3_NEW_MACRO_A NVTX3_V1_NEW_MACRO_A\n *         #define NVTX3_NEW_MACRO_B NVTX3_V1_NEW_MACRO_B\n *     #endif\n * #endif // NVTX3_CPP_DEFINITIONS_V1_2\n * \\endcode\n */\n\n/* Undefine all temporarily-defined unversioned macros, which would conflict with\n * subsequent includes of different versions of this header. */\n#undef NVTX3_CPP_VERSION_MAJOR\n#undef NVTX3_CPP_VERSION_MINOR\n#undef NVTX3_CONCAT\n#undef NVTX3_NAMESPACE_FOR\n#undef NVTX3_VERSION_NAMESPACE\n#undef NVTX3_INLINE_IF_REQUESTED\n#undef NVTX3_CONSTEXPR_IF_CPP14\n\n#if defined(NVTX3_INLINE_THIS_VERSION)\n#undef NVTX3_INLINE_THIS_VERSION\n#endif\n\n#if defined(NVTX3_USE_CHECKED_OVERLOADS_FOR_GET_DEFINED_HERE)\n#undef NVTX3_USE_CHECKED_OVERLOADS_FOR_GET_DEFINED_HERE\n#undef NVTX3_USE_CHECKED_OVERLOADS_FOR_GET\n#endif\n\n#if defined(NVTX3_STATIC_ASSERT_DEFINED_HERE)\n#undef NVTX3_STATIC_ASSERT_DEFINED_HERE\n#undef NVTX3_STATIC_ASSERT\n#endif\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxExtHelperMacros.h",
    "content": "/*\n* Copyright 2023  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_EXT_HELPER_MACROS_H\n#define NVTX_EXT_HELPER_MACROS_H\n\n/* Combine tokens */\n#define _NVTX_EXT_CONCAT(a, b) a##b\n#define NVTX_EXT_CONCAT(a, b) _NVTX_EXT_CONCAT(a, b)\n\n/* Resolves to the number of arguments passed. */\n#define NVTX_EXT_NUM_ARGS(...) \\\n    NVTX_EXT_SELECTA16(__VA_ARGS__, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, throwaway)\n#define NVTX_EXT_SELECTA16(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, ...) a16\n\n/* Cast argument(s) to void to prevent unused variable warnings. */\n#define _NVTX_EXT_VOIDIFY1(a1) (void)a1;\n#define _NVTX_EXT_VOIDIFY2(a1, a2) (void)a1; (void)a2;\n#define _NVTX_EXT_VOIDIFY3(a1, a2, a3) (void)a1; (void)a2; (void)a3;\n#define _NVTX_EXT_VOIDIFY4(a1, a2, a3, a4) (void)a1; (void)a2; (void)a3; (void)a4;\n\n/* Mark function arguments as unused. */\n#define NVTX_EXT_HELPER_UNUSED_ARGS(...) \\\n    NVTX_EXT_CONCAT(_NVTX_EXT_VOIDIFY, NVTX_EXT_NUM_ARGS(__VA_ARGS__))(__VA_ARGS__)\n\n#endif /* NVTX_EXT_HELPER_MACROS_H */\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxExtImpl.h",
    "content": "/*\n* Copyright 2009-2020  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_EXT_IMPL_GUARD\n#error Never include this file directly -- it is automatically included by nvToolsExt.h (except when NVTX_NO_IMPL is defined).\n#endif\n\n#ifndef NVTX_EXT_IMPL_H\n#define NVTX_EXT_IMPL_H\n/* ---- Include required platform headers ---- */\n\n#include <stdlib.h>\n#include <stdio.h>\n#include <string.h>\n#include <wchar.h>\n\n#if defined(_WIN32)\n\n#include <Windows.h>\n\n#else\n#include <unistd.h>\n\n#if defined(__ANDROID__)\n#include <android/api-level.h>\n#endif\n\n#if defined(__linux__) || defined(__CYGWIN__)\n#include <sched.h>\n#endif\n\n#include <sys/types.h>\n#include <limits.h>\n#include <dlfcn.h>\n#include <fcntl.h>\n#include <errno.h>\n#include <pthread.h>\n\n#endif\n\n/* ---- Define macros used in this file ---- */\n\n#ifdef NVTX_DEBUG_PRINT\n#ifdef __ANDROID__\n#include <android/log.h>\n#define NVTX_ERR(...) __android_log_print(ANDROID_LOG_ERROR, \"NVTOOLSEXT\", __VA_ARGS__);\n#define NVTX_INFO(...) __android_log_print(ANDROID_LOG_INFO, \"NVTOOLSEXT\", __VA_ARGS__);\n#else\n#include <stdio.h>\n#define NVTX_ERR(...) fprintf(stderr, \"NVTX_ERROR: \" __VA_ARGS__)\n#define NVTX_INFO(...) fprintf(stderr, \"NVTX_INFO: \" __VA_ARGS__)\n#endif\n#else /* !defined(NVTX_DEBUG_PRINT) */\n#define NVTX_ERR(...)\n#define NVTX_INFO(...)\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n/*\n#ifdef __GNUC__\n#pragma GCC visibility push(hidden)\n#endif\n*/\n#define NVTX_EXTENSION_FRESH 0\n#define NVTX_EXTENSION_DISABLED 1\n#define NVTX_EXTENSION_STARTING 2\n#define NVTX_EXTENSION_LOADED 3\n\n/* Function slots are local to each extension */\ntypedef struct nvtxExtGlobals1_t\n{\n    NvtxExtInitializeInjectionFunc_t injectionFnPtr;\n} nvtxExtGlobals1_t;\n\nNVTX_LINKONCE_DEFINE_GLOBAL nvtxExtGlobals1_t NVTX_VERSIONED_IDENTIFIER(nvtxExtGlobals1) =\n{\n    (NvtxExtInitializeInjectionFunc_t)0\n};\n\n#define NVTX_EXT_INIT_GUARD\n#include \"nvtxExtInit.h\"\n#undef NVTX_EXT_INIT_GUARD\n/*\n#ifdef __GNUC__\n#pragma GCC visibility pop\n#endif\n*/\n#ifdef __cplusplus\n} /* extern \"C\" */\n#endif /* __cplusplus */\n\n#endif /* NVTX_EXT_IMPL_H */\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxExtImplCounters_v1.h",
    "content": "/*\n* Copyright 2023-2024  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_EXT_IMPL_COUNTERS_GUARD\n#error Never include this file directly -- it is automatically included by nvToolsExtCounters.h (except when NVTX_NO_IMPL is defined).\n#endif\n\n#define NVTX_EXT_IMPL_GUARD\n#include \"nvtxExtImpl.h\"\n#undef NVTX_EXT_IMPL_GUARD\n\n#ifndef NVTX_EXT_IMPL_COUNTERS_V1\n#define NVTX_EXT_IMPL_COUNTERS_V1\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n/* Macros to create versioned symbols. */\n#define NVTX_EXT_COUNTERS_VERSIONED_IDENTIFIER_L3(NAME, VERSION, COMPATID) \\\n    NAME##_v##VERSION##_bpl##COMPATID\n#define NVTX_EXT_COUNTERS_VERSIONED_IDENTIFIER_L2(NAME, VERSION, COMPATID) \\\n    NVTX_EXT_COUNTERS_VERSIONED_IDENTIFIER_L3(NAME, VERSION, COMPATID)\n#define NVTX_EXT_COUNTERS_VERSIONED_ID(NAME) \\\n    NVTX_EXT_COUNTERS_VERSIONED_IDENTIFIER_L2(NAME, NVTX_VERSION, NVTX_EXT_COUNTERS_COMPATID)\n\n#ifdef NVTX_DISABLE\n\n#include \"nvtxExtHelperMacros.h\"\n\n#define NVTX_EXT_COUNTERS_IMPL_FN_V1(ret_val, fn_name, signature, arg_names) \\\nret_val fn_name signature { \\\n    NVTX_EXT_HELPER_UNUSED_ARGS arg_names \\\n    return ((ret_val)(intptr_t)-1); \\\n}\n\n#else /* NVTX_DISABLE */\n\n/*\n * Function slots for the counters extension. First entry is the module state,\n * initialized to `0` (`NVTX_EXTENSION_FRESH`).\n */\n#define NVTX_EXT_COUNTERS_SLOT_COUNT 63\nNVTX_LINKONCE_DEFINE_GLOBAL intptr_t\nNVTX_EXT_COUNTERS_VERSIONED_ID(nvtxExtCountersSlots)[NVTX_EXT_COUNTERS_SLOT_COUNT + 1]\n    = {0};\n\n/* Avoid warnings about missing prototype. */\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_EXT_COUNTERS_VERSIONED_ID(nvtxExtCountersInitOnce)(void);\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_EXT_COUNTERS_VERSIONED_ID(nvtxExtCountersInitOnce)()\n{\n    intptr_t* fnSlots = NVTX_EXT_COUNTERS_VERSIONED_ID(nvtxExtCountersSlots) + 1;\n    nvtxExtModuleSegment_t segment = {\n        0, /* unused (only one segment) */\n        NVTX_EXT_COUNTERS_SLOT_COUNT,\n        fnSlots\n    };\n\n    nvtxExtModuleInfo_t module = {\n        NVTX_VERSION, sizeof(nvtxExtModuleInfo_t),\n        NVTX_EXT_COUNTERS_MODULEID, NVTX_EXT_COUNTERS_COMPATID,\n        1, &segment, /* number of segments, segments */\n        NULL, /* no export function needed */\n        /* bake type sizes and alignment information into program binary */\n        NULL\n    };\n\n    NVTX_INFO( \"%s\\n\", __FUNCTION__  );\n\n    NVTX_VERSIONED_IDENTIFIER(nvtxExtInitOnce)(&module,\n        NVTX_EXT_COUNTERS_VERSIONED_ID(nvtxExtCountersSlots));\n}\n\n#define NVTX_EXT_COUNTERS_IMPL_FN_V1(ret_type, fn_name, signature, arg_names) \\\ntypedef ret_type (*fn_name##_impl_fntype)signature; \\\n    NVTX_DECLSPEC ret_type NVTX_API fn_name signature { \\\n    intptr_t slot = NVTX_EXT_COUNTERS_VERSIONED_ID(nvtxExtCountersSlots)[NVTX3EXT_CBID_##fn_name + 1]; \\\n    if (slot != NVTX_EXTENSION_DISABLED) { \\\n        if (slot != NVTX_EXTENSION_FRESH) { \\\n            return (*(fn_name##_impl_fntype)slot) arg_names; \\\n        } else { \\\n            NVTX_EXT_COUNTERS_VERSIONED_ID(nvtxExtCountersInitOnce)(); \\\n            /* Re-read function slot after extension initialization. */ \\\n            slot = NVTX_EXT_COUNTERS_VERSIONED_ID(nvtxExtCountersSlots)[NVTX3EXT_CBID_##fn_name + 1]; \\\n            if (slot != NVTX_EXTENSION_DISABLED && slot != NVTX_EXTENSION_FRESH) { \\\n                return (*(fn_name##_impl_fntype)slot) arg_names; \\\n            } \\\n        } \\\n    } \\\n    NVTX_EXT_FN_RETURN_INVALID(ret_type) \\\n}\n\n#endif /*NVTX_DISABLE*/\n\n/* Non-void functions. */\n#define NVTX_EXT_FN_RETURN_INVALID(rtype) return ((rtype)(intptr_t)-1);\n\nNVTX_EXT_COUNTERS_IMPL_FN_V1(nvtxCountersHandle_t, nvtxCountersRegister,\n    (nvtxDomainHandle_t domain, const nvtxCountersAttr_t* attr),\n    (domain, attr))\n\n#undef NVTX_EXT_FN_RETURN_INVALID\n/* END: Non-void functions. */\n\n/* void functions. */\n#define NVTX_EXT_FN_RETURN_INVALID(rtype)\n#define return\n\nNVTX_EXT_COUNTERS_IMPL_FN_V1(void, nvtxCountersSampleInt64,\n    (nvtxDomainHandle_t domain, nvtxCountersHandle_t hCounter, int64_t value),\n    (domain, hCounter, value))\n\nNVTX_EXT_COUNTERS_IMPL_FN_V1(void, nvtxCountersSampleFloat64,\n    (nvtxDomainHandle_t domain, nvtxCountersHandle_t hCounter, double value),\n    (domain, hCounter, value))\n\nNVTX_EXT_COUNTERS_IMPL_FN_V1(void, nvtxCountersSample,\n    (nvtxDomainHandle_t domain, nvtxCountersHandle_t hCounter, void* values, size_t size),\n    (domain, hCounter, values, size))\n\nNVTX_EXT_COUNTERS_IMPL_FN_V1(void, nvtxCountersSampleNoValue,\n    (nvtxDomainHandle_t domain, nvtxCountersHandle_t hCounter, uint8_t reason),\n    (domain, hCounter, reason))\n\nNVTX_EXT_COUNTERS_IMPL_FN_V1(void, nvtxCountersSubmitBatch,\n    (nvtxDomainHandle_t domain, nvtxCountersHandle_t hCounters,\n    const void* counters, size_t size), (domain, hCounters, counters, size))\n\nNVTX_EXT_COUNTERS_IMPL_FN_V1(void, nvtxCountersSubmitBatchEx,\n    (nvtxDomainHandle_t domain, const nvtxCountersBatch_t* countersBatch),\n    (domain, countersBatch))\n\n#undef return\n#undef NVTX_EXT_FN_RETURN_INVALID\n/* END: void functions. */\n\n/* Keep NVTX_EXT_COUNTERS_IMPL_FN_V1 defined for a future version of this extension. */\n\n#ifdef __cplusplus\n} /* extern \"C\" */\n#endif /* __cplusplus */\n\n#endif /* NVTX_EXT_IMPL_COUNTERS_V1 */\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxExtImplMemCudaRt_v1.h",
    "content": "/*\n* Copyright 2009-2020  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_EXT_IMPL_MEM_CUDART_GUARD\n#error Never include this file directly -- it is automatically included by nvToolsExtMemCudaRt.h (except when NVTX_NO_IMPL is defined).\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n#ifdef NVTX_DISABLE\n\n#include \"nvtxExtHelperMacros.h\"\n\n#define NVTX_EXT_FN_IMPL(ret_val, fn_name, signature, arg_names) \\\nret_val fn_name signature { \\\n    NVTX_EXT_HELPER_UNUSED_ARGS arg_names \\\n    return ((ret_val)(intptr_t)-1); \\\n}\n\n#else  /* NVTX_DISABLE */\n\n#define NVTX_EXT_FN_IMPL(ret_type, fn_name, signature, arg_names) \\\ntypedef ret_type ( * fn_name##_impl_fntype )signature; \\\n    NVTX_DECLSPEC ret_type NVTX_API fn_name signature { \\\n    intptr_t slot = NVTX_EXT_MEM_VERSIONED_ID(nvtxExtMemSlots)[NVTX3EXT_CBID_##fn_name + 1]; \\\n    if (slot != NVTX_EXTENSION_DISABLED) { \\\n        if (slot != NVTX_EXTENSION_FRESH) { \\\n            return (*(fn_name##_impl_fntype)slot) arg_names; \\\n        } else { \\\n            NVTX_EXT_MEM_VERSIONED_ID(nvtxExtMemInitOnce)(); \\\n            /* Re-read function slot after extension initialization. */ \\\n            slot = NVTX_EXT_MEM_VERSIONED_ID(nvtxExtMemSlots)[NVTX3EXT_CBID_##fn_name + 1]; \\\n            if (slot != NVTX_EXTENSION_DISABLED && slot != NVTX_EXTENSION_FRESH) { \\\n                return (*(fn_name##_impl_fntype)slot) arg_names; \\\n            } \\\n        } \\\n    } \\\n    NVTX_EXT_FN_RETURN_INVALID(ret_type) \\\n}\n\n#endif /*NVTX_DISABLE*/\n\n/* Non-void functions. */\n#define NVTX_EXT_FN_RETURN_INVALID(rtype) return ((rtype)(intptr_t)-1);\n\nNVTX_EXT_FN_IMPL(nvtxMemPermissionsHandle_t, nvtxMemCudaGetProcessWidePermissions, (nvtxDomainHandle_t domain), (domain))\n\nNVTX_EXT_FN_IMPL(nvtxMemPermissionsHandle_t, nvtxMemCudaGetDeviceWidePermissions, (nvtxDomainHandle_t domain, int device), (domain, device))\n\n#undef NVTX_EXT_FN_RETURN_INVALID\n/* END: Non-void functions. */\n\n/* void functions. */\n#define NVTX_EXT_FN_RETURN_INVALID(rtype)\n#define return\n\nNVTX_EXT_FN_IMPL(void, nvtxMemCudaSetPeerAccess, (nvtxDomainHandle_t domain, nvtxMemPermissionsHandle_t permissions, int devicePeer, uint32_t flags), (domain, permissions, devicePeer, flags))\n\n#undef return\n#undef NVTX_EXT_FN_RETURN_INVALID\n/* END: void functions. */\n\n#undef NVTX_EXT_FN_IMPL\n\n#ifdef __cplusplus\n} /* extern \"C\" */\n#endif /* __cplusplus */\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxExtImplMem_v1.h",
    "content": "/*\n* Copyright 2009-2020,2023  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_EXT_IMPL_MEM_GUARD\n#error Never include this file directly -- it is automatically included by nvToolsExtMem.h (except when NVTX_NO_IMPL is defined).\n#endif\n\n#define NVTX_EXT_IMPL_GUARD\n#include \"nvtxExtImpl.h\"\n#undef NVTX_EXT_IMPL_GUARD\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n#define NVTXMEM_VERSIONED_IDENTIFIER_L3(NAME, VERSION, COMPATID) NAME##_v##VERSION##_mem##COMPATID\n#define NVTXMEM_VERSIONED_IDENTIFIER_L2(NAME, VERSION, COMPATID) NVTXMEM_VERSIONED_IDENTIFIER_L3(NAME, VERSION, COMPATID)\n#define NVTX_EXT_MEM_VERSIONED_ID(NAME) NVTXMEM_VERSIONED_IDENTIFIER_L2(NAME, NVTX_VERSION, NVTX_EXT_COMPATID_MEM)\n\n#ifdef NVTX_DISABLE\n\n#include \"nvtxExtHelperMacros.h\"\n\n#define NVTX_EXT_FN_IMPL(ret_val, fn_name, signature, arg_names) \\\nret_val fn_name signature { \\\n    NVTX_EXT_HELPER_UNUSED_ARGS arg_names \\\n    return ((ret_val)(intptr_t)-1); \\\n}\n\n#else  /* NVTX_DISABLE */\n\n/*\n * Function slots for the memory extension. First entry is the module\n * state, initialized to `0` (`NVTX_EXTENSION_FRESH`).\n */\nNVTX_LINKONCE_DEFINE_GLOBAL intptr_t\nNVTX_EXT_MEM_VERSIONED_ID(nvtxExtMemSlots)[NVTX3EXT_CBID_MEM_FN_NUM + 2]\n    = {0};\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_EXT_MEM_VERSIONED_ID(nvtxExtMemInitOnce)()\n{\n    intptr_t* fnSlots = NVTX_EXT_MEM_VERSIONED_ID(nvtxExtMemSlots) + 1;\n    nvtxExtModuleSegment_t segment = {\n        0, /* unused (only one segment) */\n        NVTX3EXT_CBID_MEM_FN_NUM,\n        fnSlots\n    };\n\n    nvtxExtModuleInfo_t module = {\n        NVTX_VERSION, sizeof(nvtxExtModuleInfo_t),\n        NVTX_EXT_MODULEID_MEM, NVTX_EXT_COMPATID_MEM,\n        1, &segment,\n        NULL, /* no export function needed */\n        NULL\n    };\n\n    NVTX_INFO( \"%s\\n\", __FUNCTION__  );\n\n    NVTX_VERSIONED_IDENTIFIER(nvtxExtInitOnce)(&module,\n        NVTX_EXT_MEM_VERSIONED_ID(nvtxExtMemSlots));\n}\n\n#define NVTX_EXT_FN_IMPL(ret_type, fn_name, signature, arg_names) \\\ntypedef ret_type ( * fn_name##_impl_fntype )signature; \\\n    NVTX_DECLSPEC ret_type NVTX_API fn_name signature { \\\n    intptr_t slot = NVTX_EXT_MEM_VERSIONED_ID(nvtxExtMemSlots)[NVTX3EXT_CBID_##fn_name + 1]; \\\n    if (slot != NVTX_EXTENSION_DISABLED) { \\\n        if (slot != NVTX_EXTENSION_FRESH) { \\\n            return (*(fn_name##_impl_fntype)slot) arg_names; \\\n        } else { \\\n            NVTX_EXT_MEM_VERSIONED_ID(nvtxExtMemInitOnce)(); \\\n            /* Re-read function slot after extension initialization. */ \\\n            slot = NVTX_EXT_MEM_VERSIONED_ID(nvtxExtMemSlots)[NVTX3EXT_CBID_##fn_name + 1]; \\\n            if (slot != NVTX_EXTENSION_DISABLED && slot != NVTX_EXTENSION_FRESH) { \\\n                return (*(fn_name##_impl_fntype)slot) arg_names; \\\n            } \\\n        } \\\n    } \\\n    NVTX_EXT_FN_RETURN_INVALID(ret_type) \\\n}\n\n#endif /*NVTX_DISABLE*/\n\n/* Non-void functions. */\n#define NVTX_EXT_FN_RETURN_INVALID(rtype) return ((rtype)(intptr_t)-1);\n\nNVTX_EXT_FN_IMPL(nvtxMemHeapHandle_t, nvtxMemHeapRegister, (nvtxDomainHandle_t domain, nvtxMemHeapDesc_t const* desc), (domain, desc))\n\nNVTX_EXT_FN_IMPL(nvtxMemPermissionsHandle_t, nvtxMemPermissionsCreate, (nvtxDomainHandle_t domain, int32_t creationflags), (domain, creationflags))\n\n#undef NVTX_EXT_FN_RETURN_INVALID\n/* END: Non-void functions. */\n\n/* void functions. */\n#define NVTX_EXT_FN_RETURN_INVALID(rtype)\n#define return\n\nNVTX_EXT_FN_IMPL(void, nvtxMemHeapUnregister, (nvtxDomainHandle_t domain, nvtxMemHeapHandle_t heap), (domain, heap))\n\nNVTX_EXT_FN_IMPL(void, nvtxMemHeapReset, (nvtxDomainHandle_t domain, nvtxMemHeapHandle_t heap), (domain, heap))\n\nNVTX_EXT_FN_IMPL(void, nvtxMemRegionsRegister, (nvtxDomainHandle_t domain, nvtxMemRegionsRegisterBatch_t const* desc), (domain, desc))\n\nNVTX_EXT_FN_IMPL(void, nvtxMemRegionsResize, (nvtxDomainHandle_t domain,nvtxMemRegionsResizeBatch_t const* desc), (domain, desc))\n\nNVTX_EXT_FN_IMPL(void, nvtxMemRegionsUnregister, (nvtxDomainHandle_t domain,nvtxMemRegionsUnregisterBatch_t const* desc), (domain, desc))\n\nNVTX_EXT_FN_IMPL(void, nvtxMemRegionsName, (nvtxDomainHandle_t domain,nvtxMemRegionsNameBatch_t const* desc), (domain, desc))\n\nNVTX_EXT_FN_IMPL(void, nvtxMemPermissionsAssign, (nvtxDomainHandle_t domain,nvtxMemPermissionsAssignBatch_t const* desc), (domain, desc))\n\nNVTX_EXT_FN_IMPL(void, nvtxMemPermissionsDestroy, (nvtxDomainHandle_t domain, nvtxMemPermissionsHandle_t permissions), (domain, permissions))\n\nNVTX_EXT_FN_IMPL(void, nvtxMemPermissionsReset, (nvtxDomainHandle_t domain, nvtxMemPermissionsHandle_t permissions), (domain, permissions))\n\nNVTX_EXT_FN_IMPL(void, nvtxMemPermissionsBind, (nvtxDomainHandle_t domain, nvtxMemPermissionsHandle_t permissions, uint32_t bindScope, uint32_t bindFlags), (domain, permissions, bindScope, bindFlags))\n\nNVTX_EXT_FN_IMPL(void, nvtxMemPermissionsUnbind, (nvtxDomainHandle_t domain, uint32_t bindScope), (domain, bindScope))\n\n#undef return\n#undef NVTX_EXT_FN_RETURN_INVALID\n/* END: void functions. */\n\n#undef NVTX_EXT_FN_IMPL\n\n#ifdef __cplusplus\n} /* extern \"C\" */\n#endif /* __cplusplus */\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxExtImplPayload_v1.h",
    "content": "/*\n* Copyright 2021-2023  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_EXT_IMPL_PAYLOAD_GUARD\n#error Never include this file directly -- it is automatically included by nvToolsExtPayload.h (except when NVTX_NO_IMPL is defined).\n#endif\n\n#define NVTX_EXT_IMPL_GUARD\n#include \"nvtxExtImpl.h\"\n#undef NVTX_EXT_IMPL_GUARD\n\n#ifndef NVTX_EXT_IMPL_PAYLOAD_V1\n#define NVTX_EXT_IMPL_PAYLOAD_V1\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n/* Macros to create versioned symbols. */\n#define NVTX_EXT_PAYLOAD_VERSIONED_IDENTIFIER_L3(NAME, VERSION, COMPATID) \\\n    NAME##_v##VERSION##_bpl##COMPATID\n#define NVTX_EXT_PAYLOAD_VERSIONED_IDENTIFIER_L2(NAME, VERSION, COMPATID) \\\n    NVTX_EXT_PAYLOAD_VERSIONED_IDENTIFIER_L3(NAME, VERSION, COMPATID)\n#define NVTX_EXT_PAYLOAD_VERSIONED_ID(NAME) \\\n    NVTX_EXT_PAYLOAD_VERSIONED_IDENTIFIER_L2(NAME, NVTX_VERSION, NVTX_EXT_PAYLOAD_COMPATID)\n\n#ifdef NVTX_DISABLE\n\n#include \"nvtxExtHelperMacros.h\"\n\n#define NVTX_EXT_PAYLOAD_IMPL_FN_V1(ret_val, fn_name, signature, arg_names) \\\nret_val fn_name signature { \\\n    NVTX_EXT_HELPER_UNUSED_ARGS arg_names \\\n    return ((ret_val)(intptr_t)-1); \\\n}\n\n#else /* NVTX_DISABLE */\n\n#include \"nvtxExtPayloadTypeInfo.h\"\n\n/*\n * Function slots for the payload extension. First entry is the module state,\n * initialized to `0` (`NVTX_EXTENSION_FRESH`).\n */\n#define NVTX_EXT_PAYLOAD_SLOT_COUNT 63\nNVTX_LINKONCE_DEFINE_GLOBAL intptr_t\nNVTX_EXT_PAYLOAD_VERSIONED_ID(nvtxExtPayloadSlots)[NVTX_EXT_PAYLOAD_SLOT_COUNT + 1]\n    = {0};\n\n/* Avoid warnings about missing prototype. */\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_EXT_PAYLOAD_VERSIONED_ID(nvtxExtPayloadInitOnce)(void);\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_EXT_PAYLOAD_VERSIONED_ID(nvtxExtPayloadInitOnce)()\n{\n    intptr_t* fnSlots = NVTX_EXT_PAYLOAD_VERSIONED_ID(nvtxExtPayloadSlots) + 1;\n    nvtxExtModuleSegment_t segment = {\n        0, /* unused (only one segment) */\n        NVTX_EXT_PAYLOAD_SLOT_COUNT,\n        fnSlots\n    };\n\n    nvtxExtModuleInfo_t module = {\n        NVTX_VERSION, sizeof(nvtxExtModuleInfo_t),\n        NVTX_EXT_PAYLOAD_MODULEID, NVTX_EXT_PAYLOAD_COMPATID,\n        1, &segment, /* number of segments, segments */\n        NULL, /* no export function needed */\n        /* bake type sizes and alignment information into program binary */\n        &(NVTX_EXT_PAYLOAD_VERSIONED_ID(nvtxExtPayloadTypeInfo))\n    };\n\n    NVTX_INFO( \"%s\\n\", __FUNCTION__  );\n\n    NVTX_VERSIONED_IDENTIFIER(nvtxExtInitOnce)(&module,\n        NVTX_EXT_PAYLOAD_VERSIONED_ID(nvtxExtPayloadSlots));\n}\n\n#define NVTX_EXT_PAYLOAD_IMPL_FN_V1(ret_type, fn_name, signature, arg_names) \\\ntypedef ret_type (*fn_name##_impl_fntype)signature; \\\n    NVTX_DECLSPEC ret_type NVTX_API fn_name signature { \\\n    intptr_t slot = NVTX_EXT_PAYLOAD_VERSIONED_ID(nvtxExtPayloadSlots)[NVTX3EXT_CBID_##fn_name + 1]; \\\n    if (slot != NVTX_EXTENSION_DISABLED) { \\\n        if (slot != NVTX_EXTENSION_FRESH) { \\\n            return (*(fn_name##_impl_fntype)slot) arg_names; \\\n        } else { \\\n            NVTX_EXT_PAYLOAD_VERSIONED_ID(nvtxExtPayloadInitOnce)(); \\\n            /* Re-read function slot after extension initialization. */ \\\n            slot = NVTX_EXT_PAYLOAD_VERSIONED_ID(nvtxExtPayloadSlots)[NVTX3EXT_CBID_##fn_name + 1]; \\\n            if (slot != NVTX_EXTENSION_DISABLED && slot != NVTX_EXTENSION_FRESH) { \\\n                return (*(fn_name##_impl_fntype)slot) arg_names; \\\n            } \\\n        } \\\n    } \\\n    NVTX_EXT_FN_RETURN_INVALID(ret_type) \\\n}\n\n#endif /*NVTX_DISABLE*/\n\n/* Non-void functions. */\n#define NVTX_EXT_FN_RETURN_INVALID(rtype) return ((rtype)(intptr_t)-1);\n\nNVTX_EXT_PAYLOAD_IMPL_FN_V1(uint64_t, nvtxPayloadSchemaRegister,\n    (nvtxDomainHandle_t domain, const nvtxPayloadSchemaAttr_t* attr),\n    (domain, attr))\n\nNVTX_EXT_PAYLOAD_IMPL_FN_V1(uint64_t, nvtxPayloadEnumRegister,\n    (nvtxDomainHandle_t domain, const nvtxPayloadEnumAttr_t* attr),\n    (domain, attr))\n\nNVTX_EXT_PAYLOAD_IMPL_FN_V1(int, nvtxRangePushPayload,\n    (nvtxDomainHandle_t domain, const nvtxPayloadData_t* payloadData, size_t count),\n    (domain, payloadData, count))\n\nNVTX_EXT_PAYLOAD_IMPL_FN_V1(int, nvtxRangePopPayload,\n    (nvtxDomainHandle_t domain, const nvtxPayloadData_t* payloadData, size_t count),\n    (domain, payloadData, count))\n\nNVTX_EXT_PAYLOAD_IMPL_FN_V1(nvtxRangeId_t, nvtxRangeStartPayload,\n    (nvtxDomainHandle_t domain, const nvtxPayloadData_t* payloadData, size_t count),\n    (domain, payloadData, count))\n\nNVTX_EXT_PAYLOAD_IMPL_FN_V1(uint8_t, nvtxDomainIsEnabled, (nvtxDomainHandle_t domain), (domain))\n\nNVTX_EXT_PAYLOAD_IMPL_FN_V1(uint64_t, nvtxScopeRegister, (nvtxDomainHandle_t domain,\n    const nvtxScopeAttr_t* attr), (domain, attr))\n\n#undef NVTX_EXT_FN_RETURN_INVALID\n/* END: Non-void functions. */\n\n/* void functions. */\n#define NVTX_EXT_FN_RETURN_INVALID(rtype)\n#define return\n\nNVTX_EXT_PAYLOAD_IMPL_FN_V1(void, nvtxMarkPayload, (nvtxDomainHandle_t domain,\n    const nvtxPayloadData_t* payloadData, size_t count), (domain, payloadData, count))\n\nNVTX_EXT_PAYLOAD_IMPL_FN_V1(void, nvtxRangeEndPayload, (nvtxDomainHandle_t domain,\n    nvtxRangeId_t id, const nvtxPayloadData_t* payloadData, size_t count),\n    (domain, id, payloadData, count))\n\n#undef return\n#undef NVTX_EXT_FN_RETURN_INVALID\n/* END: void functions. */\n\n/* Keep NVTX_EXT_PAYLOAD_IMPL_FN_V1 defined for a future version of this extension. */\n\n#ifdef __cplusplus\n} /* extern \"C\" */\n#endif /* __cplusplus */\n\n#endif /* NVTX_EXT_IMPL_PAYLOAD_V1 */\n\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxExtInit.h",
    "content": "/*\n* Copyright 2009-2023  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_EXT_INIT_GUARD\n#error Never include this file directly -- it is automatically included by nvToolsExt.h (except when NVTX_NO_IMPL is defined).\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n/* ---- Platform-independent helper definitions and functions ---- */\n\n/* Prefer macros over inline functions to reduce symbol resolution at link time */\n\n#if defined(_WIN32)\n#define NVTX_PATHCHAR   wchar_t\n#define NVTX_STR(x)     L##x\n#define NVTX_GETENV     _wgetenv\n#define NVTX_BUFSIZE    16384\n#define NVTX_DLLHANDLE  HMODULE\n#define NVTX_DLLOPEN(x) LoadLibraryW(x)\n#define NVTX_DLLFUNC    GetProcAddress\n#define NVTX_DLLCLOSE   FreeLibrary\n#define NVTX_YIELD()    SwitchToThread()\n#define NVTX_MEMBAR()   MemoryBarrier()\n#define NVTX_ATOMIC_WRITE_32(address, value)                        InterlockedExchange((volatile LONG*)address, value)\n#define NVTX_ATOMIC_CAS_32(old, address, exchange, comparand) old = InterlockedCompareExchange((volatile LONG*)address, exchange, comparand)\n#define NVTX_ATOMIC_WRITE_PTR(address, value)                        InterlockedExchangePointer((volatile PVOID*)address, (PVOID)value)\n#define NVTX_ATOMIC_CAS_PTR(old, address, exchange, comparand) old = (intptr_t)InterlockedCompareExchangePointer((volatile PVOID*)address, (PVOID)exchange, (PVOID)comparand)\n\n\n#elif defined(__GNUC__)\n#define NVTX_PATHCHAR   char\n#define NVTX_STR(x)     x\n#define NVTX_GETENV     getenv\n#define NVTX_BUFSIZE    16384\n#define NVTX_DLLHANDLE  void*\n#define NVTX_DLLOPEN(x) dlopen(x, RTLD_LAZY)\n#define NVTX_DLLFUNC    dlsym\n#define NVTX_DLLCLOSE   dlclose\n#define NVTX_YIELD()    sched_yield()\n#define NVTX_MEMBAR()   __sync_synchronize()\n/* Ensure full memory barrier for atomics, to match Windows functions. */\n#define NVTX_ATOMIC_WRITE_32(address, value)                  __sync_synchronize();       __sync_lock_test_and_set(address, value)\n#define NVTX_ATOMIC_CAS_32(old, address, exchange, comparand) __sync_synchronize(); old = __sync_val_compare_and_swap(address, exchange, comparand)\n#define NVTX_ATOMIC_WRITE_PTR(address, value)                  __sync_synchronize();       __sync_lock_test_and_set(address, value)\n#define NVTX_ATOMIC_CAS_PTR(old, address, exchange, comparand) __sync_synchronize(); old = __sync_val_compare_and_swap(address, exchange, comparand)\n#else\n#error The library does not support your configuration!\n#endif\n\n/* Define this to 1 for platforms that where pre-injected libraries can be discovered. */\n#if defined(_WIN32)\n/* TODO */\n#define NVTX_SUPPORT_ALREADY_INJECTED_LIBRARY 0\n#else\n#define NVTX_SUPPORT_ALREADY_INJECTED_LIBRARY 0\n#endif\n\n/* Define this to 1 for platforms that support environment variables. */\n/* TODO: Detect UWP, a.k.a. Windows Store app, and set this to 0. */\n/* Try:  #if defined(WINAPI_FAMILY_PARTITION) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */\n#define NVTX_SUPPORT_ENV_VARS 1\n\n/* Define this to 1 for platforms that support dynamic/shared libraries */\n#define NVTX_SUPPORT_DYNAMIC_INJECTION_LIBRARY 1\n\n/* Injection libraries implementing InitializeInjectionNvtxExtension may be statically linked,\n * which will override any dynamic injection. This is useful for platforms, where dynamic\n * injection is not available. Since weak symbols, not explicitly marked extern, are\n * guaranteed to be initialized to zero, if no definitions are found by the linker, the\n * dynamic injection process proceeds normally, if pfnInitializeInjectionNvtx2 is 0. */\n#if defined(__GNUC__) && !defined(_WIN32) && !defined(__CYGWIN__)\n#define NVTX_SUPPORT_STATIC_INJECTION_LIBRARY 1\n/* To statically inject an NVTX library, define InitializeInjectionNvtxExtension_fnptr as a normal\n * symbol (not weak) pointing to the implementation of InitializeInjectionNvtxExtension, which\n * does not need to be named \"InitializeInjectionNvtxExtension\" as it is necessary in a dynamic\n * injection library. */\n__attribute__((weak)) NvtxExtInitializeInjectionFunc_t InitializeInjectionNvtxExtension_fnptr;\n#else\n#define NVTX_SUPPORT_STATIC_INJECTION_LIBRARY 0\n#endif\n\n\n\n/* This function tries to find or load an NVTX injection library and get the address of its\n * `InitializeInjectionExtension` function. If such a function pointer is found, it is called and\n * passed the address of this NVTX instance's `nvtxGetExportTable` function, so that the injection\n * can attach to this instance.\n * If the initialization fails for any reason, any dynamic library loaded will  be freed, and all\n * NVTX implementation functions will be set to no-ops. If the initialization succeeds, NVTX\n * functions that are not attached to the tool will be set to no-ops. This is implemented as one\n * function instead of several small functions to minimize the number of weak symbols the linker\n * must resolve. The order of search is:\n *  1) Pre-injected library exporting InitializeInjectionNvtxExtension\n *  2) Loadable library exporting InitializeInjectionNvtxExtension\n *      - Path specified by env var NVTX_INJECTION??_PATH (?? is 32 or 64)\n *      - On Android, libNvtxInjection??.so within the package (?? is 32 or 64)\n *  3) Statically-linked injection library defining InitializeInjectionNvtx2_fnptr\n */\nNVTX_LINKONCE_FWDDECL_FUNCTION int NVTX_VERSIONED_IDENTIFIER(nvtxExtLoadInjectionLibrary)(\n    NvtxExtInitializeInjectionFunc_t* out_init_fnptr);\nNVTX_LINKONCE_DEFINE_FUNCTION int NVTX_VERSIONED_IDENTIFIER(nvtxExtLoadInjectionLibrary)(\n    NvtxExtInitializeInjectionFunc_t* out_init_fnptr)\n{\n    const char* const initFuncName = \"InitializeInjectionNvtxExtension\";\n    NvtxExtInitializeInjectionFunc_t init_fnptr = (NvtxExtInitializeInjectionFunc_t)0;\n    NVTX_DLLHANDLE injectionLibraryHandle = (NVTX_DLLHANDLE)0;\n\n    if (out_init_fnptr)\n    {\n        *out_init_fnptr = (NvtxExtInitializeInjectionFunc_t)0;\n    }\n\n#if NVTX_SUPPORT_ALREADY_INJECTED_LIBRARY\n    /* Use POSIX global symbol chain to query for init function from any module. */\n    init_fnptr = (NvtxExtInitializeInjectionFunc_t)NVTX_DLLFUNC(0, initFuncName);\n#endif\n\n#if NVTX_SUPPORT_DYNAMIC_INJECTION_LIBRARY\n    /* Try discovering dynamic injection library to load */\n    if (!init_fnptr)\n    {\n#if NVTX_SUPPORT_ENV_VARS\n        /* If env var NVTX_INJECTION64_PATH is set, it should contain the path\n           to a 64-bit dynamic NVTX injection library (and similar for 32-bit). */\n        const NVTX_PATHCHAR* const nvtxEnvVarName = (sizeof(void*) == 4)\n            ? NVTX_STR(\"NVTX_INJECTION32_PATH\")\n            : NVTX_STR(\"NVTX_INJECTION64_PATH\");\n#endif /* NVTX_SUPPORT_ENV_VARS */\n        NVTX_PATHCHAR injectionLibraryPathBuf[NVTX_BUFSIZE];\n        const NVTX_PATHCHAR* injectionLibraryPath = (const NVTX_PATHCHAR*)0;\n\n        /* Refer to this variable explicitly in case all references to it are #if'ed out. */\n        (void)injectionLibraryPathBuf;\n\n#if NVTX_SUPPORT_ENV_VARS\n        /* Disable the warning for getenv & _wgetenv -- this usage is safe because\n           these functions are not called again before using the returned value. */\n#if defined(_MSC_VER)\n#pragma warning( push )\n#pragma warning( disable : 4996 )\n#endif\n        injectionLibraryPath = NVTX_GETENV(nvtxEnvVarName);\n#if defined(_MSC_VER)\n#pragma warning( pop )\n#endif\n#endif\n\n#if defined(__ANDROID__)\n        if (!injectionLibraryPath)\n        {\n            const char *bits = (sizeof(void*) == 4) ? \"32\" : \"64\";\n            char cmdlineBuf[32];\n            char pkgName[PATH_MAX];\n            int count;\n            int pid;\n            FILE *fp;\n            size_t bytesRead;\n            size_t pos;\n\n            pid = (int)getpid();\n            count = snprintf(cmdlineBuf, sizeof(cmdlineBuf), \"/proc/%d/cmdline\", pid);\n            if (count <= 0 || count >= (int)sizeof(cmdlineBuf))\n            {\n                NVTX_ERR(\"Path buffer too small for: /proc/%d/cmdline\\n\", pid);\n                return NVTX_ERR_INIT_ACCESS_LIBRARY;\n            }\n\n            fp = fopen(cmdlineBuf, \"r\");\n            if (!fp)\n            {\n                NVTX_ERR(\"File couldn't be opened: %s\\n\", cmdlineBuf);\n                return NVTX_ERR_INIT_ACCESS_LIBRARY;\n            }\n\n            bytesRead = fread(pkgName, 1, sizeof(pkgName) - 1, fp);\n            fclose(fp);\n            if (bytesRead == 0)\n            {\n                NVTX_ERR(\"Package name couldn't be read from file: %s\\n\", cmdlineBuf);\n                return NVTX_ERR_INIT_ACCESS_LIBRARY;\n            }\n\n            pkgName[bytesRead] = 0;\n\n            /* String can contain colon as a process separator. In this case the\n               package name is before the colon. */\n            pos = 0;\n            while (pos < bytesRead && pkgName[pos] != ':' && pkgName[pos] != '\\0')\n            {\n                ++pos;\n            }\n            pkgName[pos] = 0;\n\n            count = snprintf(injectionLibraryPathBuf, NVTX_BUFSIZE, \"/data/data/%s/files/libNvtxInjection%s.so\", pkgName, bits);\n            if (count <= 0 || count >= NVTX_BUFSIZE)\n            {\n                NVTX_ERR(\"Path buffer too small for: /data/data/%s/files/libNvtxInjection%s.so\\n\", pkgName, bits);\n                return NVTX_ERR_INIT_ACCESS_LIBRARY;\n            }\n\n            /* On Android, verify path is accessible due to aggressive file access restrictions. */\n            /* For dlopen, if the filename contains a leading slash, then it is interpreted as a */\n            /* relative or absolute pathname; otherwise it will follow the rules in ld.so. */\n            if (injectionLibraryPathBuf[0] == '/')\n            {\n#if (__ANDROID_API__ < 21)\n                int access_err = access(injectionLibraryPathBuf, F_OK | R_OK);\n#else\n                int access_err = faccessat(AT_FDCWD, injectionLibraryPathBuf, F_OK | R_OK, 0);\n#endif\n                if (access_err != 0)\n                {\n                    NVTX_ERR(\"Injection library path wasn't accessible [code=%s] [path=%s]\\n\", strerror(errno), injectionLibraryPathBuf);\n                    return NVTX_ERR_INIT_ACCESS_LIBRARY;\n                }\n            }\n            injectionLibraryPath = injectionLibraryPathBuf;\n        }\n#endif\n\n        /* At this point, `injectionLibraryPath` is specified if a dynamic\n           injection library was specified by a tool. */\n        if (injectionLibraryPath)\n        {\n            /* Load the injection library */\n            injectionLibraryHandle = NVTX_DLLOPEN(injectionLibraryPath);\n            if (!injectionLibraryHandle)\n            {\n                NVTX_ERR(\"Failed to load injection library\\n\");\n                return NVTX_ERR_INIT_LOAD_LIBRARY;\n            }\n            else\n            {\n                /* Attempt to get the injection library's entry-point. */\n                init_fnptr = (NvtxExtInitializeInjectionFunc_t)NVTX_DLLFUNC(injectionLibraryHandle, initFuncName);\n                if (!init_fnptr)\n                {\n                    NVTX_DLLCLOSE(injectionLibraryHandle);\n                    NVTX_ERR(\"Failed to get address of function %s from injection library\\n\", initFuncName);\n                    return NVTX_ERR_INIT_MISSING_LIBRARY_ENTRY_POINT;\n                }\n            }\n        }\n    }\n#endif\n\n#if NVTX_SUPPORT_STATIC_INJECTION_LIBRARY\n    if (!init_fnptr)\n    {\n        /* Check weakly-defined function pointer.  A statically-linked injection can define\n           this as a normal symbol and it will take precedence over a dynamic injection. */\n        if (InitializeInjectionNvtxExtension_fnptr)\n        {\n            init_fnptr = InitializeInjectionNvtxExtension_fnptr;\n        }\n    }\n#endif\n\n    if (out_init_fnptr)\n    {\n        *out_init_fnptr = init_fnptr;\n    }\n\n    /* At this point, if `init_fnptr` is not set, no tool has specified an NVTX injection library.\n       Non-success result is returned, so that all NVTX API functions will be set to no-ops. */\n    if (!init_fnptr)\n    {\n        return NVTX_ERR_NO_INJECTION_LIBRARY_AVAILABLE;\n    }\n\n    return NVTX_SUCCESS;\n}\n\n/* Avoid warnings about missing prototypes. */\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_VERSIONED_IDENTIFIER(nvtxExtInitOnce) (\n    nvtxExtModuleInfo_t* moduleInfo, intptr_t* moduleState);\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_VERSIONED_IDENTIFIER(nvtxExtInitOnce) (\n    nvtxExtModuleInfo_t* moduleInfo, intptr_t* moduleState)\n{\n    intptr_t old;\n\n    NVTX_INFO( \"%s\\n\", __FUNCTION__ );\n\n    if (*moduleState == NVTX_EXTENSION_LOADED)\n    {\n        NVTX_INFO(\"Module loaded\\n\");\n        return;\n    }\n\n    NVTX_ATOMIC_CAS_PTR(\n        old,\n        moduleState,\n        NVTX_EXTENSION_STARTING,\n        NVTX_EXTENSION_FRESH);\n    if (old == NVTX_EXTENSION_FRESH)\n    {\n        NvtxExtInitializeInjectionFunc_t init_fnptr =\n            NVTX_VERSIONED_IDENTIFIER(nvtxExtGlobals1).injectionFnPtr;\n        int entryPointStatus = 0;\n        int forceAllToNoops = 0;\n        size_t s;\n\n        /* Load and initialize injection library, which will assign the function pointers. */\n        if (init_fnptr == 0)\n        {\n            int result = 0;\n\n            /* Try to load vanilla NVTX first. */\n            nvtxInitialize(0);\n\n            result = NVTX_VERSIONED_IDENTIFIER(nvtxExtLoadInjectionLibrary)(&init_fnptr);\n            /* At this point `init_fnptr` will be either 0 or a real function. */\n\n            if (result == NVTX_SUCCESS)\n            {\n                NVTX_VERSIONED_IDENTIFIER(nvtxExtGlobals1).injectionFnPtr = init_fnptr;\n            }\n            else\n            {\n                NVTX_ERR(\"Failed to load injection library\\n\");\n            }\n        }\n\n        if (init_fnptr != 0)\n        {\n            /* Invoke injection library's initialization function. If it returns\n               0 (failure) and a dynamic injection was loaded, unload it. */\n            entryPointStatus = init_fnptr(moduleInfo);\n            if (entryPointStatus == 0)\n            {\n                NVTX_ERR(\"Failed to initialize injection library -- initialization function returned 0\\n\");\n            }\n        }\n\n        /* Clean up any functions that are still uninitialized so that they are\n           skipped. Set all to null if injection init function failed as well. */\n        forceAllToNoops = (init_fnptr == 0) || (entryPointStatus == 0);\n        for (s = 0; s < moduleInfo->segmentsCount; ++s)\n        {\n            nvtxExtModuleSegment_t* segment = moduleInfo->segments + s;\n            size_t i;\n            for (i = 0; i < segment->slotCount; ++i)\n            {\n                if (forceAllToNoops || (segment->functionSlots[i] == NVTX_EXTENSION_FRESH))\n                {\n                    segment->functionSlots[i] = NVTX_EXTENSION_DISABLED;\n                }\n            }\n        }\n\n        NVTX_MEMBAR();\n\n        /* Signal that initialization has finished and the assigned function\n           pointers will be used. */\n        NVTX_ATOMIC_WRITE_PTR(moduleState, NVTX_EXTENSION_LOADED);\n    }\n    else /* Spin-wait until initialization has finished. */\n    {\n        NVTX_MEMBAR();\n        while (*moduleState != NVTX_EXTENSION_LOADED)\n        {\n            NVTX_YIELD();\n            NVTX_MEMBAR();\n        }\n    }\n}\n\n#ifdef __cplusplus\n}\n#endif /* __cplusplus */\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxExtPayloadHelperInternal.h",
    "content": "/*\n* Copyright 2023  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_EXT_PAYLOAD_HELPER_INTERNAL_H\n#define NVTX_EXT_PAYLOAD_HELPER_INTERNAL_H\n\n/* General helper macros */\n#include \"nvtxExtHelperMacros.h\"\n\n/* Get variable name with line number (almost unique per file). */\n#define _NVTX_PAYLOAD_DATA_VAR NVTX_EXT_CONCAT(nvtxDFDB,__LINE__)\n\n/* Create real arguments from just pasting tokens next to each other. */\n#define _NVTX_PAYLOAD_PASS_THROUGH(...) __VA_ARGS__\n\n/* Avoid prefixing `NVTX_PAYLOAD_ENTRY_` for nested payloads. */\n#define NVTX_PAYLOAD_ENTRY_THROWAWAY\n#define _NVTX_PAYLOAD_NESTED(id) THROWAWAY id\n\n/*\n * Create the NVTX binary payloads schema attributes.\n *\n * @param struct_id The name of the struct.\n * @param schema_name The name of the schema.\n * @param schema_flags Additional schema flags\n * @param mask_add Fields to be added to the mask.\n * @param num_entries The number schema entries.\n */\n#define NVTX_PAYLOAD_SCHEMA_ATTR(struct_id, schema_name, schema_flags, schema_id, mask_add, num_entries) \\\n    nvtxPayloadSchemaAttr_t struct_id##Attr = { \\\n        /*.fieldMask = */NVTX_PAYLOAD_SCHEMA_ATTR_TYPE | mask_add \\\n            NVTX_PAYLOAD_SCHEMA_ATTR_ENTRIES | \\\n            NVTX_PAYLOAD_SCHEMA_ATTR_NUM_ENTRIES | \\\n            NVTX_PAYLOAD_SCHEMA_ATTR_STATIC_SIZE, \\\n        /*.name = */schema_name, \\\n        /*.type = */NVTX_PAYLOAD_SCHEMA_TYPE_STATIC, \\\n        /*.flags = */schema_flags, \\\n        /*.entries = */struct_id##Schema, /*.numEntries = */num_entries, \\\n        /*.payloadStaticSize = */sizeof(struct_id), \\\n        /*.packAlign = */0, /*.schemaId = */schema_id};\n\n\n/*****************************************************************/\n/*** Helper for `NVTX_DEFINE_SCHEMA_FOR_STRUCT[_AND_REGISTER]` ***/\n\n/* First part of schema entry for different number of arguments. */\n#define _NVTX_PAYLOAD_SCHEMA_EF2(member, etype) \\\n    0, NVTX_PAYLOAD_ENTRY_##etype, NULL, NULL, 0,\n#define _NVTX_PAYLOAD_SCHEMA_EF3(member, etype, name) \\\n    0, NVTX_PAYLOAD_ENTRY_##etype, name, NULL, 0,\n#define _NVTX_PAYLOAD_SCHEMA_EF4(member, etype, name, desc) \\\n    0, NVTX_PAYLOAD_ENTRY_##etype, name, desc, 0,\n#define _NVTX_PAYLOAD_SCHEMA_EF5(member, etype, name, desc, arraylen) \\\n    0, NVTX_PAYLOAD_ENTRY_##etype, name, desc, arraylen,\n#define _NVTX_PAYLOAD_SCHEMA_EF6(member, etype, name, desc, arraylen, flags) \\\n    NVTX_PAYLOAD_ENTRY_FLAG_##flags, NVTX_PAYLOAD_ENTRY_##etype, name, desc, arraylen,\n\n#define _NVTX_PAYLOAD_SCHEMA_ENTRY_FRONT(...) \\\n    NVTX_EXT_CONCAT(_NVTX_PAYLOAD_SCHEMA_EF, NVTX_EXT_NUM_ARGS(__VA_ARGS__))(__VA_ARGS__)\n\n/* Second part of schema entry (append struct member).\n   (At least two arguments are passed (`member` and `etype`). */\n#define _NVTX_PAYLOAD_SCHEMA_ENTRY_END(member, ...) member\n\n/* Resolve to schema entry. `entry` is `(ctype, name, ...)`. */\n#define _NVTX_PAYLOAD_SCHEMA_ENTRY(struct_id, entry) \\\n    {_NVTX_PAYLOAD_SCHEMA_ENTRY_FRONT entry \\\n    offsetof(struct_id, _NVTX_PAYLOAD_SCHEMA_ENTRY_END entry)},\n\n/* Handle up to 16 schema entries. */\n#define _NVTX_PAYLOAD_SME1(s,e1,...)  _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1)\n#define _NVTX_PAYLOAD_SME2(s,e1,...)  _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1) _NVTX_PAYLOAD_SME1(s,__VA_ARGS__)\n#define _NVTX_PAYLOAD_SME3(s,e1,...)  _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1) _NVTX_PAYLOAD_SME2(s,__VA_ARGS__)\n#define _NVTX_PAYLOAD_SME4(s,e1,...)  _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1) _NVTX_PAYLOAD_SME3(s,__VA_ARGS__)\n#define _NVTX_PAYLOAD_SME5(s,e1,...)  _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1) _NVTX_PAYLOAD_SME4(s,__VA_ARGS__)\n#define _NVTX_PAYLOAD_SME6(s,e1,...)  _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1) _NVTX_PAYLOAD_SME5(s,__VA_ARGS__)\n#define _NVTX_PAYLOAD_SME7(s,e1,...)  _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1) _NVTX_PAYLOAD_SME6(s,__VA_ARGS__)\n#define _NVTX_PAYLOAD_SME8(s,e1,...)  _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1) _NVTX_PAYLOAD_SME7(s,__VA_ARGS__)\n#define _NVTX_PAYLOAD_SME9(s,e1,...)  _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1) _NVTX_PAYLOAD_SME8(s,__VA_ARGS__)\n#define _NVTX_PAYLOAD_SME10(s,e1,...) _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1) _NVTX_PAYLOAD_SME9(s,__VA_ARGS__)\n#define _NVTX_PAYLOAD_SME11(s,e1,...) _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1) _NVTX_PAYLOAD_SME10(s,__VA_ARGS__)\n#define _NVTX_PAYLOAD_SME12(s,e1,...) _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1) _NVTX_PAYLOAD_SME11(s,__VA_ARGS__)\n#define _NVTX_PAYLOAD_SME13(s,e1,...) _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1) _NVTX_PAYLOAD_SME12(s,__VA_ARGS__)\n#define _NVTX_PAYLOAD_SME14(s,e1,...) _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1) _NVTX_PAYLOAD_SME13(s,__VA_ARGS__)\n#define _NVTX_PAYLOAD_SME15(s,e1,...) _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1) _NVTX_PAYLOAD_SME14(s,__VA_ARGS__)\n#define _NVTX_PAYLOAD_SME16(s,e1,...) _NVTX_PAYLOAD_SCHEMA_ENTRY(s,e1) _NVTX_PAYLOAD_SME15(s,__VA_ARGS__)\n\n#define _NVTX_PAYLOAD_SCHEMA_ENTRIES(struct_id, ...) \\\n  nvtxPayloadSchemaEntry_t struct_id##Schema[] = { \\\n    NVTX_EXT_CONCAT(_NVTX_PAYLOAD_SME, NVTX_EXT_NUM_ARGS(__VA_ARGS__))(struct_id, __VA_ARGS__) \\\n    {0, 0} \\\n  };\n\n/*\n * Handle optional parameters for `NVTX_DEFINE_SCHEMA_FOR_STRUCT[_AND_REGISTER]`.\n */\n#define _NVTX_DEFINE_S4S_6(struct_id, schema_name, prefix, schema_flags, schema_id, entries) \\\n    prefix _NVTX_PAYLOAD_SCHEMA_ENTRIES(struct_id, _NVTX_PAYLOAD_PASS_THROUGH entries) \\\n    prefix NVTX_PAYLOAD_SCHEMA_ATTR(struct_id, schema_name, schema_flags, schema_id, \\\n        NVTX_PAYLOAD_SCHEMA_ATTR_NAME | NVTX_PAYLOAD_SCHEMA_ATTR_FLAGS | NVTX_PAYLOAD_SCHEMA_ATTR_SCHEMA_ID |,\\\n        NVTX_EXT_NUM_ARGS(_NVTX_PAYLOAD_PASS_THROUGH entries))\n#define _NVTX_DEFINE_S4S_5(struct_id, schema_name, prefix, schema_flags, entries) \\\n    prefix _NVTX_PAYLOAD_SCHEMA_ENTRIES(struct_id, _NVTX_PAYLOAD_PASS_THROUGH entries) \\\n    prefix NVTX_PAYLOAD_SCHEMA_ATTR(struct_id, schema_name, schema_flags, 0, \\\n        NVTX_PAYLOAD_SCHEMA_ATTR_NAME | NVTX_PAYLOAD_SCHEMA_ATTR_FLAGS |, \\\n        NVTX_EXT_NUM_ARGS(_NVTX_PAYLOAD_PASS_THROUGH entries))\n#define _NVTX_DEFINE_S4S_4(struct_id, schema_name, prefix, entries) \\\n    prefix _NVTX_PAYLOAD_SCHEMA_ENTRIES(struct_id, _NVTX_PAYLOAD_PASS_THROUGH entries) \\\n    prefix NVTX_PAYLOAD_SCHEMA_ATTR(struct_id, schema_name, NVTX_PAYLOAD_SCHEMA_FLAG_NONE, 0, \\\n        NVTX_PAYLOAD_SCHEMA_ATTR_NAME |, \\\n        NVTX_EXT_NUM_ARGS(_NVTX_PAYLOAD_PASS_THROUGH entries))\n#define _NVTX_DEFINE_S4S_3(struct_id, schema_name, entries) \\\n    _NVTX_DEFINE_S4S_4(struct_id, schema_name, /*prefix*/, entries)\n#define _NVTX_DEFINE_S4S_2(struct_id, entries) \\\n    _NVTX_PAYLOAD_SCHEMA_ENTRIES(struct_id, _NVTX_PAYLOAD_PASS_THROUGH entries) \\\n    NVTX_PAYLOAD_SCHEMA_ATTR(struct_id, NULL, NVTX_PAYLOAD_SCHEMA_FLAG_NONE, 0, ,\\\n        NVTX_EXT_NUM_ARGS(_NVTX_PAYLOAD_PASS_THROUGH entries))\n\n#define _NVTX_DEFINE_SCHEMA_FOR_STRUCT(struct_id, ...) \\\n    NVTX_EXT_CONCAT(_NVTX_DEFINE_S4S_, \\\n        NVTX_EXT_NUM_ARGS(struct_id, __VA_ARGS__))(struct_id, __VA_ARGS__)\n\n/*** END: Helper for `NVTX_PAYLOAD_STATIC_SCHEMA_{DEFINE,SETUP}` ***/\n\n\n/******************************************************************/\n/*** Helper for `NVTX_DEFINE_STRUCT_WITH_SCHEMA[_AND_REGISTER]` ***/\n\n/* Extract struct member for fixed-size arrays. */\n#define _NVTX_PAYLOAD_STRUCT_ARR_MEM1(name) name\n#define _NVTX_PAYLOAD_STRUCT_ARR_MEM2(name, count) name[count]\n\n/* Extract type and member name and handle special case of fixed-size array. */\n#define _NVTX_PAYLOAD_STRUCT_E2(type, member) type member;\n#define _NVTX_PAYLOAD_STRUCT_E3(type, member, etype) type member;\n#define _NVTX_PAYLOAD_STRUCT_E4(type, member, etype, name) type member;\n#define _NVTX_PAYLOAD_STRUCT_E5(type, member, etype, name, desc) type member;\n#define _NVTX_PAYLOAD_STRUCT_E6(type, member, etype, name, desc, arraylen) \\\n    type NVTX_EXT_CONCAT(_NVTX_PAYLOAD_STRUCT_ARR_MEM, NVTX_EXT_NUM_ARGS member) member;\n#define _NVTX_PAYLOAD_STRUCT_E7(type, member, etype, name, desc, arraylen, flags) \\\n    _NVTX_PAYLOAD_STRUCT_E6(type, member, etype, name, desc, arraylen)\n\n/* Handle different number of arguments per struct entry. */\n#define _NVTX_PAYLOAD_STRUCT_ENTRY_(...) \\\n    NVTX_EXT_CONCAT(_NVTX_PAYLOAD_STRUCT_E, NVTX_EXT_NUM_ARGS(__VA_ARGS__))(__VA_ARGS__)\n\n/* Handle up to 16 struct members. */\n#define _NVTX_PAYLOAD_STRUCT_ENTRY(entry) _NVTX_PAYLOAD_STRUCT_ENTRY_ entry\n#define _NVTX_PAYLOAD_STRUCT1(e1, ...)  _NVTX_PAYLOAD_STRUCT_ENTRY(e1)\n#define _NVTX_PAYLOAD_STRUCT2(e1, ...)  _NVTX_PAYLOAD_STRUCT_ENTRY(e1) _NVTX_PAYLOAD_STRUCT1(__VA_ARGS__)\n#define _NVTX_PAYLOAD_STRUCT3(e1, ...)  _NVTX_PAYLOAD_STRUCT_ENTRY(e1) _NVTX_PAYLOAD_STRUCT2(__VA_ARGS__)\n#define _NVTX_PAYLOAD_STRUCT4(e1, ...)  _NVTX_PAYLOAD_STRUCT_ENTRY(e1) _NVTX_PAYLOAD_STRUCT3(__VA_ARGS__)\n#define _NVTX_PAYLOAD_STRUCT5(e1, ...)  _NVTX_PAYLOAD_STRUCT_ENTRY(e1) _NVTX_PAYLOAD_STRUCT4(__VA_ARGS__)\n#define _NVTX_PAYLOAD_STRUCT6(e1, ...)  _NVTX_PAYLOAD_STRUCT_ENTRY(e1) _NVTX_PAYLOAD_STRUCT5(__VA_ARGS__)\n#define _NVTX_PAYLOAD_STRUCT7(e1, ...)  _NVTX_PAYLOAD_STRUCT_ENTRY(e1) _NVTX_PAYLOAD_STRUCT6(__VA_ARGS__)\n#define _NVTX_PAYLOAD_STRUCT8(e1, ...)  _NVTX_PAYLOAD_STRUCT_ENTRY(e1) _NVTX_PAYLOAD_STRUCT7(__VA_ARGS__)\n#define _NVTX_PAYLOAD_STRUCT9(e1, ...)  _NVTX_PAYLOAD_STRUCT_ENTRY(e1) _NVTX_PAYLOAD_STRUCT8(__VA_ARGS__)\n#define _NVTX_PAYLOAD_STRUCT10(e1, ...) _NVTX_PAYLOAD_STRUCT_ENTRY(e1) _NVTX_PAYLOAD_STRUCT9(__VA_ARGS__)\n#define _NVTX_PAYLOAD_STRUCT11(e1, ...) _NVTX_PAYLOAD_STRUCT_ENTRY(e1) _NVTX_PAYLOAD_STRUCT10(__VA_ARGS__)\n#define _NVTX_PAYLOAD_STRUCT12(e1, ...) _NVTX_PAYLOAD_STRUCT_ENTRY(e1) _NVTX_PAYLOAD_STRUCT11(__VA_ARGS__)\n#define _NVTX_PAYLOAD_STRUCT13(e1, ...) _NVTX_PAYLOAD_STRUCT_ENTRY(e1) _NVTX_PAYLOAD_STRUCT12(__VA_ARGS__)\n#define _NVTX_PAYLOAD_STRUCT14(e1, ...) _NVTX_PAYLOAD_STRUCT_ENTRY(e1) _NVTX_PAYLOAD_STRUCT13(__VA_ARGS__)\n#define _NVTX_PAYLOAD_STRUCT15(e1, ...) _NVTX_PAYLOAD_STRUCT_ENTRY(e1) _NVTX_PAYLOAD_STRUCT14(__VA_ARGS__)\n#define _NVTX_PAYLOAD_STRUCT16(e1, ...) _NVTX_PAYLOAD_STRUCT_ENTRY(e1) _NVTX_PAYLOAD_STRUCT15(__VA_ARGS__)\n\n/* Generate the typedef. */\n#define _NVTX_PAYLOAD_TYPEDEF_STRUCT(struct_id, ...) \\\n  typedef struct { \\\n      NVTX_EXT_CONCAT(_NVTX_PAYLOAD_STRUCT, NVTX_EXT_NUM_ARGS(__VA_ARGS__))(__VA_ARGS__) \\\n  } struct_id;\n\n/* Generate first part of the schema entry. */\n#define _NVTX_PAYLOAD_INIT_SCHEMA_N3(type, memberId, etype) \\\n    0, NVTX_PAYLOAD_ENTRY_##etype, NULL, NULL, 0,\n#define _NVTX_PAYLOAD_INIT_SCHEMA_N4(type, memberId, etype, name) \\\n    0, NVTX_PAYLOAD_ENTRY_##etype, name, NULL, 0,\n#define _NVTX_PAYLOAD_INIT_SCHEMA_N5(type, memberId, etype, name, desc) \\\n    0, NVTX_PAYLOAD_ENTRY_##etype, name, desc, 0,\n#define _NVTX_PAYLOAD_INIT_SCHEMA_N6(type, memberId, etype, name, desc, arraylen) \\\n    0, NVTX_PAYLOAD_ENTRY_##etype, name, desc, arraylen,\n#define _NVTX_PAYLOAD_INIT_SCHEMA_N7(type, memberId, etype, name, desc, arraylen, flags) \\\n    NVTX_PAYLOAD_ENTRY_FLAG_##flags, NVTX_PAYLOAD_ENTRY_##etype, name, desc, arraylen,\n\n#define _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY_FRONT(...) \\\n    NVTX_EXT_CONCAT(_NVTX_PAYLOAD_INIT_SCHEMA_N, NVTX_EXT_NUM_ARGS(__VA_ARGS__))(__VA_ARGS__)\n\n#define _NVTX_PAYLOAD_ARRAY_MEMBER1(name) name\n#define _NVTX_PAYLOAD_ARRAY_MEMBER2(name, count) name\n\n/* Resolve to last part of schema entry (append struct member). */\n#define _NVTX_PAYLOAD_INIT_SCHEMA_NX3(type, memberId, ...) memberId\n#define _NVTX_PAYLOAD_INIT_SCHEMA_NX4(type, memberId, ...) memberId\n#define _NVTX_PAYLOAD_INIT_SCHEMA_NX5(type, memberId, ...) memberId\n#define _NVTX_PAYLOAD_INIT_SCHEMA_NX6(type, memberId, ...) \\\n    NVTX_EXT_CONCAT(_NVTX_PAYLOAD_ARRAY_MEMBER, NVTX_EXT_NUM_ARGS memberId) memberId\n#define _NVTX_PAYLOAD_INIT_SCHEMA_NX7(type, memberId, ...) \\\n    _NVTX_PAYLOAD_INIT_SCHEMA_NX6(type, memberId, __VA_ARGS__)\n\n#define _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY_END(...) \\\n    NVTX_EXT_CONCAT(_NVTX_PAYLOAD_INIT_SCHEMA_NX, NVTX_EXT_NUM_ARGS(__VA_ARGS__))(__VA_ARGS__)\n\n/* Resolve to schema entry. `entry` is `(ctype, name, ...)`. */\n#define _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(struct_id, entry) \\\n    {_NVTX_PAYLOAD_SCHEMA_INIT_ENTRY_FRONT entry \\\n    offsetof(struct_id, _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY_END entry)},\n\n/* Handle up to 16 schema entries. */\n#define _NVTX_PAYLOAD_INIT_SME1(s, e1, ...)  _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1)\n#define _NVTX_PAYLOAD_INIT_SME2(s, e1, ...)  _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1) _NVTX_PAYLOAD_INIT_SME1(s, __VA_ARGS__)\n#define _NVTX_PAYLOAD_INIT_SME3(s, e1, ...)  _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1) _NVTX_PAYLOAD_INIT_SME2(s, __VA_ARGS__)\n#define _NVTX_PAYLOAD_INIT_SME4(s, e1, ...)  _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1) _NVTX_PAYLOAD_INIT_SME3(s, __VA_ARGS__)\n#define _NVTX_PAYLOAD_INIT_SME5(s, e1, ...)  _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1) _NVTX_PAYLOAD_INIT_SME4(s, __VA_ARGS__)\n#define _NVTX_PAYLOAD_INIT_SME6(s, e1, ...)  _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1) _NVTX_PAYLOAD_INIT_SME5(s, __VA_ARGS__)\n#define _NVTX_PAYLOAD_INIT_SME7(s, e1, ...)  _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1) _NVTX_PAYLOAD_INIT_SME6(s, __VA_ARGS__)\n#define _NVTX_PAYLOAD_INIT_SME8(s, e1, ...)  _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1) _NVTX_PAYLOAD_INIT_SME7(s, __VA_ARGS__)\n#define _NVTX_PAYLOAD_INIT_SME9(s, e1, ...)  _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1) _NVTX_PAYLOAD_INIT_SME8(s, __VA_ARGS__)\n#define _NVTX_PAYLOAD_INIT_SME10(s, e1, ...) _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1) _NVTX_PAYLOAD_INIT_SME9(s, __VA_ARGS__)\n#define _NVTX_PAYLOAD_INIT_SME11(s, e1, ...) _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1) _NVTX_PAYLOAD_INIT_SME10(s, __VA_ARGS__)\n#define _NVTX_PAYLOAD_INIT_SME12(s, e1, ...) _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1) _NVTX_PAYLOAD_INIT_SME11(s, __VA_ARGS__)\n#define _NVTX_PAYLOAD_INIT_SME13(s, e1, ...) _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1) _NVTX_PAYLOAD_INIT_SME12(s, __VA_ARGS__)\n#define _NVTX_PAYLOAD_INIT_SME14(s, e1, ...) _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1) _NVTX_PAYLOAD_INIT_SME13(s, __VA_ARGS__)\n#define _NVTX_PAYLOAD_INIT_SME15(s, e1, ...) _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1) _NVTX_PAYLOAD_INIT_SME14(s, __VA_ARGS__)\n#define _NVTX_PAYLOAD_INIT_SME16(s, e1, ...) _NVTX_PAYLOAD_SCHEMA_INIT_ENTRY(s, e1) _NVTX_PAYLOAD_INIT_SME15(s, __VA_ARGS__)\n\n#define _NVTX_PAYLOAD_SCHEMA_INIT_ENTRIES(struct_id, ...) \\\n  nvtxPayloadSchemaEntry_t struct_id##Schema[] = { \\\n    NVTX_EXT_CONCAT(_NVTX_PAYLOAD_INIT_SME, NVTX_EXT_NUM_ARGS(__VA_ARGS__))(struct_id, __VA_ARGS__) \\\n    {0, 0} \\\n  };\n\n/*\n * Handle optional parameters for `NVTX_DEFINE_STRUCT_WITH_SCHEMA[_AND_REGISTER]`.\n */\n#define _NVTX_DEFINE_SWS_6(struct_id, schema_name, prefix, schema_flags, schema_id, entries) \\\n  _NVTX_PAYLOAD_TYPEDEF_STRUCT(struct_id, _NVTX_PAYLOAD_PASS_THROUGH entries) \\\n  prefix _NVTX_PAYLOAD_SCHEMA_INIT_ENTRIES(struct_id, _NVTX_PAYLOAD_PASS_THROUGH entries) \\\n  prefix NVTX_PAYLOAD_SCHEMA_ATTR(struct_id, schema_name, schema_flags, schema_id, \\\n      NVTX_PAYLOAD_SCHEMA_ATTR_NAME | NVTX_PAYLOAD_SCHEMA_ATTR_FLAGS | \\\n      NVTX_PAYLOAD_SCHEMA_ATTR_SCHEMA_ID |, \\\n      NVTX_EXT_NUM_ARGS(_NVTX_PAYLOAD_PASS_THROUGH entries))\n#define _NVTX_DEFINE_SWS_5(struct_id, schema_name, prefix, schema_flags, entries) \\\n  _NVTX_PAYLOAD_TYPEDEF_STRUCT(struct_id, _NVTX_PAYLOAD_PASS_THROUGH entries) \\\n  prefix _NVTX_PAYLOAD_SCHEMA_INIT_ENTRIES(struct_id, _NVTX_PAYLOAD_PASS_THROUGH entries) \\\n  prefix NVTX_PAYLOAD_SCHEMA_ATTR(struct_id, schema_name, schema_flags, 0, \\\n      NVTX_PAYLOAD_SCHEMA_ATTR_NAME | NVTX_PAYLOAD_SCHEMA_ATTR_FLAGS |, \\\n      NVTX_EXT_NUM_ARGS(_NVTX_PAYLOAD_PASS_THROUGH entries))\n#define _NVTX_DEFINE_SWS_4(struct_id, schema_name, prefix, entries) \\\n  _NVTX_PAYLOAD_TYPEDEF_STRUCT(struct_id, _NVTX_PAYLOAD_PASS_THROUGH entries) \\\n  prefix _NVTX_PAYLOAD_SCHEMA_INIT_ENTRIES(struct_id, _NVTX_PAYLOAD_PASS_THROUGH entries) \\\n  prefix NVTX_PAYLOAD_SCHEMA_ATTR(struct_id, schema_name, NVTX_PAYLOAD_SCHEMA_FLAG_NONE, 0, \\\n      NVTX_PAYLOAD_SCHEMA_ATTR_NAME |, \\\n      NVTX_EXT_NUM_ARGS(_NVTX_PAYLOAD_PASS_THROUGH entries))\n#define _NVTX_DEFINE_SWS_3(struct_id, schema_name, entries) \\\n  _NVTX_DEFINE_SWS_4(struct_id, schema_name, /* no prefix */, entries)\n#define _NVTX_DEFINE_SWS_2(struct_id, entries) \\\n  _NVTX_PAYLOAD_TYPEDEF_STRUCT(struct_id, _NVTX_PAYLOAD_PASS_THROUGH entries) \\\n  _NVTX_PAYLOAD_SCHEMA_INIT_ENTRIES(struct_id, _NVTX_PAYLOAD_PASS_THROUGH entries) \\\n  NVTX_PAYLOAD_SCHEMA_ATTR(struct_id, NULL, NVTX_PAYLOAD_SCHEMA_FLAG_NONE, 0, , \\\n      NVTX_EXT_NUM_ARGS(_NVTX_PAYLOAD_PASS_THROUGH entries))\n\n#define _NVTX_DEFINE_STRUCT_WITH_SCHEMA(struct_id, ...) \\\n    NVTX_EXT_CONCAT(_NVTX_DEFINE_SWS_, \\\n        NVTX_EXT_NUM_ARGS(struct_id, __VA_ARGS__))(struct_id, __VA_ARGS__)\n\n/*** END: Helper for `NVTX_PAYLOAD_STATIC_SCHEMA_{INIT,CREATE}` */\n\n#endif /* NVTX_EXT_PAYLOAD_HELPER_INTERNAL_H */\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxExtPayloadTypeInfo.h",
    "content": "/*\n* Copyright 2021-2023  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_EXT_IMPL_PAYLOAD_GUARD\n#error Never include this file directly -- it is automatically included by nvToolsExtPayload.h (except when NVTX_NO_IMPL is defined).\n#endif\n\ntypedef void* nvtx_payload_pointer_type;\n\n#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L)\n#include <uchar.h>\n#include <stdalign.h>\n#endif\n\n/* `alignof` is available as of C11 or C++11. */\n#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || (defined(__cplusplus) && __cplusplus >= 201103L)\n\n#define nvtx_alignof(type) alignof(type)\n#define nvtx_alignof2(type,tname) alignof(type)\n\n#else /* (__STDC_VERSION__ >= 201112L) || (__cplusplus >= 201103L) */\n\n/* Create helper structs to determine type alignment. */\n#define MKTYPEDEF(type) typedef struct {char c; type d;} _nvtx_##type\n#define MKTYPEDEF2(type,tname) typedef struct {char c; type d;} _nvtx_##tname\n\nMKTYPEDEF(char);\nMKTYPEDEF2(unsigned char, uchar);\nMKTYPEDEF(short);\nMKTYPEDEF2(unsigned short, ushort);\nMKTYPEDEF(int);\nMKTYPEDEF2(unsigned int, uint);\nMKTYPEDEF(long);\nMKTYPEDEF2(unsigned long, ulong);\nMKTYPEDEF2(long long, longlong);\nMKTYPEDEF2(unsigned long long, ulonglong);\n\nMKTYPEDEF(int8_t);\nMKTYPEDEF(uint8_t);\nMKTYPEDEF(int16_t);\nMKTYPEDEF(uint16_t);\nMKTYPEDEF(int32_t);\nMKTYPEDEF(uint32_t);\nMKTYPEDEF(int64_t);\nMKTYPEDEF(uint64_t);\n\nMKTYPEDEF(float);\nMKTYPEDEF(double);\nMKTYPEDEF2(long double, longdouble);\n\nMKTYPEDEF(size_t);\nMKTYPEDEF(nvtx_payload_pointer_type);\n\nMKTYPEDEF(wchar_t);\n\n/* `char8_t` is available as of C++20 or C23 */\n#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || (defined(__cplusplus) && __cplusplus >= 201811L)\n    MKTYPEDEF(char8_t);\n#endif\n\n/* `char16_t` and `char32_t` are available as of C++11 or C11 */\n#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || (defined(__cplusplus) && __cplusplus >= 200704L)\n    MKTYPEDEF(char16_t);\n    MKTYPEDEF(char32_t);\n#endif\n\n/* C requires to include stddef.h to use `offsetof` */\n#ifndef __cplusplus\n#include <stddef.h>\n#endif\n\n#define nvtx_alignof(tname) offsetof(_nvtx_##tname, d)\n#define nvtx_alignof2(type, tname) offsetof(_nvtx_##tname, d)\n\n#endif /*  __STDC_VERSION__ >= 201112L */\n\n#undef MKTYPEDEF\n#undef MKTYPEDEF2\n\n/*\n * Helper array to get the alignment for each predefined C/C++ language type.\n * The order of entries must match the values in`enum nvtxPayloadSchemaEntryType`.\n *\n * In C++, `const` variables use internal linkage by default, but we need it to\n * be public (extern) since weak declarations must be public.\n */\nNVTX_LINKONCE_DEFINE_GLOBAL\n#ifdef __cplusplus\nextern\n#endif\nconst nvtxPayloadEntryTypeInfo_t\nNVTX_EXT_PAYLOAD_VERSIONED_ID(nvtxExtPayloadTypeInfo)[NVTX_PAYLOAD_ENTRY_TYPE_INFO_ARRAY_SIZE] =\n{\n    /* The first entry contains this array's length and the size of each entry in this array. */\n    {NVTX_PAYLOAD_ENTRY_TYPE_INFO_ARRAY_SIZE, sizeof(nvtxPayloadEntryTypeInfo_t)},\n\n    /*** C integer types ***/\n    /* NVTX_PAYLOAD_ENTRY_TYPE_CHAR */   {sizeof(char), nvtx_alignof(char)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_UCHAR */  {sizeof(unsigned char), nvtx_alignof2(unsigned char, uchar)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_SHORT */  {sizeof(short), nvtx_alignof(short)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_USHORT */ {sizeof(unsigned short), nvtx_alignof2(unsigned short, ushort)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_INT */    {sizeof(int), nvtx_alignof(int)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_UINT */   {sizeof(unsigned int), nvtx_alignof2(unsigned int, uint)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_LONG */   {sizeof(long), nvtx_alignof(long)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_ULONG */  {sizeof(unsigned long), nvtx_alignof2(unsigned long, ulong)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_LONGLONG */  {sizeof(long long), nvtx_alignof2(long long, longlong)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_ULONGLONG */ {sizeof(unsigned long long), nvtx_alignof2(unsigned long long,ulonglong)},\n\n    /*** Integer types with explicit size ***/\n    /* NVTX_PAYLOAD_ENTRY_TYPE_INT8 */   {sizeof(int8_t),   nvtx_alignof(int8_t)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_UINT8 */  {sizeof(uint8_t),  nvtx_alignof(uint8_t)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_INT16 */  {sizeof(int16_t),  nvtx_alignof(int16_t)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_UINT16 */ {sizeof(uint16_t), nvtx_alignof(uint16_t)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_INT32 */  {sizeof(int32_t),  nvtx_alignof(int32_t)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_UINT32 */ {sizeof(uint32_t), nvtx_alignof(uint32_t)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_INT64 */  {sizeof(int64_t),  nvtx_alignof(int64_t)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_UINT64 */ {sizeof(uint64_t), nvtx_alignof(uint64_t)},\n\n    /*** C floating point types ***/\n    /* NVTX_PAYLOAD_ENTRY_TYPE_FLOAT */      {sizeof(float),       nvtx_alignof(float)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_DOUBLE */     {sizeof(double),      nvtx_alignof(double)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_LONGDOUBLE */ {sizeof(long double), nvtx_alignof2(long double, longdouble)},\n\n    /* NVTX_PAYLOAD_ENTRY_TYPE_SIZE */    {sizeof(size_t),       nvtx_alignof(size_t)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_ADDRESS */ {sizeof(nvtx_payload_pointer_type), nvtx_alignof(nvtx_payload_pointer_type)},\n\n    /*** Special character types ***/\n    /* NVTX_PAYLOAD_ENTRY_TYPE_WCHAR */ {sizeof(wchar_t), nvtx_alignof(wchar_t)},\n\n#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || (defined(__cplusplus) && __cplusplus >= 201811L)\n    /* NVTX_PAYLOAD_ENTRY_TYPE_CHAR8 */ {sizeof(char8_t), nvtx_alignof(char8_t)},\n#else\n    /* NVTX_PAYLOAD_ENTRY_TYPE_CHAR8 */ {0, 0},\n#endif\n\n#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || (defined(__cplusplus) && __cplusplus >= 200704L)\n    /* NVTX_PAYLOAD_ENTRY_TYPE_CHAR16 */ {sizeof(char16_t), nvtx_alignof(char16_t)},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_CHAR32 */ {sizeof(char32_t), nvtx_alignof(char32_t)}\n#else\n    /* NVTX_PAYLOAD_ENTRY_TYPE_CHAR16 */ {0, 0},\n    /* NVTX_PAYLOAD_ENTRY_TYPE_CHAR32 */ {0, 0}\n#endif\n};\n\n#undef nvtx_alignof\n#undef nvtx_alignof2\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxExtTypes.h",
    "content": "/*\n* Copyright 2021  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n/* This header defines types which are used by the internal implementation\n*  of NVTX and callback subscribers.  API clients do not use these types,\n*  so they are defined here instead of in nvToolsExt.h to clarify they are\n*  not part of the NVTX client API. */\n\n#ifndef NVTXEXTTYPES_H\n#define NVTXEXTTYPES_H\n\n#ifndef NVTX_EXT_TYPES_GUARD\n#error Never include this file directly -- it is automatically included by nvToolsExt[EXTENSION].h.\n#endif\n\ntypedef intptr_t (NVTX_API * NvtxExtGetExportFunction_t)(uint32_t exportFunctionId);\n\ntypedef struct nvtxExtModuleSegment_t\n{\n    size_t segmentId;\n    size_t slotCount;\n    intptr_t* functionSlots;\n} nvtxExtModuleSegment_t;\n\ntypedef struct nvtxExtModuleInfo_t\n{\n    uint16_t nvtxVer;\n    uint16_t structSize;\n    uint16_t moduleId;\n    uint16_t compatId;\n    size_t segmentsCount;\n    nvtxExtModuleSegment_t* segments;\n    NvtxExtGetExportFunction_t getExportFunction;\n    const void* extInfo;\n} nvtxExtModuleInfo_t;\n\ntypedef int (NVTX_API * NvtxExtInitializeInjectionFunc_t)(nvtxExtModuleInfo_t* moduleInfo);\n\n#endif /* NVTXEXTTYPES_H */\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxImpl.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_IMPL_GUARD\n#error Never include this file directly -- it is automatically included by nvToolsExt.h (except when NVTX_NO_IMPL is defined).\n#endif\n\n#include <stdlib.h>\n#include <stdio.h>\n#include <string.h>\n#include <wchar.h>\n\n/* ---- Include required platform headers ---- */\n\n#if defined(_WIN32)\n\n#include <windows.h>\n\n#else\n#include <unistd.h>\n\n#if defined(__ANDROID__)\n#include <android/api-level.h>\n#endif\n\n#if defined(__linux__) || defined(__CYGWIN__)\n#include <sched.h>\n#endif\n\n#include <sys/types.h>\n#include <limits.h>\n#include <dlfcn.h>\n#include <fcntl.h>\n#include <errno.h>\n#include <pthread.h>\n\n#endif\n\n/* ---- Define macros used in this file ---- */\n\n#define NVTX_INIT_STATE_FRESH 0\n#define NVTX_INIT_STATE_STARTED 1\n#define NVTX_INIT_STATE_COMPLETE 2\n\n#ifdef NVTX_DEBUG_PRINT\n#ifdef __ANDROID__\n#include <android/log.h>\n#define NVTX_ERR(...) __android_log_print(ANDROID_LOG_ERROR, \"NVTOOLSEXT\", __VA_ARGS__);\n#define NVTX_INFO(...) __android_log_print(ANDROID_LOG_INFO, \"NVTOOLSEXT\", __VA_ARGS__);\n#else\n#include <stdio.h>\n#define NVTX_ERR(...) fprintf(stderr, \"NVTX_ERROR: \" __VA_ARGS__)\n#define NVTX_INFO(...) fprintf(stderr, \"NVTX_INFO: \" __VA_ARGS__)\n#endif\n#else /* !defined(NVTX_DEBUG_PRINT) */\n#define NVTX_ERR(...)\n#define NVTX_INFO(...)\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n#ifdef __GNUC__\n#pragma GCC visibility push(hidden)\n#endif\n\n/* ---- Forward declare all functions referenced in globals ---- */\n\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)(void);\nNVTX_LINKONCE_FWDDECL_FUNCTION int NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxEtiGetModuleFunctionTable)(\n    NvtxCallbackModule module,\n    NvtxFunctionTable* out_table,\n    unsigned int* out_size);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxEtiSetInjectionNvtxVersion)(\n    uint32_t version);\nNVTX_LINKONCE_FWDDECL_FUNCTION const void* NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxGetExportTable)(\n    uint32_t exportTableId);\n\n#include \"nvtxInitDecls.h\"\n\n/* ---- Define all globals ---- */\n\ntypedef struct nvtxGlobals_t\n{\n    volatile unsigned int initState;\n    NvtxExportTableCallbacks etblCallbacks;\n    NvtxExportTableVersionInfo etblVersionInfo;\n\n    /* Implementation function pointers */\n    nvtxMarkEx_impl_fntype nvtxMarkEx_impl_fnptr;\n    nvtxMarkA_impl_fntype nvtxMarkA_impl_fnptr;\n    nvtxMarkW_impl_fntype nvtxMarkW_impl_fnptr;\n    nvtxRangeStartEx_impl_fntype nvtxRangeStartEx_impl_fnptr;\n    nvtxRangeStartA_impl_fntype nvtxRangeStartA_impl_fnptr;\n    nvtxRangeStartW_impl_fntype nvtxRangeStartW_impl_fnptr;\n    nvtxRangeEnd_impl_fntype nvtxRangeEnd_impl_fnptr;\n    nvtxRangePushEx_impl_fntype nvtxRangePushEx_impl_fnptr;\n    nvtxRangePushA_impl_fntype nvtxRangePushA_impl_fnptr;\n    nvtxRangePushW_impl_fntype nvtxRangePushW_impl_fnptr;\n    nvtxRangePop_impl_fntype nvtxRangePop_impl_fnptr;\n    nvtxNameCategoryA_impl_fntype nvtxNameCategoryA_impl_fnptr;\n    nvtxNameCategoryW_impl_fntype nvtxNameCategoryW_impl_fnptr;\n    nvtxNameOsThreadA_impl_fntype nvtxNameOsThreadA_impl_fnptr;\n    nvtxNameOsThreadW_impl_fntype nvtxNameOsThreadW_impl_fnptr;\n\n    nvtxNameCuDeviceA_fakeimpl_fntype nvtxNameCuDeviceA_impl_fnptr;\n    nvtxNameCuDeviceW_fakeimpl_fntype nvtxNameCuDeviceW_impl_fnptr;\n    nvtxNameCuContextA_fakeimpl_fntype nvtxNameCuContextA_impl_fnptr;\n    nvtxNameCuContextW_fakeimpl_fntype nvtxNameCuContextW_impl_fnptr;\n    nvtxNameCuStreamA_fakeimpl_fntype nvtxNameCuStreamA_impl_fnptr;\n    nvtxNameCuStreamW_fakeimpl_fntype nvtxNameCuStreamW_impl_fnptr;\n    nvtxNameCuEventA_fakeimpl_fntype nvtxNameCuEventA_impl_fnptr;\n    nvtxNameCuEventW_fakeimpl_fntype nvtxNameCuEventW_impl_fnptr;\n\n    nvtxNameClDeviceA_fakeimpl_fntype nvtxNameClDeviceA_impl_fnptr;\n    nvtxNameClDeviceW_fakeimpl_fntype nvtxNameClDeviceW_impl_fnptr;\n    nvtxNameClContextA_fakeimpl_fntype nvtxNameClContextA_impl_fnptr;\n    nvtxNameClContextW_fakeimpl_fntype nvtxNameClContextW_impl_fnptr;\n    nvtxNameClCommandQueueA_fakeimpl_fntype nvtxNameClCommandQueueA_impl_fnptr;\n    nvtxNameClCommandQueueW_fakeimpl_fntype nvtxNameClCommandQueueW_impl_fnptr;\n    nvtxNameClMemObjectA_fakeimpl_fntype nvtxNameClMemObjectA_impl_fnptr;\n    nvtxNameClMemObjectW_fakeimpl_fntype nvtxNameClMemObjectW_impl_fnptr;\n    nvtxNameClSamplerA_fakeimpl_fntype nvtxNameClSamplerA_impl_fnptr;\n    nvtxNameClSamplerW_fakeimpl_fntype nvtxNameClSamplerW_impl_fnptr;\n    nvtxNameClProgramA_fakeimpl_fntype nvtxNameClProgramA_impl_fnptr;\n    nvtxNameClProgramW_fakeimpl_fntype nvtxNameClProgramW_impl_fnptr;\n    nvtxNameClEventA_fakeimpl_fntype nvtxNameClEventA_impl_fnptr;\n    nvtxNameClEventW_fakeimpl_fntype nvtxNameClEventW_impl_fnptr;\n\n    nvtxNameCudaDeviceA_impl_fntype nvtxNameCudaDeviceA_impl_fnptr;\n    nvtxNameCudaDeviceW_impl_fntype nvtxNameCudaDeviceW_impl_fnptr;\n    nvtxNameCudaStreamA_fakeimpl_fntype nvtxNameCudaStreamA_impl_fnptr;\n    nvtxNameCudaStreamW_fakeimpl_fntype nvtxNameCudaStreamW_impl_fnptr;\n    nvtxNameCudaEventA_fakeimpl_fntype nvtxNameCudaEventA_impl_fnptr;\n    nvtxNameCudaEventW_fakeimpl_fntype nvtxNameCudaEventW_impl_fnptr;\n\n    nvtxDomainMarkEx_impl_fntype nvtxDomainMarkEx_impl_fnptr;\n    nvtxDomainRangeStartEx_impl_fntype nvtxDomainRangeStartEx_impl_fnptr;\n    nvtxDomainRangeEnd_impl_fntype nvtxDomainRangeEnd_impl_fnptr;\n    nvtxDomainRangePushEx_impl_fntype nvtxDomainRangePushEx_impl_fnptr;\n    nvtxDomainRangePop_impl_fntype nvtxDomainRangePop_impl_fnptr;\n    nvtxDomainResourceCreate_impl_fntype nvtxDomainResourceCreate_impl_fnptr;\n    nvtxDomainResourceDestroy_impl_fntype nvtxDomainResourceDestroy_impl_fnptr;\n    nvtxDomainNameCategoryA_impl_fntype nvtxDomainNameCategoryA_impl_fnptr;\n    nvtxDomainNameCategoryW_impl_fntype nvtxDomainNameCategoryW_impl_fnptr;\n    nvtxDomainRegisterStringA_impl_fntype nvtxDomainRegisterStringA_impl_fnptr;\n    nvtxDomainRegisterStringW_impl_fntype nvtxDomainRegisterStringW_impl_fnptr;\n    nvtxDomainCreateA_impl_fntype nvtxDomainCreateA_impl_fnptr;\n    nvtxDomainCreateW_impl_fntype nvtxDomainCreateW_impl_fnptr;\n    nvtxDomainDestroy_impl_fntype nvtxDomainDestroy_impl_fnptr;\n    nvtxInitialize_impl_fntype nvtxInitialize_impl_fnptr;\n\n    nvtxDomainSyncUserCreate_impl_fntype nvtxDomainSyncUserCreate_impl_fnptr;\n    nvtxDomainSyncUserDestroy_impl_fntype nvtxDomainSyncUserDestroy_impl_fnptr;\n    nvtxDomainSyncUserAcquireStart_impl_fntype nvtxDomainSyncUserAcquireStart_impl_fnptr;\n    nvtxDomainSyncUserAcquireFailed_impl_fntype nvtxDomainSyncUserAcquireFailed_impl_fnptr;\n    nvtxDomainSyncUserAcquireSuccess_impl_fntype nvtxDomainSyncUserAcquireSuccess_impl_fnptr;\n    nvtxDomainSyncUserReleasing_impl_fntype nvtxDomainSyncUserReleasing_impl_fnptr;\n\n    /* Tables of function pointers -- Extra null added to the end to ensure\n    *  a crash instead of silent corruption if a tool reads off the end. */\n    NvtxFunctionPointer* functionTable_CORE  [NVTX_CBID_CORE_SIZE   + 1];\n    NvtxFunctionPointer* functionTable_CUDA  [NVTX_CBID_CUDA_SIZE   + 1];\n    NvtxFunctionPointer* functionTable_OPENCL[NVTX_CBID_OPENCL_SIZE + 1];\n    NvtxFunctionPointer* functionTable_CUDART[NVTX_CBID_CUDART_SIZE + 1];\n    NvtxFunctionPointer* functionTable_CORE2 [NVTX_CBID_CORE2_SIZE  + 1];\n    NvtxFunctionPointer* functionTable_SYNC  [NVTX_CBID_SYNC_SIZE   + 1];\n} nvtxGlobals_t;\n\nNVTX_LINKONCE_DEFINE_GLOBAL nvtxGlobals_t NVTX_VERSIONED_IDENTIFIER(nvtxGlobals) =\n{\n    NVTX_INIT_STATE_FRESH,\n\n    {\n        sizeof(NvtxExportTableCallbacks),\n        NVTX_VERSIONED_IDENTIFIER(nvtxEtiGetModuleFunctionTable)\n    },\n    {\n        sizeof(NvtxExportTableVersionInfo),\n        NVTX_VERSION,\n        0,\n        NVTX_VERSIONED_IDENTIFIER(nvtxEtiSetInjectionNvtxVersion)\n    },\n\n    /* Implementation function pointers */\n    NVTX_VERSIONED_IDENTIFIER(nvtxMarkEx_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxMarkA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxMarkW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxRangeStartEx_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxRangeStartA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxRangeStartW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxRangeEnd_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxRangePushEx_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxRangePushA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxRangePushW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxRangePop_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCategoryA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCategoryW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameOsThreadA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameOsThreadW_impl_init),\n\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCuDeviceA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCuDeviceW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCuContextA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCuContextW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCuStreamA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCuStreamW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCuEventA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCuEventW_impl_init),\n\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameClDeviceA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameClDeviceW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameClContextA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameClContextW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameClCommandQueueA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameClCommandQueueW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameClMemObjectA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameClMemObjectW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameClSamplerA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameClSamplerW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameClProgramA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameClProgramW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameClEventA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameClEventW_impl_init),\n\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaDeviceA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaDeviceW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaStreamA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaStreamW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaEventA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaEventW_impl_init),\n\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainMarkEx_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangeStartEx_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangeEnd_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangePushEx_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangePop_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainResourceCreate_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainResourceDestroy_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainNameCategoryA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainNameCategoryW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainRegisterStringA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainRegisterStringW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainCreateA_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainCreateW_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainDestroy_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitialize_impl_init),\n\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserCreate_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserDestroy_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserAcquireStart_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserAcquireFailed_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserAcquireSuccess_impl_init),\n    NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserReleasing_impl_init),\n\n    /* Tables of function pointers */\n    {\n        0,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxMarkEx_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxMarkA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxMarkW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeStartEx_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeStartA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeStartW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeEnd_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePushEx_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePushA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePushW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePop_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCategoryA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCategoryW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameOsThreadA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameOsThreadW_impl_fnptr,\n        0\n    },\n    {\n        0,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuDeviceA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuDeviceW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuContextA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuContextW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuStreamA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuStreamW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuEventA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuEventW_impl_fnptr,\n        0\n    },\n    {\n        0,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClDeviceA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClDeviceW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClContextA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClContextW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClCommandQueueA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClCommandQueueW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClMemObjectA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClMemObjectW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClSamplerA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClSamplerW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClProgramA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClProgramW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClEventA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClEventW_impl_fnptr,\n        0\n    },\n    {\n        0,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaDeviceA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaDeviceW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaStreamA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaStreamW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaEventA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaEventW_impl_fnptr,\n        0\n    },\n    {\n        0,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainMarkEx_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangeStartEx_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangeEnd_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangePushEx_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangePop_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainResourceCreate_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainResourceDestroy_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainNameCategoryA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainNameCategoryW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRegisterStringA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRegisterStringW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainCreateA_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainCreateW_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainDestroy_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxInitialize_impl_fnptr,\n        0\n    },\n    {\n        0,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserCreate_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserDestroy_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserAcquireStart_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserAcquireFailed_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserAcquireSuccess_impl_fnptr,\n        (NvtxFunctionPointer*)&NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserReleasing_impl_fnptr,\n        0\n    }\n};\n\n/* ---- Define static inline implementations of core API functions ---- */\n\n#include \"nvtxImplCore.h\"\n\n/* ---- Define implementations of export table functions ---- */\n\nNVTX_LINKONCE_DEFINE_FUNCTION int NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxEtiGetModuleFunctionTable)(\n    NvtxCallbackModule module,\n    NvtxFunctionTable* out_table,\n    unsigned int* out_size)\n{\n    unsigned int bytes = 0;\n    NvtxFunctionTable table = (NvtxFunctionTable)0;\n\n    switch (module)\n    {\n    case NVTX_CB_MODULE_CORE:\n        table = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).functionTable_CORE;\n        bytes = (unsigned int)sizeof(NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).functionTable_CORE);\n        break;\n    case NVTX_CB_MODULE_CUDA:\n        table = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).functionTable_CUDA;\n        bytes = (unsigned int)sizeof(NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).functionTable_CUDA);\n        break;\n    case NVTX_CB_MODULE_OPENCL:\n        table = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).functionTable_OPENCL;\n        bytes = (unsigned int)sizeof(NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).functionTable_OPENCL);\n        break;\n    case NVTX_CB_MODULE_CUDART:\n        table = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).functionTable_CUDART;\n        bytes = (unsigned int)sizeof(NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).functionTable_CUDART);\n        break;\n    case NVTX_CB_MODULE_CORE2:\n        table = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).functionTable_CORE2;\n        bytes = (unsigned int)sizeof(NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).functionTable_CORE2);\n        break;\n    case NVTX_CB_MODULE_SYNC:\n        table = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).functionTable_SYNC;\n        bytes = (unsigned int)sizeof(NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).functionTable_SYNC);\n        break;\n    default: return 0;\n    }\n\n    if (out_size)\n        *out_size = (bytes / (unsigned int)sizeof(NvtxFunctionPointer*)) - 1;\n\n    if (out_table)\n        *out_table = table;\n\n    return 1;\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION const void* NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxGetExportTable)(uint32_t exportTableId)\n{\n    switch (exportTableId)\n    {\n    case NVTX_ETID_CALLBACKS:       return &NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).etblCallbacks;\n    case NVTX_ETID_VERSIONINFO:     return &NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).etblVersionInfo;\n    default:                        return 0;\n    }\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxEtiSetInjectionNvtxVersion)(uint32_t version)\n{\n    /* Reserved for custom implementations to resolve problems with tools */\n    (void)version;\n}\n\n/* ---- Define implementations of init versions of all API functions ---- */\n\n#include \"nvtxInitDefs.h\"\n\n/* ---- Define implementations of initialization functions ---- */\n\n#include \"nvtxInit.h\"\n\n#ifdef __GNUC__\n#pragma GCC visibility pop\n#endif\n\n#ifdef __cplusplus\n} /* extern \"C\" */\n#endif /* __cplusplus */\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxImplCore.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\nNVTX_DECLSPEC void NVTX_API nvtxMarkEx(const nvtxEventAttributes_t* eventAttrib)\n{\n#ifndef NVTX_DISABLE\n    nvtxMarkEx_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxMarkEx_impl_fnptr;\n    if(local!=0)\n        (*local)(eventAttrib);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxMarkA(const char* message)\n{\n#ifndef NVTX_DISABLE\n    nvtxMarkA_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxMarkA_impl_fnptr;\n    if(local!=0)\n        (*local)(message);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxMarkW(const wchar_t* message)\n{\n#ifndef NVTX_DISABLE\n    nvtxMarkW_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxMarkW_impl_fnptr;\n    if(local!=0)\n        (*local)(message);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC nvtxRangeId_t NVTX_API nvtxRangeStartEx(const nvtxEventAttributes_t* eventAttrib)\n{\n#ifndef NVTX_DISABLE\n    nvtxRangeStartEx_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeStartEx_impl_fnptr;\n    if(local!=0)\n        return (*local)(eventAttrib);\n    else\n#endif  /*NVTX_DISABLE*/\n        return (nvtxRangeId_t)0;\n}\n\nNVTX_DECLSPEC nvtxRangeId_t NVTX_API nvtxRangeStartA(const char* message)\n{\n#ifndef NVTX_DISABLE\n    nvtxRangeStartA_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeStartA_impl_fnptr;\n    if(local!=0)\n        return (*local)(message);\n    else\n#endif  /*NVTX_DISABLE*/\n        return (nvtxRangeId_t)0;\n}\n\nNVTX_DECLSPEC nvtxRangeId_t NVTX_API nvtxRangeStartW(const wchar_t* message)\n{\n#ifndef NVTX_DISABLE\n    nvtxRangeStartW_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeStartW_impl_fnptr;\n    if(local!=0)\n        return (*local)(message);\n    else\n#endif  /*NVTX_DISABLE*/\n        return (nvtxRangeId_t)0;\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxRangeEnd(nvtxRangeId_t id)\n{\n#ifndef NVTX_DISABLE\n    nvtxRangeEnd_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeEnd_impl_fnptr;\n    if(local!=0)\n        (*local)(id);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC int NVTX_API nvtxRangePushEx(const nvtxEventAttributes_t* eventAttrib)\n{\n#ifndef NVTX_DISABLE\n    nvtxRangePushEx_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePushEx_impl_fnptr;\n    if(local!=0)\n        return (*local)(eventAttrib);\n    else\n#endif  /*NVTX_DISABLE*/\n        return (int)NVTX_NO_PUSH_POP_TRACKING;\n}\n\nNVTX_DECLSPEC int NVTX_API nvtxRangePushA(const char* message)\n{\n#ifndef NVTX_DISABLE\n    nvtxRangePushA_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePushA_impl_fnptr;\n    if(local!=0)\n        return (*local)(message);\n    else\n#endif  /*NVTX_DISABLE*/\n        return (int)NVTX_NO_PUSH_POP_TRACKING;\n}\n\nNVTX_DECLSPEC int NVTX_API nvtxRangePushW(const wchar_t* message)\n{\n#ifndef NVTX_DISABLE\n    nvtxRangePushW_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePushW_impl_fnptr;\n    if(local!=0)\n        return (*local)(message);\n    else\n#endif  /*NVTX_DISABLE*/\n        return (int)NVTX_NO_PUSH_POP_TRACKING;\n}\n\nNVTX_DECLSPEC int NVTX_API nvtxRangePop(void)\n{\n#ifndef NVTX_DISABLE\n    nvtxRangePop_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePop_impl_fnptr;\n    if(local!=0)\n        return (*local)();\n    else\n#endif  /*NVTX_DISABLE*/\n        return (int)NVTX_NO_PUSH_POP_TRACKING;\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCategoryA(uint32_t category, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCategoryA_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCategoryA_impl_fnptr;\n    if(local!=0)\n        (*local)(category, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCategoryW(uint32_t category, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCategoryW_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCategoryW_impl_fnptr;\n    if(local!=0)\n        (*local)(category, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameOsThreadA(uint32_t threadId, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameOsThreadA_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameOsThreadA_impl_fnptr;\n    if(local!=0)\n        (*local)(threadId, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameOsThreadW(uint32_t threadId, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameOsThreadW_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameOsThreadW_impl_fnptr;\n    if(local!=0)\n        (*local)(threadId, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxDomainMarkEx(nvtxDomainHandle_t domain, const nvtxEventAttributes_t* eventAttrib)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainMarkEx_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainMarkEx_impl_fnptr;\n    if(local!=0)\n        (*local)(domain, eventAttrib);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC nvtxRangeId_t NVTX_API nvtxDomainRangeStartEx(nvtxDomainHandle_t domain, const nvtxEventAttributes_t* eventAttrib)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainRangeStartEx_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangeStartEx_impl_fnptr;\n    if(local!=0)\n        return (*local)(domain, eventAttrib);\n    else\n#endif  /*NVTX_DISABLE*/\n        return (nvtxRangeId_t)0;\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxDomainRangeEnd(nvtxDomainHandle_t domain, nvtxRangeId_t id)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainRangeEnd_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangeEnd_impl_fnptr;\n    if(local!=0)\n        (*local)(domain, id);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC int NVTX_API nvtxDomainRangePushEx(nvtxDomainHandle_t domain, const nvtxEventAttributes_t* eventAttrib)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainRangePushEx_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangePushEx_impl_fnptr;\n    if(local!=0)\n        return (*local)(domain, eventAttrib);\n    else\n#endif  /*NVTX_DISABLE*/\n        return (int)NVTX_NO_PUSH_POP_TRACKING;\n}\n\nNVTX_DECLSPEC int NVTX_API nvtxDomainRangePop(nvtxDomainHandle_t domain)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainRangePop_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangePop_impl_fnptr;\n    if(local!=0)\n        return (*local)(domain);\n    else\n#endif  /*NVTX_DISABLE*/\n        return (int)NVTX_NO_PUSH_POP_TRACKING;\n}\n\nNVTX_DECLSPEC nvtxResourceHandle_t NVTX_API nvtxDomainResourceCreate(nvtxDomainHandle_t domain, nvtxResourceAttributes_t* attribs)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainResourceCreate_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainResourceCreate_impl_fnptr;\n    if(local!=0)\n        return (*local)(domain, attribs);\n    else\n#endif  /*NVTX_DISABLE*/\n        return (nvtxResourceHandle_t)0;\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxDomainResourceDestroy(nvtxResourceHandle_t resource)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainResourceDestroy_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainResourceDestroy_impl_fnptr;\n    if(local!=0)\n        (*local)(resource);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxDomainNameCategoryA(nvtxDomainHandle_t domain, uint32_t category, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainNameCategoryA_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainNameCategoryA_impl_fnptr;\n    if(local!=0)\n        (*local)(domain, category, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxDomainNameCategoryW(nvtxDomainHandle_t domain, uint32_t category, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainNameCategoryW_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainNameCategoryW_impl_fnptr;\n    if(local!=0)\n        (*local)(domain, category, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC nvtxStringHandle_t NVTX_API nvtxDomainRegisterStringA(nvtxDomainHandle_t domain, const char* string)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainRegisterStringA_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRegisterStringA_impl_fnptr;\n    if(local!=0)\n        return (*local)(domain, string);\n    else\n#endif  /*NVTX_DISABLE*/\n        return (nvtxStringHandle_t)0;\n}\n\nNVTX_DECLSPEC nvtxStringHandle_t NVTX_API nvtxDomainRegisterStringW(nvtxDomainHandle_t domain, const wchar_t* string)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainRegisterStringW_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRegisterStringW_impl_fnptr;\n    if(local!=0)\n        return (*local)(domain, string);\n    else\n#endif  /*NVTX_DISABLE*/\n        return (nvtxStringHandle_t)0;\n}\n\nNVTX_DECLSPEC nvtxDomainHandle_t NVTX_API nvtxDomainCreateA(const char* message)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainCreateA_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainCreateA_impl_fnptr;\n    if(local!=0)\n        return (*local)(message);\n    else\n#endif  /*NVTX_DISABLE*/\n        return (nvtxDomainHandle_t)0;\n}\n\nNVTX_DECLSPEC nvtxDomainHandle_t NVTX_API nvtxDomainCreateW(const wchar_t* message)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainCreateW_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainCreateW_impl_fnptr;\n    if(local!=0)\n        return (*local)(message);\n    else\n#endif  /*NVTX_DISABLE*/\n        return (nvtxDomainHandle_t)0;\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxDomainDestroy(nvtxDomainHandle_t domain)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainDestroy_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainDestroy_impl_fnptr;\n    if(local!=0)\n        (*local)(domain);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxInitialize(const void* reserved)\n{\n#ifndef NVTX_DISABLE\n    nvtxInitialize_impl_fntype local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxInitialize_impl_fnptr;\n    if(local!=0)\n        (*local)(reserved);\n#endif /*NVTX_DISABLE*/\n}\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxImplCudaRt_v3.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_IMPL_GUARD_CUDART\n#error Never include this file directly -- it is automatically included by nvToolsExtCudaRt.h (except when NVTX_NO_IMPL is defined).\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\ntypedef void (NVTX_API * nvtxNameCudaDeviceA_impl_fntype)(int device, const char* name);\ntypedef void (NVTX_API * nvtxNameCudaDeviceW_impl_fntype)(int device, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameCudaStreamA_impl_fntype)(cudaStream_t stream, const char* name);\ntypedef void (NVTX_API * nvtxNameCudaStreamW_impl_fntype)(cudaStream_t stream, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameCudaEventA_impl_fntype)(cudaEvent_t event, const char* name);\ntypedef void (NVTX_API * nvtxNameCudaEventW_impl_fntype)(cudaEvent_t event, const wchar_t* name);\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCudaDeviceA(int device, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCudaDeviceA_impl_fntype local = (nvtxNameCudaDeviceA_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaDeviceA_impl_fnptr;\n    if(local!=0)\n        (*local)(device, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCudaDeviceW(int device, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCudaDeviceW_impl_fntype local = (nvtxNameCudaDeviceW_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaDeviceW_impl_fnptr;\n    if(local!=0)\n        (*local)(device, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCudaStreamA(cudaStream_t stream, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCudaStreamA_impl_fntype local = (nvtxNameCudaStreamA_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaStreamA_impl_fnptr;\n    if(local!=0)\n        (*local)(stream, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCudaStreamW(cudaStream_t stream, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCudaStreamW_impl_fntype local = (nvtxNameCudaStreamW_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaStreamW_impl_fnptr;\n    if(local!=0)\n        (*local)(stream, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCudaEventA(cudaEvent_t event, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCudaEventA_impl_fntype local = (nvtxNameCudaEventA_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaEventA_impl_fnptr;\n    if(local!=0)\n        (*local)(event, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCudaEventW(cudaEvent_t event, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCudaEventW_impl_fntype local = (nvtxNameCudaEventW_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaEventW_impl_fnptr;\n    if(local!=0)\n        (*local)(event, name);\n#endif /*NVTX_DISABLE*/\n}\n\n#ifdef __cplusplus\n} /* extern \"C\" */\n#endif /* __cplusplus */\n\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxImplCuda_v3.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_IMPL_GUARD_CUDA\n#error Never include this file directly -- it is automatically included by nvToolsExtCuda.h (except when NVTX_NO_IMPL is defined).\n#endif\n\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\ntypedef void (NVTX_API * nvtxNameCuDeviceA_impl_fntype)(CUdevice device, const char* name);\ntypedef void (NVTX_API * nvtxNameCuDeviceW_impl_fntype)(CUdevice device, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameCuContextA_impl_fntype)(CUcontext context, const char* name);\ntypedef void (NVTX_API * nvtxNameCuContextW_impl_fntype)(CUcontext context, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameCuStreamA_impl_fntype)(CUstream stream, const char* name);\ntypedef void (NVTX_API * nvtxNameCuStreamW_impl_fntype)(CUstream stream, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameCuEventA_impl_fntype)(CUevent event, const char* name);\ntypedef void (NVTX_API * nvtxNameCuEventW_impl_fntype)(CUevent event, const wchar_t* name);\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCuDeviceA(CUdevice device, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCuDeviceA_impl_fntype local = (nvtxNameCuDeviceA_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuDeviceA_impl_fnptr;\n    if(local!=0)\n        (*local)(device, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCuDeviceW(CUdevice device, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCuDeviceW_impl_fntype local = (nvtxNameCuDeviceW_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuDeviceW_impl_fnptr;\n    if(local!=0)\n        (*local)(device, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCuContextA(CUcontext context, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCuContextA_impl_fntype local = (nvtxNameCuContextA_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuContextA_impl_fnptr;\n    if(local!=0)\n        (*local)(context, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCuContextW(CUcontext context, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCuContextW_impl_fntype local = (nvtxNameCuContextW_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuContextW_impl_fnptr;\n    if(local!=0)\n        (*local)(context, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCuStreamA(CUstream stream, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCuStreamA_impl_fntype local = (nvtxNameCuStreamA_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuStreamA_impl_fnptr;\n    if(local!=0)\n        (*local)(stream, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCuStreamW(CUstream stream, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCuStreamW_impl_fntype local = (nvtxNameCuStreamW_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuStreamW_impl_fnptr;\n    if(local!=0)\n        (*local)(stream, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCuEventA(CUevent event, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCuEventA_impl_fntype local = (nvtxNameCuEventA_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuEventA_impl_fnptr;\n    if(local!=0)\n        (*local)(event, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameCuEventW(CUevent event, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameCuEventW_impl_fntype local = (nvtxNameCuEventW_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuEventW_impl_fnptr;\n    if(local!=0)\n        (*local)(event, name);\n#endif /*NVTX_DISABLE*/\n}\n\n#ifdef __cplusplus\n} /* extern \"C\" */\n#endif /* __cplusplus */\n\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxImplOpenCL_v3.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_IMPL_GUARD_OPENCL\n#error Never include this file directly -- it is automatically included by nvToolsExtCuda.h (except when NVTX_NO_IMPL is defined).\n#endif\n\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\ntypedef void (NVTX_API * nvtxNameClDeviceA_impl_fntype)(cl_device_id device, const char* name);\ntypedef void (NVTX_API * nvtxNameClDeviceW_impl_fntype)(cl_device_id device, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameClContextA_impl_fntype)(cl_context context, const char* name);\ntypedef void (NVTX_API * nvtxNameClContextW_impl_fntype)(cl_context context, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameClCommandQueueA_impl_fntype)(cl_command_queue command_queue, const char* name);\ntypedef void (NVTX_API * nvtxNameClCommandQueueW_impl_fntype)(cl_command_queue command_queue, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameClMemObjectA_impl_fntype)(cl_mem memobj, const char* name);\ntypedef void (NVTX_API * nvtxNameClMemObjectW_impl_fntype)(cl_mem memobj, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameClSamplerA_impl_fntype)(cl_sampler sampler, const char* name);\ntypedef void (NVTX_API * nvtxNameClSamplerW_impl_fntype)(cl_sampler sampler, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameClProgramA_impl_fntype)(cl_program program, const char* name);\ntypedef void (NVTX_API * nvtxNameClProgramW_impl_fntype)(cl_program program, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameClEventA_impl_fntype)(cl_event evnt, const char* name);\ntypedef void (NVTX_API * nvtxNameClEventW_impl_fntype)(cl_event evnt, const wchar_t* name);\n\nNVTX_DECLSPEC void NVTX_API nvtxNameClDeviceA(cl_device_id device, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameClDeviceA_impl_fntype local = (nvtxNameClDeviceA_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClDeviceA_impl_fnptr;\n    if(local!=0)\n        (*local)(device, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameClDeviceW(cl_device_id device, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameClDeviceW_impl_fntype local = (nvtxNameClDeviceW_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClDeviceW_impl_fnptr;\n    if(local!=0)\n        (*local)(device, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameClContextA(cl_context context, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameClContextA_impl_fntype local = (nvtxNameClContextA_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClContextA_impl_fnptr;\n    if(local!=0)\n        (*local)(context, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameClContextW(cl_context context, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameClContextW_impl_fntype local = (nvtxNameClContextW_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClContextW_impl_fnptr;\n    if(local!=0)\n        (*local)(context, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameClCommandQueueA(cl_command_queue command_queue, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameClCommandQueueA_impl_fntype local = (nvtxNameClCommandQueueA_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClCommandQueueA_impl_fnptr;\n    if(local!=0)\n        (*local)(command_queue, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameClCommandQueueW(cl_command_queue command_queue, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameClCommandQueueW_impl_fntype local = (nvtxNameClCommandQueueW_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClCommandQueueW_impl_fnptr;\n    if(local!=0)\n        (*local)(command_queue, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameClMemObjectA(cl_mem memobj, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameClMemObjectA_impl_fntype local = (nvtxNameClMemObjectA_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClMemObjectA_impl_fnptr;\n    if(local!=0)\n        (*local)(memobj, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameClMemObjectW(cl_mem memobj, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameClMemObjectW_impl_fntype local = (nvtxNameClMemObjectW_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClMemObjectW_impl_fnptr;\n    if(local!=0)\n        (*local)(memobj, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameClSamplerA(cl_sampler sampler, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameClSamplerA_impl_fntype local = (nvtxNameClSamplerA_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClSamplerA_impl_fnptr;\n    if(local!=0)\n        (*local)(sampler, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameClSamplerW(cl_sampler sampler, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameClSamplerW_impl_fntype local = (nvtxNameClSamplerW_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClSamplerW_impl_fnptr;\n    if(local!=0)\n        (*local)(sampler, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameClProgramA(cl_program program, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameClProgramA_impl_fntype local = (nvtxNameClProgramA_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClProgramA_impl_fnptr;\n    if(local!=0)\n        (*local)(program, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameClProgramW(cl_program program, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameClProgramW_impl_fntype local = (nvtxNameClProgramW_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClProgramW_impl_fnptr;\n    if(local!=0)\n        (*local)(program, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameClEventA(cl_event evnt, const char* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameClEventA_impl_fntype local = (nvtxNameClEventA_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClEventA_impl_fnptr;\n    if(local!=0)\n        (*local)(evnt, name);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxNameClEventW(cl_event evnt, const wchar_t* name)\n{\n#ifndef NVTX_DISABLE\n    nvtxNameClEventW_impl_fntype local = (nvtxNameClEventW_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClEventW_impl_fnptr;\n    if(local!=0)\n        (*local)(evnt, name);\n#endif /*NVTX_DISABLE*/\n}\n\n#ifdef __cplusplus\n} /* extern \"C\" */\n#endif /* __cplusplus */\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxImplSync_v3.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_IMPL_GUARD_SYNC\n#error Never include this file directly -- it is automatically included by nvToolsExtCuda.h (except when NVTX_NO_IMPL is defined).\n#endif\n\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\ntypedef nvtxSyncUser_t (NVTX_API * nvtxDomainSyncUserCreate_impl_fntype)(nvtxDomainHandle_t domain, const nvtxSyncUserAttributes_t* attribs);\ntypedef void (NVTX_API * nvtxDomainSyncUserDestroy_impl_fntype)(nvtxSyncUser_t handle);\ntypedef void (NVTX_API * nvtxDomainSyncUserAcquireStart_impl_fntype)(nvtxSyncUser_t handle);\ntypedef void (NVTX_API * nvtxDomainSyncUserAcquireFailed_impl_fntype)(nvtxSyncUser_t handle);\ntypedef void (NVTX_API * nvtxDomainSyncUserAcquireSuccess_impl_fntype)(nvtxSyncUser_t handle);\ntypedef void (NVTX_API * nvtxDomainSyncUserReleasing_impl_fntype)(nvtxSyncUser_t handle);\n\nNVTX_DECLSPEC nvtxSyncUser_t NVTX_API nvtxDomainSyncUserCreate(nvtxDomainHandle_t domain, const nvtxSyncUserAttributes_t* attribs)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainSyncUserCreate_impl_fntype local = (nvtxDomainSyncUserCreate_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserCreate_impl_fnptr;\n    if(local!=0)\n        return (*local)(domain, attribs);\n    else\n#endif  /*NVTX_DISABLE*/\n        return (nvtxSyncUser_t)0;\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserDestroy(nvtxSyncUser_t handle)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainSyncUserDestroy_impl_fntype local = (nvtxDomainSyncUserDestroy_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserDestroy_impl_fnptr;\n    if(local!=0)\n        (*local)(handle);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserAcquireStart(nvtxSyncUser_t handle)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainSyncUserAcquireStart_impl_fntype local = (nvtxDomainSyncUserAcquireStart_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserAcquireStart_impl_fnptr;\n    if(local!=0)\n        (*local)(handle);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserAcquireFailed(nvtxSyncUser_t handle)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainSyncUserAcquireFailed_impl_fntype local = (nvtxDomainSyncUserAcquireFailed_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserAcquireFailed_impl_fnptr;\n    if(local!=0)\n        (*local)(handle);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserAcquireSuccess(nvtxSyncUser_t handle)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainSyncUserAcquireSuccess_impl_fntype local = (nvtxDomainSyncUserAcquireSuccess_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserAcquireSuccess_impl_fnptr;\n    if(local!=0)\n        (*local)(handle);\n#endif /*NVTX_DISABLE*/\n}\n\nNVTX_DECLSPEC void NVTX_API nvtxDomainSyncUserReleasing(nvtxSyncUser_t handle)\n{\n#ifndef NVTX_DISABLE\n    nvtxDomainSyncUserReleasing_impl_fntype local = (nvtxDomainSyncUserReleasing_impl_fntype)NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserReleasing_impl_fnptr;\n    if(local!=0)\n        (*local)(handle);\n#endif /*NVTX_DISABLE*/\n}\n\n#ifdef __cplusplus\n} /* extern \"C\" */\n#endif /* __cplusplus */\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxInit.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_IMPL_GUARD\n#error Never include this file directly -- it is automatically included by nvToolsExt.h (except when NVTX_NO_IMPL is defined).\n#endif\n\n/* ---- Platform-independent helper definitions and functions ---- */\n\n/* Prefer macros over inline functions to reduce symbol resolution at link time */\n\n#if defined(_WIN32)\n#define NVTX_PATHCHAR   wchar_t\n#define NVTX_STR(x)     L##x\n#define NVTX_GETENV     _wgetenv\n#define NVTX_BUFSIZE    16384\n#define NVTX_DLLHANDLE  HMODULE\n#define NVTX_DLLOPEN(x) LoadLibraryW(x)\n#define NVTX_DLLFUNC    GetProcAddress\n#define NVTX_DLLCLOSE   FreeLibrary\n#define NVTX_YIELD()    SwitchToThread()\n#define NVTX_MEMBAR()   MemoryBarrier()\n#define NVTX_ATOMIC_WRITE_32(address, value)                        InterlockedExchange((volatile LONG*)address, value)\n#define NVTX_ATOMIC_CAS_32(old, address, exchange, comparand) old = InterlockedCompareExchange((volatile LONG*)address, exchange, comparand)\n#elif defined(__GNUC__)\n#define NVTX_PATHCHAR   char\n#define NVTX_STR(x)     x\n#define NVTX_GETENV     getenv\n#define NVTX_BUFSIZE    16384\n#define NVTX_DLLHANDLE  void*\n#define NVTX_DLLOPEN(x) dlopen(x, RTLD_LAZY)\n#define NVTX_DLLFUNC    dlsym\n#define NVTX_DLLCLOSE   dlclose\n#define NVTX_YIELD()    sched_yield()\n#define NVTX_MEMBAR()   __sync_synchronize()\n/* Ensure full memory barrier for atomics, to match Windows functions */\n#define NVTX_ATOMIC_WRITE_32(address, value)                  __sync_synchronize();       __sync_lock_test_and_set(address, value)\n#define NVTX_ATOMIC_CAS_32(old, address, exchange, comparand) __sync_synchronize(); old = __sync_val_compare_and_swap(address, exchange, comparand)\n#else\n#error The library does not support your configuration!\n#endif\n\n/* Define this to 1 for platforms that where pre-injected libraries can be discovered. */\n#if defined(_WIN32)\n/* TODO */\n#define NVTX_SUPPORT_ALREADY_INJECTED_LIBRARY 0\n#else\n#define NVTX_SUPPORT_ALREADY_INJECTED_LIBRARY 0\n#endif\n\n/* Define this to 1 for platforms that support environment variables */\n/* TODO: Detect UWP, a.k.a. Windows Store app, and set this to 0. */\n/* Try:  #if defined(WINAPI_FAMILY_PARTITION) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */\n#define NVTX_SUPPORT_ENV_VARS 1\n\n/* Define this to 1 for platforms that support dynamic/shared libraries */\n#define NVTX_SUPPORT_DYNAMIC_INJECTION_LIBRARY 1\n\n/* Injection libraries implementing InitializeInjectionNvtx2 may be statically linked,\n*  and this will override any dynamic injection.  Useful for platforms where dynamic\n*  injection is not available.  Since weak symbols not explicitly marked extern are\n*  guaranteed to be initialized to zero if no definitions are found by the linker, the\n*  dynamic injection process proceeds normally if pfnInitializeInjectionNvtx2 is 0. */\n#if defined(__GNUC__) && !defined(_WIN32) && !defined(__CYGWIN__)\n#define NVTX_SUPPORT_STATIC_INJECTION_LIBRARY 1\n/* To statically inject an NVTX library, define InitializeInjectionNvtx2_fnptr as a normal\n*  symbol (not weak) pointing to the implementation of InitializeInjectionNvtx2 (which\n*  does not need to be named \"InitializeInjectionNvtx2\" as is necessary in a dynamic\n*  injection library. */\n__attribute__((weak)) NvtxInitializeInjectionNvtxFunc_t InitializeInjectionNvtx2_fnptr;\n#else\n#define NVTX_SUPPORT_STATIC_INJECTION_LIBRARY 0\n#endif\n\n/* This function tries to find or load an NVTX injection library and get the\n*  address of its InitializeInjection2 function.  If such a function pointer\n*  is found, it is called, and passed the address of this NVTX instance's\n*  nvtxGetExportTable function, so the injection can attach to this instance.\n*  If the initialization fails for any reason, any dynamic library loaded will\n*  be freed, and all NVTX implementation functions will be set to no-ops.  If\n*  initialization succeeds, NVTX functions not attached to the tool will be set\n*  to no-ops.  This is implemented as one function instead of several small\n*  functions to minimize the number of weak symbols the linker must resolve.\n*  Order of search is:\n*  - Pre-injected library exporting InitializeInjectionNvtx2\n*  - Loadable library exporting InitializeInjectionNvtx2\n*      - Path specified by env var NVTX_INJECTION??_PATH (?? is 32 or 64)\n*      - On Android, libNvtxInjection??.so within the package (?? is 32 or 64)\n*  - Statically-linked injection library defining InitializeInjectionNvtx2_fnptr\n*/\nNVTX_LINKONCE_FWDDECL_FUNCTION int NVTX_VERSIONED_IDENTIFIER(nvtxInitializeInjectionLibrary)(void);\nNVTX_LINKONCE_DEFINE_FUNCTION int NVTX_VERSIONED_IDENTIFIER(nvtxInitializeInjectionLibrary)(void)\n{\n    const char* const initFuncName = \"InitializeInjectionNvtx2\";\n    NvtxInitializeInjectionNvtxFunc_t init_fnptr = (NvtxInitializeInjectionNvtxFunc_t)0;\n    NVTX_DLLHANDLE injectionLibraryHandle = (NVTX_DLLHANDLE)0;\n    int entryPointStatus = 0;\n\n#if NVTX_SUPPORT_ALREADY_INJECTED_LIBRARY\n    /* Use POSIX global symbol chain to query for init function from any module */\n    init_fnptr = (NvtxInitializeInjectionNvtxFunc_t)NVTX_DLLFUNC(0, initFuncName);\n#endif\n\n#if NVTX_SUPPORT_DYNAMIC_INJECTION_LIBRARY\n    /* Try discovering dynamic injection library to load */\n    if (!init_fnptr)\n    {\n#if NVTX_SUPPORT_ENV_VARS\n        /* If env var NVTX_INJECTION64_PATH is set, it should contain the path\n        *  to a 64-bit dynamic NVTX injection library (and similar for 32-bit). */\n        const NVTX_PATHCHAR* const nvtxEnvVarName = (sizeof(void*) == 4)\n            ? NVTX_STR(\"NVTX_INJECTION32_PATH\")\n            : NVTX_STR(\"NVTX_INJECTION64_PATH\");\n#endif /* NVTX_SUPPORT_ENV_VARS */\n        NVTX_PATHCHAR injectionLibraryPathBuf[NVTX_BUFSIZE];\n        const NVTX_PATHCHAR* injectionLibraryPath = (const NVTX_PATHCHAR*)0;\n\n        /* Refer to this variable explicitly in case all references to it are #if'ed out */\n        (void)injectionLibraryPathBuf;\n\n#if NVTX_SUPPORT_ENV_VARS\n        /* Disable the warning for getenv & _wgetenv -- this usage is safe because\n        *  these functions are not called again before using the returned value. */\n#if defined(_MSC_VER)\n#pragma warning( push )\n#pragma warning( disable : 4996 )\n#endif\n        injectionLibraryPath = NVTX_GETENV(nvtxEnvVarName);\n#if defined(_MSC_VER)\n#pragma warning( pop )\n#endif\n#endif\n\n#if defined(__ANDROID__)\n        if (!injectionLibraryPath)\n        {\n            const char *bits = (sizeof(void*) == 4) ? \"32\" : \"64\";\n            char cmdlineBuf[32];\n            char pkgName[PATH_MAX];\n            int count;\n            int pid;\n            FILE *fp;\n            size_t bytesRead;\n            size_t pos;\n\n            pid = (int)getpid();\n            count = snprintf(cmdlineBuf, sizeof(cmdlineBuf), \"/proc/%d/cmdline\", pid);\n            if (count <= 0 || count >= (int)sizeof(cmdlineBuf))\n            {\n                NVTX_ERR(\"Path buffer too small for: /proc/%d/cmdline\\n\", pid);\n                return NVTX_ERR_INIT_ACCESS_LIBRARY;\n            }\n\n            fp = fopen(cmdlineBuf, \"r\");\n            if (!fp)\n            {\n                NVTX_ERR(\"File couldn't be opened: %s\\n\", cmdlineBuf);\n                return NVTX_ERR_INIT_ACCESS_LIBRARY;\n            }\n\n            bytesRead = fread(pkgName, 1, sizeof(pkgName) - 1, fp);\n            fclose(fp);\n            if (bytesRead == 0)\n            {\n                NVTX_ERR(\"Package name couldn't be read from file: %s\\n\", cmdlineBuf);\n                return NVTX_ERR_INIT_ACCESS_LIBRARY;\n            }\n\n            pkgName[bytesRead] = 0;\n\n            /* String can contain colon as a process separator. In this case the package name is before the colon. */\n            pos = 0;\n            while (pos < bytesRead && pkgName[pos] != ':' && pkgName[pos] != '\\0')\n            {\n                ++pos;\n            }\n            pkgName[pos] = 0;\n\n            count = snprintf(injectionLibraryPathBuf, NVTX_BUFSIZE, \"/data/data/%s/files/libNvtxInjection%s.so\", pkgName, bits);\n            if (count <= 0 || count >= NVTX_BUFSIZE)\n            {\n                NVTX_ERR(\"Path buffer too small for: /data/data/%s/files/libNvtxInjection%s.so\\n\", pkgName, bits);\n                return NVTX_ERR_INIT_ACCESS_LIBRARY;\n            }\n\n            /* On Android, verify path is accessible due to aggressive file access restrictions. */\n            /* For dlopen, if the filename contains a leading slash, then it is interpreted as a */\n            /* relative or absolute pathname; otherwise it will follow the rules in ld.so. */\n            if (injectionLibraryPathBuf[0] == '/')\n            {\n#if (__ANDROID_API__ < 21)\n                int access_err = access(injectionLibraryPathBuf, F_OK | R_OK);\n#else\n                int access_err = faccessat(AT_FDCWD, injectionLibraryPathBuf, F_OK | R_OK, 0);\n#endif\n                if (access_err != 0)\n                {\n                    NVTX_ERR(\"Injection library path wasn't accessible [code=%s] [path=%s]\\n\", strerror(errno), injectionLibraryPathBuf);\n                    return NVTX_ERR_INIT_ACCESS_LIBRARY;\n                }\n            }\n            injectionLibraryPath = injectionLibraryPathBuf;\n        }\n#endif\n\n        /* At this point, injectionLibraryPath is specified if a dynamic\n        *  injection library was specified by a tool. */\n        if (injectionLibraryPath)\n        {\n            /* Load the injection library */\n            injectionLibraryHandle = NVTX_DLLOPEN(injectionLibraryPath);\n            if (!injectionLibraryHandle)\n            {\n                NVTX_ERR(\"Failed to load injection library\\n\");\n                return NVTX_ERR_INIT_LOAD_LIBRARY;\n            }\n            else\n            {\n                /* Attempt to get the injection library's entry-point */\n                init_fnptr = (NvtxInitializeInjectionNvtxFunc_t)NVTX_DLLFUNC(injectionLibraryHandle, initFuncName);\n                if (!init_fnptr)\n                {\n                    NVTX_DLLCLOSE(injectionLibraryHandle);\n                    NVTX_ERR(\"Failed to get address of function InitializeInjectionNvtx2 from injection library\\n\");\n                    return NVTX_ERR_INIT_MISSING_LIBRARY_ENTRY_POINT;\n                }\n            }\n        }\n    }\n#endif\n\n#if NVTX_SUPPORT_STATIC_INJECTION_LIBRARY\n    if (!init_fnptr)\n    {\n        /* Check weakly-defined function pointer.  A statically-linked injection can define this as\n        *  a normal symbol and it will take precedence over a dynamic injection. */\n        if (InitializeInjectionNvtx2_fnptr)\n        {\n            init_fnptr = InitializeInjectionNvtx2_fnptr;\n        }\n    }\n#endif\n\n    /* At this point, if init_fnptr is not set, then no tool has specified\n    *  an NVTX injection library -- return non-success result so all NVTX\n    *  API functions will be set to no-ops. */\n    if (!init_fnptr)\n    {\n        return NVTX_ERR_NO_INJECTION_LIBRARY_AVAILABLE;\n    }\n\n    /* Invoke injection library's initialization function.  If it returns\n    *  0 (failure) and a dynamic injection was loaded, unload it. */\n    entryPointStatus = init_fnptr(NVTX_VERSIONED_IDENTIFIER(nvtxGetExportTable));\n    if (entryPointStatus == 0)\n    {\n        NVTX_ERR(\"Failed to initialize injection library -- initialization function returned 0\\n\");\n        if (injectionLibraryHandle)\n        {\n            NVTX_DLLCLOSE(injectionLibraryHandle);\n        }\n        return NVTX_ERR_INIT_FAILED_LIBRARY_ENTRY_POINT;\n    }\n\n    return NVTX_SUCCESS;\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)(void)\n{\n    unsigned int old;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).initState == NVTX_INIT_STATE_COMPLETE)\n    {\n        return;\n    }\n\n    NVTX_ATOMIC_CAS_32(\n        old,\n        &NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).initState,\n        NVTX_INIT_STATE_STARTED,\n        NVTX_INIT_STATE_FRESH);\n    if (old == NVTX_INIT_STATE_FRESH)\n    {\n        int result;\n        int forceAllToNoops;\n\n        /* Load & initialize injection library -- it will assign the function pointers */\n        result = NVTX_VERSIONED_IDENTIFIER(nvtxInitializeInjectionLibrary)();\n\n        /* Set all pointers not assigned by the injection to null */\n        forceAllToNoops = result != NVTX_SUCCESS; /* Set all to null if injection init failed */\n        NVTX_VERSIONED_IDENTIFIER(nvtxSetInitFunctionsToNoops)(forceAllToNoops);\n\n        /* Signal that initialization has finished, so now the assigned function pointers will be used */\n        NVTX_ATOMIC_WRITE_32(\n            &NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).initState,\n            NVTX_INIT_STATE_COMPLETE);\n    }\n    else /* Spin-wait until initialization has finished */\n    {\n        NVTX_MEMBAR();\n        while (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).initState != NVTX_INIT_STATE_COMPLETE)\n        {\n            NVTX_YIELD();\n            NVTX_MEMBAR();\n        }\n    }\n}\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxInitDecls.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_IMPL_GUARD\n#error Never include this file directly -- it is automatically included by nvToolsExt.h (except when NVTX_NO_IMPL is defined).\n#endif\n\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxMarkEx_impl_init)(const nvtxEventAttributes_t* eventAttrib);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxMarkA_impl_init)(const char* message);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxMarkW_impl_init)(const wchar_t* message);\nNVTX_LINKONCE_FWDDECL_FUNCTION nvtxRangeId_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangeStartEx_impl_init)(const nvtxEventAttributes_t* eventAttrib);\nNVTX_LINKONCE_FWDDECL_FUNCTION nvtxRangeId_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangeStartA_impl_init)(const char* message);\nNVTX_LINKONCE_FWDDECL_FUNCTION nvtxRangeId_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangeStartW_impl_init)(const wchar_t* message);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangeEnd_impl_init)(nvtxRangeId_t id);\nNVTX_LINKONCE_FWDDECL_FUNCTION int NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangePushEx_impl_init)(const nvtxEventAttributes_t* eventAttrib);\nNVTX_LINKONCE_FWDDECL_FUNCTION int NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangePushA_impl_init)(const char* message);\nNVTX_LINKONCE_FWDDECL_FUNCTION int NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangePushW_impl_init)(const wchar_t* message);\nNVTX_LINKONCE_FWDDECL_FUNCTION int NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangePop_impl_init)(void);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCategoryA_impl_init)(uint32_t category, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCategoryW_impl_init)(uint32_t category, const wchar_t* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameOsThreadA_impl_init)(uint32_t threadId, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameOsThreadW_impl_init)(uint32_t threadId, const wchar_t* name);\n\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuDeviceA_impl_init)(nvtx_CUdevice device, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuDeviceW_impl_init)(nvtx_CUdevice device, const wchar_t* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuContextA_impl_init)(nvtx_CUcontext context, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuContextW_impl_init)(nvtx_CUcontext context, const wchar_t* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuStreamA_impl_init)(nvtx_CUstream stream, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuStreamW_impl_init)(nvtx_CUstream stream, const wchar_t* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuEventA_impl_init)(nvtx_CUevent event, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuEventW_impl_init)(nvtx_CUevent event, const wchar_t* name);\n\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClDeviceA_impl_init)(nvtx_cl_device_id device, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClDeviceW_impl_init)(nvtx_cl_device_id device, const wchar_t* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClContextA_impl_init)(nvtx_cl_context context, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClContextW_impl_init)(nvtx_cl_context context, const wchar_t* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClCommandQueueA_impl_init)(nvtx_cl_command_queue command_queue, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClCommandQueueW_impl_init)(nvtx_cl_command_queue command_queue, const wchar_t* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClMemObjectA_impl_init)(nvtx_cl_mem memobj, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClMemObjectW_impl_init)(nvtx_cl_mem memobj, const wchar_t* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClSamplerA_impl_init)(nvtx_cl_sampler sampler, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClSamplerW_impl_init)(nvtx_cl_sampler sampler, const wchar_t* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClProgramA_impl_init)(nvtx_cl_program program, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClProgramW_impl_init)(nvtx_cl_program program, const wchar_t* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClEventA_impl_init)(nvtx_cl_event evnt, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClEventW_impl_init)(nvtx_cl_event evnt, const wchar_t* name);\n\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaDeviceA_impl_init)(int device, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaDeviceW_impl_init)(int device, const wchar_t* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaStreamA_impl_init)(nvtx_cudaStream_t stream, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaStreamW_impl_init)(nvtx_cudaStream_t stream, const wchar_t* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaEventA_impl_init)(nvtx_cudaEvent_t event, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaEventW_impl_init)(nvtx_cudaEvent_t event, const wchar_t* name);\n\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainMarkEx_impl_init)(nvtxDomainHandle_t domain, const nvtxEventAttributes_t* eventAttrib);\nNVTX_LINKONCE_FWDDECL_FUNCTION nvtxRangeId_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangeStartEx_impl_init)(nvtxDomainHandle_t domain, const nvtxEventAttributes_t* eventAttrib);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangeEnd_impl_init)(nvtxDomainHandle_t domain, nvtxRangeId_t id);\nNVTX_LINKONCE_FWDDECL_FUNCTION int NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangePushEx_impl_init)(nvtxDomainHandle_t domain, const nvtxEventAttributes_t* eventAttrib);\nNVTX_LINKONCE_FWDDECL_FUNCTION int NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangePop_impl_init)(nvtxDomainHandle_t domain);\nNVTX_LINKONCE_FWDDECL_FUNCTION nvtxResourceHandle_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainResourceCreate_impl_init)(nvtxDomainHandle_t domain, nvtxResourceAttributes_t* attribs);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainResourceDestroy_impl_init)(nvtxResourceHandle_t resource);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainNameCategoryA_impl_init)(nvtxDomainHandle_t domain, uint32_t category, const char* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainNameCategoryW_impl_init)(nvtxDomainHandle_t domain, uint32_t category, const wchar_t* name);\nNVTX_LINKONCE_FWDDECL_FUNCTION nvtxStringHandle_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainRegisterStringA_impl_init)(nvtxDomainHandle_t domain, const char* string);\nNVTX_LINKONCE_FWDDECL_FUNCTION nvtxStringHandle_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainRegisterStringW_impl_init)(nvtxDomainHandle_t domain, const wchar_t* string);\nNVTX_LINKONCE_FWDDECL_FUNCTION nvtxDomainHandle_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainCreateA_impl_init)(const char* message);\nNVTX_LINKONCE_FWDDECL_FUNCTION nvtxDomainHandle_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainCreateW_impl_init)(const wchar_t* message);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainDestroy_impl_init)(nvtxDomainHandle_t domain);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxInitialize_impl_init)(const void* reserved);\n\nNVTX_LINKONCE_FWDDECL_FUNCTION nvtxSyncUser_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserCreate_impl_init)(nvtxDomainHandle_t domain, const nvtxSyncUserAttributes_t* attribs);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserDestroy_impl_init)(nvtxSyncUser_t handle);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserAcquireStart_impl_init)(nvtxSyncUser_t handle);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserAcquireFailed_impl_init)(nvtxSyncUser_t handle);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserAcquireSuccess_impl_init)(nvtxSyncUser_t handle);\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserReleasing_impl_init)(nvtxSyncUser_t handle);\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxInitDefs.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef NVTX_IMPL_GUARD\n#error Never include this file directly -- it is automatically included by nvToolsExt.h (except when NVTX_NO_IMPL is defined).\n#endif\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxMarkEx_impl_init)(const nvtxEventAttributes_t* eventAttrib){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    nvtxMarkEx(eventAttrib);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxMarkA_impl_init)(const char* message){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    nvtxMarkA(message);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxMarkW_impl_init)(const wchar_t* message){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    nvtxMarkW(message);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION nvtxRangeId_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangeStartEx_impl_init)(const nvtxEventAttributes_t* eventAttrib){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    return nvtxRangeStartEx(eventAttrib);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION nvtxRangeId_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangeStartA_impl_init)(const char* message){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    return nvtxRangeStartA(message);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION nvtxRangeId_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangeStartW_impl_init)(const wchar_t* message){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    return nvtxRangeStartW(message);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangeEnd_impl_init)(nvtxRangeId_t id){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    nvtxRangeEnd(id);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION int NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangePushEx_impl_init)(const nvtxEventAttributes_t* eventAttrib){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    return nvtxRangePushEx(eventAttrib);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION int NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangePushA_impl_init)(const char* message){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    return nvtxRangePushA(message);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION int NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangePushW_impl_init)(const wchar_t* message){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    return nvtxRangePushW(message);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION int NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxRangePop_impl_init)(void){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    return nvtxRangePop();\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCategoryA_impl_init)(uint32_t category, const char* name){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    nvtxNameCategoryA(category, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCategoryW_impl_init)(uint32_t category, const wchar_t* name){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    nvtxNameCategoryW(category, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameOsThreadA_impl_init)(uint32_t threadId, const char* name){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    nvtxNameOsThreadA(threadId, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameOsThreadW_impl_init)(uint32_t threadId, const wchar_t* name){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    nvtxNameOsThreadW(threadId, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainMarkEx_impl_init)(nvtxDomainHandle_t domain, const nvtxEventAttributes_t* eventAttrib){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    nvtxDomainMarkEx(domain, eventAttrib);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION nvtxRangeId_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangeStartEx_impl_init)(nvtxDomainHandle_t domain, const nvtxEventAttributes_t* eventAttrib){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    return nvtxDomainRangeStartEx(domain, eventAttrib);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangeEnd_impl_init)(nvtxDomainHandle_t domain, nvtxRangeId_t id){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    nvtxDomainRangeEnd(domain, id);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION int NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangePushEx_impl_init)(nvtxDomainHandle_t domain, const nvtxEventAttributes_t* eventAttrib){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    return nvtxDomainRangePushEx(domain, eventAttrib);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION int NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangePop_impl_init)(nvtxDomainHandle_t domain){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    return nvtxDomainRangePop(domain);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION nvtxResourceHandle_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainResourceCreate_impl_init)(nvtxDomainHandle_t domain, nvtxResourceAttributes_t* attribs){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    return nvtxDomainResourceCreate(domain, attribs);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainResourceDestroy_impl_init)(nvtxResourceHandle_t resource){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    nvtxDomainResourceDestroy(resource);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainNameCategoryA_impl_init)(nvtxDomainHandle_t domain, uint32_t category, const char* name){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    nvtxDomainNameCategoryA(domain, category, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainNameCategoryW_impl_init)(nvtxDomainHandle_t domain, uint32_t category, const wchar_t* name){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    nvtxDomainNameCategoryW(domain, category, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION nvtxStringHandle_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainRegisterStringA_impl_init)(nvtxDomainHandle_t domain, const char* string){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    return nvtxDomainRegisterStringA(domain, string);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION nvtxStringHandle_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainRegisterStringW_impl_init)(nvtxDomainHandle_t domain, const wchar_t* string){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    return nvtxDomainRegisterStringW(domain, string);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION nvtxDomainHandle_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainCreateA_impl_init)(const char* message){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    return nvtxDomainCreateA(message);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION nvtxDomainHandle_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainCreateW_impl_init)(const wchar_t* message){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    return nvtxDomainCreateW(message);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainDestroy_impl_init)(nvtxDomainHandle_t domain){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    nvtxDomainDestroy(domain);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxInitialize_impl_init)(const void* reserved){\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    nvtxInitialize(reserved);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuDeviceA_impl_init)(nvtx_CUdevice device, const char* name){\n    nvtxNameCuDeviceA_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuDeviceA_impl_fnptr;\n    if (local)\n        local(device, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuDeviceW_impl_init)(nvtx_CUdevice device, const wchar_t* name){\n    nvtxNameCuDeviceW_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuDeviceW_impl_fnptr;\n    if (local)\n        local(device, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuContextA_impl_init)(nvtx_CUcontext context, const char* name){\n    nvtxNameCuContextA_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuContextA_impl_fnptr;\n    if (local)\n        local(context, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuContextW_impl_init)(nvtx_CUcontext context, const wchar_t* name){\n    nvtxNameCuContextW_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuContextW_impl_fnptr;\n    if (local)\n        local(context, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuStreamA_impl_init)(nvtx_CUstream stream, const char* name){\n    nvtxNameCuStreamA_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuStreamA_impl_fnptr;\n    if (local)\n        local(stream, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuStreamW_impl_init)(nvtx_CUstream stream, const wchar_t* name){\n    nvtxNameCuStreamW_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuStreamW_impl_fnptr;\n    if (local)\n        local(stream, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuEventA_impl_init)(nvtx_CUevent event, const char* name){\n    nvtxNameCuEventA_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuEventA_impl_fnptr;\n    if (local)\n        local(event, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCuEventW_impl_init)(nvtx_CUevent event, const wchar_t* name){\n    nvtxNameCuEventW_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuEventW_impl_fnptr;\n    if (local)\n        local(event, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaDeviceA_impl_init)(int device, const char* name){\n    nvtxNameCudaDeviceA_impl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaDeviceA_impl_fnptr;\n    if (local)\n        local(device, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaDeviceW_impl_init)(int device, const wchar_t* name){\n    nvtxNameCudaDeviceW_impl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaDeviceW_impl_fnptr;\n    if (local)\n        local(device, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaStreamA_impl_init)(nvtx_cudaStream_t stream, const char* name){\n    nvtxNameCudaStreamA_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaStreamA_impl_fnptr;\n    if (local)\n        local(stream, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaStreamW_impl_init)(nvtx_cudaStream_t stream, const wchar_t* name){\n    nvtxNameCudaStreamW_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaStreamW_impl_fnptr;\n    if (local)\n        local(stream, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaEventA_impl_init)(nvtx_cudaEvent_t event, const char* name){\n    nvtxNameCudaEventA_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaEventA_impl_fnptr;\n    if (local)\n        local(event, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaEventW_impl_init)(nvtx_cudaEvent_t event, const wchar_t* name){\n    nvtxNameCudaEventW_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaEventW_impl_fnptr;\n    if (local)\n        local(event, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClDeviceA_impl_init)(nvtx_cl_device_id device, const char* name){\n    nvtxNameClDeviceA_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClDeviceA_impl_fnptr;\n    if (local)\n        local(device, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClDeviceW_impl_init)(nvtx_cl_device_id device, const wchar_t* name){\n    nvtxNameClDeviceW_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClDeviceW_impl_fnptr;\n    if (local)\n        local(device, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClContextA_impl_init)(nvtx_cl_context context, const char* name){\n    nvtxNameClContextA_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClContextA_impl_fnptr;\n    if (local)\n        local(context, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClContextW_impl_init)(nvtx_cl_context context, const wchar_t* name){\n    nvtxNameClContextW_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClContextW_impl_fnptr;\n    if (local)\n        local(context, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClCommandQueueA_impl_init)(nvtx_cl_command_queue command_queue, const char* name){\n    nvtxNameClCommandQueueA_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClCommandQueueA_impl_fnptr;\n    if (local)\n        local(command_queue, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClCommandQueueW_impl_init)(nvtx_cl_command_queue command_queue, const wchar_t* name){\n    nvtxNameClCommandQueueW_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClCommandQueueW_impl_fnptr;\n    if (local)\n        local(command_queue, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClMemObjectA_impl_init)(nvtx_cl_mem memobj, const char* name){\n    nvtxNameClMemObjectA_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClMemObjectA_impl_fnptr;\n    if (local)\n        local(memobj, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClMemObjectW_impl_init)(nvtx_cl_mem memobj, const wchar_t* name){\n    nvtxNameClMemObjectW_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClMemObjectW_impl_fnptr;\n    if (local)\n        local(memobj, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClSamplerA_impl_init)(nvtx_cl_sampler sampler, const char* name){\n    nvtxNameClSamplerA_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClSamplerA_impl_fnptr;\n    if (local)\n        local(sampler, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClSamplerW_impl_init)(nvtx_cl_sampler sampler, const wchar_t* name){\n    nvtxNameClSamplerW_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClSamplerW_impl_fnptr;\n    if (local)\n        local(sampler, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClProgramA_impl_init)(nvtx_cl_program program, const char* name){\n    nvtxNameClProgramA_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClProgramA_impl_fnptr;\n    if (local)\n        local(program, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClProgramW_impl_init)(nvtx_cl_program program, const wchar_t* name){\n    nvtxNameClProgramW_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClProgramW_impl_fnptr;\n    if (local)\n        local(program, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClEventA_impl_init)(nvtx_cl_event evnt, const char* name){\n    nvtxNameClEventA_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClEventA_impl_fnptr;\n    if (local)\n        local(evnt, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxNameClEventW_impl_init)(nvtx_cl_event evnt, const wchar_t* name){\n    nvtxNameClEventW_fakeimpl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClEventW_impl_fnptr;\n    if (local)\n        local(evnt, name);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION nvtxSyncUser_t NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserCreate_impl_init)(nvtxDomainHandle_t domain, const nvtxSyncUserAttributes_t* attribs){\n    nvtxDomainSyncUserCreate_impl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserCreate_impl_fnptr;\n    if (local) {\n        return local(domain, attribs);\n    }\n    return (nvtxSyncUser_t)0;\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserDestroy_impl_init)(nvtxSyncUser_t handle){\n    nvtxDomainSyncUserDestroy_impl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserDestroy_impl_fnptr;\n    if (local)\n        local(handle);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserAcquireStart_impl_init)(nvtxSyncUser_t handle){\n    nvtxDomainSyncUserAcquireStart_impl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserAcquireStart_impl_fnptr;\n    if (local)\n        local(handle);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserAcquireFailed_impl_init)(nvtxSyncUser_t handle){\n    nvtxDomainSyncUserAcquireFailed_impl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserAcquireFailed_impl_fnptr;\n    if (local)\n        local(handle);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserAcquireSuccess_impl_init)(nvtxSyncUser_t handle){\n    nvtxDomainSyncUserAcquireSuccess_impl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserAcquireSuccess_impl_fnptr;\n    if (local)\n        local(handle);\n}\n\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_API NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserReleasing_impl_init)(nvtxSyncUser_t handle){\n    nvtxDomainSyncUserReleasing_impl_fntype local;\n    NVTX_VERSIONED_IDENTIFIER(nvtxInitOnce)();\n    local = NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserReleasing_impl_fnptr;\n    if (local)\n        local(handle);\n}\n\nNVTX_LINKONCE_FWDDECL_FUNCTION void NVTX_VERSIONED_IDENTIFIER(nvtxSetInitFunctionsToNoops)(int forceAllToNoops);\nNVTX_LINKONCE_DEFINE_FUNCTION void NVTX_VERSIONED_IDENTIFIER(nvtxSetInitFunctionsToNoops)(int forceAllToNoops)\n{\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxMarkEx_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxMarkEx_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxMarkEx_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxMarkA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxMarkA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxMarkA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxMarkW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxMarkW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxMarkW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeStartEx_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxRangeStartEx_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeStartEx_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeStartA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxRangeStartA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeStartA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeStartW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxRangeStartW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeStartW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeEnd_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxRangeEnd_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangeEnd_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePushEx_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxRangePushEx_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePushEx_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePushA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxRangePushA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePushA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePushW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxRangePushW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePushW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePop_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxRangePop_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxRangePop_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCategoryA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCategoryA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCategoryA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCategoryW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCategoryW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCategoryW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameOsThreadA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameOsThreadA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameOsThreadA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameOsThreadW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameOsThreadW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameOsThreadW_impl_fnptr = NULL;\n\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuDeviceA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCuDeviceA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuDeviceA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuDeviceW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCuDeviceW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuDeviceW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuContextA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCuContextA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuContextA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuContextW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCuContextW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuContextW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuStreamA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCuStreamA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuStreamA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuStreamW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCuStreamW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuStreamW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuEventA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCuEventA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuEventA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuEventW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCuEventW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCuEventW_impl_fnptr = NULL;\n\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClDeviceA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameClDeviceA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClDeviceA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClDeviceW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameClDeviceW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClDeviceW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClContextA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameClContextA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClContextA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClContextW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameClContextW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClContextW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClCommandQueueA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameClCommandQueueA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClCommandQueueA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClCommandQueueW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameClCommandQueueW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClCommandQueueW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClMemObjectA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameClMemObjectA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClMemObjectA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClMemObjectW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameClMemObjectW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClMemObjectW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClSamplerA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameClSamplerA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClSamplerA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClSamplerW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameClSamplerW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClSamplerW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClProgramA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameClProgramA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClProgramA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClProgramW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameClProgramW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClProgramW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClEventA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameClEventA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClEventA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClEventW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameClEventW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameClEventW_impl_fnptr = NULL;\n\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaDeviceA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaDeviceA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaDeviceA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaDeviceW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaDeviceW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaDeviceW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaStreamA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaStreamA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaStreamA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaStreamW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaStreamW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaStreamW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaEventA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaEventA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaEventA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaEventW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxNameCudaEventW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxNameCudaEventW_impl_fnptr = NULL;\n\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainMarkEx_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainMarkEx_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainMarkEx_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangeStartEx_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangeStartEx_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangeStartEx_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangeEnd_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangeEnd_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangeEnd_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangePushEx_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangePushEx_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangePushEx_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangePop_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainRangePop_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRangePop_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainResourceCreate_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainResourceCreate_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainResourceCreate_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainResourceDestroy_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainResourceDestroy_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainResourceDestroy_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainNameCategoryA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainNameCategoryA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainNameCategoryA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainNameCategoryW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainNameCategoryW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainNameCategoryW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRegisterStringA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainRegisterStringA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRegisterStringA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRegisterStringW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainRegisterStringW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainRegisterStringW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainCreateA_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainCreateA_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainCreateA_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainCreateW_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainCreateW_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainCreateW_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainDestroy_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainDestroy_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainDestroy_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxInitialize_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxInitialize_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxInitialize_impl_fnptr = NULL;\n\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserCreate_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserCreate_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserCreate_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserDestroy_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserDestroy_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserDestroy_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserAcquireStart_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserAcquireStart_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserAcquireStart_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserAcquireFailed_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserAcquireFailed_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserAcquireFailed_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserAcquireSuccess_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserAcquireSuccess_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserAcquireSuccess_impl_fnptr = NULL;\n    if (NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserReleasing_impl_fnptr == NVTX_VERSIONED_IDENTIFIER(nvtxDomainSyncUserReleasing_impl_init) || forceAllToNoops)\n        NVTX_VERSIONED_IDENTIFIER(nvtxGlobals).nvtxDomainSyncUserReleasing_impl_fnptr = NULL;\n}\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxLinkOnce.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n#ifndef __NVTX_LINKONCE_H__\n#define __NVTX_LINKONCE_H__\n\n/* This header defines macros to permit making definitions of global variables\n * and functions in C/C++ header files which may be included multiple times in\n * a translation unit or linkage unit.  It allows authoring header-only libraries\n * which can be used by multiple other header-only libraries (either as the same\n * copy or multiple copies), and does not require any build changes, such as\n * adding another .c file, linking a static library, or deploying a dynamic\n * library.  Globals defined with these macros have the property that they have\n * the same address, pointing to a single instance, for the entire linkage unit.\n * It is expected but not guaranteed that each linkage unit will have a separate\n * instance.\n *\n * In some situations it is desirable to declare a variable without initializing\n * it, refer to it in code or other variables' initializers, and then initialize\n * it later.  Similarly, functions can be prototyped, have their address taken,\n * and then have their body defined later.  In such cases, use the FWDDECL macros\n * when forward-declaring LINKONCE global variables without initializers and\n * function prototypes, and then use the DEFINE macros when later defining them.\n * Although in many cases the FWDDECL macro is equivalent to the DEFINE macro,\n * following this pattern makes code maximally portable.\n */\n\n#if defined(__MINGW32__) /* MinGW */\n    #define NVTX_LINKONCE_WEAK __attribute__((section(\".gnu.linkonce.0.\")))\n    #if defined(__cplusplus)\n        #define NVTX_LINKONCE_DEFINE_GLOBAL   __declspec(selectany)\n        #define NVTX_LINKONCE_DEFINE_FUNCTION extern \"C\" inline NVTX_LINKONCE_WEAK\n    #else\n        #define NVTX_LINKONCE_DEFINE_GLOBAL   __declspec(selectany)\n        #define NVTX_LINKONCE_DEFINE_FUNCTION NVTX_LINKONCE_WEAK\n    #endif\n#elif defined(_MSC_VER) /* MSVC */\n    #if defined(__cplusplus)\n        #define NVTX_LINKONCE_DEFINE_GLOBAL   extern \"C\" __declspec(selectany)\n        #define NVTX_LINKONCE_DEFINE_FUNCTION extern \"C\" inline\n    #else\n        #define NVTX_LINKONCE_DEFINE_GLOBAL   __declspec(selectany)\n        #define NVTX_LINKONCE_DEFINE_FUNCTION __inline\n    #endif\n#elif defined(__CYGWIN__) && defined(__clang__) /* Clang on Cygwin */\n    #define NVTX_LINKONCE_WEAK __attribute__((section(\".gnu.linkonce.0.\")))\n    #if defined(__cplusplus)\n        #define NVTX_LINKONCE_DEFINE_GLOBAL   NVTX_LINKONCE_WEAK\n        #define NVTX_LINKONCE_DEFINE_FUNCTION extern \"C\" NVTX_LINKONCE_WEAK\n    #else\n        #define NVTX_LINKONCE_DEFINE_GLOBAL   NVTX_LINKONCE_WEAK\n        #define NVTX_LINKONCE_DEFINE_FUNCTION NVTX_LINKONCE_WEAK\n    #endif\n#elif defined(__CYGWIN__) /* Assume GCC or compatible */\n    #define NVTX_LINKONCE_WEAK __attribute__((weak))\n    #if defined(__cplusplus)\n        #define NVTX_LINKONCE_DEFINE_GLOBAL   __declspec(selectany)\n        #define NVTX_LINKONCE_DEFINE_FUNCTION extern \"C\" inline\n    #else\n        #define NVTX_LINKONCE_DEFINE_GLOBAL   NVTX_LINKONCE_WEAK\n        #define NVTX_LINKONCE_DEFINE_FUNCTION NVTX_LINKONCE_WEAK\n    #endif\n#else /* All others: Assume GCC, clang, or compatible */\n    #define NVTX_LINKONCE_WEAK   __attribute__((weak))\n    #define NVTX_LINKONCE_HIDDEN __attribute__((visibility(\"hidden\")))\n    #if defined(__cplusplus)\n        #define NVTX_LINKONCE_DEFINE_GLOBAL   NVTX_LINKONCE_HIDDEN NVTX_LINKONCE_WEAK\n        #define NVTX_LINKONCE_DEFINE_FUNCTION extern \"C\" NVTX_LINKONCE_HIDDEN inline\n    #else\n        #define NVTX_LINKONCE_DEFINE_GLOBAL   NVTX_LINKONCE_HIDDEN NVTX_LINKONCE_WEAK\n        #define NVTX_LINKONCE_DEFINE_FUNCTION NVTX_LINKONCE_HIDDEN NVTX_LINKONCE_WEAK\n    #endif\n#endif\n\n#define NVTX_LINKONCE_FWDDECL_GLOBAL   NVTX_LINKONCE_DEFINE_GLOBAL   extern\n#define NVTX_LINKONCE_FWDDECL_FUNCTION NVTX_LINKONCE_DEFINE_FUNCTION\n\n#endif /* __NVTX_LINKONCE_H__ */\n"
  },
  {
    "path": "src/include/nvtx3/nvtxDetail/nvtxTypes.h",
    "content": "/*\n* Copyright 2009-2022  NVIDIA Corporation.  All rights reserved.\n*\n* Licensed under the Apache License v2.0 with LLVM Exceptions.\n* See https://llvm.org/LICENSE.txt for license information.\n* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n*/\n\n/* This header defines types which are used by the internal implementation\n*  of NVTX and callback subscribers.  API clients do not use these types,\n*  so they are defined here instead of in nvToolsExt.h to clarify they are\n*  not part of the NVTX client API. */\n\n#ifndef NVTX_IMPL_GUARD\n#error Never include this file directly -- it is automatically included by nvToolsExt.h.\n#endif\n\n/* ------ Dependency-free types binary-compatible with real types ------- */\n\n/* In order to avoid having the NVTX core API headers depend on non-NVTX\n*  headers like cuda.h, NVTX defines binary-compatible types to use for\n*  safely making the initialization versions of all NVTX functions without\n*  needing to have definitions for the real types. */\n\ntypedef int   nvtx_CUdevice;\ntypedef void* nvtx_CUcontext;\ntypedef void* nvtx_CUstream;\ntypedef void* nvtx_CUevent;\n\ntypedef void* nvtx_cudaStream_t;\ntypedef void* nvtx_cudaEvent_t;\n\ntypedef void* nvtx_cl_platform_id;\ntypedef void* nvtx_cl_device_id;\ntypedef void* nvtx_cl_context;\ntypedef void* nvtx_cl_command_queue;\ntypedef void* nvtx_cl_mem;\ntypedef void* nvtx_cl_program;\ntypedef void* nvtx_cl_kernel;\ntypedef void* nvtx_cl_event;\ntypedef void* nvtx_cl_sampler;\n\ntypedef struct nvtxSyncUser* nvtxSyncUser_t;\nstruct nvtxSyncUserAttributes_v0;\ntypedef struct nvtxSyncUserAttributes_v0 nvtxSyncUserAttributes_t;\n\n/* --------- Types for function pointers (with fake API types) ---------- */\n\ntypedef void (NVTX_API * nvtxMarkEx_impl_fntype)(const nvtxEventAttributes_t* eventAttrib);\ntypedef void (NVTX_API * nvtxMarkA_impl_fntype)(const char* message);\ntypedef void (NVTX_API * nvtxMarkW_impl_fntype)(const wchar_t* message);\ntypedef nvtxRangeId_t (NVTX_API * nvtxRangeStartEx_impl_fntype)(const nvtxEventAttributes_t* eventAttrib);\ntypedef nvtxRangeId_t (NVTX_API * nvtxRangeStartA_impl_fntype)(const char* message);\ntypedef nvtxRangeId_t (NVTX_API * nvtxRangeStartW_impl_fntype)(const wchar_t* message);\ntypedef void (NVTX_API * nvtxRangeEnd_impl_fntype)(nvtxRangeId_t id);\ntypedef int (NVTX_API * nvtxRangePushEx_impl_fntype)(const nvtxEventAttributes_t* eventAttrib);\ntypedef int (NVTX_API * nvtxRangePushA_impl_fntype)(const char* message);\ntypedef int (NVTX_API * nvtxRangePushW_impl_fntype)(const wchar_t* message);\ntypedef int (NVTX_API * nvtxRangePop_impl_fntype)(void);\ntypedef void (NVTX_API * nvtxNameCategoryA_impl_fntype)(uint32_t category, const char* name);\ntypedef void (NVTX_API * nvtxNameCategoryW_impl_fntype)(uint32_t category, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameOsThreadA_impl_fntype)(uint32_t threadId, const char* name);\ntypedef void (NVTX_API * nvtxNameOsThreadW_impl_fntype)(uint32_t threadId, const wchar_t* name);\n\n/* Real impl types are defined in nvtxImplCuda_v3.h, where CUDA headers are included */\ntypedef void (NVTX_API * nvtxNameCuDeviceA_fakeimpl_fntype)(nvtx_CUdevice device, const char* name);\ntypedef void (NVTX_API * nvtxNameCuDeviceW_fakeimpl_fntype)(nvtx_CUdevice device, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameCuContextA_fakeimpl_fntype)(nvtx_CUcontext context, const char* name);\ntypedef void (NVTX_API * nvtxNameCuContextW_fakeimpl_fntype)(nvtx_CUcontext context, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameCuStreamA_fakeimpl_fntype)(nvtx_CUstream stream, const char* name);\ntypedef void (NVTX_API * nvtxNameCuStreamW_fakeimpl_fntype)(nvtx_CUstream stream, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameCuEventA_fakeimpl_fntype)(nvtx_CUevent event, const char* name);\ntypedef void (NVTX_API * nvtxNameCuEventW_fakeimpl_fntype)(nvtx_CUevent event, const wchar_t* name);\n\n/* Real impl types are defined in nvtxImplOpenCL_v3.h, where OPENCL headers are included */\ntypedef void (NVTX_API * nvtxNameClDeviceA_fakeimpl_fntype)(nvtx_cl_device_id device, const char* name);\ntypedef void (NVTX_API * nvtxNameClDeviceW_fakeimpl_fntype)(nvtx_cl_device_id device, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameClContextA_fakeimpl_fntype)(nvtx_cl_context context, const char* name);\ntypedef void (NVTX_API * nvtxNameClContextW_fakeimpl_fntype)(nvtx_cl_context context, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameClCommandQueueA_fakeimpl_fntype)(nvtx_cl_command_queue command_queue, const char* name);\ntypedef void (NVTX_API * nvtxNameClCommandQueueW_fakeimpl_fntype)(nvtx_cl_command_queue command_queue, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameClMemObjectA_fakeimpl_fntype)(nvtx_cl_mem memobj, const char* name);\ntypedef void (NVTX_API * nvtxNameClMemObjectW_fakeimpl_fntype)(nvtx_cl_mem memobj, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameClSamplerA_fakeimpl_fntype)(nvtx_cl_sampler sampler, const char* name);\ntypedef void (NVTX_API * nvtxNameClSamplerW_fakeimpl_fntype)(nvtx_cl_sampler sampler, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameClProgramA_fakeimpl_fntype)(nvtx_cl_program program, const char* name);\ntypedef void (NVTX_API * nvtxNameClProgramW_fakeimpl_fntype)(nvtx_cl_program program, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameClEventA_fakeimpl_fntype)(nvtx_cl_event evnt, const char* name);\ntypedef void (NVTX_API * nvtxNameClEventW_fakeimpl_fntype)(nvtx_cl_event evnt, const wchar_t* name);\n\n/* Real impl types are defined in nvtxImplCudaRt_v3.h, where CUDART headers are included */\ntypedef void (NVTX_API * nvtxNameCudaDeviceA_impl_fntype)(int device, const char* name);\ntypedef void (NVTX_API * nvtxNameCudaDeviceW_impl_fntype)(int device, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameCudaStreamA_fakeimpl_fntype)(nvtx_cudaStream_t stream, const char* name);\ntypedef void (NVTX_API * nvtxNameCudaStreamW_fakeimpl_fntype)(nvtx_cudaStream_t stream, const wchar_t* name);\ntypedef void (NVTX_API * nvtxNameCudaEventA_fakeimpl_fntype)(nvtx_cudaEvent_t event, const char* name);\ntypedef void (NVTX_API * nvtxNameCudaEventW_fakeimpl_fntype)(nvtx_cudaEvent_t event, const wchar_t* name);\n\ntypedef void (NVTX_API * nvtxDomainMarkEx_impl_fntype)(nvtxDomainHandle_t domain, const nvtxEventAttributes_t* eventAttrib);\ntypedef nvtxRangeId_t (NVTX_API * nvtxDomainRangeStartEx_impl_fntype)(nvtxDomainHandle_t domain, const nvtxEventAttributes_t* eventAttrib);\ntypedef void (NVTX_API * nvtxDomainRangeEnd_impl_fntype)(nvtxDomainHandle_t domain, nvtxRangeId_t id);\ntypedef int (NVTX_API * nvtxDomainRangePushEx_impl_fntype)(nvtxDomainHandle_t domain, const nvtxEventAttributes_t* eventAttrib);\ntypedef int (NVTX_API * nvtxDomainRangePop_impl_fntype)(nvtxDomainHandle_t domain);\ntypedef nvtxResourceHandle_t (NVTX_API * nvtxDomainResourceCreate_impl_fntype)(nvtxDomainHandle_t domain, nvtxResourceAttributes_t* attribs);\ntypedef void (NVTX_API * nvtxDomainResourceDestroy_impl_fntype)(nvtxResourceHandle_t resource);\ntypedef void (NVTX_API * nvtxDomainNameCategoryA_impl_fntype)(nvtxDomainHandle_t domain, uint32_t category, const char* name);\ntypedef void (NVTX_API * nvtxDomainNameCategoryW_impl_fntype)(nvtxDomainHandle_t domain, uint32_t category, const wchar_t* name);\ntypedef nvtxStringHandle_t (NVTX_API * nvtxDomainRegisterStringA_impl_fntype)(nvtxDomainHandle_t domain, const char* string);\ntypedef nvtxStringHandle_t (NVTX_API * nvtxDomainRegisterStringW_impl_fntype)(nvtxDomainHandle_t domain, const wchar_t* string);\ntypedef nvtxDomainHandle_t (NVTX_API * nvtxDomainCreateA_impl_fntype)(const char* message);\ntypedef nvtxDomainHandle_t (NVTX_API * nvtxDomainCreateW_impl_fntype)(const wchar_t* message);\ntypedef void (NVTX_API * nvtxDomainDestroy_impl_fntype)(nvtxDomainHandle_t domain);\ntypedef void (NVTX_API * nvtxInitialize_impl_fntype)(const void* reserved);\n\ntypedef nvtxSyncUser_t (NVTX_API * nvtxDomainSyncUserCreate_impl_fntype)(nvtxDomainHandle_t domain, const nvtxSyncUserAttributes_t* attribs);\ntypedef void (NVTX_API * nvtxDomainSyncUserDestroy_impl_fntype)(nvtxSyncUser_t handle);\ntypedef void (NVTX_API * nvtxDomainSyncUserAcquireStart_impl_fntype)(nvtxSyncUser_t handle);\ntypedef void (NVTX_API * nvtxDomainSyncUserAcquireFailed_impl_fntype)(nvtxSyncUser_t handle);\ntypedef void (NVTX_API * nvtxDomainSyncUserAcquireSuccess_impl_fntype)(nvtxSyncUser_t handle);\ntypedef void (NVTX_API * nvtxDomainSyncUserReleasing_impl_fntype)(nvtxSyncUser_t handle);\n\n/* ---------------- Types for callback subscription --------------------- */\n\ntypedef const void *(NVTX_API * NvtxGetExportTableFunc_t)(uint32_t exportTableId);\ntypedef int (NVTX_API * NvtxInitializeInjectionNvtxFunc_t)(NvtxGetExportTableFunc_t exportTable);\n\ntypedef enum NvtxCallbackModule\n{\n    NVTX_CB_MODULE_INVALID                 = 0,\n    NVTX_CB_MODULE_CORE                    = 1,\n    NVTX_CB_MODULE_CUDA                    = 2,\n    NVTX_CB_MODULE_OPENCL                  = 3,\n    NVTX_CB_MODULE_CUDART                  = 4,\n    NVTX_CB_MODULE_CORE2                   = 5,\n    NVTX_CB_MODULE_SYNC                    = 6,\n    /* --- New constants must only be added directly above this line --- */\n    NVTX_CB_MODULE_SIZE,\n    NVTX_CB_MODULE_FORCE_INT               = 0x7fffffff\n} NvtxCallbackModule;\n\ntypedef enum NvtxCallbackIdCore\n{\n    NVTX_CBID_CORE_INVALID                 =  0,\n    NVTX_CBID_CORE_MarkEx                  =  1,\n    NVTX_CBID_CORE_MarkA                   =  2,\n    NVTX_CBID_CORE_MarkW                   =  3,\n    NVTX_CBID_CORE_RangeStartEx            =  4,\n    NVTX_CBID_CORE_RangeStartA             =  5,\n    NVTX_CBID_CORE_RangeStartW             =  6,\n    NVTX_CBID_CORE_RangeEnd                =  7,\n    NVTX_CBID_CORE_RangePushEx             =  8,\n    NVTX_CBID_CORE_RangePushA              =  9,\n    NVTX_CBID_CORE_RangePushW              = 10,\n    NVTX_CBID_CORE_RangePop                = 11,\n    NVTX_CBID_CORE_NameCategoryA           = 12,\n    NVTX_CBID_CORE_NameCategoryW           = 13,\n    NVTX_CBID_CORE_NameOsThreadA           = 14,\n    NVTX_CBID_CORE_NameOsThreadW           = 15,\n    /* --- New constants must only be added directly above this line --- */\n    NVTX_CBID_CORE_SIZE,\n    NVTX_CBID_CORE_FORCE_INT = 0x7fffffff\n} NvtxCallbackIdCore;\n\ntypedef enum NvtxCallbackIdCore2\n{\n    NVTX_CBID_CORE2_INVALID                 = 0,\n    NVTX_CBID_CORE2_DomainMarkEx            = 1,\n    NVTX_CBID_CORE2_DomainRangeStartEx      = 2,\n    NVTX_CBID_CORE2_DomainRangeEnd          = 3,\n    NVTX_CBID_CORE2_DomainRangePushEx       = 4,\n    NVTX_CBID_CORE2_DomainRangePop          = 5,\n    NVTX_CBID_CORE2_DomainResourceCreate    = 6,\n    NVTX_CBID_CORE2_DomainResourceDestroy   = 7,\n    NVTX_CBID_CORE2_DomainNameCategoryA     = 8,\n    NVTX_CBID_CORE2_DomainNameCategoryW     = 9,\n    NVTX_CBID_CORE2_DomainRegisterStringA   = 10,\n    NVTX_CBID_CORE2_DomainRegisterStringW   = 11,\n    NVTX_CBID_CORE2_DomainCreateA           = 12,\n    NVTX_CBID_CORE2_DomainCreateW           = 13,\n    NVTX_CBID_CORE2_DomainDestroy           = 14,\n    NVTX_CBID_CORE2_Initialize              = 15,\n    /* --- New constants must only be added directly above this line --- */\n    NVTX_CBID_CORE2_SIZE,\n    NVTX_CBID_CORE2_FORCE_INT               = 0x7fffffff\n} NvtxCallbackIdCore2;\n\ntypedef enum NvtxCallbackIdCuda\n{\n    NVTX_CBID_CUDA_INVALID                 =  0,\n    NVTX_CBID_CUDA_NameCuDeviceA           =  1,\n    NVTX_CBID_CUDA_NameCuDeviceW           =  2,\n    NVTX_CBID_CUDA_NameCuContextA          =  3,\n    NVTX_CBID_CUDA_NameCuContextW          =  4,\n    NVTX_CBID_CUDA_NameCuStreamA           =  5,\n    NVTX_CBID_CUDA_NameCuStreamW           =  6,\n    NVTX_CBID_CUDA_NameCuEventA            =  7,\n    NVTX_CBID_CUDA_NameCuEventW            =  8,\n    /* --- New constants must only be added directly above this line --- */\n    NVTX_CBID_CUDA_SIZE,\n    NVTX_CBID_CUDA_FORCE_INT               = 0x7fffffff\n} NvtxCallbackIdCuda;\n\ntypedef enum NvtxCallbackIdCudaRt\n{\n    NVTX_CBID_CUDART_INVALID               =  0,\n    NVTX_CBID_CUDART_NameCudaDeviceA       =  1,\n    NVTX_CBID_CUDART_NameCudaDeviceW       =  2,\n    NVTX_CBID_CUDART_NameCudaStreamA       =  3,\n    NVTX_CBID_CUDART_NameCudaStreamW       =  4,\n    NVTX_CBID_CUDART_NameCudaEventA        =  5,\n    NVTX_CBID_CUDART_NameCudaEventW        =  6,\n    /* --- New constants must only be added directly above this line --- */\n    NVTX_CBID_CUDART_SIZE,\n    NVTX_CBID_CUDART_FORCE_INT             = 0x7fffffff\n} NvtxCallbackIdCudaRt;\n\ntypedef enum NvtxCallbackIdOpenCL\n{\n    NVTX_CBID_OPENCL_INVALID               =  0,\n    NVTX_CBID_OPENCL_NameClDeviceA         =  1,\n    NVTX_CBID_OPENCL_NameClDeviceW         =  2,\n    NVTX_CBID_OPENCL_NameClContextA        =  3,\n    NVTX_CBID_OPENCL_NameClContextW        =  4,\n    NVTX_CBID_OPENCL_NameClCommandQueueA   =  5,\n    NVTX_CBID_OPENCL_NameClCommandQueueW   =  6,\n    NVTX_CBID_OPENCL_NameClMemObjectA      =  7,\n    NVTX_CBID_OPENCL_NameClMemObjectW      =  8,\n    NVTX_CBID_OPENCL_NameClSamplerA        =  9,\n    NVTX_CBID_OPENCL_NameClSamplerW        = 10,\n    NVTX_CBID_OPENCL_NameClProgramA        = 11,\n    NVTX_CBID_OPENCL_NameClProgramW        = 12,\n    NVTX_CBID_OPENCL_NameClEventA          = 13,\n    NVTX_CBID_OPENCL_NameClEventW          = 14,\n    /* --- New constants must only be added directly above this line --- */\n    NVTX_CBID_OPENCL_SIZE,\n    NVTX_CBID_OPENCL_FORCE_INT             = 0x7fffffff\n} NvtxCallbackIdOpenCL;\n\ntypedef enum NvtxCallbackIdSync\n{\n    NVTX_CBID_SYNC_INVALID                      = 0,\n    NVTX_CBID_SYNC_DomainSyncUserCreate         = 1,\n    NVTX_CBID_SYNC_DomainSyncUserDestroy        = 2,\n    NVTX_CBID_SYNC_DomainSyncUserAcquireStart   = 3,\n    NVTX_CBID_SYNC_DomainSyncUserAcquireFailed  = 4,\n    NVTX_CBID_SYNC_DomainSyncUserAcquireSuccess = 5,\n    NVTX_CBID_SYNC_DomainSyncUserReleasing      = 6,\n    /* --- New constants must only be added directly above this line --- */\n    NVTX_CBID_SYNC_SIZE,\n    NVTX_CBID_SYNC_FORCE_INT                    = 0x7fffffff\n} NvtxCallbackIdSync;\n\n/* IDs for NVTX Export Tables */\ntypedef enum NvtxExportTableID\n{\n    NVTX_ETID_INVALID                      = 0,\n    NVTX_ETID_CALLBACKS                    = 1,\n    NVTX_ETID_RESERVED0                    = 2,\n    NVTX_ETID_VERSIONINFO                  = 3,\n    /* --- New constants must only be added directly above this line --- */\n    NVTX_ETID_SIZE,\n    NVTX_ETID_FORCE_INT                    = 0x7fffffff\n} NvtxExportTableID;\n\ntypedef void (* NvtxFunctionPointer)(void); /* generic uncallable function pointer, must be casted to appropriate function type */\ntypedef NvtxFunctionPointer** NvtxFunctionTable; /* double pointer because array(1) of pointers(2) to function pointers */\n\ntypedef struct NvtxExportTableCallbacks\n{\n    size_t struct_size;\n\n    /* returns an array of pointer to function pointers*/\n    int (NVTX_API *GetModuleFunctionTable)(\n        NvtxCallbackModule module,\n        NvtxFunctionTable* out_table,\n        unsigned int* out_size);\n} NvtxExportTableCallbacks;\n\ntypedef struct NvtxExportTableVersionInfo\n{\n    /* sizeof(NvtxExportTableVersionInfo) */\n    size_t struct_size;\n\n    /* The API version comes from the NVTX library linked to the app.  The\n    * injection library is can use this info to make some assumptions */\n    uint32_t version;\n\n    /* Reserved for alignment, do not use */\n    uint32_t reserved0;\n\n    /* This must be set by tools when attaching to provide applications\n    *  the ability to, in emergency situations, detect problematic tools\n    *  versions and modify the NVTX source to prevent attaching anything\n    *  that causes trouble in the app.  Currently, this value is ignored. */\n    void (NVTX_API *SetInjectionNvtxVersion)(\n        uint32_t version);\n} NvtxExportTableVersionInfo;\n\n\n\n\n\n\n\n"
  },
  {
    "path": "src/include/nvtx_payload_schemas.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n/// Definitions of NVTX payload types and schemas used for the NVTX\n/// instrumentation in init.cc and collectives.cc.\n\n#ifndef NVTX_PAYLOAD_SCHEMAS_H_\n#define NVTX_PAYLOAD_SCHEMAS_H_\n\n\n#include \"nccl.h\"\n#include \"nvtx3/nvToolsExtPayload.h\"\n#include \"nvtx3/nvToolsExtPayloadHelper.h\"\n\n/**\n * \\brief Define a C struct together with the matching schema entries.\n *\n * Does the same as `NCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA`, but without creating the\n * schema attributes. (Remove this helper when it is available in the NVTX headers.)\n */\n#define NCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(struct_id, prefix, entries) \\\n  _NVTX_PAYLOAD_TYPEDEF_STRUCT(struct_id, _NVTX_PAYLOAD_PASS_THROUGH entries) \\\n  prefix _NVTX_PAYLOAD_SCHEMA_INIT_ENTRIES(struct_id, _NVTX_PAYLOAD_PASS_THROUGH entries)\n\n// C strings used as NVTX payload entry names.\nstatic constexpr char const* nccl_nvtxCommStr = \"NCCL communicator ID\";\nstatic constexpr char const* nccl_nvtxCudaDevStr = \"CUDA device\";\nstatic constexpr char const* nccl_nvtxRankStr = \"Rank\";\nstatic constexpr char const* nccl_nvtxNranksStr = \"No. of ranks\";\nstatic constexpr char const* nccl_nvtxMsgSizeStr = \"Message size [bytes]\";\nstatic constexpr char const* nccl_nvtxMsgSizeSendStr = \"Message size [bytes] (Send)\";\nstatic constexpr char const* nccl_nvtxMsgSizeRecvStr = \"Message size [bytes] (Recv)\";\nstatic constexpr char const* nccl_nvtxReductionOpStrpStr = \"Reduction operation\";\nstatic constexpr char const* nccl_nvtxDataTypeStr = \"Data type\";\n\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsCommInitAll, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, commhash, TYPE_UINT64, nccl_nvtxCommStr),\n    (int, ndev, TYPE_INT, \"No. of devices\")\n  )\n)\n\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsCommInitRank, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, newcomm, TYPE_UINT64, nccl_nvtxCommStr),\n    (int, nranks, TYPE_INT, nccl_nvtxNranksStr),\n    (int, myrank, TYPE_INT, nccl_nvtxRankStr),\n    (int, cudaDev, TYPE_INT, nccl_nvtxCudaDevStr)\n  )\n)\n// The typedef and payload schema for ncclCommInitRank is also used for,\n// ncclCommInitRankConfig, ncclCommInitRankScalable, ncclCommDestroy, and ncclCommAbort.\ntypedef NcclNvtxParamsCommInitRank NcclNvtxParamsCommInitRankConfig;\ntypedef NcclNvtxParamsCommInitRank NcclNvtxParamsCommInitRankScalable;\ntypedef NcclNvtxParamsCommInitRank NcclNvtxParamsCommAbort;\ntypedef NcclNvtxParamsCommInitRank NcclNvtxParamsCommDestroy;\n\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsCommSplit, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, newcomm, TYPE_UINT64, nccl_nvtxCommStr),\n    (uint64_t, parentcomm, TYPE_UINT64, \"Parent NCCL communicator ID\"),\n    (int, nranks, TYPE_INT, nccl_nvtxNranksStr),\n    (int, myrank, TYPE_INT, nccl_nvtxRankStr),\n    (int, cudaDev, TYPE_INT, nccl_nvtxCudaDevStr),\n    (int, color, TYPE_INT, \"Color\"),\n    (int, key, TYPE_INT, \"Key\")\n  )\n)\n\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsCommShrink, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, newcomm, TYPE_UINT64, nccl_nvtxCommStr),\n    (int, nranks, TYPE_INT, nccl_nvtxNranksStr),\n    (int, myrank, TYPE_INT, nccl_nvtxRankStr),\n    (int, cudaDev, TYPE_INT, nccl_nvtxCudaDevStr),\n    (int, num_exclude, TYPE_INT, \"num_exclude\")\n  )\n)\n\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsCommFinalize, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, comm, TYPE_UINT64, nccl_nvtxCommStr)\n  )\n)\n\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsAllGather, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, comm, TYPE_UINT64, nccl_nvtxCommStr),\n    (size_t, bytes, TYPE_SIZE, nccl_nvtxMsgSizeStr),\n    (ncclDataType_t, datatype, TYPE_DATATYPE, nccl_nvtxDataTypeStr)\n  )\n)\n\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsAlltoAll, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, comm, TYPE_UINT64, nccl_nvtxCommStr),\n    (size_t, bytes, TYPE_SIZE, nccl_nvtxMsgSizeStr),\n    (ncclDataType_t, datatype, TYPE_DATATYPE, nccl_nvtxDataTypeStr)\n  )\n)\n\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsAlltoAllv, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, comm, TYPE_UINT64, nccl_nvtxCommStr),\n    (size_t, sendBytes, TYPE_SIZE, nccl_nvtxMsgSizeSendStr),\n    (size_t, recvBytes, TYPE_SIZE, nccl_nvtxMsgSizeRecvStr),\n    (ncclDataType_t, datatype, TYPE_DATATYPE, nccl_nvtxDataTypeStr)\n  )\n)\n\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsAllReduce, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, comm, TYPE_UINT64, nccl_nvtxCommStr),\n    (size_t, bytes, TYPE_SIZE, nccl_nvtxMsgSizeStr),\n    (ncclRedOp_t, op, NCCL_REDOP, nccl_nvtxReductionOpStrpStr),\n    (ncclDataType_t, datatype, TYPE_DATATYPE, nccl_nvtxDataTypeStr)\n  )\n)\n\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsBroadcast, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, comm, TYPE_UINT64, nccl_nvtxCommStr),\n    (size_t, bytes, TYPE_SIZE, nccl_nvtxMsgSizeStr),\n    (int, root, TYPE_INT, \"Root\"),\n    (ncclDataType_t, datatype, TYPE_DATATYPE, nccl_nvtxDataTypeStr)\n  )\n)\n\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsGather, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, comm, TYPE_UINT64, nccl_nvtxCommStr),\n    (size_t, bytes, TYPE_SIZE, nccl_nvtxMsgSizeStr),\n    (int, root, TYPE_INT, \"Root\"),\n    (ncclDataType_t, datatype, TYPE_DATATYPE, nccl_nvtxDataTypeStr)\n  )\n)\n\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsReduce, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, comm, TYPE_UINT64, nccl_nvtxCommStr),\n    (size_t, bytes, TYPE_SIZE, nccl_nvtxMsgSizeStr),\n    (int, root, TYPE_INT, \"Root\"),\n    (ncclRedOp_t, op, NCCL_REDOP, nccl_nvtxReductionOpStrpStr),\n    (ncclDataType_t, datatype, TYPE_DATATYPE, nccl_nvtxDataTypeStr)\n  )\n)\n\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsReduceScatter, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, comm, TYPE_UINT64, nccl_nvtxCommStr),\n    (size_t, bytes, TYPE_SIZE, nccl_nvtxMsgSizeStr),\n    (ncclRedOp_t, op, NCCL_REDOP, nccl_nvtxReductionOpStrpStr),\n    (ncclDataType_t, datatype, TYPE_DATATYPE, nccl_nvtxDataTypeStr)\n  )\n)\n\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsScatter, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, comm, TYPE_UINT64, nccl_nvtxCommStr),\n    (size_t, bytes, TYPE_SIZE, nccl_nvtxMsgSizeStr),\n    (int, root, TYPE_INT, \"Root\"),\n    (ncclDataType_t, datatype, TYPE_DATATYPE, nccl_nvtxDataTypeStr)\n  )\n)\n\n// Used in NCCL APIs `ncclSend` and `ncclRecv`.\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsSendRecv, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, comm, TYPE_UINT64, nccl_nvtxCommStr),\n    (size_t, bytes, TYPE_SIZE, nccl_nvtxMsgSizeStr),\n    (int, peer, TYPE_INT, \"Peer rank\"),\n    (ncclDataType_t, datatype, TYPE_DATATYPE, nccl_nvtxDataTypeStr)\n  )\n)\n\nNCCL_NVTX_DEFINE_STRUCT_WITH_SCHEMA_ENTRIES(NcclNvtxParamsMSCCL, static constexpr,\n  NCCL_NVTX_PAYLOAD_ENTRIES(\n    (uint64_t, comm, TYPE_UINT64, nccl_nvtxCommStr),\n    (size_t, bytes, TYPE_SIZE, nccl_nvtxMsgSizeStr),\n    (ncclRedOp_t, op, NCCL_REDOP, nccl_nvtxReductionOpStrpStr),\n    (ncclDataType_t, datatype, TYPE_DATATYPE, nccl_nvtxDataTypeStr)\n  )\n)\n\n#endif // end include guard\n"
  },
  {
    "path": "src/include/nvtx_stub.h",
    "content": "/*************************************************************************\n * Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_NVTX_STUB_H_\n#define NCCL_NVTX_STUB_H_\n\n#include <nvtx3/nvToolsExtPayload.h>\n\nstruct nccl_domain{static constexpr char const* name{\"NCCL\"};};\n\n#define NVTX3_FUNC_RANGE_IN(domain)\n#define nvtxNameOsThreadA(syscall, thread)\n#define NVTX3_FUNC_WITH_PARAMS(N, T, P)\n#define NVTX3_PAYLOAD(...) __VA_ARGS__\n#define NVTX3_RANGE(T)\n#define NVTX3_RANGE_ADD_PAYLOAD(N, S, P)\n\n#define NVTX_PAYLOAD_ENTRY_NCCL_REDOP 11\n\n#endif\n"
  },
  {
    "path": "src/include/p2p.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <stdlib.h>\n\n#ifndef NCCL_P2P_H_\n#define NCCL_P2P_H_\n\n#include <cuda.h>\n#include <cuda_runtime.h>\n\n#include \"core.h\"\n\n#if CUDART_VERSION < 12030\n// MNNVL: FABRIC handle support lifted from CUDA 12.3\n#define CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED ((CUdevice_attribute)128)\n#define CU_MEM_HANDLE_TYPE_FABRIC ((CUmemAllocationHandleType)0x8ULL)\n#define CU_IPC_HANDLE_SIZE 64\ntypedef struct CUmemFabricHandle_st {\n    unsigned char data[CU_IPC_HANDLE_SIZE];\n} CUmemFabricHandle_v1;\ntypedef CUmemFabricHandle_v1 CUmemFabricHandle;\n#endif\n\ntypedef union {\n  uint64_t data; // Needs to hold a CUmemGenericAllocationHandle for UDS fd support\n  CUmemFabricHandle handle;\n} ncclCuDesc;\n\ntypedef union {\n  // Legacy CUDA IPC\n  cudaIpcMemHandle_t devIpc;\n  // cuMem API support\n  struct {\n    ncclCuDesc cuDesc;\n    CUmemGenericAllocationHandle memHandle;\n  };\n} ncclIpcDesc;\n\nenum ncclIpcRegType {\n  NCCL_IPC_SENDRECV = 0,\n  NCCL_IPC_COLLECTIVE = 1\n};\n\nstruct ncclIpcImpInfo {\n  void* rmtRegAddr;\n  bool legacyIpcCap;\n  uintptr_t offset;\n};\n\nstruct ncclIpcRegInfo {\n  int peerRank;\n  void* baseAddr;\n  struct ncclProxyConnector* ipcProxyconn;\n  struct ncclIpcImpInfo impInfo;\n};\n\nncclResult_t ncclP2pAllocateShareableBuffer(size_t size, int directMap, ncclIpcDesc *ipcDesc, void **ptr);\nncclResult_t ncclP2pFreeShareableBuffer(ncclIpcDesc *ipcDesc);\nncclResult_t ncclP2pImportShareableBuffer(struct ncclComm *comm, int peer, size_t size, ncclIpcDesc *ipcDesc, void **devMemPtr);\nncclResult_t ncclIpcLocalRegisterBuffer(ncclComm* comm, const void* userbuff, size_t buffSize, int* peerRanks, int nPeers, ncclIpcRegType type, int* regBufFlag, uintptr_t* offsetOut, uintptr_t** peerRmtAddrsOut);\nncclResult_t ncclIpcGraphRegisterBuffer(ncclComm* comm, const void* userbuff, size_t buffSize, int* peerRanks, int nPeers, ncclIpcRegType type, int* regBufFlag, uintptr_t* offsetOut, uintptr_t** peerRmtAddrsOut, void* cleanupQueuePtr, int* nCleanupQueueElts);\n\nncclResult_t ncclIpcDeregBuffer(struct ncclComm* comm, struct ncclIpcRegInfo* regInfo);\n\n#endif\n"
  },
  {
    "path": "src/include/param.h",
    "content": "/*************************************************************************\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_PARAM_H_\n#define NCCL_PARAM_H_\n\n#include <stdint.h>\n\nconst char* userHomeDir();\nvoid setEnvFile(const char* fileName);\nvoid initEnv();\nconst char *ncclGetEnv(const char *name);\n\nvoid ncclLoadParam(char const* env, int64_t deftVal, int64_t uninitialized, int64_t* cache);\n\n#define NCCL_PARAM(name, env, deftVal) \\\n  int64_t ncclParam##name() { \\\n    constexpr int64_t uninitialized = INT64_MIN; \\\n    static_assert(deftVal != uninitialized, \"default value cannot be the uninitialized value.\"); \\\n    static int64_t cache = uninitialized; \\\n    if (__builtin_expect(__atomic_load_n(&cache, __ATOMIC_RELAXED) == uninitialized, false)) { \\\n      ncclLoadParam(\"NCCL_\" env, deftVal, uninitialized, &cache); \\\n    } \\\n    return cache; \\\n  }\n\n#define RCCL_PARAM_DECLARE(name) \\\nint64_t rcclParam##name()\n\n#define RCCL_PARAM(name, env, deftVal) \\\npthread_mutex_t rcclParamMutex##name = PTHREAD_MUTEX_INITIALIZER; \\\nint64_t rcclParam##name() { \\\n    constexpr int64_t uninitialized = INT64_MIN; \\\n    static_assert(deftVal != uninitialized, \"default value cannot be the uninitialized value.\"); \\\n    static int64_t cache = uninitialized; \\\n    if (__builtin_expect(__atomic_load_n(&cache, __ATOMIC_RELAXED) == uninitialized, false)) { \\\n      ncclLoadParam(\"RCCL_\" env, deftVal, uninitialized, &cache); \\\n    } \\\n    return cache; \\\n  }\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/nccl_net.h",
    "content": "/*************************************************************************\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_NET_H_\n#define NCCL_NET_H_\n\n#include \"nccl.h\"\n#include \"nccl_common.h\"\n#include \"net_device.h\"\n#include <stdint.h>\n#include <dlfcn.h>\n\n#define NCCL_NET_HANDLE_MAXSIZE 128\n//Maximum value NCCL can accept for maxP2pBytes and maxCollBytes net properties\n#define NCCL_MAX_NET_SIZE_BYTES (1*1024*1024*1024*1024L)\n#define NCCL_NET_OPTIONAL_RECV_COMPLETION 0x1\n#define NCCL_NET_MULTI_REQUEST 0x2\n\n#define MAX_NET_SIZE (1024*1024*1024L) // Rather than send INT_MAX which is 2G-1, send a power of two.\n#define MAX_COLLNET_SIZE (512*1024*1024L) //Set for initial collent plugins when size was not dynamically queried\n\n#define NCCL_PTR_HOST 0x1\n#define NCCL_PTR_CUDA 0x2\n#define NCCL_PTR_DMABUF 0x4\n\n// Maximum number of requests per comm object\n#define NCCL_NET_MAX_REQUESTS 32\n\n// Max number of ncclNet objects which can live in the same process\n#ifndef NCCL_NET_MAX_PLUGINS\n#define NCCL_NET_MAX_PLUGINS 16\n#endif\n\n#define NCCL_NET_MAX_DEVS_PER_NIC 4\n\n#include \"net/net_v11.h\"\n#include \"net/net_v10.h\"\n#include \"net/net_v9.h\"\n#include \"net/net_v8.h\"\n#include \"net/net_v7.h\"\n#include \"net/net_v6.h\"\n\ntypedef ncclNet_v11_t ncclNet_t;\ntypedef ncclCollNet_v11_t ncclCollNet_t;\ntypedef ncclNetSGE_v11_t ncclNetSGE_t;\ntypedef ncclNetProperties_v11_t ncclNetProperties_t;\ntypedef ncclNetAttr_v11_t ncclNetAttr_t;\ntypedef ncclNetVDeviceProps_v11_t ncclNetVDeviceProps_t;\ntypedef ncclNetCommConfig_v11_t ncclNetCommConfig_t;\n\n#define NCCL_NET_PLUGIN_SYMBOL ncclNetPlugin_v11\n#define NCCL_COLLNET_PLUGIN_SYMBOL ncclCollNetPlugin_v11\n\n// context passed from RCCL lib to n/w plugin\ntypedef struct {\n  // channel id\n  uint32_t chId;\n} ncclNet_ctxt_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "src/include/plugin/nccl_profiler.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_PROFILER_H_\n#define NCCL_PROFILER_H_\n\nenum {\n  ncclProfileGroup          = (1 << 0),  // group event type\n  ncclProfileColl           = (1 << 1),  // host collective call event type\n  ncclProfileP2p            = (1 << 2),  // host point-to-point call event type\n  ncclProfileProxyOp        = (1 << 3),  // proxy operation event type\n  ncclProfileProxyStep      = (1 << 4),  // proxy step event type\n  ncclProfileProxyCtrl      = (1 << 5),  // proxy control event type\n  ncclProfileKernelCh       = (1 << 6),  // kernel channel event type\n  ncclProfileNetPlugin      = (1 << 7),  // network plugin-defined, events\n  ncclProfileGroupApi       = (1 << 8),  // Group API events\n  ncclProfileCollApi        = (1 << 9),  // Collective API events\n  ncclProfileP2pApi         = (1 << 10), // Point-to-Point API events\n  ncclProfileKernelLaunch   = (1 << 11), // Kernel launch events\n};\n\ntypedef enum {\n  ncclProfilerProxyOpSendPosted        = 0,  // deprecated in v4\n  ncclProfilerProxyOpSendRemFifoWait   = 1,  // deprecated in v4\n  ncclProfilerProxyOpSendTransmitted   = 2,  // deprecated in v4\n  ncclProfilerProxyOpSendDone          = 3,  // deprecated in v4\n  ncclProfilerProxyOpRecvPosted        = 4,  // deprecated in v4\n  ncclProfilerProxyOpRecvReceived      = 5,  // deprecated in v4\n  ncclProfilerProxyOpRecvTransmitted   = 6,  // deprecated in v4\n  ncclProfilerProxyOpRecvDone          = 7,  // deprecated in v4\n  ncclProfilerProxyOpInProgress_v4     = 19,\n\n  /* Legacy proxy profiler states */\n  ncclProfilerProxyStepSendGPUWait     = 8,\n  ncclProfilerProxyStepSendPeerWait_v4 = 20,\n  ncclProfilerProxyStepSendWait        = 9,\n  ncclProfilerProxyStepRecvWait        = 10,\n  ncclProfilerProxyStepRecvFlushWait   = 11,\n  ncclProfilerProxyStepRecvGPUWait     = 12,\n\n  /* Legacy proxy control states */\n  ncclProfilerProxyCtrlIdle            = 13,\n  ncclProfilerProxyCtrlActive          = 14,\n  ncclProfilerProxyCtrlSleep           = 15,\n  ncclProfilerProxyCtrlWakeup          = 16,\n  ncclProfilerProxyCtrlAppend          = 17,\n  ncclProfilerProxyCtrlAppendEnd       = 18,\n\n  /* Network defined event states */\n  ncclProfilerNetPluginUpdate          = 21,\n\n  /* Kernel event states */\n  ncclProfilerKernelChStop             = 22,\n\n  /* Group API States */\n  ncclProfilerGroupStartApiStop        = 23,\n  ncclProfilerGroupEndApiStart         = 24\n} ncclProfilerEventState_t;\n\ntypedef ncclProfilerEventState_t ncclProfilerEventState_v1_t;\ntypedef ncclProfilerEventState_t ncclProfilerEventState_v2_t;\ntypedef ncclProfilerEventState_t ncclProfilerEventState_v3_t;\ntypedef ncclProfilerEventState_t ncclProfilerEventState_v4_t;\ntypedef ncclProfilerEventState_t ncclProfilerEventState_v5_t;\n\n#include <cstdint>\n#include \"profiler/profiler_v5.h\"\n#include \"profiler/profiler_v4.h\"\n#include \"profiler/profiler_v3.h\"\n#include \"profiler/profiler_v2.h\"\n#include \"profiler/profiler_v1.h\"\n\ntypedef ncclProfiler_v5_t ncclProfiler_t;\ntypedef ncclProfilerEventDescr_v5_t ncclProfilerEventDescr_t;\ntypedef ncclProfilerEventStateArgs_v5_t ncclProfilerEventStateArgs_t;\n\n#define NCCL_PROFILER_NET_VER_BITS  (16)\n#define NCCL_PROFILER_NET_VER_MASK  (~0U >> NCCL_PROFILER_NET_VER_BITS)\n#define NCCL_PROFILER_NET_TYPE_MASK (~0U << NCCL_PROFILER_NET_VER_BITS)\n\ntypedef enum {\n  NCCL_PROFILER_NET_TYPE_IB   = (1U << NCCL_PROFILER_NET_VER_BITS),\n  NCCL_PROFILER_NET_TYPE_SOCK = (2U << NCCL_PROFILER_NET_VER_BITS),\n} ncclProfilerNetType;\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/nccl_tuner.h",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n * Copyright (c) 2023, Meta Platforms, Inc. and affiliates.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_TUNER_H_\n#define NCCL_TUNER_H_\n\n#include \"nccl.h\"\n#include \"nccl_common.h\"\n\n#include \"tuner/tuner_v5.h\"\n#include \"tuner/tuner_v4.h\"\n#include \"tuner/tuner_v3.h\"\n#include \"tuner/tuner_v2.h\"\n\ntypedef ncclTuner_v5_t ncclTuner_t;\ntypedef ncclTunerConstants_v5_t ncclTunerConstants_t;\ntypedef ncclNvlDomainInfo_v5_t ncclNvlDomainInfo_t;\n\n#define NCCL_TUNER_PLUGIN_SYMBOL \"ncclTunerPlugin_v5\"\n\n#define NCCL_ALGO_UNDEF -1\n#define NCCL_ALGO_TREE 0\n#define NCCL_ALGO_RING 1\n#define NCCL_ALGO_COLLNET_DIRECT 2\n#define NCCL_ALGO_COLLNET_CHAIN 3\n#define NCCL_ALGO_NVLS 4\n#define NCCL_ALGO_NVLS_TREE 5\n#define NCCL_ALGO_PAT 6\n#define NCCL_NUM_ALGORITHMS NCCL_NUM_ALGORITHMS_V5 // Tree/Ring/CollNet*/PAT\n\n#define NCCL_PROTO_UNDEF -1\n#define NCCL_PROTO_LL 0\n#define NCCL_PROTO_LL128 1\n#define NCCL_PROTO_SIMPLE 2\n#define NCCL_NUM_PROTOCOLS NCCL_NUM_PROTOCOLS_V5 // Simple/LL/LL128\n\n#define NCCL_ALGO_PROTO_IGNORE -1.0\n\n#define NCCL_NUM_UNROLLS 3 // 1/2/4\n#define NCCL_UNROLL_1 0\n#define NCCL_UNROLL_2 1\n#define NCCL_UNROLL_4 2\n\n#define NCCL_NUM_FLOATS 6 // half/float/double/rccl_bfloat16/rccl_float8/rccl_bfloat8\n\n#define NCCL_HW_NVLINK 0\n#define NCCL_HW_PCI 1\n#define NCCL_HW_NET 2\n#define NCCL_NUM_HW_LINKS NCCL_NUM_HW_LINKS_V5\n\n#define NCCL_VOLTA_COMPCAP_IDX 0\n#define NCCL_AMPERE_COMPCAP_IDX 1\n#define NCCL_HOPPER_COMPCAP_IDX 2\n#define NCCL_BLACKWELL_COMPCAP_IDX 3\n#define NCCL_NUM_COMPCAPS NCCL_NUM_COMPCAPS_V5\n\n#define NCCL_TUNING_SCALE_1NODE 0\n#define NCCL_TUNING_SCALE_2NODES 1\n#define NCCL_TUNING_SCALE_4NODES 2\n#define NCCL_NUM_TUNING_SCALES NCCL_NUM_TUNING_SCALES_V5\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/net/net_v10.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NET_V10_H_\n#define NET_V10_H_\n\ntypedef struct {\n  int ndevs;\n  int devs[NCCL_NET_MAX_DEVS_PER_NIC];\n} ncclNetVDeviceProps_v10_t;\n\n#define NCCL_NET_TRAFFIC_CLASS_UNDEF -1\n\ntypedef struct {\n  // Plugin-specific TC value\n  int trafficClass;\n} ncclNetCommConfig_v10_t;\n\n\ntypedef struct {\n  char* name;                      // Used mostly for logging.\n  char* pciPath;                   // Path to the PCI device in /sys.\n  uint64_t guid;                   // Unique identifier for the NIC chip. Important for\n                                   // cards with multiple PCI functions (Physical or virtual).\n  int ptrSupport;                  // [NCCL_PTR_HOST|NCCL_PTR_CUDA|NCCL_PTR_DMABUF]\n  int regIsGlobal;                 // regMr is not tied to a particular comm\n  int forceFlush;                  // Force a flush on receives\n  int speed;                       // Port speed in Mbps.\n  int port;                        // Port number.\n  float latency;                   // Network latency\n  int maxComms;                    // Maximum number of comms we can create\n  int maxRecvs;                    // Maximum number of grouped receives.\n  ncclNetDeviceType netDeviceType; // Network offload type\n  int netDeviceVersion;            // Version number for network offload\n  ncclNetVDeviceProps_v10_t vProps;\n  size_t maxP2pBytes;              // Max transfer size for point-to-point operations\n  size_t maxCollBytes;             // Max transfer size for collective operations\n} ncclNetProperties_v10_t;\n\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction, ncclProfilerCallback_t profFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v10_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with sendComm == NULL with the expectation that\n  // it will be called again until sendComm != NULL.\n  // If *sendDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*connect)(int dev, ncclNetCommConfig_v10_t* config, void* handle, void** sendComm, ncclNetDeviceHandle_v10_t** sendDevComm);\n  // Finalize connection establishment after remote peer has called connect.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with recvComm == NULL with the expectation that\n  // it will be called again until recvComm != NULL.\n  // If *recvDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*accept)(void* listenComm, void** recvComm, ncclNetDeviceHandle_v10_t** recvDevComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, size_t size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, size_t size, int tag, void* mhandle, void* phandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles, void** phandles, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* sizes);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n\n  // Copy the given mhandle to a dptr in a format usable by this plugin's device code\n  ncclResult_t (*getDeviceMr)(void* comm, void* mhandle, void** dptr_mhandle);\n\n  // Notify the plugin that a recv has completed by the device\n  ncclResult_t (*irecvConsumed)(void* recvComm, int n, void* request);\n\n  // Virtual NIC APIs. makeVDevice will create a virtual NIC given the specified properties, and tell the caller\n  // what index this new vNIC exists at\n  ncclResult_t (*makeVDevice)(int* d, ncclNetVDeviceProps_v10_t* props);\n} ncclNet_v10_t;\n\ntypedef struct {\n  void* mhandle;\n  void* address;\n  size_t size;\n} ncclNetSGE_v10_t;\n\ntypedef struct {\n  // Name of the collective network (mainly for logs)\n  const char* name;\n  // Initialize the collective network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters capable of doing collective operations.\n  // If ndev returns 0, all other functions might be set to NULL.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v10_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create connections.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Create a group for collective operations. handles have been created\n  // using listen() above. rank indicates caller's rank in the collective network.\n  ncclResult_t (*connect)(void* handles[], int nranks, int rank, void* listenComm, void** collComm);\n  // Returns whether a reduction operation on a data type is supported.\n  // 1 for supported, 0 otherwise.\n  ncclResult_t (*reduceSupport)(ncclDataType_t dataType, ncclRedOp_t redOp, int* supported);\n  // Register/Deregister memory. Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* collComm, void* data, size_t size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* collComm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* collComm, void* mhandle);\n  // Performs an asynchronous allreduce operation on the collective group.\n  // May return request == NULL if the call cannot be performed (or would block).\n  ncclResult_t (*iallreduce)(void* collComm, void* sendData, void* recvData, size_t count,\n      ncclDataType_t dataType, ncclRedOp_t redOp, void* sendMhandle, void* recvMhandle, void** request);\n  ncclResult_t (*iallgather)(void* collComm, void* sendData, int nRecvParts, ncclNetSGE_v10_t* recvParts,\n                             size_t bytesPerRank, size_t windowOffset, size_t windowBytes,\n                             void* sendMhandle, void** request);\n  ncclResult_t (*ireducescatter)(void* collComm, int nSendParts, ncclNetSGE_v10_t* sendParts, void* recvData,\n                                 size_t bytesPerRank, size_t windowOffset, size_t windowBytes,\n                                 ncclDataType_t dataType, ncclRedOp_t redOp,\n                                 void* recvMhandle, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* collComm, void* data, int size, void* mhandle, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* size);\n  // Close and free collective comm objects\n  ncclResult_t (*closeColl)(void* collComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n\n  // Create a virtual NIC given the specified properties, which can be accessed at device index d\n  ncclResult_t (*makeVDevice)(int* d, ncclNetVDeviceProps_v10_t* props);\n} ncclCollNet_v10_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "src/include/plugin/net/net_v11.h",
    "content": "/*\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n */\n\n#ifndef NET_V11_H_\n#define NET_V11_H_\n\ntypedef struct {\n  int ndevs;\n  int devs[NCCL_NET_MAX_DEVS_PER_NIC];\n} ncclNetVDeviceProps_v11_t;\n\n#define NCCL_NET_TRAFFIC_CLASS_UNDEF -1\n\ntypedef struct {\n  // Plugin-specific TC value\n  int trafficClass;\n} ncclNetCommConfig_v11_t;\n\n\ntypedef struct {\n  char* name;                      // Used mostly for logging.\n  char* pciPath;                   // Path to the PCI device in /sys.\n  uint64_t guid;                   // Unique identifier for the NIC chip. Important for\n                                   // cards with multiple PCI functions (Physical or virtual).\n  int ptrSupport;                  // [NCCL_PTR_HOST|NCCL_PTR_CUDA|NCCL_PTR_DMABUF]\n  int regIsGlobal;                 // regMr is not tied to a particular comm\n  int forceFlush;                  // Force a flush on receives\n  int speed;                       // Port speed in Mbps.\n  int port;                        // Port number.\n  float latency;                   // Network latency\n  int maxComms;                    // Maximum number of comms we can create\n  int maxRecvs;                    // Maximum number of grouped receives.\n  ncclNetDeviceType netDeviceType; // Network offload type\n  int netDeviceVersion;            // Version number for network offload\n  ncclNetVDeviceProps_v11_t vProps;\n  size_t maxP2pBytes;              // Max transfer size for point-to-point operations\n  size_t maxCollBytes;             // Max transfer size for collective operations\n  int maxMultiRequestSize;         // Maximum number of requests supported in a single multi-request.\n} ncclNetProperties_v11_t;\n\n#define NCCL_NET_ATTR_UNDEF -1\n\n#define NCCL_NET_ATTR_INIT { \\\n  { NCCL_NET_ATTR_UNDEF, NCCL_NET_ATTR_UNDEF, NCCL_NET_ATTR_UNDEF, NCCL_NET_ATTR_UNDEF }, /* sendCommAttr */ \\\n  { NCCL_NET_ATTR_UNDEF, NCCL_NET_ATTR_UNDEF, NCCL_NET_ATTR_UNDEF, NCCL_NET_ATTR_UNDEF }, /* recvCommAttr */ \\\n  (uint32_t)NCCL_NET_ATTR_UNDEF, /* op */ \\\n  (uint32_t)NCCL_NET_ATTR_UNDEF, /* algo */ \\\n  (uint32_t)NCCL_NET_ATTR_UNDEF, /* proto */ \\\n}\n\ntypedef struct {\n  int32_t maxConcurrentPeers;\n  int32_t minConcurrentPeers;\n  int32_t maxFlowsPerPeer;\n  int32_t minFlowsPerPeer;\n} ncclNetCommAttr_v11_t;\n\ntypedef struct {\n  ncclNetCommAttr_v11_t sendCommAttr;\n  ncclNetCommAttr_v11_t recvCommAttr;\n  uint32_t op;\n  uint32_t algo;\n  uint32_t proto;\n} ncclNetAttr_v11_t;\n\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(void** ctx, uint64_t commId, ncclNetCommConfig_v11_t* config, ncclDebugLogger_t logFunction, ncclProfilerCallback_t profFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v11_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(void* ctx, int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with sendComm == NULL with the expectation that\n  // it will be called again until sendComm != NULL.\n  // If *sendDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*connect)(void* ctx, int dev, void* handle, void** sendComm, ncclNetDeviceHandle_v11_t** sendDevComm);\n  // Finalize connection establishment after remote peer has called connect.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with recvComm == NULL with the expectation that\n  // it will be called again until recvComm != NULL.\n  // If *recvDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*accept)(void* listenComm, void** recvComm, ncclNetDeviceHandle_v11_t** recvDevComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, size_t size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, size_t size, int tag, void* mhandle, void* phandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles, void** phandles, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* sizes);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n\n  // Copy the given mhandle to a dptr in a format usable by this plugin's device code\n  ncclResult_t (*getDeviceMr)(void* comm, void* mhandle, void** dptr_mhandle);\n\n  // Notify the plugin that a recv has completed by the device\n  ncclResult_t (*irecvConsumed)(void* recvComm, int n, void* request);\n\n  // Virtual NIC APIs. makeVDevice will create a virtual NIC given the specified properties, and tell the caller\n  // what index this new vNIC exists at\n  ncclResult_t (*makeVDevice)(int* d, ncclNetVDeviceProps_v11_t* props);\n  // Finalize the network.\n  ncclResult_t (*finalize)(void* ctx);\n\n  ncclResult_t (*setNetAttr)(void* ctx, ncclNetAttr_v11_t* netAttr);\n} ncclNet_v11_t;\n\ntypedef struct {\n  void* mhandle;\n  void* address;\n  size_t size;\n} ncclNetSGE_v11_t;\n\ntypedef struct {\n  // Name of the collective network (mainly for logs)\n  const char* name;\n  // Initialize the collective network.\n  ncclResult_t (*init)(void** ctx, uint64_t commId, ncclDebugLogger_t logFunction);\n  // Return the number of adapters capable of doing collective operations.\n  // If ndev returns 0, all other functions might be set to NULL.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v11_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create connections.\n  ncclResult_t (*listen)(void* ctx, int dev, void* handle, void** listenComm);\n  // Create a group for collective operations. handles have been created\n  // using listen() above. rank indicates caller's rank in the collective network.\n  ncclResult_t (*connect)(void* handles[], int nranks, int rank, void* listenComm, void** collComm);\n  // Returns whether a reduction operation on a data type is supported.\n  // 1 for supported, 0 otherwise.\n  ncclResult_t (*reduceSupport)(ncclDataType_t dataType, ncclRedOp_t redOp, int* supported);\n  // Register/Deregister memory. Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* collComm, void* data, size_t size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* collComm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* collComm, void* mhandle);\n  // Performs an asynchronous allreduce operation on the collective group.\n  // May return request == NULL if the call cannot be performed (or would block).\n  ncclResult_t (*iallreduce)(void* collComm, void* sendData, void* recvData, size_t count,\n      ncclDataType_t dataType, ncclRedOp_t redOp, void* sendMhandle, void* recvMhandle, void** request);\n  ncclResult_t (*iallgather)(void* collComm, void* sendData, int nRecvParts, ncclNetSGE_v11_t* recvParts,\n                             size_t bytesPerRank, size_t windowOffset, size_t windowBytes,\n                             void* sendMhandle, void** request);\n  ncclResult_t (*ireducescatter)(void* collComm, int nSendParts, ncclNetSGE_v11_t* sendParts, void* recvData,\n                                 size_t bytesPerRank, size_t windowOffset, size_t windowBytes,\n                                 ncclDataType_t dataType, ncclRedOp_t redOp,\n                                 void* recvMhandle, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* collComm, void* data, int size, void* mhandle, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* size);\n  // Close and free collective comm objects\n  ncclResult_t (*closeColl)(void* collComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n\n  // Create a virtual NIC given the specified properties, which can be accessed at device index d\n  ncclResult_t (*makeVDevice)(int* d, ncclNetVDeviceProps_v11_t* props);\n  // Finalize the collective network.\n  ncclResult_t (*finalize)(void* ctx);\n} ncclCollNet_v11_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "src/include/plugin/net/net_v6.h",
    "content": "/*************************************************************************\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NET_V6_H_\n#define NET_V6_H_\n\n#define NCCL_NET_MAX_REQUESTS_V6 8\n\n// v6 struct for backwards compatibility\ntypedef struct {\n  char* name;     // Used mostly for logging.\n  char* pciPath;  // Path to the PCI device in /sys.\n  uint64_t guid;  // Unique identifier for the NIC chip. Important for\n                  // cards with multiple PCI functions (Physical or virtual).\n  int ptrSupport; // [NCCL_PTR_HOST|NCCL_PTR_CUDA|NCCL_PTR_DMABUF]\n  int speed;      // Port speed in Mbps.\n  int port;       // Port number.\n  float latency;  // Network latency\n  int maxComms;   // Maximum number of comms we can create\n  int maxRecvs;   // Maximum number of grouped receives.\n} ncclNetProperties_v6_t;\n\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v6_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with sendComm == NULL with the expectation that\n  // it will be called again until sendComm != NULL.\n  ncclResult_t (*connect)(int dev, void* handle, void** sendComm);\n  // Finalize connection establishment after remote peer has called connect.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with recvComm == NULL with the expectation that\n  // it will be called again until recvComm != NULL.\n  ncclResult_t (*accept)(void* listenComm, void** recvComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, int size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, int size, int tag, void* mhandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, int n, void** data, int* sizes, int* tags, void** mhandles, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* sizes);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n} ncclNet_v6_t;\n\ntypedef struct {\n  // Name of the collective network (mainly for logs)\n  const char* name;\n  // Initialize the collective network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters capable of doing collective operations.\n  // If ndev returns 0, all other functions might be set to NULL.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v6_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create connections.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Create a group for collective operations. handles have been created\n  // using listen() above. rank indicates caller's rank in the collective network.\n  ncclResult_t (*connect)(void* handles[], int nranks, int rank, void* listenComm, void** collComm);\n  // Returns whether a reduction operation on a data type is supported.\n  // 1 for supported, 0 otherwise.\n  ncclResult_t (*reduceSupport)(ncclDataType_t dataType, ncclRedOp_t redOp, int* supported);\n  // Register/Deregister memory. Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* collComm, void* data, int size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* collComm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* collComm, void* mhandle);\n  // Performs an asynchronous allreduce operation on the collective group.\n  // May return request == NULL if the call cannot be performed (or would block).\n  ncclResult_t (*iallreduce)(void* collComm, void* sendData, void* recvData, int count,\n      ncclDataType_t dataType, ncclRedOp_t redOp, void* sendMhandle, void* recvMhandle, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* collComm, void* data, int size, void* mhandle, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* size);\n  // Close and free collective comm objects\n  ncclResult_t (*closeColl)(void* collComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n} ncclCollNet_v6_t;\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/net/net_v7.h",
    "content": "/*************************************************************************\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NET_V7_H_\n#define NET_V7_H_\n\ntypedef struct {\n  char* name;                      // Used mostly for logging.\n  char* pciPath;                   // Path to the PCI device in /sys.\n  uint64_t guid;                   // Unique identifier for the NIC chip. Important for\n                                   // cards with multiple PCI functions (Physical or virtual).\n  int ptrSupport;                  // [NCCL_PTR_HOST|NCCL_PTR_CUDA|NCCL_PTR_DMABUF]\n  int speed;                       // Port speed in Mbps.\n  int port;                        // Port number.\n  float latency;                   // Network latency\n  int maxComms;                    // Maximum number of comms we can create\n  int maxRecvs;                    // Maximum number of grouped receives.\n  ncclNetDeviceType netDeviceType; // Network offload type\n  int netDeviceVersion;            // Version number for network offload\n} ncclNetProperties_v7_t;\n\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v7_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with sendComm == NULL with the expectation that\n  // it will be called again until sendComm != NULL.\n  // If *sendDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*connect)(int dev, void* handle, void** sendComm, ncclNetDeviceHandle_v7_t** sendDevComm);\n  // Finalize connection establishment after remote peer has called connect.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with recvComm == NULL with the expectation that\n  // it will be called again until recvComm != NULL.\n  // If *recvDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*accept)(void* listenComm, void** recvComm, ncclNetDeviceHandle_v7_t** recvDevComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, int size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, int size, int tag, void* mhandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, int n, void** data, int* sizes, int* tags, void** mhandles, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* sizes);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n\n  // Copy the given mhandle to a dptr in a format usable by this plugin's device code\n  ncclResult_t (*getDeviceMr)(void* comm, void* mhandle, void** dptr_mhandle);\n\n  // Notify the plugin that a recv has completed by the device\n  ncclResult_t (*irecvConsumed)(void* recvComm, int n, void* request);\n} ncclNet_v7_t;\n\ntypedef struct {\n  // Name of the collective network (mainly for logs)\n  const char* name;\n  // Initialize the collective network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters capable of doing collective operations.\n  // If ndev returns 0, all other functions might be set to NULL.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v7_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create connections.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Create a group for collective operations. handles have been created\n  // using listen() above. rank indicates caller's rank in the collective network.\n  ncclResult_t (*connect)(void* handles[], int nranks, int rank, void* listenComm, void** collComm);\n  // Returns whether a reduction operation on a data type is supported.\n  // 1 for supported, 0 otherwise.\n  ncclResult_t (*reduceSupport)(ncclDataType_t dataType, ncclRedOp_t redOp, int* supported);\n  // Register/Deregister memory. Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* collComm, void* data, int size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* collComm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* collComm, void* mhandle);\n  // Performs an asynchronous allreduce operation on the collective group.\n  // May return request == NULL if the call cannot be performed (or would block).\n  ncclResult_t (*iallreduce)(void* collComm, void* sendData, void* recvData, int count,\n      ncclDataType_t dataType, ncclRedOp_t redOp, void* sendMhandle, void* recvMhandle, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* collComm, void* data, int size, void* mhandle, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* size);\n  // Close and free collective comm objects\n  ncclResult_t (*closeColl)(void* collComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n} ncclCollNet_v7_t;\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/net/net_v8.h",
    "content": "/*************************************************************************\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NET_V8_H_\n#define NET_V8_H_\n\ntypedef struct {\n  char* name;                      // Used mostly for logging.\n  char* pciPath;                   // Path to the PCI device in /sys.\n  uint64_t guid;                   // Unique identifier for the NIC chip. Important for\n                                   // cards with multiple PCI functions (Physical or virtual).\n  int ptrSupport;                  // [NCCL_PTR_HOST|NCCL_PTR_CUDA|NCCL_PTR_DMABUF]\n  int regIsGlobal;                 // regMr is not tied to a particular comm\n  int speed;                       // Port speed in Mbps.\n  int port;                        // Port number.\n  float latency;                   // Network latency\n  int maxComms;                    // Maximum number of comms we can create\n  int maxRecvs;                    // Maximum number of grouped receives.\n  ncclNetDeviceType netDeviceType; // Network offload type\n  int netDeviceVersion;            // Version number for network offload\n} ncclNetProperties_v8_t;\n\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v8_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with sendComm == NULL with the expectation that\n  // it will be called again until sendComm != NULL.\n  // If *sendDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*connect)(int dev, void* handle, void** sendComm, ncclNetDeviceHandle_v8_t** sendDevComm);\n  // Finalize connection establishment after remote peer has called connect.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with recvComm == NULL with the expectation that\n  // it will be called again until recvComm != NULL.\n  // If *recvDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*accept)(void* listenComm, void** recvComm, ncclNetDeviceHandle_v8_t** recvDevComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, size_t size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, int size, int tag, void* mhandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, int n, void** data, int* sizes, int* tags, void** mhandles, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* sizes);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n\n  // Copy the given mhandle to a dptr in a format usable by this plugin's device code\n  ncclResult_t (*getDeviceMr)(void* comm, void* mhandle, void** dptr_mhandle);\n\n  // Notify the plugin that a recv has completed by the device\n  ncclResult_t (*irecvConsumed)(void* recvComm, int n, void* request);\n} ncclNet_v8_t;\n\ntypedef struct {\n  void* mhandle;\n  void* address;\n  uint32_t size;\n} ncclNetSGE_v8_t;\n\ntypedef struct {\n  // Name of the collective network (mainly for logs)\n  const char* name;\n  // Initialize the collective network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters capable of doing collective operations.\n  // If ndev returns 0, all other functions might be set to NULL.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v8_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create connections.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Create a group for collective operations. handles have been created\n  // using listen() above. rank indicates caller's rank in the collective network.\n  ncclResult_t (*connect)(void* handles[], int nranks, int rank, void* listenComm, void** collComm);\n  // Returns whether a reduction operation on a data type is supported.\n  // 1 for supported, 0 otherwise.\n  ncclResult_t (*reduceSupport)(ncclDataType_t dataType, ncclRedOp_t redOp, int* supported);\n  // Register/Deregister memory. Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* collComm, void* data, size_t size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* collComm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* collComm, void* mhandle);\n  // Performs an asynchronous allreduce operation on the collective group.\n  // May return request == NULL if the call cannot be performed (or would block).\n  ncclResult_t (*iallreduce)(void* collComm, void* sendData, void* recvData, int count,\n      ncclDataType_t dataType, ncclRedOp_t redOp, void* sendMhandle, void* recvMhandle, void** request);\n  ncclResult_t (*iallgather)(void* collComm, void* sendData, int nRecvParts, ncclNetSGE_v8_t* recvParts,\n                             size_t bytesPerRank, size_t windowOffset, size_t windowBytes,\n                             void* sendMhandle, void** request);\n  ncclResult_t (*ireducescatter)(void* collComm, int nSendParts, ncclNetSGE_v8_t* sendParts, void* recvData,\n                                 size_t bytesPerRank, size_t windowOffset, size_t windowBytes,\n                                 ncclDataType_t dataType, ncclRedOp_t redOp,\n                                 void* recvMhandle, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* collComm, void* data, int size, void* mhandle, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* size);\n  // Close and free collective comm objects\n  ncclResult_t (*closeColl)(void* collComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n} ncclCollNet_v8_t;\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/net/net_v9.h",
    "content": "/*************************************************************************\n * Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NET_V9_H_\n#define NET_V9_H_\n\ntypedef struct {\n  int ndevs;\n  int devs[NCCL_NET_MAX_DEVS_PER_NIC];\n} ncclNetVDeviceProps_v9_t;\n\ntypedef struct {\n  char* name;                      // Used mostly for logging.\n  char* pciPath;                   // Path to the PCI device in /sys.\n  uint64_t guid;                   // Unique identifier for the NIC chip. Important for\n                                   // cards with multiple PCI functions (Physical or virtual).\n  int ptrSupport;                  // [NCCL_PTR_HOST|NCCL_PTR_CUDA|NCCL_PTR_DMABUF]\n  int regIsGlobal;                 // regMr is not tied to a particular comm\n  int forceFlush;                  // Force a flush on receives\n  int speed;                       // Port speed in Mbps.\n  int port;                        // Port number.\n  float latency;                   // Network latency\n  int maxComms;                    // Maximum number of comms we can create\n  int maxRecvs;                    // Maximum number of grouped receives.\n  ncclNetDeviceType netDeviceType; // Network offload type\n  int netDeviceVersion;            // Version number for network offload\n  ncclNetVDeviceProps_v9_t vProps;\n  size_t maxP2pBytes;              // Max transfer size for point-to-point operations\n  size_t maxCollBytes;             // Max transfer size for collective operations\n} ncclNetProperties_v9_t;\n\ntypedef struct {\n  // Name of the network (mainly for logs)\n  const char* name;\n  // Initialize the network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v9_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create a connection.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Connect to a handle and return a sending comm object for that peer.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with sendComm == NULL with the expectation that\n  // it will be called again until sendComm != NULL.\n  // If *sendDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*connect)(int dev, void* handle, void** sendComm, ncclNetDeviceHandle_v9_t** sendDevComm);\n  // Finalize connection establishment after remote peer has called connect.\n  // This call must not block for the connection to be established, and instead\n  // should return successfully with recvComm == NULL with the expectation that\n  // it will be called again until recvComm != NULL.\n  // If *recvDevComm points to a valid object, then NCCL is requesting device offload for this connection\n  ncclResult_t (*accept)(void* listenComm, void** recvComm, ncclNetDeviceHandle_v9_t** recvDevComm);\n  // Register/Deregister memory. Comm can be either a sendComm or a recvComm.\n  // Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* comm, void* data, size_t size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* comm, void* mhandle);\n  // Asynchronous send to a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*isend)(void* sendComm, void* data, size_t size, int tag, void* mhandle, void** request);\n  // Asynchronous recv from a peer.\n  // May return request == NULL if the call cannot be performed (or would block)\n  ncclResult_t (*irecv)(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* sizes);\n  // Close and free send/recv comm objects\n  ncclResult_t (*closeSend)(void* sendComm);\n  ncclResult_t (*closeRecv)(void* recvComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n\n  // Copy the given mhandle to a dptr in a format usable by this plugin's device code\n  ncclResult_t (*getDeviceMr)(void* comm, void* mhandle, void** dptr_mhandle);\n\n  // Notify the plugin that a recv has completed by the device\n  ncclResult_t (*irecvConsumed)(void* recvComm, int n, void* request);\n\n  // Virtual NIC APIs. makeVDevice will create a virtual NIC given the specified properties, and tell the caller\n  // what index this new vNIC exists at\n  ncclResult_t (*makeVDevice)(int* d, ncclNetVDeviceProps_v9_t* props);\n} ncclNet_v9_t;\n\ntypedef struct {\n  void* mhandle;\n  void* address;\n  size_t size;\n} ncclNetSGE_v9_t;\n\ntypedef struct {\n  // Name of the collective network (mainly for logs)\n  const char* name;\n  // Initialize the collective network.\n  ncclResult_t (*init)(ncclDebugLogger_t logFunction);\n  // Return the number of adapters capable of doing collective operations.\n  // If ndev returns 0, all other functions might be set to NULL.\n  ncclResult_t (*devices)(int* ndev);\n  // Get various device properties.\n  ncclResult_t (*getProperties)(int dev, ncclNetProperties_v9_t* props);\n  // Create a receiving object and provide a handle to connect to it. The\n  // handle can be up to NCCL_NET_HANDLE_MAXSIZE bytes and will be exchanged\n  // between ranks to create connections.\n  ncclResult_t (*listen)(int dev, void* handle, void** listenComm);\n  // Create a group for collective operations. handles have been created\n  // using listen() above. rank indicates caller's rank in the collective network.\n  ncclResult_t (*connect)(void* handles[], int nranks, int rank, void* listenComm, void** collComm);\n  // Returns whether a reduction operation on a data type is supported.\n  // 1 for supported, 0 otherwise.\n  ncclResult_t (*reduceSupport)(ncclDataType_t dataType, ncclRedOp_t redOp, int* supported);\n  // Register/Deregister memory. Type is either NCCL_PTR_HOST or NCCL_PTR_CUDA.\n  ncclResult_t (*regMr)(void* collComm, void* data, size_t size, int type, void** mhandle);\n  /* DMA-BUF support */\n  ncclResult_t (*regMrDmaBuf)(void* collComm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle);\n  ncclResult_t (*deregMr)(void* collComm, void* mhandle);\n  // Performs an asynchronous allreduce operation on the collective group.\n  // May return request == NULL if the call cannot be performed (or would block).\n  ncclResult_t (*iallreduce)(void* collComm, void* sendData, void* recvData, size_t count,\n      ncclDataType_t dataType, ncclRedOp_t redOp, void* sendMhandle, void* recvMhandle, void** request);\n  ncclResult_t (*iallgather)(void* collComm, void* sendData, int nRecvParts, ncclNetSGE_v9_t* recvParts,\n                             size_t bytesPerRank, size_t windowOffset, size_t windowBytes,\n                             void* sendMhandle, void** request);\n  ncclResult_t (*ireducescatter)(void* collComm, int nSendParts, ncclNetSGE_v9_t* sendParts, void* recvData,\n                                 size_t bytesPerRank, size_t windowOffset, size_t windowBytes,\n                                 ncclDataType_t dataType, ncclRedOp_t redOp,\n                                 void* recvMhandle, void** request);\n  // Perform a flush/fence to make sure all data received with NCCL_PTR_CUDA is\n  // visible to the GPU\n  ncclResult_t (*iflush)(void* collComm, void* data, int size, void* mhandle, void** request);\n  // Test whether a request is complete. If size is not NULL, it returns the\n  // number of bytes sent/received.\n  ncclResult_t (*test)(void* request, int* done, int* size);\n  // Close and free collective comm objects\n  ncclResult_t (*closeColl)(void* collComm);\n  ncclResult_t (*closeListen)(void* listenComm);\n\n  // Create a virtual NIC given the specified properties, which can be accessed at device index d\n  ncclResult_t (*makeVDevice)(int* d, ncclNetVDeviceProps_v9_t* props);\n} ncclCollNet_v9_t;\n\n#endif // end include guard\n"
  },
  {
    "path": "src/include/plugin/plugin.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024-2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_PLUGIN_H_\n#define NCCL_PLUGIN_H_\n\n#include \"nccl.h\"\n\nenum ncclPluginType {\n  ncclPluginTypeNet,\n  ncclPluginTypeTuner,\n  ncclPluginTypeProfiler,\n};\n\nvoid* ncclOpenNetPluginLib(const char* name);\nvoid* ncclOpenTunerPluginLib(const char* name);\nvoid* ncclOpenProfilerPluginLib(const char* name);\nvoid* ncclGetNetPluginLib(enum ncclPluginType type);\nncclResult_t ncclClosePluginLib(void* handle, enum ncclPluginType type);\n\nextern char* ncclPluginLibPaths[];\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/profiler/net_ib.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NET_IB_H_\n#define NET_IB_H_\n\n#include \"nccl_profiler.h\"\n#include \"net_ib_v1.h\"\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/profiler/net_ib_v1.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NET_IB_V1_H_\n#define NET_IB_V1_H_\n\n#define NCCL_PROFILER_NET_IB_VER 1\n\nenum {\n  ncclProfileQp = (1 << 0),\n};\n\n// The data structure version is encoded in the plugin identifier bitmask and\n// passed to NCCL core through the profiler callback. NCCL copies the plugin\n// identifier in the event descriptor before calling the profiler startEvent\n// function. The profiler should inspect the plugin id to find out the source\n// plugin as well as the version of the event struct\ntypedef struct {\n  uint8_t type;        // event type (plugin defined)\n  union {\n    struct {\n      int device;      // network device id\n      uint64_t wr_id;  // work request id\n      int opcode;      // ibv opcode\n      int qpNum;       // QP number\n      size_t length;   // work request data length\n    } qp;\n  };\n} ncclProfilerNetIbDescr_v1_t;\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/profiler/net_socket.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NET_SOCKET_H_\n#define NET_SOCKET_H_\n\n#include \"nccl_profiler.h\"\n#include \"net_socket_v1.h\"\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/profiler/net_socket_v1.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NET_SOCKET_V1_H_\n#define NET_SOCKET_V1_H_\n\n#define NCCL_PROFILER_NET_SOCKET_VER 1\n\nenum {\n  ncclProfileSocket = (1 << 0),\n};\n\n// The data structure version is encoded in the plugin identifier bitmask and\n// passed to NCCL core through the profiler callback. NCCL copies the plugin\n// identifier in the event descriptor before calling the profiler startEvent\n// function. The profiler should inspect the plugin id to find out the source\n// plugin as well as the version of the event struct\ntypedef struct {\n  uint8_t type;        // event type (plugin defined)\n  union {\n    struct {\n      int fd;\n      int op;\n      size_t length;\n    } sock;\n  };\n} ncclProfilerNetSockDescr_v1_t;\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/profiler/profiler_v1.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_V1_H_\n#define PROFILER_V1_H_\n\ntypedef struct {\n  uint8_t type;                 // event type descriptor: ncclProfileColl, ...\n  void* parentObj;              // pointer to the profiler parent object (for coll is the group)\n  int rank;                     // originating rank\n  union {\n    struct {\n      const char* name;\n      uint64_t commHash;\n      uint64_t seqNumber;\n      uint8_t func;\n      void const* sendBuff;\n      void* recvBuff;\n      size_t count;\n      int root;\n      uint8_t datatype;\n      uint32_t op;\n      size_t trafficBytes;\n      uint8_t nMaxChannels;\n      uint8_t nWarps;\n      uint8_t algo;\n      uint8_t proto;\n      int isCollnet;\n      int isNvls;\n    } coll;\n\n    struct {\n      const char* name;\n      uint64_t commHash;\n      uint8_t func;\n      void* buff;\n      uint8_t datatype;\n      size_t count;\n      int peer;\n    } p2p;\n\n    struct {\n      pid_t pid;                // pid of the originating process\n      uint8_t channelId;        // channel id for this proxy operation\n      int peer;                 // remote rank for send/recv\n      int nSteps;               // number of steps for this proxy operation\n      int chunkSize;            // amount of data transferred by this proxy operation\n      int isSend;\n    } proxyOp;\n\n    struct {\n      int step;\n    } proxyStep;\n  };\n} ncclProfilerEventDescr_v1_t;\n\ntypedef union {\n  struct {\n    size_t transSize;\n    int steps;\n  } proxyOp;\n\n  struct {\n    int appendedProxyOps;\n  } proxyCtrl;\n} ncclProfilerEventStateArgs_v1_t;\n\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, int* eActivationMask);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v1_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v1_t eState, ncclProfilerEventStateArgs_v1_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v1_t;\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/profiler/profiler_v2.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_V2_H_\n#define PROFILER_V2_H_\n\ntypedef struct {\n  uint8_t type;                 // event type descriptor: ncclProfileColl, ...\n  void* parentObj;              // pointer to the profiler parent object (for coll is the group)\n  int rank;                     // originating rank\n  union {\n    struct {\n      const char* name;\n      uint64_t commHash;\n      uint64_t seqNumber;\n      const char* func;\n      void const* sendBuff;\n      void* recvBuff;\n      size_t count;\n      int root;\n      const char* datatype;\n      size_t trafficBytes;\n      uint8_t nMaxChannels;\n      uint8_t nWarps;\n      const char* algo;\n      const char* proto;\n    } coll;\n\n    struct {\n      const char* name;\n      uint64_t commHash;\n      const char* func;\n      void* buff;\n      const char* datatype;\n      size_t count;\n      int peer;\n    } p2p;\n\n    struct {\n      pid_t pid;                // pid of the originating process\n      uint8_t channelId;        // channel id for this proxy operation\n      int peer;                 // remote rank for send/recv\n      int nSteps;               // number of steps for this proxy operation\n      int chunkSize;            // amount of data transferred by this proxy operation\n      int isSend;\n    } proxyOp;\n\n    struct {\n      int step;\n    } proxyStep;\n  };\n} ncclProfilerEventDescr_v2_t;\n\ntypedef union {\n  struct {\n    size_t transSize;\n    int steps;\n  } proxyOp;\n\n  struct {\n    int appendedProxyOps;\n  } proxyCtrl;\n} ncclProfilerEventStateArgs_v2_t;\n\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, int* eActivationMask);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v2_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v2_t eState, ncclProfilerEventStateArgs_v2_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v2_t;\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/profiler/profiler_v3.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_V3_H_\n#define PROFILER_V3_H_\n\ntypedef struct {\n  uint8_t type;                 // event type descriptor: ncclProfileColl, ...\n  void* parentObj;              // pointer to the profiler parent object (for coll is the group)\n  int rank;                     // originating rank\n  union {\n    struct {\n      const char* name;\n      uint64_t commHash;\n      uint64_t seqNumber;\n      const char* func;\n      void const* sendBuff;\n      void* recvBuff;\n      size_t count;\n      int root;\n      const char* datatype;\n      uint8_t nMaxChannels;\n      uint8_t nWarps;\n      const char* algo;\n      const char* proto;\n    } coll;\n\n    struct {\n      const char* name;\n      uint64_t commHash;\n      const char* func;\n      void* buff;\n      const char* datatype;\n      size_t count;\n      int peer;\n    } p2p;\n\n    struct {\n      pid_t pid;                // pid of the originating process\n      uint8_t channelId;        // channel id for this proxy operation\n      int peer;                 // remote rank for send/recv\n      int nSteps;               // number of steps for this proxy operation\n      int chunkSize;            // amount of data transferred by this proxy operation\n      int isSend;\n    } proxyOp;\n\n    struct {\n      int step;\n    } proxyStep;\n\n    struct {\n      uint8_t channelId;\n    } kernelCh;\n\n    struct {\n      int64_t id;\n      void* data;\n    } netPlugin;\n  };\n} ncclProfilerEventDescr_v3_t;\n\ntypedef union {\n  struct {\n    size_t transSize;\n    int steps;\n  } proxyOp;\n\n  struct {\n    int appendedProxyOps;\n  } proxyCtrl;\n} ncclProfilerEventStateArgs_v3_t;\n\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, int* eActivationMask);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v3_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v3_t eState, ncclProfilerEventStateArgs_v3_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v3_t;\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/profiler/profiler_v4.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_V4_H_\n#define PROFILER_V4_H_\n\ntypedef struct {\n  uint8_t type;                 // event type descriptor: ncclProfileColl, ...\n  void* parentObj;              // pointer to the profiler parent object (for coll is the group)\n  int rank;                     // originating rank\n  union {\n    struct {\n      uint64_t seqNumber;\n      const char* func;\n      void const* sendBuff;\n      void* recvBuff;\n      size_t count;\n      int root;\n      const char* datatype;\n      uint8_t nChannels;\n      uint8_t nWarps;\n      const char* algo;\n      const char* proto;\n    } coll;\n\n    struct {\n      const char* func;\n      void* buff;\n      const char* datatype;\n      size_t count;\n      int peer;\n      uint8_t nChannels;\n    } p2p;\n\n    struct {\n      pid_t pid;                // pid of the originating process\n      uint8_t channelId;        // channel id for this proxy operation\n      int peer;                 // remote rank for send/recv\n      int nSteps;               // number of steps for this proxy operation\n      int chunkSize;            // amount of data transferred by this proxy operation\n      int isSend;\n    } proxyOp;\n\n    struct {\n      int step;\n    } proxyStep;\n\n    struct {\n      uint8_t channelId;\n      uint64_t pTimer;          // start timestamp from GPU globaltimer\n    } kernelCh;\n\n    struct {\n      int64_t id;\n      void* data;\n    } netPlugin;\n  };\n} ncclProfilerEventDescr_v4_t;\n\ntypedef union {\n  struct {\n    size_t transSize;\n  } proxyStep;\n\n  struct {\n    int appendedProxyOps;\n  } proxyCtrl;\n\n  struct {\n    void* data;\n  } netPlugin;\n\n  struct {\n    uint64_t pTimer;\n  } kernelCh;\n} ncclProfilerEventStateArgs_v4_t;\n\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  //  - commName       : user assigned communicator name\n  //  - commHash       : communicator id\n  //  - nNodes         : number of nodes in communicator\n  //  - nranks         : number of ranks in communicator\n  //  - rank           : rank identifier in communicator\n  //  - logfn          : logger function\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, int* eActivationMask, const char* commName, uint64_t commHash, int nNodes, int nranks, int rank, ncclDebugLogger_t logfn);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v4_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v4_t eState, ncclProfilerEventStateArgs_v4_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v4_t;\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/profiler/profiler_v5.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_V5_H_\n#define PROFILER_V5_H_\n\ntypedef struct {\n  uint64_t type;                // event type descriptor: ncclProfileColl, ...\n  void* parentObj;              // pointer to the profiler parent object (for coll is the group)\n  int rank;                     // originating rank\n  union {\n    struct {\n      bool graphCaptured;\n      int groupDepth;\n    } groupApi;\n\n    struct {\n      const char* func;\n      size_t count;\n      const char* datatype;\n      int root;\n      void* stream;\n      bool graphCaptured;\n    } collApi;\n\n    struct {\n      const char* func;\n      size_t count;\n      const char* datatype;\n      void* stream;\n      bool graphCaptured;\n    } p2pApi;\n\n    struct {\n      void* stream;\n    } kernelLaunch;\n\n    struct {\n      uint64_t seqNumber;\n      const char* func;\n      void const* sendBuff;\n      void* recvBuff;\n      size_t count;\n      int root;\n      const char* datatype;\n      uint8_t nChannels;\n      uint8_t nWarps;\n      const char* algo;\n      const char* proto;\n      void* parentGroup; // for backward compatibility with v4\n    } coll;\n\n    struct {\n      const char* func;\n      void* buff;\n      const char* datatype;\n      size_t count;\n      int peer;\n      uint8_t nChannels;\n      void* parentGroup; // for backward compatibility with v4\n    } p2p;\n\n    struct {\n      pid_t pid;                // pid of the originating process\n      uint8_t channelId;        // channel id for this proxy operation\n      int peer;                 // remote rank for send/recv\n      int nSteps;               // number of steps for this proxy operation\n      int chunkSize;            // amount of data transferred by this proxy operation\n      int isSend;\n    } proxyOp;\n\n    struct {\n      int step;\n    } proxyStep;\n\n    struct {\n      uint8_t channelId;\n      uint64_t pTimer;          // start timestamp from GPU globaltimer\n    } kernelCh;\n\n    struct {\n      int64_t id;\n      void* data;\n    } netPlugin;\n  };\n} ncclProfilerEventDescr_v5_t;\n\ntypedef union {\n  struct {\n    size_t transSize;\n  } proxyStep;\n\n  struct {\n    int appendedProxyOps;\n  } proxyCtrl;\n\n  struct {\n    void* data;\n  } netPlugin;\n\n  struct {\n    uint64_t pTimer;\n  } kernelCh;\n} ncclProfilerEventStateArgs_v5_t;\n\ntypedef struct {\n  const char* name;\n\n  // init - initialize the profiler plugin\n  // Input\n  //  - context        : opaque profiler context object for separating profiler behavior across comms\n  //  - commId         : communicator id\n  //  - commName       : user assigned communicator name\n  //  - nNodes         : number of nodes in communicator\n  //  - nranks         : number of ranks in communicator\n  //  - rank           : rank identifier in communicator\n  //  - logfn          : logger function\n  // Output\n  //  - eActivationMask: bitmask of active events set by the plugin\n  ncclResult_t (*init)(void** context, uint64_t commId, int* eActivationMask, const char* commName, int nNodes, int nranks, int rank, ncclDebugLogger_t logfn);\n\n  // startEvent - initialize and start a new event for the supplied event descriptor inside the eventset\n  // Input\n  //  - context: opaque profiler context object\n  //  - eDescr : pointer to ncclProfilerEventDescr_t object\n  // Output\n  //  - eHandle: return event handle for supplied event descriptor object\n  ncclResult_t (*startEvent)(void* context, void** eHandle, ncclProfilerEventDescr_v5_t* eDescr);\n\n  // stopEvent - stop/finalize an event inside and event set\n  // Input\n  //  - eHandle: handle to event object\n  ncclResult_t (*stopEvent)(void* eHandle);\n\n  // recordEventState - record event state transitions and event attribute updates\n  // Input\n  //  - eHandle   : handle to event object created through startEvent\n  //  - eStateArgs: optional argument used to capture event attribute updates associated with the state transition\n  //  - eState    : event state transition\n  ncclResult_t (*recordEventState)(void* eHandle, ncclProfilerEventState_v5_t eState, ncclProfilerEventStateArgs_v5_t* eStateArgs);\n\n  // finalize - finalize the profiler plugin\n  // Input\n  //  - context: opaque profiler context object\n  ncclResult_t (*finalize)(void* context);\n} ncclProfiler_v5_t;\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/tuner/tuner_v2.h",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n * Copyright (c) 2023, Meta Platforms, Inc. and affiliates.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef TUNER_V2_H_\n#define TUNER_V2_H_\n\n// API to be implemented by external tuner\ntypedef struct {\n  // Name of the tuner\n  const char* name;\n\n  // Initializes tuner states.\n  // Inputs:\n  //   - nRanks: number of ranks in current communicator. Each communicator initialize its own tuner.\n  //   - nNodes: number of nodes in current communicator.\n  //   - logFunction: a logFunction can be useful to integrate logging together with NCCL core.\n  // Outputs:\n  //   - context: tuner context object\n  ncclResult_t (*init)(size_t nRanks, size_t nNodes, ncclDebugLogger_t logFunction, void **context);\n\n  // Gets info (algo, protocol, number of ctas and threads) for a given collective.\n  // Inputs:\n  //   - context: tuner context object\n  //   - collType: collective type , e.g., allreduce, allgather…\n  //   - nBytes: collective size in bytes\n  //   - collNetTypeSupport: whether collnet supports this type\n  //   - nvlsTypeSupport: whether nvlink sharp supports this time\n  //   - numPipeOps: number of operations in the group\n  //\n  // Outputs:\n  //   - algorithm: selected algorithm to be used for the given collective\n  //   - protocol: selected protocol to be used for the give collective\n  //   - nChannels: number of channels (hence SMs) to be used.\n  //\n  // If getCollInfo() does not return ncclSuccess, NCCL will fall back to the\n  // default tuning for the given collective.\n  // Also, the plugin is allowed to not set any output, or set only the\n  // algorithm and protocol, but not only the algorithm or only the protocol.\n  // Unset fields will be set automatically by NCCL.\n  ncclResult_t (*getCollInfo)(void* context, ncclFunc_t collType, size_t nBytes,\n                              int collNetSupport, int nvlsSupport, int numPipeOps,\n                              int* algorithm, int* protocol, int* nChannels);\n\n  // Terminates the plugin and cleans up any resources that the plugin allocated.\n  // context: tuner context object\n  ncclResult_t (*destroy)(void* context);\n} ncclTuner_v2_t;\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/tuner/tuner_v3.h",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n * Copyright (c) 2023, Meta Platforms, Inc. and affiliates.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef TUNER_V3_H_\n#define TUNER_V3_H_\n\n// API to be implemented by external tuner\ntypedef struct {\n  // Name of the tuner\n  const char* name;\n\n  // Initializes tuner states.\n  // Inputs:\n  //   - nRanks: number of ranks in current communicator. Each communicator initialize its own tuner.\n  //   - nNodes: number of nodes in current communicator.\n  //   - logFunction: a logFunction can be useful to integrate logging together with NCCL core.\n  // Outputs:\n  //   - context: tuner context object\n  ncclResult_t (*init)(size_t nRanks, size_t nNodes, ncclDebugLogger_t logFunction, void **context);\n\n  // Gets info (algo, protocol, number of ctas and threads) for a given collective.\n  // Inputs:\n  //   - context: tuner context object\n  //   - collType: collective type , e.g., allreduce, allgather…\n  //   - nBytes: collective size in bytes\n  //   - numPipeOps: number of operations in the group\n  //   - numAlgo: number of algorithms in collCostTable\n  //   - numProto: number of protocols in collCostTable\n  //\n  // Outputs:\n  //   - nChannels: number of channels (hence SMs) to be used.\n  //\n  // InOut:\n  //   - collCostTable: collective cost table, generated by NCCL core, containing algo|proto|time entries for collType.\n  //                    NCCL core sets ignored algo/proto cost table entries to -1.0 (NCCL_ALGO_PROTO_IGNORE).\n  //\n  // If getCollInfo() does not return ncclSuccess, NCCL will fall back to the\n  // default tuning for the given collective.\n  // Also, the plugin is allowed to not set any output, or set only the\n  // algorithm and protocol, but not only the algorithm or only the protocol.\n  // Unset fields will be set automatically by NCCL.\n  ncclResult_t (*getCollInfo)(void* context, ncclFunc_t collType, size_t nBytes,\n                              int numPipeOps, float** collCostTable, int numAlgo, int numProto,\n                              int* nChannels);\n\n  // Terminates the plugin and cleans up any resources that the plugin allocated.\n  // context: tuner context object\n  ncclResult_t (*destroy)(void* context);\n} ncclTuner_v3_t;\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/tuner/tuner_v4.h",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n * Copyright (c) 2023, Meta Platforms, Inc. and affiliates.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef TUNER_V4_H_\n#define TUNER_V4_H_\n\n// API to be implemented by external tuner\ntypedef struct {\n  // Name of the tuner\n  const char* name;\n\n  // Initializes tuner states.\n  // Inputs:\n  //   - nRanks: number of ranks in current communicator. Each communicator initialize its own tuner.\n  //   - nNodes: number of nodes in current communicator.\n  //   - logFunction: a logFunction can be useful to integrate logging together with NCCL core.\n  // Outputs:\n  //   - context: tuner context object\n  ncclResult_t (*init)(size_t nRanks, size_t nNodes, ncclDebugLogger_t logFunction, void **context);\n\n  // Gets info (algo, protocol, number of ctas and threads) for a given collective.\n  // Inputs:\n  //   - context: tuner context object\n  //   - collType: collective type , e.g., allreduce, allgather…\n  //   - nBytes: collective size in bytes\n  //   - numPipeOps: number of operations in the group\n  //   - numAlgo: number of algorithms in collCostTable\n  //   - numProto: number of protocols in collCostTable\n  //   - regBuff: can register user buffer\n  //\n  // Outputs:\n  //   - nChannels: number of channels (hence SMs) to be used.\n  //\n  // InOut:\n  //   - collCostTable: collective cost table, generated by NCCL core, containing algo|proto|time entries for collType.\n  //                    NCCL core sets ignored algo/proto cost table entries to -1.0 (NCCL_ALGO_PROTO_IGNORE).\n  //\n  // If getCollInfo() does not return ncclSuccess, NCCL will fall back to the\n  // default tuning for the given collective.\n  // Also, the plugin is allowed to not set any output, or set only the\n  // algorithm and protocol, but not only the algorithm or only the protocol.\n  // Unset fields will be set automatically by NCCL.\n  ncclResult_t (*getCollInfo)(void* context, ncclFunc_t collType, size_t nBytes,\n                              int numPipeOps, float** collCostTable, int numAlgo, int numProto,\n                              int regBuff, int* nChannels);\n\n  // Terminates the plugin and cleans up any resources that the plugin allocated.\n  // context: tuner context object\n  ncclResult_t (*destroy)(void* context);\n} ncclTuner_v4_t;\n\n#endif\n"
  },
  {
    "path": "src/include/plugin/tuner/tuner_v5.h",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n * Copyright (c) 2023, Meta Platforms, Inc. and affiliates.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef TUNER_V5_H_\n#define TUNER_V5_H_\n\n// NVL domain information struct\ntypedef struct {\n  int nNvlDomains;                    // number of NVLink domains\n  int minRanksPerNvlDomain;           // minimum ranks across all NVLink domains\n  int maxRanksPerNvlDomain;           // maximum ranks across all NVLink domains\n} ncclNvlDomainInfo_v5_t;\n\n#define NCCL_NUM_ALGORITHMS_V5 7 // Tree/Ring/CollNet*/PAT\n#define NCCL_NUM_PROTOCOLS_V5 3 // Simple/LL/LL128\n#define NCCL_NUM_HW_LINKS_V5 3\n#define NCCL_NUM_COMPCAPS_V5 4\n#define NCCL_NUM_TUNING_SCALES_V5 3\n\ntypedef struct {\n  double baseLatencies [NCCL_NUM_ALGORITHMS_V5][NCCL_NUM_PROTOCOLS_V5];\n  double hwLatencies [NCCL_NUM_HW_LINKS_V5][NCCL_NUM_ALGORITHMS_V5][NCCL_NUM_PROTOCOLS_V5];\n\n  double llMaxBws [NCCL_NUM_COMPCAPS_V5][NCCL_NUM_TUNING_SCALES_V5];\n  double perChMaxRingLL128Bws [NCCL_NUM_COMPCAPS_V5][NCCL_NUM_TUNING_SCALES_V5];\n  double perChMaxTreeLL128Bws [NCCL_NUM_COMPCAPS_V5][NCCL_NUM_TUNING_SCALES_V5];\n  double perChMaxTreeBws [NCCL_NUM_COMPCAPS_V5][NCCL_NUM_TUNING_SCALES_V5];\n  double perChMaxNVLSTreeBws [NCCL_NUM_COMPCAPS_V5][NCCL_NUM_TUNING_SCALES_V5];\n\n\n} ncclTunerConstants_v5_t;\n\n// API to be implemented by external tuner\ntypedef struct {\n  // Name of the tuner\n  const char* name;\n\n  // Initializes tuner states.\n  // Inputs:\n  //   - commId: communicator identifier\n  //   - nRanks: number of ranks in current communicator. Each communicator initialize its own tuner.\n  //   - nNodes: number of nodes in current communicator.\n  //   - logFunction: a logFunction can be useful to integrate logging together with NCCL core.\n  //   - nvlDomainInfo: NVL domain information struct\n  // Outputs:\n  //   - context: tuner context object\n  // Input/Output:\n  //   - constants: tuner constants\n  ncclResult_t (*init)(void** ctx, uint64_t commId, size_t nRanks, size_t nNodes, ncclDebugLogger_t logFunction,\n                      ncclNvlDomainInfo_v5_t* nvlDomainInfo, ncclTunerConstants_v5_t* constants);\n\n  // Gets info (algo, protocol, number of ctas and threads) for a given collective.\n  // Inputs:\n  //   - context: tuner context object\n  //   - collType: collective type , e.g., allreduce, allgather…\n  //   - nBytes: collective size in bytes\n  //   - numPipeOps: number of operations in the group\n  //   - numAlgo: number of algorithms in collCostTable\n  //   - numProto: number of protocols in collCostTable\n  //   - regBuff: can register user buffer\n  //\n  // Outputs:\n  //   - nChannels: number of channels (hence SMs) to be used.\n  //\n  // InOut:\n  //   - collCostTable: collective cost table, generated by NCCL core, containing algo|proto|time entries for collType.\n  //                    NCCL core sets ignored algo/proto cost table entries to -1.0 (NCCL_ALGO_PROTO_IGNORE).\n  //\n  // If getCollInfo() does not return ncclSuccess, NCCL will fall back to the\n  // default tuning for the given collective.\n  // Also, the plugin is allowed to not set any output, or set only the\n  // algorithm and protocol, but not only the algorithm or only the protocol.\n  // Unset fields will be set automatically by NCCL.\n  ncclResult_t (*getCollInfo)(void* context, ncclFunc_t collType, size_t nBytes,\n                              int numPipeOps, float** collCostTable, int numAlgo, int numProto,\n                              int regBuff, int* nChannels);\n\n  // Terminates the plugin and cleans up any resources that the plugin allocated.\n  // context: tuner context object\n  ncclResult_t (*finalize)(void* context);\n} ncclTuner_v5_t;\n\n#endif\n"
  },
  {
    "path": "src/include/profiler.h",
    "content": "/*************************************************************************\n * Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef PROFILER_H_\n#define PROFILER_H_\n\n#include <cuda_runtime.h>\n#include \"nccl_profiler.h\"\n\nstruct ncclProxyArgs;\nstruct ncclKernelPlan;\nstruct ncclTaskColl;\nstruct ncclTaskP2p;\nstruct ncclInfo;\nstruct ncclComm;\nstruct ncclProxyOp;\nstruct ncclProxyConnector;\n\nstruct ncclProfilerProxy {\n  bool initialized;\n  struct ncclDevProfiler* workStarted/*[MAXCHANNELS]*/;\n  struct ncclDevProfiler* workCompleted/*[MAXCHANNELS]*/;\n  uint64_t workCounter[MAXCHANNELS]; // host work counter\n  struct ncclProxyConnector sendProxyConn[MAXCHANNELS];\n  struct ncclProxyConnector recvProxyConn[MAXCHANNELS];\n};\n\nenum groupApiState {\n  ncclProfilerGroupApiStartStateReset   = 0,\n  ncclProfilerGroupApiStartStateStarted = 1,\n  ncclProfilerGroupApiStartStateStopped = 2,\n};\n\n// Used by the profiler to track state for API events\ntypedef struct ncclProfilerApiState {\n  int profilerGroupDepth;\n  int eActivationMask;\n  groupApiState state;\n  void *groupApiEventHandle;\n  // Tracks the latest API event handles for p2p/collectives\n  void* p2pApiEventHandle;\n  void *collApiEventHandle;\n} ncclProfilerApiState_t;\n\nextern __thread ncclProfilerApiState_t ncclProfilerApiState;\n\nextern int ncclProfilerEventMask;\n\n// Plugin Init/Finalize Wrappers\nncclResult_t ncclProfilerPluginInit(struct ncclComm* comm);\nncclResult_t ncclProfilerPluginFinalize(struct ncclComm* comm);\n\n// Profiler Start/Stop/Record wrappers for ncclGroupStart and ncclGroupEnd API calls\nncclResult_t ncclProfilerStartGroupApiEvent(struct ncclInfo *info, bool isGraphCaptured);\nncclResult_t ncclProfilerStopGroupApiEvent();\nncclResult_t ncclProfilerRecordGroupApiEventState(ncclProfilerEventState_t eState);\n\n//Profiler Start/Stop wrappers for P2p API calls\nncclResult_t ncclProfilerStartP2pApiEvent(struct ncclInfo *info, bool isGraphCaptured);\nncclResult_t ncclProfilerStopP2pApiEvent();\n\n//Profiler Start/Stop wrappers for Collective API calls\nncclResult_t ncclProfilerStartCollApiEvent(struct ncclInfo *info, bool isGraphCaptured);\nncclResult_t ncclProfilerStopCollApiEvent();\n\n// Kernel Launch Start/Stop Event Wrappers\nncclResult_t ncclProfilerStartKernelLaunchEvent(struct ncclKernelPlan* plan, cudaStream_t stream);\nncclResult_t ncclProfilerStopKernelLaunchEvent(struct ncclKernelPlan* plan);\n\n// Profiler Start/Stop Group Wrappers\nncclResult_t ncclProfilerStartGroupEvent(struct ncclKernelPlan* plan);\nncclResult_t ncclProfilerStopGroupEvent(struct ncclKernelPlan* plan);\n\n// Profiler Start/Stop Task Events Wrappers\nncclResult_t ncclProfilerStartTaskEvents(struct ncclKernelPlan* plan);\nncclResult_t ncclProfilerStopTaskEvents(struct ncclKernelPlan* plan);\n\n// Proxy Op Start/Stop Event Wrappers\nncclResult_t ncclProfilerStartProxyOpEvent(int sub, struct ncclProxyArgs* args);\nncclResult_t ncclProfilerStopProxyOpEvent(int sub, struct ncclProxyArgs* args);\n\n// Proxy Step Start/Stop Event Wrappers\nncclResult_t ncclProfilerStartSendProxyStepEvent(int sub, struct ncclProxyArgs* args, int stepId);\nncclResult_t ncclProfilerStartRecvProxyStepEvent(int sub, struct ncclProxyArgs* args, int stepId);\nncclResult_t ncclProfilerStopProxyStepEvent(int sub, struct ncclProxyArgs* args, int stepId);\n\n// Proxy Control Start/Stop Events Wrappers\nncclResult_t ncclProfilerStartProxyCtrlEvent(void* profilerContext, void** eHandle);\nncclResult_t ncclProfilerStopProxyCtrlEvent(void* eHandle);\n\n// Kernel Channel Start/Stop Event Wrappers\nncclResult_t ncclProfilerStartKernelChEvent(struct ncclProxyArgs* args, int s, uint64_t start);\nncclResult_t ncclProfilerStopKernelChEvent(struct ncclProxyArgs* args, int s, uint64_t stop);\n\n// Record Event Wrappers\nncclResult_t ncclProfilerRecordProxyOpEventState(int sub, struct ncclProxyArgs* args, ncclProfilerEventState_t eState);\nncclResult_t ncclProfilerRecordProxyStepEventState(int sub, struct ncclProxyArgs* args, int stepId, ncclProfilerEventState_t eState);\nncclResult_t ncclProfilerRecordProxyCtrlEventState(void*eHandle, int appended, ncclProfilerEventState_t eState);\n\n// Profiler utility functions\nncclResult_t ncclProfilerAddPidToProxyOp(struct ncclProxyOp* op);\nbool ncclProfilerNeedsProxy(struct ncclComm* comm, struct ncclProxyOp* op);\nbool ncclProfilerPluginLoaded(void);\n\n// Profiler callback for network plugin\nncclResult_t ncclProfilerCallback(void** eHandle, int type, void* pHandle, int64_t pluginId, void* extData);\n\n#endif\n"
  },
  {
    "path": "src/include/proxy.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_PROXY_H_\n#define NCCL_PROXY_H_\n\n#include \"device.h\"\n#include \"info.h\"\n#include \"socket.h\"\n#include \"ipcsocket.h\"\n#include \"nccl_net.h\"\n#include <pthread.h>\n#include \"shmutils.h\"\n#include \"p2p.h\"\n#include \"collectives.h\"\n#include \"proxy_trace/proxy_trace.h\"\n\ntypedef enum : uint8_t {\n  ncclPatternRing,\n  ncclPatternRingTwice,\n  ncclPatternPipelineFrom,\n  ncclPatternPipelineTo,\n  ncclPatternTreeUp,\n  ncclPatternTreeDown,\n  ncclPatternTreeUpDown,\n  ncclPatternCollnetChain,\n  ncclPatternCollnetDirect,\n  ncclPatternNvls,\n  ncclPatternNvlsTree,\n  ncclPatternPatUp,\n  ncclPatternPatDown,\n  ncclPatternSend,\n  ncclPatternRecv,\n  ncclPatternProfiler,\n} ncclPattern_t;\n\nenum ncclProxyOpState { ncclProxyOpNone, ncclProxyOpReady, ncclProxyOpProgress };\nenum { proxyRecv=0, proxySend=1 };\n\nstruct ncclProxyArgs;\ntypedef ncclResult_t (*proxyProgressFunc_t)(struct ncclProxyState*, struct ncclProxyArgs*);\n\n#define NCCL_PROXY_MAX_SUBS MAXCHANNELS\nstatic_assert(2*NCCL_MAX_DEV_WORK_P2P_PER_BATCH <= MAXCHANNELS, \"Not enough sub space for max work elements\");\n\nunion ncclProxyOpSpecifics {\n  struct {\n    size_t sizePerRank;\n    int nNodes, node;\n  } collnetDirect;\n};\n\nstruct ncclProxyOp {\n  struct ncclProxyConnection* connection;\n  ssize_t nbytes;\n  uint64_t opCount;\n  int root:30;\n  uint32_t connIndex:2;\n  int next;\n  int nsteps;\n  size_t chunkSize;\n  size_t sliceSize;\n  size_t loopSize;\n  size_t loopOffset;\n  size_t channelSize;\n  uint8_t sliceSteps;\n  uint8_t chunkSteps;\n  uint8_t channelId;\n  uint8_t /*ncclDataType_t*/ dtype;\n  uint8_t /*ncclDevRedOp_t*/ redOp;\n  uint8_t /*ncclFunc_t*/ coll;\n  uint8_t /*ncclFunc_t*/ collAPI;\n  uint8_t /*ncclPattern_t*/ pattern;\n  uint8_t protocol;\n  uint8_t algorithm;\n  uint8_t reg;\n  // collnet/p2p/coll buffer reg handles\n  void* sendMhandle;\n  void* recvMhandle;\n  uint8_t* sendbuff;\n  uint8_t* recvbuff;\n  int isOneRPN;\n  RingAlgorithm *ringAlgo;\n  int nextRank;\n  int prevRank;\n  union ncclProxyOpSpecifics specifics;\n  int nChannels;\n  int nPeers;\n\n  // Profiler plugin\n  union {\n    struct ncclTaskColl* coll;\n    struct ncclTaskP2p* p2p;\n  } task;\n\n  // Profiler work counter increment flag. Set to 'true' if the profiler work counter for this channel needs increment.\n  // Always 'true' for collective operations. Grouped p2p operations are fused into one <send, recv> pair in the GPU kernel,\n  // meaning the GPU profiler code increments the work counter for the pair rather than the individual p2p. For this\n  // reason, the incWorkCounter flag is used to avoid incrementing the work counter twice in the host code. This is done\n  // by setting incWorkCounter to 'true' only for one of the p2ps in the pair during enqueue.\n  bool incWorkCounter;\n  int eActivationMask;\n  void* taskEventHandle;\n  int rank;\n  int peer;\n  pid_t pid;\n  void* profilerContext;\n  uint64_t workCounter;\n\n  struct ncclProxyOp *enqNext;\n\n  // Used to track total real bytes of this op\n  uint32_t totalBytes;\n  // Used to fetch/update the proxyOp in ProxyTrace map\n  facebook_rccl::ProxyTraceRecordKey traceKey;\n  facebook_rccl::ProxyTraceExtraInfo traceInfo;\n};\n\nstruct ncclProxySubArgs;\n\nstruct ncclProxyEventHandle {\n  void* stepEventHandle;\n  struct ncclProxySubArgs* subArgPtr;\n};\n\nstruct ncclProxySubArgs {\n  struct ncclProxyConnection* connection;\n  int reg;\n  // collnet handles\n  void* sendMhandle;\n  void* recvMhandle;\n  uint8_t* sendbuff;\n  uint8_t* recvbuff;\n  size_t offset;\n  ssize_t loopSize;\n  ssize_t loopOffset;\n  int channelId;\n  int nsteps;\n  ssize_t nbytes;\n  ssize_t chunkSize;\n  int peer;\n  int isOneRPN;\n  RingAlgorithm *ringAlgo;\n  int groupSize; // Number of consecutive sub operations sharing the same recvComm\n  uint64_t base;\n  uint64_t posted;\n  uint64_t received;\n  uint64_t flushed;\n  uint64_t transmitted;\n  uint64_t done;\n  uint64_t end;\n  int regBufferReady;\n  void* requests[NCCL_STEPS];\n\n  // Profiler plugin\n  int eActivationMask;\n  int rank;\n  pid_t pid;\n  void* profilerContext;\n  void* taskEventHandle;\n  void* opEventHandle;\n  void* kernelEventHandle;\n  struct ncclProxyEventHandle pHandles[NCCL_STEPS];\n  size_t transSize;\n  uint64_t workCounter;\n\n  void* recvRequestsCache[NCCL_STEPS];\n  int recvRequestsSubCount;\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_NET_SEND_ENTRY) && defined(ENABLE_NPKIT_EVENT_NET_SEND_EXIT)\n  int npKitSizesFifo[NCCL_STEPS];\n  uint64_t timestamp[NCCL_STEPS];\n#endif\n\n  // Used to fetch/update the proxyOp in ProxyTrace map\n  facebook_rccl::ProxyTraceRecordKey traceKey;\n  facebook_rccl::ProxyTraceExtraInfo traceInfo;\n};\n\nstruct ncclProxyArgs {\n  struct ncclProxySubArgs subs[NCCL_PROXY_MAX_SUBS];\n  proxyProgressFunc_t progress;\n  int nsubs;\n  int done;\n  int onePPN;\n  uint64_t opCount;\n  int sliceSteps;\n  int chunkSteps;\n  size_t chunkSize;\n  size_t totalSendSize;\n  size_t totalRecvSize;\n  size_t sendSizePerRound;\n  size_t recvSizePerRound;\n  uint8_t /*ncclDataType_t*/ dtype;\n  uint8_t /*ncclDevRedOp_t*/ redOp;\n  uint8_t /*ncclPattern_t*/ pattern;\n  uint8_t /*ncclFunc_t*/ coll;\n  uint8_t /*ncclFunc_t*/ collAPI;\n  uint8_t protocol;\n  uint8_t algorithm;\n  int state;\n  char* sharedBuff[NCCL_STEPS];\n  int sharedSize[NCCL_STEPS];\n  int nChannels;\n  int nPeers;\n\n  int idle;\n  uint64_t hdp_flushed;\n\n  // Element linking\n  struct ncclProxyArgs* next;\n  struct ncclProxyArgs* nextPeer;\n  struct ncclProxyArgs** proxyAppendPtr;\n\n  union ncclProxyOpSpecifics specifics;\n\n  int prevRank;\n  int nextRank;\n  int send;\n  int retry_total;\n};\n#define NCCL_MAX_NETDEVS 128\n\n// ProxyOps are used to communicate between main thread and service thread\n// Make sure we have enough to store two full rounds of operations on all channels.\n// Otherwise we'd be unable to post half of them to free new elements. Each\n// p2p work contains a send and recv proxy op hence the 2x before it.\n#define MAX_OPS_PER_PEER (2*MAXCHANNELS*2*NCCL_MAX_DEV_WORK_P2P_PER_BATCH)\n\nstruct ncclProxyOpsPool {\n  struct ncclProxyOp ops[MAX_OPS_PER_PEER*NCCL_MAX_LOCAL_RANKS];\n  volatile int nextOps;\n  volatile int nextOpsEnd;\n  volatile int freeOps[NCCL_MAX_LOCAL_RANKS];\n  pthread_mutex_t mutex;\n  pthread_cond_t cond;\n};\n\nstruct ncclProxyOps {\n  ncclProxyOpsPool* pool;\n  ncclShmHandle_t handle;\n  int count;\n  int freeOp;\n  int nextOps;\n  int nextOpsEnd;\n};\n\nstruct ncclProxySharedP2p {\n  int refcount;\n  int64_t size;\n  char* cudaBuff;\n  char* hostBuff;\n  // CUDA IPC\n  ncclIpcDesc ipcDesc;\n  struct ncclProxyArgs* proxyAppend[MAXCHANNELS]; // Separate send and recv\n};\n\nstruct ncclProxyPeer {\n  struct ncclProxySharedP2p send;\n  struct ncclProxySharedP2p recv;\n};\n\nstruct ncclSharedNetComms {\n  int activeConnect[MAXCHANNELS];\n  int activeAccept[MAXCHANNELS];\n  void* sendComm[MAXCHANNELS];\n  void* recvComm[MAXCHANNELS];\n  int sendRefCount[MAXCHANNELS];\n  int recvRefCount[MAXCHANNELS];\n};\n\nstruct ncclProxyPool;\nstruct ncclProxyProgressState {\n  // Used by main threads to send work to progress thread\n  struct ncclProxyOpsPool* opsPool;\n  ncclShmHandle_t handle;\n  char opsPoolShmSuffix[6];\n\n  pthread_t thread;\n  volatile int stop;\n  struct ncclProxyPeer** localPeers;\n  struct ncclSharedNetComms* netComms[NCCL_MAX_NETDEVS];\n  struct ncclProxyArgs* active;\n  struct ncclProxyArgs* pool;\n  struct ncclProxyPool* pools;\n  int nextOps;\n};\n\n// Expected proxy response fifo\nstruct ncclExpectedProxyResponse {\n  void*                             opId;\n  int                               respSize;\n  bool                              done;\n  void*                             respBuff;\n  ncclResult_t                      res;\n  struct ncclExpectedProxyResponse* next;\n};\n\nstruct ncclProxyAsyncOp {\n  int type;\n  struct ncclProxyConnection* connection;\n  int reqSize, respSize;\n  char *reqBuff, *respBuff;\n  void* opId;\n  ncclProxyAsyncOp* next;\n};\n\nstruct ncclProxyLocalPeer {\n  struct ncclSocket sock;\n  int tpRank;\n  int tpLocalRank;\n  ncclProxyAsyncOp* asyncOps;\n  int asyncOpCounter;\n};\n\n// Common response header for all proxyOps\n// We pack this into a struct to reduce the number of blocking send and recv calls\nstruct ncclProxyRpcResponseHeader {\n  void* opId;\n  ncclResult_t res;\n  int respSize;\n};\n\n// UDS support\nstruct ncclIpcHdr {\n  int type;\n  int rank;\n  int reqSize;\n  int respSize;\n  void *opId;\n  uint64_t data[16]; // 128-bytes\n};\n\nstruct ncclProxyState {\n  int refCount;\n  int tpRank;\n  int tpnRanks;\n  int tpLocalnRanks;\n  int cudaDev;\n  int p2pnChannels;\n  int p2pChunkSize;\n  int nChannels;\n  int buffSizes[NCCL_NUM_PROTOCOLS];\n  bool allocP2pNetLLBuffers;\n  bool dmaBufSupport;\n  ncclNet_t* ncclNet;\n  ncclCollNet_t* ncclCollNet;\n  uint32_t* abortFlag;\n  bool directMode;\n  // Service threads\n  pthread_t thread;\n  pthread_t threadUDS;\n  struct ncclSocket* listenSock;\n  struct ncclIpcSocket ipcSock;\n  int stop;\n  CUcontext cudaCtx;\n  ncclResult_t asyncResult;\n\n  // Used by main thread\n  union ncclSocketAddress* peerAddresses;\n  struct ncclSocket* peerSocks;\n  struct ncclProxyOps* proxyOps;\n  void** sharedDevMems;\n  struct ncclIpcSocket peerIpcSock; // cuMEM API support (UDS)\n  uint64_t *peerAddressesUDS; // cuMem API support (UDS)\n\n  // Progress thread\n  struct ncclProxyProgressState progressState;\n\n  // Network plugin\n  void* netContext;\n  ncclNetAttr_t netAttr;\n  void* collNetContext;\n\n  // Profiler plugin\n  void* profilerContext;\n\n  // Queue of expected responses from the proxy\n  struct ncclExpectedProxyResponse* expectedResponses;\n\n  // A handle to the proxy traces\n  std::unique_ptr<facebook_rccl::ProxyTrace> proxyTrace;\n};\n\nenum proxyConnectState {\n  connUninitialized     = 0,\n  connInitialized       = 1,\n  connSharedInitialized = 2,\n  connSetupDone         = 3,\n  connConnected         = 4,\n  numConnStates         = 5\n};\n\nstruct ncclProxyConnection {\n  int send, transport, shared;\n  int tpLocalRank, sameProcess;\n  struct ncclSocket* sock;\n  struct ncclTransportComm* tcomm;\n  struct ncclProxyArgs *proxyAppend;\n  struct ncclProxyArgs **proxyAppendPtr;\n  void* transportResources;\n  ncclNetDeviceHandle_t* netDeviceHandle;\n  void* mhandles[NCCL_NUM_PROTOCOLS];\n  proxyConnectState state;\n  struct ncclCollNetSharedRes* collNet;\n  int needsProxyProgress;\n};\n\ntypedef ncclResult_t (*threadFunc_t)(struct ncclProxyArgs*);\n\nenum proxyMode {\n  proxyRing = 0,\n  proxyFrom = 1,\n  proxyTo = 2\n};\n\nncclResult_t ncclProxySaveOp(struct ncclComm* comm, struct ncclProxyOp* proxyOp, bool *justInquire);\nncclResult_t ncclProxyStart(struct ncclComm* comm);\nncclResult_t ncclProxyInit(struct ncclComm* comm, struct ncclSocket* sock, union ncclSocketAddress* peerAddresses, uint64_t *peerAddressesUDS);\nncclResult_t ncclProxyCreate(struct ncclComm* comm);\nncclResult_t ncclProxyConnect(struct ncclComm* comm, int transport, int send, int proxyRank, struct ncclProxyConnector* proxyConn);\n\n// NB: ncclProxyMsgTypeStr[] in proxy.cc needs to match\nenum ncclProxyMsgType {\n  ncclProxyMsgInit = 1,\n  ncclProxyMsgSharedInit = 2,\n  ncclProxyMsgSetup = 3,\n  ncclProxyMsgConnect = 4,\n  ncclProxyMsgStart = 5,\n  ncclProxyMsgClose = 6,\n  ncclProxyMsgAbort = 7,\n  ncclProxyMsgStop = 8,\n  ncclProxyMsgGetFd = 9, // cuMem API support (UDS)\n  ncclProxyMsgQueryFd = 10,\n  ncclProxyMsgRegister = 11,\n  ncclProxyMsgDeregister = 12\n};\n\n// This function is called by a client of the proxy that needs to invoke any of the non-progress proxyOp types\n// Call this function on the client, supplying a locally unique opId. Then, poll on the return value of\n// ncclPollProxyResponse(), supplying the same opId to confirm the operation has completed\nncclResult_t ncclProxyCallAsync(struct ncclComm* comm, struct ncclProxyConnector* proxyConn, int type, void* reqBuff, int reqSize, int respSize, void* opId);\n\n// This function will internally call ncclProxyCallAsync() and spin until ncclPollProxyResponse() confirms the result is received\nncclResult_t ncclProxyCallBlocking(struct ncclComm* comm, struct ncclProxyConnector* proxyConn, int type, void* reqBuff, int reqSize, void* respBuff, int respSize);\nncclResult_t ncclPollProxyResponse(struct ncclComm* comm, struct ncclProxyConnector* proxyConn, void* respBuff, void* opId);\n\n// UDS support\nncclResult_t ncclProxyClientGetFdBlocking(struct ncclComm* comm, int rank, void *handle, int* convertedFd);\nncclResult_t ncclProxyClientQueryFdBlocking(struct ncclComm* comm, struct ncclProxyConnector* proxyConn, int localFd, int* rmtFd);\n\nncclResult_t ncclProxyStop(struct ncclComm* comm);\nncclResult_t ncclProxyShmUnlink(struct ncclComm* comm);\nncclResult_t ncclProxyDestroy(struct ncclComm* comm);\n\nncclResult_t mscclSaveProxy(struct ncclComm* comm, struct ncclChannel* channel, int type, int peer, struct ncclProxyOp* op, int connIndex);\n#endif\n"
  },
  {
    "path": "src/include/proxy_trace/proxy_trace.h",
    "content": "/*\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n \n#pragma once\n\n#include <chrono>\n#include <cstdint>\n#include <deque>\n#ifndef FMT_HEADER_ONLY\n#define FMT_HEADER_ONLY 1\n#endif\n#include <fmt/format.h>\n#include <memory>\n#include <mutex>\n#include <unordered_map>\nnamespace facebook_rccl {\n\nenum class ProxyOpStepStatus {\n  INIT,\n  POSTING,\n  SENDING,\n  RECEIVING,\n  WAITING_GPU,\n  FLUSHING,\n  DONE,\n  UNINITIALIZED,\n  NUM_STATUS,\n};\n\n// All counters have default value of 0, except for FIFO_SZ_OR_HEAD_CACHE, which\n// has default value of -1\nenum class ProxyCounterTypes {\n  POSTED = 0,\n  KERNEL_COPY_READY,\n  // ready-to-receive signal received from remote\n  RTR_RECV,\n  // ready-to-send signal sent to remote\n  RTS_SEND,\n  RECEIVED,\n  TRANSMITTED,\n  FLUSHED,\n  DONE,\n  // tail pointer of data ready to be sent, updated by kernel\n  RECV_TAIL,\n  // tail for sender, head for receiver, updated by kernel\n  TAIL_OR_HEAD,\n  // for sender this is data size of D2D copy; for receiver this is head cache,\n  // i.e., sub->base + sub->done\n  FIFO_SZ_OR_HEAD_CACHE,\n  UNINITIALIZED = 100\n};\n\nenum class ProxyOpType { SEND, RECV };\n// ProxyTraceRecordKey and ProxyTraceExtraInfo is used to pass arguments to\n// proxy thread (see ncclProxyOp and ncclProxySubArgs in proxy.h)\nstruct ProxyTraceRecordKey {\n  uint64_t commHash{0};\n  int64_t opCount{-1};   // opCount is a unique id for a given collective/p2p\n  int64_t proxyOpId{-1}; // id of a proxyOp in an given comm and grouped\n                         // collective/p2p (identified as commHash:opCount),\n                         // assigned when creating ProxyTraceOp entry\n  inline std::string str() const {\n    return \"<\" + std::to_string(commHash) + \":\" + std::to_string(opCount) +\n           \":\" + std::to_string(proxyOpId) + \">\";\n  }\n};\n\nstruct ProxyTraceExtraInfo {\n  int32_t funcIdx{-1};\n  int32_t protocol{-1};\n  int32_t pattern{-1};\n  uint32_t totalBytes{0};\n  uint32_t chunkSize{0};\n  inline std::string str() const {\n    return fmt::format(\"[fu,pr,pa,tb,ck]:{},{},{},{},{}\", funcIdx, protocol,\n                       pattern, totalBytes, chunkSize);\n  }\n};\n\n// record progress state per comm per collective per proxyOp\nstruct ProxyTraceOp {\n  ProxyTraceRecordKey traceKey;\n  ProxyTraceExtraInfo extraInfo;\n  int32_t channelId{-1};\n  int32_t nSteps{-1};\n  uint32_t nbytes{0};\n  int32_t myRank{-1};\n  int32_t peerRank{-1};\n  std::unordered_map<ProxyCounterTypes, int64_t> counters{\n      {ProxyCounterTypes::POSTED, 0},\n      {ProxyCounterTypes::KERNEL_COPY_READY, 0},\n      {ProxyCounterTypes::RTR_RECV, 0},\n      {ProxyCounterTypes::RTS_SEND, 0},\n      {ProxyCounterTypes::RECEIVED, 0},\n      {ProxyCounterTypes::TRANSMITTED, 0},\n      {ProxyCounterTypes::FLUSHED, 0},\n      {ProxyCounterTypes::DONE, 0},\n      {ProxyCounterTypes::RECV_TAIL, 0},\n      {ProxyCounterTypes::TAIL_OR_HEAD, 0},\n      {ProxyCounterTypes::FIFO_SZ_OR_HEAD_CACHE, -1},\n  };\n  ProxyCounterTypes lastUpdatingCounter{ProxyCounterTypes::UNINITIALIZED};\n  ProxyOpType opType{ProxyOpType::SEND};\n  ProxyOpStepStatus status{ProxyOpStepStatus::UNINITIALIZED};\n  std::chrono::time_point<std::chrono::high_resolution_clock> startTs{};\n  std::chrono::time_point<std::chrono::high_resolution_clock> lastUpdateTs{};\n  std::unordered_map<ProxyCounterTypes, std::chrono::time_point<std::chrono::high_resolution_clock>> timestamps{\n      {ProxyCounterTypes::POSTED, {}},\n      {ProxyCounterTypes::KERNEL_COPY_READY, {}},\n  };\n  void computeStatus();\n  // str the entry to a string\n  std::string str();\n};\n\nusing ProxyActiveOpMap = std::unordered_map<\n    uint64_t /* commHash*/,\n    std::unordered_map<int64_t /* opCount*/,\n                       /* proxyOpId : op */\n                       std::unordered_map<int64_t, ProxyTraceOp>>>;\n\nusing ProxyActiveOpIdTracker =\n    std::unordered_map<uint64_t /* commHash*/,\n                       std::unordered_map<int64_t /* opCount*/, int64_t>>;\n\nclass ProxyTrace {\n public:\n  ProxyTrace(int32_t rank) : myRank(rank) {}; \n  \n  ProxyTrace() = delete;\n  ProxyTrace(const ProxyTrace &) = delete;\n  ProxyTrace &operator=(const ProxyTrace &) = delete;\n\n  //\n  // Public APIs called by the proxy thread and ncclCommDump().\n  // All these APIs lock the same shared mutex before executing.\n  //\n\n  void updateProxyOpCounter(\n      const ProxyTraceRecordKey& traceKey,\n      ProxyCounterTypes counter,\n      int64_t val);\n\n  void setProxyOpTimestamp(\n      const ProxyTraceRecordKey& traceKey,\n      ProxyCounterTypes counter);\n\n  void addNewProxyOp(\n      ProxyTraceRecordKey& key,\n      const ProxyTraceExtraInfo& extraInfo,\n      ProxyOpType opType,\n      int channelId,\n      int nSteps,\n      uint32_t nbytes,\n      int peerRank);\n\n  // Dump all trace for a given communicator\n  std::string dump(uint64_t commHash);\n\n  // Dump all active ops\n  std::string dump();\n\n  //\n  // Getters called by public APIs as well as unit tests.\n  // These are not thread-safe unless called by the public APIs above.\n  // \n\n  ProxyTraceOp *getProxyTraceOpPtr(const ProxyTraceRecordKey &traceKey);\n  float getMapSizeMB() const;\n\nprivate:\n  void checkOpCompleted(const ProxyTraceRecordKey &key);\n\n  void addNewProxyTraceOpImpl(const ProxyTraceRecordKey &key,\n                              const ProxyTraceExtraInfo &extraInfo,\n                              ProxyOpType opType, int channelId, int nSteps,\n                              uint32_t nbytes, int peerRank);\n\n  // Get a unique proxyOpId for a given commHash:opCount\n  // If the opCount is not found, create a new entry for it and return 0\n  int64_t getOrCreateProxyOpId(uint64_t commHash, uint64_t opCount);\n\n  // check if an active send/recv operation exists for a given commHash:opCount\n  bool checkActiveOpExist(uint64_t commHash, uint64_t opCount,\n                          uint32_t proxyOpId) const;\n\n  mutable std::mutex mutex_;\n  int myRank{-1};\n\n  // Current active send/recv operations.\n  // Use map to quickly find the record with commHash:opCount:proxyOpId during\n  // active progress. Note that each op may not complete in order, e.g.,\n  // proxyOpId 1 may finish before proxyOpId 0 if they are to different peers.\n  // Thus, the inner-most layer has to still be a map for searching by\n  // proxyOpId, no matter other ops are completed or not.\n  ProxyActiveOpMap activeOps;\n  ProxyActiveOpIdTracker activeOpIdTracker;\n\n  // keep track of the recent completed ops;\n  // A record is a pair of traceKey.str() and ProxyTraceOp.str()\n  std::deque<std::pair<std::string, std::string>> finishedOps;\n};\nstruct ncclProxySubArgs;\n} // namespace facebook_rccl\n"
  },
  {
    "path": "src/include/ras.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_RAS_H_\n#define NCCL_RAS_H_\n\n#include \"socket.h\"\n\n// Structure used to communicate data about NCCL ranks from NCCL threads to RAS.\nstruct rasRankInit {\n  union ncclSocketAddress addr;\n  pid_t pid;\n  int cudaDev;\n  int nvmlDev;\n  uint64_t hostHash;\n  uint64_t pidHash;\n};\n\nncclResult_t ncclRasCommInit(struct ncclComm* comm, struct rasRankInit* myRank);\nncclResult_t ncclRasCommFini(const struct ncclComm* comm);\nncclResult_t ncclRasAddRanks(struct rasRankInit* ranks, int nranks);\n\n#endif // !NCCL_RAS_H_\n"
  },
  {
    "path": "src/include/rccl_common.h",
    "content": "/*\nCopyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n#ifndef RCCL_COMMON_H_\n#define RCCL_COMMON_H_\n#include \"nccl_common.h\"\n#include \"nccl.h\"\n#include \"param.h\"\n#include \"core.h\"\ntypedef enum RcclTunableColls {\n  RCCL_UNSUPPORTED_TUNABLE = -1,\n  RCCL_RS_TUNABLE = 0,    // reduce_scatter index\n  RCCL_AG_TUNABLE = 1,    // all_gather index\n  RCCL_AR_TUNABLE = 2,    // all_reduce index\n  RCCL_RE_TUNABLE = 3,    // reduce index\n  RCCL_BR_TUNABLE = 4,    // broadcast index\n  RCCL_TUNABLE_COLLS = 5  // LL/LL64/LL128 tunable collectives count\n} rcclTunableIndex_t;\n\n#define CHAN_THRESHOLDS_UNDEFINED 0\n#define RCCL_CHANNELS_TUNABLE_ENTRIES 9 // 2,4,8,16,32,40,48,56,64 channels\n\n#define RCCL_LL_LIMITS_UNDEFINED 0\n#define RCCL_PROTOCOL_ENTRY_SIZE 4\n#define RCCL_PROTOCOL_MIN_IDX 0\n#define RCCL_PROTOCOL_MAX_IDX 1\n#define RCCL_PROTOCOL_FACTOR_IDX 2\n#define RCCL_PROTOCOL_THREAD_THRESHOLD_IDX 3\n\n#define RCCL_SINGLE_NODE_MAX_NTHREADS 256\n#define RCCL_GFX950_MAX_NTHREADS 512  // for Simple and LL64/LL128 gfx950\n#define RCCL_DEFAULT_MAX_NTHREADS 256 // for Simple and LL64/LL128 other archs\n#define RCCL_LL_MAX_NTHREADS 256\n#define RCCL_P2P_MAX_NTHREADS 256\n\ntypedef enum {\n  RCCL_VALUE_UNSET = -2,\n  RCCL_VALUE_INVALID = -1\n} rcclValueState_t;\n\ntypedef enum {\n  RCCL_DIRECT_ALLGATHER = NCCL_NUM_ALGORITHMS, // Direct AllGather\n  RCCL_MSCCL,\n  RCCL_MSCCLPP,\n  RCCL_ALGO_COUNT\n} rcclAddonAlgos_t;\n\n#ifdef RCCL_EXPOSE_STATIC\n#define RCCL_STATIC_EXPOSE_CHECK()\n#else\n#define RCCL_STATIC_EXPOSE_CHECK() \\\n  do { \\\n    WARN(\"Attempting to use internal logic while required static functions are not exposed. Rebuild with RCCL_EXPOSE_STATIC enabled\"); \\\n    return ncclInvalidUsage; \\\n  } while (0)\n#endif\n\ninline rcclTunableIndex_t rcclGetTunableIndex(ncclFunc_t const& func) {\n  switch (func) {\n    case ncclFuncReduceScatter:\n      return RCCL_RS_TUNABLE;\n    case ncclFuncAllGather:\n      return RCCL_AG_TUNABLE;\n    case ncclFuncAllReduce:\n      return RCCL_AR_TUNABLE;\n    case ncclFuncReduce:\n      return RCCL_RE_TUNABLE;\n    case ncclFuncBroadcast:\n      return RCCL_BR_TUNABLE;\n    default:\n      return RCCL_UNSUPPORTED_TUNABLE; // Invalid or unsupported function\n  }\n}\n\ninline size_t rcclGetSizePerRank(ncclFunc_t const& func, size_t const& nBytes, int const& nRanks) {\n  // Normalize the comparison to sizePerRank as this is essentially what matters in determining protocol choice for the impacted collectives\n  // For AG, this is the send size per rank\n  // For RS, this is the recv size per rank\n  // For AR, this is the send/recv size per rank\n  return (func == ncclFuncReduceScatter || func == ncclFuncAllGather || func == ncclFuncBroadcast || func == ncclFuncReduce) ? nBytes / nRanks : nBytes;\n}\nncclResult_t rcclOverrideChannels(struct ncclComm* comm, ncclFunc_t coll, size_t nBytes, int& nc);\nvoid rcclRestrictMaxChannels(struct ncclComm* comm, int& nc);\nncclResult_t rcclGetAlgoProtoIndex(const char *envStr, const char* algoProtoString[], int nEntries, int& result);\nncclResult_t rcclOverrideProtocol(const char* ncclProtoStr[], float table[][NCCL_NUM_PROTOCOLS], struct ncclTaskColl* info);\nncclResult_t rcclOverrideAlgorithm(const char* ncclAlgoStr[], float table[][NCCL_NUM_PROTOCOLS], struct ncclTaskColl* info);\nvoid rcclUpdateCollectiveProtocol(struct ncclComm* comm, size_t const& nBytes, struct ncclTaskColl* info);\nvoid rcclUpdateThreadThreshold(struct ncclComm* comm, size_t const& nBytes, struct ncclTaskColl* info, int& threadThreshold);\nvoid rcclSetPipelining(struct ncclComm* comm, size_t const& nBytes, struct ncclTaskColl* info);\nvoid rcclGetMaxNthreads(struct ncclComm* comm, int maxNthreads[]);\nvoid rcclOptThreadBlockSize(struct ncclComm* comm, struct ncclTaskColl* info, size_t nBytes, int& nThreads);\nvoid rcclSetDefaultBuffSizes(struct ncclComm* comm, int defaultBuffSizes[]);\nNCCL_API(ncclResult_t, rcclGetAlgoInfo, struct ncclComm* comm, ncclFunc_t coll, uint64_t count, ncclDataType_t dataType, int collNetSupport, int nvlsSupport, int numPipeOps, int* algo, int* protocol, int* maxChannels);\nNCCL_API(ncclResult_t, rcclGetAlgoName, int algo, const char** algoName);\nNCCL_API(ncclResult_t, rcclGetProtocolName, int protocol, const char** algoName);\nbool rcclUseAllGatherDirect(struct ncclComm* comm, size_t& msgSize);\nbool rcclUseAllToAllGda(struct ncclComm* comm);\nvoid rcclSetPxn(struct ncclComm* comm,  int& rcclPxnDisable);\nvoid rcclSetP2pNetChunkSize(struct ncclComm* comm,  int& rcclP2pNetChunkSize);\nncclResult_t rcclFuncMaxSendRecvCount(ncclFunc_t func, int nRanks, size_t count, size_t& maxCount);\nncclResult_t commSetUnrollFactor(struct ncclComm* comm);\nbool validHsaScratchEnvSetting(const char*hsaScratchEnv, int hipRuntimeVersion, int firmwareVersion, const char* archName);\nint getFirmwareVersion();\nbool rcclIsArchSupportedForFunc(struct ncclTaskColl* info, char const* archName);\n#ifdef ENABLE_WARP_SPEED\nvoid rcclSetWarpSpeedCUs(struct ncclComm* comm, int algo, int threadsPerBlock, int& rcclWarpSpeedChannels);\nvoid rcclSetWarpSpeedSupportAndFinalCuCount(struct ncclComm* comm, struct ncclKernelPlan* plan, int nChannels, int& support, int &cuCount);\nvoid rcclSetWarpSpeedAuto(struct ncclComm* comm, struct ncclTaskColl* info, size_t nBytes);\n#endif\n#endif\n"
  },
  {
    "path": "src/include/rccl_float8.h",
    "content": "/* ************************************************************************\n * Copyright (C) 2016-2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell cop-\n * ies of the Software, and to permit persons to whom the Software is furnished\n * to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IM-\n * PLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNE-\n * CTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n * ************************************************************************ */\n\n#ifndef ROCBLAS_FLOAT8_H\n#define ROCBLAS_FLOAT8_H\n\n#include <stdint.h>\n#include <hip/hip_version.h>\n\ntypedef uint16_t fp8x2_storage_t;\n#if __cplusplus < 201103L || (!defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__))\n/*! \\brief Struct to represent a 8 bit floating-point number. */\n\ntypedef struct\n{\n    uint8_t data;\n} rccl_float8;\n\ntypedef struct\n{\n    uint8_t data;\n} rccl_bfloat8;\n\n// __cplusplus < 201103L || (!defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__))\n#elif HIP_VERSION >= 60300000 && !(defined(__gfx1100__) || defined(__gfx1101__) || defined(__gfx1102__) || defined(__gfx1030__))\n\n#include <hip/hip_fp8.h>\n\n#if __HIP_DEVICE_COMPILE__ && (defined(__gfx942__))\ntypedef __hip_fp8_e4m3_fnuz rccl_float8;\ntypedef __hip_fp8_e5m2_fnuz rccl_bfloat8;\n#else\ntypedef __hip_fp8_e4m3 rccl_float8;\ntypedef __hip_fp8_e5m2 rccl_bfloat8;\n#endif\n\ntypedef _Float16 half_t;\ntypedef _Float16 half2_t __attribute__((ext_vector_type(2)));\n\ntypedef short shortx2_t __attribute__((ext_vector_type(2)));\ntypedef short __attribute__((ext_vector_type(2))) __amd_shortx2_storage_t;\ntypedef float float2_t __attribute__((ext_vector_type(2)));\n\n\ninline __device__  rccl_float8 hadd(rccl_float8 x, rccl_float8 y)\n{\n#if   __HIP_DEVICE_COMPILE__ && defined(__gfx950__)\n    half2_t v1;\n    asm volatile(\"v_pk_add_f16 %0, %1, %2\" : \"=v\"(v1) : \"v\"(__builtin_amdgcn_cvt_scalef32_pk_f16_fp8(x.__x, 1.f, 0)), \"v\"(__builtin_amdgcn_cvt_scalef32_pk_f16_fp8(y.__x, 1.f, 0)));\n    union {\n      shortx2_t i16_vec;\n      rccl_float8 fp8[4];\n    } u{0};\n    u.i16_vec = __builtin_amdgcn_cvt_scalef32_pk_fp8_f16(v1, v1, /* scale */ 1.f, 0);\n    return u.fp8[0];\n#elif __HIP_DEVICE_COMPILE__ && defined(__gfx942__)\n\n    float2_t v;\n    uint32_t ival = 0;\n    asm volatile(\"v_pk_add_f32 %0, %1, %2\" : \"=v\"(v) : \"v\"(__builtin_amdgcn_cvt_pk_f32_fp8(x.__x, 0)), \"v\"(__builtin_amdgcn_cvt_pk_f32_fp8(y.__x, 0)));\n    return __builtin_amdgcn_cvt_pk_fp8_f32(v[0], v[0], ival, false);\n#else\n    return rccl_float8(float(x) + float(y));\n#endif\n}\n\ninline __device__  rccl_bfloat8 hadd_b(rccl_bfloat8 x, rccl_bfloat8 y)\n{\n#if   __HIP_DEVICE_COMPILE__ && defined(__gfx950__)\n    half2_t v1;\n    asm volatile(\"v_pk_add_f16 %0, %1, %2\" : \"=v\"(v1) : \"v\"(__builtin_amdgcn_cvt_scalef32_pk_f16_bf8(x.__x, 1.f, 0)), \"v\"(__builtin_amdgcn_cvt_scalef32_pk_f16_bf8(y.__x, 1.f, 0)));\n    union {\n      shortx2_t i16_vec;\n      rccl_bfloat8 fp8[4];\n    } u1{0};\n    u1.i16_vec = __builtin_amdgcn_cvt_scalef32_pk_bf8_f16(v1, v1, /* scale */ 1.f, 0);\n    return u1.fp8[0];\n#elif __HIP_DEVICE_COMPILE__ && defined(__gfx942__)\n\n    float2_t v;\n    uint32_t ival       = 0;\n    asm volatile(\"v_pk_add_f32 %0, %1, %2\" : \"=v\"(v) : \"v\"(__builtin_amdgcn_cvt_pk_f32_bf8(x.__x, 0)), \"v\"(__builtin_amdgcn_cvt_pk_f32_bf8(y.__x, 0)));\n    return __builtin_amdgcn_cvt_pk_bf8_f32(v[0], v[0], ival, false);\n#else\n    return rccl_bfloat8(float(x) + float(y));\n#endif\n}\n\ninline __device__  fp8x2_storage_t hadd2(fp8x2_storage_t x, fp8x2_storage_t y)\n{\n#if   __HIP_DEVICE_COMPILE__ && defined(__gfx950__)\n    half2_t v1;\n    asm volatile(\"v_pk_add_f16 %0, %1, %2\" : \"=v\"(v1) : \"v\"(__builtin_amdgcn_cvt_scalef32_pk_f16_fp8(x, 1.f, 0)), \"v\"(__builtin_amdgcn_cvt_scalef32_pk_f16_fp8(y, 1.f, 0)));\n    union {\n      shortx2_t i16_vec;\n      fp8x2_storage_t fp8;\n    } u{0};\n    u.i16_vec = __builtin_amdgcn_cvt_scalef32_pk_fp8_f16(v1, v1, /* scale */ 1.f, 0);\n    return u.fp8;\n#elif __HIP_DEVICE_COMPILE__ && defined(__gfx942__)\n    float2_t v;\n    uint32_t ival = 0;\n    asm volatile(\"v_pk_add_f32 %0, %1, %2\" : \"=v\"(v) : \"v\"(__builtin_amdgcn_cvt_pk_f32_fp8(x, 0)), \"v\"(__builtin_amdgcn_cvt_pk_f32_fp8(y, 0)));\n    return __builtin_amdgcn_cvt_pk_fp8_f32(v[0], v[1], ival, false);\n#else\n    union {\n      rccl_float8 fp8[2];\n      fp8x2_storage_t fp8x2;\n    } u, v, w;\n    u.fp8x2 = x;\n    v.fp8x2 = y;\n    w.fp8[0] = hadd(u.fp8[0], v.fp8[0]);\n    w.fp8[1] = hadd(u.fp8[1], v.fp8[1]);\n    return w.fp8x2;\n#endif\n}\n\ninline __device__  fp8x2_storage_t hadd2_b(fp8x2_storage_t x, fp8x2_storage_t y)\n{\n#if   __HIP_DEVICE_COMPILE__ && defined(__gfx950__)\n    half2_t v1;\n    asm volatile(\"v_pk_add_f16 %0, %1, %2\" : \"=v\"(v1) : \"v\"(__builtin_amdgcn_cvt_scalef32_pk_f16_bf8(x, 1.f, 0)), \"v\"(__builtin_amdgcn_cvt_scalef32_pk_f16_bf8(y, 1.f, 0)));\n    union {\n      shortx2_t i16_vec;\n      fp8x2_storage_t fp8;\n    } u{0};\n    u.i16_vec = __builtin_amdgcn_cvt_scalef32_pk_bf8_f16(v1, v1, /* scale */ 1.f, 0);\n    return u.fp8;\n#elif __HIP_DEVICE_COMPILE__ && defined(__gfx942__)\n    float2_t v;\n    uint32_t ival = 0;\n    asm volatile(\"v_pk_add_f32 %0, %1, %2\" : \"=v\"(v) : \"v\"(__builtin_amdgcn_cvt_pk_f32_bf8(x, 0)), \"v\"(__builtin_amdgcn_cvt_pk_f32_bf8(y, 0)));\n    return __builtin_amdgcn_cvt_pk_bf8_f32(v[0], v[1], ival, false);\n#else\n    union {\n      rccl_bfloat8 bfp8[2];\n      fp8x2_storage_t bfp8x2;\n    } u, v, w;\n    u.bfp8x2 = x;\n    v.bfp8x2 = y;\n    w.bfp8[0] = hadd_b(u.bfp8[0], v.bfp8[0]);\n    w.bfp8[1] = hadd_b(u.bfp8[1], v.bfp8[1]);\n    return w.bfp8x2;\n#endif\n}\n\ninline std::ostream& operator<<(std::ostream& os, const rccl_float8& f8)\n{\n    return os << float(f8);\n}\n\ninline std::ostream& operator<<(std::ostream& os, const rccl_bfloat8& bf8)\n{\n    return os << float(bf8);\n}\n\ninline __host__ __device__ float operator*(rccl_float8 a, rccl_float8 b)\n{\n    return float(a) * float(b);\n}\n\ninline __host__ __device__ float operator*(rccl_bfloat8 a, rccl_bfloat8 b)\n{\n    return float(a) * float(b);\n}\n\ninline __host__ __device__ float operator*(rccl_float8 a, float b)\n{\n    return float(a) * float(b);\n}\n\ninline __host__ __device__ float operator*(rccl_bfloat8 a, float b)\n{\n    return float(a) * float(b);\n}\n\n// For older versions of ROCm that do not include hip_fp8.h,\n// we provide a local version of the header file as a fallback.\n#else\n\n#define HIP_HOST_DEVICE __host__ __device__\n#define HIP_HOST __host__\n#define HIP_DEVICE __device__\n\n// We are clipping in down conversion by default\n#define rccl_float8_downcast_clipping 1\n\nnamespace rocblas_hip_f8_impl\n{\n    __host__ inline int clz(uint32_t x)\n    {\n        return __builtin_clz(x);\n    }\n    __device__ inline int clz(uint32_t x)\n    {\n        return __clz(x);\n    }\n\n    template <int wm, int we, typename T, bool negative_zero_nan, bool clip>\n    HIP_HOST_DEVICE uint8_t cast_to_f8(T _x, bool stoch = false, uint32_t rng = 0)\n    {\n        constexpr bool is_half  = std::is_same<T, _Float16>::value;\n        constexpr bool is_float = std::is_same<T, float>::value;\n        static_assert(wm + we == 7, \"wm+we==7\");\n        static_assert(is_half || is_float, \"Only half and float can be cast to f8\");\n\n        const int mfmt = (sizeof(T) == 4) ? 23 : 10;\n        uint32_t  x;\n        if(sizeof(T) == 4)\n            x = reinterpret_cast<uint32_t&>(_x);\n        else\n            x = reinterpret_cast<uint16_t&>(_x);\n\n        uint32_t head, mantissa;\n        int      exponent, bias;\n        uint32_t sign;\n\n        if(sizeof(T) == 4)\n        {\n            head     = x & 0xFF800000;\n            mantissa = x & 0x7FFFFF;\n            exponent = (head >> 23) & 0xFF;\n            sign     = head >> 31;\n            bias     = 127;\n        }\n        else\n        {\n            head     = x & 0xFC00;\n            mantissa = x & 0x3FF;\n            exponent = (head >> 10) & 0x1F;\n            sign     = head >> 15;\n            bias     = 15;\n        }\n\n        uint32_t signed_inf = (sign << 7) + (((1 << we) - 1) << wm);\n\n        // Deal with inf and NaNs\n        if(negative_zero_nan)\n        {\n            if(sizeof(T) == 4)\n            {\n                if((x & 0x7F800000) == 0x7F800000)\n                    return 0x80;\n            }\n            else\n            {\n                //if(__hisinf(x) || __hisnan(x))\n                if((x & 0x7C00) == 0x7C00)\n                    return 0x80;\n            }\n        }\n        else\n        {\n            if(sizeof(T) == 4)\n            {\n                if((x & 0x7F800000) == 0x7F800000)\n                    return signed_inf + (mantissa != 0 ? 1 : 0);\n            }\n            else\n            {\n                if((x & 0x7C00) == 0x7C00)\n                    return signed_inf + (mantissa != 0 ? 1 : 0);\n            }\n        }\n        if(x == 0)\n            return 0;\n\n        // First need to check if it is normal or denorm as there is a difference of implict 1\n        // Then need to adjust the exponent to align with the F8 exponent, in the meanwhile, shift\n        // The mantissa. Then for stochastic rounding, add rng to mantissa and truncate. And for\n        // RNE, no need to add rng. Then probably need to check whether there is carry and adjust\n        // exponent and mantissa again\n\n        // For IEEE bias mode, the bias is 2^(k-1) -1 where k is the width of exponent bits\n        const int f8_bias                  = (1 << (we - 1)) - 1 + (negative_zero_nan ? 1 : 0);\n        const int f8_denormal_act_exponent = 1 - f8_bias; //actual exponent of f8 denormal\n        // act_exponent is the actual exponent of fp32/fp16 (after subtracting bias)\n        // f8_exponent is the converted f8 exponent with bias encoding\n        // exponent_diff is the diff between fp32/fp16 exponent and f8 exponent,\n        // the difference needs to be adjusted and mantissa shifted\n        int act_exponent, f8_exponent, exponent_diff;\n\n        if(exponent == 0)\n        { // fp32/fp16 is in denormal.\n            /* fp32 denormal is below 2^-127 so it is usually not a concern here, we mostly concern fp16 here.\n   In this case, f8 is usually in denormal. But there could be exceptions.\n   fp16 denormal has exponent bias 15 while bf8 with NANOO has exponent bias 16.\n   It means that there are some numbers in fp16 denormal but they are bf8 (NANOO) normals - smallest bf8 (NANOO) normal is 2^-15.\n   fp16 numbers where exponent==0 (actual exponent -14) and highest bit of mantissa is 1 are bf8 (NANOO) normal.\n   In this case, the fp16 mantissa should be shift left by 1  */\n            act_exponent  = exponent - bias + 1;\n            exponent_diff = f8_denormal_act_exponent\n                            - act_exponent; // actual exponent is exponent-bias+1 as it is denormal\n        }\n        else\n        { // fp32/fp16 is normal with implicit 1\n            act_exponent = exponent - bias;\n            if(act_exponent <= f8_denormal_act_exponent)\n            {\n                /* This is the case where fp32/fp16 is normal but it is in f8 denormal range.\n       For example fp8 nanoo mode, denormal exponent is -7, but if the fp32/fp16\n       actual exponent is -7, it is actually larger due to the implict 1,\n       Therefore it needs to be adjust to -6 and mantissa shift right by 1.\n       So for fp32/fp16, exponent -8 is the cut point to convert to fp8 nanoo */\n                exponent_diff = f8_denormal_act_exponent - act_exponent;\n            }\n            else\n            { //both fp32/fp16 and f8 are in normal range\n                exponent_diff\n                    = 0; // exponent_diff=0 does not mean there is no difference for this case,\n                //act_exponent could be larger. Just that it does not need shift mantissa\n            }\n            mantissa += (1 << mfmt); //Add the implicit 1 into mantissa\n        }\n\n        bool midpoint = (mantissa & ((1 << (mfmt - wm + exponent_diff)) - 1))\n                        == (1 << (mfmt - wm + exponent_diff - 1));\n        /* This part is a bit tricky. The judgment of whether it is a tie needs to be done before we shift right\n     as shift right could rip off some residual part and make something not midpoint look like midpoint.\n     For example, the fp16 number 0x1002 (0 00100 0000000010), it is larger than midpoint,\n     but after shift right by 4 bits, it would look like midpoint.\n  */\n\n        if(exponent_diff > 0)\n            mantissa >>= exponent_diff;\n        else if(exponent_diff == -1)\n            mantissa <<= -exponent_diff;\n        bool implicit_one = mantissa & (1 << mfmt);\n        //if there is no implict 1, it  means the f8 is denormal and need to adjust to denorm exponent\n        f8_exponent = (act_exponent + exponent_diff) /*actual f8 exponent*/ + f8_bias\n                      - (implicit_one ? 0 : 1);\n\n        //Now we have the exponent and mantissa adjusted\n        uint32_t drop_mask = (1 << (mfmt - wm)) - 1;\n        bool     odd       = mantissa\n                   & (1 << (mfmt - wm)); // if the least significant bit that is not truncated is 1\n        mantissa\n            += (stoch ? rng : (midpoint ? (odd ? mantissa : mantissa - 1) : mantissa)) & drop_mask;\n\n        //Now we deal with overflow\n        if(f8_exponent == 0)\n        {\n            if((1 << mfmt) & mantissa)\n            {\n                f8_exponent = 1; //denormal overflow to become normal, promote exponent\n            }\n        }\n        else\n        {\n            if((1 << (mfmt + 1)) & mantissa)\n            {\n                mantissa >>= 1;\n                f8_exponent++;\n            }\n        }\n\n        mantissa >>= (mfmt - wm);\n\n        // above range: quantize to maximum possible float of the same sign\n        const int max_exp = (1 << we) - (negative_zero_nan ? 1 : 2);\n        if(f8_exponent > max_exp)\n        {\n            if(clip)\n            {\n                mantissa    = (1 << wm) - 1;\n                f8_exponent = max_exp;\n            }\n            else\n            {\n                return signed_inf;\n            }\n        }\n\n        if(f8_exponent == 0 && mantissa == 0)\n            return negative_zero_nan ? 0 : (sign << 7);\n        mantissa &= (1 << wm) - 1;\n        return (sign << 7) | (f8_exponent << wm) | mantissa;\n    }\n\n    template <int wm, int we, typename T, bool negative_zero_nan>\n    HIP_HOST_DEVICE T cast_from_f8(uint8_t x)\n    {\n        constexpr bool is_half  = std::is_same<T, _Float16>::value;\n        constexpr bool is_float = std::is_same<T, float>::value;\n        static_assert(is_half || is_float, \"only half and float are supported\");\n\n        constexpr int weo = is_half ? 5 : 8;\n        constexpr int wmo = is_half ? 10 : (is_float ? 23 : 7);\n\n        T fInf, fNegInf, fNaN, fNeg0;\n        if(is_half)\n        {\n            const uint16_t ihInf    = 0x7C00;\n            const uint16_t ihNegInf = 0xFC00;\n            const uint16_t ihNaN    = 0x7C01;\n            const uint16_t ihNeg0   = 0x8000;\n            fInf                    = reinterpret_cast<const _Float16&>(ihInf);\n            fNegInf                 = reinterpret_cast<const _Float16&>(ihNegInf);\n            fNaN                    = reinterpret_cast<const _Float16&>(ihNaN);\n            fNeg0                   = reinterpret_cast<const _Float16&>(ihNeg0);\n        }\n        else if(is_float)\n        {\n            const uint32_t ifInf    = 0x7F800000;\n            const uint32_t ifNegInf = 0xFF800000;\n            const uint32_t ifNaN    = 0x7F800001;\n            const uint32_t ifNeg0   = 0x80000000;\n            fInf                    = reinterpret_cast<const float&>(ifInf);\n            fNegInf                 = reinterpret_cast<const float&>(ifNegInf);\n            fNaN                    = reinterpret_cast<const float&>(ifNaN);\n            fNeg0                   = reinterpret_cast<const float&>(ifNeg0);\n        }\n\n        if(x == 0)\n            return 0;\n\n        uint32_t sign     = x >> 7;\n        uint32_t mantissa = x & ((1 << wm) - 1);\n        int      exponent = (x & 0x7F) >> wm;\n        if(negative_zero_nan)\n        {\n            if(x == 0x80)\n                return fNaN;\n        }\n        else\n        {\n            if(x == 0x80)\n                return fNeg0;\n            if(exponent == ((1 << we) - 1))\n                return (mantissa == 0) ? (sign ? fNegInf : fInf) : fNaN;\n        }\n        typename std::conditional<sizeof(T) == 2, uint16_t, uint32_t>::type retval;\n        if(we == 5 && is_half && !negative_zero_nan)\n        {\n            retval = x << 8;\n            return reinterpret_cast<const T&>(retval);\n        }\n\n        const int exp_low_cutoff\n            = (1 << (weo - 1)) - (1 << (we - 1)) + 1 - (negative_zero_nan ? 1 : 0);\n\n        //subnormal input\n        if(exponent == 0)\n        {\n            //guaranteed mantissa!=0 since cases 0x0 and 0x80 are handled above\n            int sh = 1 + clz(mantissa) - (32 - wm);\n            mantissa <<= sh;\n            exponent += 1 - sh;\n            mantissa &= ((1 << wm) - 1);\n        }\n        exponent += exp_low_cutoff - 1;\n        mantissa <<= wmo - wm;\n\n        // subnormal output (occurs when T=half, we=5, negative_zero_nan=true)\n        if(exponent <= 0)\n        {\n            mantissa |= 1 << wmo;\n            mantissa >>= 1 - exponent;\n            exponent = 0;\n        }\n\n        if(sizeof(T) == 2)\n            retval = (sign << 15) | (exponent << 10) | mantissa;\n        else\n            retval = (sign << 31) | (exponent << 23) | mantissa;\n        return reinterpret_cast<const T&>(retval);\n    }\n} // namespace rocblas_hip_f8_impl\n\nstatic __device__ bool rocblas_hip_f8_bias_mode_bit_device = true;\nstatic bool            rocblas_hip_f8_bias_mode_bit_host   = true;\n\nstruct rccl_float8\n{\n    uint8_t data;\n    enum class rocblas_hip_f8_rounding_mode\n    {\n        standard,\n        stochastic\n    };\n\n    // default constructor\n    HIP_HOST_DEVICE rccl_float8() = default;\n\n    constexpr inline HIP_HOST_DEVICE rccl_float8(const rccl_float8& a) : data(a.data) {}\n\n#if defined(__gfx942__) || defined(__gfx950__)\n    // device specific optimized F8 down-conversion code\n\n    template <bool stochastic_rounding = false>\n    static HIP_DEVICE uint8_t cast_to_f8_from_f32(float v, uint32_t rng = 0)\n    {\n        uint8_t i8data;\n        union\n        {\n            float    fval;\n            uint32_t i32val;\n            uint8_t  i8val[4]; // NOTE: not endian independent\n        } val;\n\n        uint32_t ival = 0;\n        val.fval      = v;\n\n#ifdef rccl_float8_downcast_clipping\n        if((val.i32val & 0x7F800000) != 0x7F800000) /// propagate NAN/INF, no clipping\n            val.fval = __builtin_amdgcn_fmed3f(val.fval, 240.0, -240.0);\n#endif\n        if(stochastic_rounding)\n        {\n            ival       = __builtin_amdgcn_cvt_sr_fp8_f32(val.fval, rng, ival, 0); // 0 pos\n            val.i32val = ival;\n            i8data     = val.i8val[0]; // little endian\n        }\n        else // RNE CVT\n        {\n            ival = __builtin_amdgcn_cvt_pk_fp8_f32(\n                val.fval, val.fval, ival, false); // false -> WORD0\n            val.i32val = ival;\n            i8data     = val.i8val[0];\n        }\n        return i8data;\n    }\n\n#endif // __gfx942__\n\n    // constructor from float\n#if defined(__gfx942__) || defined(__gfx950__)\n\n    // NOTE: ON-DEVICE... always optimal bias\n    explicit HIP_DEVICE rccl_float8(float                        v,\n                                   rocblas_hip_f8_rounding_mode rm\n                                   = rocblas_hip_f8_rounding_mode::standard,\n                                   uint32_t rng = 0)\n    {\n        // runtime branch, use cast_to_f8_from_f32 if want to avoid it\n        if(rm == rocblas_hip_f8_rounding_mode::stochastic)\n            data = cast_to_f8_from_f32<true>(v, rng);\n        else\n            data = cast_to_f8_from_f32<false>(v);\n    }\n\n    // Host only implementation using s/w simulation\n    explicit HIP_HOST\n#else\n    // both Host and DEVICE for non-gfx942 using s/w simulation\n    explicit HIP_HOST_DEVICE\n#endif\n        rccl_float8(float                        v,\n                   rocblas_hip_f8_rounding_mode rm  = rocblas_hip_f8_rounding_mode::standard,\n                   uint32_t                     rng = 0)\n    {\n#ifdef rccl_float8_downcast_clipping\n        data = rocblas_hip_f8_impl::\n            cast_to_f8<3, 4, float, true /*negative_zero_nan*/, true /*clip*/>(\n                v, (rm == rocblas_hip_f8_rounding_mode::stochastic), rng);\n#else // rccl_float8_downcast_clipping\n        data = rocblas_hip_f8_impl::\n            cast_to_f8<3, 4, float, true /*negative_zero_nan*/, false /*clip*/>(\n                v, (rm == rocblas_hip_f8_rounding_mode::stochastic), rng);\n#endif // rccl_float8_downcast_clipping\n    }\n\n    // Constructor from half\n    explicit HIP_HOST_DEVICE rccl_float8(_Float16                     v,\n                                        rocblas_hip_f8_rounding_mode rm\n                                        = rocblas_hip_f8_rounding_mode::standard,\n                                        uint32_t rng = 0)\n        : rccl_float8((float)v, rm, rng)\n    {\n    }\n    // constructor from int\n    explicit HIP_HOST_DEVICE rccl_float8(int                          v,\n                                        rocblas_hip_f8_rounding_mode rm\n                                        = rocblas_hip_f8_rounding_mode::standard,\n                                        uint32_t rng = 0)\n        : rccl_float8((float)v, rm, rng)\n    {\n    }\n    // constructor from double\n    explicit HIP_HOST_DEVICE rccl_float8(double                       v,\n                                        rocblas_hip_f8_rounding_mode rm\n                                        = rocblas_hip_f8_rounding_mode::standard,\n                                        uint32_t rng = 0)\n        : rccl_float8((float)v, rm, rng)\n    {\n    }\n\n    // convert to float\n#if defined(__gfx942__) || defined(__gfx950__)\n    // upcast using device specific intrinsic\n    explicit inline HIP_DEVICE operator float() const\n    {\n        float    fval;\n        uint32_t i32val = static_cast<uint32_t>(data);\n\n        // upcast\n        asm volatile(\"v_cvt_f32_fp8 %0, %1 src0_sel:BYTE_0\" : \"=v\"(fval) : \"v\"(i32val));\n\n        return fval;\n    }\n\n    explicit inline HIP_HOST operator float() const\n#else // non gfx942\n    explicit inline HIP_HOST_DEVICE operator float() const\n#endif\n    {\n        return rocblas_hip_f8_impl::cast_from_f8<3, 4, float, true /*negative_zero_nan*/>(data);\n    }\n\n    // convert to half\n    explicit inline HIP_HOST_DEVICE operator _Float16() const\n    {\n        return _Float16(float(*this)); // convert to float, then convert to f16\n    }\n\n    // check for zero\n    inline HIP_HOST_DEVICE bool is_zero() const\n    {\n        return data == 0x00;\n    }\n\n    // check for nan\n    inline HIP_HOST_DEVICE bool is_nan() const\n    {\n        return data == 0x80;\n    }\n\n    // check for inf\n    inline HIP_HOST_DEVICE bool is_inf() const\n    {\n        return data == 0x80;\n    }\n\n    // assignment overloading only from the same F8 types\n    inline HIP_HOST_DEVICE rccl_float8& operator=(const rccl_float8& a)\n    {\n        data = a.data;\n        return *this;\n    }\n};\n\nstruct rccl_bfloat8\n{\n    uint8_t data;\n    enum class rocblas_hip_f8_rounding_mode\n    {\n        standard,\n        stochastic\n    };\n\n    // default constructor\n    HIP_HOST_DEVICE rccl_bfloat8() = default;\n\n    constexpr inline HIP_HOST_DEVICE rccl_bfloat8(const rccl_bfloat8& a) : data(a.data) {}\n\n#if defined(__gfx942__) || defined(__gfx950__)\n    // device specific optimized F8 down-conversion code\n\n    template <bool stochastic_rounding = false>\n    static HIP_DEVICE uint8_t cast_to_bf8_from_f32(float v, uint32_t rng = 0)\n    {\n        uint8_t i8data;\n        union\n        {\n            float    fval;\n            uint32_t i32val;\n            uint8_t  i8val[4]; // NOTE: not endian independent\n        } val;\n\n        uint32_t ival = 0;\n        val.fval      = v;\n\n#ifdef rccl_float8_downcast_clipping\n        if((val.i32val & 0x7F800000) != 0x7F800000) // propagate NAN/INF, no clipping\n            val.fval = __builtin_amdgcn_fmed3f(val.fval, 57344.0, -57344.0);\n#endif\n        if(stochastic_rounding)\n        {\n            ival       = __builtin_amdgcn_cvt_sr_bf8_f32(val.fval, rng, ival, 0); // 0 pos\n            val.i32val = ival;\n            i8data     = val.i8val[0]; // little endian\n        }\n        else // RNE CVT\n        {\n            ival = __builtin_amdgcn_cvt_pk_bf8_f32(\n                val.fval, val.fval, ival, false); // false -> WORD0\n            val.i32val = ival;\n            i8data     = val.i8val[0];\n        }\n        return i8data;\n    }\n\n#endif // __gfx942__\n\n    // constructor from float\n#if defined(__gfx942__) || defined(__gfx950__)\n\n    // NOTE: ON-DEVICE... always optimal bias\n    explicit HIP_DEVICE rccl_bfloat8(float                        v,\n                                    rocblas_hip_f8_rounding_mode rm\n                                    = rocblas_hip_f8_rounding_mode::standard,\n                                    uint32_t rng = 0)\n    {\n        // runtime branch, use cast_to_f8_from_f32 if want to avoid it\n        if(rm == rocblas_hip_f8_rounding_mode::stochastic)\n            data = cast_to_bf8_from_f32<true>(v, rng);\n        else\n            data = cast_to_bf8_from_f32<false>(v);\n    }\n\n    // Host only implementation using s/w simulation\n    explicit HIP_HOST\n#else\n    // both Host and DEVICE for non-gfx942 using s/w simulation\n    explicit HIP_HOST_DEVICE\n#endif\n        rccl_bfloat8(float                        v,\n                    rocblas_hip_f8_rounding_mode rm  = rocblas_hip_f8_rounding_mode::standard,\n                    uint32_t                     rng = 0)\n    {\n#ifdef rccl_float8_downcast_clipping\n        data = rocblas_hip_f8_impl::\n            cast_to_f8<2, 5, float, true /*negative_zero_nan*/, true /*clip*/>(\n                v, (rm == rocblas_hip_f8_rounding_mode::stochastic), rng);\n#else\n        data = rocblas_hip_f8_impl::\n            cast_to_f8<2, 5, float, true /*negative_zero_nan*/, false /*clip*/>(\n                v, (rm == rocblas_hip_f8_rounding_mode::stochastic), rng);\n#endif // rccl_float8_downcast_clipping\n    }\n\n    // Constructor from half\n    explicit HIP_HOST_DEVICE rccl_bfloat8(_Float16                     v,\n                                         rocblas_hip_f8_rounding_mode rm\n                                         = rocblas_hip_f8_rounding_mode::standard,\n                                         uint32_t rng = 0)\n        : rccl_bfloat8((float)v, rm, rng)\n    {\n    }\n    // constructor from int\n    explicit HIP_HOST_DEVICE rccl_bfloat8(int                          v,\n                                         rocblas_hip_f8_rounding_mode rm\n                                         = rocblas_hip_f8_rounding_mode::standard,\n                                         uint32_t rng = 0)\n        : rccl_bfloat8((float)v, rm, rng)\n    {\n    }\n    // constructor from double\n    explicit HIP_HOST_DEVICE rccl_bfloat8(double                       v,\n                                         rocblas_hip_f8_rounding_mode rm\n                                         = rocblas_hip_f8_rounding_mode::standard,\n                                         uint32_t rng = 0)\n        : rccl_bfloat8((float)v, rm, rng)\n    {\n    }\n\n    // convert to float\n#if defined(__gfx942__) || defined(__gfx950__)\n    // upcast using device specific intrinsic\n    explicit inline HIP_DEVICE operator float() const\n    {\n        float    fval;\n        uint32_t i32val = static_cast<uint32_t>(data);\n\n        // upcast\n        asm volatile(\"v_cvt_f32_bf8 %0, %1 src0_sel:BYTE_0\" : \"=v\"(fval) : \"v\"(i32val));\n\n        return fval;\n    }\n\n    explicit inline HIP_HOST operator float() const\n#else // non gfx942\n    explicit inline HIP_HOST_DEVICE operator float() const\n#endif\n    {\n        return rocblas_hip_f8_impl::cast_from_f8<2, 5, float, true /*negative_zero_nan*/>(data);\n    }\n\n    // convert to half\n    explicit inline HIP_HOST_DEVICE operator _Float16() const\n    {\n        return _Float16(float(*this)); // convert to float, then convert to f16\n    }\n\n    // check for zero\n    inline HIP_HOST_DEVICE bool is_zero() const\n    {\n        return data == 0x00;\n    }\n\n    // check for nan\n    inline HIP_HOST_DEVICE bool is_nan() const\n    {\n        return data == 0x80;\n    }\n\n    // check for inf\n    inline HIP_HOST_DEVICE bool is_inf() const\n    {\n        return data == 0x80;\n    }\n\n    // assignment overloading only from the same F8 types\n    inline HIP_HOST_DEVICE rccl_bfloat8& operator=(const rccl_bfloat8& a)\n    {\n        data = a.data;\n        return *this;\n    }\n};\n\nnamespace std\n{\n    inline rccl_float8 sin(rccl_float8 a)\n    {\n        return rccl_float8(sinf(float(a)));\n    }\n    inline rccl_float8 cos(rccl_float8 a)\n    {\n        return rccl_float8(cosf(float(a)));\n    }\n    inline rccl_bfloat8 sin(rccl_bfloat8 a)\n    {\n        return rccl_bfloat8(sinf(float(a)));\n    }\n    inline rccl_bfloat8 cos(rccl_bfloat8 a)\n    {\n        return rccl_bfloat8(cosf(float(a)));\n    }\n    HIP_HOST_DEVICE constexpr rccl_float8 real(const rccl_float8& a)\n    {\n        return a;\n    }\n    HIP_HOST_DEVICE constexpr rccl_bfloat8 real(const rccl_bfloat8& a)\n    {\n        return a;\n    }\n}\n\ninline __device__  rccl_float8 hadd(rccl_float8 x, rccl_float8 y)\n{\n\treturn rccl_float8(float(x) + float(y));\n}\n\ninline __device__  fp8x2_storage_t hadd2(fp8x2_storage_t x, fp8x2_storage_t y)\n{\n    union {\n      rccl_float8 fp8[2];\n      fp8x2_storage_t fp8x2;\n    } u, v, w;\n    u.fp8x2 = x;\n    v.fp8x2 = y;\n    w.fp8[0] = hadd(u.fp8[0], v.fp8[0]);\n    w.fp8[1] = hadd(u.fp8[1], v.fp8[1]);\n\n\treturn w.fp8x2;\n}\n\ninline __device__  rccl_bfloat8 hadd_b(rccl_bfloat8 x, rccl_bfloat8 y)\n{\n    return rccl_bfloat8(float(x) + float(y));\n}\n\ninline __device__  fp8x2_storage_t hadd2_b(fp8x2_storage_t x, fp8x2_storage_t y)                                            {\n    union {\n      rccl_bfloat8 fp8[2];\n      fp8x2_storage_t fp8x2;\n    } u, v, w;\n    u.fp8x2 = x;\n    v.fp8x2 = y;\n    w.fp8[0] = hadd_b(u.fp8[0], v.fp8[0]);\n    w.fp8[1] = hadd_b(u.fp8[1], v.fp8[1]);\n\n\treturn w.fp8x2;\n}\n\n// Special operator overloading\ninline std::ostream& operator<<(std::ostream& os, const rccl_float8& f8)\n{\n    return os << float(f8);\n}\n\ninline std::ostream& operator<<(std::ostream& os, const rccl_bfloat8& bf8)\n{\n    return os << float(bf8);\n}\n\n// all + operator overloading with mixed types\n// mixed types, always converts to f32, does computation in f32, and returns float\ninline __host__ __device__ float operator+(const float fa, rccl_float8 b)\n{\n    return (fa + float(b));\n}\n\ninline __host__ __device__ float operator+(const float fa, rccl_bfloat8 b)\n{\n    return (fa + float(b));\n}\n\ninline __host__ __device__ float operator+(rccl_float8 a, const float fb)\n{\n    return (float(a) + fb);\n}\n\ninline __host__ __device__ float operator+(rccl_bfloat8 a, const float fb)\n{\n    return (float(a) + fb);\n}\n\ninline __host__ __device__ float operator+(rccl_float8 a, rccl_bfloat8 b)\n{\n    return (float(a) + float(b));\n}\n\ninline __host__ __device__ float operator+(rccl_bfloat8 a, rccl_float8 b)\n{\n    return (float(a) + float(b));\n}\n\ninline __host__ __device__ rccl_float8 operator+(rccl_float8 a, rccl_float8 b)\n{\n    return rccl_float8(float(a) + float(b));\n}\n\ninline __host__ __device__ rccl_bfloat8 operator+(rccl_bfloat8 a, rccl_bfloat8 b)\n{\n    return rccl_bfloat8(float(a) + float(b));\n}\n\ninline __host__ __device__ rccl_float8& operator+=(rccl_float8& a, rccl_float8 b)\n{\n    return a = rccl_float8(float(a) + float(b));\n}\n\ninline __host__ __device__ rccl_bfloat8& operator+=(rccl_bfloat8& a, rccl_bfloat8 b)\n{\n    return a = rccl_bfloat8(float(a) + float(b));\n}\n\n// overloading multiplication, always returns float,\ninline __host__ __device__ float operator*(rccl_float8 a, rccl_float8 b)\n{\n    return float(a) * float(b);\n}\n\ninline __host__ __device__ float operator*(float a, rccl_float8 b)\n{\n    return (a * float(b));\n}\n\ninline __host__ __device__ float operator*(rccl_float8 a, float b)\n{\n    return (float(a) * b);\n}\n\ninline __host__ __device__ float operator*(int32_t a, rccl_float8 b)\n{\n    return ((float)a * float(b));\n}\n\ninline __host__ __device__ float operator*(double a, rccl_float8 b)\n{\n    return ((float)a * float(b));\n}\n\ninline __host__ __device__ float operator*(rccl_bfloat8 a, rccl_bfloat8 b)\n{\n    return float(a) * float(b);\n}\n\ninline __host__ __device__ float operator*(float a, rccl_bfloat8 b)\n{\n    return (a * float(b));\n}\n\ninline __host__ __device__ float operator*(rccl_bfloat8 a, float b)\n{\n    return (float(a) * b);\n}\n\ninline __host__ __device__ float operator*(int32_t a, rccl_bfloat8 b)\n{\n    return ((float)a * float(b));\n}\n\ninline __host__ __device__ float operator*(double a, rccl_bfloat8 b)\n{\n    return ((float)a * float(b));\n}\n\n// overloading for mixed f8 and bf8 types\ninline __host__ __device__ float operator*(rccl_float8 a, rccl_bfloat8 b)\n{\n    return float(a) * float(b);\n}\n\ninline __host__ __device__ float operator*(rccl_bfloat8 a, rccl_float8 b)\n{\n    return float(a) * float(b);\n}\n\n// all - operator overloading with mixed types\n// mixed types, always converts to f32, does computation in f32, and returns float\ninline __host__ __device__ float operator-(const float fa, rccl_float8 b)\n{\n    return (fa - float(b));\n}\n\ninline __host__ __device__ float operator-(const float fa, rccl_bfloat8 b)\n{\n    return (fa - float(b));\n}\n\ninline __host__ __device__ float operator-(rccl_float8 a, const float fb)\n{\n    return (float(a) - fb);\n}\n\ninline __host__ __device__ float operator-(rccl_bfloat8 a, const float fb)\n{\n    return (float(a) - fb);\n}\n\ninline __host__ __device__ float operator-(rccl_float8 a, rccl_bfloat8 b)\n{\n    return (float(a) - float(b));\n}\n\ninline __host__ __device__ float operator-(rccl_bfloat8 a, rccl_float8 b)\n{\n    return (float(a) - float(b));\n}\n\ninline __host__ __device__ rccl_float8 operator-(rccl_float8 a, rccl_float8 b)\n{\n    return rccl_float8(float(a) - float(b));\n}\n\ninline __host__ __device__ rccl_bfloat8 operator-(rccl_bfloat8 a, rccl_bfloat8 b)\n{\n    return rccl_bfloat8(float(a) - float(b));\n}\n\ninline __host__ __device__ rccl_float8& operator-=(rccl_float8& a, rccl_float8 b)\n{\n    return a = rccl_float8(float(a) - float(b));\n}\n\ninline __host__ __device__ rccl_bfloat8& operator-=(rccl_bfloat8& a, rccl_bfloat8 b)\n{\n    return a = rccl_bfloat8(float(a) - float(b));\n}\n\n// overloading division, always returns float,\ninline __host__ __device__ float operator/(rccl_float8 a, rccl_float8 b)\n{\n    return float(a) / float(b);\n}\n\ninline __host__ __device__ float operator/(float a, rccl_float8 b)\n{\n    return (a / float(b));\n}\n\ninline __host__ __device__ float operator/(rccl_float8 a, float b)\n{\n    return (float(a) / b);\n}\n\ninline __host__ __device__ float operator/(int32_t a, rccl_float8 b)\n{\n    return ((float)a / float(b));\n}\n\ninline __host__ __device__ float operator/(double a, rccl_float8 b)\n{\n    return ((float)a / float(b));\n}\n\ninline __host__ __device__ float operator/(rccl_bfloat8 a, rccl_bfloat8 b)\n{\n    return float(a) / float(b);\n}\n\ninline __host__ __device__ float operator/(float a, rccl_bfloat8 b)\n{\n    return (a / float(b));\n}\n\ninline __host__ __device__ float operator/(rccl_bfloat8 a, float b)\n{\n    return (float(a) / b);\n}\n\ninline __host__ __device__ float operator/(int32_t a, rccl_bfloat8 b)\n{\n    return ((float)a / float(b));\n}\n\ninline __host__ __device__ float operator/(double a, rccl_bfloat8 b)\n{\n    return ((float)a / float(b));\n}\n\n// overloading for mixed f8 and bf8 types\ninline __host__ __device__ float operator/(rccl_float8 a, rccl_bfloat8 b)\n{\n    return float(a) / float(b);\n}\n\ninline __host__ __device__ float operator/(rccl_bfloat8 a, rccl_float8 b)\n{\n    return float(a) / float(b);\n}\n\n// overloading for compare\ninline __host__ __device__ bool operator==(rccl_float8 a, rccl_float8 b)\n{\n    return (a.data == b.data);\n}\n\ninline __host__ __device__ bool operator==(rccl_bfloat8 a, rccl_bfloat8 b)\n{\n    return (a.data == b.data);\n}\n\ninline __host__ __device__ bool operator!=(rccl_float8 a, rccl_float8 b)\n{\n    return (a.data != b.data);\n}\n\ninline __host__ __device__ bool operator!=(rccl_bfloat8 a, rccl_bfloat8 b)\n{\n    return (a.data != b.data);\n}\n\n// ================ Explicit downcasting to support different rounding (RNE, SR) ===============\n// NOTE: we going to remove all assignment operator overloading from other types and enforce\n// this explicit_downcast function to make any roudning behavior default\n// We have to explicitly call this function with SR flag\n\ntemplate <typename T,\n          typename Ta,\n          bool stochastic_rounding,\n          typename std::enable_if<std::is_same<T, Ta>{}, int>::type = 0>\ninline __host__ __device__ T explicit_downcast(Ta a, uint32_t rng = 0)\n{\n    // same type, no conversion\n    return a;\n}\n\n// Use h/w intrinsic and optimized version when __gfx942__\ntemplate <\n    typename T,\n    typename Ta,\n    bool stochastic_rounding,\n    typename std::enable_if<(!(std::is_same<T, Ta>{})\n                             && (std::is_same<T, rccl_float8>{} || std::is_same<T, rccl_bfloat8>{})),\n                            int>::type\n    = 0>\ninline __host__ __device__ T explicit_downcast(Ta a, uint32_t rng)\n{\n#if defined(__gfx942__) || defined(__gfx950__)\n    // NOTE: we are directly calling cast_to_f8_from_f32 instead of constructor to optimize away one runtime branch\n    T val;\n    if(std::is_same<T, rccl_float8>::value)\n        val.data = rccl_float8::cast_to_f8_from_f32<stochastic_rounding>(float(a), rng);\n    else\n        val.data = rccl_bfloat8::cast_to_bf8_from_f32<stochastic_rounding>(float(a), rng);\n    return val;\n#else // non gfx942\n    return T(float(a),\n             stochastic_rounding ? T::rocblas_hip_f8_rounding_mode::stochastic\n                                 : T::rocblas_hip_f8_rounding_mode::standard,\n             rng);\n#endif // __gfx942__\n}\n\n// NOTE NOTE: The above code is good if we don't consider HIP-GEMM code and only consider the quantization\n// However, if we need HIP-GEMM for fall-back, we would need explicit_cast handles Tacc=f32 to To=f16/bf16 conversion\ntemplate <\n    typename T,\n    typename Ta,\n    bool stochastic_rounding,\n    typename std::enable_if<(!(std::is_same<T, Ta>{})\n                             && !(std::is_same<T, rccl_float8>{} || std::is_same<T, rccl_bfloat8>{})),\n                            int>::type\n    = 0>\ninline __host__ __device__ T explicit_downcast(Ta a, uint32_t rng)\n{\n    // the return type is not a F8 types, no SR for those types\n    // not sure if we have direct conversion, so converting to float first\n    // no effect if the input type is float\n    return T(float(a));\n}\n\n// =================================================================================================\n\n#endif\n\n#endif // ROCBLAS_FLOAT8_H\n"
  },
  {
    "path": "src/include/rccl_vars.h",
    "content": "/*\nCopyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#ifndef RCCL_VARS_H_\n#define RCCL_VARS_H_\n\n#include \"param.h\"\n\nRCCL_PARAM_DECLARE(EnableHipGraph);  // Opt-in environment variable for enabling hipGraph\n\n#define RCCL_EXPOSE_STATIC // Expose needed static functions for rccl-tests (or unit-testing in future)\n#ifdef RCCL_EXPOSE_STATIC\n#define rccl_static\n#define rccl_static_inline inline\n#else\n#define rccl_static static\n#define rccl_static_inline static inline\n#endif\n\n#endif\n"
  },
  {
    "path": "src/include/recorder.h",
    "content": "/* Copyright © Advanced Micro Devices, Inc., or its affiliates. */\n\n#include <fstream>\n#include <sstream>\n#include <vector>\n#include <mutex>\n#include <chrono>\n\nnamespace rccl\n{\n// API opcode covered by rccl replayer\ntypedef enum {\n  rrBroadcast,\n  rrReduce,\n  rrAllGather,\n  rrReduceScatter,\n  rrAllReduce,\n  rrAllReduceWithBias,\n  rrSend,\n  rrRecv,\n  rrAllToAll,\n  rrAllToAllv,\n  rrGather,\n  rrScatter,\n  rrBcast,\n  rrGroupStart,\n  rrGroupEnd,\n  rrGroupSimulatedEnd,\n  rrGetUniqueId,\n  rrCommInitDev,\n  rrCommInitRank,\n  rrCommInitAll,\n  rrCommInitRankConfig,\n  rrCommSplit,\n  rrCommFinalize,\n  rrCommDestroy,\n  rrCommAbort,\n  rrCommRegister,\n  rrCommDeregister,\n  rrMemAlloc,\n  rrMemFree,\n  rrRedOpCreatePreMulSum,\n  rrRedOpDestroy,\n  rrOtherCall\n} rcclCall_t;\n\nconstexpr const char* rcclCallStr[]\n{\n  \"Broadcast\",\n  \"Reduce\",\n  \"AllGather\",\n  \"ReduceScatter\",\n  \"AllReduce\",\n  \"AllReduceWithBias\",\n  \"Send\",\n  \"Recv\",\n  \"AllToAll\",\n  \"AllToAllv\",\n  \"Gather\",\n  \"Scatter\",\n  \"Bcast\",\n  \"GroupStart\",\n  \"GroupEnd\",\n  \"GroupSimulatedEnd\",\n  \"GetUniqueId\",\n  \"CommInitDev\",\n  \"CommInitRank\",\n  \"CommInitAll\",\n  \"CommInitRankConfig\",\n  \"CommSplit\",\n  \"CommFinalize\",\n  \"CommDestroy\",\n  \"CommAbort\",\n  \"CommRegister\",\n  \"CommDeregister\",\n  \"MemAlloc\",\n  \"MemFree\",\n  \"RedOpCreatePreMulSum\",\n  \"RedOpDestroy\",\n  \"OtherCall\"\n};\n\nstruct rcclApiCall {\n// implicit data\n  int                   pid = -1;\n  int                   tid = -1;\n  int                   hipDev = -1;\n  int                   groupDepth = -1;\n  double                timestamp = -1;\n  unsigned long long    graphID = 0;\n  int                   graphCaptured = -1;\n\n// explicit data from header\n  rcclCall_t            type;\n  uint64_t              opCount = 0;\n  const void*           sendbuff = NULL;\n  void*                 recvbuff = NULL;\n  const void*           acc = NULL;\n  void*                 sendPtrBase = NULL;\n  void*                 recvPtrBase = NULL;\n  size_t                sendPtrExtent = 0;\n  size_t                recvPtrExtent = 0;\n  size_t                count = 0;\n  ncclDataType_t        datatype;\n  ncclRedOp_t           op;\n  int                   root = -1;\n  int                   nRanks = -1;\n  ncclComm_t            comm = NULL;\n  hipStream_t           stream = NULL;\n  int                   nTasks = -1;\n  int                   globalRank = -1;\n  uint64_t              commId = 0;\n\n  rcclApiCall(){}\n  rcclApiCall(rcclCall_t type, const ncclInfo& info);\n  rcclApiCall(rcclCall_t type);\n};\n\nclass Recorder {\n private:\n  std::ofstream         outputFile; // 1 per process\n  int                   output_json = 0; // 0 is to binary, 1 to json\n  std::string           filename;\n  int                   logLevel = -1;\n\n  //std::string           hostname;\n  int                   pid = -1;\n  int                   numCall = 0; // reserved for future record format/debug\n  bool                  skipped = false; // number of sendrecv calls to skip for gather/scatter/a2a(v)\n  static __thread int   rcclReplayThreadIdx;\n  static int            depth; // for indentation purpose, will need thread safty later\n\n  std::mutex            writemtx;\n  std::vector<rcclApiCall> calls;\n\n  void                  captureGpuContext(rcclApiCall& call) const;\n  void                  write(const rcclApiCall &call);\n  static void           recordLater(void* idx);\n  Recorder();\n  Recorder(const Recorder&) = delete;\n  Recorder& operator=(const Recorder&) = delete;\n  ~Recorder();\n\n public:\n  static Recorder&      instance();\n  void                  skip(bool b);\n  void                  record(const char* name); // non-replayable calls\n  ncclResult_t          record(rcclApiCall& call);\n  ncclResult_t          record(rcclCall_t type, const ncclInfo& info); // collective\n  ncclResult_t          record(rcclCall_t type, const void* sendbuff, void* recvbuff, size_t count, // sendrecv based\n                               ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream, int root = -1,\n                               const size_t sendcounts[] = NULL, const size_t sdispls[] = NULL, const size_t recvcounts[] = NULL,\n                               const size_t rdispls[] = NULL); // for alltoallv\n  ncclResult_t          record(rcclCall_t type, ncclRedOp_t op, ncclComm_t comm,\n                               ncclDataType_t datatype = ncclInt8, ncclScalarResidence_t residence = ncclScalarDevice,\n                               void* scalar = NULL); // redop\n  ncclResult_t          record(rcclCall_t type, int groupDepth); // group op\n  ncclResult_t          record(rcclCall_t type, int size, int rank, ncclUniqueId* commId,\n                               ncclComm_t comm = NULL, int device = 0); // init\n  void                  record(ncclComm_t* comms, int ndev, const int* devlist); // CommInitAll\n  ncclResult_t          record(rcclCall_t type, ncclComm_t comm); // comm destroy\n  void                  record(rcclCall_t type, int size, int rank, ncclUniqueId* commId, ncclConfig_t* config,\n                               ncclComm_t comm = NULL); // CommInitConfig OR split\n  ncclResult_t          record(rcclCall_t type, void* ptr, size_t size = 0); // mem alloc\n  ncclResult_t          record(rcclCall_t type, ncclComm_t comm, void* handle,\n                               void* userBuffer = NULL, size_t size = 0); // UBR\n  void                  record(int groupDepth, ncclSimInfo_t* siminfo); // SimulatedGroupEnd\n};\n\nvoid parseJsonEntry(const char* entry, std::vector<rcclApiCall>& calls);\nvoid parseBinLog();\n} // namespace rccl\n"
  },
  {
    "path": "src/include/register.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024-2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_REGISTER_H_\n#define NCCL_REGISTER_H_\n\n#include \"device.h\"\n\n#include <cuda.h>\n#include <stdint.h>\n\nint64_t ncclParamLocalRegister();\nint64_t ncclParamGraphRegister();\n\nenum {\n  NET_REG_COMPLETE = 0x01,\n  NVLS_REG_COMPLETE = 0x02,\n  NVLS_REG_POSSIBLE = 0x04,\n  NVLS_REG_NO_SUPPORT = 0x08,\n  COLLNET_REG_COMPLETE = 0x10,\n  IPC_REG_COMPLETE = 0x20\n};\n\nstruct ncclPeerRegIpcAddr {\n  uintptr_t* devPeerRmtAddrs;\n  uintptr_t* hostPeerRmtAddrs;\n};\n\nstruct ncclRegNetHandles {\n  void* handle;\n  struct ncclProxyConnector* proxyConn;\n  struct ncclRegNetHandles* next;\n};\n\nstruct ncclReg {\n  // common attributes\n  uintptr_t begAddr, endAddr; // page aligned\n  int localRefs;\n  int graphRefs;\n  uint32_t state;\n  // net reg\n  struct ncclRegNetHandles* netHandleHead;\n  // nvls reg\n  CUdeviceptr regAddr;\n  size_t regUCSize, regMCSize;\n  int dev;\n  CUmemGenericAllocationHandle mcHandle;\n  uintptr_t caddrs[NCCL_MAX_LOCAL_RANKS]; /* use to check if NVLS buffers match among intra-node ranks */\n  // collnet reg\n  void* collnetHandle;\n  struct ncclProxyConnector* collnetProxyconn;\n  // general ipc reg\n  struct ncclPeerRegIpcAddr regIpcAddrs;\n  struct ncclIpcRegInfo* ipcInfos[NCCL_MAX_LOCAL_RANKS];\n};\n\nstruct ncclRegCache {\n  struct ncclReg **slots;\n  int capacity, population;\n  uintptr_t pageSize;\n};\n\nncclResult_t ncclRegCleanup(struct ncclComm* comm);\nncclResult_t ncclCommGraphRegister(const ncclComm_t comm, void* buff, size_t size, void** handle);\nncclResult_t ncclCommGraphDeregister(const ncclComm_t comm, struct ncclReg *handle);\nncclResult_t ncclRegLocalIsValid(struct ncclReg *reg, bool *isValid);\n\n#endif\n"
  },
  {
    "path": "src/include/register_inline.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024-2025, NVIDIA CORPORATION. All rights reserved.\n * Modification Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n * SPDX-License-Identifier: MIT\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_REGISTER_INLINE_H_\n#define NCCL_REGISTER_INLINE_H_\n\n#include \"comm.h\"\n#include \"register.h\"\n\nstatic inline ncclResult_t ncclRegFind(struct ncclComm* comm, const void* data, size_t size, struct ncclReg** outReg) {\n  struct ncclRegCache* cache = &comm->regCache;\n  *outReg = NULL;\n  for (int slot=0; /*true*/; slot++) {\n    if (slot == cache->population) return ncclSuccess;\n    struct ncclReg *reg = cache->slots[slot];\n    if ((uintptr_t)data < reg->begAddr) return ncclSuccess;\n    if ((uintptr_t)data + size <= reg->endAddr) {\n      *outReg = reg;\n      return ncclSuccess;\n    }\n  }\n}\n\n\n#endif\n"
  },
  {
    "path": "src/include/rocm_smi_wrap.h",
    "content": "/*\nCopyright (c) 2021-2022 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#ifndef ROCM_SMI_WRAP_H_\n#define ROCM_SMI_WRAP_H_\n\n#include \"rocm_smi/rocm_smi.h\"\n#ifdef HAVE_ROCM_SMI64CONFIG\n#include \"rocm_smi/rocm_smi64Config.h\"\n#endif\n#include \"nccl.h\"\n\nncclResult_t rocm_smi_init();\nncclResult_t rocm_smi_getNumDevice(uint32_t* num_devs);\nncclResult_t rocm_smi_getDevicePciBusIdString(uint32_t deviceIndex, char* pciBusId, size_t len);\nncclResult_t rocm_smi_getDeviceIndexByPciBusId(const char* pciBusId, uint32_t* deviceIndex);\nncclResult_t rocm_smi_getLinkInfo(int srcDev, int dstDev, RSMI_IO_LINK_TYPE* rsmi_type, int *hops, int *count);\n\n#endif\n"
  },
  {
    "path": "src/include/rocmwrap.h",
    "content": "/*************************************************************************\n * Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_ROCMWRAP_H_\n#define NCCL_ROCMWRAP_H_\n\n#include <hsa/hsa.h>\n#include \"checks.h\"\n\ntypedef hsa_status_t (*PFN_hsa_init)();\ntypedef hsa_status_t (*PFN_hsa_system_get_info)(hsa_system_info_t attribute, void* value);\ntypedef hsa_status_t (*PFN_hsa_status_string)(hsa_status_t status, const char ** status_string);\ntypedef hsa_status_t (*PFN_hsa_amd_portable_export_dmabuf)(const void* ptr, size_t size, int* dmabuf, uint64_t* offset);\n\n#ifdef __HIP_PLATFORM_AMD__\n#define CUPFN(symbol) symbol\n#else\n#define CUPFN(symbol) pfn_##symbol\n#endif\n\n#define HSACHECK(cmd) do {\t\t\t\t      \\\n    hsa_status_t err = pfn_##cmd;\t\t\t\t      \\\n    if( err != HSA_STATUS_SUCCESS ) {\t\t\t\t      \\\n      const char *errStr;\t\t\t\t      \\\n      pfn_hsa_status_string(err, &errStr);\t      \\\n      WARN(\"HIP failure '%s'\", errStr);\t\t      \\\n      return ncclUnhandledCudaError;\t\t\t      \\\n    }\t\t\t\t\t\t\t      \\\n} while(false)\n\n// Check CUDA PFN driver calls\n#define CUCHECK(cmd) do {\t\t\t\t      \\\n    hipError_t err = cmd;\t\t\t\t      \\\n    if( err != hipSuccess ) {\t\t\t\t      \\\n      WARN(\"HIP failure '%s' at %s:%d\", hipGetErrorString(err), __FILE__, __LINE__);\t\t      \\\n      return ncclUnhandledCudaError;\t\t\t      \\\n    }\t\t\t\t\t\t\t      \\\n} while(false)\n\n#define CUCHECKGOTO(cmd, res, label) do {\t\t      \\\n    hipError_t err = cmd;\t\t\t\t      \\\n    if( err != hipSuccess ) {\t\t\t\t      \\\n      WARN(\"HIP failure '%s' at %s:%d\", hipGetErrorString(err), __FILE__, __LINE__);\t\t      \\\n      res = ncclUnhandledCudaError;\t\t\t      \\\n      goto label;\t\t\t\t\t      \\\n    }\t\t\t\t\t\t\t      \\\n} while(false)\n\n// Report failure but clear error and continue\n#define CUCHECKIGNORE(cmd) do {\t\t\t\t\t\t\\\n    hipError_t err = cmd;\t\t\t\t\t\t\\\n    if( err != hipSuccess ) {\t\t\t\t\t\t\\\n      INFO(NCCL_ALL,\"%s:%d HIP failure '%s'\", __FILE__, __LINE__, hipGetErrorString(err));\t\\\n    }\t\t\t\t\t\t\t\t\t\\\n} while(false)\n\n#define CUCHECKTHREAD(cmd, args) do {\t\t\t\t\t\\\n    hsa_status_t err = pfn_##cmd;\t\t\t\t\t\t\\\n    if (err != HSA_STATUS_SUCCESS) {\t\t\t\t\t\t\\\n      INFO(NCCL_INIT,\"%s:%d -> %d [Async thread]\", __FILE__, __LINE__, err); \\\n      args->ret = ncclUnhandledCudaError;\t\t\t\t\\\n      return args;\t\t\t\t\t\t\t\\\n    }\t\t\t\t\t\t\t\t\t\\\n} while(0)\n\n#define DECLARE_ROCM_PFN_EXTERN(symbol) extern PFN_##symbol pfn_##symbol\n\nDECLARE_ROCM_PFN_EXTERN(hsa_amd_portable_export_dmabuf); // DMA-BUF support\n\n/* ROCr Driver functions loaded with dlsym() */\nDECLARE_ROCM_PFN_EXTERN(hsa_init);\nDECLARE_ROCM_PFN_EXTERN(hsa_system_get_info);\nDECLARE_ROCM_PFN_EXTERN(hsa_status_string);\n\nextern int ncclCuMemEnable();\nextern int ncclCuMemHostEnable();\n\n// Handle type used for cuMemCreate()\nextern CUmemAllocationHandleType ncclCuMemHandleType;\n\nncclResult_t rocmLibraryInit(void);\n\nextern int ncclCudaDriverVersionCache;\nextern bool ncclCudaLaunchBlocking; // initialized by ncclCudaLibraryInit()\n\ninline ncclResult_t ncclCudaDriverVersion(int* driver) {\n  int version = __atomic_load_n(&ncclCudaDriverVersionCache, __ATOMIC_RELAXED);\n  if (version == -1) {\n    CUDACHECK(cudaDriverGetVersion(&version));\n    __atomic_store_n(&ncclCudaDriverVersionCache, version, __ATOMIC_RELAXED);\n  }\n  *driver = version;\n  return ncclSuccess;\n}\n\n#endif\n"
  },
  {
    "path": "src/include/roctx.h",
    "content": "/*************************************************************************\n * Copyright (c) 2024-2025, Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef RCCL_ROCTX_H\n#define RCCL_ROCTX_H\n\n#include <iostream>\n#include <string.h>\n#include <map>\n\n#ifdef ROCTX_ENABLE\n#include <roctracer/roctx.h>\n#endif\n#include \"nvtx3/nvtx3.hpp\"\n#include \"device.h\"\n\n#define MAX_MESSAGE_LENGTH 1024\n#define NVTX_PAYLOAD_ENTRY_TYPE_REDOP 11 + NVTX_PAYLOAD_ENTRY_TYPE_SCHEMA_ID_STATIC_START\n\n/**\n * \\brief Equivalent of nvtx types for roctx.\n*/\nenum roctxPayloadEntryType {\n  /**\n   * Only include the required/used types by rccl,\n   * and needs to be updated in case of new type\n   * tracing.\n  */\n  ROCTX_PAYLOAD_ENTRY_TYPE_INT,\n  ROCTX_PAYLOAD_ENTRY_TYPE_SIZE,\n  ROCTX_PAYLOAD_ENTRY_TYPE_REDOP,\n  ROCTX_PAYLOAD_ENTRY_TYPE_DATATYPE,\n  ROCTX_PAYLOAD_NUM_ENTRY_TYPES\n};\n\n/**\n * \\brief Stores the contents of the message that will be used by roctx.\n*/\nstruct roctxPayloadSchemaEntryInfo {\n  /**\n   * Description of the data.\n  */\n  const char* name;\n\n  /**\n   * Type of the data.\n  */\n  roctxPayloadEntryType type;\n\n  /**\n   * Union of possible payload types.\n   * \n   * Should be in sync with roctxPayloadEntryType.\n  */\n  union {\n    int typeInt;\n    size_t typeSize;\n    ncclDevRedOp_t typeRedOp;\n    ncclDataType_t typeDataType;\n  } payload;\n};\n\nstruct roctxPayloadInfo {\n  /**\n   * Payload name. Usually the name of the function/API \n   * being called from.\n  */\n  const char* id;\n\n  /**\n   * Number of paylod entries\n  */\n  size_t numEntries;\n  \n  /**\n   * Pointer to roctxPayloadSchemaEntryInfo elements in memory.\n  */\n  roctxPayloadSchemaEntryInfo* payloadEntries = nullptr;\n\n  /**\n   * Message that will be used by roctx\n  */\n  char* message = nullptr;\n};\n\ntypedef roctxPayloadInfo* roctxPayloadInfo_t;\n\nextern const char* roctxEntryTypeStr[ROCTX_PAYLOAD_NUM_ENTRY_TYPES];\nextern const char* ncclRedOpStr[ncclNumDevRedOps];\nextern const char* ncclDataTypeStr[ncclNumTypes];\n\n/**\n * \\brief Maps nvtx types to roctx types.\n*/\nextern std::map<uint64_t, roctxPayloadEntryType> nvtxToRoctx;\n\n/**\n * \\brief Allocate required memory for roctx\n*/\nvoid roctxAlloc(roctxPayloadInfo_t payloadInfo, const size_t numEntries);\n\n/**\n * \\brief Free all the resources used by roctx\n*/\nvoid roctxFree(roctxPayloadInfo_t payloadInfo);\n\n/**\n * \\brief Extracts payload schema entry info from nvtxPayloadSchemaEntry_t and,\n * nvtxPayloadData_t and stores in an array.\n*/\nvoid extractPayloadInfo(const nvtxPayloadSchemaEntry_t* schema, const nvtxPayloadData_t* data, const size_t numEntries, \n                        const char* schemaName, roctxPayloadInfo_t payloadInfo);\n\n/**\n * \\brief Stringify roctxPayloadInfo_t struct. Used as roctx message.\n*/\nvoid stringify(roctxPayloadInfo_t payloadInfo);\n\n/**\n * \\brief Class to make roctx calls scoped.\n*/\nclass roctx_scoped_range_in {\npublic:\n  /**\n   * Construct a 'roctx_scoped_range_in' with specified NVTX params,\n   * 'numEntries', and 'schemaName'\n  */\n  explicit roctx_scoped_range_in(const nvtxPayloadSchemaEntry_t* schema, const nvtxPayloadData_t* data, \n                                const size_t numEntries, const char* schemaName) noexcept;\n\n  /**\n   * Construct a 'roctx_scoped_range_in' with the specified 'message'\n  */\n  explicit roctx_scoped_range_in(const char* message) noexcept;\n\n  /**\n   * Default constructor 'roctx_scoped_range_in'\n  */\n  roctx_scoped_range_in() noexcept;\n\n  /**\n   * Destroy the roctx_scoped_range_in, ending the ROCTX range event.\n   */\n  ~roctx_scoped_range_in() noexcept;\n\nprivate:\n  roctxPayloadInfo payloadInfo;\n};\n\n#endif // RCCL_ROCTX_H"
  },
  {
    "path": "src/include/scheduler.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_SCHEDULER_H_\n#define NCCL_SCHEDULER_H_\n\n#include \"nccl.h\"\n#include \"comm.h\"\n#include \"sym_kernels.h\"\n\nncclResult_t ncclMakeSymmetricTaskList(struct ncclComm* comm, struct ncclTaskColl* task, struct ncclIntruQueue<struct ncclTaskColl, &ncclTaskColl::next>* symTaskQueue, struct ncclTaskColl** remainTasksHead);\nncclResult_t ncclSymmetricTaskScheduler(struct ncclComm* comm, struct ncclIntruQueue<struct ncclTaskColl, &ncclTaskColl::next>* symTaskQueue, struct ncclKernelPlan* plan);\n\n#endif // NCCL_SCHEDULER_H_\n"
  },
  {
    "path": "src/include/shm.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_SHM_H_\n#define NCCL_SHM_H_\n\n#include \"comm.h\"\n\nstruct shmLegacyIpc {\n  char shmSuffix[7];\n  ncclShmHandle_t handle;\n  size_t shmSize;\n};\n\nstruct shmCuIpc {\n  union {\n    CUmemFabricHandle handle;\n    CUmemGenericAllocationHandle data;\n  };\n  void *ptr;\n  size_t size;\n};\n\nstruct shmIpcDesc {\n  union\n  {\n    struct shmLegacyIpc shmli;\n    struct shmCuIpc shmci;\n  };\n  bool legacy;\n};\n\ntypedef struct shmIpcDesc ncclShmIpcDesc_t;\n\nncclResult_t ncclShmAllocateShareableBuffer(size_t size, bool legacy, ncclShmIpcDesc_t *descOut, void **hptr, void **dptr);\nncclResult_t ncclShmImportShareableBuffer(struct ncclComm *comm, int proxyRank, ncclShmIpcDesc_t *desc, void **hptr, void **dptr, ncclShmIpcDesc_t *descOut);\nncclResult_t ncclShmIpcClose(ncclShmIpcDesc_t *desc);\n\n#endif\n"
  },
  {
    "path": "src/include/shmutils.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_SHMUTILS_H_\n#define NCCL_SHMUTILS_H_\n\n#include \"nccl.h\"\n\ntypedef void* ncclShmHandle_t;\nncclResult_t ncclShmOpen(char* shmPath, size_t shmPathSize, size_t shmSize, void** shmPtr, void** devShmPtr, int refcount, ncclShmHandle_t* handle);\nncclResult_t ncclShmClose(ncclShmHandle_t handle);\nncclResult_t ncclShmUnlink(ncclShmHandle_t handle);\n\nstruct ncclShmemCollBuff {\n  size_t *cnt[2];\n  void *ptr[2];\n  int round;\n  size_t maxTypeSize;\n};\n\nncclResult_t ncclShmemAllgather(struct ncclComm *comm, struct ncclShmemCollBuff *shmem, void *sendbuff, void *recvbuff, size_t typeSize);\n\n#endif\n"
  },
  {
    "path": "src/include/signals.h",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef RCCL_SIGNALS_H_\n#define RCCL_SIGNALS_H_\n\nvoid RegisterSignalHandlers();\n\n#endif\n"
  },
  {
    "path": "src/include/socket.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_SOCKET_H_\n#define NCCL_SOCKET_H_\n\n#include \"nccl.h\"\n#include <sys/socket.h>\n#include <arpa/inet.h>\n#include <netinet/tcp.h>\n#include <netdb.h>\n#include <fcntl.h>\n#include <poll.h>\n\n#define MAX_IFS 16\n#define MAX_IF_NAME_SIZE 16\n#define SOCKET_NAME_MAXLEN (NI_MAXHOST+NI_MAXSERV)\n#define NCCL_SOCKET_MAGIC 0x564ab9f2fc4b9d6cULL\n\n/* Common socket address storage structure for IPv4/IPv6 */\nunion ncclSocketAddress {\n  struct sockaddr sa;\n  struct sockaddr_in sin;\n  struct sockaddr_in6 sin6;\n};\n\nenum ncclSocketState {\n  ncclSocketStateNone = 0,\n  ncclSocketStateInitialized = 1,\n  ncclSocketStateAccepting = 2,\n  ncclSocketStateAccepted = 3,\n  ncclSocketStateConnecting = 4,\n  ncclSocketStateConnectPolling = 5,\n  ncclSocketStateConnected = 6,\n  ncclSocketStateReady = 7,\n  ncclSocketStateTerminating = 8,\n  ncclSocketStateClosed = 9,\n  ncclSocketStateError = 10,\n  ncclSocketStateNum = 11\n};\n\nenum ncclSocketType {\n  ncclSocketTypeUnknown = 0,\n  ncclSocketTypeBootstrap = 1,\n  ncclSocketTypeProxy = 2,\n  ncclSocketTypeNetSocket = 3,\n  ncclSocketTypeNetIb = 4,\n  ncclSocketTypeRasNetwork = 5\n};\n\nstruct ncclSocket {\n  int fd;\n  int acceptFd;\n  int errorRetries;\n  union ncclSocketAddress addr;\n  volatile uint32_t* abortFlag;\n  int asyncFlag;\n  enum ncclSocketState state;\n  int salen;\n  uint64_t magic;\n  enum ncclSocketType type;\n  int customRetry;\n  int finalizeCounter; // Used to keep track of initial handshake for async sockets.\n  char finalizeBuffer[sizeof(uint64_t)]; // Used to keep track of initial handshake for async sockets.\n};\n\nconst char *ncclSocketToString(const union ncclSocketAddress *addr, char *buf, const int numericHostForm = 1);\nncclResult_t ncclSocketGetAddrFromString(union ncclSocketAddress* ua, const char* ip_port_pair);\nncclResult_t ncclFindInterfaceMatchSubnet(char* ifName, union ncclSocketAddress* localAddr,\n                                          union ncclSocketAddress* remoteAddr, int ifNameMaxSize, int* found);\nncclResult_t ncclFindInterfaces(char* ifNames, union ncclSocketAddress *ifAddrs, int ifNameMaxSize, int maxIfs,\n                                int* nIfs);\n\n// Initialize a socket\nncclResult_t ncclSocketInit(struct ncclSocket* sock, const union ncclSocketAddress* addr = NULL, uint64_t magic = NCCL_SOCKET_MAGIC, enum ncclSocketType type = ncclSocketTypeUnknown, volatile uint32_t* abortFlag = NULL, int asyncFlag = 0, int customRetry = 0);\n// Create a listening socket. sock->addr can be pre-filled with IP & port info. sock->fd is set after a successful call\nncclResult_t ncclSocketListen(struct ncclSocket* sock);\nncclResult_t ncclSocketGetAddr(struct ncclSocket* sock, union ncclSocketAddress* addr);\n// Connect to sock->addr. sock->fd is set after a successful call.\nncclResult_t ncclSocketConnect(struct ncclSocket* sock);\n// Return socket connection state.\nncclResult_t ncclSocketReady(struct ncclSocket* sock, int *running);\n// Accept an incoming connection from listenSock->fd and keep the file descriptor in sock->fd, with the remote side IP/port in sock->addr.\nncclResult_t ncclSocketAccept(struct ncclSocket* sock, struct ncclSocket* ulistenSock);\nncclResult_t ncclSocketGetFd(struct ncclSocket* sock, int* fd);\nncclResult_t ncclSocketSetFd(int fd, struct ncclSocket* sock);\n\n#define NCCL_SOCKET_SEND 0\n#define NCCL_SOCKET_RECV 1\n\nncclResult_t ncclSocketProgress(int op, struct ncclSocket* sock, void* ptr, int size, int* offset, int* closed = NULL);\nncclResult_t ncclSocketWait(int op, struct ncclSocket* sock, void* ptr, int size, int* offset);\nncclResult_t ncclSocketSend(struct ncclSocket* sock, void* ptr, int size);\nncclResult_t ncclSocketRecv(struct ncclSocket* sock, void* ptr, int size);\nncclResult_t ncclSocketSendRecv(struct ncclSocket* sendSock, void* sendPtr, int sendSize, struct ncclSocket* recvSock, void* recvPtr, int recvSize);\nncclResult_t ncclSocketTryRecv(struct ncclSocket* sock, void* ptr, int size, int* closed, bool blocking);\nncclResult_t ncclSocketShutdown(struct ncclSocket* sock, int how);\nncclResult_t ncclSocketClose(struct ncclSocket* sock, bool wait = false);\n#endif\n"
  },
  {
    "path": "src/include/strongstream.h",
    "content": "/*************************************************************************\n * Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_STRONGSTREAM_H_\n#define NCCL_STRONGSTREAM_H_\n\n#include \"nccl.h\"\n#include \"checks.h\"\n\n#include <cuda.h>\n#include <cuda_runtime.h>\n#include <stdint.h>\n\n// ncclCudaContext: wraps a CUDA context with per-context state.\nstruct ncclCudaContext;\n\n// Get a ncclCudaContext to track the currently active CUDA context.\nncclResult_t ncclCudaContextTrack(struct ncclCudaContext** out);\n// Drop reference.\nvoid ncclCudaContextDrop(struct ncclCudaContext* cxt);\n\n/* ncclCudaGraph: Wraps a cudaGraph_t so that we can support pre-graph CUDA runtimes\n * easily.\n */\nstruct ncclCudaGraph {\n#if ROCM_VERSION >= 60100\n  cudaStream_t origin;\n  cudaGraph_t graph;\n  unsigned long long graphId;\n#endif\n};\n\ninline struct ncclCudaGraph ncclCudaGraphNone() {\n  struct ncclCudaGraph tmp;\n  #if ROCM_VERSION >= 60100\n    tmp.origin = nullptr;\n    tmp.graph = nullptr;\n    tmp.graphId = ULLONG_MAX;\n  #endif\n  return tmp;\n}\n\ninline bool ncclCudaGraphValid(struct ncclCudaGraph graph) {\n  #if ROCM_VERSION >= 60100\n    return graph.graphId != ULLONG_MAX;\n  #else\n    return false;\n  #endif\n}\n\ninline bool ncclCudaGraphSame(struct ncclCudaGraph a, struct ncclCudaGraph b) {\n  #if ROCM_VERSION >= 60100\n    return a.graphId == b.graphId;\n  #else\n    return true;\n  #endif\n}\n\nncclResult_t ncclCudaGetCapturingGraph(struct ncclCudaGraph* graph, cudaStream_t stream);\nncclResult_t ncclCudaGraphAddDestructor(struct ncclCudaGraph graph, cudaHostFn_t fn, void* arg);\n\n/* ncclStrongStream: An abstraction over CUDA streams that do not lose their\n * identity while being captured. Regular streams have the deficiency that the\n * captured form of a stream in one graph launch has no relation to the\n * uncaptured stream or to the captured form in other graph launches. This makes\n * streams unfit for the use of serializing access to a persistent resource.\n * Strong streams have been introduced to address this need.\n *\n * All updates to a strong stream must be enclosed by a Acquire/Release pair.\n *\n * Acquire retrieves a \"work\" stream (cudaStream_t) which may be used to add\n * work.\n *\n * Release publishes the work streams work into the strong stream. The Release\n * must be issued by the same thread that did the Acquire.\n */\nstruct ncclStrongStream;\n\nncclResult_t ncclStrongStreamConstruct(struct ncclStrongStream* ss);\nncclResult_t ncclStrongStreamDestruct(struct ncclStrongStream* ss);\n\n// Acquire the strong stream. Upon return `*workStream` will be usable to add work.\n// `concurrent` indicates if other threads may be using the strong stream.\nncclResult_t ncclStrongStreamAcquire(\n  struct ncclCudaGraph graph, struct ncclStrongStream* ss, bool concurrent, cudaStream_t* workStream\n);\n\n// Get the workStream for an already acquired strong stream.\n// `concurrent` indicates if other threads may be using the strong stream.\nncclResult_t ncclStrongStreamAcquiredWorkStream(\n  struct ncclCudaGraph graph, struct ncclStrongStream* ss, bool concurrent, cudaStream_t* workStream\n);\n\n// Release of the strong stream.\n// `concurrent` indicates if other threads may be using the strong stream.\nncclResult_t ncclStrongStreamRelease(struct ncclCudaGraph graph, struct ncclStrongStream* ss, bool concurrent);\n\nncclResult_t ncclStreamWaitStream(\n  cudaStream_t a, cudaStream_t b, cudaEvent_t scratchEvent\n);\n\n// Like cudaStreamWaitEvent except `e` must be strictly ahead of everything in `s`.\nncclResult_t ncclStreamAdvanceToEvent(struct ncclCudaGraph g, cudaStream_t s, cudaEvent_t e);\n\n// Synchrnoization does not need the strong stream to be acquired.\nncclResult_t ncclStrongStreamSynchronize(struct ncclStrongStream* ss);\n\n////////////////////////////////////////////////////////////////////////////////\n\nstruct ncclStrongStreamCapture; // internal to ncclStrongStream\n\nstruct ncclStrongStream {\n  // The stream to use for non-captured work.\n  cudaStream_t liveStream;\n  void* liveAcquiredBy;\n#if ROCM_VERSION >= 60100\n  // This stream ever appeared in a graph capture.\n  bool everCaptured;\n  pthread_mutex_t lock;\n  struct ncclStrongStreamCapture* captureHead;\n  // The event used to establish order between graphs and streams. During acquire\n  // this event is waited on, during release it is recorded to.\n  cudaEvent_t serialEvent;\n#endif\n};\n\nstruct ncclCudaContext {\n  struct ncclCudaContext* next;\n  CUcontext hcontext;\n  int refCount;\n  struct ncclStrongStream launchOrder;\n};\n\n#endif\n"
  },
  {
    "path": "src/include/sym_kernels.h",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_SYM_KERNELS_H_\n#define NCCL_SYM_KERNELS_H_\n#include \"nccl.h\"\n#include \"nccl_device.h\"\n#include \"nccl_common.h\"\n#include \"device.h\"\n\n////////////////////////////////////////////////////////////////////////////////\n// ncclSymk[Foo]: Kernels built on the device API\n\n#define NCCL_SYM_KERNEL_CELL_SIZE 1024 // no less than 16 bytes minimal cell size\n\nconstexpr int ncclSymkMaxBlocks = 64;\nconstexpr int ncclSymkMaxThreads = 512;\nconstexpr int ncclSymkLLMaxEltSize = 8;\n\nconstexpr __host__ __device__ int ncclSymkLLMaxSlots(int eltSize = ncclSymkLLMaxEltSize) {\n  return ncclSymkMaxThreads*ncclSymkLLMaxEltSize/eltSize;\n}\n\nenum ncclSymkKernelId {\n  ncclSymkKernelId_AllReduce_AGxLL_R,\n  ncclSymkKernelId_AllReduce_AGxLLMC_R,\n  ncclSymkKernelId_AllReduce_RSxLD_AGxST,\n  ncclSymkKernelId_AllReduce_RSxLDMC_AGxSTMC,\n  ncclSymkKernelId_AllReduce_RSxNet_ARxMC_AGxNet,\n\n  ncclSymkKernelId_AllGather_LL,\n  ncclSymkKernelId_AllGather_LLMC,\n  ncclSymkKernelId_AllGather_ST,\n  ncclSymkKernelId_AllGather_STMC,\n\n  ncclSymkKernelId_ReduceScatter_LL,\n  ncclSymkKernelId_ReduceScatter_LD,\n  ncclSymkKernelId_ReduceScatter_LDMC,\n\n  ncclSymkKernelId_Count\n};\n\nstruct ncclSymkDevComm {\n  struct ncclDevComm devComm;\n  struct ncclLLA2AHandle lsaLLA2A;\n};\n\nstruct ncclSymkState {\n  bool initialized;\n  struct ncclSymkDevComm kcomm;\n};\n\nstruct ncclSymkChannelWorkRange {\n  uint16_t workHi; // inclusive index of my ending work\n  uint16_t fracHi; // 16-bit fraction in (0.0, 1.0] indicating where my part ends\n};\n\n// 16 bytes aligned\nstruct alignas(16) ncclSymkDevWork {\n  uint64_t redOpArg; // must be collectively uniform\n  size_t nElts;\n  struct ncclWindow_vidmem* inputWin, *outputWin;\n  size_t inputOff, outputOff; // these = origUserOffset + cbdPartOffset\n  uint64_t rootRank;\n  uint64_t sChannelId:16, nChannels:16, padding:32;\n};\n\nstruct alignas(16) ncclSymkDevWorkArgs {\n  struct ncclSymkDevComm kcomm;\n  int nMaxChannels;\n  // starting of channelWorkRange will be aligned to 16 bytes\n  // channelWorkRange[nChannels];\n  // ncclSymDevWork[nWorks];\n  // aux functions\n  __host__ static constexpr size_t calcArgsSize(int nChannels, int nWorks) {\n    return alignUp(sizeof(struct ncclSymkDevWorkArgs), 16) + alignUp(nChannels * sizeof(struct ncclSymkChannelWorkRange), 16) + nWorks * sizeof(struct ncclSymkDevWork);\n  }\n  __host__ __device__ struct ncclSymkChannelWorkRange* getWorkRange() const {\n    return (struct ncclSymkChannelWorkRange*)((uint8_t*)this + alignUp(sizeof(struct ncclSymkDevWorkArgs), 16));\n  }\n  __host__ __device__ struct ncclSymkDevWork* getWorks(int nChannels) const {\n    return (struct ncclSymkDevWork*)((uint8_t*)this->getWorkRange() + alignUp(nChannels * sizeof(struct ncclSymkChannelWorkRange), 16));\n  }\n};\n\nunion ncclSymkDevWorkArgs4K {\n  struct ncclSymkDevWorkArgs args;\n  char buf4K[4096];\n};\n\n// We assume ncclComm contains a field: `ncclSymkState symkState`\nncclResult_t ncclSymkInitOnce(struct ncclComm* comm);\nncclResult_t ncclSymkFinalize(struct ncclComm* comm);\n\nbool ncclSymkAvailable(struct ncclComm* comm, ncclFunc_t coll, int/*ncclDevRedOp_t*/ red,\n                       ncclDataType_t ty, size_t nElts);\nncclResult_t ncclSymkPickKernel(struct ncclComm* comm, ncclFunc_t coll, int/*ncclDevRedOp_t*/ red, ncclDataType_t ty,\n                                size_t nEltsTotal, size_t nEltsMax, int nWorks,\n                                float* estTimeUs, ncclSymkKernelId* kernelId, int* nBlocks, int* nWarps);\n\nncclResult_t ncclSymkMakeDevWork(struct ncclComm* comm, struct ncclTaskColl* task, struct ncclSymkDevWork* outDevWork);\n\n// Generated by src/device/symmetric/generate.py\nextern int const ncclSymkKernelCount;\nextern void* const ncclSymkKernelList[];\nvoid* ncclSymkGetKernelPtr(ncclSymkKernelId kernelId, int/*ncclDevRedOp_t*/ red, ncclDataType_t ty);\nconst char* ncclSymkKernelIdToString(int kernelId);\n\n#endif\n"
  },
  {
    "path": "src/include/timer.h",
    "content": "/*************************************************************************\n * Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_TIMER_H_\n#define NCCL_TIMER_H_\n#if ENABLE_TIMER\n#include <unistd.h>\n#include <sys/time.h>\n#include <x86intrin.h>\nstatic double freq = -1;\nstatic void calibrate() {\n  struct timeval tv;\n  gettimeofday(&tv, NULL);\n  uint64_t timeCycles = __rdtsc();\n  double time = - tv.tv_sec*1E6 - tv.tv_usec;\n  uint64_t total = 0ULL;\n  for (int i=0; i<10000; i++) total += __rdtsc();\n  gettimeofday(&tv, NULL);\n  timeCycles = __rdtsc() - timeCycles;\n  time += tv.tv_sec*1E6 + tv.tv_usec;\n  freq = timeCycles/time;\n}\nstatic inline double gettime() {\n  if (freq == -1) calibrate();\n  return __rdtsc()/freq;\n}\nstatic uint64_t counts[8];\nstatic double times[8];\nstatic double startTimes[8];\n#define TIME_START(index) do { \\\n  counts[index]++; \\\n  startTimes[index] = gettime(); \\\n} while (0)\n\n#define TIME_STOP(index) do { \\\n  times[index] += gettime() - startTimes[index]; \\\n} while (0)\n\n#define TIME_CANCEL(index) do { \\\n  counts[index]--; \\\n} while (0)\n\n#define TIME_PRINT(name) do { \\\n  printf(\"%s stats\", name); \\\n  for (int i=0; i<8; i++) { \\\n    if (counts[i]) printf(\" [%d] %g/%ld = %g\", i, times[i], counts[i], times[i]/counts[i]); \\\n    counts[i] = 0; \\\n  } \\\n  printf(\"\\n\"); \\\n} while (0)\n#else\n#define TIME_START(index) do {} while(0)\n#define TIME_STOP(index) do {} while(0)\n#define TIME_CANCEL(index) do {} while(0)\n#define TIME_PRINT(name)\n#endif\n#endif\n"
  },
  {
    "path": "src/include/transport.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_TRANSPORT_H_\n#define NCCL_TRANSPORT_H_\n\n#include \"device.h\"\n#include \"graph.h\"\n#include \"nvmlwrap.h\"\n#include \"core.h\"\n\n#define NTRANSPORTS 4\n#define TRANSPORT_UNDEFINED -1\n#define TRANSPORT_P2P 0\n#define TRANSPORT_SHM 1\n#define TRANSPORT_NET 2\n#define TRANSPORT_COLLNET 3\n#define TRANSPORT_PROFILER 4\n\n#include \"proxy.h\"\n#include \"comm.h\"\n#include \"bootstrap.h\"\n\nextern struct ncclTransport p2pTransport;\nextern struct ncclTransport shmTransport;\nextern struct ncclTransport netTransport;\nextern struct ncclTransport collNetTransport;\nextern struct ncclTransport profilerTransport;\n\nextern struct ncclTransport* ncclTransports[];\n// Forward declarations\nstruct ncclRing;\nstruct ncclConnector;\nstruct ncclComm;\n\n#define CHANNEL_MASK_OFFSET(nranks, connIndex) (nranks * (connIndex == NCCL_CONN_IDX_P2P_NET ? NCCL_CONN_IDX_P2P_NET : 0))\n\n#define CONNECT_SIZE 256\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#define NCCL_MAX_PAGE_SIZE (512L * 1024L)\n#define NCCL_REC_PAGE_SIZE (4L * 1024L)\n#else\n#define NCCL_MAX_PAGE_SIZE (512L * 1024L * 1024L)\n#define NCCL_REC_PAGE_SIZE (2L * 1024L * 1024L)\n#endif\nstruct ncclConnect {\n  char data[CONNECT_SIZE];\n};\n\n#if CUDART_VERSION >= 12010\n\n#define NVLS_HANDLE_SIZE 64\nstruct ncclNvlsSharedRes {\n  int refCount;\n  bool inited;\n  CUmulticastObjectProp bufProp;\n  CUmulticastObjectProp signalProp;\n  CUmemAccessDesc accessDesc;\n  int dev;\n  size_t creditUCSize;\n  size_t creditMCSize;\n  size_t buffUCSize;\n  size_t buffMCSize;\n  CUmemGenericAllocationHandle mcBuffHandle; // Multicast handle for NVLS buffer\n  CUmemGenericAllocationHandle mcCreditHandle; // Multicast handle for NVLS credit buffer\n  char* mcBuff; // Multicast NVLS buffer address\n  char* mcCredit; // Multicast NVLS credit address\n  CUmemGenericAllocationHandle ucBuffHandle; // Unicast Handle for NVLS buffer\n  CUmemGenericAllocationHandle ucCreditHandle; // Unicast Handle for NVLS credit buffer\n  char* ucBuff; // Unicast NVLS buffer address\n  char* ucCredit; // Unicast NVLS credit address\n  int nChannels;\n  int nHeads;\n  struct ncclShmemCollBuff nvlsShmem;\n  void *nvlsShmemHandle;\n};\n\n#endif /* CUDART_VERSION >= 12010 */\n\nstruct ncclCollNetSharedRes {\n  int refCount;\n  int size;\n  char* cudaBuff;\n  char* hostBuff;\n  struct ncclProxyArgs* proxyAppend[2*NCCL_MAX_NETDEVS];\n  void* resources;\n  int nChannels;\n  size_t buffSize;\n};\n\nstruct ncclTransportComm {\n  ncclResult_t (*setup)(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo*, struct ncclPeerInfo*, struct ncclConnect*, struct ncclConnector*, int channelId, int connIndex);\n  ncclResult_t (*connect)(struct ncclComm* comm, struct ncclConnect*, int nranks, int rank, struct ncclConnector*);\n  ncclResult_t (*free)(struct ncclConnector*);\n  ncclResult_t (*proxySharedInit)(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, int nChannels);\n  ncclResult_t (*proxySetup)(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done);\n  ncclResult_t (*proxyConnect)(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done);\n  ncclResult_t (*proxyFree)(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState);\n  ncclResult_t (*proxyProgress)(struct ncclProxyState* proxyState, struct ncclProxyArgs*);\n  ncclResult_t (*proxyRegister)(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done);\n  ncclResult_t (*proxyDeregister)(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, int* done);\n};\n\nstruct ncclTransport {\n  const char name[8];\n  ncclResult_t (*canConnect)(int*, struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo*, struct ncclPeerInfo*);\n  struct ncclTransportComm send;\n  struct ncclTransportComm recv;\n};\n\nncclResult_t ncclTransportP2pConnect(struct ncclComm* comm, int channelId, int nrecv, int* peerRecv, int nsend, int* peerSend, int connIndex);\nncclResult_t ncclTransportP2pSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, int connIndex, bool* needsProxy=NULL);\nncclResult_t ncclTransportCheckP2pType(struct ncclComm* comm, bool* isAllDirectP2p, bool* directMode);\nncclResult_t ncclTransportIsAllDirectP2p(struct ncclComm* comm, int* isAllDirectP2p);\n\nncclResult_t ncclNvlsInit(struct ncclComm* comm);\nncclResult_t ncclNvlsSetup(struct ncclComm* comm, struct ncclComm* parent);\nncclResult_t ncclNvlsBufferSetup(struct ncclComm* comm);\nncclResult_t ncclNvlsTreeConnect(struct ncclComm* comm);\nncclResult_t ncclNvlsGraphRegisterBuffer(struct ncclComm *comm, const void *sendbuff, void *recvbuff, size_t sendbuffSize, size_t recvbuffSize, int *outRegBufUsed, void **outRegBufSend, void **outRegBufRecv, struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue, int* nCleanupQueueElts);\nncclResult_t ncclNvlsLocalRegisterBuffer(struct ncclComm *comm, const void *sendbuff, void *recvbuff, size_t sendbuffSize, size_t recvbuffSize, int *outRegBufUsed, void **outRegBufSend, void **outRegBufRecv);\nncclResult_t ncclNvlsDeregBuffer(struct ncclComm* comm, CUmemGenericAllocationHandle *mcHandler, CUdeviceptr ptr, int dev, size_t ucsize, size_t mcsize);\nncclResult_t ncclNvlsFree(struct ncclComm* comm);\n\nenum { collNetRecv=0, collNetSend=1 };\nbool ncclTransportCollNetSetup(struct ncclComm* comm, struct ncclTopoGraph* collNetGraph, struct ncclChannel* channel, int masterRank, int masterPeer, int collNetGraphChannelId, int type, ncclConnect* connect);\nncclResult_t ncclTransportCollNetCheck(struct ncclComm* comm, int collNetSetupFail);\nncclResult_t ncclTransportCollNetFree(struct ncclComm* comm);\nncclResult_t ncclCollnetLocalRegisterBuffer(struct ncclComm* comm, const void* userbuff, size_t buffSize, int type, int* outRegBufUsed, void** outHandle);\nncclResult_t ncclCollnetGraphRegisterBuffer(struct ncclComm* comm, const void* userbuff, size_t buffSize, int type, int* outRegBufFlag, void** outHandle, struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue, int* nCleanupQueueElts);\nncclResult_t ncclCollnetDeregBuffer(struct ncclComm* comm, struct ncclProxyConnector* proxyconn, void* handle);\n\nncclResult_t ncclTransportRingConnect(struct ncclComm* comm);\nncclResult_t ncclTransportTreeConnect(struct ncclComm* comm);\nncclResult_t ncclTransportPatConnect(struct ncclComm* comm);\n\nncclResult_t ncclCollNetSetup(ncclComm_t comm, ncclComm_t parent, struct ncclTopoGraph* graphs[]);\nncclResult_t ncclCollNetChainBufferSetup(ncclComm_t comm);\nncclResult_t ncclCollNetDirectBufferSetup(ncclComm_t comm);\n\nncclResult_t ncclNetDeregBuffer(struct ncclComm* comm, struct ncclProxyConnector* proxyConn, void* handle);\nncclResult_t ncclNetLocalRegisterBuffer(ncclComm* comm, const void* userbuff, size_t buffSize, struct ncclConnector** peerConns, int nPeers, int* outRegBufFlag, void** outHandle);\nncclResult_t ncclNetGraphRegisterBuffer(ncclComm* comm, const void* userbuff, size_t buffSize, struct ncclConnector** peerConns, int nPeers, int* outRegBufFlag, void** outHandle, struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue, int* nCleanupQueueElts);\n\nncclResult_t ncclRegisterP2pIpcBuffer(struct ncclComm* comm, void* userbuff, size_t size, int peerRank, int* regFlag, void** regAddr, struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue);\nncclResult_t ncclRegisterP2pNetBuffer(struct ncclComm* comm, void* userbuff, size_t size, struct ncclConnector* conn, int* regFlag, void** handle, struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue);\nncclResult_t ncclRegisterCollBuffers(struct ncclComm* comm, struct ncclTaskColl* info, void* outRegBufSend[NCCL_MAX_LOCAL_RANKS], void* outRegBufRecv[NCCL_MAX_LOCAL_RANKS], struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue, bool* regNeedConnect);\nncclResult_t ncclRegisterCollNvlsBuffers(struct ncclComm* comm, struct ncclTaskColl* info, void* outRegBufSend[NCCL_MAX_LOCAL_RANKS], void* outRegBufRecv[NCCL_MAX_LOCAL_RANKS], struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue, bool* regNeedConnect);\nncclResult_t ncclNvlsRegResourcesQuery(struct ncclComm* comm, struct ncclTaskColl* info, int* recChannels);\n\n#if CUDART_VERSION >= 12010\nncclResult_t ncclNvlsGroupCreate(struct ncclComm *comm, CUmulticastObjectProp *prop, int rank, unsigned int nranks, CUmemGenericAllocationHandle *mcHandle, char *shareableHandle);\nncclResult_t ncclNvlsGroupConnect(struct ncclComm *comm, char *shareableHandle, int rank, CUmemGenericAllocationHandle *mcHandle);\n#endif\n\n#endif\n"
  },
  {
    "path": "src/include/trees.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_TREES_H_\n#define NCCL_TREES_H_\n\nncclResult_t ncclGetBtree(int nranks, int rank, int* u0, int* d1, int* d0, int* parentChildType);\nncclResult_t ncclGetDtree(int nranks, int rank, int* u0, int* d0_0, int* d0_1, int* parentChildType0, int* u1, int* d1_0, int* d1_1, int* parentChildType1);\n\n#endif\n"
  },
  {
    "path": "src/include/tuner.h",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n * Copyright (c) 2023, Meta Platforms, Inc. and affiliates.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_INT_TUNER_H_\n#define NCCL_INT_TUNER_H_\n\n#include \"nccl_tuner.h\"\n#include \"comm.h\"\n\n// Tuning plugin to override NCCL's default algorithm/protocol tuning.\n\n// Attempts to load NCCL tuner from environmental variable.\n// Returns ncclSuccess if the correct tuner symbol has been found and\n// successully loaded.  Otherwise returns an error and also logs the error.\nncclResult_t ncclTunerPluginLoad(struct ncclComm* comm);\n\n// Cleans up NCCL tuner plugin.\nncclResult_t ncclTunerPluginUnload(struct ncclComm* comm);\n#endif\n"
  },
  {
    "path": "src/include/utils.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_UTILS_H_\n#define NCCL_UTILS_H_\n\n#include \"nccl.h\"\n#include \"alloc.h\"\n#include \"bitops.h\"\n#include \"checks.h\"\n#include <stdint.h>\n#include <string.h>\n#include <time.h>\n#include <sched.h>\n#include <algorithm>\n#include <new>\n#include <type_traits>\n\nint ncclCudaCompCap();\n\n// PCI Bus ID <-> int64 conversion functions\nncclResult_t int64ToBusId(int64_t id, char* busId);\nncclResult_t busIdToInt64(const char* busId, int64_t* id);\n\nncclResult_t getBusId(int cudaDev, int64_t *busId);\n\nncclResult_t getHostName(char* hostname, int maxlen, const char delim);\nuint64_t getHostHash();\nuint64_t getPidHash();\nncclResult_t getRandomData(void* buffer, size_t bytes);\n\nstruct netIf {\n  char prefix[64];\n  int port;\n};\n\nint parseStringList(const char* string, struct netIf* ifList, int maxList);\nbool matchIfList(const char* string, int port, struct netIf* ifList, int listSize, bool matchExact);\n\nstatic long log2i(long n) {\n  return log2Down(n);\n}\n\n// Comparator function for qsort/bsearch to compare integers\nstatic int compareInts(const void *a, const void *b) {\n    int ia = *(const int*)a, ib = *(const int*)b;\n    return (ia > ib) - (ia < ib);\n}\n\ninline uint64_t clockNano() {\n  struct timespec ts;\n  clock_gettime(CLOCK_MONOTONIC, &ts);\n  return uint64_t(ts.tv_sec)*1000*1000*1000 + ts.tv_nsec;\n}\n\n/* get any bytes of random data from /dev/urandom, return ncclSuccess (0) if it succeeds. */\ninline ncclResult_t getRandomData(void* buffer, size_t bytes) {\n  ncclResult_t ret = ncclSuccess;\n  if (bytes > 0) {\n    const size_t one = 1UL;\n    FILE* fp = fopen(\"/dev/urandom\", \"r\");\n    if (buffer == NULL || fp == NULL || fread(buffer, bytes, one, fp) != one) ret = ncclSystemError;\n    if (fp) fclose(fp);\n  }\n  return ret;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\ntemplate<typename Int>\ninline void ncclAtomicRefCountIncrement(Int* refs) {\n  __atomic_fetch_add(refs, 1, __ATOMIC_RELAXED);\n}\n\ntemplate<typename Int>\ninline Int ncclAtomicRefCountDecrement(Int* refs) {\n  return __atomic_sub_fetch(refs, 1, __ATOMIC_ACQ_REL);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n/* ncclMemoryStack: Pools memory for fast LIFO ordered allocation. Note that\n * granularity of LIFO is not per object, instead frames containing many objects\n * are pushed and popped. Therefor deallocation is extremely cheap since its\n * done at the frame granularity.\n *\n * The initial state of the stack is with one frame, the \"nil\" frame, which\n * cannot be popped. Therefor objects allocated in the nil frame cannot be\n * deallocated sooner than stack destruction.\n */\nstruct ncclMemoryStack;\n\nvoid ncclMemoryStackConstruct(struct ncclMemoryStack* me);\nvoid ncclMemoryStackDestruct(struct ncclMemoryStack* me);\nvoid ncclMemoryStackPush(struct ncclMemoryStack* me);\nvoid ncclMemoryStackPop(struct ncclMemoryStack* me);\nvoid* ncclMemoryStackAlloc(struct ncclMemoryStack* me, size_t size, size_t align);\ntemplate<typename T>\nT* ncclMemoryStackAlloc(struct ncclMemoryStack* me, size_t n=1);\ntemplate<typename Header, typename Element>\ninline Header* ncclMemoryStackAllocInlineArray(struct ncclMemoryStack* me, size_t nElt);\n\n////////////////////////////////////////////////////////////////////////////////\n/* ncclMemoryPool: A free-list of same-sized allocations. It is an invalid for\n * a pool instance to ever hold objects whose type have differing\n * (sizeof(T), alignof(T)) pairs. The underlying memory is supplied by\n * a backing `ncclMemoryStack` passed during Alloc(). If memory\n * backing any currently held object is deallocated then it is an error to do\n * anything other than reconstruct it, after which it is a valid empty pool.\n */\nstruct ncclMemoryPool;\n\n// Equivalent to zero-initialization\nvoid ncclMemoryPoolConstruct(struct ncclMemoryPool* me);\ntemplate<typename T>\nT* ncclMemoryPoolAlloc(struct ncclMemoryPool* me, struct ncclMemoryStack* backing);\ntemplate<typename T>\nvoid ncclMemoryPoolFree(struct ncclMemoryPool* me, T* obj);\nvoid ncclMemoryPoolTakeAll(struct ncclMemoryPool* me, struct ncclMemoryPool* from);\n\n////////////////////////////////////////////////////////////////////////////////\n/* ncclIntruQueue: A singly-linked list queue where the per-object next pointer\n * field is given via the `next` template argument.\n *\n * Example:\n *   struct Foo {\n *     struct Foo *next1, *next2; // can be a member of two lists at once\n *   };\n *   ncclIntruQueue<Foo, &Foo::next1> list1;\n *   ncclIntruQueue<Foo, &Foo::next2> list2;\n */\ntemplate<typename T, T *T::*next>\nstruct ncclIntruQueue;\n\ntemplate<typename T, T *T::*next>\nvoid ncclIntruQueueConstruct(ncclIntruQueue<T,next> *me);\ntemplate<typename T, T *T::*next>\nbool ncclIntruQueueEmpty(ncclIntruQueue<T,next> *me);\ntemplate<typename T, T *T::*next>\nT* ncclIntruQueueHead(ncclIntruQueue<T,next> *me);\ntemplate<typename T, T *T::*next>\nvoid ncclIntruQueueEnqueue(ncclIntruQueue<T,next> *me, T *x);\ntemplate<typename T, T *T::*next>\nvoid ncclIntruQueueEnqueueFront(ncclIntruQueue<T,next> *me, T *x);\ntemplate<typename T, T *T::*next>\nT* ncclIntruQueueDequeue(ncclIntruQueue<T,next> *me);\ntemplate<typename T, T *T::*next>\nT* ncclIntruQueueTryDequeue(ncclIntruQueue<T,next> *me);\ntemplate<typename T, T *T::*next>\nvoid ncclIntruQueueTransfer(ncclIntruQueue<T,next> *dst, ncclIntruQueue<T,next> *src);\n\n\n////////////////////////////////////////////////////////////////////////////////\n/* ncclThreadSignal: Couples a pthread mutex and cond together. The \"mutex\"\n * and \"cond\" fields are part of the public interface.\n */\nstruct ncclThreadSignal {\n  pthread_mutex_t mutex;\n  pthread_cond_t cond;\n};\n\n// returns {PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER}\nconstexpr ncclThreadSignal ncclThreadSignalStaticInitializer();\n\nvoid ncclThreadSignalConstruct(struct ncclThreadSignal* me);\nvoid ncclThreadSignalDestruct(struct ncclThreadSignal* me);\n\n// A convenience instance per-thread.\nextern __thread struct ncclThreadSignal ncclThreadSignalLocalInstance;\n\n////////////////////////////////////////////////////////////////////////////////\n\ntemplate<typename T, T *T::*next>\nstruct ncclIntruQueueMpsc;\n\ntemplate<typename T, T *T::*next>\nvoid ncclIntruQueueMpscConstruct(struct ncclIntruQueueMpsc<T,next>* me);\ntemplate<typename T, T *T::*next>\nbool ncclIntruQueueMpscEmpty(struct ncclIntruQueueMpsc<T,next>* me);\n// Enqueue element. Returns true if queue is not abandoned. Even if queue is\n// abandoned the element enqueued, so the caller needs to make arrangements for\n// the queue to be tended.\ntemplate<typename T, T *T::*next>\nbool ncclIntruQueueMpscEnqueue(struct ncclIntruQueueMpsc<T,next>* me, T* x);\n// Dequeue all elements at a glance. If there aren't any and `waitSome` is\n// true then this call will wait until it can return a non empty list.\ntemplate<typename T, T *T::*next>\nT* ncclIntruQueueMpscDequeueAll(struct ncclIntruQueueMpsc<T,next>* me, bool waitSome);\n// Dequeue all elements and set queue to abandoned state.\ntemplate<typename T, T *T::*next>\nT* ncclIntruQueueMpscAbandon(struct ncclIntruQueueMpsc<T,next>* me);\n\n////////////////////////////////////////////////////////////////////////////////\n\nstruct ncclMemoryStack {\n  struct Hunk {\n    struct Hunk* above; // reverse stack pointer\n    size_t size; // size of this allocation (including this header struct)\n  };\n  struct Unhunk { // proxy header for objects allocated out-of-hunk\n    struct Unhunk* next;\n    void* obj;\n  };\n  struct Frame {\n    struct Hunk* hunk; // top of non-empty hunks\n    uintptr_t bumper, end; // points into top hunk\n    struct Unhunk* unhunks;\n    struct Frame* below;\n  };\n\n  static void* allocateSpilled(struct ncclMemoryStack* me, size_t size, size_t align);\n  static void* allocate(struct ncclMemoryStack* me, size_t size, size_t align);\n\n  struct Hunk stub;\n  struct Frame topFrame;\n};\n\ninline void ncclMemoryStackConstruct(struct ncclMemoryStack* me) {\n  me->stub.above = nullptr;\n  me->stub.size = 0;\n  me->topFrame.hunk = &me->stub;\n  me->topFrame.bumper = 0;\n  me->topFrame.end = 0;\n  me->topFrame.unhunks = nullptr;\n  me->topFrame.below = nullptr;\n}\n\ninline void* ncclMemoryStack::allocate(struct ncclMemoryStack* me, size_t size, size_t align) {\n  uintptr_t o = (me->topFrame.bumper + align-1) & -uintptr_t(align);\n  void* obj;\n  if (__builtin_expect(o + size <= me->topFrame.end, true)) {\n    me->topFrame.bumper = o + size;\n    obj = reinterpret_cast<void*>(o);\n  } else {\n    obj = allocateSpilled(me, size, align);\n  }\n  return obj;\n}\n\ninline void* ncclMemoryStackAlloc(struct ncclMemoryStack* me, size_t size, size_t align) {\n  void *obj = ncclMemoryStack::allocate(me, size, align);\n  memset(obj, 0, size);\n  return obj;\n}\n\ntemplate<typename T>\ninline T* ncclMemoryStackAlloc(struct ncclMemoryStack* me, size_t n) {\n  void *obj = ncclMemoryStack::allocate(me, n*sizeof(T), alignof(T));\n  memset(obj, 0, n*sizeof(T));\n  return (T*)obj;\n}\n\ntemplate<typename Header, typename Element>\ninline Header* ncclMemoryStackAllocInlineArray(struct ncclMemoryStack* me, size_t nElt) {\n  size_t size = sizeof(Header);\n  size = (size + alignof(Element)-1) & -alignof(Element);\n  size += nElt*sizeof(Element);\n  size_t align = alignof(Header) < alignof(Element) ? alignof(Element) : alignof(Header);\n  void *obj = ncclMemoryStack::allocate(me, size, align);\n  memset(obj, 0, size);\n  return (Header*)obj;\n}\n\ninline void ncclMemoryStackPush(struct ncclMemoryStack* me) {\n  using Frame = ncclMemoryStack::Frame;\n  Frame tmp = me->topFrame;\n  Frame* snapshot = (Frame*)ncclMemoryStack::allocate(me, sizeof(Frame), alignof(Frame));\n  *snapshot = tmp; // C++ struct assignment\n  me->topFrame.unhunks = nullptr;\n  me->topFrame.below = snapshot;\n}\n\ninline void ncclMemoryStackPop(struct ncclMemoryStack* me) {\n  ncclMemoryStack::Unhunk* un = me->topFrame.unhunks;\n  while (un != nullptr) {\n    free(un->obj);\n    un = un->next;\n  }\n  me->topFrame = *me->topFrame.below; // C++ struct assignment\n}\n\n\n////////////////////////////////////////////////////////////////////////////////\n\nstruct ncclMemoryPool {\n  struct Cell {\n    Cell *next;\n  };\n  struct Cell* head;\n  struct Cell* tail; // meaningful only when head != nullptr\n};\n\ninline void ncclMemoryPoolConstruct(struct ncclMemoryPool* me) {\n  me->head = nullptr;\n}\n\ntemplate<typename T>\ninline T* ncclMemoryPoolAlloc(struct ncclMemoryPool* me, struct ncclMemoryStack* backing) {\n  using Cell = ncclMemoryPool::Cell;\n  Cell* cell;\n  if (__builtin_expect(me->head != nullptr, true)) {\n    cell = me->head;\n    me->head = cell->next;\n  } else {\n    // Use the internal allocate() since it doesn't memset to 0 yet.\n    size_t cellSize = std::max(sizeof(Cell), sizeof(T));\n    size_t cellAlign = std::max(alignof(Cell), alignof(T));\n    cell = (Cell*)ncclMemoryStack::allocate(backing, cellSize, cellAlign);\n  }\n  memset(cell, 0, sizeof(T));\n  return reinterpret_cast<T*>(cell);\n}\n\ntemplate<typename T>\ninline void ncclMemoryPoolFree(struct ncclMemoryPool* me, T* obj) {\n  using Cell = ncclMemoryPool::Cell;\n  Cell* cell = reinterpret_cast<Cell*>(obj);\n  cell->next = me->head;\n  if (me->head == nullptr) me->tail = cell;\n  me->head = cell;\n}\n\ninline void ncclMemoryPoolTakeAll(struct ncclMemoryPool* me, struct ncclMemoryPool* from) {\n  if (from->head != nullptr) {\n    from->tail->next = me->head;\n    if (me->head == nullptr) me->tail = from->tail;\n    me->head = from->head;\n    from->head = nullptr;\n  }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\ntemplate<typename T, T *T::*next>\nstruct ncclIntruQueue {\n  T *head, *tail;\n};\n\ntemplate<typename T, T *T::*next>\ninline void ncclIntruQueueConstruct(ncclIntruQueue<T,next> *me) {\n  me->head = nullptr;\n  me->tail = nullptr;\n}\n\ntemplate<typename T, T *T::*next>\ninline bool ncclIntruQueueEmpty(ncclIntruQueue<T,next> *me) {\n  return me->head == nullptr;\n}\n\ntemplate<typename T, T *T::*next>\ninline T* ncclIntruQueueHead(ncclIntruQueue<T,next> *me) {\n  return me->head;\n}\n\ntemplate<typename T, T *T::*next>\ninline T* ncclIntruQueueTail(ncclIntruQueue<T,next> *me) {\n  return me->tail;\n}\n\ntemplate<typename T, T *T::*next>\ninline void ncclIntruQueueEnqueue(ncclIntruQueue<T,next> *me, T *x) {\n  x->*next = nullptr;\n  (me->head ? me->tail->*next : me->head) = x;\n  me->tail = x;\n}\n\ntemplate<typename T, T *T::*next>\ninline void ncclIntruQueueEnqueueFront(ncclIntruQueue<T,next> *me, T *x) {\n  if (me->head == nullptr) me->tail = x;\n  x->*next = me->head;\n  me->head = x;\n}\n\ntemplate<typename T, T *T::*next>\ninline T* ncclIntruQueueDequeue(ncclIntruQueue<T,next> *me) {\n  T *ans = me->head;\n  me->head = ans->*next;\n  if (me->head == nullptr) me->tail = nullptr;\n  return ans;\n}\n\ntemplate<typename T, T *T::*next>\ninline bool ncclIntruQueueDelete(ncclIntruQueue<T,next> *me, T *x) {\n  T *prev = nullptr;\n  T *cur = me->head;\n  bool found = false;\n\n  while (cur) {\n    if (cur == x) {\n      found = true;\n      break;\n    }\n    prev = cur;\n    cur = cur->*next;\n  }\n\n  if (found) {\n    if (prev == nullptr)\n      me->head = cur->*next;\n    else\n      prev->*next = cur->*next;\n    if (cur == me->tail)\n      me->tail = prev;\n  }\n  return found;\n}\n\ntemplate<typename T, T *T::*next>\ninline T* ncclIntruQueueTryDequeue(ncclIntruQueue<T,next> *me) {\n  T *ans = me->head;\n  if (ans != nullptr) {\n    me->head = ans->*next;\n    if (me->head == nullptr) me->tail = nullptr;\n  }\n  return ans;\n}\n\ntemplate<typename T, T *T::*next>\nvoid ncclIntruQueueTransfer(ncclIntruQueue<T,next> *dst, ncclIntruQueue<T,next> *src) {\n  (dst->tail ? dst->tail->next : dst->head) = src->head;\n  if (src->tail) dst->tail = src->tail;\n  src->head = nullptr;\n  src->tail = nullptr;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nconstexpr ncclThreadSignal ncclThreadSignalStaticInitializer() {\n  return {PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER};\n}\n\ninline void ncclThreadSignalConstruct(struct ncclThreadSignal* me) {\n  pthread_mutex_init(&me->mutex, nullptr);\n  pthread_cond_init(&me->cond, nullptr);\n}\n\ninline void ncclThreadSignalDestruct(struct ncclThreadSignal* me) {\n  pthread_mutex_destroy(&me->mutex);\n  pthread_cond_destroy(&me->cond);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\ntemplate<typename T, T *T::*next>\nstruct ncclIntruQueueMpsc {\n  T* head;\n  uintptr_t tail;\n  struct ncclThreadSignal* waiting;\n};\n\ntemplate<typename T, T *T::*next>\nvoid ncclIntruQueueMpscConstruct(struct ncclIntruQueueMpsc<T,next>* me) {\n  me->head = nullptr;\n  me->tail = 0x0;\n  me->waiting = nullptr;\n}\n\ntemplate<typename T, T *T::*next>\nbool ncclIntruQueueMpscEmpty(struct ncclIntruQueueMpsc<T,next>* me) {\n  return __atomic_load_n(&me->tail, __ATOMIC_RELAXED) <= 0x2;\n}\n\ntemplate<typename T, T *T::*next>\nbool ncclIntruQueueMpscEnqueue(ncclIntruQueueMpsc<T,next>* me, T* x) {\n  __atomic_store_n(&(x->*next), nullptr, __ATOMIC_RELAXED);\n  uintptr_t utail = __atomic_exchange_n(&me->tail, reinterpret_cast<uintptr_t>(x), __ATOMIC_ACQ_REL);\n  T* prev = reinterpret_cast<T*>(utail);\n  T** prevNext = utail <= 0x2 ? &me->head : &(prev->*next);\n  __atomic_store_n(prevNext, x, __ATOMIC_RELAXED);\n  if (utail == 0x1) { // waiting\n    __atomic_thread_fence(__ATOMIC_ACQUIRE); // to see me->waiting\n    // This lock/unlock is essential to ensure we don't race ahead of the consumer\n    // and signal the cond before they begin waiting on it.\n    struct ncclThreadSignal* waiting = me->waiting;\n    pthread_mutex_lock(&waiting->mutex);\n    pthread_mutex_unlock(&waiting->mutex);\n    pthread_cond_broadcast(&waiting->cond);\n  }\n  return utail != 0x2; // not abandoned\n}\n\ntemplate<typename T, T *T::*next>\nT* ncclIntruQueueMpscDequeueAll(ncclIntruQueueMpsc<T,next>* me, bool waitSome) {\n  T* head = __atomic_load_n(&me->head, __ATOMIC_RELAXED);\n  if (head == nullptr) {\n    if (!waitSome) return nullptr;\n    uint64_t t0 = clockNano();\n    bool sleeping = false;\n    do {\n      if (clockNano()-t0 >= 10*1000) { // spin for first 10us\n        struct ncclThreadSignal* waitSignal = &ncclThreadSignalLocalInstance;\n        pthread_mutex_lock(&waitSignal->mutex);\n        uintptr_t expected = sleeping ? 0x1 : 0x0;\n        uintptr_t desired = 0x1;\n        me->waiting = waitSignal; // release done by successful compare exchange\n        if (__atomic_compare_exchange_n(&me->tail, &expected, desired, /*weak=*/true, __ATOMIC_RELEASE, __ATOMIC_RELAXED)) {\n          sleeping = true;\n          pthread_cond_wait(&waitSignal->cond, &waitSignal->mutex);\n        }\n        pthread_mutex_unlock(&waitSignal->mutex);\n      }\n      head = __atomic_load_n(&me->head, __ATOMIC_RELAXED);\n    } while (head == nullptr);\n  }\n\n  __atomic_store_n(&me->head, nullptr, __ATOMIC_RELAXED);\n  uintptr_t utail = __atomic_exchange_n(&me->tail, 0x0, __ATOMIC_ACQ_REL);\n  T* tail = utail <= 0x2 ? nullptr : reinterpret_cast<T*>(utail);\n  T *x = head;\n  while (x != tail) {\n    T *x1;\n    int spins = 0;\n    while (true) {\n      x1 = __atomic_load_n(&(x->*next), __ATOMIC_RELAXED);\n      if (x1 != nullptr) break;\n      if (++spins == 1024) { spins = 1024-1; sched_yield(); }\n    }\n    x = x1;\n  }\n  return head;\n}\n\ntemplate<typename T, T *T::*next>\nT* ncclIntruQueueMpscAbandon(ncclIntruQueueMpsc<T,next>* me) {\n  uintptr_t expected = 0x0;\n  if (__atomic_compare_exchange_n(&me->tail, &expected, /*desired=*/0x2, /*weak=*/true, __ATOMIC_RELAXED, __ATOMIC_RELAXED)) {\n    return nullptr;\n  } else {\n    int spins = 0;\n    T* head;\n    while (true) {\n      head = __atomic_load_n(&me->head, __ATOMIC_RELAXED);\n      if (head != nullptr) break;\n      if (++spins == 1024) { spins = 1024-1; sched_yield(); }\n    }\n    __atomic_store_n(&me->head, nullptr, __ATOMIC_RELAXED);\n    uintptr_t utail = __atomic_exchange_n(&me->tail, 0x2, __ATOMIC_ACQ_REL);\n    T* tail = utail <= 0x2 ? nullptr : reinterpret_cast<T*>(utail);\n    T *x = head;\n    while (x != tail) {\n      T *x1;\n      spins = 0;\n      while (true) {\n        x1 = __atomic_load_n(&(x->*next), __ATOMIC_RELAXED);\n        if (x1 != nullptr) break;\n        if (++spins == 1024) { spins = 1024-1; sched_yield(); }\n      }\n      x = x1;\n    }\n    return head;\n  }\n}\n\nncclResult_t ncclBitsToString(uint32_t bits, uint32_t mask, const char* (*toStr)(int), char *buf, size_t bufLen, const char *wildcard);\n\n/**\n * @brief function to get page size of the system\n */\nsize_t get_sc_page_size(void);\n\n/**\n * @brief function to get system's page size aligned memory address and buffersize \n *\n * Given a pointer `ptr` to a buffer of size `bufsize`, this function computes:\n *   1. A new pointer `aligned_ptr` which points to the start of the page-aligned memory region that includes `ptr`.\n *   2. A new size `aligned_size` that is the minimum number of bytes (aligned to page size) needed to cover the original buffer from `aligned_ptr`.\n *\n * This is useful, for example, when performing operations such as memory mapping or advising memory usage (e.g., with `mmap`, `madvise`, `mlock`, etc.), which often require page-aligned memory ranges.\n * This function doesn't dereferece the input pointer\n *\n * @param[in]  ptr           Pointer to the start of the original memory buffer.\n * @param[in]  bufsize       Size (in bytes) of the original buffer starting at `ptr`.\n * @param[out] aligned_ptr   Pointer to a variable that will be set to the aligned base address.\n * @param[out] aligned_size  Pointer to a variable that will be set to the aligned size.\n */\nvoid get_aligned_ptr_and_size(const void *ptr, const size_t bufsize, void **aligned_ptr, size_t *aligned_size);\n\n#endif\n"
  },
  {
    "path": "src/init.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nccl.h\"\n#include \"channel.h\"\n#include \"nvmlwrap.h\"\n#include \"gdrwrap.h\"\n#include \"bootstrap.h\"\n#include \"transport.h\"\n#include \"group.h\"\n#include \"net.h\"\n#include \"coll_net.h\"\n#include \"enqueue.h\"\n#include \"graph.h\"\n#include \"argcheck.h\"\n#include \"device.h\"\n#include \"collectives.h\"\n#if defined(ENABLE_NPKIT)\n#include \"npkit/npkit.h\"\n#endif\n#include \"tuner.h\"\n#include \"ras.h\"\n#include \"profiler.h\"\n#include \"mnnvl.h\"\n#include <fcntl.h>\n#include <unistd.h>\n#include <hip/hip_runtime.h>\n#include <string.h>\n#include <errno.h>\n#include <assert.h>\n#include <dlfcn.h>\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <sys/resource.h>\n#include <unistd.h>\n#include \"graph/topo.h\"\n#include \"graph/xml.h\"\n#include \"archinfo.h\"\n#include \"param.h\"\n#include \"nvtx_payload_schemas.h\"\n#include \"utils.h\"\n#include <mutex>\n#include \"ce_coll.h\"\n#include \"nvtx.h\"\n\n// [RCCL]\n#include \"git_version.h\"\n#include \"rccl_vars.h\"\n#include \"hip_rocm_version_info.h\"\n//#include <hsa/hsa_ext_amd.h>\n#ifdef ENABLE_MSCCLPP\n#include \"mscclpp/mscclpp_nccl.h\"\n#endif\n#ifdef USE_AMDSMI\n#include \"amdsmi_wrap.h\"\n#else\n#include \"rocm_smi_wrap.h\"\n#endif\n#include \"rccl_common.h\"\n// [/RCCL]\n\n#ifdef ENABLE_ROCSHMEM\n#include <rocshmem/rocshmem.hpp>\n#define NUM_SYM_BUF 8\n#endif\n\n\n#include \"msccl/msccl_lifecycle.h\"\n#include \"msccl/msccl_status.h\"\n#include \"latency_profiler/CollTrace.h\"\n#include \"latency_profiler/CollTraceFunc.h\"\n#include  <cpuid.h>\n\n#ifndef STR2\n  #define STR2(v) #v\n#endif\n\n#ifndef STR\n  #define STR(v) STR2(v)\n#endif\n\n#if CUDART_VERSION >= 9020 || defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#define NCCL_GROUP_CUDA_STREAM 0 // CGMD: CUDA 9.2,10.X Don't need to use an internal CUDA stream\n#else\n#define NCCL_GROUP_CUDA_STREAM 1 // CGMD: CUDA 9.0,9.1 Need to use an internal CUDA stream\n#endif\n\nusing namespace rccl;\n\nconst char* ncclFuncStr[NCCL_NUM_FUNCTIONS+3] = { \"AllGather\", \"AllReduce\", \"AlltoAllPivot\", \"AllToAllGda\", \"Broadcast\", \"Reduce\", \"ReduceScatter\", \"SendRecv\"};\nconst char* ncclAlgoStr[NCCL_NUM_ALGORITHMS] = { \"Tree\", \"Ring\", \"CollNetDirect\", \"CollNetChain\", \"NVLS\", \"NVLSTree\", \"PAT\" };\nconst char* ncclProtoStr[NCCL_NUM_PROTOCOLS] = { \"LL\", \"LL128\", \"Simple\" };\nconst char* ncclDevRedOpStr[ncclNumDevRedOps] = { \"Sum\", \"Prod\", \"MinMax\", \"PreMulSum\", \"SumPostDiv\" };\nconst char *ncclTypeStr[ncclNumTypes] = {\"_i8\", \"_u8\", \"_i32\", \"_u32\", \"_i64\", \"_u64\", \"_f16\", \"_f32\", \"_f64\", \"_b16\"};\n\nNCCL_PARAM(GroupCudaStream, \"GROUP_CUDA_STREAM\", NCCL_GROUP_CUDA_STREAM);\n\nNCCL_PARAM(CheckPointers, \"CHECK_POINTERS\", 0);\nNCCL_PARAM(CommBlocking, \"COMM_BLOCKING\", NCCL_CONFIG_UNDEF_INT);\nNCCL_PARAM(RuntimeConnect, \"RUNTIME_CONNECT\", 1);\nNCCL_PARAM(WinEnable, \"WIN_ENABLE\", 1);\nNCCL_PARAM(CollnetEnable, \"COLLNET_ENABLE\", NCCL_CONFIG_UNDEF_INT);\nNCCL_PARAM(CtaPolicy, \"CTA_POLICY\", NCCL_CONFIG_UNDEF_INT);\nNCCL_PARAM(NvlsChannels, \"NVLS_NCHANNELS\", NCCL_CONFIG_UNDEF_INT);\nNCCL_PARAM(SetCpuStackSize, \"SET_CPU_STACK_SIZE\", 1);\n\nextern int64_t ncclParamSingleProcMemRegEnable();\n\nstruct allocationTracker allocTracker[MAX_ALLOC_TRACK_NGPU] = {};\nncclResult_t commReclaim(ncclComm_t comm);\n\n\n#ifdef ENABLE_ROCSHMEM\nRCCL_PARAM(RocshmemThreshold, \"ROCSHMEM_THRESHOLD\", (size_t)(262144));\nRCCL_PARAM(RocshmemEnabled, \"ROCSHMEM_ENABLE\", 1);\nstd::unordered_map<ncclComm_t, rocshmem::rocshmem_team_t> ncclCommToRshmemTeam;\n#endif\n\n#ifdef ENABLE_MSCCLPP\nsize_t std::hash<ncclUniqueId>::operator ()(const ncclUniqueId& uniqueId) const noexcept {\n  return (size_t)getHash(uniqueId.internal, NCCL_UNIQUE_ID_BYTES);\n}\n\nbool operator ==(const ncclUniqueId& a, const ncclUniqueId& b) {\n  return memcmp(a.internal, b.internal, NCCL_UNIQUE_ID_BYTES) == 0;\n}\n\nRCCL_PARAM(MscclppThreshold, \"MSCCLPP_THRESHOLD\", (size_t)(16*1024*1024));\n#endif\n\nstatic constexpr int64_t defaultEnableMscclpp = 0;\nRCCL_PARAM(MscclppEnabled, \"MSCCLPP_ENABLE\", defaultEnableMscclpp);\nRCCL_PARAM(MscclppForceEnabled, \"MSCCLPP_FORCE_ENABLE\", 0);\n// Turn off cheap fence for gfx942/gfx950\nRCCL_PARAM(Gfx9CheapFenceOff, \"GFX9_CHEAP_FENCE_OFF\", 0);\n\n// GDRCOPY support: Off by default\nNCCL_PARAM(GdrCopyEnable, \"GDRCOPY_ENABLE\", 0);\n\n// GDRCOPY support\ngdr_t ncclGdrCopy = NULL;\n\nncclResult_t initGdrCopy() {\n  if (ncclParamGdrCopyEnable() == 1) {\n    ncclGdrCopy = ncclGdrInit();\n  }\n  return ncclSuccess;\n}\n\n// The default Linux stack size (8MB) is safe.\n#define SAFE_STACK_SIZE (8192*1024)\n\nstatic ncclResult_t setCpuStackSize() {\n  if (ncclParamSetCpuStackSize() != 0) {\n    // Query the stack size used for newly launched threads.\n    pthread_attr_t attr;\n    size_t stackSize;\n    PTHREADCHECK(pthread_attr_init(&attr), \"pthread_attr_init\");\n    PTHREADCHECK(pthread_attr_getstacksize(&attr, &stackSize), \"pthread_attr_getstacksize\");\n\n    if (stackSize < SAFE_STACK_SIZE) {\n      // GNU libc normally uses RLIMIT_STACK as the default pthread stack size, unless it's set to \"unlimited\" --\n      // in that case a fallback value of 2MB (!) is used.\n\n      // Query the actual resource limit so that we can distinguish between the settings of 2MB and unlimited.\n      struct rlimit stackLimit;\n      char buf[30];\n      SYSCHECK(getrlimit(RLIMIT_STACK, &stackLimit), \"getrlimit\");\n      if (stackLimit.rlim_cur == RLIM_INFINITY)\n        strcpy(buf, \"unlimited\");\n      else\n        snprintf(buf, sizeof(buf), \"%ldKB\", stackLimit.rlim_cur/1024);\n      INFO(NCCL_INIT|NCCL_ENV, \"Stack size limit (%s) is unsafe; will use %dKB for newly launched threads\",\n           buf, SAFE_STACK_SIZE/1024);\n\n      // Change the default pthread stack size (via a nonportable API, which will become necessary if we switch\n      // to C++ threads).\n      PTHREADCHECK(pthread_attr_setstacksize(&attr, SAFE_STACK_SIZE), \"pthread_attr_setstacksize\");\n      PTHREADCHECK(pthread_setattr_default_np(&attr), \"pthread_setattr_default_np\");\n    }\n\n    PTHREADCHECK(pthread_attr_destroy(&attr), \"pthread_attr_destroy\");\n  }\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t initResult = ncclSuccess;\nstatic std::once_flag initOnceFlag;\n\nncclResult_t checkHsaEnvSetting() {\n  // get user-specified value for `HSA_NO_SCRATCH_RECLAIM`\n  const char* hsaScratchEnv = getenv(\"HSA_NO_SCRATCH_RECLAIM\");\n\n  int hipRuntimeVersion = 0;\n  // hipVer is an integer e.g., 6.2.41133 -> 60241133\n  CUDACHECK(hipRuntimeGetVersion(&hipRuntimeVersion));\n\n  const int firmwareVersion = getFirmwareVersion();\n\n  hipDeviceProp_t devProp;\n  // use GPU0 should be good enough\n  CUDACHECK(hipGetDeviceProperties(&devProp, 0));\n\n  INFO(NCCL_INIT, \"Hipruntime version: %d, firmware version: %d\", hipRuntimeVersion, firmwareVersion);\n  if (!validHsaScratchEnvSetting(hsaScratchEnv, hipRuntimeVersion, firmwareVersion, devProp.gcnArchName)) {\n    // Always print out this warning message\n    ERROR(\"HSA_NO_SCRATCH_RECLAIM=1 must be set to avoid performance degradation with the current HIP configuration. (Runtime version:%d, GPU Firmware version:%d)\", hipRuntimeVersion, firmwareVersion);\n    ERROR(\"Please set HSA_NO_SCRATCH_RECLAIM=1 and rerun.\");\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\n// Fail the job if build flag HIP_HOST_UNCACHED_MEMORY is not set on mi350x\nncclResult_t checkHostUncacheMemSetting(struct ncclComm* comm) {\n  #if defined(HIP_HOST_UNCACHED_MEMORY)\n    return ncclSuccess;\n  #else\n    if( IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\") ){\n      ERROR(\"Build flag HIP_HOST_UNCACHED_MEMORY must be set to avoid memory corruption on mi350x\");\n      return ncclSystemError;\n    }\n    else {\n      return ncclSuccess;\n    }\n  #endif\n}\n\nstatic void initOnceFunc() {\n  NCCLCHECKGOTO(checkHsaEnvSetting(), initResult, exit);\n  initEnv();\n  setCpuStackSize();\n  initGdrCopy();\n  // Always initialize bootstrap network\n  NCCLCHECKGOTO(bootstrapNetInit(), initResult, exit);\n\n#ifndef NVTX_NO_IMPL\n  initNvtxRegisteredEnums();\n#endif\nexit:;\n}\n\nstatic ncclResult_t ncclInit() {\n    char strValue[2048];\n    NCCLCHECK(ncclTopoGetStrFromSys(\"/proc/sys/kernel\", \"numa_balancing\", strValue));\n    if (strcmp(strValue, \"1\") == 0)\n      WARN(\"NUMA auto balancing enabled which can lead to variability in the RCCL performance! Disable by \\\"sudo sysctl kernel.numa_balancing=0\\\"\");\n    NCCLCHECK(ncclTopoGetStrFromSys(\"/proc\", \"version\", strValue));\n    char *verStr, *state;\n    verStr = strtok_r(strValue, \" \", &state);\n    for (int i = 0; i < 2; i ++) {\n      verStr = strtok_r(NULL, \" \", &state);\n      if (verStr == NULL) break;\n    }\n    INFO(NCCL_INIT, \"Kernel version: %s\", verStr);\n    if (strstr(verStr, \"cray\") == NULL) {\n      unsigned int eax, ebx, ecx, edx;\n      if (!__get_cpuid(1, &eax, &ebx, &ecx, &edx))\n        ecx = 0; // cpuid not supported\n      NCCLCHECK(ncclTopoGetStrFromSys(\"/sys/devices/virtual/dmi/id\", \"bios_version\", strValue));\n      // Check BIOS string and hypervisor presence on ecx bit 31\n      if (strncmp(\"Hyper-V UEFI Release\", strValue, 20) != 0 && (ecx & (1u << 31)) == 0) {\n        FILE* file;\n        if ((file = fopen(\"/proc/cmdline\", \"r\")) != NULL) {\n          if (feof(file) == 0 && ferror(file) == 0) {\n            int len = fread(strValue, 1, 2047, file);\n            strValue[len] = '\\0';\n          }\n          fclose(file);\n        }\n        if (strstr(strValue, \"iommu=pt\") == NULL)\n          WARN(\"Missing \\\"iommu=pt\\\" from kernel command line which can lead to system instablity or hang!\");\n      }\n#ifndef HIP_UNCACHED_MEMORY\n      char *env = getenv(\"HSA_FORCE_FINE_GRAIN_PCIE\");\n      if (env == NULL || strcmp(env, \"1\") != 0)\n        WARN(\"Missing \\\"HSA_FORCE_FINE_GRAIN_PCIE=1\\\" from environment which can lead to low RCCL performance, system instablity or hang!\");\n#endif\n    }\n  std::call_once(initOnceFlag, initOnceFunc);\n  return initResult;\n}\n\nNCCL_API(ncclResult_t, ncclGetVersion, int* version);\nncclResult_t ncclGetVersion_impl(int* version) {\n  Recorder::instance().record(\"GetVersion\");\n  if (version == NULL) return ncclInvalidArgument;\n  *version = NCCL_VERSION_CODE;\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, ncclGetUniqueId, ncclUniqueId* out);\nncclResult_t ncclGetUniqueId_impl(ncclUniqueId* out) {\n  NCCLCHECK(ncclInit());\n  NCCLCHECK(PtrCheck(out, \"GetUniqueId\", \"out\"));\n  struct ncclBootstrapHandle handle;\n  NCCLCHECK(bootstrapGetUniqueId(&handle));\n  // ncclUniqueId and bootstrapHandle don't have the same size and alignment\n  // reset to 0 to avoid undefined data\n  memset(out, 0, sizeof(*out));\n  // copy to avoid alignment mismatch\n  memcpy(out, &handle, sizeof(handle));\n  Recorder::instance().record(rrGetUniqueId, -1, -1, out);\n  TRACE_CALL(\"ncclGetUniqueId(0x%llx)\", (unsigned long long)getHash(out->internal, NCCL_UNIQUE_ID_BYTES));\n  return ncclSuccess;\n}\n\n// Prevent compiler from optimizing out these operations\n#ifdef __clang__\n#define NCCL_NO_OPTIMIZE __attribute__((optnone))\n#else\n#define NCCL_NO_OPTIMIZE __attribute__((optimize(\"O0\")))\n#endif\n\nvoid NCCL_NO_OPTIMIZE commPoison(ncclComm_t comm) {\n  // Important that this does not trash intraComm0.\n  comm->rank = comm->cudaDev = comm->busId = comm->nRanks = -1;\n  comm->startMagic = comm->endMagic = 0;\n}\n\nRCCL_PARAM_DECLARE(EnableProxyTrace);\nRCCL_PARAM(EnableProxyTrace, \"ENABLE_PROXY_TRACE\", 0);\n\nRCCL_PARAM(KernelCollTraceEnable, \"KERNEL_COLL_TRACE_ENABLE\", 0);\nRCCL_PARAM(KernelCollTraceThreadEnable, \"KERNEL_COLL_TRACE_THREAD_ENABLE\", 0);\nRCCL_PARAM(EnableContextTracking, \"ENABLE_CONTEXT_TRACKING\", 0);\n\n#ifdef ENABLE_COLLTRACE\n// Should be in sync with 'ALL_COLLS' in Generator.cmake\nvoid *ncclCommThreadMain(void *arg) {\n  ncclComm_t comm = (ncclComm_t)arg;\n  int head[MAXCHANNELS];\n  double vega_gpu_rtc_freq;\n\n  vega_gpu_rtc_freq = GetDeviceWallClockRateInKhz(comm->cudaDev) * 1.0E3;\n  for (int channel = 0; channel < MAXCHANNELS; channel++) {\n    int tail = comm->collTraceTail[channel].tail;\n    if (tail < COLLTRACE_NUM_ITEMS)\n      head[channel] = 0;\n    else\n      head[channel] = tail - COLLTRACE_NUM_ITEMS;\n  }\n  do {\n    int numActiveChans = MAXCHANNELS;\n    for (int channel = 0; channel < MAXCHANNELS; channel++) {\n      int tail = comm->collTraceTail[channel].tail;\n      int count;\n      count = tail - head[channel];\n      if (count == 0) {\n        numActiveChans--;\n        continue;\n      }\n      for (int i = 0; i < count; i++) {\n        volatile struct ncclCollTrace *td = comm->collTrace+COLLTRACE_NUM_ITEMS*channel+head[channel]%COLLTRACE_NUM_ITEMS;\n        const uint8_t type = td->type;\n        if (type == ncclCollTraceNotReady)\n          break;\n        head[channel] ++;\n        char line[1024];\n        int offset = 0;\n        const uint16_t fIdx = td->funcIndex;\n        if (type == ncclCollTraceDataType) {\n          sprintf(line, \"## [%012.6f] [%02d:%02d-%02d:%02x] L:%04d DT %08x %016lx %016lx\",\n            (double)(td->timeStamp)/vega_gpu_rtc_freq, comm->rank, channel, td->channelId, td->tid, fIdx, td->data_0, td->opCount, td->data_1);\n        } else {\n          if (type & ncclCollTraceP2pElemType)\n            sprintf(line, \"## [%012.6f] [%02d:%02d-%02d:%02x] %06x-%06x\", (double)(td->timeStamp)/vega_gpu_rtc_freq, comm->rank, channel, td->channelId, td->tid, td->p2pOpCount[0], td->p2pOpCount[1]);\n          else\n            sprintf(line, \"## [%012.6f] [%02d:%02d-%02d:%02x] %06lx\", (double)(td->timeStamp)/vega_gpu_rtc_freq, comm->rank, channel, td->channelId, td->tid, td->opCount);\n          offset = strlen(line);\n          if (type == ncclCollTraceCollElemType) {\n            sprintf(line+offset, \" CE %s nw %d bi %d nc %d root %d busId %lx nRanks %d\", funcNames[fIdx], td->coll.nWarps, td->coll.bid, td->coll.nChannels, td->coll.root, comm->busId, comm->nRanks);\n          } else if (type == ncclCollTraceP2pElemType) {\n            sprintf(line+offset, \" Recv %d -> %d/%d/%d/%d ConnIdx/LL/Reg/nc %d/%d/%d/%d -> Send %d cb %d busId %lx nRanks %d\",\n              td->p2p.recvRank, td->p2p.recvConnIndex, td->p2p.recvProtoLL, td->p2p.recvRegistered, td->p2p.nRecvChannels, td->p2p.sendConnIndex, td->p2p.sendProtoLL, td->p2p.sendRegistered, td->p2p.nSendChannels, td->p2p.sendRank, td->p2p.channelBase,\n              comm->busId, comm->nRanks);\n          } else {\n            switch (type&0xf) {\n              case ncclCollTraceKernelLaunchType:\n              case ncclCollTraceCollLaunchType:\n                if ((type&0xf) == ncclCollTraceKernelLaunchType)\n                  sprintf(line+offset, \" KL %s [%02d:%02d-%02d:%02x] HWID %d:%x \", funcNames[fIdx], comm->rank, channel, td->channelId, td->tid, td->xccId, td->data_0);\n                else if ((type&0xf) == ncclCollTraceCollLaunchType)\n                  sprintf(line+offset, \" CL %s [%02d:%02d-%02d:%02x] %d \", funcNames[fIdx], comm->rank, channel, td->channelId, td->tid, td->batchIx);\n                offset = strlen(line);\n                if ((type&0xf0) == ncclCollTraceCollElemType)\n                  sprintf(line+offset, \" nw %d bi %d nc %d root %d busId %lx nRanks %d\", td->coll.nWarps, td->coll.bid, td->coll.nChannels, td->coll.root, comm->busId, comm->nRanks);\n                else if ((type&0xf0) == ncclCollTraceP2pElemType)\n                  sprintf(line+offset, \" Recv %d -> %d/%d/%d/%d ConnIdx/LL/Reg/nc %d/%d/%d/%d -> Send %d cb %d busId %lx nRanks %d\",\n                    td->p2p.recvRank, td->p2p.recvConnIndex, td->p2p.recvProtoLL, td->p2p.recvRegistered, td->p2p.nRecvChannels, td->p2p.sendConnIndex, td->p2p.sendProtoLL, td->p2p.sendRegistered, td->p2p.nSendChannels, td->p2p.sendRank, td->p2p.channelBase,\n                    comm->busId, comm->nRanks);\n                break;\n              case ncclCollTraceKernelEndType:\n                sprintf(line+offset, \" KE %s [%02d:%02d-%02d:%02x] busId %lx nRanks %d\", funcNames[fIdx], comm->rank, channel, td->channelId, td->tid, comm->busId, comm->nRanks);\n                break;\n              case ncclCollTraceAbortType:\n                sprintf(line+offset, \" KA %s [%02d:%02d-%02d:%02x]\", funcNames[fIdx], comm->rank, channel, td->channelId, td->tid);\n                break;\n              default:\n                sprintf(line+offset, \" unknown collective trace data type\");\n                break;\n            }\n          }\n        }\n        INFO(NCCL_COLL, \"%s td->type:%d\", line, type);\n        volatile uint8_t *tdtype = &td->type;\n        *tdtype = ncclCollTraceNotReady;\n        (*tdtype); // read back for flushing\n      }\n    }\n    if (comm->collTraceExit && numActiveChans == 0)\n      break;\n    usleep(1000); //sleep 1ms\n  } while(true);\n  if (comm->collTraceThread)\n    pthread_exit(NULL);\n  else\n    return 0;\n}\n#endif\n\n#undef NCCL_NO_OPTIMIZE\n\n\nstatic ncclResult_t ncclDestructorFnFree(struct ncclDestructor* dtor) {\n  free(dtor->obj);\n  return ncclSuccess;\n}\nvoid ncclCommPushFree(struct ncclComm* comm, void* obj) {\n  struct ncclDestructor* dtor = ncclMemoryStackAlloc<struct ncclDestructor>(&comm->memPermanent);\n  dtor->fn = ncclDestructorFnFree;\n  dtor->obj = obj;\n  dtor->next = comm->destructorHead;\n  comm->destructorHead = dtor;\n}\n\nstatic ncclResult_t ncclDestructorFnCudaFree(struct ncclDestructor* dtor) {\n  NCCLCHECK(ncclCudaFree(dtor->obj));\n  return ncclSuccess;\n}\nvoid ncclCommPushCudaFree(struct ncclComm* comm, void* obj) {\n  struct ncclDestructor* dtor = ncclMemoryStackAlloc<struct ncclDestructor>(&comm->memPermanent);\n  dtor->fn = ncclDestructorFnCudaFree;\n  dtor->obj = obj;\n  dtor->next = comm->destructorHead;\n  comm->destructorHead = dtor;\n}\n\nstatic ncclResult_t ncclDestructorFnCudaHostFree(struct ncclDestructor* dtor) {\n  NCCLCHECK(ncclCudaHostFree(dtor->obj));\n  return ncclSuccess;\n}\nvoid ncclCommPushCudaHostFree(struct ncclComm* comm, void* obj) {\n  struct ncclDestructor* dtor = ncclMemoryStackAlloc<struct ncclDestructor>(&comm->memPermanent);\n  dtor->fn = ncclDestructorFnCudaHostFree;\n  dtor->obj = obj;\n  dtor->next = comm->destructorHead;\n  comm->destructorHead = dtor;\n}\n\nstatic ncclResult_t ncclDestructorFnCudaGdrFree(struct ncclDestructor* dtor) {\n  NCCLCHECK(ncclGdrCudaFree(dtor->obj));\n  return ncclSuccess;\n}\nvoid ncclCommPushCudaGdrFree(struct ncclComm* comm, void* handle) {\n  struct ncclDestructor* dtor = ncclMemoryStackAlloc<struct ncclDestructor>(&comm->memPermanent);\n  dtor->fn = ncclDestructorFnCudaGdrFree;\n  dtor->obj = handle;\n  dtor->next = comm->destructorHead;\n  comm->destructorHead = dtor;\n}\n\nstatic ncclResult_t commFree(ncclComm_t comm) {\n  int abort = 0;\n  /* commFree() should not involve any sync among ranks. */\n  if (comm == NULL)\n    return ncclSuccess;\n\n  NCCLCHECK(ncclCeFinalize(comm));\n\n  if (comm->symmetricSupport) {\n    NCCLCHECK(ncclSymkFinalize(comm));\n    NCCLCHECK(ncclDevrFinalize(comm));\n  }\n  NCCLCHECK(ncclRasCommFini(comm));\n\n  /* in commReclaim, we have guaranteed only last rank which calls ncclCommDestroy() will\n   * free all intra-process communicators; therefore, we only need to focus on local\n   * resource cleanup in commFree(). */\n  if (comm->proxyState && comm->proxyRefCountOld == 0 && comm->proxyState->thread) {\n    PTHREADCHECK(pthread_join(comm->proxyState->thread, nullptr), \"pthread_join\");\n    if (comm->proxyState->threadUDS) {\n      // UDS support\n      PTHREADCHECK(pthread_join(comm->proxyState->threadUDS, nullptr), \"pthread_join\");\n    }\n  }\n\n  if (comm->memPool) CUDACHECK(cudaMemPoolDestroy(comm->memPool));\n\n  delete[] comm->userRedOps;\n\n  free(comm->connectSend);\n  free(comm->connectRecv);\n\n  if (rcclParamEnableProxyTrace()) {\n    WARN(\"commFree() ProxyTrace:\");\n    if (comm->proxyState && comm->proxyState->proxyTrace){\n      WARN(\"%s\", comm->proxyState->proxyTrace->dump().c_str());\n    }\n  }\n\n\n#ifdef ENABLE_PROFILING\n  struct ncclProf *prof, *prof_seq;\n  prof = (struct ncclProf*)malloc(sizeof(struct ncclProf)*MAXCHANNELS*PROFILE_NUM_LAUNCHES);\n  if (prof == nullptr) {\n    WARN(\"Failed to allocate profiling buffer\");\n    // Skip profiling but continue with destruction\n    goto skip_profiling;\n  }\n  CUDACHECK(hipMemcpy(prof, comm->devComm->devProf, sizeof(struct ncclProf)*MAXCHANNELS*PROFILE_NUM_LAUNCHES, hipMemcpyDeviceToHost));\n  #define VEGA_GPU_RTC_FREQUENCY 2.5E7\n  for (int i=0; i<comm->nChannels; i++) {\n    for (int s=0; s<prof[MAXCHANNELS*i].seq; s++) {\n      if (prof[MAXCHANNELS*s+i].count == 0) continue;\n      for (int j=0; j<prof[MAXCHANNELS*s+i].count; j++) {\n        INFO(NCCL_INIT, \"# [%02d:%02d] %02d-%02d L:%04u %6.2fus\", comm->rank, i, s, j, prof[MAXCHANNELS*s+i].elem[j].line, (prof[MAXCHANNELS*s+i].elem[j].timeStamp-prof[MAXCHANNELS*s+i].elem[0].timeStamp)/VEGA_GPU_RTC_FREQUENCY*1.0E6);\n      }\n    }\n  }\n  free(prof);\n  CUDACHECK(hipFree(comm->devComm->devProf));\nskip_profiling:\n#endif\n\n#ifdef ENABLE_COLLTRACE\n  comm->collTraceExit = 1;\n  if (comm->collTraceEnabled) {\n    if (comm->collTraceThread)\n      pthread_join(comm->collTraceThread, NULL);\n    else\n      ncclCommThreadMain((void *)comm);\n  }\n  NCCLCHECK(ncclCudaFree((void *)comm->collTrace));\n  NCCLCHECK(ncclCudaHostFree((void *)comm->collTraceTail));\n#endif\n\n  free(comm->peerInfo);\n  if (comm->topo)\n    ncclTopoFree(comm->topo);\n  if (comm->nodeRanks) {\n    for (int n=0; n<comm->nNodes; n++) free(comm->nodeRanks[n].localRankToRank);\n    free(comm->nodeRanks);\n  }\n  free(comm->rankToNode);\n  free(comm->rankToLocalRank);\n  free(comm->collNetHeads);\n  free(comm->clique.ranks);\n\n  if (comm->bootstrap)\n    NCCLCHECK(bootstrapClose(comm->bootstrap));\n\n  for (int channel=0; channel<MAXCHANNELS; channel++)\n    NCCLCHECK(freeChannel(comm->channels+channel, comm->nRanks, 1, comm->localRanks));\n\n  if (comm->doneEvent != NULL)\n    CUDACHECK(hipEventDestroy(comm->doneEvent));\n\n  if (comm->sharedRes) {\n    if (ncclAtomicRefCountDecrement(&comm->sharedRes->refCount) == 0) {\n      for (int c=0; c<MAXCHANNELS; c++) {\n        if (comm->sharedRes->peers[c]) free(comm->sharedRes->peers[c]);\n        if (comm->sharedRes->devPeers[c]) ncclCudaFree(comm->sharedRes->devPeers[c]);\n      }\n      free(comm->sharedRes->tpRankToLocalRank);\n      NCCLCHECK(ncclStrongStreamDestruct(&comm->sharedRes->hostStream));\n      NCCLCHECK(ncclStrongStreamDestruct(&comm->sharedRes->deviceStream));\n      CUDACHECK(cudaEventDestroy(comm->sharedRes->launchEvent));\n      CUDACHECK(cudaEventDestroy(comm->sharedRes->scratchEvent));\n      NCCLCHECK(ncclProxyDestroy(comm));\n      free(comm->sharedRes);\n    }\n  }\n\n#if CUDART_VERSION >= 12010\n  if (comm->nvlsSupport) NCCLCHECK(ncclNvlsFree(comm));\n#endif\n\n  struct ncclDestructor* dtor = comm->destructorHead;\n  while (dtor != nullptr) {\n    NCCLCHECK(dtor->fn(dtor));\n    dtor = dtor->next;\n  }\n\n  ncclMemoryStackDestruct(&comm->memScoped);\n  ncclMemoryStackDestruct(&comm->memPermanent);\n\n  abort = *comm->abortFlag;\n  if (ncclAtomicRefCountDecrement(comm->abortFlagRefCount) == 0) {\n    free(comm->abortFlag);\n    NCCLCHECK(ncclCudaHostFree((void*)comm->abortFlagDev));\n    free(comm->abortFlagRefCount);\n  }\n  free((void*)comm->config.netName);\n\n  free(comm->topParentRanks);\n  free(comm->topParentLocalRanks);\n  free(comm->gproxyConn);\n\n  NCCLCHECK(ncclRegCleanup(comm));\n\n  NCCLCHECK(ncclDestroySideStream(comm->cudaDev));\n\n  INFO(NCCL_INIT,\"comm %p rank %d nranks %d cudaDev %d busId %lx - %s COMPLETE\", comm, comm->rank, comm->nRanks, comm->cudaDev, comm->busId, abort ? \"Abort\" : \"Destroy\");\n\n  commPoison(comm); // poison comm before free to avoid comm reuse.\n  NCCLCHECK(ncclProfilerPluginFinalize(comm));\n  NCCLCHECK(ncclNetFinalize(comm));\n  // Disable until we validate NCCL_LAUNCH_IMPLICIT_ORDER support.\n  // but can be enabled via environment variable\n  if (rcclParamEnableContextTracking() == 1) {\n    ncclCudaContextDrop(comm->context);\n    INFO(NCCL_INIT, \"cudaDev %d context tracking destroyed\", comm->cudaDev);\n  }\n\n  free(comm);\n\n  return ncclSuccess;\n}\n\nRCCL_PARAM(P2pNetDisable, \"P2P_NET_DISABLE\", 1);\nRCCL_PARAM(PivotAlltoallEnable, \"PIVOT_ALLTOALL_ENABLE\", 1);\nRCCL_PARAM(LL128ForceEnable, \"LL128_FORCE_ENABLE\", 0);\nNCCL_PARAM(AggChannelSize, \"AGG_CHANNEL_SIZE\", -2);\nNCCL_PARAM(DisableGraphHelper, \"GRAPH_HELPER_DISABLE\", 0);\n// GDRCOPY support: FIFO_ENABLE when enabled locates a workFifo in CUDA memory\nNCCL_PARAM(GdrCopyFifoEnable, \"GDRCOPY_FIFO_ENABLE\", 1);\n#define NCCL_WORK_FIFO_BYTES_DEFAULT (1<<22)\nNCCL_PARAM(WorkFifoBytes, \"WORK_FIFO_BYTES\", NCCL_WORK_FIFO_BYTES_DEFAULT);\nNCCL_PARAM(WorkArgsBytes, \"WORK_ARGS_BYTES\", INT64_MAX);\nenum ncclLaunchMode ncclParamLaunchMode;\n\n\n// Detect DMA-BUF support\nstatic ncclResult_t dmaBufSupported(struct ncclComm* comm) {\n  if (comm->ncclNet->regMrDmaBuf == NULL || rocmLibraryInit() != ncclSuccess) return ncclInternalError;\n#if CUDA_VERSION >= 11070\n  int flag = 0;\n  CUdevice dev;\n  int cudaDriverVersion;\n  CUDACHECK(cudaDriverGetVersion(&cudaDriverVersion));\n  if (CUPFN(cuDeviceGet) == NULL || cudaDriverVersion < 11070) return ncclInternalError;\n  CUCHECK(cuDeviceGet(&dev, comm->cudaDev));\n  // Query device to see if DMA-BUF support is available\n  (void) CUPFN(cuDeviceGetAttribute(&flag, CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED, dev));\n  if (flag == 0) return ncclInternalError;\n  INFO(NCCL_INIT, \"DMA-BUF is available on GPU device %d\", comm->cudaDev);\n  return ncclSuccess;\n#else\n  return pfn_hsa_amd_portable_export_dmabuf != NULL ? ncclSuccess : ncclInternalError;\n#endif\n  return ncclInternalError;\n}\n\nncclResult_t ncclCommEnsureReady(ncclComm_t comm) {\n  /* comm must be ready, or error will be reported */\n  ncclResult_t ret = ncclSuccess;\n  if (__atomic_load_n(comm->abortFlag, __ATOMIC_ACQUIRE)) {\n    ncclGroupJobAbort(comm->groupJob);\n  } else {\n    NCCLCHECK(ncclCommGetAsyncError(comm, &ret));\n    if (ret == ncclInProgress) {\n      WARN(\"Attempt to use communicator before the previous operation returned ncclSuccess\");\n      ret = ncclInvalidArgument;\n      goto exit;\n    }\n    /* if ret is not ncclInProgress, we just keep it. */\n  }\n\nexit:\n  return ret;\n}\n\nRCCL_PARAM(InjectFaults, \"INJECT_FAULTS\", 0);\n\nstatic ncclResult_t commAlloc(struct ncclComm* comm, struct ncclComm* parent, int ndev, int rank) {\n  if (ndev < 1) {\n    WARN(\"invalid device count (%d) requested\", ndev);\n    return ncclInvalidArgument;\n  }\n  if (rank >= ndev || rank < 0) {\n    WARN(\"rank %d exceeds ndev=%d\", rank, ndev);\n    return ncclInvalidArgument;\n  }\n\n  ncclMemoryStackConstruct(&comm->memPermanent);\n  ncclMemoryStackConstruct(&comm->memScoped);\n  comm->destructorHead = nullptr;\n  comm->rank = rank;\n  comm->nRanks = ndev;\n\n  NCCLCHECK(ncclNetInit(comm));\n  INFO(NCCL_INIT, \"Using network %s\", comm->ncclNet->name);\n\n  if (parent && parent->shareResources) {\n    if (parent->ncclNet != comm->ncclNet) {\n      WARN(\"Split shares resources, but parent comm netName %s is different from child comm netName %s\", parent->ncclNet->name, comm->ncclNet->name);\n      return ncclInvalidUsage;\n    }\n  }\n  // Try to create a CUDA object right away. If there is something wrong with\n  // the device we're on (failure cause #1) , better know it early.\n  hipEvent_t doneEvent;\n  CUDACHECK(hipEventCreateWithFlags(&doneEvent, hipEventDisableTiming));\n\n  comm->doneEvent = doneEvent;\n  comm->lastStream = nullptr;\n  CUDACHECK(cudaGetDevice(&comm->cudaDev));\n\n  // RCCL: create persistent stream for calloc\n  NCCLCHECK(ncclCreateSideStream(comm->cudaDev));\n\n  // Disable until we validate NCCL_LAUNCH_IMPLICIT_ORDER support.\n  // but can be enabled via environment variable\n  if (rcclParamEnableContextTracking() == 1) {\n    NCCLCHECK(ncclCudaContextTrack(&comm->context));\n    INFO(NCCL_INIT, \"cudaDev %d context tracking created\", comm->cudaDev);\n  }\n\n  NCCLCHECK(getBusId(comm->cudaDev, &comm->busId));\n  char busId[]=\"0000:00:00.0\";\n  NCCLCHECK(int64ToBusId(comm->busId, busId));\n\n#ifdef USE_AMDSMI\n  NCCLCHECK(amd_smi_init());\n  NCCLCHECK(amd_smi_getDeviceIndexByPciBusId(busId, (unsigned int*)&comm->nvmlDev));\n#else\n  NCCLCHECK(rocm_smi_init());\n  NCCLCHECK(rocm_smi_getDeviceIndexByPciBusId(busId, (unsigned int*)&comm->nvmlDev));\n#endif\n  comm->compCap = ncclCudaCompCap();\n  TRACE(NCCL_INIT,\"comm %p rank %d nranks %d cudaDev %d busId %lx compCap %d\", comm, rank, ndev, comm->cudaDev, comm->busId, comm->compCap);\n\n  comm->checkPointers = ncclParamCheckPointers() == 1 ? true : false;\n  comm->dmaBufSupport = (dmaBufSupported(comm) == ncclSuccess) ? true : false;\n\n#ifdef ENABLE_COLLTRACE\n  NCCLCHECK(ncclCudaHostCalloc(&comm->collTraceTail, MAXCHANNELS));\n#if defined(HIP_UNCACHED_MEMORY)\n  NCCLCHECK(ncclCudaCalloc(&comm->collTrace, COLLTRACE_NUM_ITEMS*MAXCHANNELS, hipDeviceMallocUncached));\n#else\n  NCCLCHECK(ncclCudaCalloc(&comm->collTrace, COLLTRACE_NUM_ITEMS*MAXCHANNELS));\n#endif\n  comm->collTraceExit = 0;\n  comm->collTraceEnabled = false; // we can enable colltrace without starting a thread\n  if ((ncclDebugLevel >= NCCL_LOG_INFO) && rcclParamKernelCollTraceEnable()) {\n    comm->collTraceEnabled = true;\n    if (rcclParamKernelCollTraceThreadEnable())\n      pthread_create(&comm->collTraceThread, NULL, ncclCommThreadMain, (void *)comm);\n    else\n      comm->collTraceThread = 0;\n  }\n#endif\n\n  if (rcclParamInjectFaults() != 0) {\n#ifdef ENABLE_FAULT_INJECTION\n    comm->faults = rcclParamInjectFaults();\n    if (comm->rank == 0) INFO(NCCL_INIT, \"Enabled RCCL faults injection with value 0x%lx\", comm->faults);\n#else\n    WARN(\"Ignore faults injection of value 0x%lx as RCCL is not compiled to support it\", rcclParamInjectFaults());\n#endif\n  }\n\n  memset(comm->collNetSupportMatrix, 0, sizeof(comm->collNetSupportMatrix));\n\n  ncclMemoryPoolConstruct(&comm->memPool_ncclKernelPlan);\n  ncclMemoryPoolConstruct(&comm->memPool_ncclProxyOp);\n\n  for (int i = 0; i < ncclGroupTaskTypeNum; i++) {\n    comm->groupNext[i] = reinterpret_cast<struct ncclComm*>(0x1);\n  }\n  comm->preconnectNext = reinterpret_cast<struct ncclComm*>(0x1);\n\n  static_assert(MAXCHANNELS <= sizeof(*comm->connectSend)*8, \"comm->connectSend must have enough bits for all channels\");\n  static_assert(MAXCHANNELS <= sizeof(*comm->connectRecv)*8, \"comm->connectRecv must have enough bits for all channels\");\n  NCCLCHECK(ncclCalloc(&comm->connectSend, comm->nRanks*NCCL_MAX_CONNS));\n  NCCLCHECK(ncclCalloc(&comm->connectRecv, comm->nRanks*NCCL_MAX_CONNS));\n\n  // Mark channels as non initialized.\n  for (int c=0; c < MAXCHANNELS; c++) comm->channels[c].id = -1;\n\n  if (parent == NULL || !parent->shareResources) {\n    struct ncclSharedResources* sharedRes = NULL;\n    NCCLCHECK(ncclCalloc(&sharedRes, 1));\n    /* most of attributes are assigned later in initTransportsRank(). */\n    sharedRes->owner = comm;\n    sharedRes->tpNRanks = comm->nRanks;\n    NCCLCHECK(ncclCalloc(&sharedRes->tpRankToLocalRank, comm->nRanks));\n    NCCLCHECK(ncclStrongStreamConstruct(&sharedRes->deviceStream));\n    NCCLCHECK(ncclStrongStreamConstruct(&sharedRes->hostStream));\n    CUDACHECK(cudaEventCreateWithFlags(&sharedRes->launchEvent, cudaEventDisableTiming));\n    CUDACHECK(cudaEventCreateWithFlags(&sharedRes->scratchEvent, cudaEventDisableTiming));\n    comm->sharedRes = sharedRes;\n    sharedRes->refCount = 1;\n  } else {\n    comm->sharedRes = parent->sharedRes;\n    ncclAtomicRefCountIncrement(&parent->sharedRes->refCount);\n  }\n\n  CUDACHECK(hipDeviceGetAttribute(&comm->WarpSize, hipDeviceAttributeWarpSize, comm->cudaDev));\n  if (comm->topParentRanks == NULL) {\n    NCCLCHECK(ncclCalloc(&comm->topParentRanks, comm->nRanks));\n    for (int i = 0; i < comm->nRanks; ++i)\n      comm->topParentRanks[i] = i;\n  }\n\n  ncclIntruQueueMpscConstruct(&comm->callbackQueue);\n  ncclIntruQueueConstruct(&comm->legacyRegCleanupQueue);\n  ncclIntruQueueConstruct(&comm->ceInitTaskQueue);\n\n  comm->regCache.pageSize = sysconf(_SC_PAGESIZE);\n\n  do {\n    cudaMemPoolProps props = {};\n    props.allocType = cudaMemAllocationTypePinned;\n    props.handleTypes = cudaMemHandleTypeNone;\n    props.location.type = cudaMemLocationTypeDevice;\n    props.location.id = comm->cudaDev;\n    CUDACHECK(cudaMemPoolCreate(&comm->memPool, &props));\n    uint64_t releaseThreshold = ~uint64_t(0);\n    CUDACHECK(cudaMemPoolSetAttribute(comm->memPool, cudaMemPoolAttrReleaseThreshold, &releaseThreshold));\n  } while (0);\n\n  ncclIntruQueueConstruct(&comm->eventCallbackQueue);\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t devCommSetup(ncclComm_t comm) {\n  ncclResult_t ret = ncclSuccess;\n  int nRanks = comm->nRanks;\n  struct ncclKernelCommAndChannels tmpCommAndChans;\n  struct ncclKernelCommAndChannels *devCommAndChans = NULL;\n  //struct ncclNvmlCCStatus ccStatus; //unused variable - compiler warning\n  bool ccEnable = false;\n  cudaStream_t deviceStream;\n\n  memset(&tmpCommAndChans, '\\0', sizeof(tmpCommAndChans));\n  NCCLCHECKGOTO(ncclStrongStreamAcquire(ncclCudaGraphNone(), &comm->sharedRes->deviceStream, /*concurrent=*/false, &deviceStream), ret, fail);\n  NCCLCHECKGOTO(ncclCudaCallocAsync(&devCommAndChans, 1, deviceStream), ret, fail);\n  ncclCommPushCudaFree(comm, devCommAndChans);\n  NCCLCHECKGOTO(ncclCudaCallocAsync(&tmpCommAndChans.comm.rankToLocalRank, comm->nRanks, deviceStream), ret, fail);\n  ncclCommPushCudaFree(comm, tmpCommAndChans.comm.rankToLocalRank);\n  NCCLCHECKGOTO(ncclCudaMemcpyAsync(tmpCommAndChans.comm.rankToLocalRank, comm->rankToLocalRank, comm->nRanks, deviceStream), ret, fail);\n  comm->devComm = &devCommAndChans->comm;\n  tmpCommAndChans.comm.rank = comm->rank;\n  tmpCommAndChans.comm.nRanks = nRanks;\n  tmpCommAndChans.comm.node = comm->node;\n  tmpCommAndChans.comm.nNodes = comm->nNodes;\n  tmpCommAndChans.comm.abortFlag = comm->abortFlagDev;\n  tmpCommAndChans.comm.isAllNvlink = comm->isAllNvlink;\n  tmpCommAndChans.comm.p2pnChannelsPerPeer = comm->p2pnChannelsPerPeer;\n  for (int p=0; p < NCCL_NUM_PROTOCOLS; p++) {\n    tmpCommAndChans.comm.buffSizes[p] = comm->buffSizes[p];\n  }\n  tmpCommAndChans.comm.p2pChunkSize = comm->p2pChunkSize;\n  tmpCommAndChans.comm.channels = &devCommAndChans->channels[0];\n\n  comm->workArgsBytes = std::min<size_t>(ncclParamWorkArgsBytes(), ncclMaxKernelArgsSize(comm->cudaArch));\n\n#if !defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__)\n  memset(&ccStatus, 0, sizeof(ccStatus));\n  ccEnable = (ncclSuccess == ncclNvmlGetCCStatus(&ccStatus)) && (ccStatus.CCEnabled || ccStatus.multiGpuProtectedPCIE || ccStatus.multiGpuNVLE);\n  if (ccEnable) {\n    comm->workFifoBytes = 0;\n  } else {\n    comm->workFifoBytes = ncclParamWorkFifoBytes();\n    if (0 != (comm->workFifoBytes & (comm->workFifoBytes-1))) {\n      WARN(\"NCCL_WORK_FIFO_BYTES=%d is being ignored because it is not a power of 2.\", comm->workFifoBytes);\n      comm->workFifoBytes = NCCL_WORK_FIFO_BYTES_DEFAULT;\n    }\n    comm->workFifoBytes = std::min(comm->workFifoBytes, 1u<<30);\n  }\n#else\n  comm->workFifoBytes = ncclParamWorkFifoBytes();\n  if (0 != (comm->workFifoBytes & (comm->workFifoBytes-1))) {\n    WARN(\"NCCL_WORK_FIFO_BYTES=%d is being ignored because it is not a power of 2.\", comm->workFifoBytes);\n    comm->workFifoBytes = NCCL_WORK_FIFO_BYTES_DEFAULT;\n  }\n  comm->workFifoBytes = std::min(comm->workFifoBytes, 1u<<30);\n#endif\n\n  if (comm->rank == 0) {\n    INFO(NCCL_INIT, \"CC %s, workFifoBytes %d\", ccEnable ? \"On\" : \"Off\", comm->workFifoBytes);\n  }\n\n  if (ncclGdrCopy != NULL && ncclParamGdrCopyFifoEnable() == 1) {\n    // The workFifoBuf lives in GDR mapped CUDA memory.\n    NCCLCHECKGOTO(ncclGdrCudaCalloc(&comm->workFifoBuf, &comm->workFifoBufDev, comm->workFifoBytes, &comm->workFifoBufGdrHandle), ret, fail);\n    ncclCommPushCudaGdrFree(comm, comm->workFifoBufGdrHandle);\n  } else {\n    // The workFifoBuf lives in cudaHost memory.\n    comm->workFifoBufGdrHandle = nullptr;\n    NCCLCHECKGOTO(ncclCudaHostCalloc(&comm->workFifoBuf, comm->workFifoBytes), ret, fail);\n    ncclCommPushCudaHostFree(comm, comm->workFifoBuf);\n    comm->workFifoBufDev = comm->workFifoBuf;\n  }\n\n  comm->workFifoProduced = 0;\n  comm->workFifoProducedLastRecorded = 0;\n  comm->workFifoConsumed = 0;\n\n  // Alloc profiler counters for the kernel\n  NCCLCHECKGOTO(ncclCudaHostCalloc(&comm->profiler.workStarted, MAXCHANNELS), ret, fail);\n  NCCLCHECKGOTO(ncclCudaHostCalloc(&comm->profiler.workCompleted, MAXCHANNELS), ret, fail);\n  tmpCommAndChans.comm.workStarted = comm->profiler.workStarted;\n  tmpCommAndChans.comm.workCompleted = comm->profiler.workCompleted;\n  ncclCommPushCudaHostFree(comm, comm->profiler.workStarted);\n  ncclCommPushCudaHostFree(comm, comm->profiler.workCompleted);\n\n  if (comm->collNetDenseToUserRank != nullptr) {\n    NCCLCHECKGOTO(ncclCudaCallocAsync(&tmpCommAndChans.comm.collNetDenseToUserRank, nRanks, deviceStream), ret, fail);\n    ncclCommPushCudaFree(comm, tmpCommAndChans.comm.collNetDenseToUserRank);\n    NCCLCHECKGOTO(ncclCudaMemcpyAsync(tmpCommAndChans.comm.collNetDenseToUserRank, comm->collNetDenseToUserRank, nRanks, deviceStream), ret, fail);\n  }\n\n  for (int c=0; c < MAXCHANNELS; c++) {\n    tmpCommAndChans.channels[c].peers = comm->channels[c].devPeers;\n    tmpCommAndChans.channels[c].ring = comm->channels[c].ring;\n    tmpCommAndChans.channels[c].ring.userRanks = comm->channels[c].devRingUserRanks;\n    tmpCommAndChans.channels[c].tree = comm->channels[c].tree;\n    tmpCommAndChans.channels[c].collnetChain = comm->channels[c].collnetChain;\n    tmpCommAndChans.channels[c].collnetDirect = comm->channels[c].collnetDirect;\n    tmpCommAndChans.channels[c].binTree = comm->channels[c].binTree;\n    tmpCommAndChans.channels[c].nvls = comm->channels[c].nvls;\n\n    if (comm->channels[c].ring.userRanks != nullptr) {\n      NCCLCHECKGOTO(ncclCudaMemcpyAsync(tmpCommAndChans.channels[c].ring.userRanks, comm->channels[c].ring.userRanks, nRanks, deviceStream), ret, fail);\n    }\n  }\n\n#ifdef ENABLE_COLLTRACE\n  tmpCommAndChans.comm.collTrace = comm->collTrace;\n  tmpCommAndChans.comm.collTraceTail = comm->collTraceTail;\n  tmpCommAndChans.comm.collTraceThread = comm->collTraceThread;\n#endif\n\n#if defined(ENABLE_NPKIT)\n  WARN(\"NPKIT is deprecated, please use Profiler Plugin instead!\");\n  // Init NPKit\n  NCCLCHECK(NpKit::Init(comm->rank));\n  tmpCommAndChans.comm.npKitEventCollectContexts = NpKit::GetGpuEventCollectContexts();\n  tmpCommAndChans.comm.cpuTimestamp = NpKit::GetCpuTimestamp();\n#endif\n\n#ifdef ENABLE_PROFILING\n  NCCLCHECK(ncclCudaCalloc(&tmpCommAndChans.comm.devProf, MAXCHANNELS*PROFILE_NUM_LAUNCHES));\n#endif\n\n#ifdef ENABLE_FAULT_INJECTION\n  tmpCommAndChans.comm.faults = comm->faults;\n#endif\n\n  NCCLCHECKGOTO(ncclCudaMemcpyAsync(devCommAndChans, &tmpCommAndChans, 1, deviceStream), ret, fail);\nexit:\n  NCCLCHECK(ncclStrongStreamRelease(ncclCudaGraphNone(), &comm->sharedRes->deviceStream, /*concurrent=*/false));\n  NCCLCHECK(ncclStrongStreamSynchronize(&comm->sharedRes->deviceStream));\n  return ret;\nfail:\n  goto exit;\n}\n\n// Pre-process the string so that running \"strings\" on the lib can quickly reveal the version.\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#define VERSION_STRING \"RCCL version : \" STR(NCCL_MAJOR) \".\" STR(NCCL_MINOR) \".\" STR(NCCL_PATCH) NCCL_SUFFIX\n#define VERSION_STRING_EXTENDED \"HIP version  : \" HIP_BUILD_INFO \"\\nROCm version : \" ROCM_BUILD_INFO\n#else\n#define VERSION_STRING \"NCCL version \" STR(NCCL_MAJOR) \".\" STR(NCCL_MINOR) \".\" STR(NCCL_PATCH) NCCL_SUFFIX\n#define VERSION_STRING_EXTENDED \"CUDA version \" STR(CUDA_MAJOR) \".\" STR(CUDA_MINOR)\n#endif\nstatic void showVersion() {\n  char versionInfo[2048+2*HOST_NAME_MAX], hostInfo[HOST_NAME_MAX], libPathInfo[2048];\n\n  // Retrieve Hostname info\n  if (gethostname(hostInfo, sizeof(hostInfo)-1) != 0) {\n    // Returns Unknown in hostInfo if function call unsuccessful\n    strncpy(hostInfo, \"Unknown\", sizeof(hostInfo)-1);\n  }\n\n  // Retrieve librccl path\n  Dl_info pathInfo;\n  if (dladdr((void*)ncclCommInitRank, &pathInfo)) {\n    strncpy(libPathInfo, pathInfo.dli_fname, sizeof(libPathInfo)-1);\n  } else {\n    // Sets libPath to Unknown if the above function call is not successful\n    strncpy(libPathInfo, \"Unknown\", sizeof(libPathInfo)-1);\n  }\n\n  snprintf(versionInfo, sizeof(versionInfo),\n    \"%s-%s\\n%s\\n\"\n    \"%-12s : %s\\n%12s : %s\",\n    VERSION_STRING, rcclGitHash, VERSION_STRING_EXTENDED,\n    \"Hostname\", hostInfo, \"Librccl path\", libPathInfo\n  );\n\n  if (ncclDebugLevel == NCCL_LOG_VERSION || ncclDebugLevel == NCCL_LOG_WARN) {\n    VERSION(\"%s\", versionInfo);\n  } else {\n    INFO(NCCL_ALL,\"%s\", versionInfo);\n  }\n}\n\nNCCL_PARAM(MNNVLUUID, \"MNNVL_UUID\", -1);\nNCCL_PARAM(MNNVLCliqueId, \"MNNVL_CLIQUE_ID\", -1);\n\nstatic ncclResult_t fillInfo(struct ncclComm* comm, struct ncclPeerInfo* info, uint64_t commHash) {\n  cudaDeviceProp prop;\n  info->rank = comm->rank;\n  info->cudaDev = comm->cudaDev;\n  info->nvmlDev = comm->nvmlDev;\n  NCCLCHECK(ncclGetVersion(&info->version));\n  info->hostHash=getHostHash()+commHash;\n  info->pidHash=getPidHash()+commHash;\n  info->cuMemSupport = ncclCuMemEnable();\n  CUDACHECK(cudaGetDeviceProperties(&prop, comm->cudaDev));\n  info->totalGlobalMem = ROUNDUP(prop.totalGlobalMem, (1L << 32));\n\n  // Get the device MAJOR:MINOR of /dev/shm so we can use that\n  // information to decide whether we can use SHM for inter-process\n  // communication in a container environment\n  struct stat statbuf;\n  SYSCHECK(stat(\"/dev/shm\", &statbuf), \"stat\");\n  info->shmDev = statbuf.st_dev;\n\n  info->busId = comm->busId;\n\n  // detect if fine grained memory is available on this GPU\n  int *ptr;\n#if defined(HIP_UNCACHED_MEMORY)\n  if (hipExtMallocWithFlags((void**)&ptr, sizeof(int), hipDeviceMallocUncached) == hipSuccess) {\n#else\n  if (hipExtMallocWithFlags((void**)&ptr, sizeof(int), hipDeviceMallocFinegrained) == hipSuccess) {\n#endif\n    CUDACHECK(hipFree(ptr));\n    info->hasFineGrain = true;\n    // GPU supports GDR if DMABUF is supported\n    if (dmaBufSupported(comm) == ncclSuccess)\n      info->gdrSupport = 1;\n    else\n      NCCLCHECK(ncclGpuGdrSupport(comm, &info->gdrSupport));\n  }\n  else {\n    info->hasFineGrain = false;\n    info->gdrSupport = 0;\n  }\n  comm->hasFineGrain = info->hasFineGrain;\n\n  info->comm = comm;\n  info->cudaCompCap = comm->minCompCap = comm->maxCompCap = comm->compCap;\n\n#if !defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__)\n  // MNNVL support\n  {\n    // MNNVL: Request the fabric UUID and partition info\n    char busId[NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE];\n    nvmlDevice_t nvmlDev;\n    NCCLCHECK(int64ToBusId(info->busId, busId));\n    NCCLCHECK(ncclNvmlDeviceGetHandleByPciBusId(busId, &nvmlDev));\n    info->fabricInfo.state = NVML_GPU_FABRIC_STATE_NOT_SUPPORTED;\n    (void) ncclNvmlDeviceGetGpuFabricInfoV(nvmlDev, &info->fabricInfo);\n    if (info->fabricInfo.state != NVML_GPU_FABRIC_STATE_NOT_SUPPORTED) {\n      unsigned long uuid0 = 0;\n      unsigned long uuid1 = 0;\n      if (ncclParamMNNVLUUID() != -1) {\n        unsigned long temp_uuid0 = (unsigned long)ncclParamMNNVLUUID();\n        unsigned long temp_uuid1 = (unsigned long)ncclParamMNNVLUUID();\n        memcpy(info->fabricInfo.clusterUuid, &temp_uuid0, sizeof(temp_uuid0));\n        memcpy(info->fabricInfo.clusterUuid + sizeof(temp_uuid0), &temp_uuid1, sizeof(temp_uuid1));\n      }\n      memcpy(&uuid0, info->fabricInfo.clusterUuid, sizeof(uuid0));\n      memcpy(&uuid1, info->fabricInfo.clusterUuid + sizeof(uuid0), sizeof(uuid1));\n      if (ncclParamMNNVLCliqueId() == -2) {\n        nvmlPlatformInfo_t platformInfo = { 0 };\n        NCCLCHECK(ncclNvmlDeviceGetPlatformInfo(nvmlDev, &platformInfo));\n        INFO(NCCL_INIT, \"MNNVL rack serial %s slot %d tray %d hostId %d peerType %d moduleId %d\",\n             platformInfo.chassisSerialNumber, platformInfo.slotNumber, platformInfo.trayIndex,\n             platformInfo.hostId, platformInfo.peerType, platformInfo.moduleId);\n        // Use a hash of the Rack serial number to partition the NVLD clique\n        info->fabricInfo.cliqueId = getHash(platformInfo.chassisSerialNumber, sizeof(platformInfo.chassisSerialNumber));\n      } else if (ncclParamMNNVLCliqueId() != -1) info->fabricInfo.cliqueId = ncclParamMNNVLCliqueId();\n      INFO(NCCL_INIT, \"MNNVL busId 0x%lx fabric UUID %lx.%lx cliqueId 0x%x state %d healthMask 0x%x\",\n           info->busId,\n           uuid0, uuid1,\n           info->fabricInfo.cliqueId, info->fabricInfo.state, info->fabricInfo.healthMask);\n    }\n  }\n#endif\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t setupChannel(struct ncclComm* comm, int channelId, int rank, int nranks, int* ringRanks) {\n  TRACE(NCCL_INIT, \"rank %d nranks %d\", rank, nranks);\n  NCCLCHECK(initChannel(comm, channelId));\n\n  struct ncclRing* ring = &comm->channels[channelId].ring;\n  // Find our ring-distance from rank zero and reorganize ranks to start with rank.\n  int ixZero=0, ixRank=0;\n  for (int i=0; i < nranks; i++) {\n    if (ringRanks[i] == 0) ixZero = i;\n    if (ringRanks[i] == rank) ixRank = i;\n  }\n  ring->index = (ixRank-ixZero + nranks)%nranks;\n  for (int i=0; i<nranks; i++) {\n    ring->userRanks[i] = ringRanks[(i+ixRank)%nranks];\n  }\n  return ncclSuccess;\n}\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#else\n#define DEFAULT_LL_BUFFSIZE (NCCL_LL_LINES_PER_THREAD*NCCL_LL_MAX_NTHREADS*NCCL_STEPS*sizeof(union ncclLLFifoLine))\n#define DEFAULT_LL128_BUFFSIZE (NCCL_LL128_ELEMS_PER_THREAD*NCCL_LL128_MAX_NTHREADS*NCCL_STEPS*sizeof(uint64_t))\n#define DEFAULT_BUFFSIZE (1 << 22) /* 4MiB */\n#endif\nNCCL_PARAM(BuffSize, \"BUFFSIZE\", -2);\nNCCL_PARAM(LlBuffSize, \"LL_BUFFSIZE\", -2);\nNCCL_PARAM(Ll128BuffSize, \"LL128_BUFFSIZE\", -2);\n// Default value of P2P_NET_CHUNKSIZE may be overwritten by changes in src/rccl_wrap.cc\nNCCL_PARAM(P2pNetChunkSize, \"P2P_NET_CHUNKSIZE\", (1 << 17)); /* 128 kB */\nNCCL_PARAM(P2pPciChunkSize, \"P2P_PCI_CHUNKSIZE\", (1 << 17)); /* 128 kB */\nNCCL_PARAM(P2pNvlChunkSize, \"P2P_NVL_CHUNKSIZE\", (1 << 19)); /* 512 kB */\n\nstatic ncclResult_t computeBuffSizes(struct ncclComm* comm) {\n  int64_t envs[NCCL_NUM_PROTOCOLS] = { ncclParamLlBuffSize(), ncclParamLl128BuffSize(), ncclParamBuffSize() };\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  int defaults[NCCL_NUM_PROTOCOLS];\n  rcclSetDefaultBuffSizes(comm, defaults);\n#else\n  int defaults[NCCL_NUM_PROTOCOLS] = { DEFAULT_LL_BUFFSIZE, DEFAULT_LL128_BUFFSIZE, DEFAULT_BUFFSIZE };\n#endif\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n    comm->buffSizes[p] = envs[p] != -2 ? envs[p] : defaults[p];\n  }\n\n  if (comm->nNodes > 1) {\n    rcclSetP2pNetChunkSize(comm, comm->p2pChunkSize);\n    comm->p2pChunkSize = (comm->p2pChunkSize > RCCL_VALUE_INVALID)? comm->p2pChunkSize :  ncclParamP2pNetChunkSize();\n  }\n  else if (comm->isAllNvlink) comm->p2pChunkSize = ncclParamP2pNvlChunkSize();\n  else comm->p2pChunkSize = ncclParamP2pPciChunkSize();\n\n  // Make sure P2P chunksize is not larger than coll chunksize.\n  if (comm->p2pChunkSize * NCCL_STEPS > comm->buffSizes[NCCL_PROTO_SIMPLE]) comm->p2pChunkSize = comm->buffSizes[NCCL_PROTO_SIMPLE]/NCCL_STEPS;\n\n  if (comm->sharedRes->owner != comm) {\n    /* make sure split comm p2pChunkSize won't exceed shared p2pChunkSize. */\n    comm->p2pChunkSize = std::min(comm->p2pChunkSize, comm->sharedRes->tpP2pChunkSize);\n  } else {\n    comm->sharedRes->tpP2pChunkSize = comm->p2pChunkSize;\n  }\n\n  INFO(NCCL_INIT, \"P2P Chunksize set to %d\", comm->p2pChunkSize);\n  return ncclSuccess;\n}\n\nNCCL_PARAM(GraphDumpFileRank, \"GRAPH_DUMP_FILE_RANK\", 0);\nNCCL_PARAM(CollNetNodeThreshold, \"COLLNET_NODE_THRESHOLD\", 2);\nNCCL_PARAM(NvbPreconnect, \"NVB_PRECONNECT\", 0);\nNCCL_PARAM(AllocP2pNetLLBuffers, \"ALLOC_P2P_NET_LL_BUFFERS\", 0);\n#ifdef ENABLE_WARP_SPEED\nextern int64_t rcclParamWarpSpeedEnable();\nextern int64_t rcclParamWarpSpeedAutoMode();\nextern int64_t rcclParamWarpSpeedCuCount();\n#endif\n// MNNVL: Flag to indicate whether to enable Multi-Node NVLink\nNCCL_PARAM(MNNVLEnable, \"MNNVL_ENABLE\", 2);\n\n#define TIMER_INIT_TOTAL 0\n#define TIMER_INIT_KERNELS 1\n#define TIMER_INIT_BOOTSTRAP 2\n#define TIMER_INIT_ALLGATHER 3\n#define TIMER_INIT_TOPO 4\n#define TIMER_INIT_GRAPHS 5\n#define TIMER_INIT_CONNECT 6\n#define TIMER_INIT_ALLOC 7\n#define TIMERS_INIT_COUNT 8\n\nstatic ncclResult_t initNvlDomainInfo(struct ncclComm* comm) {\n  // Initialize NVLink domain info\n  comm->nvlDomainInfo.nNvlDomains = comm->nNodes;\n  comm->nvlDomainInfo.minRanksPerNvlDomain = comm->minLocalRanks;\n  comm->nvlDomainInfo.maxRanksPerNvlDomain = comm->maxLocalRanks;\n  \n  TRACE(NCCL_INIT, \"NVLink domains: %d domains, min ranks per domain: %d, max ranks per domain: %d\",\n        comm->nNodes, comm->nvlDomainInfo.minRanksPerNvlDomain, comm->nvlDomainInfo.maxRanksPerNvlDomain);\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t initTransportsRank(struct ncclComm* comm, struct ncclComm* parent, uint64_t timers[TIMERS_INIT_COUNT]) {\n  // We use 2 AllGathers\n  // 1. { peerInfo, comm, compCap}\n  // 2. { nChannels, graphInfo, topoRanks }\n  ncclResult_t ret = ncclSuccess;\n  int rank = comm->rank;\n  int nranks = comm->nRanks;\n  int nNodes = 1;\n  cpu_set_t affinitySave;\n  struct ncclTopoGraph* ringGraph = &comm->graphs[NCCL_ALGO_RING];\n  struct ncclTopoGraph* treeGraph = &comm->graphs[NCCL_ALGO_TREE];\n  struct ncclTopoGraph* collNetChainGraph = &comm->graphs[NCCL_ALGO_COLLNET_CHAIN];\n  struct ncclTopoGraph* collNetDirectGraph = &comm->graphs[NCCL_ALGO_COLLNET_DIRECT];\n  struct ncclTopoGraph* nvlsGraph = &comm->graphs[NCCL_ALGO_NVLS];\n  struct ncclTopoGraph* graphs[NCCL_NUM_ALGORITHMS] = { treeGraph, ringGraph, collNetDirectGraph, collNetChainGraph, nvlsGraph, nvlsGraph, treeGraph };\n\n  struct graphInfo {\n    int pattern;\n    int nChannels;\n    int sameChannels;\n    float bwIntra;\n    float bwInter;\n    int typeIntra;\n    int typeInter;\n    int crossNic;\n  };\n\n  struct allGatherInfo {\n    struct graphInfo graphInfo[NCCL_NUM_ALGORITHMS];\n    struct ncclTopoRanks topoRanks;\n    int cpuArch;\n    int cpuVendor;\n    int localRanks;\n    int nc;\n    bool pivotA2AEnabled;\n    bool ll128Enabled;\n    bool mscclEnabled;\n  };\n\n  int nChannelsOrig;\n  struct allGatherInfo *allGather3Data = NULL;\n  struct ncclTopoRanks** allTopoRanks = NULL;\n  int *nodesFirstRank = NULL, *nodesTreePatterns = NULL;\n  int *rings = NULL;\n  int* nvbPeers = NULL;\n  struct ncclProxyConnector proxyConn;\n  int* pxnPeers = NULL;\n  int *topParentLocalRanks = NULL;\n  int p2pLevel = -1;\n\n  bool needsProxy = false;\n  bool mscclNeedsProxy = needsProxy;\n\n  timers[TIMER_INIT_ALLGATHER] = clockNano();\n  // AllGather1 - begin\n  NCCLCHECKGOTO(ncclCalloc(&comm->peerInfo, nranks+1), ret, fail); // Extra rank to represent CollNet root\n  NCCLCHECKGOTO(fillInfo(comm, comm->peerInfo+rank, comm->commHash), ret, fail);\n  NCCLCHECKGOTO(bootstrapAllGather(comm->bootstrap, comm->peerInfo, sizeof(struct ncclPeerInfo)), ret, fail);\n  __atomic_store_n(&comm->peerInfoValid, true, __ATOMIC_RELEASE);\n\n  comm->cuMemSupport = 1;\n  for (int i = 0; i < nranks; i++) {\n    if (comm->peerInfo[i].version != comm->peerInfo[rank].version) {\n      WARN(\"Mismatched NCCL version detected : rank %d version %d rank %d version %d\",\n           i, comm->peerInfo[i].version, rank, comm->peerInfo[rank].version);\n      ret = ncclInvalidUsage;\n      goto fail;\n    }\n    if (comm->peerInfo[i].hostHash != comm->peerInfo[rank].hostHash) nNodes++;\n    if (!comm->peerInfo[i].cuMemSupport) comm->cuMemSupport = 0;\n    if ((i != rank) && (comm->peerInfo[i].hostHash == comm->peerInfo[rank].hostHash) && (comm->peerInfo[i].busId == comm->peerInfo[rank].busId)) {\n      WARN(\"Duplicate GPU detected : rank %d and rank %d both on CUDA device %lx\", rank, i, comm->peerInfo[rank].busId);\n      ret = ncclInvalidUsage;\n      goto fail;\n    }\n  }\n\n  // AllGather1 - end\n  timers[TIMER_INIT_ALLGATHER] = clockNano() - timers[TIMER_INIT_ALLGATHER];\n\n  // Check for MNNVL support\n  NCCLCHECKGOTO(ncclGetUserP2pLevel(&p2pLevel), ret, fail);\n  if ((nNodes > 1 && ncclParamMNNVLEnable() != 0 && p2pLevel != 0) || ncclParamMNNVLEnable() == 1) {\n    NCCLCHECKGOTO(ncclMnnvlCheck(comm), ret, fail);\n  }\n\n  do {\n    // Compute intra-process ranks\n    int intraProcRank0 = -1, intraProcRank = -1, intraProcRanks = 0;\n    for (int i = 0; i < nranks; i++) comm->minCompCap = std::min(comm->minCompCap, comm->peerInfo[i].cudaCompCap);\n    for (int i = 0; i < nranks; i++) comm->maxCompCap = std::max(comm->maxCompCap, comm->peerInfo[i].cudaCompCap);\n\n    comm->nvlsRegSupport = 1;\n    for (int i = 0; i < nranks; i++) {\n      if ((comm->peerInfo[i].hostHash == comm->peerInfo[rank].hostHash)\n          && (comm->peerInfo[i].pidHash == comm->peerInfo[rank].pidHash)) {\n        // Rank is in same process\n        if (intraProcRanks == 0) intraProcRank0 = i;\n        if (i == rank) intraProcRank = intraProcRanks;\n        intraProcRanks++;\n        if (intraProcRank0 == rank && rank != i) {\n          comm->peerInfo[i].comm->intraNext = comm->intraNext;\n          comm->intraNext = comm->peerInfo[i].comm;\n        }\n      }\n\n      if (comm->nvlsRegSupport) {\n        for (int j = i + 1; j < nranks; j++) {\n          if (comm->peerInfo[i].hostHash == comm->peerInfo[j].hostHash &&\n            comm->peerInfo[i].pidHash == comm->peerInfo[j].pidHash) {\n            comm->nvlsRegSupport = 0;\n            break;\n          }\n        }\n      }\n    }\n\n    // Buffer Registration is not supported with MNNVL\n    if (comm->MNNVL) comm->nvlsRegSupport = 0;\n    else if (ncclParamSingleProcMemRegEnable()) comm->nvlsRegSupport = 1;\n\n    TRACE(NCCL_INIT,\"pidHash[%d] %lx intraProcRank %d intraProcRanks %d intraProcRank0 %d\",\n        rank, comm->peerInfo[rank].pidHash, intraProcRank, intraProcRanks, intraProcRank0);\n    if (intraProcRank == -1 || intraProcRank0 == -1 || comm->peerInfo[intraProcRank0].comm == NULL) {\n      WARN(\"Failed to determine intra proc ranks rank %d hostHash %lx pidHash %lx intraProcRank %d intraProcRanks %d intraProcRank0 %d\",\n          rank, comm->peerInfo[rank].hostHash, comm->peerInfo[rank].pidHash,\n          intraProcRank, intraProcRanks, intraProcRank0);\n      ret = ncclInternalError;\n      goto fail;\n    }\n    #if defined(ENABLE_NPKIT)\n    if (intraProcRanks != 1) {\n      WARN(\"NPKit currently does not support more than 1 device per process\");\n      ret = ncclInternalError;\n      goto fail;\n    }\n    #endif\n    struct ncclComm* comm0 = comm->peerInfo[intraProcRank0].comm;\n    assert(intraProcRank==0 ? comm==comm0 : true);\n    comm->intraComm0 = comm0;\n    comm->intraRank = intraProcRank;\n    comm->intraRanks = intraProcRanks;\n    comm->intraBarrierPhase = 0;\n    comm->intraBarrierCounter = 0;\n    comm->intraBarrierGate = 0;\n  } while(0);\n\n  timers[TIMER_INIT_TOPO] = clockNano();\n\n  // Dump XML if requested by user\n  const char* dumpXmlFile;\n  dumpXmlFile = ncclGetEnv(\"NCCL_TOPO_DUMP_FILE\");\n  if (dumpXmlFile) {\n    NCCLCHECKGOTO(ncclTopoGetSystem(comm, NULL, dumpXmlFile), ret, fail);\n  }\n  // Topo detection / System graph creation\n  NCCLCHECKGOTO(ncclTopoGetSystem(comm, &comm->topo), ret, fail);\n  comm->topo->tuning = rcclGetTuningIndexForArch(comm->archName);\n  INFO(NCCL_INIT, \"Tuning index set to: %d\",  comm->topo->tuning);\n  // save nRanks to ncclTopoSystem as indicator of multi-node\n  comm->topo->nRanks = comm->nRanks;\n  // init netGdrLevel\n  comm->topo->netGdrLevel = -2;\n  // init Pivot A2A related fields\n  comm->topo->pivotA2AEnabled = false;\n  comm->topo->pivotA2ANumBiRings = 0;\n  // LL128\n  comm->topo->ll128Enabled = false;\n  // Topology hint for MSCCL internal scheduler about whether to enable MSCCL\n  comm->topo->mscclEnabled = false;\n  // Topology hint if tree has been defined by model or User\n  comm->topo->treeDefined = false;\n  // Compute paths between GPUs and NICs\n  NCCLCHECKGOTO(ncclTopoComputePaths(comm->topo, comm), ret, fail);\n  // Remove inaccessible GPUs and unused NICs\n  NCCLCHECKGOTO(ncclTopoTrimSystem(comm->topo, comm), ret, fail);\n  // Recompute paths after trimming\n  NCCLCHECKGOTO(ncclTopoComputePaths(comm->topo, comm), ret, fail);\n  // Init search\n  NCCLCHECKGOTO(ncclTopoSearchInit(comm->topo), ret, fail);\n  // Decide on comm's CPU architecture.\n  NCCLCHECKGOTO(ncclTopoComputeCommCPU(comm), ret, fail);\n  // Print final topology\n  NCCLCHECKGOTO(ncclTopoPrint(comm->topo), ret, fail);\n  timers[TIMER_INIT_TOPO] = clockNano() - timers[TIMER_INIT_TOPO];\n\n  // Set Affinity to a CPU local the our GPU, so that all memory we allocate\n  // on the host is local.\n  NCCLCHECKGOTO(ncclTopoGetCpuAffinity(comm->topo, comm->rank, &comm->cpuAffinity), ret, fail);\n  if (CPU_COUNT(&comm->cpuAffinity)) {\n    sched_getaffinity(0, sizeof(cpu_set_t), &affinitySave);\n    sched_setaffinity(0, sizeof(cpu_set_t), &comm->cpuAffinity);\n  }\n\n  // Determine local CollNet support\n  if (!collNetSupport(comm)) {\n    comm->config.collnetEnable = 0;\n  }\n\n  // Determine local Nvls support\n  NCCLCHECK(ncclNvlsInit(comm));\n\n  // [RCCL] Compute hostIdx (based on hostHash)\n  {\n    comm->topo->nHosts = 0;\n    for (int r = 0; r < nranks; r++) {\n      int isNewHost = 1;\n      // Check if this is the first time this hostname has been used\n      for (int i = 0; i < r && isNewHost; i++) {\n        if (comm->peerInfo[i].hostHash == comm->peerInfo[r].hostHash) {\n          isNewHost = 0;\n        }\n      }\n      if (isNewHost)\n      {\n        // Check if this is the same hostname associated with this rank\n        if (comm->peerInfo[r].hostHash == comm->peerInfo[rank].hostHash)\n          comm->topo->hostIdx = comm->topo->nHosts;\n        comm->topo->nHosts++;\n      }\n    }\n  }\n\n  timers[TIMER_INIT_GRAPHS] = clockNano();\n  // Get rings and trees\n  memset(ringGraph, 0, sizeof(struct ncclTopoGraph));\n  ringGraph->id = 0;\n  ringGraph->pattern = NCCL_TOPO_PATTERN_RING;\n  ringGraph->minChannels = 1;\n  ringGraph->maxChannels = MAXCHANNELS/2;\n  NCCLCHECKGOTO(ncclTopoCompute(comm->topo, ringGraph), ret, fail);\n  NCCLCHECKGOTO(ncclTopoPrintGraph(comm->topo, ringGraph), ret, fail);\n\n  memset(treeGraph, 0, sizeof(struct ncclTopoGraph));\n  treeGraph->id = 1;\n  treeGraph->pattern = NCCL_TOPO_PATTERN_BALANCED_TREE;\n  treeGraph->minChannels = ringGraph->nChannels;\n  treeGraph->maxChannels = ringGraph->nChannels;\n  NCCLCHECKGOTO(ncclTopoCompute(comm->topo, treeGraph), ret, fail);\n  NCCLCHECKGOTO(ncclTopoPrintGraph(comm->topo, treeGraph), ret, fail);\n\n  memset(collNetChainGraph, 0, sizeof(struct ncclTopoGraph));\n  collNetChainGraph->id = 2;\n  collNetChainGraph->pattern = NCCL_TOPO_PATTERN_TREE;\n  collNetChainGraph->collNet = 1;\n  collNetChainGraph->minChannels = ringGraph->nChannels;\n  collNetChainGraph->maxChannels = ringGraph->nChannels;\n\n  memset(collNetDirectGraph, 0, sizeof(struct ncclTopoGraph));\n  collNetDirectGraph->id = 4;\n  collNetDirectGraph->pattern = NCCL_TOPO_PATTERN_COLLNET_DIRECT;\n  collNetDirectGraph->collNet = 1;\n  collNetDirectGraph->minChannels = 1;\n  collNetDirectGraph->maxChannels = MAXCHANNELS;\n  if (comm->config.collnetEnable) {\n    NCCLCHECKGOTO(ncclTopoCompute(comm->topo, collNetChainGraph), ret, fail);\n    NCCLCHECKGOTO(ncclTopoPrintGraph(comm->topo, collNetChainGraph), ret, fail);\n    NCCLCHECKGOTO(ncclTopoCompute(comm->topo, collNetDirectGraph), ret, fail);\n    NCCLCHECKGOTO(ncclTopoPrintGraph(comm->topo, collNetDirectGraph), ret, fail);\n  }\n\n  memset(nvlsGraph, 0, sizeof(struct ncclTopoGraph));\n  nvlsGraph->id = 3;\n  nvlsGraph->pattern = NCCL_TOPO_PATTERN_NVLS;\n  nvlsGraph->minChannels = 1;\n  nvlsGraph->maxChannels = MAXCHANNELS;\n  if (comm->nvlsSupport) {\n    NCCLCHECKGOTO(ncclTopoCompute(comm->topo, nvlsGraph), ret, fail);\n    NCCLCHECKGOTO(ncclTopoPrintGraph(comm->topo, nvlsGraph), ret, fail);\n  }\n  timers[TIMER_INIT_GRAPHS] = clockNano() - timers[TIMER_INIT_GRAPHS];\n\n  bool allXgmi, hasPeerAccess;\n  allXgmi = true;\n  hasPeerAccess = true;\n  // Check that all the GPUs have peer access to one another and are XGMI connected\n  for (int i = 0; i < nranks && hasPeerAccess; i++) {\n    int cudaDev1 = comm->peerInfo[i].cudaDev;\n    for (int j = 0; j < nranks; j++) {\n      if (i == j) continue;\n      int cudaDev2 = comm->peerInfo[j].cudaDev;\n      int p2p;\n      if (hipDeviceCanAccessPeer(&p2p, cudaDev1, cudaDev2) != hipSuccess || !p2p)\n      {\n        hasPeerAccess = false;\n        break;\n      }\n\n      bool isXGMI;\n      // Limit to single intermediate GPU for enabling clique\n      NCCLCHECK(ncclTopoGetLinkType(comm->topo, i, j, &isXGMI, 1));\n      allXgmi &= isXGMI;\n    }\n  }\n  // Initialize num P2P LL buffers for this communicator\n  comm->allocP2pNetLLBuffers = ncclParamAllocP2pNetLLBuffers() == 1;\n\n  if (comm->rank == ncclParamGraphDumpFileRank()) {\n    struct ncclTopoGraph* dumpGraphs[5] = { ringGraph, treeGraph, collNetDirectGraph, collNetChainGraph, nvlsGraph };\n    NCCLCHECKGOTO(ncclTopoDumpGraphs(comm->topo, 5, dumpGraphs), ret, fail);\n  }\n\n  if ((comm->topo->type & RCCL_TOPO_4P2H_ROME) && (comm->topo->type & RCCL_TOPO_GDR_ALL)) {\n    if (rcclParamP2pNetDisable() == 0) {\n      if (!(comm->topo->type & RCCL_TOPO_FORCE_INTRA)) comm->p2pNet = 1;\n      INFO(NCCL_INIT, \"RCCL enabled same node P2P over network\");\n    }\n    else\n      INFO(NCCL_INIT, \"RCCL force disabled same node P2P over network\");\n  }\n  // Because timers[[TIMER_INIT_ALLGATHER] already contains the timing of the first allgather,\n  // we temporarily store the start time of the subsequent one in an as-of-yet unused CONNECT timer.\n  timers[TIMER_INIT_CONNECT] = clockNano();\n  // AllGather3 - begin\n  NCCLCHECKGOTO(ncclCalloc(&allGather3Data, nranks), ret, fail);\n  int idx;\n  NCCLCHECK(ncclTopoIdToIndex(comm->topo, GPU, comm->busId, &idx));\n  allGather3Data[rank].nc = 2;\n  if (comm->topo->nodes[GPU].count == comm->topo->nRanks &&\n       IsArchMatch(comm->topo->nodes[GPU].nodes[idx].gpu.gcn, \"gfx906\") && allXgmi)\n    allGather3Data[rank].nc = 4;\n  if (IsArchMatch(comm->topo->nodes[GPU].nodes[idx].gpu.gcn, \"gfx908\"))\n    allGather3Data[rank].nc = std::max(4/ringGraph->nChannels, 2);\n  if (comm->topo->nodes[GPU].count == comm->topo->nRanks &&\n       (comm->topo->type & RCCL_TOPO_CR8G))\n    allGather3Data[rank].nc = 4;\n  if (comm->topo->nodes[GPU].count == comm->topo->nRanks &&\n      IsArchMatch(comm->topo->nodes[GPU].nodes[idx].gpu.gcn, \"gfx90a\"))\n    allGather3Data[rank].nc = 4;\n  if (IsArchMatch(comm->topo->nodes[GPU].nodes[idx].gpu.gcn, \"gfx90a\"))\n    allGather3Data[rank].nc = std::max(allGather3Data[rank].nc, 4/ringGraph->nChannels);\n  if (ringGraph->nChannels > MAXCHANNELS/2)\n    allGather3Data[rank].nc = 1;\n  comm -> gfx9CheapFenceOff = 1;\n  #ifdef HIP_UNCACHED_MEMORY\n  if(!rcclParamGfx9CheapFenceOff()){\n    if(IsArchMatch(comm->topo->nodes[GPU].nodes[idx].gpu.gcn, \"gfx942\")){\n      comm -> gfx9CheapFenceOff = 0;\n    }\n    else if(IsArchMatch(comm->topo->nodes[GPU].nodes[idx].gpu.gcn, \"gfx950\")){\n      comm -> gfx9CheapFenceOff = ROCM_VERSION < 70002 && nNodes > 1; // Enable for single node only prior to ROCm 7.0.2\n    }\n  }\n  INFO(NCCL_INIT, \"GFX9 cheap fence is %s\", comm -> gfx9CheapFenceOff ? \"OFF\" : \"ON\");\n  #endif\n  // RCCL: Only use one slice per primitive on some single node gfx9xx systems, only currently enabled for AllReduce, ReduceScatter, and AllGather\n  if (IsArchMatch(comm->topo->nodes[GPU].nodes[idx].gpu.gcn, \"gfx942\") || IsArchMatch(comm->topo->nodes[GPU].nodes[idx].gpu.gcn, \"gfx950\")){\n    comm->rcclUseOneSlice = nNodes == 1;\n  }\n  if (IsArchMatch(comm->topo->nodes[GPU].nodes[idx].gpu.gcn, \"gfx942\")) {\n    // Multi-node MI300A\n    int managed = 0;\n    CUDACHECK(hipDeviceGetAttribute(&managed, hipDeviceAttributeDirectManagedMemAccessFromHost, 0));\n    if (managed && nNodes > 1) {\n      // This forces the minimum channels to 24\n      allGather3Data[rank].nc = 6;\n    } else {\n      // MI300X\n      if (nranks == 2)\n        // NCCL_MIN_NCHANNELS=32\n        allGather3Data[rank].nc = 16;\n      else if (nranks == 4)\n        // NCCL_MIN_NCHANNELS=24\n        allGather3Data[rank].nc = 4;\n    }\n  }\n#ifdef ENABLE_WARP_SPEED\n  comm->topo->warpSpeedEnabled = (rcclParamWarpSpeedEnable() != 0 || rcclParamWarpSpeedAutoMode() != 0 || rcclParamWarpSpeedCuCount() > 0);\n#endif\n\n  // For single node communicators that do not uses the full xgmi links per gpu, i.e., nranks < 8\n  // Inflate the nChannels a bit to achieve higher b/w.\n  if (IsArchMatch(comm->topo->nodes[GPU].nodes[idx].gpu.gcn, \"gfx950\")) {\n    if (nranks == 2 && nNodes == 1){\n      allGather3Data[rank].nc = 16;\n    } else if (nranks == 4 && nNodes == 1){\n      allGather3Data[rank].nc = 8;\n    } else {\n      allGather3Data[rank].nc = 4;\n    }\n  }\n#ifdef ENABLE_WARP_SPEED\n  // Double default channels for WarpSpeed enabled communicators\n  if (comm->topo->warpSpeedEnabled) {\n    allGather3Data[rank].nc *= 2;\n  }\n#endif\n  allGather3Data[rank].pivotA2AEnabled = comm->topo->pivotA2AEnabled && rcclParamPivotAlltoallEnable();\n  comm->topo->ll128Enabled =  comm->topo->ll128Enabled || rcclParamLL128ForceEnable();\n  allGather3Data[rank].ll128Enabled = comm->topo->ll128Enabled;\n  allGather3Data[rank].mscclEnabled = comm->topo->mscclEnabled;\n\n  for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) {\n    allGather3Data[rank].graphInfo[a].pattern = graphs[a]->pattern;\n    allGather3Data[rank].graphInfo[a].nChannels = graphs[a]->nChannels;\n    allGather3Data[rank].graphInfo[a].sameChannels = graphs[a]->sameChannels;\n    allGather3Data[rank].graphInfo[a].bwIntra = graphs[a]->bwIntra;\n    allGather3Data[rank].graphInfo[a].bwInter = graphs[a]->bwInter;\n    allGather3Data[rank].graphInfo[a].typeIntra = graphs[a]->typeIntra;\n    allGather3Data[rank].graphInfo[a].typeInter = graphs[a]->typeInter;\n    allGather3Data[rank].graphInfo[a].crossNic = graphs[a]->crossNic;\n  }\n\n  allGather3Data[rank].cpuArch = comm->cpuArch;\n  allGather3Data[rank].cpuVendor = comm->cpuVendor;\n\n  comm->nChannels = std::min(treeGraph->nChannels, ringGraph->nChannels);\n  NCCLCHECKGOTO(ncclTopoPreset(comm, graphs, &allGather3Data[rank].topoRanks), ret, fail);\n\n  NCCLCHECKGOTO(bootstrapAllGather(comm->bootstrap, allGather3Data, sizeof(*allGather3Data)), ret, fail);\n\n  // Determine nNodes, firstRanks, ...\n  NCCLCHECKGOTO(ncclCalloc(&nodesFirstRank, nranks), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&nodesTreePatterns, nranks), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&comm->rankToNode, comm->nRanks), ret, fail);\n  for (int r=0; r<nranks; r++) {\n    int node;\n    int firstRank = allGather3Data[r].topoRanks.ringRecv[0];\n    for (node=0; node<comm->nNodes && nodesFirstRank[node] != firstRank; node++);\n    if (node == comm->nNodes) {\n      comm->nNodes++;\n      nodesFirstRank[node] = firstRank;\n      // Record tree pattern of each node as they can be different depending on sm arch\n      nodesTreePatterns[node] = allGather3Data[r].graphInfo[NCCL_ALGO_TREE].pattern;\n    }\n    comm->rankToNode[r] = node;\n\n    if (comm->cpuArch != allGather3Data[r].cpuArch &&\n        comm->cpuArch != NCCL_TOPO_CPU_ARCH_MIXED) {\n      comm->cpuArch = NCCL_TOPO_CPU_ARCH_MIXED;\n    }\n    if (comm->cpuVendor != allGather3Data[r].cpuVendor &&\n        comm->cpuVendor != NCCL_TOPO_CPU_VENDOR_MIXED) {\n      comm->cpuVendor = NCCL_TOPO_CPU_VENDOR_MIXED;\n    }\n  }\n\n  // Alert the user to the presence of mixed CPUs. In the past this has caused\n  // locks in some collective routines. This may help debug issues in the future.\n  if (rank==0) {\n    if (comm->cpuArch == NCCL_TOPO_CPU_ARCH_MIXED) {\n      INFO(NCCL_GRAPH, \"CPUs with mixed architecture were detected.\");\n    }\n    if (comm->cpuVendor == NCCL_TOPO_CPU_VENDOR_MIXED) {\n      INFO(NCCL_GRAPH, \"CPUs with mixed vendors were detected.\");\n    }\n  }\n\n  // Now that we know nNodes, alloc nodeRanks and compute localRanks for each node\n  NCCLCHECKGOTO(ncclCalloc(&comm->nodeRanks, comm->nNodes), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&comm->rankToLocalRank, comm->nRanks), ret, fail);\n  for (int r=0; r<comm->nRanks; r++) {\n    int node = comm->rankToNode[r];\n    comm->rankToLocalRank[r] = comm->nodeRanks[node].localRanks;\n    comm->nodeRanks[node].localRanks++;\n  }\n  comm->minLocalRanks = INT_MAX;\n  // Allocate ranks arrays for each node\n  for (int n=0; n<comm->nNodes; n++) {\n    NCCLCHECKGOTO(ncclCalloc(&comm->nodeRanks[n].localRankToRank, comm->nodeRanks[n].localRanks), ret, fail);\n    comm->maxLocalRanks = std::max(comm->maxLocalRanks, comm->nodeRanks[n].localRanks);\n    comm->minLocalRanks = std::min(comm->minLocalRanks, comm->nodeRanks[n].localRanks);\n    comm->nodeRanks[n].localRanks = 0;\n  }\n  // And fill the ranks arrays\n  for (int r=0; r<comm->nRanks; r++) {\n    int node = comm->rankToNode[r];\n    comm->nodeRanks[node].localRankToRank[comm->nodeRanks[node].localRanks++] = r;\n  }\n  comm->node = comm->rankToNode[rank];\n  comm->localRankToRank = comm->nodeRanks[comm->node].localRankToRank;\n  comm->localRank = comm->rankToLocalRank[rank];\n  comm->localRanks = comm->nodeRanks[comm->node].localRanks;\n\n  NCCLCHECKGOTO(initNvlDomainInfo(comm), ret, fail);\n\n  TRACE(NCCL_INIT,\"hostHash[%d] %lx localRank %d localRanks %d localRank0 %d\",\n        rank, comm->peerInfo[rank].hostHash, comm->localRank, comm->localRanks, comm->localRankToRank[0]);\n  if (comm->localRank == -1 || comm->localRankToRank[0] == -1 || comm->localRanks == 0) {\n    WARN(\"Failed to determine local ranks rank %d hostHash %lx pidHash %lx localRank %d localRanks %d localRank0 %d\",\n         rank, comm->peerInfo[rank].hostHash, comm->peerInfo[rank].pidHash,\n         comm->localRank, comm->localRanks, comm->localRankToRank[0]);\n    ret = ncclInternalError;\n    goto fail;\n  }\n\n  INFO(NCCL_INIT, \"comm %p rank %d nRanks %d nNodes %d localRanks %d localRank %d MNNVL %d\",\n       comm, rank, comm->nRanks, comm->nNodes, comm->localRanks, comm->localRank, comm->MNNVL);\n\n  nChannelsOrig = comm->nChannels;\n  NCCLCHECKGOTO(ncclCalloc(&allTopoRanks, comm->nRanks), ret, fail);\n  int nc;\n  nc = allGather3Data[0].nc;\n  for (int i=0; i<nranks; i++) {\n    allTopoRanks[i] = &allGather3Data[i].topoRanks;\n    nc = std::min(allGather3Data[i].nc, nc);\n    // Make sure we align all ranks so that the tuning is consistent across ranks\n    comm->topo->pivotA2AEnabled = comm->topo->pivotA2AEnabled && allGather3Data[i].pivotA2AEnabled;\n    comm->topo->ll128Enabled = comm->topo->ll128Enabled && allGather3Data[i].ll128Enabled;\n    comm->topo->mscclEnabled = comm->topo->mscclEnabled && allGather3Data[i].mscclEnabled;\n    for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) {\n      graphs[a]->nChannels = std::min(allGather3Data[i].graphInfo[a].nChannels, graphs[a]->nChannels);\n      graphs[a]->sameChannels = std::min(allGather3Data[i].graphInfo[a].sameChannels, graphs[a]->sameChannels);\n      graphs[a]->bwIntra = std::min(allGather3Data[i].graphInfo[a].bwIntra, graphs[a]->bwIntra);\n      graphs[a]->bwInter = std::min(allGather3Data[i].graphInfo[a].bwInter, graphs[a]->bwInter);\n      graphs[a]->typeIntra = std::max(allGather3Data[i].graphInfo[a].typeIntra, graphs[a]->typeIntra);\n      graphs[a]->typeInter = std::max(allGather3Data[i].graphInfo[a].typeInter, graphs[a]->typeInter);\n      graphs[a]->crossNic = std::max(allGather3Data[i].graphInfo[a].crossNic, graphs[a]->crossNic);\n    }\n    comm->maxTreePattern = std::max(comm->maxTreePattern, allGather3Data[i].graphInfo[NCCL_ALGO_TREE].pattern);\n  }\n  if (graphs[NCCL_ALGO_COLLNET_CHAIN]->nChannels == 0) comm->config.collnetEnable = 0;\n  if (graphs[NCCL_ALGO_NVLS]->nChannels == 0) comm->nvlsSupport = comm->nvlsChannels = 0;\n\n  comm->nChannels = treeGraph->nChannels = ringGraph->nChannels =\n    (comm->topo->nodes[GPU].count != comm->topo->nRanks && comm->topo->nodes[NET].count)\n    ? std::min(treeGraph->nChannels, ringGraph->nChannels) : ringGraph->nChannels;\n  if (comm->nChannels < nChannelsOrig) {\n    // We started duplicating channels during Preset(), so we need to move the\n    // duplicated channels since we have removed some.\n    for (int i=0; i<comm->nChannels; i++) memcpy(comm->channels+comm->nChannels+i, comm->channels+nChannelsOrig+i, sizeof(struct ncclChannel));\n  }\n\n  // Determine CollNet support after all-gather now that we know nNodes and each node localRanks\n  if (comm->config.collnetEnable == 1) {\n    int collNetNodeThreshold = ncclParamCollNetNodeThreshold();\n    if (comm->nNodes < collNetNodeThreshold) {\n      INFO(NCCL_INIT, \"Communicator has %d nodes which is less than CollNet node threshold %d, disabling CollNet\", comm->nNodes, collNetNodeThreshold);\n      comm->config.collnetEnable = 0;\n    }\n  }\n  NCCLCHECK(ncclTopoPathAllNVLink(comm->topo, &comm->isAllNvlink));\n  comm->isOneRPN = (comm->maxLocalRanks == 1);\n\n  NCCLCHECKGOTO(ncclCalloc(&rings, nranks*MAXCHANNELS), ret, fail);\n\n  NCCLCHECKGOTO(ncclTopoPostset(comm, nodesFirstRank, nodesTreePatterns, allTopoRanks, rings, graphs, parent, nc), ret, fail);\n  if (comm->topo->treeDefined) NCCLCHECK(ncclTreeBasePostset(comm, treeGraph));\n\n  // AllGather3 - end\n  timers[TIMER_INIT_ALLGATHER] += clockNano() - timers[TIMER_INIT_CONNECT];\n\n  TRACE(NCCL_INIT, \"rank %d nranks %d - BUILT %d TREES/RINGS\", rank, nranks, comm->nChannels);\n\n  char line[4096];\n  line[0]='\\0';\n  for (int c=0; c<comm->nChannels; c++) {\n    struct ncclTree* tree = &comm->channels[c].tree;\n    snprintf(line+strlen(line), 2047-strlen(line), \" [%d] %d/%d/%d->%d->%d\",\n        c, tree->down[0], tree->down[1], tree->down[2], rank, tree->up);\n    INFO(NCCL_GRAPH, \"Ring %d : %d -> %d -> %d comm %p nRanks %02d busId %lx\", c, comm->channels[c].ring.prev,\n         comm->rank, comm->channels[c].ring.next, comm, comm->nRanks, comm->busId);\n  }\n  line[4095] = '\\0';\n  INFO(NCCL_INIT, \"Trees%s comm %p nRanks %02d busId %lx\", line, comm, comm->nRanks, comm->busId);\n\n  NCCLCHECKGOTO(computeBuffSizes(comm), ret, fail);\n\n  // Compute nChannels per peer for p2p\n  NCCLCHECKGOTO(ncclTopoComputeP2pChannels(comm), ret, fail);\n\n  /* until now, all info of comm should be known. We can initialize shared resources and\n   * map localRanks to top parent local ranks. NOTE: this shareRes init must be put before\n   * all proxy operations. */\n  if (comm->sharedRes->owner == comm) {\n    comm->sharedRes->tpNLocalRanks = comm->localRanks;\n    comm->sharedRes->magic = comm->magic;\n    comm->sharedRes->tpNChannels = comm->nChannels;\n    comm->sharedRes->tpP2pNChannels = comm->p2pnChannels;\n    memcpy(comm->sharedRes->tpRankToLocalRank, comm->rankToLocalRank, sizeof(int) * comm->nRanks);\n  }\n  NCCLCHECKGOTO(ncclCalloc(&topParentLocalRanks, comm->localRanks), ret, fail);\n  for (int i = 0; i < comm->localRanks; ++i) {\n    int tpRank = comm->topParentRanks[comm->localRankToRank[i]];\n    topParentLocalRanks[i] = comm->sharedRes->tpRankToLocalRank[tpRank];\n  }\n  comm->topParentLocalRanks = topParentLocalRanks;\n\n  // Profiler plugin context has to be initialized before proxy thread\n  NCCLCHECK(ncclProfilerPluginInit(comm));\n\n  NCCLCHECKGOTO(ncclTransportCheckP2pType(comm, &comm->isAllDirectP2p, &comm->directMode), ret, fail);\n  // Launch proxy service thread, after this, the proxy calls can be used.\n  if (parent && parent->shareResources) {\n    comm->proxyState = parent->sharedRes->proxyState;\n    ncclAtomicRefCountIncrement(&parent->sharedRes->proxyState->refCount);\n  } else {\n    NCCLCHECKGOTO(ncclProxyCreate(comm), ret, fail);\n  }\n  NCCLCHECKGOTO(ncclCalloc(&comm->gproxyConn, comm->nRanks), ret, fail);\n\n  timers[TIMER_INIT_CONNECT] = clockNano();\n  do { // Build p2p schedule\n    int node = comm->node;\n    int nNodes = comm->nNodes;\n    int nRanks = comm->nRanks;\n    int local = comm->localRank;\n    int nLocals = comm->maxLocalRanks;\n    struct ncclNodeRanks* nodeRanks = comm->nodeRanks;\n    bool flat = false;\n    for (int node = 0; node < nNodes; node++) {\n      if (nodeRanks[node].localRanks != nLocals) {\n        flat = true;\n        nNodes = 1; node = 0;\n        nLocals = nRanks; local = rank;\n        break;\n      }\n    }\n    int nNodesPow2 = pow2Up(nNodes);\n    int nLocalsPow2 = pow2Up(nLocals);\n    comm->p2pSchedule = ncclMemoryStackAlloc<ncclComm::P2pSchedulePair>(&comm->memPermanent, nRanks);\n    comm->planner.peers = ncclMemoryStackAlloc<ncclKernelPlanner::Peer>(&comm->memPermanent, nRanks);\n    uint32_t nodeRound = 0;\n    uint32_t nodeDelta = 0;\n    int round = 0;\n    // When enumerating peer deltas we use the quadratic formula (x*x+x)/2 mod N.\n    // Since that formula only produces valid permutations when N is a pow of 2,\n    // we let N = pow2Up(n) and filter out results greater-eq to n.\n    // Example sequence for 16 ranks: 0, 1, 3, 6, 10, 15, 5, 12, 4, 13, 7, 2, 14, 11, 9, 8\n    do {\n      if (nodeDelta < nNodes) { // Filter nonsensical node deltas\n        int sendNode = (node + nodeDelta) % nNodes;\n        int recvNode = (node - nodeDelta + nNodes) % nNodes;\n        uint32_t localRound = 0;\n        uint32_t localDelta = 0;\n        do {\n          if (localDelta < nLocals) { // Filter nonsensical node-local deltas\n            int sendLocal = (local + localDelta) % nLocals;\n            int recvLocal = (local - localDelta + nLocals) % nLocals;\n            comm->p2pSchedule[round].sendRank = flat ? sendLocal : nodeRanks[sendNode].localRankToRank[sendLocal];\n            comm->p2pSchedule[round].recvRank = flat ? recvLocal : nodeRanks[recvNode].localRankToRank[recvLocal];\n            round += 1;\n          }\n          localRound += 1;\n          localDelta = (localDelta + localRound) & (nLocalsPow2 - 1); // Quadratic update\n        } while (localRound != nLocalsPow2);\n      }\n      nodeRound += 1;\n      nodeDelta = (nodeDelta + nodeRound) & (nNodesPow2 - 1); // Quadratic update\n    } while (nodeRound != nNodesPow2);\n\n    if (round != nRanks) {\n      WARN(\"P2p schedule creation has bugs.\");\n      ret = ncclInternalError;\n      goto fail;\n    }\n  } while (0);\n\n  comm->runtimeConn = comm->cuMemSupport && ncclParamRuntimeConnect();\n  if (comm->runtimeConn) {\n    for (int c=0; c<comm->nChannels; c++) {\n      NCCLCHECKGOTO(setupChannel(comm, c, rank, nranks, rings+c*nranks), ret, fail);\n    }\n    // Attempt to setup NVLS, may silently fail and disable NVLS\n    NCCLCHECKGOTO(ncclNvlsSetup(comm, parent), ret, fail);\n    // Check if we can setup CollNet\n    if (comm->config.collnetEnable) ncclCollNetSetup(comm, parent, graphs);\n  } else {\n    for (int c=0; c<comm->nChannels; c++) {\n      NCCLCHECKGOTO(setupChannel(comm, c, rank, nranks, rings+c*nranks), ret, fail);\n    }\n    NCCLCHECKGOTO(ncclTransportRingConnect(comm), ret, fail);\n\n    // Connect NET for intranode use\n    if (comm->graphs[NCCL_ALGO_RING].nIntraChannels && rcclParamP2pNetDisable() == 0) {\n      comm->useIntraNet = 1;\n      for (int c = 0; c < comm->nChannels; c++) {\n        struct ncclChannel* channel = comm->channels+c;\n        if (comm->nRanks == 1) continue;\n        NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, 1, &channel->ring.prev, 1, &channel->ring.next, NCCL_CONN_IDX_P2P_NET), ret, fail);\n      }\n      NCCLCHECKGOTO(ncclTransportP2pSetup(comm, &comm->graphs[NCCL_ALGO_RING], NCCL_CONN_IDX_P2P_NET), ret, fail);\n    }\n\n    // Connect Trees\n    NCCLCHECKGOTO(ncclTransportTreeConnect(comm), ret, fail);\n\n    // Connect PAT only for communicators with 1 GPU per node\n    if (comm->maxLocalRanks == 1) NCCLCHECKGOTO(ncclTransportPatConnect(comm), ret, fail);\n\n    // Attempt to setup NVLS, may silently fail and disable NVLS\n    NCCLCHECKGOTO(ncclNvlsSetup(comm, parent), ret, fail);\n    NCCLCHECKGOTO(ncclNvlsBufferSetup(comm), ret, fail);\n\n    // And NVLS trees if needed\n    NCCLCHECKGOTO(ncclNvlsTreeConnect(comm), ret, fail);\n\n    // Check if we can setup CollNet\n    if (comm->config.collnetEnable) {\n      ncclCollNetSetup(comm, parent, graphs);\n      NCCLCHECKGOTO(ncclCollNetChainBufferSetup(comm), ret, fail);\n      if (comm->maxLocalRanks <= NCCL_MAX_DIRECT_ARITY+1) {\n        NCCLCHECKGOTO(ncclCollNetDirectBufferSetup(comm), ret, fail);\n      }\n    }\n\n    // Connect to local net proxy\n    NCCLCHECKGOTO(ncclProxyConnect(comm, TRANSPORT_NET, 1, comm->rank, &proxyConn), ret, fail);\n    NCCLCHECKGOTO(ncclProxyCallBlocking(comm, &proxyConn, ncclProxyMsgSharedInit, &comm->p2pnChannels, sizeof(int), NULL, 0), ret, fail);\n\n    // Then to remote ones when using PXN\n    if (ncclPxnDisable(comm) == 0) {\n      int nranks;\n      NCCLCHECKGOTO(ncclTopoGetPxnRanks(comm, &pxnPeers, &nranks), ret, fail);\n      for (int r=0; r<nranks; r++) {\n        NCCLCHECKGOTO(ncclProxyConnect(comm, TRANSPORT_NET, 1, pxnPeers[r], &proxyConn), ret, fail);\n        NCCLCHECKGOTO(ncclProxyCallBlocking(comm, &proxyConn, ncclProxyMsgSharedInit, &comm->p2pnChannels, sizeof(int), NULL, 0), ret, fail);\n      }\n    }\n\n    if (ncclParamNvbPreconnect()) {\n      // Connect p2p when using NVB path\n      int nvbNpeers;\n      NCCLCHECKGOTO(ncclTopoGetNvbGpus(comm->topo, comm->rank, &nvbNpeers, &nvbPeers), ret, fail);\n      for (int r=0; r<nvbNpeers; r++) {\n        int peer = nvbPeers[r];\n        int sendRound=0, recvRound=0;\n        while (comm->p2pSchedule[sendRound].sendRank != peer) sendRound++;\n        while (comm->p2pSchedule[recvRound].recvRank != peer) recvRound++;\n        uint8_t sendBase = ncclP2pChannelBaseForRound(comm, sendRound);\n        uint8_t recvBase = ncclP2pChannelBaseForRound(comm, recvRound);\n        for (int c=0; c<comm->p2pnChannelsPerPeer; c++) {\n          int channelId;\n          channelId = ncclP2pChannelForPart(comm->p2pnChannels, sendBase, c, comm->p2pnChannelsPerPeer, comm->nNodes);\n          if (comm->channels[channelId].peers[peer]->send[1].connected == 0) {\n            comm->connectSend[peer].masks[channelId/64] |= (1UL<<(channelId%64));\n          }\n          channelId = ncclP2pChannelForPart(comm->p2pnChannels, recvBase, c, comm->p2pnChannelsPerPeer, comm->nNodes);\n          if (comm->channels[channelId].peers[peer]->recv[1].connected == 0) {\n            comm->connectRecv[peer].masks[channelId/64] |= (1UL<<(channelId%64));\n          }\n        }\n      }\n\n      NCCLCHECKGOTO(ncclTransportP2pSetup(comm, NULL, 1), ret, fail);\n    }\n  }\n\n  TRACE(NCCL_INIT, \"rank %d nranks %d - CONNECTED %d RINGS AND TREES\", rank, nranks, comm->nChannels);\n\n  // Compute time models for algorithm and protocol combinations\n  NCCLCHECKGOTO(ncclTopoInitTunerConstants(comm), ret, fail);\n  NCCLCHECKGOTO(ncclTunerPluginLoad(comm), ret, fail);\n  if (comm->tuner) {\n    NCCLCHECK(comm->tuner->init(&comm->tunerContext, comm->commHash, comm->nRanks, comm->nNodes, ncclDebugLog, &comm->nvlDomainInfo, &comm->tunerConstants));\n  }\n  NCCLCHECKGOTO(ncclTopoTuneModel(comm, comm->minCompCap, comm->maxCompCap, graphs), ret, fail);\n\n  INFO(NCCL_INIT, \"comm:%p, nRanks:%d, nNodes:%d, coll channels:%d collnet channels:%d, nvls channels:%d, p2p channels:%d, p2p channels per peer:%d\", comm, comm->nRanks, comm->nNodes, comm->nChannels, comm->nChannels, comm->nvlsChannels, comm->p2pnChannels, comm->p2pnChannelsPerPeer);\n\n  if (comm->intraRank == 0) { // Load ncclParamLaunchMode\n    const char* str = ncclGetEnv(\"NCCL_LAUNCH_MODE\");\n    enum ncclLaunchMode mode, modeOld;\n    if (str && strcasecmp(str, \"GROUP\") == 0) {\n      mode = ncclLaunchModeGroup;\n    } else {\n      mode = ncclLaunchModeParallel;\n    }\n    // In theory we could be racing with other communicators not associated with\n    // this one if the user is connecting to multiple ncclUniqueId's concurrently.\n    modeOld = __atomic_exchange_n(&ncclParamLaunchMode, mode, __ATOMIC_RELAXED);\n    if (modeOld == ncclLaunchModeInvalid && str && str[0]!='\\0') {\n      INFO(NCCL_ENV, \"NCCL_LAUNCH_MODE set by environment to %s\", mode == ncclLaunchModeParallel ? \"PARALLEL\" : \"GROUP\");\n    }\n  }\n\n  comm->symmetricSupport = comm->isAllDirectP2p && comm->nNodes == 1 && ncclParamWinEnable() && ncclCuMemEnable();\n  comm->devrState.bigSize = 0;\n\n  comm->ceColl.baseUCSymReadyPtr = NULL;\n  comm->ceColl.baseUCSymComplPtr = NULL;\n\n  // Call devCommSetup before the last barrier, making sure we don't have a thread running in front and starting to\n  // launch NCCL kernels before all cuda mem allocation is complete. That could cause a deadlock.\n  NCCLCHECKGOTO(devCommSetup(comm), ret, fail);\n\n  timers[TIMER_INIT_CONNECT] = clockNano() -  timers[TIMER_INIT_CONNECT];\n\n  if (mscclEnabled() && (comm->topo->mscclEnabled || mscclForceEnabled())) {\n    WARN(\"MSCCL is deprecated, please be careful with this feature!\");\n    NCCLCHECK(mscclInit(comm));\n    mscclStatus& status = mscclGetStatus(comm);\n    status.needsProxy |= mscclNeedsProxy;\n  }\n\n  /* Local intra-node barrier */\n  NCCLCHECKGOTO(bootstrapIntraNodeBarrier(comm->bootstrap, comm->localRankToRank, comm->localRank, comm->localRanks, comm->localRankToRank[0]), ret, fail);\n\n  // We should have allocated all buffers, collective fifos, ... we can\n  // restore the affinity.\n  TRACE(NCCL_INIT, \"rank %d nranks %d - DONE\", rank, nranks);\n\nexit:\n  if (CPU_COUNT(&comm->cpuAffinity)) sched_setaffinity(0, sizeof(cpu_set_t), &affinitySave);\n  /* If split resource is shared, we are not able to unlink the proxy ops pool here since the child comm can\n   * attach the proxy ops pool of parent at any time; otherwise, unlink it here to make sure the pool will be\n   * properly cleaned up. */\n  if (comm->sharedRes->owner == comm && !comm->shareResources && ret == ncclSuccess && !ncclCuMemEnable()) ncclProxyShmUnlink(comm);\n  free(allTopoRanks);\n  free(nodesTreePatterns);\n  free(nodesFirstRank);\n  free(allGather3Data);\n  free(rings);\n  free(nvbPeers);\n  free(pxnPeers);\n  return ret;\nfail:\n  goto exit;\n}\n\n#ifdef USE_INDIRECT_FUNCTION_CALL\nNCCL_PARAM(SetStackSize, \"SET_STACK_SIZE\", 1);\n#else\nNCCL_PARAM(SetStackSize, \"SET_STACK_SIZE\", 0);\n#endif\nRCCL_PARAM(StackSizeOverride, \"STACK_SIZE_OVERRIDE\", 0);\n\nNCCL_PARAM(CGAClusterSize, \"CGA_CLUSTER_SIZE\", NCCL_CONFIG_UNDEF_INT);\n// Match config max/minCTAs\nNCCL_PARAM(MaxCTAs, \"MAX_CTAS\", NCCL_CONFIG_UNDEF_INT);\nNCCL_PARAM(MinCTAs, \"MIN_CTAS\", NCCL_CONFIG_UNDEF_INT);\n#define NCCL_MAX_CGA_CLUSTER_SIZE 8\n\nNCCL_PARAM(NChannelsPerNetPeer, \"NCHANNELS_PER_NET_PEER\", NCCL_CONFIG_UNDEF_INT);\nNCCL_PARAM(NvlinkUtilCentricSchedEnable, \"NVLINK_UTIL_CENTRIC_SCHED_ENABLE\", 0);\n\n\n#define NCCL_COMMINIT_FUNCNAME_LEN 128\nstruct ncclCommInitRankAsyncJob {\n  struct ncclAsyncJob base;\n  struct ncclComm* comm;\n  struct ncclComm** newcomm;\n  int cudaDev;\n  // For ncclCommInitRank\n  int nranks, myrank, nId;\n  ncclUniqueId* commId;\n  // for ncclCommSplit\n  struct ncclComm* parent;\n  int color, key;\n  int splitCount;\n  // For Shrink\n  int* excludeRanksList;\n  int excludeRanksCount;\n  // name of the function calling\n  char funcName[NCCL_COMMINIT_FUNCNAME_LEN];\n};\n\nstruct ncclCommFinalizeAsyncJob {\n  struct ncclAsyncJob base;\n  ncclComm_t comm;\n};\n\nNCCL_PARAM(CommSplitShareResources, \"COMM_SPLIT_SHARE_RESOURCES\", NCCL_CONFIG_UNDEF_INT);\nNCCL_PARAM(CommShrinkShareResources, \"COMM_SHRINK_SHARE_RESOURCES\", NCCL_CONFIG_UNDEF_INT);\n\ntypedef struct{\n  int key;\n  int color;\n} commSplitInfo;\nstatic ncclResult_t commGetSplitInfo(struct ncclComm* comm, struct ncclComm* parent, int color, int key, int* nRanksRet, int* myRankRet, int* parentRanksRet) {\n  int nRanks = 0, myRank = 0;\n  ncclResult_t ret = ncclSuccess;\n\n  commSplitInfo* info = NULL;\n  NCCLCHECKGOTO(ncclCalloc(&info, parent->nRanks), ret, fail);\n\n  // Compute nRanks, my rank and the ranks (of the original comm) before and after me\n  info[parent->rank].color = color;\n  info[parent->rank].key = key;\n  NCCLCHECKGOTO(bootstrapAllGather(parent->bootstrap, info, sizeof(commSplitInfo)), ret, fail);\n\n  // Negative color does not create a new comm. Return now.\n  if (color == NCCL_SPLIT_NOCOLOR) goto exit;\n\n  memset(parentRanksRet, 0xff, sizeof(int) * parent->nRanks);\n  for (int i = 0; i < parent->nRanks; i++) {\n    if (info[i].color != color) continue;\n    // Find where to insert this rank\n    int insert = 0;\n    while (insert < nRanks && info[parentRanksRet[insert]].key <= info[i].key) insert++;\n    // Shift ranks by one after insert\n    for (int r = nRanks; r > insert; r--) parentRanksRet[r] = parentRanksRet[r - 1];\n    // Insert our rank\n    parentRanksRet[insert] = i;\n    nRanks++;\n  }\n\n  for (int i = 0; i < nRanks; i++) {\n    if (parentRanksRet[i] == parent->rank) myRank = i;\n  }\n\n  *nRanksRet = nRanks;\n  *myRankRet = myRank;\n\nexit:\n  free(info);\n  return ret;\nfail:\n  goto exit;\n}\n\nstatic ncclResult_t getParentRanks(int parentRanks, int parentRank, int* excludeRanksList, int excludeRanksCount, int* nRanksRet, int* myRankRet, int* parentRanksRet) {\n  int count = 0, j = 0;\n  for (int i = 0; i < parentRanks; i++) {\n    // we assume excludeRanksList is sorted\n    if (j < excludeRanksCount && excludeRanksList[j] == i) {\n      j++;\n      continue;\n    }\n    if (i == parentRank) *myRankRet = count;\n    parentRanksRet[count++] = i;\n  }\n  *nRanksRet = parentRanks - excludeRanksCount;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclCommInitRankFunc(struct ncclAsyncJob* job_) {\n  struct ncclCommInitRankAsyncJob* job = (struct ncclCommInitRankAsyncJob*)job_;\n  ncclComm_t comm = job->comm;\n  ncclResult_t res = ncclSuccess;\n  int archMajor, archMinor;\n  size_t maxLocalSizeBytes = 0;\n  int cudaDev = job->cudaDev;\n  int* parentRanks = NULL;\n  int cudaArch;\n  int maxSharedMem = 0;\n  double sum_timers = 0;\n  uint64_t timers[TIMERS_INIT_COUNT] = {0};\n  unsigned long long commIdHash;\n  char* archName;\n  int cuCount;\n  hipDeviceProp_t devProp;\n\n  #ifdef USE_INDIRECT_FUNCTION_CALL\n  int64_t stackSize;\n  #endif\n\n  timers[TIMER_INIT_TOTAL] = clockNano();\n  CUDACHECKGOTO(cudaSetDevice(cudaDev), res, fail);\n  CUDACHECKGOTO(cudaDeviceGetAttribute(&maxSharedMem, cudaDevAttrMaxSharedMemoryPerBlockOptin, cudaDev), res, fail);\n  CUDACHECKGOTO(cudaDeviceGetAttribute(&archMajor, cudaDevAttrComputeCapabilityMajor, cudaDev), res, fail);\n  CUDACHECKGOTO(cudaDeviceGetAttribute(&archMinor, cudaDevAttrComputeCapabilityMinor, cudaDev), res, fail);\n  cudaArch = 100*archMajor + 10*archMinor;\n\n  CUDACHECKGOTO(hipGetDeviceProperties(&devProp, cudaDev), res, fail);\n  cuCount = devProp.multiProcessorCount;\n  archName = (char*)malloc(strlen(devProp.gcnArchName) + 1);\n  if (archName == nullptr) {\n    WARN(\"Failed to allocate memory for architecture name\");\n    goto fail;\n  }\n  strcpy(archName, devProp.gcnArchName);\n\n  timers[TIMER_INIT_KERNELS] = clockNano();\n  NCCLCHECK(ncclInitKernelsForDevice(cudaArch, maxSharedMem, &maxLocalSizeBytes));\n  // Set the maximum kernel stack size of all kernels to avoid\n  // a CUDA memory reconfig on load (c.f. NVSHMEM issue)\n#ifdef USE_INDIRECT_FUNCTION_CALL\n  if (ncclParamSetStackSize() == 1 && !IsArchMatch(archName,\"gfx942\") && !IsArchMatch(archName,\"gfx950\")) {\n    stackSize = rcclParamStackSizeOverride() ? rcclParamStackSizeOverride() : maxLocalSizeBytes;\n    if (stackSize == 0) {\n      if (IsArchMatch(archName,\"gfx906\"))\n        stackSize = 1024;\n      else\n        stackSize = 512;\n    }\n    INFO(NCCL_INIT, \"Setting cudaLimitStackSize to %zi maxLocalSizeBytes %zi\", stackSize, maxLocalSizeBytes);\n    CUDACHECKIGNORE(cudaDeviceSetLimit(cudaLimitStackSize, stackSize));\n  }\n#endif\n  if (maxLocalSizeBytes > 0 && ncclParamSetStackSize() == 1) {\n    TRACE(NCCL_INIT, \"Setting cudaLimitStackSize to %zu\", maxLocalSizeBytes);\n    CUDACHECKIGNORE(cudaDeviceSetLimit(cudaLimitStackSize, maxLocalSizeBytes));\n  }\n  timers[TIMER_INIT_KERNELS] = clockNano() - timers[TIMER_INIT_KERNELS];\n\n  if (job->parent) {\n    NCCLCHECKGOTO(ncclCalloc(&parentRanks, job->parent->nRanks), res, fail);\n    if (job->excludeRanksCount) {\n      NCCLCHECKGOTO(getParentRanks(job->parent->nRanks, job->parent->rank, job->excludeRanksList, job->excludeRanksCount, &job->nranks, &job->myrank, parentRanks), res, fail);\n    } else {\n      NCCLCHECKGOTO(commGetSplitInfo(comm, job->parent, job->color, job->key, &job->nranks, &job->myrank, parentRanks), res, fail);\n      // Negative color does not create a new comm object. We needed to take part in the allgather, but we're done now.\n      if (job->color == NCCL_SPLIT_NOCOLOR) goto exit;\n    }\n    // child hash obtained from (parent hash, split count, color)\n    uint64_t hacc[2] = {1, 1};\n    eatHash(hacc, &job->parent->commHash);\n    eatHash(hacc, &job->splitCount);\n    eatHash(hacc, &job->color);\n    comm->commHash = digestHash(hacc);\n    timers[TIMER_INIT_ALLOC] = clockNano();\n    NCCLCHECKGOTO(commAlloc(comm, job->parent, job->nranks, job->myrank), res, fail);\n    timers[TIMER_INIT_ALLOC] = clockNano() - timers[TIMER_INIT_ALLOC];\n    INFO(NCCL_INIT, \"%s comm %p rank %d nranks %d cudaDev %d nvmlDev %d busId %lx parent %p splitCount %d color %d key %d- Init START\", job->funcName,\n         comm, comm->rank, comm->nRanks, comm->cudaDev, comm->nvmlDev, comm->busId, job->parent, job->splitCount, job->color, job->key);\n    timers[TIMER_INIT_BOOTSTRAP] = clockNano();\n    NCCLCHECKGOTO(bootstrapSplit(comm->commHash, comm, job->parent, job->color, job->key, parentRanks), res, fail);\n    timers[TIMER_INIT_BOOTSTRAP] = clockNano() - timers[TIMER_INIT_BOOTSTRAP];\n    // debug info, no commId was used\n    commIdHash = 0;\n  } else {\n    // obtain a unique hash using the first commId\n    comm->commHash = commIdHash = getHash(job->commId->internal, NCCL_UNIQUE_ID_BYTES);\n    timers[TIMER_INIT_ALLOC] = clockNano();\n    NCCLCHECKGOTO(commAlloc(comm, NULL, job->nranks, job->myrank), res, fail);\n    timers[TIMER_INIT_ALLOC] = clockNano() - timers[TIMER_INIT_ALLOC];\n    INFO(NCCL_INIT, \"%s comm %p rank %d nranks %d cudaDev %d nvmlDev %d busId %lx commId 0x%llx - Init START\", job->funcName,\n         comm, comm->rank, comm->nRanks, comm->cudaDev, comm->nvmlDev, comm->busId, commIdHash);\n    timers[TIMER_INIT_BOOTSTRAP] = clockNano();\n    NCCLCHECKGOTO(bootstrapInit(job->nId, (struct ncclBootstrapHandle*)job->commId, comm), res, fail);\n    timers[TIMER_INIT_BOOTSTRAP] = clockNano() - timers[TIMER_INIT_BOOTSTRAP];\n  }\n  comm->cudaArch = cudaArch;\n  comm->archName = archName;\n  comm->cuCount = cuCount;\n\n  NCCLCHECKGOTO(initTransportsRank(comm, job->parent, timers), res, fail);\n\n    // Check if using host uncached mem correctly\n  NCCLCHECK(checkHostUncacheMemSetting(comm));\n\n  // RCCL: determine and set unroll factor for comm\n  NCCLCHECK(commSetUnrollFactor(comm));\n\n#ifdef ENABLE_ROCSHMEM\n  if (rcclParamRocshmemEnabled()) { // @TODO - This doesn't seem to disable when I set ROCSHMEM_ENABLE=0 on command line\n    INFO(NCCL_INIT,\"Initializing rocSHMEM inside of RCCL\");\n    int ret;\n    rocshmem::rocshmem_uniqueid_t rocshmemUniqueId;\n    rocshmem::rocshmem_init_attr_t rocshmemAttr;\n\n    if(comm->rank == 0 ) {\n      ret = rocshmem::rocshmem_get_uniqueid (&rocshmemUniqueId);\n      if (ret != rocshmem::ROCSHMEM_SUCCESS) {\n        ERROR(\"Error in rocshmem_get_uniqueid, Rocshmem cannot be initialized.\");\n        return ncclSystemError;\n      }\n    }\n  \n    NCCLCHECKGOTO(bootstrapBroadcast(comm->bootstrap, comm->rank, comm->nRanks, 0, &rocshmemUniqueId, \n\t\t\t    sizeof(rocshmemUniqueId)), res, fail);\n    ret = rocshmem::rocshmem_set_attr_uniqueid_args(job->myrank, job->nranks, &rocshmemUniqueId, &rocshmemAttr);\n    if (ret != rocshmem::ROCSHMEM_SUCCESS) {\n      ERROR(\"Error in rocshmem_set_attr_uniqueid_args, Rocshmem cannot be initialized.\");\n      return ncclSystemError;\n    }\n\n    ret = rocshmem::rocshmem_init_attr(rocshmem::ROCSHMEM_INIT_WITH_UNIQUEID, &rocshmemAttr);\n    if (ret != rocshmem::ROCSHMEM_SUCCESS) {\n      ERROR(\"Error in rocshmem_init_attr, Rocshmem cannot be initialized.\");\n      return ncclSystemError;\n    }\n   \n    comm->sourceRshmem = (void**) malloc(NUM_SYM_BUF * sizeof(void *));\n    comm->destRshmem = (void**) malloc(NUM_SYM_BUF * sizeof(void *));\n \n    for (int i = 0; i < NUM_SYM_BUF; i++) { \n    \tcomm->sourceRshmem[i] = (void *)rocshmem::rocshmem_malloc((size_t)(1*1024*1024));\n    \tcomm->destRshmem[i] = (void *)rocshmem::rocshmem_malloc((size_t)(1*1024*1024));\n    }\n\n    comm->enableRocshmem = rcclParamRocshmemEnabled();\n    comm->rocshmemThreshold = rcclParamRocshmemThreshold();\n    comm->numSymBuf = NUM_SYM_BUF;\n    comm->symId = 0;\n    //rocshmem::rocshmem_team_t team_reduce_world_dup;\n    comm->team_reduce_world_dup = rocshmem::ROCSHMEM_TEAM_INVALID;\n    rocshmem::rocshmem_team_split_strided(rocshmem::ROCSHMEM_TEAM_WORLD, 0, 1, job->nranks, nullptr, 0,\n                               &(comm->team_reduce_world_dup));\n\n    ncclCommToRshmemTeam[comm] = comm->team_reduce_world_dup;\n    CUDACHECK(hipDeviceSynchronize());\n  }\n#endif\n\n\n#ifdef ENABLE_MSCCLPP\n  if (job->parent) {\n    if (job->parent->mscclppCompatible) {\n      INFO(NCCL_INIT, \"MSCCL++: Splitting a compatible communicator; using parent mscclpp_comm\");\n      comm->mscclppCompatible = true;\n      comm->mscclpp_threshold = job->parent->mscclpp_threshold;\n      comm->mscclpp_comm = job->parent->mscclpp_comm;\n      const ncclUniqueId& parentUniqueId = ncclCommToUniqueIdMap[job->parent];\n      auto& mscclppUniqueId = mscclpp_uniqueIdMap[parentUniqueId];\n      mscclpp_uniqueIdReverseMap[mscclppUniqueId].insert(parentUniqueId);\n      ncclCommToUniqueIdMap[comm] = parentUniqueId;\n    }\n  }\n  else\n#endif\n  if (rcclParamMscclppEnabled()) {\n#ifdef ENABLE_MSCCLPP\n    if (mscclEnabled() && (comm->topo->mscclEnabled || mscclForceEnabled()) && mscclppCommCompatible(comm)) {\n      comm->mscclppCompatible = IsArchMatch(archName, \"gfx942\") || IsArchMatch(archName, \"gfx950\");\n      if (comm->mscclppCompatible) {\n        bool mapContainsId = (mscclpp_uniqueIdMap.count(*job->commId) > 0);\n        auto& mscclppUniqueId = mscclpp_uniqueIdMap[*job->commId];\n        if (comm->localRank == 0 && !mapContainsId) {\n          NCCLCHECKGOTO(mscclpp_ncclGetUniqueId(&mscclppUniqueId), res, fail);\n          TRACE_CALL(\"mscclpp_ncclGetUniqueId(0x%llx)\", (unsigned long long)getHash(mscclppUniqueId.internal, NCCL_UNIQUE_ID_BYTES));\n        }\n\n        NCCLCHECKGOTO(bootstrapIntraNodeBroadcast(comm->bootstrap, comm->localRankToRank, comm->localRank, comm->localRanks, 0, &mscclppUniqueId, sizeof(mscclppUniqueId)), res, fail);\n        unsigned long long mscclppUniqueIdHash; (void)mscclppUniqueIdHash;\n        TRACE_CALL(\"bootstrapIntraNodeBroadcast(rank=%d, nranks=%d, root=%d, bcastData=hash:0x%llx)\", comm->localRank, comm->localRanks, 0, (mscclppUniqueIdHash = (unsigned long long)getHash(mscclppUniqueId.internal, NCCL_UNIQUE_ID_BYTES)));\n        mscclpp_uniqueIdReverseMap[mscclppUniqueId].insert(*job->commId);\n\n        comm->mscclpp_threshold = rcclParamMscclppThreshold();\n        INFO(NCCL_INIT, \"MSCCL++: Enabled! Msg size threshold=%zu\", comm->mscclpp_threshold);\n\n        NCCLCHECKGOTO(mscclpp_ncclCommInitRank(&(comm->mscclpp_comm), job->nranks, mscclppUniqueId, job->myrank), res, fail);\n        TRACE_CALL(\"mscclpp_ncclCommInitRank (*comm=%p, nranks=%d, commId=hash:0x%llx, myrank=%d)\", comm->mscclpp_comm, job->nranks, mscclppUniqueIdHash, job->myrank);\n        mscclpp_commToUniqueIdMap[comm->mscclpp_comm] = mscclppUniqueId;\n        ncclCommToUniqueIdMap[comm] = *job->commId;\n        if (rcclParamMscclppForceEnabled()) {\n          comm->mscclppForceEnable = true;\n        } else {\n          comm->mscclppForceEnable = false;\n        }\n      } else {\n        WARN(\"MSCCL++: Cannot enable MSCCL++ on %s architecture\", devProp.gcnArchName);\n      }\n    } else {\n      comm->mscclppCompatible = false;\n      WARN(\"MSCCL++: Cannot enable MSCCL++; environment is not MSCCL compatible\");\n    }\n#else\n    WARN(\"MSCCL++: Feature not enabled. ENABLE_MSCCLPP must be defined at compile-time to enable this feature.\");\n#endif\n  }\n\n  NCCLCHECKGOTO(latency_profiler::collTraceInit(comm), res, fail);\n  // update communicator state\n  comm->initState = ncclSuccess;\n  timers[TIMER_INIT_TOTAL] = clockNano() - timers[TIMER_INIT_TOTAL];\n\n  // Trace this call for replay tool\n  if (job->parent) {\n    /* unlink child abort flag. */\n    __atomic_store_n(&job->parent->childAbortFlag, NULL, __ATOMIC_RELEASE);\n    TRACE_CALL(\"ncclCommSplit(%p, %d, %d, %p, %d, %d)\", job->parent, job->color, job->key, comm, comm->rank, comm->nRanks);\n    INFO(NCCL_INIT, \"%s comm %p rank %d nranks %d cudaDev %d nvmlDev %d busId %lx parent %p splitCount %d color %d key %d - Init COMPLETE\", job->funcName,\n         comm, comm->rank, comm->nRanks, comm->cudaDev, comm->nvmlDev, comm->busId, job->parent, job->splitCount, job->color, job->key);\n  } else {\n    // the name for the replay tool is ncclCommInitRank for all the variations\n    TRACE_CALL(\"ncclCommInitRank(%p, %d, 0x%llx, %d, %d)\", comm, comm->nRanks, commIdHash, comm->rank, comm->cudaDev);\n    INFO(NCCL_INIT, \"%s comm %p rank %d nranks %d cudaDev %d nvmlDev %d busId %lx commId 0x%llx - Init COMPLETE\", job->funcName,\n         comm, comm->rank, comm->nRanks, comm->cudaDev, comm->nvmlDev, comm->busId, commIdHash);\n  }\n  sum_timers = 0.0;\n  for (int it = 1; it < TIMERS_INIT_COUNT; ++it)\n    sum_timers += (timers[it] / 1e9);\n  INFO(NCCL_INIT | NCCL_PROFILE,\n       \"Init timings - %s: rank %d nranks %d total %.2f (kernels %.2f, alloc %.2f, bootstrap %.2f, allgathers %.2f, topo %.2f, graphs %.2f, \"\n       \"connections %.2f, rest %.2f)\",\n       job->funcName, comm->rank, comm->nRanks,\n       timers[TIMER_INIT_TOTAL] / 1e9, timers[TIMER_INIT_KERNELS] / 1e9, timers[TIMER_INIT_ALLOC] / 1e9,\n       timers[TIMER_INIT_BOOTSTRAP] / 1e9, timers[TIMER_INIT_ALLGATHER] / 1e9, timers[TIMER_INIT_TOPO] / 1e9,\n       timers[TIMER_INIT_GRAPHS] / 1e9, timers[TIMER_INIT_CONNECT] / 1e9, timers[TIMER_INIT_TOTAL] / 1e9 - sum_timers);\nexit:\n  if (job->newcomm) {\n    /* assign it to user pointer. */\n    __atomic_store_n(job->newcomm, comm, __ATOMIC_RELEASE);\n  }\n  free(parentRanks);\n  return res;\nfail:\n  comm->initState = res;\n  goto exit;\n}\n\n#define NCCL_CONFIG_DEFAULT(config, field, undef, defvalue, fieldStr, format) \\\n  if (config->field == undef) { \\\n    config->field = defvalue; \\\n  } else { \\\n    INFO(NCCL_ENV, \"Comm config \" fieldStr \" set to \" format, config->field); \\\n  }\n\nstatic ncclResult_t envConfigOverride(ncclComm_t comm) {\n  ncclResult_t ret = ncclSuccess;\n  const char* tmpNetName = comm->config.netName;\n  const char* envNetName;\n  int blockingEnv;\n  int cgaClusterSizeEnv;\n  int minCTAsEnv;\n  int maxCTAsEnv;\n  int splitShareEnv;\n  const char* collnetEnableEnv;\n  int ctaPolicyEnv;\n  int shrinkShareEnv;\n  int nvlsCTAsEnv;\n  int nChannelsPerNetPeerEnv;\n  int nvlinkUtilCentricSchedEnableEnv;\n\n  /* override configuration with env variable. */\n  blockingEnv = ncclParamCommBlocking();\n  if (blockingEnv == 0 || blockingEnv == 1)\n    comm->config.blocking = blockingEnv;\n\n  cgaClusterSizeEnv = ncclParamCGAClusterSize();\n  if (0 <= cgaClusterSizeEnv && cgaClusterSizeEnv <= NCCL_MAX_CGA_CLUSTER_SIZE) {\n    comm->config.cgaClusterSize = cgaClusterSizeEnv;\n  } else if (cgaClusterSizeEnv > NCCL_MAX_CGA_CLUSTER_SIZE) {\n    INFO(NCCL_ENV, \"NCCL_CGA_CLUSTER_SIZE value %d is too big. Limiting value to %d.\", cgaClusterSizeEnv, NCCL_MAX_CGA_CLUSTER_SIZE);\n    comm->config.cgaClusterSize = NCCL_MAX_CGA_CLUSTER_SIZE;\n  }\n\n  minCTAsEnv = ncclParamMinCTAs();\n  if (minCTAsEnv != NCCL_CONFIG_UNDEF_INT) {\n    if (minCTAsEnv <= 0)\n      INFO(NCCL_ENV, \"NCCL_MIN_CTAS %d is too low, leaving it set at %d\", minCTAsEnv, comm->config.minCTAs);\n    else\n      comm->config.minCTAs = minCTAsEnv;\n  }\n\n  maxCTAsEnv = ncclParamMaxCTAs();\n  if (maxCTAsEnv != NCCL_CONFIG_UNDEF_INT) {\n    if (maxCTAsEnv <= 0)\n      INFO(NCCL_ENV, \"NCCL_MAX_CTAS %d is too low, leaving it set at %d\", maxCTAsEnv, comm->config.maxCTAs);\n    else\n      comm->config.maxCTAs = maxCTAsEnv;\n  }\n\n  /* override configuration with env variable. */\n  nChannelsPerNetPeerEnv = ncclParamNChannelsPerNetPeer();\n  if (nChannelsPerNetPeerEnv != NCCL_CONFIG_UNDEF_INT) {\n    if (nChannelsPerNetPeerEnv <= 0)\n      INFO(NCCL_ENV, \"NCCL_NCHANNELS_PER_NET_PEER %d is too low, leaving it set at %d\", nChannelsPerNetPeerEnv, comm->config.nChannelsPerNetPeer);\n    else\n      comm->config.nChannelsPerNetPeer = nChannelsPerNetPeerEnv;\n  }\n\n  nvlinkUtilCentricSchedEnableEnv = ncclParamNvlinkUtilCentricSchedEnable();\n  if (nvlinkUtilCentricSchedEnableEnv != NCCL_CONFIG_UNDEF_INT) {\n    if (nvlinkUtilCentricSchedEnableEnv != 0 && nvlinkUtilCentricSchedEnableEnv != 1)\n      INFO(NCCL_ENV, \"NCCL_NVLINK_UTIL_CENTRIC_SCHED_ENABLE %d is not valid, leaving it set at %d\", nvlinkUtilCentricSchedEnableEnv, comm->config.nvlinkCentricSched);\n    else\n      comm->config.nvlinkCentricSched = nvlinkUtilCentricSchedEnableEnv;\n  }\n\n  envNetName = ncclGetEnv(\"NCCL_NET\");\n  if (envNetName)\n    tmpNetName = envNetName;\n  if (tmpNetName != NULL) {\n    int netNameLen = strlen(tmpNetName) + 1;\n    comm->config.netName = (char*)malloc(netNameLen);\n    if (comm->config.netName == nullptr) {\n      WARN(\"Failed to allocate memory for network name\");\n      return ncclSystemError;      \n    }\n    memcpy((void*)comm->config.netName, tmpNetName, netNameLen);\n  } else {\n    comm->config.netName = NULL;\n  }\n\n  splitShareEnv = ncclParamCommSplitShareResources();\n  if (splitShareEnv != NCCL_CONFIG_UNDEF_INT) {\n    comm->config.splitShare = splitShareEnv;\n  }\n  shrinkShareEnv = ncclParamCommShrinkShareResources();\n  if (shrinkShareEnv != NCCL_CONFIG_UNDEF_INT) {\n    comm->config.shrinkShare = shrinkShareEnv;\n  }\n\n  // NCCL_COLLNET_ENABLE needs to be reloaded each time for comm init\n  // since users might change the env on the fly to enable/disable collnet\n  collnetEnableEnv = ncclGetEnv(\"NCCL_COLLNET_ENABLE\");\n  if (collnetEnableEnv != NULL) {\n    int collnetEnableInt = (int)strtol(collnetEnableEnv, NULL, 0);\n    if (collnetEnableInt != NCCL_CONFIG_UNDEF_INT) {\n      comm->config.collnetEnable = collnetEnableInt;\n      INFO(NCCL_ENV, \"NCCL_COLLNET_ENABLE set by environment to %d.\", collnetEnableInt);\n    }\n  }\n\n  ctaPolicyEnv = ncclParamCtaPolicy();\n  if (ctaPolicyEnv != NCCL_CONFIG_UNDEF_INT) {\n    comm->config.CTAPolicy = ctaPolicyEnv;\n  }\n\n  nvlsCTAsEnv = ncclParamNvlsChannels();\n  if (nvlsCTAsEnv != NCCL_CONFIG_UNDEF_INT) {\n    comm->config.nvlsCTAs = nvlsCTAsEnv;\n  }\n\n  /* cap channels if needed */\n  if (comm->config.minCTAs > MAXCHANNELS) {\n    INFO(NCCL_ENV, \"minCTAs %d is larger than #channels upper limit %d, cap it to %d\", comm->config.minCTAs, MAXCHANNELS, MAXCHANNELS);\n    comm->config.minCTAs = MAXCHANNELS;\n  }\n\n  if (comm->config.maxCTAs > MAXCHANNELS) {\n    INFO(NCCL_ENV, \"maxCTAs %d is larger than #channels upper limit %d, cap it to %d\", comm->config.maxCTAs, MAXCHANNELS, MAXCHANNELS);\n    comm->config.maxCTAs = MAXCHANNELS;\n  }\n\n  if (comm->config.minCTAs > comm->config.maxCTAs) {\n    INFO(NCCL_ENV, \"minCTAs %d is larger than maxCTAs %d, set both to %d\", comm->config.minCTAs, comm->config.maxCTAs, comm->config.maxCTAs);\n    comm->config.minCTAs = comm->config.maxCTAs;\n  }\n\n  if (comm->config.splitShare != 1 && comm->config.splitShare != 0) {\n    INFO(NCCL_ENV, \"splitShare %d is not a valid value 0/1, set it to 0\", comm->config.splitShare);\n    comm->config.splitShare = 0;\n  }\n\n  if (comm->config.collnetEnable != 1 && comm->config.collnetEnable != 0) {\n    INFO(NCCL_ENV, \"collnetEnable %d is not a valid value 0/1, set it to 0\", comm->config.collnetEnable);\n    comm->config.collnetEnable = 0;\n  }\n\n  if (comm->config.CTAPolicy < NCCL_CTA_POLICY_DEFAULT || comm->config.CTAPolicy > NCCL_CTA_POLICY_ZERO) {\n    INFO(NCCL_ENV, \"CTAPolicy %d is not a valid value, set it to %d\", comm->config.CTAPolicy, NCCL_CTA_POLICY_DEFAULT);\n    comm->config.CTAPolicy = NCCL_CTA_POLICY_DEFAULT;\n  }\n\n  if (comm->config.nvlsCTAs != NCCL_CONFIG_UNDEF_INT && comm->config.nvlsCTAs <= 0) {\n    INFO(NCCL_ENV, \"nvlsCTAs %d is not a valid value, NCCL will decide the default value automatically\", comm->config.nvlsCTAs);\n    comm->config.nvlsCTAs = NCCL_CONFIG_UNDEF_INT;\n  }\n\n  return ret;\n}\n\nstatic ncclResult_t copyCommConfig(ncclComm_t childComm, ncclComm_t parnet) {\n  memcpy(&childComm->config, &parnet->config, sizeof(ncclConfig_t));\n  NCCLCHECK(envConfigOverride(childComm));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t parseCommConfig(ncclComm_t comm, ncclConfig_t *config) {\n  ncclResult_t ret = ncclSuccess;\n  /* config must not be NULL in this function */\n  ncclConfig_t defaultConfig = NCCL_CONFIG_INITIALIZER;\n  ncclConfig_t internalConfig = NCCL_CONFIG_INITIALIZER;\n  ncclConfig_t *internalConfigPtr;\n  size_t realSize;\n\n  internalConfig.magic = 0;\n  internalConfigPtr = &internalConfig;\n  if (config) {\n    memcpy((void*)&realSize, (void*)config, sizeof(size_t));\n    realSize = realSize > sizeof(ncclConfig_t) ? sizeof(ncclConfig_t) : realSize;\n    memcpy((void*)internalConfigPtr, (void*)config, realSize);\n    if (internalConfigPtr->magic != 0xcafebeef) {\n      WARN(\"ncclConfig_t argument not initialized via NCCL_CONFIG_INITIALIZER\");\n      ret = ncclInvalidArgument;\n      goto fail;\n    }\n\n    /* check version. */\n    if (internalConfigPtr->version < NCCL_VERSION(2, 14, 0)) {\n      internalConfigPtr->blocking = defaultConfig.blocking;\n    }\n\n    if (internalConfigPtr->version < NCCL_VERSION(2, 17, 0)) {\n      internalConfigPtr->cgaClusterSize = defaultConfig.cgaClusterSize;\n      internalConfigPtr->minCTAs = defaultConfig.minCTAs;\n      internalConfigPtr->maxCTAs = defaultConfig.maxCTAs;\n      internalConfigPtr->netName = defaultConfig.netName;\n    }\n\n    if (internalConfigPtr->version < NCCL_VERSION(2, 25, 0)) {\n      internalConfigPtr->trafficClass = defaultConfig.trafficClass;\n    }\n\n    if (internalConfigPtr->version < NCCL_VERSION(2, 27, 0)) {\n      internalConfigPtr->collnetEnable = defaultConfig.collnetEnable;\n      internalConfigPtr->CTAPolicy = defaultConfig.CTAPolicy;\n      internalConfigPtr->shrinkShare = defaultConfig.shrinkShare;\n      internalConfigPtr->nvlsCTAs = defaultConfig.nvlsCTAs;\n    }\n    if (internalConfigPtr->version < NCCL_VERSION(2, 28, 0)) {\n      internalConfigPtr->nChannelsPerNetPeer = defaultConfig.nChannelsPerNetPeer;\n      internalConfigPtr->nvlinkCentricSched = defaultConfig.nvlinkCentricSched;\n    }\n  }\n\n  /* check input config attributes, -1 means user-undefined and we should use default value from NCCL. */\n  if (internalConfigPtr->blocking != NCCL_CONFIG_UNDEF_INT && internalConfigPtr->blocking != 0 && internalConfigPtr->blocking != 1) {\n    WARN(\"Invalid config blocking attribute value %d\", internalConfigPtr->blocking);\n    ret = ncclInvalidArgument;\n    goto fail;\n  }\n\n  if (internalConfigPtr->cgaClusterSize != NCCL_CONFIG_UNDEF_INT && internalConfigPtr->cgaClusterSize < 0) {\n    WARN(\"Invalid config cgaClusterSize attribute value %d\", internalConfigPtr->cgaClusterSize);\n    ret = ncclInvalidArgument;\n    goto fail;\n  }\n\n  if ((internalConfigPtr->minCTAs != NCCL_CONFIG_UNDEF_INT &&\n    internalConfigPtr->minCTAs <= 0) ||\n    (internalConfigPtr->maxCTAs != NCCL_CONFIG_UNDEF_INT &&\n      internalConfigPtr->maxCTAs <= 0) ||\n    (internalConfigPtr->minCTAs > internalConfigPtr->maxCTAs)) {\n    WARN(\"Invalid config min/max channels attribute value %d/%d\", internalConfigPtr->minCTAs, internalConfigPtr->maxCTAs);\n    ret = ncclInvalidArgument;\n    goto fail;\n  }\n\n  if (internalConfigPtr->splitShare != NCCL_CONFIG_UNDEF_INT && internalConfigPtr->splitShare != 0 && internalConfigPtr->splitShare != 1) {\n    WARN(\"Invalid config splitShare attribute value %d\", internalConfigPtr->splitShare);\n    ret = ncclInvalidArgument;\n    goto fail;\n  }\n\n  if (internalConfigPtr->collnetEnable != NCCL_CONFIG_UNDEF_INT && (internalConfigPtr->collnetEnable < 0 || internalConfigPtr->collnetEnable > 1)) {\n    WARN(\"Invalid config collnetEnable attribute value %d\", internalConfigPtr->collnetEnable);\n    ret = ncclInvalidArgument;\n    goto fail;\n  }\n\n  if (internalConfigPtr->CTAPolicy != NCCL_CONFIG_UNDEF_INT && (internalConfigPtr->CTAPolicy < NCCL_CTA_POLICY_DEFAULT ||\n    internalConfigPtr->CTAPolicy > NCCL_CTA_POLICY_ZERO)) {\n    WARN(\"Invalid config policy attribute value %d\", internalConfigPtr->CTAPolicy);\n    ret = ncclInvalidArgument;\n    goto fail;\n  }\n\n  if (internalConfigPtr->shrinkShare != NCCL_CONFIG_UNDEF_INT && internalConfigPtr->shrinkShare != 0 && internalConfigPtr->shrinkShare != 1) {\n    WARN(\"Invalid config shrinkShare attribute value %d\", internalConfigPtr->shrinkShare);\n    ret = ncclInvalidArgument;\n    goto fail;\n  }\n\n  if (internalConfigPtr->nvlsCTAs != NCCL_CONFIG_UNDEF_INT && internalConfigPtr->nvlsCTAs <= 0) {\n    WARN(\"Invalid config nvlsCTAs attribute value %d\", internalConfigPtr->nvlsCTAs);\n    ret = ncclInvalidArgument;\n    goto fail;\n  }\n\n  if (internalConfigPtr->nChannelsPerNetPeer != NCCL_CONFIG_UNDEF_INT && (internalConfigPtr->nChannelsPerNetPeer <= 0 || internalConfigPtr->nChannelsPerNetPeer > MAXCHANNELS)) {\n    WARN(\"Invalid config nChannelsPerNetPeer attribute value %d\", internalConfigPtr->nChannelsPerNetPeer);\n    ret = ncclInvalidArgument;\n    goto fail;\n  }\n\n  if (internalConfigPtr->nvlinkCentricSched != NCCL_CONFIG_UNDEF_INT && internalConfigPtr->nvlinkCentricSched != 0 && internalConfigPtr->nvlinkCentricSched != 1) {\n    WARN(\"Invalid config nvlinkCentricSched attribute value %d\", internalConfigPtr->nvlinkCentricSched);\n    ret = ncclInvalidArgument;\n    goto fail;\n  }\n\n  /* default config value can be tuned on different platform. */\n  NCCL_CONFIG_DEFAULT(internalConfigPtr, blocking, NCCL_CONFIG_UNDEF_INT, 1, \"Blocking\", \"%d\");\n  NCCL_CONFIG_DEFAULT(internalConfigPtr, cgaClusterSize, NCCL_CONFIG_UNDEF_INT, 4, \"CGA cluster size\", \"%d\");\n  NCCL_CONFIG_DEFAULT(internalConfigPtr, minCTAs, NCCL_CONFIG_UNDEF_INT, 1, \"Min CTAs\", \"%d\");\n  NCCL_CONFIG_DEFAULT(internalConfigPtr, maxCTAs, NCCL_CONFIG_UNDEF_INT, MAXCHANNELS, \"Max CTAs\", \"%d\");\n  NCCL_CONFIG_DEFAULT(internalConfigPtr, netName, NCCL_CONFIG_UNDEF_PTR, NULL, \"Net name\", \"%s\");\n  NCCL_CONFIG_DEFAULT(internalConfigPtr, splitShare, NCCL_CONFIG_UNDEF_INT, 0, \"Split share\", \"%d\");\n  NCCL_CONFIG_DEFAULT(internalConfigPtr, trafficClass, NCCL_CONFIG_UNDEF_INT, NCCL_CONFIG_UNDEF_INT, \"Traffic class\", \"%d\");\n  NCCL_CONFIG_DEFAULT(internalConfigPtr, commName, NCCL_CONFIG_UNDEF_PTR, NULL, \"Comm name\", \"%s\");\n  NCCL_CONFIG_DEFAULT(internalConfigPtr, collnetEnable, NCCL_CONFIG_UNDEF_INT, 0, \"Collnet enable\", \"%d\");\n  NCCL_CONFIG_DEFAULT(internalConfigPtr, CTAPolicy, NCCL_CONFIG_UNDEF_INT, NCCL_CTA_POLICY_DEFAULT, \"CTA policy flags\", \"%d\");\n  NCCL_CONFIG_DEFAULT(internalConfigPtr, shrinkShare, NCCL_CONFIG_UNDEF_INT, 0, \"shrinkShare\", \"%d\");\n  NCCL_CONFIG_DEFAULT(internalConfigPtr, nvlsCTAs, NCCL_CONFIG_UNDEF_INT, NCCL_CONFIG_UNDEF_INT, \"nvlsCTAs\", \"%d\");\n  NCCL_CONFIG_DEFAULT(internalConfigPtr, nChannelsPerNetPeer, NCCL_CONFIG_UNDEF_INT,\n                      NCCL_CONFIG_UNDEF_INT, \"nChannelsPerNetPeer\", \"%d\");\n  NCCL_CONFIG_DEFAULT(internalConfigPtr, nvlinkCentricSched, NCCL_CONFIG_UNDEF_INT, 0, \"nvlinkCentricSched\", \"%d\");\n\n  /* assign config to communicator */\n  comm->config.blocking = internalConfigPtr->blocking;\n  comm->config.cgaClusterSize = internalConfigPtr->cgaClusterSize;\n  comm->config.minCTAs = internalConfigPtr->minCTAs;\n  comm->config.maxCTAs = internalConfigPtr->maxCTAs;\n  comm->config.netName = internalConfigPtr->netName;\n  comm->config.splitShare = internalConfigPtr->splitShare;\n  comm->config.trafficClass = internalConfigPtr->trafficClass;\n  comm->config.commName = internalConfigPtr->commName;\n  comm->config.collnetEnable = internalConfigPtr->collnetEnable;\n  comm->config.CTAPolicy = internalConfigPtr->CTAPolicy;\n  comm->config.shrinkShare = internalConfigPtr->shrinkShare;\n  comm->config.nvlsCTAs = internalConfigPtr->nvlsCTAs;\n  comm->config.nChannelsPerNetPeer = internalConfigPtr->nChannelsPerNetPeer;\n  comm->config.nvlinkCentricSched = internalConfigPtr->nvlinkCentricSched;\n  NCCLCHECKGOTO(envConfigOverride(comm), ret, fail);\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\nstatic void ncclCommInitJobFree(void* _job) {\n  struct ncclCommInitRankAsyncJob* job = (struct ncclCommInitRankAsyncJob*)_job;\n  free(job->commId);\n  free(_job);\n}\n\nstatic ncclResult_t ncclCommInitRankDev(ncclComm_t* newcomm, int nranks, int nId, ncclUniqueId* commId, int myrank, int cudaDev, ncclConfig_t *config, const char funcName[]) {\n  if (nId <= 0 || nId > nranks) {\n    WARN(\"improper usage of ncclCommInitRank: nId = %d, nranks=%d\", nId, nranks);\n    return ncclInvalidArgument;\n  }\n  ncclResult_t res = ncclSuccess;\n  const char* commIdEnv = NULL;\n  ncclComm_t comm = NULL;\n  struct ncclCommInitRankAsyncJob* job = NULL;\n  bool launchedJob = false;\n  // first call ncclInit, this will setup the environment\n  NCCLCHECKGOTO(ncclInit(), res, fail);\n\n  if (ncclDebugLevel > NCCL_LOG_WARN || (ncclDebugLevel >= NCCL_LOG_VERSION && myrank == 0)) {\n    static std::once_flag once;\n    std::call_once(once, showVersion);\n  }\n  // Make sure the CUDA runtime is initialized.\n  CUDACHECKGOTO(cudaFree(NULL), res, fail);\n\n  NCCLCHECKGOTO(PtrCheck(newcomm, \"CommInitRank\", \"newcomm\"), res, fail);\n  NCCLCHECKGOTO(PtrCheck(config, \"CommInitRank\", \"config\"), res, fail);\n  if (nranks < 1 || myrank < 0 || myrank >= nranks) {\n    WARN(\"Invalid rank requested : %d/%d\", myrank, nranks);\n    res = ncclInvalidArgument;\n    goto fail;\n  }\n\n  NCCLCHECKGOTO(ncclCalloc(&comm, 1), res, fail);\n  NCCLCHECKGOTO(ncclCalloc(&comm->abortFlag, 1), res, fail);\n  NCCLCHECKGOTO(ncclCudaHostCalloc(&comm->abortFlagDev, 1), res, fail);\n  NCCLCHECKGOTO(ncclCalloc(&comm->abortFlagRefCount, 1), res, fail);\n  comm->startMagic = comm->endMagic = NCCL_MAGIC; // Used to detect comm corruption.\n  *comm->abortFlagRefCount = 1;\n  NCCLCHECKGOTO(parseCommConfig(comm, config), res, fail);\n  /* start with ncclInProgress and will be changed to ncclSuccess if init succeeds. */\n  comm->initState = ncclInProgress;\n  *newcomm = comm;\n\n  NCCLCHECKGOTO(ncclCalloc(&job, 1), res, fail);\n  job->nId = nId;\n  job->comm = comm;\n  job->nranks = nranks;\n  job->myrank = myrank;\n  job->cudaDev = cudaDev;\n  snprintf(job->funcName, NCCL_COMMINIT_FUNCNAME_LEN, \"%s\", funcName);\n  // need to copy the commIds to allow async commInit and to avoid alignement issues when casting from ncclUNiqueId and ncclBootstrapHandle\n  // ncclUniqueIds and ncclBootstrapHandle don't have the same alignment requirements.\n  // Therefore the array of Ids coming from the user might not be properly aligned to be cast into a ncclBootstrapHandle\n  // copying into allocated memory guarantees that the memory is properly aligned for any objects, removing that issue\n  NCCLCHECKGOTO(ncclCalloc(&job->commId, nId), res, fail);\n  memcpy(job->commId, commId, nId * NCCL_UNIQUE_ID_BYTES);\n\n  commIdEnv = ncclGetEnv(\"NCCL_COMM_ID\");\n  if (commIdEnv && myrank == 0) {\n    INFO(NCCL_ENV, \"NCCL_COMM_ID set by environment to %s\", commIdEnv);\n    if (nId > 1) {\n      INFO(NCCL_INIT | NCCL_ENV, \"NCCL_COMM_ID cannot be used with more than one ncclUniqueId\");\n      job->nId = 1;\n    }\n    // start the bootstrap root before bootstrapping, use only the first handle\n    NCCLCHECKGOTO(bootstrapCreateRoot((struct ncclBootstrapHandle*)&job->commId[0], true), res, fail);\n  }\n  launchedJob = true;\n  NCCLCHECKGOTO(ncclAsyncLaunch((struct ncclAsyncJob*)job, ncclCommInitRankFunc, NULL, ncclCommInitJobFree, comm), res, fail);\n\nexit:\n  // for loggin only, not ready for replaying\n  // !recording at sink\n  NCCLCHECK(Recorder::instance().record(rrCommInitDev, nranks, myrank, commId, comm, cudaDev));\n  return ncclGroupErrCheck(res);\nfail:\n  if (job && !launchedJob) ncclCommInitJobFree(job);\n  if (comm) {\n    free(comm->abortFlag);\n    if (comm->abortFlagDev) (void)ncclCudaHostFree((void*)comm->abortFlagDev);\n    free(comm->abortFlagRefCount);\n    free(comm);\n  }\n  if (newcomm) *newcomm = NULL;\n  goto exit;\n}\n\nNCCL_API(ncclResult_t, ncclCommInitRank, ncclComm_t* newcomm, int nranks, ncclUniqueId commId, int myrank);\nncclResult_t ncclCommInitRank_impl(ncclComm_t* newcomm, int nranks, ncclUniqueId commId, int myrank) {\n  NCCLCHECK(Recorder::instance().record(rrCommInitRank, nranks, myrank, &commId));\n  NVTX3_RANGE(NcclNvtxParamsCommInitRank)\n  // Load the CUDA driver and dlsym hooks (can fail on old drivers)\n  rocmLibraryInit();\n\n  int cudaDev;\n  ncclConfig_t config = NCCL_CONFIG_INITIALIZER;\n  CUDACHECK(cudaGetDevice(&cudaDev));\n\n  NCCLCHECK(ncclCommInitRankDev(newcomm, nranks, 1, &commId, myrank, cudaDev, &config, __func__));\n\n  NVTX3_RANGE_ADD_PAYLOAD(CommInitRank, NcclNvtxParamsCommInitRankSchema,\n    NVTX3_PAYLOAD((*newcomm)->commHash, nranks, myrank, cudaDev));\n\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, ncclCommInitAll, ncclComm_t* comms, int ndev, const int* devlist);\nncclResult_t ncclCommInitAll_impl(ncclComm_t* comms, int ndev, const int* devlist) {\n  Recorder::instance().record(comms, ndev, devlist);\n  ncclResult_t ret = ncclSuccess;\n  int totalnDev;\n  int *gpuFlags = NULL;\n  ncclConfig_t config = NCCL_CONFIG_INITIALIZER;\n  int oldDev = 0;\n\n  NVTX3_RANGE(NcclNvtxParamsCommInitAll);\n\n  // Load the CUDA driver and dlsym hooks (can fail on old drivers)\n  rocmLibraryInit();\n\n  CUDACHECK(cudaGetDevice(&oldDev));\n  NCCLCHECKGOTO(PtrCheck(comms, \"CommInitAll\", \"comms\"), ret, fail);\n  if (ndev < 0) {\n    WARN(\"Invalid device count requested : %d\", ndev);\n    ret = ncclInvalidArgument;\n    goto fail;\n  }\n\n  CUDACHECKGOTO(cudaGetDeviceCount(&totalnDev), ret, fail);\n  if (devlist) {\n    NCCLCHECKGOTO(ncclCalloc(&gpuFlags, totalnDev), ret, fail);\n    for (int i = 0; i < ndev; ++i) {\n      /* invalid device check. */\n      if (devlist[i] < 0 || devlist[i] >= totalnDev) {\n        WARN(\"Invalid device %d (totalnDev=%d)\", devlist[i], totalnDev);\n        ret = ncclInvalidArgument;\n        goto fail;\n      }\n\n      /* duplicate device check. */\n      if (gpuFlags[devlist[i]] != 0) {\n        ret = ncclInvalidUsage;\n        goto fail;\n      }\n\n      gpuFlags[devlist[i]] = 1;\n    }\n    free(gpuFlags);\n    gpuFlags = nullptr;\n  }\n\n  ncclUniqueId uniqueId;\n  NCCLCHECKGOTO(ncclGetUniqueId(&uniqueId), ret, fail);\n  NCCLCHECKGOTO(ncclGroupStartInternal(), ret, fail);\n  for (int i=0; i<ndev; i++) {\n    // Ignore return codes .. we need to call ncclGroupEnd to clean up anyway\n    int dev = devlist ? devlist[i] : i;\n    CUDACHECKGOTO(cudaSetDevice(dev), ret, fail);\n    ncclCommInitRankDev(comms+i, ndev,1, &uniqueId, i, dev, &config, __func__);\n  }\n  NCCLCHECKGOTO(ncclGroupEndInternal(), ret, fail);\n\n  NVTX3_RANGE_ADD_PAYLOAD(CommInitAll, NcclNvtxParamsCommInitAllSchema,\n    NVTX3_PAYLOAD(comms[0]->commHash, ndev));\n\nexit:\n  (void)cudaSetDevice(oldDev);\n  free(gpuFlags);\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t ncclCommSetAsyncError(ncclComm_t comm, ncclResult_t nextState) {\n  if (nextState < 0 || nextState >= ncclNumResults || comm == NULL) {\n    WARN(\"ncclCommSetAsyncError: error comm %p sets state %d\", comm, nextState);\n    return ncclInvalidArgument;\n  }\n\n  __atomic_store_n(&comm->asyncResult, nextState, __ATOMIC_RELEASE);\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, ncclCommInitRankConfig, ncclComm_t* comm, int nranks, ncclUniqueId commId, int myrank, ncclConfig_t *config);\nncclResult_t ncclCommInitRankConfig_impl(ncclComm_t *newcomm, int nranks, ncclUniqueId commId, int myrank, ncclConfig_t *config) {\n  Recorder::instance().record(rrCommInitRankConfig, nranks, myrank, &commId, config);\n  int cudaDev;\n  ncclResult_t ret = ncclSuccess;\n  ncclConfig_t internalConfig = NCCL_CONFIG_INITIALIZER;\n  ncclConfig_t *internalConfigPtr = NULL;\n\n  NVTX3_RANGE(NcclNvtxParamsCommInitRankConfig);\n\n  NCCLCHECK(ncclGroupStartInternal());\n\n  rocmLibraryInit();\n  CUDACHECK(cudaGetDevice(&cudaDev));\n\n  if (config == NULL)\n    internalConfigPtr = &internalConfig;\n  else\n    internalConfigPtr = config;\n  NCCLCHECKGOTO(ncclCommInitRankDev(newcomm, nranks, 1, &commId, myrank, cudaDev, internalConfigPtr, __func__), ret, fail);\n\nexit:\n  ncclGroupErrCheck(ret);\n  NCCLCHECK(ncclGroupEndInternal());\n  if (newcomm && *newcomm) {\n    if (!(*newcomm)->config.blocking) {\n      (void) ncclCommGetAsyncError(*newcomm, &ret);\n    }\n    NVTX3_RANGE_ADD_PAYLOAD(CommInitRankConfig, NcclNvtxParamsCommInitRankSchema,\n      NVTX3_PAYLOAD((*newcomm)->commHash, nranks, myrank, cudaDev));\n  }\n  return ret;\nfail:\n  if (newcomm && *newcomm && !(*newcomm)->config.blocking) (void) ncclCommSetAsyncError(*newcomm, ret);\n  goto exit;\n}\n\nNCCL_API(ncclResult_t, ncclCommInitRankScalable, ncclComm_t* newcomm, int nranks, int myrank, int nId, ncclUniqueId* commId, ncclConfig_t* config);\nncclResult_t ncclCommInitRankScalable(ncclComm_t* newcomm, int nranks, int myrank, int nId, ncclUniqueId* commId, ncclConfig_t* config) {\n  NVTX3_RANGE(NcclNvtxParamsCommInitRankScalable);\n\n  int cudaDev;\n  ncclResult_t ret = ncclSuccess;\n  ncclConfig_t internalConfig = NCCL_CONFIG_INITIALIZER;\n  ncclConfig_t *internalConfigPtr = NULL;\n  NCCLCHECK(ncclGroupStartInternal());\n\n  rocmLibraryInit();\n  CUDACHECK(cudaGetDevice(&cudaDev));\n\n  if (config == NULL)\n    internalConfigPtr = &internalConfig;\n  else\n    internalConfigPtr = config;\n  NCCLCHECKGOTO(ncclCommInitRankDev(newcomm, nranks, nId, commId, myrank, cudaDev, internalConfigPtr, __func__), ret, fail);\n\nexit:\n  ncclGroupErrCheck(ret);\n  NCCLCHECK(ncclGroupEndInternal());\n  if (newcomm && *newcomm) {\n    if (!(*newcomm)->config.blocking) {\n      (void) ncclCommGetAsyncError(*newcomm, &ret);\n    }\n    NVTX3_RANGE_ADD_PAYLOAD(CommInitRankScalable, NcclNvtxParamsCommInitRankSchema,\n      NVTX3_PAYLOAD((*newcomm)->commHash, nranks, myrank, cudaDev));\n  }\n  return ret;\nfail:\n  if (newcomm && *newcomm && !(*newcomm)->config.blocking) (void) ncclCommSetAsyncError(*newcomm, ret);\n  goto exit;\n}\n\nstatic ncclResult_t commDestroySync(struct ncclAsyncJob* job_) {\n  struct ncclCommFinalizeAsyncJob* job = (struct ncclCommFinalizeAsyncJob*) job_;\n  ncclComm_t comm = job->comm;\n  ncclResult_t ret = ncclSuccess;\n\n  CUDACHECKGOTO(cudaSetDevice(comm->cudaDev), ret, fail);\n\n  NCCLCHECKGOTO(latency_profiler::collTraceDestroy(comm), ret, fail);\n  TRACE(NCCL_INIT, \"Destroying comm %p rank %d abortFlag %d asyncResult %d\", comm, comm->rank, *comm->abortFlag, comm->asyncResult);\n\n  if (comm->initState == ncclSuccess) {\n    if ((ret = ncclStrongStreamSynchronize(&comm->sharedRes->hostStream)) != ncclSuccess) {\n      WARN(\"commDestroySync: comm %p rank %d sync hostStream error %d\\n\", comm, comm->rank, ret);\n    }\n    if ((ret = ncclStrongStreamSynchronize(&comm->sharedRes->deviceStream)) != ncclSuccess) {\n      WARN(\"commDestroySync: comm %p rank %d sync deviceStream error %d\\n\", comm, comm->rank, ret);\n    }\n\n    NCCLCHECKGOTO(ncclCommPollEventCallbacks(comm, true), ret, fail);\n    NCCLCHECKGOTO(ncclCommPollCallbacks(comm, false), ret, fail);\n    // And keep polling until all graphs referencing us die.\n    while (comm->localPersistentRefs != 0) {\n      NCCLCHECKGOTO(ncclCommPollCallbacks(comm, /*waitSome=*/true), ret, fail);\n    }\n    while (!ncclIntruQueueEmpty(&comm->legacyRegCleanupQueue)) {\n      struct ncclCommCallback* cb = ncclIntruQueueDequeue(&comm->legacyRegCleanupQueue);\n      if (cb->fn(comm, cb) != ncclSuccess) {\n        WARN(\"Legacy IPC cleanup callback failed comm %p (rank = %d) cb %p\", comm, comm->rank, cb);\n      }\n    }\n  }\n\n  if ((ret = ncclProxyStop(comm)) != ncclSuccess) {\n    WARN(\"ncclProxyStop: comm %p (rank = %d) destroys proxy resource error %d\", comm, comm->rank, ret);\n  }\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\nstatic ncclResult_t commCleanup(ncclComm_t comm) {\n  bool mscclEnabledForTopo = comm->topo->mscclEnabled;\n\n  CUDACHECK(cudaSetDevice(comm->cudaDev));\n  if (comm->tuner != NULL) {\n    NCCLCHECK(comm->tuner->finalize(comm->tunerContext));\n    NCCLCHECK(ncclTunerPluginUnload(comm));\n  }\n  if (mscclEnabled() && (mscclEnabledForTopo || mscclForceEnabled())) {\n    NCCLCHECK(mscclTeardown(comm));\n  }\n  NCCLCHECK(commFree(comm));\n\n#if defined(ENABLE_NPKIT)\n  // Dump NPKit events and shutdown\n  const char* npkitDumpDir = getenv(\"NPKIT_DUMP_DIR\");\n  if (npkitDumpDir == nullptr) {\n    npkitDumpDir = \"./npkit_dump\";\n    INFO(NCCL_INIT, \"NPKIT_DUMP_DIR is not set, using default directory: %s\", npkitDumpDir);\n  }\n  struct stat st;\n  if (stat(npkitDumpDir, &st) != 0) {\n    if (mkdir(npkitDumpDir, 0755) != 0) {\n      WARN(\"Failed to create NPKIT_DUMP_DIR directory: %s\", npkitDumpDir);\n    }\n  }\n  NCCLCHECK(NpKit::Dump(npkitDumpDir));\n  NCCLCHECK(NpKit::Shutdown());\n#endif\n\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, ncclCommFinalize, ncclComm_t comm);\nncclResult_t ncclCommFinalize_impl(ncclComm_t comm) {\n  NCCLCHECK(Recorder::instance().record(rrCommFinalize, comm));\n  NVTX3_RANGE(NcclNvtxParamsCommFinalize);\n\n  ncclResult_t ret = ncclSuccess;\n  struct ncclCommFinalizeAsyncJob *job = NULL;\n\n  NCCLCHECK(ncclGroupStartInternal());\n  if (comm == NULL) goto exit;\n\n  /* wait comm ready before finalize. */\n  NCCLCHECKGOTO(ncclCommEnsureReady(comm), ret, fail);\n\n  /* prevent double finalize. */\n  if (comm->finalizeCalled) {\n    ret = ncclInvalidArgument;\n    goto fail;\n  }\n\n  comm->finalizeCalled = true;\n  /* launch async thread to finalize comm. */\n  NCCLCHECKGOTO(ncclCalloc(&job, 1), ret, fail);\n  job->comm = comm;\n  NCCLCHECKGOTO(ncclAsyncLaunch((struct ncclAsyncJob*)job, commDestroySync, NULL, free, comm), ret, fail);\n\nexit:\n  ncclGroupErrCheck(ret);\n  NCCLCHECK(ncclGroupEndInternal());\n  if (comm) {\n    if (!comm->config.blocking) {\n      NCCLCHECK(ncclCommGetAsyncError(comm, &ret));\n    }\n    NVTX3_RANGE_ADD_PAYLOAD(CommFinalize, NcclNvtxParamsCommFinalizeSchema,\n      NVTX3_PAYLOAD(comm->commHash));\n  }\n  return ret;\nfail:\n  if (comm && !comm->config.blocking) (void) ncclCommSetAsyncError(comm, ret);\n  goto exit;\n}\n\nstatic ncclResult_t commReclaim(struct ncclAsyncJob* job_) {\n  struct ncclCommFinalizeAsyncJob* job = (struct ncclCommFinalizeAsyncJob*) job_;\n  ncclComm_t comm = job->comm;\n  ncclResult_t ret = ncclSuccess;\n\n  if (comm->intraComm0 != NULL) {\n    int curRankCnt;\n    int curRank; /* Debug info */\n    int intraRanks = comm->intraRanks;\n    ncclComm_t intracomm0 = comm->intraComm0;\n    int *finalizeRankCnt = &intracomm0->finalizeRankCnt;\n\n    assert(intracomm0 != NULL && finalizeRankCnt != NULL);\n    curRankCnt = __atomic_add_fetch(finalizeRankCnt, 1, __ATOMIC_ACQ_REL);\n    if (curRankCnt == intraRanks) {\n      ncclComm_t curIntraComm;\n      ncclComm_t nextIntraComm = intracomm0;\n\n      /* this is  the last call to ncclCommDestroy/Abort, we need to make sure all comms\n       * in the process have been finalized before we free local resources. */\n      while (nextIntraComm) {\n        curIntraComm = nextIntraComm;\n        curRank = curIntraComm->rank;\n        nextIntraComm = nextIntraComm->intraNext;\n\n        if (curIntraComm->finalizeCalled == false) {\n          struct ncclCommFinalizeAsyncJob job;\n          job.comm = curIntraComm;\n          /* every comm aborts, commDestroySync should not be blocked. */\n          if ((ret = commDestroySync((struct ncclAsyncJob*) &job)) != ncclSuccess)\n            WARN(\"commReclaim: comm %p (rank = %d) in commDestroySync, error %d\", curIntraComm, curRank, ret);\n        }\n      }\n\n      /* free local resources. */\n      nextIntraComm = intracomm0;\n      while (nextIntraComm) {\n        curIntraComm = nextIntraComm;\n        curRank = curIntraComm->rank;\n        nextIntraComm = nextIntraComm->intraNext;\n\n        if ((ret = commCleanup(curIntraComm)) != ncclSuccess) {\n          // We pass a freed pointer, but we don't dereference; we merely print its value, so it's OK.\n          // coverity[pass_freed_arg]\n          WARN(\"commReclaim: cleanup comm %p rank %d failed in destroy/abort, error %d\", curIntraComm, curRank, ret);\n        }\n      }\n    }\n  }\n\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, ncclCommDestroy, ncclComm_t comm);\nncclResult_t ncclCommDestroy_impl(ncclComm_t comm) {\n  NCCLCHECK(Recorder::instance().record(rrCommDestroy, comm));\n  if (comm == NULL) {\n    NCCL_NVTX3_FUNC_RANGE;\n    return ncclSuccess;\n  }\n  INFO(NCCL_INIT, \"Memory used = %ld\", allocTracker[comm->cudaDev].totalAllocSize);\n\n#ifdef ENABLE_MSCCLPP\n  if (comm->mscclppCompatible) {\n    auto& mscclppUniqueId = mscclpp_commToUniqueIdMap[comm->mscclpp_comm];\n    auto& uniqueIds = mscclpp_uniqueIdReverseMap[mscclppUniqueId];\n    auto& ncclUniqueId = ncclCommToUniqueIdMap[comm];\n    if (uniqueIds.find(ncclUniqueId) == uniqueIds.end()) {\n      WARN(\"MSCCL++: comm=%p not found in mscclpp_uniqueIdReverseMap for key=%p\", comm, comm->mscclpp_comm);\n    }\n    uniqueIds.erase(ncclUniqueId);\n    if (uniqueIds.size() == 0) {\n      mscclpp_uniqueIdReverseMap.erase(mscclppUniqueId);\n      ncclResult_t res = mscclpp_ncclCommDestroy(comm->mscclpp_comm);\n      TRACE_CALL(\"mscclpp_ncclCommDestroy\");\n      if (res != ncclSuccess) {\n        WARN(\"MSCCL++: mscclpp_ncclCommDestroy failed (%s)\", ncclGetErrorString(res));\n      }\n    }\n\n    comm->mscclppCompatible = false;\n    comm->mscclpp_comm = nullptr;\n  }\n#endif\n\n#ifdef ENABLE_ROCSHMEM\n  if (comm->enableRocshmem) {\n     for (int i = 0; i < NUM_SYM_BUF; i++) {\t  \n     \trocshmem::rocshmem_free(comm->sourceRshmem[i]);\n     \trocshmem::rocshmem_free(comm->destRshmem[i]);\t  \n     }\n     free(comm->sourceRshmem);\n     free(comm->destRshmem);\n\n    //TODO: subcomm check\n    rocshmem::rocshmem_team_t  team;\n    if (!ncclCommToRshmemTeam.empty()) {\n        team = ncclCommToRshmemTeam[comm];\n        rocshmem::rocshmem_team_destroy(team);\n        ncclCommToRshmemTeam.erase(comm);\n    }\n    if (ncclCommToRshmemTeam.empty()) {\n        rocshmem::rocshmem_finalize();\n    }\n  }\n#endif\n\n  int rank = comm->rank, nranks = comm->nRanks, cudaDev = comm->cudaDev;\n  struct ncclCommFinalizeAsyncJob *job = NULL;\n  ncclResult_t res = ncclSuccess;\n\n  NVTX3_FUNC_WITH_PARAMS(CommDestroy, NcclNvtxParamsCommInitRank,\n    NVTX3_PAYLOAD(comm->commHash, nranks, rank, cudaDev));\n\n  TRACE(NCCL_INIT, \"comm %p rank %d nRanks %d cudaDev %d busId %lx\", comm, rank, nranks, cudaDev, comm->busId);\n  NCCLCHECK(ncclGroupStartInternal());\n  // Try and prevent a double free of the comm struct (user error)\n  if (comm->rank == -1 || comm->nRanks == -1 || comm->cudaDev == -1 || comm->busId == -1) {\n    WARN(\"comm %p has already been destroyed\", comm);\n    return ncclInvalidArgument;\n  }\n\n  comm->destroyFlag = 1;\n  /* init thread must be joined before we destroy the comm. */\n  NCCLCHECK(ncclCommEnsureReady(comm));\n  NCCLCHECKGOTO(ncclCalloc(&job, 1), res, fail);\n  job->comm = comm;\n  NCCLCHECKGOTO(ncclAsyncLaunch((struct ncclAsyncJob*)job, commReclaim, NULL, free, comm), res, fail);\n\nexit:\n  ncclGroupErrCheck(res);\n  NCCLCHECK(ncclGroupEndInternal());\n  return res;\nfail:\n  goto exit;\n}\n\nstatic ncclResult_t setCommAbortFlags(ncclComm_t comm, int value) {\n  // Set abort flags\n  if (comm->childAbortFlag != nullptr) {\n    __atomic_store_n(comm->childAbortFlag, value, __ATOMIC_RELEASE);\n    __atomic_store_n(comm->childAbortFlagDev, value, __ATOMIC_RELEASE);\n  }\n  __atomic_store_n(comm->abortFlag, value, __ATOMIC_RELEASE);\n  __atomic_store_n(comm->abortFlagDev, value, __ATOMIC_RELEASE);\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, ncclCommAbort, ncclComm_t comm);\nncclResult_t ncclCommAbort_impl(ncclComm_t comm) {\n  NCCLCHECK(Recorder::instance().record(rrCommAbort, comm));\n  NVTX3_RANGE(NcclNvtxParamsCommAbort);\n\n  if (comm == NULL) {\n    return ncclSuccess;\n  }\n\n  INFO(NCCL_INIT, \"comm %p rank %d nRanks %d cudaDev %d busId %lx - Abort START\",\n      comm, comm->rank, comm->nRanks, comm->cudaDev, comm->busId);\n\n  NCCLCHECK(ncclGroupStartInternal());\n  // Ask anything that might still be running on the device to quit\n  NCCLCHECK(setCommAbortFlags(comm,1));\n  comm->destroyFlag = 1;\n  /* init thread must be joined before we destroy the comm,\n   * and we should ignore the init error here. */\n  (void)ncclCommEnsureReady(comm);\n\n  // once the comm is ready, we can access ranks etc\n  int rank = comm->rank, nranks = comm->nRanks, cudaDev = comm->cudaDev;\n  struct ncclCommFinalizeAsyncJob *job = NULL;\n  ncclResult_t res = ncclSuccess;\n\n  NVTX3_RANGE_ADD_PAYLOAD(CommAbort, NcclNvtxParamsCommInitRankSchema,\n    NVTX3_PAYLOAD(comm->commHash, nranks, rank, cudaDev));\n\n  TRACE(NCCL_INIT, \"comm %p rank %d nRanks %d cudaDev %d busId %lx\", comm, rank, nranks, cudaDev, comm->busId);\n\n  NCCLCHECKGOTO(ncclCalloc(&job, 1), res, fail);\n  job->comm = comm;\n  NCCLCHECKGOTO(ncclAsyncLaunch((struct ncclAsyncJob*)job, commReclaim, NULL, free, comm), res, fail);\n\nexit:\n  ncclGroupErrCheck(res);\n  NCCLCHECK(ncclGroupEndInternal());\n  return res;\nfail:\n  goto exit;\n}\n\nstatic void childCommCleanupJob(void* job) {\n  struct ncclCommInitRankAsyncJob* initJob = (struct ncclCommInitRankAsyncJob*)job;\n  if (initJob->excludeRanksList) free(initJob->excludeRanksList);\n  free(job);\n}\n\n// initializing a child communicator (for both split and shrink)\nstatic ncclResult_t ncclCommInitChildComm(ncclComm_t comm, ncclComm_t* newcomm, bool isShrink, int flags, int color, int key, int* excludeRanksList, int excludeRanksCount,\n                                          ncclConfig_t* config, const char* caller) {\n  struct ncclCommInitRankAsyncJob *job = NULL;\n  struct ncclComm* childComm = NCCL_COMM_NULL;\n  ncclResult_t res = ncclSuccess;\n\n  int oldDev;\n  CUDACHECK(cudaGetDevice(&oldDev));\n  NCCLCHECKGOTO(CommCheck(comm, caller, \"comm\"), res, exit);\n  NCCLCHECKGOTO(PtrCheck(newcomm, caller, \"newcomm\"), res, exit);\n  if (isShrink) {\n    NCCLCHECKGOTO(PtrCheck(excludeRanksList, caller, \"excludeRanksList\"), res, exit);\n    NCCLCHECKGOTO(excludeRanksCount > 0 ? ncclSuccess : ncclInvalidArgument, res, exit);\n    // excludeRanksList may not be sorted, need to sort it\n    qsort(excludeRanksList, excludeRanksCount, sizeof(int), compareInts);\n    // ranks in excludeRanksList should not call into this function\n    NCCLCHECKGOTO(bsearch(&comm->rank, excludeRanksList, excludeRanksCount, sizeof(int), compareInts) ? ncclInvalidArgument : ncclSuccess, res, exit);\n  }\n  NCCLCHECKGOTO(ncclCommEnsureReady(comm), res, exit);\n  CUDACHECKGOTO(cudaSetDevice(comm->cudaDev), res, exit);\n\n  /* *newcomm should be NCCL_COMM_NULL until comm split fully complete. */\n  *newcomm = NCCL_COMM_NULL;\n  if (!isShrink && color == NCCL_SPLIT_NOCOLOR) {\n    INFO(NCCL_INIT, \"Rank %d has color with NCCL_SPLIT_NOCOLOR, not creating a new communicator\", comm->rank);\n  } else {\n    NCCLCHECKGOTO(ncclCalloc(&childComm, 1), res, fail);\n    childComm->startMagic = childComm->endMagic = NCCL_MAGIC;\n\n    // Set the shareResource field, this is used throughout the init and must be reset every time.\n    // If we shrink, we only reuse resources if we shrink in the default mode\n    comm->shareResources = isShrink ? (!(flags & NCCL_SHRINK_ABORT) && comm->config.shrinkShare) : comm->config.splitShare;\n    if (comm->shareResources) {\n      childComm->abortFlag = comm->abortFlag;\n      childComm->abortFlagDev = comm->abortFlagDev;\n      childComm->abortFlagRefCount = comm->abortFlagRefCount;\n      comm->childAbortFlag = NULL;\n      ncclAtomicRefCountIncrement(comm->abortFlagRefCount);\n    } else {\n      NCCLCHECKGOTO(ncclCalloc(&childComm->abortFlag, 1), res, fail);\n      NCCLCHECKGOTO(ncclCudaHostCalloc(&childComm->abortFlagDev, 1), res, fail);\n      NCCLCHECKGOTO(ncclCalloc(&childComm->abortFlagRefCount, 1), res, fail);\n      /* temporarily used to abort everything during child comm init. */\n      comm->childAbortFlag = childComm->abortFlag;\n      comm->childAbortFlagDev = childComm->abortFlagDev;\n      *childComm->abortFlagRefCount = 1;\n    }\n    if (config == NULL) {\n      NCCLCHECKGOTO(copyCommConfig(childComm, comm), res, fail);\n    } else {\n      NCCLCHECKGOTO(parseCommConfig(childComm, config), res, fail);\n    }\n\n    /* start with ncclInternalError and will be changed to ncclSuccess if init succeeds. */\n    childComm->initState = ncclInternalError;\n  }\n\n  NCCLCHECKGOTO(ncclCalloc(&job, 1), res, fail);\n  job->comm = childComm;\n  job->newcomm = newcomm;\n  job->parent = comm;\n  job->color = color;\n  job->key = key;\n  if (excludeRanksList) {\n    // need to copy the list of ranks to exclude because the job is async\n    job->excludeRanksCount = excludeRanksCount;\n    NCCLCHECKGOTO(ncclCalloc(&job->excludeRanksList, excludeRanksCount), res, fail);\n    memcpy(job->excludeRanksList, excludeRanksList, excludeRanksCount * sizeof(int));\n  } else {\n    // each split has to lead to a unique comm, so increment the splitCount\n    job->splitCount = ++comm->splitCount;\n    job->excludeRanksList = NULL;\n  }\n  job->cudaDev = comm->cudaDev;\n  snprintf(job->funcName, NCCL_COMMINIT_FUNCNAME_LEN, \"%s\", caller);\n  NCCLCHECKGOTO(ncclAsyncLaunch((struct ncclAsyncJob*)job, ncclCommInitRankFunc, /*undo=*/NULL, /*destructor=*/childCommCleanupJob, comm), res, fail);\n\nexit:\n  // for loggin only, not ready for replaying\n  // TODO: further integrate overloaded record header\n  // !recording at sink\n  Recorder::instance().record(rrCommSplit, color, key, (ncclUniqueId*)comm, config, *newcomm);\n  (void)cudaSetDevice(oldDev);\n  return res;\nfail:\n  if (childComm) {\n    if (!comm->shareResources) {\n      if (childComm->abortFlag) free(childComm->abortFlag);\n      if (childComm->abortFlagDev) ncclCudaHostFree(childComm->abortFlagDev);\n      if (childComm->abortFlagRefCount) free(childComm->abortFlagRefCount);\n    }\n    free(childComm);\n  }\n  if (newcomm) *newcomm = NULL;\n  goto exit;\n}\n\nNCCL_API(ncclResult_t, ncclCommShrink, ncclComm_t comm, int* excludeRanksList, int excludeRanksCount, ncclComm_t* newcomm, ncclConfig_t* config, int shrinkFlags);\nncclResult_t  ncclCommShrink_impl(ncclComm_t comm, int* excludeRanksList, int excludeRanksCount, ncclComm_t *newcomm, ncclConfig_t* config, int shrinkFlags) {\n  NVTX3_RANGE(NcclNvtxParamsCommShrink)\n  ncclResult_t res = ncclSuccess;\n  NCCLCHECK(ncclGroupStartInternal());\n  // Handle error mode by setting abort flags and waiting for kernels to complete and unset the flags to avoid bootstrap issues\n  if (shrinkFlags & NCCL_SHRINK_ABORT) {\n    NCCLCHECKGOTO(setCommAbortFlags(comm, 1), res, exit);\n    NCCLCHECKGOTO(ncclStrongStreamSynchronize(&comm->sharedRes->deviceStream), res, exit);\n    NCCLCHECKGOTO(setCommAbortFlags(comm, 0), res, exit);\n  }\n  NCCLCHECKGOTO(ncclCommInitChildComm(comm, newcomm, /*isShrink=*/true, shrinkFlags, /*color=*/0, /*key=*/comm->rank, excludeRanksList, excludeRanksCount, config, __func__), res, exit);\n\n  if (*newcomm) NVTX3_RANGE_ADD_PAYLOAD(CommShrink, NcclNvtxParamsCommShrinkSchema, NVTX3_PAYLOAD(comm->commHash, comm->nRanks, comm->rank, comm->cudaDev, excludeRanksCount));\n\nexit:\n  (void)ncclGroupErrCheck(res);\n  NCCLCHECK(ncclGroupEndInternal());\n  return res;\n}\n\nNCCL_API(ncclResult_t, ncclCommSplit, ncclComm_t comm, int color, int key, ncclComm_t *newcomm, ncclConfig_t *config);\nncclResult_t ncclCommSplit_impl(ncclComm_t comm, int color, int key, ncclComm_t *newcomm, ncclConfig_t *config) {\n  NVTX3_RANGE(NcclNvtxParamsCommSplit)\n\n  ncclResult_t res = ncclSuccess;\n  NCCLCHECK(ncclGroupStartInternal());\n  NCCLCHECKGOTO(ncclCommInitChildComm(comm, newcomm, /*isShrink=*/false, /*shrink mode=*/NCCL_SHRINK_DEFAULT, color, key, NULL, 0, config, __func__), res, exit);\n\n  if (*newcomm)\n    NVTX3_RANGE_ADD_PAYLOAD(CommSplit, NcclNvtxParamsCommSplitSchema, NVTX3_PAYLOAD((*newcomm)->commHash, comm->commHash, comm->nRanks, comm->rank, comm->cudaDev, color, key));\n\nexit:\n  (void)ncclGroupErrCheck(res);\n  NCCLCHECK(ncclGroupEndInternal());\n  return res;\n}\n\nNCCL_API(const char*, ncclGetErrorString, ncclResult_t code);\nconst char* ncclGetErrorString_impl(ncclResult_t code) {\n  Recorder::instance().record(\"GetErrorString\");\n  switch (code) {\n    case ncclSuccess                : return \"no error\";\n    case ncclUnhandledCudaError     : return \"unhandled cuda error (run with NCCL_DEBUG=INFO for details)\";\n    case ncclSystemError            : return \"unhandled system error (run with NCCL_DEBUG=INFO for details)\";\n    case ncclInternalError          : return \"internal error - please report this issue to the NCCL developers\";\n    case ncclInvalidArgument        : return \"invalid argument (run with NCCL_DEBUG=WARN for details)\";\n    case ncclInvalidUsage           : return \"invalid usage (run with NCCL_DEBUG=WARN for details)\";\n    case ncclRemoteError            : return \"remote process exited or there was a network error\";\n    case ncclInProgress             : return \"NCCL operation in progress\";\n    default                         : return \"unknown result code\";\n  }\n}\n\n/* Returns a human-readable message of the last error that occurred.\n * comm is currently unused and can be set to NULL\n */\nNCCL_API(const char*, ncclGetLastError, const ncclComm_t comm);\nconst char* ncclGetLastError_impl(ncclComm_t comm) {\n  Recorder::instance().record(\"GetLastEror\");\n  return ncclLastError;\n}\n\nNCCL_API(ncclResult_t, ncclCommGetAsyncError, ncclComm_t comm, ncclResult_t *asyncError);\nncclResult_t ncclCommGetAsyncError_impl(ncclComm_t comm, ncclResult_t *asyncError) {\n  Recorder::instance().record(\"GetAsyncError\");\n  NCCLCHECK(CommCheck(comm, \"ncclGetAsyncError\", \"comm\"));\n  NCCLCHECK(PtrCheck(asyncError, \"ncclGetAsyncError\", \"asyncError\"));\n\n  *asyncError = __atomic_load_n(&comm->asyncResult, __ATOMIC_ACQUIRE);\n  if (*asyncError == ncclSuccess && comm->proxyState) *asyncError = __atomic_load_n(&comm->proxyState->asyncResult, __ATOMIC_ACQUIRE);\n  /* if there is linked group job, we should complete it. */\n  if (*asyncError == ncclSuccess && comm->groupJob) {\n    NCCLCHECK(ncclGroupJobComplete(comm->groupJob));\n    comm->groupJob = NULL;\n  }\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, ncclCommCount, const ncclComm_t comm, int* count);\nncclResult_t ncclCommCount_impl(const ncclComm_t comm, int* count) {\n  Recorder::instance().record(\"CommCount\");\n  NCCL_NVTX3_FUNC_RANGE;\n\n  NCCLCHECK(CommCheck(comm, \"CommCount\", \"comm\"));\n  NCCLCHECK(PtrCheck(count, \"CommCount\", \"count\"));\n\n  /* init thread must be joined before we access the attributes of comm. */\n  NCCLCHECK(ncclCommEnsureReady(comm));\n\n  *count = comm->nRanks;\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, ncclCommCuDevice, const ncclComm_t comm, int* devid);\nncclResult_t ncclCommCuDevice_impl(const ncclComm_t comm, int* devid) {\n  Recorder::instance().record(\"CuDevice\");\n  NCCL_NVTX3_FUNC_RANGE;\n\n  NCCLCHECK(CommCheck(comm, \"CommCuDevice\", \"comm\"));\n  NCCLCHECK(PtrCheck(devid, \"CommCuDevice\", \"devid\"));\n\n  NCCLCHECK(ncclCommEnsureReady(comm));\n\n  *devid = comm->cudaDev;\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, ncclCommUserRank, const ncclComm_t comm, int* rank);\nncclResult_t ncclCommUserRank_impl(const ncclComm_t comm, int* rank) {\n  Recorder::instance().record(\"CommUserRank\");\n  NCCL_NVTX3_FUNC_RANGE;\n\n  NCCLCHECK(CommCheck(comm, \"CommUserRank\", \"comm\"));\n  NCCLCHECK(PtrCheck(rank, \"CommUserRank\", \"rank\"));\n\n  NCCLCHECK(ncclCommEnsureReady(comm));\n\n  *rank = comm->rank;\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/init_nvtx.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nccl.h\"\n#include \"nvtx.h\"\n#include \"param.h\"\n\nstatic constexpr const nvtxPayloadEnum_t NvtxEnumRedSchema[] = {\n  {\"Sum\", ncclSum, 0},\n  {\"Product\", ncclProd, 0},\n  {\"Max\", ncclMax, 0},\n  {\"Min\", ncclMin, 0},\n  {\"Avg\", ncclAvg, 0}\n};\n\nNCCL_PARAM(NvtxDisable, \"NVTX_DISABLE\", 0);\n\n// Must be called before the first call to any reduction operation.\nvoid initNvtxRegisteredEnums() {\n#ifndef NVTX_NO_IMPL\n  // Register schemas and strings\n  if (ncclParamNvtxDisable()) {\n    return;\n  }\n\n  constexpr const nvtxPayloadEnumAttr_t eAttr {\n    .fieldMask = NVTX_PAYLOAD_ENUM_ATTR_ENTRIES | NVTX_PAYLOAD_ENUM_ATTR_NUM_ENTRIES |\n      NVTX_PAYLOAD_ENUM_ATTR_SIZE | NVTX_PAYLOAD_ENUM_ATTR_SCHEMA_ID,\n    .name = NULL,\n    .entries = NvtxEnumRedSchema,\n    .numEntries = std::extent<decltype(NvtxEnumRedSchema)>::value,\n    .sizeOfEnum = sizeof(ncclRedOp_t),\n    .schemaId = NVTX_PAYLOAD_ENTRY_NCCL_REDOP,\n    .extension = nullptr\n  };\n\n  nvtxPayloadEnumRegister(nvtx3::domain::get<nccl_domain>(), &eAttr);\n#endif\n}\n"
  },
  {
    "path": "src/misc/CMakeLists.txt",
    "content": "# Misc sources\nset(MISC_SOURCES\n    ${CMAKE_CURRENT_SOURCE_DIR}/strongstream.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/socket.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/ibvwrap.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/mlx5dvsymbols.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/mlx5dvwrap.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/cudawrap.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/param.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/ipcsocket.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/utils.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/shmutils.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/nvmlwrap.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/argcheck.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/gdrwrap.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/ibvsymbols.cc\n)\n\n# Add misc sources to parent scope\nset(MISC_SOURCES ${MISC_SOURCES} PARENT_SCOPE)\n"
  },
  {
    "path": "src/misc/alt_rsmi.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <stdio.h>\n#include <dirent.h>\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <unistd.h>\n\n#include <iostream>\n#include <fstream>\n#include <sstream>\n#include <cstring>\n#include <map>\n#include <cassert>\n#include <algorithm>\n#include <iomanip>\n#include <vector>\n#include <limits>\n#include <thread>\n#include \"alt_rsmi.h\"\n#include \"debug.h\"\n\nstatic int ARSMI_readDeviceProperties(uint32_t node_id, std::map<std::string, uint64_t> &retVec);\nstatic int ARSMI_readLinkProperties(uint32_t node_id, uint32_t target_id, std::map<std::string, uint64_t> &retVec);\nstatic int read_node_properties(uint32_t node, std::string property_name, uint64_t *val,\n                                std::map<std::string, uint64_t> &properties);\nstatic int read_link_properties(uint32_t node, uint32_t target, std::string property_name, uint64_t *val,\n                                std::map<std::string, uint64_t> &properties);\nstatic int getNodeIndex(uint32_t node_id);\nstatic int getGpuId(uint32_t node, uint64_t *gpu_id);\nstatic int countIoLinks(uint32_t dev_id);\n\nstruct ARSMI_systemNode {\n    uint32_t s_node_id = 0;\n    uint64_t s_gpu_id = 0;\n    uint64_t s_unique_id = 0;\n    uint64_t s_location_id = 0;\n    uint64_t s_bdf = 0;\n    uint64_t s_domain = 0;\n    uint8_t  s_bus = 0;\n    uint8_t  s_device = 0;\n    uint8_t  s_function = 0;\n    uint8_t  s_partition_id = 0;\n    std::string s_card;\n};\n\n// Internal implementation details\n// When compiled into the test binary (ARSMI_TEST_BUILD defined), these have external linkage\n// so AltRsmiTestUtils.cpp can access them via extern declarations.\n// When compiled into the production library (ARSMI_TEST_BUILD not defined), these are static.\n#ifdef ARSMI_TEST_BUILD\n  // Test build: external linkage for cross-TU access\n  #define ARSMI_LOCAL thread_local\n#else\n  // Production build: static/internal linkage\n  #define ARSMI_LOCAL static thread_local\n#endif\n\nARSMI_LOCAL const char *kKFDNodesPathRoot = \"/sys/class/kfd/kfd/topology/nodes\";\nstatic const uint32_t kAmdGpuId = 0x1002;\n\n// Vector containing data about each node, ordered by bdf ID\nARSMI_LOCAL std::vector<ARSMI_systemNode> ARSMI_orderedNodes;\n\n// 2-D matrix with link information between each pair of nodes.\nARSMI_LOCAL std::vector<std::vector<ARSMI_linkInfo>> ARSMI_orderedLinks;\n\n// Number of devices recognized\nARSMI_LOCAL int ARSMI_num_devices=-1;\n\n// Public API functions\nint ARSMI_init(void)\n{\n    std::string err_msg;\n    std::multimap<uint64_t, ARSMI_systemNode> ARSMI_allSystemNodes;\n\n    if (ARSMI_num_devices > 0) {\n        // has already been initialized\n        return 0;\n    }\n\n    auto node_dir = opendir(kKFDNodesPathRoot);\n    if (node_dir == nullptr) {\n        WARN(\"Failed to open topo/nodes directory \");\n        return 1;\n    }\n    auto dentry = readdir(node_dir);\n\n    while (dentry != nullptr) {\n        uint64_t gpu_id = 0, unique_id = 0, location_id = 0, domain = 0;\n        uint64_t vendor_id = 0;\n        if ((strcmp(dentry->d_name, \".\") == 0) ||\n            (strcmp(dentry->d_name, \"..\") == 0)) {\n            dentry = readdir(node_dir);\n            continue;\n        }\n\n        uint32_t node_id = std::stoi(dentry->d_name);\n\n        std::map<std::string, uint64_t> properties;\n        ARSMI_readDeviceProperties(node_id, properties);\n\n        int ret_gpu_id = getGpuId(node_id, &gpu_id);\n\n        int ret_unique_id = read_node_properties(node_id, \"unique_id\", &unique_id, properties);\n        int ret_loc_id = read_node_properties(node_id, \"location_id\", &location_id, properties);\n        int ret_domain = read_node_properties(node_id, \"domain\", &domain, properties);\n        int ret_vendor = read_node_properties(node_id, \"vendor_id\", &vendor_id, properties);\n        if (ret_gpu_id == 0 &&  !(ret_unique_id != 0 || ret_loc_id != 0 || ret_domain != 0 || ret_vendor != 0) &&\n            (gpu_id != 0) && (vendor_id == kAmdGpuId)) {\n            // Do not try to build a node if one of these fields\n            // do not exist in KFD (0 as values okay)\n            ARSMI_systemNode myNode;\n            myNode.s_node_id = node_id;\n            myNode.s_gpu_id = gpu_id;\n            myNode.s_unique_id = unique_id;\n            myNode.s_location_id = location_id;\n            myNode.s_domain = domain & 0xFFFFFFFF;\n            myNode.s_bdf = (myNode.s_domain << 32) | (myNode.s_location_id);\n            myNode.s_location_id = myNode.s_bdf;\n            myNode.s_bdf |= ((domain & 0xFFFFFFFF) << 32);\n            myNode.s_location_id = myNode.s_bdf;\n            myNode.s_domain = myNode.s_location_id >> 32;\n            myNode.s_bus = ((myNode.s_location_id >> 8) & 0xFF);\n            myNode.s_device = ((myNode.s_location_id >> 3) & 0x1F);\n            myNode.s_function = myNode.s_location_id & 0x7;\n            myNode.s_partition_id = ((myNode.s_location_id >> 28) & 0xF);\n\n            ARSMI_allSystemNodes.emplace(unique_id, myNode);\n        }\n\n        dentry = readdir(node_dir);\n    }\n\n    ARSMI_num_devices = ARSMI_allSystemNodes.size();\n\n    for (auto i : ARSMI_allSystemNodes) {\n        std::ostringstream ss;\n        ss << \"[node_id = \" << std::to_string(i.second.s_node_id)\n           << \"; gpu_id = \" << std::to_string(i.second.s_gpu_id)\n           << \"; unique_id = \" << std::to_string(i.second.s_unique_id)\n           << \"; location_id = \" << std::to_string(i.second.s_location_id)\n           << \"; bdf = \" << std::to_string(i.second.s_bdf)\n           << \"; domain = \" << std::to_string(i.second.s_domain)\n           << \"; partition = \" << std::to_string(i.second.s_partition_id)\n           << \"], \";\n        std::string tempstr = ss.str();\n        INFO(NCCL_INIT, \"%s\", tempstr.c_str());\n    }\n\n    if (closedir(node_dir)) {\n        WARN(\"Failed to close topology/node root directory\");\n        return 1;\n    }\n\n    // Sort devices found. For this we need to group all devices\n    // having the same unique_id, sort all devices with the same\n    // unique_id by there bdf value. In addition, the groups\n    // of devices with the same unique_id are sorted by\n    // lowest bdf value among each others.\n    std::vector<uint64_t> already_seen;\n    std::vector<std::vector<ARSMI_systemNode>> sort_vecs;\n    int elem=0;\n    for (auto i : ARSMI_allSystemNodes) {\n        auto device_uuid = i.second.s_unique_id;\n\n        if ( std::find(already_seen.begin(), already_seen.end(), device_uuid) == already_seen.end()) {\n            auto range = ARSMI_allSystemNodes.equal_range(device_uuid);\n\n            sort_vecs.resize(sort_vecs.size()+1);\n            for (auto j = range.first; j != range.second ; j++) {\n                sort_vecs[elem].push_back(j->second);\n            }\n            already_seen.push_back(device_uuid);\n            elem++;\n        }\n    }\n\n    //Sort each subvector\n    for (auto i = 0; i < sort_vecs.size(); i++) {\n        std::sort(sort_vecs[i].begin(), sort_vecs[i].end(), []\n                  (const ARSMI_systemNode &p1, const ARSMI_systemNode &p2) {\n                      return p1.s_bdf < p2.s_bdf;\n                  });\n    }\n\n    // Copy the first element for every uuid into the first_elem vector\n    std::vector<uint64_t> first_elem;\n    for (auto i=0; i < sort_vecs.size(); i++) {\n        first_elem.push_back(sort_vecs[i][0].s_bdf);\n    }\n    std::sort (first_elem.begin(), first_elem.end(), []\n               (const uint64_t &p1, const uint64_t &p2) {\n                   return p1 < p2;\n               });\n\n    // Copy all elements of the sort_vecs subarrays into\n    // ordered_nodes, with the sorted first_elem vector indicating\n    // the order of each block.\n    for (auto i=0; i < first_elem.size(); i++) {\n        // Find the first_elem[i] in sort_vecs in\n        for (auto j = 0; j < sort_vecs.size(); j++ ) {\n            if (first_elem[i] == sort_vecs[j][0].s_bdf) {\n                for (auto k=0; k<sort_vecs[j].size(); k++) {\n                    ARSMI_orderedNodes.push_back(sort_vecs[j][k]);\n                }\n                break;\n            }\n        }\n    }\n\n    // Part 2: generate Link Matrix\n    ARSMI_orderedLinks.resize(ARSMI_num_devices);\n    for (int i=0; i<ARSMI_num_devices; i++) {\n        ARSMI_orderedLinks[i].resize(ARSMI_num_devices);\n        for (int j = 0; j < ARSMI_num_devices; j++) {\n            ARSMI_orderedLinks[i][j].src_node = std::numeric_limits<unsigned>::max();\n            ARSMI_orderedLinks[i][j].dst_node = std::numeric_limits<unsigned>::max();\n        }\n    }\n\n    for (int src_idx = 0; src_idx < ARSMI_num_devices; src_idx++) {\n        struct ARSMI_systemNode node = ARSMI_orderedNodes[src_idx];\n        uint32_t src_id = node.s_node_id, nlinks = countIoLinks(src_id);\n        for (int i = 0; i < nlinks; i++) {\n            ARSMI_linkInfo info;\n            std::map<std::string, uint64_t> properties;\n            int ret = ARSMI_readLinkProperties(src_id, i, properties);\n            if (ret != 0){\n                continue;\n            }\n\n            uint64_t type;\n            uint64_t weight;\n            uint64_t min_bandwidth;\n            uint64_t max_bandwidth;\n            uint64_t dst_id;\n\n            int ret_target = read_link_properties(src_id, i, \"node_to\", &dst_id, properties);\n            if (ret_target != 0) {\n                continue;\n            }\n            int dst_idx = getNodeIndex(dst_id);\n            if (dst_idx == -1) {\n                // Not all GPUs might be directly connected to all other GPUs.\n                // Will set default values in the topo_get_link_info function.\n                continue;\n            }\n            info.src_node = src_id;\n            info.dst_node = dst_id;\n\n            int ret_weight = read_link_properties(src_id, i, \"weight\", &weight, properties);\n            if (ret_weight != 0) {\n                WARN(\"Error reading link properties files\");\n                return 1;\n            }\n            info.weight = weight;\n\n            int ret_type = read_link_properties(src_id, i, \"type\", &type, properties);\n            if (ret_type != 0) {\n                WARN(\"Error reading link properties files\");\n                return 1;\n            }\n            if (type == 11){\n                info.type = ARSMI_IOLINK_TYPE_XGMI;\n                info.hops = 1;\n            }\n            else if (type == 2) {\n                info.type = ARSMI_IOLINK_TYPE_PCIEXPRESS;\n                // hard coding for now to 2\n                info.hops = 2;\n            }\n            else {\n                info.type = ARSMI_IOLINK_TYPE_UNDEFINED;\n                info.hops = 0;\n            }\n\n            int ret_min_bw = read_link_properties(src_id, i, \"min_bandwidth\", &min_bandwidth, properties);\n            if (ret_min_bw != 0) {\n                WARN(\"Error reading link properties files\");\n                return 1;\n            }\n            info.min_bandwidth = min_bandwidth;\n\n            int ret_max_bw = read_link_properties(src_id, i, \"max_bandwidth\", &max_bandwidth, properties);\n            if (ret_max_bw != 0) {\n                return 1;\n            }\n            info.max_bandwidth = max_bandwidth;\n\n            ARSMI_orderedLinks[src_idx][dst_idx] = info;\n        }\n    }\n\n    return 0;\n}\n\n\nint ARSMI_get_num_devices (uint32_t *num_devices)\n{\n    int res = 0;\n\n    if (ARSMI_num_devices < 0) {\n        res = ARSMI_init();\n    }\n\n    *num_devices = ARSMI_num_devices;\n    return res;\n}\n\nint ARSMI_dev_pci_id_get(uint32_t dv_ind, uint64_t *bdfid)\n{\n    if (bdfid == nullptr) {\n        return EINVAL;\n    }\n\n    if (ARSMI_num_devices < 0) {\n        int res = ARSMI_init();\n        if (res != 0) {\n            return res;\n        }\n    }\n\n    *bdfid = ARSMI_orderedNodes[dv_ind].s_bdf;\n\n    return 0;\n}\n\n\nint ARSMI_topo_get_link_info(uint32_t dv_ind_src, uint32_t dv_ind_dst,\n                             ARSMI_linkInfo *info)\n{\n    if (info == nullptr) {\n        return EINVAL;\n    }\n\n    if (ARSMI_num_devices < 0) {\n        int res = ARSMI_init();\n        if (res != 0) {\n            return res;\n        }\n    }\n\n    if (dv_ind_src < 0 || dv_ind_src > ARSMI_num_devices) {\n        return EINVAL;\n    }\n    if (dv_ind_dst < 0 || dv_ind_dst > ARSMI_num_devices) {\n        return EINVAL;\n    }\n\n    uint32_t src_id = ARSMI_orderedNodes[dv_ind_src].s_node_id;\n    uint32_t dst_id = ARSMI_orderedNodes[dv_ind_dst].s_node_id;\n\n    ARSMI_linkInfo tinfo = ARSMI_orderedLinks[dv_ind_src][dv_ind_dst];\n    if (tinfo.src_node != src_id || tinfo.dst_node != dst_id) {\n        // Setting  default values.\n        tinfo.hops = 2;\n        tinfo.type = ARSMI_IOLINK_TYPE_PCIEXPRESS;\n        tinfo.weight = 40;\n        tinfo.min_bandwidth = 0;\n        tinfo.max_bandwidth = 0;\n    }\n    *info = tinfo;\n\n    return 0;\n}\n\n// Internal functions\nstatic int getNodeIndex(uint32_t node_id)\n{\n    int res = -1;\n    assert (ARSMI_num_devices > 0);\n\n    for (int i = 0; i < ARSMI_num_devices; i++) {\n        if (ARSMI_orderedNodes[i].s_node_id == node_id) {\n            res = i;\n            break;\n        }\n    }\n\n    return res;\n}\n\nstatic std::string DevicePath(uint32_t dev_id)\n{\n    std::string node_path = kKFDNodesPathRoot;\n    node_path += '/';\n    node_path += std::to_string(dev_id);\n\n    return node_path;\n}\n\nstatic int isRegularFile(std::string fname, bool *is_reg)\n{\n    struct stat file_stat;\n    int ret;\n\n    ret = stat(fname.c_str(), &file_stat);\n    if (ret) {\n        return errno;\n    }\n\n    if (is_reg != nullptr) {\n        *is_reg = S_ISREG(file_stat.st_mode);\n    }\n\n    return 0;\n}\n\nstatic bool isNumber(const std::string &s)\n{\n    return !s.empty() && std::all_of(s.begin(), s.end(), ::isdigit);\n}\n\nstatic int openNodeFile(uint32_t dev_id, std::string node_file,\n                        std::ifstream *fs)\n{\n    std::string line;\n    std::string f_path;\n    bool reg_file;\n\n    assert(fs != nullptr);\n\n    f_path = DevicePath(dev_id);\n    f_path += \"/\";\n    f_path += node_file;\n\n    int ret = isRegularFile(f_path, &reg_file);\n    if (ret != 0) {\n        return ret;\n    }\n    if (!reg_file) {\n        return ENOENT;\n    }\n\n    fs->open(f_path);\n    if (!fs->is_open()) {\n        return errno;\n    }\n\n    return 0;\n}\n\nstatic int countIoLinks(uint32_t dev_id)\n{\n    std::string f_path;\n    int file_count = 0;\n\n    f_path = DevicePath(dev_id);\n    f_path += \"/io_links/\";\n\n    auto node_dir = opendir(f_path.c_str());\n    auto dentry = readdir(node_dir);\n    while (dentry != NULL) {\n        if (dentry->d_type == DT_DIR && strcmp(dentry->d_name, \".\") != 0\n            && strcmp(dentry->d_name, \"..\") != 0) {\n            file_count++;\n        }\n        dentry = readdir(node_dir);\n    }\n    closedir(node_dir);\n    return file_count;\n}\n\nstatic int openLinkFile(uint32_t dev_id, uint32_t target_id,\n                        std::string node_file, std::ifstream *fs)\n{\n    std::string line;\n    std::string f_path;\n    bool reg_file;\n\n    assert(fs != nullptr);\n\n    f_path = DevicePath(dev_id);\n    f_path += \"/io_links/\";\n    f_path +=std::to_string(target_id);\n    f_path += \"/\";\n    f_path += node_file;\n\n    int ret = isRegularFile(f_path, &reg_file);\n    if (ret != 0) {\n        return ret;\n    }\n    if (!reg_file) {\n        return ENOENT;\n    }\n\n    fs->open(f_path);\n    if (!fs->is_open()) {\n        return errno;\n    }\n\n    return 0;\n}\n\n\nstatic int readGpuId(uint32_t node_id, uint64_t *gpu_id)\n{\n    std::string line;\n    std::ifstream fs;\n\n    assert(gpu_id != nullptr);\n    int ret = openNodeFile(node_id, \"gpu_id\", &fs);\n    if (ret) {\n        fs.close();\n        return ret;\n    }\n\n    std::stringstream ss;\n    ss << fs.rdbuf();\n    fs.close();\n\n    std::string gpu_id_str = ss.str();\n    gpu_id_str.erase(std::remove(gpu_id_str.begin(), gpu_id_str.end(), '\\n'),\n                     gpu_id_str.end());\n    if (!isNumber(gpu_id_str)) {\n        return ENXIO;\n    }\n\n    *gpu_id = static_cast<uint64_t>(std::stoi(gpu_id_str));\n    return 0;\n}\n\nstatic bool isNodeSupported(uint32_t node_indx)\n{\n    std::ifstream fs;\n    bool ret = true;\n\n    int err = openNodeFile(node_indx, \"properties\", &fs);\n    if (err == ENOENT) {\n        return false;\n    }\n    if (fs.peek() == std::ifstream::traits_type::eof()) {\n        ret = false;\n    }\n\n    fs.close();\n    return ret;\n}\n\nstatic int getPropertyValue(std::string property, uint64_t *value, std::map<std::string, uint64_t> &properties)\n{\n    if (value == nullptr) {\n        return EINVAL;\n    }\n    if (properties.empty()) {\n        return EINVAL;\n    }\n\n    if (properties.find(property) == properties.end()) {\n        return EINVAL;\n    }\n\n    *value = properties[property];\n    return 0;\n}\n\nstatic bool fileExists(char const *filename)\n{\n    struct stat buf;\n    return (stat(filename, &buf) == 0);\n}\n\nstatic int ARSMI_readDeviceProperties(uint32_t node_id, std::map<std::string, uint64_t> &properties)\n{\n    std::string line;\n    std::ifstream fs;\n    std::vector<std::string> tVec;\n\n    int ret = openNodeFile(node_id, \"properties\", &fs);\n    if (ret) {\n        return ret;\n    }\n\n    while (std::getline(fs, line)) {\n        tVec.push_back(line);\n    }\n\n    if (tVec.empty()) {\n        fs.close();\n        return ENOENT;\n    }\n\n    // Remove any *trailing* empty (whitespace) lines\n    while (tVec.back().find_first_not_of(\" \\t\\n\\v\\f\\r\") == std::string::npos) {\n        tVec.pop_back();\n    }\n\n    fs.close();\n\n    std::string key_str;\n    std::string val_str;\n    uint64_t val_int;  // Assume all properties are unsigned integers for now\n    std::istringstream fs2;\n\n    for (const auto & i : tVec) {\n        fs2.str(i);\n        fs2 >> key_str;\n        fs2 >> val_str;\n\n        val_int = std::stoull(val_str);\n        properties[key_str] = val_int;\n\n        fs2.str(\"\");\n        fs2.clear();\n    }\n\n    return 0;\n}\n\nstatic int ARSMI_readLinkProperties(uint32_t node_id, uint32_t target_node_id,\n                                    std::map<std::string, uint64_t> &properties)\n{\n    std::string line;\n    std::ifstream fs;\n    std::vector<std::string> tVec;\n\n    int ret = openLinkFile(node_id, target_node_id, \"properties\", &fs);\n    if (ret) {\n        return ret;\n    }\n\n    while (std::getline(fs, line)) {\n        tVec.push_back(line);\n    }\n\n    if (tVec.empty()) {\n        fs.close();\n        return ENOENT;\n    }\n\n    // Remove any *trailing* empty (whitespace) lines\n    while (tVec.back().find_first_not_of(\" \\t\\n\\v\\f\\r\") == std::string::npos) {\n        tVec.pop_back();\n    }\n\n    fs.close();\n\n    std::string key_str;\n    std::string val_str;\n    uint64_t val_int;  // Assume all properties are unsigned integers for now\n    std::istringstream fs2;\n\n    for (const auto & i : tVec) {\n        fs2.str(i);\n        fs2 >> key_str;\n        fs2 >> val_str;\n\n        val_int = std::stoull(val_str);\n        properties[key_str] = val_int;\n\n        fs2.str(\"\");\n        fs2.clear();\n    }\n\n    return 0;\n}\n\n// /sys/class/kfd/kfd/topology/nodes/*/properties\nstatic int read_node_properties(uint32_t node, std::string property_name,\n                                uint64_t *val, std::map<std::string, uint64_t> &properties)\n{\n    int retVal = EINVAL;\n\n    if (property_name.empty() || val == nullptr) {\n        WARN(\"Could not read node # %u property %s\", node, property_name.c_str());\n        return retVal;\n    }\n\n    if (isNodeSupported(node)) {\n        retVal = getPropertyValue(property_name, val, properties);\n    } else {\n        retVal = 1;\n        WARN(\"Could not read node # %u\",node);\n    }\n\n    return retVal;\n}\n\n// /sys/class/kfd/kfd/topology/nodes/*/io_links/*/properties\nstatic int read_link_properties(uint32_t node, uint32_t target, std::string property_name,\n                                uint64_t *val, std::map<std::string, uint64_t> &properties)\n{\n    int retVal = EINVAL;\n\n    if (property_name.empty() || val == nullptr) {\n        WARN(\"Could not read node # %u\", node);\n        return retVal;\n    }\n\n    if (isNodeSupported(node)) {\n        retVal = getPropertyValue(property_name, val, properties);\n    } else {\n        retVal = 1;\n        WARN(\"Could not read node # %u\", node);\n    }\n\n    return retVal;\n}\n\n// /sys/class/kfd/kfd/topology/nodes/*/gpu_id\nint getGpuId(uint32_t node, uint64_t *gpu_id)\n{\n    int retVal = EINVAL;\n\n    if (gpu_id == nullptr) {\n        WARN(\"Could not determine GPU id of node # %u\", node);\n        return retVal;\n    }\n\n    if (isNodeSupported(node)) {\n        retVal = readGpuId(node, gpu_id);\n    } else {\n        retVal = 1;\n        WARN(\"Could not read node # %u\", node);\n    }\n\n  return retVal;\n}\n"
  },
  {
    "path": "src/misc/amdsmi_wrap.cc",
    "content": "// Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n\n#include \"amdsmi_wrap.h\"\n#include \"alt_rsmi.h\"\n#include \"core.h\"\n#include \"utils.h\"\n#include <cstdio>\n#include <vector>\n#include <cstring>\n\nstatic int is_wsl2 = -1;\n\n#define AMDSMICHECK(cmd) do {                \\\n  amdsmi_status_t ret = cmd;                 \\\n  if( ret != AMDSMI_STATUS_SUCCESS ) {       \\\n    const char *err;                         \\\n    amdsmi_status_code_to_string(ret, &err);         \\\n    ERROR(\"AMD SMI failure: %s at line: %d in file: %s\", err, __LINE__, __FILE__);    \\\n    return ncclInternalError;                \\\n  }                                          \\\n} while(false)\n\n#define ARSMICHECK(cmd) do {         \\\n  int ret = cmd;                     \\\n  if( ret != 0 ) {\t\t     \\\n    ERROR(\"ARSMI failure: %d\", ret);   \\\n    return ncclInternalError;        \\\n  }                                  \\\n} while(false)\n\nRCCL_PARAM(UseAmdSmiLib, \"USE_AMD_SMI_LIB\", 0); // Opt-in environment variable for enabling using amd_smi_lib instead of internal code\n\nncclResult_t amd_smi_init() {\n  if (__atomic_load_n(&is_wsl2, __ATOMIC_ACQUIRE) == -1)\n    __atomic_store_n(&is_wsl2, (access(\"/dev/dxg\", F_OK) == -1) ? 0 : 1, __ATOMIC_RELEASE);\n  if (__atomic_load_n(&is_wsl2, __ATOMIC_ACQUIRE)) {\n    INFO(NCCL_INIT, \"Not using amdsmi_lib due to WSL2 environment detected.\");\n    return ncclSuccess;\n  }\n\n  if (rcclParamUseAmdSmiLib()) {\n    // initialize amd-smi for AMD GPUs\n    AMDSMICHECK(amdsmi_init(AMDSMI_INIT_AMD_GPUS));\n\n    // get amd-smi version\n    amdsmi_version_t version;\n    AMDSMICHECK(amdsmi_get_lib_version(&version));\n    INFO(NCCL_INIT, \"amdsmi_lib: version %d.%d.%d.%s\", version.major, version.minor, version.release, version.build);\n  } else {\n    // initialize alternate rsmi\n    ARSMICHECK(ARSMI_init());\n    INFO(NCCL_INIT, \"initialized internal alternative rsmi functionality\");\n  }\n  return ncclSuccess;\n}\n\nncclResult_t amd_smi_shutdown() {\n  AMDSMICHECK(amdsmi_shut_down());\n  return ncclSuccess;\n}\n\nncclResult_t amd_smi_getNumDevice(uint32_t* num_devs) {\n  if (__atomic_load_n(&is_wsl2, __ATOMIC_ACQUIRE))\n    CUDACHECK(cudaGetDeviceCount((int *)num_devs));\n  else {\n    if (rcclParamUseAmdSmiLib()) {\n      // rsmi_num_monitor_devices is deprecated\n\n      // with amd-smi, first get list of socket handles,\n      // then get number of processor handles in said sockets,\n      // and then query no. of gpus in said processor handles\n      uint32_t socket_count = 0;\n      AMDSMICHECK(amdsmi_get_socket_handles(&socket_count, nullptr));\n      std::vector<amdsmi_socket_handle> sockets(socket_count);\n      AMDSMICHECK(amdsmi_get_socket_handles(&socket_count, sockets.data()));\n\n      uint32_t total_gpus = 0;\n      for (auto& socket : sockets) {\n        uint32_t num_gpus_per_socket = 0;\n        AMDSMICHECK(amdsmi_get_processor_handles(socket, &num_gpus_per_socket, nullptr));\n        std::vector<amdsmi_processor_handle> processor_handles(num_gpus_per_socket);\n        AMDSMICHECK(amdsmi_get_processor_handles(socket, &num_gpus_per_socket, processor_handles.data()));\n        total_gpus += num_gpus_per_socket;\n      }\n      *num_devs = total_gpus;\n    } else {\n      ARSMICHECK(ARSMI_get_num_devices(num_devs));\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t amd_smi_getDevicePciBusIdString(uint32_t deviceIndex, char* busId, size_t len) {\n  uint64_t id;\n  if (__atomic_load_n(&is_wsl2, __ATOMIC_ACQUIRE)) {\n    CUDACHECK(cudaDeviceGetPCIBusId(busId, len, deviceIndex));\n  } else {\n    /** amd-smi's bus ID format\n     *  | Name        | Field   |\n     *  ------------- | ------- |\n     *  | Domain      | [63:16] |\n     *  | Bus         | [15: 8] |\n     *  | Device      | [ 7: 3] |\n     *  | Function    | [ 2: 0] |\n     **/\n    if (rcclParamUseAmdSmiLib()) {\n      // rsmi_dev_pci_id_get is deprecated\n\n      /// with amd-smi, first get list of socket handles,\n      // then get number of processor handles in said sockets,\n      // and then query the BDF for GPU matching deviceIndex in said processor handles\n      uint32_t socket_count = 0;\n      AMDSMICHECK(amdsmi_get_socket_handles(&socket_count, nullptr));\n      std::vector<amdsmi_socket_handle> sockets(socket_count);\n      AMDSMICHECK(amdsmi_get_socket_handles(&socket_count, sockets.data()));\n\n      for (auto& socket : sockets) {\n        uint32_t processor_handle_count = 0;\n        AMDSMICHECK(amdsmi_get_processor_handles(socket, &processor_handle_count, nullptr));\n        std::vector<amdsmi_processor_handle> processor_handles(processor_handle_count);\n        AMDSMICHECK(amdsmi_get_processor_handles(socket, &processor_handle_count, processor_handles.data()));\n\n        // this does not work?\n        // AMDSMICHECK(amdsmi_get_processor_handles_by_type(socket, AMDSMI_PROCESSOR_TYPE_AMD_GPU, nullptr, &num_gpus_per_socket));\n\n        // workaround\n        for (auto& proc : processor_handles) {\n          processor_type_t type;\n          uint64_t id;\n\n          AMDSMICHECK(amdsmi_get_processor_type(proc, &type));\n          if(type == AMDSMI_PROCESSOR_TYPE_AMD_GPU) {\n            amdsmi_enumeration_info_t info;\n            AMDSMICHECK(amdsmi_get_gpu_enumeration_info(proc, &info));\n            if(info.hip_id == deviceIndex) {\n              AMDSMICHECK(amdsmi_get_gpu_bdf_id(proc, &id));\n              break;\n            }\n          }\n        }\n      }\n    } else {\n      ARSMICHECK(ARSMI_dev_pci_id_get(deviceIndex, &id));\n    }\n\n    // rocm-smi/amd-smi format\n    //snprintf(busId, len, \"%04lx:%02lx:%02lx.%01lx\", (id & 0xffffffff) >> 32, (id & 0xff00) >> 8, (id & 0xf8) >> 3, (id & 0x7));\n\n    // borrowing NCCL's format from utils.cc:int64ToBusId\n    // !! To be reconciled after discussion with amdsmi team !!\n    snprintf(busId, len, \"%04lx:%02lx:%02lx.%01lx\", (id) >> 20, (id & 0xff000) >> 12, (id & 0xff0) >> 4, (id & 0xf));\n  }\n  return ncclSuccess;\n}\n\n\nncclResult_t amd_smi_getDeviceIndexByPciBusId(const char* pciBusId, uint32_t* deviceIndex) {\n  if (__atomic_load_n(&is_wsl2, __ATOMIC_ACQUIRE)) {\n    CUDACHECK(hipDeviceGetByPCIBusId((int *)deviceIndex, pciBusId));\n    return ncclSuccess;\n  } else {\n    int64_t busid;\n\n    busIdToInt64(pciBusId, &busid);\n    /** convert to amd-smi's bus ID format\n     *  | Name        | Field   |\n     *  ------------- | ------- |\n     *  | Domain      | [63:16] |\n     *  | Bus         | [15: 8] |\n     *  | Device      | [ 7: 3] |\n     *  | Function    | [ 2: 0] |\n     **/\n\n    // instead of getting device count and then comparing the busid to each GPUs BDF\n\n    // with amd-smi, we can use amdsmi_get_processor_handle_from_bdf,\n    // and then query the enumeration info for that processor_handle\n    if (rcclParamUseAmdSmiLib()) {\n      amdsmi_processor_handle processor_handle = 0;\n\n      amdsmi_bdf_t bdf = {};\n      // This is the format that matches amd-smi BDF\n      // bdf.function_number = (busid & 0x7);\n      // bdf.device_number = (busid & 0xf8) >> 3;\n      // bdf.bus_number = (busid & 0xff00) >> 8;\n      // bdf.domain_number = (busid & 0xffffffffffff0000) >> 16;\n\n      // However, it is incompatible with the format enforced by NCCL in utils.cc:int64ToBusId\n      // !! To be reconciled after discussion with amdsmi team !!\n      bdf.function_number = (busid & 0xf);\n      bdf.device_number = (busid & 0xff) >> 4;\n      bdf.bus_number = (busid & 0xff000) >> 12;\n      bdf.domain_number = busid >> 20;\n\n      AMDSMICHECK(amdsmi_get_processor_handle_from_bdf(bdf, &processor_handle));\n      \n      processor_type_t type;\n      AMDSMICHECK(amdsmi_get_processor_type(processor_handle, &type));\n      if(type == AMDSMI_PROCESSOR_TYPE_AMD_GPU) {\n        amdsmi_enumeration_info_t info;\n        AMDSMICHECK(amdsmi_get_gpu_enumeration_info(processor_handle, &info));\n        *deviceIndex = info.hip_id;\n        return ncclSuccess;\n      }\n      \n      ERROR(\"amdsmi_lib: %s device index not found\", pciBusId);\n    } else {\n      uint32_t i, num_devs = 0;\n      busid = ((busid&0xffff00000L)<<12)+((busid&0xff000L)>>4)+((busid&0xff0L)>>1)+(busid&0x7L);\n\n      ARSMICHECK(ARSMI_get_num_devices(&num_devs));\n      for (i = 0; i < num_devs; i++) {\n        uint64_t bdfid;\n        ARSMICHECK(ARSMI_dev_pci_id_get(i, &bdfid));\n        if (bdfid == busid) break;\n      }\n      if (i < num_devs) {\n        *deviceIndex = i;\n        return ncclSuccess;\n      }\n      else {\n        WARN(\"ARSMI_lib: %s device index not found\", pciBusId);\n      }\n    }\n    return ncclInternalError;\n  }\n}\n\nncclResult_t amd_smi_getLinkInfo(int srcIndex, int dstIndex, amdsmi_link_type_t* type, int *hops, int *count) {\n  if (__atomic_load_n(&is_wsl2, __ATOMIC_ACQUIRE)) {\n    *type = AMDSMI_LINK_TYPE_PCIE;\n    *hops = 1;\n    *count = 1;\n  } else {\n    amdsmi_link_type_t amdsmi_type;\n    uint64_t amdsmi_hops = 1, amdsmi_weight ;\n    *count = 1;\n\n    // rsmi_minmax_bandwidth_get is replaced by amdsmi_get_minmax_bandwidth_between_processors\n    // where the arguments for src and dst change from index to processor_handles\n\n    // with amd-smi, first get list of socket handles,\n    // then get number of processor handles in said sockets,\n    // then get the prcoessor handle matching the src and dst index,\n    // and then use these processor handles for amdsmi hardware topology functions\n    if (rcclParamUseAmdSmiLib()) {\n      uint32_t socket_count = 0;\n      amdsmi_processor_handle src_processor_handle = 0;\n      amdsmi_processor_handle dst_processor_handle = 0;\n      bool found_src = false, found_dst = false;\n\n      AMDSMICHECK(amdsmi_get_socket_handles(&socket_count, nullptr));\n      std::vector<amdsmi_socket_handle> sockets(socket_count);\n      AMDSMICHECK(amdsmi_get_socket_handles(&socket_count, sockets.data()));\n\n      for (auto& socket : sockets) {\n        uint32_t processor_handle_count = 0;\n        AMDSMICHECK(amdsmi_get_processor_handles(socket, &processor_handle_count, nullptr));\n        std::vector<amdsmi_processor_handle> processor_handles(processor_handle_count);\n        AMDSMICHECK(amdsmi_get_processor_handles(socket, &processor_handle_count, processor_handles.data()));\n\n        // this does not work?\n        // AMDSMICHECK(amdsmi_get_processor_handles_by_type(socket, AMDSMI_PROCESSOR_TYPE_AMD_GPU, nullptr, &num_gpus_per_socket));\n\n        // workaround\n        for (auto& proc : processor_handles) {\n          processor_type_t proc_type;\n          AMDSMICHECK(amdsmi_get_processor_type(proc, &proc_type));\n          if(proc_type == AMDSMI_PROCESSOR_TYPE_AMD_GPU) {\n            amdsmi_enumeration_info_t info;\n            AMDSMICHECK(amdsmi_get_gpu_enumeration_info(proc, &info));\n            if(info.hip_id == srcIndex) {\n              src_processor_handle = proc;\n              found_src = true;\n            }\n            if(info.hip_id == dstIndex) {\n              dst_processor_handle = proc;\n              found_dst = true;\n            }\n          }\n        }\n      }\n      if (!found_src) ERROR(\"amd-smi could not find processor handle for srcIndex: %d\", srcIndex);\n      if (!found_dst) ERROR(\"amd-smi could not find processor handle for dstIndex: %d\", dstIndex);\n      AMDSMICHECK(amdsmi_topo_get_link_type(src_processor_handle, dst_processor_handle, &amdsmi_hops, &amdsmi_type));\n      AMDSMICHECK(amdsmi_topo_get_link_weight(src_processor_handle, dst_processor_handle, &amdsmi_weight));\n\n      // amd-smi reports weight=0 for XGMI ??\n      if (amdsmi_type == AMDSMI_LINK_TYPE_XGMI) {\n        uint64_t min_bw = 0, max_bw = 0;\n        AMDSMICHECK(amdsmi_get_minmax_bandwidth_between_processors(src_processor_handle, dst_processor_handle, &min_bw, &max_bw));\n        if (max_bw && min_bw) *count = max_bw/min_bw;\n      }\n\n      *type = amdsmi_type;\n      *hops = amdsmi_hops;\n    } else {\n      ARSMI_linkInfo tinfo;\n      ARSMICHECK(ARSMI_topo_get_link_info(srcIndex, dstIndex, &tinfo));\n\n      *type  = (amdsmi_link_type_t) tinfo.type;\n      if (*type == AMDSMI_LINK_TYPE_XGMI && (tinfo.weight == 15 ||\n        tinfo.weight == 41 || tinfo.weight == 13)) {\n        *hops = 1;\n        if (tinfo.max_bandwidth && tinfo.min_bandwidth)\n          *count = tinfo.max_bandwidth/tinfo.min_bandwidth;\n      }\n    }\n  }\n\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/misc/api_trace.c",
    "content": "//\n// This file just ensures that api_trace.h is C-compatible\n//\n\n#if defined(__cplusplus)\n#    error \"C source file compiling as C++\"\n#endif\n\n#include \"api_trace.h\"\n"
  },
  {
    "path": "src/misc/api_trace.cc",
    "content": "\n#include \"api_trace.h\"\n#include \"core.h\"\n#include \"nccl.h\"\n\n#include <cstddef>\n#include <cstdint>\n#include <iostream>\n#include <vector>\n\n#if defined(RCCL_ROCPROFILER_REGISTER) && RCCL_ROCPROFILER_REGISTER > 0\n#    include <rocprofiler-register/rocprofiler-register.h>\n\n#    define ROCP_REG_VERSION                                                             \\\n        ROCPROFILER_REGISTER_COMPUTE_VERSION_3(NCCL_MAJOR, NCCL_MINOR, NCCL_PATCH)\n\nROCPROFILER_REGISTER_DEFINE_IMPORT(rccl, ROCP_REG_VERSION)\n#endif\n\nncclResult_t\nncclAllGather_impl(const void* sendbuff, void* recvbuff, size_t sendcount,\n                   ncclDataType_t datatype, ncclComm_t comm, cudaStream_t stream);\n\nncclResult_t\nncclAllReduce_impl(const void* sendbuff, void* recvbuff, size_t count,\n                   ncclDataType_t datatype, ncclRedOp_t op, ncclComm* comm,\n                   cudaStream_t stream);\n\nncclResult_t\nncclAlltoAll_impl(const void* sendbuff, void* recvbuff, size_t count,\n                  ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n\nncclResult_t\nncclAlltoAllv_impl(const void* sendbuff, const size_t sendcounts[],\n                   const size_t sdispls[], void* recvbuff, const size_t recvcounts[],\n                   const size_t rdispls[], ncclDataType_t datatype, ncclComm_t comm,\n                   hipStream_t stream);\n\nncclResult_t\nncclBroadcast_impl(const void* sendbuff, void* recvbuff, size_t count,\n                   ncclDataType_t datatype, int root, ncclComm_t comm,\n                   cudaStream_t stream);\n\nncclResult_t\nncclGather_impl(const void* sendbuff, void* recvbuff, size_t sendcount,\n                ncclDataType_t datatype, int root, ncclComm_t comm, hipStream_t stream);\n\nncclResult_t\nncclReduce_impl(const void* sendbuff, void* recvbuff, size_t count,\n                ncclDataType_t datatype, ncclRedOp_t op, int root, ncclComm_t comm,\n                cudaStream_t stream);\n\nncclResult_t\nncclReduceScatter_impl(const void* sendbuff, void* recvbuff, size_t recvcount,\n                       ncclDataType_t datatype, ncclRedOp_t op, ncclComm* comm,\n                       cudaStream_t stream);\n\nncclResult_t\nncclScatter_impl(const void* sendbuff, void* recvbuff, size_t recvcount,\n                 ncclDataType_t datatype, int root, ncclComm_t comm, hipStream_t stream);\n\nncclResult_t\nncclSend_impl(const void* sendbuff, size_t count, ncclDataType_t datatype, int peer,\n              ncclComm_t comm, cudaStream_t stream);\n\nncclResult_t\nncclRecv_impl(void* recvbuff, size_t count, ncclDataType_t datatype, int peer,\n              ncclComm_t comm, cudaStream_t stream);\n\nncclResult_t\nncclRedOpCreatePreMulSum_impl(ncclRedOp_t* op, void* scalar, ncclDataType_t datatype,\n                              ncclScalarResidence_t residence, ncclComm_t comm);\n\nncclResult_t\nncclRedOpDestroy_impl(ncclRedOp_t op, ncclComm_t comm);\n\nncclResult_t\nncclGroupStart_impl();\n\nncclResult_t\nncclGroupEnd_impl();\n\nncclResult_t\nncclGetVersion_impl(int* version);\n\nncclResult_t\nncclGetUniqueId_impl(ncclUniqueId* out);\n\nncclResult_t\nncclCommInitRank_impl(ncclComm_t* newcomm, int nranks, ncclUniqueId commId, int myrank);\n\nncclResult_t\nncclCommInitAll_impl(ncclComm_t* comms, int ndev, const int* devlist);\n\nncclResult_t\nncclCommInitRankConfig_impl(ncclComm_t* comm, int nranks, ncclUniqueId commId, int myrank,\n                            ncclConfig_t* config);\n\nncclResult_t\nncclCommFinalize_impl(ncclComm_t comm);\n\nncclResult_t\nncclCommDestroy_impl(ncclComm_t comm);\n\nncclResult_t\nncclCommAbort_impl(ncclComm_t comm);\n\nncclResult_t\nncclCommShrink_impl(ncclComm_t comm, int* excludeRanksList, int excludeRanksCount, ncclComm_t *newcomm,\n                    ncclConfig_t* config, int shrinkFlags);\n\nncclResult_t\nncclCommSplit_impl(ncclComm_t comm, int color, int key, ncclComm_t* newcomm,\n                   ncclConfig_t* config);\n\nconst char*\nncclGetErrorString_impl(ncclResult_t code);\n\nconst char*\nncclGetLastError_impl(const ncclComm_t comm);\n\nncclResult_t\nncclCommGetAsyncError_impl(ncclComm_t comm, ncclResult_t* asyncError);\n\nncclResult_t\nncclCommCount_impl(const ncclComm_t comm, int* count);\n\nncclResult_t\nncclCommCuDevice_impl(const ncclComm_t comm, int* devid);\n\nncclResult_t\nncclCommUserRank_impl(const ncclComm_t comm, int* rank);\n\nncclResult_t\nncclMemAlloc_impl(void** ptr, size_t size);\n\nncclResult_t\nncclMemFree_impl(void* ptr);\n\nncclResult_t\nmscclLoadAlgo_impl(const char* mscclAlgoFilePath, mscclAlgoHandle_t* mscclAlgoHandle,\n                   int rank);\n\nncclResult_t\nmscclRunAlgo_impl(const void* sendBuff, const size_t sendCounts[], const size_t sDisPls[],\n                  void* recvBuff, const size_t recvCounts[], const size_t rDisPls[],\n                  size_t count, ncclDataType_t dataType, int root, int peer,\n                  ncclRedOp_t op, mscclAlgoHandle_t mscclAlgoHandle, ncclComm_t comm,\n                  hipStream_t stream);\n\nncclResult_t\nmscclUnloadAlgo_impl(mscclAlgoHandle_t mscclAlgoHandle);\n\nncclResult_t\nncclCommRegister_impl(const ncclComm_t comm, void* buff, size_t size, void** handle);\n\nncclResult_t\nncclCommDeregister_impl(const ncclComm_t comm, void* handle);\n\nncclResult_t\nncclCommWindowRegister_impl(ncclComm_t comm, void* buff, size_t size, ncclWindow_t* win, int winFlags);\n\nncclResult_t\nncclCommWindowDeregister_impl(ncclComm_t comm, ncclWindow_t win);\n\nncclResult_t\nncclAllReduceWithBias_impl(const void* sendbuff, void* recvbuff, size_t count,\n                   ncclDataType_t datatype, ncclRedOp_t op, ncclComm* comm,\n                   cudaStream_t stream, const void* acc);\n\nnamespace rccl\n{\nnamespace\n{\n\nconstexpr size_t\ncompute_table_offset(size_t n)\n{\n    return (sizeof(uint64_t) + (n * sizeof(void*)));\n}\n\nconstexpr size_t\ncompute_table_size(size_t nmembers)\n{\n    return (sizeof(uint64_t) + (nmembers * sizeof(void*)));\n}\n\n#define RCCL_ASSERT_OFFSET(TABLE, MEMBER, IDX)                                           \\\n    static_assert(offsetof(TABLE, MEMBER) == compute_table_offset(IDX),                  \\\n                  \"Do not re-arrange the table members\")\n\n// DO NOT REORDER, ADD NEW ITEMS TO BOTTOM\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclAllGather_fn, 0);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclAllReduce_fn, 1);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclAllToAll_fn, 2);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclAllToAllv_fn, 3);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclBroadcast_fn, 4);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclGather_fn, 5);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclReduce_fn, 6);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclReduceScatter_fn, 7);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclScatter_fn, 8);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclSend_fn, 9);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclRecv_fn, 10);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclRedOpCreatePreMulSum_fn, 11);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclRedOpDestroy_fn, 12);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclGroupStart_fn, 13);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclGroupEnd_fn, 14);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclGetVersion_fn, 15);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclGetUniqueId_fn, 16);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommInitRank_fn, 17);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommInitAll_fn, 18);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommInitRankConfig_fn, 19);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommFinalize_fn, 20);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommDestroy_fn, 21);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommAbort_fn, 22);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommSplit_fn, 23);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclGetErrorString_fn, 24);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclGetLastError_fn, 25);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommGetAsyncError_fn, 26);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommCount_fn, 27);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommCuDevice_fn, 28);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommUserRank_fn, 29);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclMemAlloc_fn, 30);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclMemFree_fn, 31);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, mscclLoadAlgo_fn, 32);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, mscclRunAlgo_fn, 33);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, mscclUnloadAlgo_fn, 34);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommRegister_fn, 35);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommDeregister_fn, 36);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclAllReduceWithBias_fn, 37);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommShrink_fn, 38);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommWindowRegister_fn, 39);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclCommWindowDeregister_fn, 40);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclAlltoAll_fn, 41);\nRCCL_ASSERT_OFFSET(rcclApiFuncTable, ncclAlltoAllv_fn, 42);\n// DO NOT REORDER, ADD NEW ITEMS HERE\n\n#undef RCCL_ASSERT_OFFSET\n\nstatic_assert(sizeof(rcclApiFuncTable) == compute_table_size(43),\n              \"Update table major/step version and add a new offset assertion if this \"\n              \"fails to compile\");\n\nstd::array<unsigned char, sizeof(rcclApiFuncTable)> m_buffer = {};\n\nrcclApiFuncTable*\nRcclGetFunctionTable_impl()\n{\n    static auto* tbl =\n        new(m_buffer.data()) rcclApiFuncTable{ sizeof(rcclApiFuncTable),\n                                               &ncclAllGather_impl,\n                                               &ncclAllReduce_impl,\n                                               nullptr,\n                                               nullptr,\n                                               &ncclBroadcast_impl,\n                                               &ncclGather_impl,\n                                               &ncclReduce_impl,\n                                               &ncclReduceScatter_impl,\n                                               &ncclScatter_impl,\n                                               &ncclSend_impl,\n                                               &ncclRecv_impl,\n                                               &ncclRedOpCreatePreMulSum_impl,\n                                               &ncclRedOpDestroy_impl,\n                                               &ncclGroupStart_impl,\n                                               &ncclGroupEnd_impl,\n                                               &ncclGetVersion_impl,\n                                               &ncclGetUniqueId_impl,\n                                               &ncclCommInitRank_impl,\n                                               &ncclCommInitAll_impl,\n                                               &ncclCommInitRankConfig_impl,\n                                               &ncclCommFinalize_impl,\n                                               &ncclCommDestroy_impl,\n                                               &ncclCommAbort_impl,\n                                               &ncclCommSplit_impl,\n                                               &ncclGetErrorString_impl,\n                                               &ncclGetLastError_impl,\n                                               &ncclCommGetAsyncError_impl,\n                                               &ncclCommCount_impl,\n                                               &ncclCommCuDevice_impl,\n                                               &ncclCommUserRank_impl,\n                                               &ncclMemAlloc_impl,\n                                               &ncclMemFree_impl,\n                                               &mscclLoadAlgo_impl,\n                                               &mscclRunAlgo_impl,\n                                               &mscclUnloadAlgo_impl,\n                                               &ncclCommRegister_impl,\n                                               &ncclCommDeregister_impl,\n                                               &ncclAllReduceWithBias_impl,\n                                               &ncclCommShrink_impl,\n                                               &ncclCommWindowRegister_impl,\n                                               &ncclCommWindowDeregister_impl,\n                                               &ncclAlltoAll_impl,\n                                               &ncclAlltoAllv_impl\n                                               // DO NOT REORDER, ADD NEW ITEMS HERE\n                                             };\n\n#if defined(RCCL_ROCPROFILER_REGISTER) && RCCL_ROCPROFILER_REGISTER > 0\n    std::array<void*, 1>                       table_array{ tbl };\n    rocprofiler_register_library_indentifier_t lib_id =\n        rocprofiler_register_library_indentifier_t{};\n    rocprofiler_register_error_code_t rocp_reg_status =\n        rocprofiler_register_library_api_table(\n            \"rccl\", &ROCPROFILER_REGISTER_IMPORT_FUNC(rccl), ROCP_REG_VERSION,\n            table_array.data(), table_array.size(), &lib_id);\n\n    INFO(NCCL_COLL,\n         \"[rocprofiler-sdk-rccl][ = %d ] rocprofiler-register returned code = %d : %s\",\n         getpid(), rocp_reg_status, rocprofiler_register_error_string(rocp_reg_status));\n\n    if(rocp_reg_status != ROCP_REG_SUCCESS && rocp_reg_status != ROCP_REG_NO_TOOLS)\n        WARN(\"[rocprofiler-sdk-rccl][%d] rocprofiler-register failed with error code %d \"\n             \": %s\",\n             getpid(), rocp_reg_status,\n             rocprofiler_register_error_string(rocp_reg_status));\n#endif\n\n    return tbl;\n}\n}  // end of namespace\n\nconst rcclApiFuncTable*\nRcclGetFunctionTable()\n{\n    static const auto* tbl = RcclGetFunctionTable_impl();\n    return tbl;\n}\n}  // end of namespace rccl\n\nNCCL_API(ncclResult_t, ncclAllGather, const void* sendbuff, void* recvbuff,\n         size_t sendcount, ncclDataType_t datatype, ncclComm_t comm, cudaStream_t stream);\n\nNCCL_API(ncclResult_t, ncclAllReduce, const void* sendbuff, void* recvbuff, size_t count,\n         ncclDataType_t datatype, ncclRedOp_t op, ncclComm* comm, hipStream_t stream);\n\nNCCL_API(ncclResult_t, ncclAllReduceWithBias, const void* sendbuff, void* recvbuff, size_t count,\n         ncclDataType_t datatype, ncclRedOp_t op, ncclComm* comm, hipStream_t stream, const void* acc);\n\nNCCL_API(ncclResult_t, ncclAlltoAll, const void* sendbuff, void* recvbuff, size_t count,\n         ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n\nNCCL_API(ncclResult_t, ncclAllToAll, const void* sendbuff, void* recvbuff, size_t count,\n        ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n\nNCCL_API(ncclResult_t, ncclAlltoAllv, const void* sendbuff, const size_t sendcounts[],\n         const size_t sdispls[], void* recvbuff, const size_t recvcounts[],\n         const size_t rdispls[], ncclDataType_t datatype, ncclComm_t comm,\n         hipStream_t stream);\n\nNCCL_API(ncclResult_t, ncclAllToAllv, const void* sendbuff, const size_t sendcounts[],\n        const size_t sdispls[], void* recvbuff, const size_t recvcounts[],\n        const size_t rdispls[], ncclDataType_t datatype, ncclComm_t comm,\n        hipStream_t stream);\n\nNCCL_API(ncclResult_t, ncclBroadcast, const void* sendbuff, void* recvbuff, size_t count,\n         ncclDataType_t datatype, int root, ncclComm_t comm, hipStream_t stream);\n\nNCCL_API(ncclResult_t, ncclGather, const void* sendbuff, void* recvbuff, size_t sendcount,\n         ncclDataType_t datatype, int root, ncclComm_t comm, hipStream_t stream);\n\nNCCL_API(ncclResult_t, ncclReduce, const void* sendbuff, void* recvbuff, size_t count,\n         ncclDataType_t datatype, ncclRedOp_t op, int root, ncclComm_t comm,\n         hipStream_t stream);\n\nNCCL_API(ncclResult_t, ncclReduceScatter, const void* sendbuff, void* recvbuff,\n         size_t recvcount, ncclDataType_t datatype, ncclRedOp_t op, ncclComm* comm,\n         hipStream_t stream);\n\nNCCL_API(ncclResult_t, ncclScatter, const void* sendbuff, void* recvbuff,\n         size_t recvcount, ncclDataType_t datatype, int root, ncclComm_t comm,\n         hipStream_t stream);\n\nNCCL_API(ncclResult_t, ncclSend, const void* sendbuff, size_t count,\n         ncclDataType_t datatype, int peer, ncclComm_t comm, hipStream_t stream);\n\nNCCL_API(ncclResult_t, ncclRecv, void* recvbuff, size_t count, ncclDataType_t datatype,\n         int peer, ncclComm_t comm, hipStream_t stream);\n\nNCCL_API(ncclResult_t, ncclRedOpCreatePreMulSum, ncclRedOp_t* op, void* scalar,\n         ncclDataType_t datatype, ncclScalarResidence_t residence, ncclComm_t comm);\n\nNCCL_API(ncclResult_t, ncclRedOpDestroy, ncclRedOp_t op, ncclComm_t comm);\n\nNCCL_API(ncclResult_t, ncclGroupStart);\n\nNCCL_API(ncclResult_t, ncclGroupEnd);\n\nNCCL_API(ncclResult_t, ncclGetVersion, int* version);\n\nNCCL_API(ncclResult_t, ncclGetUniqueId, ncclUniqueId* out);\n\nNCCL_API(ncclResult_t, ncclCommInitRank, ncclComm_t* newcomm, int nranks,\n         ncclUniqueId commId, int myrank);\n\nNCCL_API(ncclResult_t, ncclCommInitAll, ncclComm_t* comms, int ndev, const int* devlist);\n\nNCCL_API(ncclResult_t, ncclCommInitRankConfig, ncclComm_t* comm, int nranks,\n         ncclUniqueId commId, int myrank, ncclConfig_t* config);\n\nNCCL_API(ncclResult_t, ncclCommFinalize, ncclComm_t comm);\n\nNCCL_API(ncclResult_t, ncclCommDestroy, ncclComm_t comm);\n\nNCCL_API(ncclResult_t, ncclCommAbort, ncclComm_t comm);\n\nNCCL_API(ncclResult_t, ncclCommShrink, ncclComm_t comm, int* excludeRanksList, int excludeRanksCount,\n         ncclComm_t* newcomm, ncclConfig_t* config, int shrinkFlags);\n\nNCCL_API(ncclResult_t, ncclCommSplit, ncclComm_t comm, int color, int key,\n         ncclComm_t* newcomm, ncclConfig_t* config);\n\nNCCL_API(const char*, ncclGetErrorString, ncclResult_t code);\n\nNCCL_API(const char*, ncclGetLastError, const ncclComm_t comm);\n\nNCCL_API(ncclResult_t, ncclCommGetAsyncError, ncclComm_t comm, ncclResult_t* asyncError);\n\nNCCL_API(ncclResult_t, ncclCommCount, const ncclComm_t comm, int* count);\n\nNCCL_API(ncclResult_t, ncclCommCuDevice, const ncclComm_t comm, int* devid);\n\nNCCL_API(ncclResult_t, ncclCommUserRank, const ncclComm_t comm, int* rank);\n\nNCCL_API(ncclResult_t, ncclMemAlloc, void** ptr, size_t size);\n\nNCCL_API(ncclResult_t, ncclMemFree, void* ptr);\n\nNCCL_API(ncclResult_t, mscclLoadAlgo, const char* mscclAlgoFilePath,\n         mscclAlgoHandle_t* mscclAlgoHandle, int rank);\n\nNCCL_API(ncclResult_t, mscclRunAlgo, const void* sendBuff, const size_t sendCounts[],\n         const size_t sDisPls[], void* recvBuff, const size_t recvCounts[],\n         const size_t rDisPls[], size_t count, ncclDataType_t dataType, int root,\n         int peer, ncclRedOp_t op, mscclAlgoHandle_t mscclAlgoHandle, ncclComm_t comm,\n         hipStream_t stream);\n\nNCCL_API(ncclResult_t, mscclUnloadAlgo, mscclAlgoHandle_t mscclAlgoHandle);\n\nNCCL_API(ncclResult_t, ncclCommRegister, const ncclComm_t comm, void* buff, size_t size,\n         void** handle);\n\nNCCL_API(ncclResult_t, ncclCommDeregister, const ncclComm_t comm, void* handle);\n\nNCCL_API(ncclResult_t, ncclCommWindowRegister, ncclComm_t comm, void* buff, size_t size, \n         ncclWindow_t* win, int winFlags);\n\nNCCL_API(ncclResult_t, ncclCommWindowDeregister, ncclComm_t comm, ncclWindow_t win);\n\nncclResult_t\nncclAllGather(const void* sendbuff, void* recvbuff, size_t sendcount,\n              ncclDataType_t datatype, ncclComm_t comm, cudaStream_t stream)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclAllGather_fn(sendbuff, recvbuff, sendcount,\n                                                            datatype, comm, stream);\n}\n\nncclResult_t\nncclAllReduce(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype,\n              ncclRedOp_t op, ncclComm* comm, cudaStream_t stream)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclAllReduce_fn(sendbuff, recvbuff, count,\n                                                            datatype, op, comm, stream);\n}\n\nncclResult_t\nncclAllReduceWithBias(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype,\n              ncclRedOp_t op, ncclComm* comm, cudaStream_t stream, const void* acc)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclAllReduceWithBias_fn(sendbuff, recvbuff, count,\n                                                            datatype, op, comm, stream, acc);\n}\n\nncclResult_t\nncclAlltoAll(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype,\n             ncclComm_t comm, hipStream_t stream)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclAlltoAll_fn(sendbuff, recvbuff, count,\n                                                           datatype, comm, stream);\n}\n\nncclResult_t\nncclAllToAll(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype,\n             ncclComm_t comm, hipStream_t stream)\n{\n    WARN(\"Please note that ncclAllToAll is deprecated, please use ncclAlltoAll instead\");\n    return ::rccl::RcclGetFunctionTable()->ncclAlltoAll_fn(sendbuff, recvbuff, count,\n                                                           datatype, comm, stream);\n}\n\nncclResult_t\nncclAlltoAllv(const void* sendbuff, const size_t sendcounts[], const size_t sdispls[],\n              void* recvbuff, const size_t recvcounts[], const size_t rdispls[],\n              ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclAlltoAllv_fn(sendbuff, sendcounts, sdispls,\n                                                            recvbuff, recvcounts, rdispls,\n                                                            datatype, comm, stream);\n}\n\nncclResult_t\nncclAllToAllv(const void* sendbuff, const size_t sendcounts[], const size_t sdispls[],\n              void* recvbuff, const size_t recvcounts[], const size_t rdispls[],\n              ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream)\n{\n    WARN(\"Please note that ncclAllToAllv is deprecated, please use ncclAlltoAllv instead\");\n    return ::rccl::RcclGetFunctionTable()->ncclAlltoAllv_fn(sendbuff, sendcounts, sdispls,\n                                                            recvbuff, recvcounts, rdispls,\n                                                            datatype, comm, stream);\n}\n\nncclResult_t\nncclBroadcast(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype,\n              int root, ncclComm_t comm, cudaStream_t stream)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclBroadcast_fn(sendbuff, recvbuff, count,\n                                                            datatype, root, comm, stream);\n}\n\nncclResult_t\nncclGather(const void* sendbuff, void* recvbuff, size_t sendcount,\n           ncclDataType_t datatype, int root, ncclComm_t comm, hipStream_t stream)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclGather_fn(sendbuff, recvbuff, sendcount,\n                                                         datatype, root, comm, stream);\n}\n\nncclResult_t\nncclReduce(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype,\n           ncclRedOp_t op, int root, ncclComm_t comm, cudaStream_t stream)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclReduce_fn(\n        sendbuff, recvbuff, count, datatype, op, root, comm, stream);\n}\n\nncclResult_t\nncclReduceScatter(const void* sendbuff, void* recvbuff, size_t recvcount,\n                  ncclDataType_t datatype, ncclRedOp_t op, ncclComm* comm,\n                  cudaStream_t stream)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclReduceScatter_fn(\n        sendbuff, recvbuff, recvcount, datatype, op, comm, stream);\n}\n\nncclResult_t\nncclScatter(const void* sendbuff, void* recvbuff, size_t recvcount,\n            ncclDataType_t datatype, int root, ncclComm_t comm, hipStream_t stream)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclScatter_fn(sendbuff, recvbuff, recvcount,\n                                                          datatype, root, comm, stream);\n}\n\nncclResult_t\nncclSend(const void* sendbuff, size_t count, ncclDataType_t datatype, int peer,\n         ncclComm_t comm, cudaStream_t stream)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclSend_fn(sendbuff, count, datatype, peer,\n                                                       comm, stream);\n}\n\nncclResult_t\nncclRecv(void* recvbuff, size_t count, ncclDataType_t datatype, int peer, ncclComm_t comm,\n         cudaStream_t stream)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclRecv_fn(recvbuff, count, datatype, peer,\n                                                       comm, stream);\n}\n\nncclResult_t\nncclRedOpCreatePreMulSum(ncclRedOp_t* op, void* scalar, ncclDataType_t datatype,\n                         ncclScalarResidence_t residence, ncclComm_t comm)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclRedOpCreatePreMulSum_fn(\n        op, scalar, datatype, residence, comm);\n}\n\nncclResult_t\nncclRedOpDestroy(ncclRedOp_t op, ncclComm_t comm)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclRedOpDestroy_fn(op, comm);\n}\n\nncclResult_t\nncclGroupStart()\n{\n    return ::rccl::RcclGetFunctionTable()->ncclGroupStart_fn();\n}\n\nncclResult_t\nncclGroupEnd()\n{\n    return ::rccl::RcclGetFunctionTable()->ncclGroupEnd_fn();\n}\n\nncclResult_t\nncclGetVersion(int* version)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclGetVersion_fn(version);\n}\n\nncclResult_t\nncclGetUniqueId(ncclUniqueId* out)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclGetUniqueId_fn(out);\n}\n\nncclResult_t\nncclCommInitRank(ncclComm_t* newcomm, int nranks, ncclUniqueId commId, int myrank)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommInitRank_fn(newcomm, nranks, commId,\n                                                               myrank);\n}\n\nncclResult_t\nncclCommInitAll(ncclComm_t* comms, int ndev, const int* devlist)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommInitAll_fn(comms, ndev, devlist);\n}\n\nncclResult_t\nncclCommInitRankConfig(ncclComm_t* comm, int nranks, ncclUniqueId commId, int myrank,\n                       ncclConfig_t* config)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommInitRankConfig_fn(comm, nranks, commId,\n                                                                     myrank, config);\n}\n\nncclResult_t\nncclCommFinalize(ncclComm_t comm)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommFinalize_fn(comm);\n}\n\nncclResult_t\nncclCommDestroy(ncclComm_t comm)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommDestroy_fn(comm);\n}\n\nncclResult_t\nncclCommAbort(ncclComm_t comm)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommAbort_fn(comm);\n}\n\nncclResult_t\nncclCommShrink(ncclComm_t comm, int* excludeRanksList, int excludeRanksCount, ncclComm_t* newcomm,\n               ncclConfig_t* config, int shrinkFlags)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommShrink_fn(comm, excludeRanksList, excludeRanksCount, \n                                                             newcomm, config, shrinkFlags);\n}\n\nncclResult_t\nncclCommSplit(ncclComm_t comm, int color, int key, ncclComm_t* newcomm,\n              ncclConfig_t* config)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommSplit_fn(comm, color, key, newcomm,\n                                                            config);\n}\n\nconst char*\nncclGetErrorString(ncclResult_t code)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclGetErrorString_fn(code);\n}\n\nconst char*\nncclGetLastError(const ncclComm_t comm)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclGetLastError_fn(comm);\n}\n\nncclResult_t\nncclCommGetAsyncError(ncclComm_t comm, ncclResult_t* asyncError)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommGetAsyncError_fn(comm, asyncError);\n}\n\nncclResult_t\nncclCommCount(const ncclComm_t comm, int* count)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommCount_fn(comm, count);\n}\n\nncclResult_t\nncclCommCuDevice(const ncclComm_t comm, int* devid)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommCuDevice_fn(comm, devid);\n}\n\nncclResult_t\nncclCommUserRank(const ncclComm_t comm, int* rank)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommUserRank_fn(comm, rank);\n}\n\nncclResult_t\nncclMemAlloc(void** ptr, size_t size)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclMemAlloc_fn(ptr, size);\n}\n\nncclResult_t\nncclMemFree(void* ptr)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclMemFree_fn(ptr);\n}\n\nncclResult_t\nmscclLoadAlgo(const char* mscclAlgoFilePath, mscclAlgoHandle_t* mscclAlgoHandle, int rank)\n{\n    return ::rccl::RcclGetFunctionTable()->mscclLoadAlgo_fn(mscclAlgoFilePath,\n                                                            mscclAlgoHandle, rank);\n}\n\nncclResult_t\nmscclRunAlgo(const void* sendBuff, const size_t sendCounts[], const size_t sDisPls[],\n             void* recvBuff, const size_t recvCounts[], const size_t rDisPls[],\n             size_t count, ncclDataType_t dataType, int root, int peer, ncclRedOp_t op,\n             mscclAlgoHandle_t mscclAlgoHandle, ncclComm_t comm, hipStream_t stream)\n{\n    return ::rccl::RcclGetFunctionTable()->mscclRunAlgo_fn(\n        sendBuff, sendCounts, sDisPls, recvBuff, recvCounts, rDisPls, count, dataType,\n        root, peer, op, mscclAlgoHandle, comm, stream);\n}\n\nncclResult_t\nmscclUnloadAlgo(mscclAlgoHandle_t mscclAlgoHandle)\n{\n    return ::rccl::RcclGetFunctionTable()->mscclUnloadAlgo_fn(mscclAlgoHandle);\n}\n\nncclResult_t\nncclCommRegister(const ncclComm_t comm, void* buff, size_t size, void** handle)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommRegister_fn(comm, buff, size, handle);\n}\n\nncclResult_t\nncclCommDeregister(const ncclComm_t comm, void* handle)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommDeregister_fn(comm, handle);\n}\n\nncclResult_t\nncclCommWindowRegister(ncclComm_t comm, void* buff, size_t size, ncclWindow_t* win, int winFlags)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommWindowRegister_fn(comm, buff, size, win, winFlags);\n}\n\nncclResult_t\nncclCommWindowDeregister(ncclComm_t comm, ncclWindow_t win)\n{\n    return ::rccl::RcclGetFunctionTable()->ncclCommWindowDeregister_fn(comm, win);\n}\n"
  },
  {
    "path": "src/misc/archinfo.cc",
    "content": "/*\nCopyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#include \"archinfo.h\"\n#include \"checks.h\"\n#include <hip/hip_runtime.h>\n#include <hip/hip_runtime_api.h>\n\nvoid GcnArchNameFormat(char* gcnArchName, char* out) {\n  // this function parses the char array from the device properties into something easier to handle.\n  // as the gcnArchName attribute looks something like: \"gfx900:xnack+:blah-:etc-\"\n  char *gcnArchNameToken = strtok(gcnArchName, \":\");\n  strcpy(out, gcnArchNameToken);\n}\n\nvoid convertGcnArchToGcnArchName(const char* gcnArch, const char** gcnArchName) {\n  // gcnArch is deprecated and we should instead use gcnArchName; however, some data files still have\n  // the older gcnArch value.  There's only a handful of architectures that were coded prior to deprecation,\n  // so we handle those cases here.\n  if (strcmp(gcnArch, \"906\") == 0)\n    *gcnArchName = \"gfx906\";\n  else if (strcmp(gcnArch, \"908\") == 0)\n    *gcnArchName = \"gfx908\";\n  else if (strcmp(gcnArch, \"910\") == 0)\n    *gcnArchName = \"gfx90a\";\n  else if (strcmp(gcnArch, \"942\") == 0)\n    *gcnArchName = \"gfx942\";\n  else if (strcmp(gcnArch, \"950\") == 0)\n    *gcnArchName = \"gfx950\";\n  else\n    *gcnArchName = gcnArch;\n}\n\nint GetGcnArchName(int deviceId, char* out) {\n  // this is a generic call in to get a consistent gcnArchName\n  hipDeviceProp_t devProp;\n  CUDACHECK(hipGetDeviceProperties(&devProp, deviceId));\n  GcnArchNameFormat(devProp.gcnArchName, out);\n  return 0;\n}\n\ndouble GetDeviceWallClockRateInKhz(int deviceId) {\n  char gcn[256];\n  GetGcnArchName(deviceId, gcn);\n  if (strncmp(\"gfx942\", gcn, 6) == 0)\n    return 1.0E5;\n  else if(strncmp(\"gfx950\", gcn, 6) == 0)\n    return 1.0E5;\n  else\n    return 2.5E4;\n}\n\nbool IsArchMatch(char const* arch, char const* target) {\n  // helper function to reduce clutter in code elsewhere.  Returns true on match.\n  return (strncmp(arch, target, strlen(target)) == 0);\n}\n"
  },
  {
    "path": "src/misc/argcheck.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2019-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"argcheck.h\"\n#include \"comm.h\"\n\nncclResult_t CudaPtrCheck(const void* pointer, struct ncclComm* comm, const char* ptrname, const char* opname) {\n  cudaPointerAttributes attr;\n  cudaError_t err = cudaPointerGetAttributes(&attr, pointer);\n  if (err != cudaSuccess || attr.devicePointer == NULL) {\n    WARN(\"%s : %s %p is not a valid pointer\", opname, ptrname, pointer);\n    return ncclInvalidArgument;\n  }\n#if ROCM_VERSION < 50500\n  if (attr.memoryType == cudaMemoryTypeDevice && attr.device != comm->cudaDev) {\n#else\n  if (attr.type == cudaMemoryTypeDevice && attr.device != comm->cudaDev) {\n#endif\n    WARN(\"%s : %s allocated on device %d mismatchs with NCCL device %d\", opname, ptrname, attr.device, comm->cudaDev);\n    return ncclInvalidArgument;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t PtrCheck(void* ptr, const char* opname, const char* ptrname) {\n  if (ptr == NULL) {\n    WARN(\"%s : %s argument is NULL\", opname, ptrname);\n    return ncclInvalidArgument;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t CommCheck(struct ncclComm* comm, const char* opname, const char* ptrname) {\n  NCCLCHECK(PtrCheck(comm, opname, ptrname));\n  if (comm->startMagic != NCCL_MAGIC || comm->endMagic != NCCL_MAGIC) {\n    WARN(\"Error: corrupted comm object detected\");\n    return ncclInvalidArgument;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ArgsCheck(struct ncclInfo* info) {\n  // First, the easy ones\n  if (info->root < 0 || info->root >= info->comm->nRanks) {\n    WARN(\"%s : invalid root %d (root should be in the 0..%d range)\", info->opName, info->root, info->comm->nRanks);\n    return ncclInvalidArgument;\n  }\n  if (info->datatype < 0 || info->datatype >= ncclNumTypes) {\n    WARN(\"%s : invalid type %d\", info->opName, info->datatype);\n    return ncclInvalidArgument;\n  }\n\n  // ncclMaxRedOp < info->op will always be false due to the sizes of\n  // the datatypes involved, and that's by design.  We keep the check though\n  // just as a reminder.\n  // coverity[result_independent_of_operands]\n  if (info->op < 0 || ncclMaxRedOp < info->op) {\n    WARN(\"%s : invalid reduction operation %d\", info->opName, info->op);\n    return ncclInvalidArgument;\n  }\n  int opIx = int(ncclUserRedOpMangle(info->comm, info->op)) - int(ncclNumOps);\n  if (ncclNumOps <= info->op &&\n      (info->comm->userRedOpCapacity <= opIx || info->comm->userRedOps[opIx].freeNext != -1)) {\n    WARN(\"%s : reduction operation %d unknown to this communicator\", info->opName, info->op);\n    return ncclInvalidArgument;\n  }\n\n  if (info->comm->checkPointers) {\n    if ((info->coll == ncclFuncSend || info->coll == ncclFuncRecv)) {\n      if (info->count >0)\n        NCCLCHECK(CudaPtrCheck(info->recvbuff, info->comm, \"buff\", info->opName));\n    } else {\n      // Check CUDA device pointers\n      if (info->coll != ncclFuncBroadcast || info->comm->rank == info->root) {\n        NCCLCHECK(CudaPtrCheck(info->sendbuff, info->comm, \"sendbuff\", info->opName));\n      }\n      if (info->coll != ncclFuncReduce || info->comm->rank == info->root) {\n        NCCLCHECK(CudaPtrCheck(info->recvbuff, info->comm, \"recvbuff\", info->opName));\n      }\n    }\n  }\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/misc/cudawrap.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"alloc.h\"\n#include \"nccl.h\"\n#include \"debug.h\"\n#include \"param.h\"\n#include \"cudawrap.h\"\n#include <mutex>\n\n// This env var (NCCL_CUMEM_ENABLE) toggles cuMem API usage\nNCCL_PARAM(CuMemEnable, \"CUMEM_ENABLE\", -2);\nNCCL_PARAM(CuMemHostEnable, \"CUMEM_HOST_ENABLE\", -1);\n// Handle type used for cuMemCreate()\nCUmemAllocationHandleType ncclCuMemHandleType = CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR;\n\nstatic int ncclCuMemSupported = 0;\n\n// Determine whether CUMEM & VMM RDMA is supported on this platform\nint ncclIsCuMemSupported() {\n#if CUDART_VERSION < 11030\n  return 0;\n#else\n  CUdevice currentDev;\n  int cudaDev;\n  int cudaDriverVersion;\n  int flag = 0;\n  ncclResult_t ret = ncclSuccess;\n  CUDACHECKGOTO(cudaDriverGetVersion(&cudaDriverVersion), ret, error);\n  if (cudaDriverVersion < 12000) return 0;  // Need CUDA_VISIBLE_DEVICES support\n  CUDACHECKGOTO(cudaGetDevice(&cudaDev), ret, error);\n  if (CUPFN(cuMemCreate) == NULL) return 0;\n  CUCHECKGOTO(cuDeviceGet(&currentDev, cudaDev), ret, error);\n  // Query device to see if CUMEM VMM support is available\n  CUCHECKGOTO(cuDeviceGetAttribute(&flag, CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED, currentDev), ret, error);\n  if (!flag) return 0;\nerror:\n  return (ret == ncclSuccess);\n#endif\n}\n\nint ncclCuMemEnable() {\n  // NCCL_CUMEM_ENABLE=-2 means auto-detect CUMEM support\n  int param = ncclParamCuMemEnable();\n  return  param >= 0 ? param : (param == -2 && ncclCuMemSupported);\n}\n\nstatic int ncclCumemHostEnable = -1;\nint ncclCuMemHostEnable() {\n  if (ncclCumemHostEnable != -1)\n    return ncclCumemHostEnable;\n#if CUDART_VERSION < 12020\n  ncclCumemHostEnable = 0;\n  return ncclCumemHostEnable;\n#else\n  ncclResult_t ret = ncclSuccess;\n  int cudaDriverVersion;\n  int paramValue = -1;\n  CUDACHECKGOTO(cudaDriverGetVersion(&cudaDriverVersion), ret, error);\n  if (cudaDriverVersion < 12020) {\n    ncclCumemHostEnable = 0;\n  }\n  else {\n    paramValue = ncclParamCuMemHostEnable();\n    if (paramValue != -1)\n      ncclCumemHostEnable = paramValue;\n    else\n      ncclCumemHostEnable = (cudaDriverVersion >= 12060) ? 1 : 0;\n    if (ncclCumemHostEnable) {\n      // Verify that host allocations actually work.  Docker in particular is known to disable \"get_mempolicy\",\n      // causing such allocations to fail (this can be fixed by invoking Docker with \"--cap-add SYS_NICE\").\n      int cudaDev;\n      CUdevice currentDev;\n      int cpuNumaNodeId = -1;\n      CUmemAllocationProp prop = {};\n      size_t granularity = 0;\n      size_t size;\n      CUmemGenericAllocationHandle handle;\n      CUDACHECK(cudaGetDevice(&cudaDev));\n      CUCHECK(cuDeviceGet(&currentDev, cudaDev));\n      CUCHECK(cuDeviceGetAttribute(&cpuNumaNodeId, CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID, currentDev));\n      if (cpuNumaNodeId < 0) cpuNumaNodeId = 0;\n      prop.location.type = CU_MEM_LOCATION_TYPE_HOST_NUMA;\n      prop.type = CU_MEM_ALLOCATION_TYPE_PINNED;\n      prop.requestedHandleTypes = ncclCuMemHandleType;\n      prop.location.id = cpuNumaNodeId;\n      CUCHECK(cuMemGetAllocationGranularity(&granularity, &prop, CU_MEM_ALLOC_GRANULARITY_MINIMUM));\n      size = 1;\n      ALIGN_SIZE(size, granularity);\n      if (CUPFN(cuMemCreate(&handle, size, &prop, 0)) != CUDA_SUCCESS) {\n        INFO(NCCL_INIT, \"cuMem host allocations do not appear to be working; falling back to a /dev/shm/ based \"\n             \"implementation. This could be due to the container runtime disabling NUMA support. \"\n             \"To disable this warning, set NCCL_CUMEM_HOST_ENABLE=0\");\n        ncclCumemHostEnable = 0;\n      } else {\n        CUCHECK(cuMemRelease(handle));\n      }\n    }\n  }\n  return ncclCumemHostEnable;\nerror:\n  return (ret == ncclSuccess);\n#endif\n}\n\n#define DECLARE_CUDA_PFN(symbol,version) PFN_##symbol##_v##version pfn_##symbol = nullptr\n\n#if CUDART_VERSION >= 11030\n/* CUDA Driver functions loaded with cuGetProcAddress for versioning */\nDECLARE_CUDA_PFN(cuDeviceGet, 2000);\nDECLARE_CUDA_PFN(cuDeviceGetAttribute, 2000);\nDECLARE_CUDA_PFN(cuGetErrorString, 6000);\nDECLARE_CUDA_PFN(cuGetErrorName, 6000);\n/* enqueue.cc */\nDECLARE_CUDA_PFN(cuMemGetAddressRange, 3020);\nDECLARE_CUDA_PFN(cuLaunchKernel, 4000);\n#if CUDA_VERSION >= 11080\nDECLARE_CUDA_PFN(cuLaunchKernelEx, 11060);\n#endif\n/* proxy.cc */\nDECLARE_CUDA_PFN(cuCtxCreate, 11040);\nDECLARE_CUDA_PFN(cuCtxDestroy, 4000);\nDECLARE_CUDA_PFN(cuCtxGetCurrent, 4000);\nDECLARE_CUDA_PFN(cuCtxSetCurrent, 4000);\nDECLARE_CUDA_PFN(cuCtxGetDevice, 2000);\n/* cuMem API support */\nDECLARE_CUDA_PFN(cuMemAddressReserve, 10020);\nDECLARE_CUDA_PFN(cuMemAddressFree, 10020);\nDECLARE_CUDA_PFN(cuMemCreate, 10020);\nDECLARE_CUDA_PFN(cuMemGetAllocationGranularity, 10020);\nDECLARE_CUDA_PFN(cuMemExportToShareableHandle, 10020);\nDECLARE_CUDA_PFN(cuMemImportFromShareableHandle, 10020);\nDECLARE_CUDA_PFN(cuMemMap, 10020);\nDECLARE_CUDA_PFN(cuMemRelease, 10020);\nDECLARE_CUDA_PFN(cuMemRetainAllocationHandle, 11000);\nDECLARE_CUDA_PFN(cuMemSetAccess, 10020);\nDECLARE_CUDA_PFN(cuMemUnmap, 10020);\nDECLARE_CUDA_PFN(cuMemGetAllocationPropertiesFromHandle, 10020);\n/* ncclMemAlloc/Free */\nDECLARE_CUDA_PFN(cuPointerGetAttribute, 4000);\n#if CUDA_VERSION >= 11070\n/* transport/collNet.cc/net.cc*/\nDECLARE_CUDA_PFN(cuMemGetHandleForAddressRange, 11070); // DMA-BUF support\n#endif\n#if CUDA_VERSION >= 12010\n/* NVSwitch Multicast support */\nDECLARE_CUDA_PFN(cuMulticastAddDevice, 12010);\nDECLARE_CUDA_PFN(cuMulticastBindMem, 12010);\nDECLARE_CUDA_PFN(cuMulticastBindAddr, 12010);\nDECLARE_CUDA_PFN(cuMulticastCreate, 12010);\nDECLARE_CUDA_PFN(cuMulticastGetGranularity, 12010);\nDECLARE_CUDA_PFN(cuMulticastUnbind, 12010);\n#endif\n/* Stream MemOp support */\nDECLARE_CUDA_PFN(cuStreamBatchMemOp, 11070);\nDECLARE_CUDA_PFN(cuStreamWaitValue32, 11070);\nDECLARE_CUDA_PFN(cuStreamWaitValue64, 11070);\nDECLARE_CUDA_PFN(cuStreamWriteValue32, 11070);\nDECLARE_CUDA_PFN(cuStreamWriteValue64, 11070);\n#endif\n\n#define CUDA_DRIVER_MIN_VERSION 11030\n\nint ncclCudaDriverVersionCache = -1;\nbool ncclCudaLaunchBlocking = false;\n\n#if CUDART_VERSION >= 11030\n\n#if CUDART_VERSION >= 13000\n#define LOAD_SYM(symbol, version, ignore) do {                           \\\n    cudaDriverEntryPointQueryResult driverStatus = cudaDriverEntryPointSymbolNotFound; \\\n    res = cudaGetDriverEntryPointByVersion(#symbol, (void **) (&pfn_##symbol), version, cudaEnableDefault, &driverStatus); \\\n    if (res != cudaSuccess || driverStatus != cudaDriverEntryPointSuccess) { \\\n      if (!ignore) {                                                    \\\n        WARN(\"Retrieve %s version %d failed with %d status %d\", #symbol, version, res, driverStatus); \\\n        return ncclSystemError; }                                       \\\n    } } while(0)\n#elif CUDART_VERSION >= 12000\n#define LOAD_SYM(symbol, version, ignore) do {                           \\\n    cudaDriverEntryPointQueryResult driverStatus = cudaDriverEntryPointSymbolNotFound; \\\n    res = cudaGetDriverEntryPoint(#symbol, (void **) (&pfn_##symbol), cudaEnableDefault, &driverStatus); \\\n    if (res != cudaSuccess || driverStatus != cudaDriverEntryPointSuccess) { \\\n      if (!ignore) {                                                    \\\n        WARN(\"Retrieve %s failed with %d status %d\", #symbol, res, driverStatus); \\\n        return ncclSystemError; }                                       \\\n    } } while(0)\n#else\n#define LOAD_SYM(symbol, version, ignore) do {                           \\\n    res = cudaGetDriverEntryPoint(#symbol, (void **) (&pfn_##symbol), cudaEnableDefault); \\\n    if (res != cudaSuccess) { \\\n      if (!ignore) {                                                    \\\n        WARN(\"Retrieve %s failed with %d\", #symbol, res);               \\\n        return ncclSystemError; }                                       \\\n    } } while(0)\n#endif\n\n/*\n  Load the CUDA symbols\n */\nstatic ncclResult_t cudaPfnFuncLoader(void) {\n\n  cudaError_t res;\n\n  LOAD_SYM(cuGetErrorString, 6000, 0);\n  LOAD_SYM(cuGetErrorName, 6000, 0);\n  LOAD_SYM(cuDeviceGet, 2000, 0);\n  LOAD_SYM(cuDeviceGetAttribute, 2000, 0);\n  LOAD_SYM(cuMemGetAddressRange, 3020, 1);\n  LOAD_SYM(cuCtxCreate, 11040, 1);\n  LOAD_SYM(cuCtxDestroy, 4000, 1);\n  LOAD_SYM(cuCtxGetCurrent, 4000, 1);\n  LOAD_SYM(cuCtxSetCurrent, 4000, 1);\n  LOAD_SYM(cuCtxGetDevice, 2000, 1);\n  LOAD_SYM(cuLaunchKernel, 4000, 1);\n#if CUDA_VERSION >= 11080\n  LOAD_SYM(cuLaunchKernelEx, 11060, 1);\n#endif\n/* cuMem API support */\n  LOAD_SYM(cuMemAddressReserve, 10020, 1);\n  LOAD_SYM(cuMemAddressFree, 10020, 1);\n  LOAD_SYM(cuMemCreate, 10020, 1);\n  LOAD_SYM(cuMemGetAllocationGranularity, 10020, 1);\n  LOAD_SYM(cuMemExportToShareableHandle, 10020, 1);\n  LOAD_SYM(cuMemImportFromShareableHandle, 10020, 1);\n  LOAD_SYM(cuMemMap, 10020, 1);\n  LOAD_SYM(cuMemRelease, 10020, 1);\n  LOAD_SYM(cuMemRetainAllocationHandle, 11000, 1);\n  LOAD_SYM(cuMemSetAccess, 10020, 1);\n  LOAD_SYM(cuMemUnmap, 10020, 1);\n  LOAD_SYM(cuMemGetAllocationPropertiesFromHandle, 10020, 1);\n/* ncclMemAlloc/Free */\n  LOAD_SYM(cuPointerGetAttribute, 4000, 1);\n#if CUDA_VERSION >= 11070\n  LOAD_SYM(cuMemGetHandleForAddressRange, 11070, 1); // DMA-BUF support\n#endif\n#if CUDA_VERSION >= 12010\n/* NVSwitch Multicast support */\n  LOAD_SYM(cuMulticastAddDevice, 12010, 1);\n  LOAD_SYM(cuMulticastBindMem, 12010, 1);\n  LOAD_SYM(cuMulticastBindAddr, 12010, 1);\n  LOAD_SYM(cuMulticastCreate, 12010, 1);\n  LOAD_SYM(cuMulticastGetGranularity, 12010, 1);\n  LOAD_SYM(cuMulticastUnbind, 12010, 1);\n#endif\n/* Stream MemOp support */\n  LOAD_SYM(cuStreamBatchMemOp, 11070, 1);\n  LOAD_SYM(cuStreamWaitValue32, 11070, 1);\n  LOAD_SYM(cuStreamWaitValue64, 11070, 1);\n  LOAD_SYM(cuStreamWriteValue32, 11070, 1);\n  LOAD_SYM(cuStreamWriteValue64, 11070, 1);\n  return ncclSuccess;\n}\n#endif\n\nstatic std::once_flag initOnceFlag;\nstatic ncclResult_t initResult;\n\nstatic void initOnceFunc() {\n  do {\n    const char* val = ncclGetEnv(\"CUDA_LAUNCH_BLOCKING\");\n    ncclCudaLaunchBlocking = val!=nullptr && val[0]!=0 && !(val[0]=='0' && val[1]==0);\n  } while (0);\n\n  ncclResult_t ret = ncclSuccess;\n  int cudaDev;\n  int driverVersion;\n  CUDACHECKGOTO(cudaGetDevice(&cudaDev), ret, error); // Initialize the driver\n\n  CUDACHECKGOTO(cudaDriverGetVersion(&driverVersion), ret, error);\n  INFO(NCCL_INIT, \"cudaDriverVersion %d\", driverVersion);\n\n  if (driverVersion < CUDA_DRIVER_MIN_VERSION) {\n    // WARN(\"CUDA Driver version found is %d. Minimum requirement is %d\", driverVersion, CUDA_DRIVER_MIN_VERSION);\n    // Silently ignore version check mismatch for backwards compatibility\n    goto error;\n  }\n\n  #if CUDART_VERSION >= 11030\n  if (cudaPfnFuncLoader()) {\n    WARN(\"CUDA some PFN functions not found in the library\");\n    goto error;\n  }\n  #endif\n\n  // Determine whether we support the cuMem APIs or not\n  ncclCuMemSupported = ncclIsCuMemSupported();\n\n  /* To use cuMem* for host memory allocation, we need to create context on each visible device.\n   * This is a workaround needed in CUDA 12.2 and CUDA 12.3 which is fixed in 12.4. */\n  if (ncclCuMemSupported && ncclCuMemHostEnable() && 12020 <= driverVersion && driverVersion <= 12030) {\n    int deviceCnt, saveDevice;\n    cudaGetDevice(&saveDevice);\n    cudaGetDeviceCount(&deviceCnt);\n    for (int i = 0; i < deviceCnt; ++i) {\n      cudaSetDevice(i);\n      cudaFree(NULL);\n    }\n    cudaSetDevice(saveDevice);\n  }\n  initResult = ret;\n  return;\nerror:\n  initResult = ncclSystemError;\n  return;\n}\n\nncclResult_t ncclCudaLibraryInit() {\n  std::call_once(initOnceFlag, initOnceFunc);\n  return initResult;\n}\n"
  },
  {
    "path": "src/misc/gdrwrap.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2020-2021, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"gdrwrap.h\"\n#include <mutex>\n\n#ifndef GDR_DIRECT\n#include \"core.h\"\n\n/* Function pointers assigned from dlopen() */\nstatic gdr_t (*gdr_internal_open)(void);\nstatic int (*gdr_internal_close)(gdr_t g);\nstatic int (*gdr_internal_pin_buffer)(gdr_t g, unsigned long addr, size_t size, uint64_t p2p_token, uint32_t va_space, gdr_mh_t *handle);\nstatic int (*gdr_internal_unpin_buffer)(gdr_t g, gdr_mh_t handle);\nstatic int (*gdr_internal_get_info)(gdr_t g, gdr_mh_t handle, gdr_info_t *info);\nstatic int (*gdr_internal_map)(gdr_t g, gdr_mh_t handle, void **va, size_t size);\nstatic int (*gdr_internal_unmap)(gdr_t g, gdr_mh_t handle, void *va, size_t size);\nstatic void (*gdr_internal_runtime_get_version)(int *major, int *minor);\nstatic void (*gdr_internal_driver_get_version)(gdr_t g, int *major, int *minor);\nstatic int (*gdr_internal_copy_to_mapping)(gdr_mh_t handle, void *map_d_ptr, const void *h_ptr, size_t size);\nstatic int (*gdr_internal_copy_from_mapping)(gdr_mh_t handle, void *h_ptr, const void *map_d_ptr, size_t size);\n\n\n// Used to make the GDR library calls thread safe\npthread_mutex_t gdrLock = PTHREAD_MUTEX_INITIALIZER;\n\n#define GDRAPI_LIBNAME \"libgdrapi.so\"\n\n#define LOAD_SYM(handle, symbol, funcptr) do {         \\\n    cast = (void**)&funcptr;                             \\\n    tmp = dlsym(handle, symbol);                         \\\n    if (tmp == NULL) {                                   \\\n      WARN(\"dlsym failed on %s - %s\", symbol, dlerror());\\\n      goto teardown;                                     \\\n    }                                                    \\\n    *cast = tmp;                                         \\\n  } while (0)\n\n#define LOAD_SYM_OPTIONAL(handle, symbol, funcptr) do {\\\n    cast = (void**)&funcptr;                             \\\n    tmp = dlsym(handle, symbol);                         \\\n    if (tmp == NULL) {                                   \\\n      INFO(NCCL_INIT,\"dlsym failed on %s, ignoring\", symbol); \\\n    }                                                    \\\n    *cast = tmp;                                         \\\n  } while (0)\n\nstatic std::once_flag initOnceFlag;\nstatic ncclResult_t initResult;\n\nstatic void initOnceFunc(void) {\n  static void* gdrhandle = NULL;\n  void* tmp;\n  void** cast;\n\n  gdrhandle=dlopen(GDRAPI_LIBNAME, RTLD_NOW);\n  if (!gdrhandle) {\n    WARN(\"Failed to open %s\", GDRAPI_LIBNAME);\n    goto teardown;\n  }\n\n  /* Load the function pointers from the DL library image */\n  LOAD_SYM(gdrhandle, \"gdr_open\", gdr_internal_open);\n  LOAD_SYM(gdrhandle, \"gdr_close\", gdr_internal_close);\n  LOAD_SYM(gdrhandle, \"gdr_pin_buffer\", gdr_internal_pin_buffer);\n  LOAD_SYM(gdrhandle, \"gdr_unpin_buffer\", gdr_internal_unpin_buffer);\n  LOAD_SYM(gdrhandle, \"gdr_get_info\", gdr_internal_get_info);\n  LOAD_SYM(gdrhandle, \"gdr_map\", gdr_internal_map);\n  LOAD_SYM(gdrhandle, \"gdr_unmap\", gdr_internal_unmap);\n  LOAD_SYM(gdrhandle, \"gdr_runtime_get_version\", gdr_internal_runtime_get_version);\n  LOAD_SYM(gdrhandle, \"gdr_driver_get_version\", gdr_internal_driver_get_version);\n  LOAD_SYM(gdrhandle, \"gdr_copy_to_mapping\", gdr_internal_copy_to_mapping);\n  LOAD_SYM(gdrhandle, \"gdr_copy_from_mapping\", gdr_internal_copy_from_mapping);\n\n  initResult = ncclSuccess;\n  return;\n\nteardown:\n  gdr_internal_open = NULL;\n  gdr_internal_close = NULL;\n  gdr_internal_pin_buffer = NULL;\n  gdr_internal_unpin_buffer = NULL;\n  gdr_internal_get_info = NULL;\n  gdr_internal_map = NULL;\n  gdr_internal_unmap = NULL;\n  gdr_internal_runtime_get_version = NULL;\n  gdr_internal_driver_get_version = NULL;\n  gdr_internal_copy_to_mapping = NULL;\n  gdr_internal_copy_from_mapping = NULL;\n\n  if (gdrhandle != NULL) dlclose(gdrhandle);\n  initResult = ncclSystemError;\n  return;\n}\n\n\nncclResult_t wrap_gdr_symbols(void) {\n  std::call_once(initOnceFlag, initOnceFunc);\n  return initResult;\n}\n\ngdr_t wrap_gdr_open(void) {\n  if (gdr_internal_open == NULL) {\n    WARN(\"GDRCOPY lib wrapper not initialized.\");\n    return NULL;\n  }\n  return gdr_internal_open();\n}\n\nncclResult_t wrap_gdr_close(gdr_t g) {\n  if (gdr_internal_close == NULL) {\n    WARN(\"GDRCOPY lib wrapper not initialized.\");\n    return ncclInternalError;\n  }\n  int ret = gdr_internal_close(g);\n  if (ret != 0) {\n    WARN(\"gdr_close() failed: %d\", ret);\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t wrap_gdr_pin_buffer(gdr_t g, unsigned long addr, size_t size, uint64_t p2p_token, uint32_t va_space, gdr_mh_t *handle) {\n  if (gdr_internal_pin_buffer == NULL) {\n    WARN(\"GDRCOPY lib wrapper not initialized.\");\n    return ncclInternalError;\n  }\n  int ret;\n  GDRLOCKCALL(gdr_internal_pin_buffer(g, addr, size, p2p_token, va_space, handle), ret);\n  if (ret != 0) {\n    WARN(\"gdr_pin_buffer(addr %lx, size %zu) failed: %d\", addr, size, ret);\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t wrap_gdr_unpin_buffer(gdr_t g, gdr_mh_t handle) {\n  if (gdr_internal_unpin_buffer == NULL) {\n    WARN(\"GDRCOPY lib wrapper not initialized.\");\n    return ncclInternalError;\n  }\n  int ret;\n  GDRLOCKCALL(gdr_internal_unpin_buffer(g, handle), ret);\n  if (ret != 0) {\n    WARN(\"gdr_unpin_buffer(handle %lx) failed: %d\", handle.h, ret);\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t wrap_gdr_get_info(gdr_t g, gdr_mh_t handle, gdr_info_t *info) {\n  if (gdr_internal_get_info == NULL) {\n    WARN(\"GDRCOPY lib wrapper not initialized.\");\n    return ncclInternalError;\n  }\n  int ret;\n  GDRLOCKCALL(gdr_internal_get_info(g, handle, info), ret);\n  if (ret != 0) {\n    WARN(\"gdr_get_info(handle %lx) failed: %d\", handle.h, ret);\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t wrap_gdr_map(gdr_t g, gdr_mh_t handle, void **va, size_t size) {\n  if (gdr_internal_map == NULL) {\n    WARN(\"GDRCOPY lib wrapper not initialized.\");\n    return ncclInternalError;\n  }\n  int ret;\n  GDRLOCKCALL(gdr_internal_map(g, handle, va, size), ret);\n  if (ret != 0) {\n    WARN(\"gdr_map(handle %lx, size %zu) failed: %d\", handle.h, size, ret);\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t wrap_gdr_unmap(gdr_t g, gdr_mh_t handle, void *va, size_t size) {\n  if (gdr_internal_unmap == NULL) {\n    WARN(\"GDRCOPY lib wrapper not initialized.\");\n    return ncclInternalError;\n  }\n  int ret;\n  GDRLOCKCALL(gdr_internal_unmap(g, handle, va, size), ret);\n  if (ret != 0) {\n    WARN(\"gdr_unmap(handle %lx, va %p, size %zu) failed: %d\", handle.h, va, size, ret);\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t wrap_gdr_runtime_get_version(int *major, int *minor) {\n  if (gdr_internal_runtime_get_version == NULL) {\n    WARN(\"GDRCOPY lib wrapper not initialized.\");\n    return ncclInternalError;\n  }\n  gdr_internal_runtime_get_version(major, minor);\n  return ncclSuccess;\n}\n\nncclResult_t wrap_gdr_driver_get_version(gdr_t g, int *major, int *minor) {\n  if (gdr_internal_driver_get_version == NULL) {\n    WARN(\"GDRCOPY lib wrapper not initialized.\");\n    return ncclInternalError;\n  }\n  gdr_internal_driver_get_version(g, major, minor);\n  return ncclSuccess;\n}\n\nncclResult_t wrap_gdr_copy_to_mapping(gdr_mh_t handle, void *map_d_ptr, const void *h_ptr, size_t size) {\n  if (gdr_internal_copy_to_mapping == NULL) {\n    WARN(\"GDRCOPY lib wrapper not initialized.\");\n    return ncclInternalError;\n  }\n  int ret;\n  GDRLOCKCALL(gdr_internal_copy_to_mapping(handle, map_d_ptr, h_ptr, size), ret);\n  if (ret != 0) {\n    WARN(\"gdr_copy_to_mapping(handle %lx, map_d_ptr %p, h_ptr %p, size %zu) failed: %d\", handle.h, map_d_ptr, h_ptr, size, ret);\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t wrap_gdr_copy_from_mapping(gdr_mh_t handle, void *h_ptr, const void *map_d_ptr, size_t size) {\n  if (gdr_internal_copy_from_mapping == NULL) {\n    WARN(\"GDRCOPY lib wrapper not initialized.\");\n    return ncclInternalError;\n  }\n  int ret;\n  GDRLOCKCALL(gdr_internal_copy_from_mapping(handle, h_ptr, map_d_ptr, size), ret);\n  if (ret != 0) {\n    WARN(\"gdr_copy_from_mapping(handle %lx, h_ptr %p, map_d_ptr %p, size %zu) failed: %d\", handle.h, h_ptr, map_d_ptr, size, ret);\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\n#endif /* !GDR_DIRECT */\n"
  },
  {
    "path": "src/misc/ibvsymbols.cc",
    "content": "#include <sys/types.h>\n#include <unistd.h>\n\n#include \"ibvsymbols.h\"\n\n#ifdef NCCL_BUILD_RDMA_CORE\n/* RDMA-core linking mode. Symbols are pointers to linked IB Verbs */\n\n#define ASSIGN_SYM(container, symbol, name) container->name= &symbol;\n\n// Passthrough function for ibv_reg_mr macro in verbs.h\nstruct ibv_mr* ibv_internal_reg_mr(\n      struct ibv_pd* pd,\n      void* addr,\n      size_t length,\n      int access) {\n    return ibv_reg_mr(pd, addr, length, access);\n  }\n\n// Passthrough function for ibv_internal_query_port macro in verbs.h\nint ibv_internal_query_port(\n      struct ibv_context* context,\n      uint8_t port_num,\n      struct ibv_port_attr* port_attr) {\n    return ibv_query_port(context, port_num, port_attr);\n}\n\nncclResult_t buildIbvSymbols(struct ncclIbvSymbols* ibvSymbols) {\n  ASSIGN_SYM(ibvSymbols, ibv_get_device_list, ibv_internal_get_device_list);\n  ASSIGN_SYM(ibvSymbols, ibv_free_device_list, ibv_internal_free_device_list);\n  ASSIGN_SYM(ibvSymbols, ibv_get_device_name, ibv_internal_get_device_name);\n  ASSIGN_SYM(ibvSymbols, ibv_open_device, ibv_internal_open_device);\n  ASSIGN_SYM(ibvSymbols, ibv_close_device, ibv_internal_close_device);\n  ASSIGN_SYM(ibvSymbols, ibv_get_async_event, ibv_internal_get_async_event);\n  ASSIGN_SYM(ibvSymbols, ibv_ack_async_event, ibv_internal_ack_async_event);\n  ASSIGN_SYM(ibvSymbols, ibv_query_device, ibv_internal_query_device);\n  ASSIGN_SYM(ibvSymbols, ibv_query_gid, ibv_internal_query_gid);\n  ASSIGN_SYM(ibvSymbols, ibv_query_qp, ibv_internal_query_qp);\n  ASSIGN_SYM(ibvSymbols, ibv_alloc_pd, ibv_internal_alloc_pd);\n  ASSIGN_SYM(ibvSymbols, ibv_dealloc_pd, ibv_internal_dealloc_pd);\n\n  ASSIGN_SYM(ibvSymbols, ibv_reg_mr_iova2, ibv_internal_reg_mr_iova2);\n  ASSIGN_SYM(ibvSymbols, ibv_reg_dmabuf_mr, ibv_internal_reg_dmabuf_mr);\n\n  ASSIGN_SYM(ibvSymbols, ibv_dereg_mr, ibv_internal_dereg_mr);\n  ASSIGN_SYM(ibvSymbols, ibv_create_cq, ibv_internal_create_cq);\n  ASSIGN_SYM(ibvSymbols, ibv_destroy_cq, ibv_internal_destroy_cq);\n  ASSIGN_SYM(ibvSymbols, ibv_create_qp, ibv_internal_create_qp);\n  ASSIGN_SYM(ibvSymbols, ibv_modify_qp, ibv_internal_modify_qp);\n  ASSIGN_SYM(ibvSymbols, ibv_destroy_qp, ibv_internal_destroy_qp);\n  ASSIGN_SYM(ibvSymbols, ibv_fork_init, ibv_internal_fork_init);\n  ASSIGN_SYM(ibvSymbols, ibv_event_type_str, ibv_internal_event_type_str);\n  \n  ASSIGN_SYM(ibvSymbols, ibv_query_ece, ibv_internal_query_ece);\n  ASSIGN_SYM(ibvSymbols, ibv_set_ece, ibv_internal_set_ece);\n\n  ibvSymbols->ibv_internal_reg_mr = &ibv_internal_reg_mr;\n  ibvSymbols->ibv_internal_query_port = &ibv_internal_query_port;\n\n  return ncclSuccess;\n}\n\n#else\n/* RDMA-core dynamic loading mode. Symbols are loaded from shared objects. */\n\n#include <dlfcn.h>\n#include \"core.h\"\n\n// IBVERBS Library versioning\n#define IBVERBS_VERSION \"IBVERBS_1.1\"\n\nncclResult_t buildIbvSymbols(struct ncclIbvSymbols* ibvSymbols) {\n  static void* ibvhandle = NULL;\n  void* tmp;\n  void** cast;\n\n  ibvhandle=dlopen(\"libibverbs.so\", RTLD_NOW);\n  if (!ibvhandle) {\n    ibvhandle=dlopen(\"libibverbs.so.1\", RTLD_NOW);\n    if (!ibvhandle) {\n      INFO(NCCL_INIT, \"Failed to open libibverbs.so[.1]\");\n      goto teardown;\n    }\n  }\n\n#define LOAD_SYM(handle, symbol, funcptr) do {           \\\n    cast = (void**)&funcptr;                             \\\n    tmp = dlvsym(handle, symbol, IBVERBS_VERSION);       \\\n    if (tmp == NULL) {                                   \\\n      WARN(\"dlvsym failed on %s - %s version %s\", symbol, dlerror(), IBVERBS_VERSION);  \\\n      goto teardown;                                     \\\n    }                                                    \\\n    *cast = tmp;                                         \\\n  } while (0)\n\n// Attempt to load a specific symbol version - fail silently\n#define LOAD_SYM_VERSION(handle, symbol, funcptr, version) do {  \\\n    cast = (void**)&funcptr;                                     \\\n    *cast = dlvsym(handle, symbol, version);                     \\\n  } while (0)\n\n  LOAD_SYM(ibvhandle, \"ibv_get_device_list\", ibvSymbols->ibv_internal_get_device_list);\n  LOAD_SYM(ibvhandle, \"ibv_free_device_list\", ibvSymbols->ibv_internal_free_device_list);\n  LOAD_SYM(ibvhandle, \"ibv_get_device_name\", ibvSymbols->ibv_internal_get_device_name);\n  LOAD_SYM(ibvhandle, \"ibv_open_device\", ibvSymbols->ibv_internal_open_device);\n  LOAD_SYM(ibvhandle, \"ibv_close_device\", ibvSymbols->ibv_internal_close_device);\n  LOAD_SYM(ibvhandle, \"ibv_get_async_event\", ibvSymbols->ibv_internal_get_async_event);\n  LOAD_SYM(ibvhandle, \"ibv_ack_async_event\", ibvSymbols->ibv_internal_ack_async_event);\n  LOAD_SYM(ibvhandle, \"ibv_query_device\", ibvSymbols->ibv_internal_query_device);\n  LOAD_SYM(ibvhandle, \"ibv_query_port\", ibvSymbols->ibv_internal_query_port);\n  LOAD_SYM(ibvhandle, \"ibv_query_gid\", ibvSymbols->ibv_internal_query_gid);\n  LOAD_SYM(ibvhandle, \"ibv_query_qp\", ibvSymbols->ibv_internal_query_qp);\n  LOAD_SYM(ibvhandle, \"ibv_alloc_pd\", ibvSymbols->ibv_internal_alloc_pd);\n  LOAD_SYM(ibvhandle, \"ibv_dealloc_pd\", ibvSymbols->ibv_internal_dealloc_pd);\n  LOAD_SYM(ibvhandle, \"ibv_reg_mr\", ibvSymbols->ibv_internal_reg_mr);\n  // Cherry-pick the ibv_reg_mr_iova2 API from IBVERBS 1.8\n  LOAD_SYM_VERSION(ibvhandle, \"ibv_reg_mr_iova2\", ibvSymbols->ibv_internal_reg_mr_iova2, \"IBVERBS_1.8\");\n  // Cherry-pick the ibv_reg_dmabuf_mr API from IBVERBS 1.12\n  LOAD_SYM_VERSION(ibvhandle, \"ibv_reg_dmabuf_mr\", ibvSymbols->ibv_internal_reg_dmabuf_mr, \"IBVERBS_1.12\");\n  LOAD_SYM(ibvhandle, \"ibv_dereg_mr\", ibvSymbols->ibv_internal_dereg_mr);\n  LOAD_SYM(ibvhandle, \"ibv_create_cq\", ibvSymbols->ibv_internal_create_cq);\n  LOAD_SYM(ibvhandle, \"ibv_destroy_cq\", ibvSymbols->ibv_internal_destroy_cq);\n  LOAD_SYM(ibvhandle, \"ibv_create_qp\", ibvSymbols->ibv_internal_create_qp);\n  LOAD_SYM(ibvhandle, \"ibv_modify_qp\", ibvSymbols->ibv_internal_modify_qp);\n  LOAD_SYM(ibvhandle, \"ibv_destroy_qp\", ibvSymbols->ibv_internal_destroy_qp);\n  LOAD_SYM(ibvhandle, \"ibv_fork_init\", ibvSymbols->ibv_internal_fork_init);\n  LOAD_SYM(ibvhandle, \"ibv_event_type_str\", ibvSymbols->ibv_internal_event_type_str);\n\n  LOAD_SYM_VERSION(ibvhandle, \"ibv_query_ece\", ibvSymbols->ibv_internal_query_ece, \"IBVERBS_1.10\");\n  LOAD_SYM_VERSION(ibvhandle, \"ibv_set_ece\",   ibvSymbols->ibv_internal_set_ece, \"IBVERBS_1.10\");\n\n  return ncclSuccess;\n\nteardown:\n  ibvSymbols->ibv_internal_get_device_list = NULL;\n  ibvSymbols->ibv_internal_free_device_list = NULL;\n  ibvSymbols->ibv_internal_get_device_name = NULL;\n  ibvSymbols->ibv_internal_open_device = NULL;\n  ibvSymbols->ibv_internal_close_device = NULL;\n  ibvSymbols->ibv_internal_get_async_event = NULL;\n  ibvSymbols->ibv_internal_ack_async_event = NULL;\n  ibvSymbols->ibv_internal_query_device = NULL;\n  ibvSymbols->ibv_internal_query_port = NULL;\n  ibvSymbols->ibv_internal_query_gid = NULL;\n  ibvSymbols->ibv_internal_query_qp = NULL;\n  ibvSymbols->ibv_internal_alloc_pd = NULL;\n  ibvSymbols->ibv_internal_dealloc_pd = NULL;\n  ibvSymbols->ibv_internal_reg_mr = NULL;\n  ibvSymbols->ibv_internal_reg_mr_iova2 = NULL;\n  ibvSymbols->ibv_internal_reg_dmabuf_mr = NULL;\n  ibvSymbols->ibv_internal_dereg_mr = NULL;\n  ibvSymbols->ibv_internal_create_cq = NULL;\n  ibvSymbols->ibv_internal_destroy_cq = NULL;\n  ibvSymbols->ibv_internal_create_qp = NULL;\n  ibvSymbols->ibv_internal_modify_qp = NULL;\n  ibvSymbols->ibv_internal_destroy_qp = NULL;\n  ibvSymbols->ibv_internal_fork_init = NULL;\n  ibvSymbols->ibv_internal_event_type_str = NULL;\n  ibvSymbols->ibv_internal_query_ece = NULL;\n  ibvSymbols->ibv_internal_set_ece = NULL;\n\n  if (ibvhandle != NULL) dlclose(ibvhandle);\n  return ncclSystemError;\n}\n\n#endif\n"
  },
  {
    "path": "src/misc/ibvwrap.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"ibvwrap.h\"\n#include <sys/types.h>\n#include <unistd.h>\n#include <mutex>\n\n#ifdef NCCL_BUILD_RDMA_CORE\n#include <infiniband/verbs.h>\n#else\n#include \"ibvcore.h\"\n#endif\n#include \"ibvsymbols.h\"\n\nstatic std::once_flag initOnceFlag;\nstatic ncclResult_t initResult;\nstruct ncclIbvSymbols ibvSymbols;\n\nncclResult_t wrap_ibv_symbols(void) {\n  std::call_once(initOnceFlag,\n               [](){ initResult = buildIbvSymbols(&ibvSymbols); });\n  return initResult;\n}\n\n/* CHECK_NOT_NULL: helper macro to check for NULL symbol */\n#define CHECK_NOT_NULL(container, internal_name) \\\n  if (container.internal_name == NULL) { \\\n     WARN(\"lib wrapper not initialized.\"); \\\n     return ncclInternalError; \\\n  }\n\n#define IBV_PTR_CHECK_ERRNO(container, internal_name, call, retval, error_retval, name) \\\n  CHECK_NOT_NULL(container, internal_name); \\\n  retval = container.call; \\\n  if (retval == error_retval) { \\\n    WARN(\"Call to \" name \" failed with error %s\", strerror(errno)); \\\n    return ncclSystemError; \\\n  } \\\n  return ncclSuccess;\n\n#define IBV_PTR_CHECK(container, internal_name, call, retval, error_retval, name) \\\n  CHECK_NOT_NULL(container, internal_name); \\\n  retval = container.call; \\\n  if (retval == error_retval) { \\\n    WARN(\"Call to \" name \" failed\"); \\\n    return ncclSystemError; \\\n  } \\\n  return ncclSuccess;\n\n#define IBV_INT_CHECK_RET_ERRNO_OPTIONAL(container, internal_name, call, success_retval, name, supported) \\\n  if (container.internal_name == NULL) { \\\n    INFO(NCCL_NET, \"Call to \" name \" skipped, internal_name doesn't exist\"); \\\n    *supported = 0; \\\n    return ncclSuccess; \\\n  } \\\n  int ret = container.call; \\\n  if (ret == ENOTSUP || ret == EOPNOTSUPP) { \\\n    INFO(NCCL_NET, \"Call to \" name \" not supported\"); \\\n    *supported = 0; \\\n    return ncclSuccess; \\\n  } else if (ret != success_retval) { \\\n    WARN(\"Call to \" name \" failed with error %s errno %d\", strerror(ret), ret); \\\n    *supported = 1; \\\n    return ncclSystemError; \\\n  } \\\n  *supported = 1; \\\n  return ncclSuccess;\n\n#define IBV_INT_CHECK_RET_ERRNO(container, internal_name, call, success_retval, name) \\\n  CHECK_NOT_NULL(container, internal_name); \\\n  int ret = container.call; \\\n  if (ret != success_retval) { \\\n    WARN(\"Call to \" name \" failed with error %s errno %d\", strerror(ret), ret); \\\n    return ncclSystemError; \\\n  } \\\n  return ncclSuccess;\n\n#define IBV_INT_CHECK(container, internal_name, call, error_retval, name) \\\n  CHECK_NOT_NULL(container, internal_name); \\\n  int ret = container.call; \\\n  if (ret == error_retval) { \\\n    WARN(\"Call to \" name \" failed\"); \\\n    return ncclSystemError; \\\n  } \\\n  return ncclSuccess;\n\n#define IBV_PASSTHRU(container, internal_name, call) \\\n  CHECK_NOT_NULL(container, internal_name); \\\n  container.call; \\\n  return ncclSuccess;\n\nNCCL_PARAM(IbMQpRetryAll, \"IB_MQP_RETRY_ALL\", 0);\nNCCL_PARAM(IbMQpRetryCnt, \"IB_MQP_RETRY_CNT\", 34);\nNCCL_PARAM(IbMQpRetryTimeout, \"IB_MQP_RETRY_SLEEP_MSEC\", 100); // in milliseconds\n\n#define IBV_ERR_EQ(e, code)        (e == code || e == (-code))\n#define IBV_MQP_RETRY_ERRNO(e)     (IBV_ERR_EQ(e, ETIMEDOUT))\n#define IBV_MQP_RETRY_ERRNO_ALL(e) (ncclParamIbMQpRetryAll() ? (e != 0) : IBV_MQP_RETRY_ERRNO(e))\n\nncclResult_t wrap_ibv_fork_init() {\n  IBV_INT_CHECK(ibvSymbols, ibv_internal_fork_init, ibv_internal_fork_init(), -1, \"ibv_fork_init\");\n}\n\nncclResult_t wrap_ibv_get_device_list(struct ibv_device ***ret, int *num_devices) {\n  *ret = ibvSymbols.ibv_internal_get_device_list(num_devices);\n  if (*ret == NULL) *num_devices = 0;\n  return ncclSuccess;\n}\n\nncclResult_t wrap_ibv_free_device_list(struct ibv_device **list) {\n  if (list == nullptr) return ncclSuccess;\n  IBV_PASSTHRU(ibvSymbols, ibv_internal_free_device_list, ibv_internal_free_device_list(list));\n}\n\nconst char *wrap_ibv_get_device_name(struct ibv_device *device) {\n  if (ibvSymbols.ibv_internal_get_device_name == NULL) {\n    WARN(\"lib wrapper not initialized.\");\n    exit(-1);\n  }\n  return ibvSymbols.ibv_internal_get_device_name(device);\n}\n\nncclResult_t wrap_ibv_open_device(struct ibv_context **ret, struct ibv_device *device) { /*returns 0 on success, -1 on failure*/\n  IBV_PTR_CHECK(ibvSymbols, ibv_internal_open_device, ibv_internal_open_device(device), *ret, NULL, \"ibv_open_device\");\n}\n\nncclResult_t wrap_ibv_close_device(struct ibv_context *context) { /*returns 0 on success, -1 on failure*/\n  IBV_INT_CHECK(ibvSymbols, ibv_internal_close_device, ibv_internal_close_device(context), -1, \"ibv_close_device\");\n}\n\nncclResult_t wrap_ibv_get_async_event(struct ibv_context *context, struct ibv_async_event *event) { /*returns 0 on success, and -1 on error*/\n  IBV_INT_CHECK(ibvSymbols, ibv_internal_get_async_event, ibv_internal_get_async_event(context, event), -1, \"ibv_get_async_event\");\n}\n\nncclResult_t wrap_ibv_ack_async_event(struct ibv_async_event *event) {\n  IBV_PASSTHRU(ibvSymbols, ibv_internal_ack_async_event, ibv_internal_ack_async_event(event));\n}\n\nncclResult_t wrap_ibv_query_device(struct ibv_context *context, struct ibv_device_attr *device_attr) { /*returns 0 on success, or the value of errno on failure (which indicates the failure reason)*/\n  IBV_INT_CHECK_RET_ERRNO(ibvSymbols, ibv_internal_query_device, ibv_internal_query_device(context, device_attr), 0, \"ibv_query_device\");\n}\n\nncclResult_t wrap_ibv_query_port(struct ibv_context *context, uint8_t port_num, struct ibv_port_attr *port_attr) {\n  // First try and query the extended port attributes (e.g. active_speed_ex)\n  if (ibv_query_port_ex(context, port_num, port_attr) != 0) {\n    // Fall back to the original attribute API call, but zero all members first\n    memset(port_attr, 0, sizeof(*port_attr));\n    IBV_INT_CHECK_RET_ERRNO(ibvSymbols, ibv_internal_query_port, ibv_internal_query_port(context, port_num, port_attr), 0, \"ibv_query_port\");\n  }\n  return ncclSuccess;\n}\n\nncclResult_t wrap_ibv_query_gid(struct ibv_context *context, uint8_t port_num, int index, union ibv_gid *gid) {\n  IBV_INT_CHECK_RET_ERRNO(ibvSymbols, ibv_internal_query_gid, ibv_internal_query_gid(context, port_num, index, gid), 0, \"ibv_query_gid\");\n}\n\nncclResult_t wrap_ibv_query_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, int attr_mask, struct ibv_qp_init_attr *init_attr) {\n  IBV_INT_CHECK_RET_ERRNO(ibvSymbols, ibv_internal_query_qp, ibv_internal_query_qp(qp, attr, attr_mask, init_attr), 0, \"ibv_query_qp\");\n}\n\nncclResult_t wrap_ibv_alloc_pd(struct ibv_pd **ret, struct ibv_context *context) {\n  IBV_PTR_CHECK_ERRNO(ibvSymbols, ibv_internal_alloc_pd, ibv_internal_alloc_pd(context), *ret, NULL, \"ibv_alloc_pd\");\n}\n\nncclResult_t wrap_ibv_dealloc_pd(struct ibv_pd *pd) { /*returns 0 on success, or the value of errno on failure (which indicates the failure reason)*/\n  IBV_INT_CHECK_RET_ERRNO(ibvSymbols, ibv_internal_dealloc_pd, ibv_internal_dealloc_pd(pd), 0, \"ibv_dealloc_pd\");\n}\n\nncclResult_t wrap_ibv_reg_mr(struct ibv_mr **ret, struct ibv_pd *pd, void *addr, size_t length, int access) {\n  IBV_PTR_CHECK_ERRNO(ibvSymbols, ibv_internal_reg_mr, ibv_internal_reg_mr(pd, addr, length, access), *ret, NULL, \"ibv_reg_mr\");\n}\n\nstruct ibv_mr * wrap_direct_ibv_reg_mr(struct ibv_pd *pd, void *addr, size_t length, int access) {\n  if (ibvSymbols.ibv_internal_reg_mr == NULL) {\n    WARN(\"lib wrapper not initialized.\");\n    return NULL;\n  }\n  return ibvSymbols.ibv_internal_reg_mr(pd, addr, length, access);\n}\n\nncclResult_t wrap_ibv_reg_mr_iova2(struct ibv_mr **ret, struct ibv_pd *pd, void *addr, size_t length, uint64_t iova, int access) {\n  if (ibvSymbols.ibv_internal_reg_mr_iova2 == NULL) {\n    return ncclInternalError;\n  }\n  if (ret == NULL) { return ncclSuccess; } // Assume dummy call\n  IBV_PTR_CHECK_ERRNO(ibvSymbols, ibv_internal_reg_mr_iova2, ibv_internal_reg_mr_iova2(pd, addr, length, iova, access), *ret, NULL, \"ibv_reg_mr_iova2\");\n}\n\n/* DMA-BUF support */\nncclResult_t wrap_ibv_reg_dmabuf_mr(struct ibv_mr **ret, struct ibv_pd *pd, uint64_t offset, size_t length, uint64_t iova, int fd, int access) {\n  IBV_PTR_CHECK_ERRNO(ibvSymbols, ibv_internal_reg_dmabuf_mr, ibv_internal_reg_dmabuf_mr(pd, offset, length, iova, fd, access), *ret, NULL, \"ibv_reg_dmabuf_mr\");\n}\n\nstruct ibv_mr * wrap_direct_ibv_reg_dmabuf_mr(struct ibv_pd *pd, uint64_t offset, size_t length, uint64_t iova, int fd, int access) {\n  if (ibvSymbols.ibv_internal_reg_dmabuf_mr == NULL) {\n    errno = EOPNOTSUPP; // ncclIbDmaBufSupport() requires this errno being set\n    return NULL;\n  }\n  return ibvSymbols.ibv_internal_reg_dmabuf_mr(pd, offset, length, iova, fd, access);\n}\n\nncclResult_t wrap_ibv_dereg_mr(struct ibv_mr *mr) { /*returns 0 on success, or the value of errno on failure (which indicates the failure reason)*/\n  IBV_INT_CHECK_RET_ERRNO(ibvSymbols, ibv_internal_dereg_mr, ibv_internal_dereg_mr(mr), 0, \"ibv_dereg_mr\");\n}\n\nncclResult_t wrap_ibv_create_cq(struct ibv_cq **ret, struct ibv_context *context, int cqe, void *cq_context, struct ibv_comp_channel *channel, int comp_vector) {\n  IBV_PTR_CHECK_ERRNO(ibvSymbols, ibv_internal_create_cq, ibv_internal_create_cq(context, cqe, cq_context, channel, comp_vector), *ret, NULL, \"ibv_create_cq\");\n}\n\nncclResult_t wrap_ibv_destroy_cq(struct ibv_cq *cq) {\n  IBV_INT_CHECK_RET_ERRNO(ibvSymbols, ibv_internal_destroy_cq, ibv_internal_destroy_cq(cq), 0, \"ibv_destroy_cq\");\n}\n\nncclResult_t wrap_ibv_destroy_qp(struct ibv_qp *qp) {\n  IBV_INT_CHECK_RET_ERRNO(ibvSymbols, ibv_internal_destroy_qp, ibv_internal_destroy_qp(qp), 0, \"ibv_destroy_qp\");\n}\n\nncclResult_t wrap_ibv_create_qp(struct ibv_qp **ret, struct ibv_pd *pd, struct ibv_qp_init_attr *qp_init_attr) {\n  IBV_PTR_CHECK_ERRNO(ibvSymbols, ibv_internal_create_qp, ibv_internal_create_qp(pd, qp_init_attr), *ret, NULL, \"ibv_create_qp\");\n}\n\nstatic void ibvQpStateName(enum ibv_qp_state state, char* msg, const size_t len) {\n  switch (state) {\n  case (IBV_QPS_RESET): snprintf(msg, len, \"RESET\"); break;\n  case (IBV_QPS_INIT): snprintf(msg, len, \"INIT\"); break;\n  case (IBV_QPS_RTR): snprintf(msg, len, \"RTR\"); break;\n  case (IBV_QPS_RTS): snprintf(msg, len, \"RTS\"); break;\n  case (IBV_QPS_SQD): snprintf(msg, len, \"SQD\"); break;\n  case (IBV_QPS_SQE): snprintf(msg, len, \"SQE\"); break;\n  case (IBV_QPS_ERR): snprintf(msg, len, \"ERR\"); break;\n  case (IBV_QPS_UNKNOWN): snprintf(msg, len, \"UNKNOWN\"); break;\n  default: snprintf(msg, len, \"NOT RECOGNIZED (%d)\", state); break;\n  }\n}\n\n#define QP_ATTR(attr, userAttr, userFlag, mask) ((userFlag & mask) ? (userAttr) : (attr))\n\nstatic void ibvModifyQpLog(struct ibv_qp* qp, enum ibv_qp_state qpState, struct ibv_qp_attr* userAttr, int userFlag, char* msg, size_t msgLen) {\n  ncclResult_t res;\n  int portNum = -1, gidIndex = -1;\n  char localGidName[INET6_ADDRSTRLEN], remoteGidName[INET6_ADDRSTRLEN];\n  const char *localGidRes = NULL, *remoteGidRes = NULL;\n\n  char nextState[32], currState[32];\n  ibvQpStateName(qp->state, currState, sizeof(currState));\n  ibvQpStateName(qpState, nextState, sizeof(nextState));\n  char devName[IBV_SYSFS_NAME_MAX] = \"\";\n  snprintf(devName, sizeof(devName), \"%s\", (qp->pd->context) ? wrap_ibv_get_device_name(qp->pd->context->device) : \"N/A\");\n\n  struct ibv_qp_attr attr;\n  struct ibv_qp_init_attr init_attr;\n  int attr_mask = IBV_QP_PORT | IBV_QP_AV;\n  res = wrap_ibv_query_qp(qp, &attr, attr_mask, &init_attr);\n  struct ibv_qp_attr *qpAttr = (res == ncclSuccess) ? &attr : NULL;\n\n  // port info, portAttr can be NULL if not given by the user and query_qp failed\n  struct ibv_qp_attr *portAttr = QP_ATTR(qpAttr, userAttr, userFlag, IBV_QP_PORT);\n  portNum = portAttr ? portAttr->port_num : -1;\n\n  // address info, avAttr can be NULL if not given by the user and query_qp failed\n  struct ibv_qp_attr *avAttr = QP_ATTR(qpAttr, userAttr, userFlag, IBV_QP_AV);\n  if (avAttr && avAttr->ah_attr.is_global) {\n    union ibv_gid *remoteGid = &avAttr->ah_attr.grh.dgid;\n    remoteGidRes = ibvGetGidStr(remoteGid, remoteGidName, sizeof(remoteGidName));\n    // we need pd->context to retrieve local GID, skip if not there\n    if (!qp->pd->context) goto print;\n    gidIndex =  avAttr->ah_attr.grh.sgid_index;\n    union ibv_gid localGid;\n    NCCLCHECKGOTO(wrap_ibv_query_gid(qp->pd->context, portNum, gidIndex, &localGid), res, print);\n    localGidRes = ibvGetGidStr(&localGid, localGidName, sizeof(localGidName));\n  }\n\nprint:\n  snprintf(msg, msgLen, \"on dev %s:%d, curr state %s, next state %s, local GID index %d, local GID %s, remote GID %s\",\n           devName, portNum, currState, nextState, gidIndex, localGidRes ? localGidName : \"N/A\", remoteGidRes ? remoteGidName : \"N/A\");\n  return;\n}\n\nncclResult_t wrap_ibv_modify_qp(struct ibv_qp* qp, struct ibv_qp_attr* attr, int attr_mask) {\n  char qpMsg[1024];\n  int ret = 0, attempts = 0;\n  int maxCnt = (int)ncclParamIbMQpRetryCnt() + 1; // number of attempts = number of retry + 1\n  int timeOut = (int)ncclParamIbMQpRetryTimeout();\n  CHECK_NOT_NULL(ibvSymbols, ibv_internal_modify_qp);\n  do {\n    if (attempts > 0) {\n      unsigned int sleepTime = timeOut * attempts;\n      ibvModifyQpLog(qp, attr->qp_state, attr, attr_mask, qpMsg, sizeof(qpMsg));\n      INFO(NCCL_NET, \"Call to ibv_modify_qp failed with %d %s, %s, retrying %d/%d after %u msec of sleep\", ret, strerror(ret), qpMsg, attempts, maxCnt, sleepTime);\n      // sleep before retrying\n      struct timespec tv = {.tv_sec = sleepTime / 1000, .tv_nsec = (sleepTime % 1000) * ((long)1e6)};\n      nanosleep(&tv, NULL);\n    }\n    ret = ibvSymbols.ibv_internal_modify_qp(qp, attr, attr_mask);\n    attempts++;\n  } while (IBV_MQP_RETRY_ERRNO_ALL(ret) && attempts < maxCnt);\n  if (ret != 0) {\n    ibvModifyQpLog(qp, attr->qp_state, attr, attr_mask, qpMsg, sizeof(qpMsg));\n    WARN(\"Call to ibv_modify_qp failed with %d %s, %s\", ret, strerror(ret), qpMsg);\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t wrap_ibv_query_ece(struct ibv_qp *qp, struct ibv_ece *ece, int* supported) { /*returns 0 on success, or the value of errno on failure (which indicates the failure reason)*/\n  IBV_INT_CHECK_RET_ERRNO_OPTIONAL(ibvSymbols, ibv_internal_query_ece, ibv_internal_query_ece(qp, ece), 0, \"ibv_query_ece\", supported);\n}\n\nncclResult_t wrap_ibv_set_ece(struct ibv_qp *qp, struct ibv_ece *ece, int* supported) { /*returns 0 on success, or the value of errno on failure (which indicates the failure reason)*/\n  IBV_INT_CHECK_RET_ERRNO_OPTIONAL(ibvSymbols, ibv_internal_set_ece, ibv_internal_set_ece(qp, ece), 0, \"ibv_set_ece\", supported);\n}\n\nncclResult_t wrap_ibv_event_type_str(char **ret, enum ibv_event_type event) {\n  *ret = (char *) ibvSymbols.ibv_internal_event_type_str(event);\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/misc/ionicdvsymbols.cc",
    "content": "#include <sys/types.h>\n#include <unistd.h>\n\n#include \"ionic/ionicdvsymbols.h\"\n\n/* ionicdv dynamic loading mode. Symbols are loaded from shared objects. */\n#include <dlfcn.h>\n#include \"core.h\"\n\n// IONICDV Library versioning\n#define IONIC_VERSION \"IONIC_1.0\"\n\nncclResult_t buildIonicdvSymbols(struct ncclIonicdvSymbols* ionicdvSymbols) {\n  static void* ionicdvhandle = NULL;\n  void* tmp;\n  void** cast;\n\n  ionicdvhandle = dlopen(\"libionic.so\", RTLD_NOW);\n  if (!ionicdvhandle) {\n    ionicdvhandle = dlopen(\"libionic.so.1\", RTLD_NOW);\n    if (!ionicdvhandle) {\n      INFO(NCCL_INIT, \"Failed to open libionic.so[.1]\");\n      goto teardown;\n    }\n  }\n\n#define LOAD_SYM(handle, symbol, funcptr) do {           \\\n    cast = (void**)&funcptr;                             \\\n    tmp = dlvsym(handle, symbol, IONIC_VERSION);       \\\n    if (tmp == NULL) {                                   \\\n      WARN(\"dlvsym failed on %s - %s version %s\", symbol, dlerror(), IONIC_VERSION);  \\\n      goto teardown;                                     \\\n    } else {                                             \\\n      WARN(\"dlvsym loaded successfully for %s - version %s\", symbol, IONIC_VERSION);  \\\n    }                                                    \\\n    *cast = tmp;                                         \\\n  } while (0)\n\n// Attempt to load a specific symbol version - fail silently\n#define LOAD_SYM_VERSION(handle, symbol, funcptr, version) do {  \\\n    cast = (void**)&funcptr;                                     \\\n    *cast = dlvsym(handle, symbol, version);                     \\\n    if (*cast == NULL) {                                         \\\n      INFO(NCCL_NET, \"dlvsym failed on %s - %s version %s\", symbol, dlerror(), version);  \\\n    }                                                            \\\n  } while (0)\n\n  LOAD_SYM(ionicdvhandle, \"ionic_dv_qp_set_gda\", ionicdvSymbols->ionicdv_internal_qp_set_gda);\n  LOAD_SYM(ionicdvhandle, \"ionic_dv_pd_set_udma_mask\", ionicdvSymbols->ionicdv_internal_pd_set_udma_mask);\n  INFO(NCCL_INIT, \"Loaded dlvsym from libionic.so[.1]\");\n\n  return ncclSuccess;\n\nteardown:\n  ionicdvSymbols->ionicdv_internal_qp_set_gda = NULL;\n  ionicdvSymbols->ionicdv_internal_pd_set_udma_mask = NULL;\n\n  if (ionicdvhandle != NULL) dlclose(ionicdvhandle);\n  return ncclSystemError;\n}\n"
  },
  {
    "path": "src/misc/ionicdvwrap.cc",
    "content": "#include \"ionic/ionicdvwrap.h\"\n#include <sys/types.h>\n#include <unistd.h>\n#include \"param.h\"\n\n#include \"ionic/ionicdvcore.h\"\n#include \"ionic/ionicdvsymbols.h\"\n\nstatic pthread_once_t initOnceControl = PTHREAD_ONCE_INIT;\nstatic ncclResult_t initResult;\nstruct ncclIonicdvSymbols ionicdvSymbols;\n\nextern int64_t rcclParamAinicRoce();\n\nncclResult_t wrap_ionicdv_symbols(void) {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  if (rcclParamAinicRoce() == 1) {\n    pthread_once(&initOnceControl,\n                 [](){ initResult = buildIonicdvSymbols(&ionicdvSymbols); });\n    return initResult;\n  }\n#endif\n  // simply return for unsupported platform/NIC.\n  return ncclSuccess;\n}\n\n/* CHECK_NOT_NULL: helper macro to check for NULL symbol */\n#define CHECK_NOT_NULL(container, internal_name) \\\n  if (container.internal_name == NULL) { \\\n     WARN(\"lib wrapper not initialized.\"); \\\n     return ncclInternalError; \\\n  }\n\n#define IONICDV_INT_CHECK_RET_ERRNO(container, internal_name, call, success_retval, name) \\\n  CHECK_NOT_NULL(container, internal_name); \\\n  int ret = container.call; \\\n  if (ret != success_retval) { \\\n    INFO(NCCL_NET, \"Call to \" name \" failed with error %s errno %d\", strerror(ret), ret); \\\n    return ncclSystemError; \\\n  } else { \\\n    INFO(NCCL_NET, \"Call to \" name \" success with ret %d\", ret); \\\n  } \\\n  return ncclSuccess;\n\nncclResult_t wrap_ionicdv_qp_set_gda(struct ibv_qp *qp, bool enable_send, bool enable_recv) {\n  if (ionicdvSymbols.ionicdv_internal_qp_set_gda == NULL) {\n    errno = EOPNOTSUPP;\n    return ncclSystemError;\n  }\n  IONICDV_INT_CHECK_RET_ERRNO(ionicdvSymbols, ionicdv_internal_qp_set_gda, ionicdv_internal_qp_set_gda(qp, enable_send, enable_recv), 0, \"ionic_dv_qp_set_gda\");\n}\n\nncclResult_t wrap_ionicdv_pd_set_udma_mask(struct ibv_pd *ibpd, uint8_t udma_mask) {\n  if (ionicdvSymbols.ionicdv_internal_pd_set_udma_mask == NULL) {\n    errno = EOPNOTSUPP;\n    return ncclSystemError;\n  }\n  IONICDV_INT_CHECK_RET_ERRNO(ionicdvSymbols, ionicdv_internal_pd_set_udma_mask, ionicdv_internal_pd_set_udma_mask(ibpd, udma_mask), 0, \"ionic_dv_pd_set_udma_mask\");\n}\n"
  },
  {
    "path": "src/misc/ipcsocket.cc",
    "content": "/*\n * Copyright (c) 2016-2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See COPYRIGHT for license information\n */\n\n#include \"ipcsocket.h\"\n#include \"utils.h\"\n#include <stdlib.h>\n#include <string.h>\n#include <errno.h>\n\n// Enable Linux abstract socket naming\n#define USE_ABSTRACT_SOCKET\n\n#define NCCL_IPC_SOCKNAME_STR \"/tmp/nccl-socket-%d-%lx\"\n\n/*\n * Create a Unix Domain Socket\n */\nncclResult_t ncclIpcSocketInit(ncclIpcSocket *handle, int rank, uint64_t hash, volatile uint32_t* abortFlag) {\n  int fd = -1;\n  struct sockaddr_un cliaddr;\n  char temp[NCCL_IPC_SOCKNAME_LEN] = \"\";\n\n  if (handle == NULL) {\n    return ncclInternalError;\n  }\n\n  handle->fd = -1;\n  handle->socketName[0] = '\\0';\n  if ((fd = socket(AF_UNIX, SOCK_DGRAM, 0)) < 0) {\n    WARN(\"UDS: Socket creation error : %s (%d)\", strerror(errno), errno);\n    return ncclSystemError;\n  }\n\n  bzero(&cliaddr, sizeof(cliaddr));\n  cliaddr.sun_family = AF_UNIX;\n\n  // Create unique name for the socket.\n  int len = snprintf(temp, NCCL_IPC_SOCKNAME_LEN, NCCL_IPC_SOCKNAME_STR, rank, hash);\n  if (len > (sizeof(cliaddr.sun_path) - 1)) {\n    WARN(\"UDS: Cannot bind provided name to socket. Name too large\");\n    close(fd);\n    return ncclInternalError;\n  }\n#ifndef USE_ABSTRACT_SOCKET\n  unlink(temp);\n#endif\n\n  TRACE(NCCL_INIT, \"UDS: Creating socket %s\", temp);\n\n  strncpy(cliaddr.sun_path, temp, len);\n#ifdef USE_ABSTRACT_SOCKET\n  cliaddr.sun_path[0] = '\\0'; // Linux abstract socket trick\n#endif\n  if (bind(fd, (struct sockaddr *)&cliaddr, sizeof(cliaddr)) < 0) {\n    WARN(\"UDS: Binding to socket %s failed : %s (%d)\", temp, strerror(errno), errno);\n    close(fd);\n    return ncclSystemError;\n  }\n\n  handle->fd = fd;\n  strcpy(handle->socketName, temp);\n\n  handle->abortFlag = abortFlag;\n  // Mark socket as non-blocking\n  if (handle->abortFlag) {\n    int flags;\n    SYSCHECK(flags = fcntl(fd, F_GETFL), \"fcntl\");\n    SYSCHECK(fcntl(fd, F_SETFL, flags | O_NONBLOCK), \"fcntl\");\n  }\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclIpcSocketGetFd(struct ncclIpcSocket* handle, int* fd) {\n  if (handle == NULL) {\n    WARN(\"ncclSocketGetFd: pass NULL socket\");\n    return ncclInvalidArgument;\n  }\n  if (fd) *fd = handle->fd;\n  return ncclSuccess;\n}\n\nncclResult_t ncclIpcSocketClose(ncclIpcSocket *handle) {\n  if (handle == NULL) {\n    return ncclInternalError;\n  }\n  if (handle->fd <= 0) {\n    return ncclSuccess;\n  }\n#ifndef USE_ABSTRACT_SOCKET\n  if (handle->socketName[0] != '\\0') {\n    unlink(handle->socketName);\n  }\n#endif\n  close(handle->fd);\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclIpcSocketRecvMsg(ncclIpcSocket *handle, void *hdr, int hdrLen, int *recvFd) {\n  struct msghdr msg = {0, 0, 0, 0, 0, 0, 0};\n  struct iovec iov[1];\n\n  // Union to guarantee alignment requirements for control array\n  union {\n    struct cmsghdr cm;\n    char control[CMSG_SPACE(sizeof(int))];\n  } control_un;\n\n  struct cmsghdr *cmptr;\n  char dummy_buffer[1];\n  int ret;\n\n  msg.msg_control = control_un.control;\n  msg.msg_controllen = sizeof(control_un.control);\n\n  if (hdr == NULL) {\n    iov[0].iov_base = (void *)dummy_buffer;\n    iov[0].iov_len = sizeof(dummy_buffer);\n  } else {\n    iov[0].iov_base = hdr;\n    iov[0].iov_len = hdrLen;\n  }\n\n  msg.msg_iov = iov;\n  msg.msg_iovlen = 1;\n\n  while ((ret = recvmsg(handle->fd, &msg, 0)) <= 0) {\n    if (errno != EAGAIN && errno != EWOULDBLOCK && errno != EINTR) {\n      WARN(\"UDS: Receiving data over socket failed : %d\", errno);\n      return ncclSystemError;\n    }\n    if (handle->abortFlag && __atomic_load_n(handle->abortFlag, __ATOMIC_ACQUIRE)) return ncclInternalError;\n  }\n\n  if (recvFd != NULL) {\n    if (((cmptr = CMSG_FIRSTHDR(&msg)) != NULL) && (cmptr->cmsg_len == CMSG_LEN(sizeof(int)))) {\n      if ((cmptr->cmsg_level != SOL_SOCKET) || (cmptr->cmsg_type != SCM_RIGHTS)) {\n        WARN(\"UDS: Receiving data over socket failed\");\n      return ncclSystemError;\n      }\n\n      memmove(recvFd, CMSG_DATA(cmptr), sizeof(*recvFd));\n    } else {\n      WARN(\"UDS: Receiving data over socket %s failed\", handle->socketName);\n      return ncclSystemError;\n    }\n    TRACE(NCCL_INIT|NCCL_P2P, \"UDS: Got recvFd %d from socket %s\", *recvFd, handle->socketName);\n  }\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclIpcSocketRecvFd(ncclIpcSocket *handle, int *recvFd) {\n  return ncclIpcSocketRecvMsg(handle, NULL, 0, recvFd);\n}\n\nncclResult_t ncclIpcSocketSendMsg(ncclIpcSocket *handle, void *hdr, int hdrLen, const int sendFd, int rank, uint64_t hash) {\n  struct msghdr msg = {0, 0, 0, 0, 0, 0, 0};\n  struct iovec iov[1];\n  char temp[NCCL_IPC_SOCKNAME_LEN];\n\n  union {\n    struct cmsghdr cm;\n    char control[CMSG_SPACE(sizeof(int))];\n  } control_un;\n\n  struct cmsghdr *cmptr;\n  char dummy_buffer[1] = {'\\0'};\n  struct sockaddr_un cliaddr;\n\n  // Construct client address to send this shareable handle to\n  bzero(&cliaddr, sizeof(cliaddr));\n  cliaddr.sun_family = AF_UNIX;\n\n  int len = snprintf(temp, NCCL_IPC_SOCKNAME_LEN, NCCL_IPC_SOCKNAME_STR, rank, hash);\n  if (len > (sizeof(cliaddr.sun_path) - 1)) {\n    WARN(\"UDS: Cannot connect to provided name for socket. Name too large\");\n    return ncclInternalError;\n  }\n  (void) strncpy(cliaddr.sun_path, temp, len);\n\n#ifdef USE_ABSTRACT_SOCKET\n  cliaddr.sun_path[0] = '\\0'; // Linux abstract socket trick\n#endif\n\n  TRACE(NCCL_INIT, \"UDS: Sending hdr %p len %d fd %d to UDS socket %s\", hdr, hdrLen, sendFd, temp);\n\n  if (sendFd != -1) {\n    memset(&control_un, '\\0', sizeof(control_un));\n    msg.msg_control = control_un.control;\n    msg.msg_controllen = sizeof(control_un.control);\n\n    cmptr = CMSG_FIRSTHDR(&msg);\n    cmptr->cmsg_len = CMSG_LEN(sizeof(int));\n    cmptr->cmsg_level = SOL_SOCKET;\n    cmptr->cmsg_type = SCM_RIGHTS;\n    memmove(CMSG_DATA(cmptr), &sendFd, sizeof(sendFd));\n  }\n\n  msg.msg_name = (void *)&cliaddr;\n  msg.msg_namelen = sizeof(struct sockaddr_un);\n\n  if (hdr == NULL) {\n    iov[0].iov_base = (void *)dummy_buffer;\n    iov[0].iov_len = sizeof(dummy_buffer);\n  } else {\n    iov[0].iov_base = hdr;\n    iov[0].iov_len = hdrLen;\n  }\n  msg.msg_iov = iov;\n  msg.msg_iovlen = 1;\n  msg.msg_flags = 0;\n\n  ssize_t sendResult;\n  while ((sendResult = sendmsg(handle->fd, &msg, 0)) < 0) {\n    if (errno != EAGAIN && errno != EWOULDBLOCK && errno != EINTR) {\n      WARN(\"UDS: Sending data over socket %s failed : %s (%d)\", temp, strerror(errno), errno);\n      return ncclSystemError;\n    }\n    if (handle->abortFlag && __atomic_load_n(handle->abortFlag, __ATOMIC_ACQUIRE)) return ncclInternalError;\n  }\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclIpcSocketSendFd(ncclIpcSocket *handle, const int sendFd, int rank, uint64_t hash) {\n  return ncclIpcSocketSendMsg(handle, NULL, 0, sendFd, rank, hash);\n}\n"
  },
  {
    "path": "src/misc/latency_profiler/CollTrace.cc",
    "content": "/*\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n#include \"latency_profiler/CollTrace.h\"\n#include \"bootstrap.h\"\n#include \"checks.h\"\n#include \"comm.h\"\n#include \"param.h\"\n\nNCCL_PARAM(ColltraceRecordMax, \"COLLTRACE_RECORD_MAX\", 100);\nNCCL_PARAM(ColltraceMaxDumpSize, \"COLLTRACE_MAX_DUMP_SIZE\", 20);\nNCCL_PARAM(ColltraceDumpIntervalSec, \"COLLTRACE_DUMP_INTERVAL_SEC\", 300);\n\nconstexpr int RANKS_PER_HOST = 8;\n\nnamespace latency_profiler {\n\nnamespace {\nCudaEventPtr getCudaEventPtr() {\n  cudaEvent_t newEvent = nullptr;\n  CUDACHECKIGNORE(cudaEventCreate(&newEvent));\n  CudaEventPtr item(newEvent);\n  return item;\n}\n} // namespace\n\nCollTrace::CollTrace(ncclComm* comm)\n    : comm_(comm),\n      commHash_(std::to_string(comm->commHash)),\n      rank_(comm->rank) {\n  profilingWorkerThread_ =\n      std::thread{[this]() { return collTraceThreadFn(comm_->cudaDev); }};\n}\n\nCollTrace::~CollTrace() {\n  try {\n    INFO(\n        NCCL_INIT,\n        \"COLLTRACE: commHash %s rank %d - Destroy START\",\n        commHash_.c_str(),\n        rank_);\n    eventQueue_.push(std::unique_ptr<CollTraceEvent>(\n        new CollTraceEvent(CollTraceEvent::EventType::TERMINATE)));\n    if (profilingWorkerThread_.joinable()) {\n      profilingWorkerThread_.join();\n    }\n\n    if (rank_ == 0) {\n      reportIfNeeded(false);\n    }\n\n    INFO(\n        NCCL_INIT,\n        \"COLLTRACE: commHash %s rank %d - Destroy COMPLETE\",\n        commHash_.c_str(),\n        rank_);\n  } catch (const std::exception& e) {\n    WARN(\n        \"COLLTRACE: commHash %s rank %d - Destroy FAILED: %s\",\n        commHash_.c_str(),\n        rank_,\n        e.what());\n  }\n}\n\nvoid* CollTrace::collTraceThreadFn(int cudaDev) {\n  INFO(NCCL_INIT, \"CollTrace thread started for cudaDev %d\", cudaDev);\n  auto err = cudaSetDevice(cudaDev);\n  if (err != cudaSuccess) {\n    WARN(\"Cuda failure '%s'\", cudaGetErrorString(err));\n    return nullptr;\n  }\n\n  lastReportTime_ = std::chrono::steady_clock::now();\n\n  INFO(\n      NCCL_INIT,\n      \"COLLTRACE: commHash %s rank %d - worker thread STARTED\",\n      commHash_.c_str(),\n      rank_);\n  while (true) {\n    curEvent_ = eventQueue_.waitPop();\n    if (curEvent_->eventType == CollTraceEvent::EventType::TERMINATE) {\n      break;\n    }\n    curEvent_->start->waitEventFinish();\n    auto ncclRes = curEvent_->stop->waitEventFinish();\n    float latency = -1;\n\n    if (ncclRes == ncclSuccess) {\n      auto latencyMaybe =\n          curEvent_->stop->getElapsedTimeSinceEvent(curEvent_->start.get());\n      // latencyMaybe could be nullopt when cudaEventElapsedTime failed\n      // this could happen when events are not recorded or stream is not valid\n      if (latencyMaybe == nullptr) {\n        WARN(\n            \"CollTrace: getElapsedTimeSinceEvent failed, aborting worker thread\");\n        return nullptr;\n      }\n      latency = *latencyMaybe;\n    }\n\n    recordCurCollResult(cudaDev, latency);\n    curEvent_.reset();\n  }\n\n  INFO(\n      NCCL_INIT,\n      \"COLLTRACE: commHash %s rank %d - worker thread TERMINATE\",\n      commHash_.c_str(),\n      rank_);\n  return nullptr;\n}\n\nvoid CollTrace::enqueueEvent(std::unique_ptr<CollTraceEvent> event) {\n  event->coll.collId = curCollId_.fetch_add(1);\n  eventQueue_.push(std::move(event));\n}\n\nstd::unique_ptr<CollTraceEvent> CollTrace::createEvent(\n    CollTraceEvent::EventType type) {\n  auto eventInfo = std::make_unique<CollTraceEvent>(type);\n  eventInfo->start = std::make_unique<CudaWaitEvent>(getCudaEventPtr());\n  eventInfo->stop = std::make_unique<CudaWaitEvent>(getCudaEventPtr());\n\n  if (!eventInfo->start || !eventInfo->stop) {\n    std::unique_ptr<CollTraceEvent> nullCollTraceEvent(nullptr);\n    return nullCollTraceEvent;\n  }\n  return eventInfo;\n}\n\nbool shouldAggregateRingBuffer(int collId) {\n  const int NCCL_COLLTRACE_RECORD_MAX = ncclParamColltraceRecordMax();\n  return ((collId + 1) % NCCL_COLLTRACE_RECORD_MAX == 0);\n}\n\nvoid CollTrace::reportIfNeeded(bool checkInterval = true) {\n  auto now = std::chrono::steady_clock::now();\n  auto secs_passed =\n      std::chrono::duration_cast<std::chrono::seconds>(now - lastReportTime_)\n          .count();\n  if (checkInterval) {\n    if (secs_passed < ncclParamColltraceDumpIntervalSec() &&\n        stats_.size() < ncclParamColltraceMaxDumpSize()) {\n      return;\n    }\n  }\n\n  INFO(\n      NCCL_COLL,\n      \"CollTrace: %ld seconds passed since last report, stats size = %zu, checkInterval = %d\",\n      secs_passed,\n      stats_.size(),\n      checkInterval);\n\n// reportToScuba is a placeholder for oss environment.\n// meta production reports to scuba instead of file, which enables\n// filering, aggregation and visualization.\n#ifdef ENABLE_SCUBA_LOGGING\n  reportToScuba(stats_, commHash_);\n#else\n  reportToFile(stats_, commHash_);\n#endif\n  lastReportTime_ = std::chrono::steady_clock::now();\n  stats_.clear();\n}\n\nvoid CollTrace::recordCurCollResult(int rank, float latency) {\n  const int NCCL_COLLTRACE_RECORD_MAX = ncclParamColltraceRecordMax();\n\n  auto result = std::make_unique<CollTraceInfo>(curEvent_->coll);\n  auto collId = result->collId;\n  result->latencyMs = latency;\n\n  pastColls_.push_back(std::move(result));\n  if (pastColls_.size() > NCCL_COLLTRACE_RECORD_MAX) {\n    pastColls_.pop_front();\n  }\n\n  if (shouldAggregateRingBuffer(collId) && pastColls_.size() > 0) {\n    std::vector<float> latencyAllGather;\n    latencyAllGather.resize(RANKS_PER_HOST * NCCL_COLLTRACE_RECORD_MAX, 0);\n    int start = (comm_->localRank) * NCCL_COLLTRACE_RECORD_MAX;\n    for (int i = start; i < start + NCCL_COLLTRACE_RECORD_MAX; i++) {\n      latencyAllGather[i] = pastColls_[i - start]->latencyMs;\n    }\n    auto before = std::chrono::high_resolution_clock::now();\n    auto ncclResult = bootstrapIntraNodeAllGather(\n        comm_->bootstrap,\n        comm_->localRankToRank,\n        comm_->localRank,\n        comm_->localRanks,\n        latencyAllGather.data(),\n        NCCL_COLLTRACE_RECORD_MAX * sizeof(float));\n    auto after = std::chrono::high_resolution_clock::now();\n    auto interval_us =\n        std::chrono::duration_cast<std::chrono::microseconds>(after - before)\n            .count();\n    if (ncclResult != ncclSuccess) {\n      WARN(\"CollTrace: All gather exchange latency data failed\");\n      return;\n    }\n\n    if (rank == 0) {\n      INFO(NCCL_COLL, \"latency metrics all gather takes %ld us\", interval_us);\n      try {\n        auto stats = aggregateResults(\n            pastColls_,\n            latencyAllGather,\n            RANKS_PER_HOST,\n            NCCL_COLLTRACE_RECORD_MAX);\n        stats_.push_back(stats);\n        if (stats_.size() > ncclParamColltraceMaxDumpSize()) {\n          stats_.pop_front();\n        }\n        reportIfNeeded();\n      } catch (const std::exception& e) {\n        WARN(\"Aggregating error: %s\", e.what());\n      }\n    }\n  }\n}\n\n} // namespace latency_profiler\n"
  },
  {
    "path": "src/misc/latency_profiler/CollTraceEvent.cc",
    "content": "/*\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n#include <thread>\n#include \"latency_profiler/CollTraceEvent.h\"\n#include \"param.h\"\n\nNCCL_PARAM(ColltraceCheckIntervalMs, \"COLLTRACE_CHECK_INTERVAL_MS\", 10);\n\nnamespace latency_profiler {\n\nncclResult_t CudaWaitEvent::waitEventFinish() {\n  // async polling case, query cuda whether event is ready every\n  // NCCL_COLLTRACE_CHECK_INTERVAL_MS ms\n  auto res = cudaEventQuery(event_.get());\n  while (res != cudaSuccess) {\n    if (res != cudaErrorNotReady) {\n      CUDACHECK(res);\n    }\n    std::this_thread::sleep_for(\n        std::chrono::milliseconds(ncclParamColltraceCheckIntervalMs()));\n    res = cudaEventQuery(event_.get());\n  }\n  return ncclSuccess;\n}\n\nstd::shared_ptr<float> CudaWaitEvent::getElapsedTimeSinceEvent(\n    CudaWaitEvent* start) {\n  float elapsedTime;\n  auto res =\n      cudaEventElapsedTime(&elapsedTime, start->event_.get(), event_.get());\n  if (res != cudaSuccess) {\n    WARN(\"get elapsed time failed error: %s\", cudaGetErrorString(res));\n    return nullptr;\n  }\n  return std::make_shared<float>(elapsedTime);\n}\n\n} // namespace latency_profiler\n"
  },
  {
    "path": "src/misc/latency_profiler/CollTraceFunc.cc",
    "content": "/*\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n#include \"latency_profiler/CollTraceFunc.h\"\n\nnamespace latency_profiler {\n\nnamespace {\nbool enableCollTrace() {\n  const char* colltraceEnable = ncclGetEnv(\"RCCL_LATENCY_PROFILER\");\n  if (colltraceEnable != NULL) {\n    INFO(\n        NCCL_INIT,\n        \"RCCL_LATENCY_PROFILER set by environment to %s.\",\n        colltraceEnable);\n    if (strcmp(colltraceEnable, \"1\") == 0) {\n      return true;\n    }\n  }\n  return false;\n}\n} // namespace\n\nncclResult_t collTraceInit(ncclComm* comm) {\n  if (!enableCollTrace()) {\n    return ncclSuccess;\n  }\n  comm->ctrace = std::make_unique<CollTrace>(comm);\n  return ncclSuccess;\n}\n\nncclResult_t collTraceDestroy(ncclComm* comm) {\n  if (comm->ctrace == nullptr) {\n    return ncclSuccess;\n  }\n  comm->ctrace.reset();\n  return ncclSuccess;\n}\n\nncclResult_t collTraceRecordStartEvent(\n    ncclComm* comm,\n    cudaStream_t launchStream,\n    CollTraceEvent* event) {\n  if (comm->ctrace && event) {\n    CUDACHECK(\n        cudaEventRecord(event->start.get()->getCudaEvent(), launchStream));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t collTraceRecordEndEvent(\n    ncclComm* comm,\n    ncclKernelPlan* plan,\n    cudaStream_t launchStream,\n    std::unique_ptr<CollTraceEvent> event) {\n  if (comm->ctrace && event) {\n    CUDACHECK(cudaEventRecord(event->stop.get()->getCudaEvent(), launchStream));\n    comm->ctrace->enqueueEvent(std::move(event));\n  }\n  return ncclSuccess;\n}\n\nCollTraceInfo parseCollInfoFromCollTask(const ncclTaskColl& collTask) {\n  return CollTraceInfo{\n      .opName = std::string{ncclFuncToString(collTask.func)},\n      .dataType = std::string{ncclDatatypeToString(collTask.datatype)},\n      .count = (int64_t)collTask.count,\n  };\n}\n\nstd::shared_ptr<CollTraceInfo> parseCollInfoFromNcclKernelPlan(\n    ncclKernelPlan& plan,\n    cudaStream_t stream) {\n  if (plan.comm == nullptr || plan.comm->ctrace == nullptr) {\n    return nullptr;\n  }\n  auto collTaskHead = ncclIntruQueueHead(&plan.collTaskQueue);\n  if (collTaskHead == nullptr) {\n    WARN(\"CollTrace: no coll task in this plan, this plan is empty\");\n    return nullptr;\n  }\n\n  CollTraceInfo collInfo = parseCollInfoFromCollTask(*collTaskHead);\n  return std::make_shared<CollTraceInfo>(collInfo);\n}\n\nstd::unique_ptr<CollTraceEvent> collTraceAquireEventCommon(\n    ncclComm* comm,\n    CollTraceEvent::EventType type,\n    cudaStream_t stream) {\n  if (!comm->ctrace) {\n    return nullptr;\n  }\n  struct ncclCudaGraph graph;\n  auto res = ncclCudaGetCapturingGraph(&graph, stream);\n  if (res != ncclSuccess) {\n    WARN(\"Internal error: ncclCudaGetCapturingGraph failed by %d\", res);\n    return nullptr;\n  }\n  if (graph.graph != nullptr) {\n    // We are in a cuda graph, this is currently unsupported\n    WARN(\n        \"COLLTRACE: does not support cuda graph. Collectives from comm %lx will be skipped\",\n        comm->commHash);\n    return nullptr;\n  }\n  auto event = comm->ctrace->createEvent(type);\n  if (!event) {\n    throw CollTraceError(\"Event init failed\");\n    return nullptr; /*Event init failed*/\n  }\n  return event;\n}\n\nstd::unique_ptr<CollTraceEvent> collTraceAquireEventBaseline(\n    ncclKernelPlan* plan,\n    cudaStream_t stream) {\n  auto collPtr = parseCollInfoFromNcclKernelPlan(*plan, stream);\n  if (collPtr == nullptr) {\n    return nullptr;\n  }\n  auto comm = plan->comm;\n  if (!comm->ctrace) {\n    return nullptr;\n  }\n\n  auto event =\n      collTraceAquireEventCommon(comm, CollTraceEvent::EventType::COMM, stream);\n  if (event == nullptr) {\n    WARN(\"COLLTRACE: failed to aquire event\");\n    return nullptr;\n  }\n  event->coll = *collPtr;\n  return event;\n}\n\n} // namespace latency_profiler\n"
  },
  {
    "path": "src/misc/latency_profiler/CollTraceUtils.cc",
    "content": "/*\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n#include \"latency_profiler/CollTraceUtils.h\"\n#include \"nccl_common.h\"\n#include \"debug.h\"\n\nnamespace latency_profiler {\n\nfloat getSizeMb(const std::string& dataType, int count) {\n  if (dataType == \"ncclInt8\" || dataType == \"ncclFp8E4M3\" ||\n      dataType == \"ncclFp8E5M2\") {\n    return count / 1024.0 / 1024.0;\n  }\n\n  if (dataType == \"ncclFloat16\" || dataType == \"ncclBfloat16\") {\n    return 2 * count / 1024.0 / 1024.0;\n  }\n\n  if (dataType == \"ncclInt32\" || dataType == \"ncclUint32\" ||\n      dataType == \"ncclFloat32\") {\n    return 4 * count / 1024.0 / 1024.0;\n  }\n\n  if (dataType == \"ncclInt64\" || dataType == \"ncclUint64\" ||\n      dataType == \"ncclFloat64\") {\n    return 8 * count / 1024.0 / 1024.0;\n  }\n\n  throw std::runtime_error(\"CollTrace: unsupported data type \" + dataType);\n}\n\nvoid reportToFile(\n    const std::deque<std::vector<CollStats>>& stats,\n    const std::string& commHash) {\n  for (const auto& oneDumpStats : stats) {\n    for (const auto& elem : oneDumpStats) {\n      auto size_mb = getSizeMb(elem.dataType, elem.count);\n      INFO(NCCL_COLL, \"coll_id %ld, percent %d, min_latency_us %f, max_latency_us %f, op_name %s, data_type %s, count %ld, message_size_MB %f, comm_hash %s\", elem.collId, elem.percent, elem.minLatencyUs, elem.maxLatencyUs, elem.opName.c_str(), elem.dataType.c_str(), elem.count, size_mb, commHash.c_str());\n    }\n  }\n}\n\nstd::vector<CollStats> aggregateResults(\n    const std::deque<std::unique_ptr<CollTraceInfo>>& info,\n    const std::vector<float>& latencyAllGather,\n    int RANKS_PER_HOST,\n    int NCCL_COLLTRACE_RECORD_MAX) {\n  std::vector<std::pair<float, float>> latencyMetrics;\n  for (auto rank = 0; rank < RANKS_PER_HOST; rank++) {\n    for (auto i = 0; i < NCCL_COLLTRACE_RECORD_MAX; i++) {\n      auto val = latencyAllGather.at(rank * NCCL_COLLTRACE_RECORD_MAX + i);\n      if (val == 0) {\n        throw std::runtime_error(\n            \"CollTrace: latency value cannot be zero, CPU all gather failed\");\n      }\n      if (rank == 0) {\n        latencyMetrics.emplace_back(val, val);\n      } else {\n        latencyMetrics.at(i).first =\n            std::min<float>(latencyMetrics.at(i).first, val);\n        latencyMetrics.at(i).second =\n            std::max<float>(latencyMetrics.at(i).second, val);\n      }\n    }\n  }\n  std::vector<CollStats> results;\n  for (int i = 0; i < info.size(); i++) {\n    int percent = 100 *\n        (latencyMetrics.at(i).second - latencyMetrics.at(i).first) /\n        latencyMetrics.at(i).first;\n    results.emplace_back(CollStats(\n        (int)info[i]->collId,\n        percent,\n        latencyMetrics.at(i).first * 1000,\n        latencyMetrics.at(i).second * 1000,\n        info[i]->opName,\n        info[i]->dataType,\n        info[i]->count));\n  }\n  return results;\n}\n\n} // namespace latency_profiler\n"
  },
  {
    "path": "src/misc/latency_profiler/MIT-LICENSE.txt",
    "content": "MIT License\n\nCopyright (c) Meta Platforms, Inc. and affiliates.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "src/misc/mlx5dvsymbols.cc",
    "content": "// Modification Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n// SPDX-License-Identifier: MIT\n\n#include <sys/types.h>\n#include <unistd.h>\n\n#include \"mlx5/mlx5dvsymbols.h\"\n\n#ifdef NCCL_BUILD_MLX5DV\n/* Mlx5dv linking mode. Symbols are pointers to linked MLX5 Direct Verbs */\n\n#define ASSIGN_SYM(container, symbol, name) container->name= &symbol;\n\nncclResult_t buildMlx5dvSymbols(struct ncclMlx5dvSymbols* mlx5dvSymbols) {\n  ASSIGN_SYM(mlx5dvSymbols, mlx5dv_is_supported, mlx5dv_internal_is_supported);\n  ASSIGN_SYM(mlx5dvSymbols, mlx5dv_get_data_direct_sysfs_path, mlx5dv_internal_get_data_direct_sysfs_path);\n  ASSIGN_SYM(mlx5dvSymbols, mlx5dv_reg_dmabuf_mr, mlx5dv_internal_reg_dmabuf_mr);\n  return ncclSuccess;\n}\n\n#else\n/* Mlx5dv dynamic loading mode. Symbols are loaded from shared objects. */\n\n#include <dlfcn.h>\n#include \"core.h\"\n\n// MLX5DV Library versioning\n#define MLX5DV_VERSION \"MLX5_1.8\"\n\nncclResult_t buildMlx5dvSymbols(struct ncclMlx5dvSymbols* mlx5dvSymbols) {\n  static void* mlx5dvhandle = NULL;\n  void* tmp;\n  void** cast;\n\n  mlx5dvhandle=dlopen(\"libmlx5.so\", RTLD_NOW);\n  if (!mlx5dvhandle) {\n    mlx5dvhandle=dlopen(\"libmlx5.so.1\", RTLD_NOW);\n    if (!mlx5dvhandle) {\n      INFO(NCCL_INIT, \"Failed to open libmlx5.so[.1]\");\n      goto teardown;\n    }\n  }\n\n#define LOAD_SYM(handle, symbol, funcptr) do {           \\\n    cast = (void**)&funcptr;                             \\\n    tmp = dlvsym(handle, symbol, MLX5DV_VERSION);       \\\n    if (tmp == NULL) {                                   \\\n      WARN(\"dlvsym failed on %s - %s version %s\", symbol, dlerror(), MLX5DV_VERSION);  \\\n      goto teardown;                                     \\\n    }                                                    \\\n    *cast = tmp;                                         \\\n  } while (0)\n\n// Attempt to load a specific symbol version - fail silently\n#define LOAD_SYM_VERSION(handle, symbol, funcptr, version) do {  \\\n    cast = (void**)&funcptr;                                     \\\n    *cast = dlvsym(handle, symbol, version);                     \\\n    if (*cast == NULL) {                                         \\\n      INFO(NCCL_NET, \"dlvsym failed on %s - %s version %s\", symbol, dlerror(), version);  \\\n    }                                                            \\\n  } while (0)\n\n  LOAD_SYM(mlx5dvhandle, \"mlx5dv_is_supported\", mlx5dvSymbols->mlx5dv_internal_is_supported);\n  // Cherry-pick the mlx5dv_get_data_direct_sysfs_path API from MLX5 1.25\n  LOAD_SYM_VERSION(mlx5dvhandle, \"mlx5dv_get_data_direct_sysfs_path\", mlx5dvSymbols->mlx5dv_internal_get_data_direct_sysfs_path, \"MLX5_1.25\");\n  // Cherry-pick the ibv_reg_dmabuf_mr API from MLX5 1.25\n  LOAD_SYM_VERSION(mlx5dvhandle, \"mlx5dv_reg_dmabuf_mr\", mlx5dvSymbols->mlx5dv_internal_reg_dmabuf_mr, \"MLX5_1.25\");\n\n  return ncclSuccess;\n\nteardown:\n  mlx5dvSymbols->mlx5dv_internal_is_supported = NULL;\n  mlx5dvSymbols->mlx5dv_internal_get_data_direct_sysfs_path = NULL;\n  mlx5dvSymbols->mlx5dv_internal_reg_dmabuf_mr = NULL;\n\n  if (mlx5dvhandle != NULL) dlclose(mlx5dvhandle);\n  return ncclSystemError;\n}\n\n#endif\n"
  },
  {
    "path": "src/misc/mlx5dvwrap.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"mlx5/mlx5dvwrap.h\"\n#include <sys/types.h>\n#include <unistd.h>\n#include <mutex>\n\n#ifdef NCCL_BUILD_MLX5DV\n#include <infiniband/mlx5dv.h>\n#else\n#include \"mlx5/mlx5dvcore.h\"\n#endif\n#include \"mlx5/mlx5dvsymbols.h\"\n\nstatic std::once_flag initOnceFlag;\nstatic ncclResult_t initResult;\nstruct ncclMlx5dvSymbols mlx5dvSymbols;\n\nncclResult_t wrap_mlx5dv_symbols(void) {\n  std::call_once(initOnceFlag,\n               [](){ initResult = buildMlx5dvSymbols(&mlx5dvSymbols); });\n  return initResult;\n}\n\n/* CHECK_NOT_NULL: helper macro to check for NULL symbol */\n#define CHECK_NOT_NULL(container, internal_name) \\\n  if (container.internal_name == NULL) { \\\n     WARN(\"NET/MLX5: lib wrapper not initialized.\"); \\\n     return ncclInternalError; \\\n  }\n\n#define MLX5DV_PTR_CHECK_ERRNO(container, internal_name, call, retval, error_retval, name) \\\n  CHECK_NOT_NULL(container, internal_name); \\\n  retval = container.call; \\\n  if (retval == error_retval) { \\\n    WARN(\"NET/MLX5: Call to \" name \" failed with error %s\", strerror(errno)); \\\n    return ncclSystemError; \\\n  } \\\n  return ncclSuccess;\n\nbool wrap_mlx5dv_is_supported(struct ibv_device *device) {\n  if (mlx5dvSymbols.mlx5dv_internal_is_supported == NULL) {\n    return 0;\n  }\n  return mlx5dvSymbols.mlx5dv_internal_is_supported(device);\n}\n\nncclResult_t wrap_mlx5dv_get_data_direct_sysfs_path(struct ibv_context* context, char* buf, size_t buf_len) {\n  CHECK_NOT_NULL(mlx5dvSymbols, mlx5dv_internal_get_data_direct_sysfs_path);\n  int ret = mlx5dvSymbols.mlx5dv_internal_get_data_direct_sysfs_path(context, buf, buf_len);\n  if (ret == 0) return ncclSuccess;\n  /* ENODEV can happen if the devices is not data-direct but mlx5 is used. It's not an error*/\n  if (ret == ENODEV) return ncclInvalidArgument;\n  INFO(NCCL_NET, \"NET/MLX5: Call to mlx5dv_internal_get_data_direct_sysfs_path failed with error %s errno %d\", strerror(ret), ret);\n  return ncclSystemError;\n}\n\n/* DMA-BUF support */\nncclResult_t wrap_mlx5dv_reg_dmabuf_mr(struct ibv_mr **ret, struct ibv_pd *pd, uint64_t offset, size_t length, uint64_t iova, int fd, int access, int mlx5_access) {\n  MLX5DV_PTR_CHECK_ERRNO(mlx5dvSymbols, mlx5dv_internal_reg_dmabuf_mr, mlx5dv_internal_reg_dmabuf_mr(pd, offset, length, iova, fd, access, mlx5_access), *ret, NULL, \"mlx5dv_reg_dmabuf_mr\");\n}\n\nstruct ibv_mr * wrap_direct_mlx5dv_reg_dmabuf_mr(struct ibv_pd *pd, uint64_t offset, size_t length, uint64_t iova, int fd, int access, int mlx5_access) {\n  if (mlx5dvSymbols.mlx5dv_internal_reg_dmabuf_mr == NULL) {\n    errno = EOPNOTSUPP; // ncclIbDmaBufSupport() requires this errno being set\n    return NULL;\n  }\n  return mlx5dvSymbols.mlx5dv_internal_reg_dmabuf_mr(pd, offset, length, iova, fd, access, mlx5_access);\n}\n"
  },
  {
    "path": "src/misc/msccl/msccl_lifecycle.cc",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#include <atomic>\n#include <map>\n#include <mutex>\n#include <set>\n\n#include <dirent.h>\n#include <dlfcn.h>\n#include <error.h>\n#include <link.h>\n\n#include \"alloc.h\"\n#include \"checks.h\"\n#include \"graph/topo.h\"\n\n#include \"msccl/msccl_lifecycle.h\"\n#include \"msccl/msccl_parser.h\"\n#include \"msccl/msccl_setup.h\"\n#include \"msccl/msccl_status.h\"\n\n#include \"rccl/rccl.h\"\n#ifdef ENABLE_MSCCLPP\n#include \"mscclpp/mscclpp_nccl.h\"\n#endif\n\nRCCL_PARAM(MscclEnabled, \"MSCCL_ENABLE\", 1);\nRCCL_PARAM(MscclForceEnabled, \"MSCCL_FORCE_ENABLE\", 0);\nRCCL_PARAM(MscclEnableSingleProcess, \"MSCCL_ENABLE_SINGLE_PROCESS\", 1);\n\nstatic bool mscclWarn = false;\n\nbool mscclEnabled() {\n#ifdef COMPILE_MSCCL_KERNEL\n  int64_t enabled = rcclParamMscclEnabled();\n  if (enabled && !mscclWarn) {\n    WARN(\"MSCCL is deprecated and will be removed in a future version of RCCL.\");\n    mscclWarn = true;\n  }\n  return enabled;\n#else\n  return false;\n#endif\n}\n\nbool mscclForceEnabled() {\n#ifdef COMPILE_MSCCL_KERNEL\n  int64_t forceEnabled = rcclParamMscclForceEnabled();\n  if (forceEnabled && !mscclWarn) {\n    WARN(\"MSCCL is deprecated and will be removed in a future version of RCCL.\");\n    mscclWarn = true;\n  }\n  return forceEnabled;\n#else\n  return false;\n#endif\n}\n\nvoid mscclSetIsCallerFlag() {\n  mscclGetThreadLocalStatus().mscclIsCallerFlag = true;\n}\n\nvoid mscclClearIsCallerFlag() {\n  mscclGetThreadLocalStatus().mscclIsCallerFlag = false;\n}\n\nbool mscclIsCaller() {\n  return mscclGetThreadLocalStatus().mscclIsCallerFlag;\n}\n\nbool mscclAvailable(const ncclComm_t comm) {\n  return mscclEnabled() && mscclInitialized(comm);\n}\n\nstatic bool allProcessHostsUnique(ncclComm_t comm) {\n  std::map<uint64_t, std::set<uint64_t>> hostHashToPidHashes;\n  for (int i = 0; i < comm->nRanks; i++) {\n    uint64_t hostHash = comm->peerInfo[i].hostHash;\n    uint64_t pidHash = comm->peerInfo[i].pidHash;\n    if (hostHashToPidHashes.find(hostHash) != hostHashToPidHashes.end()) {\n      auto& pidHashSet = hostHashToPidHashes[hostHash];\n      if (pidHashSet.find(pidHash) != pidHashSet.end()) {\n        return false;\n      }\n    }\n    hostHashToPidHashes[hostHash].insert(pidHash);\n  }\n  return true;\n}\n\nstatic bool mscclCommCompatible(ncclComm_t comm) {\n  if (rcclParamMscclEnableSingleProcess()) {\n    // Single process usage enabled. No need to guard against multi-thread.\n    return true;\n  }\n  return allProcessHostsUnique(comm);\n}\n\n#ifdef ENABLE_MSCCLPP \nbool mscclppCommCompatible(ncclComm_t comm) {\n  return allProcessHostsUnique(comm);\n}\n#endif\n\nconst char *mscclFuncNames[] = {\n            \"mscclFuncReduce\",\n            \"mscclFuncBroadcast\",\n            \"mscclFuncAllReduce\",\n            \"mscclFuncReduceScatter\",\n            \"mscclFuncAllGather\",\n            \"mscclFuncSend\",\n            \"mscclFuncRecv\",\n            \"mscclFuncGather\",\n            \"mscclFuncScatter\",\n            \"mscclFuncAllToAll\",\n            \"mscclFuncAllToAllv\",\n          };\n\nstatic const char* mscclSchedulerPathEnv = \"MSCCL_SCHEDULER\";\nstatic const char* mscclSchedulerDefaultPath = \"libmsccl-scheduler.so\";\nstatic const char* mscclAlgoDirEnv = \"MSCCL_ALGO_DIR\";\nstatic const char* mscclAlgoDefaultDir = \"msccl-algorithms\";\nextern \"C\" bool mscclUnitTestMode() __attribute__((__weak__));\nstatic const char* mscclUnitTestAlgoDefaultDir = \"msccl-unit-test-algorithms\";\nstatic const char* mscclAlgoShareDirPath = \"../share/rccl/msccl-algorithms\";\nstatic const char* mscclUnitTestAlgoShareDirPath = \"../share/rccl/msccl-unit-test-algorithms\";\n\nstatic ncclResult_t mscclInternalSchedulerInit(ncclComm_t comm, int* numChannelsRequired) {\n  static thread_local bool mscclAlgoMetaLoaded = false;\n  mscclStatus& status = mscclGetStatus(comm);\n\n  int maxNchannels = *numChannelsRequired;\n  *numChannelsRequired = 0;\n  // Query numChannelsRequired from loaded algorithm metas\n  if (mscclAlgoMetaLoaded) {\n    for (auto& m : status.algoMetas) {\n      if (comm->nRanks == m.nRanks) {\n        if(m.nChannels <= maxNchannels) {\n          *numChannelsRequired = std::max(*numChannelsRequired, m.nChannels);\n        } else {\n          WARN(\"NCCL_MAX_NCHANNELS:%d is lesser than number of channels required by MSCCL:%d, so disabling MSCCL for %s between minBytes:%ld and maxBytes:%ld from file: %s\", \\\n                maxNchannels, m.nChannels, mscclFuncNames[m.func], m.minBytes, m.maxBytes, m.filePath.c_str());\n        }\n      }\n    }\n    return ncclSuccess;\n  }\n\n  const char* mscclAlgoDir = getenv(mscclAlgoDirEnv);\n  const char* mscclAlgoShareDir = nullptr;\n  std::string mscclAlgoDirStr;\n  std::string mscclAlgoShareDirStr;\n  const char *fullDirPath = nullptr;\n  if (mscclAlgoDir == nullptr) {\n    // Try to find default algorithm directory based on librccl.so path\n    Dl_info dl_info;\n    struct link_map *link_map_ptr = nullptr;\n    if (!dladdr1((void *)mscclInternalSchedulerInit, &dl_info, (void **)&link_map_ptr, RTLD_DL_LINKMAP)) {\n      WARN(\"MSCCL Internal Scheduler: dladdr1 failed\");\n      return ncclInvalidUsage;\n    }\n    std::string selfLibPath = link_map_ptr->l_name;\n    mscclAlgoDirStr = selfLibPath.substr(0, selfLibPath.find_last_of(\"/\\\\\") + 1);\n    mscclAlgoDirStr += (mscclUnitTestMode && mscclUnitTestMode()) ? mscclUnitTestAlgoDefaultDir : mscclAlgoDefaultDir;\n    mscclAlgoDir = mscclAlgoDirStr.c_str();\n    // Get share Directory Paths\n    mscclAlgoShareDirStr = selfLibPath.substr(0, selfLibPath.find_last_of(\"/\\\\\") + 1);\n    mscclAlgoShareDirStr += (mscclUnitTestMode && mscclUnitTestMode()) ? mscclUnitTestAlgoShareDirPath : mscclAlgoShareDirPath;\n    mscclAlgoShareDir = mscclAlgoShareDirStr.c_str();\n  }\n  struct dirent *entry = nullptr;\n  DIR *dp = nullptr;\n  dp = opendir(mscclAlgoDir);\n  if (dp == nullptr) {\n    //Try to find the algorithm directory under share folder based on librccl.so path\n    dp = opendir(mscclAlgoShareDir);\n    if (dp == nullptr) {\n      WARN(\"MSCCL Internal Scheduler:  Unable to find algorithm files in %s. Please ensure that RCCL has been installed properly\" , mscclAlgoShareDir);\n      return ncclInvalidUsage;\n    }\n    fullDirPath = mscclAlgoShareDir;\n  } else {\n    fullDirPath = mscclAlgoDir;\n  }\n  INFO(NCCL_INIT, \"Using MSCCL files from %s\", fullDirPath);\n  std::set<std::string> sortedFullPaths;\n  while ((entry = readdir(dp))) {\n    if (entry->d_type != DT_LNK && entry->d_type != DT_REG) {\n      continue;\n    }\n    std::string fullPath = fullDirPath;\n    fullPath += \"/\";\n    fullPath += entry->d_name;\n    sortedFullPaths.insert(fullPath);\n  }\n  for (auto& fullPath : sortedFullPaths) {\n    status.algoMetas.emplace_back();\n    NCCLCHECK(mscclGetAlgoMetaFromXmlFile(fullPath.c_str(), &(status.algoMetas.back())));\n    if (status.algoMetas.back().nRanks == comm->nRanks) {\n      if(status.algoMetas.back().nChannels <= maxNchannels) {\n        *numChannelsRequired = std::max(*numChannelsRequired, status.algoMetas.back().nChannels);\n      } else {\n        WARN(\"NCCL_MAX_NCHANNELS:%d is lesser than number of channels required by MSCCL:%d, so disabling MSCCL for %s between minBytes:%ld and maxBytes:%ld from file: %s\", \\\n\t      maxNchannels, status.algoMetas.back().nChannels, mscclFuncNames[status.algoMetas.back().func], status.algoMetas.back().minBytes, status.algoMetas.back().maxBytes, \\\n\t      status.algoMetas.back().filePath.c_str());\n        status.algoMetas.pop_back();\n      }\n    }\n  }\n  if (closedir(dp)) {\n    WARN(\"MSCCL Internal Scheduler: closedir failed, error %d\", errno);\n    return ncclInvalidUsage;\n  }\n  status.rankToAlgoHandles.resize(status.algoMetas.size());\n  mscclAlgoMetaLoaded = true;\n  return ncclSuccess;\n}\n\nncclResult_t mscclSchedulerInit(ncclComm_t comm, int* numChannelsRequired) {\n  comm->mscclCompatible = mscclCommCompatible(comm);\n  if (!comm->mscclCompatible) {\n    return ncclSuccess;\n  }\n\n  mscclStatus& status = mscclGetStatus(comm);\n  bool useInternalScheduler = false;\n\n  const char* mscclSchedulerPath = getenv(mscclSchedulerPathEnv);\n  if (mscclSchedulerPath) {\n    status.mscclSchedulerLib = dlopen(mscclSchedulerPath, RTLD_NOW | RTLD_LOCAL);\n  } else {\n    status.mscclSchedulerLib = dlopen(mscclSchedulerDefaultPath, RTLD_NOW | RTLD_LOCAL);\n  }\n  if (status.mscclSchedulerLib == nullptr) {\n    INFO(NCCL_INIT, \"MSCCL: No external scheduler found, using internal implementation\");\n    useInternalScheduler = true;\n  } else {\n    status.mscclSchedulerPtr = (mscclSchedulerInterface *)dlsym(status.mscclSchedulerLib, \"mscclScheduler\");\n    if (status.mscclSchedulerPtr == nullptr) {\n      INFO(NCCL_INIT, \"MSCCL: Failed to find mscclScheduler symbol, using internal implementation\");\n      useInternalScheduler = true;\n    }\n  }\n\n  if (useInternalScheduler) {\n    NCCLCHECK(mscclInternalSchedulerInit(comm, numChannelsRequired));\n  } else {\n    NCCLCHECK(status.mscclSchedulerPtr->init());\n    *numChannelsRequired = MAXCHANNELS;\n  }\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t mscclLoadAlgo(const char *mscclAlgoFilePath, mscclAlgoHandle_t *mscclAlgoHandle, const ncclComm_t comm) {\n  mscclStatus& status = mscclGetStatus(comm);\n\n  if (status.freeAlgoHandles.size() == 0) {\n    WARN(\"MSCCL: MSCCL_MAX_NUM_ALGOS (%d) limit reached\", MSCCL_MAX_NUM_ALGOS);\n    return ncclInvalidUsage;\n  }\n  *mscclAlgoHandle = *status.freeAlgoHandles.rbegin();\n  status.freeAlgoHandles.pop_back();\n\n  struct mscclAlgo* hostAlgo;\n  NCCLCHECK(ncclCalloc(&hostAlgo, 1));\n  NCCLCHECK(mscclGetAlgoFromXmlFile(mscclAlgoFilePath, hostAlgo, comm->rank));\n  status.hostAlgos[*mscclAlgoHandle] = hostAlgo;\n\n  struct mscclAlgo* devAlgo;\n  NCCLCHECK(ncclCudaMalloc(&devAlgo, 1));\n  CUDACHECK(hipMemcpy(devAlgo, hostAlgo, sizeof(struct mscclAlgo), hipMemcpyHostToDevice));\n  status.devAlgos[*mscclAlgoHandle] = devAlgo;\n\n  return ncclSuccess;\n}\n\nncclResult_t mscclInit(const ncclComm_t comm) {\n  {\n    mscclStatus& status = mscclGetStatus(comm);\n\n    // freeAlgoHandles and needsProxy are initialized globally once and before algorithm pre-processing and connection\n    if (!mscclInitialized(comm)) {\n      static std::mutex initMutex;\n      std::lock_guard<std::mutex> lock(initMutex);\n      status.freeAlgoHandles.resize(MSCCL_MAX_NUM_ALGOS);\n      for (int i = 0; i < MSCCL_MAX_NUM_ALGOS; i++) {\n        status.freeAlgoHandles[i] = MSCCL_MAX_NUM_ALGOS - i - 1;\n      }\n      status.needsProxy = false;\n    }\n\n    // Pre-process all algorithms for internal scheduler and for different comms.\n    // This is a temp fix to bypass the issue that stream cannot be synchronized during HIP graph capturing,\n    // should use dynamic loading approach after the issue is fixed.\n    if (comm->mscclCompatible && !status.mscclSchedulerPtr) {\n      for (size_t i = 0; i < status.algoMetas.size(); i++) {\n        auto &m = status.algoMetas[i];\n        if (m.nRanks == comm->nRanks) {\n          // Load algorithms\n          mscclAlgoHandle_t mscclAlgoHandle;\n          {\n            static std::mutex loadAlgoMutex;\n            std::lock_guard<std::mutex> lock(loadAlgoMutex);\n            if (status.rankToAlgoHandles[i].find(comm->rank) == status.rankToAlgoHandles[i].end()){\n              NCCLCHECK(mscclLoadAlgo(m.filePath.c_str(), &(status.rankToAlgoHandles[i][comm->rank]), comm));\n            }\n            // Connect algorithms\n            mscclAlgoHandle = status.rankToAlgoHandles[i][comm->rank];\n          }\n          if (status.connectedAlgos[comm].find(mscclAlgoHandle) == status.connectedAlgos[comm].end()) {\n            NCCLCHECK(mscclSetupConnections(status.hostAlgos[mscclAlgoHandle], comm));\n            status.connectedAlgos[comm].insert(mscclAlgoHandle);\n          }\n        }\n      }\n    }\n    {\n      static std::mutex mscclInitMutex;\n      std::lock_guard<std::mutex> lock(mscclInitMutex);\n      if (mscclInitialized(comm)){\n        return ncclSuccess;\n      }\n\n      status.workIndex = 1;\n      NCCLCHECK(ncclCudaCalloc(&status.syncFlags, MSCCL_MAX_NUM_THREAD_BLOCKS));\n      status.lastStream = nullptr;\n      NCCLCHECK(mscclInitWorkFifoStatus(&(status.defaultWorkFifoStatus)));\n\n      mscclSetInitialized(comm);\n    }\n  }\n\n  INFO(NCCL_INIT, \"MSCCL: Initialization finished, localSize %ld\", mscclKernMaxLocalSize());\n  return ncclSuccess;\n}\n\nncclResult_t mscclGroupStart() {\n  mscclThreadLocalStatus& threadLocalStatus = mscclGetThreadLocalStatus();\n  threadLocalStatus.groupDepth++;\n  if (threadLocalStatus.groupStatus == mscclNoGroup) {\n    threadLocalStatus.groupStatus = mscclGroupSupportedOp;\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t mscclInternalSchedulerSelectAlgo(const ncclComm_t comm, struct mscclSchedulerParam* param) {\n  mscclStatus& status = mscclGetStatus(comm);\n  param->scheduled = false;\n\n  // Current MSCCL doesn't support pre/post op\n  if (param->op >= ncclAvg) {\n    return ncclSuccess;\n  }\n\n  // Whether the algorithm is in-place\n  bool isInPlace = false;\n  if (param->func == mscclFuncReduce ||\n      param->func == mscclFuncBroadcast ||\n      param->func == mscclFuncAllReduce ||\n      param->func == mscclFuncAllToAll ||\n      param->func == mscclFuncAllToAllv) {\n    isInPlace = param->sendBuff == param->recvBuff;\n  } else if (param->func == mscclFuncAllGather ||\n             param->func == mscclFuncGather) {\n    isInPlace = (char*)param->sendBuff == (char*)param->recvBuff + param->rank * param->count * ncclTypeSize(param->dataType);\n  } else if (param->func == mscclFuncReduceScatter ||\n             param->func == mscclFuncScatter) {\n    isInPlace = (char*)param->recvBuff == (char*)param->sendBuff + param->rank * param->count * ncclTypeSize(param->dataType);\n  }\n\n  // Search suitable algorithms\n  for (size_t i = 0; i < status.algoMetas.size(); i++) {\n    auto &m = status.algoMetas[i];\n    size_t nBytes = param->count * ncclTypeSize(param->dataType) * m.sizeMultiplier;\n    bool msgSizeIsValid =\n      param->count > 0 && ((param->count * m.sizeMultiplier) % m.nChunksPerLoop) == 0 &&\n      nBytes >= m.minBytes && (m.maxBytes == 0 || nBytes <= m.maxBytes);\n    if (msgSizeIsValid &&\n        m.nRanks == param->nRanks &&\n        m.func == param->func &&\n        (isInPlace ? m.inPlace : m.outOfPlace)) {\n      param->handle = status.rankToAlgoHandles[i][param->rank];\n      param->scheduled = true;\n      return ncclSuccess;\n    }\n  }\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t mscclSchedulerSelectAlgo(struct mscclSavedSchedulerParam* param) {\n  mscclStatus& status = mscclGetStatus(param->comm);\n  if (status.mscclSchedulerPtr) {\n    NCCLCHECK(status.mscclSchedulerPtr->selectAlgo(&(param->p)));\n  } else {\n    // Disable MSCCL algorithms if machine type is not matching\n    if (param->comm->topo->mscclEnabled || mscclForceEnabled()) {\n      NCCLCHECK(mscclInternalSchedulerSelectAlgo(param->comm, &(param->p)));\n    } else {\n      param->p.scheduled = false;\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t mscclSetSavedSchedulerParam(\n  const void* sendBuff, const size_t sendCounts[], const size_t sDisPls[],\n  void* recvBuff, const size_t recvCounts[], const size_t rDisPls[],\n  size_t count, ncclDataType_t dataType, int root, int peer, ncclRedOp_t op,\n  mscclFunc_t func, ncclComm_t comm, hipStream_t stream,\n  struct mscclSavedSchedulerParam* param) {\n  param->p.sendBuff = sendBuff;\n  param->p.sendCounts = sendCounts;\n  param->p.sDisPls = sDisPls;\n  param->p.recvBuff = recvBuff;\n  param->p.recvCounts = recvCounts;\n  param->p.rDisPls = rDisPls;\n  param->p.count = count;\n  param->p.dataType = dataType;\n  param->p.root = root;\n  param->p.peer = peer;\n  param->p.op = op;\n  param->p.func = func;\n  param->p.rank = comm->rank;\n  param->p.nRanks = comm->nRanks;\n  param->comm = comm;\n  param->stream = stream;\n  param->p.opCount = comm->opCount;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t mscclSaveCountsAndDispls(struct mscclSavedSchedulerParam* param) {\n  if (param->p.sendCounts) {\n    param->savedSendCounts.assign(param->p.sendCounts, param->p.sendCounts + param->p.nRanks);\n    param->p.sendCounts = param->savedSendCounts.data();\n    param->savedSDisPls.assign(param->p.sDisPls, param->p.sDisPls + param->p.nRanks);\n    param->p.sDisPls = param->savedSDisPls.data();\n    param->savedRecvCounts.assign(param->p.recvCounts, param->p.recvCounts + param->p.nRanks);\n    param->p.recvCounts = param->savedRecvCounts.data();\n    param->savedRDisPls.assign(param->p.rDisPls, param->p.rDisPls + param->p.nRanks);\n    param->p.rDisPls = param->savedRDisPls.data();\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t _mscclRunAlgo(\n    const void* sendBuff, const size_t sendCounts[], const size_t sDisPls[],\n    void* recvBuff, const size_t recvCounts[], const size_t rDisPls[],\n    size_t count, ncclDataType_t dataType, int root, int peer, ncclRedOp_t op,\n    mscclAlgoHandle_t mscclAlgoHandle, ncclComm_t comm, hipStream_t stream) {\n  mscclStatus& status = mscclGetStatus(comm);\n  struct mscclAlgo* hostAlgo = status.hostAlgos[mscclAlgoHandle];\n  struct mscclAlgo* devAlgo = status.devAlgos[mscclAlgoHandle];\n\n  // NCCL adds a lot of guarantees that target device is getting used\n  // in its group management code, which we entirely skip when MSCCL is used\n  // Therefore, in single thread multiGPU mode\n  // setting the device is critical to be sure \n  // communication is done on the intended device\n\n  CUDACHECK(hipSetDevice(comm->cudaDev)); \n\n  NCCLCHECK(mscclGetCaptureStatus(comm, stream));\n\n  NCCLCHECK(mscclSetupCount(hostAlgo, comm, count, dataType));\n\n  NCCLCHECK(mscclSetupScratch(hostAlgo, stream));\n\n  NCCLCHECK(mscclSetupSyncFlags(comm, stream));\n\n  NCCLCHECK(mscclSetupProxy(hostAlgo, comm, stream));\n\n  NCCLCHECK(mscclSetupKernel(sendBuff, recvBuff, count, dataType, op, hostAlgo, devAlgo, comm, stream));\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t mscclRunSavedParams() {\n  mscclThreadLocalStatus& threadLocalStatus = mscclGetThreadLocalStatus();\n  for (auto& param : threadLocalStatus.savedSchedulerParams) {\n    INFO(NCCL_COLL,\"%s: opCount %lx sendbuff %p recvbuff %p count %zi datatype %d op %d root %d comm %p [nranks=%d] stream %p task %d globalrank %d\",\n    mscclFuncNames[param.p.func], param.p.opCount, param.p.sendBuff, param.p.recvBuff, param.p.count,\n    param.p.dataType, param.p.op, param.p.root, param.comm, param.p.nRanks, param.stream, param.comm->planner.nTasksP2p + param.comm->planner.nTasksColl, param.comm->localRankToRank[param.comm->localRank]);\n\n    NCCLCHECK(_mscclRunAlgo(\n      param.p.sendBuff, param.p.sendCounts, param.p.sDisPls,\n      param.p.recvBuff, param.p.recvCounts, param.p.rDisPls,\n      param.p.count, param.p.dataType, param.p.root, param.p.peer, param.p.op, param.p.handle, param.comm, param.stream));\n  }\n  threadLocalStatus.savedSchedulerParams.clear();\n  return ncclSuccess;\n}\n\nstatic ncclResult_t mscclFallBackSavedParams() {\n  mscclThreadLocalStatus& threadLocalStatus = mscclGetThreadLocalStatus();\n  mscclSetIsCallerFlag();\n  for (auto& param : threadLocalStatus.savedSchedulerParams) {\n    switch (param.p.func) {\n      case mscclFuncReduce:\n        NCCLCHECK(ncclReduce(param.p.sendBuff, param.p.recvBuff, param.p.count, param.p.dataType,\n          param.p.op, param.p.root, param.comm, param.stream));\n        break;\n      case mscclFuncBroadcast:\n        NCCLCHECK(ncclBroadcast(param.p.sendBuff, param.p.recvBuff, param.p.count, param.p.dataType,\n          param.p.root, param.comm, param.stream));\n        break;\n      case mscclFuncAllReduce:\n        NCCLCHECK(ncclAllReduce(param.p.sendBuff, param.p.recvBuff, param.p.count, param.p.dataType,\n          param.p.op, param.comm, param.stream));\n        break;\n      case mscclFuncReduceScatter:\n        NCCLCHECK(ncclReduceScatter(param.p.sendBuff, param.p.recvBuff, param.p.count, param.p.dataType,\n          param.p.op, param.comm, param.stream));\n        break;\n      case mscclFuncAllGather:\n        NCCLCHECK(ncclAllGather(param.p.sendBuff, param.p.recvBuff, param.p.count, param.p.dataType,\n          param.comm, param.stream));\n        break;\n      case mscclFuncSend:\n        NCCLCHECK(ncclSend(param.p.sendBuff, param.p.count, param.p.dataType,\n          param.p.peer, param.comm, param.stream));\n        break;\n      case mscclFuncRecv:\n        NCCLCHECK(ncclRecv(param.p.recvBuff, param.p.count, param.p.dataType,\n          param.p.peer, param.comm, param.stream));\n        break;\n      case mscclFuncGather:\n        NCCLCHECK(ncclGather(param.p.sendBuff, param.p.recvBuff, param.p.count, param.p.dataType,\n          param.p.root, param.comm, param.stream));\n        break;\n      case mscclFuncScatter:\n        NCCLCHECK(ncclScatter(param.p.sendBuff, param.p.recvBuff, param.p.count, param.p.dataType,\n          param.p.root, param.comm, param.stream));\n        break;\n      case mscclFuncAllToAll:\n        NCCLCHECK(ncclAlltoAll(param.p.sendBuff, param.p.recvBuff, param.p.count, param.p.dataType,\n          param.comm, param.stream));\n        break;\n      case mscclFuncAllToAllv:\n        NCCLCHECK(ncclAlltoAllv(\n          param.p.sendBuff, param.p.sendCounts, param.p.sDisPls,\n          param.p.recvBuff, param.p.recvCounts, param.p.rDisPls,\n          param.p.dataType, param.comm, param.stream));\n        break;\n      default:\n        WARN(\"Invalid MSCCL function type in saved parameter\");\n        return ncclInvalidUsage;\n    }\n  }\n  mscclClearIsCallerFlag();\n  threadLocalStatus.savedSchedulerParams.clear();\n  return ncclSuccess;\n}\n\n#ifdef ENABLE_MSCCLPP\nstatic inline bool isMscclppAllReduceSupported(ncclDataType_t dataType, ncclRedOp_t op) {\n  switch (dataType) {\n  case ncclFloat16:\n  case ncclInt32:\n  case ncclUint32:\n  case ncclFloat32:\n#ifdef RCCL_BFLOAT16\n  case ncclBfloat16:\n#endif\n    break;\n  default:\n    return false;\n  }\n\n  return (op == ncclSum);\n}\n\nstatic inline bool isMscclppAllGatherSupported(ncclDataType_t dataType) {\n  switch (dataType) {\n#ifdef RCCL_FLOAT8\n  case ncclFloat8e4m3:\n  case ncclFloat8e5m2:\n    return false;\n#endif\n  default:\n    return true;\n  }\n}\n#endif\n\nncclResult_t mscclEnqueueCheck(\n    const void* sendBuff, const size_t sendCounts[], const size_t sDisPls[],\n    void* recvBuff, const size_t recvCounts[], const size_t rDisPls[],\n    size_t count, ncclDataType_t dataType, int root, int peer, ncclRedOp_t op,\n    mscclFunc_t func, ncclComm_t comm, hipStream_t stream) {\n  mscclThreadLocalStatus& threadLocalStatus = mscclGetThreadLocalStatus();\n\n  threadLocalStatus.savedSchedulerParams.push_back({});\n  NCCLCHECK(mscclSetSavedSchedulerParam(\n    sendBuff, sendCounts, sDisPls, recvBuff, recvCounts, rDisPls,\n    count, dataType, root, peer, op, func, comm, stream,\n    &threadLocalStatus.savedSchedulerParams.back()));\n\n  size_t nBytes = count * ncclTypeSize(dataType);\n\n  switch (threadLocalStatus.groupStatus) {\n    case mscclNoGroup:\n#ifdef ENABLE_MSCCLPP\n      if (comm->mscclppCompatible) {\n        INFO(NCCL_COLL, \"MSCCL++: reading capture status\");\n        NCCLCHECK(mscclGetCaptureStatus(comm, stream));\n\n        const bool sendBuffRegistered = mscclpp_BuffIsRegistered(comm->mscclpp_comm, sendBuff); \n        const bool recvBuffRegistered = mscclpp_BuffIsRegistered(comm->mscclpp_comm, recvBuff);\n        const bool graphMode = threadLocalStatus.captureStatus != mscclNoCapture;\n        const bool buffsRegistered = sendBuffRegistered && recvBuffRegistered;\n\n        /* check if one rank per GPU and graph mode is enabled */\n        if ((graphMode || buffsRegistered || comm->mscclppForceEnable) && comm->mscclCompatible && nBytes > 0 && (nBytes & 31) == 0) {\n          bool isManagedBuffer = false;\n          if (sendBuff) CUDACHECK(hipPointerGetAttribute(&isManagedBuffer, HIP_POINTER_ATTRIBUTE_IS_MANAGED, const_cast<void*>(sendBuff)));\n          if (!isManagedBuffer && recvBuff) CUDACHECK(hipPointerGetAttribute(&isManagedBuffer, HIP_POINTER_ATTRIBUTE_IS_MANAGED, const_cast<void*>(recvBuff)));\n\n          if (isManagedBuffer) { /* MSCCL++ not enabled for managed memory buffers */ }\n          else if (func == mscclFuncAllReduce && nBytes <= comm->mscclpp_threshold && isMscclppAllReduceSupported(dataType, op)) {\n            INFO(NCCL_COLL,\"%s: opCount %lx sendbuff %p recvbuff %p count %zi datatype %d op %d root %d comm %p [nranks=%d] stream %p graphMode %d ubr %d\",\n              \"mscclpp_ncclAllReduce\", comm->opCount, sendBuff, recvBuff, count, dataType, op, root, comm, comm->nRanks, stream, \n\t      \tgraphMode, buffsRegistered);\n            NCCLCHECK(mscclpp_ncclAllReduce(sendBuff, recvBuff, count, dataType, op, comm->mscclpp_comm, stream));\n            threadLocalStatus.savedSchedulerParams.clear();\n            break;\n          }\n          else if (func == mscclFuncAllGather && nBytes * comm->nRanks <= comm->mscclpp_threshold && isMscclppAllGatherSupported(dataType)) {\n            INFO(NCCL_COLL,\"%s: opCount %lx sendbuff %p recvbuff %p count %zi datatype %d op %d root %d comm %p [nranks=%d] stream %p graphMode %d ubr %d\",\n              \"mscclpp_ncclAllGather\", comm->opCount, sendBuff, recvBuff, count, dataType, op, root, comm, comm->nRanks, stream, \n\t      \tgraphMode, buffsRegistered);\n            NCCLCHECK(mscclpp_ncclAllGather(sendBuff, recvBuff, count, dataType, comm->mscclpp_comm, stream));\n            threadLocalStatus.savedSchedulerParams.clear();\n            break;\n          }\n        }\n      }\n#endif\n      if (comm->mscclCompatible) {\n          NCCLCHECK(mscclSchedulerSelectAlgo(&threadLocalStatus.savedSchedulerParams.back()));\n          if (threadLocalStatus.savedSchedulerParams.back().p.scheduled) {\n            NCCLCHECK(mscclRunSavedParams());\n            break;\n          }\n      }\n      NCCLCHECK(mscclFallBackSavedParams());\n      break;\n    case mscclGroupSupportedOp:\n#ifdef ENABLE_MSCCLPP\n      if (comm->mscclppCompatible) {\n\tINFO(NCCL_COLL, \"MSCCL++: reading capture status\");\n        NCCLCHECK(mscclGetCaptureStatus(comm, stream));\n\n        const bool sendBuffRegistered = mscclpp_BuffIsRegistered(comm->mscclpp_comm, sendBuff); \n        const bool recvBuffRegistered = mscclpp_BuffIsRegistered(comm->mscclpp_comm, recvBuff);\n        const bool graphMode = threadLocalStatus.captureStatus != mscclNoCapture;\n        const bool buffsRegistered = sendBuffRegistered && recvBuffRegistered;\n\n        /* check if one rank per GPU and graph mode is enabled */\n        if ((graphMode || buffsRegistered || comm->mscclppForceEnable) && comm->mscclCompatible && nBytes > 0 && (nBytes & 31) == 0) {\n          bool isManagedBuffer = false;\n          if (sendBuff) CUDACHECK(hipPointerGetAttribute(&isManagedBuffer, HIP_POINTER_ATTRIBUTE_IS_MANAGED, const_cast<void*>(sendBuff)));\n          if (!isManagedBuffer && recvBuff) CUDACHECK(hipPointerGetAttribute(&isManagedBuffer, HIP_POINTER_ATTRIBUTE_IS_MANAGED, const_cast<void*>(recvBuff)));\n\n          if (isManagedBuffer) { /* MSCCL++ not enabled for managed memory buffers */ }\n          else if (func == mscclFuncAllReduce && nBytes <= comm->mscclpp_threshold && isMscclppAllReduceSupported(dataType, op)) {\n            INFO(NCCL_COLL,\"%s: opCount %lx sendbuff %p recvbuff %p count %zi datatype %d op %d root %d comm %p [nranks=%d] stream %p graphMode %d ubr %d\",\n              \"mscclpp_ncclAllReduce\", comm->opCount, sendBuff, recvBuff, count, dataType, op, root, comm, comm->nRanks, stream, \n\t      \tgraphMode, buffsRegistered);\n            NCCLCHECK(mscclpp_ncclAllReduce(sendBuff, recvBuff, count, dataType, op, comm->mscclpp_comm, stream));\n            threadLocalStatus.savedSchedulerParams.clear();\n            break;\n          }\n          else if (func == mscclFuncAllGather && nBytes * comm->nRanks <= comm->mscclpp_threshold && isMscclppAllGatherSupported(dataType)) {\n            INFO(NCCL_COLL,\"%s: opCount %lx sendbuff %p recvbuff %p count %zi datatype %d op %d root %d comm %p [nranks=%d] stream %p graphMode %d ubr %d\" ,\n              \"mscclpp_ncclAllGather\", comm->opCount, sendBuff, recvBuff, count, dataType, op, root, comm, comm->nRanks, stream, \n\t      \tgraphMode, buffsRegistered);\n            NCCLCHECK(mscclpp_ncclAllGather(sendBuff, recvBuff, count, dataType, comm->mscclpp_comm, stream));\n            threadLocalStatus.savedSchedulerParams.clear();\n            break;\n          }\n        }\n      }\n#endif\n      if (comm->mscclCompatible) {\n          NCCLCHECK(mscclSchedulerSelectAlgo(&threadLocalStatus.savedSchedulerParams.back()));\n          if (threadLocalStatus.savedSchedulerParams.back().p.scheduled) {\n            // Only save counts and displs when there is suitable MSCCL algorithm for this\n            NCCLCHECK(mscclSaveCountsAndDispls(&threadLocalStatus.savedSchedulerParams.back()));\n            break;\n          }\n        }\n      threadLocalStatus.groupStatus = mscclGroupUnsupportedOp;\n      NCCLCHECK(mscclFallBackSavedParams());\n      break;\n    case mscclGroupUnsupportedOp:\n      NCCLCHECK(mscclFallBackSavedParams());\n      break;\n    default:\n      return ncclInvalidUsage;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t mscclGroupEnd() {\n  mscclThreadLocalStatus& threadLocalStatus = mscclGetThreadLocalStatus();\n  threadLocalStatus.groupDepth--;\n  if (threadLocalStatus.groupDepth == 0) {\n    if (threadLocalStatus.groupStatus == mscclGroupSupportedOp) {\n      NCCLCHECK(mscclRunSavedParams());\n    }\n    threadLocalStatus.groupStatus = mscclNoGroup;\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t mscclInternalUnloadAlgo(const ncclComm_t comm, mscclAlgoHandle_t mscclAlgoHandle) {\n  mscclStatus& status = mscclGetStatus(comm);\n\n  free(status.hostAlgos[mscclAlgoHandle]);\n  status.hostAlgos.erase(mscclAlgoHandle);\n\n  NCCLCHECK(ncclCudaFree(status.devAlgos[mscclAlgoHandle]));\n  status.devAlgos.erase(mscclAlgoHandle);\n\n  status.freeAlgoHandles.push_back(mscclAlgoHandle);\n\n  for (auto &s : status.connectedAlgos) {\n    s.second.erase(mscclAlgoHandle);\n  }\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t mscclInternalSchedulerTeardown(const ncclComm_t comm) {\n  ncclResult_t ret = ncclSuccess, tmpRet = ncclSuccess;\n  mscclStatus& status = mscclGetStatus(comm);\n  for (auto &m : status.rankToAlgoHandles) {\n    for (auto &p : m) {\n      tmpRet = mscclInternalUnloadAlgo(comm, p.second);\n      if (ret == ncclSuccess) {\n        ret = tmpRet;\n      }\n    }\n  }\n  status.algoMetas.clear();\n  status.rankToAlgoHandles.clear();\n  return ret;\n}\n\nncclResult_t mscclTeardown(const ncclComm_t comm) {\n  {\n    if (!mscclInitialized(comm)) {\n      mscclRemoveRank(comm);\n      return ncclSuccess;\n    }\n    mscclStatus& status = mscclGetStatus(comm);\n    for (auto &p : status.hostAlgos) {\n      free(p.second);\n      status.freeAlgoHandles.push_back(p.first);\n    }\n    for (auto &p : status.devAlgos) {\n      CUDACHECK(hipFree(p.second));\n    }\n    CUDACHECK(hipFree(status.syncFlags));\n    status.hostAlgos.clear();\n    status.devAlgos.clear();\n    status.freeAlgoHandles.clear();\n    for (auto &p : status.scratchBuffers) {\n      CUDACHECK(hipFree(p.second));\n    }\n    status.scratchBuffers.clear();\n    status.connectedAlgos.clear();\n    if (status.mscclSchedulerPtr) {\n      NCCLCHECK(status.mscclSchedulerPtr->teardown());\n      status.mscclSchedulerPtr = nullptr;\n      dlclose(status.mscclSchedulerLib);\n      status.mscclSchedulerLib = nullptr;\n    } else {\n      NCCLCHECK(mscclInternalSchedulerTeardown(comm));\n    }\n    NCCLCHECK(mscclDestroyWorkFifoStatus(&(status.defaultWorkFifoStatus)));\n    for (auto &p : status.graphWorkFifoStatus) {\n      NCCLCHECK(mscclDestroyWorkFifoStatus(&(p.second)));\n    }\n    mscclSetInitialized(comm, false);\n    mscclRemoveRank(comm);\n  }\n\n  INFO(NCCL_INIT, \"MSCCL: Teardown finished\");\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/misc/msccl/msccl_parser.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2019-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <unistd.h>\n#include <fcntl.h>\n#include <ctype.h>\n#include \"core.h\"\n#include \"collectives.h\"\n#include \"msccl/msccl_parser.h\"\n\nncclResult_t mscclXmlGetChar(FILE* file, char* c) {\n  if (fread(c, 1, 1, file) == 0) {\n    WARN(\"XML Parse : Unexpected EOF\");\n    return ncclInternalError;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t mscclXmlGetValue(FILE* file, char* value, char* last) {\n  char c;\n  NCCLCHECK(mscclXmlGetChar(file, &c));\n  if (c != '\"' && c != '\\'') {\n#if INT_OK\n    int o = 0;\n    do {\n      value[o++] = c;\n      NCCLCHECK(mscclXmlGetChar(file, &c));\n    } while (c >= '0' && c <= '9');\n    value[o] = '\\0';\n    *last = c;\n    return ncclSuccess;\n#else\n    WARN(\"XML Parse : Expected (double) quote.\");\n    return ncclInternalError;\n#endif\n  }\n  int o = 0;\n  do {\n    NCCLCHECK(mscclXmlGetChar(file, &c));\n    value[o++] = c;\n  } while (c != '\"');\n  value[o-1] = '\\0';\n  NCCLCHECK(mscclXmlGetChar(file, last));\n  return ncclSuccess;\n}\n\nncclResult_t mscclXmlGetToken(FILE* file, char* name, char* value, char* last) {\n  char c;\n  char* ptr = name;\n  int o = 0;\n  do {\n    NCCLCHECK(mscclXmlGetChar(file, &c));\n    if (c == '=') {\n      ptr[o] = '\\0';\n      if (value == NULL) {\n        WARN(\"XML Parse : Unexpected value with name %s\", ptr);\n        return ncclInternalError;\n      }\n      return mscclXmlGetValue(file, value, last);\n    }\n    ptr[o] = c;\n    if (o == MAX_STR_LEN-1) {\n      ptr[o] = '\\0';\n      WARN(\"Error : name %s too long (max %d)\", ptr, MAX_STR_LEN);\n      return ncclInternalError;\n    }\n    o++;\n  } while (c != ' ' && c != '>' && c != '/' && c != '\\n' && c != '\\r');\n  ptr[o-1] = '\\0';\n  *last = c;\n  return ncclSuccess;\n}\n\n// Shift the 3-chars string by one char and append c at the end\n#define SHIFT_APPEND(s, c) do { s[0]=s[1]; s[1]=s[2]; s[2]=c; } while(0)\nncclResult_t mscclXmlSkipComment(FILE* file, char* start, char next) {\n  // Start from something neutral with \\0 at the end.\n  char end[4] = \"...\";\n\n  // Inject all trailing chars from previous reads. We don't need\n  // to check for --> here because there cannot be a > in the name.\n  for (int i=0; i<strlen(start); i++) SHIFT_APPEND(end, start[i]);\n  SHIFT_APPEND(end, next);\n\n  // Stop when we find \"-->\"\n  while (strcmp(end, \"-->\") != 0) {\n    int c;\n    if (fread(&c, 1, 1, file) != 1) {\n      WARN(\"XML Parse error : unterminated comment\");\n      return ncclInternalError;\n    }\n    SHIFT_APPEND(end, c);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t mscclXmlGetNode(FILE* file, struct mscclXmlNode* node) {\n  node->type = NODE_TYPE_NONE;\n  char c = ' ';\n  while (c == ' ' || c == '\\n' || c == '\\r') {\n    if (fread(&c, 1, 1, file) == 0) return ncclSuccess;\n  }\n  if (c != '<') {\n    WARN(\"XML Parse error : expecting '<', got '%c'\", c);\n    return ncclInternalError;\n  }\n  // Read XML element name\n  NCCLCHECK(mscclXmlGetToken(file, node->name, NULL, &c));\n\n  // Check for comments\n  if (strncmp(node->name, \"!--\", 3) == 0) {\n    NCCLCHECK(mscclXmlSkipComment(file, node->name+3, c));\n    return mscclXmlGetNode(file, node);\n  }\n\n  // Check for closing tag\n  if (node->name[0] == '\\0' && c == '/') {\n    node->type = NODE_TYPE_CLOSE;\n    // Re-read the name, we got '/' in the first call\n    NCCLCHECK(mscclXmlGetToken(file, node->name, NULL, &c));\n    if (c != '>') {\n      WARN(\"XML Parse error : unexpected trailing %c in closing tag %s\", c, node->name);\n      return ncclInternalError;\n    }\n    return ncclSuccess;\n  }\n\n  node->type = NODE_TYPE_OPEN;\n\n  // Get Attributes\n  int a = 0;\n  while (c == ' ') {\n    NCCLCHECK(mscclXmlGetToken(file, node->attrs[a].key, node->attrs[a].value, &c));\n    if (a == MAX_ATTR_COUNT) {\n      INFO(NCCL_GRAPH, \"XML Parse : Ignoring extra attributes (max %d)\", MAX_ATTR_COUNT);\n      // Actually we need to still consume the extra attributes so we have an extra one.\n    } else a++;\n  }\n  node->nAttrs = a;\n  if (c == '/') {\n    node->type = NODE_TYPE_SINGLE;\n    char str[MAX_STR_LEN];\n    NCCLCHECK(mscclXmlGetToken(file, str, NULL, &c));\n  }\n  if (c != '>') {\n    WARN(\"XML Parse : expected >, got '%c'\", c);\n    return ncclInternalError;\n  }\n  return ncclSuccess;\n}\n\ntypedef ncclResult_t (*mscclXmlHandlerFunc_t)(FILE*, struct mscclXml*, struct mscclXmlNode*);\n\nstruct mscclXmlHandler {\n  const char * name;\n  mscclXmlHandlerFunc_t func;\n};\n\nncclResult_t mscclXmlLoadSub(FILE* file, struct mscclXml* xml, struct mscclXmlNode* head, struct mscclXmlHandler handlers[], int nHandlers) {\n  if (head && head->type == NODE_TYPE_SINGLE) return ncclSuccess;\n  while (1) {\n    if (xml->maxIndex == MAX_NODES) {\n      WARN(\"Error : XML parser is limited to 1024 nodes\");\n      return ncclInternalError;\n    }\n    struct mscclXmlNode* node = xml->nodes+xml->maxIndex;\n    memset(node, 0, sizeof(struct mscclXmlNode));\n    NCCLCHECK(mscclXmlGetNode(file, node));\n    if (node->type == NODE_TYPE_NONE) {\n      if (head) {\n        WARN(\"XML Parse : unterminated %s\", head->name);\n        return ncclInternalError;\n      } else {\n        // All done\n        return ncclSuccess;\n      }\n    }\n    if (head && node->type == NODE_TYPE_CLOSE) {\n      if (strcmp(node->name, head->name) != 0) {\n        WARN(\"XML Mismatch : %s / %s\", head->name, node->name);\n        return ncclInternalError;\n      }\n      return ncclSuccess;\n    }\n    int found = 0;\n    for (int h=0; h<nHandlers; h++) {\n      if (strcmp(node->name, handlers[h].name) == 0) {\n        if (head) head->subs[head->nSubs++] = node;\n        node->parent = head;\n        node->nSubs = 0;\n        xml->maxIndex++;\n        NCCLCHECK(handlers[h].func(file, xml, node));\n        found = 1;\n        break;\n      }\n    }\n    if (!found) {\n      if (nHandlers) INFO(NCCL_GRAPH, \"Ignoring element %s\", node->name);\n      NCCLCHECK(mscclXmlLoadSub(file, xml, node, NULL, 0));\n    }\n  }\n}\n\nncclResult_t mscclAlgoXmlStep(FILE* file, struct mscclXml* xml, struct mscclXmlNode* head) {\n  NCCLCHECK(mscclXmlLoadSub(file, xml, head, NULL, 1));\n  return ncclSuccess;\n}\n\nncclResult_t mscclAlgoXmlThreadBlock(FILE* file, struct mscclXml* xmlGraph, struct mscclXmlNode* head) {\n  struct mscclXmlHandler handlers[] = { { \"step\", mscclAlgoXmlStep } };\n  NCCLCHECK(mscclXmlLoadSub(file, xmlGraph, head, handlers, 1));\n  return ncclSuccess;\n}\n\nstatic int currentRank;\n\nncclResult_t mscclAlgoXmlGpu(FILE* file, struct mscclXml* xmlGraph, struct mscclXmlNode* head) {\n  int thisrank;\n  NCCLCHECK(mscclXmlGetAttrInt(head, \"id\", &thisrank));\n  if (thisrank == currentRank) {\n    struct mscclXmlHandler handlers[] = { { \"tb\", mscclAlgoXmlThreadBlock } };\n    NCCLCHECK(mscclXmlLoadSub(file, xmlGraph, head, handlers, 1));\n  } else {\n    NCCLCHECK(mscclXmlLoadSub(file, xmlGraph, head, NULL, 0));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t mscclAlgoXmlAlgo(FILE* file, struct mscclXml* xmlGraph, struct mscclXmlNode* head) {\n  struct mscclXmlHandler handlers[] = { { \"gpu\", mscclAlgoXmlGpu } };\n  NCCLCHECK(mscclXmlLoadSub(file, xmlGraph, head, handlers, 1));\n  return ncclSuccess;\n}\n\nncclResult_t mscclAlgoXmlLoad(const char* xmlFilePath, struct mscclXml* xml, int rank) {\n  currentRank = rank;\n  FILE* file = fopen(xmlFilePath, \"r\");\n  if (file == NULL) {\n    WARN(\"Could not open MSCCL XML algorithm file %s : %s\", xmlFilePath, strerror(errno));\n    return ncclSystemError;\n  }\n  struct mscclXmlHandler handlers[] = { { \"algo\", mscclAlgoXmlAlgo } };\n  xml->maxIndex = 0;\n  NCCLCHECK(mscclXmlLoadSub(file, xml, NULL, handlers, 1));\n  fclose(file);\n  return ncclSuccess;\n}\n\nncclResult_t mscclGetBufferType(const char* str, uint8_t* output) {\n  if (strcmp(str, \"i\") == 0) {\n    *output = MSCCL_INPUT_BUFFER;\n  } else if (strcmp(str, \"o\") == 0) {\n    *output = MSCCL_OUTPUT_BUFFER;\n  } else if (strcmp(str, \"s\") == 0) {\n    *output = MSCCL_SCRATCH_BUFFER;\n  } else {\n    WARN(\"type of buffer is not supported: %s\", str);\n    return ncclInvalidUsage;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t mscclCheckBufferBounds(int bufferType, int offset, int nInputChunks, int nOutputChunks, int nScratchChunks) {\n  if (bufferType == MSCCL_INPUT_BUFFER) {\n    if (offset < -1 || offset >= nInputChunks) {\n      WARN(\"Incorrect offset set for input buffer: offset: %d maximum allowed: %d\", offset, nInputChunks);\n      return ncclInvalidUsage;\n    }\n  } else if (bufferType == MSCCL_OUTPUT_BUFFER) {\n    if (offset < -1 || offset >= nOutputChunks) {\n      WARN(\"Incorrect offset set for output buffer: offset: %d maximum allowed: %d\", offset, nOutputChunks);\n      return ncclInvalidUsage;\n    }\n  } else if (bufferType == MSCCL_SCRATCH_BUFFER) {\n    if (offset < -1 || offset >= nScratchChunks) {\n      WARN(\"Incorrect offset set for scratch buffer: offset: %d maximum allowed: %d\", offset, nScratchChunks);\n      return ncclInvalidUsage;\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t mscclProtocolStrToId(const char *protocol, int *protocolId) {\n  if (strcmp(protocol, \"Simple\") == 0) {\n    *protocolId = NCCL_PROTO_SIMPLE;\n  } else if (strcmp(protocol, \"LL128\") == 0) {\n    *protocolId = NCCL_PROTO_LL128;\n  } else if (strcmp(protocol, \"LL\") == 0) {\n    *protocolId = NCCL_PROTO_LL;\n  } else {\n    WARN(\"MSCCL: protocol %s is not supported.\", protocol);\n    return ncclInvalidUsage;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t mscclGetAlgoFromXmlFile(const char* str, struct mscclAlgo* algo, int rank) {\n  struct mscclXml* xml;\n  NCCLCHECK(ncclCalloc(&xml, 1));\n  NCCLCHECK(mscclAlgoXmlLoad(str, xml, rank));\n\n  // zeroing out all entries.\n  memset(algo, 0, sizeof(struct mscclAlgo));\n  struct mscclXmlNode* topNode;\n  NCCLCHECK(mscclXmlFindTag(xml, \"algo\", &topNode));\n\n  int nChunksPerLoop;\n  NCCLCHECK(mscclXmlGetAttrInt(topNode, \"nchunksperloop\", &nChunksPerLoop));\n  algo->nChunksPerLoop  = nChunksPerLoop;\n\n  int nChannels;\n  NCCLCHECK(mscclXmlGetAttrInt(topNode, \"nchannels\", &nChannels));\n  algo->nChannels = nChannels;\n\n  int nGpus;\n  NCCLCHECK(mscclXmlGetAttrInt(topNode, \"ngpus\", &nGpus));\n  algo->nRanks = nGpus;\n\n  const char* protocol;\n  NCCLCHECK(mscclXmlGetAttrStr(topNode, \"proto\", &protocol));\n  NCCLCHECK(mscclProtocolStrToId(protocol, &algo->protocol));\n\n  algo->sizeMultiplier = 1;\n  algo->chunkSteps = MSCCL_CHUNKSTEPS;\n  algo->sliceSteps = MSCCL_SLICESTEPS;\n  const char* coll;\n  NCCLCHECK(mscclXmlGetAttrStr(topNode, \"coll\", &coll));\n  if (strcmp(coll, \"reduce\") == 0) {\n    algo->chunkSteps = REDUCE_CHUNKSTEPS;\n    algo->sliceSteps = REDUCE_SLICESTEPS;\n    algo->func = mscclFuncReduce;\n  } else if (strcmp(coll, \"broadcast\") == 0) {\n    algo->chunkSteps = BROADCAST_CHUNKSTEPS;\n    algo->sliceSteps = BROADCAST_SLICESTEPS;\n    algo->func = mscclFuncBroadcast;\n  } else if (strcmp(coll, \"allreduce\") == 0) {\n    algo->chunkSteps = ALLREDUCE_CHUNKSTEPS;\n    algo->sliceSteps = ALLREDUCE_SLICESTEPS;\n    algo->func = mscclFuncAllReduce;\n  } else if (strcmp(coll, \"reducescatter\") == 0) {\n    algo->sizeMultiplier = nGpus;\n    algo->chunkSteps = REDUCESCATTER_CHUNKSTEPS;\n    algo->sliceSteps = REDUCESCATTER_SLICESTEPS;\n    algo->func = mscclFuncReduceScatter;\n  } else if (strcmp(coll, \"allgather\") == 0) {\n    algo->sizeMultiplier = nGpus;\n    algo->chunkSteps = ALLGATHER_CHUNKSTEPS;\n    algo->sliceSteps = ALLGATHER_SLICESTEPS;\n    algo->func = mscclFuncAllGather;\n  } else if (strcmp(coll, \"send\") == 0) {\n    algo->func = mscclFuncSend;\n  } else if (strcmp(coll, \"recv\") == 0) {\n    algo->func = mscclFuncRecv;\n  } else if (strcmp(coll, \"gather\") == 0) {\n    algo->func = mscclFuncGather;\n  } else if (strcmp(coll, \"scatter\") == 0) {\n    algo->func = mscclFuncScatter;\n  } else if (strcmp(coll, \"alltoall\") == 0) {\n    algo->sizeMultiplier = nGpus;\n    algo->func = mscclFuncAllToAll;\n  } else if (strcmp(coll, \"alltoallv\") == 0) {\n    algo->func = mscclFuncAllToAllv;\n  } else {\n    WARN(\"MSCCL: unsupported collective: %s\", coll);\n    return ncclInvalidUsage;\n  }\n\n  int64_t minBytes;\n  NCCLCHECK(mscclXmlGetAttrInt64(topNode, \"minBytes\", &minBytes));\n  algo->minBytes = minBytes;\n\n  int64_t maxBytes;\n  NCCLCHECK(mscclXmlGetAttrInt64(topNode, \"maxBytes\", &maxBytes));\n  algo->maxBytes = maxBytes;\n\n  int inplace;\n  NCCLCHECK(mscclXmlGetAttrInt(topNode, \"inplace\", &inplace));\n  algo->inPlace = (bool)inplace;\n\n  int outofplace;\n  NCCLCHECK(mscclXmlGetAttrInt(topNode, \"outofplace\", &outofplace));\n  algo->outOfPlace = (bool)outofplace;\n\n  algo->hasReduce = false;\n\n  for (int s=0; s<topNode->nSubs; s++) {\n    struct mscclXmlNode* node = topNode->subs[s];\n    if (strcmp(node->name, \"gpu\") == 0) {\n      int blockExists[MSCCL_MAX_NUM_THREAD_BLOCKS];\n      memset(blockExists, 0, sizeof(int[MSCCL_MAX_NUM_THREAD_BLOCKS]));\n      int id, nScratchChunks, nInputChunks, nOutputChunks;\n      NCCLCHECK(mscclXmlGetAttrInt(node, \"id\", &id));\n      if (id == rank) {\n        NCCLCHECK(mscclXmlGetAttrInt(node, \"i_chunks\", &nInputChunks));\n        NCCLCHECK(mscclXmlGetAttrInt(node, \"o_chunks\", &nOutputChunks));\n        NCCLCHECK(mscclXmlGetAttrInt(node, \"s_chunks\", &nScratchChunks));\n        if (nScratchChunks < 0) {\n          WARN(\"MSCCL: nScratchChunks must be not negative. nScratchChunks: %d\", nScratchChunks);\n          return ncclInvalidUsage;\n        }\n        algo->nScratchChunks = nScratchChunks;\n        for (int t=0; t<node->nSubs; t++) {\n          struct mscclXmlNode* threadBlockNode = node->subs[t];\n          if (strcmp(threadBlockNode->name, \"tb\") == 0) {\n            int bid, recvPeer, sendPeer, channelId;\n            NCCLCHECK(mscclXmlGetAttrInt(threadBlockNode, \"id\", &bid));\n            NCCLCHECK(mscclXmlGetAttrInt(threadBlockNode, \"recv\", &recvPeer));\n            NCCLCHECK(mscclXmlGetAttrInt(threadBlockNode, \"send\", &sendPeer));\n            NCCLCHECK(mscclXmlGetAttrInt(threadBlockNode, \"chan\", &channelId));\n            if (bid < 0) {\n              WARN(\"MSCCL: bid must be not negative. bid: %d\", bid);\n              return ncclInvalidUsage;\n            }\n            if (bid >= MSCCL_MAX_NUM_THREAD_BLOCKS) {\n              WARN(\"MSCCL: too many thread blocks are requested. Max thread blocks: %d\", MSCCL_MAX_NUM_THREAD_BLOCKS);\n              return ncclInvalidUsage;\n            }\n            if (blockExists[bid]) {\n              WARN(\"MSCCL: duplicate thread block id %d for MSCCL\", bid);\n              return ncclInvalidUsage;\n            }\n            blockExists[bid] = 1;\n\n            if (recvPeer == id || sendPeer == id) {\n              WARN(\"MSCCL: peer (%d,%d) and gpu id (%d) must be different\", recvPeer, sendPeer, id);\n              return ncclInvalidUsage;\n            }\n            struct mscclThreadBlock* sTB = &algo->mscclTBs[bid];\n            sTB->nSteps = 0;\n            if (recvPeer < -1 || sendPeer < -1) {\n              WARN(\"MSCCL: wrong recvPeer (%d) or sendPeer (%d) in thread block %d on gpu %d\", recvPeer, sendPeer, bid, id);\n              return ncclInvalidUsage;\n            }\n\n            if (recvPeer == id || sendPeer == id) {\n              WARN(\"MSCCL: recvPeer (%d) or sendPeer (%d) for thread block %d cannot be gpu %d\", recvPeer, sendPeer, bid, id);\n              return ncclInvalidUsage;\n            }\n\n            sTB->recvPeer = recvPeer;\n            sTB->sendPeer = sendPeer;\n            if (channelId < 0 || channelId > MAXCHANNELS) {\n              WARN(\"MSCCL: threadblock %d on GPU %d has an invalid channel %d\", bid, id, channelId);\n              return ncclInvalidUsage;\n            }\n            sTB->channelId = channelId;\n\n            // setting the summary of the msccl algorithm in msccl channels\n            mscclChannelInfo* mscclChannel = &algo->mscclChannels[sTB->channelId];\n\n            int numDependencies = 0;\n            int oldDependencePointer = 0; // Indicator of where the dependencies started for nop\n\n            int oldReductionDstBuffer = -1; // Indicator of last reduction buffer name; -1 means that last one wasn't a compatible reduction\n            int oldReductionDstOffset = -1; // Indicator of last reduction buffer index\n            int oldReductionSrcBuffer = -1; //\n            int numReductions = 0;\n\n            int numTransfers = 0;\n            for (int st=0; st<threadBlockNode->nSubs; st++) {\n              struct mscclXmlNode* stepNode = threadBlockNode->subs[st];\n              if (strcmp(stepNode->name, \"step\") == 0) {\n                int s, srcOffset, dstOffset, dependBid, dependStep, hasDependence, count;\n                const char* srcBuffer, * dstBuffer, * type;\n                NCCLCHECK(mscclXmlGetAttrInt(stepNode, \"s\", &s));\n\n                NCCLCHECK(mscclXmlGetAttrInt(stepNode, \"srcoff\", &srcOffset));\n                NCCLCHECK(mscclXmlGetAttrStr(stepNode, \"srcbuf\", &srcBuffer));\n                NCCLCHECK(mscclXmlGetAttrInt(stepNode, \"dstoff\", &dstOffset));\n                NCCLCHECK(mscclXmlGetAttrStr(stepNode, \"dstbuf\", &dstBuffer));\n\n                NCCLCHECK(mscclXmlGetAttrInt(stepNode, \"cnt\", &count));\n                NCCLCHECK(mscclXmlGetAttrStr(stepNode, \"type\", &type));\n                NCCLCHECK(mscclXmlGetAttrInt(stepNode, \"depid\", &dependBid));\n                NCCLCHECK(mscclXmlGetAttrInt(stepNode, \"deps\", &dependStep));\n                NCCLCHECK(mscclXmlGetAttrInt(stepNode, \"hasdep\", &hasDependence));\n\n                if (s >= MSCCL_MAX_NUM_STEPS){\n                  WARN(\"MSCCL: too many steps are requested. Max number of steps: %d, requested: %d\", MSCCL_MAX_NUM_STEPS, s+1);\n                  return ncclInternalError;\n                }\n                if (s < 0){\n                  WARN(\"MSCCL: step must be positive: step %d\", s);\n                  return ncclInternalError;\n                }\n\n                int hasSend = 0;\n                int hasRecv = 0;\n                int checkSrc = 0;\n                int checkDst = 0;\n                int transferType = -1; // -1 indicate a nop\n                if (strcmp(type, \"s\") == 0) {\n                  transferType = MSCCL_SEND;\n                  hasSend = 1;\n                  checkSrc = 1;\n                } else if (strcmp(type, \"r\") == 0) {\n                  transferType = MSCCL_RECV;\n                  hasRecv = 1;\n                  checkDst = 1;\n                } else if (strcmp(type, \"rcs\") == 0) {\n                  transferType = MSCCL_RECV_COPY_SEND;\n                  hasSend = 1;\n                  hasRecv = 1;\n                  checkDst = 1;\n                } else if (strcmp(type, \"rrs\") == 0) {\n                  transferType = MSCCL_RECV_REDUCE_SEND;\n                  hasSend = 1;\n                  hasRecv = 1;\n                  checkSrc = 1;\n                  algo->hasReduce = true;\n                } else if (strcmp(type, \"rrc\") == 0) {\n                  transferType = MSCCL_RECV_REDUCE_COPY;\n                  hasRecv = 1;\n                  algo->hasReduce = true;\n                } else if (strcmp(type, \"rrcs\") == 0) {\n                  transferType = MSCCL_RECV_REDUCE_COPY_SEND;\n                  hasRecv = 1;\n                  hasSend = 1;\n                  checkSrc = 1;\n                  checkDst = 1;\n                  algo->hasReduce = true;\n                } else if (strcmp(type, \"cpy\") == 0) {\n                  transferType = MSCCL_LOCAL_COPY;\n                  checkSrc = 1;\n                  checkDst = 1;\n                } else if (strcmp(type, \"re\") == 0) {\n                  transferType = MSCCL_REDUCE;\n                  checkSrc = 1;\n                  checkDst = 1;\n                  algo->hasReduce = true;\n                } else if (strcmp(type, \"nop\") == 0) {\n                  transferType = -1;\n                } else {\n                  WARN(\"MSCCL: type of transfer is not supported: %s\", type);\n                  return ncclInternalError;\n                }\n\n                if (dependBid >= 0) {\n                  sTB->dependentBid[numDependencies] = dependBid;\n                  sTB->dependentStep[numDependencies] = dependStep;\n                  numDependencies++;\n                }\n\n                uint8_t srcBufferInt = 0;\n                uint8_t dstBufferInt = 0;\n                NCCLCHECK(mscclGetBufferType(srcBuffer, &srcBufferInt));\n                NCCLCHECK(mscclGetBufferType(dstBuffer, &dstBufferInt));\n\n                int continuationOfReductions = 0;\n                // Analyze to see if this is in the same list of reductions for them to be chained\n                if (transferType == MSCCL_REDUCE) {\n                  if (oldReductionDstBuffer == dstBufferInt && oldReductionDstOffset == dstOffset && oldReductionSrcBuffer == srcBufferInt && dependBid == -1) {\n                    numTransfers--; // reuse the same transfer\n                    continuationOfReductions = 1;\n                  } else {\n                    oldReductionDstBuffer = -1;\n                    oldReductionDstOffset = -1;\n                  }\n                }\n\n                if (transferType != -1) {\n                  struct mscclTransmission* mscclTran = &sTB->transmissions[numTransfers];\n                  mscclTran->type = transferType;\n                  mscclTran->srcOffset = srcOffset;\n                  mscclTran->srcBuffer = srcBufferInt;\n                  mscclTran->srcOffset = srcOffset;\n                  mscclTran->dstBuffer = dstBufferInt;\n                  mscclTran->dstOffset = dstOffset;\n                  algo->typeMask |= (1<<transferType);\n                  if (count < 0 || count >= MSCCL_MAX_COUNT){\n                    WARN(\"MSCCL: count (%d) must be positive and less than %d\", count, MSCCL_MAX_COUNT);\n                    return ncclInternalError;\n                  }\n\n                  mscclTran->count = count;\n\n                  if (hasSend) {\n                    if (sendPeer < 0) {\n                      WARN(\"MSCCL: there is a send in thread block %d on GPU %d without a sendPeer.\", bid, id);\n                      return ncclInvalidUsage;\n                    }\n                    if (mscclChannel->nSendPeers >= MSCCL_MAX_NUM_THREAD_BLOCKS_PER_CHANNEL) {\n                      WARN(\"MSCCL: too many sends per channel. Max allowed %d\", MSCCL_MAX_NUM_THREAD_BLOCKS_PER_CHANNEL);\n                      return ncclInvalidUsage;\n                    }\n\n                    struct mscclChannelPeerInfo* sendPeerInfo = &mscclChannel->sendPeerInfo[mscclChannel->nSendPeers];\n                    sendPeerInfo->nTransmissionsOfCount[count]++;\n                  }\n                  if (hasRecv) {\n                    if (recvPeer < 0) {\n                      WARN(\"MSCCL: there is a recv in thread block %d on GPU %d without a recvPeer.\", bid, id);\n                      return ncclInvalidUsage;\n                    }\n                    if (mscclChannel->nRecvPeers >= MSCCL_MAX_NUM_THREAD_BLOCKS_PER_CHANNEL) {\n                      WARN(\"MSCCL: too many recvs per channel. Max allowed %d\", MSCCL_MAX_NUM_THREAD_BLOCKS_PER_CHANNEL);\n                      return ncclInvalidUsage;\n                    }\n                    struct mscclChannelPeerInfo* recvPeerInfo = &mscclChannel->recvPeerInfo[mscclChannel->nRecvPeers];\n                    recvPeerInfo->nTransmissionsOfCount[count]++;\n                  }\n\n                  if (checkSrc) NCCLCHECK(mscclCheckBufferBounds(mscclTran->srcBuffer, mscclTran->srcOffset, nInputChunks, nOutputChunks, nScratchChunks));\n                  if (checkDst) NCCLCHECK(mscclCheckBufferBounds(mscclTran->dstBuffer, mscclTran->dstOffset, nInputChunks, nOutputChunks, nScratchChunks));\n\n                  if (!continuationOfReductions) {\n                    mscclTran->dependencePointer = oldDependencePointer;\n                    mscclTran->numDependencies = numDependencies - oldDependencePointer;\n                    if (mscclTran->numDependencies > 0 && dependBid < 0) {\n                      WARN(\"MSCCL: when there is a chain of dependencies, the last reduction must be a part of the first immediate instruction. Detected for GPU %d, thread block %d, and step %d. XML will be ignored.\", id, bid, s);\n                      return ncclInvalidUsage;\n                    }\n                    oldDependencePointer = numDependencies;\n                  }\n\n                  // reduction related pointers\n                  if (transferType != MSCCL_REDUCE) {\n                    oldReductionDstBuffer = -1;\n                    oldReductionDstOffset = -1;\n                    oldReductionSrcBuffer = -1;\n                  } else {\n                    if (oldReductionDstBuffer == -1) { // if this is the first reduction\n                      mscclTran->reductionPointer = numReductions;\n                    }\n                    sTB->reductionSrcOffsets[numReductions] = mscclTran->srcOffset;\n                    numReductions++;\n                    mscclTran->numReductions = numReductions - mscclTran->reductionPointer;\n\n                    if (hasDependence || numReductions == MSCCL_MAX_REDUCE_FUSION) {\n                      oldReductionDstBuffer = -1;\n                      oldReductionDstOffset = -1;\n                    } else {\n                      oldReductionDstBuffer = mscclTran->dstBuffer;\n                      oldReductionDstOffset = mscclTran->dstOffset;\n                      oldReductionSrcBuffer = mscclTran->srcBuffer;\n                    }\n                  }\n\n\n                  if (hasDependence != 0 && hasDependence != 1) {\n                    WARN(\"MSCCL: hasDependence needs to be 0 or 1, but it was %d\", hasDependence);\n                    return ncclInternalError;\n                  }\n                  mscclTran->hasDependence = hasDependence;\n\n                  numTransfers++;\n                  sTB->nSteps = numTransfers;\n                }\n              }\n            }\n\n            // finish up mscclChannel calculation\n\n            for (int c = 1; c <= MSCCL_MAX_COUNT; c++) {\n              struct mscclChannelPeerInfo* sendPeer = &mscclChannel->sendPeerInfo[mscclChannel->nSendPeers];\n              if (sendPeer->nTransmissionsOfCount[c] > 0) {\n                sendPeer->existingCounts[sendPeer->nExistingCounts] = c;\n                sendPeer->nExistingCounts++;\n              }\n              struct mscclChannelPeerInfo* recvPeer = &mscclChannel->recvPeerInfo[mscclChannel->nRecvPeers];\n              if (recvPeer->nTransmissionsOfCount[c] > 0) {\n                recvPeer->existingCounts[recvPeer->nExistingCounts] = c;\n                recvPeer->nExistingCounts++;\n              }\n            }\n\n            if (sTB->sendPeer >= 0) {\n              mscclChannel->sendPeerInfo[mscclChannel->nSendPeers].peer = sTB->sendPeer;\n              mscclChannel->nSendPeers++;\n            }\n            if (sTB->recvPeer >= 0) {\n              mscclChannel->recvPeerInfo[mscclChannel->nRecvPeers].peer = sTB->recvPeer;\n              mscclChannel->nRecvPeers++;\n            }\n          }\n        }\n        // make sure that thread blocks are in order. Something like 0, 2, 3 is not allowed.\n        if (blockExists[0] == 1) {\n          algo->nBlocks = 1;\n        }\n        for (int i = 1; i < MSCCL_MAX_NUM_THREAD_BLOCKS; i++) {\n          if (blockExists[i] == 1 && blockExists[i-1] == 0) {\n            WARN(\"MSCCL: thread block %d is missing\", i);\n            return ncclInvalidUsage;\n          }\n          if (blockExists[i] == 1) {\n            algo->nBlocks = i+1;\n          }\n        }\n\n      }\n    }\n  }\n  free(xml);\n  return ncclSuccess;\n}\n\nncclResult_t mscclXmlLoadSingleNode(FILE* file, struct mscclXmlNode* node) {\n  memset(node, 0, sizeof(struct mscclXmlNode));\n  return mscclXmlGetNode(file, node);\n}\n\nncclResult_t mscclAlgoMetaXmlLoad(const char* xmlFilePath, struct mscclXmlNode* node) {\n  FILE* file = fopen(xmlFilePath, \"r\");\n  if (file == NULL) {\n    fprintf(stderr, \"Could not open MSCCL XML algorithm file %s : %s\", xmlFilePath, strerror(errno));\n    return ncclSystemError;\n  }\n  NCCLCHECK(mscclXmlLoadSingleNode(file, node));\n  fclose(file);\n  return ncclSuccess;\n}\n\nncclResult_t mscclGetAlgoMetaFromXmlFile(const char* str, struct mscclAlgoMeta* algoMeta) {\n  struct mscclXmlNode* node;\n  node = (struct mscclXmlNode *)malloc(sizeof(struct mscclXmlNode));\n  if (node == nullptr) {\n    WARN(\"Failed to allocate memory for MSCCL XML node\");\n    return ncclSystemError;\n  }\n  NCCLCHECK(mscclAlgoMetaXmlLoad(str, node));\n\n  algoMeta->filePath = str;\n\n  int nChunksPerLoop;\n  NCCLCHECK(mscclXmlGetAttrInt(node, \"nchunksperloop\", &nChunksPerLoop));\n  algoMeta->nChunksPerLoop  = nChunksPerLoop;\n\n  int nChannels;\n  NCCLCHECK(mscclXmlGetAttrInt(node, \"nchannels\", &nChannels));\n  algoMeta->nChannels = nChannels;\n\n  int nGpus;\n  NCCLCHECK(mscclXmlGetAttrInt(node, \"ngpus\", &nGpus));\n  algoMeta->nRanks = nGpus;\n\n  const char* coll;\n  NCCLCHECK(mscclXmlGetAttrStr(node, \"coll\", &coll));\n  algoMeta->sizeMultiplier = 1;\n  if (strcmp(coll, \"reduce\") == 0) {\n    algoMeta->func = mscclFuncReduce;\n  } else if (strcmp(coll, \"broadcast\") == 0) {\n    algoMeta->func = mscclFuncBroadcast;\n  } else if (strcmp(coll, \"allreduce\") == 0) {\n    algoMeta->func = mscclFuncAllReduce;\n  } else if (strcmp(coll, \"reducescatter\") == 0) {\n    algoMeta->sizeMultiplier = nGpus;\n    algoMeta->func = mscclFuncReduceScatter;\n  } else if (strcmp(coll, \"allgather\") == 0) {\n    algoMeta->sizeMultiplier = nGpus;\n    algoMeta->func = mscclFuncAllGather;\n  } else if (strcmp(coll, \"send\") == 0) {\n    algoMeta->func = mscclFuncSend;\n  } else if (strcmp(coll, \"recv\") == 0) {\n    algoMeta->func = mscclFuncRecv;\n  } else if (strcmp(coll, \"gather\") == 0) {\n    algoMeta->func = mscclFuncGather;\n  } else if (strcmp(coll, \"scatter\") == 0) {\n    algoMeta->func = mscclFuncScatter;\n  } else if (strcmp(coll, \"alltoall\") == 0) {\n    algoMeta->sizeMultiplier = nGpus;\n    algoMeta->func = mscclFuncAllToAll;\n  } else if (strcmp(coll, \"alltoallv\") == 0) {\n    algoMeta->func = mscclFuncAllToAllv;\n  } else {\n    return ncclInvalidUsage;\n  }\n\n  int64_t minBytes;\n  NCCLCHECK(mscclXmlGetAttrInt64(node, \"minBytes\", &minBytes));\n  algoMeta->minBytes = minBytes;\n\n  int64_t maxBytes;\n  NCCLCHECK(mscclXmlGetAttrInt64(node, \"maxBytes\", &maxBytes));\n  algoMeta->maxBytes = maxBytes;\n\n  int inplace;\n  NCCLCHECK(mscclXmlGetAttrInt(node, \"inplace\", &inplace));\n  algoMeta->inPlace = (bool)inplace;\n\n  int outofplace;\n  NCCLCHECK(mscclXmlGetAttrInt(node, \"outofplace\", &outofplace));\n  algoMeta->outOfPlace = (bool)outofplace;\n\n  free(node);\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/misc/msccl/msccl_setup.cc",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#include \"channel.h\"\n#include \"checks.h\"\n#include \"collectives.h\"\n#include \"proxy.h\"\n#include \"transport.h\"\n\n#include \"msccl/msccl_lifecycle.h\"\n#ifdef COMPILE_MSCCL_KERNEL\n#include \"msccl/msccl_kernel.h\"\n#endif\n#include \"msccl/msccl_setup.h\"\n#include \"msccl/msccl_status.h\"\n\nRCCL_PARAM(MscclWorkFifoDepth, \"MSCCL_WORK_FIFO_DEPTH\", 256<<10);\n\nstatic inline size_t computeSizeNeeded(size_t nBytes, int nScratchChunks, int nChunksPerLoop) {\n  return (nBytes * (size_t)nScratchChunks) / (size_t)nChunksPerLoop;\n}\n\nncclResult_t mscclGetCaptureStatus(const ncclComm_t comm, hipStream_t stream) {\n  mscclStatus& status = mscclGetStatus(comm);\n  mscclThreadLocalStatus& threadLocalStatus = mscclGetThreadLocalStatus();\n  mscclSavedProxyArgs& savedProxyArgs = mscclGetSavedProxyArgs(comm);\n  cudaStreamCaptureStatus captureStatus;\n  unsigned long long captureId;\n  CUDACHECK(hipStreamGetCaptureInfo_v2(stream, &captureStatus, &captureId, &threadLocalStatus.graph, nullptr, nullptr));\n  if (captureStatus == cudaStreamCaptureStatusActive) {\n    if (savedProxyArgs.count(captureId) == 0) {\n      threadLocalStatus.captureStatus = mscclNewCapture;\n      savedProxyArgs[captureId] = std::vector<struct mscclProxyArg>();\n      NCCLCHECK(mscclInitWorkFifoStatus(&(status.graphWorkFifoStatus[captureId])));\n    } else {\n      INFO(NCCL_NET,\"mscclGetCaptureStatus: captureId %llu is same with the previous one\\n\", captureId);\n      threadLocalStatus.captureStatus = mscclExistingCapture;\n    }\n    threadLocalStatus.captureId = captureId;\n  } else {\n    threadLocalStatus.captureStatus = mscclNoCapture;\n  }\n  INFO(NCCL_NET,\"mscclGetCaptureStatus: %d, captureId: %llu, size: %lu\\n\", threadLocalStatus.captureStatus, threadLocalStatus.captureId, savedProxyArgs[captureId].size());\n  return ncclSuccess;\n}\n\nncclResult_t mscclSetupCount(struct mscclAlgo* hostAlgo, ncclComm_t comm, size_t count, ncclDataType_t dataType) {\n  mscclStatus& status = mscclGetStatus(comm);\n  status.stepSize = comm->buffSizes[hostAlgo->protocol] / NCCL_STEPS;\n  status.chunkSteps = hostAlgo->protocol == NCCL_PROTO_SIMPLE ? hostAlgo->chunkSteps : 1;\n  status.sliceSteps = hostAlgo->protocol == NCCL_PROTO_SIMPLE ? hostAlgo->sliceSteps : 1;\n  status.chunkSize  = status.stepSize * status.chunkSteps;\n  status.chunkEffectiveSize = status.chunkSize;\n  if (hostAlgo->protocol == NCCL_PROTO_LL) status.chunkEffectiveSize /= 2;\n  if (hostAlgo->protocol == NCCL_PROTO_LL128) status.chunkEffectiveSize = (status.chunkSize / NCCL_LL128_LINEELEMS) * NCCL_LL128_DATAELEMS;\n  status.dataType = dataType;\n  status.nBytes = count * ncclTypeSize(status.dataType) * hostAlgo->sizeMultiplier;\n  status.maxAllowedCount = std::max((uint32_t)1, (uint32_t)(status.chunkEffectiveSize / DIVUP(status.nBytes, (size_t)(hostAlgo->nChunksPerLoop))));\n  if (status.maxAllowedCount == 0){\n    WARN(\"MSCCL: something went wrong. Max allowed count is 0\\n\");\n    return ncclInternalError;\n  }\n  if (status.maxAllowedCount >= MSCCL_MAX_COUNT) {\n    status.maxAllowedCount = MSCCL_MAX_COUNT - 1;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t mscclSetupScratch(struct mscclAlgo* hostAlgo, hipStream_t stream) {\n  return ncclSuccess;\n}\n\nncclResult_t mscclSetupSyncFlags(const ncclComm_t comm, hipStream_t stream) {\n  mscclStatus& status = mscclGetStatus(comm);\n  mscclThreadLocalStatus& threadLocalStatus = mscclGetThreadLocalStatus();\n  if (threadLocalStatus.captureStatus == mscclNewCapture ||\n      status.workIndex > (1ULL << (8*sizeof(status.workIndex))) - 2 * NCCL_MAX_OPS - 1) {\n    CUDACHECK(hipMemsetAsync(status.syncFlags, 0, sizeof(struct mscclFlag) * MSCCL_MAX_NUM_THREAD_BLOCKS, stream));\n    status.workIndex = 1; // setting the workIndex back to 1 for next iterations\n    status.graphFirstKernel = false;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t mscclSetupConnections(struct mscclAlgo* hostAlgo, ncclComm_t comm) {\n  mscclStatus& status = mscclGetStatus(comm);\n\n  // Check whether there are enough channels\n  if (hostAlgo->nChannels > comm->nChannels) {\n    WARN(\"MSCCL: number of channels available (%d) less than required (%d)\", comm->nChannels, hostAlgo->nChannels);\n    return ncclInvalidUsage;\n  }\n\n  // Flag MSCCL connections\n  for (int i = 0; i < hostAlgo->nChannels; i++) {\n    struct mscclChannelInfo* mCh = hostAlgo->mscclChannels + i;\n\n    int sendPeers[MSCCL_MAX_NUM_THREAD_BLOCKS_PER_CHANNEL];\n    for (int p = 0; p < mCh->nSendPeers; p++) {\n      sendPeers[p] = mCh->sendPeerInfo[p].peer;\n    }\n\n    int recvPeers[MSCCL_MAX_NUM_THREAD_BLOCKS_PER_CHANNEL];\n    for (int p = 0; p < mCh->nRecvPeers; p++) {\n      recvPeers[p] = mCh->recvPeerInfo[p].peer;\n    }\n\n    NCCLCHECK(ncclTransportP2pConnect(comm, i, mCh->nRecvPeers, recvPeers, mCh->nSendPeers, sendPeers, 0 /*connIndex*/));\n  }\n\n  // Connect MSCCL connections\n  mscclSetIsCallerFlag();\n  bool needsProxy = false;\n  NCCLCHECK(ncclTransportP2pSetup(comm, NULL, 0, &needsProxy));\n  status.needsProxy |= needsProxy;\n  mscclClearIsCallerFlag();\n\n  INFO(NCCL_INIT, \"MSCCL: Setup connections finished, used %ld\", allocTracker[comm->cudaDev].totalAllocSize);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t mscclSetupProxyImpl(struct mscclAlgo* hostAlgo, ncclComm_t comm) {\n  mscclStatus& status = mscclGetStatus(comm);\n  struct ncclProxyOp proxyOp = {};\n  proxyOp.connIndex = 0;\n  proxyOp.sliceSteps = status.sliceSteps;\n  proxyOp.chunkSteps = status.chunkSteps;\n  proxyOp.chunkSize = status.chunkSize;\n  proxyOp.protocol = hostAlgo->protocol;\n  proxyOp.dtype = status.dataType;\n  proxyOp.redOp = 0;\n  proxyOp.pattern = 0;\n  proxyOp.root = 0;\n  proxyOp.nbytes = status.stepSize*proxyOp.sliceSteps;\n  proxyOp.opCount = comm->sharedRes->collOpCount;\n  int nLoops = (int)(DIVUP(status.nBytes, (size_t)((size_t)hostAlgo->nChunksPerLoop*(size_t)status.chunkEffectiveSize)));\n  int nLoopsChunkSteps = nLoops * status.chunkSteps;\n  for (int ch = 0; ch < hostAlgo->nChannels; ch++) {\n    proxyOp.channelId = ch;\n    struct mscclChannelInfo* mscclChannel = hostAlgo->mscclChannels + ch;\n    struct ncclChannel* ncclChannel = comm->channels + ch;\n    for (int i = 0; i < mscclChannel->nRecvPeers; i++){\n      struct mscclChannelPeerInfo* recvPeer = mscclChannel->recvPeerInfo + i;\n      int nRecvs = 0;\n      for (int j = 0; j < recvPeer->nExistingCounts; j++){\n        int c = recvPeer->existingCounts[j];\n        int nStepsInCount = DIVUP(c, status.maxAllowedCount);\n        nRecvs += recvPeer->nTransmissionsOfCount[c] * nStepsInCount;\n      }\n      proxyOp.nsteps = nLoopsChunkSteps * nRecvs;\n      if (proxyOp.nsteps > 0) {\n        NCCLCHECK(mscclSaveProxy(comm, ncclChannel, proxyRecv, recvPeer->peer, &proxyOp, 0));\n      }\n    }\n    for (int i=0; i<mscclChannel->nSendPeers; i++){\n      struct mscclChannelPeerInfo* sendPeer = &mscclChannel->sendPeerInfo[i];\n      int nSends = 0;\n      for (int j = 0; j < sendPeer->nExistingCounts; j++){\n        int c = sendPeer->existingCounts[j];\n        int nStepsInCount = DIVUP(c, status.maxAllowedCount);\n        nSends += sendPeer->nTransmissionsOfCount[c] * nStepsInCount;\n      }\n      proxyOp.nsteps = nLoopsChunkSteps * nSends;\n      if (proxyOp.nsteps > 0) {\n        NCCLCHECK(mscclSaveProxy(comm, ncclChannel, proxySend, sendPeer->peer, &proxyOp, 0));\n      }\n    }\n  }\n  NCCLCHECK(ncclProxyStart(comm));\n  comm->sharedRes->collOpCount++;\n  return ncclSuccess;\n}\n\nstatic void HIPRT_CB mscclSetupProxyCallback(void *args) {\n  std::vector<struct mscclProxyArg>* params = (std::vector<struct mscclProxyArg>*)args;\n  INFO(NCCL_NET,\"mscclSetupProxyCallback: proxy args size: %ld\\n\", params->size());\n  for (auto &p : *params) {\n    mscclSetupProxyImpl(p.hostAlgo, p.comm);\n  }\n}\n\nncclResult_t mscclSetupProxy(struct mscclAlgo* hostAlgo, ncclComm_t comm, hipStream_t stream) {\n  mscclStatus& status = mscclGetStatus(comm);\n  mscclThreadLocalStatus& threadLocalStatus = mscclGetThreadLocalStatus();\n  mscclSavedProxyArgs& savedProxyArgs = mscclGetSavedProxyArgs(comm);\n  if (threadLocalStatus.captureStatus == mscclUnknownCaptureStatus) {\n    INFO(NCCL_NET, \"mscclSetupProxy: reading capture status\");\n    NCCLCHECK(mscclGetCaptureStatus(comm, stream));\n  }\n  if (threadLocalStatus.captureStatus == mscclNoCapture) {\n    INFO(NCCL_NET,\"mscclSetupProxy: no capture\\n\");\n    NCCLCHECK(mscclSetupProxyImpl(hostAlgo, comm));\n  } else if (status.needsProxy) {\n    INFO(NCCL_NET,\"mscclSetupProxy: capture\\n\");\n    if (savedProxyArgs[threadLocalStatus.captureId].size() == 0) {\n      INFO(NCCL_NET,\"mscclSetupProxy: adding callback\\n\");\n\n      hipGraphNode_t callbackNode;\n      hipHostNodeParams p;\n      p.fn = mscclSetupProxyCallback;\n      auto params = &savedProxyArgs[threadLocalStatus.captureId];\n      p.userData = params;\n      CUDACHECK(hipGraphAddHostNode(&callbackNode, threadLocalStatus.graph, nullptr, 0, &p));\n    }\n    savedProxyArgs[threadLocalStatus.captureId].emplace_back(hostAlgo, comm);\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t hostToDevRedOp(\n    ncclDevRedOpFull *opFull, ncclRedOp_t op, ncclDataType_t datatype, ncclComm *comm\n  ) {\n  union {\n    int8_t i8;\n    uint8_t u8;\n    int32_t i32;\n    uint32_t u32;\n    int64_t i64;\n    uint64_t u64;\n    half f16;\n    #if defined(RCCL_BFLOAT16)\n      hip_bfloat16 bf16;\n    #endif\n    #if defined(RCCL_FLOAT8)\n      rccl_float8 fp8_e4m3;\n      rccl_bfloat8 fp8_e5m2;\n    #endif\n    float f32;\n    double f64;\n    void *ptr;\n  };\n  u64 = 0;\n  opFull->scalarArgIsPtr = false;\n  opFull->proxyOp = op;\n\n  int nbits = 8*ncclTypeSize(datatype);\n  uint64_t allBits = uint64_t(-1)>>(64-nbits);\n  uint64_t signBit = allBits^(allBits>>1);\n\n  switch (int(op)) {\n  case ncclSum:  opFull->op = ncclDevSum;  break;\n  case ncclProd: opFull->op = ncclDevProd; break;\n  case ncclMin:\n  case ncclMax:\n    opFull->op = ncclDevMinMax;\n    opFull->scalarArg = 0;\n    // The xormask used by ncclFuncMinMax<[u]int> is the XOR of the sign bit\n    // for signed (opposed to unsigned) types and all the bits for max (opposed to min).\n    if (datatype==ncclInt8 || datatype==ncclInt32 || datatype==ncclInt64) {\n      opFull->scalarArg ^= signBit;\n    }\n    opFull->scalarArg ^= (op == ncclMax) ? allBits : 0;\n    break;\n  case ncclAvg:\n    switch ((int)datatype) {\n    case ncclInt8:  case ncclInt32:  case ncclInt64:\n    case ncclUint8: case ncclUint32: case ncclUint64:\n      opFull->op = ncclDevSumPostDiv;\n      u64 = comm->nRanks;\n      break;\n    case ncclFloat16:\n      opFull->op = ncclDevPreMulSum;\n      f16 = __float2half(float(1.0/comm->nRanks)); // __double2half not supported pre CUDA 11.x\n      break;\n    #if defined(RCCL_BFLOAT16)\n    case ncclBfloat16:\n      opFull->op = ncclDevPreMulSum;\n      bf16 = (hip_bfloat16)(float(1.0/comm->nRanks));\n      break;\n    #endif\n    #if defined(RCCL_FLOAT8)\n    case ncclFloat8e4m3:\n      opFull->op = ncclDevPreMulSum;\n      fp8_e4m3 = (rccl_float8)(float(1.0/comm->nRanks));\n      break;\n    case ncclFloat8e5m2:\n      opFull->op = ncclDevPreMulSum;\n      fp8_e5m2 = (rccl_bfloat8)(float(1.0/comm->nRanks));\n      break;\n    #endif\n    case ncclFloat32:\n      opFull->op = ncclDevPreMulSum;\n      f32 = float(1.0/comm->nRanks);\n      break;\n    case ncclFloat64:\n      opFull->op = ncclDevPreMulSum;\n      f64 = 1.0/comm->nRanks;\n      break;\n    }\n    opFull->scalarArgIsPtr = false;\n    opFull->scalarArg = u64;\n    break;\n  default: // user created\n    int ix = int(ncclUserRedOpMangle(comm, op)) - int(ncclNumOps);\n    ncclUserRedOp *user = &comm->userRedOps[ix];\n    if (datatype != user->datatype) {\n      WARN(\"Data type supplied to user-created ncclRedOp_t does not match type \"\n           \"given to reduction operation\");\n      return ncclInvalidArgument;\n    }\n    *opFull = user->opFull;\n    break;\n  }\n  return ncclSuccess;\n}\n\n#define MSCCL_KERNEL_ENTRY_DEVREDOP_NULL() \\\n  nullptr, \\\n  nullptr, \\\n  nullptr\n\n#define MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, type, fullOps) \\\n  (void *)MSCCL_KERNEL_ENTRY_NAME(devredop, type, LL, fullOps), \\\n  (void *)MSCCL_KERNEL_ENTRY_NAME(devredop, type, LL128, fullOps), \\\n  (void *)MSCCL_KERNEL_ENTRY_NAME(devredop, type, Simple, fullOps)\n\n#define MSCCL_KERNEL_ENTRY_DEVREDOP(devredop, fullOps) \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, int8_t, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, uint8_t, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, int32_t, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, uint32_t, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, int64_t, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, uint64_t, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, half, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, float, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, double, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, hip_bfloat16, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, rccl_float8, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, rccl_bfloat8, fullOps)\n\n#define MSCCL_KERNEL_ENTRY_DEVREDOP_NOFLOAT(devredop, fullOps) \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, int8_t, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, uint8_t, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, int32_t, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, uint32_t, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, int64_t, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_TYPE(devredop, uint64_t, fullOps), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_NULL(), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_NULL(), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_NULL(), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_NULL(), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_NULL(), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP_NULL()\n\n#define MSCCL_KERNEL_ENTRY() \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP(Sum, false), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP(Prod, false), \\\n  MSCCL_KERNEL_ENTRY_DEVREDOP(MinMax, false)\n\n// Except for ncclDevPreMulSum and ncclDevSumPostDiv required by ncclAvg\nvoid* mscclKernelEntries[(ncclNumDevRedOps-2) * ncclNumTypes * NCCL_NUM_PROTOCOLS] = {\n#ifdef COMPILE_MSCCL_KERNEL\n  MSCCL_KERNEL_ENTRY()\n#endif\n};\n\n// Comparison of monotonic rolling counters.\nstatic inline bool rollingLess32(uint32_t a, uint32_t b) {\n  constexpr uint32_t PositiveMax = uint32_t(-1)>>1;\n  return a-b > PositiveMax;\n}\n\nstatic inline uint32_t rollingMin32(uint32_t a, uint32_t b) {\n  constexpr uint32_t PositiveMax = uint32_t(-1)>>1;\n  return (b-a <= PositiveMax) ? a : b;\n}\n\nstatic void mscclWaitWorkFifoAvailable(uint32_t desiredSent, mscclWorkFifoStatus* status) {\n  if (__builtin_expect(rollingLess32(status->workFifoAckdMin + status->workFifoDepth, desiredSent), false)) {\n    while (1) {\n      // We have to poll for notifications from device.\n      uint32_t* doneLive = status->workFifoDone;\n      uint32_t ackd[MSCCL_MAX_NUM_THREAD_BLOCKS];\n      for (int c=0; c < MSCCL_MAX_NUM_THREAD_BLOCKS; c++) {\n        ackd[c] = __atomic_load_n(&doneLive[c], __ATOMIC_RELAXED);\n      }\n      // Compiler-only fence to prevent fusion of loops to encourage dense loads.\n      __atomic_signal_fence(__ATOMIC_SEQ_CST);\n\n      uint32_t ackdAll = status->workFifoSent;\n      for (int c=0; c < MSCCL_MAX_NUM_THREAD_BLOCKS; c++) {\n        // ackdAll is min over all non-quiesced channels\n        if (ackd[c] != status->workFifoSentPerThreadBlock[c])\n          ackdAll = rollingMin32(ackdAll, ackd[c]);\n      }\n\n      // Compiler only fence to prevent fusion of loops to encourage dense stores.\n      __atomic_signal_fence(__ATOMIC_SEQ_CST);\n\n      for (int c=0; c < MSCCL_MAX_NUM_THREAD_BLOCKS; c++) {\n        // Advance counter on quiesced channels so they don't lag behind\n        // too far where they could get lost in 32-bit wraparound.\n        if (ackd[c] == status->workFifoSentPerThreadBlock[c]) {\n          status->workFifoSentPerThreadBlock[c] = ackdAll;\n          __atomic_store_n(&doneLive[c], ackdAll, __ATOMIC_RELAXED);\n        }\n      }\n      status->workFifoAckdMin = ackdAll;\n\n      // See if that was enough.\n      if (!rollingLess32(status->workFifoAckdMin + status->workFifoDepth, desiredSent)) break;\n      sched_yield();\n    }\n  }\n}\n\nRCCL_PARAM(MscclForceFullOps, \"MSCCL_FORCE_FULLOPS\", 0);\n\nncclResult_t mscclSetupKernel(const void* sendBuff, void* recvBuff, size_t count,\n    ncclDataType_t dataType, ncclRedOp_t op, struct mscclAlgo* hostAlgo, struct mscclAlgo* devAlgo,\n    ncclComm_t comm, hipStream_t stream) {\n  mscclStatus& status = mscclGetStatus(comm);\n  mscclThreadLocalStatus& threadLocalStatus = mscclGetThreadLocalStatus();\n\n  if (status.lastStream != stream && status.lastStream != nullptr) {\n    CUDACHECK(hipStreamWaitEvent(stream, comm->doneEvent, 0));\n  }\n\n  uint32_t numBlocks = (uint32_t)hostAlgo->nBlocks;\n  dim3 grid = {numBlocks, 1, 1};\n  dim3 block = {MSCCL_MAX_NTHREADS, 1, 1};\n  ncclDevRedOpFull opFull = {};\n  NCCLCHECK(hostToDevRedOp(&opFull, op, dataType, comm));\n\n  uint32_t fnIndex = (opFull.op * ncclNumTypes + dataType) * NCCL_NUM_PROTOCOLS + hostAlgo->protocol;\n  uint8_t fullOpMask = (1<<MSCCL_RECV_COPY_SEND) |\n                        (1<<MSCCL_RECV_REDUCE_SEND) |\n                        (1<<MSCCL_RECV_REDUCE_COPY_SEND) |\n                        (1<<MSCCL_RECV_REDUCE_COPY);\n  //check if need full ops msccl kernel\n  if ((hostAlgo->typeMask & fullOpMask) || rcclParamMscclForceFullOps()) {\n    WARN(\"MSCCL: this version of MSCCL build doesn't support full Ops\");\n    return ncclInternalError;\n  }\n\n  mscclWork work;\n  work.syncFlags = status.syncFlags;\n  size_t sizeNeeded = computeSizeNeeded(status.nBytes, hostAlgo->nScratchChunks, hostAlgo->nChunksPerLoop);\n  if (sizeNeeded > 0) {\n    auto itr = status.scratchBuffers.lower_bound(sizeNeeded);\n    if (itr == status.scratchBuffers.end()) {\n      void *scratchBuffer = nullptr;\n      size_t sizeRounded = 1;\n      if (status.scratchBuffers.size() > 0) {\n        sizeRounded = status.scratchBuffers.rbegin()->first;\n      }\n      while (sizeRounded < sizeNeeded) {\n        if (sizeRounded >= sizeRounded * 2) {\n          WARN(\"MSCCL: Size of allocation for scratch buffer (%lu * 2) will wrap around\", sizeRounded);\n          return ncclInvalidUsage;\n        }\n        sizeRounded *= 2;\n      }\n#if defined(HIP_UNCACHED_MEMORY)\n      NCCLCHECK(ncclCudaMalloc((char**)&scratchBuffer, sizeRounded, hipDeviceMallocUncached));\n#else\n      NCCLCHECK(ncclCudaMalloc((char**)&scratchBuffer, sizeRounded, hipDeviceMallocFinegrained));\n#endif\n      work.scratchBuffer = status.scratchBuffers[sizeRounded] = scratchBuffer;\n      TRACE(NCCL_INIT, \"MSCCL: Allocated scratch buffer of size %lu on request (%lu)\", sizeRounded, sizeNeeded);\n    } else {\n      work.scratchBuffer = itr->second;\n    }\n  } else {\n    work.scratchBuffer = nullptr;\n  }\n  work.sendBuff = sendBuff;\n  work.recvBuff = recvBuff;\n  work.sizePerMscclChunk = count * hostAlgo->sizeMultiplier / hostAlgo->nChunksPerLoop; // count is sum of all ranks in MSCCL kernel\n  work.redOpArg = opFull.scalarArg;\n  work.workIndex = status.workIndex;\n  work.nChunksPerLoop = hostAlgo->nChunksPerLoop;\n  work.maxAllowedCount = status.maxAllowedCount;\n  work.hasReduce = hostAlgo->hasReduce;\n  work.redOpArgIsPtr = opFull.scalarArgIsPtr;\n  work.fnIndex = fnIndex;\n  INFO(NCCL_COLL, \"MSCCL: typeMask %x fnIndex %d Setup Kernel finished\", hostAlgo->typeMask, fnIndex);\n\n  if (threadLocalStatus.captureStatus == mscclUnknownCaptureStatus) {\n    INFO(NCCL_NET, \"MSCCL: reading capture status\");\n    NCCLCHECK(mscclGetCaptureStatus(comm, stream));\n  }\n  mscclWorkFifoStatus* workFifoStatus = nullptr;\n  if (threadLocalStatus.captureStatus == mscclNoCapture) {\n    workFifoStatus = &(status.defaultWorkFifoStatus);\n  } else {\n    workFifoStatus = &(status.graphWorkFifoStatus[threadLocalStatus.captureId]);\n  }\n\n  uint32_t workFifoIdxMask = workFifoStatus->workFifoDepth - 1;\n  uint32_t workFifoSent = workFifoStatus->workFifoSent;\n\n  if (threadLocalStatus.captureStatus != mscclNoCapture && workFifoSent + numBlocks > workFifoStatus->workFifoDepth) {\n    WARN(\"MSCCL: number of captured works (%u) > max limit (%lu)\", workFifoSent + numBlocks, workFifoStatus->workFifoDepth);\n    return ncclInternalError;\n  }\n\n  // First work for a channel has to be at workHeap+blockIdx.x which means\n  // we cannot tolerate fifo wraparound. So round up to the wrap boundary\n  // if not doing so would incur crossing it.\n  if (((workFifoSent + numBlocks - 1) & workFifoIdxMask) < (workFifoSent & workFifoIdxMask)) {\n    workFifoSent = (workFifoSent + workFifoIdxMask) & ~workFifoIdxMask;\n    // Need to update workFifoSent so waitWorkFifoAvailable() knows we've\n    // skipped those elements. Consider if all the channels report quiesced,\n    // this way the skipped slots will be considered consumed as well.\n    workFifoStatus->workFifoSent = workFifoSent;\n  }\n  mscclWaitWorkFifoAvailable(workFifoSent + numBlocks, workFifoStatus);\n  for (int i = 0; i < numBlocks; i++) {\n    work.workFifoDoneAck = workFifoSent + i;\n    work.workFifoDone = workFifoStatus->workFifoDone + i;\n    workFifoStatus->workFifoSentPerThreadBlock[i] = workFifoSent + i;\n    workFifoStatus->workFifo[(workFifoSent + i) & workFifoIdxMask] = work;\n  }\n\n  struct mscclWork *workPtr = workFifoStatus->workFifo + (workFifoSent & workFifoIdxMask);\n  workFifoStatus->workFifoSent = workFifoSent + numBlocks;\n\n  void *args[3] = {&comm->devComm, &devAlgo, &workPtr};\n  void *func = mscclKernelEntries[fnIndex];\n  CUDACHECK(hipExtLaunchKernel(func, grid, block, args, 0, stream, NULL, comm->doneEvent, 0));\n  status.workIndex++;\n  status.lastStream = stream;\n  return ncclSuccess;\n}\n\n// Determine the maximum kernel stack size of all MSCCL kernels\nsize_t mscclKernMaxLocalSize() {\n  ncclResult_t res = ncclSuccess;\n  int numMscclKerns = sizeof(mscclKernelEntries)/sizeof(void *);\n  hipFuncAttributes attr = {0};\n  size_t max = 0;\n  for (int i = 0; i < numMscclKerns; i++) {\n    if (mscclKernelEntries[i] != nullptr) {\n      CUDACHECKGOTO(hipFuncGetAttributes(&attr, reinterpret_cast<const void*>(mscclKernelEntries[i])), res, error);\n      if (attr.localSizeBytes > max) max = attr.localSizeBytes;\n    }\n  }\n\nerror:\n  return (res != ncclSuccess) ? 0 : max;\n}\n\nncclResult_t mscclInitWorkFifoStatus(mscclWorkFifoStatus* workFifoStatus) {\n  workFifoStatus->workFifoDepth = rcclParamMscclWorkFifoDepth();\n#if defined(HIP_UNCACHED_MEMORY)\n  NCCLCHECK(ncclCudaMalloc(&(workFifoStatus->workFifo), workFifoStatus->workFifoDepth, hipDeviceMallocUncached));\n#else\n  NCCLCHECK(ncclCudaMalloc(&(workFifoStatus->workFifo), workFifoStatus->workFifoDepth, hipDeviceMallocFinegrained));\n#endif\n  NCCLCHECK(ncclCudaHostCalloc(&(workFifoStatus->workFifoDone), MSCCL_MAX_NUM_THREAD_BLOCKS));\n  workFifoStatus->workFifoSent = 0;\n  for (int i = 0; i < MSCCL_MAX_NUM_THREAD_BLOCKS; i++) {\n    workFifoStatus->workFifoSentPerThreadBlock[i] = 0;\n  }\n  workFifoStatus->workFifoAckdMin = 0;\n  return ncclSuccess;\n}\n\nncclResult_t mscclDestroyWorkFifoStatus(mscclWorkFifoStatus* workFifoStatus) {\n  NCCLCHECK(ncclCudaFree(workFifoStatus->workFifo));\n  NCCLCHECK(ncclCudaHostFree(workFifoStatus->workFifoDone));\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/misc/msccl/msccl_status.cc",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#include \"msccl/msccl_status.h\"\n#include \"msccl/msccl_struct.h\"\n\n#include \"debug.h\"\n#include \"comm.h\"\n#include <memory>\n#include <mutex>\n#include <unordered_map>\n\nusing namespace std;\n\nstruct mscclRankState {\n  bool initialized;\n  mscclStatus status;\n  mscclSavedProxyArgs savedProxyArgs;\n\n  mscclRankState() : initialized(false), status(), savedProxyArgs() {}\n  explicit mscclRankState(const mscclRankState&) = default;\n};\n\nstatic mutex rankStatesMutex;\n/*\n * @brief rankStates is intended to hold mscclRankState for each communicator in a rccl process.\n * \"rankStates\" is not threadsafe, hence read/writes on this data strcutures need to be handled explicitly by\n * block of code that is accessing the elements in this map using a lock guard or any mutual exclusion device.\n */\nstatic unordered_map<ncclComm_t, shared_ptr<mscclRankState>> rankStates;\n\nstatic inline mscclRankState& mscclGetRankState(const ncclComm_t comm) {\n  //the following condition comm == nullptr evaluates true when mscclAvailable() called with default params\n  if (comm == nullptr) {\n    static thread_local shared_ptr<mscclRankState> threadRankState(new mscclRankState());\n    return *threadRankState;\n  }\n\n  lock_guard<mutex> lock(rankStatesMutex);\n\n  auto rankStateIt = rankStates.find(comm);\n  if (rankStateIt == rankStates.end()) {\n    // Create a per rank threadRankState rather than per thread\n    shared_ptr<mscclRankState> newthreadRankState(new mscclRankState());\n    // newthreadRankState->rank = rank;\n    rankStateIt = rankStates.insert(make_pair(comm, newthreadRankState)).first;\n  }\n  return *(rankStateIt->second);\n}\n\nbool mscclInitialized(const ncclComm_t comm) {\n  return mscclGetRankState(comm).initialized;\n}\n\nvoid mscclSetInitialized(const ncclComm_t comm, bool initialized) {\n  auto& state = mscclGetRankState(comm);\n  assert(!initialized || !state.initialized);\n  state.initialized = initialized;\n}\n\nvoid mscclRemoveRank(const ncclComm_t comm) {\n  lock_guard<mutex> lock(rankStatesMutex);\n  rankStates.erase(comm);\n}\n\nmscclStatus& mscclGetStatus(const ncclComm_t comm) {\n  return mscclGetRankState(comm).status;\n}\n\nmscclThreadLocalStatus& mscclGetThreadLocalStatus() {\n  static thread_local mscclThreadLocalStatus threadLocalStatus;\n  return threadLocalStatus;\n}\n\nmscclSavedProxyArgs& mscclGetSavedProxyArgs(const ncclComm_t comm) {\n  return mscclGetRankState(comm).savedProxyArgs;\n}\n"
  },
  {
    "path": "src/misc/mscclpp/mscclpp_nccl.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt and NOTICES.txt for license information\n ************************************************************************/\n\n#include \"mscclpp/mscclpp_nccl.h\"\n\nstd::unordered_map<ncclUniqueId, mscclppUniqueId> mscclpp_uniqueIdMap;\nstd::unordered_map<mscclppUniqueId, std::unordered_set<ncclUniqueId>> mscclpp_uniqueIdReverseMap;\nstd::unordered_map<mscclppComm_t, mscclppUniqueId> mscclpp_commToUniqueIdMap;\nstd::unordered_map<ncclComm_t, ncclUniqueId> ncclCommToUniqueIdMap;\n"
  },
  {
    "path": "src/misc/mscclpp/mscclpp_nccl_syms.txt",
    "content": "# > ${PROJECT_BINARY_DIR}/mscclpp_nccl_syms.txt; \n# for sym in $(nm -fjust-symbols ${MSCCLPP_ROOT}/lib/libmscclpp_nccl_static.a | grep \"^nccl\"); do \n#     echo $sym mscclpp_$sym>> ${PROJECT_BINARY_DIR}/mscclpp_nccl_syms.txt;\n# done\nncclAllGather mscclpp_ncclAllGather\nncclAllReduce mscclpp_ncclAllReduce\nncclAllToAll mscclpp_ncclAllToAll\nncclBcast mscclpp_ncclBcast\nncclBroadcast mscclpp_ncclBroadcast\nncclCommAbort mscclpp_ncclCommAbort\nncclCommCount mscclpp_ncclCommCount\nncclCommCuDevice mscclpp_ncclCommCuDevice\nncclCommDestroy mscclpp_ncclCommDestroy\nncclCommFinalize mscclpp_ncclCommFinalize\nncclCommGetAsyncError mscclpp_ncclCommGetAsyncError\nncclCommInitAll mscclpp_ncclCommInitAll\nncclCommInitRank mscclpp_ncclCommInitRank\nncclCommInitRankConfig mscclpp_ncclCommInitRankConfig\nncclCommSplit mscclpp_ncclCommSplit\nncclCommUserRank mscclpp_ncclCommUserRank\nncclGetErrorString mscclpp_ncclGetErrorString\nncclGetLastError mscclpp_ncclGetLastError\nncclGetUniqueId mscclpp_ncclGetUniqueId\nncclGetVersion mscclpp_ncclGetVersion\nncclGroupEnd mscclpp_ncclGroupEnd\nncclGroupStart mscclpp_ncclGroupStart\nncclRecv mscclpp_ncclRecv\nncclRedOpCreatePreMulSum mscclpp_ncclRedOpCreatePreMulSum\nncclRedOpDestroy mscclpp_ncclRedOpDestroy\nncclReduce mscclpp_ncclReduce\nncclReduceScatter mscclpp_ncclReduceScatter\nncclSend mscclpp_ncclSend\nncclCommRegister mscclpp_ncclCommRegister\nncclCommDeregister mscclpp_ncclCommDeregister\nncclMemAlloc mscclpp_ncclMemAlloc\nncclMemFree mscclpp_ncclMemFree\n"
  },
  {
    "path": "src/misc/npkit.cc",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#include <chrono>\n#include <fstream>\n#include <unistd.h>\n\n#include \"alloc.h\"\n#include \"npkit/npkit.h\"\n#include \"archinfo.h\"\n\nuint64_t NpKit::rank_ = 0;\n\nNpKitEvent** NpKit::gpu_event_buffers_ = nullptr;\nNpKitEvent** NpKit::cpu_event_buffers_ = nullptr;\n\nNpKitEventCollectContext* NpKit::gpu_collect_contexts_ = nullptr;\nNpKitEventCollectContext* NpKit::cpu_collect_contexts_ = nullptr;\n\nuint64_t* NpKit::cpu_timestamp_ = nullptr;\n\nstd::thread* NpKit::cpu_timestamp_update_thread_ = nullptr;\nvolatile bool NpKit::cpu_timestamp_update_thread_should_stop_ = false;\n\nvoid NpKit::CpuTimestampUpdateThread() {\n  uint64_t init_system_clock = std::chrono::system_clock::now().time_since_epoch().count();\n  uint64_t init_steady_clock = std::chrono::steady_clock::now().time_since_epoch().count();\n  uint64_t curr_steady_clock = 0;\n  while (!cpu_timestamp_update_thread_should_stop_) {\n    for (int c = 0; c < MAXCHANNELS; c++) {\n      volatile uint64_t* volatile_cpu_timestamp_ = (volatile uint64_t*)((uint8_t *)cpu_timestamp_ + 128*c);\n      curr_steady_clock = std::chrono::steady_clock::now().time_since_epoch().count();\n      __atomic_store_n(volatile_cpu_timestamp_, init_system_clock + (curr_steady_clock - init_steady_clock), __ATOMIC_RELAXED);\n    }\n  }\n}\n\nncclResult_t NpKit::Init(int rank) {\n  WARN(\"NPKit is deprecated and will be removed in a future version of RCCL. Please consider using alternative profiling tools.\");\n  uint64_t i = 0;\n  NpKitEventCollectContext ctx;\n  ctx.event_buffer_head = 0;\n  rank_ = rank;\n\n  // Init event data structures\n  NCCLCHECK(ncclCalloc(&gpu_event_buffers_, kNumGpuEventBuffers));\n  NCCLCHECK(ncclCudaCalloc(&gpu_collect_contexts_, kNumGpuEventBuffers));\n  for (i = 0; i < kNumGpuEventBuffers; i++) {\n    NCCLCHECK(ncclCudaCalloc(gpu_event_buffers_ + i, kMaxNumGpuEventsPerBuffer));\n    ctx.event_buffer = gpu_event_buffers_[i];\n    NCCLCHECK(ncclCudaMemcpy(gpu_collect_contexts_ + i, &ctx, 1));\n  }\n\n  NCCLCHECK(ncclCalloc(&cpu_event_buffers_, kNumCpuEventBuffers));\n  NCCLCHECK(ncclCalloc(&cpu_collect_contexts_, kNumCpuEventBuffers));\n  for (i = 0; i < kNumCpuEventBuffers; i++) {\n    NCCLCHECK(ncclCalloc(cpu_event_buffers_ + i, kMaxNumCpuEventsPerBuffer));\n    ctx.event_buffer = cpu_event_buffers_[i];\n    cpu_collect_contexts_[i] = ctx;\n  }\n\n  // Init timestamp. Allocates MAXCHANNELS*128 bytes buffer for GPU\n  NCCLCHECK(ncclCudaHostCalloc(&cpu_timestamp_, MAXCHANNELS*128/sizeof(cpu_timestamp_)));\n  volatile uint64_t* volatile_cpu_timestamp = cpu_timestamp_;\n  *volatile_cpu_timestamp = std::chrono::system_clock::now().time_since_epoch().count();\n  cpu_timestamp_update_thread_should_stop_ = false;\n  cpu_timestamp_update_thread_ = new std::thread(CpuTimestampUpdateThread);\n\n  return ncclSuccess;\n}\n\nncclResult_t NpKit::Dump(const std::string& dump_dir) {\n  uint64_t i = 0;\n  std::string dump_file_path;\n\n  // Dump CPU events\n  for (i = 0; i < kNumCpuEventBuffers; i++) {\n    dump_file_path = dump_dir;\n    dump_file_path += \"/cpu_events_rank_\";\n    dump_file_path += std::to_string(rank_);\n    dump_file_path += \"_channel_\";\n    dump_file_path += std::to_string(i);\n    auto cpu_trace_file = std::fstream(dump_file_path, std::ios::out | std::ios::binary);\n    cpu_trace_file.write(reinterpret_cast<char*>(cpu_event_buffers_[i]),\n        cpu_collect_contexts_[i].event_buffer_head * sizeof(NpKitEvent));\n    cpu_trace_file.close();\n  }\n\n  // Dump CPU clock info\n  dump_file_path = dump_dir;\n  dump_file_path += \"/cpu_clock_period_num_rank_\";\n  dump_file_path += std::to_string(rank_);\n  std::string clock_period_num_str = std::to_string(std::chrono::steady_clock::duration::period::num);\n  auto clock_period_num_file = std::fstream(dump_file_path, std::ios::out);\n  clock_period_num_file.write(clock_period_num_str.c_str(), clock_period_num_str.length());\n  clock_period_num_file.close();\n\n  dump_file_path = dump_dir;\n  dump_file_path += \"/cpu_clock_period_den_rank_\";\n  dump_file_path += std::to_string(rank_);\n  std::string clock_period_den_str = std::to_string(std::chrono::steady_clock::duration::period::den);\n  auto clock_period_den_file = std::fstream(dump_file_path, std::ios::out);\n  clock_period_den_file.write(clock_period_den_str.c_str(), clock_period_den_str.length());\n  clock_period_den_file.close();\n\n  // Dump GPU events, reuse CPU struct\n  for (i = 0; i < kNumGpuEventBuffers; i++) {\n    dump_file_path = dump_dir;\n    dump_file_path += \"/gpu_events_rank_\";\n    dump_file_path += std::to_string(rank_);\n    dump_file_path += \"_buf_\";\n    dump_file_path += std::to_string(i);\n    NCCLCHECK(ncclCudaMemcpy(cpu_event_buffers_[0], gpu_event_buffers_[i], kMaxNumGpuEventsPerBuffer));\n    NCCLCHECK(ncclCudaMemcpy(cpu_collect_contexts_, gpu_collect_contexts_ + i, 1));\n    auto gpu_trace_file = std::fstream(dump_file_path, std::ios::out | std::ios::binary);\n    gpu_trace_file.write(reinterpret_cast<char*>(cpu_event_buffers_[0]),\n        cpu_collect_contexts_[0].event_buffer_head * sizeof(NpKitEvent));\n    gpu_trace_file.close();\n  }\n\n  // Dump GPU clockRate\n  dump_file_path = dump_dir;\n  dump_file_path += \"/gpu_clock_rate_rank_\";\n  dump_file_path += std::to_string(rank_);\n  // get the rtc frequency directly from HIP itself (via a wrapper)\n  double vega_gpu_rtc_freq_in_khz = GetDeviceWallClockRateInKhz(0);\n  std::string clock_rate_str = std::to_string(vega_gpu_rtc_freq_in_khz);\n  auto gpu_clock_rate_file = std::fstream(dump_file_path, std::ios::out);\n  gpu_clock_rate_file.write(clock_rate_str.c_str(), clock_rate_str.length());\n  gpu_clock_rate_file.close();\n\n  return ncclSuccess;\n}\n\nncclResult_t NpKit::Shutdown() {\n  uint64_t i = 0;\n\n  // Stop CPU timestamp updating thread\n  cpu_timestamp_update_thread_should_stop_ = true;\n  cpu_timestamp_update_thread_->join();\n\n  // Free CPU event data structures\n  for (i = 0; i < kNumCpuEventBuffers; i++) {\n    free(cpu_event_buffers_[i]);\n  }\n  free(cpu_event_buffers_);\n  free(cpu_collect_contexts_);\n\n  // Free GPU event data structures\n  for (i = 0; i < kNumGpuEventBuffers; i++) {\n    CUDACHECK(hipFree(gpu_event_buffers_[i]));\n  }\n  free(gpu_event_buffers_);\n  CUDACHECK(hipFree(gpu_collect_contexts_));\n\n  // Free timestamp\n  NCCLCHECK(ncclCudaHostFree(cpu_timestamp_));\n\n  return ncclSuccess;\n}\n\nNpKitEventCollectContext* NpKit::GetGpuEventCollectContexts() {\n  return gpu_collect_contexts_;\n}\n\nvoid NpKit::CollectCpuEvent(uint8_t type, int64_t size, uint32_t rsvd, uint64_t timestamp, int channel_id) {\n  uint64_t event_buffer_head = cpu_collect_contexts_[channel_id].event_buffer_head;\n  if (event_buffer_head < kMaxNumCpuEventsPerBuffer) {\n    NpKitEvent& event = cpu_collect_contexts_[channel_id].event_buffer[event_buffer_head];\n    event.fields.type = type;\n    event.fields.size = size < 0 ? 0 : size;\n    event.fields.rsvd = rsvd;\n    event.fields.timestamp = timestamp;\n    cpu_collect_contexts_[channel_id].event_buffer_head++;\n  }\n}\n\nuint64_t* NpKit::GetCpuTimestamp() {\n  return cpu_timestamp_;\n}\n"
  },
  {
    "path": "src/misc/nvmlwrap.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nvmlwrap.h\"\n#include \"checks.h\"\n#include \"debug.h\"\n\n#include <initializer_list>\n#include <memory>\n#include <mutex>\n\nint ncclNvmlDeviceCount = 0;\nncclNvmlDeviceInfo ncclNvmlDevices[ncclNvmlMaxDevices];\nncclNvmlDevicePairInfo ncclNvmlDevicePairs[ncclNvmlMaxDevices][ncclNvmlMaxDevices];\n\n#if NCCL_NVML_DIRECT\n  #define NCCL_NVML_FN(name, rettype, arglist) constexpr rettype(*pfn_##name)arglist = name;\n#else\n  #include <dlfcn.h>\n  #define NCCL_NVML_FN(name, rettype, arglist) rettype(*pfn_##name)arglist = nullptr;\n#endif\n\nnamespace {\n  NCCL_NVML_FN(nvmlInit, nvmlReturn_t, ())\n  NCCL_NVML_FN(nvmlInit_v2, nvmlReturn_t, ())\n  NCCL_NVML_FN(nvmlShutdown, nvmlReturn_t, ())\n  NCCL_NVML_FN(nvmlDeviceGetCount, nvmlReturn_t, (unsigned int*))\n  NCCL_NVML_FN(nvmlDeviceGetCount_v2, nvmlReturn_t, (unsigned int*))\n  NCCL_NVML_FN(nvmlDeviceGetHandleByPciBusId, nvmlReturn_t, (const char* pciBusId, nvmlDevice_t* device))\n  NCCL_NVML_FN(nvmlDeviceGetHandleByIndex, nvmlReturn_t, (unsigned int index, nvmlDevice_t *device))\n  NCCL_NVML_FN(nvmlDeviceGetIndex, nvmlReturn_t, (nvmlDevice_t device, unsigned* index))\n  NCCL_NVML_FN(nvmlErrorString, char const*, (nvmlReturn_t r))\n  NCCL_NVML_FN(nvmlDeviceGetNvLinkState, nvmlReturn_t, (nvmlDevice_t device, unsigned int link, nvmlEnableState_t *isActive))\n  NCCL_NVML_FN(nvmlDeviceGetNvLinkRemotePciInfo, nvmlReturn_t, (nvmlDevice_t device, unsigned int link, nvmlPciInfo_t *pci))\n  NCCL_NVML_FN(nvmlDeviceGetNvLinkCapability, nvmlReturn_t, (nvmlDevice_t device, unsigned int link, nvmlNvLinkCapability_t capability, unsigned int *capResult))\n  NCCL_NVML_FN(nvmlDeviceGetCudaComputeCapability, nvmlReturn_t, (nvmlDevice_t device, int* major, int* minor))\n  NCCL_NVML_FN(nvmlDeviceGetP2PStatus, nvmlReturn_t, (nvmlDevice_t device1, nvmlDevice_t device2, nvmlGpuP2PCapsIndex_t p2pIndex, nvmlGpuP2PStatus_t* p2pStatus))\n  NCCL_NVML_FN(nvmlDeviceGetFieldValues, nvmlReturn_t, (nvmlDevice_t device, int valuesCount, nvmlFieldValue_t *values))\n  // MNNVL support\n  NCCL_NVML_FN(nvmlDeviceGetGpuFabricInfoV, nvmlReturn_t, (nvmlDevice_t device, nvmlGpuFabricInfoV_t *gpuFabricInfo))\n  NCCL_NVML_FN(nvmlDeviceGetPlatformInfo, nvmlReturn_t, (nvmlDevice_t device, nvmlPlatformInfo_t *platfromInfo))\n  // CC support\n  NCCL_NVML_FN(nvmlSystemGetConfComputeState, nvmlReturn_t, (nvmlConfComputeSystemState_t *state));\n  NCCL_NVML_FN(nvmlSystemGetConfComputeSettings, nvmlReturn_t, (nvmlSystemConfComputeSettings_t *setting));\n\n  std::mutex lock; // NVML has had some thread safety bugs\n  bool initialized = false;\n  thread_local bool threadInitialized = false;\n  ncclResult_t initResult;\n\n  union nvmlCCInfoInternal {\n    nvmlConfComputeSystemState_t settingV12020;\n    nvmlSystemConfComputeSettings_t settingV12040;\n  };\n}\n\nncclResult_t ncclNvmlEnsureInitialized() {\n  // Optimization to avoid repeatedly grabbing the lock when we only want to\n  // read from the global tables.\n  if (threadInitialized) return initResult;\n  threadInitialized = true;\n\n  std::lock_guard<std::mutex> locked(lock);\n\n  if (initialized) return initResult;\n  initialized = true;\n\n  #if !NCCL_NVML_DIRECT\n  if (pfn_nvmlInit == nullptr) {\n    void *libhandle = dlopen(\"libnvidia-ml.so.1\", RTLD_NOW);\n    if (libhandle == nullptr) {\n      WARN(\"Failed to open libnvidia-ml.so.1\");\n      initResult = ncclSystemError;\n      return initResult;\n    }\n\n    struct Symbol { void **ppfn; char const *name; };\n    std::initializer_list<Symbol> symbols = {\n      {(void**)&pfn_nvmlInit, \"nvmlInit\"},\n      {(void**)&pfn_nvmlInit_v2, \"nvmlInit_v2\"},\n      {(void**)&pfn_nvmlShutdown, \"nvmlShutdown\"},\n      {(void**)&pfn_nvmlDeviceGetCount, \"nvmlDeviceGetCount\"},\n      {(void**)&pfn_nvmlDeviceGetCount_v2, \"nvmlDeviceGetCount_v2\"},\n      {(void**)&pfn_nvmlDeviceGetHandleByPciBusId, \"nvmlDeviceGetHandleByPciBusId\"},\n      {(void**)&pfn_nvmlDeviceGetHandleByIndex, \"nvmlDeviceGetHandleByIndex\"},\n      {(void**)&pfn_nvmlDeviceGetIndex, \"nvmlDeviceGetIndex\"},\n      {(void**)&pfn_nvmlErrorString, \"nvmlErrorString\"},\n      {(void**)&pfn_nvmlDeviceGetNvLinkState, \"nvmlDeviceGetNvLinkState\"},\n      {(void**)&pfn_nvmlDeviceGetNvLinkRemotePciInfo, \"nvmlDeviceGetNvLinkRemotePciInfo\"},\n      {(void**)&pfn_nvmlDeviceGetNvLinkCapability, \"nvmlDeviceGetNvLinkCapability\"},\n      {(void**)&pfn_nvmlDeviceGetCudaComputeCapability, \"nvmlDeviceGetCudaComputeCapability\"},\n      {(void**)&pfn_nvmlDeviceGetP2PStatus, \"nvmlDeviceGetP2PStatus\"},\n      {(void**)&pfn_nvmlDeviceGetFieldValues, \"nvmlDeviceGetFieldValues\"},\n      // MNNVL support\n      {(void**)&pfn_nvmlDeviceGetGpuFabricInfoV, \"nvmlDeviceGetGpuFabricInfoV\"},\n      {(void**)&pfn_nvmlDeviceGetPlatformInfo, \"nvmlDeviceGetPlatformInfo\"},\n      // CC support\n      {(void**)&pfn_nvmlSystemGetConfComputeState, \"nvmlSystemGetConfComputeState\"},\n      {(void**)&pfn_nvmlSystemGetConfComputeSettings, \"nvmlSystemGetConfComputeSettings\"}\n    };\n    for(Symbol sym: symbols) {\n      *sym.ppfn = dlsym(libhandle, sym.name);\n    }\n    // Coverity complains that we never dlclose this object, but that's\n    // deliberate, since we want the loaded object to remain in memory until\n    // the process terminates, so that we can use its code.\n    // coverity[leaked_storage]\n  }\n  #endif\n\n  #if NCCL_NVML_DIRECT\n    bool have_v2 = true;\n  #else\n    bool have_v2 = pfn_nvmlInit_v2 != nullptr; // if this compare is done in the NCCL_NVML_DIRECT=1 case then GCC warns about it never being null\n  #endif\n  nvmlReturn_t res1 = (have_v2 ? pfn_nvmlInit_v2 : pfn_nvmlInit)();\n  if (res1 != NVML_SUCCESS) {\n    WARN(\"nvmlInit%s() failed: %s\", have_v2 ? \"_v2\" : \"\", pfn_nvmlErrorString(res1));\n    initResult = ncclSystemError;\n    return initResult;\n  }\n\n  unsigned int ndev;\n  res1 = (have_v2 ? pfn_nvmlDeviceGetCount_v2 : pfn_nvmlDeviceGetCount)(&ndev);\n  if (res1 != NVML_SUCCESS) {\n    WARN(\"nvmlDeviceGetCount%s() failed: %s\", have_v2 ? \"_v2\" :\"\", pfn_nvmlErrorString(res1));\n    initResult = ncclSystemError;\n    return initResult;\n  }\n\n  ncclNvmlDeviceCount = int(ndev);\n  if (ncclNvmlMaxDevices < ncclNvmlDeviceCount) {\n    WARN(\"nvmlDeviceGetCount() reported more devices (%d) than the internal maximum (ncclNvmlMaxDevices=%d)\", ncclNvmlDeviceCount, ncclNvmlMaxDevices);\n    initResult = ncclInternalError;\n    return initResult;\n  }\n\n  for(int a=0; a < ncclNvmlDeviceCount; a++) {\n    res1 = pfn_nvmlDeviceGetHandleByIndex(a, &ncclNvmlDevices[a].handle);\n    if (res1 != NVML_SUCCESS) {\n      WARN(\"nvmlDeviceGetHandleByIndex(%d) failed: %s\", int(a), pfn_nvmlErrorString(res1));\n      initResult = ncclSystemError;\n      return initResult;\n    }\n\n    res1 = pfn_nvmlDeviceGetCudaComputeCapability(ncclNvmlDevices[a].handle, &ncclNvmlDevices[a].computeCapabilityMajor, &ncclNvmlDevices[a].computeCapabilityMinor);\n    if (res1 != NVML_SUCCESS) {\n      WARN(\"nvmlDeviceGetCudaComputeCapability(%d) failed: %s\", int(a), pfn_nvmlErrorString(res1));\n      initResult = ncclSystemError;\n      return initResult;\n    }\n  }\n\n  for(int a=0; a < ncclNvmlDeviceCount; a++) {\n    for(int b=0; b < ncclNvmlDeviceCount; b++) {\n      nvmlDevice_t da = ncclNvmlDevices[a].handle;\n      nvmlDevice_t db = ncclNvmlDevices[b].handle;\n\n      res1 = pfn_nvmlDeviceGetP2PStatus(da, db, NVML_P2P_CAPS_INDEX_READ, &ncclNvmlDevicePairs[a][b].p2pStatusRead);\n      if (res1 != NVML_SUCCESS) {\n        WARN(\"nvmlDeviceGetP2PStatus(%d,%d,NVML_P2P_CAPS_INDEX_READ) failed: %s\", a, b, pfn_nvmlErrorString(res1));\n        initResult = ncclSystemError;\n        return initResult;\n      }\n\n      res1 = pfn_nvmlDeviceGetP2PStatus(da, db, NVML_P2P_CAPS_INDEX_WRITE, &ncclNvmlDevicePairs[a][b].p2pStatusWrite);\n      if (res1 != NVML_SUCCESS) {\n        WARN(\"nvmlDeviceGetP2PStatus(%d,%d,NVML_P2P_CAPS_INDEX_READ) failed: %s\", a, b, pfn_nvmlErrorString(res1));\n        initResult = ncclSystemError;\n        return initResult;\n      }\n    }\n  }\n\n  initResult = ncclSuccess;\n  return initResult;\n}\n\n#define NVMLCHECK(name, ...) do { \\\n  nvmlReturn_t e44241808 = pfn_##name(__VA_ARGS__); \\\n  if (e44241808 != NVML_SUCCESS) { \\\n    WARN(#name \"() failed: %s\", pfn_nvmlErrorString(e44241808)); \\\n    return ncclSystemError; \\\n  } \\\n} while(0)\n\n#define NVMLTRY(name, ...) do { \\\n  if (!NCCL_NVML_DIRECT && pfn_##name == nullptr) \\\n    return ncclInternalError; /* missing symbol is not a warned error */ \\\n  nvmlReturn_t e44241808 = pfn_##name(__VA_ARGS__); \\\n  if (e44241808 != NVML_SUCCESS) { \\\n    if (e44241808 != NVML_ERROR_NOT_SUPPORTED) \\\n      INFO(NCCL_INIT, #name \"() failed: %s\", pfn_nvmlErrorString(e44241808)); \\\n    return ncclSystemError; \\\n  } \\\n} while(0)\n\nncclResult_t ncclNvmlDeviceGetHandleByPciBusId(const char* pciBusId, nvmlDevice_t* device) {\n  NCCLCHECK(ncclNvmlEnsureInitialized());\n  std::lock_guard<std::mutex> locked(lock);\n  NVMLCHECK(nvmlDeviceGetHandleByPciBusId, pciBusId, device);\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvmlDeviceGetHandleByIndex(unsigned int index, nvmlDevice_t *device) {\n  NCCLCHECK(ncclNvmlEnsureInitialized());\n  *device = ncclNvmlDevices[index].handle;\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvmlDeviceGetIndex(nvmlDevice_t device, unsigned* index) {\n  NCCLCHECK(ncclNvmlEnsureInitialized());\n  for (int d=0; d < ncclNvmlDeviceCount; d++) {\n    if (ncclNvmlDevices[d].handle == device) {\n      *index = d;\n      return ncclSuccess;\n    }\n  }\n  return ncclInvalidArgument;\n}\n\nncclResult_t ncclNvmlDeviceGetNvLinkState(nvmlDevice_t device, unsigned int link, nvmlEnableState_t *isActive) {\n  NCCLCHECK(ncclNvmlEnsureInitialized());\n  std::lock_guard<std::mutex> locked(lock);\n  NVMLTRY(nvmlDeviceGetNvLinkState, device, link, isActive);\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvmlDeviceGetNvLinkRemotePciInfo(nvmlDevice_t device, unsigned int link, nvmlPciInfo_t *pci) {\n  NCCLCHECK(ncclNvmlEnsureInitialized());\n  std::lock_guard<std::mutex> locked(lock);\n  NVMLTRY(nvmlDeviceGetNvLinkRemotePciInfo, device, link, pci);\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvmlDeviceGetNvLinkCapability(\n    nvmlDevice_t device, unsigned int link, nvmlNvLinkCapability_t capability,\n    unsigned int *capResult\n  ) {\n  NCCLCHECK(ncclNvmlEnsureInitialized());\n  std::lock_guard<std::mutex> locked(lock);\n  NVMLTRY(nvmlDeviceGetNvLinkCapability, device, link, capability, capResult);\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvmlDeviceGetCudaComputeCapability(nvmlDevice_t device, int* major, int* minor) {\n  NCCLCHECK(ncclNvmlEnsureInitialized());\n\n  for(int d=0; d < ncclNvmlDeviceCount; d++) {\n    if(device == ncclNvmlDevices[d].handle) {\n      *major = ncclNvmlDevices[d].computeCapabilityMajor;\n      *minor = ncclNvmlDevices[d].computeCapabilityMinor;\n      return ncclSuccess;\n    }\n  }\n  return ncclInvalidArgument;\n}\n\nncclResult_t ncclNvmlDeviceGetP2PStatus(\n    nvmlDevice_t device1, nvmlDevice_t device2, nvmlGpuP2PCapsIndex_t p2pIndex,\n    nvmlGpuP2PStatus_t* p2pStatus\n  ) {\n  NCCLCHECK(ncclNvmlEnsureInitialized());\n\n  if (p2pIndex == NVML_P2P_CAPS_INDEX_READ || p2pIndex == NVML_P2P_CAPS_INDEX_WRITE) {\n    int a = -1, b = -1;\n    for(int d=0; d < ncclNvmlDeviceCount; d++) {\n      if(device1 == ncclNvmlDevices[d].handle) a = d;\n      if(device2 == ncclNvmlDevices[d].handle) b = d;\n    }\n    if (a == -1 || b == -1) return ncclInvalidArgument;\n    if (p2pIndex == NVML_P2P_CAPS_INDEX_READ)\n      *p2pStatus = ncclNvmlDevicePairs[a][b].p2pStatusRead;\n    else\n      *p2pStatus = ncclNvmlDevicePairs[a][b].p2pStatusWrite;\n  }\n  else {\n    std::lock_guard<std::mutex> locked(lock);\n    NVMLCHECK(nvmlDeviceGetP2PStatus, device1, device2, p2pIndex, p2pStatus);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvmlDeviceGetFieldValues(nvmlDevice_t device, int valuesCount, nvmlFieldValue_t *values) {\n  NCCLCHECK(ncclNvmlEnsureInitialized());\n  std::lock_guard<std::mutex> locked(lock);\n  NVMLTRY(nvmlDeviceGetFieldValues, device, valuesCount, values);\n  return ncclSuccess;\n}\n\n// MNNVL support\nncclResult_t ncclNvmlDeviceGetGpuFabricInfoV(nvmlDevice_t device, nvmlGpuFabricInfoV_t *gpuFabricInfo) {\n  NCCLCHECK(ncclNvmlEnsureInitialized());\n  std::lock_guard<std::mutex> locked(lock);\n  gpuFabricInfo->version = nvmlGpuFabricInfo_v2;\n  NVMLTRY(nvmlDeviceGetGpuFabricInfoV, device, gpuFabricInfo);\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvmlDeviceGetPlatformInfo(nvmlDevice_t device, nvmlPlatformInfo_t *platformInfo) {\n  NCCLCHECK(ncclNvmlEnsureInitialized());\n  std::lock_guard<std::mutex> locked(lock);\n  platformInfo->version = nvmlPlatformInfo_v2;\n  NVMLTRY(nvmlDeviceGetPlatformInfo, device, platformInfo);\n  return ncclSuccess;\n}\n\n\nncclResult_t ncclNvmlGetCCStatus(struct ncclNvmlCCStatus *status) {\n  NCCLCHECK(ncclNvmlEnsureInitialized());\n  std::lock_guard<std::mutex> locked(lock);\n  nvmlCCInfoInternal ccInfo;\n  if (pfn_nvmlSystemGetConfComputeSettings != NULL) {\n    ccInfo.settingV12040.version = nvmlSystemConfComputeSettings_v1;\n    NVMLTRY(nvmlSystemGetConfComputeSettings, &ccInfo.settingV12040);\n    if (ccInfo.settingV12040.ccFeature == NVML_CC_SYSTEM_FEATURE_ENABLED)\n      status->CCEnabled = true;\n    else\n      status->CCEnabled = false;\n\n    if (ccInfo.settingV12040.multiGpuMode == NVML_CC_SYSTEM_MULTIGPU_PROTECTED_PCIE)\n      status->multiGpuProtectedPCIE = true;\n    else\n      status->multiGpuProtectedPCIE = false;\n    if (ccInfo.settingV12040.multiGpuMode == NVML_CC_SYSTEM_MULTIGPU_NVLE)\n      status->multiGpuNVLE = true;\n    else\n      status->multiGpuNVLE = false;\n  } else if (pfn_nvmlSystemGetConfComputeState != NULL) {\n    NVMLTRY(nvmlSystemGetConfComputeState, &ccInfo.settingV12020);\n    if (ccInfo.settingV12020.ccFeature == NVML_CC_SYSTEM_FEATURE_ENABLED)\n      status->CCEnabled = true;\n    else\n      status->CCEnabled = false;\n    status->multiGpuProtectedPCIE = false;\n    status->multiGpuNVLE = false;\n  } else {\n    status->CCEnabled = false;\n    status->multiGpuProtectedPCIE = false;\n    status->multiGpuNVLE = false;\n  }\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/misc/nvmlwrap_stub.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2021 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nvmlwrap.h\"\n\nncclResult_t ncclNvmlSymbols(void) {\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvmlInit(void) {\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvmlShutdown(void) {\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvmlDeviceGetHandleByPciBusId(const char* pciBusId, nvmlDevice_t* device) {\n  return ncclSystemError;\n}\n\nncclResult_t ncclNvmlDeviceGetIndex(nvmlDevice_t device, unsigned* index) {\n  *index  = 0;\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvmlDeviceGetPciInfo(nvmlDevice_t device, nvmlPciInfo_t* pci) {\n  return ncclSystemError;\n}\n\nncclResult_t ncclNvmlDeviceGetMinorNumber(nvmlDevice_t device, unsigned int* minorNumber) {\n  *minorNumber = 0;\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvmlDeviceGetNvLinkState(nvmlDevice_t device, unsigned int link, nvmlEnableState_t *isActive) {\n  return ncclSystemError;\n}\n\nncclResult_t ncclNvmlDeviceGetNvLinkRemotePciInfo(nvmlDevice_t device, unsigned int link, nvmlPciInfo_t *pci) {\n  return ncclSystemError;\n}\n\nncclResult_t ncclNvmlDeviceGetNvLinkCapability(nvmlDevice_t device, unsigned int link,\n    nvmlNvLinkCapability_t capability, unsigned int *capResult) {\n  return ncclSystemError;\n}\n\nncclResult_t ncclNvmlDeviceGetCudaComputeCapability(nvmlDevice_t device, int* major, int* minor) {\n  *major = *minor = 1;\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/misc/param.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2019-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"param.h\"\n#include \"debug.h\"\n\n#include <algorithm>\n#include <errno.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <sys/types.h>\n#include <unistd.h>\n#include <pthread.h>\n#include <mutex>\n#include <pwd.h>\n\nconst char* userHomeDir() {\n  struct passwd *pwUser = getpwuid(getuid());\n  return pwUser == NULL ? NULL : pwUser->pw_dir;\n}\n\nvoid setEnvFile(const char* fileName) {\n  FILE * file = fopen(fileName, \"r\");\n  if (file == NULL) return;\n\n  char *line = NULL;\n  char envVar[1024];\n  char envValue[1024];\n  size_t n = 0;\n  ssize_t read;\n  while ((read = getline(&line, &n, file)) != -1) {\n    if (line[0] == '#') continue;\n    if (line[read-1] == '\\n') line[read-1] = '\\0';\n    int s=0; // Env Var Size\n    while (line[s] != '\\0' && line[s] != '=') s++;\n    if (line[s] == '\\0') continue;\n    strncpy(envVar, line, std::min(1023,s));\n    envVar[std::min(1023,s)] = '\\0';\n    s++;\n    strncpy(envValue, line+s, 1023);\n    envValue[1023]='\\0';\n    setenv(envVar, envValue, 0);\n    //printf(\"%s : %s->%s\\n\", fileName, envVar, envValue);\n  }\n  if (line) free(line);\n  fclose(file);\n}\n\nstatic void initEnvFunc() {\n  char confFilePath[1024];\n  const char* userFile = getenv(\"NCCL_CONF_FILE\");\n  if (userFile && strlen(userFile) > 0) {\n    snprintf(confFilePath, sizeof(confFilePath), \"%s\", userFile);\n    setEnvFile(confFilePath);\n  } else {\n    const char* userDir = userHomeDir();\n    if (userDir) {\n      snprintf(confFilePath, sizeof(confFilePath), \"%s/.rccl.conf\", userDir);\n      setEnvFile(confFilePath);\n    }\n  }\n  snprintf(confFilePath, sizeof(confFilePath), \"/etc/rccl.conf\");\n  setEnvFile(confFilePath);\n}\n\nvoid initEnv() {\n  static std::once_flag once;\n  std::call_once(once, initEnvFunc);\n}\n\nvoid ncclLoadParam(char const* env, int64_t deftVal, int64_t uninitialized, int64_t* cache) {\n  static std::mutex mutex;\n  std::lock_guard<std::mutex> lock(mutex);\n  if (__atomic_load_n(cache, __ATOMIC_RELAXED) == uninitialized) {\n    const char* str = ncclGetEnv(env);\n    int64_t value = deftVal;\n    if (str && strlen(str) > 0) {\n      errno = 0;\n      value = strtoll(str, nullptr, 0);\n      if (errno) {\n        value = deftVal;\n        INFO(NCCL_ALL,\"Invalid value %s for %s, using default %lld.\", str, env, (long long)deftVal);\n      } else {\n        INFO(NCCL_ENV,\"%s set by environment to %lld.\", env, (long long)value);\n      }\n    }\n    __atomic_store_n(cache, value, __ATOMIC_RELAXED);\n  }\n}\n\nconst char* ncclGetEnv(const char* name) {\n  initEnv();\n  return getenv(name);\n}\n"
  },
  {
    "path": "src/misc/proxy_trace/proxy_trace.cc",
    "content": "/*\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n#include \"proxy_trace/proxy_trace.h\"\n#include \"debug.h\"\n#include \"device.h\"\n#include \"proxy.h\"\n#include <map>\n\nconstexpr int32_t kFinishedProxyOpItems = 32;\nstatic std::unordered_map<facebook_rccl::ProxyOpStepStatus, std::string>\n    proxyStepStatusStrMap = {\n        {facebook_rccl::ProxyOpStepStatus::INIT, \"INIT\"},\n        {facebook_rccl::ProxyOpStepStatus::POSTING, \"POSTING\"},\n        {facebook_rccl::ProxyOpStepStatus::SENDING, \"SENDING\"},\n        {facebook_rccl::ProxyOpStepStatus::RECEIVING, \"RECEIVING\"},\n        {facebook_rccl::ProxyOpStepStatus::WAITING_GPU, \"WAITING_GPU\"},\n        {facebook_rccl::ProxyOpStepStatus::FLUSHING, \"FLUSHING\"},\n        {facebook_rccl::ProxyOpStepStatus::DONE, \"DONE\"},\n        {facebook_rccl::ProxyOpStepStatus::UNINITIALIZED, \"ILLEGAL\"},\n};\n\nbool facebook_rccl::ProxyTrace::checkActiveOpExist(uint64_t commHash,\n                                                   uint64_t opCount,\n                                                   uint32_t proxyOpId) const {\n  return (activeOps.find(commHash) != activeOps.end() &&\n          activeOps.at(commHash).find(opCount) !=\n              activeOps.at(commHash).end() &&\n          activeOps.at(commHash).at(opCount).find(proxyOpId) !=\n              activeOps.at(commHash).at(opCount).end());\n}\n\n// Get a unique proxyOpId for a given commHash:opCount\n// If the opCount is not found, create a new entry for it and return 0\nint64_t facebook_rccl::ProxyTrace::getOrCreateProxyOpId(uint64_t commHash,\n                                                        uint64_t opCount) {\n  return activeOpIdTracker[commHash][opCount];\n}\n\nfacebook_rccl::ProxyTraceOp *\nfacebook_rccl::ProxyTrace::getProxyTraceOpPtr(const ProxyTraceRecordKey &key) {\n  if (checkActiveOpExist(key.commHash, key.opCount, key.proxyOpId)) {\n    return &(activeOps.at(key.commHash).at(key.opCount).at(key.proxyOpId));\n  }\n  return nullptr;\n}\n\nvoid facebook_rccl::ProxyTrace::checkOpCompleted(\n    const ProxyTraceRecordKey &key) {\n  if (checkActiveOpExist(key.commHash, key.opCount, key.proxyOpId)) {\n    auto &traceOp = activeOps[key.commHash][key.opCount][key.proxyOpId];\n    // Remove finished proxyOp or colls to avoid memory leak\n    if (traceOp.counters[facebook_rccl::ProxyCounterTypes::DONE] ==\n        traceOp.nSteps) {\n      traceOp.status = ProxyOpStepStatus::DONE;\n      if (finishedOps.size() >= kFinishedProxyOpItems) {\n        finishedOps.pop_front();\n      }\n      finishedOps.push_back({key.str(), traceOp.str()});\n      activeOps[key.commHash][key.opCount].erase(key.proxyOpId);\n      if (activeOps[key.commHash][key.opCount].empty()) {\n        activeOps[key.commHash].erase(key.opCount);\n        activeOpIdTracker[key.commHash].erase(key.opCount);\n      }\n    }\n  } else {\n    WARN(\"[proxyTrace] ProxyTraceOp %s not found\", key.str().c_str());\n  }\n}\n\nvoid facebook_rccl::ProxyTrace::addNewProxyTraceOpImpl(\n    const ProxyTraceRecordKey &key, const ProxyTraceExtraInfo &extraInfo,\n    ProxyOpType opType, int channelId, int nSteps, uint32_t nbytes,\n    int peerRank) {\n  if (nSteps > 0 &&\n      !checkActiveOpExist(key.commHash, key.opCount, key.proxyOpId)) {\n    auto traceOp = facebook_rccl::ProxyTraceOp();\n    traceOp.opType = opType;\n    traceOp.traceKey = key;\n    traceOp.extraInfo = extraInfo;\n    traceOp.channelId = channelId;\n    traceOp.nSteps = nSteps;\n    traceOp.nbytes = nbytes;\n    traceOp.myRank = this->myRank;\n    traceOp.peerRank = peerRank;\n    traceOp.startTs = std::chrono::high_resolution_clock::now();\n    traceOp.status = ProxyOpStepStatus::INIT;\n    activeOpIdTracker[key.commHash][key.opCount]++;\n    activeOps[key.commHash][key.opCount].emplace(key.proxyOpId,\n                                                 std::move(traceOp));\n  } else if (nSteps == 0) {\n    INFO(NCCL_PROXY, \"nSteps is 0, ignored %s\", key.str().c_str());\n  }\n}\n\nvoid facebook_rccl::ProxyTraceOp::computeStatus() {\n  ProxyOpStepStatus newStatus;\n  int posted = counters[facebook_rccl::ProxyCounterTypes::POSTED];\n  int received = counters[facebook_rccl::ProxyCounterTypes::RECEIVED];\n  int transmitted = counters[facebook_rccl::ProxyCounterTypes::TRANSMITTED];\n  int done = counters[facebook_rccl::ProxyCounterTypes::DONE];\n  if (opType == ProxyOpType::RECV) {\n    if (posted < nSteps && posted < done + NCCL_STEPS)\n      newStatus = ProxyOpStepStatus::POSTING; // Init\n    else if (received < posted)\n      newStatus = ProxyOpStepStatus::RECEIVING; // Receiving\n    else if (received < transmitted)\n      newStatus = ProxyOpStepStatus::RECEIVING; // Receiving\n    else if (transmitted < received)\n      newStatus = ProxyOpStepStatus::FLUSHING; // Flushing\n    else if (done < transmitted)\n      newStatus = ProxyOpStepStatus::WAITING_GPU; // Waiting on GPU\n    else\n      newStatus = ProxyOpStepStatus::DONE; // Done\n  } else {\n    if (posted < nSteps && posted < done + NCCL_STEPS)\n      newStatus = ProxyOpStepStatus::POSTING; // Init\n    else if (transmitted < posted)\n      newStatus = ProxyOpStepStatus::WAITING_GPU; // Waiting on GPU\n    else if (done < transmitted)\n      newStatus = ProxyOpStepStatus::SENDING; // Sending\n    else\n      newStatus = ProxyOpStepStatus::DONE; // Done\n  }\n  this->status = newStatus;\n}\n\nstd::string facebook_rccl::ProxyTrace::dump(uint64_t commHash) {\n  std::lock_guard<std::mutex> lock(mutex_);\n  std::string result = fmt::format(\"commDump for commHash:{}\\n\", commHash);\n  std::map<std::string, std::string> sortedDumpStrMap;\n  for (auto &opCountMap : activeOps.at(commHash)) {\n    for (auto &proxyOpMap : opCountMap.second) {\n      ProxyTraceRecordKey traceKey = {commHash, opCountMap.first,\n                                      proxyOpMap.first};\n      proxyOpMap.second.computeStatus();\n      sortedDumpStrMap[traceKey.str()] = proxyOpMap.second.str();\n    }\n  }\n  for (const auto &pair : sortedDumpStrMap) {\n    result += pair.second; //proxyOpStr\n  }\n  return result;\n}\n\nstd::string facebook_rccl::ProxyTrace::dump() {\n  std::lock_guard<std::mutex> lock(mutex_);\n  std::string result = \"commDump for all active ops \";\n  result += fmt::format(\"mapSizeMB:{:.2f}\\n\", getMapSizeMB());\n\n  // maps serialized key to serliazed proxyOp; sorted by key\n  std::map<std::string, std::string> sortedDumpStrMap;\n  for (auto &commHash_opCountMap : activeOps) {\n    for (auto &opCount_proxyOpMap : commHash_opCountMap.second /*opCountMap*/) {\n      for (auto &opId_opEntry : opCount_proxyOpMap.second/*proxyOpMap*/) {\n        ProxyTraceRecordKey traceKey = {commHash_opCountMap.first, opCount_proxyOpMap.first, opId_opEntry.first};\n        opId_opEntry.second.computeStatus();\n        sortedDumpStrMap[traceKey.str()] = opId_opEntry.second.str();\n      }\n    }\n  }\n\n  // add the recent finished ops as well\n  for (const auto &keyStr_proxyOpStr : finishedOps) {\n    sortedDumpStrMap[keyStr_proxyOpStr.first] = keyStr_proxyOpStr.second;\n  }\n  for (const auto &keyStr_proxyOpStr : sortedDumpStrMap) {\n    result += keyStr_proxyOpStr.second;\n  }\n  return result;\n}\n\nstd::string facebook_rccl::ProxyTraceOp::str() {\n  computeStatus();\n  std::string ret = fmt::format(\n      \"createT:{}, lastT:{}, postT:{}, sendT:{}, cntNm:{}, {}, {}, {}->{}({}), \"\n      \"chan:{}, status:{}, ns:{}, nb:{}, po:{}, ke:{}, tail/h:{}, recvT:{}, \"\n      \"connSz/h:{}, trans:{}, flushed:{}, recvd:{}, done:{}\\n\",\n      std::chrono::duration_cast<std::chrono::milliseconds>(\n          startTs.time_since_epoch())\n          .count(),\n      std::chrono::duration_cast<std::chrono::milliseconds>(\n          lastUpdateTs.time_since_epoch())\n          .count(),\n      std::chrono::duration_cast<std::chrono::milliseconds>(\n          timestamps[facebook_rccl::ProxyCounterTypes::POSTED].time_since_epoch())\n          .count(),\n      std::chrono::duration_cast<std::chrono::milliseconds>(\n          timestamps[facebook_rccl::ProxyCounterTypes::KERNEL_COPY_READY].time_since_epoch())\n          .count(),  \n      static_cast<int>(lastUpdatingCounter), traceKey.str(), extraInfo.str(),\n      myRank, peerRank, opType == ProxyOpType::SEND ? \"S\" : \"R\", channelId,\n      proxyStepStatusStrMap[status], nSteps, nbytes,\n      counters[ProxyCounterTypes::POSTED],\n      counters[ProxyCounterTypes::KERNEL_COPY_READY],\n      counters[ProxyCounterTypes::TAIL_OR_HEAD],\n      counters[ProxyCounterTypes::RECV_TAIL],\n      counters[ProxyCounterTypes::FIFO_SZ_OR_HEAD_CACHE],\n      counters[ProxyCounterTypes::TRANSMITTED],\n      counters[ProxyCounterTypes::FLUSHED],\n      counters[ProxyCounterTypes::RECEIVED], counters[ProxyCounterTypes::DONE]);\n  return ret;\n}\n\nfloat facebook_rccl::ProxyTrace::getMapSizeMB() const {\n  float size = 0;\n  for (const auto &commHash_opCountMap : activeOps) {\n    for (const auto &opCount_proxyOpMap : commHash_opCountMap.second) {\n      size += opCount_proxyOpMap.second.size() *\n              (sizeof(ProxyTraceOp) +\n               sizeof(std::unique_ptr<facebook_rccl::ProxyTraceOp>));\n    }\n  }\n  for (const auto &keyStr_proxyOpStr : finishedOps) {\n    size += keyStr_proxyOpStr.first.size() + keyStr_proxyOpStr.second.size();\n  }\n  return size / 1024.0 / 1024.0;\n}\n\nvoid facebook_rccl::ProxyTrace::updateProxyOpCounter(\n    const ProxyTraceRecordKey& traceKey,\n    ProxyCounterTypes counter,\n    int64_t val) {\n  std::lock_guard<std::mutex> lock(mutex_);\n  auto traceOpPtr = getProxyTraceOpPtr(traceKey);\n  if (traceOpPtr) {\n    traceOpPtr->counters[counter] = val;\n    traceOpPtr->lastUpdateTs = std::chrono::high_resolution_clock::now();\n    traceOpPtr->lastUpdatingCounter = counter;\n    checkOpCompleted(traceKey);\n  }\n}\n\nvoid facebook_rccl::ProxyTrace::setProxyOpTimestamp(\n    const ProxyTraceRecordKey& traceKey,\n    ProxyCounterTypes counter) {\n  std::lock_guard<std::mutex> lock(mutex_);\n  auto traceOpPtr = getProxyTraceOpPtr(traceKey);\n  if (!traceOpPtr || traceOpPtr->timestamps.find(counter) == traceOpPtr->timestamps.end()) {\n    return;\n  }\n\n  traceOpPtr->timestamps[counter] = std::chrono::high_resolution_clock::now();\n}\n\nvoid facebook_rccl::ProxyTrace::addNewProxyOp(\n    ProxyTraceRecordKey& key,\n    const ProxyTraceExtraInfo& extraInfo,\n    ProxyOpType opType,\n    int channelId,\n    int nSteps,\n    uint32_t nbytes,\n    int peerRank) {\n  std::lock_guard<std::mutex> lock(mutex_);\n  auto opId = getOrCreateProxyOpId(key.commHash, key.opCount);\n  key.proxyOpId = opId;\n  addNewProxyTraceOpImpl(\n      key, extraInfo, opType, channelId, nSteps, nbytes, peerRank);\n}\n"
  },
  {
    "path": "src/misc/recorder.cc",
    "content": "/* Copyright © Advanced Micro Devices, Inc., or its affiliates. */\n\n#include \"bootstrap.h\"\n#include \"group.h\"\n#include \"utils.h\"\n#include <cstring>\n#include <string>\n#include <iomanip>\n#include <sys/syscall.h>\n#include \"debug.h\"\n \nusing namespace std::chrono;\n\nnamespace rccl\n{\n__thread int Recorder::rcclReplayThreadIdx = -1;\nint Recorder::depth = 0;\n\nstatic char buffer[4096];\nstatic rcclCall_t lastcall = rrGroupStart; // for trailing comma, need modify for multithread case for Bcast\nvoid indent(int depth, std::ofstream& o) {for (int i = 0; i < depth; i++) o << \" \";}\nvoid newLine(std::ofstream& o) {if (lastcall != rrGroupStart) o << \",\"; o << std::endl;}\nstatic uint64_t hashUniqueId(ncclUniqueId const &id) {\n  char const *bytes = (char const*)&id;\n  uint64_t h = 0xdeadbeef;\n  for(int i=0; i < (int)sizeof(ncclUniqueId); i++) {\n    h ^= h >> 32;\n    h *= 0x8db3db47fa2994ad;\n    h += bytes[i];\n  }\n  return h;\n}\n\nrcclApiCall::rcclApiCall(rcclCall_t type, const ncclInfo& info)://name(rcclCallStr[call.type]), // opName\n                                                                type(type),\n                                                                opCount(info.comm->opCount),\n                                                                sendbuff(info.sendbuff),\n                                                                recvbuff(info.recvbuff),\n                                                                acc(info.acc),\n                                                                count(info.count),\n                                                                datatype(info.datatype),\n                                                                op(info.op),\n                                                                root(info.root),\n                                                                nRanks(info.comm->nRanks),\n                                                                comm(info.comm),\n                                                                stream(info.stream),\n                                                                nTasks(info.comm->planner.nTasksP2p + info.comm->planner.nTasksColl),\n                                                                globalRank(info.comm->localRankToRank[info.comm->localRank])\n{\n  hipMemGetAddressRange(&recvPtrBase, &recvPtrExtent, const_cast<void*>(info.recvbuff)); // should always exist for collectives\n  if (info.sendbuff) // ncclSend/Recv\n  {\n    hipMemGetAddressRange(&sendPtrBase, &sendPtrExtent, const_cast<void*>(info.sendbuff));\n  }\n}\n\nrcclApiCall::rcclApiCall(rcclCall_t type) : type(type){}\n\nstd::string siminfo_fmt = \"[size : %zu, magic : %u, version : %u, estimated time : %f, timestamp : %f]\";\nstd::string config_fmt = \", ncclConfig : [size : %zu, magic : %u, version : %u, blocking : %d, cgaClusterSize : %d, minCTA : %d, maxCTA : %d, netname : %s, splitshare : %d]\";\nstd::string ctxt_fmt = \"time : %lf, thread : %d, device : %d, captured : %d, graphID : %llu ]]\"; // implicit context info\nstd::string ubr_fmt = \"%s : [comm : %p, buff : [addr : %p, base : %p, size : %zu], returned handle : %p, count : %zu, context : [\";\nstd::string getId_fmt = \"%s : [uniqueID : %llu, context : [\";\nstd::string ubDereg_fmt = \"%s : [comm : %p, handle : %p, context : [\";\nstd::string rank_fmt = \"%s : [size : %d, uniqueID : %llu, rank : %d, context : [\";\nstd::string init_fmt = \"%s : [comm : %p, size : %d, uniqueID : %llu, rank : %d, dev : %d, context : [\";\nstd::string all_fmt = \"%s : [# of device : %d, context : [\";\nstd::string destroy_fmt = \"%s : [comm : %p, context : [\";\nstd::string split_fmt = \"%s : [comm : %p, color : %d, key : %d, newcomm : %p, context : [\";\nstd::string alloc_fmt = \"%s : [returned ptr : %p, size : %zu, context : [\";\nstd::string free_fmt = \"%s : [ptr : %p, context : [\";\nstd::string redop_fmt = \"%s : [scalar : %p, datatype : %d, op : %d, residence : %d, comm : %p, context : [\";\nstd::string redopdestroy_fmt = \"%s : [op : %d, comm : %p, context : [\";\nstd::string coll_fmt = \"%s : [opCount : %lx, sendbuff : [addr : %p, base : %p, size : %zu], recvbuff : [addr : %p, base : %p, size : %zu], acc : %p, count : %zu, datatype : %d, op : %d, root : %d, comm : %p, nranks : %d, stream : %p, task : %d, globalrank : %d, context : [\";\n\nRecorder::Recorder()\n{\n  filename = getenv(\"RCCL_REPLAY_FILE\") ? getenv(\"RCCL_REPLAY_FILE\") : \"\";\n\n  if (!filename.size())\n  {\n    return;\n  }\n\n  logLevel = getenv(\"RCCL_LOG_LEVEL\") ? std::stoi(getenv(\"RCCL_LOG_LEVEL\")) : 1;\n  char hostname[256];\n  gethostname(hostname, 256);\n  pid = getpid();\n  output_json = 0;\n\n  size_t dot;\n  std::string output_name, output_extension;\n\n  if ((dot = std::string(filename).find(\".\")) != std::string::npos)\n  {\n    output_name = std::string(filename).substr(0, dot);\n    output_extension = std::string(filename).substr(dot);\n    if (output_extension.compare(\".json\") == 0)\n    {\n      output_json = 1;\n    }\n  } else {\n    output_name = std::string(filename);\n  }\n\n  outputFile.open(output_name + \".\" + std::to_string(pid) + \".\" + std::string(hostname) + output_extension,\n                  output_json ? std::ofstream::out : std::ofstream::binary);\n  if (output_json)\n  {\n    outputFile << \"{\" << std::endl;\n    indent(2, outputFile);\n    outputFile << \"version : 1,\";\n  }\n}\n\nRecorder& Recorder::instance()\n{\n  static Recorder _instance;\n  return _instance;\n}\n\nvoid Recorder::skip(bool b)\n{\n  if (filename.size())\n  {\n    skipped = b;\n  }\n}\n\nvoid Recorder::captureGpuContext(rcclApiCall& call) const\n{\n  call.timestamp = duration_cast<duration<double>>(high_resolution_clock::now().time_since_epoch()).count() * 1000;\n\n  if (rcclReplayThreadIdx == -1)\n  {\n    rcclReplayThreadIdx = syscall(SYS_gettid);\n  }\n\n  int hipDev;\n  hipGetDevice(&hipDev); // need later change to copy from comm\n\n  call.pid = pid;\n  call.tid = rcclReplayThreadIdx;\n  call.hipDev = hipDev;\n  return;\n}\n\n// for single process use only, for now\n// TODO: potentially need async logging for performance\nvoid Recorder::write(const rcclApiCall &call)\n{\n  if (!filename.size())\n  {\n    return ;\n  }\n\n  std::unique_lock<std::mutex> lock(writemtx);\n\n  if (lastcall == rrBcast && call.type == rrBroadcast)\n  {\n    return;\n  }\n\n  int len = -1;\n\n  if (output_json)\n  {\n    if (call.type == rrGroupEnd || call.type == rrGroupSimulatedEnd)\n    {\n      depth--;\n      outputFile << std::endl;\n      indent(2 + 2 * depth, outputFile);\n      outputFile << \"}\";\n      lastcall = call.type;\n      return ;\n    }\n\n    newLine(outputFile);\n    indent(2 + 2 * depth, outputFile);\n    lastcall = call.type;\n    switch (call.type) {\n    case rrGroupStart:\n    {\n      outputFile << \"{\";\n      depth++;\n      return ;\n    }\n    case rrCommRegister:\n    {\n      len = snprintf(buffer, 4096, ubr_fmt.c_str(),\n                     rcclCallStr[call.type], call.comm, call.sendbuff, call.sendPtrBase, call.sendPtrExtent, call.recvbuff, call.count);\n      break;\n    }\n    case rrCommDeregister:\n    {\n      len = snprintf(buffer, 4096, ubDereg_fmt.c_str(),\n                     rcclCallStr[call.type], call.comm, call.recvbuff);\n      break;\n    }\n    case rrGetUniqueId:\n    {\n      len = snprintf(buffer, 4096, getId_fmt.c_str(), rcclCallStr[call.type], call.commId);\n      break;\n    }\n    case rrCommInitDev:\n    {\n      len = snprintf(buffer, 4096, init_fmt.c_str(), rcclCallStr[call.type], call.comm, call.nRanks, call.commId, call.globalRank, call.root);\n      break;\n    }\n    case rrCommInitRank:\n    case rrCommInitRankConfig:\n    {\n      len = snprintf(buffer, 4096, rank_fmt.c_str(), rcclCallStr[call.type], call.nRanks, call.commId, call.globalRank);\n      break; // detail to be provided by init dev or config info\n    }\n    case rrCommInitAll:\n    {\n      len = snprintf(buffer, 4096, all_fmt.c_str(), rcclCallStr[call.type], call.root);\n      break;\n    }\n    case rrCommFinalize:\n    case rrCommDestroy:\n    case rrCommAbort:\n    {\n      len = snprintf(buffer, 4096, destroy_fmt.c_str(), rcclCallStr[call.type], call.comm);\n      break;\n    }\n    case rrCommSplit:\n    {\n      len = snprintf(buffer, 4096, split_fmt.c_str(),\n                     rcclCallStr[call.type], (void*)(call.commId), call.comm, call.nRanks, call.globalRank, call.comm);\n      break;\n    }\n    case rrMemAlloc:\n    {\n      len = snprintf(buffer, 4096, alloc_fmt.c_str(),\n                     rcclCallStr[call.type], call.recvbuff, call.count);\n      break;\n    }\n    case rrMemFree:\n    {\n      len = snprintf(buffer, 4096, free_fmt.c_str(),\n                     rcclCallStr[call.type], call.recvbuff);\n      break;\n    }\n    case rrRedOpCreatePreMulSum:\n    {\n      len = snprintf(buffer, 4096, redop_fmt.c_str(),\n                     rcclCallStr[call.type], call.sendbuff, call.datatype, call.op, call.root, call.comm);\n      break;\n    }\n    case rrRedOpDestroy:\n    {\n      len = snprintf(buffer, 4096, redopdestroy_fmt.c_str(),\n                     rcclCallStr[call.type], call.op, call.comm);\n      break;\n    }\n    default: // collectives\n      len = snprintf(buffer, 4096, coll_fmt.c_str(),\n                     rcclCallStr[call.type], call.opCount, call.sendbuff, call.sendPtrBase, call.sendPtrExtent,\n                     call.recvbuff, call.recvPtrBase, call.recvPtrExtent, call.acc, call.count, call.datatype,\n                     call.op, call.root, call.comm, call.nRanks, call.stream, call.nTasks, call.globalRank);\n\n    }\n    outputFile.write(buffer, len);\n    len = snprintf(buffer, 4096, ctxt_fmt.c_str(), call.timestamp, call.tid, call.hipDev, call.graphCaptured, call.graphID);\n    outputFile.write(buffer, len);\n  } else {\n    outputFile.write((char*)&call, sizeof(rcclApiCall));\n  }\n  outputFile.flush();\n  return ;\n}\n\n// wrapper function for graph launch callback\nvoid Recorder::recordLater(void* idx)\n{\n  Recorder& recorder = Recorder::instance();\n  size_t callidx = (size_t) idx;\n  rcclApiCall call = recorder.calls[callidx];\n  recorder.record(call);\n}\n\nvoid Recorder::record(const char* name)\n{\n  if (!filename.size() || logLevel <= 1)\n  {\n    return;\n  }\n  double ts = duration_cast<duration<double>>(high_resolution_clock::now().time_since_epoch()).count() * 1000;\n  if (output_json) // will not record for binary replay export\n  {\n    std::unique_lock<std::mutex> lock(writemtx);\n    newLine(outputFile); lastcall = rrOtherCall;\n    indent(2 + 2 * depth, outputFile);\n    outputFile << name << \" : [time : \" << std::fixed << std::setprecision(6) << ts << \"]\";\n  }\n  //numCall++;\n  outputFile.flush();\n}\n\nncclResult_t Recorder::record(rcclApiCall& call)\n{\n  ncclResult_t ret = ncclSuccess;\n  captureGpuContext(call);\n\n  switch (call.type) {\n  case rrGroupStart:\n  case rrGroupEnd:\n  case rrGroupSimulatedEnd:\n  case rrGetUniqueId:\n  case rrCommInitDev:\n  case rrCommInitRank:\n  case rrCommInitAll:\n  case rrCommInitRankConfig:\n  case rrCommSplit:\n  case rrCommFinalize:\n  case rrCommDestroy:\n  case rrCommAbort: // communicator ops just exit and write\n  case rrCommRegister: // same with UBR\n  case rrCommDeregister:\n  case rrMemAlloc:\n  case rrMemFree:\n  case rrRedOpCreatePreMulSum:\n  case rrRedOpDestroy:\n    break;\n\n  // collectives, which may be registered with graph\n  case rrAllToAll: // should work with rest of the coll with nested sendrecv\n  default: // collective other than a2a/a2av\n  #if ROCM_VERSION >= 60100\n    hipStreamCaptureStatus status;\n    hipGraph_t graphCaptured;\n    CUDACHECK(hipStreamGetCaptureInfo_v2(call.stream, &status, &(call.graphID), &graphCaptured)); // shouldnt we need dependency?\n\n    if (status == hipStreamCaptureStatusActive) // when graph launched this should be disabled\n    {\n      call.graphCaptured = 1;\n      calls.push_back(call);\n      hipGraphNode_t logNode;\n      hipHostNodeParams p;\n      p.fn = &(Recorder::recordLater);\n      p.userData = (void*) (calls.size() - 1);\n      CUDACHECK(hipGraphAddHostNode(&logNode, graphCaptured, nullptr, 0, &p));\n    } else {\n      call.graphCaptured = 0;\n    }\n  #endif\n  }\n\n  write(call); // write immediatelly\n  return ret;\n}\n\nncclResult_t Recorder::record(rcclCall_t type, const ncclInfo& info)\n{\n  if (!filename.size() || skipped)\n  {\n    return ncclSuccess;\n  }\n\n  rcclApiCall call(type, info);\n  return record(call);\n}\n\nncclResult_t Recorder::record(rcclCall_t type, const void* sendbuff, void* recvbuff,\n                              size_t count, ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream, int root,\n                              const size_t sendcounts[], const size_t sdispls[], const size_t recvcounts[], const size_t rdispls[])\n{\n  if (!filename.size())\n  {\n    return ncclSuccess;\n  }\n\n  rcclApiCall call(type, {.sendbuff = sendbuff, .recvbuff = recvbuff, .count = count,\n                          .datatype = datatype, .comm = comm, .stream = stream});\n  if (root != -1)\n  {\n    call.root = root;\n  }\n\n  ncclResult_t ret = record(call);\n  if (type == rrAllToAllv)\n  {\n    int size = call.nRanks - 1;\n    if (output_json)\n    {\n      outputFile << \", sendcounts : [\";\n      for (int i = 0; i < size; i++) outputFile << sendcounts[i] << \", \";\n      outputFile << sendcounts[size] << \"], sdispls : [\";\n      for (int i = 0; i < size; i++) outputFile << sdispls[i] << \", \";\n      outputFile << sdispls[size] << \"], recvcounts : [\";\n      for (int i = 0; i < size; i++) outputFile << recvcounts[i] << \", \";\n      outputFile << recvcounts[size] << \"], rdispls : [\";\n      for (int i = 0; i < size; i++) outputFile << rdispls[i] << \", \";\n      outputFile << rdispls[size] << \"]\";\n    } else {\n      outputFile.write((char*)sendcounts, sizeof(size_t) * (size + 1));\n      outputFile.write((char*)sdispls, sizeof(size_t) * (size + 1));\n      outputFile.write((char*)recvcounts, sizeof(size_t) * (size + 1));\n      outputFile.write((char*)rdispls, sizeof(size_t) * (size + 1));\n    }\n    outputFile.flush();\n  }\n  return ret;\n}\n\nncclResult_t Recorder::record(rcclCall_t type, ncclRedOp_t op, ncclComm_t comm, ncclDataType_t datatype, ncclScalarResidence_t residence, void* scalar)\n{\n  if (!filename.size())\n  {\n    return ncclSuccess;\n  }\n\n  rcclApiCall call(type, {.op = op, .comm = comm});\n  if (type == rrRedOpCreatePreMulSum)\n  {\n    call.sendbuff = scalar;\n    call.datatype = datatype;\n    call.root = residence;\n    call.sendbuff = scalar;\n  }\n  return record(call);\n  //TODO: printout scalar\n}\n\nncclResult_t Recorder::record(rcclCall_t type, int groupDepth)\n{\n  if (!filename.size() || skipped)\n  {\n    return ncclSuccess;\n  }\n  rcclApiCall gc(type);\n  gc.groupDepth = groupDepth;\n  return record(gc);\n}\n\nncclResult_t Recorder::record(rcclCall_t type, int size, int rank, ncclUniqueId* commId, ncclComm_t comm, int device)\n{\n  if (!filename.size())\n  {\n    return ncclSuccess;\n  }\n\n  rcclApiCall initCall(type);\n\n  if (type == rrCommSplit)\n  {\n    initCall.comm = comm;\n    initCall.commId = (uint64_t)commId;\n  } else {\n    initCall.commId = hashUniqueId(*commId);\n  }\n\n  initCall.nRanks = size;\n  initCall.globalRank = rank;\n  if (type == rrCommInitDev)\n  {\n    initCall.root = device;\n    initCall.comm = comm;\n  }\n\n  return record(initCall);\n}\n\n// comm destroy\nncclResult_t Recorder::record(rcclCall_t type, ncclComm_t comm)\n{\n  if (!filename.size())\n  {\n    return ncclSuccess;\n  }\n\n  rcclApiCall call(type);\n  call.comm = comm;\n  return record(call);\n}\n\nncclResult_t Recorder::record(rcclCall_t type, ncclComm_t comm, void* handle, void* userBuffer, size_t size)\n{\n  if (!filename.size())\n  {\n    return ncclSuccess;\n  }\n  rcclApiCall call(type);\n  call.comm = comm;\n  call.recvbuff = handle;\n  if (type == rrCommRegister)\n  {\n    CUDACHECK(hipMemGetAddressRange(&call.sendPtrBase, &call.sendPtrExtent, userBuffer));\n    call.sendbuff = userBuffer;\n    call.count = size;\n  }\n  return record(call);\n}\n\nncclResult_t Recorder::record(rcclCall_t type, void* ptr, size_t size)\n{\n  if (!filename.size())\n  {\n    return ncclSuccess;\n  }\n  rcclApiCall call(type);\n  call.recvbuff = ptr;\n  if (type == rrMemAlloc)\n  {\n    call.count = size;\n  }\n  return record(call);\n}\n\nvoid Recorder::record(int groupDepth, ncclSimInfo_t *siminfo)\n{\n  if (!filename.size())\n  {\n    return;\n  }\n  rcclApiCall call(rrGroupSimulatedEnd);\n  record(call);\n\n  if (output_json && siminfo)\n  {\n    int len = snprintf(buffer, 4096, siminfo_fmt.c_str(),\n                       siminfo->size, siminfo->magic, siminfo->version, siminfo->estimatedTime, call.timestamp);\n    outputFile.write(buffer, len);\n  } // no tid for groupCall\n  // TODO: else flush siminfo in binary\n  outputFile.flush();\n}\n\nvoid Recorder::record(rcclCall_t type, int size, int rank, ncclUniqueId* commId, ncclConfig_t* config, ncclComm_t comm)\n{\n  if (!filename.size())\n  {\n    return ;\n  }\n\n  if (type == rrCommInitRankConfig)\n  {\n    record(type, size, rank, commId);\n  }\n  else //rrCommSplit\n  {\n    record(type, size /*color*/, rank/*key*/, commId, comm);\n  }\n\n  if (output_json && config)\n  {\n    int len = snprintf(buffer, 4096, config_fmt.c_str(), config->size, config->magic, config->version, config->blocking,\n                       config->cgaClusterSize, config->minCTAs, config->maxCTAs, config->netName, config->splitShare);\n    outputFile.write(buffer, len);\n    outputFile.flush();\n  }\n  // TODO: else flush ncclConfig in binary\n}\n\nvoid Recorder::record(ncclComm_t* comms, int ndev, const int* devlist)\n{\n  if (!filename.size())\n  {\n    return ;\n  }\n\n  rcclApiCall call(rrCommInitAll);\n  call.root = ndev;\n  call.sendbuff = devlist;\n  record(call);\n\n  if (devlist)\n  {\n    if (output_json)\n    {\n      outputFile << \", devlist : [\";\n      for (int i = 0; i < call.root - 1; i++)\n        outputFile << devlist[i] << \", \";\n      outputFile << devlist[call.root - 1] << \"]\";\n    } else {\n      outputFile.write((char*)devlist, sizeof(int) * ndev);\n    }\n    outputFile.flush();\n  }\n}\n\nRecorder::~Recorder()\n{\n  if (outputFile.is_open())\n  {\n    if (output_json) outputFile << std::endl << \"}\" << std::endl;\n    outputFile.close();\n    calls.clear();\n  }\n}\n\nstatic rcclCall_t getFuncType(std::string func)\n{\n  for (int i = 0; i < sizeof(rcclCallStr) / sizeof(char*); i++)\n  {\n    if (func == std::string(rcclCallStr[i]))\n    {\n      return (rcclCall_t)i;\n    }\n  }\n  printf(\"[ERROR] Unrecognized func %s\\n\", func.c_str());\n  exit(1);\n}\n\nvoid parseJsonEntry(const char* entry, std::vector<rcclApiCall>& calls)\n{\n  // TODO: parse comma too\n  rcclApiCall call;\n  std::string str(entry);\n  size_t begin = str.find_first_not_of(' ');\n  size_t end = str.find(\" : \");\n  rcclCall_t type = getFuncType(str.substr(begin, end-begin));\n  call.type = type;\n  switch(type) {\n  case rrCommRegister:\n  {\n    assert(sscanf(str.c_str() + end + 3, (ubr_fmt.substr(5) + ctxt_fmt).c_str(),\n                  &call.comm, &call.sendbuff, &call.sendPtrBase, &call.sendPtrExtent, &call.recvbuff, &call.count) == 6);\n    break;\n  }\n  case rrCommDeregister:\n  {\n    assert(sscanf(str.c_str() + end + 3, (ubDereg_fmt.substr(5) + ctxt_fmt).c_str(),\n                  &call.comm, &call.recvbuff) == 2);\n    break;\n  }\n  case rrGetUniqueId:\n  {\n    assert(sscanf(str.c_str() + end + 3, (getId_fmt.substr(5) + ctxt_fmt).c_str(), &call.commId) == 1);\n    break;\n  }\n  case rrCommInitDev:\n  {\n    assert(sscanf(str.c_str() + end + 3, (init_fmt.substr(5) + ctxt_fmt).c_str(),\n                  &call.comm, &call.nRanks, &call.commId, &call.globalRank, &call.root) == 5);\n    break;\n  }\n  case rrCommInitRank:\n  case rrCommInitRankConfig:\n  {\n    assert(sscanf(str.c_str() + end + 3, (rank_fmt.substr(5) + ctxt_fmt).c_str(),\n           &call.nRanks, &call.commId, &call.globalRank) == 3);\n    break;\n  }\n  case rrCommInitAll:\n  {\n    assert(sscanf(str.c_str() + end + 3, (all_fmt.substr(5) + ctxt_fmt).c_str(), &call.root) == 1);\n    break;\n  }\n  case rrCommFinalize:\n  case rrCommDestroy:\n  case rrCommAbort:\n  {\n    assert(sscanf(str.c_str() + end + 3, (destroy_fmt.substr(5) + ctxt_fmt).c_str(), &call.comm) == 1);\n    break;\n  }\n  case rrCommSplit:\n  {\n    assert(sscanf(str.c_str() + end + 3, (split_fmt.substr(5) + ctxt_fmt).c_str(),\n           &call.commId, &call.comm, &call.nRanks, &call.globalRank, &call.comm) == 5);\n    break;\n  }\n  case rrMemAlloc:\n  {\n    assert(sscanf(str.c_str() + end + 3, (alloc_fmt.substr(5) + ctxt_fmt).c_str(),\n           &call.recvbuff, &call.count) == 2);\n    break;\n  }\n  case rrMemFree:\n  {\n    assert(sscanf(str.c_str() + end + 3, (free_fmt.substr(5) + ctxt_fmt).c_str(), &call.recvbuff) == 1);\n    break;\n  }\n  case rrRedOpCreatePreMulSum:\n  {\n    assert(sscanf(str.c_str() + end + 3, (redop_fmt.substr(5) + ctxt_fmt).c_str(),\n           &call.sendbuff, &call.datatype, &call.op, &call.root, &call.comm) == 5);\n    break;\n  }\n  case rrRedOpDestroy:\n  {\n    assert(sscanf(str.c_str() + end + 3, (redopdestroy_fmt.substr(5) + ctxt_fmt).c_str(),\n           &call.op, &call.comm) == 2);\n    break;\n  }\n  default:\n    assert(sscanf(str.c_str() + end + 3, (coll_fmt.substr(5) + ctxt_fmt).c_str(),\n                  &call.opCount, &call.sendbuff, &call.sendPtrBase, &call.sendPtrExtent, &call.recvbuff, &call.recvPtrBase, &call.recvPtrExtent,\n                  &call.acc, &call.count, &call.datatype, &call.op, &call.root,\n                  &call.comm, &call.nRanks, &call.stream, &call.nTasks, &call.globalRank, &call.timestamp, &call.tid,\n                  &call.hipDev, &call.graphCaptured, &call.graphID) == 22);\n  }\n  calls.push_back(call);\n}\n\nvoid parseBinLog()\n{\n  // TODO: need to handle trailing data such as simInfo, devList, a2av data, etc.\n}\n};\n"
  },
  {
    "path": "src/misc/rocm_smi_wrap.cc",
    "content": "/*\nCopyright (c) 2021-2024 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n#include \"rocm_smi_wrap.h\"\n#include \"alt_rsmi.h\"\n#include \"core.h\"\n#include \"utils.h\"\n\nstatic int is_wsl2 = -1;\n\n#define ROCMSMICHECK(cmd) do {               \\\n  rsmi_status_t ret = cmd;                   \\\n  if( ret != RSMI_STATUS_SUCCESS ) {         \\\n    const char *err;                         \\\n    rsmi_status_string(ret, &err);           \\\n    WARN(\"ROCm SMI init failure %s\", err);   \\\n    return ncclInternalError;                \\\n  }                                          \\\n} while(false)\n\n#define ARSMICHECK(cmd) do {         \\\n  int ret = cmd;                     \\\n  if( ret != 0 ) {\t\t     \\\n    WARN(\"ARSMI failure %d\", ret);   \\\n    return ncclInternalError;        \\\n  }                                  \\\n} while(false)\n\nRCCL_PARAM(UseRocmSmiLib, \"USE_ROCM_SMI_LIB\", 0); // Opt-in environment variable for enabling using rocm_smi_lib instead of internal code\n\nncclResult_t rocm_smi_init() {\n  if (__atomic_load_n(&is_wsl2, __ATOMIC_ACQUIRE) == -1)\n    __atomic_store_n(&is_wsl2, (access(\"/dev/dxg\", F_OK) == -1) ? 0 : 1, __ATOMIC_RELEASE);\n  if (__atomic_load_n(&is_wsl2, __ATOMIC_ACQUIRE)) {\n    INFO(NCCL_INIT, \"Not using rocm_smi_lib due to WSL2 environment detected.\");\n    return ncclSuccess;\n  }\n\n  if (rcclParamUseRocmSmiLib()) {\n#ifdef USE_ROCM_SMI_THREAD_ONLY_MUTEX\n    ROCMSMICHECK(rsmi_init(RSMI_INIT_FLAG_THRAD_ONLY_MUTEX));\n#else\n    ROCMSMICHECK(rsmi_init(0));\n#endif\n    rsmi_version_t version;\n    ROCMSMICHECK(rsmi_version_get(&version));\n    INFO(NCCL_INIT, \"rocm_smi_lib: version %d.%d.%d.%s\", version.major, version.minor, version.patch, version.build);\n  } else {\n    ARSMICHECK(ARSMI_init());\n    INFO(NCCL_INIT, \"initialized internal alternative rsmi functionality\");\n  }\n  return ncclSuccess;\n}\n\nncclResult_t rocm_smi_getNumDevice(uint32_t* num_devs) {\n  if (__atomic_load_n(&is_wsl2, __ATOMIC_ACQUIRE))\n    CUDACHECK(cudaGetDeviceCount((int *)num_devs));\n  else\n    if (rcclParamUseRocmSmiLib()) {\n      ROCMSMICHECK(rsmi_num_monitor_devices(num_devs));\n    } else {\n      ARSMICHECK(ARSMI_get_num_devices(num_devs));\n    }\n\n  return ncclSuccess;\n}\n\nncclResult_t rocm_smi_getDevicePciBusIdString(uint32_t deviceIndex, char* busId, size_t len) {\n  uint64_t id;\n  if (__atomic_load_n(&is_wsl2, __ATOMIC_ACQUIRE)) {\n    CUDACHECK(cudaDeviceGetPCIBusId(busId, len, deviceIndex));\n  } else {\n    /** rocm_smi's bus ID format\n     *  | Name     | Field   |\n     *  ---------- | ------- |\n     *  | Domain   | [64:32] |\n     *  | Reserved | [31:16] |\n     *  | Bus      | [15: 8] |\n     *  | Device   | [ 7: 3] |\n     *  | Function | [ 2: 0] |\n     **/\n    if (rcclParamUseRocmSmiLib()) {\n      ROCMSMICHECK(rsmi_dev_pci_id_get(deviceIndex, &id));\n    } else {\n      ARSMICHECK(ARSMI_dev_pci_id_get(deviceIndex, &id));\n    }\n    snprintf(busId, len, \"%04lx:%02lx:%02lx.%01lx\", (id) >> 32, (id & 0xff00) >> 8, (id & 0xf8) >> 3, (id & 0x7));\n  }\n  return ncclSuccess;\n}\n\n\nncclResult_t rocm_smi_getDeviceIndexByPciBusId(const char* pciBusId, uint32_t* deviceIndex) {\n  if (__atomic_load_n(&is_wsl2, __ATOMIC_ACQUIRE)) {\n    CUDACHECK(hipDeviceGetByPCIBusId((int *)deviceIndex, pciBusId));\n    return ncclSuccess;\n  } else {\n    uint32_t i, num_devs = 0;\n    int64_t busid;\n\n    busIdToInt64(pciBusId, &busid);\n    /** convert to rocm_smi's bus ID format\n     *  | Name     | Field   |\n     *  ---------- | ------- |\n     *  | Domain   | [64:32] |\n     *  | Reserved | [31:16] |\n     *  | Bus      | [15: 8] |\n     *  | Device   | [ 7: 3] |\n     *  | Function | [ 2: 0] |\n     **/\n    busid = ((busid&0xffff00000L)<<12)+((busid&0xff000L)>>4)+((busid&0xff0L)>>1)+(busid&0x7L);\n\n    if (rcclParamUseRocmSmiLib()) {\n      ROCMSMICHECK(rsmi_num_monitor_devices(&num_devs));\n    } else {\n      ARSMICHECK(ARSMI_get_num_devices(&num_devs));\n    }\n    for (i = 0; i < num_devs; i++) {\n      uint64_t bdfid;\n      if (rcclParamUseRocmSmiLib()) {\n\tROCMSMICHECK(rsmi_dev_pci_id_get(i, &bdfid));\n      } else {\n\tARSMICHECK(ARSMI_dev_pci_id_get(i, &bdfid));\n      }\n\n      if (bdfid == busid) break;\n    }\n\n    if (i < num_devs) {\n      *deviceIndex = i;\n      return ncclSuccess;\n    }\n    else {\n      if (rcclParamUseRocmSmiLib()) {\n\tWARN(\"rocm_smi_lib: %s device index not found\", pciBusId);\n      } else {\n\tWARN(\"ARSMI_lib: %s device index not found\", pciBusId);\n      }\n      return ncclInternalError;\n    }\n  }\n}\n\nncclResult_t rocm_smi_getLinkInfo(int srcIndex, int dstIndex, RSMI_IO_LINK_TYPE* rsmi_type, int *hops, int *count) {\n  if (__atomic_load_n(&is_wsl2, __ATOMIC_ACQUIRE)) {\n    *rsmi_type = RSMI_IOLINK_TYPE_PCIEXPRESS;\n    *hops = 1;\n    *count = 1;\n  } else {\n    uint64_t rsmi_hops, rsmi_weight;\n    *hops = 2;\n    *count = 1;\n\n    if (rcclParamUseRocmSmiLib()) {\n      ROCMSMICHECK(rsmi_topo_get_link_type(srcIndex, dstIndex, &rsmi_hops, rsmi_type));\n      ROCMSMICHECK(rsmi_topo_get_link_weight(srcIndex, dstIndex, &rsmi_weight));\n      if (*rsmi_type == RSMI_IOLINK_TYPE_XGMI && (rsmi_weight == 15 ||\n        rsmi_weight == 41 || rsmi_weight == 13)) {\n\tuint64_t min_bw = 0, max_bw = 0;\n\t*hops = 1;\n#if defined HAVE_ROCM_SMI64CONFIG && rocm_smi_VERSION_MAJOR >= 5\n\trsmi_version_t version;\n\tROCMSMICHECK(rsmi_version_get(&version));\n\tif (version.major >= 5)\n\t  ROCMSMICHECK(rsmi_minmax_bandwidth_get(srcIndex, dstIndex, &min_bw, &max_bw));\n\tif (max_bw && min_bw)\n\t  *count = max_bw/min_bw;\n#endif\n      }\n    } else {\n      ARSMI_linkInfo tinfo;\n      ARSMICHECK(ARSMI_topo_get_link_info(srcIndex, dstIndex, &tinfo));\n\n      *rsmi_type  = (RSMI_IO_LINK_TYPE) tinfo.type;\n      if (*rsmi_type == RSMI_IOLINK_TYPE_XGMI && (tinfo.weight == 15 ||\n        tinfo.weight == 41 || tinfo.weight == 13)) {\n\t*hops = 1;\n\tif (tinfo.max_bandwidth && tinfo.min_bandwidth)\n\t  *count = tinfo.max_bandwidth/tinfo.min_bandwidth;\n      }\n    }\n  }\n\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/misc/rocmwrap.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nccl.h\"\n#include \"debug.h\"\n#include \"rocmwrap.h\"\n#include \"hsa/hsa.h\"\n#include \"param.h\"\n#include \"bootstrap.h\"\n\n#include <dlfcn.h>\n#include <sys/utsname.h>\n#include <fstream>\n\n#define DECLARE_ROCM_PFN(symbol) PFN_##symbol pfn_##symbol = nullptr\n\nDECLARE_ROCM_PFN(hsa_amd_portable_export_dmabuf); // DMA-BUF support\nNCCL_PARAM(DmaBufEnable, \"DMABUF_ENABLE\", 0);\nRCCL_PARAM(ForceEnableDMABUF, \"FORCE_ENABLE_DMABUF\", 0);\n/* ROCr Driver functions loaded with dlsym() */\nDECLARE_ROCM_PFN(hsa_init);\nDECLARE_ROCM_PFN(hsa_system_get_info);\nDECLARE_ROCM_PFN(hsa_status_string);\n\nstatic void *hsaLib;\nstatic uint16_t version_major, version_minor;\n\nint ncclCudaDriverVersionCache = -1;\nbool ncclCudaLaunchBlocking = false;\n\nstatic pthread_once_t initOnceControl = PTHREAD_ONCE_INIT;\nstatic ncclResult_t initResult;\n\n// This env var (NCCL_CUMEM_ENABLE) toggles cuMem API usage\nNCCL_PARAM(CuMemEnable, \"CUMEM_ENABLE\", 0);\nNCCL_PARAM(CuMemHostEnable, \"CUMEM_HOST_ENABLE\", -1);\n// Handle type used for cuMemCreate()\nCUmemAllocationHandleType ncclCuMemHandleType = CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR;\n\nstatic int ncclCuMemSupported = 0;\n\n// Determine whether CUMEM & VMM RDMA is supported on this platform\nint ncclIsCuMemSupported() {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  return 0;\n#else\n  CUdevice currentDev;\n  int cudaDev;\n  int cudaDriverVersion;\n  int flag = 0;\n  ncclResult_t ret = ncclSuccess;\n  CUDACHECKGOTO(cudaDriverGetVersion(&cudaDriverVersion), ret, error);\n  if (cudaDriverVersion < 12000) return 0;  // Need CUDA_VISIBLE_DEVICES support\n  CUDACHECKGOTO(cudaGetDevice(&cudaDev), ret, error);\n  if (CUPFN(cuMemCreate) == NULL) return 0;\n  CUCHECKGOTO(cuDeviceGet(&currentDev, cudaDev), ret, error);\n  // Query device to see if CUMEM VMM support is available\n  CUCHECKGOTO(cuDeviceGetAttribute(&flag, CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED, currentDev), ret, error);\n  if (!flag) return 0;\n\nerror:\n  return (ret == ncclSuccess);\n#endif\n}\n\nint ncclCuMemEnable() {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  return 0;\n#else\n  // NCCL_CUMEM_ENABLE=-2 means auto-detect CUMEM support\n  int param = ncclParamCuMemEnable();\n  return  param >= 0 ? param : (param == -2 && ncclCuMemSupported);\n#endif\n}\n\nint ncclCuMemHostEnable() {\n  return 0;\n}\n\nstatic void initOnceFunc() {\n  do {\n    char* val = getenv(\"CUDA_LAUNCH_BLOCKING\");\n    ncclCudaLaunchBlocking = val!=nullptr && val[0]!=0 && !(val[0]=='0' && val[1]==0);\n  } while (0);\n\n  bool dmaBufSupport = false;\n  hsa_status_t res;\n\n  /*\n   * Load ROCr driver library\n   */\n  char path[1024];\n  char *ncclCudaPath = getenv(\"RCCL_ROCR_PATH\");\n  if (ncclCudaPath == NULL)\n    snprintf(path, 1024, \"%s\", \"libhsa-runtime64.so\");\n  else\n    snprintf(path, 1024, \"%s%s\", ncclCudaPath, \"libhsa-runtime64.so\");\n\n  hsaLib = dlopen(path, RTLD_LAZY);\n  if (hsaLib == NULL) {\n    WARN(\"Failed to find ROCm runtime library in %s (RCCL_ROCR_PATH=%s)\", ncclCudaPath, ncclCudaPath);\n    goto error;\n  }\n\n  /*\n   * Load initial ROCr functions\n   */\n\n  pfn_hsa_init = (PFN_hsa_init) dlsym(hsaLib, \"hsa_init\");\n  if (pfn_hsa_init == NULL) {\n    WARN(\"Failed to load ROCr missing symbol hsa_init\");\n    goto error;\n  }\n\n  pfn_hsa_system_get_info = (PFN_hsa_system_get_info) dlsym(hsaLib, \"hsa_system_get_info\");\n  if (pfn_hsa_system_get_info == NULL) {\n    WARN(\"Failed to load ROCr missing symbol hsa_system_get_info\");\n    goto error;\n  }\n\n  pfn_hsa_status_string = (PFN_hsa_status_string) dlsym(hsaLib, \"hsa_status_string\");\n  if (pfn_hsa_status_string == NULL) {\n    WARN(\"Failed to load ROCr missing symbol hsa_status_string\");\n    goto error;\n  }\n\n  res = pfn_hsa_system_get_info(HSA_SYSTEM_INFO_VERSION_MAJOR, &version_major);\n  if (res != 0) {\n    WARN(\"pfn_hsa_system_get_info failed with %d\", res);\n    goto error;\n  }\n  res = pfn_hsa_system_get_info(HSA_SYSTEM_INFO_VERSION_MINOR, &version_minor);\n  if (res != 0) {\n    WARN(\"pfn_hsa_system_get_info failed with %d\", res);\n    goto error;\n  }\n\n  INFO(NCCL_INIT, \"ROCr version %d.%d\", version_major, version_minor);\n\n  //if (hsaDriverVersion < ROCR_DRIVER_MIN_VERSION) {\n    // WARN(\"ROCr Driver version found is %d. Minimum requirement is %d\", hsaDriverVersion, ROCR_DRIVER_MIN_VERSION);\n    // Silently ignore version check mismatch for backwards compatibility\n    //goto error;\n  //}\n\n  // Determine whether we support the cuMem APIs or not\n  ncclCuMemSupported = ncclIsCuMemSupported();\n  /* DMA-BUF support */\n  //ROCm support\n  if(rcclParamForceEnableDMABUF())\n  {\n      dmaBufSupport = 1;\n      WARN(\"DMA_BUF Support is force enabled, so explicitly setting RCCL_FORCE_ENABLE_DMABUF=1\");\n  }\n  else if (ncclParamDmaBufEnable() == 0)\n  {\n    INFO(NCCL_INIT, \"Dmabuf feature disabled without NCCL_DMABUF_ENABLE=1\");\n    goto error;\n  }\n\n  // ROCr checks\n  res = pfn_hsa_system_get_info((hsa_system_info_t) 0x204, &dmaBufSupport);\n  if (res != HSA_STATUS_SUCCESS || !dmaBufSupport){\n    INFO(NCCL_INIT, \"Current version of ROCm does not support dmabuf feature.\");\n    goto error;\n  }\n  else {\n    pfn_hsa_amd_portable_export_dmabuf = (PFN_hsa_amd_portable_export_dmabuf) dlsym(hsaLib, \"hsa_amd_portable_export_dmabuf\");\n    if (pfn_hsa_amd_portable_export_dmabuf == NULL) {\n      WARN(\"Failed to load ROCr missing symbol hsa_amd_portable_export_dmabuf\");\n      goto error;\n    }\n  }\n\n  //check OS kernel support\n  if(!rcclParamForceEnableDMABUF()) {\n    struct utsname utsname;\n    FILE *fp = NULL;\n    char kernel_opt1[28] = \"CONFIG_DMABUF_MOVE_NOTIFY=y\";\n    char kernel_opt2[20] = \"CONFIG_PCI_P2PDMA=y\";\n    char kernel_conf_file[128];\n    char buf[256];\n    int found_opt1 = 0;\n    int found_opt2 = 0;\n\n    //check for kernel name exists\n    if (uname(&utsname) == -1) INFO(NCCL_INIT,\"Could not get kernel name\");\n    //format and store the kernel conf file location\n    const char* possiblePaths[] = {\n      \"/proc/config.gz\",\n      \"/boot/config-%s\",\n      \"/usr/src/linux-%s/.config\",\n      \"/usr/src/linux/.config\",\n      \"/usr/lib/modules/%s/config\",\n      \"/usr/lib/ostree-boot/config-%s\",\n      \"/usr/lib/kernel/config-%s\",\n      \"/usr/src/linux-headers-%s/.config\",\n      \"/lib/modules/%s/build/.config\",\n    };\n    for (const auto& path : possiblePaths) {\n      snprintf(kernel_conf_file, sizeof(kernel_conf_file), path, utsname.release);\n      fp = fopen(kernel_conf_file, \"r\");\n      if (fp != NULL){\n        //look for kernel_opt1 and kernel_opt2 in the conf file and check\n        while (fgets(buf, sizeof(buf), fp) != NULL) {\n          if (strstr(buf, kernel_opt1) != NULL) {\n            found_opt1 = 1;\n            INFO(NCCL_INIT,\"CONFIG_DMABUF_MOVE_NOTIFY=y in /boot/config-%s\", utsname.release);\n          }\n          if (strstr(buf, kernel_opt2) != NULL) {\n            found_opt2 = 1;\n            INFO(NCCL_INIT,\"CONFIG_PCI_P2PDMA=y in /boot/config-%s\", utsname.release);\n          }\n        }\n        if (!found_opt1 || !found_opt2) {\n          dmaBufSupport = 0;\n          INFO(NCCL_INIT, \"CONFIG_DMABUF_MOVE_NOTIFY and CONFIG_PCI_P2PDMA should be set for DMA_BUF in /boot/config-%s\", utsname.release);\n          INFO(NCCL_INIT, \"DMA_BUF_SUPPORT Failed due to OS kernel support\");\n        }\n\n        if(dmaBufSupport) INFO(NCCL_INIT, \"DMA_BUF Support Enabled\");\n        else goto error;\n        break;\n      }\n    }\n    if(fp == NULL) {\n      dmaBufSupport = 0;\n      INFO(NCCL_INIT,\"Could not open kernel conf file\");\n    }\n  }\n  /*\n   * Required to initialize the ROCr Driver.\n   * Multiple calls of hsa_init() will return immediately\n   * without making any relevant change\n   */\n  pfn_hsa_init();\n\n  initResult = ncclSuccess;\n  return;\n\nerror:\n  initResult = ncclSystemError;\n}\n\nncclResult_t rocmLibraryInit() {\n  pthread_once(&initOnceControl, initOnceFunc);\n  return initResult;\n}\n"
  },
  {
    "path": "src/misc/roctx.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2024-2025, Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"roctx.h\"\n#include \"param.h\"\n#include \"debug.h\"\n\nstd::map<uint64_t, roctxPayloadEntryType> nvtxToRoctx {\n  {NVTX_PAYLOAD_ENTRY_TYPE_INT, ROCTX_PAYLOAD_ENTRY_TYPE_INT},\n  {NVTX_PAYLOAD_ENTRY_TYPE_SIZE, ROCTX_PAYLOAD_ENTRY_TYPE_SIZE},\n  {NVTX_PAYLOAD_ENTRY_TYPE_REDOP, ROCTX_PAYLOAD_ENTRY_TYPE_REDOP},\n  {NVTX_PAYLOAD_ENTRY_TYPE_DATATYPE, ROCTX_PAYLOAD_ENTRY_TYPE_DATATYPE}};\n\nconst char* roctxEntryTypeStr[ROCTX_PAYLOAD_NUM_ENTRY_TYPES] = {\"ROCTX_PAYLOAD_ENTRY_TYPE_INT\", \"ROCTX_PAYLOAD_ENTRY_TYPE_SIZE\", \"ROCTX_PAYLOAD_ENTRY_TYPE_REDOP\"};\nconst char* ncclRedOpStr[ncclNumDevRedOps]                   = {\"Sum\", \"Prod\", \"MinMax\", \"PreMulSum\", \"SumPostDiv\"};\nconst char* ncclDataTypeStr[ncclNumTypes]                    = {\"i8\", \"u8\", \"i32\", \"u32\", \"i64\", \"u64\", \"f16\", \"f32\", \"f64\", \"b16\", \"f8\", \"b8\"};\n\nvoid roctxAlloc(roctxPayloadInfo_t payloadInfo, const size_t numEntries) {\n  // Allocate enough memory for numEntries in payloadEntries\n  payloadInfo->payloadEntries = (roctxPayloadSchemaEntryInfo*)malloc(numEntries * sizeof(roctxPayloadSchemaEntryInfo));\n  if (payloadInfo->payloadEntries == nullptr) {\n    payloadInfo->message = nullptr;\n    return;\n  }\n\n  // Allocate memory for the message that will be constructed\n  payloadInfo->message = (char*)malloc(MAX_MESSAGE_LENGTH * sizeof(char));\n  if (payloadInfo->message == nullptr) {\n    free(payloadInfo->payloadEntries);\n    payloadInfo->payloadEntries = nullptr;\n    return;\n  }\n}\n\nvoid roctxFree(roctxPayloadInfo_t payloadInfo) {\n  // Free all the dynamically allocated resources by roctx\n  if (payloadInfo->payloadEntries) free(payloadInfo->payloadEntries);\n  if (payloadInfo->message) free((void*)payloadInfo->message);\n}\n\nvoid extractPayloadInfo(const nvtxPayloadSchemaEntry_t* schema, const nvtxPayloadData_t* data, const size_t numEntries,\n                        const char* schemaName, roctxPayloadInfo_t payloadInfo) {\n\n  if (payloadInfo->payloadEntries == nullptr) return;\n\n  payloadInfo->id = schemaName;\n  payloadInfo->numEntries = numEntries;\n\n  // Iterate over each entry in the schema\n  for (size_t i = 0; i < payloadInfo->numEntries; ++i) {\n    // Populate payload schema entry info for roctx\n    payloadInfo->payloadEntries[i].name = schema[i].name;\n    payloadInfo->payloadEntries[i].type = nvtxToRoctx[schema[i].type];\n\n    // Offset to index into the data stored in nvtxPayloadData_t->payload\n    uint64_t offset = schema[i].offset;\n    const void* entryData = reinterpret_cast<const char*>(data->payload) + offset;\n\n    // Populate payload union based on the roctx type\n    switch (payloadInfo->payloadEntries[i].type) {\n      case ROCTX_PAYLOAD_ENTRY_TYPE_INT:      payloadInfo->payloadEntries[i].payload.typeInt = *reinterpret_cast<const int*>(entryData);                 break;\n      case ROCTX_PAYLOAD_ENTRY_TYPE_SIZE:     payloadInfo->payloadEntries[i].payload.typeSize = *reinterpret_cast<const size_t*>(entryData);             break;\n      case ROCTX_PAYLOAD_ENTRY_TYPE_REDOP:    payloadInfo->payloadEntries[i].payload.typeRedOp = *reinterpret_cast<const ncclDevRedOp_t*>(entryData);    break;\n      case ROCTX_PAYLOAD_ENTRY_TYPE_DATATYPE: payloadInfo->payloadEntries[i].payload.typeDataType = *reinterpret_cast<const ncclDataType_t*>(entryData); break;\n      default:                                                                                                                                           break;\n    }\n  }\n\n  // Stringify payloadInfo\n  stringify(payloadInfo);\n}\n\nvoid stringify(roctxPayloadInfo_t payloadInfo) {\n  if (!payloadInfo->payloadEntries || !payloadInfo->message) return;\n\n  int offset = snprintf(payloadInfo->message, MAX_MESSAGE_LENGTH, \"{%s: \", payloadInfo->id);\n\n  for (size_t i = 0; i < payloadInfo->numEntries; ++i)\n  {\n    roctxPayloadSchemaEntryInfo entry = payloadInfo->payloadEntries[i];\n\n    offset += snprintf(payloadInfo->message + offset, MAX_MESSAGE_LENGTH - offset, \"%s: \", entry.name);\n\n    switch (entry.type)\n    {\n      case ROCTX_PAYLOAD_ENTRY_TYPE_INT:\n        offset += snprintf(payloadInfo->message + offset, MAX_MESSAGE_LENGTH - offset, \"%d\", entry.payload.typeInt); \n        break;\n      case ROCTX_PAYLOAD_ENTRY_TYPE_SIZE:\n        offset += snprintf(payloadInfo->message + offset, MAX_MESSAGE_LENGTH - offset, \"%zu\", entry.payload.typeSize); \n        break;\n      case ROCTX_PAYLOAD_ENTRY_TYPE_REDOP:\n        offset += snprintf(payloadInfo->message + offset, MAX_MESSAGE_LENGTH - offset, \"%s\", \n                          entry.payload.typeRedOp < ncclNumDevRedOps ? ncclRedOpStr[entry.payload.typeRedOp] : \"unknown\"); \n        break;\n      case ROCTX_PAYLOAD_ENTRY_TYPE_DATATYPE:\n        offset += snprintf(payloadInfo->message + offset, MAX_MESSAGE_LENGTH - offset, \"%s\",\n                          entry.payload.typeDataType < ncclNumTypes ? ncclDataTypeStr[entry.payload.typeDataType] : \"unknown\");\n        break;\n      default:\n        offset += snprintf(payloadInfo->message + offset, MAX_MESSAGE_LENGTH - offset, \"unknown roctx payload type\"); \n        break;\n    }\n\n    if (i != payloadInfo->numEntries - 1) \n      offset += snprintf(payloadInfo->message + offset, MAX_MESSAGE_LENGTH - offset, \", \");\n  }\n\n  snprintf(payloadInfo->message + offset, MAX_MESSAGE_LENGTH - offset, \"}\");\n}\n\nRCCL_PARAM(LogRoctx, \"LOG_ROCTX\", 0);\n\nroctx_scoped_range_in::roctx_scoped_range_in(const nvtxPayloadSchemaEntry_t* schema, const nvtxPayloadData_t* data, \n                                const size_t numEntries, const char* schemaName) noexcept {\n  if (rcclParamLogRoctx()) {\n    roctxAlloc(&payloadInfo, numEntries);\n    extractPayloadInfo(schema, data, numEntries, schemaName, &payloadInfo);\n#ifdef ROCTX_ENABLE\n    roctxRangePushA(payloadInfo.message);\n#else\n    WARN(\"ROCTX_ENABLE is not defined. Please rebuild with -DROCTX_ENABLE=ON\");\n#endif\n  }\n}\n\nroctx_scoped_range_in::roctx_scoped_range_in(const char* message) noexcept {\n  if (rcclParamLogRoctx()) {\n#ifdef ROCTX_ENABLE\n    roctxRangePushA(message);\n#else\n    WARN(\"ROCTX_ENABLE is not defined. Please rebuild with -DROCTX_ENABLE=ON\");\n#endif\n  }\n}\n\nroctx_scoped_range_in::roctx_scoped_range_in() noexcept : roctx_scoped_range_in{\"\"} {/*no impl*/}\n\nroctx_scoped_range_in::~roctx_scoped_range_in() noexcept {\n  if (rcclParamLogRoctx()) {\n#ifdef ROCTX_ENABLE\n    roctxRangePop();\n#else\n    WARN(\"ROCTX_ENABLE is not defined. Please rebuild with -DROCTX_ENABLE=ON\");\n#endif\n    roctxFree(&payloadInfo);\n  }\n}\n"
  },
  {
    "path": "src/misc/shmutils.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"shmutils.h\"\n#include \"comm.h\"\n#include \"checks.h\"\n#include <sys/types.h>\n#include <sys/mman.h>\n#include <sys/stat.h>\n#include <fcntl.h>\n#include <errno.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <unistd.h>\n#include <utils.h>\n\nstruct shmHandleInternal {\n  int fd;\n  char* shmPath;\n  char* shmPtr;\n  void* devShmPtr;\n  size_t shmSize;\n  size_t realShmSize;\n  int* refcount;\n};\n\nstatic void shmHandleInit(int fd, char* shmPath, size_t shmSize, size_t realShmSize, char* hptr, void* dptr, bool create, struct shmHandleInternal* handle) {\n  handle->fd = fd;\n  handle->shmPtr = hptr;\n  handle->devShmPtr = dptr;\n  handle->shmSize = shmSize;\n  handle->realShmSize = realShmSize;\n  handle->refcount = (hptr != NULL) ? (int*)(hptr + shmSize) : NULL;\n  if (create) {\n    int slen = strlen(shmPath);\n    handle->shmPath = (char*)malloc(slen + 1);\n    if (handle->shmPath == nullptr) {\n      WARN(\"Failed to allocate memory for shared memory path\");\n      // handle->shmPath remains nullptr, caller should check\n      return;\n    }\n    memcpy(handle->shmPath, shmPath, slen + 1);\n    if (hptr) memset(hptr, 0, shmSize);\n  } else {\n    handle->shmPath = NULL;\n  }\n  return;\n}\n\nncclResult_t ncclShmOpen(char* shmPath, size_t shmPathSize, size_t shmSize, void** shmPtr, void** devShmPtr, int refcount, ncclShmHandle_t* handle) {\n  int fd = -1;\n  char* hptr = NULL;\n  void* dptr = NULL;\n  ncclResult_t ret = ncclSuccess;\n  struct shmHandleInternal* tmphandle;\n  bool create = refcount > 0 ? true : false;\n  const size_t refSize = sizeof(int); /* extra sizeof(int) bytes for reference count */\n  const size_t realShmSize = shmSize + refSize;\n\n  *handle = *shmPtr = NULL; /* assume shmPtr and handle always set correctly by users. */\n  EQCHECKGOTO(tmphandle = (struct shmHandleInternal*)calloc(1, sizeof(struct shmHandleInternal)), NULL, ret, fail);\n  if (create) {\n    /* refcount > 0 means the caller tries to allocate a shared memory. This shared memory segment will have\n     * refcount references; when the peer attaches, it should pass -1 to reduce one reference count. When it\n     * goes down to 0, unlink should be called in order to delete shared memory file. */\n    if (shmPath[0] == '\\0') {\n      snprintf(shmPath, shmPathSize, \"/dev/shm/nccl-XXXXXX\");\n    retry_mkstemp:\n      fd = mkstemp(shmPath);\n      if (fd < 0) {\n        if (errno == EINTR) {\n          INFO(NCCL_ALL, \"mkstemp: Failed to create %s, error: %s (%d) - retrying\", shmPath, strerror(errno), errno);\n          goto retry_mkstemp;\n        }\n        WARN(\"Error: failed to create shared memory file %s, error %s (%d)\", shmPath, strerror(errno), errno);\n        ret = ncclSystemError;\n        goto fail;\n      }\n    } else {\n      SYSCHECKGOTO(fd = open(shmPath, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR), \"open\", ret, fail);\n    }\n\n  retry_fallocate:\n    if (fallocate(fd, 0, 0, realShmSize) != 0) {\n      if (errno == EINTR) {\n        INFO(NCCL_ALL, \"fallocate: Failed to extend %s to %ld bytes, error: %s (%d) - retrying\", shmPath, realShmSize, strerror(errno), errno);\n        goto retry_fallocate;\n      }\n      WARN(\"Error: failed to extend %s to %ld bytes, error: %s (%d)\", shmPath, realShmSize, strerror(errno), errno);\n      ret = ncclSystemError;\n      goto fail;\n    }\n    INFO(NCCL_ALLOC, \"Allocated %ld bytes of shared memory in %s\", realShmSize, shmPath);\n  } else {\n    SYSCHECKGOTO(fd = open(shmPath, O_RDWR, S_IRUSR | S_IWUSR), \"open\", ret, fail);\n  }\n\n  hptr = (char*)mmap(NULL, realShmSize, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);\n  if (hptr == MAP_FAILED) {\n    WARN(\"Error: Could not map %s size %zu, error: %s (%d)\", shmPath, realShmSize, strerror(errno), errno);\n    ret = ncclSystemError;\n    hptr = NULL;\n    goto fail;\n  }\n\n  if (create) {\n    *(int*)(hptr + shmSize) = refcount;\n  } else {\n    int remref = ncclAtomicRefCountDecrement((int*)(hptr + shmSize));\n    if (remref == 0) {\n      /* the last peer has completed attachment, it should unlink the shm mem file. */\n      if (unlink(shmPath) != 0) {\n        INFO(NCCL_ALLOC, \"unlink shared memory %s failed, error: %s (%d)\", shmPath, strerror(errno), errno);\n      }\n    }\n  }\n\n  if (devShmPtr) {\n    cudaStreamCaptureMode mode = cudaStreamCaptureModeRelaxed;\n    CUDACHECKGOTO(cudaThreadExchangeStreamCaptureMode(&mode), ret, fail);\n#if defined(HIP_HOST_UNCACHED_MEMORY)\n    CUDACHECKGOTO(cudaHostRegister((void*)hptr, realShmSize, cudaHostRegisterPortable | cudaHostRegisterMapped | hipExtHostRegisterUncached), ret, fail);\n#else\n    CUDACHECKGOTO(cudaHostRegister((void*)hptr, realShmSize, cudaHostRegisterPortable | cudaHostRegisterMapped), ret, fail);\n#endif\n    CUDACHECKGOTO(cudaHostGetDevicePointer(&dptr, (void*)hptr, 0), ret, fail);\n    CUDACHECKGOTO(cudaThreadExchangeStreamCaptureMode(&mode), ret, fail);\n  }\n\n  shmHandleInit(fd, shmPath, shmSize, realShmSize, hptr, dptr, create, tmphandle);\nexit:\n  *shmPtr = hptr;\n  if (devShmPtr) *devShmPtr = dptr;\n  *handle = (ncclShmHandle_t)tmphandle;\n  return ret;\nfail:\n  WARN(\"Error while %s shared memory segment %s (size %ld), error: %s (%d)\", create ? \"creating\" : \"attaching to\",\n       shmPath, shmSize, strerror(errno), errno);\n  if (tmphandle) {\n    shmHandleInit(fd, shmPath, shmSize, realShmSize, hptr, dptr, create, tmphandle);\n    (void)ncclShmClose((ncclShmHandle_t)tmphandle);\n    tmphandle = NULL;\n  }\n  hptr = NULL;\n  dptr = NULL;\n  goto exit;\n}\n\nncclResult_t ncclShmClose(ncclShmHandle_t handle) {\n  ncclResult_t ret = ncclSuccess;\n  struct shmHandleInternal* tmphandle = (struct shmHandleInternal*)handle;\n  if (tmphandle) {\n    if (tmphandle->fd >= 0) {\n      close(tmphandle->fd);\n      if (tmphandle->shmPath != NULL && tmphandle->refcount != NULL && *tmphandle->refcount > 0) {\n        if (unlink(tmphandle->shmPath) != 0) {\n          WARN(\"unlink shared memory %s failed, error: %s (%d)\", tmphandle->shmPath, strerror(errno), errno);\n          ret = ncclSystemError;\n        }\n      }\n      free(tmphandle->shmPath);\n    }\n\n    if (tmphandle->shmPtr) {\n      if (tmphandle->devShmPtr) CUDACHECK(cudaHostUnregister(tmphandle->shmPtr));\n      if (munmap(tmphandle->shmPtr, tmphandle->realShmSize) != 0) {\n        WARN(\"munmap of shared memory %p size %ld failed, error: %s (%d)\", tmphandle->shmPtr, tmphandle->realShmSize, strerror(errno), errno);\n        ret = ncclSystemError;\n      }\n    }\n    free(tmphandle);\n  }\n  return ret;\n}\n\nncclResult_t ncclShmUnlink(ncclShmHandle_t handle) {\n  ncclResult_t ret = ncclSuccess;\n  struct shmHandleInternal* tmphandle = (struct shmHandleInternal*)handle;\n  if (tmphandle) {\n    if (tmphandle->shmPath != NULL && tmphandle->refcount != NULL && *tmphandle->refcount > 0) {\n      if (unlink(tmphandle->shmPath) != 0) {\n        WARN(\"unlink shared memory %s failed, error: %s (%d)\", tmphandle->shmPath, strerror(errno), errno);\n        ret = ncclSystemError;\n      }\n      free(tmphandle->shmPath);\n      tmphandle->shmPath = NULL;\n    }\n  }\n  return ret;\n}\n\nncclResult_t ncclShmemAllgather(struct ncclComm *comm, struct ncclShmemCollBuff *shmem, void *sendbuff, void *recvbuff, size_t typeSize) {\n  ncclResult_t ret = ncclSuccess;\n  int nextRound = shmem->round + 1;\n  int curIndex = shmem->round % 2;\n  bool done;\n  int index = 0;\n  size_t maxTypeSize = shmem->maxTypeSize;\n\n  if (comm == NULL || shmem == NULL || sendbuff == NULL || recvbuff == NULL || maxTypeSize < typeSize) {\n    ret = ncclInvalidArgument;\n    goto exit;\n  }\n\n  memcpy((char*)shmem->ptr[curIndex] + comm->localRank * maxTypeSize, sendbuff, typeSize);\n  /* reset the previous round and notify I arrive this round */\n  __atomic_store_n((int*)((char*)shmem->cnt[curIndex] + CACHE_LINE_SIZE * comm->localRank), nextRound, __ATOMIC_RELEASE);\n\n  do {\n    done = true;\n    for (int i = index; i < comm->localRanks; ++i) {\n      if (i != comm->localRank && __atomic_load_n((int*)((char*)shmem->cnt[curIndex] + CACHE_LINE_SIZE * i), __ATOMIC_ACQUIRE) < nextRound) {\n        done = false;\n        index = i;\n        break;\n      }\n    }\n  } while (!done);\n\n  for (int i = 0; i < comm->localRanks; ++i) {\n    memcpy((uint8_t*)recvbuff + i * typeSize, (uint8_t*)shmem->ptr[curIndex] + i * maxTypeSize, typeSize);\n  }\n  shmem->round = nextRound;\n\nexit:\n  return ret;\n}\n"
  },
  {
    "path": "src/misc/signals.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifdef HAVE_BFD\n#include \"BfdBacktrace.hpp\"\n#endif\n\n#include <unistd.h>\n#include <signal.h>\n#include <execinfo.h>\n#include <string.h>\n#include \"param.h\"\n#include \"debug.h\"\n#include <vector>\n\nvoid sig_handler(int signum)\n{\n  printf(\"\\n[Process: %d] Inside handler function signal: %s (%d)\\n\", getpid(), strsignal(signum), signum);\n\n#ifdef HAVE_BFD\n  void *addresses[BACKTRACE_MAX];\n  int num_addresses = backtrace(addresses, BACKTRACE_MAX);\n  struct backtrace_file file;\n  backtrace_line line;\n  backtrace_h bckt;\n  bckt.size = 0;\n\n  for (int i = 0; i < num_addresses; ++i)\n  {\n    file.dl.address = (unsigned long)addresses[i];\n    if (dl_lookup_address(&file.dl) && load_file(&file))\n    {\n      bckt.size += get_line_info(&file, 1,\n                                 bckt.lines + bckt.size,\n                                 BACKTRACE_MAX - bckt.size);\n      unload_file(&file);\n    }\n  }\n\n  for (int i=0; i<BACKTRACE_MAX; i++ )\n  {\n    if ((char*)bckt.lines[i].address == NULL) break;\n    printf(\"%p %s : %s line %u\\n\", (char*)bckt.lines[i].address,\n           bckt.lines[i].file, bckt.lines[i].function, bckt.lines[i].lineno);\n  }\n#else\n#define BT_BUF_SIZE 1024\n  void *buffer[BT_BUF_SIZE];\n  char **strings;\n\n  int nptrs = backtrace(buffer, BT_BUF_SIZE);\n  strings = backtrace_symbols(buffer, nptrs);\n  for (int j = 0; j < nptrs; j++)\n    printf(\"%s\\n\", strings[j]);\n  free (strings);\n#endif\n\n  if (signum == SIGUSR2) {\n    return;\n  }\n\n  exit (-1);\n}\n\nRCCL_PARAM(EnableSignalHandler, \"ENABLE_SIGNALHANDLER\", 0); // Opt-in environment variable for enabling custom signal handler\n\nvoid RegisterSignalHandlers()\n{\n  if (rcclParamEnableSignalHandler())\n  {\n    INFO(NCCL_INIT, \"Enabling custom signal handler\");\n\n    std::vector<int> signalsToCatch = {SIGILL, SIGBUS, SIGFPE, SIGSEGV, SIGUSR2};\n\n    for (auto signum : signalsToCatch)\n    {\n      if (signal(signum, sig_handler) == SIG_ERR)\n      {\n        INFO(NCCL_INIT, \"Unable to register signal handler for %s\\n\", strsignal(signum));\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "src/misc/socket.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"socket.h\"\n#include \"utils.h\"\n#include <stdlib.h>\n\n#include <unistd.h>\n#include <ifaddrs.h>\n#include <net/if.h>\n#include <unistd.h>\n#include <sys/syscall.h>\n#include \"param.h\"\n#include <time.h>\n\nNCCL_PARAM(RetryCnt, \"SOCKET_RETRY_CNT\", 34);\nNCCL_PARAM(RetryTimeOut, \"SOCKET_RETRY_SLEEP_MSEC\", 100);\nstatic void msleep(unsigned int time_msec) {\n  const long c_1e6 = 1e6;\n  struct timespec tv = (struct timespec){\n      .tv_sec = time_msec / 1000,\n      .tv_nsec = (time_msec % 1000) * c_1e6,\n  };\n  nanosleep(&tv, NULL);\n}\n\nRCCL_PARAM(SocketReuseAddr, \"SOCKET_REUSEADDR\", 0);\nRCCL_PARAM(SocketLinger, \"SOCKET_LINGER\", -1);\n\nstatic ncclResult_t socketProgressOpt(int op, struct ncclSocket* sock, void* ptr, int size, int* offset, int block, int* closed) {\n  int bytes = 0;\n  *closed = 0;\n  char* data = (char*)ptr;\n  char line[SOCKET_NAME_MAXLEN+1];\n  do {\n    if (op == NCCL_SOCKET_RECV) bytes = recv(sock->fd, data+(*offset), size-(*offset), block ? 0 : MSG_DONTWAIT);\n    if (op == NCCL_SOCKET_SEND) bytes = send(sock->fd, data+(*offset), size-(*offset), block ? MSG_NOSIGNAL : MSG_DONTWAIT | MSG_NOSIGNAL);\n    if (op == NCCL_SOCKET_RECV && bytes == 0) {\n      *closed = 1;\n      return ncclSuccess;\n    }\n    if (bytes == -1) {\n      if ((op == NCCL_SOCKET_SEND && errno == EPIPE) || (op == NCCL_SOCKET_RECV && errno == ECONNRESET)) {\n        *closed = 1;\n        return ncclSuccess;\n      }\n      if (errno != EINTR && errno != EWOULDBLOCK && errno != EAGAIN) {\n        WARN(\"socketProgressOpt: Call to %s %s failed : %s\", (op == NCCL_SOCKET_RECV ? \"recv from\" : \"send to\"),\n             ncclSocketToString(&sock->addr, line), strerror(errno));\n        return ncclRemoteError;\n      } else {\n        bytes = 0;\n      }\n    }\n    (*offset) += bytes;\n    if (sock->abortFlag && __atomic_load_n(sock->abortFlag, __ATOMIC_ACQUIRE)) {\n      INFO(NCCL_NET, \"socketProgressOpt: abort called\");\n      return ncclInternalError;\n    }\n  } while (sock->asyncFlag == 0 && bytes > 0 && (*offset) < size);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t socketProgress(int op, struct ncclSocket* sock, void* ptr, int size, int* offset, int* pclosed = NULL) {\n  int closed;\n  NCCLCHECK(socketProgressOpt(op, sock, ptr, size, offset, 0 /*block*/, &closed));\n  if (closed) {\n    if (pclosed) {\n      *pclosed = closed;\n      return ncclSuccess;\n    } else {\n      char line[SOCKET_NAME_MAXLEN+1];\n      WARN(\"socketProgress: Connection closed by remote peer %s\",\n           ncclSocketToString(&sock->addr, line, /*numericHostForm*/0));\n      return ncclRemoteError;\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t socketWait(int op, struct ncclSocket* sock, void* ptr, int size, int* offset) {\n  while (*offset < size)\n    NCCLCHECK(socketProgress(op, sock, ptr, size, offset));\n  return ncclSuccess;\n}\n\n/* Format a string representation of a (union ncclSocketAddress *) socket address using getnameinfo()\n *\n * Output: \"IPv4/IPv6 address<port>\"\n */\nconst char *ncclSocketToString(const union ncclSocketAddress *addr, char *buf, const int numericHostForm /*= 1*/) {\n  const struct sockaddr *saddr;\n  char host[NI_MAXHOST], service[NI_MAXSERV];\n  int flag = NI_NUMERICSERV | (numericHostForm ? NI_NUMERICHOST : 0);\n  if (buf == NULL || addr == NULL) goto fail;\n  saddr = &addr->sa;\n  if (saddr->sa_family != AF_INET && saddr->sa_family != AF_INET6) goto fail;\n  /* NI_NUMERICHOST: If set, then the numeric form of the hostname is returned.\n   * (When not set, this will still happen in case the node's name cannot be determined.)\n   */\n  if (getnameinfo(saddr, sizeof(union ncclSocketAddress), host, NI_MAXHOST, service, NI_MAXSERV, flag)) goto fail;\n  sprintf(buf, \"%s<%s>\", host, service);\n  return buf;\nfail:\n  if (buf)\n    buf[0] = '\\0';\n  return buf;\n}\n\nstatic uint16_t socketToPort(union ncclSocketAddress *addr) {\n  struct sockaddr *saddr = &addr->sa;\n  return ntohs(saddr->sa_family == AF_INET ? addr->sin.sin_port : addr->sin6.sin6_port);\n}\n\n/* Allow the user to force the IPv4/IPv6 interface selection */\nstatic int envSocketFamily(void) {\n  int family = -1; // Family selection is not forced, will use first one found\n  const char* env = ncclGetEnv(\"NCCL_SOCKET_FAMILY\");\n  if (env == NULL)\n    return family;\n\n  INFO(NCCL_ENV, \"NCCL_SOCKET_FAMILY set by environment to %s\", env);\n\n  if (strcmp(env, \"AF_INET\") == 0)\n    family = AF_INET;  // IPv4\n  else if (strcmp(env, \"AF_INET6\") == 0)\n    family = AF_INET6; // IPv6\n  return family;\n}\n\nstatic ncclResult_t findInterfaces(const char* prefixList, char* names, union ncclSocketAddress *addrs, int sock_family,\n                                   int maxIfNameSize, int maxIfs, int* found) {\n#ifdef ENABLE_TRACE\n  char line[SOCKET_NAME_MAXLEN+1];\n#endif\n  struct netIf userIfs[MAX_IFS];\n  bool searchNot = prefixList && prefixList[0] == '^';\n  if (searchNot) prefixList++;\n  bool searchExact = prefixList && prefixList[0] == '=';\n  if (searchExact) prefixList++;\n  int nUserIfs = parseStringList(prefixList, userIfs, MAX_IFS);\n\n  *found = 0;\n  struct ifaddrs *interfaces, *interface;\n  SYSCHECK(getifaddrs(&interfaces), \"getifaddrs\");\n  for (interface = interfaces; interface && *found < maxIfs; interface = interface->ifa_next) {\n    if (interface->ifa_addr == NULL) continue;\n\n    /* We only support IPv4 & IPv6 */\n    int family = interface->ifa_addr->sa_family;\n    if (family != AF_INET && family != AF_INET6)\n      continue;\n\n    /* Only consider running interfaces, i.e. UP and physically attached. */\n    if (!(interface->ifa_flags & IFF_RUNNING)) continue;\n\n    TRACE(NCCL_INIT|NCCL_NET,\"Found interface %s:%s\", interface->ifa_name, ncclSocketToString((union ncclSocketAddress *) interface->ifa_addr, line));\n\n    /* Allow the caller to force the socket family type */\n    if (sock_family != -1 && family != sock_family)\n      continue;\n\n    /* We also need to skip IPv6 loopback interfaces */\n    if (family == AF_INET6) {\n      struct sockaddr_in6* sa = (struct sockaddr_in6*)(interface->ifa_addr);\n      if (IN6_IS_ADDR_LOOPBACK(&sa->sin6_addr)) continue;\n    }\n\n    // check against user specified interfaces\n    if (!(matchIfList(interface->ifa_name, -1, userIfs, nUserIfs, searchExact) ^ searchNot)) {\n      continue;\n    }\n\n    // Check that this interface has not already been saved\n    // getifaddrs() normal order appears to be; IPv4, IPv6 Global, IPv6 Link\n    bool duplicate = false;\n    for (int i = 0; i < *found; i++) {\n      if (strcmp(interface->ifa_name, names+i*maxIfNameSize) == 0) { duplicate = true; break; }\n    }\n\n    if (!duplicate) {\n      // Store the interface name\n      strncpy(names + (*found)*maxIfNameSize, interface->ifa_name, maxIfNameSize);\n      // Store the IP address\n      int salen = (family == AF_INET) ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6);\n      memset(addrs + *found, '\\0', sizeof(*addrs));\n      memcpy(addrs + *found, interface->ifa_addr, salen);\n      (*found)++;\n    }\n  }\n\n  freeifaddrs(interfaces);\n  return ncclSuccess;\n}\n\nstatic bool matchSubnet(struct ifaddrs local_if, union ncclSocketAddress* remote) {\n  /* Check family first */\n  int family = local_if.ifa_addr->sa_family;\n  if (family != remote->sa.sa_family) {\n    return false;\n  }\n\n  if (family == AF_INET) {\n    struct sockaddr_in* local_addr = (struct sockaddr_in*)(local_if.ifa_addr);\n    struct sockaddr_in* mask = (struct sockaddr_in*)(local_if.ifa_netmask);\n    struct sockaddr_in& remote_addr = remote->sin;\n    struct in_addr local_subnet, remote_subnet;\n    local_subnet.s_addr = local_addr->sin_addr.s_addr & mask->sin_addr.s_addr;\n    remote_subnet.s_addr = remote_addr.sin_addr.s_addr & mask->sin_addr.s_addr;\n    return (local_subnet.s_addr ^ remote_subnet.s_addr) ? false : true;\n  } else if (family == AF_INET6) {\n    struct sockaddr_in6* local_addr = (struct sockaddr_in6*)(local_if.ifa_addr);\n    struct sockaddr_in6* mask = (struct sockaddr_in6*)(local_if.ifa_netmask);\n    struct sockaddr_in6& remote_addr = remote->sin6;\n    struct in6_addr& local_in6 = local_addr->sin6_addr;\n    struct in6_addr& mask_in6 = mask->sin6_addr;\n    struct in6_addr& remote_in6 = remote_addr.sin6_addr;\n    bool same = true;\n    int len = 16;  //IPv6 address is 16 unsigned char\n    for (int c = 0; c < len; c++) {  //Network byte order is big-endian\n      char c1 = local_in6.s6_addr[c] & mask_in6.s6_addr[c];\n      char c2 = remote_in6.s6_addr[c] & mask_in6.s6_addr[c];\n      if (c1 ^ c2) {\n        same = false;\n        break;\n      }\n    }\n    // At last, we need to compare scope id\n    // Two Link-type addresses can have the same subnet address even though they are not in the same scope\n    // For Global type, this field is 0, so a comparison wouldn't matter\n    same &= (local_addr->sin6_scope_id == remote_addr.sin6_scope_id);\n    return same;\n  } else {\n    INFO(NCCL_NET, \"Net : Unsupported address family type\");\n    return false;\n  }\n}\n\nncclResult_t ncclFindInterfaceMatchSubnet(char* ifName, union ncclSocketAddress* localAddr,\n                                          union ncclSocketAddress* remoteAddr, int ifNameMaxSize, int* found) {\n#ifdef ENABLE_TRACE\n  char line[SOCKET_NAME_MAXLEN+1];\n  char line_a[SOCKET_NAME_MAXLEN+1];\n#endif\n  *found = 0;\n  struct ifaddrs *interfaces, *interface;\n  SYSCHECK(getifaddrs(&interfaces), \"getifaddrs\");\n  for (interface = interfaces; interface && !*found; interface = interface->ifa_next) {\n    if (interface->ifa_addr == NULL) continue;\n\n    /* We only support IPv4 & IPv6 */\n    int family = interface->ifa_addr->sa_family;\n    if (family != AF_INET && family != AF_INET6)\n      continue;\n\n    // check against user specified interfaces\n    if (!matchSubnet(*interface, remoteAddr)) {\n      continue;\n    }\n\n    // Store the local IP address\n    int salen = (family == AF_INET) ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6);\n    memcpy(localAddr, interface->ifa_addr, salen);\n\n    // Store the interface name\n    strncpy(ifName, interface->ifa_name, ifNameMaxSize);\n\n    TRACE(NCCL_INIT|NCCL_NET,\"NET : Found interface %s:%s in the same subnet as remote address %s\",\n          interface->ifa_name, ncclSocketToString(localAddr, line), ncclSocketToString(remoteAddr, line_a));\n    *found = 1;\n  }\n\n  freeifaddrs(interfaces);\n  return ncclSuccess;\n}\n\nncclResult_t ncclSocketGetAddrFromString(union ncclSocketAddress* ua, const char* ip_port_pair) {\n  if (!(ip_port_pair && strlen(ip_port_pair) > 1)) {\n    WARN(\"Net : string is null\");\n    return ncclInvalidArgument;\n  }\n\n  bool ipv6 = ip_port_pair[0] == '[';\n  /* Construct the sockaddress structure */\n  if (!ipv6) {\n    struct netIf ni;\n    // parse <ip_or_hostname>:<port> string, expect one pair\n    if (parseStringList(ip_port_pair, &ni, 1) != 1) {\n      WARN(\"Net : No valid <IPv4_or_hostname>:<port> pair found\");\n      return ncclInvalidArgument;\n    }\n\n    struct addrinfo hints, *p;\n    int rv;\n    memset(&hints, 0, sizeof(hints));\n    hints.ai_family = AF_UNSPEC;\n    hints.ai_socktype = SOCK_STREAM;\n\n    if ( (rv = getaddrinfo(ni.prefix, NULL, &hints, &p)) != 0) {\n      WARN(\"Net : error encountered when getting address info : %s\", gai_strerror(rv));\n      return ncclInvalidArgument;\n    }\n\n    // use the first\n    if (p->ai_family == AF_INET) {\n      struct sockaddr_in& sin = ua->sin;\n      memcpy(&sin, p->ai_addr, sizeof(struct sockaddr_in));\n      sin.sin_family = AF_INET;                        // IPv4\n      //inet_pton(AF_INET, ni.prefix, &(sin.sin_addr));  // IP address\n      sin.sin_port = htons(ni.port);                   // port\n    } else if (p->ai_family == AF_INET6) {\n      struct sockaddr_in6& sin6 = ua->sin6;\n      memcpy(&sin6, p->ai_addr, sizeof(struct sockaddr_in6));\n      sin6.sin6_family = AF_INET6;                     // IPv6\n      sin6.sin6_port = htons(ni.port);                 // port\n      sin6.sin6_flowinfo = 0;                          // needed by IPv6, but possibly obsolete\n      sin6.sin6_scope_id = 0;                          // should be global scope, set to 0\n    } else {\n      WARN(\"Net : unsupported IP family\");\n      freeaddrinfo(p);\n      return ncclInvalidArgument;\n    }\n\n    freeaddrinfo(p); // all done with this structure\n\n  } else {\n    int i, j = -1, len = strlen(ip_port_pair);\n    for (i = 1; i < len; i++) {\n      if (ip_port_pair[i] == '%') j = i;\n      if (ip_port_pair[i] == ']') break;\n    }\n    if (i == len) {\n      WARN(\"Net : No valid [IPv6]:port pair found\");\n      return ncclInvalidArgument;\n    }\n    bool global_scope = (j == -1 ? true : false);     // If no % found, global scope; otherwise, link scope\n\n    char ip_str[NI_MAXHOST], port_str[NI_MAXSERV], if_name[IFNAMSIZ];\n    memset(ip_str, '\\0', sizeof(ip_str));\n    memset(port_str, '\\0', sizeof(port_str));\n    memset(if_name, '\\0', sizeof(if_name));\n    strncpy(ip_str, ip_port_pair+1, global_scope ? i-1 : j-1);\n    strncpy(port_str, ip_port_pair+i+2, len-i-1);\n    int port = atoi(port_str);\n    if (!global_scope) strncpy(if_name, ip_port_pair+j+1, i-j-1); // If not global scope, we need the intf name\n\n    struct sockaddr_in6& sin6 = ua->sin6;\n    sin6.sin6_family = AF_INET6;                       // IPv6\n    inet_pton(AF_INET6, ip_str, &(sin6.sin6_addr));    // IP address\n    sin6.sin6_port = htons(port);                      // port\n    sin6.sin6_flowinfo = 0;                            // needed by IPv6, but possibly obsolete\n    sin6.sin6_scope_id = global_scope ? 0 : if_nametoindex(if_name);  // 0 if global scope; intf index if link scope\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclFindInterfaces(char* ifNames, union ncclSocketAddress *ifAddrs, int ifNameMaxSize, int maxIfs,\n                                int* nIfs) {\n  static int shownIfName = 0;\n  // Allow user to force the INET socket family selection\n  int sock_family = envSocketFamily();\n  // User specified interface\n  const char* env = ncclGetEnv(\"NCCL_SOCKET_IFNAME\");\n  *nIfs = 0;\n  if (env && strlen(env) > 1) {\n    INFO(NCCL_ENV, \"NCCL_SOCKET_IFNAME set by environment to %s\", env);\n    // Specified by user : find or fail\n    if (shownIfName++ == 0) INFO(NCCL_NET, \"NCCL_SOCKET_IFNAME set to %s\", env);\n    NCCLCHECK(findInterfaces(env, ifNames, ifAddrs, sock_family, ifNameMaxSize, maxIfs, nIfs));\n  } else {\n    // Try to automatically pick the right one\n    // Start with IB\n    NCCLCHECK(findInterfaces(\"ib\", ifNames, ifAddrs, sock_family, ifNameMaxSize, maxIfs, nIfs));\n    // else see if we can get some hint from COMM ID\n    if (*nIfs == 0) {\n      const char* commId = ncclGetEnv(\"NCCL_COMM_ID\");\n      if (commId && strlen(commId) > 1) {\n        INFO(NCCL_ENV, \"NCCL_COMM_ID set by environment to %s\", commId);\n        // Try to find interface that is in the same subnet as the IP in comm id\n        union ncclSocketAddress idAddr;\n        NCCLCHECK(ncclSocketGetAddrFromString(&idAddr, commId));\n        NCCLCHECK(ncclFindInterfaceMatchSubnet(ifNames, ifAddrs, &idAddr, ifNameMaxSize, nIfs));\n      }\n    }\n    // Then look for anything else (but not docker,lo, or virtual)\n    if (*nIfs == 0) NCCLCHECK(findInterfaces(\"^docker,lo,virbr\", ifNames, ifAddrs, sock_family, ifNameMaxSize, maxIfs, nIfs));\n    // Finally look for docker, then lo.\n    if (*nIfs == 0) NCCLCHECK(findInterfaces(\"docker\", ifNames, ifAddrs, sock_family, ifNameMaxSize, maxIfs, nIfs));\n    if (*nIfs == 0) NCCLCHECK(findInterfaces(\"lo\", ifNames, ifAddrs, sock_family, ifNameMaxSize, maxIfs, nIfs));\n    if (*nIfs == 0) NCCLCHECK(findInterfaces(\"virbr\", ifNames, ifAddrs, sock_family, ifNameMaxSize, maxIfs, nIfs));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclSocketListen(struct ncclSocket* sock) {\n  if (sock == NULL) {\n    WARN(\"ncclSocketListen: pass NULL socket\");\n    return ncclInvalidArgument;\n  }\n  if (sock->fd == -1) {\n    WARN(\"ncclSocketListen: file descriptor is -1\");\n    return ncclInvalidArgument;\n  }\n\n  if (socketToPort(&sock->addr)) {\n    // Port is forced by env. Make sure we get the port.\n    int opt = 1;\n    SYSCHECK(setsockopt(sock->fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)), \"setsockopt\");\n#if defined(SO_REUSEPORT)\n    SYSCHECK(setsockopt(sock->fd, SOL_SOCKET, SO_REUSEPORT, &opt, sizeof(opt)), \"setsockopt\");\n#endif\n  }\n\n  // addr port should be 0 (Any port)\n  SYSCHECK(bind(sock->fd, &sock->addr.sa, sock->salen), \"bind\");\n\n  /* Get the assigned Port */\n  socklen_t size = sock->salen;\n  SYSCHECK(getsockname(sock->fd, &sock->addr.sa, &size), \"getsockname\");\n\n#ifdef ENABLE_TRACE\n  char line[SOCKET_NAME_MAXLEN+1];\n  TRACE(NCCL_INIT|NCCL_NET,\"Listening on socket %s\", ncclSocketToString(&sock->addr, line));\n#endif\n\n  /* Put the socket in listen mode\n   * NB: The backlog will be silently truncated to the value in /proc/sys/net/core/somaxconn\n   */\n  SYSCHECK(listen(sock->fd, 16384), \"listen\");\n  sock->state = ncclSocketStateReady;\n  return ncclSuccess;\n}\n\nncclResult_t ncclSocketGetAddr(struct ncclSocket* sock, union ncclSocketAddress* addr) {\n  if (sock == NULL) {\n    WARN(\"ncclSocketGetAddr: pass NULL socket\");\n    return ncclInvalidArgument;\n  }\n  if (sock->state != ncclSocketStateReady) return ncclInternalError;\n  memcpy(addr, &sock->addr, sizeof(union ncclSocketAddress));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t socketTryAccept(struct ncclSocket* sock) {\n  socklen_t socklen = sizeof(union ncclSocketAddress);\n  sock->fd = accept(sock->acceptFd, (struct sockaddr*)&sock->addr, &socklen);\n  if (sock->fd != -1) {\n    sock->state = ncclSocketStateAccepted;\n  } else if (errno == ENETDOWN || errno == EPROTO || errno == ENOPROTOOPT || errno == EHOSTDOWN ||\n             errno == ENONET || errno == EHOSTUNREACH || errno == EOPNOTSUPP || errno == ENETUNREACH ||\n             errno == EINTR) {\n    /* per accept's man page, for linux sockets, the following errors might be already pending errors\n     * and should be considered as EAGAIN. To avoid infinite loop in case of errors, we use the retry count*/\n    if (++sock->errorRetries == ncclParamRetryCnt()) {\n      WARN(\"socketTryAccept: exceeded error retry count after %d attempts, %s\", sock->errorRetries, strerror(errno));\n      return ncclSystemError;\n    }\n    INFO(NCCL_NET|NCCL_INIT, \"Call to accept returned %s, retrying\", strerror(errno));\n  } else if (errno != EINTR && errno != EAGAIN && errno != EWOULDBLOCK) {\n    WARN(\"socketTryAccept: Accept failed: %s\", strerror(errno));\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\nNCCL_PARAM(SocketMaxRecvBuff, \"SOCKET_RCVBUF\", -1);\nNCCL_PARAM(SocketMaxSendBuff, \"SOCKET_SNDBUF\", -1);\n\nstatic ncclResult_t socketSetFlags(struct ncclSocket* sock) {\n  const int one = 1;\n  /* Set socket as non-blocking if async or if we need to be able to abort */\n  if ((sock->asyncFlag || sock->abortFlag) && sock->fd >= 0) {\n    int flags;\n    SYSCHECK(flags = fcntl(sock->fd, F_GETFL), \"fcntl\");\n    SYSCHECK(fcntl(sock->fd, F_SETFL, flags | O_NONBLOCK), \"fcntl\");\n  }\n  SYSCHECK(setsockopt(sock->fd, IPPROTO_TCP, TCP_NODELAY, (char*)&one, sizeof(int)), \"setsockopt TCP NODELAY\");\n  // setsockopt should not fail even if the sizes are too large, do not change the default if unset by the user (=-1)\n  int rcvBuf = ncclParamSocketMaxRecvBuff(), sndBuf = ncclParamSocketMaxSendBuff();\n  if (sndBuf > 0) SYSCHECK(setsockopt(sock->fd, SOL_SOCKET, SO_SNDBUF, (char*)&sndBuf, sizeof(int)), \"setsockopt SO_SNDBUF\");\n  if (rcvBuf > 0) SYSCHECK(setsockopt(sock->fd, SOL_SOCKET, SO_RCVBUF, (char*)&rcvBuf, sizeof(int)), \"setsockopt SO_RCVBUF\");\n  return ncclSuccess;\n}\n\nstatic void socketResetAccept(struct ncclSocket* sock) {\n  char line[SOCKET_NAME_MAXLEN+1];\n  INFO(NCCL_NET|NCCL_INIT, \"socketFinalizeAccept: didn't receive a valid magic from %s\",\n       ncclSocketToString(&sock->addr, line));\n  // Ignore spurious connection and accept again\n  (void)close(sock->fd);\n  sock->fd = -1;\n  sock->state = ncclSocketStateAccepting;\n  sock->finalizeCounter = 0;\n}\n\nstatic ncclResult_t socketFinalizeAccept(struct ncclSocket* sock) {\n  uint64_t magic;\n  enum ncclSocketType type;\n  int received;\n  char line[SOCKET_NAME_MAXLEN+1];\n  // once accepted, linux sockets do NOT inherit file status flags such as O_NONBLOCK (BSD ones do)\n  NCCLCHECK(socketSetFlags(sock));\n\n  if (sock->asyncFlag == 0 || sock->finalizeCounter < sizeof(magic)) {\n    if (sock->asyncFlag == 0) {\n      received = 0;\n      if (socketWait(NCCL_SOCKET_RECV, sock, &magic, sizeof(magic), &received) != ncclSuccess) {\n        socketResetAccept(sock);\n        return ncclSuccess;\n      }\n    } else {\n      int closed = 0;\n      received = sock->finalizeCounter;\n      NCCLCHECK(socketProgress(NCCL_SOCKET_RECV, sock, sock->finalizeBuffer, sizeof(magic), &received, &closed));\n      sock->finalizeCounter = received;\n      if (received < sizeof(magic)) {\n        if (closed) {\n          socketResetAccept(sock);\n        }\n        return ncclSuccess;\n      }\n      memcpy(&magic, sock->finalizeBuffer, sizeof(magic));\n    }\n    if (magic != sock->magic) {\n      socketResetAccept(sock);\n      return ncclSuccess;\n    }\n  }\n  if (sock->asyncFlag == 0) {\n    received = 0;\n    NCCLCHECK(socketWait(NCCL_SOCKET_RECV, sock, &type, sizeof(type), &received));\n  } else {\n    received = sock->finalizeCounter - sizeof(magic);\n    NCCLCHECK(socketProgress(NCCL_SOCKET_RECV, sock, sock->finalizeBuffer, sizeof(type), &received));\n    sock->finalizeCounter = received + sizeof(magic);\n    if (received < sizeof(type)) return ncclSuccess;\n    memcpy(&type, sock->finalizeBuffer, sizeof(type));\n  }\n  if (type != sock->type) {\n    WARN(\"socketFinalizeAccept from %s: wrong type %d != %d\", ncclSocketToString(&sock->addr, line), type, sock->type);\n    sock->state = ncclSocketStateError;\n    close(sock->fd);\n    sock->fd = -1;\n    return ncclInternalError;\n  } else {\n    sock->state = ncclSocketStateReady;\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t socketResetFd(struct ncclSocket* sock) {\n  ncclResult_t ret = ncclSuccess;\n  int fd = -1;\n  SYSCHECKGOTO(fd = socket(sock->addr.sa.sa_family, SOCK_STREAM, 0), \"socket\", ret, cleanup);\n  // if sock->fd is valid, close it and reuse its number\n  if (sock->fd != -1) {\n    SYSCHECKGOTO(dup2(fd, sock->fd), \"dup2\", ret, cleanup);\n    SYSCHECKGOTO(close(fd), \"close\", ret, cleanup);\n  } else {\n    sock->fd = fd;\n  }\n  NCCLCHECKGOTO(socketSetFlags(sock), ret, exit);\nexit:\n  return ret;\ncleanup:\n  // cleanup fd, leave sock->fd untouched\n  if (fd != -1) {\n    (void)close(fd);\n  }\n  goto exit;\n}\n\nstatic ncclResult_t socketConnectCheck(struct ncclSocket* sock, int errCode, const char funcName[]) {\n  char line[SOCKET_NAME_MAXLEN+1];\n  if (errCode == 0) {\n    sock->state = ncclSocketStateConnected;\n  } else if (errCode == EINPROGRESS) {\n    sock->state = ncclSocketStateConnectPolling;\n  } else if (errCode == EINTR || errCode == EWOULDBLOCK || errCode == EAGAIN || errCode == ETIMEDOUT ||\n             errCode == EHOSTUNREACH || errCode == ECONNREFUSED) {\n    if (sock->customRetry == 0) {\n      if (sock->errorRetries++ == ncclParamRetryCnt()) {\n        sock->state = ncclSocketStateError;\n        WARN(\"%s: connect to %s returned %s, exceeded error retry count after %d attempts\",\n             funcName, ncclSocketToString(&sock->addr, line), strerror(errCode), sock->errorRetries);\n        return ncclRemoteError;\n      }\n      unsigned int sleepTime = sock->errorRetries * ncclParamRetryTimeOut();\n      INFO(NCCL_NET|NCCL_INIT, \"%s: connect to %s returned %s, retrying (%d/%ld) after sleep for %u msec\",\n           funcName, ncclSocketToString(&sock->addr, line), strerror(errCode),\n           sock->errorRetries, ncclParamRetryCnt(), sleepTime);\n      msleep(sleepTime);\n    }\n    NCCLCHECK(socketResetFd(sock)); /* in case of failure in connect, socket state is unspecified */\n    sock->state = ncclSocketStateConnecting;\n  } else {\n    sock->state = ncclSocketStateError;\n    WARN(\"%s: connect to %s failed : %s\", funcName, ncclSocketToString(&sock->addr, line), strerror(errCode));\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t socketStartConnect(struct ncclSocket* sock) {\n  /* blocking/non-blocking connect() is determined by asyncFlag. */\n  int ret = connect(sock->fd, &sock->addr.sa, sock->salen);\n  return socketConnectCheck(sock, (ret == -1) ? errno : 0, __func__);\n}\n\nstatic ncclResult_t socketPollConnect(struct ncclSocket* sock) {\n  struct pollfd pfd;\n  int timeout = 1, ret;\n  socklen_t rlen = sizeof(int);\n  char line[SOCKET_NAME_MAXLEN+1];\n\n  memset(&pfd, 0, sizeof(struct pollfd));\n  pfd.fd = sock->fd;\n  pfd.events = POLLOUT;\n  ret = poll(&pfd, 1, timeout);\n\n  if (ret == 0 || (ret < 0 && errno == EINTR)) {\n    return ncclSuccess;\n  } else if (ret < 0) {\n    WARN(\"socketPollConnect to %s failed with error %s\", ncclSocketToString(&sock->addr, line), strerror(errno));\n    return ncclSystemError;\n  }\n\n  /* check socket status */\n  SYSCHECK(getsockopt(sock->fd, SOL_SOCKET, SO_ERROR, (void*)&ret, &rlen), \"getsockopt\");\n  return socketConnectCheck(sock, ret, __func__);\n}\n\nncclResult_t ncclSocketPollConnect(struct ncclSocket* sock) {\n  if (sock == NULL) {\n    WARN(\"ncclSocketPollConnect: pass NULL socket\");\n    return ncclInvalidArgument;\n  }\n  NCCLCHECK(socketPollConnect(sock));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t socketFinalizeConnect(struct ncclSocket* sock) {\n  int sent;\n  if (sock->asyncFlag == 0) {\n    sent = 0;\n    NCCLCHECK(socketWait(NCCL_SOCKET_SEND, sock, &sock->magic, sizeof(sock->magic), &sent));\n    sent = 0;\n    NCCLCHECK(socketWait(NCCL_SOCKET_SEND, sock, &sock->type, sizeof(sock->type), &sent));\n  } else {\n    if (sock->finalizeCounter < sizeof(sock->magic)) {\n      sent = sock->finalizeCounter;\n      NCCLCHECK(socketProgress(NCCL_SOCKET_SEND, sock, &sock->magic, sizeof(sock->magic), &sent));\n      sock->finalizeCounter = sent;\n      if (sent < sizeof(sock->magic)) return ncclSuccess;\n    }\n    sent = sock->finalizeCounter - sizeof(sock->magic);\n    NCCLCHECK(socketProgress(NCCL_SOCKET_SEND, sock, &sock->type, sizeof(sock->type), &sent));\n    sock->finalizeCounter = sent + sizeof(sock->magic);\n    if (sent < sizeof(sock->type)) return ncclSuccess;\n  }\n  sock->state = ncclSocketStateReady;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t socketProgressState(struct ncclSocket* sock) {\n  if (sock->state == ncclSocketStateAccepting) {\n    NCCLCHECK(socketTryAccept(sock));\n  }\n  if (sock->state == ncclSocketStateAccepted) {\n    NCCLCHECK(socketFinalizeAccept(sock));\n  }\n  if (sock->state == ncclSocketStateConnecting) {\n    NCCLCHECK(socketStartConnect(sock));\n  }\n  if (sock->state == ncclSocketStateConnectPolling) {\n    NCCLCHECK(socketPollConnect(sock));\n  }\n  if (sock->state == ncclSocketStateConnected) {\n    NCCLCHECK(socketFinalizeConnect(sock));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclSocketReady(struct ncclSocket* sock, int *running) {\n  if (sock == NULL) {\n    *running = 0;\n    return ncclSuccess;\n  }\n  if (sock->state == ncclSocketStateError || sock->state == ncclSocketStateClosed) {\n    WARN(\"ncclSocketReady: unexpected socket state %d\", sock->state);\n    return ncclRemoteError;\n  }\n  *running = (sock->state == ncclSocketStateReady) ? 1 : 0;\n  if (*running == 0) {\n    NCCLCHECK(socketProgressState(sock));\n    *running = (sock->state == ncclSocketStateReady) ? 1 : 0;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclSocketConnect(struct ncclSocket* sock) {\n#ifdef ENABLE_TRACE\n  char line[SOCKET_NAME_MAXLEN+1];\n#endif\n  if (sock == NULL) {\n    WARN(\"ncclSocketConnect: pass NULL socket\");\n    return ncclInvalidArgument;\n  }\n  if (sock->fd == -1) {\n    WARN(\"ncclSocketConnect: file descriptor is -1\");\n    return ncclInvalidArgument;\n  }\n\n  if (sock->state != ncclSocketStateInitialized) {\n    WARN(\"ncclSocketConnect: wrong socket state %d\", sock->state);\n    if (sock->state == ncclSocketStateError) return ncclRemoteError;\n    return ncclInternalError;\n  }\n  TRACE(NCCL_INIT|NCCL_NET,\"Connecting to socket %s\", ncclSocketToString(&sock->addr, line));\n\n  sock->state = ncclSocketStateConnecting;\n  sock->finalizeCounter = 0;\n  do {\n    NCCLCHECK(socketProgressState(sock));\n  } while (sock->asyncFlag == 0 &&\n      (sock->abortFlag == NULL || __atomic_load_n(sock->abortFlag, __ATOMIC_ACQUIRE) == 0) &&\n      (sock->state == ncclSocketStateConnecting ||\n       sock->state == ncclSocketStateConnectPolling ||\n       sock->state == ncclSocketStateConnected));\n\n  if (sock->abortFlag && __atomic_load_n(sock->abortFlag, __ATOMIC_ACQUIRE)) return ncclInternalError;\n\n  switch (sock->state) {\n    case ncclSocketStateConnecting:\n    case ncclSocketStateConnectPolling:\n    case ncclSocketStateConnected:\n    case ncclSocketStateReady:\n      return ncclSuccess;\n    case ncclSocketStateError:\n      return ncclSystemError;\n    default:\n      WARN(\"ncclSocketConnect: wrong socket state %d\", sock->state);\n      return ncclInternalError;\n  }\n}\n\nncclResult_t ncclSocketAccept(struct ncclSocket* sock, struct ncclSocket* listenSock) {\n  ncclResult_t ret = ncclSuccess;\n\n  if (listenSock == NULL || sock == NULL) {\n    WARN(\"ncclSocketAccept: pass NULL socket\");\n    ret = ncclInvalidArgument;\n    goto exit;\n  }\n  if (listenSock->state != ncclSocketStateReady) {\n    WARN(\"ncclSocketAccept: wrong socket state %d\", listenSock->state);\n    if (listenSock->state == ncclSocketStateError)\n      ret = ncclSystemError;\n    else\n      ret = ncclInternalError;\n    goto exit;\n  }\n\n  if (sock->acceptFd == -1) {\n    memcpy(sock, listenSock, sizeof(struct ncclSocket));\n    sock->acceptFd = listenSock->fd;\n    sock->state = ncclSocketStateAccepting;\n    sock->finalizeCounter = 0;\n  }\n\n  do {\n    NCCLCHECKGOTO(socketProgressState(sock), ret, exit);\n  } while (sock->asyncFlag == 0 &&\n      (sock->abortFlag == NULL || __atomic_load_n(sock->abortFlag, __ATOMIC_ACQUIRE) == 0) &&\n      (sock->state == ncclSocketStateAccepting ||\n       sock->state == ncclSocketStateAccepted));\n\n  if (sock->abortFlag && __atomic_load_n(sock->abortFlag, __ATOMIC_ACQUIRE)) return ncclInternalError;\n\n  switch (sock->state) {\n    case ncclSocketStateAccepting:\n    case ncclSocketStateAccepted:\n    case ncclSocketStateReady:\n      ret = ncclSuccess;\n      break;\n    case ncclSocketStateError:\n      ret = ncclSystemError;\n      break;\n    default:\n      WARN(\"ncclSocketAccept: wrong socket state %d\", sock->state);\n      ret = ncclInternalError;\n      break;\n  }\n\nexit:\n  return ret;\n}\n\nncclResult_t ncclSocketInit(struct ncclSocket* sock, const union ncclSocketAddress* addr, uint64_t magic, enum ncclSocketType type, volatile uint32_t* abortFlag, int asyncFlag, int customRetry) {\n  ncclResult_t ret = ncclSuccess;\n\n  if (sock == NULL) goto exit;\n  sock->errorRetries = 0;\n  sock->abortFlag = abortFlag;\n  sock->asyncFlag = asyncFlag;\n  sock->state = ncclSocketStateInitialized;\n  sock->magic = magic;\n  sock->type = type;\n  sock->fd = -1;\n  sock->acceptFd = -1;\n  sock->customRetry = customRetry;\n\n  if (addr) {\n    /* IPv4/IPv6 support */\n    int family;\n    memcpy(&sock->addr, addr, sizeof(union ncclSocketAddress));\n    family = sock->addr.sa.sa_family;\n    if (family != AF_INET && family != AF_INET6) {\n      char line[SOCKET_NAME_MAXLEN+1];\n      WARN(\"ncclSocketInit: connecting to address %s with family %d is neither AF_INET(%d) nor AF_INET6(%d)\",\n          ncclSocketToString(&sock->addr, line), family, AF_INET, AF_INET6);\n      ret = ncclInternalError;\n      goto exit;\n    }\n    sock->salen = (family == AF_INET) ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6);\n    // in case of error, we close the fd before returning as it's unclear if the caller has to use ncclSocketClose for cleanup\n    NCCLCHECKGOTO(socketResetFd(sock), ret, fail);\n\n    // [RCCL] Runtime socket options\n    if (rcclParamSocketReuseAddr()) {\n      int opt = 1;\n      SYSCHECKGOTO(setsockopt(sock->fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)), \"setsockopt\", ret, fail);\n    }\n    int lingerParam = (int)rcclParamSocketLinger();\n    if (lingerParam > -1) {\n      linger linger_opt = { 1, lingerParam };\n      SYSCHECKGOTO(setsockopt(sock->fd, SOL_SOCKET, SO_LINGER, &linger_opt, sizeof(linger_opt)), \"setsockopt\", ret, fail);\n    }\n  } else {\n    memset(&sock->addr, 0, sizeof(union ncclSocketAddress));\n  }\nexit:\n  return ret;\nfail:\n  if (sock->fd != -1) {\n    close(sock->fd);\n    sock->fd = -1;\n  }\n  goto exit;\n}\n\nncclResult_t ncclSocketProgress(int op, struct ncclSocket* sock, void* ptr, int size, int* offset, int* closed) {\n  if (sock == NULL) {\n    WARN(\"ncclSocketProgress: pass NULL socket\");\n    return ncclInvalidArgument;\n  }\n  NCCLCHECK(socketProgress(op, sock, ptr, size, offset, closed));\n  return ncclSuccess;\n}\n\nncclResult_t ncclSocketWait(int op, struct ncclSocket* sock, void* ptr, int size, int* offset) {\n  if (sock == NULL) {\n    WARN(\"ncclSocketWait: pass NULL socket\");\n    return ncclInvalidArgument;\n  }\n  NCCLCHECK(socketWait(op, sock, ptr, size, offset));\n  return ncclSuccess;\n}\n\nncclResult_t ncclSocketSend(struct ncclSocket* sock, void* ptr, int size) {\n  int offset = 0;\n  if (sock == NULL) {\n    WARN(\"ncclSocketSend: pass NULL socket\");\n    return ncclInvalidArgument;\n  }\n  if (sock->state != ncclSocketStateReady) {\n    WARN(\"ncclSocketSend: socket state (%d) is not ready\", sock->state);\n    return ncclInternalError;\n  }\n  NCCLCHECK(socketWait(NCCL_SOCKET_SEND, sock, ptr, size, &offset));\n  return ncclSuccess;\n}\n\nncclResult_t ncclSocketRecv(struct ncclSocket* sock, void* ptr, int size) {\n  int offset = 0;\n  if (sock == NULL) {\n    WARN(\"ncclSocketRecv: pass NULL socket\");\n    return ncclInvalidArgument;\n  }\n  if (sock->state != ncclSocketStateReady && sock->state != ncclSocketStateTerminating) {\n    WARN(\"ncclSocketRecv: socket state (%d) is not ready\", sock->state);\n    return ncclInternalError;\n  }\n  NCCLCHECK(socketWait(NCCL_SOCKET_RECV, sock, ptr, size, &offset));\n  return ncclSuccess;\n}\n\nncclResult_t ncclSocketSendRecv(struct ncclSocket* sendSock, void* sendPtr, int sendSize, struct ncclSocket* recvSock, void* recvPtr, int recvSize) {\n  int sendOffset = 0, recvOffset = 0;\n  if (sendSock == NULL || recvSock == NULL) {\n    WARN(\"ncclSocketSendRecv: invalid socket %p/%p\", sendSock, recvSock);\n    return ncclInternalError;\n  }\n  if (sendSock->state != ncclSocketStateReady ||\n      (recvSock->state != ncclSocketStateReady && recvSock->state != ncclSocketStateTerminating)) {\n    WARN(\"ncclSocketSendRecv: socket state (%d/%d) is not ready\", sendSock->state, recvSock->state);\n    return ncclInternalError;\n  }\n  while (sendOffset < sendSize || recvOffset < recvSize) {\n    if (sendOffset < sendSize) NCCLCHECK(socketProgress(NCCL_SOCKET_SEND, sendSock, sendPtr, sendSize, &sendOffset));\n    if (recvOffset < recvSize) NCCLCHECK(socketProgress(NCCL_SOCKET_RECV, recvSock, recvPtr, recvSize, &recvOffset));\n  }\n  return ncclSuccess;\n}\n\n\n// Receive or detect connection closed\nncclResult_t ncclSocketTryRecv(struct ncclSocket* sock, void* ptr, int size, int* closed, bool blocking) {\n  int offset = 0;\n  if (sock == NULL) {\n    WARN(\"ncclSocketTryRecv: pass NULL socket\");\n    return ncclInvalidArgument;\n  }\n  *closed = 0;\n  // Block until connection closes or nbytes received\n  if (blocking) {\n    while (offset < size) {\n      NCCLCHECK(socketProgressOpt(NCCL_SOCKET_RECV, sock, ptr, size, &offset, 0, closed));\n      if (*closed) return ncclSuccess;\n    }\n  } else {\n    NCCLCHECK(socketProgressOpt(NCCL_SOCKET_RECV, sock, ptr, size, &offset, 0, closed));\n    if (*closed) return ncclSuccess;\n\n    // If any bytes were received, block waiting for the rest\n    if (offset > 0) {\n      while (offset < size) {\n        NCCLCHECK(socketProgressOpt(NCCL_SOCKET_RECV, sock, ptr, size, &offset, 0, closed));\n        if (*closed) return ncclSuccess;\n      }\n    // No bytes were received, return ncclInProgress\n    } else {\n      return ncclInProgress;\n    }\n  }\n  return ncclSuccess;\n}\n\n// Make it possible to close just one part of a socket.\nncclResult_t ncclSocketShutdown(struct ncclSocket* sock, int how) {\n  if (sock != NULL) {\n    if (sock->fd >= 0) {\n      SYSCHECK(shutdown(sock->fd, how), \"shutdown\");\n    }\n    sock->state = ncclSocketStateTerminating;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclSocketClose(struct ncclSocket* sock, bool wait) {\n  if (sock != NULL) {\n    if (sock->state > ncclSocketStateNone && sock->state < ncclSocketStateNum && sock->fd >= 0) {\n      if (wait) {\n        char data;\n        int closed = 0;\n        do {\n          int offset = 0;\n          if (ncclSocketProgress(NCCL_SOCKET_RECV, sock, &data, sizeof(char), &offset, &closed) != ncclSuccess) break;\n        } while (closed == 0);\n      }\n      /* shutdown() is needed to send FIN packet to proxy thread; shutdown() is not affected\n       * by refcount of fd, but close() is. close() won't close a fd and send FIN packet if\n       * the fd is duplicated (e.g. fork()). So shutdown() guarantees the correct and graceful\n       * connection close here. */\n      (void)shutdown(sock->fd, SHUT_RDWR);\n      (void)close(sock->fd);\n    }\n    sock->state = ncclSocketStateClosed;\n    sock->fd = -1;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclSocketGetFd(struct ncclSocket* sock, int* fd) {\n  if (sock == NULL) {\n    WARN(\"ncclSocketGetFd: pass NULL socket\");\n    return ncclInvalidArgument;\n  }\n  if (fd) *fd = sock->fd;\n  return ncclSuccess;\n}\n\nncclResult_t ncclSocketSetFd(int fd, struct ncclSocket* sock) {\n  if (sock == NULL) {\n    WARN(\"ncclSocketGetFd: pass NULL socket\");\n    return ncclInvalidArgument;\n  }\n  sock->fd = fd;\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/misc/strongstream.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"strongstream.h\"\n#include \"rocmwrap.h\"\n#include \"checks.h\"\n#include \"param.h\"\n#include <mutex>\n\n#if CUDART_VERSION >= 13000\n#define cudaStreamGetCaptureInfo_v3 cudaStreamGetCaptureInfo\n#define cudaGraphAddDependencies_v2 cudaGraphAddDependencies\n#define cudaStreamUpdateCaptureDependencies_v2 cudaStreamUpdateCaptureDependencies\n#endif\n\n// Tracks the captured work a given graph captured identified by its graph id.\nstruct ncclStrongStreamCapture {\n  struct ncclStrongStreamCapture* next;\n  cudaGraph_t graph;\n  unsigned long long graphId;\n  cudaStream_t captureStream;\n  void* acquiredBy;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n\nstatic ncclCudaContext* cxtListHead = nullptr;\nstatic std::mutex cxtListMutex;\n\nncclResult_t ncclCudaContextTrack(struct ncclCudaContext** out) {\n  ncclResult_t result = ncclSuccess;\n  CUcontext hcontext;\n  cuCtxGetCurrent(&hcontext);\n\n  std::lock_guard<std::mutex> lock(cxtListMutex);\n  struct ncclCudaContext* p = cxtListHead;\n  while (1) {\n    if (p == nullptr) {\n      p = (struct ncclCudaContext*)calloc(1, sizeof(struct ncclCudaContext));\n      if (p == nullptr) {\n        result = ncclSystemError;\n        goto leave;\n      }\n      p->refCount = 1;\n      p->hcontext = hcontext;\n      p->next = cxtListHead;\n      cxtListHead = p;\n      NCCLCHECKGOTO(ncclStrongStreamConstruct(&p->launchOrder), result, leave);\n      break;\n    }\n    if (p->hcontext == hcontext) {\n      p->refCount += 1;\n      break;\n    }\n    p = p->next;\n  }\nleave:\n  *out = p;\n  return ncclSuccess;\n}\n\nvoid ncclCudaContextDrop(struct ncclCudaContext* cxt) {\n  std::lock_guard<std::mutex> lock(cxtListMutex);\n  if (0 == --cxt->refCount) {\n    struct ncclCudaContext** pp = &cxtListHead;\n    while (*pp != cxt) pp = &(*pp)->next;\n    *pp = cxt->next; // remove from list\n    // Destroy resources held in cxt\n    ncclStrongStreamDestruct(&cxt->launchOrder);\n    free(cxt);\n  }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nncclResult_t ncclCudaGetCapturingGraph(\n    struct ncclCudaGraph* graph, cudaStream_t stream\n  ) {\n#if ROCM_VERSION >= 60100\n  hipStreamCaptureStatus status;\n  CUDACHECK(hipStreamGetCaptureInfo_v2(stream, &status, &graph->graphId, &graph->graph, nullptr, nullptr));\n  if (status != hipStreamCaptureStatusActive) {\n    graph->origin = nullptr;\n    graph->graph = nullptr;\n    graph->graphId = ULLONG_MAX;\n  } else {\n    graph->origin = stream;\n  }\n#endif\n  return ncclSuccess;\n}\n\nncclResult_t ncclCudaGraphAddDestructor(struct ncclCudaGraph graph, cudaHostFn_t fn, void* arg) {\n  #if ROCM_VERSION >= 60100\n    cudaUserObject_t object;\n    CUDACHECK(cudaUserObjectCreate(\n      &object, arg, fn, /*initialRefcount=*/1, cudaUserObjectNoDestructorSync\n    ));\n    // Hand over ownership to CUDA Graph\n    CUDACHECK(cudaGraphRetainUserObject(graph.graph, object, 1, cudaGraphUserObjectMove));\n    return ncclSuccess;\n  #else\n    return ncclInvalidUsage;\n  #endif\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nncclResult_t ncclStrongStreamConstruct(struct ncclStrongStream* ss) {\n  CUDACHECK(cudaStreamCreateWithFlags(&ss->liveStream, cudaStreamNonBlocking));\n  #if ROCM_VERSION >= 60100\n    ss->everCaptured = false;\n    ss->captureHead = nullptr;\n    pthread_mutex_init(&ss->lock, nullptr);\n    CUDACHECK(cudaEventCreateWithFlags(&ss->serialEvent, cudaEventDisableTiming));\n  #endif\n  return ncclSuccess;\n}\n\nncclResult_t ncclStrongStreamDestruct(struct ncclStrongStream* ss) {\n  CUDACHECK(cudaStreamDestroy(ss->liveStream));\n  #if ROCM_VERSION >= 60100\n    struct ncclStrongStreamCapture* cap = ss->captureHead;\n    while (cap) {\n      struct ncclStrongStreamCapture* next = cap->next;\n      CUDACHECK(cudaStreamDestroy(cap->captureStream));\n      free(cap);\n      cap = next;\n    }\n    CUDACHECK(cudaEventDestroy(ss->serialEvent));\n    pthread_mutex_destroy(&ss->lock);\n  #endif\n  return ncclSuccess;\n}\n\nNCCL_PARAM(GraphMixingSupport, \"GRAPH_MIXING_SUPPORT\", 0)\nNCCL_PARAM(LaunchRaceFatal, \"LAUNCH_RACE_FATAL\", 1);\nconstexpr char const* launchRaceFatalMsg = \"Fatal: host threads racing to launch NCCL on same device.\";\n\nstatic __thread char threadIdMarker;\nstatic void* localThreadId() { return &threadIdMarker; }\n\nncclResult_t ncclStrongStreamAcquire(\n   struct ncclCudaGraph graph, struct ncclStrongStream* ss, bool concurrent,\n   cudaStream_t* workStream\n  ) {\n  #if ROCM_VERSION >= 60100\n    bool mixing = ncclParamGraphMixingSupport();\n    if (graph.graphId == ULLONG_MAX) {\n      *workStream = ss->liveStream;\n      ss->liveAcquiredBy = localThreadId();\n      if (mixing && __atomic_load_n(&ss->everCaptured, __ATOMIC_RELAXED)) {\n        CUDACHECK(cudaStreamWaitEvent(ss->liveStream, ss->serialEvent, 0));\n      }\n    } else {\n      bool firstCapture = !ss->everCaptured;\n      __atomic_store_n(&ss->everCaptured, true, __ATOMIC_RELAXED);\n\n      ncclResult_t ret = ncclSuccess;\n      if (concurrent) pthread_mutex_lock(&ss->lock);\n\n      // Look for capture in our list of active captures.\n      struct ncclStrongStreamCapture** pcap = &ss->captureHead;\n      struct ncclStrongStreamCapture* cap;\n      struct ncclStrongStreamCapture* spare = nullptr;\n      while (*pcap != nullptr) {\n        cap = *pcap;\n        if (cap->graphId == graph.graphId) { // Capture node already exists.\n          *workStream = cap->captureStream;\n          cap->acquiredBy = localThreadId();\n          if (concurrent) pthread_mutex_unlock(&ss->lock);\n          return ncclSuccess;\n        } else {\n          cudaStreamCaptureStatus status;\n          CUDACHECKGOTO(cudaStreamIsCapturing(cap->captureStream, &status), ret, do_unlock);\n          if (status == cudaStreamCaptureStatusActive) {\n            pcap = &cap->next; // Active capture doesn't match, on to next.\n          } else { // Capture no longer active\n            *pcap = cap->next; // Remove from current list\n            if (spare == nullptr) { // Keep one spare to reuse below.\n              spare = cap;\n            } else {\n              cudaStreamDestroy(cap->captureStream);\n              free(cap);\n            }\n          }\n        }\n      }\n      // No matching capture, need a new entry.\n      cap = spare;\n      if (cap == nullptr) {\n        cap = (struct ncclStrongStreamCapture*)calloc(1, sizeof(struct ncclStrongStreamCapture));\n        if (cap == nullptr) {\n          ret = ncclSystemError;\n          goto do_unlock;\n        }\n        CUDACHECKGOTO(cudaStreamCreateWithFlags(&cap->captureStream, cudaStreamNonBlocking), ret, do_unlock);\n      }\n      cap->graphId = graph.graphId;\n      cap->acquiredBy = localThreadId();\n      // Push to capturing list.\n      cap->next = ss->captureHead;\n      ss->captureHead = cap;\n\n    do_unlock:\n      if (concurrent) pthread_mutex_unlock(&ss->lock);\n      if (ret != ncclSuccess) return ret;\n\n      *workStream = cap->captureStream;\n\n      // Bring captureStream into the graph but without any dependencies.\n      cudaEvent_t scratch;\n      CUDACHECK(cudaEventCreateWithFlags(&scratch, cudaEventDisableTiming));\n      CUDACHECK(cudaEventRecord(scratch, graph.origin));\n      CUDACHECK(cudaStreamWaitEvent(cap->captureStream, scratch, 0));\n      CUDACHECK(cudaEventDestroy(scratch));\n      #if CUDART_VERSION >= 13000\n      CUDACHECK(cudaStreamUpdateCaptureDependencies_v2(cap->captureStream, nullptr, nullptr, 0, cudaStreamSetCaptureDependencies));\n      #else\n      CUDACHECK(cudaStreamUpdateCaptureDependencies(cap->captureStream, nullptr, 0, cudaStreamSetCaptureDependencies));\n      #endif\n\n      if (mixing && firstCapture) {\n        CUDACHECK(cudaEventRecord(ss->serialEvent, ss->liveStream));\n      }\n      if (mixing) {\n        // First dependency is to wait on serialEvent\n        CUDACHECK(cudaStreamWaitEvent(cap->captureStream, ss->serialEvent, 0));\n      }\n    }\n  #endif\n  return ncclSuccess;\n}\n\nncclResult_t ncclStrongStreamAcquiredWorkStream(\n    struct ncclCudaGraph graph, struct ncclStrongStream* ss, bool concurrent,\n    cudaStream_t* workStream\n  ) {\n  #if ROCM_VERSION >= 60100\n    if (graph.graphId == ULLONG_MAX) {\n      *workStream = ss->liveStream;\n    } else {\n      if (concurrent) pthread_mutex_lock(&ss->lock);\n      struct ncclStrongStreamCapture* cap = ss->captureHead;\n      while (cap->graphId != graph.graphId) cap = cap->next;\n      *workStream = cap->captureStream;\n      if (concurrent) pthread_mutex_unlock(&ss->lock);\n    }\n  #else\n    *workStream = ss->liveStream\n  #endif\n  return ncclSuccess;\n}\n\nncclResult_t ncclStrongStreamRelease(\n    struct ncclCudaGraph graph, struct ncclStrongStream* ss, bool concurrent\n  ) {\n  #if ROCM_VERSION >= 60100\n    bool mixing = ncclParamGraphMixingSupport();\n    if (mixing) {\n      if (graph.graphId == ULLONG_MAX) {\n        if (__atomic_load_n(&ss->everCaptured, __ATOMIC_RELAXED)) {\n          CUDACHECK(cudaEventRecord(ss->serialEvent, ss->liveStream));\n        }\n        if (ss->liveAcquiredBy != localThreadId() && ncclParamLaunchRaceFatal()) {\n          ERROR(\"%s\", launchRaceFatalMsg);\n          return ncclInvalidUsage;\n        }\n      } else {\n        if (concurrent) pthread_mutex_lock(&ss->lock);\n        struct ncclStrongStreamCapture* cap = ss->captureHead;\n        while (cap->graphId != graph.graphId) cap = cap->next;\n        if (concurrent) pthread_mutex_unlock(&ss->lock);\n\n        // Add event record node with dependencies added further down.\n        cudaGraphNode_t recordNode;\n        CUDACHECK(cudaGraphAddEventRecordNode(&recordNode, graph.graph, nullptr, 0, ss->serialEvent));\n\n        // Get current nodes from work stream so we can add them as dependencies.\n        cudaStreamCaptureStatus status;\n        cudaGraphNode_t const* nodes;\n        size_t count = 0;\n        #if CUDART_VERSION >= 13000\n        cudaError_t res = hipStreamGetCaptureInfo_v3(cap->captureStream, &status, nullptr, nullptr, &nodes, nullptr, &count);\n        #else\n        cudaError_t res = hipStreamGetCaptureInfo_v2(cap->captureStream, &status, nullptr, nullptr, &nodes, &count);\n        #endif\n\n        #if CUDART_VERSION >= 12030\n        if (res == cudaErrorLossyQuery) { // CUDA is telling us the dependencies have edge annotations.\n          cudaGraphEdgeData const* edges;\n          CUDACHECK(cudaStreamGetCaptureInfo_v3(cap->captureStream, &status, nullptr, nullptr, &nodes, &edges, &count));\n          for (int i=0; i < (int)count; i++) {\n            CUDACHECK(cudaGraphAddDependencies_v2(graph.graph, &nodes[i], &recordNode, &edges[i], 1));\n          }\n        }\n        #else\n        if (false) {}\n        #endif\n        else {\n          CUDACHECK(res /* = cudaStreamGetCaptureInfo_v2(...)*/);\n          for (int i=0; i < (int)count; i++) {\n          #if CUDART_VERSION >= 13000\n            CUDACHECK(cudaGraphAddDependencies_v2(graph.graph, &nodes[i], &recordNode, nullptr, 1));\n          #else\n            CUDACHECK(cudaGraphAddDependencies(graph.graph, &nodes[i], &recordNode, 1));\n          #endif\n          }\n        }\n\n\t// Make every future operation captured on cap->captureStream depend on 'recordNode'.\n        #if CUDART_VERSION >= 13000\n        CUDACHECK(cudaStreamUpdateCaptureDependencies_v2(\n                    cap->captureStream,\n                    &recordNode,          /* dependencies                */\n                    /*edges =*/ nullptr,  /* no edge annotations         */\n                    1,                    /* count                       */\n                    cudaStreamSetCaptureDependencies));\n        #else\n        CUDACHECK(cudaStreamUpdateCaptureDependencies(\n                    cap->captureStream,\n                    &recordNode,\n                    1,\n                    cudaStreamSetCaptureDependencies));\n        #endif\n\n        if (cap->acquiredBy != localThreadId() && ncclParamLaunchRaceFatal()) {\n          ERROR(\"%s\", launchRaceFatalMsg);\n          return ncclInvalidUsage;\n        }\n      }\n    }\n  #endif\n  return ncclSuccess;\n}\n\nncclResult_t ncclStreamWaitStream(cudaStream_t a, cudaStream_t b, cudaEvent_t scratchEvent) {\n  CUDACHECK(cudaEventRecord(scratchEvent, b));\n  CUDACHECK(cudaStreamWaitEvent(a, scratchEvent, 0));\n  return ncclSuccess;\n}\n\nncclResult_t ncclStreamAdvanceToEvent(struct ncclCudaGraph g, cudaStream_t s, cudaEvent_t e) {\n  if (g.graphId == ULLONG_MAX) {\n    CUDACHECK(cudaStreamWaitEvent(s, e, 0));\n  } else {\n    cudaStream_t tmp;\n    CUDACHECK(cudaStreamCreateWithFlags(&tmp, cudaStreamNonBlocking));\n    CUDACHECK(cudaStreamWaitEvent(tmp, e, 0));\n\n    cudaStreamCaptureStatus status;\n    cudaGraphNode_t const* nodes;\n    size_t count = 0;\n    #if CUDART_VERSION >= 13000\n    cudaError_t res = hipStreamGetCaptureInfo_v3(tmp, &status, nullptr, nullptr, &nodes, nullptr, &count);\n    #else\n    cudaError_t res = hipStreamGetCaptureInfo_v2(tmp, &status, nullptr, nullptr, &nodes, &count);\n    #endif\n\n    #if CUDART_VERSION >= 12030\n    if (res == cudaErrorLossyQuery) { // CUDA is telling us the dependencies have edge annotations.\n      cudaGraphEdgeData const* edges;\n      CUDACHECK(cudaStreamGetCaptureInfo_v3(tmp, &status, nullptr, nullptr, &nodes, &edges, &count));\n      CUDACHECK(cudaStreamUpdateCaptureDependencies_v2(s, (cudaGraphNode_t*)nodes, edges, count, cudaStreamSetCaptureDependencies));\n    }\n    #else\n    if (false) {}\n    #endif\n    else {\n      CUDACHECK(res /* = cudaStreamGetCaptureInfo_v2(...)*/);\n    #if CUDART_VERSION >= 13000\n      CUDACHECK(cudaStreamUpdateCaptureDependencies_v2(s, (cudaGraphNode_t*)nodes, nullptr, count, cudaStreamSetCaptureDependencies));\n    #else\n      CUDACHECK(cudaStreamUpdateCaptureDependencies(s, (cudaGraphNode_t*)nodes, count, cudaStreamSetCaptureDependencies));\n    #endif\n    }\n\n    CUDACHECK(cudaStreamDestroy(tmp));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclStrongStreamSynchronize(struct ncclStrongStream* ss) {\n  #if ROCM_VERSION >= 60100\n    CUDACHECK(cudaStreamWaitEvent(ss->liveStream, ss->serialEvent, 0));\n  #endif\n  CUDACHECK(cudaStreamSynchronize(ss->liveStream));\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/misc/utils.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2020, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"utils.h\"\n#include \"core.h\"\n\n#include \"nvmlwrap.h\"\n\n#include <unistd.h>\n#include <stdlib.h>\n#include <mutex>\n\n// Get current Compute Capability\nint ncclCudaCompCap() {\n  int cudaDev;\n  if (cudaGetDevice(&cudaDev) != cudaSuccess) return 0;\n  int ccMajor, ccMinor;\n  if (cudaDeviceGetAttribute(&ccMajor, cudaDevAttrComputeCapabilityMajor, cudaDev) != cudaSuccess) return 0;\n  if (cudaDeviceGetAttribute(&ccMinor, cudaDevAttrComputeCapabilityMinor, cudaDev) != cudaSuccess) return 0;\n  return ccMajor*10+ccMinor;\n}\n\nncclResult_t int64ToBusId(int64_t id, char* busId) {\n  sprintf(busId, \"%04lx:%02lx:%02lx.%01lx\", (id) >> 20, (id & 0xff000) >> 12, (id & 0xff0) >> 4, (id & 0xf));\n  return ncclSuccess;\n}\n\nncclResult_t busIdToInt64(const char* busId, int64_t* id) {\n  char hexStr[17];  // Longest possible int64 hex string + null terminator.\n  int hexOffset = 0;\n  for (int i = 0; hexOffset < sizeof(hexStr) - 1; i++) {\n    char c = busId[i];\n    if (c == '.' || c == ':') continue;\n    if ((c >= '0' && c <= '9') ||\n        (c >= 'A' && c <= 'F') ||\n        (c >= 'a' && c <= 'f')) {\n      hexStr[hexOffset++] = busId[i];\n    } else break;\n  }\n  hexStr[hexOffset] = '\\0';\n  *id = strtol(hexStr, NULL, 16);\n  return ncclSuccess;\n}\n\n// Convert a logical cudaDev index to the NVML device minor number\nncclResult_t getBusId(int cudaDev, int64_t *busId) {\n  // On most systems, the PCI bus ID comes back as in the 0000:00:00.0\n  // format. Still need to allocate proper space in case PCI domain goes\n  // higher.\n  char busIdStr[] = \"00000000:00:00.0\";\n  CUDACHECK(cudaDeviceGetPCIBusId(busIdStr, sizeof(busIdStr), cudaDev));\n  NCCLCHECK(busIdToInt64(busIdStr, busId));\n  return ncclSuccess;\n}\n\nncclResult_t getHostName(char* hostname, int maxlen, const char delim) {\n  if (gethostname(hostname, maxlen) != 0) {\n    strncpy(hostname, \"unknown\", maxlen);\n    return ncclSystemError;\n  }\n  int i = 0;\n  while ((hostname[i] != delim) && (hostname[i] != '\\0') && (i < maxlen-1)) i++;\n  hostname[i] = '\\0';\n  return ncclSuccess;\n}\n\nstatic uint64_t hostHashValue = 0;\n/* Generate a hash of the unique identifying string for this host\n * that will be unique for both bare-metal and container instances\n * Equivalent of a hash of;\n *\n * $(hostname)$(cat /proc/sys/kernel/random/boot_id)\n *\n * This string can be overridden by using the NCCL_HOSTID env var.\n */\n#define HOSTID_FILE \"/proc/sys/kernel/random/boot_id\"\nstatic void getHostHashOnce() {\n  char hostHash[1024];\n  const char *hostId;\n\n  // Fall back is the full hostname if something fails\n  (void) getHostName(hostHash, sizeof(hostHash), '\\0');\n  int offset = strlen(hostHash);\n\n  if ((hostId = ncclGetEnv(\"NCCL_HOSTID\")) != NULL) {\n    INFO(NCCL_ENV, \"NCCL_HOSTID set by environment to %s\", hostId);\n    strncpy(hostHash, hostId, sizeof(hostHash)-1);\n    hostHash[sizeof(hostHash)-1] = '\\0';\n  } else {\n    FILE *file = fopen(HOSTID_FILE, \"r\");\n    if (file != NULL) {\n      char *p;\n      if (fscanf(file, \"%ms\", &p) == 1) {\n        strncpy(hostHash+offset, p, sizeof(hostHash)-offset-1);\n        free(p);\n      }\n      fclose(file);\n    }\n  }\n\n  // Make sure the string is terminated\n  hostHash[sizeof(hostHash)-1]='\\0';\n\n  TRACE(NCCL_INIT,\"unique hostname '%s'\", hostHash);\n\n  hostHashValue = getHash(hostHash, strlen(hostHash));\n}\nuint64_t getHostHash(void) {\n  static std::once_flag once;\n  std::call_once(once, getHostHashOnce);\n  return hostHashValue;\n}\n\n/* Generate a hash of the unique identifying string for this process\n * that will be unique for both bare-metal and container instances\n * Equivalent of a hash of;\n *\n * $$ $(readlink /proc/self/ns/pid)\n */\nuint64_t getPidHash(void) {\n  char pname[1024];\n  // Start off with our pid ($$)\n  sprintf(pname, \"%ld\", (long) getpid());\n  int plen = strlen(pname);\n  int len = readlink(\"/proc/self/ns/pid\", pname+plen, sizeof(pname)-1-plen);\n  if (len < 0) len = 0;\n\n  pname[plen+len]='\\0';\n  TRACE(NCCL_INIT,\"unique PID '%s'\", pname);\n\n  return getHash(pname, strlen(pname));\n}\n\nint parseStringList(const char* string, struct netIf* ifList, int maxList) {\n  if (!string) return 0;\n\n  const char* ptr = string;\n\n  int ifNum = 0;\n  int ifC = 0;\n  char c;\n  do {\n    c = *ptr;\n    if (c == ':') {\n      if (ifC > 0) {\n        ifList[ifNum].prefix[ifC] = '\\0';\n        ifList[ifNum].port = atoi(ptr+1);\n        ifNum++; ifC = 0;\n      }\n      while (c != ',' && c != '\\0') c = *(++ptr);\n    } else if (c == ',' || c == '\\0') {\n      if (ifC > 0) {\n        ifList[ifNum].prefix[ifC] = '\\0';\n        ifList[ifNum].port = -1;\n        ifNum++; ifC = 0;\n      }\n    } else {\n      ifList[ifNum].prefix[ifC] = c;\n      ifC++;\n    }\n    ptr++;\n  } while (ifNum < maxList && c);\n  return ifNum;\n}\n\nstatic bool matchIf(const char* string, const char* ref, bool matchExact) {\n  // Make sure to include '\\0' in the exact case\n  int matchLen = matchExact ? strlen(string) + 1 : strlen(ref);\n  return strncmp(string, ref, matchLen) == 0;\n}\n\nstatic bool matchPort(const int port1, const int port2) {\n  if (port1 == -1) return true;\n  if (port2 == -1) return true;\n  if (port1 == port2) return true;\n  return false;\n}\n\n\nbool matchIfList(const char* string, int port, struct netIf* ifList, int listSize, bool matchExact) {\n  // Make an exception for the case where no user list is defined\n  if (listSize == 0) return true;\n\n  for (int i=0; i<listSize; i++) {\n    if (matchIf(string, ifList[i].prefix, matchExact)\n        && matchPort(port, ifList[i].port)) {\n      return true;\n    }\n  }\n  return false;\n}\n\n__thread struct ncclThreadSignal ncclThreadSignalLocalInstance = ncclThreadSignalStaticInitializer();\n\nvoid* ncclMemoryStack::allocateSpilled(struct ncclMemoryStack* me, size_t size, size_t align) {\n  // `me->hunks` points to the top of the stack non-empty hunks. Hunks above\n  // this (reachable via `->above`) are empty.\n  struct Hunk* top = me->topFrame.hunk;\n  size_t mallocSize = 0;\n\n  // If we have lots of space left in hunk but that wasn't enough then we'll\n  // allocate the object unhunked.\n  if (me->topFrame.end - me->topFrame.bumper >= 8<<10)\n    goto unhunked;\n\n  // If we have another hunk (which must be empty) waiting above this one and\n  // the object fits then use that.\n  if (top && top->above) {\n    struct Hunk* top1 = top->above;\n    uintptr_t uobj = (reinterpret_cast<uintptr_t>(top1) + sizeof(struct Hunk) + align-1) & -uintptr_t(align);\n    if (uobj + size <= reinterpret_cast<uintptr_t>(top1) + top1->size) {\n      me->topFrame.hunk = top1;\n      me->topFrame.bumper = uobj + size;\n      me->topFrame.end = reinterpret_cast<uintptr_t>(top1) + top1->size;\n      return reinterpret_cast<void*>(uobj);\n    }\n  }\n\n  { // If the next hunk we're going to allocate wouldn't be big enough but the\n    // Unhunk proxy fits in the current hunk then go allocate as unhunked.\n    size_t nextSize = (top ? top->size : 0) + (64<<10);\n    constexpr size_t maxAlign = 64;\n    if (nextSize < sizeof(struct Hunk) + maxAlign + size) {\n      uintptr_t uproxy = (me->topFrame.bumper + alignof(Unhunk)-1) & -uintptr_t(alignof(Unhunk));\n      if (uproxy + sizeof(struct Unhunk) <= me->topFrame.end)\n        goto unhunked;\n    }\n\n    // At this point we must need another hunk, either to fit the object\n    // itself or its Unhunk proxy.\n    mallocSize = nextSize;\n    INFO(NCCL_ALLOC, \"%s:%d memory stack hunk malloc(%llu)\", __FILE__, __LINE__, (unsigned long long)mallocSize);\n    struct Hunk *top1 = (struct Hunk*)malloc(mallocSize);\n    if (top1 == nullptr) goto malloc_exhausted;\n    top1->size = nextSize;\n    top1->above = nullptr;\n    if (top) top->above = top1;\n    top = top1;\n    me->topFrame.hunk = top;\n    me->topFrame.end = reinterpret_cast<uintptr_t>(top) + nextSize;\n    me->topFrame.bumper = reinterpret_cast<uintptr_t>(top) + sizeof(struct Hunk);\n  }\n\n  { // Try to fit object in the new top hunk.\n    uintptr_t uobj = (me->topFrame.bumper + align-1) & -uintptr_t(align);\n    if (uobj + size <= me->topFrame.end) {\n      me->topFrame.bumper = uobj + size;\n      return reinterpret_cast<void*>(uobj);\n    }\n  }\n\nunhunked:\n  { // We need to allocate the object out-of-band and put an Unhunk proxy in-band\n    // to keep track of it.\n    uintptr_t uproxy = (me->topFrame.bumper + alignof(Unhunk)-1) & -uintptr_t(alignof(Unhunk));\n    Unhunk* proxy = reinterpret_cast<Unhunk*>(uproxy);\n    me->topFrame.bumper = uproxy + sizeof(Unhunk);\n    proxy->next = me->topFrame.unhunks;\n    me->topFrame.unhunks = proxy;\n    mallocSize = size;\n    proxy->obj = malloc(mallocSize);\n    INFO(NCCL_ALLOC, \"%s:%d memory stack non-hunk malloc(%llu)\", __FILE__, __LINE__, (unsigned long long)mallocSize);\n    if (proxy->obj == nullptr) goto malloc_exhausted;\n    return proxy->obj;\n  }\n\nmalloc_exhausted:\n  WARN(\"%s:%d Unrecoverable error detected: malloc(size=%llu) returned null.\", __FILE__, __LINE__, (unsigned long long)mallocSize);\n  abort();\n}\n\nvoid ncclMemoryStackDestruct(struct ncclMemoryStack* me) {\n  // Free unhunks first because both the frames and unhunk proxies lie within the hunks.\n  struct ncclMemoryStack::Frame* f = &me->topFrame;\n  while (f != nullptr) {\n    struct ncclMemoryStack::Unhunk* u = f->unhunks;\n    while (u != nullptr) {\n      free(u->obj);\n      u = u->next;\n    }\n    f = f->below;\n  }\n  // Free hunks\n  struct ncclMemoryStack::Hunk* h = me->stub.above;\n  while (h != nullptr) {\n    struct ncclMemoryStack::Hunk *h1 = h->above;\n    free(h);\n    h = h1;\n  }\n}\n\n/* return concatenated string representing each set bit */\nncclResult_t ncclBitsToString(uint32_t bits, uint32_t mask, const char* (*toStr)(int), char *buf, size_t bufLen, const char *wildcard) {\n  if (!buf || !bufLen)\n    return ncclInvalidArgument;\n\n  bits &= mask;\n\n  // print wildcard value if all bits set\n  if (wildcard && bits == mask) {\n    snprintf(buf, bufLen, \"%s\", wildcard);\n    return ncclSuccess;\n  }\n\n  // Add each set bit to string\n  int pos = 0;\n  for (int i = 0; bits; i++, bits >>= 1) {\n    if (bits & 1) {\n      if (pos > 0) pos += snprintf(buf + pos, bufLen - pos, \"|\");\n      pos += snprintf(buf + pos, bufLen - pos, \"%s\", toStr(i));\n    }\n  }\n\n  return ncclSuccess;\n}\n\nsize_t get_sc_page_size() {\n  static size_t cached_page_size = 0;\n  size_t ps = __atomic_load_n(&cached_page_size,__ATOMIC_RELAXED);\n  if (ps == 0) {\n      ps = (size_t)sysconf(_SC_PAGESIZE);\n      __atomic_store_n(&cached_page_size, ps,__ATOMIC_RELAXED);\n  }\n  return ps;\n}\n\nvoid get_aligned_ptr_and_size(const void *ptr, const size_t bufsize, void **aligned_ptr, size_t *aligned_size) {\n  if (!aligned_ptr || !aligned_size) return;\n  const size_t page_size = get_sc_page_size();\n  uintptr_t aligned_ptr_local = (uintptr_t)ptr & ~(page_size - 1);\n  size_t local_offset = (size_t)((uintptr_t)ptr - aligned_ptr_local);\n  *aligned_size = (bufsize + local_offset + page_size - 1) & ~(page_size - 1);\n  *aligned_ptr = (void *)aligned_ptr_local;\n}\n"
  },
  {
    "path": "src/mnnvl.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"mnnvl.h\"\n#include \"transport.h\"\n#include <cuda.h>\n#include \"rocmwrap.h\"\n\n// Determine if MNNVL support is available\nncclResult_t ncclMnnvlCheck(struct ncclComm* comm) {\n#if !defined(__HIP_PLATFORM_AMD__) && !defined(__HIPCC__)\n  // MNNVL requires cuMem to be enabled\n  if (!ncclCuMemEnable()) return ncclSuccess;\n\n  // MNNVL also requires FABRIC handle support\n  int cudaDev;\n  int flag = 0;\n  CUdevice currentDev;\n  CUDACHECK(cudaGetDevice(&cudaDev));\n  CUDACHECK(cuDeviceGet(&currentDev, cudaDev));\n  // Ignore error if CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED is not supported\n  (void) cuDeviceGetAttribute(&flag, CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED, currentDev);\n  if (!flag) return ncclSuccess;\n  // Check that all ranks have initialized the fabric fully\n  for (int i = 0; i < comm->nRanks; i++) {\n    if (comm->peerInfo[i].fabricInfo.state != NVML_GPU_FABRIC_STATE_COMPLETED) return ncclSuccess;\n  }\n\n  // Determine our MNNVL domain/clique\n  NCCLCHECK(ncclCalloc(&comm->clique.ranks, comm->nRanks));\n  comm->clique.id = comm->peerInfo[comm->rank].fabricInfo.cliqueId;\n  for (int i = 0; i < comm->nRanks; i++) {\n    nvmlGpuFabricInfoV_t *fabricInfo1 = &comm->peerInfo[comm->rank].fabricInfo;\n    nvmlGpuFabricInfoV_t *fabricInfo2 = &comm->peerInfo[i].fabricInfo;\n    // Check if the cluster UUID and cliqueId match\n    // A zero UUID means we don't have MNNVL fabric info - disable MNNVL\n    unsigned long uuid0 = 0;\n    unsigned long uuid1 = 0;\n    memcpy(&uuid0, fabricInfo2->clusterUuid, sizeof(uuid0));\n    memcpy(&uuid1, fabricInfo2->clusterUuid + sizeof(uuid0), sizeof(uuid1));\n    if ((uuid0 | uuid1) == 0) return ncclSuccess;\n    if ((memcmp(fabricInfo1->clusterUuid, fabricInfo2->clusterUuid, NVML_GPU_FABRIC_UUID_LEN) == 0) &&\n        (fabricInfo1->cliqueId == fabricInfo2->cliqueId)) {\n      if (i == comm->rank) {\n        comm->cliqueRank = comm->clique.size;\n      }\n      comm->clique.ranks[comm->clique.size++] = i;\n    }\n  }\n\n  // No MNNVL clique found\n  if (comm->clique.size <= 1) return ncclSuccess;\n\n  // Check that FABRIC handles can be exported & imported by IMEX\n  {\n    void *ptr = NULL;\n    CUmemGenericAllocationHandle handle;\n    ncclCuDesc cuDesc;\n    CUresult err;\n\n    // Allocate FABRIC handle compatible memory\n    ncclResult_t ret = ncclCuMemAlloc(&ptr, &handle, CU_MEM_HANDLE_TYPE_FABRIC, CUDA_IPC_MIN);\n    if (ret != ncclSuccess) {\n      // Return an error if this is a MNNVL capable system but FABRIC handles are not supported\n      WARN(\"MNNVL (cliqueSize %d) is available but not working on this system. Check the IMEX channel configuration (/dev/nvidia-caps-imex-channels). Set NCCL_MNNVL_ENABLE=0 to ignore this issue.\",\n           comm->clique.size);\n      return ncclSystemError;\n    }\n    err = cuMemExportToShareableHandle(&cuDesc, handle, CU_MEM_HANDLE_TYPE_FABRIC, 0);\n    if (err != CUDA_SUCCESS ||\n        (err = cuMemImportFromShareableHandle(&handle, &cuDesc, CU_MEM_HANDLE_TYPE_FABRIC)) != CUDA_SUCCESS) {\n      const char *errStr;\n      (void) cuGetErrorString(err, &errStr);\n      NCCLCHECK(ncclCuMemFree(ptr));\n      // Return an error if this is a MNNVL capable system but it's not working\n      WARN(\"MNNVL (cliqueSize %d) is available but not working on this system. Check the IMEX configuration (nvidia-imex-ctl -N). Set NCCL_MNNVL_ENABLE=0 to ignore this issue.\",\n          comm->clique.size);\n      return ncclSystemError;\n    }\n    NCCLCHECK(ncclCuMemFree(ptr));\n\n    // Force the CUMEM handle type to be FABRIC for MNNVL\n    ncclCuMemHandleType = CU_MEM_HANDLE_TYPE_FABRIC;\n    comm->MNNVL = 1;\n    INFO(NCCL_INIT, \"MNNVL %d cliqueId %x cliqueSize %d cliqueRank %d\",\n        comm->MNNVL, comm->clique.id, comm->clique.size, comm->cliqueRank);\n  }\n#endif\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/msccl.cc",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#include \"enqueue.h\"\n#include \"msccl/msccl_parser.h\"\n#include \"msccl/msccl_setup.h\"\n#include \"msccl/msccl_status.h\"\n#include \"api_trace.h\"\n#include \"nvtx_payload_schemas.h\"\n#include <cstdio>\n#include <cstdlib>\n\nusing namespace rccl;\n\nNCCL_API(ncclResult_t, mscclLoadAlgo, const char *mscclAlgoFilePath, mscclAlgoHandle_t *mscclAlgoHandle, int rank);\nncclResult_t mscclLoadAlgo_impl(const char *mscclAlgoFilePath, mscclAlgoHandle_t *mscclAlgoHandle, int rank) {\n  // deprecated\n  Recorder::instance().record(\"mscclLoadAlgo\");\n  WARN(\"mscclLoadAlgo is deprecated. Function call has no effect.\");\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, mscclRunAlgo,\n    const void* sendBuff, const size_t sendCounts[], const size_t sDisPls[],\n    void* recvBuff, const size_t recvCounts[], const size_t rDisPls[],\n    size_t count, ncclDataType_t dataType, int root, int peer, ncclRedOp_t op,\n    mscclAlgoHandle_t mscclAlgoHandle, ncclComm_t comm, hipStream_t stream);\nncclResult_t mscclRunAlgo_impl(\n    const void* sendBuff, const size_t sendCounts[], const size_t sDisPls[],\n    void* recvBuff, const size_t recvCounts[], const size_t rDisPls[],\n    size_t count, ncclDataType_t dataType, int root, int peer, ncclRedOp_t op,\n    mscclAlgoHandle_t mscclAlgoHandle, ncclComm_t comm, hipStream_t stream) {\n  // deprecated\n  Recorder::instance().record(\"mscclRunAlgo\");\n  NVTX3_FUNC_WITH_PARAMS(MSCCL, NcclNvtxParamsMSCCL,\n    NVTX3_PAYLOAD(comm ? comm->commHash : 0, count * ncclTypeSize(dataType), op, dataType));\n  WARN(\"mscclRunAlgo is deprecated. Function call has no effect.\");\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, mscclUnloadAlgo, mscclAlgoHandle_t mscclAlgoHandle);\nncclResult_t mscclUnloadAlgo_impl(mscclAlgoHandle_t mscclAlgoHandle) {\n  // deprecated\n  Recorder::instance().record(\"mscclUnloadAlgo\");\n  WARN(\"mscclUnloadAlgo is deprecated. Function call has no effect.\");\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/nccl.h.in",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2021, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_H_\n#define NCCL_H_\n\n#include <hip/hip_runtime.h>\n#include <hip/hip_fp16.h>\n\n#define NCCL_MAJOR ${NCCL_MAJOR}\n#define NCCL_MINOR ${NCCL_MINOR}\n#define NCCL_PATCH ${NCCL_PATCH}\n#define NCCL_SUFFIX \"${NCCL_SUFFIX}\"\n\n#define NCCL_VERSION_CODE ${NCCL_VERSION}\n#define NCCL_VERSION(X,Y,Z) (((X) <= 2 && (Y) <= 8) ? (X) * 1000 + (Y) * 100 + (Z) : (X) * 10000 + (Y) * 100 + (Z))\n\n#define RCCL_BFLOAT16 1\n#define RCCL_FLOAT8 1\n#define RCCL_GATHER_SCATTER 1\n#define RCCL_ALLTOALLV 1\n#define RCCL_ALLREDUCE_WITH_BIAS 1\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#include <limits.h>\n\n/*! @brief      Opaque handle to communicator\n    @details    A communicator contains information required to facilitate collective communications calls */\ntypedef struct ncclComm* ncclComm_t;\ntypedef struct ncclWindow_vidmem* ncclWindow_t;\n#define NCCL_COMM_NULL NULL\n\n#define NCCL_UNIQUE_ID_BYTES 128\n/*! @brief      Opaque unique id used to initialize communicators\n    @details    The ncclUniqueId must be passed to all participating ranks */\ntypedef struct { char internal[NCCL_UNIQUE_ID_BYTES]; /*!< Opaque array>*/} ncclUniqueId;\n\n/*! @defgroup   rccl_result_code Result Codes\n    @details    The various result codes that RCCL API calls may return\n    @{ */\n\n/*! @brief      Result type\n    @details    Return codes aside from ncclSuccess indicate that a call has failed */\n  typedef enum {\n    ncclSuccess                 =  0, /*!< No error */\n    ncclUnhandledCudaError      =  1, /*!< Unhandled HIP error */\n    ncclSystemError             =  2, /*!< Unhandled system error */\n    ncclInternalError           =  3, /*!< Internal Error - Please report to RCCL developers */\n    ncclInvalidArgument         =  4, /*!< Invalid argument */\n    ncclInvalidUsage            =  5, /*!< Invalid usage */\n    ncclRemoteError             =  6, /*!< Remote process exited or there was a network error */\n    ncclInProgress              =  7, /*!< RCCL operation in progress */\n    ncclNumResults              =  8  /*!< Number of result types */\n  } ncclResult_t;\n/*! @} */\n\n#define NCCL_CONFIG_UNDEF_INT INT_MIN\n#define NCCL_CONFIG_UNDEF_PTR NULL\n#define NCCL_SPLIT_NOCOLOR -1\n#define NCCL_UNDEF_FLOAT -1.0f\n\n/* Window Registration flags */\n#define NCCL_WIN_DEFAULT 0x00\n#define NCCL_WIN_COLL_SYMMETRIC 0x01\n\n#define NCCL_WIN_REQUIRED_ALIGNMENT 4096\n\n/* NCCL performance policy */\n#define NCCL_CTA_POLICY_DEFAULT 0x00\n#define NCCL_CTA_POLICY_EFFICIENCY 0x01\n#define NCCL_CTA_POLICY_ZERO 0x02\n\n/* ncclCommShrink flags*/\n#define NCCL_SHRINK_DEFAULT 0x00 /* shrink the parent communicator */\n#define NCCL_SHRINK_ABORT 0x01   /* First, terminate ongoing parent operations, and then shrink the parent communicator */\n\n/*! @defgroup   rccl_config_type Communicator Configuration\n    @details    Structure that allows for customizing Communicator behavior via ncclCommInitRankConfig\n    @{ */\n\n/*! @brief      Communicator configuration\n    @details    Users can assign value to attributes to specify the behavior of a communicator */\ntypedef struct ncclConfig_v22800 {\n  /* attributes that users should never touch. */\n  size_t size;                 /*!< Should not be touched */\n  unsigned int magic;          /*!< Should not be touched */\n  unsigned int version;        /*!< Should not be touched */\n  /* attributes that users are able to customize. */\n  int blocking;                /*!< Whether or not calls should block or not */\n  int cgaClusterSize;          /*!< Cooperative group array cluster size */\n  int minCTAs;                 /*!< Minimum number of cooperative thread arrays (blocks) */\n  int maxCTAs;                 /*!< Maximum number of cooperative thread arrays (blocks) */\n  const char *netName;         /*!< Force NCCL to use a specfic network */\n  int splitShare;              /*!< Allow communicators to share resources */\n  int trafficClass;            /*!< Traffic class*/\n  const char *commName;        /*!< Name of the communicator*/\n  int collnetEnable;           /*!< Check for collnet enablement*/\n  int CTAPolicy;               /*!< CTA Policy*/\n  int shrinkShare;             /*!< Shrink size*/\n  int nvlsCTAs;                /*!< Number of NVLS cooperative thread arrays (blocks)*/\n  int nChannelsPerNetPeer;     /*!< Number of channels per NET peer*/\n  int nvlinkCentricSched;      /*!< nvlinkCentricSched*/\n} ncclConfig_t;\n\n/* Config initializer must be assigned to initialize config structure when it is created.\n * Not initialized config will result in an error. */\n#define NCCL_CONFIG_INITIALIZER {                                               \\\n  sizeof(ncclConfig_t),                             /* size */                  \\\n  0xcafebeef,                                       /* magic */                 \\\n  NCCL_VERSION(NCCL_MAJOR, NCCL_MINOR, NCCL_PATCH), /* version */               \\\n  NCCL_CONFIG_UNDEF_INT,                            /* blocking */              \\\n  NCCL_CONFIG_UNDEF_INT,                            /* cgaClusterSize */        \\\n  NCCL_CONFIG_UNDEF_INT,                            /* minCTAs */               \\\n  NCCL_CONFIG_UNDEF_INT,                            /* maxCTAs */               \\\n  NCCL_CONFIG_UNDEF_PTR,                            /* netName */               \\\n  NCCL_CONFIG_UNDEF_INT,                            /* splitShare */            \\\n  NCCL_CONFIG_UNDEF_INT,                            /* trafficClass */          \\\n  NCCL_CONFIG_UNDEF_PTR,                            /* commName */              \\\n  NCCL_CONFIG_UNDEF_INT,                            /* collnetEnable */         \\\n  NCCL_CONFIG_UNDEF_INT,                            /* CTAPolicy */             \\\n  NCCL_CONFIG_UNDEF_INT,                            /* shrinkShare */           \\\n  NCCL_CONFIG_UNDEF_INT,                            /* nvlsCTAs */              \\\n  NCCL_CONFIG_UNDEF_INT,                            /* nChannelsPerNetPeer */   \\\n  NCCL_CONFIG_UNDEF_INT,                            /* nvlinkCentricSched */    \\\n}\n/*! @} */\n\n/* This struct will be used by ncclGroupSimulateEnd() API to query information about simulation. */\ntypedef struct ncclSimInfo_v22200 {\n    size_t size;\n    unsigned int magic;\n    unsigned int version;\n    float estimatedTime;\n} ncclSimInfo_t;\n\n/* NCCL_SIM_INFO_INITIALIZER must be assigned to initialize simInfo structure when it is created.\n * Not initialized simInfo will result in NCCL error. */\n#define NCCL_SIM_INFO_INITIALIZER {                                         \\\n  sizeof(ncclSimInfo_t),                            /* size */              \\\n  0x74685283,                                       /* magic */             \\\n  NCCL_VERSION(NCCL_MAJOR, NCCL_MINOR, NCCL_PATCH), /* version */           \\\n  NCCL_UNDEF_FLOAT                                  /* estimated time */    \\\n}\n\n/* NCCL malloc and free function for all types of NCCL optimizations\n * (e.g. user buffer registration). The actual allocated size might\n * be larger than requested due to granularity requirement. */\nncclResult_t  ncclMemAlloc(void** ptr, size_t size);\nncclResult_t pncclMemAlloc(void** ptr, size_t size);\n\nncclResult_t  ncclMemFree(void *ptr);\nncclResult_t pncclMemFree(void *ptr);\n\n/*! @defgroup   rccl_api_version Version Information\n    @details    API call that returns RCCL version\n    @{ */\n\n/*! @brief      Return the RCCL_VERSION_CODE of RCCL in the supplied integer.\n    @details    This integer is coded with the MAJOR, MINOR and PATCH level of RCCL.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[out] version       Pointer to where version will be stored */\n\nncclResult_t  ncclGetVersion(int *version);\n/*! @cond       include_hidden */\nncclResult_t pncclGetVersion(int *version);\n/*! @endcond */\n/*! @} */\n\n/*! @defgroup   rccl_api_communicator Communicator Initialization/Destruction\n    @details    API calls that operate on communicators.\n                Communicators objects are used to launch collective communication\n                operations.  Unique ranks between 0 and N-1 must be assigned to\n                each HIP device participating in the same Communicator.\n                Using the same HIP device for multiple ranks of the same Communicator\n                is not supported at this time.\n    @{ */\n\n/*! @brief      Generates an ID for ncclCommInitRank.\n    @details    Generates an ID to be used in ncclCommInitRank.\n                ncclGetUniqueId should be called once by a single rank and the\n                ID should be distributed to all ranks in the communicator before\n                using it as a parameter for ncclCommInitRank.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[out] uniqueId      Pointer to where uniqueId will be stored */\nncclResult_t  ncclGetUniqueId(ncclUniqueId* uniqueId);\n/*! @cond       include_hidden */\nncclResult_t pncclGetUniqueId(ncclUniqueId* uniqueId);\n/*! @endcond */\n\n/*! @brief      Create a new communicator with config.\n    @details    Create a new communicator (multi thread/process version) with a configuration\n                set by users. See @ref rccl_config_type for more details.\n                Each rank is associated to a CUDA device, which has to be set before calling\n                ncclCommInitRank.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[out] comm          Pointer to created communicator\n    @param[in]  nranks        Total number of ranks participating in this communicator\n    @param[in]  commId        UniqueId required for initialization\n    @param[in]  rank          Current rank to create communicator for. [0 to nranks-1]\n    @param[in]  config        Pointer to communicator configuration */\nncclResult_t  ncclCommInitRankConfig(ncclComm_t* comm, int nranks, ncclUniqueId commId, int rank, ncclConfig_t* config);\n/*! @cond       include_hidden */\nncclResult_t pncclCommInitRankConfig(ncclComm_t* comm, int nranks, ncclUniqueId commId, int rank, ncclConfig_t* config);\n/*! @endcond */\n\n/*! @brief      Creates a new communicator (multi thread/process version).\n    @details    Rank must be between 0 and nranks-1 and unique within a communicator clique.\n                Each rank is associated to a CUDA device, which has to be set before calling\n                ncclCommInitRank.  ncclCommInitRank implicitly syncronizes with other ranks,\n                so it must be called by different threads/processes or use ncclGroupStart/ncclGroupEnd.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[out] comm          Pointer to created communicator\n    @param[in]  nranks        Total number of ranks participating in this communicator\n    @param[in]  commId        UniqueId required for initialization\n    @param[in]  rank          Current rank to create communicator for */\nncclResult_t  ncclCommInitRank(ncclComm_t* comm, int nranks, ncclUniqueId commId, int rank);\n/*! @cond       include_hidden */\nncclResult_t pncclCommInitRank(ncclComm_t* comm, int nranks, ncclUniqueId commId, int rank);\n/*! @endcond */\n\n/*! @brief      Creates a clique of communicators (single process version).\n    @details    This is a convenience function to create a single-process communicator clique.\n                Returns an array of ndev newly initialized communicators in comm.\n                comm should be pre-allocated with size at least ndev*sizeof(ncclComm_t).\n                If devlist is NULL, the first ndev HIP devices are used.\n                Order of devlist defines user-order of processors within the communicator.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[out] comm          Pointer to array of created communicators\n    @param[in]  ndev          Total number of ranks participating in this communicator\n    @param[in]  devlist       Array of GPU device indices to create for */\nncclResult_t  ncclCommInitAll(ncclComm_t* comm, int ndev, const int* devlist);\n/*! @cond       include_hidden */\nncclResult_t pncclCommInitAll(ncclComm_t* comm, int ndev, const int* devlist);\n/*! @endcond */\n\n/*! @brief      Finalize a communicator.\n    @details    ncclCommFinalize flushes all issued communications\n                and marks communicator state as ncclInProgress. The state will change to ncclSuccess\n                when the communicator is globally quiescent and related resources are freed; then,\n                calling ncclCommDestroy can locally free the rest of the resources (e.g. communicator\n                itself) without blocking.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Communicator to finalize */\nncclResult_t  ncclCommFinalize(ncclComm_t comm);\n/*! @cond       include_hidden */\nncclResult_t pncclCommFinalize(ncclComm_t comm);\n/*! @endcond */\n\n/*! @brief      Frees local resources associated with communicator object.\n    @details    Destroy all local resources associated with the passed in communicator object\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Communicator to destroy */\nncclResult_t  ncclCommDestroy(ncclComm_t comm);\n/*! @cond       include_hidden */\nncclResult_t pncclCommDestroy(ncclComm_t comm);\n/*! @endcond */\n\n/*! @brief      Abort any in-progress calls and destroy the communicator object.\n    @details    Frees resources associated with communicator object and aborts any operations\n                that might still be running on the device.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Communicator to abort and destroy */\nncclResult_t  ncclCommAbort(ncclComm_t comm);\n/*! @cond       include_hidden */\nncclResult_t pncclCommAbort(ncclComm_t comm);\n/*! @endcond */\n\n/*! @brief      Create one or more communicators from an existing one.\n    @details    Creates one or more communicators from an existing one.\n                Ranks with the same color will end up in the same communicator.\n                Within the new communicator, key will be used to order ranks.\n                NCCL_SPLIT_NOCOLOR as color will indicate the rank will not be part of any group\n                and will therefore return a NULL communicator.\n                If config is NULL, the new communicator will inherit the original communicator's configuration\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Original communicator object for this rank\n    @param[in]  color         Color to assign this rank\n    @param[in]  key           Key used to order ranks within the same new communicator\n    @param[out] newcomm       Pointer to new communicator\n    @param[in]  config        Config file for new communicator. May be NULL to inherit from comm */\nncclResult_t  ncclCommSplit(ncclComm_t comm, int color, int key, ncclComm_t *newcomm, ncclConfig_t* config);\n/*! @cond       include_hidden */\nncclResult_t pncclCommSplit(ncclComm_t comm, int color, int key, ncclComm_t *newcomm, ncclConfig_t* config);\n/*! @endcond */\n/*! @} */\n\n/*! @brief      Shrink existing communicator.\n    @details    Ranks in excludeRanksList will be removed form the existing communicator.\n                Within the new communicator, ranks will be re-ordered to fill the gap of removed ones.\n                If config is NULL, the new communicator will inherit the original communicator's configuration.\n                The flag enables NCCL to adapt to various states of the parent communicator, see NCCL_SHRINK flags.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm                  Original communicator object for this rank\n    @param[in]  excludeRanksList      List of ranks to be exluded\n    @param[in]  excludeRanksCount     Number of ranks to be excluded\n    @param[out] newcomm               Pointer to new communicator\n    @param[in]  config                Config file for new communicator. May be NULL to inherit from comm \n    @param[in]  shrinkFlags           Flag to adapt to various states of the parent communicator (see NCCL_SHRINK flags)*/\nncclResult_t  ncclCommShrink(ncclComm_t comm, int* excludeRanksList, int excludeRanksCount, ncclComm_t* newcomm, ncclConfig_t* config, int shrinkFlags);\nncclResult_t pncclCommShrink(ncclComm_t comm, int* excludeRanksList, int excludeRanksCount, ncclComm_t* newcomm, ncclConfig_t* config, int shrinkFlags);\n\n/*! @brief      Creates a new communicator (multi thread/process version), similar to ncclCommInitRankConfig.\n     @details    Allows to use more than one ncclUniqueId (up to one per rank), \n                 indicated by nId, to accelerate the init operation.\n                 The number of ncclUniqueIds and their order must be the same for every rank.\n     @return     Result code. See @ref rccl_result_code for more details.\n \n     @param[out] newcomm       Pointer to new communicator\n     @param[in]  nranks        Total number of ranks participating in this communicator\n     @param[in]  myrank        Current rank\n     @param[in]  nId           Number of unique IDs\n     @param[in]  commIds       List of unique IDs\n     @param[in]  config        Config file for new communicator. May be NULL to inherit from comm */\nncclResult_t ncclCommInitRankScalable(ncclComm_t* newcomm, int nranks, int myrank, int nId, ncclUniqueId* commIds, ncclConfig_t* config);\n /*! @cond       include_hidden */\nncclResult_t pncclCommInitRankScalable(ncclComm_t* newcomm, int nranks, int myrank, int nId, ncclUniqueId* commIds, ncclConfig_t* config);\n /*! @endcond */\n\n/*! @defgroup   rccl_api_errcheck Error Checking Calls\n    @details    API calls that check for errors\n    @{ */\n\n/*! @brief      Returns a string for each result code.\n    @details    Returns a human-readable string describing the given result code.\n    @return     String containing description of result code.\n\n    @param[in]  result        Result code to get description for */\n/* Returns a string for each error code. */\nconst char*  ncclGetErrorString(ncclResult_t result);\n/*! @cond       include_hidden */\nconst char* pncclGetErrorString(ncclResult_t result);\n/*! @endcond */\n\n/* Returns a human-readable message of the last error that occurred. */\nconst char*  ncclGetLastError(ncclComm_t comm);\n/*! @cond       include_hidden */\nconst char* pncclGetLastError(ncclComm_t comm);\n/*! @endcond */\n\n/* Reload environment variables that determine logging. */\n__attribute__ ((deprecated(\"ncclResetDebugInit is not supported as part of the NCCL API and will be removed in the future\")))\nvoid  ncclResetDebugInit();\n/*! @cond       include_hidden */\nvoid pncclResetDebugInit();\n/*! @endcond */\n\n/*! @brief      Checks whether the comm has encountered any asynchronous errors\n    @details    Query whether the provided communicator has encountered any asynchronous errors\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Communicator to query\n    @param[out] asyncError    Pointer to where result code will be stored */\nncclResult_t  ncclCommGetAsyncError(ncclComm_t comm, ncclResult_t *asyncError);\n/*! @cond       include_hidden */\nncclResult_t pncclCommGetAsyncError(ncclComm_t comm, ncclResult_t *asyncError);\n/*! @endcond */\n/*! @} */\n\n/*! @defgroup   rccl_api_comminfo Communicator Information\n    @details    API calls that query communicator information\n    @{ */\n\n/*! @brief      Gets the number of ranks in the communicator clique.\n    @details    Returns the number of ranks in the communicator clique (as set during initialization)\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Communicator to query\n    @param[out] count         Pointer to where number of ranks will be stored */\nncclResult_t  ncclCommCount(const ncclComm_t comm, int* count);\n/*! @cond       include_hidden */\nncclResult_t pncclCommCount(const ncclComm_t comm, int* count);\n/*~ @endcond */\n\n/*! @brief      Get the ROCm device index associated with a communicator\n    @details    Returns the ROCm device number associated with the provided communicator.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Communicator to query\n    @param[out] device        Pointer to where the associated ROCm device index will be stored */\nncclResult_t  ncclCommCuDevice(const ncclComm_t comm, int* device);\n/*! @cond       include_hidden */\nncclResult_t pncclCommCuDevice(const ncclComm_t comm, int* device);\n/*! @endcond */\n\n/*! @brief      Get the rank associated with a communicator\n    @details    Returns the user-ordered \"rank\" associated with the provided communicator.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Communicator to query\n    @param[out] rank          Pointer to where the associated rank will be stored */\nncclResult_t  ncclCommUserRank(const ncclComm_t comm, int* rank);\n/*! @cond       include_hidden */\nncclResult_t pncclCommUserRank(const ncclComm_t comm, int* rank);\n/*! @endcond */\n/*! @} */\n\n/* Register CUDA buffer for zero-copy operation */\nncclResult_t  ncclCommRegister(const ncclComm_t comm, void* buff, size_t size, void** handle);\n/*! @cond       include_hidden */\nncclResult_t pncclCommRegister(const ncclComm_t comm, void* buff, size_t size, void** handle);\n/*! @endcond */\n\n/* Deregister CUDA buffer */\nncclResult_t  ncclCommDeregister(const ncclComm_t comm, void* handle);\n/*! @cond       include_hidden */\nncclResult_t pncclCommDeregister(const ncclComm_t comm, void* handle);\n/*! @endcond */\n\n/* Register memory window  */\nncclResult_t  ncclCommWindowRegister(ncclComm_t comm, void* buff, size_t size, ncclWindow_t* win, int winFlags);\n/*! @cond       include_hidden */\nncclResult_t pncclCommWindowRegister(ncclComm_t comm, void* buff, size_t size, ncclWindow_t* win, int winFlags);\n/*! @endcond */\n\n/* Deregister symmetric memory */\nncclResult_t  ncclCommWindowDeregister(ncclComm_t comm, ncclWindow_t win);\n/*! @cond       include_hidden */\nncclResult_t pncclCommWindowDeregister(ncclComm_t comm, ncclWindow_t win);\n/*! @endcond */\n\n/*! @defgroup   rccl_api_enumerations API Enumerations\n    @details    Enumerations used by collective communication calls\n    @{ */\n\n/*! @brief      Dummy reduction enumeration\n    @details    Dummy reduction enumeration used to determine value for ncclMaxRedOp */\ntypedef enum { ncclNumOps_dummy = 5 } ncclRedOp_dummy_t;\n\n/*! @brief      Reduction operation selector\n    @details    Enumeration used to specify the various reduction operations\n                ncclNumOps is the number of built-in ncclRedOp_t values and serves as\n                the least possible value for dynamic ncclRedOp_t values constructed by\n                ncclRedOpCreate functions.\n\n                ncclMaxRedOp is the largest valid value for ncclRedOp_t and is defined\n                to be the largest signed value (since compilers are permitted to use\n                signed enums) that won't grow sizeof(ncclRedOp_t) when compared to previous\n                RCCL versions to maintain ABI compatibility. */\ntypedef enum { ncclSum        = 0, /*!< Sum */\n               ncclProd       = 1, /*!< Product */\n               ncclMax        = 2, /*!< Max */\n               ncclMin        = 3, /*!< Min */\n               ncclAvg        = 4, /*!< Average */\n               ncclNumOps     = 5, /*!< Number of built-in reduction ops */\n               ncclMaxRedOp   = 0x7fffffff>>(32-8*sizeof(ncclRedOp_dummy_t)) /*!< Largest value for ncclRedOp_t */\n             } ncclRedOp_t;\n\n/*! @brief      Data types\n    @details    Enumeration of the various supported datatype */\ntypedef enum { ncclInt8       = 0, ncclChar       = 0,\n               ncclUint8      = 1,\n               ncclInt32      = 2, ncclInt        = 2,\n               ncclUint32     = 3,\n               ncclInt64      = 4,\n               ncclUint64     = 5,\n               ncclFloat16    = 6, ncclHalf       = 6,\n               ncclFloat32    = 7, ncclFloat      = 7,\n               ncclFloat64    = 8, ncclDouble     = 8,\n               ncclBfloat16   = 9,\n               ncclFloat8e4m3 = 10,\n               ncclFloat8e5m2 = 11,\n               ncclNumTypes   = 12\n} ncclDataType_t;\n/*! @} */\n\n/*! @defgroup   rccl_api_custom_redop Custom Reduction Operator\n    @details    API calls relating to creation/destroying custom reduction operator\n                that pre-multiplies local source arrays prior to reduction\n    @{ */\n\n/*! @brief      Location and dereferencing logic for scalar arguments.\n    @details    Enumeration specifying memory location of the scalar argument.\n                Based on where the value is stored, the argument will be dereferenced either\n                while the collective is running (if in device memory), or before the ncclRedOpCreate()\n                function returns (if in host memory). */\ntypedef enum {\n  ncclScalarDevice        = 0, /*!< Scalar is in device-visible memory */\n  ncclScalarHostImmediate = 1  /*!< Scalar is in host-visible memory */\n} ncclScalarResidence_t;\n\n/*! @brief      Create a custom pre-multiplier reduction operator\n    @details    Creates a new reduction operator which pre-multiplies input values by a given\n                scalar locally before reducing them with peer values via summation. For use\n                only with collectives launched against *comm* and *datatype*. The\n                *residence* argument indicates how/when the memory pointed to by *scalar*\n                will be dereferenced. Upon return, the newly created operator's handle\n                is stored in *op*.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[out] op            Pointer to where newly created custom reduction operator is to be stored\n    @param[in]  scalar        Pointer to scalar value.\n    @param[in]  datatype      Scalar value datatype\n    @param[in]  residence     Memory type of the scalar value\n    @param[in]  comm          Communicator to associate with this custom reduction operator */\nncclResult_t  ncclRedOpCreatePreMulSum(ncclRedOp_t *op, void *scalar, ncclDataType_t datatype, ncclScalarResidence_t residence, ncclComm_t comm);\n/*! @cond       include_hidden */\nncclResult_t pncclRedOpCreatePreMulSum(ncclRedOp_t *op, void *scalar, ncclDataType_t datatype, ncclScalarResidence_t residence, ncclComm_t comm);\n/*! @endcond */\n\n/*! @brief      Destroy custom reduction operator\n    @details    Destroys the reduction operator *op*. The operator must have been created by\n                ncclRedOpCreatePreMul with the matching communicator *comm*. An operator may be\n                destroyed as soon as the last RCCL function which is given that operator returns.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  op            Custom reduction operator is to be destroyed\n    @param[in]  comm          Communicator associated with this reduction operator */\nncclResult_t ncclRedOpDestroy(ncclRedOp_t op, ncclComm_t comm);\n/*! @cond       include_hidden */\nncclResult_t pncclRedOpDestroy(ncclRedOp_t op, ncclComm_t comm);\n/*! @endcond */\n/*! @} */\n\n/*! @defgroup   rccl_collective_api Collective Communication Operations\n    @details    Collective communication operations must be called separately for each\n                communicator in a communicator clique.\n\n                They return when operations have been enqueued on the HIP stream.\n                Since they may perform inter-CPU synchronization, each call has to be done\n                from a different thread or process, or need to use Group Semantics (see\n                below).\n    @{ */\n\n/*! @brief      Reduce\n    @details    Reduces data arrays of length *count* in *sendbuff* into *recvbuff* using *op*\n                operation.\n                *recvbuff* may be NULL on all calls except for root device.\n                *root* is the rank (not the HIP device) where data will reside after the\n                 operation is complete.\n                In-place operation will happen if sendbuff == recvbuff.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Local device data buffer to be reduced\n    @param[out] recvbuff      Data buffer where result is stored (only for *root* rank).  May be null for other ranks.\n    @param[in]  count         Number of elements in every send buffer\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  op            Reduction operator type\n    @param[in]  root          Rank where result data array will be stored\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclReduce(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype,\n    ncclRedOp_t op, int root, ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclReduce(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype,\n    ncclRedOp_t op, int root, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      (Deprecated) Broadcast (in-place)\n    @details    Copies *count* values from *root* to all other devices.\n                root is the rank (not the CUDA device) where data resides before the\n                operation is started.\n                This operation is implicitly in-place.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in,out]  buff      Input array on *root* to be copied to other ranks.  Output array for all ranks.\n    @param[in]  count         Number of elements in data buffer\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  root          Rank owning buffer to be copied to others\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclBcast(void* buff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclBcast(void* buff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      Broadcast\n    @details    Copies *count* values from *sendbuff* on *root* to *recvbuff* on all devices.\n                *root* is the rank (not the HIP device) where data resides before the operation is started.\n                *sendbuff* may be NULL on ranks other than *root*.\n                In-place operation will happen if *sendbuff* == *recvbuff*.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Data array to copy (if *root*).  May be NULL for other ranks\n    @param[in]  recvbuff      Data array to store received array\n    @param[in]  count         Number of elements in data buffer\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  root          Rank of broadcast root\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclBroadcast(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclBroadcast(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      All-Reduce\n    @details    Reduces data arrays of length *count* in *sendbuff* using *op* operation, and\n                leaves identical copies of result on each *recvbuff*.\n                In-place operation will happen if sendbuff == recvbuff.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Input data array to reduce\n    @param[out] recvbuff      Data array to store reduced result array\n    @param[in]  count         Number of elements in data buffer\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  op            Reduction operator\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclAllReduce(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclAllReduce(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      All-Reduce-with-Bias\n    @details    Reduces data arrays of length *count* in *sendbuff* using *op* operation, and\n                leaves identical copies of result on each *recvbuff*.\n                In-place operation will happen if sendbuff == recvbuff.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Input data array to reduce\n    @param[out] recvbuff      Data array to store reduced result array\n    @param[in]  count         Number of elements in data buffer\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  op            Reduction operator\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on\n    @param[in]  acc           Bias data array to reduce */\nncclResult_t  ncclAllReduceWithBias(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm, hipStream_t stream, const void* acc);\n/*! @cond       include_hidden */\nncclResult_t pncclAllReduceWithBias(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm, hipStream_t stream, const void* acc);\n/*! @endcond */\n\n/*! @brief      Reduce-Scatter\n    @details    Reduces data in *sendbuff* using *op* operation and leaves reduced result\n                scattered over the devices so that *recvbuff* on rank i will contain the i-th\n                block of the result.\n                Assumes sendcount is equal to nranks*recvcount, which means that *sendbuff*\n                should have a size of at least nranks*recvcount elements.\n                In-place operations will happen if recvbuff == sendbuff + rank * recvcount.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Input data array to reduce\n    @param[out] recvbuff      Data array to store reduced result subarray\n    @param[in]  recvcount     Number of elements each rank receives\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  op            Reduction operator\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclReduceScatter(const void* sendbuff, void* recvbuff,\n    size_t recvcount, ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm,\n    hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclReduceScatter(const void* sendbuff, void* recvbuff,\n    size_t recvcount, ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm,\n    hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      All-Gather\n    @details    Each device gathers *sendcount* values from other GPUs into *recvbuff*,\n                receiving data from rank i at offset i*sendcount.\n                Assumes recvcount is equal to nranks*sendcount, which means that recvbuff\n                should have a size of at least nranks*sendcount elements.\n                In-place operations will happen if sendbuff == recvbuff + rank * sendcount.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Input data array to send\n    @param[out] recvbuff      Data array to store the gathered result\n    @param[in]  sendcount     Number of elements each rank sends\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclAllGather(const void* sendbuff, void* recvbuff, size_t sendcount,\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclAllGather(const void* sendbuff, void* recvbuff, size_t sendcount,\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      All-to-All\n    @details    Each device sends count values to all other devices and receives count values\n                from all other devices. Data to send to destination rank j is taken from\n                sendbuff+j*count and data received from source rank i is placed at\n                recvbuff+i*count.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Data array to send (contains blocks for each other rank)\n    @param[out] recvbuff      Data array to receive (contains blocks from each other rank)\n    @param[in]  count         Number of elements to send between each pair of ranks\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclAlltoAll(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclAlltoAll(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      All-To-Allv\n    @details    Device (i) sends sendcounts[j] of data from offset sdispls[j]\n                to device (j). At the same time, device (i) receives recvcounts[j] of data\n                from device (j) to be placed at rdispls[j].\n                sendcounts, sdispls, recvcounts and rdispls are all measured in the units\n                of datatype, not bytes.\n                In-place operation will happen if sendbuff == recvbuff.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Data array to send (contains blocks for each other rank)\n    @param[in]  sendcounts    Array containing number of elements to send to each participating rank\n    @param[in]  sdispls       Array of offsets into *sendbuff* for each participating rank\n    @param[out] recvbuff      Data array to receive (contains blocks from each other rank)\n    @param[in]  recvcounts    Array containing number of elements to receive from each participating rank\n    @param[in]  rdispls       Array of offsets into *recvbuff* for each participating rank\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclAlltoAllv(const void *sendbuff, const size_t sendcounts[],\n    const size_t sdispls[], void *recvbuff, const size_t recvcounts[],\n    const size_t rdispls[], ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclAlltoAllv(const void *sendbuff, const size_t sendcounts[],\n    const size_t sdispls[], void *recvbuff, const size_t recvcounts[],\n    const size_t rdispls[], ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      Gather\n    @details    Each rank sends count elements from sendbuff to the root rank.\n                On the root rank, data from rank i is placed at recvbuff + i*count.\n                On non-root ranks, recvbuff is not used.\n                root is the rank where data will be gathered.\n                \n                In-place operations will happen if sendbuff == recvbuff + root * count.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Data array to send\n    @param[in]  recvbuff      Data array to recv\n    @param[in]  count         Number of elements\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  root          Rank of gather root\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclGather(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, int root, ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclGather(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, int root, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      Scatter\n    @details    On the root rank, count elements from sendbuff+i*count are sent to rank i.\n                On non-root ranks, sendbuff is not used.\n                Each rank receives count elements into recvbuff.\n                root is the rank that will distribute the data.\n                \n                In-place operations will happen if recvbuff == sendbuff + root * count.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Data array to send\n    @param[in]  recvbuff      Data array to recv\n    @param[in]  count         Number of elements\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  root          Rank of scatter root\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclScatter(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, int root, ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclScatter(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, int root, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      All-To-All\n    @details    Device (i) send (j)th block of data to device (j) and be placed as (i)th\n                block. Each block for sending/receiving has *count* elements, which means\n                that *recvbuff* and *sendbuff* should have a size of nranks*count elements.\n                In-place operation is NOT supported. It is the user's responsibility\n                to ensure that sendbuff and recvbuff are distinct.\n    @deprecated ncclAllToAll is replaced with ncclAlltoAll and will be removed in the future.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Data array to send (contains blocks for each other rank)\n    @param[out] recvbuff      Data array to receive (contains blocks from each other rank)\n    @param[in]  count         Number of elements to send between each pair of ranks\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclAllToAll(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream)\n    __attribute__ ((deprecated(\"ncclAllToAll is replaced with ncclAlltoAll and will be removed in the future\")));\n/*! @cond       include_hidden */\nncclResult_t pncclAllToAll(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      All-To-Allv\n    @details    Device (i) sends sendcounts[j] of data from offset sdispls[j]\n                to device (j). At the same time, device (i) receives recvcounts[j] of data\n                from device (j) to be placed at rdispls[j].\n                sendcounts, sdispls, recvcounts and rdispls are all measured in the units\n                of datatype, not bytes.\n                In-place operation will happen if sendbuff == recvbuff.\n    @deprecated ncclAllToAllv is replaced with ncclAlltoAllv and will be removed in the future.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Data array to send (contains blocks for each other rank)\n    @param[in]  sendcounts    Array containing number of elements to send to each participating rank\n    @param[in]  sdispls       Array of offsets into *sendbuff* for each participating rank\n    @param[out] recvbuff      Data array to receive (contains blocks from each other rank)\n    @param[in]  recvcounts    Array containing number of elements to receive from each participating rank\n    @param[in]  rdispls       Array of offsets into *recvbuff* for each participating rank\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclAllToAllv(const void *sendbuff, const size_t sendcounts[],\n    const size_t sdispls[], void *recvbuff, const size_t recvcounts[],\n    const size_t rdispls[], ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream)\n    __attribute__ ((deprecated(\"ncclAllToAllv is replaced with ncclAlltoAllv and will be removed in the future\")));\n/*! @cond       include_hidden */\nncclResult_t pncclAllToAllv(const void *sendbuff, const size_t sendcounts[],\n    const size_t sdispls[], void *recvbuff, const size_t recvcounts[],\n    const size_t rdispls[], ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      Send\n    @details    Send data from *sendbuff* to rank *peer*.\n                Rank *peer* needs to call ncclRecv with the same *datatype* and the same *count*\n                as this rank.\n                This operation is blocking for the GPU. If multiple ncclSend and ncclRecv operations\n                need to progress concurrently to complete, they must be fused within a ncclGroupStart /\n                ncclGroupEnd section.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Data array to send\n    @param[in]  count         Number of elements to send\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  peer          Peer rank to send to\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclSend(const void* sendbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclSend(const void* sendbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      Receive\n    @details    Receive data from rank *peer* into *recvbuff*.\n                Rank *peer* needs to call ncclSend with the same datatype and the same count\n                as this rank.\n                This operation is blocking for the GPU. If multiple ncclSend and ncclRecv operations\n                need to progress concurrently to complete, they must be fused within a ncclGroupStart/\n                ncclGroupEnd section.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[out] recvbuff      Data array to receive\n    @param[in]  count         Number of elements to receive\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  peer          Peer rank to send to\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclRecv(void* recvbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclRecv(void* recvbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @} */\n\n/*! @defgroup   msccl_api MSCCL Algorithm\n    @details    API calls relating to the optional MSCCL algorithm datapath\n    @{ */\n\n/*! @brief      Opaque handle to MSCCL algorithm */\ntypedef int mscclAlgoHandle_t;\n\n/*! @brief      MSCCL Load Algorithm\n    @deprecated This function has been removed from the public API.\n    @details    Load MSCCL algorithm file specified in mscclAlgoFilePath and return\n                its handle via mscclAlgoHandle. This API is expected to be called by MSCCL\n                scheduler instead of end users.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  mscclAlgoFilePath  Path to MSCCL algorithm file\n    @param[out] mscclAlgoHandle    Returned handle to MSCCL algorithm\n    @param[in]  rank               Current rank */\nncclResult_t  mscclLoadAlgo(const char *mscclAlgoFilePath, mscclAlgoHandle_t *mscclAlgoHandle, int rank);\n/*! @cond       include_hidden */\nncclResult_t pmscclLoadAlgo(const char *mscclAlgoFilePath, mscclAlgoHandle_t *mscclAlgoHandle, int rank);\n/*! @endcond */\n\n/*! @brief      MSCCL Run Algorithm\n    @deprecated This function has been removed from the public API.\n    @details    Run MSCCL algorithm specified by mscclAlgoHandle. The parameter\n                list merges all possible parameters required by different operations as this\n                is a general-purposed API. This API is expected to be called by MSCCL\n                scheduler instead of end users.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendBuff         Data array to send\n    @param[in]  sendCounts       Array containing number of elements to send to each participating rank\n    @param[in]  sDisPls          Array of offsets into *sendbuff* for each participating rank\n    @param[out] recvBuff         Data array to receive\n    @param[in]  recvCounts       Array containing number of elements to receive from each participating rank\n    @param[in]  rDisPls          Array of offsets into *recvbuff* for each participating rank\n    @param[in]  count            Number of elements\n    @param[in]  dataType         Data buffer element datatype\n    @param[in]  root             Root rank index\n    @param[in]  peer             Peer rank index\n    @param[in]  op               Reduction operator\n    @param[in]  mscclAlgoHandle  Handle to MSCCL algorithm\n    @param[in]  comm             Communicator group object to execute on\n    @param[in]  stream           HIP stream to execute collective on */\nncclResult_t  mscclRunAlgo(\n    const void* sendBuff, const size_t sendCounts[], const size_t sDisPls[],\n    void* recvBuff, const size_t recvCounts[], const size_t rDisPls[],\n    size_t count, ncclDataType_t dataType, int root, int peer, ncclRedOp_t op,\n    mscclAlgoHandle_t mscclAlgoHandle, ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pmscclRunAlgo(\n    const void* sendBuff, const size_t sendCounts[], const size_t sDisPls[],\n    void* recvBuff, const size_t recvCounts[], const size_t rDisPls[],\n    size_t count, ncclDataType_t dataType, int root, int peer, ncclRedOp_t op,\n    mscclAlgoHandle_t mscclAlgoHandle, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      MSCCL Unload Algorithm\n    @deprecated This function has been removed from the public API.\n    @details    Unload MSCCL algorithm previous loaded using its handle. This API\n                is expected to be called by MSCCL scheduler instead of end users.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  mscclAlgoHandle  Handle to MSCCL algorithm to unload\n*/\nncclResult_t  mscclUnloadAlgo(mscclAlgoHandle_t mscclAlgoHandle);\n/*! @cond       include_hidden */\nncclResult_t pmscclUnloadAlgo(mscclAlgoHandle_t mscclAlgoHandle);\n/*! @endcond */\n/*! @} */\n\n\n/*! @defgroup   rccl_group_api Group semantics\n    @details    When managing multiple GPUs from a single thread, and since RCCL collective\n                calls may perform inter-CPU synchronization, we need to \"group\" calls for\n                different ranks/devices into a single call.\n\n                Grouping RCCL calls as being part of the same collective operation is done\n                using ncclGroupStart and ncclGroupEnd. ncclGroupStart will enqueue all\n                collective calls until the ncclGroupEnd call, which will wait for all calls\n                to be complete. Note that for collective communication, ncclGroupEnd only\n                guarantees that the operations are enqueued on the streams, not that\n                the operation is effectively done.\n\n                Both collective communication and ncclCommInitRank can be used in conjunction\n                of ncclGroupStart/ncclGroupEnd, but not together.\n\n                Group semantics also allow to fuse multiple operations on the same device\n                to improve performance (for aggregated collective calls), or to permit\n                concurrent progress of multiple send/receive operations.\n    @{ */\n\n/*! @brief      Group Start\n    @details    Start a group call. All calls to RCCL until ncclGroupEnd will be fused into\n                a single RCCL operation. Nothing will be started on the HIP stream until\n                ncclGroupEnd.\n    @return     Result code. See @ref rccl_result_code for more details. */\nncclResult_t  ncclGroupStart();\n/*! @cond       include_hidden */\nncclResult_t pncclGroupStart();\n/*! @endcond */\n\n/*! @brief      Group End\n    @details    End a group call. Start a fused RCCL operation consisting of all calls since\n                ncclGroupStart. Operations on the HIP stream depending on the RCCL operations\n                need to be called after ncclGroupEnd.\n    @return     Result code. See @ref rccl_result_code for more details. */\nncclResult_t  ncclGroupEnd();\n/*! @cond       include_hidden */\nncclResult_t pncclGroupEnd();\n/*! @endcond */\n/*! @} */\n\n/*\n * Group Simulate End\n *\n * Simulate a ncclGroupEnd() call and return NCCL's simulation info in a struct.\n */\nncclResult_t  ncclGroupSimulateEnd(ncclSimInfo_t* simInfo);\nncclResult_t pncclGroupSimulateEnd(ncclSimInfo_t* simInfo);\n\n#ifdef __cplusplus\n} // end extern \"C\"\n#endif\n\n#ifdef __cplusplus\n#define NCCL_COMM_DUMP\n\n#include <unordered_map>\n#include <string>\n/* Dump NCCL current internal state for a given communicator in a key-value store format.\n * define outside extern \"C\"{} to pass C++ template */\nncclResult_t  ncclCommDump(ncclComm_t comm, std::unordered_map<std::string, std::string>& map);\n#else\n#pragma message \"NCCL C++ API is disabled because C compiler is being used. Please use a C++ compiler to build NCCL.\"\n#endif\n\n#endif // end include guard\n"
  },
  {
    "path": "src/nccl.pc.in",
    "content": "prefix=${nccl:Prefix}\nexec_prefix=${prefix}\nlibdir=${exec_prefix}/lib\nincludedir=${prefix}/include\n\nName: nccl\nDescription: Optimized primitives for collective multi-GPU communication\nVersion: ${nccl:Major}.${nccl:Minor}.${nccl:Patch}\nLibs: -L${libdir} -lnccl\nCflags: -I${includedir}\n"
  },
  {
    "path": "src/nccl_device/CMakeLists.txt",
    "content": "# Register sources\nset(SYM_SOURCES\n    ${CMAKE_CURRENT_SOURCE_DIR}/core.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/ll_a2a.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/mem_barrier.cc\n)\n\n# Add register sources to parent scope\nset(SYM_SOURCES ${SYM_SOURCES} PARENT_SCOPE)\n"
  },
  {
    "path": "src/nccl_device/core.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"core.h\"\n#include \"comm.h\"\n#include \"nccl_device/impl/core__funcs.h\"\n\nNCCL_API(ncclTeam_t, ncclTeamWorld, ncclComm_t comm);\nncclTeam_t ncclTeamWorld(ncclComm_t comm) {\n  ncclTeam_t ans;\n  ans.nRanks = comm->nRanks;\n  ans.rank = comm->rank;\n  ans.stride = 1;\n  return ans;\n}\n\nNCCL_API(ncclTeam_t, ncclTeamLsa, ncclComm_t comm);\nncclTeam_t ncclTeamLsa(ncclComm_t comm) {\n  // Ignoring errors since if it fails ncclDevrInitOnce will try again.\n  // The returned team will be junk and the next \"interesting\" API call that\n  // needs ncclDevrInitOnce will report the error.\n  if (ncclSuccess != ncclDevrInitOnce(comm)) return ncclTeam_t{};\n\n  ncclTeam_t ans;\n  ans.nRanks = comm->devrState.lsaSize;\n  ans.rank = comm->devrState.lsaSelf;\n  ans.stride = 1;\n  return ans;\n}\n\nNCCL_API(ncclTeam_t, ncclTeamRail, ncclComm_t comm);\nncclTeam_t ncclTeamRail(ncclComm_t comm) {\n  // Ignoring errors as above.\n  if (ncclSuccess != ncclDevrInitOnce(comm)) return ncclTeam_t{};\n\n  ncclTeam_t ans;\n  ans.nRanks = comm->nRanks/comm->devrState.lsaSize;\n  ans.rank = comm->rank/comm->devrState.lsaSize;\n  ans.stride = comm->devrState.lsaSize;\n  return ans;\n}\n\nNCCL_API(int, ncclTeamRankToWorld, ncclComm_t comm, ncclTeam_t team, int rank);\nint ncclTeamRankToWorld(ncclComm_t comm, ncclTeam_t team, int rank) {\n  return comm->rank + (rank - team.rank)*team.stride;\n}\n\nNCCL_API(int, ncclTeamRankToLsa, ncclComm_t comm, ncclTeam_t team, int rank);\nint ncclTeamRankToLsa(ncclComm_t comm, ncclTeam_t team, int rank) {\n  // Ignoring errors as above.\n  if (ncclSuccess != ncclDevrInitOnce(comm)) return -1;\n\n  return comm->devrState.lsaSelf + (rank - team.rank)*team.stride;\n}\n"
  },
  {
    "path": "src/nccl_device/ll_a2a.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"core.h\"\n#include \"nccl_device/impl/ll_a2a__funcs.h\"\n\nNCCL_API(int, ncclLLA2ACalcSlots, int maxElts, int maxEltSize);\nint ncclLLA2ACalcSlots(int maxElts, int maxEltSize) {\n  return maxElts*divUp(maxEltSize, 8);\n}\n\nNCCL_API(ncclResult_t, ncclLLA2ACreateRequirement, int nBlocks, int nSlots, ncclLLA2AHandle_t* outHandle, ncclDevResourceRequirements_t* outReq);\nncclResult_t ncclLLA2ACreateRequirement(\n    int nBlocks, int nSlots, ncclLLA2AHandle_t* outHandle,\n    ncclDevResourceRequirements_t* outReq\n  ) {\n  outHandle->nSlots = nSlots;\n  memset(outReq, 0, sizeof(*outReq));\n  outReq->bufferSize = nBlocks*(1 + 2*nSlots)*16;\n  outReq->bufferAlign = 16;\n  outReq->outBufferHandle = &outHandle->bufHandle;\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/nccl_device/mem_barrier.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"core.h\"\n#include \"nccl_device/impl/mem_barrier__funcs.h\"\n\nNCCL_API(ncclResult_t, ncclLsaBarrierCreateRequirement, ncclTeam_t team, int nBarriers, ncclLsaBarrierHandle_t* outHandle, ncclDevResourceRequirements_t* outReq);\nncclResult_t ncclLsaBarrierCreateRequirement(\n    ncclTeam_t team, int nBarriers, ncclLsaBarrierHandle_t* outHandle,\n    ncclDevResourceRequirements_t* outReq\n  ) {\n  memset(outReq, 0, sizeof(*outReq));\n  outHandle->nBarriers = nBarriers;\n  outReq->bufferSize = (3*nBarriers + nBarriers*team.nRanks)*sizeof(uint32_t);\n  outReq->bufferAlign = alignof(uint32_t);\n  outReq->outBufferHandle = &outHandle->bufHandle;\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/plugin/CMakeLists.txt",
    "content": "# Add plugin subdirectories\nadd_subdirectory(profiler)\nadd_subdirectory(net)\nadd_subdirectory(tuner)\n\n# Plugin sources\nset(PLUGIN_SOURCES\n    ${CMAKE_CURRENT_SOURCE_DIR}/net.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/profiler.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/plugin_open.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/tuner.cc\n    ${PLUGIN_NET_SOURCES}\n    ${PLUGIN_PROFILER_SOURCES}\n    ${PLUGIN_TUNER_SOURCES}\n)\n\n# Add plugin sources to parent scope\nset(PLUGIN_SOURCES ${PLUGIN_SOURCES} PARENT_SCOPE)\n"
  },
  {
    "path": "src/plugin/net/CMakeLists.txt",
    "content": "# Net plugin sources\nset(PLUGIN_NET_SOURCES\n    ${CMAKE_CURRENT_SOURCE_DIR}/net_v9.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/net_v6.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/net_v7.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/net_v8.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/net_v10.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/net_v11.cc\n)\n\n# Add net plugin sources to parent scope\nset(PLUGIN_NET_SOURCES ${PLUGIN_NET_SOURCES} PARENT_SCOPE)\n"
  },
  {
    "path": "src/plugin/net/net_v10.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nccl_net.h\"\n#include \"net_device.h\"\n#include \"proxy.h\"\n#include \"checks.h\"\n#include <dlfcn.h>\n\nstatic ncclNet_t ncclNet;\nstatic ncclCollNet_t ncclCollNet;\nstatic ncclNet_v10_t* ncclNet_v10;\nstatic ncclCollNet_v10_t* ncclCollNet_v10;\n\n#define NET_INDEX 0\n#define COLLNET_INDEX 1\n#define INDEX_NUMS 2\nstatic int refCount[INDEX_NUMS];\n\nstatic ncclResult_t ncclNet_getProperties(int dev, ncclNetProperties_t* props) {\n  ncclNetProperties_v10_t props_v10;\n  NCCLCHECK(ncclNet_v10->getProperties(dev, &props_v10));\n  props->name = props_v10.name;\n  props->pciPath = props_v10.pciPath;\n  props->guid = props_v10.guid;\n  props->ptrSupport = props_v10.ptrSupport;\n  props->regIsGlobal = props_v10.regIsGlobal;\n  props->forceFlush = props_v10.forceFlush;\n  props->speed = props_v10.speed;\n  props->port = props_v10.port;\n  props->latency = props_v10.latency;\n  props->maxComms = props_v10.maxComms;\n  props->maxRecvs = props_v10.maxRecvs;\n  props->netDeviceType = props_v10.netDeviceType;\n  props->netDeviceVersion = props_v10.netDeviceVersion;\n  props->vProps.ndevs = props_v10.vProps.ndevs;\n  for (int i = 0; i < props->vProps.ndevs; i++) {\n    props->vProps.devs[i] = props_v10.vProps.devs[i];\n  }\n  props->maxP2pBytes = props_v10.maxP2pBytes;\n  props->maxCollBytes = props_v10.maxCollBytes;\n  props->maxMultiRequestSize = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclNet_listen(void* ctx __attribute__((unused)),\n    int dev, void* handle, void** listenComm) {\n  return ncclNet_v10->listen(dev, handle, listenComm);\n}\n\nstatic ncclResult_t ncclNet_connect(void* ctx, int dev, void* handle, void** sendComm, ncclNetDeviceHandle_t** sendDevComm) {\n  return ncclNet_v10->connect(dev, (ncclNetCommConfig_v10_t *)ctx, handle, sendComm, sendDevComm);\n}\n\nstatic ncclResult_t ncclNet_makeVDevice(int* d, ncclNetVDeviceProps_v11_t* props) {\n  return ncclNet_v10->makeVDevice(d, (ncclNetVDeviceProps_v10_t *)props);\n}\n\nstatic ncclResult_t ncclNet_finalize(void* ctx) {\n  refCount[NET_INDEX]--;\n  free(ctx);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclNet_init(void** ctx, uint64_t commId __attribute__((unused)),\n    ncclNetCommConfig_t* config, ncclDebugLogger_t logfn, ncclProfilerCallback_t proffn) {\n  // since ncclNet_v11, the ncclNetCommConfig_t has been moved from connect to init. Since the config is per comm,\n  // this allows the config to be passed only once, instead of multiple times (once per connect). To preserve the\n  // ncclNet_v10 behavior, in the compat layer, we store the config in the context pointer and pass it to the connect\n  // function.\n  ncclNetCommConfig_v10_t* config_v10 = nullptr;\n  NCCLCHECK(ncclCalloc(&config_v10, 1));\n  config_v10->trafficClass = config->trafficClass;\n  *ctx = config_v10;\n  // before ncclNet_v11 the net plugin was initialized only once. With ncclNet_v11 this is no longer the case.\n  // The compat layer preserves the ncclNet_v10 behavior using a refCount to track the number of times the plugin\n  // is initialized, and avoid initializing it multiple times.\n  if (refCount[NET_INDEX]++) return ncclSuccess;\n  NCCLCHECK(ncclNet_v10->init(logfn, proffn));\n  ncclNet.devices = ncclNet_v10->devices;\n  ncclNet.getProperties = ncclNet_getProperties;\n  ncclNet.listen = ncclNet_listen;\n  ncclNet.connect = ncclNet_connect;\n  ncclNet.accept = ncclNet_v10->accept;\n  ncclNet.regMr = ncclNet_v10->regMr;\n  ncclNet.regMrDmaBuf = ncclNet_v10->regMrDmaBuf;\n  ncclNet.deregMr = ncclNet_v10->deregMr;\n  ncclNet.isend = ncclNet_v10->isend;\n  ncclNet.irecv = ncclNet_v10->irecv;\n  ncclNet.iflush = ncclNet_v10->iflush;\n  ncclNet.test = ncclNet_v10->test;\n  ncclNet.closeSend = ncclNet_v10->closeSend;\n  ncclNet.closeRecv = ncclNet_v10->closeRecv;\n  ncclNet.closeListen = ncclNet_v10->closeListen;\n  ncclNet.getDeviceMr = ncclNet_v10->getDeviceMr;\n  ncclNet.irecvConsumed = ncclNet_v10->irecvConsumed;\n  ncclNet.makeVDevice = (ncclNet_v10->makeVDevice) ? ncclNet_makeVDevice : nullptr;\n  ncclNet.finalize = ncclNet_finalize;\n  ncclNet.setNetAttr = nullptr;\n  return ncclSuccess;\n}\n\nncclNet_t* getNcclNet_v10(void* lib) {\n  ncclNet_v10 = (ncclNet_v10_t*)dlsym(lib, \"ncclNetPlugin_v10\");\n  if (ncclNet_v10) {\n    ncclNet.name = ncclNet_v10->name;\n    ncclNet.init = ncclNet_init;\n    INFO(NCCL_INIT|NCCL_NET, \"NET/Plugin: Loaded net plugin %s (v10)\", ncclNet_v10->name);\n    return &ncclNet;\n  }\n  return nullptr;\n}\n\nstatic ncclResult_t ncclCollNet_getProperties(int dev, ncclNetProperties_t* props) {\n  ncclNetProperties_v10_t props_v10;\n  NCCLCHECK(ncclCollNet_v10->getProperties(dev, &props_v10));\n  props->name = props_v10.name;\n  props->pciPath = props_v10.pciPath;\n  props->guid = props_v10.guid;\n  props->ptrSupport = props_v10.ptrSupport;\n  props->regIsGlobal = props_v10.regIsGlobal;\n  props->forceFlush = props_v10.forceFlush;\n  props->speed = props_v10.speed;\n  props->port = props_v10.port;\n  props->latency = props_v10.latency;\n  props->maxComms = props_v10.maxComms;\n  props->maxRecvs = props_v10.maxRecvs;\n  props->netDeviceType = props_v10.netDeviceType;\n  props->netDeviceVersion = props_v10.netDeviceVersion;\n  props->vProps.ndevs = props_v10.vProps.ndevs;\n  for (int i = 0; i < props->vProps.ndevs; i++) {\n    props->vProps.devs[i] = props_v10.vProps.devs[i];\n  }\n  props->maxP2pBytes = props_v10.maxP2pBytes;\n  props->maxCollBytes = props_v10.maxCollBytes;\n  props->maxMultiRequestSize = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclCollNet_listen(void* ctx __attribute__((unused)),\n    int dev, void* handle , void** listenComm) {\n  return ncclCollNet_v10->listen(dev, handle, listenComm);\n}\n\nstatic ncclResult_t ncclCollNet_iallgather(void* collComm, void* sendData, int nRecvParts, ncclNetSGE_t* recvParts,\n                             size_t bytesPerRank, size_t windowOffset, size_t windowBytes,\n                             void* sendMhandle, void** request) {\n  return ncclCollNet_v10->iallgather(collComm, sendData, nRecvParts, (ncclNetSGE_v10_t*)recvParts, bytesPerRank,\n                             windowOffset, windowBytes, sendMhandle, request);\n}\n\nstatic ncclResult_t ncclCollNet_ireducescatter(void* collComm, int nSendParts, ncclNetSGE_t* sendParts, void* recvData,\n                                 size_t bytesPerRank, size_t windowOffset, size_t windowBytes,\n                                 ncclDataType_t dataType, ncclRedOp_t redOp,\n                                 void* recvMhandle, void** request) {\n  return ncclCollNet_v10->ireducescatter(collComm, nSendParts, (ncclNetSGE_v10_t*)sendParts, recvData, bytesPerRank,\n                                 windowOffset, windowBytes, dataType, redOp, recvMhandle, request);\n}\n\nstatic ncclResult_t ncclCollNet_makeVDevice(int* d, ncclNetVDeviceProps_t* props) {\n  return ncclCollNet_v10->makeVDevice(d, (ncclNetVDeviceProps_v10_t *)props);\n}\n\nstatic ncclResult_t ncclCollNet_finalize(void* ctx __attribute__((unused))) {\n  refCount[COLLNET_INDEX]--;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclCollNet_init(void** ctx __attribute__((unused)),\n    uint64_t commId __attribute__((unused)),\n    ncclDebugLogger_t logfn) {\n  // before ncclCollNet_v11 the collnet plugin was initialized only once. With ncclCollNet_v11 this is no longer the case.\n  // The compat layer preserves the ncclCollNet_v10 behavior using a refCount to track the number of times the plugin\n  // is initialized, and avoid initializing it multiple times.\n  if (refCount[COLLNET_INDEX]++) return ncclSuccess;\n  NCCLCHECK(ncclCollNet_v10->init(logfn));\n  ncclCollNet.devices = ncclCollNet_v10->devices;\n  ncclCollNet.getProperties = ncclCollNet_getProperties;\n  ncclCollNet.listen = ncclCollNet_listen;\n  ncclCollNet.connect = ncclCollNet_v10->connect;\n  ncclCollNet.reduceSupport = ncclCollNet_v10->reduceSupport;\n  ncclCollNet.regMr = ncclCollNet_v10->regMr;\n  ncclCollNet.regMrDmaBuf = ncclCollNet_v10->regMrDmaBuf;\n  ncclCollNet.deregMr = ncclCollNet_v10->deregMr;\n  ncclCollNet.iallreduce = ncclCollNet_v10->iallreduce;\n  ncclCollNet.iallgather = ncclCollNet_iallgather;\n  ncclCollNet.ireducescatter = ncclCollNet_ireducescatter;\n  ncclCollNet.iflush = ncclCollNet_v10->iflush;\n  ncclCollNet.test = ncclCollNet_v10->test;\n  ncclCollNet.closeColl = ncclCollNet_v10->closeColl;\n  ncclCollNet.closeListen = ncclCollNet_v10->closeListen;\n  ncclCollNet.makeVDevice = ncclCollNet_makeVDevice;\n  ncclCollNet.finalize = ncclCollNet_finalize;\n  return ncclSuccess;\n}\n\nncclCollNet_t* getNcclCollNet_v10(void* lib) {\n  ncclCollNet_v10 = (ncclCollNet_v10_t*)dlsym(lib, \"ncclCollNetPlugin_v10\");\n  if (ncclCollNet_v10) {\n    ncclCollNet.name = ncclCollNet_v10->name;\n    ncclCollNet.init = ncclCollNet_init;\n    INFO(NCCL_INIT|NCCL_NET, \"NET/Plugin: Loaded collnet plugin %s (v10)\", ncclCollNet_v10->name);\n    return &ncclCollNet;\n  }\n  return nullptr;\n}\n"
  },
  {
    "path": "src/plugin/net/net_v11.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nccl_net.h\"\n#include \"net_device.h\"\n#include \"proxy.h\"\n#include <dlfcn.h>\n\nstatic ncclNet_v11_t* ncclNet_v11;\nstatic ncclCollNet_v11_t* ncclCollNet_v11;\n\nncclNet_t* getNcclNet_v11(void* lib) {\n  ncclNet_v11 = (ncclNet_v11_t*)dlsym(lib, \"ncclNetPlugin_v11\");\n  if (ncclNet_v11) {\n    INFO(NCCL_INIT|NCCL_NET, \"NET/Plugin: Loaded net plugin %s (v11)\", ncclNet_v11->name);\n    return ncclNet_v11;\n  }\n  return nullptr;\n}\n\nncclCollNet_t* getNcclCollNet_v11(void* lib) {\n  ncclCollNet_v11 = (ncclCollNet_v11_t*)dlsym(lib, \"ncclCollNetPlugin_v11\");\n  if (ncclCollNet_v11) {\n    INFO(NCCL_INIT|NCCL_NET, \"NET/Plugin: Loaded collnet plugin %s (v11)\", ncclCollNet_v11->name);\n    return ncclCollNet_v11;\n  }\n  return nullptr;\n}\n"
  },
  {
    "path": "src/plugin/net/net_v6.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nccl_net.h\"\n#include \"net_device.h\"\n#include \"proxy.h\"\n#include \"checks.h\"\n#include <dlfcn.h>\n\nstatic ncclNet_t ncclNet;\nstatic ncclCollNet_t ncclCollNet;\nstatic ncclNet_v6_t* ncclNet_v6;\nstatic ncclCollNet_v6_t* ncclCollNet_v6;\n\n#define NET_INDEX 0\n#define COLLNET_INDEX 1\n#define INDEX_NUMS 2\nstatic int refCount[INDEX_NUMS];\n\nstatic ncclResult_t ncclNet_getProperties(int dev, ncclNetProperties_t* props) {\n  ncclNetProperties_v6_t p6;\n  ncclResult_t ans = ncclNet_v6->getProperties(dev, &p6);\n  if (ans != ncclSuccess) return ans;\n  props->name = p6.name;\n  props->pciPath = p6.pciPath;\n  props->guid = p6.guid;\n  props->ptrSupport = p6.ptrSupport;\n  props->regIsGlobal = 0;\n  props->forceFlush = 0;\n  props->speed = p6.speed;\n  props->port = p6.port;\n  props->maxComms = p6.maxComms;\n  props->maxRecvs = p6.maxRecvs;\n  props->latency = p6.latency;\n  props->netDeviceType = NCCL_NET_DEVICE_HOST;\n  props->netDeviceVersion = NCCL_NET_DEVICE_INVALID_VERSION;\n  props->vProps.ndevs = 1;\n  props->vProps.devs[0] = dev;\n  props->maxP2pBytes = MAX_NET_SIZE;\n  props->maxCollBytes = MAX_COLLNET_SIZE;\n  props->maxMultiRequestSize = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclNet_regMr(void* comm, void* data, size_t size, int type, void** mhandle) {\n  if (size >= 1UL<<31) return ncclInternalError;\n  return ncclNet_v6->regMr(comm, data, (int) size, type, mhandle);\n}\n\nstatic ncclResult_t ncclNet_listen(void* ctx __attribute__((unused)),\n    int d, void* handle, void** listenComm) {\n  return ncclNet_v6->listen(d, handle, listenComm);\n}\n\nstatic ncclResult_t ncclNet_connect(void* ctx __attribute__((unused)),\n    int dev,\n    void* handle, void** sendComm, ncclNetDeviceHandle_t** /*sendDevComm*/) {\n  return ncclNet_v6->connect(dev, handle, sendComm);\n}\n\nstatic ncclResult_t ncclNet_accept(void* listenComm, void** recvComm, ncclNetDeviceHandle_t** /*recvDevComm*/) {\n  return ncclNet_v6->accept(listenComm, recvComm);\n}\n\nstatic ncclResult_t ncclNet_isend(void* sendComm, void* data, size_t size, int tag, void* mhandle,\n    void* pHandle __attribute__((unused)),\n    void** request) {\n  int sizeInt;\n  if (size > MAX_NET_SIZE) return ncclInternalError;\n  sizeInt = (int)size;\n  ncclResult_t ans = ncclNet_v6->isend(sendComm, data, sizeInt, tag, mhandle, request);\n  return ans;\n}\n\nstatic ncclResult_t ncclNet_irecv(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles,\n    void** pHandles __attribute__((unused)),\n    void** request) {\n  int sizesInt[NCCL_PROXY_MAX_SUBS];\n  //reset to nullptr if optional receive completion is set\n  if (*request == (void *)NCCL_NET_OPTIONAL_RECV_COMPLETION) *request = nullptr;\n  for (int i=0; i<n; i++) {\n    if (sizes[i] > MAX_NET_SIZE) return ncclInternalError;\n    sizesInt[i] = (int) sizes[i];\n  }\n  ncclResult_t ans = ncclNet_v6->irecv(recvComm, n, data, sizesInt, tags, mhandles, request);\n  return ans;\n}\n\nstatic ncclResult_t ncclNet_finalize(void* ctx __attribute__((unused))) {\n  refCount[NET_INDEX]--;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclCollNet_getProperties(int dev, ncclNetProperties_t* props) {\n  ncclNetProperties_v6_t p6;\n  ncclResult_t ans = ncclCollNet_v6->getProperties(dev, &p6);\n  if (ans != ncclSuccess) return ans;\n  props->name = p6.name;\n  props->pciPath = p6.pciPath;\n  props->guid = p6.guid;\n  props->ptrSupport = p6.ptrSupport;\n  props->regIsGlobal = 0;\n  props->forceFlush = 0;\n  props->speed = p6.speed;\n  props->port = p6.port;\n  props->maxComms = p6.maxComms;\n  props->maxRecvs = p6.maxRecvs;\n  props->latency = p6.latency;\n  props->netDeviceType    = NCCL_NET_DEVICE_HOST;\n  props->netDeviceVersion = NCCL_NET_DEVICE_INVALID_VERSION;\n  props->vProps.ndevs = 1;\n  props->vProps.devs[0] = dev;\n  props->maxP2pBytes = MAX_NET_SIZE;\n  props->maxCollBytes = MAX_COLLNET_SIZE;\n  props->maxMultiRequestSize = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclCollNet_listen(void* ctx __attribute__((unused)),\n    int d, void* handle, void** listenComm) {\n  return ncclCollNet_v6->listen(d, handle, listenComm);\n}\n\nstatic ncclResult_t ncclCollNet_regMr(void* comm, void* data, size_t size, int type, void** mhandle) {\n  if (size >= 1UL<<31) return ncclInternalError;\n  return ncclCollNet_v6->regMr(comm, data, (int) size, type, mhandle);\n}\n\nstatic ncclResult_t ncclCollNet_iallreduce(void* collComm, void* sendData, void* recvData, size_t count,\n     ncclDataType_t dataType, ncclRedOp_t redOp, void* sendMhandle, void* recvMhandle, void** request) {\n  int countInt;\n  if (count > MAX_NET_SIZE) return ncclInternalError;\n  countInt = (int)count;\n  ncclResult_t ans = ncclCollNet_v6->iallreduce(collComm, sendData, recvData, countInt, dataType, redOp,\n                 sendMhandle, recvMhandle, request);\n  return ans;\n}\n\nstatic ncclResult_t ncclCollNet_finalize(void* ctx __attribute__((unused))) {\n  refCount[COLLNET_INDEX]--;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclNet_init(void** ctx __attribute__((unused)),\n    uint64_t commId __attribute__((unused)),\n    ncclNetCommConfig_t* config __attribute__((unused)),\n    ncclDebugLogger_t logfn,\n    ncclProfilerCallback_t proffn __attribute__((unused))) {\n  // before ncclNet_v11 the net plugin was initialized only once. With ncclNet_v11 this is no longer the case.\n  // The compat layer preserves the ncclNet_v6 behavior using a refCount to track the number of times the plugin\n  // is initialized, and avoid initializing it multiple times.\n  if (refCount[NET_INDEX]++) return ncclSuccess;\n  NCCLCHECK(ncclNet_v6->init(logfn));\n  ncclNet.devices = ncclNet_v6->devices;\n  ncclNet.getProperties = ncclNet_getProperties;\n  ncclNet.listen = ncclNet_listen;\n  ncclNet.connect = ncclNet_connect;\n  ncclNet.accept =  ncclNet_accept;\n  ncclNet.regMr = ncclNet_regMr;\n  ncclNet.regMrDmaBuf = ncclNet_v6->regMrDmaBuf;\n  ncclNet.deregMr = ncclNet_v6->deregMr;\n  ncclNet.isend = ncclNet_isend;\n  ncclNet.irecv = ncclNet_irecv;\n  ncclNet.iflush = ncclNet_v6->iflush;\n  ncclNet.test = ncclNet_v6->test;\n  ncclNet.closeSend = ncclNet_v6->closeSend;\n  ncclNet.closeRecv = ncclNet_v6->closeRecv;\n  ncclNet.closeListen = ncclNet_v6->closeListen;\n  ncclNet.getDeviceMr = NULL;\n  ncclNet.irecvConsumed = NULL;\n  ncclNet.makeVDevice  = NULL;\n  ncclNet.finalize = ncclNet_finalize;\n  ncclNet.setNetAttr = nullptr;\n  return ncclSuccess;\n}\n\nncclNet_t* getNcclNet_v6(void* lib) {\n  ncclNet_v6 = (ncclNet_v6_t*)dlsym(lib, \"ncclNetPlugin_v6\");\n  if (ncclNet_v6) {\n    ncclNet.name = ncclNet_v6->name;\n    ncclNet.init = ncclNet_init;\n    INFO(NCCL_INIT|NCCL_NET, \"NET/Plugin: Loaded net plugin %s (v6)\", ncclNet_v6->name);\n    return &ncclNet;\n  }\n  return nullptr;\n}\n\nstatic ncclResult_t ncclCollNet_init(void** ctx __attribute__((unused)),\n    uint64_t commId __attribute__((unused)),\n    ncclDebugLogger_t logfn) {\n  // before ncclCollNet_v11 the collnet plugin was initialized only once. With ncclCollNet_v11 this is no longer the case.\n  // The compat layer preserves the ncclCollNet_v6 behavior using a refCount to track the number of times the plugin\n  // is initialized, and avoid initializing it multiple times.\n  if (refCount[COLLNET_INDEX]++) return ncclSuccess;\n  NCCLCHECK(ncclCollNet_v6->init(logfn));\n  ncclCollNet.devices = ncclCollNet_v6->devices;\n  ncclCollNet.getProperties = ncclCollNet_getProperties;\n  ncclCollNet.listen = ncclCollNet_listen;\n  ncclCollNet.connect = ncclCollNet_v6->connect;\n  ncclCollNet.reduceSupport = ncclCollNet_v6->reduceSupport;\n  ncclCollNet.regMr = ncclCollNet_regMr;\n  ncclCollNet.regMrDmaBuf = ncclCollNet_v6->regMrDmaBuf;\n  ncclCollNet.deregMr = ncclCollNet_v6->deregMr;\n  ncclCollNet.iallreduce = ncclCollNet_iallreduce;\n  ncclCollNet.iallgather = nullptr;\n  ncclCollNet.ireducescatter = nullptr;\n  ncclCollNet.iflush = ncclCollNet_v6->iflush;\n  ncclCollNet.test = ncclCollNet_v6->test;\n  ncclCollNet.closeColl = ncclCollNet_v6->closeColl;\n  ncclCollNet.closeListen = ncclCollNet_v6->closeListen;\n  ncclCollNet.makeVDevice  = NULL;\n  ncclCollNet.finalize = ncclCollNet_finalize;\n  return ncclSuccess;\n}\n\nncclCollNet_t* getNcclCollNet_v6(void* lib) {\n  ncclCollNet_v6 = (ncclCollNet_v6_t*)dlsym(lib, \"ncclCollNetPlugin_v6\");\n  if (ncclCollNet_v6) {\n    ncclCollNet.name = ncclCollNet_v6->name;\n    ncclCollNet.init = ncclCollNet_init;\n    INFO(NCCL_INIT|NCCL_NET, \"NET/Plugin: Loaded collnet plugin %s (v6)\", ncclCollNet_v6->name);\n    return &ncclCollNet;\n  }\n  return nullptr;\n}\n"
  },
  {
    "path": "src/plugin/net/net_v7.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nccl_net.h\"\n#include \"net_device.h\"\n#include \"proxy.h\"\n#include \"checks.h\"\n#include <dlfcn.h>\n\nstatic ncclNet_t ncclNet;\nstatic ncclCollNet_t ncclCollNet;\nstatic ncclNet_v7_t* ncclNet_v7;\nstatic ncclCollNet_v7_t* ncclCollNet_v7;\n\n#define NET_INDEX 0\n#define COLLNET_INDEX 1\n#define INDEX_NUMS 2\nstatic int refCount[INDEX_NUMS];\n\nstatic ncclResult_t ncclNet_getProperties(int dev, ncclNetProperties_t* props) {\n  ncclNetProperties_v7_t p7;\n  ncclResult_t ans = ncclNet_v7->getProperties(dev, &p7);\n  if (ans != ncclSuccess) return ans;\n  props->name = p7.name;\n  props->pciPath = p7.pciPath;\n  props->guid = p7.guid;\n  props->ptrSupport = p7.ptrSupport;\n  props->regIsGlobal = 0;\n  props->forceFlush = 0;\n  props->speed = p7.speed;\n  props->port = p7.port;\n  props->maxComms = p7.maxComms;\n  props->maxRecvs = p7.maxRecvs;\n  props->latency = p7.latency;\n  props->netDeviceType = p7.netDeviceType;\n  props->netDeviceVersion = p7.netDeviceVersion;\n  props->vProps.ndevs = 1;\n  props->vProps.devs[0] = dev;\n  props->maxP2pBytes = MAX_NET_SIZE;\n  props->maxCollBytes = MAX_COLLNET_SIZE;\n  props->maxMultiRequestSize = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclNet_listen(void* ctx __attribute__((unused)),\n    int dev, void* handle, void** listenComm) {\n  return ncclNet_v7->listen(dev, handle, listenComm);\n}\n\nstatic ncclResult_t ncclNet_connect(void* ctx __attribute__((unused)),\n    int dev,\n    void* handle, void** sendComm, ncclNetDeviceHandle_t** sendDevComm) {\n  return ncclNet_v7->connect(dev, handle, sendComm, sendDevComm);\n}\n\nstatic ncclResult_t ncclNet_regMr(void* comm, void* data, size_t size, int type, void** mhandle) {\n  if (size >= 1UL<<31) return ncclInternalError;\n  return ncclNet_v7->regMr(comm, data, (int) size, type, mhandle);\n}\n\nstatic ncclResult_t ncclNet_isend(void* sendComm, void* data, size_t size, int tag, void* mhandle,\n    void* pHandle __attribute__((unused)),\n    void** request) {\n  int sizeInt;\n  if (size > MAX_NET_SIZE) return ncclInternalError;\n  sizeInt = (int)size;\n  ncclResult_t ans = ncclNet_v7->isend(sendComm, data, sizeInt, tag, mhandle, request);\n  return ans;\n}\n\nstatic ncclResult_t ncclNet_irecv(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles,\n    void** pHandles __attribute__((unused)),\n    void** request) {\n  int sizesInt[NCCL_PROXY_MAX_SUBS];\n  //reset to nullptr if optional receive completion is set\n  if (*request == (void *)NCCL_NET_OPTIONAL_RECV_COMPLETION) *request = nullptr;\n  for (int i=0; i<n; i++) {\n    if (sizes[i] > MAX_NET_SIZE) return ncclInternalError;\n    sizesInt[i] = (int) sizes[i];\n  }\n  ncclResult_t ans = ncclNet_v7->irecv(recvComm, n, data, sizesInt, tags, mhandles, request);\n  return ans;\n}\n\nstatic ncclResult_t ncclNet_finalize(void* ctx __attribute__((unused))) {\n  refCount[NET_INDEX]--;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclCollNet_getProperties(int dev, ncclNetProperties_t* props) {\n  ncclNetProperties_v7_t p7;\n  ncclResult_t ans = ncclCollNet_v7->getProperties(dev, &p7);\n  if (ans != ncclSuccess) return ans;\n  props->name = p7.name;\n  props->pciPath = p7.pciPath;\n  props->guid = p7.guid;\n  props->ptrSupport = p7.ptrSupport;\n  props->regIsGlobal = 0;\n  props->forceFlush = 0;\n  props->speed = p7.speed;\n  props->port = p7.port;\n  props->maxComms = p7.maxComms;\n  props->maxRecvs = p7.maxRecvs;\n  props->latency = p7.latency;\n  props->netDeviceType    = NCCL_NET_DEVICE_HOST;\n  props->netDeviceVersion = NCCL_NET_DEVICE_INVALID_VERSION;\n  props->vProps.ndevs = 1;\n  props->vProps.devs[0] = dev;\n  props->maxP2pBytes = MAX_NET_SIZE;\n  props->maxCollBytes = MAX_COLLNET_SIZE;\n  props->maxMultiRequestSize = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclCollNet_listen(void* ctx __attribute__((unused)),\n    int d, void* handle, void** listenComm) {\n  return ncclCollNet_v7->listen(d, handle, listenComm);\n}\n\nstatic ncclResult_t ncclCollNet_regMr(void* comm, void* data, size_t size, int type, void** mhandle) {\n  if (size >= 1UL<<31) return ncclInternalError;\n  return ncclCollNet_v7->regMr(comm, data, (int) size, type, mhandle);\n}\n\nstatic ncclResult_t ncclCollNet_iallreduce(void* collComm, void* sendData, void* recvData, size_t count,\n      ncclDataType_t dataType, ncclRedOp_t redOp, void* sendMhandle, void* recvMhandle, void** request) {\n  int countInt;\n  if (count > MAX_NET_SIZE) return ncclInternalError;\n  countInt = (int)count;\n  ncclResult_t ans = ncclCollNet_v7->iallreduce(collComm, sendData, recvData, countInt, dataType, redOp,\n                 sendMhandle, recvMhandle, request);\n  return ans;\n}\n\nstatic ncclResult_t ncclCollNet_finalize(void* ctx __attribute__((unused))) {\n  refCount[COLLNET_INDEX]--;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclNet_init(void** ctx __attribute__((unused)),\n    uint64_t commId __attribute__((unused)),\n    ncclNetCommConfig_t* config __attribute__((unused)),\n    ncclDebugLogger_t logfn,\n    ncclProfilerCallback_t proffn __attribute__((unused))) {\n  // before ncclNet_v11 the net plugin was initialized only once. With ncclNet_v11 this is no longer the case.\n  // The compat layer preserves the ncclNet_v7 behavior using a refCount to track the number of times the plugin\n  // is initialized, and avoid initializing it multiple times.\n  if (refCount[NET_INDEX]++) return ncclSuccess;\n  NCCLCHECK(ncclNet_v7->init(logfn));\n  ncclNet.devices = ncclNet_v7->devices;\n  ncclNet.getProperties = ncclNet_getProperties; // ncclNet_v5->getProperties;\n  ncclNet.listen = ncclNet_listen;\n  ncclNet.connect = ncclNet_connect;\n  ncclNet.accept =  ncclNet_v7->accept;\n  ncclNet.regMr = ncclNet_regMr;\n  ncclNet.regMrDmaBuf = ncclNet_v7->regMrDmaBuf;\n  ncclNet.deregMr = ncclNet_v7->deregMr;\n  ncclNet.isend = ncclNet_isend;\n  ncclNet.irecv = ncclNet_irecv;\n  ncclNet.iflush = ncclNet_v7->iflush;\n  ncclNet.test = ncclNet_v7->test;\n  ncclNet.closeSend = ncclNet_v7->closeSend;\n  ncclNet.closeRecv = ncclNet_v7->closeRecv;\n  ncclNet.closeListen = ncclNet_v7->closeListen;\n  ncclNet.getDeviceMr = ncclNet_v7->getDeviceMr;\n  ncclNet.irecvConsumed = ncclNet_v7->irecvConsumed;\n  ncclNet.makeVDevice  = NULL;\n  ncclNet.finalize = ncclNet_finalize;\n  ncclNet.setNetAttr = nullptr;\n  return ncclSuccess;\n}\n\nncclNet_t* getNcclNet_v7(void* lib) {\n  ncclNet_v7 = (ncclNet_v7_t*)dlsym(lib, \"ncclNetPlugin_v7\");\n  if (ncclNet_v7) {\n    ncclNet.name = ncclNet_v7->name;\n    ncclNet.init = ncclNet_init;\n    INFO(NCCL_INIT|NCCL_NET, \"NET/Plugin: Loaded net plugin %s (v7)\", ncclNet_v7->name);\n    return &ncclNet;\n  }\n  return nullptr;\n}\n\nstatic ncclResult_t ncclCollNet_init(void** ctx __attribute__((unused)),\n    uint64_t commId __attribute__((unused)),\n    ncclDebugLogger_t logfn) {\n  // before ncclCollNet_v11 the collnet plugin was initialized only once. With ncclCollNet_v11 this is no longer the case.\n  // The compat layer preserves the ncclCollNet_v7 behavior using a refCount to track the number of times the plugin\n  // is initialized, and avoid initializing it multiple times.\n  if (refCount[COLLNET_INDEX]++) return ncclSuccess;\n  NCCLCHECK(ncclCollNet_v7->init(logfn));\n  ncclCollNet.devices = ncclCollNet_v7->devices;\n  ncclCollNet.getProperties = ncclCollNet_getProperties;\n  ncclCollNet.listen = ncclCollNet_listen;\n  ncclCollNet.connect = ncclCollNet_v7->connect;\n  ncclCollNet.reduceSupport = ncclCollNet_v7->reduceSupport;\n  ncclCollNet.regMr = ncclCollNet_regMr;\n  ncclCollNet.regMrDmaBuf = ncclCollNet_v7->regMrDmaBuf;\n  ncclCollNet.deregMr = ncclCollNet_v7->deregMr;\n  ncclCollNet.iallreduce = ncclCollNet_iallreduce;\n  ncclCollNet.iallgather = nullptr;\n  ncclCollNet.ireducescatter = nullptr;\n  ncclCollNet.iflush = ncclCollNet_v7->iflush;\n  ncclCollNet.test = ncclCollNet_v7->test;\n  ncclCollNet.closeColl = ncclCollNet_v7->closeColl;\n  ncclCollNet.closeListen = ncclCollNet_v7->closeListen;\n  ncclCollNet.finalize = ncclCollNet_finalize;\n  return ncclSuccess;\n}\n\nncclCollNet_t* getNcclCollNet_v7(void* lib) {\n  ncclCollNet_v7 = (ncclCollNet_v7_t*)dlsym(lib, \"ncclCollNetPlugin_v7\");\n  if (ncclCollNet_v7) {\n    ncclCollNet.name = ncclCollNet_v7->name;\n    ncclCollNet.init = ncclCollNet_init;\n    INFO(NCCL_INIT|NCCL_NET, \"NET/Plugin: Loaded collnet plugin %s (v7)\", ncclCollNet_v7->name);\n    return &ncclCollNet;\n  }\n  return nullptr;\n}\n"
  },
  {
    "path": "src/plugin/net/net_v8.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nccl_net.h\"\n#include \"net_device.h\"\n#include \"proxy.h\"\n#include \"checks.h\"\n#include <dlfcn.h>\n\nstatic ncclNet_t ncclNet;\nstatic ncclCollNet_t ncclCollNet;\nstatic ncclNet_v8_t* ncclNet_v8;\nstatic ncclCollNet_v8_t* ncclCollNet_v8;\n\n#define NET_INDEX 0\n#define COLLNET_INDEX 1\n#define INDEX_NUMS 2\nstatic int refCount[INDEX_NUMS];\n\nstatic ncclResult_t ncclNet_getProperties(int dev, ncclNetProperties_t* props) {\n  ncclNetProperties_v8_t p8;\n  ncclResult_t ans = ncclNet_v8->getProperties(dev, &p8);\n  if (ans != ncclSuccess) return ans;\n  props->name = p8.name;\n  props->pciPath = p8.pciPath;\n  props->guid = p8.guid;\n  props->ptrSupport = p8.ptrSupport;\n  props->regIsGlobal = p8.regIsGlobal;\n  props->forceFlush = 0;\n  props->speed = p8.speed;\n  props->port = p8.port;\n  props->maxComms = p8.maxComms;\n  props->maxRecvs = p8.maxRecvs;\n  props->latency = p8.latency;\n  props->netDeviceType = p8.netDeviceType;\n  props->netDeviceVersion = p8.netDeviceVersion;\n  props->vProps.ndevs = 1;\n  props->vProps.devs[0] = dev;\n  props->maxP2pBytes = MAX_NET_SIZE;\n  props->maxCollBytes = MAX_COLLNET_SIZE;\n  props->maxMultiRequestSize = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclNet_listen(void* ctx __attribute__((unused)),\n    int dev, void* handle, void** listenComm) {\n  return ncclNet_v8->listen(dev, handle, listenComm);\n}\n\nstatic ncclResult_t ncclNet_connect(void* ctx __attribute__((unused)),\n    int dev,\n    void* handle, void** sendComm, ncclNetDeviceHandle_t** sendDevComm) {\n  return ncclNet_v8->connect(dev, handle, sendComm, sendDevComm);\n}\n\nstatic ncclResult_t ncclNet_isend(void* sendComm, void* data, size_t size, int tag, void* mhandle,\n    void* pHandle __attribute__((unused)),\n    void** request) {\n  int sizeInt;\n  if (size > MAX_NET_SIZE) return ncclInternalError;\n  sizeInt = (int)size;\n  ncclResult_t ans = ncclNet_v8->isend(sendComm, data, sizeInt, tag, mhandle, request);\n  return ans;\n}\n\nstatic ncclResult_t ncclNet_irecv(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles,\n    void** pHandles __attribute__((unused)),\n    void** request) {\n  int sizesInt[NCCL_PROXY_MAX_SUBS];\n  //reset to nullptr if optional receive completion is set\n  if (*request == (void *)NCCL_NET_OPTIONAL_RECV_COMPLETION) *request = nullptr;\n  for (int i=0; i<n; i++) {\n    if (sizes[i] > MAX_NET_SIZE) return ncclInternalError;\n    sizesInt[i] = (int) sizes[i];\n  }\n  ncclResult_t ans = ncclNet_v8->irecv(recvComm, n, data, sizesInt, tags, mhandles, request);\n  return ans;\n}\n\nstatic ncclResult_t ncclNet_finalize(void* ctx __attribute__((unused))) {\n  refCount[NET_INDEX]--;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclCollNet_getProperties(int dev, ncclNetProperties_t* props) {\n  ncclNetProperties_v8_t p8;\n  ncclResult_t ans = ncclCollNet_v8->getProperties(dev, &p8);\n  if (ans != ncclSuccess) return ans;\n  props->name = p8.name;\n  props->pciPath = p8.pciPath;\n  props->guid = p8.guid;\n  props->ptrSupport = p8.ptrSupport;\n  props->regIsGlobal = p8.regIsGlobal;\n  props->forceFlush = 0;\n  props->speed = p8.speed;\n  props->port = p8.port;\n  props->maxComms = p8.maxComms;\n  props->maxRecvs = p8.maxRecvs;\n  props->latency = p8.latency;\n  props->netDeviceType    = NCCL_NET_DEVICE_HOST;\n  props->netDeviceVersion = NCCL_NET_DEVICE_INVALID_VERSION;\n  props->vProps.ndevs = 1;\n  props->vProps.devs[0] = dev;\n  props->maxP2pBytes = MAX_NET_SIZE;\n  props->maxCollBytes = MAX_COLLNET_SIZE;\n  props->maxMultiRequestSize = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclCollNet_listen(void* ctx __attribute__((unused)),\n    int dev, void* handle, void** listenComm) {\n  return ncclCollNet_v8->listen(dev, handle, listenComm);\n}\n\nstatic ncclResult_t ncclCollNet_iallreduce(void* collComm, void* sendData, void* recvData, size_t count,\n      ncclDataType_t dataType, ncclRedOp_t redOp, void* sendMhandle, void* recvMhandle, void** request) {\n  int countInt;\n  if (count > MAX_NET_SIZE) return ncclInternalError;\n  countInt = (int)count;\n  ncclResult_t ans = ncclCollNet_v8->iallreduce(collComm, sendData, recvData, countInt, dataType, redOp,\n                 sendMhandle, recvMhandle, request);\n  return ans;\n}\n\nstatic ncclResult_t ncclCollNet_iallgather (void* collComm, void* sendData, int nRecvParts, ncclNetSGE_t* recvParts,\n                           size_t bytesPerRank, size_t windowOffset, size_t windowBytes,\n                           void* sendMhandle, void** request) {\n  ncclNetSGE_v8_t recvPartsInt;\n  if (nRecvParts > 1) return ncclInternalError;\n  if (recvParts->size > MAX_COLLNET_SIZE) return ncclInternalError;\n  recvPartsInt.mhandle = recvParts->mhandle;\n  recvPartsInt.address = recvParts->address;\n  recvPartsInt.size = (int)recvParts->size;\n  ncclResult_t ans = ncclCollNet_v8->iallgather(collComm, sendData, nRecvParts, &recvPartsInt,\n                  bytesPerRank, windowOffset, windowBytes,\n                  sendMhandle, request);\n  return ans;\n}\n\nstatic ncclResult_t ncclCollNet_ireducescatter(void* collComm, int nSendParts, ncclNetSGE_t* sendParts, void* recvData,\n                               size_t bytesPerRank, size_t windowOffset, size_t windowBytes,\n                               ncclDataType_t dataType, ncclRedOp_t redOp,\n                               void* recvMhandle, void** request) {\n  ncclNetSGE_v8_t sendPartsInt;\n  if (nSendParts > 1) return ncclInternalError;\n  if (sendParts->size > MAX_COLLNET_SIZE) return ncclInternalError;\n  sendPartsInt.mhandle = sendParts->mhandle;\n  sendPartsInt.address = sendParts->address;\n  sendPartsInt.size = (int)sendParts->size;\n  ncclResult_t ans = ncclCollNet_v8->ireducescatter(collComm, nSendParts, &sendPartsInt,\n                  recvData, bytesPerRank, windowOffset, windowBytes,\n                  dataType, redOp,\n                  recvMhandle, request);\n  return ans;\n}\n\nstatic ncclResult_t ncclCollNet_finalize(void* ctx __attribute__((unused))) {\n  refCount[COLLNET_INDEX]--;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclNet_init(void** ctx __attribute__((unused)),\n    uint64_t commId __attribute__((unused)),\n    ncclNetCommConfig_t* config __attribute__((unused)),\n    ncclDebugLogger_t logfn, ncclProfilerCallback_t proffn) {\n  // before ncclNet_v11 the net plugin was initialized only once. With ncclNet_v11 this is no longer the case.\n  // The compat layer preserves the ncclNet_v8 behavior using a refCount to track the number of times the plugin\n  // is initialized, and avoid initializing it multiple times.\n  if (refCount[NET_INDEX]++) return ncclSuccess;\n  NCCLCHECK(ncclNet_v8->init(logfn));\n  ncclNet.devices = ncclNet_v8->devices;\n  ncclNet.getProperties = ncclNet_getProperties;\n  ncclNet.listen = ncclNet_listen;\n  ncclNet.connect = ncclNet_connect;\n  ncclNet.accept =  ncclNet_v8->accept;\n  ncclNet.regMr = ncclNet_v8->regMr;\n  ncclNet.regMrDmaBuf = ncclNet_v8->regMrDmaBuf;\n  ncclNet.deregMr = ncclNet_v8->deregMr;\n  ncclNet.isend = ncclNet_isend;\n  ncclNet.irecv = ncclNet_irecv;\n  ncclNet.iflush = ncclNet_v8->iflush;\n  ncclNet.test = ncclNet_v8->test;\n  ncclNet.closeSend = ncclNet_v8->closeSend;\n  ncclNet.closeRecv = ncclNet_v8->closeRecv;\n  ncclNet.closeListen = ncclNet_v8->closeListen;\n  ncclNet.getDeviceMr = ncclNet_v8->getDeviceMr;\n  ncclNet.irecvConsumed = ncclNet_v8->irecvConsumed;\n  ncclNet.makeVDevice   = NULL;\n  ncclNet.finalize = ncclNet_finalize;\n  ncclNet.setNetAttr = nullptr;\n  return ncclSuccess;\n}\n\nncclNet_t* getNcclNet_v8(void* lib) {\n  ncclNet_v8 = (ncclNet_v8_t*)dlsym(lib, \"ncclNetPlugin_v8\");\n  if (ncclNet_v8) {\n    ncclNet.name = ncclNet_v8->name;\n    ncclNet.init = ncclNet_init;\n    INFO(NCCL_INIT|NCCL_NET, \"NET/Plugin: Loaded net plugin %s (v8)\", ncclNet_v8->name);\n    return &ncclNet;\n  }\n  return nullptr;\n}\n\nstatic ncclResult_t ncclCollNet_init(void** ctx __attribute__((unused)),\n    uint64_t commId __attribute__((unused)),\n    ncclDebugLogger_t logfn) {\n  // before ncclCollNet_v11 the collnet plugin was initialized only once. With ncclCollNet_v11 this is no longer the case.\n  // The compat layer preserves the ncclCollNet_v8 behavior using a refCount to track the number of times the plugin\n  // is initialized, and avoid initializing it multiple times.\n  if (refCount[COLLNET_INDEX]++) return ncclSuccess;\n  NCCLCHECK(ncclCollNet_v8->init(logfn));\n  ncclCollNet.devices = ncclCollNet_v8->devices;\n  ncclCollNet.getProperties = ncclCollNet_getProperties;\n  ncclCollNet.listen = ncclCollNet_listen;\n  ncclCollNet.connect = ncclCollNet_v8->connect;\n  ncclCollNet.reduceSupport = ncclCollNet_v8->reduceSupport;\n  ncclCollNet.regMr = ncclCollNet_v8->regMr;\n  ncclCollNet.regMrDmaBuf = ncclCollNet_v8->regMrDmaBuf;\n  ncclCollNet.deregMr = ncclCollNet_v8->deregMr;\n  ncclCollNet.iallreduce = ncclCollNet_iallreduce;\n  ncclCollNet.iallgather = ncclCollNet_iallgather;\n  ncclCollNet.ireducescatter = ncclCollNet_ireducescatter;\n  ncclCollNet.iflush = ncclCollNet_v8->iflush;\n  ncclCollNet.test = ncclCollNet_v8->test;\n  ncclCollNet.closeColl = ncclCollNet_v8->closeColl;\n  ncclCollNet.closeListen = ncclCollNet_v8->closeListen;\n  ncclCollNet.makeVDevice = nullptr;\n  ncclCollNet.finalize = ncclCollNet_finalize;\n  return ncclSuccess;\n}\n\nncclCollNet_t* getNcclCollNet_v8(void* lib) {\n  ncclCollNet_v8 = (ncclCollNet_v8_t*)dlsym(lib, \"ncclCollNetPlugin_v8\");\n  if (ncclCollNet_v8) {\n    ncclCollNet.name = ncclCollNet_v8->name;\n    ncclCollNet.init = ncclCollNet_init;\n    INFO(NCCL_INIT|NCCL_NET, \"NET/Plugin: Loaded collnet plugin %s (v8)\", ncclCollNet_v8->name);\n    return &ncclCollNet;\n  }\n  return nullptr;\n}\n"
  },
  {
    "path": "src/plugin/net/net_v9.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nccl_net.h\"\n#include \"net_device.h\"\n#include \"proxy.h\"\n#include \"checks.h\"\n#include <dlfcn.h>\n\nstatic ncclNet_t ncclNet;\nstatic ncclCollNet_t ncclCollNet;\nstatic ncclNet_v9_t* ncclNet_v9;\nstatic ncclCollNet_v9_t* ncclCollNet_v9;\n\n#define NET_INDEX 0\n#define COLLNET_INDEX 1\n#define INDEX_NUMS 2\nstatic int refCount[INDEX_NUMS];\n\nstatic ncclResult_t ncclNet_getProperties(int dev, ncclNetProperties_t* props) {\n  ncclNetProperties_v9_t props_v9;\n  NCCLCHECK(ncclNet_v9->getProperties(dev, &props_v9));\n  props->name = props_v9.name;\n  props->pciPath = props_v9.pciPath;\n  props->guid = props_v9.guid;\n  props->ptrSupport = props_v9.ptrSupport;\n  props->regIsGlobal = props_v9.regIsGlobal;\n  props->forceFlush = props_v9.forceFlush;\n  props->speed = props_v9.speed;\n  props->port = props_v9.port;\n  props->latency = props_v9.latency;\n  props->maxComms = props_v9.maxComms;\n  props->maxRecvs = props_v9.maxRecvs;\n  props->netDeviceType = props_v9.netDeviceType;\n  props->netDeviceVersion = props_v9.netDeviceVersion;\n  props->vProps.ndevs = props_v9.vProps.ndevs;\n  for (int i = 0; i < props->vProps.ndevs; i++) {\n    props->vProps.devs[i] = props_v9.vProps.devs[i];\n  }\n  props->maxP2pBytes = props_v9.maxP2pBytes;\n  props->maxCollBytes = props_v9.maxCollBytes;\n  props->maxMultiRequestSize = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclNet_isend(void* sendComm, void* data, size_t size, int tag, void* mhandle,\n    void* pHandle __attribute__((unused)),\n    void** request) {\n  return ncclNet_v9->isend(sendComm, data, size, tag, mhandle, request);\n}\n\nstatic ncclResult_t ncclNet_irecv(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles,\n    void** pHandles __attribute__((unused)),\n    void** request) {\n  return ncclNet_v9->irecv(recvComm, n, data, sizes, tags, mhandles, request);\n}\n\nstatic ncclResult_t ncclNet_listen(void* ctx __attribute__((unused)),\n    int dev, void* handle, void** listenComm) {\n  return ncclNet_v9->listen(dev, handle, listenComm);\n}\n\nstatic ncclResult_t ncclNet_connect(void* ctx __attribute__((unused)),\n    int dev,\n    void* handle, void** sendComm, ncclNetDeviceHandle_t** sendDevComm) {\n  return ncclNet_v9->connect(dev, handle, sendComm, sendDevComm);\n}\n\nstatic ncclResult_t ncclNet_makeVDevice(int* d, ncclNetVDeviceProps_t* props) {\n  return ncclNet_v9->makeVDevice(d, (ncclNetVDeviceProps_v9_t*)props);\n}\n\nstatic ncclResult_t ncclNet_finalize(void* ctx __attribute__((unused))) {\n  refCount[NET_INDEX]--;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclCollNet_getProperties(int dev, ncclNetProperties_t* props) {\n  ncclNetProperties_v9_t props_v9;\n  NCCLCHECK(ncclCollNet_v9->getProperties(dev, &props_v9));\n  props->name = props_v9.name;\n  props->pciPath = props_v9.pciPath;\n  props->guid = props_v9.guid;\n  props->ptrSupport = props_v9.ptrSupport;\n  props->regIsGlobal = props_v9.regIsGlobal;\n  props->forceFlush = props_v9.forceFlush;\n  props->speed = props_v9.speed;\n  props->port = props_v9.port;\n  props->latency = props_v9.latency;\n  props->maxComms = props_v9.maxComms;\n  props->maxRecvs = props_v9.maxRecvs;\n  props->netDeviceType = props_v9.netDeviceType;\n  props->netDeviceVersion = props_v9.netDeviceVersion;\n  props->vProps.ndevs = props_v9.vProps.ndevs;\n  for (int i = 0; i < props->vProps.ndevs; i++) {\n    props->vProps.devs[i] = props_v9.vProps.devs[i];\n  }\n  props->maxP2pBytes = props_v9.maxP2pBytes;\n  props->maxCollBytes = props_v9.maxCollBytes;\n  props->maxMultiRequestSize = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclCollNet_listen(void* ctx __attribute__((unused)),\n    int d, void* handle, void** listenComm) {\n  return ncclCollNet_v9->listen(d, handle, listenComm);\n}\n\nstatic ncclResult_t ncclCollNet_iallgather(void* collComm, void* sendData, int nRecvParts, ncclNetSGE_t* recvParts,\n                             size_t bytesPerRank, size_t windowOffset, size_t windowBytes,\n                             void* sendMhandle, void** request) {\n  return ncclCollNet_v9->iallgather(collComm, sendData, nRecvParts, (ncclNetSGE_v9_t*)recvParts, bytesPerRank,\n                             windowOffset, windowBytes, sendMhandle, request);\n}\n\nstatic ncclResult_t ncclCollNet_ireducescatter(void* collComm, int nSendParts, ncclNetSGE_t* sendParts, void* recvData,\n                                 size_t bytesPerRank, size_t windowOffset, size_t windowBytes,\n                                 ncclDataType_t dataType, ncclRedOp_t redOp,\n                                 void* recvMhandle, void** request) {\n  return ncclCollNet_v9->ireducescatter(collComm, nSendParts, (ncclNetSGE_v9_t*)sendParts, recvData, bytesPerRank,\n                                 windowOffset, windowBytes, dataType, redOp, recvMhandle, request);\n}\n\nstatic ncclResult_t ncclCollNet_makeVDevice(int* d, ncclNetVDeviceProps_t* props) {\n  return ncclCollNet_v9->makeVDevice(d, (ncclNetVDeviceProps_v9_t *)props);\n}\n\nstatic ncclResult_t ncclCollNet_finalize(void* ctx __attribute__((unused))) {\n  refCount[COLLNET_INDEX]--;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclNet_init(void** ctx __attribute__((unused)),\n    uint64_t commId __attribute__((unused)),\n    ncclNetCommConfig_t* config __attribute__((unused)),\n    ncclDebugLogger_t logfn, ncclProfilerCallback_t proffn) {\n  // before ncclNet_v11 the net plugin was initialized only once. With ncclNet_v11 this is no longer the case.\n  // The compat layer preserves the ncclNet_v9 behavior using a refCount to track the number of times the plugin\n  // is initialized, and avoid initializing it multiple times.\n  if (refCount[NET_INDEX]++) return ncclSuccess;\n  NCCLCHECK(ncclNet_v9->init(logfn));\n  ncclNet.devices = ncclNet_v9->devices;\n  ncclNet.getProperties = ncclNet_getProperties;\n  ncclNet.listen = ncclNet_listen;\n  ncclNet.connect = ncclNet_connect;\n  ncclNet.accept = ncclNet_v9->accept;\n  ncclNet.regMr = ncclNet_v9->regMr;\n  ncclNet.regMrDmaBuf = ncclNet_v9->regMrDmaBuf;\n  ncclNet.deregMr = ncclNet_v9->deregMr;\n  ncclNet.isend = ncclNet_isend;\n  ncclNet.irecv = ncclNet_irecv;\n  ncclNet.iflush = ncclNet_v9->iflush;\n  ncclNet.test = ncclNet_v9->test;\n  ncclNet.closeSend = ncclNet_v9->closeSend;\n  ncclNet.closeRecv = ncclNet_v9->closeRecv;\n  ncclNet.closeListen = ncclNet_v9->closeListen;\n  ncclNet.getDeviceMr = ncclNet_v9->getDeviceMr;\n  ncclNet.irecvConsumed = ncclNet_v9->irecvConsumed;\n  ncclNet.makeVDevice = (ncclNet_v9->makeVDevice) ? ncclNet_makeVDevice : nullptr;\n  ncclNet.finalize = ncclNet_finalize;\n  ncclNet.setNetAttr = nullptr;\n  return ncclSuccess;\n}\n\nncclNet_t* getNcclNet_v9(void* lib) {\n  ncclNet_v9 = (ncclNet_v9_t*)dlsym(lib, \"ncclNetPlugin_v9\");\n  if (ncclNet_v9) {\n    ncclNet.name = ncclNet_v9->name;\n    ncclNet.init = ncclNet_init;\n    INFO(NCCL_INIT|NCCL_NET, \"NET/Plugin: Loaded net plugin %s (v9)\", ncclNet_v9->name);\n    return &ncclNet;\n  }\n  return nullptr;\n}\n\nstatic ncclResult_t ncclCollNet_init(void** ctx __attribute__((unused)),\n    uint64_t commId __attribute__((unused)),\n    ncclDebugLogger_t logfn) {\n  // before ncclCollNet_v11 the collnet plugin was initialized only once. With ncclCollNet_v11 this is no longer the case.\n  // The compat layer preserves the ncclCollNet_v9 behavior using a refCount to track the number of times the plugin\n  // is initialized, and avoid initializing it multiple times.\n  if (refCount[COLLNET_INDEX]++) return ncclSuccess;\n  NCCLCHECK(ncclCollNet_v9->init(logfn));\n  ncclCollNet.devices = ncclCollNet_v9->devices;\n  ncclCollNet.getProperties = ncclCollNet_getProperties;\n  ncclCollNet.listen = ncclCollNet_listen;\n  ncclCollNet.connect = ncclCollNet_v9->connect;\n  ncclCollNet.reduceSupport = ncclCollNet_v9->reduceSupport;\n  ncclCollNet.regMr = ncclCollNet_v9->regMr;\n  ncclCollNet.regMrDmaBuf = ncclCollNet_v9->regMrDmaBuf;\n  ncclCollNet.deregMr = ncclCollNet_v9->deregMr;\n  ncclCollNet.iallreduce = ncclCollNet_v9->iallreduce;\n  ncclCollNet.iallgather = ncclCollNet_iallgather;\n  ncclCollNet.ireducescatter = ncclCollNet_ireducescatter;\n  ncclCollNet.iflush = ncclCollNet_v9->iflush;\n  ncclCollNet.test = ncclCollNet_v9->test;\n  ncclCollNet.closeColl = ncclCollNet_v9->closeColl;\n  ncclCollNet.closeListen = ncclCollNet_v9->closeListen;\n  ncclCollNet.makeVDevice = (ncclCollNet_v9->makeVDevice) ? ncclCollNet_makeVDevice : nullptr;\n  ncclCollNet.finalize = ncclCollNet_finalize;\n  return ncclSuccess;\n}\n\nncclCollNet_t* getNcclCollNet_v9(void* lib) {\n  ncclCollNet_v9 = (ncclCollNet_v9_t*)dlsym(lib, \"ncclCollNetPlugin_v9\");\n  if (ncclCollNet_v9) {\n    ncclCollNet.name = ncclCollNet_v9->name;\n    ncclCollNet.init = ncclCollNet_init;\n    INFO(NCCL_INIT|NCCL_NET, \"NET/Plugin: Loaded collnet plugin %s (v9)\", ncclCollNet_v9->name);\n    return &ncclCollNet;\n  }\n  return nullptr;\n}\n"
  },
  {
    "path": "src/plugin/net.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"net.h\"\n#include \"bootstrap.h\"\n#include \"checks.h\"\n#include \"plugin.h\"\n#include \"nccl_net.h\"\n\n#include <string.h>\n#include <errno.h>\n#include <mutex>\n//#include <sys/types.h>\n//#include <sys/stat.h>\n//#include <unistd.h>\n\ntypedef ncclNet_t* getNcclNet_t(void* netPluginLib);\ntypedef ncclCollNet_t* getNcclCollNet_t(void* netPluginLib);\n\nextern getNcclNet_t getNcclNet_v6;\nextern getNcclNet_t getNcclNet_v7;\nextern getNcclNet_t getNcclNet_v8;\nextern getNcclNet_t getNcclNet_v9;\nextern getNcclNet_t getNcclNet_v10;\nextern getNcclNet_t getNcclNet_v11;\nextern getNcclCollNet_t getNcclCollNet_v6;\nextern getNcclCollNet_t getNcclCollNet_v7;\nextern getNcclCollNet_t getNcclCollNet_v8;\nextern getNcclCollNet_t getNcclCollNet_v9;\nextern getNcclCollNet_t getNcclCollNet_v10;\nextern getNcclCollNet_t getNcclCollNet_v11;\n\nextern int64_t rcclParamAinicRoce();\n\nNCCL_PARAM(NetPluginRefCount, \"NET_PLUGIN_REF_COUNT\", 0);\n#define NCCL_NET_VERSION_COUNT 6\nint ncclNetVersion[NCCL_NET_VERSION_COUNT] = {11, 10, 9, 8, 7, 6};\ngetNcclNet_t* getNcclNet[NCCL_NET_VERSION_COUNT] = {getNcclNet_v11, getNcclNet_v10, getNcclNet_v9, getNcclNet_v8, getNcclNet_v7, getNcclNet_v6};\ngetNcclCollNet_t* getNcclCollNet[NCCL_NET_VERSION_COUNT] = {getNcclCollNet_v11, getNcclCollNet_v10, getNcclCollNet_v9, getNcclCollNet_v8, getNcclCollNet_v7, getNcclCollNet_v6};\n\n#define NCCL_NET_NUM_INTERNAL_PLUGINS 2\n\ntypedef enum ncclNetPluginState {\n  ncclNetPluginStateDisabled        = -2,       // Plugin library failed to initialize\n  ncclNetPluginStateLoadFailed      = -1,       // Plugin library failed to load\n  ncclNetPluginStateLoadReady       = 0,        // Plugin library is ready to be loaded\n  ncclNetPluginStateInitReady       = 1,        // Plugin library is loaded and ready to be initialized\n  ncclNetPluginStateEnabled         = 2,        // Plugin library is loaded and initialized\n} ncclNetPluginState_t;\n\n#define MAX_STR_LEN 255\ntypedef struct netPluginLib {\n  char name[MAX_STR_LEN];                       // Name of the plugin library\n  void* dlHandle;                               // Handle to the plugin library\n  ncclNet_t* ncclNet;                           // Pointer to the ncclNet_t structure\n  int ncclNetVer;                               // Version of the nccl net plugin\n  ncclCollNet_t* ncclCollNet;                   // Pointer to the ncclCollNet_t structure\n  ncclNetPluginState_t ncclNetPluginState;      // State of the nccl net plugin\n  ncclNetPluginState_t ncclCollNetPluginState;  // State of the nccl coll net plugin\n  int ncclNetPluginRefCount;                    // Reference count for the nccl net plugin\n  int netPhysDevs;                              // ncclNet - number of physical devices\n  int netVirtDevs;                              // ncclNet - number of virtual devices\n  int collNetPhysDevs;                          // ncclCollNet -  number of physical devices\n  int collNetVirtDevs;                          // ncclCollNet -  number of virtual devices\n} netPluginLib_t;\n\nint pluginCount = 0;\nbool netPluginLibsInitialized = false;\nnetPluginLib_t netPluginLibs[NCCL_NET_MAX_PLUGINS] = { 0 };\nstatic std::mutex netPluginMutex;\nstatic std::once_flag initPluginLibsOnceFlag;\n\nstatic ncclResult_t ncclNetPluginUnload(netPluginLib_t* pluginLib) {\n  if ((pluginLib->dlHandle) && ((pluginLib->ncclNetPluginRefCount) == 0)) {\n    INFO(NCCL_INIT|NCCL_NET, \"Unloading plugin %s\", pluginLib->name);\n    NCCLCHECK(ncclClosePluginLib(pluginLib->dlHandle, ncclPluginTypeNet));\n    // memset will reset the status to ncllNetPluginStateLoadReady\n    memset(pluginLib, 0, sizeof(netPluginLib_t));\n    // reset the count of devices to UNDEF_DEV_COUNT\n    pluginLib->netPhysDevs = pluginLib->netVirtDevs = NCCL_UNDEF_DEV_COUNT;\n    pluginLib->collNetPhysDevs = pluginLib->collNetVirtDevs = NCCL_UNDEF_DEV_COUNT;\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclNetPluginLoad(netPluginLib_t* pluginLib) {\n  pluginLib->dlHandle = ncclOpenNetPluginLib(pluginLib->name);\n\n  if (pluginLib->dlHandle == nullptr) goto fail;\n  // load ncclNet\n  for (int i = 0; i < NCCL_NET_VERSION_COUNT; i++) {\n    pluginLib->ncclNetVer = ncclNetVersion[i];\n    pluginLib->ncclNet = getNcclNet[i](pluginLib->dlHandle);\n    if (pluginLib->ncclNet) break;\n  }\n\n  // if we fail to find a net, exit\n  if (pluginLib->ncclNet == nullptr) {\n    INFO(NCCL_INIT|NCCL_NET, \"External network plugin %s is unsupported\",\n         (ncclPluginLibPaths[ncclPluginTypeNet] ? ncclPluginLibPaths[ncclPluginTypeNet] : pluginLib->name));\n    goto fail;\n  }\n\n  pluginLib->ncclNetPluginState = ncclNetPluginStateInitReady;\n\n  // load ncclCollNet\n  for (int i = 0; i < NCCL_NET_VERSION_COUNT; i++) {\n    pluginLib->ncclCollNet = getNcclCollNet[i](pluginLib->dlHandle);\n    if (pluginLib->ncclCollNet) break;\n  }\n\n  if (pluginLib->ncclCollNet == nullptr)\n    pluginLib->ncclCollNetPluginState = ncclNetPluginStateLoadFailed;\n  else\n    pluginLib->ncclCollNetPluginState = ncclNetPluginStateInitReady;\n\n  INFO(NCCL_INIT|NCCL_NET, \"Successfully loaded external network plugin %s\",\n       (ncclPluginLibPaths[ncclPluginTypeNet] ? ncclPluginLibPaths[ncclPluginTypeNet] : pluginLib->name));\nexit:\n  return ncclSuccess;\nfail:\n  if (pluginLib->dlHandle) {\n    NCCLCHECK(ncclClosePluginLib(pluginLib->dlHandle, ncclPluginTypeNet));\n  }\n  pluginLib->dlHandle = nullptr;\n  pluginLib->ncclNetPluginState = ncclNetPluginStateLoadFailed;\n  pluginLib->ncclCollNetPluginState = ncclNetPluginStateLoadFailed;\n  goto exit;\n}\n\nncclResult_t ncclNetCheckDeviceVersion(struct ncclComm* comm, ncclNet_t* net, int dev) {\n  ncclNetProperties_t props;\n\n  NCCLCHECK(net->getProperties(dev, &props));\n  ncclNetDeviceType type = props.netDeviceType;\n  if (type) switch (type) {\n    case NCCL_NET_DEVICE_UNPACK:\n      if (props.netDeviceVersion == NCCL_NET_DEVICE_UNPACK_VERSION) {\n        INFO(NCCL_INIT, \"Using NCCL_NET_DEVICE_UNPACK net plugin version %d\",\n          props.netDeviceVersion);\n        return ncclSuccess;\n      } else {\n        WARN(\"NCCL_DEVICE_UNPACK plugin has incompatible version %d, this NCCL build is compatible with %d, not using it\",\n          props.netDeviceVersion, NCCL_NET_DEVICE_UNPACK_VERSION);\n        return ncclInternalError;\n      }\n    default:\n      WARN(\"Unknown device code index %d \\n\", type);\n      return ncclInternalError;\n  }\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclNetPluginInit(struct ncclComm* comm, netPluginLib_t* pluginLib) {\n  int ndev;\n  if (pluginLib->ncclNetPluginState >= ncclNetPluginStateInitReady && pluginLib->ncclNet) {\n    ncclNetCommConfig_t commConfig = {};\n    commConfig.trafficClass = comm->config.trafficClass == NCCL_CONFIG_UNDEF_INT ? NCCL_NET_TRAFFIC_CLASS_UNDEF : comm->config.trafficClass;\n    if (pluginLib->ncclNet->init(&comm->netContext, comm->commHash, &commConfig, ncclDebugLog, ncclProfilerCallback) != ncclSuccess) goto fail;\n    if (pluginLib->ncclNet->devices(&ndev) != ncclSuccess || ndev <= 0) goto fail;\n    pluginLib->netPhysDevs = ndev;\n    pluginLib->netVirtDevs = NCCL_UNDEF_DEV_COUNT;\n  }\n  pluginLib->ncclNetPluginState = ncclNetPluginStateEnabled;\n  INFO(NCCL_INIT|NCCL_NET, \"Initialized NET plugin %s\", pluginLib->ncclNet->name);\n\n  if (pluginLib->ncclCollNetPluginState >= ncclNetPluginStateInitReady && pluginLib->ncclCollNet) {\n    if (pluginLib->ncclCollNet->init(&comm->collNetContext, comm->commHash, ncclDebugLog) != ncclSuccess) pluginLib->ncclCollNetPluginState = ncclNetPluginStateDisabled;\n    else if (pluginLib->ncclCollNet->devices(&ndev) != ncclSuccess || ndev <= 0) pluginLib->ncclCollNetPluginState = ncclNetPluginStateDisabled;\n    else {\n      pluginLib->collNetPhysDevs = ndev;\n      pluginLib->collNetVirtDevs = NCCL_UNDEF_DEV_COUNT;\n      pluginLib->ncclCollNetPluginState = ncclNetPluginStateEnabled;\n    }\n  }\nexit:\n  return ncclSuccess;\nfail:\n  INFO(NCCL_INIT|NCCL_NET, \"Failed to initialize NET plugin %s\", pluginLib->ncclNet->name);\n  pluginLib->ncclNet->finalize(comm->netContext);\n  pluginLib->netPhysDevs = pluginLib->netVirtDevs = NCCL_UNDEF_DEV_COUNT;\n  pluginLib->collNetPhysDevs = pluginLib->collNetVirtDevs = NCCL_UNDEF_DEV_COUNT;\n  pluginLib->ncclNetPluginState = ncclNetPluginStateDisabled;\n  pluginLib->ncclCollNetPluginState = ncclNetPluginStateDisabled;\n  goto exit;\n}\n\nstatic ncclResult_t ncclNetPluginAssignToComm(struct ncclComm* comm, int pluginIndex, bool* isAssigned) {\n  const char* netName = comm->config.netName;\n  if (netName && strcasecmp(netName, netPluginLibs[pluginIndex].ncclNet->name) != 0) goto fail;\n  if (ncclSuccess != ncclNetCheckDeviceVersion(comm, netPluginLibs[pluginIndex].ncclNet, 0)) goto fail;\n\n  if (netPluginLibs[pluginIndex].ncclNetPluginState >= ncclNetPluginStateEnabled) {\n    comm->ncclNet = netPluginLibs[pluginIndex].ncclNet;\n    comm->ncclNetVer = netPluginLibs[pluginIndex].ncclNetVer;\n    comm->netPluginIndex = pluginIndex;\n    netPluginLibs[pluginIndex].ncclNetPluginRefCount++;\n    *isAssigned = true;\n    INFO(NCCL_INIT|NCCL_NET, \"Assigned NET plugin %s to comm\", netPluginLibs[pluginIndex].ncclNet->name);\n    if (netPluginLibs[pluginIndex].ncclCollNetPluginState >= ncclNetPluginStateEnabled) {\n      comm->ncclCollNet = netPluginLibs[pluginIndex].ncclCollNet;\n    }\n  }\nexit:\n  return ncclSuccess;\nfail:\n  *isAssigned = false;\n  netPluginLibs[pluginIndex].ncclNetPluginState = ncclNetPluginStateEnabled;\n  netPluginLibs[pluginIndex].ncclCollNetPluginState = ncclNetPluginStateEnabled;\n  goto exit;\n}\n\nstatic ncclResult_t ncclNetPluginDisableOtherExternal(int pluginIndex) {\n  // Only if an external plugin is enabled, disable other external plugins\n  if (pluginIndex >= (pluginCount - NCCL_NET_NUM_INTERNAL_PLUGINS)) return ncclSuccess;\n  char names[MAX_STR_LEN*(NCCL_NET_MAX_PLUGINS - NCCL_NET_NUM_INTERNAL_PLUGINS)] = { 0 };\n  for (int i = 0; i < (pluginCount - NCCL_NET_NUM_INTERNAL_PLUGINS); i++) {\n    if (i != pluginIndex) {\n      // Append all disabled plugin names to a string\n      snprintf(names+strlen(names), sizeof(names)-strlen(names), (strlen(names) == 0) ? \"%s\" : \", %s\", netPluginLibs[i].name);\n      netPluginLibs[i].ncclNetPluginState = ncclNetPluginStateDisabled;\n    }\n  }\n  if(strlen(names) > 0) {\n    INFO(NCCL_INIT|NCCL_NET, \"Disabling external plugins: %s\", names);\n  }\n  return ncclSuccess;\n}\n\nstatic void initPluginLibsOnceFunc() {\n  char* netPluginName = nullptr;\n  const char* defaultNetPlugin = \"libnccl-net.so\";\n  const char* envNetPlugin = nullptr;\n  char* envNetPluginList = nullptr;\n  char* savePtr = nullptr;\n  int pluginCounter = 0;\n\n  memset(netPluginLibs, 0, NCCL_NET_MAX_PLUGINS * sizeof(netPluginLib_t));\n  envNetPlugin = ncclGetEnv(\"NCCL_NET_PLUGIN\");\n  if (envNetPlugin) {\n    INFO(NCCL_ENV|NCCL_NET, \"NCCL_NET_PLUGIN set by environment to %s\", envNetPlugin);\n    if (strcasecmp(envNetPlugin, \"none\") == 0)\n      envNetPlugin = \"\";\n    envNetPluginList = strdup(envNetPlugin);\n    // Iterate over list until the list is empty\n    netPluginName = strtok_r(envNetPluginList, \",\", &savePtr);\n    while(netPluginName) {\n      // We have 2 internal plugins (ib and socket)\n      // So, we can have at most( NCCL_NET_MAX_PLUGINS - (NCCL_NET_NUM_INTERNAL_PLUGINS)) in the NCCL_NET_PLUGIN list\n      if (pluginCounter >= (NCCL_NET_MAX_PLUGINS - (NCCL_NET_NUM_INTERNAL_PLUGINS))) {\n        INFO(NCCL_NET|NCCL_ENV,\"NCCL_NET_PLUGIN list contains more than %d plugins, ignoring the rest\", (NCCL_NET_MAX_PLUGINS - (NCCL_NET_NUM_INTERNAL_PLUGINS + 1)));\n        break;\n      }\n      // need to leave space for the name + \"\\n\"\n      if((strlen(netPluginName)+1) <= MAX_STR_LEN) {\n        netPluginLibs[pluginCounter].ncclNetPluginState = ncclNetPluginStateLoadReady;\n        netPluginLibs[pluginCounter].ncclNetPluginRefCount = ncclParamNetPluginRefCount();\n        strcpy(netPluginLibs[pluginCounter].name, netPluginName);\n        pluginCounter++;\n      } else {\n        INFO(NCCL_NET|NCCL_ENV,\"NCCL_NET_PLUGIN list contains a plugin name %s longer than %d characters, ignoring it.\", netPluginName, MAX_STR_LEN);\n      }\n      netPluginName = strtok_r(nullptr, \",\", &savePtr);\n    }\n    if (envNetPluginList) free(envNetPluginList);\n  } else {\n    // Add default net plugin\n    netPluginLibs[pluginCounter].ncclNetPluginState = ncclNetPluginStateLoadReady;\n    netPluginLibs[pluginCounter].ncclNetPluginRefCount = ncclParamNetPluginRefCount();\n    strcpy(netPluginLibs[pluginCounter++].name, defaultNetPlugin);\n  }\n\n  // Add 2 internal ib and socket plugins\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  if ((rcclParamAinicRoce() == 1) && !(envNetPlugin)) {\n    // For AINIC add rocm internal ib instead of default internal ib\n    netPluginLibs[pluginCounter].ncclNet = &rocmNetIb;\n    netPluginLibs[pluginCounter++].ncclNetPluginState = ncclNetPluginStateInitReady;\n  } else {\n#endif\n    netPluginLibs[pluginCounter].ncclNet = &ncclNetIb;\n    netPluginLibs[pluginCounter++].ncclNetPluginState = ncclNetPluginStateInitReady;\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  }\n#endif\n  netPluginLibs[pluginCounter].ncclNet = &ncclNetSocket;\n  netPluginLibs[pluginCounter++].ncclNetPluginState = ncclNetPluginStateInitReady;\n  pluginCount = pluginCounter;\n}\n\nncclResult_t ncclNetInit(struct ncclComm* comm) {\n  bool ncclNetPluginInitialized = false;\n  std::call_once(initPluginLibsOnceFlag, initPluginLibsOnceFunc);\n  std::lock_guard<std::mutex> lock(netPluginMutex);\n  for (int pluginIndex = 0; pluginIndex < pluginCount; pluginIndex++) {\n    if ((pluginIndex < (pluginCount - NCCL_NET_NUM_INTERNAL_PLUGINS)) && (netPluginLibs[pluginIndex].ncclNetPluginState == ncclNetPluginStateLoadReady)) {\n      NCCLCHECK(ncclNetPluginLoad(&netPluginLibs[pluginIndex]));\n    }\n    if (netPluginLibs[pluginIndex].ncclNetPluginState >= ncclNetPluginStateInitReady) {\n      NCCLCHECK(ncclNetPluginInit(comm, &netPluginLibs[pluginIndex]));\n    }\n    if (netPluginLibs[pluginIndex].ncclNetPluginState == ncclNetPluginStateEnabled) {\n      bool isAssigned = false;\n      NCCLCHECK(ncclNetPluginAssignToComm(comm, pluginIndex, &isAssigned));\n      if (isAssigned) {\n        // If one external plugin is assigned to a comm, then disable all other external plugins\n        ncclNetPluginDisableOtherExternal(pluginIndex);\n        ncclNetPluginInitialized = true;\n        break;\n      }\n    }\n  }\n  if (ncclNetPluginInitialized) return ncclSuccess;\n  WARN(\"Failed to initialize any NET plugin\");\n  return ncclInvalidUsage;\n}\n\nncclResult_t ncclNetFinalize(struct ncclComm* comm) {\n  int pluginIndex = comm->netPluginIndex;\n  std::lock_guard<std::mutex> lock(netPluginMutex);\n  NCCLCHECK(comm->ncclNet->finalize(comm->netContext));\n  if (comm->collNetContext) NCCLCHECK(comm->ncclCollNet->finalize(comm->collNetContext));\n  netPluginLibs[pluginIndex].ncclNetPluginRefCount--;\n  for (int i = 0; i < (pluginCount - NCCL_NET_NUM_INTERNAL_PLUGINS); i++) {\n    NCCLCHECK(ncclNetPluginUnload(&netPluginLibs[i]));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclNetGetDevCount(int netPluginIndex, int* nPhysDevs, int* nVirtDevs) {\n  if (netPluginLibs[netPluginIndex].ncclNetPluginState != ncclNetPluginStateEnabled ||\n     netPluginLibs[netPluginIndex].netPhysDevs == NCCL_UNDEF_DEV_COUNT) goto fail;\n  // lock not needed as it's called within a lock already in ncclTopoGetSystem\n  *nPhysDevs = netPluginLibs[netPluginIndex].netPhysDevs;\n  *nVirtDevs = netPluginLibs[netPluginIndex].netVirtDevs;\n  return ncclSuccess;\nfail:\n  WARN(\"%s: trying to access the number of devices of an uninitialized netPlugin[%d]\", __func__, netPluginIndex);\n  return ncclInternalError;\n}\n\nncclResult_t ncclCollNetGetDevCount(int netPluginIndex, int* nPhysDevs, int* nVirtDevs) {\n  if (netPluginLibs[netPluginIndex].ncclCollNetPluginState != ncclNetPluginStateEnabled ||\n     netPluginLibs[netPluginIndex].collNetPhysDevs == NCCL_UNDEF_DEV_COUNT) goto fail;\n  // lock not needed as it's called within a lock already in ncclTopoGetSystem\n  *nPhysDevs = netPluginLibs[netPluginIndex].collNetPhysDevs;\n  *nVirtDevs = netPluginLibs[netPluginIndex].collNetVirtDevs;\n  return ncclSuccess;\nfail:\n  WARN(\"%s: trying to access the number of devices of an uninitialized netPlugin[%d]\", __func__, netPluginIndex);\n  return ncclInternalError;\n}\n\nncclResult_t ncclNetSetVirtDevCount(int netPluginIndex, int nVirtDevs) {\n  if (netPluginLibs[netPluginIndex].ncclNetPluginState != ncclNetPluginStateEnabled || nVirtDevs < 0) goto fail;\n  // lock not needed as it's called within a lock already in ncclTopoGetSystem\n  netPluginLibs[netPluginIndex].netVirtDevs = nVirtDevs;\n  return ncclSuccess;\nfail:\n  WARN(\"%s: failed to set the number of devices for netPlugin[%d] to %d\", __func__, netPluginIndex,nVirtDevs);\n  return ncclInternalError;\n}\n\nncclResult_t ncclCollNetSetVirtDevCount(int netPluginIndex, int nVirtDevs) {\n  if (netPluginLibs[netPluginIndex].ncclCollNetPluginState != ncclNetPluginStateEnabled || nVirtDevs < 0) goto fail;\n  // lock not needed as it's called within a lock already in ncclTopoGetSystem\n  netPluginLibs[netPluginIndex].collNetVirtDevs = nVirtDevs;\n  return ncclSuccess;\nfail:\n  WARN(\"%s: failed to set the number of devices for netPlugin[%d] to %d\", __func__, netPluginIndex,nVirtDevs);\n  return ncclInternalError;\n}\n\nncclResult_t ncclGpuGdrSupport(struct ncclComm* comm, int* gdrSupport) {\n  constexpr int GPU_BUF_SIZE = 2*1024*1024;\n#if CUDART_VERSION >= 11030\n  // In CUDA 11.3 and later we can now query the cudaDevAttrGPUDirectRDMASupported attribute\n  int driverVersion;\n  CUDACHECK(cudaDriverGetVersion(&driverVersion));\n  if (driverVersion >= 11030) {\n    int cudaDev, attr = 0;\n    CUDACHECK(cudaGetDevice(&cudaDev));\n    CUDACHECK(cudaDeviceGetAttribute(&attr, cudaDevAttrGPUDirectRDMASupported, cudaDev));\n    *gdrSupport = attr;\n    return ncclSuccess;\n  }\n#endif\n  static int gdrSupportMatrix[32] = {\n\t  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n\t  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 };\n  if (gdrSupportMatrix[comm->cudaDev] == -1) {\n    int netDevs;\n    NCCLCHECK(comm->ncclNet->devices(&netDevs));\n    gdrSupportMatrix[comm->cudaDev] = 0;\n    for (int dev=0; dev<netDevs; dev++) {\n      // Find a net device which is GDR-capable\n      ncclNetProperties_t props;\n      NCCLCHECK(comm->ncclNet->getProperties(dev, &props));\n      if ((props.ptrSupport & NCCL_PTR_CUDA) == 0) continue;\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n      gdrSupportMatrix[comm->cudaDev] = 1;\n      break;\n#endif\n\n    // Allocate memory on the GPU and try to register it on the NIC.\n    void *lComm = NULL, *sComm = NULL, *rComm = NULL;\n    ncclNetHandle_t handle;\n    char* gpuPtr = NULL;\n    void* mHandle = NULL;\n    ncclResult_t ret;\n    ncclDebugNoWarn = NCCL_NET;\n    NCCLCHECKGOTO(comm->ncclNet->listen(comm->netContext, dev, &handle, &lComm), ret, cleanup1);\n\n    bool connected;\n    connected = false;\n    while (!connected) {\n\n      // If we're aborting now, skip to cleanup\n      if (__atomic_load_n(comm->abortFlag, __ATOMIC_ACQUIRE)) {\n        goto cleanup2;\n      }\n\n      if (sComm == NULL)\n        NCCLCHECKGOTO(comm->ncclNet->connect(comm->netContext, dev, &handle, &sComm, NULL), ret, cleanup2);\n\n      if (rComm == NULL)\n        NCCLCHECKGOTO(comm->ncclNet->accept(lComm, &rComm, NULL), ret, cleanup2);\n\n      connected = (rComm != NULL) && (sComm != NULL);\n    }\n\n    NCCLCHECKGOTO(ncclCudaMalloc(&gpuPtr, GPU_BUF_SIZE), ret, cleanup2);\n    if (comm->ncclNet->regMr(sComm, gpuPtr, GPU_BUF_SIZE, NCCL_PTR_CUDA, &mHandle) == ncclSuccess) {\n      NCCLCHECK(comm->ncclNet->deregMr(sComm, mHandle));\n      NCCLCHECK(comm->ncclNet->regMr(rComm, gpuPtr, GPU_BUF_SIZE, NCCL_PTR_CUDA, &mHandle));\n      NCCLCHECK(comm->ncclNet->deregMr(rComm, mHandle));\n      gdrSupportMatrix[comm->cudaDev] = 1;\n    }\n    ncclDebugNoWarn = 0;\n    NCCLCHECK(ncclCudaFree(gpuPtr));\ncleanup2:\n    if (rComm != NULL)\n      NCCLCHECK(comm->ncclNet->closeRecv(rComm));\n    if (sComm != NULL)\n      NCCLCHECK(comm->ncclNet->closeSend(sComm));\n    NCCLCHECK(comm->ncclNet->closeListen(lComm));\ncleanup1:\n      break;\n    }\n  }\n  *gdrSupport = gdrSupportMatrix[comm->cudaDev];\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/plugin/plugin_open.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <stdlib.h>\n#include <string.h>\n#include <errno.h>\n#include <link.h>\n#include <dlfcn.h>\n\n#include \"debug.h\"\n#include \"plugin.h\"\n\n#define MAX_STR_LEN 255\n\n#define NUM_LIBS 3\nstatic char* libNames[NUM_LIBS];\nchar* ncclPluginLibPaths[NUM_LIBS];\nstatic void *libHandles[NUM_LIBS];\nstatic const char *pluginNames[NUM_LIBS] = { \"NET\", \"TUNER\", \"PROFILER\" };\nstatic const char *pluginPrefix[NUM_LIBS] = { \"librccl-net\", \"libnccl-tuner\", \"librccl-profiler\" };\nstatic const char *pluginFallback[NUM_LIBS] = { \"\", \"Using internal tuner plugin.\", \"\" };\nstatic unsigned long subsys[NUM_LIBS] = { NCCL_INIT|NCCL_NET, NCCL_INIT|NCCL_TUNING, NCCL_INIT };\n\nstatic void* tryOpenLib(char* name, int* err, char* errStr) {\n  *err = 0;\n  if (nullptr == name || strlen(name) == 0) {\n    return nullptr;\n  }\n\n  if (strncasecmp(name, \"STATIC_PLUGIN\", strlen(name)) == 0) {\n    name = nullptr;\n  }\n\n  void *handle = dlopen(name, RTLD_NOW | RTLD_LOCAL);\n  if (nullptr == handle) {\n    strncpy(errStr, dlerror(), MAX_STR_LEN);\n    errStr[MAX_STR_LEN] = '\\0';\n    // \"handle\" and \"name\" won't be NULL at the same time.\n    // coverity[var_deref_model]\n    if (strstr(errStr, name) && strstr(errStr, \"No such file or directory\")) {\n      *err = ENOENT;\n    }\n  }\n  return handle;\n}\n\nstatic void appendNameToList(char* nameList, int *leftChars, char* name) {\n  snprintf(nameList + PATH_MAX - *leftChars, *leftChars, \" %s\", name);\n  *leftChars -= strlen(name) + 1;\n}\n\nstatic char* getLibPath(void* handle) {\n  struct link_map* lm;\n  if (dlinfo(handle, RTLD_DI_LINKMAP, &lm) != 0)\n    return nullptr;\n  else\n    return strdup(lm->l_name);\n}\n\nstatic void* openPluginLib(enum ncclPluginType type, const char* libName) {\n  int openErr, len = PATH_MAX;\n  char libName_[MAX_STR_LEN] = { 0 };\n  char openErrStr[MAX_STR_LEN + 1] = { 0 };\n  char eNoEntNameList[PATH_MAX] = { 0 };\n\n  if (libName && strlen(libName)) {\n    snprintf(libName_, MAX_STR_LEN, \"%s\", libName);\n  } else {\n    snprintf(libName_, MAX_STR_LEN, \"%s.so\", pluginPrefix[type]);\n  }\n\n  libHandles[type] = tryOpenLib(libName_, &openErr, openErrStr);\n  if (libHandles[type]) {\n    libNames[type] = strdup(libName_);\n    ncclPluginLibPaths[type] = getLibPath(libHandles[type]);\n    return libHandles[type];\n  }\n  if (openErr == ENOENT) {\n    appendNameToList(eNoEntNameList, &len, libName_);\n  } else {\n    INFO(subsys[type], \"%s/Plugin: %s: %s\", pluginNames[type], libName_, openErrStr);\n  }\n\n  // libName can't be a relative or absolute path (start with '.' or contain any '/'). It can't be a library name either (start with 'lib' or end with '.so')\n  if (libName && strlen(libName) && strchr(libName, '/') == nullptr &&\n      (strncmp(libName, \"lib\", strlen(\"lib\")) || strlen(libName) < strlen(\".so\") ||\n       strncmp(libName + strlen(libName) - strlen(\".so\"), \".so\", strlen(\".so\")))) {\n    snprintf(libName_, MAX_STR_LEN, \"%s-%s.so\", pluginPrefix[type], libName);\n\n    libHandles[type] = tryOpenLib(libName_, &openErr, openErrStr);\n    if (libHandles[type]) {\n      libNames[type] = strdup(libName_);\n      ncclPluginLibPaths[type] = getLibPath(libHandles[type]);\n      return libHandles[type];\n    }\n    if (openErr == ENOENT) {\n      appendNameToList(eNoEntNameList, &len, libName_);\n    } else {\n      INFO(subsys[type], \"%s/Plugin: %s: %s\", pluginNames[type], libName_, openErrStr);\n    }\n  }\n\n  if (strlen(eNoEntNameList)) {\n    INFO(subsys[type], \"%s/Plugin: Could not find:%s%s%s\", pluginNames[type], eNoEntNameList,\n         (strlen(pluginFallback[type]) > 0 ? \". \" : \"\"), pluginFallback[type]);\n  } else if (strlen(pluginFallback[type])) {\n    INFO(subsys[type], \"%s/Plugin: %s\", pluginNames[type], pluginFallback[type]);\n  }\n  return nullptr;\n}\n\nvoid* ncclOpenNetPluginLib(const char* name) {\n  return openPluginLib(ncclPluginTypeNet, name);\n}\n\nvoid* ncclOpenTunerPluginLib(const char* name) {\n  return openPluginLib(ncclPluginTypeTuner, name);\n}\n\nvoid* ncclOpenProfilerPluginLib(const char* name) {\n  return openPluginLib(ncclPluginTypeProfiler, name);\n}\n\nvoid* ncclGetNetPluginLib(enum ncclPluginType type) {\n  if (libNames[ncclPluginTypeNet]) {\n    // increment the reference counter of the net library\n    libNames[type] = strdup(libNames[ncclPluginTypeNet]);\n    ncclPluginLibPaths[type] = strdup(ncclPluginLibPaths[ncclPluginTypeNet]);\n    libHandles[type] = dlopen(libNames[ncclPluginTypeNet], RTLD_NOW | RTLD_LOCAL);\n  }\n  return libHandles[type];\n}\n\nncclResult_t ncclClosePluginLib(void* handle, enum ncclPluginType type) {\n  if (handle && libHandles[type] == handle) {\n    dlclose(handle);\n    libHandles[type] = nullptr;\n    free(ncclPluginLibPaths[type]);\n    ncclPluginLibPaths[type] = nullptr;\n    free(libNames[type]);\n    libNames[type] = nullptr;\n  }\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/plugin/profiler/CMakeLists.txt",
    "content": "# Profiler plugin sources\nset(PLUGIN_PROFILER_SOURCES\n    ${CMAKE_CURRENT_SOURCE_DIR}/profiler_v3.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/profiler_v4.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/profiler_v1.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/profiler_v2.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/profiler_v5.cc\n)\n\n# Add profiler plugin sources to parent scope\nset(PLUGIN_PROFILER_SOURCES ${PLUGIN_PROFILER_SOURCES} PARENT_SCOPE)\n"
  },
  {
    "path": "src/plugin/profiler/profiler_v1.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"nccl_profiler.h\"\n#include \"checks.h\"\n#include <dlfcn.h>\n\nstatic ncclProfiler_t ncclProfiler;\nstatic ncclProfiler_v1_t* ncclProfiler_v1;\n\nstatic uint8_t ncclStringToFunc(const char* func) {\n  if (0 == strcmp(func, \"AllGather\")) return ncclFuncAllGather;\n  if (0 == strcmp(func, \"AllReduce\")) return ncclFuncAllReduce;\n  if (0 == strcmp(func, \"Broadcast\")) return ncclFuncBroadcast;\n  if (0 == strcmp(func, \"Recv\")) return ncclFuncRecv;\n  if (0 == strcmp(func, \"Reduce\")) return ncclFuncReduce;\n  if (0 == strcmp(func, \"ReduceScatter\")) return ncclFuncReduceScatter;\n  if (0 == strcmp(func, \"SendRecv\")) return ncclFuncSendRecv;\n  return ncclFuncSend;\n}\n\nstatic uint8_t ncclStringToAlgo(const char* algo) {\n  if (0 == strcmp(algo, \"TREE\")) return NCCL_ALGO_TREE;\n  if (0 == strcmp(algo, \"RING\")) return NCCL_ALGO_RING;\n  if (0 == strcmp(algo, \"COLLNET_DIRECT\")) return NCCL_ALGO_COLLNET_DIRECT;\n  if (0 == strcmp(algo, \"COLLNET_CHAIN\")) return NCCL_ALGO_COLLNET_CHAIN;\n  if (0 == strcmp(algo, \"NVLS\")) return NCCL_ALGO_NVLS;\n  if (0 == strcmp(algo, \"NVLS_TREE\")) return NCCL_ALGO_NVLS_TREE;\n  return NCCL_ALGO_PAT;\n}\n\nstatic uint8_t ncclStringToProto(const char* proto) {\n  if (0 == strcmp(proto, \"LL\")) return NCCL_PROTO_LL;\n  if (0 == strcmp(proto, \"LL128\")) return NCCL_PROTO_LL128;\n  return NCCL_PROTO_SIMPLE;\n}\n\nstatic uint8_t ncclStringToDatatype(const char* dt) {\n  if (0 == strcmp(dt, \"ncclInt8\")) return ncclInt8;\n  if (0 == strcmp(dt, \"ncclInt32\")) return ncclInt32;\n  if (0 == strcmp(dt, \"ncclUint32\")) return ncclUint32;\n  if (0 == strcmp(dt, \"ncclInt64\")) return ncclInt64;\n  if (0 == strcmp(dt, \"ncclUint64\")) return ncclUint64;\n  if (0 == strcmp(dt, \"ncclFloat16\")) return ncclFloat16;\n  if (0 == strcmp(dt, \"ncclFloat32\")) return ncclFloat32;\n#if defined(__CUDA_BF16_TYPES_EXIST__)\n  if (0 == strcmp(dt, \"ncclBfloat16\")) return ncclBfloat16;\n#endif\n  return ncclFloat64;\n}\n\nstatic ncclResult_t ncclProfiler_startEvent(void* context, void** eHandle, ncclProfilerEventDescr_t* eDescr) {\n  *eHandle = NULL;\n  ncclProfilerEventDescr_v1_t eDescr_v1 = { 0 };\n  eDescr_v1.type = eDescr->type;\n  eDescr_v1.parentObj = eDescr->parentObj;\n  eDescr_v1.rank = eDescr->rank;\n  switch(eDescr->type) {\n    case ncclProfileGroup: break;\n    case ncclProfileColl: {\n      eDescr_v1.coll.name = nullptr; // removed in v4\n      eDescr_v1.coll.commHash = 0; // removed in v4\n      eDescr_v1.parentObj = eDescr->coll.parentGroup; // Hierarchy changed in v5\n      eDescr_v1.coll.seqNumber = eDescr->coll.seqNumber;\n      eDescr_v1.coll.func = ncclStringToFunc(eDescr->coll.func);\n      eDescr_v1.coll.sendBuff = eDescr->coll.sendBuff;\n      eDescr_v1.coll.recvBuff = eDescr->coll.recvBuff;\n      eDescr_v1.coll.count = eDescr->coll.count;\n      eDescr_v1.coll.root = eDescr->coll.root;\n      eDescr_v1.coll.datatype = ncclStringToDatatype(eDescr->coll.datatype);\n      eDescr_v1.coll.op = 0; // removed in v2\n      eDescr_v1.coll.trafficBytes = 0; // removed in v3\n      eDescr_v1.coll.nMaxChannels = eDescr->coll.nChannels;\n      eDescr_v1.coll.nWarps = eDescr->coll.nWarps;\n      eDescr_v1.coll.algo = ncclStringToAlgo(eDescr->coll.algo);\n      eDescr_v1.coll.proto = ncclStringToProto(eDescr->coll.proto);\n    } break;\n    case ncclProfileP2p: {\n      eDescr_v1.p2p.name = nullptr; // removed in v4\n      eDescr_v1.p2p.commHash = 0; // removed in v4\n      eDescr_v1.parentObj = eDescr->p2p.parentGroup; // Hierarchy changed in v5\n      eDescr_v1.p2p.func = ncclStringToFunc(eDescr->p2p.func);\n      eDescr_v1.p2p.buff = eDescr->p2p.buff;\n      eDescr_v1.p2p.count = eDescr->p2p.count;\n      eDescr_v1.p2p.datatype = ncclStringToDatatype(eDescr->p2p.datatype);\n      eDescr_v1.p2p.peer = eDescr->p2p.peer;\n    } break;\n    case ncclProfileProxyOp: {\n      eDescr_v1.proxyOp.pid = eDescr->proxyOp.pid;\n      eDescr_v1.proxyOp.channelId = eDescr->proxyOp.channelId;\n      eDescr_v1.proxyOp.peer = eDescr->proxyOp.peer;\n      eDescr_v1.proxyOp.nSteps = eDescr->proxyOp.nSteps;\n      eDescr_v1.proxyOp.chunkSize = eDescr->proxyOp.chunkSize;\n      eDescr_v1.proxyOp.isSend = eDescr->proxyOp.isSend;\n    } break;\n    case ncclProfileProxyStep: {\n      eDescr_v1.proxyStep.step = eDescr->proxyStep.step;\n    } break;\n    case ncclProfileProxyCtrl: break;\n    default: return ncclSuccess;\n  }\n  return ncclProfiler_v1->startEvent(context, eHandle, &eDescr_v1);\n}\n\nstatic ncclResult_t ncclProfiler_recordEventState(void* eHandle, ncclProfilerEventState_t eState, ncclProfilerEventStateArgs_t* eStateArgs) {\n  ncclProfilerEventStateArgs_v1_t args = { };\n  switch (eState) {\n    case ncclProfilerProxyCtrlIdle:\n    case ncclProfilerProxyCtrlActive:\n    case ncclProfilerProxyCtrlSleep:\n    case ncclProfilerProxyCtrlWakeup:\n    case ncclProfilerProxyCtrlAppend:\n    case ncclProfilerProxyCtrlAppendEnd:\n      args.proxyCtrl.appendedProxyOps = eStateArgs->proxyCtrl.appendedProxyOps;\n      break;\n    case ncclProfilerProxyStepSendGPUWait:\n    case ncclProfilerProxyStepSendWait:\n    case ncclProfilerProxyStepRecvWait:\n    case ncclProfilerProxyStepRecvFlushWait:\n    case ncclProfilerProxyStepRecvGPUWait:\n      break;\n    default: return ncclSuccess;\n  }\n  return ncclProfiler_v1->recordEventState(eHandle, eState, &args);\n}\n\nstatic ncclResult_t ncclProfiler_init(void** context,\n    uint64_t commId __attribute__((unused)),\n    int* eActivationMask __attribute__((unused)),\n    const char* commName __attribute__((unused)),\n    int nNodes __attribute__((unused)),\n    int nranks __attribute__((unused)),\n    int rank __attribute__((unused)),\n    ncclDebugLogger_t logfn __attribute__((unused))\n  ) {\n  NCCLCHECK(ncclProfiler_v1->init(context, eActivationMask));\n  ncclProfiler.startEvent = ncclProfiler_startEvent;\n  ncclProfiler.stopEvent = ncclProfiler_v1->stopEvent;\n  ncclProfiler.recordEventState = ncclProfiler_recordEventState;\n  ncclProfiler.finalize = ncclProfiler_v1->finalize;\n  return ncclSuccess;\n}\n\nncclProfiler_t* getNcclProfiler_v1(void* lib) {\n  ncclProfiler_v1 = (ncclProfiler_v1_t*)dlsym(lib, \"ncclProfiler_v1\");\n  if (ncclProfiler_v1) {\n    ncclProfiler.name = ncclProfiler_v1->name;\n    ncclProfiler.init = ncclProfiler_init;\n    INFO(NCCL_INIT, \"PROFILER/Plugin: Loaded %s (v1)\", ncclProfiler_v1->name);\n    return &ncclProfiler;\n  }\n  return NULL;\n}\n"
  },
  {
    "path": "src/plugin/profiler/profiler_v2.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"nccl_profiler.h\"\n#include \"checks.h\"\n#include <dlfcn.h>\n\nstatic ncclProfiler_t ncclProfiler;\nstatic ncclProfiler_v2_t* ncclProfiler_v2;\n\nstatic ncclResult_t ncclProfiler_startEvent(void* context, void** eHandle, ncclProfilerEventDescr_t* eDescr) {\n  *eHandle = nullptr;\n  ncclProfilerEventDescr_v2_t eDescr_v2 = { };\n  eDescr_v2.type = eDescr->type;\n  eDescr_v2.parentObj = eDescr->parentObj;\n  eDescr_v2.rank = eDescr->rank;\n  switch(eDescr->type) {\n    case ncclProfileGroup: break;\n    case ncclProfileColl: {\n      eDescr_v2.parentObj = eDescr->coll.parentGroup; // Hierarchy changed in v5\n      eDescr_v2.coll.name = nullptr; // removed in v4\n      eDescr_v2.coll.commHash = 0; // removed in v4\n      eDescr_v2.coll.seqNumber = eDescr->coll.seqNumber;\n      eDescr_v2.coll.func = eDescr->coll.func;\n      eDescr_v2.coll.sendBuff = eDescr->coll.sendBuff;\n      eDescr_v2.coll.recvBuff = eDescr->coll.recvBuff;\n      eDescr_v2.coll.count = eDescr->coll.count;\n      eDescr_v2.coll.root = eDescr->coll.root;\n      eDescr_v2.coll.datatype = eDescr->coll.datatype;\n      eDescr_v2.coll.trafficBytes = 0; // removed in v3\n      eDescr_v2.coll.nMaxChannels = eDescr->coll.nChannels;\n      eDescr_v2.coll.nWarps = eDescr->coll.nWarps;\n      eDescr_v2.coll.algo = eDescr->coll.algo;\n      eDescr_v2.coll.proto = eDescr->coll.proto;\n    } break;\n    case ncclProfileP2p: {\n      eDescr_v2.p2p.name = nullptr; // removed in v4\n      eDescr_v2.p2p.commHash = 0; // removed in v4\n      eDescr_v2.parentObj = eDescr->p2p.parentGroup; // Hierarchy changed in v5\n      eDescr_v2.p2p.func = eDescr->p2p.func;\n      eDescr_v2.p2p.buff = eDescr->p2p.buff;\n      eDescr_v2.p2p.count = eDescr->p2p.count;\n      eDescr_v2.p2p.datatype = eDescr->p2p.datatype;\n      eDescr_v2.p2p.peer = eDescr->p2p.peer;\n    } break;\n    case ncclProfileProxyOp: {\n      eDescr_v2.proxyOp.pid = eDescr->proxyOp.pid;\n      eDescr_v2.proxyOp.channelId = eDescr->proxyOp.channelId;\n      eDescr_v2.proxyOp.peer = eDescr->proxyOp.peer;\n      eDescr_v2.proxyOp.nSteps = eDescr->proxyOp.nSteps;\n      eDescr_v2.proxyOp.chunkSize = eDescr->proxyOp.chunkSize;\n      eDescr_v2.proxyOp.isSend = eDescr->proxyOp.isSend;\n    } break;\n    case ncclProfileProxyStep: {\n      eDescr_v2.proxyStep.step = eDescr->proxyStep.step;\n    } break;\n    case ncclProfileProxyCtrl: break;\n    default: return ncclSuccess;\n  }\n  return ncclProfiler_v2->startEvent(context, eHandle, &eDescr_v2);\n}\n\nstatic ncclResult_t ncclProfiler_recordEventState(void* eHandle, ncclProfilerEventState_t eState, ncclProfilerEventStateArgs_t* eStateArgs) {\n  ncclProfilerEventStateArgs_v2_t args = { };\n  switch (eState) {\n    case ncclProfilerProxyCtrlIdle:\n    case ncclProfilerProxyCtrlActive:\n    case ncclProfilerProxyCtrlSleep:\n    case ncclProfilerProxyCtrlWakeup:\n    case ncclProfilerProxyCtrlAppend:\n    case ncclProfilerProxyCtrlAppendEnd:\n      args.proxyCtrl.appendedProxyOps = eStateArgs->proxyCtrl.appendedProxyOps;\n      break;\n    case ncclProfilerProxyStepSendGPUWait:\n    case ncclProfilerProxyStepSendWait:\n    case ncclProfilerProxyStepRecvWait:\n    case ncclProfilerProxyStepRecvFlushWait:\n    case ncclProfilerProxyStepRecvGPUWait:\n      break;\n    default: return ncclSuccess;\n  }\n  return ncclProfiler_v2->recordEventState(eHandle, eState, &args);\n}\n\nstatic ncclResult_t ncclProfiler_init(void** context,\n    uint64_t commId __attribute__((unused)),\n    int* eActivationMask __attribute__((unused)),\n    const char* commName __attribute__((unused)),\n    int nNodes __attribute__((unused)),\n    int nranks __attribute__((unused)),\n    int rank __attribute__((unused)),\n    ncclDebugLogger_t logfn __attribute__((unused))\n  ) {\n  NCCLCHECK(ncclProfiler_v2->init(context, eActivationMask));\n  ncclProfiler.startEvent = ncclProfiler_startEvent;\n  ncclProfiler.stopEvent = ncclProfiler_v2->stopEvent;\n  ncclProfiler.recordEventState = ncclProfiler_recordEventState;\n  ncclProfiler.finalize = ncclProfiler_v2->finalize;\n  return ncclSuccess;\n}\n\nncclProfiler_t* getNcclProfiler_v2(void* lib) {\n  ncclProfiler_v2 = (ncclProfiler_v2_t*)dlsym(lib, \"ncclProfiler_v2\");\n  if (ncclProfiler_v2) {\n    ncclProfiler.name = ncclProfiler_v2->name;\n    ncclProfiler.init = ncclProfiler_init;\n    INFO(NCCL_INIT, \"PROFILER/Plugin: Loaded %s (v2)\", ncclProfiler_v2->name);\n    return &ncclProfiler;\n  }\n  return NULL;\n}\n"
  },
  {
    "path": "src/plugin/profiler/profiler_v3.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"nccl_profiler.h\"\n#include \"checks.h\"\n#include <dlfcn.h>\n\nstatic ncclProfiler_t ncclProfiler;\nstatic ncclProfiler_v3_t* ncclProfiler_v3;\n\nstatic ncclResult_t ncclProfiler_startEvent(void* context, void** eHandle, ncclProfilerEventDescr_t* eDescr) {\n  *eHandle = nullptr;\n  ncclProfilerEventDescr_v3_t eDescr_v3 = { };\n  eDescr_v3.type = eDescr->type;\n  eDescr_v3.parentObj = eDescr->parentObj;\n  eDescr_v3.rank = eDescr->rank;\n  switch(eDescr->type) {\n    case ncclProfileGroup: break;\n    case ncclProfileColl: {\n      eDescr_v3.coll.name = nullptr; // removed in v4\n      eDescr_v3.coll.commHash = 0; // removed in v4\n      eDescr_v3.parentObj = eDescr->coll.parentGroup; // Hierarchy changed in v5\n      eDescr_v3.coll.seqNumber = eDescr->coll.seqNumber;\n      eDescr_v3.coll.func = eDescr->coll.func;\n      eDescr_v3.coll.sendBuff = eDescr->coll.sendBuff;\n      eDescr_v3.coll.recvBuff = eDescr->coll.recvBuff;\n      eDescr_v3.coll.count = eDescr->coll.count;\n      eDescr_v3.coll.root = eDescr->coll.root;\n      eDescr_v3.coll.datatype = eDescr->coll.datatype;\n      eDescr_v3.coll.nMaxChannels = eDescr->coll.nChannels;\n      eDescr_v3.coll.nWarps = eDescr->coll.nWarps;\n      eDescr_v3.coll.algo = eDescr->coll.algo;\n      eDescr_v3.coll.proto = eDescr->coll.proto;\n    } break;\n    case ncclProfileP2p: {\n      eDescr_v3.p2p.name = nullptr; // removed in v4\n      eDescr_v3.p2p.commHash = 0; // removed in v4\n      eDescr_v3.parentObj = eDescr->p2p.parentGroup; // Hierarchy changed in v5\n      eDescr_v3.p2p.func = eDescr->p2p.func;\n      eDescr_v3.p2p.buff = eDescr->p2p.buff;\n      eDescr_v3.p2p.count = eDescr->p2p.count;\n      eDescr_v3.p2p.datatype = eDescr->p2p.datatype;\n      eDescr_v3.p2p.peer = eDescr->p2p.peer;\n    } break;\n    case ncclProfileProxyOp: {\n      eDescr_v3.proxyOp.pid = eDescr->proxyOp.pid;\n      eDescr_v3.proxyOp.channelId = eDescr->proxyOp.channelId;\n      eDescr_v3.proxyOp.peer = eDescr->proxyOp.peer;\n      eDescr_v3.proxyOp.nSteps = eDescr->proxyOp.nSteps;\n      eDescr_v3.proxyOp.chunkSize = eDescr->proxyOp.chunkSize;\n      eDescr_v3.proxyOp.isSend = eDescr->proxyOp.isSend;\n    } break;\n    case ncclProfileProxyStep: {\n      eDescr_v3.proxyStep.step = eDescr->proxyStep.step;\n    } break;\n    case ncclProfileProxyCtrl: break;\n    case ncclProfileKernelCh: {\n      eDescr_v3.kernelCh.channelId = eDescr->kernelCh.channelId;\n    } break;\n    case ncclProfileNetPlugin: {\n      eDescr_v3.netPlugin.id = eDescr->netPlugin.id;\n      eDescr_v3.netPlugin.data = eDescr->netPlugin.data;\n    } break;\n    default: return ncclSuccess;\n  }\n  return ncclProfiler_v3->startEvent(context, eHandle, &eDescr_v3);\n}\n\nstatic ncclResult_t ncclProfiler_recordEventState(void* eHandle, ncclProfilerEventState_t eState, ncclProfilerEventStateArgs_t* eStateArgs) {\n  ncclProfilerEventStateArgs_v3_t args = { };\n  switch (eState) {\n    case ncclProfilerProxyCtrlIdle:\n    case ncclProfilerProxyCtrlActive:\n    case ncclProfilerProxyCtrlSleep:\n    case ncclProfilerProxyCtrlWakeup:\n    case ncclProfilerProxyCtrlAppend:\n    case ncclProfilerProxyCtrlAppendEnd:\n      args.proxyCtrl.appendedProxyOps = eStateArgs->proxyCtrl.appendedProxyOps;\n      break;\n    case ncclProfilerProxyStepSendGPUWait:\n    case ncclProfilerProxyStepSendWait:\n    case ncclProfilerProxyStepRecvWait:\n    case ncclProfilerProxyStepRecvFlushWait:\n    case ncclProfilerProxyStepRecvGPUWait:\n      break;\n    default: return ncclSuccess;\n  }\n  return ncclProfiler_v3->recordEventState(eHandle, eState, &args);\n}\n\nstatic ncclResult_t ncclProfiler_init(void** context,\n    uint64_t commId __attribute__((unused)),\n    int* eActivationMask __attribute__((unused)),\n    const char* commName __attribute__((unused)),\n    int nNodes __attribute__((unused)),\n    int nranks __attribute__((unused)),\n    int rank __attribute__((unused)),\n    ncclDebugLogger_t logfn __attribute__((unused))\n  ) {\n  NCCLCHECK(ncclProfiler_v3->init(context, eActivationMask));\n  ncclProfiler.startEvent = ncclProfiler_startEvent;\n  ncclProfiler.stopEvent = ncclProfiler_v3->stopEvent;\n  ncclProfiler.recordEventState = ncclProfiler_recordEventState;\n  ncclProfiler.finalize = ncclProfiler_v3->finalize;\n  return ncclSuccess;\n}\n\nncclProfiler_t* getNcclProfiler_v3(void* lib) {\n  ncclProfiler_v3 = (ncclProfiler_v3_t*)dlsym(lib, \"ncclProfiler_v3\");\n  if (ncclProfiler_v3) {\n    ncclProfiler.name = ncclProfiler_v3->name;\n    ncclProfiler.init = ncclProfiler_init;\n    INFO(NCCL_INIT, \"PROFILER/Plugin: Loaded %s (v3)\", ncclProfiler_v3->name);\n    return &ncclProfiler;\n  }\n  return NULL;\n}\n"
  },
  {
    "path": "src/plugin/profiler/profiler_v4.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"nccl_profiler.h\"\n#include \"checks.h\"\n#include <dlfcn.h>\n\nstatic ncclProfiler_v4_t* ncclProfiler_v4;\nstatic ncclProfiler_t ncclProfiler;\n\nstatic ncclResult_t ncclProfiler_startEvent(void* ctx, void** eHandle, ncclProfilerEventDescr_t* eDescr) {\n  ncclProfilerEventDescr_v4_t eDescr_v4;\n  eDescr_v4.type = eDescr->type;\n  eDescr_v4.parentObj = eDescr->parentObj;\n  eDescr_v4.rank = eDescr->rank;\n  switch(eDescr->type) {\n    case ncclProfileGroup: break;\n    case ncclProfileColl: {\n      eDescr_v4.coll.seqNumber = eDescr->coll.seqNumber;\n      eDescr_v4.coll.func = eDescr->coll.func;\n      eDescr_v4.coll.sendBuff = eDescr->coll.sendBuff;\n      eDescr_v4.coll.recvBuff = eDescr->coll.recvBuff;\n      eDescr_v4.coll.count = eDescr->coll.count;\n      eDescr_v4.coll.root = eDescr->coll.root;\n      eDescr_v4.coll.datatype = eDescr->coll.datatype;\n      eDescr_v4.coll.nChannels = eDescr->coll.nChannels;\n      eDescr_v4.coll.nWarps = eDescr->coll.nWarps;\n      eDescr_v4.coll.algo = eDescr->coll.algo;\n      eDescr_v4.coll.proto = eDescr->coll.proto;\n      eDescr_v4.parentObj = eDescr->coll.parentGroup;\n    } break;\n    case ncclProfileP2p: {\n      eDescr_v4.p2p.func = eDescr->p2p.func;\n      eDescr_v4.p2p.buff = eDescr->p2p.buff;\n      eDescr_v4.p2p.count = eDescr->p2p.count;\n      eDescr_v4.p2p.datatype = eDescr->p2p.datatype;\n      eDescr_v4.p2p.peer = eDescr->p2p.peer;\n      eDescr_v4.parentObj = eDescr->p2p.parentGroup;\n    } break;\n    case ncclProfileProxyOp: {\n      eDescr_v4.proxyOp.pid = eDescr->proxyOp.pid;\n      eDescr_v4.proxyOp.channelId = eDescr->proxyOp.channelId;\n      eDescr_v4.proxyOp.peer = eDescr->proxyOp.peer;\n      eDescr_v4.proxyOp.nSteps = eDescr->proxyOp.nSteps;\n      eDescr_v4.proxyOp.chunkSize = eDescr->proxyOp.chunkSize;\n      eDescr_v4.proxyOp.isSend = eDescr->proxyOp.isSend;\n    } break;\n    case ncclProfileProxyStep: {\n      eDescr_v4.proxyStep.step = eDescr->proxyStep.step;\n    } break;\n    case ncclProfileProxyCtrl: break;\n    case ncclProfileKernelCh: {\n      eDescr_v4.kernelCh.channelId = eDescr->kernelCh.channelId;\n      eDescr_v4.kernelCh.pTimer = eDescr->kernelCh.pTimer;\n    } break;\n    case ncclProfileNetPlugin: {\n      eDescr_v4.netPlugin.id = eDescr->netPlugin.id;\n      eDescr_v4.netPlugin.data = eDescr->netPlugin.data;\n    } break;\n    default: return ncclSuccess;\n  }\n  return ncclProfiler_v4->startEvent(ctx, eHandle, &eDescr_v4);\n}\n\nstatic ncclResult_t ncclProfiler_recordEventState(void* eHandle, ncclProfilerEventState_t eState, ncclProfilerEventStateArgs_t* eStateArgs) {\n  ncclProfilerEventStateArgs_v4_t eStateArgs_v4;\n  switch(eState) {\n    case ncclProfilerProxyOpInProgress_v4:\n      break;\n    case ncclProfilerProxyStepSendGPUWait:\n    case ncclProfilerProxyStepSendPeerWait_v4:\n    case ncclProfilerProxyStepSendWait:\n    case ncclProfilerProxyStepRecvWait:\n    case ncclProfilerProxyStepRecvFlushWait:\n    case ncclProfilerProxyStepRecvGPUWait:\n      eStateArgs_v4.proxyStep.transSize = eStateArgs->proxyStep.transSize;\n      break;\n    case ncclProfilerNetPluginUpdate:\n      eStateArgs_v4.netPlugin.data = eStateArgs->netPlugin.data;\n      break;\n    case ncclProfilerKernelChStop:\n      eStateArgs_v4.kernelCh.pTimer = eStateArgs->kernelCh.pTimer;\n      break;\n    case ncclProfilerProxyCtrlIdle:\n    case ncclProfilerProxyCtrlActive:\n    case ncclProfilerProxyCtrlSleep:\n    case ncclProfilerProxyCtrlWakeup:\n    case ncclProfilerProxyCtrlAppend:\n    case ncclProfilerProxyCtrlAppendEnd:\n      eStateArgs_v4.proxyCtrl.appendedProxyOps = eStateArgs->proxyCtrl.appendedProxyOps;\n      break;\n    default: return ncclSuccess;\n  }\n  return ncclProfiler_v4->recordEventState(eHandle, (ncclProfilerEventState_v4_t)eState, &eStateArgs_v4);\n}\n\nstatic ncclResult_t ncclProfiler_init(void** ctx, uint64_t commId, int* eActivationMask, const char* commName, int nNodes, int nRanks, int rank, ncclDebugLogger_t logfn) {\n  NCCLCHECK(ncclProfiler_v4->init(ctx, eActivationMask, commName, commId, nNodes, nRanks, rank, logfn));\n  ncclProfiler.startEvent = ncclProfiler_startEvent;\n  ncclProfiler.recordEventState = ncclProfiler_recordEventState;\n  ncclProfiler.stopEvent = ncclProfiler_v4->stopEvent;\n  ncclProfiler.finalize = ncclProfiler_v4->finalize;\n  return ncclSuccess;\n}\n\nncclProfiler_t* getNcclProfiler_v4(void* lib) {\n  ncclProfiler_v4 = (ncclProfiler_v4_t*)dlsym(lib, \"ncclProfiler_v4\");\n  if (ncclProfiler_v4) {\n    ncclProfiler.name = ncclProfiler_v4->name;\n    ncclProfiler.init = ncclProfiler_init;\n    INFO(NCCL_INIT, \"PROFILER/Plugin: Loaded %s (v4)\", ncclProfiler_v4->name);\n    return &ncclProfiler;\n  }\n  return NULL;\n}\n"
  },
  {
    "path": "src/plugin/profiler/profiler_v5.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"nccl_profiler.h\"\n#include \"checks.h\"\n#include <dlfcn.h>\n\nstatic ncclProfiler_v5_t* ncclProfiler_v5;\n\nncclProfiler_t* getNcclProfiler_v5(void* lib) {\n  ncclProfiler_v5 = (ncclProfiler_v5_t*)dlsym(lib, \"ncclProfiler_v5\");\n  if (ncclProfiler_v5) {\n    INFO(NCCL_INIT, \"PROFILER/Plugin: Loaded %s (v5)\", ncclProfiler_v5->name);\n    return ncclProfiler_v5;\n  }\n  return NULL;\n}\n"
  },
  {
    "path": "src/plugin/profiler.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"param.h\"\n#include \"checks.h\"\n#include \"comm.h\"\n#include \"enqueue.h\"\n#include \"utils.h\"\n#include \"proxy.h\"\n#include \"profiler.h\"\n#include \"transport.h\"\n#include \"plugin.h\"\n#include <mutex>\n\n#include <dlfcn.h>\n\nextern ncclProfiler_t* getNcclProfiler_v1(void* lib);\nextern ncclProfiler_t* getNcclProfiler_v2(void* lib);\nextern ncclProfiler_t* getNcclProfiler_v3(void* lib);\nextern ncclProfiler_t* getNcclProfiler_v4(void* lib);\nextern ncclProfiler_t* getNcclProfiler_v5(void* lib);\n\nstatic std::mutex profilerMutex;\nstatic int profilerPluginRefCount;\nstatic void* profilerPluginLib;\nstatic ncclProfiler_t* ncclProfiler;\n\nextern __thread int ncclGroupDepth;\n__thread ncclProfilerApiState_t ncclProfilerApiState;\n\n#define MAX_STR_LEN 256\n\nenum {\n  profilerPluginLoadFailed = -1,\n  profilerPluginLoadReady = 0,\n  profilerPluginLoadSuccess = 1,\n};\nstatic int profilerPluginStatus = profilerPluginLoadReady;\nstatic pid_t pid;\n\nstatic ncclResult_t ncclProfilerPluginLoad(void) {\n  const char* profilerName;\n  if (profilerPluginLoadFailed == profilerPluginStatus) {\n    return ncclSuccess;\n  }\n\n  std::lock_guard<std::mutex> lock(profilerMutex);\n  if (profilerPluginLoadSuccess == profilerPluginStatus) {\n    ++profilerPluginRefCount;\n    goto exit;\n  }\n\n  if ((profilerName = ncclGetEnv(\"NCCL_PROFILER_PLUGIN\")) != nullptr) {\n    INFO(NCCL_ENV, \"NCCL_PROFILER_PLUGIN set by environment to %s\", profilerName);\n    if (strcasecmp(profilerName, \"none\") == 0)\n      goto fail;\n  }\n  profilerPluginLib = ncclOpenProfilerPluginLib(profilerName);\n  if (profilerPluginLib == nullptr) {\n    profilerPluginLib = ncclGetNetPluginLib(ncclPluginTypeProfiler);\n    if (nullptr == profilerPluginLib) {\n      goto fail;\n    }\n    profilerName = nullptr;\n  } else if (ncclPluginLibPaths[ncclPluginTypeProfiler]) {\n    profilerName = ncclPluginLibPaths[ncclPluginTypeProfiler];\n  }\n\n  ncclProfiler = getNcclProfiler_v5(profilerPluginLib);\n  if (ncclProfiler == nullptr) {\n    ncclProfiler = getNcclProfiler_v4(profilerPluginLib);\n  }\n  if (ncclProfiler == nullptr) {\n    ncclProfiler = getNcclProfiler_v3(profilerPluginLib);\n  }\n  if (ncclProfiler == nullptr) {\n    ncclProfiler = getNcclProfiler_v2(profilerPluginLib);\n  }\n  if (ncclProfiler == NULL) {\n    ncclProfiler = getNcclProfiler_v1(profilerPluginLib);\n  }\n  if (ncclProfiler == NULL) {\n    if (profilerName) INFO(NCCL_INIT, \"External profiler plugin %s is unsupported\", profilerName);\n    goto fail;\n  }\n  if (profilerName) INFO(NCCL_INIT, \"Successfully loaded external profiler plugin %s\", profilerName);\n\n  ++profilerPluginRefCount;\n  profilerPluginStatus = profilerPluginLoadSuccess;\n\n  // Store the pid of the process loading the profiler.\n  // This is attached to the proxyOp event descriptor\n  // so the plugin can figure out if the parent event\n  // is in the same address space or not\n  pid = getpid();\n\nexit:\n  return ncclSuccess;\nfail:\n  if (profilerPluginLib) NCCLCHECK(ncclClosePluginLib(profilerPluginLib, ncclPluginTypeProfiler));\n  profilerPluginLib = nullptr;\n  profilerPluginStatus = profilerPluginLoadFailed;\n  goto exit;\n}\n\nstatic ncclResult_t ncclProfilerPluginUnload(void) {\n  std::lock_guard<std::mutex> lock(profilerMutex);\n  if (0 == (--profilerPluginRefCount)) {\n    if (__builtin_expect(ncclProfiler != NULL, 0)) {\n      INFO(NCCL_INIT, \"PROFILER/Plugin: Closing profiler plugin %s\", ncclProfiler->name);\n    }\n    NCCLCHECK(ncclClosePluginLib(profilerPluginLib, ncclPluginTypeProfiler));\n    profilerPluginLib = nullptr;\n    ncclProfiler = nullptr;\n    profilerPluginStatus = profilerPluginLoadReady;\n  }\n  return ncclSuccess;\n}\n\n#define ENABLE_TIMER 0\n#include \"timer.h\"\n\n#if ENABLE_TIMER\n// These counters are used to measure profiler overheads for different part of the code\n// These counters are only useful/meaningful in controlled test environments where there\n// is only one thread updating each set of counters, i.e., every communicator has its\n// own proxy thread and the network uses only one thread to make progress (this is true\n// for net_ib plugin but might not be true for net_socket plugin).\nstatic int64_t elapsedCount;\nstatic int64_t initCount, finalizeCount;\nstatic int64_t groupStartCount, groupStopCount;\nstatic int64_t taskStartCount, taskStopCount;\nstatic int64_t proxyOpStartCount, proxyOpStopCount;\nstatic int64_t proxyStepStartCount, proxyStepStopCount;\nstatic int64_t proxyCtrlStartCount, proxyCtrlStopCount;\nstatic int64_t proxyOpRecordCount, proxyStepRecordCount, proxyCtrlRecordCount;\n\nstatic double elapsedTs[2];\nstatic double initTs[2], finalizeTs[2];\nstatic double groupStartTs[2], groupStopTs[2];\nstatic double taskStartTs[2], taskStopTs[2];\nstatic double proxyOpStartTs[2], proxyOpStopTs[2];\nstatic double proxyStepStartTs[2], proxyStepStopTs[2];\nstatic double proxyCtrlStartTs[2], proxyCtrlStopTs[2];\nstatic double proxyOpRecordTs[2], proxyStepRecordTs[2], proxyCtrlRecordTs[2];\n\n#define TIME_START_EVENT(event) do { \\\n  (event ## Count)++; \\\n  (event ## Ts)[0] = gettime(); \\\n} while(0)\n\n#define TIME_STOP_EVENT(event) do { \\\n  double val = gettime() - (event ## Ts)[0]; \\\n  (event ## Ts)[1] += val; \\\n} while(0)\n\n#define TIME_PRINT_EVENTS(name) do { \\\n  printf(\"%s \", name); \\\n  if (elapsedCount)         printf(\"[elapsed] %g/%ld = %g \", elapsedTs[1], elapsedCount, elapsedTs[1]/elapsedCount); \\\n  if (initCount)            printf(\"[init] %g/%ld = %g \", initTs[1], initCount, initTs[1]/initCount); \\\n  if (finalizeCount)        printf(\"[finalize] %g/%ld = %g \", finalizeTs[1], finalizeCount, finalizeTs[1]/finalizeCount); \\\n  if (groupStartCount)      printf(\"[groupStart] %g/%ld = %g \", groupStartTs[1], groupStartCount, groupStartTs[1]/groupStartCount); \\\n  if (groupStopCount)       printf(\"[groupStop] %g/%ld = %g \", groupStopTs[1], groupStopCount, groupStopTs[1]/groupStopCount); \\\n  if (taskStartCount)       printf(\"[taskStart] %g/%ld = %g \", taskStartTs[1], taskStartCount, taskStartTs[1]/taskStartCount); \\\n  if (taskStopCount)        printf(\"[taskStop] %g/%ld = %g \", taskStopTs[1], taskStopCount, taskStopTs[1]/taskStopCount); \\\n  if (proxyOpStartCount)    printf(\"[proxyOpStart] %g/%ld = %g \", proxyOpStartTs[1], proxyOpStartCount, proxyOpStartTs[1]/proxyOpStartCount); \\\n  if (proxyOpStopCount)     printf(\"[proxyOpStop] %g/%ld = %g \", proxyOpStopTs[1], proxyOpStopCount, proxyOpStopTs[1]/proxyOpStopCount); \\\n  if (proxyStepStartCount)  printf(\"[proxyStepStart] %g/%ld = %g \", proxyStepStartTs[1], proxyStepStartCount, proxyStepStartTs[1]/proxyStepStartCount); \\\n  if (proxyStepStopCount)   printf(\"[proxyStepStop] %g/%ld = %g \", proxyStepStopTs[1], proxyStepStopCount, proxyStepStopTs[1]/proxyStepStopCount); \\\n  if (proxyCtrlStartCount)  printf(\"[proxyCtrlStart] %g/%ld = %g \", proxyCtrlStartTs[1], proxyCtrlStartCount, proxyCtrlStartTs[1]/proxyCtrlStartCount); \\\n  if (proxyCtrlStopCount)   printf(\"[proxyCtrlStop] %g/%ld = %g \", proxyCtrlStopTs[1], proxyCtrlStopCount, proxyCtrlStopTs[1]/proxyCtrlStopCount); \\\n  if (proxyOpRecordCount)   printf(\"[proxyOpRecord] %g/%ld = %g \", proxyOpRecordTs[1], proxyOpRecordCount, proxyOpRecordTs[1]/proxyOpRecordCount); \\\n  if (proxyStepRecordCount) printf(\"[proxyStepRecord] %g/%ld = %g \", proxyStepRecordTs[1], proxyStepRecordCount, proxyStepRecordTs[1]/proxyStepRecordCount); \\\n  if (proxyCtrlRecordCount) printf(\"[proxyCtrlRecord] %g/%ld = %g\", proxyCtrlRecordTs[1], proxyCtrlRecordCount, proxyCtrlRecordTs[1]/proxyCtrlRecordCount); \\\n  printf(\"\\n\"); \\\n} while(0)\n#else\n#define TIME_START_EVENT(event) do {} while(0)\n#define TIME_STOP_EVENT(event)  do {} while(0)\n#define TIME_PRINT_EVENTS(name) do {} while(0)\n#endif\n\n\nint ncclProfilerEventMask;       // Set by profiler\n\nncclResult_t ncclProfilerPluginInit(struct ncclComm* comm) {\n  TIME_START_EVENT(elapsed);\n  TIME_START_EVENT(init);\n  ncclProfilerPluginLoad();\n  if (__builtin_expect(ncclProfiler != NULL, 0)) {\n    int err = ncclProfiler->init(&comm->profilerContext, comm->commHash, &ncclProfilerEventMask, comm->config.commName, comm->nNodes, comm->nRanks, comm->rank, ncclDebugLog);\n    if (err) {\n      INFO(NCCL_INIT, \"Profiler init failed with error '%d': %s. Continue without profiler.\", err, strerror(errno));\n    }\n  }\n  TIME_STOP_EVENT(init);\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerPluginFinalize(struct ncclComm* comm) {\n  TIME_START_EVENT(finalize);\n  if (__builtin_expect(ncclProfiler != NULL, 0) && comm->profilerContext) {\n    ncclProfiler->finalize(comm->profilerContext);\n  }\n  ncclProfilerPluginUnload();\n  TIME_STOP_EVENT(finalize);\n  TIME_STOP_EVENT(elapsed);\n  TIME_PRINT_EVENTS(\"Profiler\");\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStartGroupApiEvent(struct ncclInfo* info, bool isGraphCaptured) {\n  ncclProfilerEventDescr_t eDescr = { 0 };\n  eDescr.type = ncclProfileGroupApi;\n  eDescr.groupApi.graphCaptured = isGraphCaptured;\n\n  ncclProfilerApiState.eActivationMask = __atomic_load_n(&ncclProfilerEventMask, __ATOMIC_RELAXED);\n  int groupApiMask = ncclProfileGroupApi | ncclProfileP2pApi | ncclProfileCollApi | ncclProfileKernelLaunch | ncclProfileGroup | ncclProfileColl | ncclProfileP2p | ncclProfileProxyOp | ncclProfileProxyStep | ncclProfileKernelCh | ncclProfileNetPlugin;\n  // Only count outermost groups when emitting group API events\n  if (__builtin_expect(ncclProfiler != NULL, 0) && (ncclProfilerApiState.eActivationMask & groupApiMask)) {\n    if (ncclProfilerApiState.profilerGroupDepth == 0) {\n      eDescr.groupApi.groupDepth = ncclGroupDepth;\n      ncclProfiler->startEvent(info->comm->profilerContext, &ncclProfilerApiState.groupApiEventHandle, &eDescr);\n      ncclProfilerApiState.profilerGroupDepth = ncclGroupDepth;\n      ncclProfilerApiState.state = ncclProfilerGroupApiStartStateStarted;\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStopGroupApiEvent() {\n  void* groupApiEventHandle = ncclProfilerApiState.groupApiEventHandle;\n  if (__builtin_expect(ncclProfiler != NULL, 0) && groupApiEventHandle && ncclProfilerApiState.profilerGroupDepth == 0) {\n    ncclProfiler->stopEvent(groupApiEventHandle);\n    ncclProfilerApiState.groupApiEventHandle = nullptr;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerRecordGroupApiEventState(ncclProfilerEventState_t eState) {\n  void* groupApiEventHandle = ncclProfilerApiState.groupApiEventHandle;\n  bool shouldRecord = false;\n  if (eState == ncclProfilerGroupStartApiStop && ncclProfilerApiState.state == ncclProfilerGroupApiStartStateStarted) {\n    ncclProfilerApiState.state = ncclProfilerGroupApiStartStateStopped;\n    shouldRecord = true;\n  } else if (eState == ncclProfilerGroupEndApiStart && ncclProfilerApiState.state == ncclProfilerGroupApiStartStateStopped) {\n    ncclProfilerApiState.state = ncclProfilerGroupApiStartStateReset;\n    shouldRecord = true;\n  }\n\n  if (__builtin_expect(ncclProfiler != NULL, 0) && groupApiEventHandle && shouldRecord) {\n    ncclProfiler->recordEventState(groupApiEventHandle, eState, NULL);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStartP2pApiEvent(struct ncclInfo *info, bool isGraphCaptured) {\n  ncclProfilerEventDescr_t eDescr = { 0 };\n  eDescr.type = ncclProfileP2pApi;\n  eDescr.parentObj = ncclProfilerApiState.groupApiEventHandle;\n  eDescr.p2pApi.func = ncclFuncToString(info->coll);\n  eDescr.p2pApi.count = info->count;\n  eDescr.p2pApi.datatype = ncclDatatypeToString(info->datatype);\n  eDescr.p2pApi.stream = (void *) info->stream;\n  eDescr.p2pApi.graphCaptured = isGraphCaptured;\n  int p2pApiMask = ncclProfileP2pApi | ncclProfileP2p | ncclProfileProxyOp | ncclProfileProxyStep | ncclProfileKernelCh | ncclProfileNetPlugin;\n  if (__builtin_expect(ncclProfiler != NULL, 0) && (ncclProfilerApiState.eActivationMask & p2pApiMask)) {\n    ncclProfiler->startEvent(info->comm->profilerContext, &ncclProfilerApiState.p2pApiEventHandle, &eDescr);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStopP2pApiEvent() {\n  if (__builtin_expect(ncclProfiler != NULL, 0) && ncclProfilerApiState.p2pApiEventHandle) {\n    ncclProfiler->stopEvent(ncclProfilerApiState.p2pApiEventHandle);\n    ncclProfilerApiState.p2pApiEventHandle = nullptr;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStartCollApiEvent(struct ncclInfo *info, bool isGraphCaptured) {\n  ncclProfilerEventDescr_t eDescr = { 0 };\n  eDescr.type = ncclProfileCollApi;\n  eDescr.parentObj = ncclProfilerApiState.groupApiEventHandle;\n  eDescr.collApi.func = ncclFuncToString(info->coll);\n  eDescr.collApi.count = info->count;\n  eDescr.collApi.datatype = ncclDatatypeToString(info->datatype);\n  eDescr.collApi.stream = (void *) info->stream;\n  eDescr.collApi.root = info->root;\n  eDescr.collApi.graphCaptured = isGraphCaptured;\n  int collApiMask = ncclProfileCollApi | ncclProfileColl | ncclProfileProxyOp | ncclProfileProxyStep | ncclProfileKernelCh | ncclProfileNetPlugin;\n  if (__builtin_expect(ncclProfiler != NULL, 0) && (ncclProfilerApiState.eActivationMask & collApiMask)) {\n    ncclProfiler->startEvent(info->comm->profilerContext, &ncclProfilerApiState.collApiEventHandle, &eDescr);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStopCollApiEvent() {\n  if (__builtin_expect(ncclProfiler != NULL, 0) && ncclProfilerApiState.collApiEventHandle) {\n    ncclProfiler->stopEvent(ncclProfilerApiState.collApiEventHandle);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStartKernelLaunchEvent(struct ncclKernelPlan* plan, cudaStream_t stream) {\n  ncclProfilerEventDescr_t eDescr = { 0 };\n  if (__builtin_expect(ncclProfiler != NULL, 0)) {\n    void* groupApiEventHandle = NULL;\n    // Check if any collective in the plan has a set event activation mask\n    struct ncclTaskColl* ct = ncclIntruQueueHead(&plan->collTaskQueue);\n    struct ncclTaskP2p* pt = ncclIntruQueueHead(&plan->p2pTaskQueue);\n    int eActivationMask_ = 0;\n    while (ct) {\n      if (ct->eActivationMask) {\n        eActivationMask_ = ct->eActivationMask;\n        groupApiEventHandle = ct->groupApiEventHandle;\n        goto startKernelLaunchEvent;\n      }\n      ct = ct->next;\n    }\n    // Check if any pt2pt in the plan has a set event activation mask\n    while (pt) {\n      if (pt->eActivationMask) {\n        eActivationMask_ = pt->eActivationMask;\n        groupApiEventHandle = pt->groupApiEventHandle;\n        goto startKernelLaunchEvent;\n      }\n      pt = pt->next;\n    }\n\n  startKernelLaunchEvent:\n    if (eActivationMask_ & ncclProfileKernelLaunch) {\n      eDescr.type = ncclProfileKernelLaunch;\n      eDescr.parentObj = groupApiEventHandle;\n      eDescr.kernelLaunch.stream = (void *) stream;\n      ncclProfiler->startEvent(plan->comm->profilerContext, &plan->kernelLaunchEventHandle, &eDescr);\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStopKernelLaunchEvent(struct ncclKernelPlan* plan) {\n  if (__builtin_expect(ncclProfiler != NULL, 0) && plan->kernelLaunchEventHandle) {\n    ncclProfiler->stopEvent(plan->kernelLaunchEventHandle);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStartGroupEvent(struct ncclKernelPlan* plan) {\n  TIME_START_EVENT(groupStart);\n  if (__builtin_expect(ncclProfiler != NULL, 0)) {\n    // Check if any collective in the plan has a set event activation mask\n    struct ncclTaskColl* ct = ncclIntruQueueHead(&plan->collTaskQueue);\n    struct ncclTaskP2p* pt = ncclIntruQueueHead(&plan->p2pTaskQueue);\n    int eActivationMask_ = 0;\n    while (ct) {\n      if (ct->eActivationMask) {\n        eActivationMask_ = ct->eActivationMask;\n        goto startGroup;\n      }\n      ct = ct->next;\n    }\n    // Check if any pt2pt in the plan has a set event activation mask\n    while (pt) {\n      if (pt->eActivationMask) {\n        eActivationMask_ = pt->eActivationMask;\n        goto startGroup;\n      }\n      pt = pt->next;\n    }\n\n  startGroup:\n    if (eActivationMask_ & (ncclProfileGroup | ncclProfileColl | ncclProfileP2p | ncclProfileProxyOp | ncclProfileProxyStep | ncclProfileKernelCh | ncclProfileNetPlugin)) {\n      ncclProfilerEventDescr_t eDescr = { 0 };\n      eDescr.type = ncclProfileGroup;\n      ncclProfiler->startEvent(plan->comm->profilerContext, &plan->groupEventHandle, &eDescr);\n    }\n  }\n  TIME_STOP_EVENT(groupStart);\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStopGroupEvent(struct ncclKernelPlan* plan) {\n  TIME_START_EVENT(groupStop);\n  if (__builtin_expect(ncclProfiler != NULL, 0) && plan->groupEventHandle) {\n    ncclProfiler->stopEvent(plan->groupEventHandle);\n  }\n  TIME_STOP_EVENT(groupStop);\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStartTaskEvents(struct ncclKernelPlan* plan) {\n  TIME_START_EVENT(taskStart);\n  struct ncclTaskColl* ct = ncclIntruQueueHead(&plan->collTaskQueue);\n  while (ct) {\n    if (__builtin_expect(ncclProfiler != NULL, 0)) {\n      int enable = ct->eActivationMask & (ncclProfileColl | ncclProfileProxyOp | ncclProfileProxyStep | ncclProfileKernelCh | ncclProfileNetPlugin);\n      if (enable) {\n        ncclProfilerEventDescr_t eDescr = { 0 };\n        eDescr.type = ncclProfileColl;\n        eDescr.coll.parentGroup = plan->groupEventHandle;\n        eDescr.parentObj = ct->collApiEventHandle;\n        eDescr.rank = plan->comm->rank;\n        eDescr.coll.seqNumber = plan->comm->seqNumber[ct->func];\n        eDescr.coll.func = ncclFuncToString(ct->func);\n        eDescr.coll.sendBuff = ct->sendbuff;\n        eDescr.coll.recvBuff = ct->recvbuff;\n        eDescr.coll.count = ct->count;\n        eDescr.coll.root = ct->root;\n        eDescr.coll.datatype = ncclDatatypeToString(ct->datatype);\n        eDescr.coll.nChannels = ct->nChannels;\n        eDescr.coll.nWarps = ct->nWarps;\n        eDescr.coll.algo = ncclAlgoToString(ct->algorithm);\n        eDescr.coll.proto = ncclProtoToString(ct->protocol);\n        ncclProfiler->startEvent(plan->comm->profilerContext, &ct->eventHandle, &eDescr);\n      }\n    }\n    // comm->seqNumber values are updated even if the plugin is not active, since they are used by RAS as well.\n    // The test for \"persistent\" is a workaround for graph-captured collectives.  In their case this function may not be\n    // consistently invoked on all the ranks, which would lead to mismatched counter values and thus false-positive\n    // reports from RAS.  Instead, we choose not to include graph-captured collectives in our counts.  An exception is\n    // made if ncclProfileKernelCh profiler events are active, as they result in proxy events always being added, which\n    // gives the consistency.\n    if (!plan->persistent || (__builtin_expect(ncclProfiler != NULL, 0) && (plan->groupEventHandle || ct->collApiEventHandle) &&\n                              (ct->eActivationMask & ncclProfileKernelCh)))\n      __atomic_fetch_add(&plan->comm->seqNumber[ct->func], 1, __ATOMIC_RELAXED);\n    ct = ct->next;\n  }\n  if (__builtin_expect(ncclProfiler != NULL, 0)) {\n    struct ncclTaskP2p* pt = ncclIntruQueueHead(&plan->p2pTaskQueue);\n    while (pt) {\n      int enable = pt->eActivationMask & (ncclProfileP2p | ncclProfileProxyOp | ncclProfileProxyStep | ncclProfileKernelCh | ncclProfileNetPlugin);\n      if (enable) {\n        ncclProfilerEventDescr_t eDescr = { 0 };\n        eDescr.type = ncclProfileP2p;\n        eDescr.p2p.parentGroup = plan->groupEventHandle;\n        eDescr.parentObj = pt->p2pApiEventHandle;\n        eDescr.rank = plan->comm->rank;\n        eDescr.p2p.func = ncclFuncToString(pt->func);\n        eDescr.p2p.buff = pt->buff;\n        eDescr.p2p.count = pt->count;\n        eDescr.p2p.datatype = ncclDatatypeToString(pt->datatype);\n        eDescr.p2p.peer = pt->root;\n        eDescr.p2p.nChannels = pt->nChannels;\n        ncclProfiler->startEvent(plan->comm->profilerContext, &pt->eventHandle, &eDescr);\n      }\n      pt = pt->next;\n    }\n  }\n  TIME_STOP_EVENT(taskStart);\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStopTaskEvents(struct ncclKernelPlan* plan) {\n  TIME_START_EVENT(taskStop);\n  if (__builtin_expect(ncclProfiler != NULL, 0)) {\n    struct ncclTaskColl* ct = ncclIntruQueueHead(&plan->collTaskQueue);\n    while (ct) {\n      if (ct->eventHandle) ncclProfiler->stopEvent(ct->eventHandle);\n      ct = ct->next;\n    }\n    struct ncclTaskP2p* pt = ncclIntruQueueHead(&plan->p2pTaskQueue);\n    while (pt) {\n      if (pt->eventHandle) ncclProfiler->stopEvent(pt->eventHandle);\n      pt = pt->next;\n    }\n  }\n  TIME_STOP_EVENT(taskStop);\n  return ncclSuccess;\n}\n\n// Bellow we set the proxy descriptor step number to DIVUP(step, args->sliceSteps).\n// The reason is that for some ncclOp (e.g. AllReduce) one network transfer is\n// made of sliceSteps steps rather than one step. In the profiler we are still\n// interested in whole network transfers though, so we account for this when\n// computing the actual network step number.\nncclResult_t ncclProfilerStartProxyOpEvent(int s, struct ncclProxyArgs* args) {\n  TIME_START_EVENT(proxyOpStart);\n  struct ncclProxySubArgs* sub = &args->subs[s];\n  if (__builtin_expect(ncclProfiler != NULL, 0)) {\n    if (sub->eActivationMask & (ncclProfileProxyOp | ncclProfileProxyStep | ncclProfileNetPlugin)) {\n      ncclProfilerEventDescr_t eDescr = { 0 };\n      eDescr.type = ncclProfileProxyOp;\n      eDescr.parentObj = sub->taskEventHandle;\n      eDescr.rank = sub->rank;\n      eDescr.proxyOp.pid = sub->pid;\n      eDescr.proxyOp.channelId = sub->channelId;\n      eDescr.proxyOp.peer = sub->peer;\n      eDescr.proxyOp.nSteps = DIVUP(sub->nsteps, args->sliceSteps);\n      eDescr.proxyOp.chunkSize = args->chunkSize * args->sliceSteps;\n      eDescr.proxyOp.isSend = args->progress == ncclTransports[TRANSPORT_NET]->send.proxyProgress ? 1 : 0;\n      ncclProfiler->startEvent(sub->profilerContext, &sub->opEventHandle, &eDescr);\n    }\n  }\n  TIME_STOP_EVENT(proxyOpStart);\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStopProxyOpEvent(int s, struct ncclProxyArgs* args) {\n  TIME_START_EVENT(proxyOpStop);\n  struct ncclProxySubArgs* sub = &args->subs[s];\n  if (__builtin_expect(ncclProfiler != NULL, 0) && sub->opEventHandle) {\n    ncclProfiler->stopEvent(sub->opEventHandle);\n    sub->opEventHandle = NULL;\n  }\n  TIME_STOP_EVENT(proxyOpStop);\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStartSendProxyStepEvent(int s, struct ncclProxyArgs* args, int stepId) {\n  TIME_START_EVENT(proxyStepStart);\n  struct ncclProxySubArgs* sub = &args->subs[s];\n  int step_ = DIVUP(stepId, args->sliceSteps);\n  if (__builtin_expect(ncclProfiler != NULL, 0)) {\n    if (sub->eActivationMask & (ncclProfileProxyStep | ncclProfileNetPlugin)) {\n      ncclProfilerEventDescr_t eDescr = { 0 };\n      eDescr.type = ncclProfileProxyStep;\n      eDescr.parentObj = sub->opEventHandle;\n      eDescr.rank = sub->rank;\n      eDescr.proxyStep.step = step_;\n      ncclProfiler->startEvent(sub->profilerContext, &sub->pHandles[step_%NCCL_STEPS].stepEventHandle, &eDescr);\n    }\n  }\n  sub->pHandles[step_%NCCL_STEPS].subArgPtr = sub;\n  TIME_STOP_EVENT(proxyStepStart);\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStartRecvProxyStepEvent(int s, struct ncclProxyArgs* args, int stepId) {\n  TIME_START_EVENT(proxyStepStart);\n  struct ncclProxySubArgs* sub = &args->subs[s];\n  int step_ = DIVUP(stepId, args->sliceSteps);\n  if (__builtin_expect(ncclProfiler != NULL, 0)) {\n    if (sub->eActivationMask & (ncclProfileProxyStep | ncclProfileNetPlugin)) {\n      ncclProfilerEventDescr_t eDescr = { 0 };\n      eDescr.type = ncclProfileProxyStep;\n      eDescr.parentObj = sub->opEventHandle;\n      eDescr.rank = sub->rank;\n      eDescr.proxyStep.step = step_;\n      ncclProfiler->startEvent(sub->profilerContext, &sub->pHandles[step_%NCCL_STEPS].stepEventHandle, &eDescr);\n    }\n  }\n  sub->pHandles[step_%NCCL_STEPS].subArgPtr = sub;\n  TIME_STOP_EVENT(proxyStepStart);\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStopProxyStepEvent(int s, struct ncclProxyArgs* args, int stepId) {\n  TIME_START_EVENT(proxyStepStop);\n  struct ncclProxySubArgs* sub = &args->subs[s];\n  if (__builtin_expect(ncclProfiler != NULL, 0)) {\n    int step_ = DIVUP(stepId, args->sliceSteps);\n    if (sub->pHandles[step_%NCCL_STEPS].stepEventHandle) {\n      ncclProfiler->stopEvent(sub->pHandles[step_%NCCL_STEPS].stepEventHandle);\n      sub->pHandles[step_%NCCL_STEPS].stepEventHandle = NULL;\n    }\n  }\n  TIME_STOP_EVENT(proxyStepStop);\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStartProxyCtrlEvent(void* profilerContext, void** eHandle) {\n  TIME_START_EVENT(proxyCtrlStart);\n  if (__builtin_expect(ncclProfiler != NULL, 0)) {\n    // for proxy control events we allow profiling mode to change on a per event basis\n    int eActivationMaskProxy = __atomic_load_n(&ncclProfilerEventMask, __ATOMIC_RELAXED);\n    if (eActivationMaskProxy & ncclProfileProxyCtrl) {\n      ncclProfilerEventDescr_t eDescr = { 0 };\n      eDescr.type = ncclProfileProxyCtrl;\n      ncclProfiler->startEvent(profilerContext, eHandle, &eDescr);\n      TIME_STOP_EVENT(proxyCtrlStart);\n      return ncclSuccess;\n    }\n  }\n  *eHandle = NULL;\n  TIME_STOP_EVENT(proxyCtrlStart);\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStopProxyCtrlEvent(void* eHandle) {\n  TIME_START_EVENT(proxyCtrlStop);\n  if (__builtin_expect(ncclProfiler != NULL, 0) && eHandle) {\n    ncclProfiler->stopEvent(eHandle);\n  }\n  TIME_STOP_EVENT(proxyCtrlStop);\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStartKernelChEvent(struct ncclProxyArgs* args, int s, uint64_t start) {\n  if (__builtin_expect(ncclProfiler != NULL, 0)) {\n    struct ncclProxySubArgs* sub = &args->subs[s];\n    if (sub->eActivationMask & ncclProfileKernelCh) {\n      ncclProfilerEventDescr_t eDescr = { };\n      eDescr.type = ncclProfileKernelCh;\n      eDescr.parentObj = sub->taskEventHandle;\n      eDescr.kernelCh.channelId = sub->channelId;\n      eDescr.kernelCh.pTimer = start;\n      ncclProfiler->startEvent(sub->profilerContext, &sub->kernelEventHandle, &eDescr);\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerStopKernelChEvent(struct ncclProxyArgs* args, int s, uint64_t stop) {\n  if (__builtin_expect(ncclProfiler != NULL, 0)) {\n    struct ncclProxySubArgs* sub = &args->subs[s];\n    if (sub->kernelEventHandle) {\n      ncclProfilerEventStateArgs_t a = { };\n      a.kernelCh.pTimer = stop;\n      ncclProfiler->recordEventState(sub->kernelEventHandle, ncclProfilerKernelChStop, &a);\n      ncclProfiler->stopEvent(sub->kernelEventHandle);\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerRecordProxyOpEventState(int s, struct ncclProxyArgs* args, ncclProfilerEventState_t eState) {\n  TIME_START_EVENT(proxyOpRecord);\n  struct ncclProxySubArgs* sub = &args->subs[s];\n  if (__builtin_expect(ncclProfiler != NULL, 0) && sub->opEventHandle) {\n    ncclProfilerEventStateArgs_t a = { };\n    ncclProfiler->recordEventState(sub->opEventHandle, eState, &a);\n  }\n  TIME_STOP_EVENT(proxyOpRecord);\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerRecordProxyStepEventState(int s, struct ncclProxyArgs* args, int stepId, ncclProfilerEventState_t eState) {\n  TIME_START_EVENT(proxyStepRecord);\n  struct ncclProxySubArgs* sub = &args->subs[s];\n  if (__builtin_expect(ncclProfiler != NULL, 0) && sub->opEventHandle) {\n    int step_ = DIVUP(stepId, args->sliceSteps);\n    if (sub->pHandles[step_%NCCL_STEPS].stepEventHandle) {\n      ncclProfilerEventStateArgs_t a = { };\n      a.proxyStep.transSize = sub->transSize;\n      ncclProfiler->recordEventState(sub->pHandles[step_%NCCL_STEPS].stepEventHandle, eState, &a);\n    }\n  }\n  TIME_STOP_EVENT(proxyStepRecord);\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerRecordProxyCtrlEventState(void* eHandle, int appended, ncclProfilerEventState_t eState) {\n  TIME_START_EVENT(proxyCtrlRecord);\n  if (__builtin_expect(ncclProfiler != NULL, 0) && eHandle && __atomic_load_n(&ncclProfilerEventMask, __ATOMIC_RELAXED) & ncclProfileProxyCtrl) {\n    ncclProfilerEventStateArgs_t args = { };\n    args.proxyCtrl.appendedProxyOps = appended;\n    ncclProfiler->recordEventState(eHandle, eState, &args);\n  }\n  TIME_STOP_EVENT(proxyCtrlRecord);\n  return ncclSuccess;\n}\n\nncclResult_t ncclProfilerAddPidToProxyOp(struct ncclProxyOp* op) {\n  op->pid = pid;\n  return ncclSuccess;\n}\n\nstatic std::mutex proxyProfilerConnectMutex;\n\nstatic ncclResult_t proxyProfilerConnect(struct ncclComm* comm, struct ncclProxyOp* op) {\n  ncclResult_t ret = ncclSuccess;\n  std::lock_guard<std::mutex> lock(proxyProfilerConnectMutex);\n  if (comm->profiler.initialized) goto exit;\n  for (int c = 0; c < MAXCHANNELS; c++) {\n    NCCLCHECKGOTO(ncclProxyConnect(comm, TRANSPORT_PROFILER, 0, comm->rank, &comm->profiler.sendProxyConn[c]), ret, exit);\n    NCCLCHECKGOTO(ncclProxyCallBlocking(comm, &comm->profiler.sendProxyConn[c], ncclProxyMsgConnect, NULL, 0, NULL, 0), ret, exit);\n    NCCLCHECKGOTO(ncclProxyConnect(comm, TRANSPORT_PROFILER, 0, comm->rank, &comm->profiler.recvProxyConn[c]), ret, exit);\n    NCCLCHECKGOTO(ncclProxyCallBlocking(comm, &comm->profiler.recvProxyConn[c], ncclProxyMsgConnect, NULL, 0, NULL, 0), ret, exit);\n  }\n  comm->profiler.initialized = true;\nexit:\n  return ret;\n}\n\nbool ncclProfilerNeedsProxy(struct ncclComm* comm, struct ncclProxyOp* op) {\n  bool enabled = ncclProfilerPluginLoaded() && (op->eActivationMask & ncclProfileKernelCh);\n  if (enabled && !comm->profiler.initialized) (void)proxyProfilerConnect(comm, op);\n  return enabled;\n}\n\nbool ncclProfilerPluginLoaded(void) {\n  return (__builtin_expect(ncclProfiler != NULL, 0));\n}\n\nncclResult_t ncclProfilerCallback(void** eHandle, int type, void* pHandle, int64_t pluginId, void* extData) {\n  if (__builtin_expect(ncclProfiler != NULL, 0)) {\n    if (type == ncclProfilerNetEventStart) { // start\n      struct ncclProxyEventHandle* p = (struct ncclProxyEventHandle*)pHandle;\n      struct ncclProxySubArgs* sub = p->subArgPtr;\n      if (sub->eActivationMask & ncclProfileNetPlugin) {\n        ncclProfilerEventDescr_t eDescr = { 0 };\n        eDescr.type = ncclProfileNetPlugin;\n        eDescr.parentObj = p->stepEventHandle;\n        eDescr.rank = sub->rank;\n        eDescr.netPlugin.id = pluginId;\n        eDescr.netPlugin.data = extData;\n        ncclProfiler->startEvent(sub->profilerContext, eHandle, &eDescr);\n      }\n    } else if (type == ncclProfilerNetEventStop) { // stop\n      ncclProfiler->stopEvent(*eHandle);\n    } else if (type == ncclProfilerNetEventUpdate) { // update\n      ncclProfilerEventStateArgs_t args = { };\n      args.netPlugin.data = extData;\n      ncclProfiler->recordEventState(*eHandle, ncclProfilerNetPluginUpdate, &args);\n    } else { // update and stop\n      ncclProfilerEventStateArgs_t args = { };\n      args.netPlugin.data = extData;\n      ncclProfiler->recordEventState(*eHandle, ncclProfilerNetPluginUpdate, &args);\n      ncclProfiler->stopEvent(*eHandle);\n    }\n  }\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/plugin/tuner/CMakeLists.txt",
    "content": "# Tuner plugin sources\nset(PLUGIN_TUNER_SOURCES\n    ${CMAKE_CURRENT_SOURCE_DIR}/tuner_v2.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/tuner_v3.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/tuner_v4.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/tuner_v5.cc\n)\n\n# Add tuner plugin sources to parent scope\nset(PLUGIN_TUNER_SOURCES ${PLUGIN_TUNER_SOURCES} PARENT_SCOPE)\n"
  },
  {
    "path": "src/plugin/tuner/tuner_v2.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n * Copyright (c) 2023, Meta Platforms, Inc. and affiliates.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <dlfcn.h>\n#include \"debug.h\"\n#include \"checks.h\"\n#include \"nccl_tuner.h\"\n\nstatic ncclTuner_v2_t* ncclTuner_v2;\nstatic ncclTuner_t ncclTuner;\n\nstatic int hasNvlsSupport(float** collCostTable) {\n  // Requirements for support of different algorithms:\n  //\n  // - NVLS intra-node: nvlsSupport\n  // - NVLS intra+inter-node: collNetSupport\n  // - NVLSTree intra-node: always disabled\n  // - NVLSTree inter-node: nvlsSupport\n  // - Collnet* inter-node: collNetSupport\n  //\n  // nvlsSupport = 1 if either NVLS or NVLS_TREE entries in the cost table are not -1\n  float (*table)[NCCL_NUM_PROTOCOLS] = (float (*)[NCCL_NUM_PROTOCOLS])collCostTable;\n  return (table[NCCL_ALGO_NVLS][NCCL_PROTO_SIMPLE] != NCCL_ALGO_PROTO_IGNORE || table[NCCL_ALGO_NVLS_TREE][NCCL_PROTO_SIMPLE] != NCCL_ALGO_PROTO_IGNORE) ? 1 : 0;\n}\n\nstatic int hasCollNetSupport(float** collCostTable) {\n  float (*table)[NCCL_NUM_PROTOCOLS] = (float (*)[NCCL_NUM_PROTOCOLS])collCostTable;\n  return (table[NCCL_ALGO_COLLNET_CHAIN][NCCL_PROTO_SIMPLE] == NCCL_ALGO_PROTO_IGNORE) ? 0 : 1;\n}\n\nstatic ncclResult_t ncclTuner_getCollInfo(void* context, ncclFunc_t collType, size_t nBytes, int numPipeOps, float** collCostTable, int numAlgo __attribute__((unused)), int numProto __attribute__((unused)), int regBuff __attribute__((unused)), int* nChannels) {\n  int algorithm = NCCL_ALGO_UNDEF;\n  int protocol = NCCL_PROTO_UNDEF;\n  int nvlsSupport = hasNvlsSupport(collCostTable);\n  int collNetSupport = hasCollNetSupport(collCostTable);\n  NCCLCHECK(ncclTuner_v2->getCollInfo(context, collType, nBytes, collNetSupport, nvlsSupport, numPipeOps, &algorithm, &protocol, nChannels));\n  // set time to 0 below to make sure this algorithm/protocol is selected later on\n  if (algorithm >= 0 && algorithm < NCCL_NUM_ALGORITHMS && protocol >= 0 && protocol < NCCL_NUM_PROTOCOLS) {\n    float (*table)[NCCL_NUM_PROTOCOLS] = (float (*)[NCCL_NUM_PROTOCOLS])collCostTable;\n    if (table[algorithm][protocol] != NCCL_ALGO_PROTO_IGNORE) table[algorithm][protocol] = 0.0;\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclTuner_finalize(void* ctx) {\n  return ncclTuner_v2->destroy(ctx);\n}\n\nstatic ncclResult_t ncclTuner_init(void** ctx, uint64_t commId, size_t nRanks, size_t nNodes, ncclDebugLogger_t logfn,\n                                   ncclNvlDomainInfo_v5_t* nvlDomainInfo, ncclTunerConstants_t* /*constants*/) {\n  NCCLCHECK(ncclTuner_v2->init(nRanks, nNodes, logfn, ctx));\n  ncclTuner.getCollInfo = ncclTuner_getCollInfo;\n  ncclTuner.finalize = ncclTuner_finalize;\n  return ncclSuccess;\n}\n\nncclTuner_t* getNcclTuner_v2(void* lib) {\n  ncclTuner_v2 = (ncclTuner_v2_t*)dlsym(lib, \"ncclTunerPlugin_v2\");\n  if (ncclTuner_v2) {\n    ncclTuner.name = ncclTuner_v2->name;\n    ncclTuner.init = ncclTuner_init;\n    INFO(NCCL_INIT|NCCL_TUNING, \"TUNER/Plugin: Using %s (v2)\", ncclTuner_v2->name);\n    return &ncclTuner;\n  }\n  return NULL;\n}\n"
  },
  {
    "path": "src/plugin/tuner/tuner_v3.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n * Copyright (c) 2023, Meta Platforms, Inc. and affiliates.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <dlfcn.h>\n#include \"debug.h\"\n#include \"checks.h\"\n#include \"nccl_tuner.h\"\n\nstatic ncclTuner_v3_t* ncclTuner_v3;\nstatic ncclTuner_t ncclTuner;\n\nstatic ncclResult_t ncclTuner_getCollInfo(void* context, ncclFunc_t collType, size_t nBytes, int numPipeOps, float** collCostTable, int numAlgo, int numProto, int regBuff __attribute__((unused)), int* nChannels) {\n  NCCLCHECK(ncclTuner_v3->getCollInfo(context, collType, nBytes, numPipeOps, collCostTable, numAlgo, numProto,  nChannels));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclTuner_finalize(void* ctx) {\n  return ncclTuner_v3->destroy(ctx);\n}\n\nstatic ncclResult_t ncclTuner_init(void** context, uint64_t commId, size_t nRanks, size_t nNodes, ncclDebugLogger_t logfn,\n                                   ncclNvlDomainInfo_v5_t* nvlDomainInfo, ncclTunerConstants_t* /*constants*/) {\n  NCCLCHECK(ncclTuner_v3->init(nRanks, nNodes, logfn, context));\n  ncclTuner.getCollInfo = ncclTuner_getCollInfo;\n  ncclTuner.finalize = ncclTuner_finalize;\n  return ncclSuccess;\n}\n\nncclTuner_t* getNcclTuner_v3(void* lib) {\n  ncclTuner_v3 = (ncclTuner_v3_t*)dlsym(lib, \"ncclTunerPlugin_v3\");\n  if (ncclTuner_v3) {\n    ncclTuner.name = ncclTuner_v3->name;\n    ncclTuner.init = ncclTuner_init;\n    INFO(NCCL_INIT|NCCL_TUNING, \"TUNER/Plugin: Using %s (v3)\", ncclTuner_v3->name);\n    return &ncclTuner;\n  }\n  return NULL;\n}\n"
  },
  {
    "path": "src/plugin/tuner/tuner_v4.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n * Copyright (c) 2023, Meta Platforms, Inc. and affiliates.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <dlfcn.h>\n#include \"debug.h\"\n#include \"checks.h\"\n#include \"nccl_tuner.h\"\n\nstatic ncclTuner_v4_t* ncclTuner_v4;\nstatic ncclTuner_t ncclTuner;\n\nstatic ncclResult_t ncclTuner_finalize(void* ctx) {\n  return ncclTuner_v4->destroy(ctx);\n}\n\nstatic ncclResult_t ncclTuner_init(void** context, uint64_t commId, size_t nRanks, size_t nNodes, ncclDebugLogger_t logfn,\n                                   ncclNvlDomainInfo_v5_t* nvlDomainInfo, ncclTunerConstants_t* /*constants*/) {\n  NCCLCHECK(ncclTuner_v4->init(nRanks, nNodes, logfn, context));\n  ncclTuner.getCollInfo = ncclTuner_v4->getCollInfo;\n  ncclTuner.finalize = ncclTuner_finalize;\n  return ncclSuccess;\n}\n\nncclTuner_t* getNcclTuner_v4(void* lib) {\n  ncclTuner_v4 = (ncclTuner_v4_t*)dlsym(lib, \"ncclTunerPlugin_v4\");\n  if (ncclTuner_v4) {\n    ncclTuner.name = ncclTuner_v4->name;\n    ncclTuner.init = ncclTuner_init;\n\n    INFO(NCCL_INIT|NCCL_TUNING, \"TUNER/Plugin: Using %s (v4)\", ncclTuner_v4->name);\n    return &ncclTuner;\n  }\n  return NULL;\n}\n"
  },
  {
    "path": "src/plugin/tuner/tuner_v5.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n * Copyright (c) 2023, Meta Platforms, Inc. and affiliates.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <dlfcn.h>\n#include \"debug.h\"\n#include \"nccl_tuner.h\"\n\nstatic ncclTuner_v5_t* ncclTuner_v5;\n\nncclTuner_t* getNcclTuner_v5(void* lib) {\n  ncclTuner_v5 = (ncclTuner_v5_t*)dlsym(lib, \"ncclTunerPlugin_v5\");\n  if (ncclTuner_v5) {\n    INFO(NCCL_INIT|NCCL_TUNING, \"TUNER/Plugin: Using %s (v5)\", ncclTuner_v5->name);\n    return ncclTuner_v5;\n  }\n  return NULL;\n}\n"
  },
  {
    "path": "src/plugin/tuner.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n * Copyright (c) 2023, Meta Platforms, Inc. and affiliates.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <errno.h>\n#include <stdlib.h>\n#include <mutex>\n\n#include \"checks.h\"\n#include \"debug.h\"\n#include \"tuner.h\"\n#include \"plugin.h\"\n\nextern ncclTuner_t* getNcclTuner_v2(void* lib);\nextern ncclTuner_t* getNcclTuner_v3(void* lib);\nextern ncclTuner_t* getNcclTuner_v4(void* lib);\nextern ncclTuner_t* getNcclTuner_v5(void* lib);\n\nstatic std::mutex tunerPluginMutex;\nstatic int tunerPluginRefCount;\nstatic void* tunerPluginLib = nullptr;\nstatic ncclTuner_t* tunerSymbol = nullptr;\n\nenum {\n  tunerPluginLoadFailed  = -1,\n  tunerPluginLoadReady   =  0,\n  tunerPluginLoadSuccess =  1,\n};\n\n#define MAX_PLUGIN_LOAD 4\n\nstatic int status = tunerPluginLoadReady;\n\nncclResult_t ncclTunerPluginLoad(struct ncclComm* comm) {\n  const char* tunerName;\n  // Initialize to nullptr by default if plugin tuner cannot be loaded.\n  comm->tuner = nullptr;\n  if (tunerPluginLoadFailed == status) {\n    return ncclSuccess;\n  }\n\n  std::lock_guard<std::mutex> lock(tunerPluginMutex);\n  if (tunerPluginLoadFailed == status) {\n    goto exit;\n  }\n\n  if (tunerPluginLoadSuccess == status) {\n    comm->tuner = tunerSymbol;\n    ++tunerPluginRefCount;\n    goto exit;\n  }\n\n  if ((tunerName = ncclGetEnv(\"NCCL_TUNER_PLUGIN\")) != nullptr) {\n    INFO(NCCL_ENV|NCCL_TUNING, \"NCCL_TUNER_PLUGIN set by environment to %s\", tunerName);\n    if (strcasecmp(tunerName, \"none\") == 0)\n      goto fail;\n  }\n  tunerPluginLib = ncclOpenTunerPluginLib(tunerName);\n  if (nullptr == tunerPluginLib) {\n    tunerPluginLib = ncclGetNetPluginLib(ncclPluginTypeTuner);\n    if (nullptr == tunerPluginLib) {\n      goto fail;\n    }\n    tunerName = nullptr;\n  } else if (ncclPluginLibPaths[ncclPluginTypeTuner]) {\n    tunerName = ncclPluginLibPaths[ncclPluginTypeTuner];\n  }\n\n  tunerSymbol = getNcclTuner_v5(tunerPluginLib);\n  if (tunerSymbol == NULL) {\n    tunerSymbol = getNcclTuner_v4(tunerPluginLib);\n  }\n  if (tunerSymbol == NULL) {\n    tunerSymbol = getNcclTuner_v3(tunerPluginLib);\n  }\n  if (tunerSymbol == NULL) {\n    tunerSymbol = getNcclTuner_v2(tunerPluginLib);\n  }\n  if (tunerSymbol == NULL) {\n    if (tunerName) INFO(NCCL_INIT|NCCL_TUNING, \"External tuner plugin %s is unsupported\", tunerName);\n    goto fail;\n  }\n  if (tunerName) INFO(NCCL_INIT|NCCL_TUNING, \"Successfully loaded external tuner plugin %s\", tunerName);\n\n  comm->tuner = tunerSymbol;\n  ++tunerPluginRefCount;\n  status = tunerPluginLoadSuccess;\n  comm->tunerPluginLoaded = 1;\n\nexit:\n  return ncclSuccess;\nfail:\n  if (tunerPluginLib) NCCLCHECK(ncclClosePluginLib(tunerPluginLib, ncclPluginTypeTuner));\n  tunerPluginLib = nullptr;\n  status = tunerPluginLoadFailed;\n  goto exit;\n}\n\nncclResult_t ncclTunerPluginUnload(struct ncclComm* comm) {\n  std::lock_guard<std::mutex> lock(tunerPluginMutex);\n  if (comm->tunerPluginLoaded && 0 == (--tunerPluginRefCount)) {\n    INFO(NCCL_INIT|NCCL_TUNING, \"TUNER/Plugin: Closing tuner: '%s'\", tunerSymbol->name);\n    NCCLCHECK(ncclClosePluginLib(tunerPluginLib, ncclPluginTypeTuner));\n    tunerPluginLib = nullptr;\n    tunerSymbol = nullptr;\n    comm->tuner = nullptr;\n    status = tunerPluginLoadReady;\n    comm->tunerPluginLoaded = 0;\n  }\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/proxy.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"info.h\"\n#include \"collectives.h\"\n#include \"socket.h\"\n#include \"shmutils.h\"\n#define ENABLE_TIMER 0\n#include \"timer.h\"\n#include \"profiler.h\"\n#include \"transport.h\"\n#include \"cpuset.h\"\n\n#include <sys/syscall.h>\n#include <assert.h>\n#include <unistd.h>\n#include <sys/time.h>\n#include <sched.h>\n#include <algorithm>\n\n#define NCCL_MAX_PROXY_CONNECTIONS (NCCL_MAX_LOCAL_RANKS+1)\n\nvoid* ncclProxyServiceUDS(void* _args);\n\nstatic bool NeedProxy(int type, int pattern, int root, struct ncclRing* ring, int nranks) {\n  if (pattern == ncclPatternRing || pattern == ncclPatternRingTwice) return true;\n\n  /* In chains, one rank does not need a proxy. Let's figure out which one it is */\n  /* Which index in the reorganized rings should we compare root against */\n  const int myrank = 0, nextrank = 1, prevrank = nranks-1;\n  int index = pattern == ncclPatternPipelineFrom ?\n      /*                            no recv /  no send    if root = */\n      /* bcast  */ (type == proxyRecv ?   myrank : nextrank ):\n      /* reduce */ (type == proxyRecv ? prevrank :   myrank );\n  int rank = ring->userRanks[index];\n  return (root != rank);\n}\n\n#define PROXYARGS_ALLOCATE_SIZE NCCL_MAX_OPS\nstruct ncclProxyPool {\n  struct ncclProxyPool *next;\n  struct ncclProxyArgs elems[PROXYARGS_ALLOCATE_SIZE];\n};\n\nstatic void expectedProxyResponseFree(struct ncclProxyState* state) {\n  struct ncclExpectedProxyResponse* elem = state->expectedResponses;\n  struct ncclExpectedProxyResponse* prev = NULL;\n\n  while (elem) {\n    prev = elem;\n    elem = elem->next;\n    free(prev->respBuff);\n    free(prev);\n  }\n}\n\nstatic ncclResult_t expectedProxyResponseStore(struct ncclProxyState* state, void* opId, void* respBuff, int respSize, ncclResult_t res) {\n  struct ncclExpectedProxyResponse* elem = state->expectedResponses;\n  while (elem) {\n    if (elem->opId == opId) {\n      if (respSize != elem->respSize) {\n        WARN(\"Mismatched response size for opId=%p\", opId);\n        return ncclInternalError;\n      }\n\n      if (elem->done) {\n        WARN(\"Storing response for already completed opId=%p\", opId);\n        return ncclInternalError;\n      }\n\n      if (respSize > 0) {\n        memcpy(elem->respBuff, respBuff, respSize);\n        free(respBuff);\n      }\n      elem->done = true;\n      elem->res  = res;\n      return ncclSuccess;\n    }\n    elem = elem->next;\n  }\n\n  WARN(\"Proxy response for opId=%p doesn't match any expected response\", opId);\n  return ncclInternalError;\n}\n\nstatic ncclResult_t expectedProxyResponseEnqueue(struct ncclProxyState* state, void* opId, int respSize) {\n  struct ncclExpectedProxyResponse* ex;\n  NCCLCHECK(ncclCalloc(&ex, 1));\n  ex->opId = opId;\n\n  // Pre-alloc response buffer\n  ex->respBuff = malloc(respSize);\n  if (ex->respBuff == nullptr && respSize > 0) {\n    free(ex);\n    return ncclSystemError;\n  }\n  ex->respSize = respSize;\n  ex->res      = ncclInternalError;\n  ex->done     = false;\n\n  // Enqueue\n  struct ncclExpectedProxyResponse* list = state->expectedResponses;\n  if (list == NULL) {\n    state->expectedResponses = ex;\n    return ncclSuccess;\n  }\n  while (list->next) list = list->next;\n  list->next = ex;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t expectedProxyResponseDequeue(struct ncclProxyState* state, void* opId, void* respBuff, int* found) {\n  struct ncclExpectedProxyResponse* elem = state->expectedResponses;\n  struct ncclExpectedProxyResponse* prev = NULL;\n  *found = 0;\n  while (elem) {\n    if ((elem->opId == opId) && elem->done) {\n      if (prev == NULL) {\n        state->expectedResponses = elem->next;\n      } else {\n        prev->next = elem->next;\n      }\n      memcpy(respBuff, elem->respBuff, elem->respSize);\n      ncclResult_t res = elem->res;\n      free(elem->respBuff);\n      free(elem);\n      *found = 1;\n      return res;\n    }\n    prev = elem;\n    elem = elem->next;\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t expectedProxyResponseRemove(struct ncclProxyState* state, void* opId) {\n  struct ncclExpectedProxyResponse* elem = state->expectedResponses;\n  struct ncclExpectedProxyResponse* prev = NULL;\n  while (elem) {\n    if (elem->opId == opId) {\n      if (prev == NULL) {\n        state->expectedResponses = elem->next;\n      } else {\n        prev->next = elem->next;\n      }\n      free(elem->respBuff);\n      free(elem);\n      return ncclSuccess;\n    }\n    prev = elem;\n    elem = elem->next;\n  }\n  WARN(\"Couldn't find opId=%p\", opId);\n  return ncclInternalError;\n}\n\nstatic ncclResult_t asyncProxyOpEnqueue(struct ncclProxyLocalPeer* peer, ncclProxyAsyncOp* op) {\n  ncclProxyAsyncOp* list = peer->asyncOps;\n  if (list == NULL) {\n    peer->asyncOps = op;\n    return ncclSuccess;\n  }\n  while (list->next) list = list->next;\n  list->next = op;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t asyncProxyOpDequeue(struct ncclProxyLocalPeer* peer, ncclProxyAsyncOp* op) {\n  struct ncclProxyAsyncOp* elem = peer->asyncOps;\n  struct ncclProxyAsyncOp* prev = NULL;\n  while (elem) {\n    if (elem->opId == op->opId) {\n      if (prev == NULL) {\n        peer->asyncOps = elem->next;\n      } else {\n        prev->next = elem->next;\n      }\n\n      if (elem->reqBuff) {\n        free(elem->reqBuff);\n      }\n      if (elem->respBuff) {\n        free(elem->respBuff);\n      }\n      free(elem);\n\n      return ncclSuccess;\n    }\n    prev = elem;\n    elem = elem->next;\n  }\n  if (op) {\n    WARN(\"Attempting to dequeue nonexistent async opId=%p\", op->opId);\n  } else {\n    WARN(\"Attempting to dequeue null operation\");\n  }\n  return ncclInternalError;\n}\n\nstatic ncclResult_t allocateArgs(struct ncclProxyProgressState* state, struct ncclProxyArgs** argsptr) {\n  struct ncclProxyArgs* elem;\n  if (state->pool == NULL) {\n    // Allocate a new pool of elements. Make sure we allocate the memory close\n    // to the network thread\n    struct ncclProxyPool* newPool;\n    NCCLCHECK(ncclCalloc(&newPool, 1));\n\n    struct ncclProxyArgs* newElems = newPool->elems;\n    // Chain newly allocated elements\n    for (int i=0; i<PROXYARGS_ALLOCATE_SIZE; i++) {\n      if (i+1 < PROXYARGS_ALLOCATE_SIZE) newElems[i].next = newElems+i+1;\n    }\n    // Add them all to the pool list\n    state->pool = newElems;\n    // Save the pool memory block for later resource release\n    newPool->next = state->pools;\n    state->pools = newPool;\n  }\n  elem = state->pool;\n  state->pool = state->pool->next;\n  elem->next = elem->nextPeer = NULL;\n  *argsptr = elem;\n  return ncclSuccess;\n}\n\n//#define DEBUG_PROXY 1\n#ifdef DEBUG_PROXY\n#define DEBUG_PROXY_PRINT printf\n#else\n#define DEBUG_PROXY_PRINT(...)\n#endif\n\n#define OP_INDEX(op) ((op) ? (op)-state->pools->elems : -1)\n#define OP_SEEN 0x100000\n\nncclResult_t getOpIndex(struct ncclProxyArgs* op, struct ncclProxyProgressState* state, int* poolIndex, int* opIndex) {\n  struct ncclProxyPool* pool = state->pools;\n  int p = 0;\n  while (pool) {\n    uint64_t o = op-pool->elems;\n    if (o < PROXYARGS_ALLOCATE_SIZE) {\n      *opIndex = o;\n      *poolIndex = p;\n      return ncclSuccess;\n    }\n    pool = pool->next;\n    p++;\n  }\n  WARN(\"Could not find pool of op %p\", op);\n  return ncclInternalError;\n}\n\nncclResult_t printProxyOp(struct ncclProxyArgs* op, int poolIndex, int opIndex) {\n  int peer = op->send ? op->nextRank : op->prevRank;\n  bool isColl = (op->pattern != ncclPatternRecv) && (op->pattern != ncclPatternSend);\n\n  fprintf(stderr, \"%p [%d-%d|%ld| %s\",op, poolIndex, opIndex, op->opCount, isColl ? \"Coll->\" : \"\");\n  fprintf(stderr, \"%s\", op->send ? \"Send\" : \"Recv\");\n  for (int s=0; s<op->nsubs; s++) {\n    struct ncclProxySubArgs* sub = op->subs+s;\n    if (op->state == ncclProxyOpProgress) {\n      char status = ' ';\n      if (op->pattern == ncclPatternRecv) { // ncclRecv\n        if (sub->posted < sub->nsteps && sub->posted < sub->done + NCCL_STEPS) status = 'I'; // Init\n        else if (sub->received < sub->posted) status = 'R'; // Receiving\n        else if (sub->received < sub->transmitted) status = 'R'; // Receiving\n        else if (sub->transmitted < sub->received) status = 'F'; // Flushing\n        else if (sub->done < sub->transmitted) status = 'G'; // Waiting on GPU\n        else status = 'D'; // Done\n      } else if (op->pattern == ncclPatternSend) { //ncclSend\n        if (sub->posted < sub->nsteps && sub->posted < sub->done + NCCL_STEPS) status = 'I'; // Init\n        else if (sub->transmitted < sub->posted) status = 'G'; // Waiting on GPU\n        else if (sub->done < sub->transmitted) status = 'S'; // Sending\n        else status = 'D'; // Done\n      } else {\n\t// Send or recv within a collective. Dump raw state data.\n\tfprintf(stderr, \" nb:%zd ns:%d p:%lu t:%lu r:%lu, d:%lu \",sub->nbytes,sub->nsteps, sub->posted, sub->transmitted, sub->received, sub->done);\n      }\n      fprintf(stderr, \"%c peer:%d chan:%d \", status, peer, sub->channelId);\n    } else {\n        if (op->state == ncclProxyOpNone) fprintf(stderr, \"\\t[]\");\n        else if (op->state == ncclProxyOpReady) fprintf(stderr, \"\\t[R]\");\n        else fprintf(stderr, \"\\t[UNDEFINED]\");\n      fprintf(stderr, \" peer:%d channel:%d\", peer, sub->channelId);\n    }\n  }\n  if (op->retry_total > 0) fprintf(stderr, \"(retries:%d)\", op->retry_total);\n  fprintf(stderr, \"]\\n\");\n  return ncclSuccess;\n}\nncclResult_t dumpProxyState(struct ncclProxyProgressState* state) {\n  struct ncclProxyArgs* op = state->active;\n  int poolIndex, opIndex;\n  int list_len = 0;\n  fprintf(stderr, \"ACTIVE OPS\\n\");\n  while (op) {\n    NCCLCHECK(getOpIndex(op, state, &poolIndex, &opIndex));\n    if (op->state & OP_SEEN) {\n      WARN(\"List loop at element %d-%d\", poolIndex, opIndex);\n    }\n    NCCLCHECK(printProxyOp(op, poolIndex, opIndex));\n    op->state |= OP_SEEN;\n    struct ncclProxyArgs* nextOp = op->nextPeer;\n    while (nextOp) {\n      NCCLCHECK(getOpIndex(nextOp, state, &poolIndex, &opIndex));\n      if (nextOp->state & OP_SEEN) {\n        WARN(\"List loop at element %d-%d\", poolIndex, opIndex);\n      }\n      fprintf(stderr, \"| `-> \");\n      NCCLCHECK(printProxyOp(nextOp, poolIndex, opIndex));\n      nextOp->state |= OP_SEEN;\n      if (nextOp->next) {\n        WARN(\"Inactive op has next set!\");\n      }\n      nextOp = nextOp->nextPeer;\n    }\n    if (op->nextPeer == NULL) fprintf(stderr, \"|\\n\");\n    op = op->next;\n    fprintf(stderr, \"v\\n\");\n    list_len++;\n  }\n  fprintf(stderr, \"[%d]\\n\\n\", list_len);\n\n# if 0\n  printf(\"FREE OPS\\n\");\n  op = state->pool;\n  while (op) {\n    NCCLCHECK(getOpIndex(op, state, &poolIndex, &opIndex));\n    if (op->state & OP_SEEN) {\n      WARN(\"List loop at element %d-%d\", poolIndex, opIndex);\n    }\n    NCCLCHECK(printProxyOp(op, poolIndex, opIndex));\n    op->state |= OP_SEEN;\n    printf(\"->\");\n    op = op->next;\n  }\n  printf(\"[X]\\n\");\n#else\n  op = state->pool;\n  while (op) {\n    NCCLCHECK(getOpIndex(op, state, &poolIndex, &opIndex));\n    if (op->state & OP_SEEN) {\n      WARN(\"List loop at element %d-%d\", poolIndex, opIndex);\n    }\n    op->state |= OP_SEEN;\n    op = op->next;\n  }\n#endif\n\n  struct ncclProxyPool* pool = state->pools;\n  poolIndex = 0;\n  while (pool) {\n    struct ncclProxyArgs* elem = pool->elems;\n    for (int e=0; e<PROXYARGS_ALLOCATE_SIZE; e++, elem++) {\n      if ((elem->state & OP_SEEN) == 0) {\n        fprintf(stderr, \"Elem %d-%d is not in any list:\\n\", poolIndex, e);\n        NCCLCHECK(printProxyOp(elem, poolIndex, e));\n      } else {\n        elem->state &= ~OP_SEEN;\n      }\n    }\n    pool = pool->next;\n    poolIndex++;\n  }\n  return ncclSuccess;\n}\n\nRCCL_PARAM_DECLARE(EnableProxyTrace);\n\nstatic ncclResult_t ncclProxyOpToArgs(struct ncclProxyOp* op, struct ncclProxyArgs* args, int subIndex) {\n  struct ncclProxySubArgs* sub = args->subs+subIndex;\n  if (subIndex >= NCCL_PROXY_MAX_SUBS) {\n    WARN(\"Proxy append out of bounds\");\n    return ncclInternalError;\n  }\n  //memset(sub, 0, sizeof(struct ncclProxySubArgs));\n  sub->connection = op->connection;\n  sub->channelId = op->channelId;\n  sub->nsteps = op->nsteps;\n  sub->nbytes = op->nbytes;\n  sub->chunkSize = op->chunkSize;\n  sub->offset = 0;\n  sub->loopSize = op->loopSize;\n  sub->loopOffset = op->loopOffset;\n  sub->isOneRPN = op->isOneRPN;\n  sub->peer = op->peer;\n  sub->reg = op->reg;\n  sub->sendMhandle = op->sendMhandle;\n  sub->recvMhandle = op->recvMhandle;\n  sub->sendbuff = op->sendbuff;\n  sub->recvbuff = op->recvbuff;\n  sub->eActivationMask = op->eActivationMask;\n  sub->taskEventHandle = op->taskEventHandle;\n  sub->rank = op->rank;\n  sub->pid = op->pid;\n  sub->profilerContext = op->profilerContext;\n  sub->ringAlgo = op->ringAlgo;\n  sub->workCounter = op->workCounter;\n  args->nsubs = subIndex+1;\n  if (rcclParamEnableProxyTrace()) {\n    sub->traceKey = op->traceKey;\n    sub->traceInfo.funcIdx = op->coll;\n    sub->traceInfo.protocol = op->protocol;\n    sub->traceInfo.pattern = op->pattern;\n    sub->traceInfo.totalBytes = op->totalBytes;\n    sub->traceInfo.chunkSize = op->chunkSize;\n  }\n  if (subIndex) {\n    args->nChannels = std::min(args->nChannels, op->nChannels);\n    args->nPeers = std::min(args->nPeers, op->nPeers);\n    if ((args->sliceSteps != op->sliceSteps) ||\n        (args->chunkSteps != op->chunkSteps) ||\n        (args->protocol != op->protocol) ||\n        (args->dtype != op->dtype) ||\n        (args->redOp != op->redOp) ||\n        (args->coll != op->coll)) {\n      WARN(\"Proxy append mismatch\");\n      return ncclInternalError;\n    }\n    if (args->state != ncclProxyOpReady) {\n      WARN(\"Proxy append on running operation\");\n      return ncclInternalError;\n    }\n    goto exit;\n  }\n  //memset(&args->progress, 0, sizeof(struct ncclProxyArgs)-offsetof(struct ncclProxyArgs, progress));\n  args->done = 0;\n  args->opCount = op->opCount;\n  args->sliceSteps = op->sliceSteps;\n  args->chunkSteps = op->chunkSteps;\n  args->chunkSize = op->chunkSize;\n  args->dtype = op->dtype;\n  args->redOp = op->redOp;\n  args->pattern = op->pattern;\n  args->protocol = op->protocol;\n  args->coll = op->coll;\n  args->collAPI = op->collAPI;\n  args->algorithm = op->algorithm;\n  args->nChannels = op->nChannels;\n  args->nPeers = op->nPeers;\n  args->specifics = op->specifics;\n  args->state = ncclProxyOpReady;\n  args->progress = op->connection->tcomm->proxyProgress;\n  args->proxyAppendPtr = op->connection->proxyAppendPtr;\nexit:\n  if (args->pattern != ncclPatternProfiler) ncclProfilerStartProxyOpEvent(subIndex, args);\n  args->send = op->connection->send;\n  args->prevRank = op->prevRank;\n  args->nextRank = op->nextRank;\n  args->retry_total = 0;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ProxyAppend(struct ncclProxyProgressState* state, struct ncclProxyOp* op) {\n  struct ncclProxyConnection* connection = op->connection;\n  int shared = connection->shared;\n  struct ncclProxyArgs* args = *connection->proxyAppendPtr;\n\n  if (args) {\n    if (shared && args->opCount == op->opCount) {\n      NCCLCHECK(ncclProxyOpToArgs(op, args, args->nsubs));\n      DEBUG_PROXY_PRINT(\"Insert (%d/%5ld/%5ld) as group with %5ld\\n\", shared, args->opCount, op->opCount, OP_INDEX(args));\n    } else {\n      struct ncclProxyArgs* prevArgs = args;\n      NCCLCHECK(allocateArgs(state, &args));\n      NCCLCHECK(ncclProxyOpToArgs(op, args, 0));\n      prevArgs->nextPeer = args;\n      DEBUG_PROXY_PRINT(\"Insert  %5ld (%d/%5ld/%5ld) as nextPeer of %5ld\\n\", OP_INDEX(args), shared, prevArgs->opCount, args->opCount, OP_INDEX(prevArgs));\n      *(args->proxyAppendPtr) = args;\n    }\n  } else {\n    // Nothing running for that peer. Add to the list\n    NCCLCHECK(allocateArgs(state, &args));\n    NCCLCHECK(ncclProxyOpToArgs(op, args, 0));\n    if (state->active == NULL) {\n      // Create the list\n      DEBUG_PROXY_PRINT(\"Insert  %5ld (%d/%5ld) as first element\\n\", OP_INDEX(args), shared, args->opCount);\n      state->active = args;\n    } else {\n      // Append element at the end of the list\n      struct ncclProxyArgs* last = state->active;\n      while (last->next) last = last->next;\n      last->next = args;\n      DEBUG_PROXY_PRINT(\"Insert  %5ld (%d/%5ld) as last element\\n\", OP_INDEX(args), shared, args->opCount);\n    }\n    *(args->proxyAppendPtr) = args;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclProxyPost(struct ncclProxyOpsPool* pool, int nextOps, int nextOpsEnd) {\n  pthread_mutex_lock(&pool->mutex);\n  if (pool->nextOps == -1) {\n    pool->nextOps = nextOps;\n    pthread_cond_signal(&pool->cond);\n  } else {\n    pool->ops[pool->nextOpsEnd].next = nextOps;\n  }\n  pool->nextOpsEnd = nextOpsEnd;\n  pthread_mutex_unlock(&pool->mutex);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclLocalOpAppend(struct ncclComm* comm, struct ncclProxyConnector* proxyConn, struct ncclProxyOp* proxyOp) {\n  int tpLocalRank = comm->topParentLocalRanks[comm->localRank];\n  struct ncclProxyOps* proxyOps = comm->proxyState->proxyOps;\n  if (proxyOps == NULL) return ncclInternalError;\n  proxyOps += proxyConn->tpLocalRank;\n  struct ncclProxyOpsPool* pool = proxyOps->pool;\n\n  TIME_START(0);\n  int opIndex = proxyOps->freeOp;\n  struct ncclProxyOp* op;\n  if (opIndex != -1) {\n    op = pool->ops+opIndex;\n    proxyOps->freeOp = op->next;\n  } else {\n    int freeOp;\n    while ((freeOp = pool->freeOps[tpLocalRank]) == -1) sched_yield();\n    int freeOpNew;\n    while ((freeOpNew = __sync_val_compare_and_swap(pool->freeOps+tpLocalRank, freeOp, -1)) != freeOp) freeOp = freeOpNew;\n    opIndex = freeOp;\n    op = pool->ops+opIndex;\n    proxyOps->freeOp = op->next;\n  }\n  if (op->next != -1) __builtin_prefetch(pool->ops+op->next); // Prefetch next free op\n  memcpy(op, proxyOp, sizeof(struct ncclProxyOp));\n  if (proxyOp->ringAlgo) proxyOp->ringAlgo->incRefCount();\n  op->next = -1;\n  op->connection = proxyConn->connection;\n  if (proxyOps->nextOps == -1) {\n    proxyOps->nextOps = proxyOps->nextOpsEnd = opIndex;\n  } else {\n    pool->ops[proxyOps->nextOpsEnd].next = opIndex;\n    proxyOps->nextOpsEnd = opIndex;\n  }\n  if (++proxyOps->count == MAX_OPS_PER_PEER) {\n    // Post what we have so far to free some ops in the pool\n    // Do not post last operations as we could have more coming with the same opCount, and posting\n    // them in different batches would break proxyArgs aggregation with subs.\n    uint64_t lastOpCount = pool->ops[proxyOps->nextOpsEnd].opCount;\n    int lastOp = -1;\n    int toSend = 0;\n    int ops = 0;\n    for (int op= proxyOps->nextOps; op != proxyOps->nextOpsEnd; op=pool->ops[op].next) {\n      ops++;\n      if (pool->ops[op].opCount != lastOpCount) {\n        lastOp = op;\n        toSend = ops;\n      }\n    }\n    if (lastOp == -1) {\n      WARN(\"Unable to post incomplete proxy op chain %d..%d (opCount %ld)\", proxyOps->nextOps, proxyOps->nextOpsEnd, lastOpCount);\n      return ncclInternalError;\n    }\n    // Cut chain at lastOp\n    int nextOps = proxyOps->nextOps;\n    proxyOps->nextOps = pool->ops[lastOp].next;\n    pool->ops[lastOp].next = -1;\n    NCCLCHECK(ncclProxyPost(proxyOps->pool, nextOps, lastOp));\n    proxyOps->count -= toSend;\n  }\n  TIME_STOP(0);\n  return ncclSuccess;\n}\n\nstatic void incWorkCounter(struct ncclComm* comm, struct ncclProxyOp* op) {\n  op->workCounter = (op->incWorkCounter) ? ++comm->profiler.workCounter[op->channelId] : comm->profiler.workCounter[op->channelId];\n}\n\nstatic ncclResult_t SaveProxyProfiler(struct ncclComm* comm, struct ncclProxyOp* op, bool* justInquire) {\n  struct ncclProxyConnector* proxyConn = (op->coll == ncclFuncRecv) ? &comm->profiler.recvProxyConn[op->channelId] : &comm->profiler.sendProxyConn[op->channelId];\n  if (justInquire) {\n    *justInquire = true;\n    if (!comm->planner.persistent) incWorkCounter(comm, op);\n  } else {\n    op->sendbuff = (uint8_t *)comm->profiler.workStarted;\n    op->recvbuff = (uint8_t *)comm->profiler.workCompleted;\n    // Ensure that in graph capturing the proxy workCounter is incremented to keep up with kernel workCounter\n    if (comm->planner.persistent) incWorkCounter(comm, op);\n    NCCLCHECK(ncclLocalOpAppend(comm, proxyConn, op));\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t SaveProxy(struct ncclComm* comm, struct ncclChannel* channel, int type, int peer, struct ncclProxyOp* op, int connIndex, bool* justInquire) {\n  if (peer < 0) return ncclSuccess;\n\n  struct ncclChannelPeer* peerComm = channel->peers[peer];\n  struct ncclConnector* connector = type == proxyRecv ? peerComm->recv+connIndex : peerComm->send+connIndex;\n  if (connector->transportComm == NULL) {\n    WARN(\"Rank %d has no transport for %s peer %d on channel %d/%d\", comm->rank,\n        type == proxyRecv ? \"recv\" : \"send\", peer, channel->id, connIndex);\n    return ncclInternalError;\n  }\n  if (connector->proxyConn.proxyProgress == NULL) return ncclSuccess;\n\n  if (justInquire) *justInquire = true;\n  else {\n    op->peer = peer;\n    NCCLCHECK(ncclLocalOpAppend(comm, &connector->proxyConn, op));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t mscclSaveProxy(struct ncclComm* comm, struct ncclChannel* channel, int type, int peer, struct ncclProxyOp* op, int connIndex) {\n  NCCLCHECK(SaveProxy(comm, channel, type, peer, op, connIndex, nullptr));\n  return ncclSuccess;\n}\n\n// justInquire != nullptr means don't actually do anything, just assertain need of\n// ncclProxySaveOp for this op.\nncclResult_t ncclProxySaveOp(struct ncclComm* comm, struct ncclProxyOp* op, bool* justInquire) {\n  struct ncclChannel* channel = &comm->channels[op->channelId];\n  if (justInquire) *justInquire = false;\n  switch (op->pattern) {\n  case ncclPatternRing:\n  case ncclPatternRingTwice:\n  case ncclPatternPipelineFrom:\n  case ncclPatternPipelineTo: {\n      struct ncclRing* ring = &channel->ring;\n      if (NeedProxy(proxyRecv, op->pattern, op->root, ring, comm->nRanks)) {\n        op->prevRank = ring->prev;\n        op->nextRank = ring->next;\n        NCCLCHECK(SaveProxy(comm, channel, proxyRecv, ring->prev, op, op->connIndex, justInquire));\n      }\n      if (NeedProxy(proxySend, op->pattern, op->root, ring, comm->nRanks)) {\n        op->prevRank = ring->prev;\n        op->nextRank = ring->next;\n        NCCLCHECK(SaveProxy(comm, channel, proxySend, ring->next, op, op->connIndex, justInquire));\n      }\n    } break;\n  case ncclPatternTreeUp:\n  case ncclPatternTreeDown:\n  case ncclPatternTreeUpDown: {\n      if (op->pattern != ncclPatternTreeDown) { // Tree up\n        struct ncclTree* tree = &channel->tree;\n        for (int i=0; i<NCCL_MAX_TREE_ARITY; i++) {\n          NCCLCHECK(SaveProxy(comm, channel, proxyRecv, tree->down[i], op, 0, justInquire));\n        }\n        NCCLCHECK(SaveProxy(comm, channel, proxySend, tree->up, op, 0, justInquire));\n      }\n      if (op->pattern != ncclPatternTreeUp) { // Tree down\n        struct ncclTree* tree = &channel->tree;\n        for (int i=0; i< NCCL_MAX_TREE_ARITY; i++) {\n          NCCLCHECK(SaveProxy(comm, channel, proxySend, tree->down[i], op, 0, justInquire));\n        }\n        NCCLCHECK(SaveProxy(comm, channel, proxyRecv, tree->up, op, 0, justInquire));\n      }\n    } break;\n  case ncclPatternCollnetChain: {\n      NCCLCHECK(SaveProxy(comm, channel, proxySend, channel->collnetChain.up, op, 1, justInquire));\n      NCCLCHECK(SaveProxy(comm, channel, proxyRecv, channel->collnetChain.up, op, 0, justInquire));\n    } break;\n  case ncclPatternCollnetDirect: {\n      NCCLCHECK(SaveProxy(comm, channel, proxySend, channel->collnetDirect.out, op, 1, justInquire));\n      NCCLCHECK(SaveProxy(comm, channel, proxyRecv, channel->collnetDirect.out, op, 0, justInquire));\n    } break;\n  case ncclPatternNvls: {\n      NCCLCHECK(SaveProxy(comm, channel, proxySend, channel->nvls.out, op, 1, justInquire));\n      NCCLCHECK(SaveProxy(comm, channel, proxyRecv, channel->nvls.out, op, 0, justInquire));\n    } break;\n  case ncclPatternNvlsTree: {\n      NCCLCHECK(SaveProxy(comm, channel, proxyRecv, channel->nvls.treeDown[1], op, 0, justInquire));\n      NCCLCHECK(SaveProxy(comm, channel, proxyRecv, channel->nvls.treeDown[2], op, 0, justInquire));\n      NCCLCHECK(SaveProxy(comm, channel, proxySend, channel->nvls.treeUp, op, 0, justInquire));\n      NCCLCHECK(SaveProxy(comm, channel, proxySend, channel->nvls.treeDown[1], op, 0, justInquire));\n      NCCLCHECK(SaveProxy(comm, channel, proxySend, channel->nvls.treeDown[2], op, 0, justInquire));\n      NCCLCHECK(SaveProxy(comm, channel, proxyRecv, channel->nvls.treeUp, op, 0, justInquire));\n    } break;\n  case ncclPatternPatUp: {\n      // Run full algorithm to count the number of steps for each peer.\n      ncclResult_t result = ncclSuccess;\n      const ssize_t size = op->nbytes/comm->nRanks;\n      const int rank = comm->rank, nranks = comm->nRanks;\n      int *nstepsSend = NULL, *nstepsRecv = NULL;\n      PatRSAlgorithm<char> algo(op->chunkSize, NCCL_STEPS, 16, 0, size, size, op->chunkSize, rank, nranks);\n      struct ncclPatStep ps = {0};\n      NCCLCHECKGOTO(ncclCalloc(&nstepsSend, log2Up(nranks)), result, exit_pat_up);\n      NCCLCHECKGOTO(ncclCalloc(&nstepsRecv, log2Up(nranks)), result, exit_pat_up);\n\n      do {\n        algo.getNextOp(&ps);\n        if (ps.flags & PatSkipped) continue;\n        if (ps.recvDim != -1 && ps.postRecv) nstepsRecv[ps.recvDim]++;\n        if (ps.sendDim != -1 && ps.postSend) nstepsSend[ps.sendDim]++;\n      } while (ps.last != 2);\n      for (int i=0; i<log2Up(nranks); i++) {\n        if (nstepsSend[i]) {\n          int sendPeer = (rank + (1<<i)) % nranks;\n          op->nsteps = nstepsSend[i];\n          NCCLCHECKGOTO(SaveProxy(comm, channel, proxySend, sendPeer, op, 0, justInquire), result, exit_pat_up);\n        }\n        if (nstepsRecv[i]) {\n          int recvPeer = (rank - (1<<i) + nranks) % nranks;\n          op->nsteps = nstepsRecv[i];\n          NCCLCHECKGOTO(SaveProxy(comm, channel, proxyRecv, recvPeer, op, 0, justInquire), result, exit_pat_up);\n        }\n      }\n    exit_pat_up:\n      free(nstepsSend);\n      free(nstepsRecv);\n      NCCLCHECK(result);\n    } break;\n  case ncclPatternPatDown: {\n      // Run full algorithm to count the number of steps for each peer.\n      ncclResult_t result = ncclSuccess;\n      const ssize_t size = op->nbytes/comm->nRanks;\n      const int rank = comm->rank, nranks = comm->nRanks;\n      int *nstepsSend = NULL, *nstepsRecv = NULL;\n      PatAGAlgorithm<char> algo(op->chunkSize, NCCL_STEPS, 16, 0, size, size, op->chunkSize, rank, nranks);\n      struct ncclPatStep ps = {0};\n      NCCLCHECKGOTO(ncclCalloc(&nstepsSend, log2Up(nranks)), result, exit_pat_down);\n      NCCLCHECKGOTO(ncclCalloc(&nstepsRecv, log2Up(nranks)), result, exit_pat_down);\n\n      do {\n        algo.getNextOp(&ps);\n        if (ps.flags & PatSkipped) continue;\n        if (ps.recvDim != -1 && ps.postRecv) nstepsRecv[ps.recvDim]++;\n        if (ps.sendDim != -1 && ps.postSend) nstepsSend[ps.sendDim]++;\n      } while (ps.last != 2);\n      for (int i=0; i<log2Up(nranks); i++) {\n        if (nstepsSend[i]) {\n          int sendPeer = (rank - (1<<i) + nranks) % nranks;\n          op->nsteps = nstepsSend[i];\n          NCCLCHECKGOTO(SaveProxy(comm, channel, proxySend, sendPeer, op, 0, justInquire), result, exit_pat_down);\n        }\n        if (nstepsRecv[i]) {\n          int recvPeer = (rank + (1<<i)) % nranks;\n          op->nsteps = nstepsRecv[i];\n          NCCLCHECKGOTO(SaveProxy(comm, channel, proxyRecv, recvPeer, op, 0, justInquire), result, exit_pat_down);\n        }\n      }\n    exit_pat_down:\n      free(nstepsSend);\n      free(nstepsRecv);\n      NCCLCHECK(result);\n    } break;\n  case ncclPatternSend:\n  case ncclPatternRecv: {\n      if (op->root == comm->rank) return ncclSuccess;\n      NCCLCHECK(SaveProxy(comm, channel, op->pattern == ncclPatternSend ? proxySend : proxyRecv, op->root, op, op->connIndex, justInquire));\n    } break;\n  case ncclPatternProfiler: {\n      if (ncclProfilerNeedsProxy(comm, op)) NCCLCHECK(SaveProxyProfiler(comm, op, justInquire));\n      else incWorkCounter(comm, op);\n    } break;\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t removeOp(struct ncclProxyProgressState* state, struct ncclProxyArgs** opPtr, struct ncclProxyArgs** prevOpPtr) {\n  struct ncclProxyArgs* freeOp = *opPtr;\n  struct ncclProxyArgs* next = freeOp->next;\n  DEBUG_PROXY_PRINT(\"Remove %ld -> %ld -> %ld\\n\", OP_INDEX(*prevOpPtr), OP_INDEX(freeOp), OP_INDEX(next));\n  *opPtr = next;\n  if (freeOp->nextPeer) {\n    // replace op by nextPeer\n    struct ncclProxyArgs* nextPeer = freeOp->nextPeer;\n    if (*prevOpPtr) {\n      (*prevOpPtr)->next = nextPeer;\n    } else {\n      state->active = nextPeer;\n    }\n    nextPeer->next = next;\n    *(prevOpPtr) = nextPeer;\n  } else {\n    *(freeOp->proxyAppendPtr) = NULL;\n    if (*prevOpPtr) {\n      (*prevOpPtr)->next = next;\n    } else {\n      state->active = next;\n    }\n  }\n  freeOp->next = state->pool;\n  freeOp->nextPeer = NULL;\n  state->pool = freeOp;\n  DEBUG_PROXY_PRINT(\"Removed %5ld (%5ld) : \", OP_INDEX(freeOp), OP_INDEX(*freeOp->proxyAppendPtr));\n#ifdef DEBUG_PROXY\n  NCCLCHECK(dumpProxyState(state));\n#endif\n  return ncclSuccess;\n}\n\nstatic ncclResult_t progressOps(struct ncclProxyState* proxyState, struct ncclProxyProgressState* state, struct ncclProxyArgs* opStart, int* idle) {\n  struct ncclProxyArgs* prevOp = NULL;\n  struct ncclProxyArgs* op = opStart;\n  ncclResult_t status = ncclSuccess;\n  while (op) {\n    op->retry_total++;\n    if (op->state == ncclProxyOpNone) return ncclInternalError;\n    TIME_START(0); TIME_START(1);\n    ncclResult_t ret = op->progress(proxyState, op);\n    if (op->idle) { TIME_STOP(1); TIME_CANCEL(0); } else { TIME_CANCEL(1); TIME_STOP(0); }\n    *idle &= op->idle;\n    if (op->state == ncclProxyOpNone || ret != ncclSuccess) {\n      //track first error that occured\n      if (ret != ncclSuccess && status == ncclSuccess) status = ret;\n      TIME_START(2);\n      NCCLCHECK(removeOp(state, &op, &prevOp));\n      TIME_STOP(2);\n    } else {\n      prevOp = op;\n      op = op->next;\n    }\n  }\n  return status;\n}\n\nNCCL_PARAM(ProxyAppendBatchSize, \"PROXY_APPEND_BATCH_SIZE\", 16);\n\nstatic ncclResult_t ncclProxyGetPostedOps(struct ncclProxyState* proxyState, int* added) {\n  struct ncclProxyProgressState* state = &proxyState->progressState;\n  if (state->opsPool == NULL) return ncclInternalError;\n  struct ncclProxyOpsPool* pool = state->opsPool;\n\n  if (state->nextOps != -1) goto process_nextops;\n\n  void* eHandle;\n  // If we have ops to progress, no need to block waiting for something to arrive or even wait for the lock\n  // to be available. Exit, continue progress, and come back later.\n  if (state->active != NULL && (pool->nextOps == -1 || pthread_mutex_trylock(&pool->mutex) != 0)) return ncclSuccess;\n\n  if (state->active == NULL) {\n    pthread_mutex_lock(&pool->mutex);\n    if (pool->nextOps == -1 && !state->stop) {\n      ncclProfilerStartProxyCtrlEvent(proxyState->profilerContext, &eHandle);\n      ncclProfilerRecordProxyCtrlEventState(eHandle, 0, ncclProfilerProxyCtrlSleep);\n      pthread_cond_wait(&pool->cond, &pool->mutex);\n      ncclProfilerRecordProxyCtrlEventState(eHandle, 0, ncclProfilerProxyCtrlWakeup);\n      ncclProfilerStopProxyCtrlEvent(eHandle);\n    }\n  }\n  state->nextOps = pool->nextOps;\n  pool->nextOps = pool->nextOpsEnd = -1;\n  pthread_mutex_unlock(&pool->mutex);\n\nprocess_nextops:\n  ncclProfilerStartProxyCtrlEvent(proxyState->profilerContext, &eHandle);\n  ncclProfilerRecordProxyCtrlEventState(eHandle, 0, ncclProfilerProxyCtrlAppend);\n  TIME_START(2);\n  int freeOp[NCCL_MAX_PROXY_CONNECTIONS];\n  int freeOpEnd[NCCL_MAX_PROXY_CONNECTIONS];\n  for (int i = 0; i < proxyState->tpLocalnRanks; i++) freeOp[i] = -1;\n\n  uint64_t lastOpCount = 0;\n  int lastPeer = -1;\n  int count = 0;\n  for (int opIndex = state->nextOps; opIndex != -1;) {\n    struct ncclProxyOp* peerOp = pool->ops+opIndex;\n    int peer = opIndex / MAX_OPS_PER_PEER;\n    if ((lastOpCount && peerOp->opCount != lastOpCount) || ((lastPeer != -1) && peer != lastPeer)) count++;\n    if (count == ncclParamProxyAppendBatchSize()+1) break;\n    lastOpCount = peerOp->opCount;\n    lastPeer = peer;\n    if (peerOp->connection == NULL) return ncclInternalError;\n    if (peerOp->next != -1) __builtin_prefetch(pool->ops+peerOp->next);\n    NCCLCHECK(ProxyAppend(state, peerOp));\n    (*added)++;\n    int lastOpIndex = opIndex;\n    opIndex = peerOp->next;\n    // Return op to peer pool\n    if (freeOp[peer] == -1) {\n      freeOpEnd[peer] = lastOpIndex;\n    } else {\n      peerOp->next = freeOp[peer];\n    }\n    freeOp[peer] = lastOpIndex;\n    state->nextOps = opIndex;\n  }\n\n  for (int i = 0; i < proxyState->tpLocalnRanks; i++) {\n    if (freeOp[i] == -1) continue;\n    int newFree = freeOp[i];\n    int oldFree = pool->freeOps[i];\n    // Coverity gets confused by the complex code structure here.  The previous \"for\" loop ensures that freeOpEnd[i]\n    // is initialized so long as freeOp[i] is initialized (is not -1).  In the current loop we filter out uninitialized\n    // freeOp[i], hence ensuring that freeOpEnd[i] is also initialized.\n    // coverity[uninit_use:FALSE]\n    pool->ops[freeOpEnd[i]].next = oldFree;\n    if (oldFree == -1) {\n      // Nothing for the main thread to consume, we can set it.\n      pool->freeOps[i] = newFree;\n    } else {\n      // The main thread may recycle free ops at any time, replace the freeOps value atomically and check it worked.\n      int swap = __sync_val_compare_and_swap(pool->freeOps+i, oldFree, newFree);\n      if (swap != oldFree) {\n        if (swap != -1) return ncclInternalError;\n        // Ops were recycled while we were trying to swap, just set the value directly now.\n        pool->ops[freeOpEnd[i]].next = -1;\n        pool->freeOps[i] = newFree;\n      }\n    }\n  }\n  ncclProfilerRecordProxyCtrlEventState(eHandle, *added, ncclProfilerProxyCtrlAppendEnd);\n  ncclProfilerStopProxyCtrlEvent(eHandle);\n  TIME_STOP(2);\n  return ncclSuccess;\n}\n\n#include <signal.h>\nstatic ncclProxyProgressState* ncclLastProxyState;\nvoid ncclDumpProxyState(int signal) {\n  fprintf(stderr, \"received signal %d...\\n\", signal);\n  dumpProxyState(ncclLastProxyState);\n}\n\nNCCL_PARAM(CreateThreadContext, \"CREATE_THREAD_CONTEXT\", 0);\nstatic int setProxyThreadContext(struct ncclProxyState* proxyState) {\n#if CUDART_VERSION >= 11030\n  static int createThreadContext = -1;\n\n  if (createThreadContext == -1) {\n    createThreadContext = ncclParamCreateThreadContext();\n    if (createThreadContext) {\n      if (CUPFN(cuCtxCreate) == nullptr || CUPFN(cuCtxDestroy) == nullptr || CUPFN(cuCtxSetCurrent) == nullptr) {\n        WARN(\"Unable to create thread context due to old driver, disabling.\");\n        createThreadContext = 0;\n        goto exit;\n      }\n    }\n  }\n  if (createThreadContext) {\n    if (proxyState->cudaCtx == NULL) {\n      if (CUPFN(cuCtxCreate(&proxyState->cudaCtx,\n                            NULL, 0, CU_CTX_SCHED_SPIN|CU_CTX_MAP_HOST, proxyState->cudaDev)) != CUDA_SUCCESS) {\n        WARN(\"Failed to create CUDA context on device %d\", proxyState->cudaDev);\n        createThreadContext = 0;\n        goto exit;\n      }\n    } else {\n      if (CUPFN(cuCtxSetCurrent(proxyState->cudaCtx)) != CUDA_SUCCESS) {\n        WARN(\"Failed to set CUDA context on device %d\", proxyState->cudaDev);\n        goto exit;\n      }\n    }\n    return 1;\n  }\nexit:\n#endif\n  return 0;\n}\n\n// Set to SIGUSR1 or SIGUSR2 to help debug proxy state during hangs\nNCCL_PARAM(ProxyDumpSignal, \"PROXY_DUMP_SIGNAL\", -1);\nNCCL_PARAM(ProgressAppendOpFreq, \"PROGRESS_APPENDOP_FREQ\", 8);\n\nstatic cpu_set_t proxyCpuset;\nstatic pthread_once_t proxyCpusetOnce = PTHREAD_ONCE_INIT;\nvoid proxyCpusetOnceFunc() {\n  const char* setEnv = ncclGetEnv(\"NCCL_PROXY_CPUSET\");\n  if (setEnv) {\n    ncclResult_t res = ncclStrListToCpuset(setEnv, &proxyCpuset);\n    if (res != ncclSuccess) {\n      INFO(NCCL_ENV, \"failed to decode NCCL_PROXY_CPUSET=%s. Ignoring\", setEnv);\n      goto fail;\n    }\n    // debug info\n    char msg[1024] = {0};\n    cpu_set_t currSet;\n    sched_getaffinity(0, sizeof(cpu_set_t), &currSet);\n    (void)ncclCpusetToStrList(&currSet, msg, sizeof(msg));\n    snprintf(msg + strlen(msg), sizeof(msg) - strlen(msg), \" changed to \");\n    (void)ncclCpusetToStrList(&proxyCpuset, msg + strlen(msg), sizeof(msg) - strlen(msg));\n    INFO(NCCL_ENV, \"NCCL_PROXY_CPUSET = %s: %s\", setEnv, msg);\n    return;\n  }\n  // if we arrive here we have either no env or we have failed to decode it\nfail:\n  CPU_ZERO(&proxyCpuset);\n  return;\n}\n\nvoid* ncclProxyProgress(void *proxyState_) {\n  struct ncclProxyState* proxyState = (struct ncclProxyState*)proxyState_;\n\n  // This thread is created by proxyService, therefore setting the affinity is not needed.\n  INFO(NCCL_INIT, \"[Proxy Progress] Device %d CPU core %d\", proxyState->cudaDev, sched_getcpu());\n\n  if (setProxyThreadContext(proxyState)) {\n    INFO(NCCL_INIT, \"[Proxy Progress] Set CUDA context on device %d\", proxyState->cudaDev);\n  } else if (cudaSetDevice(proxyState->cudaDev) != cudaSuccess) {\n    WARN(\"[Proxy Progress] Failed to set CUDA device %d\", proxyState->cudaDev);\n  }\n\n  struct ncclProxyProgressState* state = &proxyState->progressState;\n  state->nextOps = -1;\n  const int sig = ncclParamProxyDumpSignal();\n  if (sig != -1) signal(sig, ncclDumpProxyState);\n  ncclLastProxyState = state;\n  char threadName[NCCL_THREAD_NAMELEN];\n  snprintf(threadName, NCCL_THREAD_NAMELEN, \"NCCL Progress%2d\", proxyState->cudaDev);\n  nvtxNameOsThreadA(syscall(SYS_gettid), threadName);\n\n  int lastIdle = 0;\n  /* Too frequent call of ncclProxyGetPostedOps() will result in perf regression for small message\n   * communication. proxyOpAppendCounter is a counter that helps us decide if we need to append proxy ops.\n   * After each progress, proxyOpAppendCounter will increase by 1 and compare with environment variable\n   * ncclParamProgressAppendOpFreq(). If they are equal, we will append proxy ops. This will decrease the\n   * frequency of calling ncclProxyGetPostedOps() and reduce the perf impact. */\n  int proxyOpAppendCounter = 0;\n  do {\n    int idle = 1;\n    ncclResult_t ret = progressOps(proxyState, state, state->active, &idle);\n    if (ret != ncclSuccess) {\n      __atomic_store_n(&proxyState->asyncResult, ret, __ATOMIC_RELEASE);\n      INFO(NCCL_ALL,\"%s:%d -> %d [Progress Thread]\", __FILE__, __LINE__, ret);\n      break;\n    }\n    if ((lastIdle == 0 && idle == 1) || (lastIdle == 1 && idle == 0)) {\n      void* eHandle;\n      ncclProfilerStartProxyCtrlEvent(proxyState->profilerContext, &eHandle);\n      if (lastIdle == 0 && idle == 1) ncclProfilerRecordProxyCtrlEventState(eHandle, 0, ncclProfilerProxyCtrlIdle);\n      if (lastIdle == 1 && idle == 0) ncclProfilerRecordProxyCtrlEventState(eHandle, 0, ncclProfilerProxyCtrlActive);\n      ncclProfilerStopProxyCtrlEvent(eHandle);\n    }\n    if (idle || !state->active || (++proxyOpAppendCounter == ncclParamProgressAppendOpFreq())) {\n      int added = 0;\n      proxyOpAppendCounter = 0;\n      TIME_START(3);\n      ret = ncclProxyGetPostedOps(proxyState, &added);\n      if (added) { TIME_STOP(3); } else { TIME_CANCEL(3); }\n      if (ret != ncclSuccess) {\n        __atomic_store_n(&proxyState->asyncResult, ret, __ATOMIC_RELEASE);\n        INFO(NCCL_ALL,\"%s:%d -> %d [Progress Thread]\", __FILE__, __LINE__, ret);\n      }\n      if (added == 0) {\n        sched_yield(); // No request progressed. Let others run.\n      }\n    }\n    lastIdle = idle;\n  } while ((state->stop == 0 || (state->stop == 1 && state->active)) && __atomic_load_n(proxyState->abortFlag, __ATOMIC_ACQUIRE) == 0);\n  return NULL;\n}\n\nncclResult_t ncclProxyStart(struct ncclComm* comm) {\n  struct ncclProxyOps* proxyOps = comm->proxyState->proxyOps;\n  if (proxyOps == NULL) return ncclSuccess;\n  TIME_START(1);\n  for (int r = 0; r < comm->sharedRes->tpNLocalRanks; r++) {\n    struct ncclProxyOps* ops = proxyOps + r;\n    if (ops->pool == NULL || ops->nextOps == -1) continue;\n    NCCLCHECK(ncclProxyPost(ops->pool, ops->nextOps, ops->nextOpsEnd));\n    ops->nextOps = ops->nextOpsEnd = -1;\n    ops->count = 0;\n  }\n  comm->opCount++;\n  TIME_STOP(1);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclProxyProgressCreate(struct ncclProxyState* proxyState) {\n  struct ncclProxyProgressState* state = &proxyState->progressState;\n  if (!state->thread) {\n    PTHREADCHECK(pthread_create(&state->thread, NULL, ncclProxyProgress, proxyState), \"pthread_create\");\n    ncclSetThreadName(state->thread, \"NCCL Progress%2d\", proxyState->tpLocalnRanks);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclProxyProgressDestroy(struct ncclProxyState* proxyState) {\n  struct ncclProxyProgressState* state = &proxyState->progressState;\n\n  // Request the proxy to stop and then wake it\n  if (state->opsPool) {\n    pthread_mutex_lock(&state->opsPool->mutex);\n    state->stop = 1;\n    pthread_cond_signal(&state->opsPool->cond);\n    pthread_mutex_unlock(&state->opsPool->mutex);\n    PTHREADCHECK(pthread_join(state->thread, NULL), \"pthread_join\");\n  }\n\n  // Free off any memory allocated for the proxy arg pools\n  while (state->pools != NULL) {\n    struct ncclProxyPool *next = state->pools->next;\n    free(state->pools);\n    state->pools = next;\n  }\n\n  TIME_PRINT(\"Proxy\");\n  return ncclSuccess;\n}\n\n#define NCCL_PROXY_CONN_POOL_SIZE_POW2 7\n#define NCCL_PROXY_CONN_POOL_SIZE (1<<(NCCL_PROXY_CONN_POOL_SIZE_POW2))\n#define NCCL_PROXY_CONN_POOL_MASK ((NCCL_PROXY_CONN_POOL_SIZE)-1)\nstruct ncclProxyConnectionPool {\n  struct ncclProxyConnection** pools;\n  int banks;\n  int offset;\n};\n\nstatic ncclResult_t ncclProxyNewConnection(struct ncclProxyConnectionPool* pool, int* id) {\n  if (pool->offset == NCCL_PROXY_CONN_POOL_SIZE) {\n    NCCLCHECK(ncclRealloc(&pool->pools, pool->banks, pool->banks+1));\n    NCCLCHECK(ncclCalloc(pool->pools+pool->banks, NCCL_PROXY_CONN_POOL_SIZE));\n    pool->banks++;\n    pool->offset = 0;\n  }\n  *id = ((pool->banks-1) << NCCL_PROXY_CONN_POOL_SIZE_POW2) + pool->offset;\n  pool->offset++;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclProxyGetConnection(struct ncclProxyConnectionPool* pool, int id, struct ncclProxyConnection** conn) {\n  int bank = id>>NCCL_PROXY_CONN_POOL_SIZE_POW2;\n  int offset = id&NCCL_PROXY_CONN_POOL_MASK;\n  if ((pool->pools == NULL) || (bank > pool->banks) || (pool->pools[bank] == NULL)) return ncclInternalError;\n  *conn = pool->pools[bank]+offset;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t proxyFree(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState) {\n  if (connection->send) {\n    if (ncclTransports[connection->transport]->send.proxyFree) {\n      NCCLCHECK(ncclTransports[connection->transport]->send.proxyFree(connection, proxyState));\n    }\n  } else {\n    if (ncclTransports[connection->transport]->recv.proxyFree) {\n      NCCLCHECK(ncclTransports[connection->transport]->recv.proxyFree(connection, proxyState));\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclProxyFreeConnections(struct ncclProxyConnectionPool* pool, struct ncclProxyState* proxyState) {\n  for (int b=0; b<pool->banks; b++) {\n    int max = b == pool->banks-1 ? pool->offset : NCCL_PROXY_CONN_POOL_SIZE;\n    for (int i=0; i<max; i++) {\n      ncclProxyConnection *connection = pool->pools[b]+i;\n      if (connection->state != connUninitialized) {\n        NCCLCHECK(proxyFree(connection, proxyState));\n      }\n    }\n    free(pool->pools[b]);\n  }\n  free(pool->pools);\n  return ncclSuccess;\n}\n\n#include \"transport.h\"\n\nstruct ncclProxyInitReq {\n  int transport;\n  int send;\n  int tpLocalRank;\n  int tpRank;\n  int sameProcess;\n};\n\nstruct ncclProxyInitResp {\n  ncclProxyConnection* connection;\n  char devShmPath[6]; // \"XXXXXX\" - May or may not be set\n};\n\nncclResult_t ncclProxyConnect(struct ncclComm* comm, int transport, int send, int proxyRank, struct ncclProxyConnector* proxyConn) {\n  struct ncclSocket* sock;\n  int ready;\n  struct ncclProxyState* sharedProxyState = comm->proxyState;\n  int tpProxyRank = comm->topParentRanks[proxyRank];\n\n  proxyConn->sameProcess = ((comm->peerInfo[proxyRank].hostHash == comm->peerInfo[comm->rank].hostHash) &&\n                            (comm->peerInfo[proxyRank].pidHash == comm->peerInfo[comm->rank].pidHash)) ? 1 : 0;\n  // Keep one connection per local rank\n  proxyConn->connection = NULL;\n  proxyConn->tpRank = tpProxyRank;\n  proxyConn->rank = proxyRank;\n  if (sharedProxyState->peerSocks == NULL) {\n    NCCLCHECK(ncclCalloc(&sharedProxyState->peerSocks, comm->sharedRes->tpNLocalRanks));\n    NCCLCHECK(ncclCalloc(&sharedProxyState->proxyOps, comm->sharedRes->tpNLocalRanks));\n    NCCLCHECK(ncclCalloc(&sharedProxyState->sharedDevMems, comm->sharedRes->tpNLocalRanks));\n    for (int i = 0; i < comm->sharedRes->tpNLocalRanks; ++i) {\n      NCCLCHECK(ncclSocketSetFd(-1, &sharedProxyState->peerSocks[i]));\n    }\n  }\n\n  proxyConn->tpLocalRank = comm->sharedRes->tpRankToLocalRank[proxyConn->tpRank];\n  sock = sharedProxyState->peerSocks + proxyConn->tpLocalRank;\n  NCCLCHECK(ncclSocketReady(sock, &ready));\n  if (!ready) {\n    NCCLCHECK(ncclSocketInit(sock, sharedProxyState->peerAddresses+proxyConn->tpRank, comm->sharedRes->magic, ncclSocketTypeProxy, comm->abortFlag));\n    NCCLCHECK(ncclSocketConnect(sock));\n  }\n\n  struct ncclProxyInitReq req = {0};\n  req.transport = transport;\n  req.send = send;\n  req.tpLocalRank = comm->topParentLocalRanks[comm->localRank];\n  req.tpRank = comm->topParentRanks[comm->rank];\n  req.sameProcess = proxyConn->sameProcess;\n\n  struct ncclProxyInitResp resp = {0};\n  // This usually sends proxyConn->connection to identify which connection this is.\n  // However, this is part of the response and therefore is ignored\n  NCCLCHECK(ncclProxyCallBlocking(comm, proxyConn, ncclProxyMsgInit, &req, sizeof(req), &resp, sizeof(resp)));\n  proxyConn->connection = resp.connection;\n\n  // If we need proxy progress, map progress ops\n  struct ncclTransportComm* tcomm = send ? &ncclTransports[transport]->send : &ncclTransports[transport]->recv;\n  if (tcomm->proxyProgress) {\n    char poolPath[] = \"/dev/shm/nccl-XXXXXX\";\n    strncpy(poolPath+sizeof(\"/dev/shm/nccl-\")-1, resp.devShmPath, sizeof(\"XXXXXX\")-1);\n    struct ncclProxyOps* proxyOps = sharedProxyState->proxyOps + proxyConn->tpLocalRank;\n    if (proxyOps->pool == NULL) {\n      NCCLCHECK(ncclShmOpen(poolPath, sizeof(poolPath), sizeof(struct ncclProxyOpsPool), (void**)(&proxyOps->pool), NULL, -1, &proxyOps->handle));\n      proxyOps->nextOps = proxyOps->nextOpsEnd = proxyOps->freeOp = -1;\n    }\n  }\n  proxyConn->initialized = true;\n  INFO(NCCL_NET|NCCL_PROXY, \"Connected to proxy localRank %d -> connection %p\", proxyConn->tpLocalRank, proxyConn->connection);\n  return ncclSuccess;\n}\n\n// UDS support\nncclResult_t ncclProxyCallBlockingUDS(struct ncclComm* comm, struct ncclProxyConnector* proxyConn, int type, void* reqBuff, int reqSize, void* respBuff, int respSize, int* reqFd, int *respFd) {\n  ncclResult_t res = ncclSuccess;\n  struct ncclIpcSocket ipcSock = { 0 };\n  void *opId;\n  NCCLCHECK(getRandomData(&opId, sizeof(opId)));\n  int reqFdtmp = -1;\n\n  int rank = comm->topParentLocalRanks[comm->localRank];\n  struct ncclProxyState* sharedProxyState = comm->proxyState;\n  uint64_t pidHash = sharedProxyState->peerAddressesUDS[proxyConn->tpRank];\n\n  INFO(NCCL_PROXY, \"ProxyCall UDS comm %p rank %d tpRank %d(%lx) reqSize %d respSize %d respFd %p opId %p\",\n       comm, rank, proxyConn->tpRank, pidHash, reqSize, respSize, respFd, opId);\n\n  // cuMem: Create a UDS socket to receive the response\n  NCCLCHECK(ncclIpcSocketInit(&ipcSock, rank, (uint64_t)opId, comm->abortFlag));\n\n  if (reqFd) {\n    reqFdtmp = *reqFd;\n  } else {\n    // give a dummy fd for the other side of UDS socket\n    NCCLCHECK(ncclIpcSocketGetFd(&ipcSock, &reqFdtmp));\n  }\n\n  ncclIpcHdr hdr;\n  memset(&hdr, '\\0', sizeof(hdr));\n  hdr.type = type;\n  hdr.rank = rank;\n  hdr.reqSize = reqSize;\n  hdr.respSize = respSize;\n  hdr.opId = opId;\n\n  assert(reqSize <= sizeof(hdr.data));\n  memcpy(&hdr.data, reqBuff, reqSize);\n  NCCLCHECKGOTO(ncclIpcSocketSendMsg(&ipcSock, &hdr, sizeof(hdr), reqFdtmp, proxyConn->tpRank, pidHash), res, error);\n  NCCLCHECKGOTO(ncclIpcSocketRecvMsg(&ipcSock, respBuff, respSize, respFd), res, error);\n  NCCLCHECKGOTO(ncclIpcSocketClose(&ipcSock), res, error);\n\n  INFO(NCCL_PROXY, \"ProxyCall UDS comm %p rank %d tpRank %d(%lx) reqSize %d respSize %d respFd %d opId %p - DONE\",\n       comm, rank, proxyConn->tpRank, pidHash, reqSize, respSize, (respFd ? *respFd : -1), opId);\n\n  return res;\n\nerror:\n  NCCLCHECK(ncclIpcSocketClose(&ipcSock));\n  WARN(\"ncclProxyCallBlockingUDS call to tpRank %d(%lx) failed : %d\", proxyConn->tpRank, pidHash, res);\n  return res;\n}\n\n// cuMem API support\n// The request/response is sent out-of-band using ncclIpcSocket for this specific command\nncclResult_t ncclProxyClientGetFdBlocking(struct ncclComm* comm, int proxyRank, void *handle, int* convertedFd) {\n  ncclResult_t ret = ncclSuccess;\n  uint64_t hipHandleVal = (uint64_t)(uintptr_t)(*(hipMemGenericAllocationHandle_t*)handle);\n\n  // Request the allocation of a UDS fd for the handle\n  if (comm->gproxyConn[proxyRank].initialized == false) {\n    NCCLCHECKGOTO(ncclProxyConnect(comm, TRANSPORT_P2P, 1, proxyRank, &comm->gproxyConn[proxyRank]), ret, error);\n  }\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  NCCLCHECKGOTO(ncclProxyCallBlockingUDS(comm, &comm->gproxyConn[proxyRank], ncclProxyMsgGetFd, (void*)&hipHandleVal, sizeof(hipHandleVal), NULL, 0, NULL, convertedFd), ret, error);\n#else\n  NCCLCHECKGOTO(ncclProxyCallBlockingUDS(comm, &comm->gproxyConn[proxyRank], ncclProxyMsgGetFd, handle, sizeof(CUmemGenericAllocationHandle), NULL, 0, NULL, convertedFd), ret, error);\n#endif\n\n  // We have now received the converted fd over UDS\n  INFO(NCCL_PROXY, \"UDS: ClientGetFd handle 0x%lx tpRank %d returned fd %d sameProcess %d\", *(uint64_t*)handle, comm->topParentRanks[proxyRank], *convertedFd, comm->gproxyConn[proxyRank].sameProcess);\n\n  return ret;\n\nerror:\n  WARN(\"ncclProxyClientGetFd call to tpRank %d handle 0x%lx failed : %d\", comm->topParentRanks[proxyRank], *(uint64_t*)handle, ret);\n  return ret;\n}\n\nncclResult_t ncclProxyClientQueryFdBlocking(struct ncclComm* comm, struct ncclProxyConnector* proxyConn, int localFd, int* rmtFd) {\n  ncclResult_t ret = ncclSuccess;\n  NCCLCHECKGOTO(ncclProxyCallBlockingUDS(comm, proxyConn, ncclProxyMsgQueryFd, NULL, 0, (void*)rmtFd, sizeof(int), &localFd, NULL), ret, fail);\nexit:\n  // We have now received the converted fd over UDS\n  INFO(NCCL_PROXY, \"UDS: ClientQueryFd localFd %d tpRank %d remote fd %d sameProcess %d\", localFd, proxyConn->tpRank, *rmtFd, proxyConn->sameProcess);\n  return ret;\nfail:\n  WARN(\"ncclProxyClientQueryFdBlocking call to tpRank %d localFd %d failed : %d\", proxyConn->tpRank, localFd, ret);\n  goto exit;\n}\n\nconst char* ncclProxyMsgTypeStr[] = { \"Unknown\", \"Init\", \"SharedInit\", \"Setup\", \"Connect\", \"Start\", \"Close\", \"Abort\", \"Stop\", \"GetFd\", \"QueryFd\", \"Register\", \"Deregister\" };\nncclResult_t ncclProxyCallAsync(struct ncclComm* comm, struct ncclProxyConnector* proxyConn, int type, void* reqBuff, int reqSize, int respSize, void* opId) {\n  struct ncclSocket* sock;\n  ncclResult_t ret = ncclSuccess;\n  struct ncclProxyState* sharedProxyState = comm->proxyState;\n\n  if (sharedProxyState->peerSocks == NULL) return ncclInternalError;\n\n  sock = sharedProxyState->peerSocks + proxyConn->tpLocalRank;\n\n  NCCLCHECKGOTO(ncclSocketSend(sock, &type, sizeof(int)), ret, error);\n  NCCLCHECKGOTO(ncclSocketSend(sock, &proxyConn->connection, sizeof(void*)), ret, error);\n  NCCLCHECKGOTO(ncclSocketSend(sock, &reqSize, sizeof(int)), ret, error);\n  NCCLCHECKGOTO(ncclSocketSend(sock, &respSize, sizeof(int)), ret, error);\n  if (reqSize) NCCLCHECKGOTO(ncclSocketSend(sock, reqBuff, reqSize), ret, error);\n\n  // Send opId to proxy\n  NCCLCHECKGOTO(ncclSocketSend(sock, &opId, sizeof(opId)), ret, error);\n\n  // Add proxyOp to expected response queue\n  NCCLCHECK(expectedProxyResponseEnqueue(sharedProxyState, opId, respSize));\n\n  return ncclSuccess;\nerror:\n  return ret;\n}\n\nncclResult_t ncclPollProxyResponse(struct ncclComm* comm, struct ncclProxyConnector* proxyConn, void* respBuff, void* opId) {\n  struct ncclProxyState* sharedProxyState = comm->proxyState;\n  // Receive the connection pointer from the Proxy\n  if (__atomic_load_n(comm->abortFlag, __ATOMIC_ACQUIRE)) {\n    WARN(\"Comm %p is in abort state\", comm);\n    return ncclInternalError;\n  }\n  if (sharedProxyState->peerSocks == NULL) return ncclInternalError;\n\n  // Check response queue\n  int found = 0;\n  ncclResult_t res = expectedProxyResponseDequeue(sharedProxyState, opId, respBuff, &found);\n  if (found == 0) {\n    // Attempt to read in a new response header from the proxy thread\n    struct ncclSocket* sock = sharedProxyState->peerSocks + proxyConn->tpLocalRank;\n    ncclProxyRpcResponseHeader resp = {0};\n    int offset = 0;\n    if (ncclSuccess != ncclSocketProgress(NCCL_SOCKET_RECV, sock, &resp, sizeof(resp), &offset)) {\n      WARN(\"Socket recv failed while polling for opId=%p\", opId);\n      return ncclInternalError;\n    }\n\n    if (offset == 0) {\n      return ncclInProgress;\n    // If we've returned a partial response, block to receive the rest of it\n    } else if (offset < sizeof(resp)) {\n      while (offset < sizeof(resp))\n        NCCLCHECK(ncclSocketProgress(NCCL_SOCKET_RECV, sock, &resp, sizeof(resp), &offset));\n    }\n\n    INFO(NCCL_PROXY, \"ncclPollProxyResponse Received new opId=%p\", resp.opId);\n\n    // If there's a respSize to recv\n    if (resp.respSize > 0) {\n      if (resp.opId != opId) {\n        // Unexpected response, need to buffer the socket data\n        respBuff = malloc(resp.respSize);\n        if (respBuff == nullptr) {\n          return ncclSystemError;\n        }\n      }\n      assert(respBuff != NULL);\n      NCCLCHECK(ncclSocketRecv(sock, respBuff, resp.respSize));\n    }\n\n    if (resp.opId == opId) {\n      INFO(NCCL_PROXY, \"resp.opId=%p matches expected opId=%p\", resp.opId, opId);\n      NCCLCHECK(expectedProxyResponseRemove(sharedProxyState, resp.opId));\n      return resp.res;\n    } else {\n      INFO(NCCL_PROXY, \"Queuing opId=%p respBuff=%p respSize=%d\", resp.opId, respBuff, resp.respSize);\n      // Store the result and mark response as completed\n      NCCLCHECK(expectedProxyResponseStore(sharedProxyState, resp.opId, respBuff, resp.respSize, resp.res));\n      return ncclInProgress;\n    }\n  } else {\n    INFO(NCCL_PROXY, \"ncclPollProxyResponse Dequeued cached opId=%p\", opId);\n  }\n\n  return res;\n}\n\nncclResult_t ncclProxyCallBlocking(struct ncclComm* comm, struct ncclProxyConnector* proxyConn, int type, void* reqBuff, int reqSize, void* respBuff, int respSize) {\n  // Alloc some memory to act as a handle\n  ncclResult_t res = ncclSuccess;\n  void* opId = malloc(1);\n  if (opId == nullptr) {\n    WARN(\"Failed to allocate proxy operation ID\");\n    return ncclSystemError;\n  }\n\n  NCCLCHECKGOTO(ncclProxyCallAsync(comm, proxyConn, type, reqBuff, reqSize, respSize, opId), res, fail);\n\n  do {\n    res = ncclPollProxyResponse(comm, proxyConn, respBuff, opId);\n  } while (res == ncclInProgress);\n\nexit:\n  free(opId);\n  return res;\nfail:\n  goto exit;\n}\n\nstatic ncclResult_t proxyProgressInit(struct ncclProxyState* proxyState) {\n  struct ncclProxyProgressState* state = &proxyState->progressState;\n  if (state->opsPool == NULL) {\n    int size = sizeof(struct ncclProxyOpsPool);\n    struct ncclProxyOpsPool* pool = NULL;\n\n    char shmPath[sizeof(\"/dev/shm/nccl-XXXXXX\")];\n    shmPath[0] = '\\0';\n    NCCLCHECK(ncclShmOpen(shmPath, sizeof(shmPath), size, (void**)&pool, NULL, proxyState->tpLocalnRanks, &state->handle));\n    // Init pool\n    pool->nextOps = -1;\n\n    for (int r = 0; r < proxyState->tpLocalnRanks; r++) {\n      pool->freeOps[r] = r*MAX_OPS_PER_PEER;\n      for (int i=0; i<MAX_OPS_PER_PEER-1; i++) pool->ops[r*MAX_OPS_PER_PEER+i].next = r*MAX_OPS_PER_PEER+i+1;\n      pool->ops[(r+1)*MAX_OPS_PER_PEER-1].next = -1;\n    }\n\n    // Setup mutex/cond to work inter-process\n    pthread_mutexattr_t mutexAttr;\n    pthread_mutexattr_init(&mutexAttr);\n    pthread_mutexattr_setpshared(&mutexAttr, PTHREAD_PROCESS_SHARED);\n    pthread_mutex_init(&pool->mutex, &mutexAttr);\n    pthread_mutexattr_destroy(&mutexAttr);\n    pthread_condattr_t condAttr;\n    pthread_condattr_init(&condAttr);\n    pthread_condattr_setpshared(&condAttr, PTHREAD_PROCESS_SHARED);\n    pthread_cond_init(&pool->cond, &condAttr);\n    pthread_condattr_destroy(&condAttr);\n    state->opsPool = pool;\n\n    memcpy(state->opsPoolShmSuffix, shmPath+sizeof(\"/dev/shm/nccl-\")-1, sizeof(\"XXXXXX\")-1);\n\n    // All ops structures are created, we can start the progress thread\n    NCCLCHECK(ncclProxyProgressCreate(proxyState));\n  }\n  return ncclSuccess;\n}\n\nstatic void proxyOpsFree(struct ncclProxyState* proxyState) {\n  struct ncclProxyProgressState* state = &proxyState->progressState;\n  if (ncclShmClose(state->handle) != ncclSuccess) {\n    WARN(\"[Service thread] shm close failed\");\n  }\n}\n\nncclResult_t ncclProxyShmUnlink(struct ncclComm* comm) {\n  struct ncclProxyProgressState* state = &comm->proxyState->progressState;\n  if (state->opsPool == NULL) return ncclSuccess;\n\n  if (ncclShmUnlink(state->handle) != ncclSuccess) {\n    WARN(\"[Service thread] proxy ops shm unlink failed\");\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t proxyConnInit(struct ncclProxyLocalPeer* peer, struct ncclProxyConnectionPool* connectionPool, struct ncclProxyState* proxyState, ncclProxyInitReq* req, ncclProxyInitResp* resp, struct ncclProxyConnection** connection) {\n  int id;\n  NCCLCHECK(ncclProxyNewConnection(connectionPool, &id));\n  NCCLCHECK(ncclProxyGetConnection(connectionPool, id, connection));\n\n  (*connection)->sock = &peer->sock;\n  (*connection)->transport = req->transport;\n  (*connection)->send = req->send;\n  (*connection)->tpLocalRank = req->tpLocalRank;\n  (*connection)->sameProcess = req->sameProcess;\n  peer->tpLocalRank = req->tpLocalRank;\n  peer->tpRank = req->tpRank;\n\n  resp->connection = *connection;\n\n  (*connection)->tcomm = (*connection)->send ? &ncclTransports[(*connection)->transport]->send : &ncclTransports[(*connection)->transport]->recv;\n  // If we need proxy progress, let's allocate ops and start the thread\n  if ((*connection)->tcomm->proxyProgress) {\n    NCCLCHECK(proxyProgressInit(proxyState));\n    struct ncclProxyProgressState* state = &proxyState->progressState;\n    strncpy(resp->devShmPath, state->opsPoolShmSuffix, sizeof(resp->devShmPath));\n  }\n  INFO(NCCL_NET|NCCL_PROXY, \"New proxy %s connection %d from local rank %d, transport %d\", (*connection)->send ? \"send\":\"recv\", id, (*connection)->tpLocalRank, (*connection)->transport);\n  __atomic_store_n(&(*connection)->state, connInitialized, __ATOMIC_RELEASE);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t proxyQueryFd(struct ncclProxyState* proxyState, int rank, void *opId, int rmtFd) {\n#if ROCM_VERSION >= 70000\n  struct ncclIpcSocket ipcSock = { 0 };\n  uint64_t hash = (uint64_t) opId;\n  ncclResult_t ret = ncclSuccess;\n\n  NCCLCHECKGOTO(ncclIpcSocketInit(&ipcSock, proxyState->tpRank, hash^1, proxyState->abortFlag), ret, exit);\n  NCCLCHECKGOTO(ncclIpcSocketSendMsg(&ipcSock, &rmtFd, sizeof(int), -1, rank, hash), ret, exit);\nexit:\n  NCCLCHECK(ncclIpcSocketClose(&ipcSock));\n  return ncclSuccess;\n#else\n  return ncclInternalError;\n#endif\n}\n\n// cuMem API support\nstatic ncclResult_t proxyGetFd(struct ncclProxyState* proxyState, int rank, void *opId,\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  hipMemGenericAllocationHandle_t handle\n#else\n   uint64_t handle\n#endif\n) {\n#if ROCM_VERSION >= 70000\n  // cuMem API support\n  ncclResult_t ret = ncclSuccess;\n  struct ncclIpcSocket ipcSock = { 0 };\n  uint64_t hash = (uint64_t) opId;\n  INFO(NCCL_PROXY, \"UDS proxyGetFd received handle 0x%lx peer %d opId %lx\", handle, rank, hash);\n\n  CUmemAllocationHandleType type = CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR;\n  int fd = -1;\n\n  CUCHECK(cuMemExportToShareableHandle(&fd, handle, type, 0));\n  // Send back the converted fd using UDS\n  NCCLCHECKGOTO(ncclIpcSocketInit(&ipcSock, proxyState->tpRank, hash^1, proxyState->abortFlag), ret, error);\n  NCCLCHECKGOTO(ncclIpcSocketSendFd(&ipcSock, fd, rank, hash), ret, error);\nerror:\n  NCCLCHECK(ncclIpcSocketClose(&ipcSock));\n  // We can now safely close the exported fd\n  SYSCHECK(close(fd), \"close\");\n  return ret;\n#else\n  return ncclInternalError;\n#endif\n}\n\nstatic ncclResult_t proxyProgressAsync(struct ncclProxyAsyncOp* op, struct ncclProxyState* proxyState, int* asyncOpCount, struct ncclProxyLocalPeer* peer, struct ncclProxyConnectionPool* connectionPool) {\n  int done = 1;\n  ncclResult_t res = ncclInternalError;\n  if (op->type == ncclProxyMsgSetup) {\n    TRACE(NCCL_PROXY, \"proxyProgressAsync::proxySetup() opId=%p\", op->opId);\n    res = op->connection->tcomm->proxySetup(op->connection, proxyState, op->reqBuff, op->reqSize, op->respBuff, op->respSize, &done);\n  } else if (op->type == ncclProxyMsgConnect) {\n    TRACE(NCCL_PROXY, \"proxyProgressAsync::proxyConnect() opId=%p op.reqBuff=%p\", op->opId, op->reqBuff);\n    res = op->connection->tcomm->proxyConnect(op->connection, proxyState, op->reqBuff, op->reqSize, op->respBuff, op->respSize, &done);\n  } else if (op->type == ncclProxyMsgSharedInit) {\n    int nChannels = *((int*) op->reqBuff);\n\n    TRACE(NCCL_PROXY, \"proxyProgressAsync::ncclProxyMsgSharedInit opId=%p op.reqBuff=%p nChannels=%d\", op->opId, op->reqBuff, nChannels);\n    if (op->connection->tcomm->proxySharedInit) res = op->connection->tcomm->proxySharedInit(op->connection, proxyState, nChannels);\n    __atomic_store_n(&op->connection->state, connSharedInitialized, __ATOMIC_RELEASE);\n  }\n  else if (op->type == ncclProxyMsgInit) {\n    TRACE(NCCL_PROXY, \"proxyProgressAsync::ncclProxyMsgInit opId=%p op.reqBuff=%p\", op->opId, op->reqBuff);\n    res = proxyConnInit(peer, connectionPool, proxyState, (ncclProxyInitReq*) op->reqBuff, (ncclProxyInitResp*) op->respBuff, &op->connection);\n  } else if (op->type == ncclProxyMsgRegister) {\n    TRACE(NCCL_PROXY, \"proxyProgressAsync::ncclProxyMsgRegister opId=%p op.reqBuff=%p, op->reqSize=%d, op->respSize=%d\", op->opId, op->reqBuff, op->reqSize, op->respSize);\n    res = op->connection->tcomm->proxyRegister(op->connection, proxyState, op->reqBuff, op->reqSize, op->respBuff, op->respSize, &done);\n  } else if (op->type == ncclProxyMsgDeregister) {\n    TRACE(NCCL_PROXY, \"proxyProgressAsync::ncclProxyMsgDeregister opId=%p op.reqBuff=%p, op->reqSize=%d, op->respSize=%d\", op->opId, op->reqBuff, op->reqSize, op->respSize);\n    res = op->connection->tcomm->proxyDeregister(op->connection, proxyState, op->reqBuff, op->reqSize, &done);\n  } else return ncclInternalError;\n\n  if (done) {\n    INFO(NCCL_PROXY, \"proxyProgressAsync opId=%p op.type=%d op.reqBuff=%p op.respSize=%d done\", op->opId, op->type, op->reqBuff, op->respSize);\n    if (op->type == ncclProxyMsgSetup)\n      __atomic_store_n(&op->connection->state, connSetupDone, __ATOMIC_RELEASE);\n    else if (op->type == ncclProxyMsgConnect)\n      __atomic_store_n(&op->connection->state, connConnected, __ATOMIC_RELEASE);\n    /* if setup or connect is done, we should not return any error at this point since\n     * ncclSocketSend might already send the respBuff to the requester. If we still choose\n     * to abort and close the connection, it can cause segfault if the requester is using\n     * the respBuff. */\n\n    ncclProxyRpcResponseHeader resp = {op->opId, res, op->respSize};\n\n    // Send the opId for referencing async operation\n    NCCLCHECK(ncclSocketSend(op->connection->sock, &resp, sizeof(resp)));\n\n    if (op->respSize) {\n      // Send the response\n      NCCLCHECK(ncclSocketSend(op->connection->sock, op->respBuff, op->respSize));\n    }\n\n    asyncProxyOpDequeue(peer, op);\n    (*asyncOpCount)--;\n    return ncclSuccess;\n\n  } else if (__atomic_load_n(proxyState->abortFlag, __ATOMIC_ACQUIRE) != 0) {\n    return ncclInternalError;\n  }\n\n  return ncclInProgress;\n}\n\nstatic ncclResult_t proxyServiceInitOp(int type, struct ncclProxyLocalPeer* peer, struct ncclProxyConnectionPool* connectionPool, struct ncclProxyState* proxyState, int* asyncOpCount) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclSocket* sock = &peer->sock;\n  struct ncclProxyAsyncOp* asyncOp;\n  NCCLCHECK(ncclCalloc(&asyncOp, 1));\n\n  asyncOp->type = type;\n  NCCLCHECKGOTO(ncclSocketRecv(sock, &asyncOp->connection, sizeof(void*)), ret, fail);\n\n  NCCLCHECKGOTO(ncclSocketRecv(sock, &asyncOp->reqSize, sizeof(int)), ret, fail);\n  NCCLCHECKGOTO(ncclSocketRecv(sock, &asyncOp->respSize, sizeof(int)), ret, fail);\n  if (asyncOp->reqSize) {\n    NCCLCHECKGOTO(ncclCalloc(&asyncOp->reqBuff, asyncOp->reqSize), ret, fail);\n    NCCLCHECKGOTO(ncclSocketRecv(sock, asyncOp->reqBuff, asyncOp->reqSize), ret, fail);\n  }\n\n  // Store opId for completion response\n  NCCLCHECKGOTO(ncclSocketRecv(sock, &asyncOp->opId, sizeof(asyncOp->opId)), ret, fail);\n\n  if (asyncOp->respSize) NCCLCHECKGOTO(ncclCalloc(&asyncOp->respBuff, asyncOp->respSize), ret, fail);\n\n  asyncProxyOpEnqueue(peer, asyncOp);\n\n  (*asyncOpCount)++;\n  NCCLCHECK(proxyProgressAsync(asyncOp, proxyState, asyncOpCount, peer, connectionPool));\nexit:\n  return ret;\nfail:\n  if (asyncOp->reqBuff) free(asyncOp->reqBuff);\n  if (asyncOp->respBuff) free(asyncOp->respBuff);\n  free(asyncOp);\n  goto exit;\n}\n\n#include <poll.h>\n\nstatic bool proxyMatchOpType(int type) {\n  switch (type) {\n    case ncclProxyMsgInit:\n    case ncclProxyMsgSharedInit:\n    case ncclProxyMsgSetup:\n    case ncclProxyMsgConnect:\n    case ncclProxyMsgGetFd:\n    case ncclProxyMsgRegister:\n    case ncclProxyMsgDeregister:\n      return true;\n    default:\n      return false;\n  }\n}\n\nenum {\n  PROXY_RUNNING = 0,\n  PROXY_STOP = 1,\n  PROXY_ABORT = 2\n};\n\nvoid* ncclProxyService(void* _args) {\n  struct ncclProxyState* proxyState =  (struct ncclProxyState*) _args;\n\n  // set the thread affinity before setting the cuda context\n  pthread_once(&proxyCpusetOnce,proxyCpusetOnceFunc);\n  if (CPU_COUNT(&proxyCpuset)) sched_setaffinity(0, sizeof(cpu_set_t), &proxyCpuset);\n  INFO(NCCL_INIT, \"[Proxy Service] Device %d CPU core %d\", proxyState->cudaDev, sched_getcpu());\n\n  if (setProxyThreadContext(proxyState)) {\n    INFO(NCCL_INIT, \"[Proxy Service] Created CUDA context on device %d\", proxyState->cudaDev);\n  } else if (cudaSetDevice(proxyState->cudaDev) != cudaSuccess) {\n    WARN(\"[Proxy Service] Failed to set CUDA device %d\", proxyState->cudaDev);\n  }\n\n  // Prepare poll descriptor\n  struct ncclProxyConnectionPool connectionPool;\n  connectionPool.pools = NULL;\n  connectionPool.banks = 0;\n  connectionPool.offset = NCCL_PROXY_CONN_POOL_SIZE;\n\n  struct pollfd pollfds[NCCL_MAX_PROXY_CONNECTIONS+1]; // one extra for listenSock fd\n  struct ncclProxyLocalPeer peers[NCCL_MAX_PROXY_CONNECTIONS];\n  memset(&peers, 0, sizeof(struct ncclProxyLocalPeer)*NCCL_MAX_PROXY_CONNECTIONS);\n  for (int s=0; s<NCCL_MAX_PROXY_CONNECTIONS; s++) {\n    pollfds[s].fd = -1;\n    pollfds[s].events = POLLHUP|POLLIN;\n  }\n  if (ncclSocketGetFd(proxyState->listenSock, &pollfds[NCCL_MAX_PROXY_CONNECTIONS].fd) != ncclSuccess) {\n    WARN(\"[Proxy Service] Get listenSock fd fails\");\n    return NULL;\n  };\n  pollfds[NCCL_MAX_PROXY_CONNECTIONS].events = POLLIN;\n\n  int maxnpeers = 0;\n  int npeers = 0;\n  int stop = PROXY_RUNNING;\n  int asyncOpCount = 0;\n  while (stop == PROXY_RUNNING || npeers > 0) {\n    /* Even if local comm aborts, we cannot let proxy thread exit if we still have peer\n     * connections. Need to wait until all other related comms call abort and safely exit\n     * together, or we could face segmentation fault. */\n    if (__atomic_load_n(proxyState->abortFlag, __ATOMIC_ACQUIRE) != 0) stop = PROXY_ABORT;\n    /* never let proxy service thread blocks in poll, or it cannot receive abortFlag. */\n    int ret;\n    do {\n      // poll all fds including the listenSock\n      ret = poll(pollfds, NCCL_MAX_PROXY_CONNECTIONS+1, asyncOpCount ? 0 : 500);\n    } while (ret < 0 && errno == EINTR);\n    if (ret < 0) {\n      WARN(\"[Proxy Service] Poll failed: %s\", strerror(errno));\n      return NULL;\n    }\n    if (pollfds[NCCL_MAX_PROXY_CONNECTIONS].revents) {\n      // We got an event on the listenSock\n      int s = 0;\n      while (s < NCCL_MAX_PROXY_CONNECTIONS && pollfds[s].fd >= 0) s++;\n      if (s == NCCL_MAX_PROXY_CONNECTIONS) {\n        WARN(\"[Proxy service] Too many connections (%d max)\", NCCL_MAX_PROXY_CONNECTIONS);\n        return NULL;\n      }\n      if (maxnpeers < s+1) maxnpeers = s+1;\n      if (ncclSocketInit(&peers[s].sock) != ncclSuccess) {\n        WARN(\"[Service thread] Initialize peers[%d].sock fails\", s);\n        return NULL;\n      }\n      if (ncclSocketAccept(&peers[s].sock, proxyState->listenSock) != ncclSuccess) {\n        WARN(\"[Service thread] Accept failed %s\", strerror(errno));\n      } else {\n        if (ncclSocketGetFd(&peers[s].sock, &pollfds[s].fd) != ncclSuccess) {\n          WARN(\"[Service thread] Get peers[%d].sock fd fails\", s);\n          return NULL;\n        }\n        npeers++;\n        peers[s].tpLocalRank = -1;\n      }\n    }\n    for (int s=0; s<maxnpeers; s++) {\n      struct ncclProxyLocalPeer* peer = peers+s;\n      struct ncclSocket* sock = &peer->sock;\n      int closeConn = 0;\n      int type = 0;\n      ncclResult_t res = ncclSuccess;\n      if (pollfds[s].fd == -1) continue;\n\n      // Progress all ops for this ncclProxyLocalPeer\n      if (stop == PROXY_ABORT && ncclCuMemEnable() && ncclCuMemHostEnable() && !proxyState->directMode && __atomic_load_n(&proxyState->stop, __ATOMIC_ACQUIRE)) closeConn = 1;\n      ncclProxyAsyncOp* op = peer->asyncOps;\n      while (op != nullptr) {\n        ncclProxyAsyncOp* opnext = op->next; /* in case op is freed in proxyProgressAsync */\n        type = op->type;\n        // Coverity gets confused here by complex code structure.  Yes, connectionPool.pools gets dereferenced, and\n        // while calling proxyProgressAsync() connectionPool.pools is NULL, but that changes before it's dereferenced.\n        // coverity[var_deref_model:FALSE]\n        res = proxyProgressAsync(op, proxyState, &asyncOpCount, peer, &connectionPool);\n        if (res == ncclSuccess || res == ncclInProgress) {\n          op = opnext;\n        } else {\n          // Res is a bad result\n          closeConn = 1;\n          WARN(\"[Service thread] Error encountered progressing operation=%s, res=%d, closing connection\", ncclProxyMsgTypeStr[type], res);\n          break;\n        }\n      }\n\n      // Check for additional ops coming in\n      if (pollfds[s].revents & POLLIN) {\n        int closed;\n        res = ncclSocketTryRecv(sock, &type, sizeof(int), &closed, false /*blocking*/);\n        if (res != ncclSuccess && res != ncclInProgress) {\n          if (!__atomic_load_n(proxyState->abortFlag, __ATOMIC_RELAXED))\n            WARN(\"[Service thread] Could not receive type from localRank %d, res=%u, closed=%d\", peer->tpLocalRank, res, closed);\n          closeConn = 1;\n        } else if (closed) {\n          INFO(NCCL_INIT|NCCL_NET|NCCL_PROXY, \"[Service thread] Connection closed by localRank %d\", peer->tpLocalRank);\n          closeConn = 1;\n        } else if (res == ncclSuccess) { // We received something from the sock\n          if (type == ncclProxyMsgStop) {\n            stop = PROXY_STOP;\n            closeConn = 1;\n          } else if (type == ncclProxyMsgClose) {\n            closeConn = 1;\n          } else if (proxyMatchOpType(type)) {\n            res = proxyServiceInitOp(type, peers+s, &connectionPool, proxyState, &asyncOpCount);\n          } else {\n            WARN(\"[Service thread] Unknown command %d from localRank %d\", type, peer->tpLocalRank);\n            closeConn = 1;\n          }\n\n          INFO(NCCL_PROXY, \"Received and initiated operation=%s res=%d\", ncclProxyMsgTypeStr[type], res);\n        }\n      } else if (pollfds[s].revents & POLLHUP) {\n        closeConn = 1;\n      }\n      if (res != ncclSuccess && res != ncclInProgress) {\n        if (!__atomic_load_n(proxyState->abortFlag, __ATOMIC_RELAXED))\n          WARN(\"[Proxy Service %d] Failed to execute operation %s from rank %d, retcode %d\", proxyState->tpRank, ncclProxyMsgTypeStr[type], peer->tpRank, res);\n        closeConn = 1;\n      }\n\n      if (closeConn) {\n        (void)ncclSocketClose(sock);\n\n        if (op != nullptr) {\n          asyncProxyOpDequeue(peer, op);\n          asyncOpCount--;\n        }\n        pollfds[s].fd = -1;\n        npeers--;\n      }\n\n      // Close any lingering connections after the stop condition is set\n      if (stop != PROXY_RUNNING && pollfds[s].fd != -1) {\n        INFO(NCCL_PROXY, \"[Proxy Service %d] Force closing peer=%d fd: %d\", proxyState->tpRank, s, pollfds[s].fd);\n        (void)ncclSocketClose(sock);\n        pollfds[s].fd = -1;\n        npeers--;\n      }\n    }\n  }\n\n  // Wait for all operations to complete and stop progress thread before freeing any resource\n  hipDeviceSynchronize();\n  if (ncclProxyProgressDestroy(proxyState) != ncclSuccess) {\n    WARN(\"[Proxy Service] proxyDestroy failed\");\n  }\n  for (int s=0; s<maxnpeers; s++) {\n    (void)ncclSocketClose(&peers[s].sock);\n  }\n  ncclProxyFreeConnections(&connectionPool, proxyState);\n  (void)ncclSocketClose(proxyState->listenSock);\n  free(proxyState->listenSock);\n  proxyOpsFree(proxyState);\n  return NULL;\n}\n\n\n// Process a request on the UDS socket\nstatic ncclResult_t proxyUDSRecvReq(struct ncclProxyState* proxyState, int reqFd) {\n  ncclIpcHdr hdr;\n  int rmtFd = -1;\n\n  NCCLCHECK(ncclIpcSocketRecvMsg(&proxyState->ipcSock, &hdr, sizeof(hdr), &rmtFd));\n  if (hdr.type == ncclProxyMsgGetFd) {\n    // cuMem API support for non-UB case, and rmtFd is not used since UDS proxy thread need to export\n    // fd from handle and send it back to the main thread to import the buffer. We just need to close\n    // this dummy rmtFd.\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n    hipMemGenericAllocationHandle_t handle = (hipMemGenericAllocationHandle_t)(uintptr_t)(*(uint64_t*)hdr.data);\n#else\n    uint64_t handle = *(uint64_t*)hdr.data;\n#endif\n    INFO(NCCL_PROXY, \"proxyUDSRecvReq::ncclProxyMsgGetFd rank %d opId %p handle=0x%lx\", hdr.rank, hdr.opId, handle);\n    close(rmtFd);\n    return proxyGetFd(proxyState, hdr.rank, hdr.opId, handle);\n  } else if (hdr.type == ncclProxyMsgQueryFd) {\n    // remote main thread registers buffer into this rank, it querys rmtFd of this rank through UDS\n    // and the rmtFd is returned unchanged back to remote main thread which will use rmtFd to call into\n    // proxy service thread for buffer registration.\n    INFO(NCCL_PROXY, \"proxyUDSRecvReq::proxyQueryFd rank %d opId %p rmtFd %d\", hdr.rank, hdr.opId, rmtFd);\n    return proxyQueryFd(proxyState, hdr.rank, hdr.opId, rmtFd);\n  }\n\n  return ncclInternalError;\n}\n\n// UDS fd handle support\nvoid* ncclProxyServiceUDS(void* _args) {\n  struct ncclProxyState* proxyState =  (struct ncclProxyState*) _args;\n  struct pollfd pollfds[1];\n\n  // set the thread affinity before setting the cuda context\n  pthread_once(&proxyCpusetOnce,proxyCpusetOnceFunc);\n  if (CPU_COUNT(&proxyCpuset)) sched_setaffinity(0, sizeof(cpu_set_t), &proxyCpuset);\n  INFO(NCCL_INIT, \"[Proxy Service UDS] Device %d CPU core %d\", proxyState->cudaDev, sched_getcpu());\n\n  if (setProxyThreadContext(proxyState)) {\n    INFO(NCCL_INIT, \"[Proxy Service UDS] Set CUDA context on device %d\", proxyState->cudaDev);\n  } else if (cudaSetDevice(proxyState->cudaDev) != cudaSuccess) {\n    WARN(\"[Proxy Service UDS] Failed to set CUDA device %d\", proxyState->cudaDev);\n  }\n\n  if (ncclIpcSocketGetFd(&proxyState->ipcSock, &pollfds[0].fd) != ncclSuccess) {\n    WARN(\"[Proxy Service UDS] Get listenSock fd fails\");\n    return NULL;\n  };\n  pollfds[0].events = POLLIN|POLLHUP;\n\n  while (1) {\n    /* never let proxy service thread blocks in poll, or it cannot receive abortFlag. */\n    int ret;\n    do {\n      ret = poll(pollfds, 1, 500);\n    } while (ret < 0 && errno == EINTR);\n    if (ret < 0) {\n      WARN(\"[Proxy Service UDS] Poll failed: %s\", strerror(errno));\n      return NULL;\n    }\n\n    // Check for stop/abort\n    if (__atomic_load_n(&proxyState->stop, __ATOMIC_ACQUIRE) || __atomic_load_n(proxyState->abortFlag, __ATOMIC_ACQUIRE)) break;\n\n    if (pollfds[0].revents) {\n      // A request was seen on the UDS fd\n      proxyUDSRecvReq(proxyState, pollfds[0].fd);\n    }\n  }\n\n  (void)ncclIpcSocketClose(&proxyState->ipcSock);\n  INFO(NCCL_PROXY, \"[Proxy Service UDS] exit: stop %d abortFlag %d\", proxyState->stop, *proxyState->abortFlag);\n  return NULL;\n}\n\nncclResult_t ncclProxyInit(struct ncclComm* comm, struct ncclSocket* sock, union ncclSocketAddress* peerAddresses, uint64_t *peerAddressesUDS) {\n  assert(comm->sharedRes->proxyState == NULL);\n  NCCLCHECK(ncclCalloc(&comm->sharedRes->proxyState, 1));\n  comm->proxyState = comm->sharedRes->proxyState;\n  comm->proxyState->refCount = 1;\n  comm->proxyState->listenSock = sock;\n  comm->proxyState->peerAddresses = peerAddresses;\n  comm->proxyState->peerAddressesUDS = peerAddressesUDS;\n  comm->proxyState->netAttr = NCCL_NET_ATTR_INIT;\n  if (rcclParamEnableProxyTrace()) {\n    INFO(NCCL_PROXY, \"Initializing ProxyTrace, rank: %d, commHash: %lu\", comm->rank, comm->commHash);\n    comm->proxyState->proxyTrace = std::make_unique<facebook_rccl::ProxyTrace>(comm->rank);\n  }\n\n  // UDS support\n  NCCLCHECK(ncclIpcSocketInit(&comm->proxyState->ipcSock, comm->rank, peerAddressesUDS[comm->rank], comm->abortFlag));\n  return ncclSuccess;\n}\n\nncclResult_t ncclProxyCreate(struct ncclComm* comm) {\n  /* proxyState is shared among parent comm and split comms. comm->proxyState->thread is\n   * pthread_join()'d by commFree() in init.cc when the refCount reduces down to 0. */\n  struct ncclProxyState* proxyState = comm->proxyState;\n  if (proxyState->refCount == 1) {\n    /* we have to make sure all following fields in comm have been initialized. */\n    proxyState->tpRank = comm->rank;\n    proxyState->tpnRanks = comm->nRanks;\n    proxyState->tpLocalnRanks = comm->localRanks;\n    proxyState->cudaDev = comm->cudaDev;\n    proxyState->abortFlag = comm->abortFlag;\n    proxyState->p2pnChannels = comm->p2pnChannels;\n    proxyState->p2pChunkSize = comm->p2pChunkSize;\n    proxyState->nChannels = comm->nChannels;\n    proxyState->allocP2pNetLLBuffers = comm->allocP2pNetLLBuffers;\n    proxyState->dmaBufSupport = comm->dmaBufSupport;\n    proxyState->ncclNet = comm->ncclNet;\n    proxyState->ncclCollNet = comm->ncclCollNet;\n    proxyState->netContext = comm->netContext;\n    proxyState->collNetContext = comm->collNetContext;\n    proxyState->profilerContext = comm->profilerContext;\n    proxyState->directMode = comm->directMode;\n    memcpy(proxyState->buffSizes, comm->buffSizes, sizeof(comm->buffSizes));\n\n    PTHREADCHECK(pthread_create(&comm->proxyState->thread, NULL, ncclProxyService, comm->proxyState), \"pthread_create\");\n    ncclSetThreadName(comm->proxyState->thread, \"NCCL Service %2d\", comm->cudaDev);\n\n    // UDS support\n    INFO(NCCL_PROXY, \"UDS: Creating service thread comm %p rank %d\", comm, comm->rank);\n    PTHREADCHECK(pthread_create(&comm->proxyState->threadUDS, NULL, ncclProxyServiceUDS, comm->proxyState), \"pthread_create\");\n    ncclSetThreadName(comm->proxyState->threadUDS, \"NCCL UDS Service %2d\", comm->cudaDev);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclProxyStop(struct ncclComm* comm) {\n  if (comm->proxyState) {\n    struct ncclProxyState* sharedProxyState = comm->proxyState;\n\n    if ((comm->proxyRefCountOld = ncclAtomicRefCountDecrement(&sharedProxyState->refCount)) == 0) {\n      if (*comm->abortFlag == 0 && sharedProxyState->peerAddresses) {\n        // We need to send a ncclProxyMsgStop message to our own proxy\n        struct ncclSocket sock;\n        int type = ncclProxyMsgStop;\n        NCCLCHECK(ncclSocketInit(&sock, sharedProxyState->peerAddresses + comm->topParentRanks[comm->rank], comm->sharedRes->magic, ncclSocketTypeProxy, comm->abortFlag));\n        if (ncclSocketConnect(&sock) == ncclSuccess) {\n          (void)ncclSocketSend(&sock, &type, sizeof(int));\n        }\n        (void)ncclSocketClose(&sock);\n      }\n\n      if (sharedProxyState->peerSocks) {\n        int tplocalRanks = comm->sharedRes->tpNLocalRanks;\n        for (int i = 0; i < tplocalRanks; i++) {\n          int fd;\n          NCCLCHECK(ncclSocketGetFd(sharedProxyState->peerSocks + i, &fd));\n          if (fd >= 0) {\n            if (sharedProxyState->proxyOps[i].pool) {\n              NCCLCHECK(ncclShmClose(sharedProxyState->proxyOps[i].handle));\n            }\n            if (sharedProxyState->sharedDevMems[i]) {\n              if (!ncclCuMemEnable()) {\n                CUDACHECK(cudaIpcCloseMemHandle(sharedProxyState->sharedDevMems[i]));\n              }\n            }\n            int type = ncclProxyMsgClose;\n            (void)ncclSocketSend(sharedProxyState->peerSocks + i, &type, sizeof(int));\n            NCCLCHECK(ncclSocketClose(sharedProxyState->peerSocks + i));\n          }\n        }\n      }\n      // Now we notify proxy service and UDS thread to exit.\n      __atomic_store_n(&comm->proxyState->stop, 1, __ATOMIC_RELEASE);\n    }\n  }\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclProxyDestroy(struct ncclComm* comm) {\n  struct ncclProxyState* sharedProxyState = comm->sharedRes->proxyState;\n\n  if (sharedProxyState) {\n    assert(sharedProxyState->refCount == 0);\n    free(sharedProxyState->peerAddresses);\n    free(sharedProxyState->peerAddressesUDS);\n    free(sharedProxyState->peerSocks);\n    free(sharedProxyState->proxyOps);\n    free(sharedProxyState->sharedDevMems);\n    expectedProxyResponseFree(sharedProxyState);\n    free(sharedProxyState);\n  }\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/ras/CMakeLists.txt",
    "content": "# RAS sources\nset(RAS_SOURCES\n    ${CMAKE_CURRENT_SOURCE_DIR}/collectives.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/rasnet.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/peers.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/ras.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/client_support.cc\n)\n\n# Add RAS sources to parent scope\nset(RAS_SOURCES ${RAS_SOURCES} PARENT_SCOPE)\n"
  },
  {
    "path": "src/ras/client.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <cerrno>\n#include <climits>\n#include <cstddef>\n#include <cstdio>\n#include <cstdlib>\n#include <cstring>\n#include <getopt.h>\n#include <netdb.h>\n#include <unistd.h>\n\n#include \"nccl.h\"\n#define NCCL_RAS_CLIENT // Only pull client-specific definitions from the header file below.\n#include \"ras_internal.h\"\n\n#define STR2(v) #v\n#define STR(v) STR2(v)\n\n// Local timeout increment compared to the '-t' argument, in seconds.\n#define TIMEOUT_INCREMENT 1\n\nstatic const char* hostName = \"localhost\";\nstatic const char* port = STR(NCCL_RAS_CLIENT_PORT);\nstatic int timeout = -1;\nstatic bool verbose = false;\nstatic int sock = -1;\n\nstatic void printUsage(const char* argv0) {\n  fprintf(stderr,\n          \"Usage: %s [OPTION]...\\n\"\n          \"Query the state of a running NCCL job.\\n\"\n          \"\\nOptions:\\n\"\n          \"  -h, --host=HOST     Host name or IP address of the RAS client socket of the\\n\"\n          \"                      NCCL job to connect to (localhost by default)\\n\"\n          \"  -p, --port=PORT     TCP port of the RAS client socket of the NCCL job\\n\"\n          \"                      (\" STR(NCCL_RAS_CLIENT_PORT) \" by default)\\n\"\n          \"  -t, --timeout=SECS  Maximum time for the local NCCL process to wait for\\n\"\n          \"                      responses from other NCCL processes\\n\"\n          \"                      (\" STR(RAS_COLLECTIVE_LEG_TIMEOUT_SEC) \" secs by default; 0 disables the timeout)\\n\"\n          \"  -v, --verbose       Increase the verbosity level of the RAS output\\n\"\n          \"      --help          Print this help and exit\\n\"\n          \"      --version       Print the version number and exit\\n\", argv0);\n}\n\nstatic void parseArgs(int argc, char** argv) {\n  int c;\n  int optIdx = 0;\n  struct option longOpts[] = {\n    {\"host\",    required_argument, NULL, 'h'},\n    {\"port\",    required_argument, NULL, 'p'},\n    {\"timeout\", required_argument, NULL, 't'},\n    {\"verbose\", no_argument,       NULL, 'v'},\n    {\"help\",    no_argument,       NULL, 'e'},\n    {\"version\", no_argument,       NULL, 'r'},\n    {0}\n  };\n\n  while ((c = getopt_long(argc, argv, \"h:p:t:v\", longOpts, &optIdx)) != -1) {\n    switch (c) {\n      case 'h':\n        hostName = optarg;\n        break;\n      case 'p':\n        port = optarg;\n        break;\n      case 't': {\n        char* endPtr = nullptr;\n        timeout = strtol(optarg, &endPtr, 10);\n        if (timeout < 0 || !endPtr || *endPtr != '\\0') {\n          fprintf(stderr, \"Invalid timeout: %s\\n\", optarg);\n          exit(1);\n        }\n        break;\n      }\n      case 'v':\n        verbose = true;\n        break;\n      case 'e':\n        printUsage(argv[0]);\n        exit(0);\n      case 'r':\n        fprintf(stderr, \"RCCL RAS client version \" STR(NCCL_MAJOR) \".\" STR(NCCL_MINOR) \".\"\n                STR(NCCL_PATCH) NCCL_SUFFIX \"\\n\");\n        exit(0);\n      default:\n        printUsage(argv[0]);\n        exit(1);\n    }\n  }\n}\n\nstatic ssize_t socketWrite(int fd, const void* buf, size_t count) {\n  size_t done = 0;\n  do {\n    ssize_t ret;\n    ret = write(fd, ((const char*)buf)+done, count-done);\n    if (ret == -1) {\n      if (errno != EINTR)\n        return -1;\n      continue;\n    }\n    done += ret;\n  } while (done < count);\n\n  return done;\n}\n\n// Reads a message from RAS.  Assumes that the message ends with '\\n' (will continue reading until the terminating\n// newline, unless false is passed as untilNewLine).\n// Terminates the buffer with '\\0'.  Returns the number of bytes read (excluding the added terminating '\\0').\nstatic ssize_t rasRead(int fd, void* buf, size_t count, bool untilNewline = true) {\n  char* bufChar = (char*)buf;\n  size_t done = 0;\n  do {\n    ssize_t ret;\n    ret = read(fd, bufChar+done, count-1-done);\n    if (ret == -1) {\n      if (errno != EINTR)\n        return -1;\n      continue;\n    }\n    if (ret == 0)\n      break; // EOF\n    done += ret;\n  } while (untilNewline && (done == 0 || bufChar[done-1] != '\\n'));\n  bufChar[done] = '\\0';\n\n  return done;\n}\n\nstatic int connectToNCCL() {\n  struct addrinfo hints = {0};\n  struct addrinfo* addrInfo = nullptr;\n  int ret;\n  char msgBuf[1024];\n  int bytes;\n  struct timeval tv = {TIMEOUT_INCREMENT, 0};\n\nretry:\n  hints.ai_family = AF_UNSPEC;\n  hints.ai_socktype = SOCK_STREAM;\n  if ((ret = getaddrinfo(hostName, port, &hints, &addrInfo)) != 0) {\n    fprintf(stderr, \"Resolving %s:%s: %s\\n\", hostName, port, gai_strerror(ret));\n    goto fail;\n  }\n  for (struct addrinfo* ai = addrInfo; ai; ai = ai->ai_next) {\n    char hostBuf[NI_MAXHOST], portBuf[NI_MAXSERV];\n    int err;\n    sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);\n    if (sock == -1) {\n      perror(\"socket\");\n      continue;\n    }\n    // Initially start with a small, 1-sec timeout to quickly eliminate non-responsive processes...\n    if (timeout && (setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof tv) != 0 ||\n                    setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof tv) != 0)) {\n      perror(\"setsockopt\");\n      // Non-fatal; fall through.\n    }\n    if (connect(sock, ai->ai_addr, ai->ai_addrlen) == 0)\n      break;\n    err = errno;\n    if (getnameinfo(ai->ai_addr, ai->ai_addrlen, hostBuf, sizeof(hostBuf), portBuf, sizeof(portBuf),\n                    NI_NUMERICHOST | NI_NUMERICSERV) != 0) {\n      strcpy(hostBuf, hostName);\n      strcpy(portBuf, port);\n    }\n    fprintf(stderr, \"Connecting to %s:%s: %s\\n\", hostBuf, portBuf, strerror(err));\n    close(sock);\n    sock = -1;\n  }\n  freeaddrinfo(addrInfo);\n  addrInfo = nullptr;\n\n  if (sock == -1) {\n    fprintf(stderr, \"Failed to connect to the NCCL RAS service!\\n\"\n            \"Please make sure that the NCCL job has the RAS service enabled and that\\n\"\n            \"%s.\\n\",\n            (strcmp(hostName, \"localhost\") || strcmp(port, STR(NCCL_RAS_CLIENT_PORT)) ?\n            \"the host/port arguments are correct and match NCCL_RAS_ADDR\" :\n            \"the RAS client was started on a node where the NCCL job is running\"));\n    goto fail;\n  }\n\n  // Exchange the RAS client handshake.\n  strcpy(msgBuf, \"CLIENT PROTOCOL \" STR(NCCL_RAS_CLIENT_PROTOCOL) \"\\n\");\n  if (socketWrite(sock, msgBuf, strlen(msgBuf)) != strlen(msgBuf)) {\n    if (errno == EAGAIN || errno == EWOULDBLOCK) {\n      goto timeout;\n    }\n    perror(\"write to socket\");\n    goto fail;\n  }\n  bytes = rasRead(sock, msgBuf, sizeof(msgBuf));\n  if (bytes < 0) {\n    if (errno == EAGAIN || errno == EWOULDBLOCK) {\n      goto timeout;\n    }\n    perror(\"read socket\");\n    goto fail;\n  }\n  if (bytes == 0) {\n    fprintf(stderr, \"NCCL unexpectedly closed the connection\\n\");\n    goto fail;\n  }\n  if (strncasecmp(msgBuf, \"SERVER PROTOCOL \", strlen(\"SERVER PROTOCOL \"))) {\n    fprintf(stderr, \"Unexpected response from NCCL: %s\\n\", msgBuf);\n    goto fail;\n  }\n  if (strtol(msgBuf+strlen(\"SERVER PROTOCOL \"), nullptr, 10) != NCCL_RAS_CLIENT_PROTOCOL) {\n    fprintf(stderr, \"NCCL RAS protocol version mismatch (NCCL: %s; RAS client: %d)!\\n\"\n            \"Will try to continue in spite of that...\\n\", msgBuf+strlen(\"SERVER PROTOCOL \"), NCCL_RAS_CLIENT_PROTOCOL);\n  }\n\n  if (timeout >= 0) {\n    snprintf(msgBuf, sizeof(msgBuf), \"TIMEOUT %d\\n\", timeout);\n    if (socketWrite(sock, msgBuf, strlen(msgBuf)) != strlen(msgBuf)) {\n      if (errno == EAGAIN || errno == EWOULDBLOCK) {\n        goto timeout;\n      }\n      perror(\"write to socket\");\n      goto fail;\n    }\n    bytes = rasRead(sock, msgBuf, sizeof(msgBuf));\n    if (bytes < 0) {\n      if (errno == EAGAIN || errno == EWOULDBLOCK) {\n        goto timeout;\n      }\n      perror(\"read socket\");\n      goto fail;\n    }\n    if (bytes == 0) {\n      fprintf(stderr, \"NCCL unexpectedly closed the connection\\n\");\n      goto fail;\n    }\n    if (strcasecmp(msgBuf, \"OK\\n\")) {\n      fprintf(stderr, \"Unexpected response from NCCL: %s\\n\", msgBuf);\n      goto fail;\n    }\n  }\n  if (timeout) {\n    // Increase the socket timeout to accommodate NCCL timeout.\n    tv.tv_sec += (timeout > 0 ? timeout : RAS_COLLECTIVE_LEG_TIMEOUT_SEC) + RAS_COLLECTIVE_EXTRA_TIMEOUT_SEC;\n    if (setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof tv) != 0) {\n      perror(\"setsockopt\");\n      // Non-fatal; fall through.\n    }\n  }\n\n  return 0;\nfail:\n  if (addrInfo)\n    freeaddrinfo(addrInfo);\n  if (sock != -1)\n    (void)close(sock);\n  return 1;\ntimeout:\n  fprintf(stderr, \"Connection timed out; retrying...\\n\");\n  (void)close(sock);\n  goto retry;\n}\n\nint getNCCLStatus() {\n  char msgBuf[4096];\n  int bytes;\n  snprintf(msgBuf, sizeof(msgBuf), \"%sSTATUS\\n\", (verbose ? \"VERBOSE \" : \"\"));\n  if (socketWrite(sock, msgBuf, strlen(msgBuf)) != strlen(msgBuf)) {\n    if (errno == EAGAIN || errno == EWOULDBLOCK)\n      fprintf(stderr, \"Connection timed out\\n\");\n    else\n      perror(\"write to socket\");\n    return 1;\n  }\n  for (;;) {\n    bytes = rasRead(sock, msgBuf, sizeof(msgBuf), /*untileNewLine*/false);\n    if (bytes < 0) {\n      if (errno == EAGAIN || errno == EWOULDBLOCK)\n        fprintf(stderr, \"Connection timed out\\n\");\n      else\n        perror(\"read socket\");\n      return 1;\n    }\n    if (bytes == 0) // EOF\n      break;\n    if (fwrite(msgBuf, 1, bytes, stdout) != bytes) {\n      fprintf(stderr, \"fwrite to stdout failed!\\n\");\n      return 1;\n    }\n    if (fflush(stdout) != 0) {\n      perror(\"fflush stdout\");\n      return 1;\n    }\n  }\n  return 0;\n}\n\nint main(int argc, char** argv) {\n  parseArgs(argc, argv);\n\n  if (connectToNCCL())\n    return 1;\n\n  if (getNCCLStatus()) {\n    (void)close(sock);\n    return 1;\n  }\n\n  if (close(sock) == -1) {\n    perror(\"close socket\");\n    return 1;\n  }\n  return 0;\n}\n"
  },
  {
    "path": "src/ras/client_support.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <cstdarg>\n#include <cstddef>\n\n#include \"alloc.h\"\n#include \"checks.h\"\n#include \"comm.h\"\n#include \"nccl.h\"\n#include \"utils.h\"\n#include \"ras_internal.h\"\n\n// Outlier count above which we don't print individual details about each of them.\n#define RAS_CLIENT_DETAIL_THRESHOLD 10\n// Fraction of the count of the total above which we don't consider another set to be an outlier.\n#define RAS_CLIENT_OUTLIER_FRACTION 0.25\n// Fraction of the count of the total below which a set is considered to be an outlier.\n#define RAS_CLIENT_VERBOSE_OUTLIER_FRACTION 0.5\n\n#define STR2(v) #v\n#define STR(v) STR2(v)\n\n// Generic auxiliary structure used when processing the results.  Helps with statistics gathering and sorting,\n// e.g., for the calculation of the distribution of the number of peers per node, of the number of GPUs per peer,\n// of the communicator sizes, or of the counts of collective operations.\nstruct rasValCount {\n  uint64_t value; // The observed value.\n  int count; // The number of occurences of this value in the results.\n  int firstIdx; // The index of the first occurence of this value in the results.\n};\n\n// Communicator status, used in rasAuxComm below.  The values are bitmasks so that they can be combined.\ntypedef enum {\n  RAS_ACS_NOCOMM = 1, // Set if the peer claims not to be a member of a given communicator.\n  RAS_ACS_INIT = 2,\n  RAS_ACS_RUNNING = 4,\n  RAS_ACS_FINALIZE = 8,\n  RAS_ACS_ABORT = 16\n} rasACStatus;\n\n// Communicator errors, used in rasAuxComm below.  The values are bitmasks so that they can be combined (with the\n// exception of RAS_ACE_OK).\ntypedef enum {\n  RAS_ACE_OK = 0,\n  RAS_ACE_MISMATCH = 1,\n  RAS_ACE_ERROR = 2,\n  RAS_ACE_INCOMPLETE = 4\n} rasACError;\n\n// Auxiliary structure used when processing the results of the RAS_COLL_COMMS query.  For each communicator, caches\n// statistics extracted from the results, such as the number of peers and nodes or the communicator status.  Includes\n// a pointer to the communicator data in the results, making it easy to sort the communicators by a different key\n// without altering the results buffer, or just to iterate over the communicators, given that the communicator data\n// in the resuls is of variable length.\nstruct rasAuxComm {\n  struct rasCollComms::comm* comm; // Points to the results buffer.\n  int nPeers;\n  int nNodes;\n  int ranksPerNodeMin;\n  int ranksPerNodeMax;\n  unsigned int status; // Bitmask of rasACStatus values.\n  unsigned int errors; // Bitmask of rasACError values.\n  uint64_t firstCollOpCounts[NCCL_NUM_FUNCTIONS]; // collOpCounts of the first rank, to compare against.\n  int nIncompleteRanks; // Number of ranks that we didn't get any response from.\n};\n\n// Auxiliary structure used when processing the rasPeerInfo data stored in the global rasPeers array.  Makes it possible\n// to extract a subset of peers (e.g., the dead ones), to sort by a different key without altering the original array,\n// and also has room for extracted temporary data such as the number of peers per node or the number of GPUs per peer.\nstruct rasAuxPeerInfo {\n  struct rasPeerInfo* peer; // Points to an element in rasPeers.\n  int value;\n};\n\n// Auxiliary structure used when processing the results of the RAS_COLL_COMMS query, specifically when iterating over\n// each communicator's ranks.  Makes it possible to sort by a different key without altering the original array, and\n// also has room for extracted temporary data such as the rank's status or a count of collective operations.\nstruct rasAuxCommRank {\n  struct rasCollComms::comm::rank* rank; // Points to the results buffer.\n  uint64_t value;\n};\n\n// The RAS client listening socket of this RAS thread (normally port 28028).\nint rasClientListeningSocket = -1;\n\n// Connected RAS clients.\nstruct rasClient* rasClientsHead;\nstruct rasClient* rasClientsTail;\n\n// Minimum byte count to increment the output buffer size by if it's too small.\n#define RAS_OUT_INCREMENT 4096\n\n// Internal buffer for storing the formatted results.\nstatic char* rasOutBuffer = nullptr;\nstatic int nRasOutBuffer = 0; // Does _not_ include the terminating '\\0' (which _is_ present in the buffer).\nstatic int rasOutBufferSize = 0;\n\n// We use them all over the place; no point in wasting the stack...\nstatic char lineBuf[1024]; // Temporary buffer used for printing at most 10 (RAS_CLIENT_DETAIL_THRESHOLD) rank numbers\n                           // or for printing the local GPU devices, which can't be more than 64\n                           // small numbers (times two if the NVML mask is different than the CUDA mask).\n                           // Still, 1024 should normally be plenty (verbose output may make things more difficult,\n                           // but we do check for overflows, so it will just be trimmed).\n\n\nstatic ncclResult_t getNewClientEntry(struct rasClient** pClient);\nstatic void rasClientEnqueueMsg(struct rasClient* client, char* msg, size_t msgLen);\nstatic void rasClientTerminate(struct rasClient* client);\n\nstatic ncclResult_t rasClientRun(struct rasClient* client);\nstatic ncclResult_t rasClientRunInit(struct rasClient* client);\nstatic ncclResult_t rasClientRunConns(struct rasClient* client);\nstatic ncclResult_t rasClientRunComms(struct rasClient* client);\nstatic void rasClientBreakDownErrors(struct rasClient* client, struct rasCollComms::comm* comm,\n                                     const int* peerIdxConv, int ncclErrors[ncclNumResults], bool isAsync = false);\n\nstatic void rasOutAppend(const char* format, ...) __attribute__ ((format(printf, 1, 2)));\nstatic void rasOutExtract(char* buffer);\nstatic int rasOutLength();\nstatic void rasOutReset();\n\nstatic int rasAuxPeersValueCompare(const void* e1, const void* e2);\nstatic int ncclSocketsHostCompare(const void* p1, const void* p2);\nstatic int rasValCountsCompareRev(const void* p1, const void* p2);\nstatic int rasAuxCommsCompareRev(const void* p1, const void* p2);\nstatic int rasAuxCommRanksValueCompare(const void* p1, const void* p2);\n\nstatic const char* rasGpuToString(int cudaDev, int nvmlDev, char* buf, size_t size);\nstatic const char* rasCommRankGpuToString(const struct rasCollComms::comm::rank* rank, char* buf, size_t size);\nstatic const char* ncclErrorToString(ncclResult_t err);\nstatic const char* ncclSocketToHost(const union ncclSocketAddress* addr, char* buf, size_t size);\nstatic bool rasCountIsOutlier(int count, bool verbose, int totalCount = -1);\n\n\n///////////////////////////////////\n// General rasClients functions. //\n///////////////////////////////////\n\n// Creates a listening socket for clients to connect to.\nncclResult_t rasClientInitSocket() {\n  ncclResult_t ret = ncclSuccess;\n  const char* clientAddr = \"localhost:\" STR(NCCL_RAS_CLIENT_PORT);\n  union ncclSocketAddress addr;\n  const int opt = 1;\n  if (const char* env = ncclGetEnv(\"NCCL_RAS_ADDR\"))\n    clientAddr = env;\n  NCCLCHECKGOTO(ncclSocketGetAddrFromString(&addr, clientAddr), ret, fail);\n  SYSCHECKGOTO(rasClientListeningSocket = socket(addr.sa.sa_family, SOCK_STREAM, 0), \"socket\", ret, fail);\n  SYSCHECKGOTO(setsockopt(rasClientListeningSocket, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)),\n               \"setsockopt\", ret, fail);\n#if defined(SO_REUSEPORT)\n  SYSCHECKGOTO(setsockopt(rasClientListeningSocket, SOL_SOCKET, SO_REUSEPORT, &opt, sizeof(opt)),\n               \"setsockopt\", ret, fail);\n#endif\n  SYSCHECKGOTO(bind(rasClientListeningSocket, &addr.sa, (addr.sa.sa_family == AF_INET ? sizeof(struct sockaddr_in) :\n                                                          sizeof(struct sockaddr_in6))), \"bind\", ret, fail);\n  SYSCHECKGOTO(listen(rasClientListeningSocket, 16384), \"listen\", ret, fail);\n  INFO(NCCL_INIT|NCCL_RAS, \"RAS client listening socket at %s\", ncclSocketToString(&addr, rasLine));\nexit:\n  return ret;\nfail:\n  INFO(NCCL_INIT|NCCL_RAS, \"RAS failed to establish a client listening socket at %s\", clientAddr);\n  if (rasClientListeningSocket != -1) {\n    (void)close(rasClientListeningSocket);\n    rasClientListeningSocket = -1;\n  }\n  goto exit;\n}\n\n// Accepts a new RAS client connection.  The acceptance process may need to continue in the main event loop.\nncclResult_t rasClientAcceptNewSocket() {\n  ncclResult_t ret = ncclSuccess;\n  struct rasClient* client = nullptr;\n  union ncclSocketAddress addr;\n  socklen_t addrlen = sizeof(addr);\n  int flags;\n\n  NCCLCHECKGOTO(getNewClientEntry(&client), ret, fail);\n\n  SYSCHECKGOTO(client->sock = accept(rasClientListeningSocket, (struct sockaddr*)&addr, &addrlen), \"accept\", ret, fail);\n\n  SYSCHECKGOTO(flags = fcntl(client->sock, F_GETFL), \"fcntl\", ret, fail);\n  SYSCHECKGOTO(fcntl(client->sock, F_SETFL, flags | O_NONBLOCK), \"fcntl\", ret, fail);\n\n  NCCLCHECKGOTO(rasGetNewPollEntry(&client->pfd), ret, fail);\n  rasPfds[client->pfd].fd = client->sock;\n  rasPfds[client->pfd].events = POLLIN;\n  client->status = RAS_CLIENT_CONNECTED;\nexit:\n  return ret;\nfail:\n  if (client && client->sock != -1)\n    (void)close(client->sock);\n  goto exit;\n}\n\n// Returns the index of the first available entry in the rasClients array, enlarging the array if necessary.\nstatic ncclResult_t getNewClientEntry(struct rasClient** pClient) {\n  struct rasClient* client;\n\n  NCCLCHECK(ncclCalloc(&client, 1));\n\n  client->sock = client->pfd = -1;\n  ncclIntruQueueConstruct(&client->sendQ);\n  client->timeout =  RAS_COLLECTIVE_LEG_TIMEOUT;\n\n  if (rasClientsHead) {\n    rasClientsTail->next = client;\n    client->prev = rasClientsTail;\n    rasClientsTail = client;\n  } else {\n    rasClientsHead = rasClientsTail = client;\n  }\n\n  *pClient = client;\n  return ncclSuccess;\n}\n\n// Allocates a message of the desired length for sending.\n// Behind the scenes uses rasMsgAlloc.\n// Must use rasClientFreeMsg to free.\nstatic ncclResult_t rasClientAllocMsg(char** msg, size_t msgLen) {\n  return rasMsgAlloc((struct rasMsg**)msg, msgLen);\n}\n\n// To be used only with messages allocated with rasClientAllocMsg, i.e., for messages meant for sending.\nstatic void rasClientFreeMsg(char* msg) {\n  rasMsgFree((struct rasMsg*)msg);\n}\n\n// Enqueues a message for sending to a RAS client.  The message *must* have been allocated using rasClientAllocMsg.\nstatic void rasClientEnqueueMsg(struct rasClient* client, char* msg, size_t msgLen) {\n  // Get to the metadata of this message.\n  struct rasMsgMeta* meta = (struct rasMsgMeta*)((char*)msg - offsetof(struct rasMsgMeta, msg));\n  meta->offset = 0;\n  meta->length = msgLen;\n  if (client->status != RAS_CLIENT_CLOSED && client->status < RAS_CLIENT_FINISHED) {\n    ncclIntruQueueEnqueue(&client->sendQ, meta);\n    rasPfds[client->pfd].events |= POLLOUT;\n  } else {\n    INFO(NCCL_RAS, \"RAS invalid client status %d -- internal error?\", client->status);\n  }\n}\n\n// Terminates a connection with a RAS client.\nstatic void rasClientTerminate(struct rasClient* client) {\n  (void)close(client->sock);\n  rasPfds[client->pfd].fd = -1;\n  rasPfds[client->pfd].events = rasPfds[client->pfd].revents = 0;\n  while (struct rasMsgMeta* meta = ncclIntruQueueTryDequeue(&client->sendQ)) {\n    free(meta);\n  }\n\n  if (client == rasClientsHead)\n    rasClientsHead = rasClientsHead->next;\n  if (client == rasClientsTail)\n    rasClientsTail = rasClientsTail->prev;\n  if (client->prev)\n    client->prev->next = client->next;\n  if (client->next)\n    client->next->prev = client->prev;\n  free(client);\n}\n\n\n//////////////////////////////////////////////////////////////////////\n// Functions related to the asynchronous operations of RAS clients. //\n//////////////////////////////////////////////////////////////////////\n\n// Invoked when an asynchronous operation that a client was waiting on completes.  Finds the right client and\n// reinvokes rasClientRun.\nncclResult_t rasClientResume(struct rasCollective* coll) {\n  struct rasClient* client;\n\n  for (client = rasClientsHead; client; client = client->next)\n    if (client->coll == coll)\n      break;\n  if (client == nullptr) {\n    INFO(NCCL_RAS, \"RAS failed to find a matching client!\");\n    rasCollFree(coll);\n    goto exit;\n  }\n\n  NCCLCHECK(rasClientRun(client));\nexit:\n  return ncclSuccess;\n}\n\n// Handles a ready client FD from the main event loop.\nvoid rasClientEventLoop(struct rasClient* client, int pollIdx) {\n  bool closed = false;\n\n  if (client->status == RAS_CLIENT_CONNECTED) {\n    char* cmd;\n    char* cmdEnd;\n    if (rasPfds[pollIdx].revents & POLLIN) {\n      if (client->recvOffset < sizeof(client->recvBuffer)) {\n        ssize_t nRecv;\n        nRecv = recv(client->sock, client->recvBuffer+client->recvOffset,\n                     sizeof(client->recvBuffer) - client->recvOffset, MSG_DONTWAIT);\n        if (nRecv == 0) {\n          closed = true;\n        } else if (nRecv == -1) {\n          if (errno != EINTR && errno != EWOULDBLOCK && errno != EAGAIN) {\n            if (errno == ECONNRESET)\n              INFO(NCCL_RAS, \"RAS socket closed by the client on receive; terminating it\");\n            else\n              INFO(NCCL_RAS, \"RAS unexpected error from recv; terminating the client socket\");\n            closed = true;\n          }\n        } else { // nRecv > 0\n          client->recvOffset += nRecv;\n        }\n      } else { // client->recvOffset == sizeof(client->recvBuffer)\n        rasPfds[client->pfd].events &= ~POLLIN; // No room to receive for now.\n      }\n    } // if (rasPfds[pollIdx].revents & POLLIN)\n    if (closed) {\n      rasClientTerminate(client);\n      return;\n    }\n    cmd = client->recvBuffer;\n    while ((cmdEnd = (char*)memchr(cmd, '\\n', client->recvOffset - (cmd-client->recvBuffer))) != nullptr) {\n      char* msg;\n      int msgLen;\n      *cmdEnd = '\\0'; // Replaces '\\n'.\n      if (cmdEnd > cmd && cmdEnd[-1] == '\\r')\n        cmdEnd[-1] = '\\0'; // Replaces '\\r' (e.g., in case of a telnet connection).\n\n      if (strncasecmp(cmd, \"client protocol \", strlen(\"client protocol \")) == 0) {\n        // We ignore the protocol version for now; we just send our version back.\n        snprintf(rasLine, sizeof(rasLine), \"SERVER PROTOCOL \" STR(NCCL_RAS_CLIENT_PROTOCOL) \"\\n\");\n        msgLen = strlen(rasLine);\n        if (rasClientAllocMsg(&msg, msgLen) != ncclSuccess) {\n          rasClientTerminate(client);\n          return;\n        }\n        // We don't copy the terminating '\\0', hence memcpy rather than strcpy.\n        memcpy(msg, rasLine, msgLen);\n        rasClientEnqueueMsg(client, msg, msgLen);\n      } else if (strncasecmp(cmd, \"timeout \", strlen(\"timeout \")) == 0) {\n        char* endPtr = nullptr;\n        int timeout = strtol(cmd+strlen(\"timeout \"), &endPtr, 10);\n        if (timeout < 0 || !endPtr || *endPtr != '\\0') {\n          snprintf(rasLine, sizeof(rasLine), \"ERROR: Invalid timeout value %s\\n\", cmd+strlen(\"timeout \"));\n        } else {\n          client->timeout = timeout * CLOCK_UNITS_PER_SEC;\n          strcpy(rasLine, \"OK\\n\");\n        }\n        msgLen = strlen(rasLine);\n        if (rasClientAllocMsg(&msg, msgLen) != ncclSuccess) {\n          rasClientTerminate(client);\n          return;\n        }\n        // We don't copy the terminating '\\0', hence memcpy rather than strcpy.\n        memcpy(msg, rasLine, msgLen);\n        rasClientEnqueueMsg(client, msg, msgLen);\n      } else if (strcasecmp(cmd, \"status\") == 0) {\n        client->status = RAS_CLIENT_INIT;\n        (void)rasClientRun(client);\n      } else if (strcasecmp(cmd, \"verbose status\") == 0) {\n        client->status = RAS_CLIENT_INIT;\n        client->verbose = 1;\n        (void)rasClientRun(client);\n      } else {\n        snprintf(rasLine, sizeof(rasLine), \"ERROR: Unknown command %s\\n\", cmd);\n        msgLen = strlen(rasLine);\n        if (rasClientAllocMsg(&msg, msgLen) != ncclSuccess)\n          return; // It should be non-fatal if we don't return a response...\n        // We don't copy the terminating '\\0', hence memcpy rather than strcpy.\n        memcpy(msg, rasLine, msgLen);\n        rasClientEnqueueMsg(client, msg, msgLen);\n      }\n\n      cmd = cmdEnd+1;\n    } // while newline found\n\n    if (cmd == client->recvBuffer) {\n      if (client->recvOffset == sizeof(client->recvBuffer)) {\n        // We didn't find any newlines and the buffer is full.\n        INFO(NCCL_RAS, \"RAS excessively long input line; terminating the client socket\");\n        rasClientTerminate(client);\n        return;\n      }\n      // Otherwise it's an incomplete command; we need to wait for the rest of it.\n    } else { // cmd > client->recvBuffer\n      // Shift whatever remains (if anything) to the beginning of the buffer.\n      memmove(client->recvBuffer, cmd, client->recvOffset - (cmd-client->recvBuffer));\n      client->recvOffset -= cmd-client->recvBuffer;\n    }\n  } // if (client->status == RAS_CLIENT_CONNECTED)\n\n  if (rasPfds[pollIdx].revents & POLLOUT) {\n    struct rasMsgMeta* meta;\n    while ((meta = ncclIntruQueueHead(&client->sendQ)) != nullptr) {\n      ssize_t nSend;\n      nSend = send(client->sock, ((char*)&meta->msg)+meta->offset, meta->length-meta->offset,\n                   MSG_DONTWAIT | MSG_NOSIGNAL);\n      if (nSend < 1) {\n        if (nSend == -1 && errno != EINTR && errno != EWOULDBLOCK && errno != EAGAIN) {\n          if (errno == EPIPE)\n            INFO(NCCL_RAS, \"RAS socket closed by the client on send; terminating it\");\n          else\n            INFO(NCCL_RAS, \"RAS unexpected error from send; terminating the client socket\");\n          closed = true;\n        }\n        break;\n      }\n\n      meta->offset += nSend;\n      if (meta->offset < meta->length)\n        break;\n\n      ncclIntruQueueDequeue(&client->sendQ);\n      free(meta);\n    } // while (meta)\n\n    if (closed) {\n      rasClientTerminate(client);\n      return;\n    }\n\n    if (!meta) {\n      rasPfds[client->pfd].events &= ~POLLOUT; // Nothing more to send for now.\n      if (client->status == RAS_CLIENT_FINISHED)\n        rasClientTerminate(client);\n    }\n  } // if (rasPfds[pollIdx].revents & POLLOUT)\n}\n\n\n//////////////////////////////////////////////////////////\n// Functions driving data gathering for the RAS client. //\n//////////////////////////////////////////////////////////\n\n// Main function that drives the whole data gathering process and sends it back to the client.\n// There are multiple asynchronous aspects of it (getting the data on connections and on communicators), so the\n// function may exit early and needs to be reinvoked when the asynchronous responses arrive or the timeout expires.\n// The state tracking the progress of such operations is kept in the rasClient.\nstatic ncclResult_t rasClientRun(struct rasClient* client) {\n  ncclResult_t ret = ncclSuccess;\n\n  switch (client->status) {\n    case RAS_CLIENT_INIT:\n      NCCLCHECKGOTO(rasClientRunInit(client), ret, exit);\n#if 0 // Commented out for now to focus the summary status report on the information most relevant to the users.\n      // To be revisited with future extensions to RAS.\n      client->status = RAS_CLIENT_CONNS;\n      if (ret == ncclInProgress) {\n        ret = ncclSuccess;\n        break;\n      }\n    case RAS_CLIENT_CONNS:\n      NCCLCHECKGOTO(rasClientRunConns(client), ret, exit);\n#endif\n      client->status = RAS_CLIENT_COMMS;\n      if (ret == ncclInProgress) {\n        ret = ncclSuccess;\n        break;\n      }\n    case RAS_CLIENT_COMMS:\n      NCCLCHECKGOTO(rasClientRunComms(client), ret, exit);\n      client->status = RAS_CLIENT_FINISHED;\n      break;\n    default:\n      WARN(\"Invalid client status %d\", client->status);\n      ret = ncclInternalError;\n      goto exit;\n  }\nexit:\n  return ret;\n}\n\n// Sends to the client the initial data that can be obtained locally -- version info, stats on rasPeers,\n// dump of rasDeadPeers.  Initiates the RAS_COLL_CONNS collective operation.\nstatic ncclResult_t rasClientRunInit(struct rasClient* client) {\n  ncclResult_t ret = ncclSuccess;\n  char* msg = nullptr;\n  int msgLen;\n  struct rasAuxPeerInfo* auxRasPeers = nullptr;\n  int totalGpus, totalNodes, firstNGpusNode, firstNGpusGlobal, firstNPeersGlobal;\n  bool consistentNGpusNode, consistentNGpusGlobal, consistentNPeersGlobal;\n  int firstIdx, nPeers;\n  struct rasValCount valCounts[NCCL_MAX_LOCAL_RANKS];\n  int nValCounts;\n  static int hipRuntime = -1, amdgpuDriver = -1;\n\n  TRACE(NCCL_RAS, \"RAS: rasClientRunInit: starting\");\n\n  rasOutReset();\n  rasOutAppend(\"RCCL version \" STR(NCCL_MAJOR) \".\" STR(NCCL_MINOR) \".\" STR(NCCL_PATCH) NCCL_SUFFIX\n               \" compiled with ROCm \" STR(ROCM_BUILD_INFO) \"\\n\");\n  if (hipRuntime == -1)\n    hipRuntimeGetVersion(&hipRuntime);\n  if (amdgpuDriver == -1)\n    hipDriverGetVersion(&amdgpuDriver);\n    //Find a better way to query amdgpu driver version, as hipDriverGetVersion() reports the same as hipRuntimeGetVersion()\n    //Else, cudaRuntimeGetVersion() and cudaDriverGetVersion() are anyways hipified, so no need of this mod\n  rasOutAppend(\"HIP runtime version %d, amdgpu driver version %d\\n\\n\", hipRuntime, amdgpuDriver);\n  msgLen = rasOutLength();\n  NCCLCHECKGOTO(rasClientAllocMsg(&msg, msgLen), ret, fail);\n  rasOutExtract(msg);\n  rasClientEnqueueMsg(client, msg, msgLen);\n  msg = nullptr;\n\n  totalGpus = totalNodes = 0;\n  firstNGpusNode = 0; // #GPUs on the first peer of a node.\n  firstNGpusGlobal = 0; // #GPUs on peerIdx 0.\n  consistentNGpusNode = true; // Whether #GPUs/peer is consistent between the peers *on any one node*.\n  consistentNGpusGlobal = true; // Whether #GPUs/peer is consistent between the peers *on all nodes*.\n  consistentNPeersGlobal = true; // Whether #peers/node is consistent between all nodes.\n  nPeers = 0; // #peers on a node.\n  firstNPeersGlobal = 0; // #peers on the first node.\n  for (int peerIdx = 0; peerIdx < nRasPeers; peerIdx++) {\n    int nGpus = __builtin_popcountll(rasPeers[peerIdx].cudaDevs);\n    totalGpus += nGpus;\n    if (peerIdx == 0) {\n      totalNodes = 1;\n      nPeers = 1;\n      firstNGpusGlobal = firstNGpusNode = nGpus;\n    } else { // peerIdx > 0\n      if (nGpus != firstNGpusGlobal)\n        consistentNGpusGlobal = false;\n      if (!ncclSocketsSameNode(&rasPeers[peerIdx].addr, &rasPeers[peerIdx-1].addr)) {\n        totalNodes++;\n        if (firstNPeersGlobal == 0)\n          firstNPeersGlobal = nPeers;\n        else if (nPeers != firstNPeersGlobal)\n          consistentNPeersGlobal = false;\n        nPeers = 1;\n        firstNGpusNode = nGpus;\n      } else { // Same node.\n        if (nGpus != firstNGpusNode)\n          consistentNGpusNode = false;\n        nPeers++;\n      } // Same node\n    } // peerIdx > 0\n    if (peerIdx == nRasPeers-1) {\n      if (firstNPeersGlobal == 0)\n        firstNPeersGlobal = nPeers;\n      else if (nPeers != firstNPeersGlobal)\n        consistentNPeersGlobal = false;\n    }\n  } // for (peerIdx)\n\n  TRACE(NCCL_RAS, \"RAS: totalNodes %d, nRasPeers %d, totalGpus %d\", totalNodes, nRasPeers, totalGpus);\n  TRACE(NCCL_RAS, \"RAS: consistentNPeersGlobal %d, consistentNGpusGlobal %d, consistentNGpusNode %d\",\n        consistentNPeersGlobal, consistentNGpusGlobal, consistentNGpusNode);\n  TRACE(NCCL_RAS, \"RAS: firstNPeersGlobal %d, firstNGpusGlobal %d\", firstNPeersGlobal, firstNGpusGlobal);\n\n  rasOutAppend(\"Job summary\\n\"\n               \"===========\\n\\n\");\n\n  if (consistentNGpusNode && consistentNGpusGlobal && consistentNPeersGlobal) {\n    rasOutAppend(\"  Nodes  Processes         GPUs  Processes     GPUs\\n\"\n                 \"(total)   per node  per process    (total)  (total)\\n\"\n                 \"%7d\"  \"  %9d\"    \"  %11d\"     \"  %9d\"    \"  %7d\\n\",\n                 totalNodes, firstNPeersGlobal, firstNGpusGlobal, nRasPeers, totalGpus);\n  } else {\n    // Gather the stats on the number of processes per node.  However, that number is not a property of a peer,\n    // but of a group of peers, so calculating it is more involved.  We store the value in a temporary auxRasPeers\n    // array.\n    NCCLCHECKGOTO(ncclCalloc(&auxRasPeers, nRasPeers), ret, fail);\n\n    firstIdx = 0;\n    nPeers = 0;\n    for (int peerIdx = 0; peerIdx < nRasPeers; peerIdx++) {\n      auxRasPeers[peerIdx].peer = rasPeers+peerIdx;\n      if (peerIdx == 0) {\n        nPeers = 1;\n        firstIdx = 0;\n      } else { // peerIdx > 0\n        if (!ncclSocketsSameNode(&auxRasPeers[peerIdx].peer->addr, &auxRasPeers[peerIdx-1].peer->addr)) {\n          TRACE(NCCL_RAS, \"RAS: node %s: nPeers %d\",\n                ncclSocketToHost(&auxRasPeers[peerIdx].peer->addr, rasLine, sizeof(rasLine)), nPeers);\n          for (int i = firstIdx; i < peerIdx; i++) {\n            // Go back and update the number of processes of all the elements of that node.\n            auxRasPeers[i].value = nPeers;\n          }\n          nPeers = 1;\n          firstIdx = peerIdx;\n        } else {\n          nPeers++;\n        }\n      } // peerIdx > 0\n      if (peerIdx == nRasPeers-1) {\n        // Last iteration of the loop.\n        TRACE(NCCL_RAS, \"RAS: node %s: nPeers %d\",\n              ncclSocketToHost(&auxRasPeers[peerIdx].peer->addr, rasLine, sizeof(rasLine)), nPeers);\n        for (int i = firstIdx; i < nRasPeers; i++) {\n          auxRasPeers[i].value = nPeers;\n        }\n      }\n    } // for (peerIdx)\n\n    // Re-sort it now using the number of processes on the node (value) as the primary key, host IP as the\n    // secondary, and process id as the tertiary.\n    qsort(auxRasPeers, nRasPeers, sizeof(*auxRasPeers), rasAuxPeersValueCompare);\n\n    // Calculate the distribution of different numbers of peers per node.\n    nValCounts = 0;\n    for (int peerIdx = 0; peerIdx < nRasPeers;) {\n      if (peerIdx == 0 || auxRasPeers[peerIdx].value != auxRasPeers[peerIdx-1].value) {\n        valCounts[nValCounts].value = auxRasPeers[peerIdx].value;\n        valCounts[nValCounts].count = 1;\n        valCounts[nValCounts].firstIdx = peerIdx;\n        nValCounts++;\n      } else {\n        valCounts[nValCounts-1].count++;\n      }\n      // Advance peerIdx to the next node.\n      peerIdx += auxRasPeers[peerIdx].value;\n    } // for (peerIdx)\n    // valCounts is currently sorted by value (the number of peers per node).  Sort it by the count (most frequent\n    // number of peers first).\n    qsort(valCounts, nValCounts, sizeof(*valCounts), rasValCountsCompareRev);\n\n    // Print it out, the most frequent peer counts first.\n    if (consistentNGpusNode && consistentNGpusGlobal) {\n      // consistentNPeersGlobal must be false\n      rasOutAppend(\"  Nodes  Processes         GPUs\\n\"\n                   \"          per node  per process\\n\");\n      for (int i = 0; i < nValCounts; i++) {\n        struct rasValCount* vc = valCounts+i;\n        rasOutAppend(\"%7d  %9ld  %11d\\n\",\n                     vc->count, vc->value, firstNGpusGlobal);\n      }\n    } else { // !consistentNGpusNode || !consistentNGpusGlobal\n      rasOutAppend(\"  Nodes  Processes\\n\"\n                   \"          per node\\n\");\n      for (int i = 0; i < nValCounts; i++) {\n        struct rasValCount* vc = valCounts+i;\n        rasOutAppend(\"%7d  %9ld\\n\",\n                     vc->count, vc->value);\n      }\n\n      // We calculate and print the GPUs/process separately.  This is required for !consistentNGpusNode and\n      // it also makes our life easier above for !consistentNGpusGlobal (which could require a larger valCounts).\n\n      // Sort peers by the GPU count, to simplify data extraction.  Not sure how fast __builtin_popcountll is so we\n      // may just as well cache it...\n      for (int peerIdx = 0; peerIdx < nRasPeers; peerIdx++) {\n        auxRasPeers[peerIdx].value = __builtin_popcountll(auxRasPeers[peerIdx].peer->cudaDevs);\n        TRACE(NCCL_RAS, \"RAS: node %s pid %d: nGpus %d\",\n              ncclSocketToHost(&auxRasPeers[peerIdx].peer->addr, rasLine, sizeof(rasLine)),\n              auxRasPeers[peerIdx].peer->pid, auxRasPeers[peerIdx].value);\n      }\n      // GPU count is the primary key, host IP is the secondary, and process id is the tertiary.\n      qsort(auxRasPeers, nRasPeers, sizeof(*auxRasPeers), rasAuxPeersValueCompare);\n\n      // Calculate the distribution of different numbers of GPUs per peer.\n      nValCounts = 0;\n      for (int peerIdx = 0; peerIdx < nRasPeers; peerIdx++) {\n        if (peerIdx == 0 || auxRasPeers[peerIdx].value != auxRasPeers[peerIdx-1].value) {\n          valCounts[nValCounts].value = auxRasPeers[peerIdx].value;\n          valCounts[nValCounts].count = 1;\n          valCounts[nValCounts].firstIdx = peerIdx;\n          nValCounts++;\n        } else {\n          valCounts[nValCounts-1].count++;\n        }\n      } // for (peerIdx)\n      // valCounts is currently sorted by value (number of GPUs per peer).  Sort it by the count (most frequent\n      // GPU counts first).\n      qsort(valCounts, nValCounts, sizeof(*valCounts), rasValCountsCompareRev);\n\n      // Print it out, the most frequent GPU counts first.\n      rasOutAppend(\"\\n\"\n                   \"         Processes         GPUs\\n\"\n                   \"                    per process\\n\");\n      for (int i = 0; i < nValCounts; i++) {\n        struct rasValCount* vc = valCounts+i;\n        rasOutAppend(\"         %9d  %11ld\\n\",\n                     vc->count, vc->value);\n      }\n    } // !consistentNGpusNode || !consistentNGpusGlobal\n    rasOutAppend(\"\\n\"\n                 \"  Nodes  Processes         GPUs\\n\"\n                 \"(total)    (total)      (total)\\n\"\n                 \"%7d\"  \"  %9d\"    \"  %11d\\n\",\n                 totalNodes, nRasPeers, totalGpus);\n\n    if (consistentNGpusNode && consistentNGpusGlobal) {\n      // In this simpler case, also print the node outliers.\n      for (int i = 1; i < nValCounts; i++) {\n        struct rasValCount* vc = valCounts+i;\n        // We assume that the most frequent group is correct; for the remaining ones, we try to provide more info,\n        // provided that they meet our definition of an outlier.\n        if (rasCountIsOutlier(vc->count, client->verbose, totalNodes)) {\n          rasOutAppend(\"\\nThe outlier node%s:\\n\", (vc->count > 1 ? \"s\" : \"\"));\n          // auxRasPeers is sorted by the node IP address (not port!) as the secondary key and the pid as\n          // the tertiary, which comes in handy when printing...\n          for (int peerIdx = vc->firstIdx; peerIdx < vc->count*vc->value + vc->firstIdx; peerIdx += vc->value) {\n            lineBuf[0] = '\\0';\n            for (int j = 0; j < vc->value; j++) {\n              snprintf(lineBuf+strlen(lineBuf), sizeof(lineBuf)-strlen(lineBuf), \"%s%d\",\n                       (j > 0 ? \",\" : \"\"), auxRasPeers[j].peer->pid);\n            }\n            rasOutAppend(\"  Node %s running process%s %s\\n\",\n                         ncclSocketToHost(&auxRasPeers[peerIdx].peer->addr, rasLine, sizeof(rasLine)),\n                         (vc->value > 1 ? \"es\" : \"\"), lineBuf);\n          } // for (peerIdx)\n        } // if (rasCountIsOutlier(vc->count))\n      } // for (i)\n    } // !consistentNPeersGlobal\n  } // !consistentNGpusNode || !consistentNGpusGlobal || !consistentNPeersGlobal\n\n#if 0 // Commented out for now to focus the summary status report on the information most relevant to the users.\n      // To be revisited with future extensions to RAS.\n  rasOutAppend(\"\\nGathering data about the RAS network (timeout %lds)...\", client->timeout / CLOCK_UNITS_PER_SEC);\n  msgLen = rasOutLength();\n  NCCLCHECKGOTO(rasClientAllocMsg(&msg, msgLen), ret, fail);\n  rasOutExtract(msg);\n  rasClientEnqueueMsg(client, msg, msgLen);\n  msg = nullptr;\n  {\n    struct rasCollRequest collReq = {};\n    bool allDone = false;\n    rasCollReqInit(&collReq);\n    collReq.timeout = client->timeout;\n    collReq.type = RAS_COLL_CONNS;\n    NCCLCHECKGOTO(rasNetSendCollReq(&collReq, &allDone, &client->coll), ret, fail);\n    if (!allDone)\n      ret = ncclInProgress; // We need to wait for async. responses.\n  }\n#endif\n  rasOutAppend(\"\\nCommunicators...\");\n  msgLen = rasOutLength();\n  NCCLCHECKGOTO(rasClientAllocMsg(&msg, msgLen), ret, fail);\n  rasOutExtract(msg);\n  rasClientEnqueueMsg(client, msg, msgLen);\n  msg = nullptr;\n  {\n    struct rasCollRequest collReq = {};\n    bool allDone = false;\n    rasCollReqInit(&collReq);\n    collReq.timeout = client->timeout;\n    collReq.type = RAS_COLL_COMMS;\n    NCCLCHECKGOTO(rasNetSendCollReq(&collReq, &allDone, &client->coll), ret, fail);\n    if (!allDone)\n      ret = ncclInProgress;\n  }\n  TRACE(NCCL_RAS, \"RAS: rasClientRunInit: scheduling RAS_COLL_COMMS and finishing\");\nexit:\n  free(auxRasPeers);\n  return ret;\nfail:\n  goto exit;\n}\n\n#if 0 // Commented out for now to focus the summary status report on the information most relevant to the users.\n      // To be revisited with future extensions to RAS.\n// Processes the response from the RAS_COLL_CONNS collective operation and sends the data to the client (for now\n// primarily the list of missing processes).  Initiates the RAS_COLL_COMMS collective operation.\nstatic ncclResult_t rasClientRunConns(struct rasClient* client) {\n  ncclResult_t ret = ncclSuccess;\n  char* msg = nullptr;\n  int msgLen;\n  struct rasCollective* coll = client->coll;\n  struct rasCollConns* connsData = (struct rasCollConns*)coll->data;\n  int expected;\n  struct rasPeerInfo* peersBuf = nullptr;\n\n  if (coll == nullptr || coll->nFwdSent != coll->nFwdRecv) {\n    INFO(NCCL_RAS, \"RAS invalid collective operation status; client status %d -- internal error?\", client->status);\n    return ncclInternalError;\n  }\n  client->coll = nullptr;\n\n  rasOutReset();\n  rasOutAppend(\" obtained a result in %.2fs\\n\", (clockNano()-coll->startTime)/1e9);\n  if (coll->nLegTimeouts > 0) {\n    rasOutAppend(\" Warning: encountered %d communication timeout%s while gathering data\\n\", coll->nLegTimeouts,\n                 (coll->nLegTimeouts > 1 ? \"s\" : \"\"));\n  }\n\n  expected = nRasPeers - nRasDeadPeers;\n  if (coll->nPeers != expected) {\n    int missing = expected - coll->nPeers;\n    rasOutAppend(\" Warning: missing data from %d process%s (received from %d, expected %d)\\n\",\n                 missing, (missing > 1 ? \"es\" : \"\"), coll->nPeers, expected);\n    if (missing <= RAS_CLIENT_DETAIL_THRESHOLD) {\n      // Extract a list of missing peers.  We don't want to print it right away because it would be sorted\n      // by address (including port, which isn't meaningful to end users).\n      int nPeersBuf = 0;\n      NCCLCHECKGOTO(ncclCalloc(&peersBuf, missing), ret, fail);\n      // Ensure both arrays are sorted (rasPeers already is, by addr); makes finding missing records a breeze.\n      qsort(coll->peers, coll->nPeers, sizeof(*coll->peers), &ncclSocketsCompare);\n      for (int rasPeerIdx = 0, collPeerIdx = 0; rasPeerIdx < nRasPeers || collPeerIdx < coll->nPeers;) {\n        int cmp;\n        if (rasPeerIdx < nRasPeers && collPeerIdx < coll->nPeers)\n          cmp = ncclSocketsCompare(&rasPeers[rasPeerIdx].addr, coll->peers+collPeerIdx);\n        else\n          cmp = (rasPeerIdx < nRasPeers ? -1 : 1);\n\n        if (cmp == 0) {\n          rasPeerIdx++;\n          collPeerIdx++;\n        } else if (cmp < 0) {\n          memcpy(peersBuf+(nPeersBuf++), rasPeers+rasPeerIdx, sizeof(*peersBuf));\n          rasPeerIdx++;\n        } else { // cmp > 0\n          // Process not found in rasPeers -- shouldn't happen.\n          collPeerIdx++;\n        } // cmp > 0\n      } // for (rasPeerIdx, collPeerIdx)\n\n      // Sort the output by host and pid, not host and port.\n      qsort(peersBuf, nPeersBuf, sizeof(*peersBuf), rasPeersHostPidCompare);\n      rasOutAppend(\"  The missing process%s:\\n\", (missing > 1 ? \"es\" : \"\"));\n      for (int peerIdx = 0; peerIdx < nPeersBuf; peerIdx++) {\n        rasOutAppend(\"  Process %d on node %s managing GPU%s %s\\n\", peersBuf[peerIdx].pid,\n                     ncclSocketToHost(&peersBuf[peerIdx].addr, rasLine, sizeof(rasLine)),\n                     (__builtin_popcountll(peersBuf[peerIdx].cudaDevs) > 1 ? \"s\" : \"\"),\n                     rasGpuDevsToString(peersBuf[peerIdx].cudaDevs, peersBuf[peerIdx].nvmlDevs, lineBuf,\n                                        sizeof(lineBuf)));\n      }\n      if (nPeersBuf != missing)\n        rasOutAppend(\"  [could not find information on %d process%s]\\n\",\n                     missing-nPeersBuf, (missing-nPeersBuf > 1 ? \"es\" : \"\"));\n    } // if (expected - coll->nPeers <= RAS_CLIENT_DETAIL_THRESHOLD)\n  } // if (coll->nPeers != expected)\n\n  if (connsData->nConns > 0) {\n    rasOutAppend(\" Collected data about %d unidirectional connection%s\\n\",\n                 connsData->nConns, (connsData->nConns > 1 ? \"s\" : \"\"));\n    rasOutAppend(\" Travel times (valid only if system clocks are synchronized between nodes):\\n\"\n                 \"  Minimum %fs, maximum %fs, average %fs\\n\",\n                 connsData->travelTimeMin/1e9, connsData->travelTimeMax/1e9,\n                 connsData->travelTimeSum/(1e9*connsData->travelTimeCount));\n  } else {\n    rasOutAppend(\" No connection data collected!\\n\");\n  }\n  if (connsData->nNegativeMins > 0) {\n    rasOutAppend(\" Warning: negative travel times were observed across %d connection%s,\\n\"\n                 \" indicating that the system clocks are *not* synchronized.\\n\"\n                 \" Ordering of events based on local timestamps should be considered unreliable\\n\",\n                 connsData->nNegativeMins, (connsData->nNegativeMins > 1 ? \"s\" : \"\"));\n    if (connsData->nNegativeMins <= RAS_CLIENT_DETAIL_THRESHOLD) {\n      rasOutAppend(\"  The affected connection%s:\\n\", (connsData->nNegativeMins > 1 ? \"s\" : \"\"));\n      for (int i = 0; i < connsData->nNegativeMins; i++) {\n        struct rasCollConns::negativeMin* negativeMin = connsData->negativeMins+i;\n        int sourcePeerIdx = rasPeerFind(&negativeMin->source);\n        int destPeerIdx = rasPeerFind(&negativeMin->dest);\n        if (sourcePeerIdx != -1 && destPeerIdx != -1)\n          rasOutAppend(\"  From node %s process %d to node %s process %d: observed travel time of %fs\\n\",\n                       ncclSocketToHost(&negativeMin->source, rasLine, sizeof(rasLine)), rasPeers[sourcePeerIdx].pid,\n                       ncclSocketToHost(&negativeMin->dest, lineBuf, sizeof(lineBuf)), rasPeers[destPeerIdx].pid,\n                       negativeMin->travelTimeMin/1e9);\n      }\n    }\n  }\n  rasCollFree(coll);\n\n  rasOutAppend(\"\\nGathering data about the NCCL communicators (timeout %lds)...\",\n               client->timeout / CLOCK_UNITS_PER_SEC);\n  msgLen = rasOutLength();\n  NCCLCHECKGOTO(rasClientAllocMsg(&msg, msgLen), ret, fail);\n  rasOutExtract(msg);\n  rasClientEnqueueMsg(client, msg, msgLen);\n  msg = nullptr;\n  {\n    struct rasCollRequest collReq = {};\n    bool allDone = false;\n    rasCollReqInit(&collReq);\n    collReq.timeout = client->timeout;\n    collReq.type = RAS_COLL_COMMS;\n    NCCLCHECKGOTO(rasNetSendCollReq(&collReq, &allDone, &client->coll), ret, fail);\n    if (!allDone)\n      ret = ncclInProgress;\n  }\nexit:\n  free(peersBuf);\n  return ret;\nfail:\n  goto exit;\n}\n#endif\n\n// Processes the response from the RAS_COLL_COMMS collective operation and sends the data to the client:\n// statistics on the communicators, missing data from ranks, inconsistent collective operation counts,\n// initialization and asynchronous errors, and inconsistent initialization/termination status.\nstatic ncclResult_t rasClientRunComms(struct rasClient* client) {\n  ncclResult_t ret = ncclSuccess;\n  char* msg = nullptr;\n  int msgLen;\n  struct rasCollective* coll = client->coll;\n  struct rasCollComms* commsData = (struct rasCollComms*)coll->data;\n  struct rasCollComms::comm* comm;\n  struct rasAuxCommRank* auxCommRanks = nullptr;\n  struct rasValCount* valCounts = nullptr;\n  int nValCounts;\n  struct rasValCount* collOpCounts = nullptr;\n  struct rasAuxComm* auxComms = nullptr;\n  int maxCommSize;\n  int* peerIdxConv = nullptr;\n  int vcIdx;\n  int nPeersMissing;\n  uint64_t* peerNvmlDevs = nullptr;\n  const char*const statusStr[] = { \"NOCOMM\", \"INIT\", \"RUNNING\", \"FINALIZE\", \"ABORT\" };\n  const char*const errorStr[] = {\n    // Listing them all like this, while a bit of a hassle, is less effort than formatting in a temporary buffer.\n    \"OK\",\n    \"MISMATCH\",\n    \"ERROR\",\n    \"ERROR,MISMATCH\",\n    \"INCOMPLETE\",\n    \"INCOMPLETE,MISMATCH\",\n    \"INCOMPLETE,ERROR\",\n    \"INCOMPLETE,ERROR,MISMATCH\"\n  };\n\n  TRACE(NCCL_RAS, \"RAS: rasClientRunComms: starting\");\n  TRACE(NCCL_RAS, \"RAS: coll nLegTimeouts %d, nPeers %d, nData %d; commsData nComms %d\",\n        coll->nLegTimeouts, coll->nPeers, coll->nData, commsData->nComms);\n\n  if (coll == nullptr || coll->nFwdSent != coll->nFwdRecv) {\n    INFO(NCCL_RAS, \"RAS invalid collective operation status; client status %d -- internal error?\", client->status);\n    return ncclInternalError;\n  }\n  client->coll = nullptr;\n\n  rasOutReset();\n  rasOutAppend(\" (%.2fs)\\n=============\\n\\n\", (clockNano()-coll->startTime)/1e9);\n\n  // Calculate the number of missing peers early as we rely on it for other things.\n  nPeersMissing = nRasPeers - nRasDeadPeers - coll->nPeers;\n  TRACE(NCCL_RAS, \"RAS: nRasPeers %d, nRasDeadPeers %d, nPeersMissing %d\", nRasPeers, nRasDeadPeers, nPeersMissing);\n\n  // Sort the communicators by size.  As the structure is inconvenient to move around due to the elements being\n  // of variable length, we create an auxiliary array that includes pointers to individual elements and simply sort\n  // that array while keeping the data intact.\n  NCCLCHECKGOTO(ncclCalloc(&auxComms, commsData->nComms), ret, fail);\n  // While initializing the just allocated array, also find out the size of the largest communicator so that we know\n  // how much memory to allocate for another temporary array.\n  maxCommSize = 0;\n  comm = commsData->comms;\n  for (int commIdx = 0; commIdx < commsData->nComms; commIdx++) {\n    if (maxCommSize < comm->commNRanks)\n      maxCommSize = comm->commNRanks;\n    auxComms[commIdx].comm = comm;\n    comm = (struct rasCollComms::comm*)(((char*)(comm+1)) + comm->nRanks * sizeof(*comm->ranks));\n  }\n  NCCLCHECKGOTO(ncclCalloc(&auxCommRanks, maxCommSize), ret, fail);\n  TRACE(NCCL_RAS, \"RAS: maxCommSize %d\", maxCommSize);\n\n  // For convenience, create a translation table from rasCollective's peerIdx to rasPeers peerIdx.\n  NCCLCHECKGOTO(ncclCalloc(&peerIdxConv, coll->nPeers), ret, fail);\n  for (int peerIdx = 0; peerIdx < coll->nPeers; peerIdx++) {\n    peerIdxConv[peerIdx] = rasPeerFind(coll->peers+peerIdx);\n    TRACE(NCCL_RAS, \"RAS: coll peers[%d] -> rasPeers[%d]\", peerIdx, peerIdxConv[peerIdx]);\n  }\n  // Sort coll->peers to match the ordering of rasPeers -- we may need it later...\n  qsort(coll->peers, coll->nPeers, sizeof(*coll->peers), &ncclSocketsCompare);\n\n  // Fill in the remaining fields of auxComm's.\n  for (int commIdx = 0; commIdx < commsData->nComms; commIdx++) {\n    struct rasAuxComm* auxComm = auxComms+commIdx;\n    int nRanks = 0;\n    comm = auxComm->comm;\n    TRACE(NCCL_RAS, \"RAS: coll comms[%d]: commId (0x%lx, 0x%lx, 0x%lx), commNRanks %d, nRanks %d, nMissingRanks %d\",\n          commIdx, comm->commId.commHash, comm->commId.hostHash, comm->commId.pidHash,\n          comm->commNRanks, comm->nRanks, comm->nMissingRanks);\n\n    if (comm->nMissingRanks > 0) {\n      // There are two possibilities here.  Either we are missing the data on some ranks because the processes are\n      // unreachable, or the processes _are_ reachable but didn't report to be part of this communicator (which\n      // could definitely happen if some processes have already called ncclCommDestroy or ncclCommAbort).\n      if (nPeersMissing == 0 && nRasDeadPeers == 0) {\n        // We received data from _all_ processes.  That's an easy case.\n        auxComm->errors |= RAS_ACE_MISMATCH;\n        auxComm->status |= RAS_ACS_NOCOMM;\n      } else {\n        // We failed to receive data from some processes but we don't know if that's why we don't have the info about\n        // some ranks of this communicator.  We need to check all the missing ranks one-by-one as different ranks may\n        // have different reason.\n        struct rasCollCommsMissingRank* missingRanks = (struct rasCollCommsMissingRank*)(comm->ranks+comm->nRanks);\n\n        for (int rankIdx = 0; rankIdx < comm->nMissingRanks; rankIdx++) {\n          struct rasCollCommsMissingRank* missingRank = missingRanks + rankIdx;\n          void* found;\n          if ((found = bsearch(&missingRank->addr, coll->peers, coll->nPeers, sizeof(*coll->peers),\n                               ncclSocketsCompare)) != nullptr) {\n            // We did receive the data from that process, but not about this communicator.\n            auxComm->errors |= RAS_ACE_MISMATCH;\n            auxComm->status |= RAS_ACS_NOCOMM;\n          } else {\n            // We failed to receive data from that process.\n            auxComm->errors |= RAS_ACE_INCOMPLETE;\n            auxComm->nIncompleteRanks++;\n          }\n          TRACE(NCCL_RAS, \"RAS: comm missingRank[%d] commRank %d, addr %td (-> %d), cudaDev %d, nvmlDev %d\",\n                rankIdx, missingRank->commRank, (found ? ((union ncclSocketAddress*)found) - coll->peers: -1),\n                rasPeerFind(&missingRank->addr), missingRank->cudaDev, missingRank->nvmlDev);\n        } // for (rankIdx)\n      } // nPeersMissing > 0 || nRasDeadPeers > 0\n    } // if (comm->nMissingRanks > 0)\n\n    // Initialize auxCommRanks from comm->rank, converting peerIdx to rasPeers, then sort by it -- that way we will\n    // have the ranks sorted by node and process, which makes counting easy.\n    for (int rankIdx = 0; rankIdx < comm->nRanks; rankIdx++) {\n      struct rasCollComms::comm::rank* rank = comm->ranks+rankIdx;\n      auxCommRanks[rankIdx].rank = rank;\n      auxCommRanks[rankIdx].value = peerIdxConv[rank->peerIdx];\n      TRACE(NCCL_RAS, \"RAS: comm rank[%d] commRank %d, peerIdx %d (-> %d), cudaDev %d, nvmlDev %d\",\n            rankIdx, rank->commRank, rank->peerIdx, peerIdxConv[rank->peerIdx], rank->cudaDev, rank->nvmlDev);\n      TRACE(NCCL_RAS, \"RAS: comm rank[%d] collOpCounts (%ld, %ld, %ld, %ld, %ld)\",\n            rankIdx, rank->collOpCounts[0], rank->collOpCounts[1], rank->collOpCounts[2], rank->collOpCounts[3],\n            rank->collOpCounts[4]);\n      TRACE(NCCL_RAS, \"RAS: comm rank[%d] status initState %d, asyncError %d, finalizeCalled %d, destroyFlag %d, \"\n            \"abortFlag %d\", rankIdx, rank->status.initState, rank->status.asyncError, rank->status.finalizeCalled,\n            rank->status.destroyFlag, rank->status.abortFlag); /**/\n    }\n    // This also sorts by the commRank, which we don't care about here, but it won't hurt.\n    qsort(auxCommRanks, comm->nRanks, sizeof(*auxCommRanks), rasAuxCommRanksValueCompare);\n\n    // Count the peers and nodes, get the status/error indicators.\n    for (int rankIdx = 0; rankIdx < comm->nRanks; rankIdx++) {\n      struct rasAuxCommRank* auxRank = auxCommRanks+rankIdx;\n      if (rankIdx == 0) {\n        auxComm->nPeers = auxComm->nNodes = 1;\n        auxComm->ranksPerNodeMin = NCCL_MAX_LOCAL_RANKS;\n        auxComm->ranksPerNodeMax = 0;\n        memcpy(auxComm->firstCollOpCounts, auxRank->rank->collOpCounts, sizeof(auxComm->firstCollOpCounts));\n        nRanks = 1;\n      } else { // rankIdx > 0\n        if (auxRank->value != auxRank[-1].value) {\n          auxComm->nPeers++;\n          if (!ncclSocketsSameNode(&rasPeers[auxRank->value].addr, &rasPeers[auxRank[-1].value].addr)) {\n            auxComm->nNodes++;\n            if (auxComm->ranksPerNodeMin > nRanks)\n              auxComm->ranksPerNodeMin = nRanks;\n            if (auxComm->ranksPerNodeMax < nRanks)\n              auxComm->ranksPerNodeMax = nRanks;\n            nRanks = 0;\n          }\n        } // if (auxRank->value != auxRank[-1].value)\n        nRanks++;\n      } // rankIdx > 0\n      if (rankIdx == comm->nRanks-1) {\n        // Last iteration of the loop.\n        if (auxComm->ranksPerNodeMin > nRanks)\n          auxComm->ranksPerNodeMin = nRanks;\n        if (auxComm->ranksPerNodeMax < nRanks)\n          auxComm->ranksPerNodeMax = nRanks;\n      }\n\n      if (auxRank->rank->status.abortFlag)\n        auxComm->status |= RAS_ACS_ABORT;\n      else if (auxRank->rank->status.finalizeCalled || auxRank->rank->status.destroyFlag) {\n        // destroyFlag is set by ncclCommDestroy and ncclCommAbort.  finalizeCalled appears to be set by\n        // ncclCommFinalize only.  According to the docs, ncclCommDestroy *can* be called without calling\n        // ncclCommFinalize first.  The code structure here ensures that we attribute destroyFlag properly\n        // as a finalize state indicator (and ignore it in case of ncclCommAbort).\n        auxComm->status |= RAS_ACS_FINALIZE;\n      }\n      else if (auxRank->rank->status.initState == ncclSuccess)\n        auxComm->status |= RAS_ACS_RUNNING;\n      else // auxRank->rank->initState != ncclSuccess\n        auxComm->status |= RAS_ACS_INIT;\n\n      for (int collIdx = 0; collIdx < NCCL_NUM_FUNCTIONS && !(auxComm->errors & RAS_ACE_MISMATCH); collIdx++) {\n        if (auxRank->rank->collOpCounts[collIdx] != auxComm->firstCollOpCounts[collIdx])\n          auxComm->errors |= RAS_ACE_MISMATCH;\n      }\n      if (auxRank->rank->status.initState != ncclSuccess && auxRank->rank->status.initState != ncclInProgress)\n        auxComm->errors |= RAS_ACE_ERROR;\n      if (auxRank->rank->status.asyncError != ncclSuccess && auxRank->rank->status.asyncError != ncclInProgress)\n        auxComm->errors |= RAS_ACE_ERROR;\n    } // for (rankIdx)\n\n    if (__builtin_popcount(auxComm->status) > 1) {\n      // We've got a status mismatch between ranks.\n      auxComm->errors |= RAS_ACE_MISMATCH;\n    }\n    TRACE(NCCL_RAS, \"RAS: auxComm nPeers %d, nNodes %d, nIncompleteRanks %d\",\n          auxComm->nPeers, auxComm->nNodes, auxComm->nIncompleteRanks);\n    TRACE(NCCL_RAS, \"RAS: auxComm ranksPerNodeMin %d, ranksPerNodeMax %d, status 0x%x, errors 0x%x\",\n          auxComm->ranksPerNodeMin, auxComm->ranksPerNodeMax, auxComm->status, auxComm->errors);\n  } // for (commIdx)\n  // Sort it by size/nNodes/status/errors/missing ranks.\n  if (auxComms)\n    qsort(auxComms, commsData->nComms, sizeof(*auxComms), &rasAuxCommsCompareRev);\n\n  // Calculate the distribution of different communicator sizes.\n  NCCLCHECKGOTO(ncclCalloc(&valCounts, commsData->nComms), ret, fail);\n  nValCounts = 0;\n  for (int commIdx = 0; commIdx < commsData->nComms; commIdx++) {\n    if (commIdx == 0 ||\n        auxComms[commIdx].comm->commNRanks != auxComms[commIdx-1].comm->commNRanks ||\n        auxComms[commIdx].nNodes != auxComms[commIdx-1].nNodes ||\n        // __builtin_clz returns the number of leading 0-bits, which is a proxy for the index of the highest 1-bit.\n        __builtin_clz(auxComms[commIdx].status) != __builtin_clz(auxComms[commIdx-1].status) ||\n        auxComms[commIdx].errors != auxComms[commIdx-1].errors) {\n      valCounts[nValCounts].value = 0; // We have many distinguishing values but only one field to store them.\n                                       // It doesn't really matter, given that we can extract them via firstIdx.\n      valCounts[nValCounts].count = 1;\n      valCounts[nValCounts].firstIdx = commIdx;\n      nValCounts++;\n    } else {\n      valCounts[nValCounts-1].count++;\n    }\n  }\n\n  TRACE(NCCL_RAS, \"RAS: rasClientRunComms: done with initial data processing\");\n\n  if (commsData->nComms > 0) {\n    rasOutAppend(\"Group     Comms     Nodes     Ranks     Ranks     Ranks    Status  Errors\\n\"\n                 \"    #  in group  per comm  per node  per comm  in group\\n\");\n  } else {\n    rasOutAppend(\"No communicator data collected!\\n\");\n  }\n\n  // Allocate an auxiliary structure used for counting the number of ranks (unique GPUs) in a group.\n  NCCLCHECKGOTO(ncclCalloc(&peerNvmlDevs, coll->nPeers), ret, fail);\n\n  // Print it out, the largest communicators first.\n  for (int vcIdx = 0; vcIdx < nValCounts; vcIdx++) {\n    struct rasValCount* vc = valCounts+vcIdx;\n    struct rasAuxComm* auxComm = auxComms+vc->firstIdx;\n    int ranksPerNodeMin, ranksPerNodeMax;\n    int ranksTotal;\n\n    ranksPerNodeMin = NCCL_MAX_LOCAL_RANKS;\n    ranksPerNodeMax = 0;\n    memset(peerNvmlDevs, '\\0', coll->nPeers * sizeof(*peerNvmlDevs));\n    // We don't group comms by ranksPerNodeMin/Max, so the values may differ between comms in one group.\n    // Calculate the group's min/max.\n    // Also calculate the number of unique ranks in the group.\n    for (int commIdx = 0; commIdx < vc->count; commIdx++) {\n      if (ranksPerNodeMin > auxComm[commIdx].ranksPerNodeMin)\n        ranksPerNodeMin = auxComm[commIdx].ranksPerNodeMin;\n      if (ranksPerNodeMax < auxComm[commIdx].ranksPerNodeMax)\n        ranksPerNodeMax = auxComm[commIdx].ranksPerNodeMax;\n      for (int rankIdx = 0; rankIdx < auxComm[commIdx].comm->nRanks; rankIdx++) {\n        struct rasCollComms::comm::rank* rank = auxComm[commIdx].comm->ranks+rankIdx;\n        peerNvmlDevs[rank->peerIdx] |= (1UL << rank->nvmlDev);\n      }\n    }\n    ranksTotal = 0;\n    for (int peerIdx = 0; peerIdx < coll->nPeers; peerIdx++)\n      ranksTotal += __builtin_popcountll(peerNvmlDevs[peerIdx]);\n    if (ranksPerNodeMin == ranksPerNodeMax)\n      snprintf(rasLine, sizeof(rasLine), \"%d\", ranksPerNodeMin);\n    else\n      snprintf(rasLine, sizeof(rasLine), \"%d-%d\", ranksPerNodeMin, ranksPerNodeMax);\n    rasOutAppend(\"%5d  %8d  %8d  %8s  %8d  %8d  %8s  %6s\\n\",\n                 vcIdx, vc->count, auxComm->nNodes, rasLine, auxComm->comm->commNRanks, ranksTotal,\n                 // __builtin_clz returns the number of leading 0-bits.  This makes it possible to translate the\n                 // status (which is a bitmask) into an array index.\n                 statusStr[(sizeof(unsigned int)*8-1)-__builtin_clz(auxComm->status)], errorStr[auxComm->errors]);\n  }\n  msgLen = rasOutLength();\n  NCCLCHECKGOTO(rasClientAllocMsg(&msg, msgLen), ret, fail);\n  rasOutExtract(msg);\n  rasClientEnqueueMsg(client, msg, msgLen);\n  msg = nullptr;\n\n  rasOutAppend(\"\\nErrors\\n\"\n               \"======\\n\\n\");\n\n  if (nPeersMissing > 0) {\n    rasOutAppend(\"INCOMPLETE\\n\"\n                 \"  Missing communicator data from %d job process%s\\n\", nPeersMissing, (nPeersMissing > 1 ? \"es\" : \"\"));\n    if (rasCountIsOutlier(nPeersMissing, client->verbose)) {\n      // Extract a list of missing peers.  We don't want to print it right away because it would be sorted\n      // by address (including port, which isn't meaningful to end users).\n      struct rasAuxPeerInfo* auxPeersBuf = nullptr;\n      int nPeersBuf;\n\n      // Both rasPeers and coll->peers are sorted by address (the latter we sorted above) which makes comparing\n      // them much easier.\n      NCCLCHECKGOTO(ncclCalloc(&auxPeersBuf, nPeersMissing), ret, fail);\n      nPeersBuf = 0;\n      for (int rasPeerIdx = 0, collPeerIdx = 0; rasPeerIdx < nRasPeers || collPeerIdx < coll->nPeers;) {\n        int cmp;\n        if (rasPeerIdx < nRasPeers && collPeerIdx < coll->nPeers)\n          cmp = ncclSocketsCompare(&rasPeers[rasPeerIdx].addr, coll->peers+collPeerIdx);\n        else\n          cmp = (rasPeerIdx < nRasPeers ? -1 : 1);\n\n        if (cmp == 0) {\n          rasPeerIdx++;\n          collPeerIdx++;\n        } else if (cmp < 0) {\n          // Process missing from coll->peers.  Don't report dead ones though, as they are not included\n          // in nPeersMissing and are reported separately below.\n          bool dead;\n          if (!(dead = rasPeerIsDead(&rasPeers[rasPeerIdx].addr))) {\n            if (nPeersBuf < nPeersMissing) {\n              auxPeersBuf[nPeersBuf++].peer = rasPeers+rasPeerIdx;\n            } else {\n              INFO(NCCL_RAS, \"RAS overflow of auxPeersBuf: nPeersBuf %d, rasPeerIdx %d (%s), collPeerIdx %d -- \"\n                   \"internal error?\",\n                   nPeersBuf, rasPeerIdx, ncclSocketToString(&rasPeers[rasPeerIdx].addr, rasLine), collPeerIdx);\n            }\n          }\n          TRACE(NCCL_RAS, \"RAS rasPeerIdx %d (%s) is missing from coll->peers; dead %d\",\n                rasPeerIdx, ncclSocketToString(&rasPeers[rasPeerIdx].addr, rasLine), dead);\n          rasPeerIdx++;\n        } else { // cmp > 0\n          // Process not found in rasPeers -- shouldn't happen, unless during a race?\n          INFO(NCCL_RAS, \"RAS failed to find coll->peer[%d] (%s) in rasPeers -- internal error?\",\n               collPeerIdx, ncclSocketToString(coll->peers+collPeerIdx, rasLine));\n          collPeerIdx++;\n        } // cmp > 0\n      } // for (rasPeerIdx, collPeerIdx)\n\n      // Sort the output by host and pid.  rasAuxPeersValueCompare uses value as the primary key, which is 0 for\n      // all auxPeersBuf elements here, so it will do.\n      qsort(auxPeersBuf, nPeersBuf, sizeof(*auxPeersBuf), rasAuxPeersValueCompare);\n      for (int peerIdx = 0; peerIdx < nPeersBuf; peerIdx++) {\n        struct rasAuxPeerInfo* auxPeer = auxPeersBuf+peerIdx;\n        rasOutAppend(\"  Process %d on node %s managing GPU%s %s\\n\", auxPeer->peer->pid,\n                     ncclSocketToHost(&auxPeer->peer->addr, rasLine, sizeof(rasLine)),\n                     (__builtin_popcountll(auxPeer->peer->cudaDevs) > 1 ? \"s\" : \"\"),\n                     rasGpuDevsToString(auxPeer->peer->cudaDevs, auxPeer->peer->nvmlDevs, lineBuf,\n                                        sizeof(lineBuf)));\n      }\n      if (nPeersBuf != nPeersMissing)\n        rasOutAppend(\"  [could not find information on %d process%s]\\n\",\n                     nPeersMissing-nPeersBuf, (nPeersMissing-nPeersBuf > 1 ? \"es\" : \"\"));\n      free(auxPeersBuf);\n    } // if (rasCountIsOutlier(nPeersMissing))\n    rasOutAppend(\"\\n\");\n  }\n\n  if (nRasDeadPeers > 0) {\n    rasOutAppend(\"DEAD\\n\"\n                 \"  %d job process%s considered dead (unreachable via the RAS network)\\n\", nRasDeadPeers,\n                 (nRasDeadPeers > 1 ? \"es are\" : \" is\"));\n    if (rasCountIsOutlier(nRasDeadPeers, client->verbose)) {\n      // rasDeadPeers contains only addresses, whereas we want a complete rasPeerInfo, and sorted differently.\n      struct rasAuxPeerInfo* auxPeersBuf = nullptr;\n      int nPeersBuf = 0;\n      NCCLCHECKGOTO(ncclCalloc(&auxPeersBuf, nRasDeadPeers), ret, fail);\n      for (int i = 0; i < nRasDeadPeers; i++) {\n        int peerIdx = rasPeerFind(rasDeadPeers+i);\n        if (peerIdx != -1)\n          auxPeersBuf[nPeersBuf++].peer = rasPeers+peerIdx;\n      }\n      // Sort the output by host and pid, not host and port.  rasAuxPeersValueCompare uses value as the primary key,\n      // which is 0 for all auxPeersBuf elements here, so it will do.\n      qsort(auxPeersBuf, nPeersBuf, sizeof(*auxPeersBuf), rasAuxPeersValueCompare);\n      for (int peerIdx = 0; peerIdx < nPeersBuf; peerIdx++) {\n        struct rasAuxPeerInfo* auxPeer = auxPeersBuf+peerIdx;\n        rasOutAppend(\"  Process %d on node %s managing GPU%s %s\\n\", auxPeer->peer->pid,\n                     ncclSocketToHost(&auxPeer->peer->addr, rasLine, sizeof(rasLine)),\n                     (__builtin_popcountll(auxPeer->peer->cudaDevs) > 1 ? \"s\" : \"\"),\n                     rasGpuDevsToString(auxPeer->peer->cudaDevs, auxPeer->peer->nvmlDevs, lineBuf,\n                                        sizeof(lineBuf)));\n      }\n      if (nPeersBuf != nRasDeadPeers)\n        rasOutAppend(\"  [could not find information on %d process%s]\\n\",\n                     nRasDeadPeers-nPeersBuf, (nRasDeadPeers-nPeersBuf > 1 ? \"es\" : \"\"));\n      free(auxPeersBuf);\n    } // if (rasCountIsOutlier(nRasDeadPeers)\n    rasOutAppend(\"\\n\");\n  }\n\n  // Continue printing the largest communicators first, as in the summary table.\n  for (vcIdx = 0; vcIdx < nValCounts; vcIdx++) {\n    struct rasValCount* vc;\n    vc = valCounts+vcIdx;\n    for (int commIdx = vc->firstIdx; commIdx < vc->count + vc->firstIdx; commIdx++) {\n      struct rasAuxComm* auxComm = auxComms+commIdx;\n      comm = auxComm->comm;\n\n      if (auxComm->errors & RAS_ACE_INCOMPLETE) {\n        rasOutAppend(\"#%d-%d (%016lx) INCOMPLETE\\n\"\n                     \"  Missing communicator data from %d rank%s\\n\", vcIdx, commIdx - vc->firstIdx,\n                     comm->commId.commHash, auxComm->nIncompleteRanks, (auxComm->nIncompleteRanks > 1 ? \"s\" : \"\"));\n        if (rasCountIsOutlier(auxComm->nIncompleteRanks, client->verbose)) {\n          struct rasCollCommsMissingRank* missingRanks = (struct rasCollCommsMissingRank*)(comm->ranks+comm->nRanks);\n          for (int rankIdx = 0; rankIdx < comm->nMissingRanks; rankIdx++) {\n            struct rasCollCommsMissingRank* missingRank = missingRanks + rankIdx;\n            // Filter out ranks that provided a response but not for this communicator.\n            if (bsearch(&missingRank->addr, coll->peers, coll->nPeers, sizeof(*coll->peers), ncclSocketsCompare) ==\n                nullptr) {\n              int peerIdx = rasPeerFind(&missingRank->addr);\n              if (peerIdx != -1) {\n                rasOutAppend(\"  Rank %d -- GPU %s managed by process %d on node %s\\n\",\n                             missingRank->commRank,\n                             rasGpuToString(missingRank->cudaDev, missingRank->nvmlDev, lineBuf, sizeof(lineBuf)),\n                             rasPeers[peerIdx].pid,\n                             ncclSocketToHost(&missingRank->addr, rasLine, sizeof(rasLine)));\n              } else {\n                rasOutAppend(\"  Rank %d -- [process information not found]\\n\", missingRank->commRank);\n              }\n            } // if rank did not respond\n          } // for (rankIdx)\n        } // if (rasCountIsOutlier(nRanksMissing))\n        rasOutAppend(\"\\n\");\n      } // if (auxComm->errors & RAS_ACE_INCOMPLETE)\n\n      if (auxComm->errors & RAS_ACE_ERROR) {\n        int ncclErrors[ncclNumResults];\n        int nErrors;\n        rasOutAppend(\"#%d-%d (%016lx) ERROR\\n\", vcIdx, commIdx - vc->firstIdx, comm->commId.commHash);\n\n        memset(ncclErrors, '\\0', sizeof(ncclErrors));\n        for (int rankIdx = 0; rankIdx < comm->nRanks; rankIdx++)\n          ncclErrors[comm->ranks[rankIdx].status.initState]++;\n        nErrors = comm->nRanks - (ncclErrors[ncclSuccess] + ncclErrors[ncclInProgress]);\n        if (nErrors > 0) {\n          rasOutAppend(\"  Initialization error%s on %d rank%s\\n\",\n                       (nErrors > 1 ? \"s\" : \"\"), nErrors, (nErrors > 1 ? \"s\" : \"\"));\n          rasClientBreakDownErrors(client, comm, peerIdxConv, ncclErrors);\n        }\n\n        memset(ncclErrors, '\\0', sizeof(ncclErrors));\n        for (int rankIdx = 0; rankIdx < comm->nRanks; rankIdx++)\n          ncclErrors[comm->ranks[rankIdx].status.asyncError]++;\n        nErrors = comm->nRanks - (ncclErrors[ncclSuccess] + ncclErrors[ncclInProgress]);\n        if (nErrors > 0) {\n          rasOutAppend(\"  Asynchronous error%s on %d rank%s\\n\",\n                       (nErrors > 1 ? \"s\" : \"\"), nErrors, (nErrors > 1 ? \"s\" : \"\"));\n          rasClientBreakDownErrors(client, comm, peerIdxConv, ncclErrors, /*isAsync*/true);\n        }\n        rasOutAppend(\"\\n\");\n      } // if (auxComm->errors & RAS_ACE_ERROR)\n    } // for (commIdx)\n  } // for (vcIdx)\n  msgLen = rasOutLength();\n  NCCLCHECKGOTO(rasClientAllocMsg(&msg, msgLen), ret, fail);\n  rasOutExtract(msg);\n  rasClientEnqueueMsg(client, msg, msgLen);\n  msg = nullptr;\n\n  rasOutAppend(\"Warnings\\n\"\n               \"========\\n\\n\");\n\n  if (coll->nLegTimeouts > 0) {\n    rasOutAppend(\"TIMEOUT\\n\"\n                 \"  Encountered %d communication timeout%s while gathering communicator data\\n\\n\",\n                 coll->nLegTimeouts, (coll->nLegTimeouts > 1 ? \"s\" : \"\"));\n  }\n\n  // Continue printing the largest communicators first, as in the summary table.\n  for (int vcIdx = 0; vcIdx < nValCounts; vcIdx++) {\n    struct rasValCount* vc = valCounts+vcIdx;\n    for (int commIdx = vc->firstIdx; commIdx < vc->count + vc->firstIdx; commIdx++) {\n      struct rasAuxComm* auxComm = auxComms+commIdx;\n      comm = auxComm->comm;\n\n      if (auxComm->errors & RAS_ACE_MISMATCH) {\n        rasOutAppend(\"#%d-%d (%016lx) MISMATCH\\n\", vcIdx, commIdx - vc->firstIdx, comm->commId.commHash);\n\n        if (collOpCounts == nullptr) {\n          // Allocating comm->commNRanks elements ensures that we won't need to reallocate, because the valCounts\n          // array is reverse-sorted by commNRanks.  On the other hand, for this purpose allocating commNRanks\n          // elements may be massively overpessimistic...\n          NCCLCHECKGOTO(ncclCalloc(&collOpCounts, comm->commNRanks), ret, fail);\n        }\n\n        if (__builtin_popcount(auxComm->status) > 1) {\n          rasOutAppend(\"  Communicator ranks have different status\\n\");\n\n          // We need to sort the ranks by status.  However, status is normally calculated from other fields.\n          // We will store it in the auxCommRanks' value.\n          for (int rankIdx = 0; rankIdx < comm->nRanks; rankIdx++) {\n            struct rasCollComms::comm::rank* rank = comm->ranks+rankIdx;\n            struct rasAuxCommRank* auxRank = auxCommRanks+rankIdx;\n            auxRank->rank = rank;\n\n            if (rank->status.abortFlag)\n              auxRank->value = RAS_ACS_ABORT;\n            else if (rank->status.finalizeCalled || rank->status.destroyFlag)\n              auxRank->value = RAS_ACS_FINALIZE;\n            else if (rank->status.initState == ncclSuccess)\n              auxRank->value = RAS_ACS_RUNNING;\n            else\n              auxRank->value = RAS_ACS_INIT;\n          }\n          qsort(auxCommRanks, comm->nRanks, sizeof(*auxCommRanks), rasAuxCommRanksValueCompare);\n          // Calculate the frequency of different status values.\n          int nCollOpCounts = 0;\n          for (int rankIdx = 0; rankIdx < comm->nRanks; rankIdx++) {\n            if (rankIdx == 0 || auxCommRanks[rankIdx].value != auxCommRanks[rankIdx-1].value) {\n              // __builtin_clz returns the number of leading 0-bits.  This makes it possible to translate the\n              // status (which is a bitmask) into an array index.  The argument is an unsigned int (there is no\n              // 64-bit version seemingly, but we don't actually need one here).\n              collOpCounts[nCollOpCounts].value =\n                (sizeof(unsigned int)*8-1) - __builtin_clz((unsigned int)auxCommRanks[rankIdx].value);\n              collOpCounts[nCollOpCounts].count = 1;\n              collOpCounts[nCollOpCounts].firstIdx = rankIdx;\n              nCollOpCounts++;\n            } else {\n              collOpCounts[nCollOpCounts-1].count++;\n            }\n          }\n          if (comm->nMissingRanks - auxComm->nIncompleteRanks > 0) {\n            // Add a \"fake\" element corresponding to the NOCOMM entries, since they are not in the ranks array.\n            collOpCounts[nCollOpCounts].value = 0; // The index of \"NOCOMM\" in statusStr.\n            collOpCounts[nCollOpCounts].count = comm->nMissingRanks - auxComm->nIncompleteRanks;\n            collOpCounts[nCollOpCounts].firstIdx = -1; // \"Fake\" entry identifier.\n            nCollOpCounts++;\n          }\n          // Sort by that frequency (most frequent first).\n          qsort(collOpCounts, nCollOpCounts, sizeof(*collOpCounts), rasValCountsCompareRev);\n\n          for (int coc = 0; coc < nCollOpCounts; coc++) {\n            struct rasValCount* vcc = collOpCounts+coc;\n            if (vcc->count > 1)\n              rasOutAppend(\"  %d ranks have status %s\\n\", vcc->count, statusStr[vcc->value]);\n            if (rasCountIsOutlier(vcc->count, client->verbose, comm->commNRanks)) {\n              if (vcc->firstIdx != -1) {\n                // auxCommRanks is sorted by commRank as the secondary key, which comes in handy when printing...\n                for (int rankIdx = vcc->firstIdx; rankIdx < vcc->count+vcc->firstIdx; rankIdx++) {\n                  int peerIdx = peerIdxConv[auxCommRanks[rankIdx].rank->peerIdx];\n                  if (peerIdx != -1) {\n                    if (vcc->count > 1)\n                      rasOutAppend(\"  Rank %d -- GPU %s managed by process %d on node %s\\n\",\n                                   auxCommRanks[rankIdx].rank->commRank,\n                                   rasCommRankGpuToString(auxCommRanks[rankIdx].rank, lineBuf, sizeof(lineBuf)),\n                                   rasPeers[peerIdx].pid,\n                                   ncclSocketToHost(&rasPeers[peerIdx].addr, rasLine, sizeof(rasLine)));\n                    else\n                      rasOutAppend(\"  Rank %d has status %s -- GPU %s managed by process %d on node %s\\n\",\n                                   auxCommRanks[rankIdx].rank->commRank, statusStr[vcc->value],\n                                   rasCommRankGpuToString(auxCommRanks[rankIdx].rank, lineBuf, sizeof(lineBuf)),\n                                   rasPeers[peerIdx].pid,\n                                   ncclSocketToHost(&rasPeers[peerIdx].addr, rasLine, sizeof(rasLine)));\n                  } else { // peerIdx == -1\n                    if (vcc->count > 1)\n                      rasOutAppend(\"  Rank %d -- [process information not found]\\n\",\n                                   auxCommRanks[rankIdx].rank->commRank);\n                    else\n                      rasOutAppend(\"  Rank %d has status %s -- [process information not found]\\n\",\n                                   auxCommRanks[rankIdx].rank->commRank, statusStr[vcc->value]);\n                  } // peerIdx == -1\n                } // for (rankIdx)\n              } else {\n                // NOCOMM ranks are in a different array.\n                struct rasCollCommsMissingRank* missingRanks = (struct rasCollCommsMissingRank*)(comm->ranks +\n                                                                                                 comm->nRanks);\n                for (int rankIdx = 0; rankIdx < comm->nMissingRanks; rankIdx++) {\n                  struct rasCollCommsMissingRank* missingRank = missingRanks + rankIdx;\n                  // Filter out ranks that did not respond at all.\n                  if (bsearch(&missingRank->addr, coll->peers, coll->nPeers, sizeof(*coll->peers),\n                              ncclSocketsCompare)) {\n                    int peerIdx = rasPeerFind(&missingRank->addr);\n                    if (peerIdx != -1) {\n                      if (vcc->count > 1) {\n                        rasOutAppend(\"  Rank %d -- GPU %s managed by process %d on node %s\\n\",\n                                     missingRank->commRank, rasGpuToString(missingRank->cudaDev, missingRank->nvmlDev,\n                                                                           lineBuf, sizeof(lineBuf)),\n                                     rasPeers[peerIdx].pid,\n                                     ncclSocketToHost(&missingRank->addr, rasLine, sizeof(rasLine)));\n                      } else {\n                        rasOutAppend(\"  Rank %d has status %s -- GPU %s managed by process %d on node %s\\n\",\n                                     missingRank->commRank, statusStr[vcc->value],\n                                     rasGpuToString(missingRank->cudaDev, missingRank->nvmlDev,\n                                                    lineBuf, sizeof(lineBuf)), rasPeers[peerIdx].pid,\n                                     ncclSocketToHost(&missingRank->addr, rasLine, sizeof(rasLine)));\n                      }\n                    } else { // peerIdx == -1\n                      if (vcc->count > 1) {\n                        rasOutAppend(\"  Rank %d -- [process information not found]\\n\", missingRank->commRank);\n                      } else {\n                        rasOutAppend(\"  Rank %d has status %s -- [process information not found]\\n\",\n                                     missingRank->commRank, statusStr[vcc->value]);\n                      }\n                    } // peerIdx == -1\n                  } // if rank responded\n                } // for (rankIdx)\n              } // vcc->firstIdx == -1\n            } // if (rasCountIsOutlier(vcc->count))\n          } // for (coc)\n        } // if (__builtin_popcount(auxComm->status) > 1)\n\n        for (int collIdx = 0; collIdx < NCCL_NUM_FUNCTIONS; collIdx++) {\n          bool inconsistent = false;\n\n          for (int rankIdx = 0; rankIdx < comm->nRanks; rankIdx++) {\n            if (comm->ranks[rankIdx].collOpCounts[collIdx] != auxComm->firstCollOpCounts[collIdx]) {\n              inconsistent = true;\n              break;\n            }\n          }\n\n          if (inconsistent) {\n            rasOutAppend(\"  Communicator ranks have different %s operation counts\\n\", ncclFuncStr[collIdx]);\n\n            // Sort the ranks by collOpCounts[collIdx] and commRank for easy counting.\n            for (int rankIdx = 0; rankIdx < comm->nRanks; rankIdx++) {\n              struct rasCollComms::comm::rank* rank = comm->ranks+rankIdx;\n              struct rasAuxCommRank* auxRank = auxCommRanks+rankIdx;\n              auxRank->rank = rank;\n              auxRank->value = rank->collOpCounts[collIdx];\n            }\n            qsort(auxCommRanks, comm->nRanks, sizeof(*auxCommRanks), rasAuxCommRanksValueCompare);\n            // Calculate the frequency of different collOpCounts[collIdx] values.\n            int nCollOpCounts = 0;\n            for (int rankIdx = 0; rankIdx < comm->nRanks; rankIdx++) {\n              if (rankIdx == 0 || auxCommRanks[rankIdx].value != auxCommRanks[rankIdx-1].value) {\n                collOpCounts[nCollOpCounts].value = auxCommRanks[rankIdx].value;\n                collOpCounts[nCollOpCounts].count = 1;\n                collOpCounts[nCollOpCounts].firstIdx = rankIdx;\n                nCollOpCounts++;\n              } else {\n                collOpCounts[nCollOpCounts-1].count++;\n              }\n            }\n            // Sort by that frequency (most frequent first).\n            qsort(collOpCounts, nCollOpCounts, sizeof(*collOpCounts), rasValCountsCompareRev);\n\n            for (int coc = 0; coc < nCollOpCounts; coc++) {\n              struct rasValCount* vcc = collOpCounts+coc;\n              if (vcc->count > 1) {\n                if (vcc->value > 0)\n                  rasOutAppend(\"  %d ranks have launched up to operation %ld\\n\", vcc->count, vcc->value);\n                else\n                  rasOutAppend(\"  %d ranks have not launched any operations\\n\", vcc->count);\n              }\n              if (rasCountIsOutlier(vcc->count, client->verbose, comm->commNRanks)) {\n                // auxCommRanks is sorted by commRank as the secondary key, which comes in handy when printing...\n                for (int rankIdx = vcc->firstIdx; rankIdx < vcc->count+vcc->firstIdx; rankIdx++) {\n                  int peerIdx = peerIdxConv[auxCommRanks[rankIdx].rank->peerIdx];\n                  if (peerIdx != -1) {\n                    if (vcc->count > 1) {\n                      rasOutAppend(\"  Rank %d -- GPU %s managed by process %d on node %s\\n\",\n                                   auxCommRanks[rankIdx].rank->commRank,\n                                   rasCommRankGpuToString(auxCommRanks[rankIdx].rank, lineBuf, sizeof(lineBuf)),\n                                   rasPeers[peerIdx].pid,\n                                   ncclSocketToHost(&rasPeers[peerIdx].addr, rasLine, sizeof(rasLine)));\n                    } else {\n                      if (vcc->value > 0) {\n                        rasOutAppend(\"  Rank %d has launched up to operation %ld -- GPU %s managed by process %d \"\n                                     \"on node %s\\n\", auxCommRanks[rankIdx].rank->commRank, vcc->value,\n                                     rasCommRankGpuToString(auxCommRanks[rankIdx].rank, lineBuf, sizeof(lineBuf)),\n                                     rasPeers[peerIdx].pid,\n                                     ncclSocketToHost(&rasPeers[peerIdx].addr, rasLine, sizeof(rasLine)));\n                      } else {\n                        rasOutAppend(\"  Rank %d has not launched any operations -- GPU %s managed by process %d \"\n                                     \"on node %s\\n\", auxCommRanks[rankIdx].rank->commRank,\n                                     rasCommRankGpuToString(auxCommRanks[rankIdx].rank, lineBuf, sizeof(lineBuf)),\n                                     rasPeers[peerIdx].pid,\n                                     ncclSocketToHost(&rasPeers[peerIdx].addr, rasLine, sizeof(rasLine)));\n                      }\n                    }\n                  } else { // peerIdx == -1\n                    if (vcc->count > 1) {\n                      rasOutAppend(\"  Rank %d -- [process information not found]\\n\",\n                                   auxCommRanks[rankIdx].rank->commRank);\n                    } else {\n                      if (vcc->value > 0)\n                        rasOutAppend(\"  Rank %d has launched up to operation %ld -- [process information not found]\\n\",\n                                     auxCommRanks[rankIdx].rank->commRank, vcc->value);\n                      else\n                        rasOutAppend(\"  Rank %d has not launched any operations -- [process information not found]\\n\",\n                                     auxCommRanks[rankIdx].rank->commRank);\n                    }\n                  } // peerIdx == -1\n                } // for (rankIdx)\n              } // if (rasCountIsOutlier(vcc->count))\n            } // for (coc)\n            rasOutAppend(\"\\n\");\n          } // if (inconsistent)\n        } // for (collIdx)\n      } // if (auxComm->errors & RAS_ACE_MISMATCH)\n    } // for (commIdx)\n  } // for (vcIdx)\n  rasCollFree(coll);\n\n  msgLen = rasOutLength();\n  NCCLCHECKGOTO(rasClientAllocMsg(&msg, msgLen), ret, fail);\n  rasOutExtract(msg);\n  rasClientEnqueueMsg(client, msg, msgLen);\n  msg = nullptr;\n\n  TRACE(NCCL_RAS, \"RAS: rasClientRunComms: finishing\");\nexit:\n  free(peerNvmlDevs);\n  free(collOpCounts);\n  free(valCounts);\n  free(peerIdxConv);\n  free(auxCommRanks);\n  free(auxComms);\n  return ret;\nfail:\n  goto exit;\n}\n\n// Generates detailed info about encountered errors, be it initialization ones or asynchronous ones.\nstatic void rasClientBreakDownErrors(struct rasClient* client, struct rasCollComms::comm* comm,\n                                     const int* peerIdxConv, int ncclErrors[ncclNumResults], bool isAsync) {\n  // Because the number of possible error kinds is finite and small, we don't bother in this case with allocating\n  // temporary data structures, counting the errors, sorting arrays, etc.  Instead, in each iteration we pick the most\n  // numerous error kind, we iterate through the ranks in search for this error, and immediately add it to the output.\n  for (;;) {\n    int maxCount = 0;\n    ncclResult_t maxCountIdx = ncclSuccess;\n    for (int i = ncclUnhandledCudaError; i < ncclInProgress; i++) {\n      if (maxCount < ncclErrors[i]) {\n        maxCount = ncclErrors[i];\n        maxCountIdx = (ncclResult_t)i;\n      }\n    } // for (i)\n    if (maxCountIdx == ncclSuccess)\n      break;\n    if (maxCount > 1)\n      rasOutAppend(\"  %d ranks reported %s\\n\", maxCount, ncclErrorToString(maxCountIdx));\n    if (rasCountIsOutlier(maxCount, client->verbose)) {\n      for (int rankIdx = 0; rankIdx < comm->nRanks; rankIdx++) {\n        if ((isAsync ? comm->ranks[rankIdx].status.asyncError : comm->ranks[rankIdx].status.initState) == maxCountIdx) {\n          int peerIdx = peerIdxConv[comm->ranks[rankIdx].peerIdx];\n          if (peerIdx != -1) {\n            if (maxCount > 1)\n              rasOutAppend(\"  Rank %d -- GPU %s managed by process %d on node %s\\n\",\n                           comm->ranks[rankIdx].commRank,\n                           rasCommRankGpuToString(comm->ranks+rankIdx, lineBuf, sizeof(lineBuf)),\n                           rasPeers[peerIdx].pid,\n                           ncclSocketToHost(&rasPeers[peerIdx].addr, rasLine, sizeof(rasLine)));\n            else\n              rasOutAppend(\"  Rank %d reported %s -- GPU %s managed by process %d on node %s\\n\",\n                           comm->ranks[rankIdx].commRank, ncclErrorToString(maxCountIdx),\n                           rasCommRankGpuToString(comm->ranks+rankIdx, lineBuf, sizeof(lineBuf)),\n                           rasPeers[peerIdx].pid,\n                           ncclSocketToHost(&rasPeers[peerIdx].addr, rasLine, sizeof(rasLine)));\n          } else { // peerIdx == -1\n            if (maxCount > 1)\n              rasOutAppend(\"  Rank %d -- [process information not found]\\n\", comm->ranks[rankIdx].commRank);\n            else\n              rasOutAppend(\"  Rank %d reported %s -- [process information not found]\\n\",\n                           comm->ranks[rankIdx].commRank, ncclErrorToString(maxCountIdx));\n          } // peerIdx == -1\n        } // if rank's error matches\n      } // for (rankIdx)\n    } // if (rasCountIsOutlier(maxCount))\n    ncclErrors[maxCountIdx] = 0;\n  } // for (;;)\n}\n\n\n//////////////////////////////////////////////////////////////////////\n// Functions related to the handling of the internal output buffer. //\n//////////////////////////////////////////////////////////////////////\n\n// Appends a printf-formatted string to the output buffer.\n// Unlike with INFO or WARN messages, the caller should terminate lines with '\\n' as appropriate.\nstatic void rasOutAppend(const char* format, ...) {\n  ncclResult_t ret; // Ignored.\n  va_list vargs;\n  int needed;\n  va_start(vargs, format);\n  needed = vsnprintf(rasOutBuffer+nRasOutBuffer, rasOutBufferSize-nRasOutBuffer, format, vargs);\n  va_end(vargs);\n\n  if (needed < 0) // Output error (whatever that might be...)\n    return;\n\n  // The +1 below accounts for the terminating '\\0'.\n  if (needed + 1 > rasOutBufferSize-nRasOutBuffer) {\n    int newBufferSize = ROUNDUP(nRasOutBuffer+needed+1, RAS_OUT_INCREMENT);\n    NCCLCHECKGOTO(ncclRealloc(&rasOutBuffer, rasOutBufferSize, newBufferSize), ret, exit);\n    rasOutBufferSize = newBufferSize;\n\n    va_start(vargs, format);\n    needed = vsnprintf(rasOutBuffer+nRasOutBuffer, rasOutBufferSize-nRasOutBuffer, format, vargs);\n    va_end(vargs);\n\n    if (needed < 0) // Output error (whatever that might be...)\n      return;\n  }\n\n  nRasOutBuffer += needed;\n  if (nRasOutBuffer >= rasOutBufferSize)\n    nRasOutBuffer = rasOutBufferSize - 1; // Should never happen, but just to be extra sure...\nexit:\n  ;\n}\n\n// Copies the output data from an internal buffer to a user-supplied one, including the terminating '\\0'.\n// The user buffer must already be allocated and be at least rasOutLength() bytes long (which includes\n// the terminating '\\0').  Resets the output buffer when done.\nstatic void rasOutExtract(char* buffer) {\n  if (rasOutBuffer) {\n    memcpy(buffer, rasOutBuffer, rasOutLength());\n    rasOutReset();\n  }\n}\n\n// Returns the current length of the used portion of the output buffer, *not* including the terminating '\\0'.\nstatic int rasOutLength() {\n  return nRasOutBuffer;\n}\n\n// Resets the output buffer position to the beginning (effectively clearing the buffer).\nstatic void rasOutReset() {\n  ncclResult_t ret; // Ignored.\n  nRasOutBuffer = 0;\n  if (rasOutBuffer == nullptr) {\n    NCCLCHECKGOTO(ncclCalloc(&rasOutBuffer, RAS_OUT_INCREMENT), ret, exit);\n    rasOutBufferSize = RAS_OUT_INCREMENT;\n  }\nexit:\n  ;\n}\n\n\n///////////////////////////////////////////////////////////////////\n// Various sorting callbacks used when grouping/formatting data. //\n///////////////////////////////////////////////////////////////////\n\n// Sorting callback for rasAuxPeerInfo elements.  Sorts by value, with the peers host IP as the secondary key and\n// the process id as the tertiary key.\nstatic int rasAuxPeersValueCompare(const void* e1, const void* e2) {\n  const struct rasAuxPeerInfo* p1 = (const struct rasAuxPeerInfo*)e1;\n  const struct rasAuxPeerInfo* p2 = (const struct rasAuxPeerInfo*)e2;\n\n  if (p1->value == p2->value) {\n    // Host IP address is the secondary key.\n    int cmp = ncclSocketsHostCompare(&p1->peer->addr, &p2->peer->addr);\n    if (cmp == 0) {\n      // Process ID is the tertiary key.\n      cmp = (p1->peer->pid < p2->peer->pid ? -1 : (p1->peer->pid > p2->peer->pid ? 1 : 0));\n    }\n    return cmp;\n  } else {\n    return (p1->value < p2->value ? -1 : 1);\n  }\n}\n\n// Sorting callback for ncclSocketAddress.  Unlike the ncclSocketsCompare, it ignores the port.\nstatic int ncclSocketsHostCompare(const void* p1, const void* p2) {\n  const union ncclSocketAddress* a1 = (const union ncclSocketAddress*)p1;\n  const union ncclSocketAddress* a2 = (const union ncclSocketAddress*)p2;\n  // AF_INET (2) is less than AF_INET6 (10).\n  int family = a1->sa.sa_family;\n  if (family != a2->sa.sa_family) {\n    if (family > 0 && a2->sa.sa_family > 0)\n      return (family < a2->sa.sa_family ? -1 : 1);\n    else // Put empty addresses at the end (not that it matters...).\n      return (family > 0 ? -1 : 1);\n  }\n\n  int cmp;\n  if (family == AF_INET) {\n    cmp = memcmp(&a1->sin.sin_addr, &a2->sin.sin_addr, sizeof(a1->sin.sin_addr));\n  }\n  else if (family == AF_INET6) {\n    cmp = memcmp(&a1->sin6.sin6_addr, &a2->sin6.sin6_addr, sizeof(a1->sin6.sin6_addr));\n  } else {\n    // The only remaining valid case are empty addresses.\n    if (family != 0)\n      INFO(NCCL_RAS, \"RAS invalid address family %d -- internal error?\", family);\n    cmp = 0; // Two empty addresses are equal...\n  }\n\n  return cmp;\n}\n\n// Sorting callback for rasValCount elements.  Sorts by the count, largest first.  Value is the secondary key.\nstatic int rasValCountsCompareRev(const void* p1, const void* p2) {\n  const struct rasValCount* r1 = (const struct rasValCount*)p1;\n  const struct rasValCount* r2 = (const struct rasValCount*)p2;\n\n  if (r1->count == r2->count) {\n    return (r1->value > r2->value ? -1 : (r1->value < r2->value ? 1: 0));\n  } else {\n    return (r1->count > r2->count ? -1 : 1);\n  }\n}\n\n// Sorting callback for rasAuxComm elements.\n// Sorts the comms by the rank count (commNRanks), nNodes as secondary key, status as the tertiary, and errors as\n// the quaternary.  Sorts in reverse (largest first).\n// The final key is the comm's nRanks, sorted in reverse to the other keys, so comms with the largest number\n// of ranks *missing* will be first.\nstatic int rasAuxCommsCompareRev(const void* p1, const void* p2) {\n  const struct rasAuxComm* c1 = (const struct rasAuxComm*)p1;\n  const struct rasAuxComm* c2 = (const struct rasAuxComm*)p2;\n\n  if (c1->comm->commNRanks == c2->comm->commNRanks) {\n    if (c1->nNodes == c2->nNodes) {\n      // We don't want to compare the status values directly because they could be bitmasks and we are only\n      // interested in the highest bit set.\n      // __builtin_clz returns the number of leading 0-bits, so in our case the value will be the *smallest*\n      // if RAS_ACS_ABORT (8) is set and the *largest* if only RAS_ACS_INIT (1) is set, so we reverse the\n      // comparison to get the desired sorting order.\n      int s1 = __builtin_clz(c1->status);\n      int s2 = __builtin_clz(c2->status);\n      if (s1 == s2) {\n        if (c1->errors == c2->errors) {\n          if (c1->comm->nRanks == c2->comm->nRanks) {\n            return 0;\n          } else {\n            return (c1->comm->nRanks < c2->comm->nRanks ? -1 : 1);\n          }\n        } else {\n          return (c1->errors > c2->errors ? -1 : 1);\n        }\n      } else {\n        return (s1 < s2 ? -1 : 1);\n      }\n    } else {\n      return (c1->nNodes > c2->nNodes ? -1 : 1);\n    }\n  } else {\n    return (c1->comm->commNRanks > c2->comm->commNRanks ? -1 : 1);\n  }\n}\n\n// Sorting callback for rasAuxCommRank elements.  Sorts by value, with rank's commRank as the secondary key.\nstatic int rasAuxCommRanksValueCompare(const void* p1, const void* p2) {\n  const struct rasAuxCommRank* r1 = (const struct rasAuxCommRank*)p1;\n  const struct rasAuxCommRank* r2 = (const struct rasAuxCommRank*)p2;\n\n  if (r1->value == r2->value) {\n    // Use the commRank as the secondary key.\n    return (r1->rank->commRank < r2->rank->commRank ? -1 : (r1->rank->commRank > r2->rank->commRank ? 1 : 0));\n  } else {\n    return (r1->value < r2->value ? -1 : 1);\n  }\n}\n\n\n////////////////////////////////////////////////////////////\n// String formatting functions for various types of data. //\n////////////////////////////////////////////////////////////\n\n// Coverts a GPU mask(s) to a string.  If the CUDA mask is different from the NVML mask, both are printed.\nconst char* rasGpuDevsToString(uint64_t cudaDevs, uint64_t nvmlDevs, char* buf, size_t size) {\n  bool first = true;\n  buf[0] = '\\0';\n  for (int i = 0; i < sizeof(cudaDevs)*8; i++)\n    if (cudaDevs & (1UL << i)) {\n      snprintf(buf+strlen(buf), size-strlen(buf), \"%s%d\", (first ? \"\" : \",\"), i);\n      first = false;\n    }\n  if (cudaDevs != nvmlDevs) {\n    snprintf(buf+strlen(buf), size-strlen(buf), \" (NVML \");\n    first = true;\n    for (int i = 0; i < sizeof(nvmlDevs)*8; i++)\n      if (nvmlDevs & (1UL << i)) {\n        snprintf(buf+strlen(buf), size-strlen(buf), \"%s%d\", (first ? \"\" : \",\"), i);\n        first = false;\n      }\n    snprintf(buf+strlen(buf), size-strlen(buf), \")\");\n  }\n  return buf;\n}\n\n// Formats a GPU string based on the CUDA/NVML ids provided.  If the CUDA id is different from the NVML id, both are\n// printed.\nstatic const char* rasGpuToString(int cudaDev, int nvmlDev, char* buf, size_t size) {\n  snprintf(buf, size, \"%d\", cudaDev);\n  if (cudaDev != nvmlDev) {\n    snprintf(buf+strlen(buf), size-strlen(buf), \" (NVML %d)\", nvmlDev);\n  }\n  return buf;\n}\n\n// Formats a GPU string based on the rasCollComms's rank.  If the CUDA id is different from the NVML id, both are\n// printed.\nstatic const char* rasCommRankGpuToString(const struct rasCollComms::comm::rank* rank, char* buf, size_t size) {\n  return rasGpuToString(rank->cudaDev, rank->nvmlDev, buf, size);\n}\n\n// Converts a NCCL error result to a string.\nstatic const char* ncclErrorToString(ncclResult_t err) {\n  switch (err) {\n    case ncclUnhandledCudaError     : return \"Unhandled CUDA error\";\n    case ncclSystemError            : return \"System error\";\n    case ncclInternalError          : return \"Internal error\";\n    case ncclInvalidArgument        : return \"Invalid argument\";\n    case ncclInvalidUsage           : return \"Invalid usage\";\n    case ncclRemoteError            : return \"Remote process error\";\n    case ncclInProgress             : return \"NCCL operation in progress\";\n    default                         : return \"Unexpected error\";\n  }\n}\n\n// Converts the IP number of a NCCL address to a string (the port part is ignored and no DNS resolution is attempted).\nstatic const char* ncclSocketToHost(const union ncclSocketAddress* addr, char* buf, size_t size) {\n  if (addr->sa.sa_family > 0)\n    return inet_ntop(addr->sa.sa_family,\n                     (addr->sa.sa_family == AF_INET ? (void*)&addr->sin.sin_addr : (void*)&addr->sin6.sin6_addr),\n                     buf, size);\n  else {\n    if (size > 0)\n      buf[0] = '\\0';\n    return buf;\n  }\n}\n\n// Determines if the given count constitutes an outlier.\nstatic bool rasCountIsOutlier(int count, bool verbose, int totalCount) {\n  if (count == 1)\n    return true; // A single rank is always considered an outlier...\n  if (verbose) {\n    return (totalCount != -1 ? count < totalCount * RAS_CLIENT_VERBOSE_OUTLIER_FRACTION : true);\n  } else {\n    return count <= RAS_CLIENT_DETAIL_THRESHOLD &&\n           (totalCount == -1 || count <= totalCount * RAS_CLIENT_OUTLIER_FRACTION);\n  }\n}\n\n// Invoked during RAS termination to release all the allocated resources.\nvoid rasClientSupportTerminate() {\n  (void)close(rasClientListeningSocket);\n  rasClientListeningSocket = -1;\n\n  free(rasOutBuffer);\n  rasOutBuffer = nullptr;\n  nRasOutBuffer = rasOutBufferSize = 0;\n\n  for (struct rasClient* client = rasClientsHead; client;) {\n    struct rasClient* clientNext = client->next;\n    rasClientTerminate(client);\n    client = clientNext;\n  }\n\n  // rasClientsHead and rasClientsTail are taken care of by rasClientTerminate().\n}\n"
  },
  {
    "path": "src/ras/collectives.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#define NDEBUG // Comment out during development only!\n#include <cassert>\n#include <mutex>\n\n#include \"alloc.h\"\n#include \"checks.h\"\n#include \"comm.h\"\n#include \"nccl.h\"\n#include \"transport.h\"\n#include \"utils.h\"\n#include \"ras_internal.h\"\n\n// The number of recent collectives to keep track of.  Completely arbitrary.\n#define COLL_HISTORY_SIZE 64\n\n// An entry in the rasCollHistory array keeping track of recently completed collectives (to make it possible to\n// identify and drop duplicates arriving over different links).\nstruct rasCollHistoryEntry {\n  union ncclSocketAddress rootAddr;\n  uint64_t rootId;\n};\n\n// Array keeping track of recently completed collectives (to avoid infinite loops).  LRU-based replacement.\nstatic struct rasCollHistoryEntry rasCollHistory[COLL_HISTORY_SIZE];\nstatic int nRasCollHistory, rasCollHistNextIdx;\n\n// Monotonically increased to ensure that each collective originating locally has a unique Id.\nstatic uint64_t rasCollLastId;\n\n// Keeping track of ongoing collective operations (apart from broadcasts, which have no response so require\n// no such tracking).\nstruct rasCollective* rasCollectivesHead;\nstruct rasCollective* rasCollectivesTail;\n\nstatic ncclResult_t getNewCollEntry(struct rasCollective** pColl);\nstatic ncclResult_t rasLinkSendCollReq(struct rasLink* link, struct rasCollective* coll,\n                                       const struct rasCollRequest* req, size_t reqLen, struct rasConnection* fromConn);\nstatic ncclResult_t rasConnSendCollReq(struct rasConnection* conn, const struct rasCollRequest* req, size_t reqLen);\nstatic ncclResult_t rasCollReadyResp(struct rasCollective* coll);\nstatic ncclResult_t rasConnSendCollResp(struct rasConnection* conn,\n                                        const union ncclSocketAddress* rootAddr, uint64_t rootId,\n                                        const union ncclSocketAddress* peers, int nPeers,\n                                        const char* data, int nData, int nLegTimeouts);\n\nstatic ncclResult_t rasCollConnsInit(struct rasCollRequest** pReq, size_t* pReqLen, char** pData, int* pNData);\nstatic ncclResult_t rasCollConnsMerge(struct rasCollective* coll, struct rasMsg* msg);\n\nstatic ncclResult_t rasCollCommsInit(struct rasCollRequest** pReq, size_t* pReqLen, char** pData, int* pNData);\nstatic ncclResult_t rasCollCommsMerge(struct rasCollective* coll, struct rasMsg* msg);\nstatic bool rasCollCommsSkipMissing(const struct rasCollRequest* req, struct ncclComm* comm);\nstatic int ncclCommsCompare(const void* p1, const void* p2);\nstatic int peersHashesCompare(const void* p1, const void* p2);\nstatic int peersHashesSearch(const void* k, const void* e);\nstatic int rasCommIdCompare(const void* p1, const void* p2);\nstatic int rasCollCommsMissingRankSearch(const void* k, const void* e);\n\n\n///////////////////////////////////////////////////////////////////////////////////////\n// Functions related to the initialization of collectives and the message exchanges. //\n///////////////////////////////////////////////////////////////////////////////////////\n\n// Returns the index of the first available entry in the rasCollectives array, enlarging the array if necessary.\nstatic ncclResult_t getNewCollEntry(struct rasCollective** pColl) {\n  struct rasCollective* coll;\n  int nRasConns;\n\n  NCCLCHECK(ncclCalloc(&coll, 1));\n\n  coll->startTime = clockNano();\n  coll->fromConn = nullptr;\n  // We are unlikely to use the whole array, but at least we won't need to realloc.\n  nRasConns = 0;\n  for (struct rasConnection* conn = rasConnsHead; conn; conn = conn->next)\n    nRasConns++;\n  NCCLCHECK(ncclCalloc(&coll->fwdConns, nRasConns));\n\n  if (rasCollectivesHead) {\n    rasCollectivesTail->next = coll;\n    coll->prev = rasCollectivesTail;\n    rasCollectivesTail = coll;\n  } else {\n    rasCollectivesHead = rasCollectivesTail = coll;\n  }\n\n  *pColl = coll;\n  return ncclSuccess;\n}\n\n// Initializes a collective request by giving it a unique ID.\nvoid rasCollReqInit(struct rasCollRequest* req) {\n  memcpy(&req->rootAddr, &rasNetListeningSocket.addr, sizeof(req->rootAddr));\n  req->rootId = ++rasCollLastId;\n}\n\n// Sends a collective request message through all regular RAS network connections (effectively, broadcasts it).\n// Also used for re-broadcasts (on peers receiving the request over the network).\n// Checking for duplicates is the responsibility of the caller.\n// For collectives other than broadcasts, initializes a rasCollective structure and fills it with local data,\n// in preparation for collective response messages.\n// pAllDone indicates on return if the collective operation is already finished, which is unusual, but possible\n// in scenarios such as a total of two peers.\n// pColl provides on return a pointer to the allocated rasCollective structure to track this collective (unless\n// it's a broadcast, which require no such tracking).\nncclResult_t rasNetSendCollReq(const struct rasCollRequest* req, bool* pAllDone,\n                               struct rasCollective** pColl, struct rasConnection* fromConn) {\n  struct rasCollective* coll = nullptr;\n  struct rasCollRequest* reqMod = (struct rasCollRequest*)req;\n  size_t reqLen = 0;\n  if (req->type >= RAS_COLL_CONNS) {\n    // Keep track of this collective operation so that we can handle the responses appropriately.\n    NCCLCHECK(getNewCollEntry(&coll));\n    if (pColl)\n      *pColl = coll;\n    memcpy(&coll->rootAddr, &req->rootAddr, sizeof(coll->rootAddr));\n    coll->rootId = req->rootId;\n    coll->type = req->type;\n    coll->timeout = req->timeout;\n    coll->fromConn = fromConn;\n    if (ncclCalloc(&coll->peers, 1) == ncclSuccess) {\n      memcpy(coll->peers, &rasNetListeningSocket.addr, sizeof(*coll->peers));\n      coll->nPeers = 1;\n    }\n\n    // Collective-specific initialization of accumulated data (using local data for now).\n    if (req->type == RAS_COLL_CONNS)\n      (void)rasCollConnsInit(&reqMod, &reqLen, &coll->data, &coll->nData);\n    else if (req->type == RAS_COLL_COMMS)\n      (void)rasCollCommsInit(&reqMod, &reqLen, &coll->data, &coll->nData);\n  } else { // req->type < RAS_COLL_CONNS\n    // Add the info to the collective message history.\n    nRasCollHistory = std::min(nRasCollHistory+1, COLL_HISTORY_SIZE);\n    memcpy(&rasCollHistory[rasCollHistNextIdx].rootAddr, &req->rootAddr,\n           sizeof(rasCollHistory[rasCollHistNextIdx].rootAddr));\n    rasCollHistory[rasCollHistNextIdx].rootId = req->rootId;\n    rasCollHistNextIdx = (rasCollHistNextIdx + 1) % COLL_HISTORY_SIZE;\n\n    // Collective-specific message handling.\n    if (req->type == RAS_BC_DEADPEER) {\n      bool done = false;\n      rasMsgHandleBCDeadPeer(&reqMod, &reqLen, &done);\n      if (done)\n        goto exit;\n    }\n  } // req->type < RAS_COLL_CONNS\n\n  for (struct rasConnection* conn = rasConnsHead; conn; conn = conn->next)\n    conn->linkFlag = false;\n\n  (void)rasLinkSendCollReq(&rasNextLink, coll, reqMod, reqLen, fromConn);\n  (void)rasLinkSendCollReq(&rasPrevLink, coll, reqMod, reqLen, fromConn);\n\n  if (coll && pAllDone)\n    *pAllDone = (coll->nFwdSent == coll->nFwdRecv);\nexit:\n  if (reqMod != req)\n    free(reqMod);\n  return ncclSuccess;\n}\n\n// Sends the collective message through all connections associated with this link (with the exception of the one\n// the message came from, if any).\nstatic ncclResult_t rasLinkSendCollReq(struct rasLink* link, struct rasCollective* coll,\n                                       const struct rasCollRequest* req, size_t reqLen,\n                                       struct rasConnection* fromConn) {\n  for (struct rasLinkConn* linkConn = link->conns; linkConn; linkConn = linkConn->next) {\n    if (linkConn->conn && linkConn->conn != fromConn && !linkConn->conn->linkFlag) {\n      // We send collective messages through fully established and operational connections only.\n      if (linkConn->conn->sock && linkConn->conn->sock->status == RAS_SOCK_READY &&\n          !linkConn->conn->experiencingDelays) {\n        if (rasConnSendCollReq(linkConn->conn, req, reqLen) == ncclSuccess && coll != nullptr)\n          coll->fwdConns[coll->nFwdSent++] = linkConn->conn;\n      } // linkConn->conn is fully established and operational.\n      linkConn->conn->linkFlag = true;\n    } // if (linkConn->conn && linkConn->conn != fromConn && !linkConn->con->linkFlag)\n  } // for (linkConn)\n\n  return ncclSuccess;\n}\n\n// Sends a collective message down a particular connection.\nstatic ncclResult_t rasConnSendCollReq(struct rasConnection* conn, const struct rasCollRequest* req, size_t reqLen) {\n  struct rasMsg* msg = nullptr;\n  int msgLen = rasMsgLength(RAS_MSG_COLLREQ) + reqLen;\n\n  NCCLCHECK(rasMsgAlloc(&msg, msgLen));\n  msg->type = RAS_MSG_COLLREQ;\n  memcpy(&msg->collReq, req, reqLen);\n\n  rasConnEnqueueMsg(conn, msg, msgLen);\n\n  return ncclSuccess;\n}\n\n// Handles the RAS_MSG_COLLREQ collective message request on the receiver side.  Primarily deals with duplicates and\n// re-broadcasts the message to local peers, though in case of a very limited RAS network it might be done right away,\n// in which case it can immediately send the response.\nncclResult_t rasMsgHandleCollReq(struct rasMsg* msg, struct rasSocket* sock) {\n  bool allDone = false;\n  struct rasCollective* coll = nullptr;\n  assert(sock->conn);\n\n  // First check if we've already handled this request (through another connection).\n  for (int i = 0; i < nRasCollHistory; i++) {\n    // In principle we can use i to index the array but we convert it so that we check the most recent entries first.\n    int collHistIdx = (rasCollHistNextIdx + COLL_HISTORY_SIZE - 1 - i) % COLL_HISTORY_SIZE;\n    if (memcmp(&msg->collReq.rootAddr, &rasCollHistory[collHistIdx].rootAddr, sizeof(msg->collReq.rootAddr)) == 0 &&\n        msg->collReq.rootId == rasCollHistory[collHistIdx].rootId) {\n      if (msg->collReq.type >= RAS_COLL_CONNS) {\n        // Send an empty response so that the sender can account for it.  The non-empty response has already been\n        // sent through the connection that we received the request through first.\n        NCCLCHECK(rasConnSendCollResp(sock->conn, &msg->collReq.rootAddr, msg->collReq.rootId,\n                                      /*peers*/nullptr, /*nPeers*/0, /*data*/nullptr, /*nData*/0, /*nLegTimeouts*/0));\n      }\n      goto exit;\n    }\n  } // for (i)\n\n  if (msg->collReq.type >= RAS_COLL_CONNS) {\n    // Check if we're currently handling this collective request.\n    for (coll = rasCollectivesHead; coll; coll = coll->next) {\n      if (memcmp(&msg->collReq.rootAddr, &coll->rootAddr, sizeof(msg->collReq.rootAddr)) == 0 &&\n          msg->collReq.rootId == coll->rootId) {\n        assert(msg->collReq.type == coll->type);\n\n        // Send an empty response so that the sender can account for it.  The non-empty response will be\n        // sent through the connection that we received the request through first.\n        NCCLCHECK(rasConnSendCollResp(sock->conn, &msg->collReq.rootAddr, msg->collReq.rootId,\n                                      /*peers*/nullptr, /*nPeers*/0, /*data*/nullptr, /*nData*/0, /*nLegTimeouts*/0));\n        goto exit;\n      } // if match\n    } // for (coll)\n  } // if (msg->collReq.type >= RAS_COLL_CONNS)\n\n  // Re-broadcast the message to my peers (minus the one it came from) and handle it locally.\n  NCCLCHECK(rasNetSendCollReq(&msg->collReq, &allDone, &coll, sock->conn));\n\n  if (msg->collReq.type >= RAS_COLL_CONNS && allDone) {\n    assert(coll);\n    // We are a leaf process -- send the response right away.  This can probably trigger only for the case of a total\n    // of two peers, and hence just one RAS connection, or during communication issues, because normally every peer\n    // has more than one connection so there should always be _some_ other peer to forward the request to.\n    NCCLCHECK(rasCollReadyResp(coll));\n  }\nexit:\n  return ncclSuccess;\n}\n\n// Sends a collective response back to the process we received the collective request from.\n// Invoked when we are finished waiting for the collective responses from other peers (i.e., either there weren't\n// any peers (unlikely), the peers sent their responses (likely), or we timed out.\nstatic ncclResult_t rasCollReadyResp(struct rasCollective* coll) {\n  if (coll->fromConn) {\n    // For remotely-initiated collectives, send the response back.\n    NCCLCHECK(rasConnSendCollResp(coll->fromConn, &coll->rootAddr, coll->rootId,\n                                  coll->peers, coll->nPeers, coll->data, coll->nData, coll->nLegTimeouts));\n\n    // Add the identifying info to the collective message history.\n    nRasCollHistory = std::min(nRasCollHistory+1, COLL_HISTORY_SIZE);\n    memcpy(&rasCollHistory[rasCollHistNextIdx].rootAddr, &coll->rootAddr,\n           sizeof(rasCollHistory[rasCollHistNextIdx].rootAddr));\n    rasCollHistory[rasCollHistNextIdx].rootId = coll->rootId;\n    rasCollHistNextIdx = (rasCollHistNextIdx + 1) % COLL_HISTORY_SIZE;\n\n    rasCollFree(coll);\n  } else {\n    // For locally-initiated collectives, invoke the client code again (which will release it, once finished).\n    NCCLCHECK(rasClientResume(coll));\n  }\n  return ncclSuccess;\n}\n\n// Sends a collective response via the connection we originally received the request from.  The message should be\n// a cumulative response from this process and all the processes that we forwarded the request to.\nstatic ncclResult_t rasConnSendCollResp(struct rasConnection* conn,\n                                        const union ncclSocketAddress* rootAddr, uint64_t rootId,\n                                        const union ncclSocketAddress* peers, int nPeers,\n                                        const char* data, int nData, int nLegTimeouts) {\n  struct rasMsg* msg = nullptr;\n  int msgLen = rasMsgLength(RAS_MSG_COLLRESP) + nPeers*sizeof(*peers);\n  int dataOffset = 0;\n\n  if (nData > 0) {\n    ALIGN_SIZE(msgLen, alignof(int64_t));\n    dataOffset = msgLen;\n    msgLen += nData;\n  }\n\n  NCCLCHECK(rasMsgAlloc(&msg, msgLen));\n  msg->type = RAS_MSG_COLLRESP;\n  memcpy(&msg->collResp.rootAddr, rootAddr, sizeof(msg->collResp.rootAddr));\n  msg->collResp.rootId = rootId;\n  msg->collResp.nLegTimeouts = nLegTimeouts;\n  msg->collResp.nPeers = nPeers;\n  msg->collResp.nData = nData;\n  if (nPeers)\n    memcpy(msg->collResp.peers, peers, nPeers*sizeof(*msg->collResp.peers));\n  if (nData)\n    memcpy(((char*)msg)+dataOffset, data, nData);\n\n  rasConnEnqueueMsg(conn, msg, msgLen);\n\n  return ncclSuccess;\n}\n\n// Handles the collective response on the receiver side.  Finds the corresponding rasCollective structure, merges\n// the data from the response into the accumulated data.  If all the responses have been accounted for, sends the\n// accumulated response back.\nncclResult_t rasMsgHandleCollResp(struct rasMsg* msg, struct rasSocket* sock) {\n  struct rasCollective* coll;\n  char line[SOCKET_NAME_MAXLEN+1];\n\n  for (coll = rasCollectivesHead; coll; coll = coll->next) {\n    if (memcmp(&msg->collResp.rootAddr, &coll->rootAddr, sizeof(msg->collResp.rootAddr)) == 0 &&\n        msg->collResp.rootId == coll->rootId)\n      break;\n  }\n  if (coll == nullptr) {\n    INFO(NCCL_RAS, \"RAS failed to find a matching ongoing collective for response %s:%ld from %s!\",\n         ncclSocketToString(&msg->collResp.rootAddr, line), msg->collResp.rootId,\n         ncclSocketToString(&sock->sock.addr, rasLine));\n    goto exit;\n  }\n\n  coll->nLegTimeouts += msg->collResp.nLegTimeouts;\n  assert(sock->conn);\n  // Account for the received response in our collective operations tracking.\n  for (int i = 0; i < coll->nFwdSent; i++) {\n    if (coll->fwdConns[i] == sock->conn) {\n      coll->fwdConns[i] = nullptr;\n      break;\n    }\n  }\n  coll->nFwdRecv++;\n  if (msg->collResp.nData > 0) {\n    // Collective-specific merging of the response into locally accumulated data.\n    if (coll->type == RAS_COLL_CONNS)\n      NCCLCHECK(rasCollConnsMerge(coll, msg));\n    else if (coll->type == RAS_COLL_COMMS)\n      NCCLCHECK(rasCollCommsMerge(coll, msg));\n  }\n  // We merge the peers after merging the data, so that the data merge function can rely on peers being unchanged.\n  if (msg->collResp.nPeers > 0) {\n    NCCLCHECK(ncclRealloc(&coll->peers, coll->nPeers, coll->nPeers + msg->collResp.nPeers));\n    memcpy(coll->peers+coll->nPeers, msg->collResp.peers, msg->collResp.nPeers * sizeof(*coll->peers));\n    coll->nPeers += msg->collResp.nPeers;\n  }\n\n  // If we received all the data we were waiting for, send our response back.\n  if (coll->nFwdSent == coll->nFwdRecv)\n    NCCLCHECK(rasCollReadyResp(coll));\nexit:\n  return ncclSuccess;\n}\n\n// Removes a connection from all ongoing collectives.  Called when a connection is experiencing a delay or is being\n// terminated.\nvoid rasCollsPurgeConn(struct rasConnection* conn) {\n  for (struct rasCollective* coll = rasCollectivesHead; coll;) {\n    struct rasCollective* collNext = coll->next;\n    char line[SOCKET_NAME_MAXLEN+1];\n    if (coll->fromConn == conn) {\n      INFO(NCCL_RAS, \"RAS purging collective %s:%ld because it comes from %s\",\n           ncclSocketToString(&coll->rootAddr, line), coll->rootId,\n           ncclSocketToString(&conn->addr, rasLine));\n      rasCollFree(coll);\n    } else {\n      for (int i = 0; i < coll->nFwdSent; i++) {\n        if (coll->fwdConns[i] == conn) {\n          coll->fwdConns[i] = nullptr;\n          coll->nFwdRecv++;\n          coll->nLegTimeouts++;\n          INFO(NCCL_RAS, \"RAS not waiting for response from %s to collective %s:%ld \"\n               \"(nFwdSent %d, nFwdRecv %d, nLegTimeouts %d)\",\n               ncclSocketToString(&conn->addr, rasLine), ncclSocketToString(&coll->rootAddr, line), coll->rootId,\n               coll->nFwdSent, coll->nFwdRecv, coll->nLegTimeouts);\n          if (coll->nFwdSent == coll->nFwdRecv)\n            (void)rasCollReadyResp(coll);\n          break;\n        }\n      } // for (i)\n    } // coll->fromConn != conn\n    coll = collNext;\n  } // for (coll)\n}\n\n// Frees a rasCollective entry and any memory associated with it.\nvoid rasCollFree(struct rasCollective* coll) {\n  if (coll == nullptr)\n    return;\n\n  free(coll->fwdConns);\n  free(coll->peers);\n  free(coll->data);\n\n  if (coll == rasCollectivesHead)\n    rasCollectivesHead = rasCollectivesHead->next;\n  if (coll == rasCollectivesTail)\n    rasCollectivesTail = rasCollectivesTail->prev;\n  if (coll->prev)\n    coll->prev->next = coll->next;\n  if (coll->next)\n    coll->next->prev = coll->prev;\n  free(coll);\n}\n\n// Invoked from the main RAS thread loop to handle timeouts of the collectives.\n// We obviously want to have a reasonable *total* timeout that the RAS client can rely on, but we don't have strict\n// global coordination.  So we have, in effect, two timeouts: soft (5s) and hard (10s).  Soft equals the keep-alive\n// timeout.\n// When sending collective requests, we skip any connections that are experiencing delays.  After the 5s timeout, we\n// check again the status of all outstanding connections and if any is now delayed, we give up on it.\n// That works fine for directly observable delays, but if the problematic connection is further away from us, all\n// we can do is trust that the other peers will \"do the right thing soon\".  However, if there is a cascade of\n// problematic connections, they could still exceed the 5s total.  So after 10s we give up waiting no matter what\n// and send back whatever we have.  Unfortunately, the peer that the RAS client is connected to will in all likelihood\n// time out first, so at that point any delayed responses that eventually arrive are likely to be too late...\nvoid rasCollsHandleTimeouts(int64_t now, int64_t* nextWakeup) {\n  for (struct rasCollective* coll = rasCollectivesHead; coll;) {\n    struct rasCollective* collNext = coll->next;\n    if (coll->timeout > 0) {\n      if (now - coll->startTime > coll->timeout) {\n        // We've exceeded the leg timeout.  For all outstanding responses, check their connections.\n        if (!coll->timeoutWarned) {\n          INFO(NCCL_RAS, \"RAS collective %s:%ld timeout warning (%lds) -- %d responses missing\",\n               ncclSocketToString(&coll->rootAddr, rasLine), coll->rootId,\n               (now - coll->startTime) / CLOCK_UNITS_PER_SEC, coll->nFwdSent - coll->nFwdRecv);\n          coll->timeoutWarned = true;\n        }\n        for (int i = 0; i < coll->nFwdSent; i++) {\n          if (coll->fwdConns[i]) {\n            struct rasConnection* conn = coll->fwdConns[i];\n            char line[SOCKET_NAME_MAXLEN+1];\n            if (!conn->experiencingDelays && conn->sock) {\n              // Ensure that the connection is fully established and operational, and that the socket hasn't been\n              // re-created during the handling of the collective (which would suggest that the request may have been\n              // lost).\n              if (conn->sock->status == RAS_SOCK_READY && conn->sock->createTime < coll->startTime)\n                continue;\n            }\n            // In all other cases we declare a timeout so that we can (hopefully) recover.\n            INFO(NCCL_RAS, \"RAS not waiting for response from %s to collective %s:%ld \"\n                 \"(nFwdSent %d, nFwdRecv %d, nLegTimeouts %d)\",\n                 ncclSocketToString(&conn->addr, rasLine), ncclSocketToString(&coll->rootAddr, line),\n                 coll->rootId, coll->nFwdSent, coll->nFwdRecv, coll->nLegTimeouts);\n            coll->fwdConns[i] = nullptr;\n            coll->nFwdRecv++;\n            coll->nLegTimeouts++;\n          } // if (coll->fwdConns[i])\n        } // for (i)\n        if (coll->nFwdSent == coll->nFwdRecv) {\n          (void)rasCollReadyResp(coll);\n        } else {\n          // At least some of the delays are *not* due to this process' connections experiencing delays, i.e., they\n          // must be due to delays at other processes.  Presumably those processes will give up waiting soon and the\n          // (incomplete) responses will arrive shortly, so we should wait a little longer.\n          if (now - coll->startTime > coll->timeout + RAS_COLLECTIVE_EXTRA_TIMEOUT) {\n            // We've exceeded even the longer timeout, which is unexpected.  Try to return whatever we have (though\n            // the originator of the collective, if it's not us, may have timed out already anyway).\n            INFO(NCCL_RAS, \"RAS collective %s:%ld timeout error (%lds) -- giving up on %d missing responses\",\n                 ncclSocketToString(&coll->rootAddr, rasLine), coll->rootId,\n                 (now - coll->startTime) / CLOCK_UNITS_PER_SEC, coll->nFwdSent - coll->nFwdRecv);\n            coll->nLegTimeouts += coll->nFwdSent - coll->nFwdRecv;\n            coll->nFwdRecv = coll->nFwdSent;\n            (void)rasCollReadyResp(coll);\n          } else {\n            *nextWakeup = std::min(*nextWakeup, coll->startTime+coll->timeout+RAS_COLLECTIVE_EXTRA_TIMEOUT);\n          }\n        } // conn->nFwdRecv < conn->nFwdSent\n      } else {\n        *nextWakeup = std::min(*nextWakeup, coll->startTime+coll->timeout);\n      }\n    } // if (coll->timeout > 0)\n\n    coll = collNext;\n  } // for (coll)\n}\n\n\n/////////////////////////////////////////////////////////////////////////\n// Functions related to the handling of the RAS_COLL_CONNS collective. //\n/////////////////////////////////////////////////////////////////////////\n\n// Initializes the accumulated data with just the local data for now.\n// For this particular collective, we keep some reduced statistical data (min/max/avg travel time) as well\n// as connection-specific info in case we observed a negative min travel time (which, ideally, shouldn't happen,\n// but the system clocks may not be perfectly in sync).\nstatic ncclResult_t rasCollConnsInit(struct rasCollRequest** pReq, size_t* pReqLen, char** pData, int* pNData) {\n  struct rasCollConns connsData = {.travelTimeMin = INT64_MAX, .travelTimeMax = INT64_MIN};\n  struct rasCollConns* pConnsData;\n\n  *pReqLen = rasCollDataLength(RAS_COLL_CONNS);\n\n  // Update the statistical data first and in the process also calculate how much connection-specific space we\n  // will need.\n  for (struct rasConnection* conn = rasConnsHead; conn; conn = conn->next) {\n    if (conn->travelTimeCount > 0) {\n      if (connsData.travelTimeMin > conn->travelTimeMin)\n        connsData.travelTimeMin = conn->travelTimeMin;\n      if (connsData.travelTimeMax < conn->travelTimeMax)\n        connsData.travelTimeMax = conn->travelTimeMax;\n      connsData.travelTimeSum += conn->travelTimeSum;\n      connsData.travelTimeCount += conn->travelTimeCount;\n      connsData.nConns++;\n      if (conn->travelTimeMin < 0)\n        connsData.nNegativeMins++;\n    }\n  }\n\n  *pNData = sizeof(connsData) + connsData.nNegativeMins*sizeof(*connsData.negativeMins);\n  NCCLCHECK(ncclCalloc(pData, *pNData));\n  pConnsData = (struct rasCollConns*)*pData;\n  memcpy(pConnsData, &connsData, sizeof(*pConnsData));\n  if (connsData.nNegativeMins > 0) {\n    int negMinsIdx = 0;\n    for (struct rasConnection* conn = rasConnsHead; conn; conn = conn->next) {\n      if (conn->travelTimeMin < 0) {\n        struct rasCollConns::negativeMin* negativeMin = pConnsData->negativeMins+negMinsIdx;\n        memcpy(&negativeMin->source, &rasNetListeningSocket.addr, sizeof(negativeMin->source));\n        memcpy(&negativeMin->dest, &conn->addr, sizeof(negativeMin->dest));\n        negativeMin->travelTimeMin = conn->travelTimeMin;\n        negMinsIdx++;\n      }\n      assert(negMinsIdx <= connsData.nNegativeMins);\n    }\n  }\n\n  return ncclSuccess;\n}\n\n// Merges incoming collective RAS_COLL_CONNS response message into the local accumulated data.\nstatic ncclResult_t rasCollConnsMerge(struct rasCollective* coll, struct rasMsg* msg) {\n  struct rasCollConns* collData;\n  struct rasCollConns* msgData;\n  int dataOffset = rasMsgLength(RAS_MSG_COLLRESP) + msg->collResp.nPeers*sizeof(*msg->collResp.peers);\n  ALIGN_SIZE(dataOffset, alignof(int64_t));\n\n  msgData = (struct rasCollConns*)(((char*)msg) + dataOffset);\n  collData = (struct rasCollConns*)coll->data;\n\n  // Merge the stats.\n  if (collData->travelTimeMin > msgData->travelTimeMin)\n    collData->travelTimeMin = msgData->travelTimeMin;\n  if (collData->travelTimeMax < msgData->travelTimeMax)\n    collData->travelTimeMax = msgData->travelTimeMax;\n  collData->travelTimeSum += msgData->travelTimeSum;\n  collData->travelTimeCount += msgData->travelTimeCount;\n  collData->nConns += msgData->nConns;\n\n  // Append the info about negative minimums.\n  if (msgData->nNegativeMins > 0) {\n    int nData = sizeof(*collData) +\n      (collData->nNegativeMins+msgData->nNegativeMins) * sizeof(*collData->negativeMins);\n    NCCLCHECK(ncclRealloc(&coll->data, coll->nData, nData));\n    collData = (struct rasCollConns*)coll->data;\n    memcpy(coll->data+coll->nData, msgData->negativeMins,\n           msgData->nNegativeMins * sizeof(*collData->negativeMins));\n    coll->nData = nData;\n    collData->nNegativeMins += msgData->nNegativeMins;\n  }\n\n  return ncclSuccess;\n}\n\n\n/////////////////////////////////////////////////////////////////////////\n// Functions related to the handling of the RAS_COLL_COMMS collective. //\n/////////////////////////////////////////////////////////////////////////\n\n// Initializes the accumulated data with just the local data for now.\n// For this particular collective, we keep for every communicator information about every rank, to help identify\n// the missing ones and the discrepancies between the ones that did respond.\n// For any new (previously unseen) communicator we also save the basic identification data about every rank that is\n// \"missing\" (i.e., not part of this process).  During merging, this should be replaced by the actual data from\n// those ranks, if they are responsive.  We want to provide this information to the user (so that we can say more\n// than \"rank xyz missing\").\n// Every \"new\" communicator is also recorded in the (updated) request, so that when that request is forwarded to our\n// peers, those peers don't needlessly send us the same data.\nstatic ncclResult_t rasCollCommsInit(struct rasCollRequest** pReq, size_t* pReqLen, char** pData, int* pNData) {\n  ncclResult_t ret = ncclSuccess;\n  struct rasCollComms* commsData;\n  int nComms = 0, nRanks = 0, nMissingRanks = 0;\n  bool skipMissing = false;\n  std::lock_guard<std::mutex> lock(ncclCommsMutex);\n  struct rasCollComms::comm* comm;\n  struct rasCollRequest* req = nullptr;\n  struct rasPeerInfo** peersReSorted = nullptr;\n  int firstNewSkipMissingIdx = -1;\n\n  *pReqLen = rasCollDataLength(RAS_COLL_COMMS) +\n    (*pReq)->comms.nSkipMissingRanksComms * sizeof(*(*pReq)->comms.skipMissingRanksComms);\n  *pData = nullptr;\n\n  // Start by counting the communicators so that we know how much space to allocate.\n  // We also need to sort the comms array, to make the subsequent merging easier, both between the ranks (in case\n  // of multiple GPUs per process) and between the peers.\n  if (!ncclCommsSorted) {\n    qsort(ncclComms, nNcclComms, sizeof(*ncclComms), &ncclCommsCompare);\n    ncclCommsSorted = true;\n  }\n  for (int commIdx = 0; commIdx < nNcclComms; commIdx++) {\n    if (ncclComms[commIdx] == nullptr) // nullptr's are always at the end after sorting.\n      break;\n    if (!__atomic_load_n(&ncclComms[commIdx]->peerInfoValid, __ATOMIC_ACQUIRE)) {\n      // Critical data is not yet initialized -- ignore the communicator.\n      continue;\n    }\n    // A process may manage multiple GPUs and thus have multiple communicators with the same commHash.\n    // Comparing just the commHash is OK though within communicators that are part of the same process.\n    if (commIdx == 0 || ncclComms[commIdx]->commHash != ncclComms[commIdx-1]->commHash) {\n      skipMissing = rasCollCommsSkipMissing(*pReq, ncclComms[commIdx]);\n      if (!skipMissing) {\n        // Add this communicator to the request so that the processes we forward the request to know not to fill in\n        // the missing rank info.\n        struct rasCommId* skipComm;\n        if (req == nullptr) {\n          // We pessimistically allocate space for all the remaining communicators so that we don't need to reallocate.\n          int newSize = *pReqLen + (nNcclComms-commIdx) * sizeof(*req->comms.skipMissingRanksComms);\n          NCCLCHECKGOTO(ncclCalloc((char**)&req, newSize), ret, fail);\n          memcpy(req, *pReq, *pReqLen);\n          *pReq = req;\n          firstNewSkipMissingIdx = req->comms.nSkipMissingRanksComms;\n        }\n        skipComm = req->comms.skipMissingRanksComms + req->comms.nSkipMissingRanksComms++;\n        skipComm->commHash = ncclComms[commIdx]->commHash;\n        skipComm->hostHash = ncclComms[commIdx]->peerInfo->hostHash;\n        skipComm->pidHash = ncclComms[commIdx]->peerInfo->pidHash;\n\n        nMissingRanks += ncclComms[commIdx]->nRanks;\n      } // if (!skipMissing)\n      nComms++;\n    } // if encountered a new communicator\n    nRanks++;\n    if (!skipMissing)\n      nMissingRanks--;\n  } // for (commIdx)\n\n  // rasCollComms has nested variable-length arrays, which makes the size calculation and subsequent\n  // pointer manipulations somewhat unwieldy...\n  // This is extra complicated because of the \"hidden\" array of struct rasCollCommsMissingRank following the\n  // ranks array for each communicator.\n  *pNData = sizeof(*commsData) + nComms * sizeof(*commsData->comms) + nRanks * sizeof(*commsData->comms[0].ranks) +\n    nMissingRanks * sizeof(struct rasCollCommsMissingRank);\n  NCCLCHECKGOTO(ncclCalloc(pData, *pNData), ret, fail);\n  commsData = (struct rasCollComms*)*pData;\n  commsData->nComms = nComms;\n\n  // comm points at the space in the accumulated data where the info about the current communicator is to be stored.\n  comm = commsData->comms;\n  // collCommIdx counts rasCollComms::comm (comm); commIdx indexes ncclComms.\n  for (int collCommIdx = 0, commIdx = 0; collCommIdx < nComms; collCommIdx++) {\n    struct ncclComm* ncclComm = ncclComms[commIdx];\n    if (!__atomic_load_n(&ncclComm->peerInfoValid, __ATOMIC_ACQUIRE))\n      continue;\n\n    comm->commId.commHash = ncclComm->commHash;\n    comm->commId.hostHash = ncclComm->peerInfo->hostHash;\n    comm->commId.pidHash = ncclComm->peerInfo->pidHash;\n    comm->commNRanks = ncclComm->nRanks;\n    comm->nRanks = comm->nMissingRanks = 0;\n\n    // Fill in the comm->ranks array.\n    for (; commIdx < nNcclComms && ncclComms[commIdx] && ncclComms[commIdx]->commHash == comm->commId.commHash;\n         commIdx++) {\n      ncclComm = ncclComms[commIdx];\n      struct rasCollComms::comm::rank* rank = comm->ranks+comm->nRanks;\n      rank->commRank = ncclComm->rank;\n      // rasNetSendCollReq initializes coll->peers[0] to our rasNetListeningSocket.addr, so peerIdx is initially\n      // always 0.  It will increase after we send this response back to the peer we got the request from.\n      rank->peerIdx = 0;\n      memcpy(rank->collOpCounts, ncclComm->seqNumber, sizeof(rank->collOpCounts));\n      rank->status.initState = ncclComm->initState;\n      rank->status.asyncError = __atomic_load_n(&ncclComm->asyncResult, __ATOMIC_ACQUIRE);\n      if (rank->status.asyncError == ncclSuccess && ncclComm->proxyState)\n        rank->status.asyncError = __atomic_load_n(&ncclComm->proxyState->asyncResult, __ATOMIC_ACQUIRE);\n      rank->status.finalizeCalled = (ncclComm->finalizeCalled != 0);\n      rank->status.destroyFlag = (ncclComm->destroyFlag != 0);\n      rank->status.abortFlag = (__atomic_load_n(ncclComm->abortFlag, __ATOMIC_ACQUIRE) != 0);\n      rank->cudaDev = ncclComm->cudaDev;\n      rank->nvmlDev = ncclComm->nvmlDev;\n      comm->nRanks++;\n    } // for (commIdx)\n\n    if (__atomic_load_n(&ncclComm->peerInfoValid, __ATOMIC_ACQUIRE) && firstNewSkipMissingIdx != -1 &&\n        memcmp(req->comms.skipMissingRanksComms+firstNewSkipMissingIdx, &comm->commId, sizeof(comm->commId)) == 0) {\n      // Fill in the missingRanks array that follows the comm->ranks.\n      struct rasCollCommsMissingRank* missingRanks = (struct rasCollCommsMissingRank*)(comm->ranks+comm->nRanks);\n\n      if (peersReSorted == nullptr) {\n        // Create a lookup table to rasPeers that is sorted by hostHash and pidHash, to reduce the complexity of the\n        // lookups in the missingRankIdx loop below.\n        NCCLCHECKGOTO(ncclCalloc(&peersReSorted, nRasPeers), ret, fail);\n        for (int peerIdx = 0; peerIdx < nRasPeers; peerIdx++)\n          peersReSorted[peerIdx] = rasPeers+peerIdx;\n        qsort(peersReSorted, nRasPeers, sizeof(*peersReSorted), peersHashesCompare);\n      }\n\n      comm->nMissingRanks = comm->commNRanks - comm->nRanks;\n      for (int missingRankIdx = 0, rankIdx = 0; missingRankIdx < comm->nMissingRanks; missingRankIdx++) {\n        struct rasCollCommsMissingRank* missingRank;\n        struct ncclPeerInfo* info;\n        struct rasPeerInfo** peer;\n        uint64_t key[2];\n        // Look for the next \"hole\" in the ranks array.\n        while (rankIdx < comm->nRanks && comm->ranks[rankIdx].commRank == rankIdx+missingRankIdx)\n          rankIdx++;\n\n        missingRank = missingRanks + missingRankIdx;\n        missingRank->commRank = rankIdx + missingRankIdx;\n        info = ncclComm->peerInfo + missingRank->commRank;\n        key[0] = info->hostHash - ncclComm->commHash;\n        key[1] = info->pidHash - ncclComm->commHash;\n        peer = (struct rasPeerInfo**)bsearch(key, peersReSorted, nRasPeers, sizeof(*peersReSorted), peersHashesSearch);\n        if (peer)\n          memcpy(&missingRank->addr, &(*peer)->addr, sizeof(missingRank->addr));\n        missingRank->cudaDev = info->cudaDev;\n        missingRank->nvmlDev = info->nvmlDev;\n      } // for (missingRankIdx)\n\n      if (++firstNewSkipMissingIdx == req->comms.nSkipMissingRanksComms)\n        firstNewSkipMissingIdx = -1;\n    } // if need to fill in the missingRanks\n\n    comm = (struct rasCollComms::comm*)(((char*)(comm+1)) + comm->nRanks * sizeof(*comm->ranks) +\n                                        comm->nMissingRanks * sizeof(struct rasCollCommsMissingRank));\n  } // for (collCommIdx)\n  assert(((char*)comm) - (char*)commsData <= *pNData);\n\n  if (req) {\n    // Finish updating the request.\n    *pReqLen = rasCollDataLength(RAS_COLL_COMMS) +\n      req->comms.nSkipMissingRanksComms * sizeof(*req->comms.skipMissingRanksComms);\n    qsort(req->comms.skipMissingRanksComms, req->comms.nSkipMissingRanksComms,\n          sizeof(*req->comms.skipMissingRanksComms), rasCommIdCompare);\n  }\nret:\n  free(peersReSorted);\n  return ret;\nfail:\n  if (req) {\n    free(req);\n    *pReq = nullptr;\n  }\n  free(*pData);\n  *pData = nullptr;\n  goto ret;\n}\n\n// Merges incoming collective RAS_COLL_COMMS response message into the local accumulated data.\nstatic ncclResult_t rasCollCommsMerge(struct rasCollective* coll, struct rasMsg* msg) {\n  struct rasCollComms* collData; // Data previously stored (locally) by our process.\n  struct rasCollComms* msgData; // Data just received from another process.\n  int dataOffset = rasMsgLength(RAS_MSG_COLLRESP) + msg->collResp.nPeers*sizeof(*msg->collResp.peers);\n  ALIGN_SIZE(dataOffset, alignof(int64_t));\n\n  msgData = (struct rasCollComms*)(((char*)msg) + dataOffset);\n  collData = (struct rasCollComms*)coll->data;\n\n  if (msgData->nComms > 0) {\n    struct rasCollComms* newData = nullptr; // Destination buffer for the merged data.\n\n    // Allocate the new buffer pessimistically (sized as the sum of the two old ones).\n    NCCLCHECK(ncclCalloc((char**)&newData, coll->nData + msg->collResp.nData));\n    struct rasCollComms::comm* collComm = collData->comms;\n    struct rasCollComms::comm* msgComm = msgData->comms;\n    struct rasCollComms::comm* newComm = newData->comms;\n\n    for (int collIdx = 0, msgIdx = 0; collIdx < collData->nComms || msgIdx < msgData->nComms; newData->nComms++) {\n      int cmp;\n      if (collIdx < collData->nComms && msgIdx < msgData->nComms)\n        cmp = rasCommIdCompare(&collComm->commId, &msgComm->commId);\n      else\n        cmp = (collIdx < collData->nComms ? -1 : 1);\n\n      if (cmp == 0 && collComm->commNRanks != msgComm->commNRanks) {\n        INFO(NCCL_RAS, \"RAS encountered inconsistent communicator data: size %d != %d -- \"\n             \"possible hash collision (0x%lx, 0x%lx, 0x%lx)\", collComm->commNRanks, msgComm->commNRanks,\n             collComm->commId.commHash, collComm->commId.hostHash, collComm->commId.pidHash);\n        cmp = (collComm->commNRanks < msgComm->commNRanks ? -1 : 1);\n        // We try to preserve them both separately...\n      }\n\n      if (cmp == 0) {\n        // Merge the comms.\n        memcpy(&newComm->commId, &collComm->commId, sizeof(newComm->commId));\n        newComm->commNRanks = collComm->commNRanks;\n        if (collComm->nRanks + msgComm->nRanks > collComm->commNRanks) {\n          INFO(NCCL_RAS,\n               \"RAS encountered more ranks (%d) than the communicator size (%d) -- possible hash collision \"\n               \"(0x%lx, 0x%lx, 0x%lx)\", collComm->nRanks + msgComm->nRanks, newComm->commNRanks,\n               collComm->commId.commHash, collComm->commId.hostHash, collComm->commId.pidHash);\n          newComm->nRanks = newComm->commNRanks;\n          // We'll skip the extras in the loop below.\n        } else {\n          newComm->nRanks = collComm->nRanks + msgComm->nRanks;\n        }\n        // Merge the ranks.\n        for (int newRankIdx = 0, collRankIdx = 0, msgRankIdx = 0;\n             collRankIdx < collComm->nRanks || msgRankIdx < msgComm->nRanks;\n             newRankIdx++) {\n          int cmpRank;\n          if (newRankIdx == newComm->commNRanks)\n            break; // Short of failing, the best we can do is skip...\n          if (collRankIdx < collComm->nRanks && msgRankIdx < msgComm->nRanks) {\n            cmpRank = (collComm->ranks[collRankIdx].commRank < msgComm->ranks[msgRankIdx].commRank ? -1 :\n                       (collComm->ranks[collRankIdx].commRank > msgComm->ranks[msgRankIdx].commRank ? 1 : 0));\n          } else {\n            cmpRank = (collRankIdx < collComm->nRanks ? -1 : 1);\n          }\n\n          // There shouldn't be any overlaps in ranks between different sources.\n          if (cmpRank == 0) {\n            INFO(NCCL_RAS, \"RAS encountered duplicate data for rank %d -- possible hash collision \"\n                 \"(0x%lx, 0x%lx, 0x%lx)\", collComm->ranks[collRankIdx].commRank,\n                 newComm->commId.commHash, newComm->commId.hostHash, newComm->commId.pidHash);\n            msgRankIdx++; // Short of failing, the best we can do is skip...\n          }\n          memcpy(newComm->ranks+newRankIdx, (cmpRank <= 0 ? collComm->ranks+collRankIdx++ :\n                                             msgComm->ranks+msgRankIdx++), sizeof(*newComm->ranks));\n          if (cmpRank > 0) {\n            // peerIdx values from msgComm need to shift after merge.\n            newComm->ranks[newRankIdx].peerIdx += coll->nPeers;\n\n            if (collComm->nMissingRanks > 0) {\n              // Remove the corresponding entry from missingRanks.\n              struct rasCollCommsMissingRank* missingRank;\n              missingRank = (struct rasCollCommsMissingRank*)bsearch(&newComm->ranks[newRankIdx].commRank,\n                                                                     collComm->ranks+collComm->nRanks,\n                                                                     collComm->nMissingRanks,\n                                                                     sizeof(struct rasCollCommsMissingRank),\n                                                                     rasCollCommsMissingRankSearch);\n              if (missingRank) {\n                // Mark the entry as no longer needed.\n                memset(&missingRank->addr, '\\0', sizeof(missingRank->addr));\n              } else {\n                INFO(NCCL_RAS, \"RAS failed to find missingRank data -- internal error?\");\n              }\n            } // if (collComm->nMissingRanks > 0)\n          } // if (cmpRank > 0)\n        } // for (newRankIdx)\n        if (collComm->nMissingRanks > 0) {\n          // Copy the missingRanks to newComm, skipping over any no longer needed entries.\n          union ncclSocketAddress emptyAddr;\n          struct rasCollCommsMissingRank* collMissingRanks;\n          struct rasCollCommsMissingRank* newMissingRanks;\n          int newRankIdx;\n\n          memset(&emptyAddr, '\\0', sizeof(emptyAddr));\n          collMissingRanks = (struct rasCollCommsMissingRank*)(collComm->ranks+collComm->nRanks);\n          newMissingRanks = (struct rasCollCommsMissingRank*)(newComm->ranks+newComm->nRanks);\n          newRankIdx = 0;\n          for (int collRankIdx = 0; collRankIdx < collComm->nMissingRanks; collRankIdx++) {\n            if (memcmp(&collMissingRanks[collRankIdx].addr, &emptyAddr, sizeof(emptyAddr))) {\n              memcpy(newMissingRanks + newRankIdx++, collMissingRanks + collRankIdx, sizeof(*newMissingRanks));\n            }\n          }\n          newComm->nMissingRanks = newRankIdx;\n          assert(newComm->nRanks + newComm->nMissingRanks == newComm->commNRanks);\n        }\n        newComm = (struct rasCollComms::comm*)(((char*)(newComm+1)) + newComm->nRanks * sizeof(*newComm->ranks) +\n                                               newComm->nMissingRanks * sizeof(struct rasCollCommsMissingRank));\n        collComm = (struct rasCollComms::comm*)(((char*)(collComm+1)) + collComm->nRanks * sizeof(*collComm->ranks) +\n                                                collComm->nMissingRanks * sizeof(struct rasCollCommsMissingRank));\n        collIdx++;\n        msgComm = (struct rasCollComms::comm*)(((char*)(msgComm+1)) + msgComm->nRanks * sizeof(*msgComm->ranks) +\n                                               msgComm->nMissingRanks * sizeof(struct rasCollCommsMissingRank));\n        msgIdx++;\n      } else if (cmp < 0) {\n        // Copy from collComm.\n        int commSize = sizeof(*collComm) + collComm->nRanks * sizeof(*collComm->ranks) +\n          collComm->nMissingRanks * sizeof(struct rasCollCommsMissingRank);\n        memcpy(newComm, collComm, commSize);\n        newComm = (struct rasCollComms::comm*)(((char*)(newComm)) + commSize);\n        collComm = (struct rasCollComms::comm*)(((char*)(collComm)) + commSize);\n        collIdx++;\n      } else { // cmp > 0\n        // Copy from msgComm.\n        int commSize = sizeof(*msgComm) + msgComm->nRanks * sizeof(*msgComm->ranks) +\n          msgComm->nMissingRanks * sizeof(struct rasCollCommsMissingRank);\n        memcpy(newComm, msgComm, commSize);\n        for (int i = 0; i < newComm->nRanks; i++) {\n          // peerIdx values from msgComm need to shift after merge.\n          newComm->ranks[i].peerIdx += coll->nPeers;\n        }\n        newComm = (struct rasCollComms::comm*)(((char*)(newComm)) + commSize);\n        msgComm = (struct rasCollComms::comm*)(((char*)(msgComm)) + commSize);\n        msgIdx++;\n      } // cmp > 0\n    } // for (collIdx and msgIdx)\n\n    free(coll->data);\n    coll->data = (char*)newData;\n    // newComm points at the next element beyond the last one -- exactly what we need.\n    coll->nData = ((char*)newComm) - (char*)newData;\n  } // if (msgData->nComms > 0)\n\n  return ncclSuccess;\n}\n\n// Checks if a given communicator is in the skipMissingRanksComms array of the request.\nstatic bool rasCollCommsSkipMissing(const struct rasCollRequest* req, struct ncclComm* comm) {\n  struct rasCommId id;\n  id.commHash = comm->commHash;\n  id.hostHash = comm->peerInfo->hostHash;\n  id.pidHash = comm->peerInfo->pidHash;\n  return (bsearch(&id, req->comms.skipMissingRanksComms, req->comms.nSkipMissingRanksComms,\n                  sizeof(*req->comms.skipMissingRanksComms), rasCommIdCompare) != nullptr);\n}\n\n// Sorting callback for the ncclComms array.\nstatic int ncclCommsCompare(const void* p1, const void* p2) {\n  const ncclComm* comm1 = *(const ncclComm**)p1;\n  const ncclComm* comm2 = *(const ncclComm**)p2;\n\n  // Put nullptr's at the end.\n  if (comm1 == nullptr || comm2 == nullptr)\n    return (comm1 != nullptr ? -1 : (comm2 != nullptr ? 1 : 0));\n\n  if (comm1->commHash == comm2->commHash) {\n    return (comm1->rank < comm2->rank ? -1 : (comm1->rank > comm2->rank ? 1 : 0));\n  } else {\n    return (comm1->commHash < comm2->commHash ? -1 : 1);\n  }\n}\n\n// Sorting callback for a lookup table to rasPeers.  Sorts by the hostHash (primary) and pidHash (secondary).\nstatic int peersHashesCompare(const void* p1, const void* p2) {\n  const struct rasPeerInfo* pi1 = *(const struct rasPeerInfo**)p1;\n  const struct rasPeerInfo* pi2 = *(const struct rasPeerInfo**)p2;\n\n  if (pi1->hostHash == pi2->hostHash) {\n    return (pi1->pidHash < pi2->pidHash ? -1 : (pi1->pidHash > pi2->pidHash ? 1 : 0));\n  } else {\n    return (pi1->hostHash < pi2->hostHash ? -1 : 1);\n  }\n}\n\n// Search callback for a lookup table to rasPeers.  Searches by the hostHash and pidHash.  The key is an array\n// containing the hostHash at index 0 and the pidHash at index 1.\nstatic int peersHashesSearch(const void* k, const void* e) {\n  const uint64_t* key = (const uint64_t*)k;\n  const struct rasPeerInfo* elem = *(const struct rasPeerInfo**)e;\n\n  if (key[0] == elem->hostHash) {\n    return (key[1] < elem->pidHash ? -1 : (key[1] > elem->pidHash ? 1 : 0));\n  } else {\n    return (key[0] < elem->hostHash ? -1 : 1);\n  }\n}\n\n// Sorting/searching callback for struct rasCommId.  Sorts by commHash, then hostHash, then pidHash.\nstatic int rasCommIdCompare(const void* p1, const void* p2) {\n  const struct rasCommId* i1 = (const struct rasCommId*)p1;\n  const struct rasCommId* i2 = (const struct rasCommId*)p2;\n  if (i1->commHash == i2->commHash) {\n    if (i1->hostHash == i2->hostHash) {\n      return (i1->pidHash < i2->pidHash ? -1 : (i1->pidHash > i2->pidHash ? 1 : 0));\n    } else {\n      return (i1->hostHash < i2->hostHash ? -1 : 1);\n    }\n  } else {\n    return (i1->commHash < i2->commHash ? -1 : 1);\n  }\n}\n\n// Search callback for rasCollComms::comm rasCollCommsMissingRank array.  The key is the commRank.\nstatic int rasCollCommsMissingRankSearch(const void* k, const void* e) {\n  int key = *(const int*)k;\n  const struct rasCollCommsMissingRank* elem = (const struct rasCollCommsMissingRank*)e;\n\n  return (key < elem->commRank ? -1 : (key > elem->commRank ? 1 : 0));\n}\n\n// Invoked during RAS termination to release all the allocated resources.\nvoid rasCollectivesTerminate() {\n  for (struct rasCollective* coll = rasCollectivesHead; coll;) {\n    struct rasCollective* collNext = coll->next;\n    rasCollFree(coll);\n    coll = collNext;\n  }\n\n  // rasCollectivesHead and rasCollectivesTail are taken care of by rasCollFree().\n}\n"
  },
  {
    "path": "src/ras/peers.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#define NDEBUG // Comment out during development only!\n#include <cassert>\n\n#include \"alloc.h\"\n#include \"checks.h\"\n#include \"comm.h\"\n#include \"nccl.h\"\n#include \"ras_internal.h\"\n\n\n// All the known peer NCCL processes. The array is sorted by addr to ensure locality (within a node and hopefully\n// also within a DC).  The array may grow over time and it *includes* dead peers.\nstruct rasPeerInfo* rasPeers;\nint nRasPeers;\n// Hash of the rasPeers array, for figuring out when to sync with a remote peer.\nuint64_t rasPeersHash;\n// Index of this process within the rasPeers array (may change over time as the array grows).\nstatic int myPeerIdx = -1;\n\n// Addresses of all the dead peers, sorted.  In principle we could instead have a flag in rasPeerInfo for this,\n// but we expect rasPeers to be largely static (and large at scale!) and rasDeadPeers to be fairly dynamic and\n// much smaller, so we prefer to keep the dead info separately so that we don't end up sending the possibly large\n// rasPeerInfo array around all the time.\nunion ncclSocketAddress* rasDeadPeers;\n// The number of dead peers.\nint nRasDeadPeers;\n// The array size (may be larger than nRasDeadPeers).\nstatic int rasDeadPeersSize;\n// Hash of the rasDeadPeers array, for figuring out when to sync with a remote peer.\nuint64_t rasDeadPeersHash;\n\nstatic ncclResult_t rasRanksConvertToPeers(struct rasRankInit* ranks, int nranks,\n                                           struct rasPeerInfo** rankPeers, int *nRankPeers, int* newNRasPeers);\nstatic ncclResult_t rasPeersUpdate(struct rasPeerInfo* rankPeers, int* nRankPeers, int newNRasPeers = -1);\n\nstatic ncclResult_t rasNetUpdatePeers(const struct rasPeerInfo* newPeers, int nNewPeers, bool updateDeadPeers,\n                                      struct rasRankInit* ranks = nullptr, int nranks = 0,\n                                      struct rasConnection* fromConn = nullptr);\nstatic ncclResult_t rasLinkPropagateUpdate(struct rasLink* link, const struct rasPeerInfo* newPeers, int nNewPeers,\n                                           bool updateDeadPeers, struct rasRankInit* ranks, int nranks,\n                                           struct rasConnection* fromConn);\nstatic ncclResult_t rasConnPropagateUpdate(struct rasConnection* conn, const struct rasPeerInfo* newPeers,\n                                           int nNewPeers, bool updateDeadPeers, struct rasRankInit* ranks, int nranks);\nncclResult_t rasMsgHandlePeersUpdate(struct rasMsg* msg, struct rasSocket* sock);\n\nstatic ncclResult_t rasLinkReinitConns(struct rasLink* link);\n\nstatic ncclResult_t rasDeadPeersUpdate(union ncclSocketAddress* updatePeers, int* nUpdatePeers);\nstatic ncclResult_t getNewDeadEntry(union ncclSocketAddress** pAddr);\n\nstatic int rasAddrRankInitCompare(const void* k, const void* e);\nstatic int rasAddrPeerInfoCompare(const void* k, const void* e);\nstatic int rasRanksCompare(const void* e1, const void* e2);\n\nstatic void rasPeersDump();\nstatic void rasDeadPeersDump();\nstatic char* rasPeerDump(const struct rasPeerInfo* peer, char* result, size_t nres);\n\n\n/////////////////////////////////////////////////////////////////////////////\n// Functions related to the handling of local RAS_ADD_RANKS notifications. //\n/////////////////////////////////////////////////////////////////////////////\n\n// Handles RAS_ADD_RANKS notification -- adds new ranks to the internal list of all RAS peers, reconfigures RAS\n// network connections, and notifies the peers.\nncclResult_t rasLocalHandleAddRanks(struct rasRankInit* ranks, int nranks) {\n  ncclResult_t ret = ncclSuccess;\n\n  INFO(NCCL_RAS, \"RAS handling local addRanks request (old nRasPeers %d)\", nRasPeers);\n\n  // Convert the input rasRankInit structures into our internal rasPeerInfo.\n  struct rasPeerInfo* rankPeers = nullptr;\n  int nRankPeers;\n  int newNRasPeers;\n  NCCLCHECKGOTO(rasRanksConvertToPeers(ranks, nranks, &rankPeers, &nRankPeers, &newNRasPeers), ret, fail);\n\n  // Update local rasPeers.\n  NCCLCHECKGOTO(rasPeersUpdate(rankPeers, &nRankPeers, newNRasPeers), ret, fail);\n\n  INFO(NCCL_RAS, \"RAS finished local processing of addRanks request (new nRasPeers %d, nRankPeers %d)\",\n       nRasPeers, nRankPeers);\n  // Print peers only if something changed and we're the \"root\".\n  if (nRankPeers > 0 && memcmp(&ranks[0].addr, &rasNetListeningSocket.addr, sizeof(ranks[0].addr)) == 0)\n    rasPeersDump();\n\n  // Propagate the changes through our RAS network links.\n  NCCLCHECKGOTO(rasNetUpdatePeers(rankPeers, nRankPeers, /*updateDeadPeers*/false, ranks, nranks), ret, fail);\n\nexit:\n  if (rankPeers)\n    free(rankPeers);\n  free(ranks);\n  return ret;\nfail:\n  goto exit;\n}\n\n// Converts the rasRankInit structure into rasPeerInfo.  This skips empty elements (in case of errors), orders\n// elements by the address/cudaDev, and merges elements with duplicate addresses (in case of multiple CUDA devices per\n// process).  In the process we also calculate how large the merged rasPeers array will need to be.\nstatic ncclResult_t rasRanksConvertToPeers(struct rasRankInit* ranks, int nranks,\n                                           struct rasPeerInfo** rankPeers, int *nRankPeers, int* newNRasPeers) {\n  ncclResult_t ret = ncclSuccess;\n  int peerIdx, rankPeerIdx;\n\n  // Handy when checking for empty (in case of errors) addresses.\n  union ncclSocketAddress emptyAddr;\n  memset(&emptyAddr, '\\0', sizeof(emptyAddr));\n\n  // Begin by sorting the array by address and cudaDev (to match the rasPeers order).\n  qsort(ranks, nranks, sizeof(*ranks), &rasRanksCompare);\n\n  // We over-allocate peers here because to get an accurate count we would need to loop over the ranks first...\n  // nRankPeers will hold the actual count of used elements.\n  *rankPeers = nullptr;\n  NCCLCHECKGOTO(ncclCalloc(rankPeers, nranks), ret, fail);\n\n  peerIdx = rankPeerIdx = 0;\n  *newNRasPeers = nRasPeers;\n  for (int rankIdx = 0; rankIdx < nranks; rankIdx++) {\n    const struct rasRankInit* rank = ranks+rankIdx;\n    struct rasPeerInfo* rankPeer = *rankPeers+rankPeerIdx;\n\n    if (memcmp(&emptyAddr, &rank->addr, sizeof(emptyAddr)) == 0) {\n      // Skip empty rank entries.\n      continue;\n    }\n\n    // First check if the rank doesn't need to be merged into the previous entry in rankPeers\n    // (possible if there are multiple ranks with the same address).\n    if (rankPeerIdx > 0 && memcmp(&rank->addr, &rankPeer[-1].addr, sizeof(rank->addr)) == 0) {\n      // Merge into the previous entry in peers.\n      rankPeer[-1].cudaDevs |= (1UL << rank->cudaDev);\n      rankPeer[-1].nvmlDevs |= (1UL << rank->nvmlDev);\n      continue;\n    }\n\n    // Add a new entry to rankPeers.\n    assert(rankPeerIdx < nranks);\n    memcpy(&rankPeer->addr, &rank->addr, sizeof(rankPeer->addr));\n    rankPeer->pid = rank->pid;\n    rankPeer->cudaDevs = (1UL << rank->cudaDev);\n    rankPeer->nvmlDevs = (1UL << rank->nvmlDev);\n    rankPeer->hostHash = rank->hostHash;\n    rankPeer->pidHash = rank->pidHash;\n    rankPeerIdx++;\n\n    // Also check if there is already an entry with that address in the global rasPeers so that the caller can know how\n    // many more entries will be needed.\n    const struct rasPeerInfo* rasPeer = rasPeers+peerIdx;\n    int cmp = 0;\n    while (peerIdx < nRasPeers) {\n      cmp = ncclSocketsCompare(&rank->addr, &rasPeer->addr);\n      if (cmp <= 0)\n        break;\n      peerIdx++;\n      rasPeer++;\n    }\n    if (peerIdx == nRasPeers) {\n      // The current rank is \"greater than\" all existing peers, so it will need a new entry.  We stay in the loop so\n      // that we don't need to handle the remaining ranks separately.\n      (*newNRasPeers)++;\n      continue;\n    }\n    if (cmp < 0) {\n      (*newNRasPeers)++;\n    } else {\n      // Duplicates (cmp == 0) between the rank array and the peers array will be merged.\n      assert(rank->pid == rasPeer->pid);\n    }\n  }\n  assert(peerIdx <= nRasPeers);\n  *nRankPeers = rankPeerIdx;\n\nexit:\n  return ret;\nfail:\n  if (*rankPeers) {\n    free(*rankPeers);\n    *rankPeers = nullptr;\n  }\n  goto exit;\n}\n\n// Updates the rasPeers array with the new data.  The new data gets updated in the process as well: any data that\n// wasn't actually new is purged, so as to minimize the amount of data we forward to our peers.\n// On a successful return, nRankPeers contains the number of entries that were updated.\nstatic ncclResult_t rasPeersUpdate(struct rasPeerInfo* rankPeers, int* nRankPeers, int newNRasPeers) {\n  ncclResult_t ret = ncclSuccess;\n  int rankPeerIdxDst;\n  int rankPeerIdx, peerIdx;\n\n  if (newNRasPeers == -1) {\n    // First calculate the new size of rasPeers.\n    newNRasPeers = nRasPeers;\n    for (rankPeerIdx = peerIdx = 0; rankPeerIdx < *nRankPeers; rankPeerIdx++) {\n      struct rasPeerInfo* rankPeer = rankPeers+rankPeerIdx;\n      struct rasPeerInfo* rasPeer = rasPeers+peerIdx;\n      int cmp = 1;\n\n      while (peerIdx < nRasPeers) {\n        cmp = ncclSocketsCompare(&rankPeer->addr, &rasPeer->addr);\n\n        if (cmp < 0) {\n          // rankPeer will go in front of rasPeer.\n          newNRasPeers++;\n          break;\n        }\n\n        peerIdx++;\n        rasPeer++;\n\n        if (cmp == 0)\n          break;\n      }\n      if (cmp > 0) // No more rasPeer entries -- rankPeer will go at the end.\n        newNRasPeers++;\n    }\n  }\n\n  // If needed, allocate a new, larger rasPeers array.\n  struct rasPeerInfo* newRasPeers;\n  int myNewPeerIdx;\n  if (newNRasPeers > nRasPeers) {\n    NCCLCHECKGOTO(ncclCalloc(&newRasPeers, newNRasPeers), ret, fail);\n  } else {\n    newRasPeers = rasPeers;\n  }\n\n  // Now merge the rankPeers into newRasPeers.  In the process, modify rankPeers to become a \"diff\" between\n  // the old rasPeers and newRasPeers -- this will be the data structure to broadcast on the RAS network.\n  myNewPeerIdx = -1;\n  int newPeerIdx;\n  for (newPeerIdx = rankPeerIdx = peerIdx = 0; rankPeerIdx < *nRankPeers || peerIdx < nRasPeers;) {\n    struct rasPeerInfo* rankPeer = rankPeers+rankPeerIdx;\n    struct rasPeerInfo* rasPeer = rasPeers+peerIdx;\n    struct rasPeerInfo* newRasPeer = newRasPeers+newPeerIdx;\n\n    if (rankPeerIdx < *nRankPeers) {\n      if (peerIdx < nRasPeers) {\n        int cmp = ncclSocketsCompare(&rankPeer->addr, &rasPeer->addr);\n\n        if (cmp < 0) {\n          // rankPeer needs to occur before rasPeer -- that's possible only if we are adding new entries.\n          assert(newRasPeers != rasPeers);\n          // Add new entry to newRasPeers.\n          assert(newPeerIdx < newNRasPeers);\n          memcpy(newRasPeer, rankPeer, sizeof(*newRasPeer));\n          newPeerIdx++;\n          rankPeerIdx++;\n        }\n        else {\n          // cmp >= 0 -- Start by copying peer to newRasPeer, if needed.\n          if (newRasPeers != rasPeers) {\n            assert(newPeerIdx < newNRasPeers);\n            memcpy(newRasPeer, rasPeer, sizeof(*newRasPeer));\n          }\n          else { // in-place\n            assert(newRasPeer == rasPeer);\n          }\n\n          if (cmp == 0) {\n            // The address of rankPeer is the same as that of newRasPeer -- merge into it.\n            // First though calculate what GPUs from rankPeer are actually new (if any).\n            uint64_t newDevs = rankPeer->cudaDevs & ~newRasPeer->cudaDevs;\n            newRasPeer->cudaDevs |= rankPeer->cudaDevs;\n            // Update rankPeer->devs with the newly added devs only -- we'll clean it up at the end.\n            rankPeer->cudaDevs = newDevs;\n            // Repeat for nvmlDevs...\n            newDevs = rankPeer->nvmlDevs & ~newRasPeer->nvmlDevs;\n            newRasPeer->nvmlDevs |= rankPeer->nvmlDevs;\n            rankPeer->nvmlDevs = newDevs;\n            rankPeerIdx++;\n          }\n          // Given that we might've added new entries, we need to update myPeerIdx as well.\n          if (myPeerIdx == peerIdx)\n            myNewPeerIdx = newPeerIdx;\n          peerIdx++;\n          newPeerIdx++;\n        }\n      } else { // peerIdx == nRasPeers\n        // No more rasPeers -- add a new entry based on rank.\n        assert(newPeerIdx < newNRasPeers);\n        memcpy(newRasPeer, rankPeer, sizeof(*newRasPeer));\n        // If this is the first time this function is run, myPeerIdx will need to be set.  It's more work in that\n        // case as we need to compare the addresses of each peer until we find one.\n        if (myPeerIdx == -1 && memcmp(&newRasPeer->addr, &rasNetListeningSocket.addr, sizeof(newRasPeer->addr)) == 0)\n          myNewPeerIdx = newPeerIdx;\n        newPeerIdx++;\n        rankPeerIdx++;\n      }\n    } else { // rankPeerIdx == *nRankPeers\n      // No more rankPeers -- copy the rasPeer over if needed.\n      if (newRasPeers != rasPeers) {\n        assert(newPeerIdx < newNRasPeers);\n        memcpy(newRasPeer, rasPeer, sizeof(*newRasPeer));\n      }\n      else { // in-place at the end.\n        assert(newRasPeer == rasPeer);\n      }\n      if (myPeerIdx == peerIdx)\n        myNewPeerIdx = newPeerIdx;\n      peerIdx++;\n      newPeerIdx++;\n    }\n  }\n  assert(newPeerIdx == newNRasPeers);\n\n  if (newRasPeers != rasPeers) {\n    if (rasPeers)\n      free(rasPeers);\n    rasPeers = newRasPeers;\n    nRasPeers = newNRasPeers;\n    assert(myNewPeerIdx != -1);\n    myPeerIdx = myNewPeerIdx;\n  } else {\n    assert(myNewPeerIdx == myPeerIdx);\n  }\n  rasPeersHash = getHash((const char*)rasPeers, nRasPeers*sizeof(*rasPeers));\n\n  // Purge from rankPeers all entries that didn't actually contribute any new GPUs.\n  for (rankPeerIdx = rankPeerIdxDst = 0; rankPeerIdx < *nRankPeers; rankPeerIdx++) {\n    struct rasPeerInfo* rankPeer = rankPeers+rankPeerIdx;\n    if (rankPeer->cudaDevs != 0) {\n      if (rankPeerIdxDst != rankPeerIdx) {\n        memcpy(rankPeers+rankPeerIdxDst, rankPeer, sizeof(*rankPeers));\n      }\n      rankPeerIdxDst++;\n    }\n  }\n  assert(rankPeerIdxDst <= *nRankPeers);\n  *nRankPeers = rankPeerIdxDst;\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\n// Searches through rasPeers given the peer address.  Returns the index of the found entry in the rasPeers\n// array or -1 if not found.\nint rasPeerFind(const union ncclSocketAddress* addr) {\n  struct rasPeerInfo* peer = (struct rasPeerInfo*)bsearch(addr, rasPeers, nRasPeers, sizeof(*rasPeers),\n                                                          rasAddrPeerInfoCompare);\n  return (peer ? peer-rasPeers : -1);\n}\n\n\n/////////////////////////////////////////////////////////////////////////////////\n// Functions related to the propagation of peers updates over the RAS network. //\n/////////////////////////////////////////////////////////////////////////////////\n\n// Propagates information about new peers through the RAS network links.\n// ranks -- if provided -- lists all the peers who are already aware of this update (because they are the members\n// of the new communicator being established), and who thus don't need to be notified.  updatedDeadPeers can\n// be used, however, to request at least the propagation of rasDeadPeers to such peers.\n// fromConn -- if provided -- identifies the connection used to receive this update; there's no need to\n// propagate the update back through it.\n// Reconfigures the RAS network to accommodate the newly added peers, by modifying the links and establishing new\n// connections as needed.\nstatic ncclResult_t rasNetUpdatePeers(const struct rasPeerInfo* newPeers, int nNewPeers, bool updateDeadPeers,\n                                      struct rasRankInit* ranks, int nranks, struct rasConnection* fromConn) {\n  ncclResult_t ret = ncclSuccess;\n\n  // Do we actually have anything to do?\n  if (nNewPeers == 0 && !updateDeadPeers)\n    goto exit;\n\n  // Start by propagating the update through the RAS network links.  We consider any errors during this process\n  // to be non-fatal (we can re-sync later around a keep-alive exchange).\n  (void)rasLinkPropagateUpdate(&rasNextLink, newPeers, nNewPeers, updateDeadPeers, ranks, nranks, fromConn);\n  (void)rasLinkPropagateUpdate(&rasPrevLink, newPeers, nNewPeers, updateDeadPeers, ranks, nranks, fromConn);\n\n  // Calculate new link peers and open new connections if needed.\n  NCCLCHECKGOTO(rasLinkReinitConns(&rasNextLink), ret, fail);\n  NCCLCHECKGOTO(rasLinkReinitConns(&rasPrevLink), ret, fail);\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\n// Sends a peers update through all the connections associated with a particular link.  See rasNetUpdatePeers\n// for the explanation of the function arguments.\nstatic ncclResult_t rasLinkPropagateUpdate(struct rasLink* link, const struct rasPeerInfo* newPeers, int nNewPeers,\n                                           bool updateDeadPeers, struct rasRankInit* ranks, int nranks,\n                                           struct rasConnection* fromConn) {\n  for (struct rasLinkConn* linkConn = link->conns; linkConn; linkConn = linkConn->next) {\n    // Note that we don't send the update via the connection that we received this notification from in the first\n    // place (while it wouldn't loop indefinitely, it would add a needless extra exchange).\n    if (linkConn->conn && linkConn->conn != fromConn) {\n      // Failed propagations are not considered fatal (we will retry after a keep-alive).\n      (void)rasConnPropagateUpdate(linkConn->conn, newPeers, nNewPeers, updateDeadPeers, ranks, nranks);\n    }\n  }\n\n  return ncclSuccess;\n}\n\n// Sends a peers update down a particular connection.  See rasNetUpdatePeers for the explanation of the function\n// arguments.\nstatic ncclResult_t rasConnPropagateUpdate(struct rasConnection* conn, const struct rasPeerInfo* newPeers,\n                                           int nNewPeers, bool updateDeadPeers, struct rasRankInit* ranks, int nranks) {\n  if (conn->sock && conn->sock->status == RAS_SOCK_READY) {\n    // If we have the rank info, check if the peer on the other side of this connection has participated in the new\n    // communicator.\n    int connRank = -1;\n    if (ranks && !updateDeadPeers) {\n      struct rasRankInit* rank = (struct rasRankInit*)bsearch(&conn->addr, ranks, nranks, sizeof(*ranks),\n                                                              rasAddrRankInitCompare);\n      if (rank)\n        connRank = rank-ranks;\n    }\n    if (connRank < 0) {\n      // It did not participate or we don't know -- we should send an update to that peer then.\n      NCCLCHECK(rasConnSendPeersUpdate(conn, newPeers, nNewPeers));\n    }\n  }\n\n  return ncclSuccess;\n}\n\n// Sends a RAS_MSG_PEERSUPDATE message, which can include both the rasPeers (preferably only the newly added peers\n// rather than the complete rasPeers array, to save on the network bandwidth) and rasDeadPeers (sent in its entirety\n// if at all, as it's assumed to be a lot smaller than rasPeers).\nncclResult_t rasConnSendPeersUpdate(struct rasConnection* conn, const struct rasPeerInfo* peers, int nPeers) {\n  struct rasMsg* msg = nullptr;\n  int msgLen;\n  int deadPeersOffset = 0;\n  int nDeadPeers;\n\n  if (conn->lastSentPeersHash == rasPeersHash || conn->lastRecvPeersHash == rasPeersHash) {\n    nPeers = 0;\n  }\n  if (conn->lastSentDeadPeersHash == rasDeadPeersHash || conn->lastRecvDeadPeersHash == rasDeadPeersHash) {\n    nDeadPeers = 0;\n  } else {\n    // We expect the rasDeadPeers array to be much smaller than rasPeers so if we send it, we send it in full.\n    nDeadPeers = nRasDeadPeers;\n  }\n\n  if (nPeers == 0 && nDeadPeers == 0)\n    goto exit;\n\n  msgLen = rasMsgLength(RAS_MSG_PEERSUPDATE) + nPeers*sizeof(*peers);\n  if (nDeadPeers > 0) {\n    ALIGN_SIZE(msgLen, alignof(union ncclSocketAddress));\n    deadPeersOffset = msgLen;\n    msgLen += nDeadPeers*sizeof(*rasDeadPeers);\n  }\n\n  NCCLCHECK(rasMsgAlloc(&msg, msgLen));\n  msg->type = RAS_MSG_PEERSUPDATE;\n  msg->peersUpdate.peersHash = rasPeersHash;\n  msg->peersUpdate.nPeers = nPeers;\n  msg->peersUpdate.deadPeersHash = rasDeadPeersHash;\n  msg->peersUpdate.nDeadPeers = nDeadPeers;\n  memcpy(msg->peersUpdate.peers, peers, nPeers * sizeof(msg->peersUpdate.peers[0]));\n  if (nDeadPeers > 0)\n    memcpy(((char*)msg)+deadPeersOffset, rasDeadPeers, nDeadPeers * sizeof(*rasDeadPeers));\n\n  if (nPeers > 0)\n    conn->lastSentPeersHash = rasPeersHash;\n  if (nDeadPeers > 0)\n    conn->lastSentDeadPeersHash = rasDeadPeersHash;\n\n  INFO(NCCL_RAS, \"RAS sending a peersUpdate to %s (nPeers %d, nDeadPeers %d)\",\n       ncclSocketToString(&conn->addr, rasLine), nPeers, nDeadPeers);\n\n  rasConnEnqueueMsg(conn, msg, msgLen);\nexit:\n  return ncclSuccess;\n}\n\n// Handles the RAS_MSG_PEERSUPDATE message on the receiver side.  The received data is merged into the local\n// rasPeers and rasDeadPeers arrays.  If the checksums of the resulting arrays don't match those from the message,\n// sends its own RAS_MSG_PEERSUPDATE back to the source, to ensure a sync.\n// Subsequently propagates the update to its own peers.\nncclResult_t rasMsgHandlePeersUpdate(struct rasMsg* msg, struct rasSocket* sock) {\n  ncclResult_t ret = ncclSuccess;\n  struct rasMsg* newMsg = nullptr;\n  int newMsgLen = 0;\n  assert(sock->conn);\n  int nPeers, nDeadPeers;\n  int deadPeersOffset = 0;\n  bool updatePeers, updateDeadPeers;\n\n  INFO(NCCL_RAS, \"RAS handling peersUpdate from %s (peersHash 0x%lx, deadPeersHash 0x%lx, nPeers %d, nDeadPeers %d)\",\n       ncclSocketToString(&sock->sock.addr, rasLine), msg->peersUpdate.peersHash, msg->peersUpdate.deadPeersHash,\n       msg->peersUpdate.nPeers, msg->peersUpdate.nDeadPeers);\n  INFO(NCCL_RAS, \"RAS my old rasPeersHash 0x%lx, rasDeadPeersHash 0x%lx, nRasPeers %d, nRasDeadPeers %d\",\n       rasPeersHash, rasDeadPeersHash, nRasPeers, nRasDeadPeers);\n  sock->conn->lastRecvPeersHash = msg->peersUpdate.peersHash;\n  sock->conn->lastRecvDeadPeersHash = msg->peersUpdate.deadPeersHash;\n\n  // Prepare ours to send back.  We don't enqueue it right away because we want to make sure first that we need\n  // to send it.  We'll find out by comparing the hash values after the merge.\n  // We want to prepare the message pre-merge though because post-merge it will include the just received new peers,\n  // and it's pointless to send those back to where they just came from.\n  // nPeers and nDeadPeers are used primarily for message length calculations, so they have to assume the worst-case\n  // scenario (e.g., no overlap in case of nDeadPeers).\n  nPeers = (msg->peersUpdate.peersHash != rasPeersHash ? nRasPeers : 0);\n  nDeadPeers = (msg->peersUpdate.deadPeersHash != rasDeadPeersHash ? nRasDeadPeers+msg->peersUpdate.nDeadPeers : 0);\n  if (nPeers > 0 || nDeadPeers > 0) {\n    newMsgLen = rasMsgLength(RAS_MSG_PEERSUPDATE) + nPeers*sizeof(*rasPeers);\n    if (nDeadPeers > 0) {\n      ALIGN_SIZE(newMsgLen, alignof(union ncclSocketAddress));\n      newMsgLen += nDeadPeers*sizeof(*rasDeadPeers);\n    }\n    NCCLCHECKGOTO(rasMsgAlloc(&newMsg, newMsgLen), ret, fail);\n    newMsg->type = RAS_MSG_PEERSUPDATE;\n    // Note that after rasPeersUpdate below we may still decide not to send the peers.\n    memcpy(newMsg->peersUpdate.peers, rasPeers, nPeers * sizeof(newMsg->peersUpdate.peers[0]));\n    newMsg->peersUpdate.nPeers = nPeers;\n\n    if (nDeadPeers > 0) {\n      // Calculate the offset where dead peers are stored in the received message.  We do it before the peers\n      // update because it could modify msg->peersUpdate.nPeers...\n      deadPeersOffset = rasMsgLength(RAS_MSG_PEERSUPDATE) + msg->peersUpdate.nPeers * sizeof(msg->peersUpdate.peers[0]);\n      ALIGN_SIZE(deadPeersOffset, alignof(union ncclSocketAddress));\n    }\n\n    if (nPeers > 0)\n      NCCLCHECKGOTO(rasPeersUpdate(msg->peersUpdate.peers, &msg->peersUpdate.nPeers), ret, fail);\n    else\n      msg->peersUpdate.nPeers = 0;\n    if (nDeadPeers > 0)\n      NCCLCHECKGOTO(rasDeadPeersUpdate((union ncclSocketAddress*)(((char*)msg)+deadPeersOffset),\n                                       &msg->peersUpdate.nDeadPeers), ret, fail);\n    else\n      msg->peersUpdate.nDeadPeers = 0;\n\n    INFO(NCCL_RAS, \"RAS finished local processing of peersUpdate \"\n         \"(new nRasPeers %d, nRasDeadPeers %d, nPeers %d, nDeadPeers %d)\",\n         nRasPeers, nRasDeadPeers, msg->peersUpdate.nPeers, msg->peersUpdate.nDeadPeers);\n    if (msg->peersUpdate.nPeers > 0)\n      rasPeersDump();\n    if (msg->peersUpdate.nDeadPeers > 0)\n      rasDeadPeersDump();\n\n    // If post-merge the hashes are still different, send our (dead) peers back.\n    updatePeers = (sock->conn->lastSentPeersHash != rasPeersHash && sock->conn->lastRecvPeersHash != rasPeersHash);\n    updateDeadPeers = (sock->conn->lastSentDeadPeersHash != rasDeadPeersHash &&\n                       sock->conn->lastRecvDeadPeersHash != rasDeadPeersHash);\n    if (updatePeers || updateDeadPeers) {\n      newMsg->peersUpdate.peersHash = rasPeersHash;\n      newMsg->peersUpdate.deadPeersHash = rasDeadPeersHash;\n      if (updatePeers) {\n        assert(nPeers > 0);\n        sock->conn->lastSentPeersHash = rasPeersHash;\n      } else {\n        // If hashes match, make sure that we don't send the rasPeers back.\n        newMsg->peersUpdate.nPeers = 0;\n      }\n\n      // We need to recalculate the message size from scratch now that both rasPeers and rasDeadPeers may have changed.\n      newMsgLen = rasMsgLength(RAS_MSG_PEERSUPDATE) + newMsg->peersUpdate.nPeers * sizeof(*rasPeers);\n\n      if (updateDeadPeers) {\n        assert(nRasDeadPeers > 0);\n        sock->conn->lastSentDeadPeersHash = rasDeadPeersHash;\n\n        ALIGN_SIZE(newMsgLen, alignof(union ncclSocketAddress));\n        deadPeersOffset = newMsgLen;\n        newMsgLen += nRasDeadPeers*sizeof(*rasDeadPeers);\n\n        memcpy(((char*)newMsg)+deadPeersOffset, rasDeadPeers, nDeadPeers * sizeof(*rasDeadPeers));\n        sock->conn->lastSentDeadPeersHash = rasDeadPeersHash;\n        newMsg->peersUpdate.nDeadPeers = nRasDeadPeers;\n      } else {\n        newMsg->peersUpdate.nDeadPeers = 0;\n      }\n\n      INFO(NCCL_RAS, \"RAS sending back a peersUpdate (nPeers %d, nDeadPeers %d)\",\n           newMsg->peersUpdate.nPeers, newMsg->peersUpdate.nDeadPeers);\n\n      rasConnEnqueueMsg(sock->conn, newMsg, newMsgLen);\n      newMsg = nullptr;\n    } // if (updatePeers || updateDeadPeers)\n\n    // Propagate the changes through our RAS network links.\n    NCCLCHECKGOTO(rasNetUpdatePeers(msg->peersUpdate.peers, msg->peersUpdate.nPeers, updateDeadPeers, nullptr, 0,\n                                    sock->conn), ret, fail);\n  }\n\nexit:\n  rasMsgFree(newMsg);\n  return ret;\nfail:\n  goto exit;\n}\n\n\n//////////////////////////////////////////////////////////////////////////////////////////\n// Functions related to the (re-)configuration of RAS connections after a peers update. //\n//////////////////////////////////////////////////////////////////////////////////////////\n\n// Reinitializes the connection(s) of a particular link, following a peers update.\n// Adding new peers can affect the calculation of the link's primary connection and also the fallbacks.\n// The newly added peers could also shift all the existing peerIdx values, invalidating the values in rasLinkConn\n// structures, so it's better to drop it all and recalculate from scratch.\n// We recalculate the primary peer; if an active connection to it already exists, then we're done.  If there\n// is no connection, we create one.  If a connection exists but is experiencing delays then we add a fallback and\n// the process repeats.\n// External conns are dropped from the links as well (they will be re-created via keepAlive messages as needed).\nstatic ncclResult_t rasLinkReinitConns(struct rasLink* link) {\n  struct rasLinkConn* linkConn;\n  int newPeerIdx = myPeerIdx;\n\n  if (link->conns) {\n    // Free the old contents but keep the first entry for convenience (though wipe it).\n    for (struct rasLinkConn* linkConn = link->conns->next; linkConn;) {\n      struct rasLinkConn* linkConnNext = linkConn->next;\n      free(linkConn);\n      linkConn = linkConnNext;\n    }\n    memset(link->conns, '\\0', sizeof(*link->conns));\n    link->lastUpdatePeersTime = 0;\n  } else { // link->conns == nullptr\n    NCCLCHECK(ncclCalloc(&link->conns, 1));\n  }\n\n  // Fill in the entry for the primary connection.\n  linkConn = link->conns;\n  linkConn->peerIdx = newPeerIdx = rasLinkCalculatePeer(link, myPeerIdx, /*isFallback*/false);\n  linkConn->conn = (newPeerIdx != -1 ? rasConnFind(&rasPeers[newPeerIdx].addr) : nullptr);\n  linkConn->external = false;\n\n  if (linkConn->conn == nullptr) {\n    if (linkConn->peerIdx != -1) {\n      // We try to initiate primary connections from the side with a lower address (and thus an earlier peer index)\n      // to avoid races and the creation of duplicate connections.\n      INFO(NCCL_RAS, \"RAS link %d: %s primary connection with %s\",\n           link->direction, (myPeerIdx < linkConn->peerIdx ? \"opening new\" : \"calculated deferred\"),\n           ncclSocketToString(&rasPeers[linkConn->peerIdx].addr, rasLine));\n      if (myPeerIdx < linkConn->peerIdx) {\n        NCCLCHECK(rasConnCreate(&rasPeers[linkConn->peerIdx].addr, &linkConn->conn));\n      }\n      else { // If we didn't initiate the connection, start the timeout.\n        link->lastUpdatePeersTime = clockNano();\n      }\n    } // if (linkConn->peerIdx != -1)\n  } else { // linkConn->conn\n    INFO(NCCL_RAS, \"RAS link %d: calculated existing primary connection with %s\",\n         link->direction, ncclSocketToString(&rasPeers[linkConn->peerIdx].addr, rasLine));\n  } // linkConn->conn\n\n  if (linkConn->conn && linkConn->conn->experiencingDelays) {\n    INFO(NCCL_RAS, \"RAS connection experiencingDelays %d, startRetryTime %.2fs, socket status %d\",\n         linkConn->conn->experiencingDelays, (clockNano()-linkConn->conn->startRetryTime)/1e9,\n         (linkConn->conn->sock ? linkConn->conn->sock->status : - 1));\n    NCCLCHECK(rasLinkAddFallback(link, linkConn->conn));\n  }\n\n  return ncclSuccess;\n}\n\n// Calculates the index of the peer on the RAS network.  Can also be used to calculate the index of the next fallback\n// peer.\n// In the simplest case we want to try the \"next closest\" fallback, although we still need to check for and skip\n// any dead peers.\n// For fallbacks to fallbacks, we also apply a more pessimistic policy.  We skip all the remaining RAS threads that\n// are on the same node as the previous fallback (unless it's the same node that we're running on or we have strong\n// indications that the node is up).  We do that to avoid having to excessively wait iterating through, say, 8\n// processes when a whole node might be down.\nint rasLinkCalculatePeer(const struct rasLink* link, int peerIdx, bool isFallback) {\n  int newPeerIdx = (peerIdx + link->direction + nRasPeers) % nRasPeers;\n  do {\n    if (isFallback && !ncclSocketsSameNode(&rasPeers[peerIdx].addr, &rasNetListeningSocket.addr)) {\n      // peerIdx is a fallback and it is not running on the same node as us.\n      int tryPeerIdx = newPeerIdx;\n      struct rasConnection* tryConn = nullptr;\n\n      // Try to skip the remaining peers on the same node as peerIdx.  We may end up skipping over some peers that\n      // are alive, which is fine -- they will still have connectivity with the rest of the RAS network, just a\n      // little suboptimal one.\n      while (ncclSocketsSameNode(&rasPeers[tryPeerIdx].addr, &rasPeers[peerIdx].addr)) {\n        if (!rasPeerIsDead(&rasPeers[tryPeerIdx].addr)) {\n          tryConn = rasConnFind(&rasPeers[tryPeerIdx].addr);\n          if (tryConn) {\n            // Check if the connection is fully established and operational, i.e., if the underlying socket\n            // is ready and there's been recent communication on it.\n            if (tryConn->sock && tryConn->sock->status == RAS_SOCK_READY && !tryConn->experiencingDelays) {\n              // We convinced ourselves that the node is not down.  We don't adjust newPeerIdx in\n              // this case.  This is the only case when tryConnIdx != -1 after this loop.\n              break;\n            }\n          } // if (tryConn)\n        } // if (!rasPeerIsDead(&rasPeers[tryPeerIdx].addr))\n\n        tryConn = nullptr;\n        tryPeerIdx = (tryPeerIdx + link->direction + nRasPeers) % nRasPeers;\n        if (tryPeerIdx == myPeerIdx)\n          break;\n      }\n\n      if (tryConn == nullptr)\n        newPeerIdx = tryPeerIdx;\n      if (tryPeerIdx == myPeerIdx)\n        break;\n    } // if (isFallback && !ncclSocketsSameNode(&rasPeers[peerIdx].addr, &rasNetListeningSocket.addr))\n\n    if (rasPeerIsDead(&rasPeers[newPeerIdx].addr)) {\n      newPeerIdx = (newPeerIdx + nRasPeers + link->direction) % nRasPeers;\n    }\n    else\n      break;\n  } while (newPeerIdx != myPeerIdx);\n\n  return (newPeerIdx != myPeerIdx ? newPeerIdx : -1);\n}\n\n\n//////////////////////////////////////////////////////\n// Functions related to the handling of dead peers. //\n//////////////////////////////////////////////////////\n\n// Marks a peer as dead in the local rasDeadPeers array.  Any propagation, reconfiguration, etc., needs to be\n// handled outside of this function.\nncclResult_t rasPeerDeclareDead(const union ncclSocketAddress* addr) {\n  union ncclSocketAddress* deadAddr;\n\n  if (!rasPeerIsDead(addr)) {\n    NCCLCHECK(getNewDeadEntry(&deadAddr));\n    memcpy(deadAddr, addr, sizeof(*deadAddr));\n    qsort(rasDeadPeers, nRasDeadPeers, sizeof(*rasDeadPeers), &ncclSocketsCompare);\n\n    rasDeadPeersHash = getHash((const char*)rasDeadPeers, nRasDeadPeers*sizeof(*rasDeadPeers));\n\n    INFO(NCCL_RAS, \"RAS declaring peer %s as DEAD; rasDeadPeersHash 0x%lx\",\n         ncclSocketToString(addr, rasLine), rasDeadPeersHash);\n  }\n  return ncclSuccess;\n}\n\n// Invoked when an incoming RAS_MSG_PEERSUPDATE includes info on dead peers.  Updates the rasDeadPeers array.\n// Any propagation needs to be handled outside of this function, though it *does* disconnect any connections\n// with the newly dead peers.\n// On return, nUpdatePeers contains the number of newly added dead entries.\nstatic ncclResult_t rasDeadPeersUpdate(union ncclSocketAddress* updatePeers, int* nUpdatePeers) {\n  static union ncclSocketAddress* newPeers = nullptr;\n  static union ncclSocketAddress* oldPeers;\n\n  if (*nUpdatePeers == 0)\n    return ncclSuccess;\n\n  // Pessimistically estimate the new size of rasDeadPeers.\n  int nNewPeers = nRasDeadPeers + *nUpdatePeers;\n  if (nNewPeers > rasDeadPeersSize) {\n    nNewPeers = ROUNDUP(nNewPeers, RAS_INCREMENT);\n\n    NCCLCHECK(ncclCalloc(&newPeers, nNewPeers));\n    oldPeers = rasDeadPeers;\n  } else {\n    // We don't need to allocate a new array in this case.  We just shift the existing content to the end of the\n    // array to make room in the front for merging.\n    oldPeers = rasDeadPeers+(rasDeadPeersSize-nRasDeadPeers);\n    memmove(oldPeers, rasDeadPeers, nRasDeadPeers*sizeof(*rasDeadPeers));\n    newPeers = rasDeadPeers;\n  }\n\n  // Merge updatePeers with oldPeers into newPeers.\n  int oldPeersIdx, updatePeersIdx, newPeersIdx;\n  for (oldPeersIdx = updatePeersIdx = newPeersIdx = 0; oldPeersIdx < nRasDeadPeers || updatePeersIdx < *nUpdatePeers;) {\n    int cmp;\n    if (oldPeersIdx < nRasDeadPeers && updatePeersIdx < *nUpdatePeers) {\n      cmp = ncclSocketsCompare(oldPeers+oldPeersIdx, updatePeers+updatePeersIdx);\n    } else {\n      cmp = (oldPeersIdx < nRasDeadPeers ? -1 : 1);\n    }\n\n    memmove(newPeers+newPeersIdx++, (cmp <= 0 ? oldPeers+oldPeersIdx : updatePeers+updatePeersIdx), sizeof(*newPeers));\n    if (cmp <= 0)\n      oldPeersIdx++;\n    if (cmp > 0) {\n      rasConnDisconnect(updatePeers+updatePeersIdx);\n    }\n    if (cmp >= 0)\n      updatePeersIdx++;\n  }\n  *nUpdatePeers = newPeersIdx - nRasDeadPeers;\n  nRasDeadPeers = newPeersIdx;\n\n  if (newPeers != rasDeadPeers) {\n    free(rasDeadPeers);\n    rasDeadPeers = newPeers;\n    rasDeadPeersSize = nNewPeers;\n  }\n\n  rasDeadPeersHash = getHash((const char*)rasDeadPeers, nRasDeadPeers*sizeof(*rasDeadPeers));\n\n  return ncclSuccess;\n}\n\n// Returns the index of the first available entry in the rasDeadPeers array, enlarging the array if necessary.\nstatic ncclResult_t getNewDeadEntry(union ncclSocketAddress** pAddr) {\n  if (nRasDeadPeers == rasDeadPeersSize) {\n    NCCLCHECK(ncclRealloc(&rasDeadPeers, rasDeadPeersSize, rasDeadPeersSize+RAS_INCREMENT));\n    rasDeadPeersSize += RAS_INCREMENT;\n  }\n\n  *pAddr = rasDeadPeers+(nRasDeadPeers++);\n  return ncclSuccess;\n}\n\n// Checks whether a peer is dead by looking it up in the rasDeadPeers array.\nbool rasPeerIsDead(const union ncclSocketAddress* addr) {\n  return (rasDeadPeers != nullptr &&\n          bsearch(addr, rasDeadPeers, nRasDeadPeers, sizeof(*rasDeadPeers), ncclSocketsCompare) != nullptr);\n}\n\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Auxiliary functions -- primarily sorting/searching callbacks, plus some debug output support. //\n///////////////////////////////////////////////////////////////////////////////////////////////////\n\n// Searching callback for struct rasRankInit.  Compares the ncclSocketAddress key against a rasRankInit element.\nstatic int rasAddrRankInitCompare(const void* k, const void* e) {\n  const union ncclSocketAddress* key = (const union ncclSocketAddress*)k;\n  const struct rasRankInit* elem = (const struct rasRankInit*)e;\n\n  return ncclSocketsCompare(key, &elem->addr);\n}\n\n// Searching callback for struct rasPeerInfo.  Compares the ncclSocketAddress key against a rasPeerInfo element.\nstatic int rasAddrPeerInfoCompare(const void* k, const void* e) {\n  const union ncclSocketAddress* key = (const union ncclSocketAddress*)k;\n  const struct rasPeerInfo* elem = (const struct rasPeerInfo*)e;\n\n  return ncclSocketsCompare(key, &elem->addr);\n}\n\n// Sorting callback for struct rasRankInit. addr is the primary key; cudaDev is secondary.\nstatic int rasRanksCompare(const void* e1, const void* e2) {\n  const struct rasRankInit* r1 = (const struct rasRankInit*)e1;\n  const struct rasRankInit* r2 = (const struct rasRankInit*)e2;\n  int cmp = ncclSocketsCompare(&r1->addr, &r2->addr);\n  if (cmp == 0) {\n    if (r1->addr.sa.sa_family == 0) // Bail out in case of empty addresses...\n      return 0;\n    assert(r1->pid == r2->pid);\n    cmp = (r1->cudaDev < r2->cudaDev ? -1 : (r1->cudaDev > r2->cudaDev ? 1 : 0));\n    assert(cmp != 0); // There should be no complete duplicates within the rank array.\n  }\n  return cmp;\n}\n\n// Sorting callback for ncclSocketAddress.  We want to sort by the address family (IPv4 first), then the address,\n// then port.  Unfortunately, that's not the order of how they are laid out in memory, so one big memcmp won't do.\n// memcmp is still useful though for individual elements in the network byte order.\nint ncclSocketsCompare(const void* p1, const void* p2) {\n  const union ncclSocketAddress* a1 = (const union ncclSocketAddress*)p1;\n  const union ncclSocketAddress* a2 = (const union ncclSocketAddress*)p2;\n  // AF_INET (2) is less than AF_INET6 (10).\n  int family = a1->sa.sa_family;\n  if (family != a2->sa.sa_family) {\n    if (family > 0 && a2->sa.sa_family > 0)\n      return (family < a2->sa.sa_family ? -1 : 1);\n    else // Put empty addresses at the end (not that it matters...).\n      return (family > 0 ? -1 : 1);\n  }\n\n  int cmp;\n  if (family == AF_INET) {\n    if ((cmp = memcmp(&a1->sin.sin_addr, &a2->sin.sin_addr, sizeof(a1->sin.sin_addr))) == 0) {\n      cmp = memcmp(&a1->sin.sin_port, &a2->sin.sin_port, sizeof(a1->sin.sin_port));\n    }\n  }\n  else if (family == AF_INET6) {\n    if ((cmp = memcmp(&a1->sin6.sin6_addr, &a2->sin6.sin6_addr, sizeof(a1->sin6.sin6_addr))) == 0) {\n      cmp = memcmp(&a1->sin6.sin6_port, &a2->sin6.sin6_port, sizeof(a1->sin6.sin6_port));\n    }\n  } else {\n    // The only remaining valid case are empty addresses.\n    assert(family == 0);\n    cmp = 0; // Two empty addresses are equal...\n  }\n\n  return cmp;\n}\n\n// Returns true if two socket addresses are from the same node (actually, the same network interface on one node).\nbool ncclSocketsSameNode(const union ncclSocketAddress* a1, const union ncclSocketAddress* a2) {\n  // AF_INET (2) is less than AF_INET6 (10).\n  int family = a1->sa.sa_family;\n  if (family != a2->sa.sa_family)\n    return false;\n\n  if (family == AF_INET)\n    return (memcmp(&a1->sin.sin_addr, &a2->sin.sin_addr, sizeof(a1->sin.sin_addr)) == 0);\n  else if (family == AF_INET6)\n    return (memcmp(&a1->sin6.sin6_addr, &a2->sin6.sin6_addr, sizeof(a1->sin6.sin6_addr)) == 0);\n  else\n    return true; // Two empty addresses are equal...\n}\n\n// Debug output routine: dumps the rasPeers array.\nstatic void rasPeersDump() {\n  for (int p = 0; p < nRasPeers; p++) {\n    const struct rasPeerInfo* peer = rasPeers+p;\n    INFO(NCCL_RAS, \"RAS peer %d: %s%s\", p, rasPeerDump(peer, rasLine, sizeof(rasLine)),\n         (p == myPeerIdx ? \" [this process]\" : \"\"));\n  }\n  if (nRasPeers > 0)\n    INFO(NCCL_RAS, \"RAS peersHash 0x%lx\", rasPeersHash);\n}\n\n// Debug output routine: dumps the rasDeadPeers array.\nstatic void rasDeadPeersDump() {\n  for (int p = 0; p < nRasDeadPeers; p++) {\n    int deadPeerIdx = rasPeerFind(rasDeadPeers+p);\n    INFO(NCCL_RAS, \"RAS dead peer %d: %s\", p,\n         (deadPeerIdx >= 0 ? rasPeerDump(rasPeers+deadPeerIdx, rasLine, sizeof(rasLine)) :\n          ncclSocketToString(rasDeadPeers+p, rasLine)));\n  }\n  if (nRasDeadPeers > 0)\n    INFO(NCCL_RAS, \"RAS deadPeersHash 0x%lx\", rasDeadPeersHash);\n}\n\n// Debug output routine: dumps part of an individual element from the rasPeers array.\nstatic char* rasPeerDump(const struct rasPeerInfo* peer, char* result, size_t nres) {\n  char line[SOCKET_NAME_MAXLEN+1], line2[1024];\n  snprintf(result, nres, \"socket %s, pid %d, GPU%s %s\", ncclSocketToString(&peer->addr, line), peer->pid,\n           (__builtin_popcountll(peer->cudaDevs) > 1 ? \"s\" : \"\"),\n           rasGpuDevsToString(peer->cudaDevs, peer->nvmlDevs, line2, sizeof(line2)));\n  return result;\n}\n\n// Invoked during RAS termination to release all the allocated resources.\nvoid rasPeersTerminate() {\n  free(rasPeers);\n  rasPeers = nullptr;\n  nRasPeers = 0;\n  rasPeersHash = 0;\n  myPeerIdx = -1;\n\n  free(rasDeadPeers);\n  rasDeadPeers = nullptr;\n  nRasDeadPeers = rasDeadPeersSize = 0;\n  rasDeadPeersHash = 0;\n}\n"
  },
  {
    "path": "src/ras/ras.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <cstddef>\n#include <mutex>\n#include <poll.h>\n#include <unistd.h>\n\n#include \"alloc.h\"\n#include \"checks.h\"\n#include \"comm.h\"\n#include \"nccl.h\"\n#include \"utils.h\"\n#include \"ras_internal.h\"\n\n// Type of a notification from a local NCCL thread.\ntypedef enum {\n  RAS_ADD_RANKS = 0,\n  RAS_TERMINATE = 1\n} rasNotificationType;\n\n// Used for communication from local NCCL threads to the RAS thread.\nstruct rasNotification {\n  rasNotificationType type;\n  union {\n    struct {\n      struct rasRankInit* ranks;\n      int nranks;\n    } addRanks;\n  };\n};\nstatic_assert(sizeof(struct rasNotification) <= PIPE_BUF, \"The rasNotification structure is too large\");\n\n// These ensure that we get only one RAS port/thread per process.\nstatic std::mutex rasInitMutex;\nstatic bool rasInitialized = false;\nstatic int rasInitRefCount = 0;\n\n// The RAS network listening socket of this RAS thread (random port).\nstruct ncclSocket rasNetListeningSocket;\n\nstatic pthread_t rasThread;\n\n// Used for communication from regular NCCL threads to the RAS thread.\nstatic std::mutex rasNotificationMutex;\nstatic int rasNotificationPipe[2] = {-1, -1};\n\n// Data for the main poll() in the RAS thread.\nstruct pollfd* rasPfds;\nstatic int nRasPfds;\n\n// We use it all over the place; no point in wasting the stack...\nchar rasLine[SOCKET_NAME_MAXLEN+1];\n\n// An array holding the addresses of all NCCL communicators.  Modified by the NCCL threads (hence the mutex), read by\n// the RAS thread.\nstd::mutex ncclCommsMutex;\nstruct ncclComm** ncclComms = nullptr;\nint nNcclComms = 0;\nbool ncclCommsSorted = false; // Whether the array is currently sorted. We sort by the comms' commHash and rank.\n\nstatic ncclResult_t rasLocalNotify(const struct rasNotification* msg);\nstatic ncclResult_t rasLocalHandle(bool* terminate);\nstatic void rasThreadCleanup();\n\nstatic ncclResult_t rasMsgHandleConnInit(const struct rasMsg* msg, struct rasSocket* sock);\nstatic ncclResult_t rasMsgHandleConnInitAck(const struct rasMsg* msg, struct rasSocket* sock);\nstatic ncclResult_t rasNetSendNack(struct rasSocket* sock);\n\nstatic void* rasThreadMain(void*);\n\nstatic void rasTerminate();\n\nNCCL_PARAM(RasTimeoutFactor, \"RAS_TIMEOUT_FACTOR\", 1);\n\n//////////////////////////////////////////////////\n// Functions invoked from regular NCCL threads. //\n//////////////////////////////////////////////////\n\n// Invoked by regular NCCL threads on every comm initialization.  This is the first function to call.\n// The myRank structure should be passed with the addr element initialized to the IP address of the bootstrap\n// network interface to use.  On a successful return, the address will be updated with the port number of the\n// RAS network listening socket.\nncclResult_t ncclRasCommInit(struct ncclComm* comm, struct rasRankInit* myRank) {\n  ncclResult_t ret = ncclSuccess;\n  if (!rasInitialized) {\n    std::lock_guard<std::mutex> lock(rasInitMutex);\n    if (!rasInitialized) {\n      union ncclSocketAddress addr;\n\n      memcpy(&addr, &myRank->addr, sizeof(addr));\n      (addr.sa.sa_family == AF_INET ? addr.sin.sin_port : addr.sin6.sin6_port) = htons(0);\n      NCCLCHECKGOTO(ncclSocketInit(&rasNetListeningSocket, &addr, NCCL_SOCKET_MAGIC, ncclSocketTypeRasNetwork,\n                                   /*abortFlag*/nullptr, /*asyncFlag*/1), ret, fail);\n      NCCLCHECKGOTO(ncclSocketListen(&rasNetListeningSocket), ret, fail);\n      INFO(NCCL_RAS, \"RAS network listening socket at %s\",\n           ncclSocketToString(&rasNetListeningSocket.addr, rasLine));\n\n      (void)rasClientInitSocket();\n\n      SYSCHECKGOTO(pipe(rasNotificationPipe), \"pipe\", ret, fail);\n\n      PTHREADCHECKGOTO(pthread_create(&rasThread, nullptr, &rasThreadMain, nullptr), \"pthread_create\", ret, fail);\n      ncclSetThreadName(rasThread, \"NCCL RAS\");\n\n      rasInitialized = true;\n\n      atexit(rasTerminate);\n    }\n  }\n  ncclAtomicRefCountIncrement(&rasInitRefCount);\n\n  {\n    std::lock_guard<std::mutex> lock(ncclCommsMutex);\n\n    int i;\n    for (i = 0; i < nNcclComms; i++) {\n      if (ncclComms[i] == nullptr)\n        break;\n    }\n    if (i == nNcclComms) {\n      NCCLCHECK(ncclRealloc(&ncclComms, nNcclComms, nNcclComms+RAS_INCREMENT*8));\n      nNcclComms += RAS_INCREMENT*8;\n    }\n    ncclComms[i] = comm;\n    ncclCommsSorted = false;\n  }\n\n  if (myRank != nullptr)\n    memcpy(&myRank->addr, &rasNetListeningSocket.addr, sizeof(myRank->addr));\n\nexit:\n  return ret;\nfail:\n  if (rasNotificationPipe[1] != 0)\n    (void)close(rasNotificationPipe[1]);\n  if (rasNotificationPipe[0] != 0)\n    (void)close(rasNotificationPipe[0]);\n  (void)close(rasClientListeningSocket);\n  (void)ncclSocketClose(&rasNetListeningSocket);\n  goto exit;\n}\n\n// Invoked by regular NCCL threads on every comm termination.\nncclResult_t ncclRasCommFini(const struct ncclComm* comm) {\n  if (!rasInitialized)\n    return ncclSuccess;\n  {\n    std::lock_guard<std::mutex> lock(ncclCommsMutex);\n    for (int i = 0; i < nNcclComms; i++) {\n      if (ncclComms[i] == comm) {\n        ncclComms[i] = nullptr;\n        ncclCommsSorted = false;\n        break;\n      }\n    }\n  }\n  ncclAtomicRefCountDecrement(&rasInitRefCount);\n  return ncclSuccess;\n}\n\n// Global destructor.  Notifies the RAS thread to release all the resources\n// and terminate.  Waits for the thread to terminate.\nstatic void rasTerminate() {\n  struct rasNotification msg;\n  if (!rasInitialized)\n    return;\n  memset(&msg, '\\0', sizeof(msg));\n  msg.type = RAS_TERMINATE;\n  if (rasLocalNotify(&msg) == ncclSuccess)\n    (void)pthread_join(rasThread, nullptr);\n}\n\n// Invoked by regular NCCL threads on every (non-split) comm initialization.  Provides info on all the ranks within\n// the communicator.\nncclResult_t ncclRasAddRanks(struct rasRankInit* ranks, int nranks) {\n  struct rasNotification msg;\n  memset(&msg, '\\0', sizeof(msg));\n  msg.type = RAS_ADD_RANKS;\n  msg.addRanks.ranks = ranks;\n  msg.addRanks.nranks = nranks;\n  NCCLCHECK(rasLocalNotify(&msg));\n  return ncclSuccess;\n}\n\n// Internal function running on regular NCCL threads -- asynchronously notifies the RAS thread.\nstatic ncclResult_t rasLocalNotify(const struct rasNotification* msg) {\n  if (!rasInitialized)\n    return ncclSuccess;\n\n  // Take an exclusive lock here to avoid multiplexing between multiple user threads (not sure if it's\n  // strictly required, but it won't hurt)...\n  std::lock_guard<std::mutex> lock(rasNotificationMutex);\n  size_t done = 0;\n  while (done < sizeof(*msg)) {\n    ssize_t written;\n    SYSCHECK(written = write(rasNotificationPipe[1], (char*)msg + done, sizeof(*msg) - done), \"write\");\n    done += written;\n  }\n  return ncclSuccess;\n}\n\n\n/////////////////////////////////////////////////////////////////////////////////\n// Functions related to the handling of local notifications from NCCL threads. //\n/////////////////////////////////////////////////////////////////////////////////\n\n// Handles asynchronous local notifications arriving from regular NCCL threads.\nstatic ncclResult_t rasLocalHandle(bool* terminate) {\n  struct rasNotification msg;\n\n  size_t done = 0;\n  while (done < sizeof(msg)) {\n    ssize_t nread;\n    SYSCHECK(nread = read(rasNotificationPipe[0], (char*)&msg + done, sizeof(msg) - done), \"read\");\n    if (nread == 0) // EOF\n      return ncclSystemError;\n    done += nread;\n  }\n\n  if (msg.type == RAS_ADD_RANKS) {\n    (void)rasLocalHandleAddRanks(msg.addRanks.ranks, msg.addRanks.nranks);\n    // Not great if the above fails, but it shouldn't be critical; better to keep going.\n  } else if (msg.type == RAS_TERMINATE) {\n    INFO(NCCL_RAS, \"RAS handling local termination request\");\n    *terminate = true;\n  } else {\n    WARN(\"RAS received unknown notification type %d\", msg.type);\n    return ncclInternalError;\n  }\n\n  return ncclSuccess;\n}\n\n// Cleans up local RAS state, normally in response to a RAS_TERMINATE notification.\nstatic void rasThreadCleanup() {\n  rasClientSupportTerminate();\n  rasNetTerminate();\n  rasCollectivesTerminate();\n  rasPeersTerminate();\n\n  {\n    std::lock_guard<std::mutex> lock(rasInitMutex);\n    (void)close(rasNotificationPipe[1]);\n    (void)close(rasNotificationPipe[0]);\n    // rasClientListeningSocket is taken care of by rasClientSupportTerminate().\n    rasNotificationPipe[0] = rasNotificationPipe[1] = -1;\n    (void)ncclSocketClose(&rasNetListeningSocket);\n    rasInitRefCount = 0;\n    rasInitialized = false;\n  }\n\n  {\n    std::lock_guard<std::mutex> lock(ncclCommsMutex);\n    free(ncclComms);\n    ncclComms = nullptr;\n    nNcclComms = 0;\n    ncclCommsSorted = false;\n  }\n\n  free(rasPfds);\n  rasPfds = nullptr;\n  nRasPfds = 0;\n}\n\n\n////////////////////////////////////////////////\n// Generic functions related to RAS messages. //\n////////////////////////////////////////////////\n\n// Allocates a RAS message of the desired length for sending.\n// Behind the scenes allocates encapsulating rasMsgMeta structure, which includes local metadata stored in front\n// of the message.\n// Must use rasMsgFree to free.\nncclResult_t rasMsgAlloc(struct rasMsg** msg, size_t msgLen) {\n  struct rasMsgMeta* meta = nullptr;\n  NCCLCHECK(ncclCalloc((char**)&meta, offsetof(struct rasMsgMeta, msg) + msgLen));\n  *msg = &meta->msg;\n  // coverity[leaked_storage:FALSE] => rasMsgFree is used to free it\n  return ncclSuccess;\n}\n\n// To be used only with messages allocated with rasMsgAlloc.  I.e., it should be used for sent messages, not\n// for received ones.\nvoid rasMsgFree(struct rasMsg* msg) {\n  if (msg) {\n    struct rasMsgMeta* meta = (struct rasMsgMeta*)((char*)msg - offsetof(struct rasMsgMeta, msg));\n    free(meta);\n  }\n}\n\n// Enqueues a message for sending down a RAS connection.\nvoid rasConnEnqueueMsg(struct rasConnection* conn, struct rasMsg* msg, size_t msgLen, bool front) {\n  // Get to the metadata of this message.\n  struct rasMsgMeta* meta = (struct rasMsgMeta*)((char*)msg - offsetof(struct rasMsgMeta, msg));\n  bool ready = false;\n\n  meta->enqueueTime = clockNano();\n  meta->offset = 0;\n  meta->length = msgLen;\n\n  if (front)\n    ncclIntruQueueEnqueueFront(&conn->sendQ, meta);\n  else\n    ncclIntruQueueEnqueue(&conn->sendQ, meta);\n\n  if (conn->sock) {\n    if (conn->sock->status == RAS_SOCK_READY ||\n        (conn->sock->status == RAS_SOCK_HANDSHAKE && msg->type == RAS_MSG_CONNINIT)) {\n      rasPfds[conn->sock->pfd].events |= POLLOUT;\n      ready = true;\n    }\n  }\n  if (!ready) {\n    // It's not a bug, unless it's for things like keep-alive messages...\n    INFO(NCCL_RAS, \"RAS enqueued message type %d on a non-ready connection with %s \"\n         \"(experiencingDelays %d, startRetryTime %.2fs, socket status %d)\",\n         msg->type, ncclSocketToString(&conn->addr, rasLine),\n         conn->experiencingDelays, (conn->startRetryTime ? (clockNano()-conn->startRetryTime)/1e9 : 0.0),\n         (conn->sock ? conn->sock->status : -1));\n  }\n}\n\n// Attempts to send the queued RAS messages to another RAS thread.\nncclResult_t rasConnSendMsg(struct rasConnection* conn, int* closed, bool* allSent) {\n  struct rasMsgMeta* meta;\n  *closed = 0;\n  while ((meta = ncclIntruQueueHead(&conn->sendQ)) != nullptr) {\n    if (conn->sock->status == RAS_SOCK_HANDSHAKE && meta->msg.type != RAS_MSG_CONNINIT) {\n      // We don't send anything beyond the handshake at this point.\n      meta = nullptr;\n      break;\n    }\n    if (meta->offset < sizeof(meta->length)) {\n      // Send the length of the message.\n      NCCLCHECK(ncclSocketProgress(NCCL_SOCKET_SEND, &conn->sock->sock, &meta->length, sizeof(meta->length),\n                                   &meta->offset, closed));\n      if (*closed)\n        return ncclSuccess;\n      if (meta->offset < sizeof(meta->length))\n        break;\n    }\n    // Send the body of the message.\n    NCCLCHECK(ncclSocketProgress(NCCL_SOCKET_SEND, &conn->sock->sock, ((char*)&meta->msg)-sizeof(meta->length),\n                                 meta->length+sizeof(meta->length), &meta->offset, closed));\n    if (*closed)\n      return ncclSuccess;\n    if (meta->offset < meta->length+sizeof(meta->length))\n      break;\n    ncclIntruQueueDequeue(&conn->sendQ);\n    free(meta);\n  }\n\n  *allSent = !meta;\n\n  return ncclSuccess;\n}\n\n// Attempts to receive a message through a RAS socket.\nncclResult_t rasMsgRecv(struct rasSocket* sock, struct rasMsg** msg, int* closed) {\n  *closed = 0;\n  if (sock->recvOffset < sizeof(sock->recvLength)) {\n    // Receive the length of the message.\n    NCCLCHECK(ncclSocketProgress(NCCL_SOCKET_RECV, &sock->sock, &sock->recvLength, sizeof(sock->recvLength),\n                                 &sock->recvOffset, closed));\n    if (*closed || sock->recvOffset < sizeof(sock->recvLength))\n      return ncclSuccess;\n    NCCLCHECK(ncclCalloc((char**)&sock->recvMsg, sock->recvLength));\n  }\n  // Receive the body of the message.\n  NCCLCHECK(ncclSocketProgress(NCCL_SOCKET_RECV, &sock->sock, ((char*)sock->recvMsg)-sizeof(sock->recvLength),\n                               sock->recvLength+sizeof(sock->recvLength), &sock->recvOffset, closed));\n  if (*closed || sock->recvOffset < sock->recvLength+sizeof(sock->recvLength))\n    return ncclSuccess;\n\n  *msg = sock->recvMsg;\n  sock->recvMsg = nullptr;\n  sock->recvOffset = sock->recvLength = 0;\n\n  return ncclSuccess;\n}\n\n\n//////////////////////////////////////////////////////////////////\n// Functions related to the handling of specific message types. //\n//////////////////////////////////////////////////////////////////\n\n// Invoked from the main RAS thread to dispatch incoming messages to the appropriate handler.\nncclResult_t rasMsgHandle(struct rasMsg* msg, struct rasSocket* sock) {\n  if (msg->type == RAS_MSG_CONNINIT) {\n    NCCLCHECK(rasMsgHandleConnInit(msg, sock));\n  } else if (msg->type == RAS_MSG_CONNINITACK) {\n    NCCLCHECK(rasMsgHandleConnInitAck(msg, sock));\n  } else if (msg->type == RAS_MSG_KEEPALIVE) {\n    NCCLCHECK(rasMsgHandleKeepAlive(msg, sock));\n  } else if (msg->type == RAS_MSG_PEERSUPDATE) {\n    NCCLCHECK(rasMsgHandlePeersUpdate(msg, sock));\n  } else if (msg->type == RAS_MSG_COLLREQ) {\n    NCCLCHECK(rasMsgHandleCollReq(msg, sock));\n  } else if (msg->type == RAS_MSG_COLLRESP) {\n    NCCLCHECK(rasMsgHandleCollResp(msg, sock));\n  } else {\n    WARN(\"RAS received unknown message type (%d) from %s\", msg->type, ncclSocketToString(&sock->sock.addr, rasLine));\n    return ncclInternalError;\n  }\n\n  return ncclSuccess;\n}\n\n// Handles the first message sent over a RAS socket as part of the handshake.\nstatic ncclResult_t rasMsgHandleConnInit(const struct rasMsg* msg, struct rasSocket* sock) {\n  ncclResult_t ret = ncclSuccess;\n  struct rasConnection* conn = nullptr;\n  int peerIdx;\n  struct rasMsg* newMsg = nullptr;\n  int newMsgLen;\n  char line[SOCKET_NAME_MAXLEN+1];\n\n  INFO(NCCL_RAS, \"RAS handling connInit from %s (version %d, listeningAddr %s, peersHash 0x%lx, deadPeersHash 0x%lx)\",\n       ncclSocketToString(&sock->sock.addr, rasLine), msg->connInit.ncclVersion,\n       ncclSocketToString(&msg->connInit.listeningAddr, line), msg->connInit.peersHash, msg->connInit.deadPeersHash);\n\n  if (msg->connInit.ncclVersion != NCCL_VERSION_CODE) {\n    // Close any such sockets immediately!  This is basically unrecoverable...\n    WARN(\"NCCL version mismatch with remote peer %s (local: %d, remote %d)\",\n         ncclSocketToString(&sock->sock.addr, rasLine), NCCL_VERSION_CODE, msg->connInit.ncclVersion);\n    rasNetSendNack(sock);\n    rasSocketTerminate(sock, /*finalize*/true);\n    ret = ncclInvalidUsage;\n    goto exit;\n  }\n\n  if (rasPeerIsDead(&msg->connInit.listeningAddr)) {\n    // A peer long declared dead is suddenly alive again?!\n    INFO(NCCL_RAS, \"RAS connection from peer %s that is considered dead!\",\n         ncclSocketToString(&msg->connInit.listeningAddr, rasLine));\n    rasNetSendNack(sock);\n    rasSocketTerminate(sock, /*finalize*/true);\n    goto exit;\n  }\n\n  // Check for any existing connection with that RAS thread (could happen due to a network issue, or possibly a race).\n  conn = rasConnFind(&msg->connInit.listeningAddr);\n  if (conn) {\n    INFO(NCCL_RAS,\n         \"RAS found a matching existing connection (sendQ %sempty, experiencingDelays %d, startRetryTime %.2fs)\",\n         (ncclIntruQueueEmpty(&conn->sendQ) ? \"\" : \"not \"),\n         conn->experiencingDelays, (conn->startRetryTime ? (clockNano()-conn->startRetryTime)/1e9 : 0.0));\n\n    if (conn->sock) {\n      INFO(NCCL_RAS, \"RAS found an alternative existing socket (status %d, createTime %.2fs)\",\n           conn->sock->status, (clockNano()-conn->sock->createTime)/1e9);\n      // In general we prefer to keep the newer connection, but \"newer\" can be a relative term: we may have\n      // a race where both sides attempt to establish a connection at roughly the same time, so the other side's\n      // incoming connection ends up looking newer than the locally-initiated one -- for *both* of them.\n      // If each side closed the \"old\" one, both would end up being closed.\n      // As we normally try to initiate connections from the side with a lower address (precisely to avoid such\n      // situations), we'll follow the same logic here: the \"lower\" side will reject the new connection (as it\n      // came from the \"wrong\" side), whereas the \"higher\" side will keep the new one (as it came from the correct\n      // side) and terminate the old one (that it presumably just opened).\n      if (ncclSocketsCompare(&rasNetListeningSocket.addr, &conn->addr) < 0) {\n        INFO(NCCL_RAS, \"RAS terminating the new socket\");\n        rasSocketTerminate(sock, /*finalize*/true);\n        goto exit;\n      } else {\n        INFO(NCCL_RAS, \"RAS keeping the new socket and terminating the existing one\");\n        rasSocketTerminate(conn->sock);\n      }\n    }\n  } else { // conn == nullptr\n    NCCLCHECK(getNewConnEntry(&conn));\n    memcpy(&conn->addr, &msg->connInit.listeningAddr, sizeof(conn->addr));\n  }\n\n  sock->status = RAS_SOCK_READY;\n  // rasConnResume will reset any experiencingDelays, startRetryTime, etc.\n\n  conn->sock = sock;\n  sock->conn = conn;\n  memcpy(&sock->sock.addr, &msg->connInit.listeningAddr, sizeof(sock->sock.addr));\n\n  // Make sure that the connection is part of the right links forming the RAS network.  At this point we only\n  // update the expected (non-external) connections; external ones will be added during keep-alive handling.\n  peerIdx = rasPeerFind(&conn->addr);\n  // Note: it's possible for peerIdx to be -1 at this point if, due to races, the connInit arrives before\n  // the peers update.\n  if (peerIdx != -1) {\n    (void)rasLinkConnUpdate(&rasNextLink, conn, peerIdx);\n    (void)rasLinkConnUpdate(&rasPrevLink, conn, peerIdx);\n  }\n\n  // Send a confirmation to the server that requested the connection (so that the resilience code can mark\n  // the connection as live).\n  newMsgLen = rasMsgLength(RAS_MSG_CONNINITACK);\n  NCCLCHECK(rasMsgAlloc(&newMsg, newMsgLen));\n  newMsg->type = RAS_MSG_CONNINITACK;\n  newMsg->connInitAck.nack = 0;\n  rasConnEnqueueMsg(conn, newMsg, newMsgLen, /*front*/true);\n\n  conn->lastRecvPeersHash = msg->connInit.peersHash;\n  conn->lastRecvDeadPeersHash = msg->connInit.deadPeersHash;\n\n  if (msg->connInit.peersHash != rasPeersHash || msg->connInit.deadPeersHash != rasDeadPeersHash) {\n    // Send my rasPeers and request the same in return.\n    INFO(NCCL_RAS, \"RAS connInit hash mismatch (my peersHash 0x%lx, deadPeersHash 0x%lx); sending my (dead) peers\",\n         rasPeersHash, rasDeadPeersHash);\n    NCCLCHECK(rasConnSendPeersUpdate(conn, rasPeers, nRasPeers));\n  }\nexit:\n  return ret;\n}\n\n// Handles the second message sent over a RAS socket as part of the handshake.\nstatic ncclResult_t rasMsgHandleConnInitAck(const struct rasMsg* msg, struct rasSocket* sock) {\n  INFO(NCCL_RAS, \"RAS handling connInitAck from %s (nack %d)\",\n       ncclSocketToString(&sock->sock.addr, rasLine), msg->connInitAck.nack);\n\n  if (msg->connInitAck.nack) {\n    // The remote peer doesn't want to talk to us.  The easiest way to prevent it is by declaring it dead.\n    // We make a copy of the address because rasConnDisconnect will terminate the rasSocket.\n    union ncclSocketAddress addr;\n    memcpy(&addr, &sock->sock.addr, sizeof(addr));\n    rasConnDisconnect(&addr);\n    (void)rasPeerDeclareDead(&addr);\n\n    return ncclSuccess;\n  }\n\n  sock->status = RAS_SOCK_READY;\n  // rasConnResume will reset any experiencingDelays, startRetryTime, etc.\n\n  return ncclSuccess;\n}\n\n// Handles the deadPeer broadcast.\nvoid rasMsgHandleBCDeadPeer(struct rasCollRequest** pReq, size_t* pReqLen, bool* pDone) {\n  INFO(NCCL_RAS, \"RAS handling deadPeer (addr %s)\", ncclSocketToString(&(*pReq)->deadPeer.addr, rasLine));\n\n  *pReqLen = rasCollDataLength(RAS_BC_DEADPEER);\n  if (!rasPeerIsDead(&(*pReq)->deadPeer.addr)) {\n    rasConnDisconnect(&(*pReq)->deadPeer.addr);\n    (void)rasPeerDeclareDead(&(*pReq)->deadPeer.addr);\n    *pDone = false;\n  } else {\n    INFO(NCCL_RAS, \"RAS already knew it was dead\");\n    // No point in re-broadcasting what's already known.\n    *pDone = true;\n  }\n}\n\n// Attempts to immediately send a fatal NACK connInitAck response to a socket.  A bit of a hack (as it doesn't\n// follow our usual message queuing and polling convention) but, since this can be invoked only for newly opened\n// connections, and the message is tiny, it should be OK.  We can't use the regular path because the socket is\n// about to be terminated.\nstatic ncclResult_t rasNetSendNack(struct rasSocket* sock) {\n  struct rasMsg msg;\n  int length = rasMsgLength(RAS_MSG_CONNINITACK);\n  int closed = 0;\n  int offset;\n\n  INFO(NCCL_RAS, \"RAS sending NACK to %s\", ncclSocketToString(&sock->sock.addr, rasLine));\n\n  memset(&msg, '\\0', sizeof(msg));\n  msg.type = RAS_MSG_CONNINITACK;\n  msg.connInitAck.nack = 1;\n  offset = 0;\n  NCCLCHECK(ncclSocketProgress(NCCL_SOCKET_SEND, &sock->sock, &length, sizeof(length), &offset, &closed));\n  if (closed || offset < sizeof(length))\n    return ncclSuccess;\n  offset = 0;\n  NCCLCHECK(ncclSocketProgress(NCCL_SOCKET_SEND, &sock->sock, &msg, length, &offset, &closed));\n  // We are closing this socket anyway -- it doesn't matter to us if we succeeded or not.\n\n  return ncclSuccess;\n}\n\n\n/////////////////////////////////////////////////////////////////\n// Functions related to the main event loop of the RAS thread. //\n/////////////////////////////////////////////////////////////////\n\n// Main function of the RAS thread.\nstatic void* rasThreadMain(void*) {\n  ncclResult_t ret = ncclSuccess; // Unused.\n  int pfd;\n  int rasNetListeningSocketFd;\n\n  INFO(NCCL_RAS, \"RAS thread started\");\n\n  // Initialize the global pollfd with the file descriptors we already have (the pipe and the listening socket).\n  NCCLCHECKGOTO(rasGetNewPollEntry(&pfd), ret, exit);\n  rasPfds[pfd].fd = rasNotificationPipe[0];\n  rasPfds[pfd].events = POLLIN;\n\n  NCCLCHECKGOTO(rasGetNewPollEntry(&pfd), ret, exit);\n  NCCLCHECKGOTO(ncclSocketGetFd(&rasNetListeningSocket, &rasNetListeningSocketFd), ret, exit);\n  rasPfds[pfd].fd = rasNetListeningSocketFd;\n  rasPfds[pfd].events = POLLIN;\n\n  NCCLCHECKGOTO(rasGetNewPollEntry(&pfd), ret, exit);\n  rasPfds[pfd].fd = rasClientListeningSocket;\n  rasPfds[pfd].events = POLLIN;\n\n  // Main event loop of the RAS thread.\n  for (int64_t nextWakeup=0;;) {\n    int timeout, nEvents;\n    int64_t now = clockNano();\n    if (nextWakeup > 0) {\n      // The \"1\" below helps avoid round-downs and especially zeroes.\n      if (nextWakeup > now)\n        timeout = (nextWakeup - now) / (CLOCK_UNITS_PER_SEC / 1000) + 1;\n      else\n        timeout = 1;\n    } else {\n      timeout = 1000; // 1 second.\n    }\n\n    nEvents = poll(rasPfds, nRasPfds, timeout);\n\n    nextWakeup = clockNano()+CLOCK_UNITS_PER_SEC;\n    if (nEvents == -1 && errno != EINTR)\n      INFO(NCCL_RAS, \"RAS continuing in spite of an unexpected error from poll: %s\", strerror(errno));\n\n    // Handle any poll-related events.\n    for (int pollIdx = 0; pollIdx < nRasPfds && nEvents > 0; pollIdx++) {\n      if (rasPfds[pollIdx].revents) {\n        nEvents--;\n        if (rasPfds[pollIdx].fd == rasNotificationPipe[0]) {\n          bool terminate = false;\n          NCCLCHECKGOTO(rasLocalHandle(&terminate), ret, exit);\n          if (terminate)\n            goto exit;\n        } else if (rasPfds[pollIdx].fd == rasNetListeningSocketFd) {\n          (void)rasNetAcceptNewSocket();\n        } else if (rasPfds[pollIdx].fd == rasClientListeningSocket) {\n          (void)rasClientAcceptNewSocket();\n        } else {\n          // Check if it's one of the RAS sockets.\n          struct rasSocket* sock;\n          for (sock = rasSocketsHead; sock;) {\n            struct rasSocket* sockNext = sock->next;\n            if (rasPfds[pollIdx].fd == sock->sock.fd) {\n              rasSockEventLoop(sock, pollIdx);\n              break;\n            }\n            sock = sockNext;\n          } // for (sock)\n\n          if (sock == nullptr) {\n            // Try a client socket instead.\n            for (struct rasClient* client = rasClientsHead; client;) {\n              struct rasClient* clientNext = client->next;\n              if (rasPfds[pollIdx].fd == client->sock) {\n                rasClientEventLoop(client, pollIdx);\n                break;\n              }\n              client = clientNext;\n            } // for (client)\n          } // if (sock == nullptr)\n        } // dynamic fds\n      } // if (revents)\n    } // for (pollIdx)\n\n    now = clockNano();\n\n    rasSocksHandleTimeouts(now, &nextWakeup);\n\n    rasConnsHandleTimeouts(now, &nextWakeup);\n\n    rasNetHandleTimeouts(now, &nextWakeup);\n\n    rasCollsHandleTimeouts(now, &nextWakeup);\n  } // for (;;)\n\nexit:\n  rasThreadCleanup();\n  INFO(NCCL_RAS, \"RAS thread terminating\");\n  return nullptr;\n}\n\n// Returns the index of the first available entry in the rasPfds array, enlarging the array if necessary.\nncclResult_t rasGetNewPollEntry(int* index) {\n  int i;\n  for (i = 0; i < nRasPfds; i++)\n    if (rasPfds[i].fd == -1)\n      break;\n  if (i == nRasPfds) {\n    NCCLCHECK(ncclRealloc(&rasPfds, nRasPfds, nRasPfds+RAS_INCREMENT));\n    nRasPfds += RAS_INCREMENT;\n    for (int j = i; j < nRasPfds; j++)\n      rasPfds[j].fd = -1;\n  }\n\n  memset(rasPfds+i, '\\0', sizeof(*rasPfds));\n  rasPfds[i].fd = -1;\n\n  *index = i;\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/ras/ras_internal.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_RAS_INTERNAL_H_\n#define NCCL_RAS_INTERNAL_H_\n\n#define NCCL_RAS_CLIENT_PORT 28028\n#define NCCL_RAS_CLIENT_PROTOCOL 2\n\n#define RAS_COLLECTIVE_LEG_TIMEOUT_SEC 5\n#define RAS_COLLECTIVE_EXTRA_TIMEOUT_SEC RAS_COLLECTIVE_LEG_TIMEOUT_SEC\n\n// End of the client section; everything below is meant for the NCCL threads only.\n#ifndef NCCL_RAS_CLIENT\n\n#include <mutex>\n\n#include \"nccl.h\"\n#include \"ras.h\"\n#include \"socket.h\"\n#include \"utils.h\"\n#include \"hip_rocm_version_info.h\"\n\n// Type of a RAS network or client message.\ntypedef enum {\n  RAS_MSG_CONNINIT = 1,\n  RAS_MSG_CONNINITACK = 2,\n  RAS_MSG_KEEPALIVE = 3,\n  RAS_MSG_PEERSUPDATE = 4,\n  RAS_MSG_COLLREQ = 5,\n  RAS_MSG_COLLRESP = 6,\n} rasMsgType;\n\n// Type of a RAS network collective message.\ntypedef enum {\n  RAS_MSG_NONE = 0,\n  RAS_BC_DEADPEER = 1,\n  // Broadcast operations above this line; collective operations below (1000 is the demarcation line).\n  RAS_COLL_CONNS = 1001, // Collect data about all RAS connections.\n  RAS_COLL_COMMS = 1002, // Collect data about all communicators.\n} rasCollectiveType;\n\n// Unique communicator identifier.  commHash by itself is definitely not guaranteed to be unique.\n// Combined with the two other hashes, the chance is much better...\n// All three fields are used for sorting.\nstruct rasCommId {\n  uint64_t commHash;\n  uint64_t hostHash, pidHash; // These are the hashes of the *first* rank (comm->peerInfo[0]).\n};\n\n// Payload of a collective request message (RAS_MSG_COLLREQ).\nstruct rasCollRequest {\n  union ncclSocketAddress rootAddr;\n  uint64_t rootId;\n\n  int64_t timeout;\n  rasCollectiveType type;\n  union {\n    struct {\n      union ncclSocketAddress addr;\n    } deadPeer;\n    struct {\n    } conns;\n    struct {\n      int nSkipMissingRanksComms; // Number of elements in the array below.\n      // Communicators for which we do *not* need the missingRanks data in the responses\n      // (see struct rasCollCommsMissingRank later).\n      struct rasCommId skipMissingRanksComms[0]; // Variable length, sorted.\n    } comms;\n  };\n};\n\n// Payload of a collective response message (RAS_MSG_COLLRESP).\nstruct rasCollResponse {\n  union ncclSocketAddress rootAddr;\n  uint64_t rootId;\n\n  int nLegTimeouts; // If >0, indicates incomplete data.\n  int nPeers;\n  int nData; // Size of data in bytes.\n  union ncclSocketAddress peers[0]; // Variable length.\n  // The peers array is followed by:\n  // alignas(int64_t) char data[0]; // Variable length, collective-dependent.\n};\n\n// Describes a peer NCCL process.  Every RAS thread keeps an (identical) array of them, one entry for each\n// NCCL process.\nstruct rasPeerInfo {\n  union ncclSocketAddress addr;\n  pid_t pid;\n  uint64_t cudaDevs; // Bitmask.  This is for local devices so 64 bits is enough.\n  uint64_t nvmlDevs; // Same, but not affected by CUDA_VISIBLE_DEVICES.\n  uint64_t hostHash, pidHash; // Taken from ncclComm, but with the commHash subtracted to make it\n                              // communicator-independent.\n};\n\n// Describes a RAS message.  Every message is preceded by a (32-bit) message length.  All data in the host\n// byte order.  Depending on the message type, the length of the message will vary.\nstruct rasMsg {\n  rasMsgType type;\n  union {\n    struct {\n      int ncclVersion;\n      union ncclSocketAddress listeningAddr;\n      uint64_t peersHash;\n      uint64_t deadPeersHash;\n    } connInit; // Sent by the connecting side as the first message.\n    struct {\n      int nack; // If non-0, we should stop trying to reconnect.\n    } connInitAck; // Response from the accepting side to the above.\n    struct {\n      uint64_t peersHash;\n      uint64_t deadPeersHash;\n      int linkMask; // What links at the destination peer should the connection be part of\n                    // (bit 0: nextLink; bit 1: prevLink).\n      struct timespec realTime; // Wallclock time at the source, for statistical purposes (in principle there's\n                                // no guarantee that the nodes have synchronized clocks so we can't really rely\n                                // on it for anything important)..\n      int nack; // If non-0, it means that this message is a response to an unexpected keepAlive message.\n    } keepAlive;\n    struct {\n      uint64_t peersHash;\n      uint64_t deadPeersHash;\n      int nPeers;\n      int nDeadPeers;\n      struct rasPeerInfo peers[0]; // Variable length.\n      // The peers array is followed by:\n      //union ncclSocketAddress deadPeers[0]; // Variable length.\n    } peersUpdate;\n    struct {\n      int protocol; // Protocol version, sent to the client.\n    } clientInit;\n    struct {\n      int nData;\n      char data[0]; // Variable length.\n    } clientDump;\n    struct rasCollRequest collReq; // Variable length.\n    struct rasCollResponse collResp; // Variable length.\n  };\n};\n\n// Returns the size of the collective portion of a collective request message.\nstatic inline size_t rasCollDataLength(rasCollectiveType type) {\n  struct rasCollRequest* data;\n  switch (type) {\n    case RAS_BC_DEADPEER:\n      return offsetof(struct rasCollRequest, deadPeer) + sizeof(data->deadPeer);\n    case RAS_COLL_CONNS:\n      return offsetof(struct rasCollRequest, conns) + sizeof(data->conns);\n    case RAS_COLL_COMMS:\n      return offsetof(struct rasCollRequest, comms) + sizeof(data->comms);\n    case RAS_MSG_NONE:\n      return 0;\n  };\n  return 0;\n}\n\n// Returns the size for a message of a particular type.\nstatic inline size_t rasMsgLength(rasMsgType type, rasCollectiveType collType = RAS_MSG_NONE) {\n  struct rasMsg* msg;\n  switch (type) {\n    case RAS_MSG_CONNINIT:\n      return offsetof(struct rasMsg, connInit) + sizeof(msg->connInit);\n    case RAS_MSG_CONNINITACK:\n      return offsetof(struct rasMsg, connInitAck) + sizeof(msg->connInitAck);\n    case RAS_MSG_KEEPALIVE:\n      return offsetof(struct rasMsg, keepAlive) + sizeof(msg->keepAlive);\n    case RAS_MSG_PEERSUPDATE:\n      return offsetof(struct rasMsg, peersUpdate) + sizeof(msg->peersUpdate);\n    case RAS_MSG_COLLREQ:\n      return offsetof(struct rasMsg, collReq) + rasCollDataLength(collType);\n    case RAS_MSG_COLLRESP:\n      return offsetof(struct rasMsg, collResp) + sizeof(msg->collResp);\n  };\n  return 0;\n}\n\n// How much to enlarge any RAS array by if we run out of space.\n#define RAS_INCREMENT 4\n\n// Our clock has nanosecond resolution.\n#define CLOCK_UNITS_PER_SEC 1000000000L\n\n// Keep-alive messages are sent no sooner than a second after the last message was sent down a particular connection.\n#define RAS_KEEPALIVE_INTERVAL (1*CLOCK_UNITS_PER_SEC*ncclParamRasTimeoutFactor())\n\n// If no message arrives in 5 seconds via a particular connection that uses keep-alive messages, generate a warning\n// and try alternative connections.\n#define RAS_KEEPALIVE_TIMEOUT_WARN (5*CLOCK_UNITS_PER_SEC*ncclParamRasTimeoutFactor())\n\n// Abort a socket that uses keep-alive messages if no message arrives in 20 seconds.\n// We will try to re-establish communication via that connection (until RAS_PEER_DEAD_TIMEOUT).\n#define RAS_KEEPALIVE_TIMEOUT_ERROR RAS_STUCK_TIMEOUT\n\n// Retry connecting on failing sockets (ECONNREFUSED, etc.) once a second.\n#define RAS_CONNECT_RETRY (1*CLOCK_UNITS_PER_SEC*ncclParamRasTimeoutFactor())\n\n// If we can't connect in 5 seconds, we generate a warning and try alternative connections.\n#define RAS_CONNECT_WARN RAS_KEEPALIVE_TIMEOUT_WARN\n\n// Abort a busy socket (one we are trying to send on, or one that was being established) if there's been\n// no sign of progress in 20 second.  We will try to re-establish communication (up to RAS_PEER_DEAD_TIMEOUT).\n#define RAS_STUCK_TIMEOUT (20*CLOCK_UNITS_PER_SEC*ncclParamRasTimeoutFactor())\n\n// Terminate ad-hoc connections that have not been used in 60 seconds.\n#define RAS_IDLE_TIMEOUT (60*CLOCK_UNITS_PER_SEC*ncclParamRasTimeoutFactor())\n\n// If the socket is closed by peer within 5 seconds from the idle timeout, do not attempt to re-establish.\n#define RAS_IDLE_GRACE_PERIOD (5*CLOCK_UNITS_PER_SEC*ncclParamRasTimeoutFactor())\n\n// Declare a peer as dead and don't retry communicating with it if we couldn't reach it for 60 seconds.\n#define RAS_PEER_DEAD_TIMEOUT (60*CLOCK_UNITS_PER_SEC*ncclParamRasTimeoutFactor())\n\n// Abort a leg of a collective operation if the response takes more than 5 seconds to arrive *and* one of the\n// connections experiences delays.\n#define RAS_COLLECTIVE_LEG_TIMEOUT (RAS_COLLECTIVE_LEG_TIMEOUT_SEC*CLOCK_UNITS_PER_SEC*ncclParamRasTimeoutFactor())\n\n// Abort a whole collective operation after at most RAS_COLLECTIVE_LEG_TIMEOUT+RAS_COLLECTIVE_EXTRA_TIMEOUT (10s).\n#define RAS_COLLECTIVE_EXTRA_TIMEOUT (RAS_COLLECTIVE_EXTRA_TIMEOUT_SEC*CLOCK_UNITS_PER_SEC*ncclParamRasTimeoutFactor())\n\n// Structure used for tracking the progress of sending a RAS message.\nstruct rasMsgMeta {\n  struct rasMsgMeta* next;\n  int64_t enqueueTime;\n  int offset; // Progress sending the message (including the message size itself (an int, which is sent first)).\n  int length; // Length of the message (*excluding* the message size).\n  struct rasMsg msg; // Variable length.\n};\n\n// Describes an ongoing collective RAS operation (apart from broadcasts, which don't need a response).\n// For every collective operation, each participating RAS thread will create its own.\nstruct rasCollective {\n  struct rasCollective* next;\n  struct rasCollective* prev;\n\n  union ncclSocketAddress rootAddr;\n  uint64_t rootId;\n\n  rasCollectiveType type;\n\n  int64_t timeout;\n  bool timeoutWarned;\n\n  int64_t startTime; // For timeout calculations.\n  struct rasConnection* fromConn; // The connection we received the request from.\n\n  struct rasConnection** fwdConns; // Connections we forwarded the request to; replaced by nullptr's as the\n                                   // responses arrive.\n  int nFwdSent; // Count of the above (local process only).\n  int nFwdRecv; // Count of the responses received or timeouts (local process only).\n\n  int nLegTimeouts; // Collective (from this process and the responses we received).\n\n  union ncclSocketAddress* peers; // Collective (from this process and the responses we received).  Unsorted.\n  int nPeers;\n\n  char* data; // Collective (from this process and the responses we received).\n  int nData;\n};\n\n// Collective data in RAS_COLL_CONNS responses.\nstruct rasCollConns {\n  int64_t travelTimeMin;\n  int64_t travelTimeMax;\n  int64_t travelTimeSum;\n  int64_t travelTimeCount;\n  int nConns;\n  int nNegativeMins;\n  struct negativeMin {\n    union ncclSocketAddress source;\n    union ncclSocketAddress dest;\n    int64_t travelTimeMin;\n  } negativeMins[0]; // Variable length.\n};\n\n// Collective data in RAS_COLL_COMMS responses.\nstruct rasCollComms {\n  int nComms;\n  struct comm {\n    struct rasCommId commId;\n    int commNRanks; // >= nRanks + nMissingRanks\n    int nRanks; // Number of elements in the ranks array below, *not* in the communicator.\n    int nMissingRanks; // Number of elements in the missingRanks array below.\n    struct rank {\n      int commRank;\n      int peerIdx; // Index within rasCollective->peers, *not* rasPeers.\n      uint64_t collOpCounts[NCCL_NUM_FUNCTIONS];\n      struct {\n        ncclResult_t initState:4;\n        ncclResult_t asyncError:4;\n        bool finalizeCalled:1;\n        bool destroyFlag:1;\n        bool abortFlag:1;\n      } status;\n      char cudaDev;\n      char nvmlDev;\n    } ranks[0]; // Variable length. Sorted by commRank.  Optimized for 1 GPU/process.\n    // The ranks array is followed by:\n    // struct rasCollCommsMissingRank missingRanks[0]; // Variable length.  Sorted by commRank.\n  } comms[0]; // Variable length.  Sorted by commId.\n};\n\n// Provides info about missing ranks.  An array of these structures can be part of struct rasCollComms above.\n// Because the arrays are of variable length, we can't describe them in C.  To ensure that adding\n// rasCollCommsMissingRank structures doesn't mess up the alignment, we explicitly request one.\nstruct alignas(struct rasCollComms) rasCollCommsMissingRank {\n  int commRank;\n  union ncclSocketAddress addr;\n  // We don't need pid here as we can look it up in rasPeers via addr.\n  char cudaDev;\n  char nvmlDev;\n};\n\n// Holds data needed to keep track of a connection belonging to a RAS network link (either the primary one\n// or one of the fallbacks).\nstruct rasLinkConn {\n  struct rasLinkConn* next;\n  int peerIdx; // Index in the rasPeers array of the peer this entry describes.  Could be -1 (an entry initiated\n               // by an as of yet unknown peer -- should be a temporary situation that resolves via peer updates).\n  struct rasConnection* conn; // The connection to the above peer.  Could be nullptr (a placeholder for a connection\n                              // to be started by the remote peer).\n  bool external; // true if the entry exists only due to an external request (requested by a remote peer, most\n                 // likely as part of fault recovery).  Such connections are kept as fallbacks even if there's a\n                 // valid primary connection, in order to ensure that keep-alive messages are sent.\n};\n\n// Describes a link that forms the backbone of the RAS network.  Links focus on direction (previous/next in\n// case of 1-D topology) rather than a particular destination.  They are implemented using rasConnections, but\n// they are persistent through the life of the RAS threads, whereas rasConnections can be terminated if the RAS\n// network is reconfigured or a peer dies.\nstruct rasLink {\n  int direction; // 1 for nextLink, -1 for prevLink.\n\n  // First element is the primary connection; any additional ones are fallbacks (that get created if we are having\n  // problems with the primary connection).  The highest-preference elements come first; the list is de-facto sorted\n  // by peerIdx, though peerIdx values can wrap around (given the ring/torus topology) and they can also be -1\n  // (the latter are stored at the end).\n  struct rasLinkConn* conns;\n\n  // Keep track of a timeout in case we did not create a connection during the last peers update (because we expect\n  // the peer on the other side to do so) but that peer failed to initiate.\n  int64_t lastUpdatePeersTime;\n};\n\n// Describes a connection to another peer on the RAS network.  It is meant to be more persistent than a volatile\n// socket (described by the rasSocket structure), which can be affected by transient network issues.\nstruct rasConnection {\n  struct rasConnection* next;\n  struct rasConnection* prev;\n\n  union ncclSocketAddress addr;\n\n  // Pointer to the current rasSocket.  Note that multiple rasSocket entries may point back\n  // to a single entry here, for sockets that are in the process of being terminated and re-established.\n  // nullptr if there is no such socket.\n  struct rasSocket* sock;\n\n  // We keep the rasPeersHash of remote connections to minimize the number of needless exchanges.\n  // There is a subtle difference in the meaning of lastSentPeersHash and lastRecvPeersHash.\n  // lastSentPeersHash stores *our* rasPeersHash from the time we last sent a peers *update* through this connection\n  // (which is different than sending just the hash, like we do in KEEPALIVE, etc.).\n  // lastRecvPeersHash stores the latest known rasPeersHash of the peer (received via KEEPALIVE, etc.).\n  uint64_t lastSentPeersHash;\n  uint64_t lastRecvPeersHash;\n\n  // Same but for rasDeadPeersHash.\n  uint64_t lastSentDeadPeersHash;\n  uint64_t lastRecvDeadPeersHash;\n\n  // Queue of messages to send.\n  struct ncclIntruQueue<struct rasMsgMeta, &rasMsgMeta::next> sendQ;\n\n  // Used for keeping track of timeouts that may extend beyond the lifetime of a socket.\n  // The timeout starts when the connection is being created (and is turned off when the initialization is completed\n  // successfully) or when we detect a problem, such as a socket timeout (in the latter case, we may need to\n  // retroactively calculate the start time).\n  // A value of 0 indicates that they are not currently in use.\n  int64_t startRetryTime;\n  int64_t lastRetryTime;\n\n  bool experiencingDelays; // A flag indicating that the connection is currently subject to RAS_KEEPALIVE_TIMEOUT_WARN\n                           // or RAS_CONNECT_WARN timeout.  If set, the warnings have been issued and the fallbacks\n                           // have been initiated if needed.\n  bool linkFlag; // Used within rasNet* calls to mark whether this connection was already handled when iterating over\n                 // multiple links (since a connection can belong to more than one link).\n  // The below four fields are for statistical purposes only.\n  int64_t travelTimeMin;\n  int64_t travelTimeMax;\n  int64_t travelTimeSum;\n  int64_t travelTimeCount;\n};\n\n// Status of a RAS socket.\ntypedef enum {\n  RAS_SOCK_CLOSED = 0,\n  RAS_SOCK_CONNECTING = 1,\n  RAS_SOCK_HANDSHAKE = 2,\n  RAS_SOCK_READY = 3,\n  RAS_SOCK_TERMINATING = 4\n} rasSocketStatus;\n\n// Describes a socket implementing communication between two peers.\nstruct rasSocket {\n  struct rasSocket* next;\n  struct rasSocket* prev;\n\n  struct ncclSocket sock;\n\n  rasSocketStatus status;\n\n  int pfd; // Index in the rasPfds array.\n\n  // Pointer to the corresponding entry in the rasConns array.\n  // nullptr if there is no connection (a normal condition on the accept side before the connInit message).\n  struct rasConnection* conn;\n\n  int64_t createTime;\n  int64_t lastSendTime;\n  int64_t lastRecvTime;\n\n  // Data on the message currently being received.\n  int recvOffset;\n  int recvLength;\n  struct rasMsg* recvMsg;\n};\n\n// Status of a RAS client.\ntypedef enum {\n  RAS_CLIENT_CLOSED = 0,\n  RAS_CLIENT_CONNECTED = 1,\n  RAS_CLIENT_INIT = 2,\n  RAS_CLIENT_CONNS = 3,\n  RAS_CLIENT_COMMS = 4,\n  RAS_CLIENT_FINISHED = 99\n} rasClientStatus;\n\n// Describes a RAS client.\nstruct rasClient {\n  struct rasClient* next;\n  struct rasClient* prev;\n\n  int sock; // File descriptor\n\n  rasClientStatus status;\n\n  int pfd; // Index in the rasPfds array.\n\n  char recvBuffer[1024];\n  int recvOffset;\n\n  // Queue of messages to send.\n  struct ncclIntruQueue<struct rasMsgMeta, &rasMsgMeta::next> sendQ;\n\n  int verbose;\n  int64_t timeout;\n\n  // State stored during asynchronous operations such as collectives.\n  struct rasCollective* coll;\n};\n\n\n// ras.cc\nextern struct pollfd* rasPfds;\nextern struct ncclSocket rasNetListeningSocket;\nextern std::mutex ncclCommsMutex;\nextern struct ncclComm** ncclComms;\nextern int nNcclComms;\nextern  bool ncclCommsSorted;\nextern char rasLine[SOCKET_NAME_MAXLEN+1];\n\nint64_t ncclParamRasTimeoutFactor();\nncclResult_t rasMsgAlloc(struct rasMsg** msg, size_t msgLen);\nvoid rasMsgFree(struct rasMsg* msg);\nvoid rasConnEnqueueMsg(struct rasConnection* conn, struct rasMsg* msg, size_t msgLen, bool front = false);\nncclResult_t rasConnSendMsg(struct rasConnection* conn, int* closed, bool* allSent);\nncclResult_t rasMsgRecv(struct rasSocket* sock, struct rasMsg** msg, int* closed);\nncclResult_t rasMsgHandle(struct rasMsg* msg, struct rasSocket* sock);\nvoid rasMsgHandleBCDeadPeer(struct rasCollRequest** pReq, size_t* pReqLen, bool* pDone);\nncclResult_t rasGetNewPollEntry(int* index);\n\n\n// rasnet.cc\nextern struct rasLink rasNextLink, rasPrevLink;\nextern struct rasConnection* rasConnsHead;\nextern struct rasConnection* rasConnsTail;\nextern struct rasSocket *rasSocketsHead;\nextern struct rasSocket *rasSocketsTail;\n\nncclResult_t getNewConnEntry(struct rasConnection** pConn);\nncclResult_t rasConnCreate(const union ncclSocketAddress* addr, struct rasConnection** pConn);\nstruct rasConnection* rasConnFind(const union ncclSocketAddress* addr);\nvoid rasConnsHandleTimeouts(int64_t now, int64_t* nextWakeup);\nvoid rasConnDisconnect(const union ncclSocketAddress* addr);\nncclResult_t rasNetAcceptNewSocket();\nvoid rasSocksHandleTimeouts(int64_t now, int64_t* nextWakeup);\nvoid rasSocketTerminate(struct rasSocket* sock, bool finalize = false, uint64_t startRetryOffset = 0,\n                        bool retry = true);\nvoid rasSockEventLoop(struct rasSocket* sock, int pollIdx);\nvoid rasNetHandleTimeouts(int64_t now, int64_t* nextWakeup);\nncclResult_t rasMsgHandleKeepAlive(const struct rasMsg* msg, struct rasSocket* sock);\nncclResult_t rasLinkAddFallback(struct rasLink* link, const struct rasConnection* conn);\nncclResult_t rasLinkConnUpdate(struct rasLink* link, struct rasConnection* conn, int peerIdx);\nvoid rasNetTerminate();\n\n\n// peers.cc\nextern struct rasPeerInfo* rasPeers;\nextern int nRasPeers;\nextern uint64_t rasPeersHash;\nextern union ncclSocketAddress* rasDeadPeers;\nextern int nRasDeadPeers;\nextern uint64_t rasDeadPeersHash;\n\nncclResult_t rasLocalHandleAddRanks(struct rasRankInit* ranks, int nranks);\nint rasPeerFind(const union ncclSocketAddress* addr);\nncclResult_t rasConnSendPeersUpdate(struct rasConnection* conn, const struct rasPeerInfo* peers, int nPeers);\nncclResult_t rasMsgHandlePeersUpdate(struct rasMsg* msg, struct rasSocket* sock);\nint rasLinkCalculatePeer(const struct rasLink* link, int peerIdx, bool isFallback = false);\nncclResult_t rasPeerDeclareDead(const union ncclSocketAddress* addr);\nbool rasPeerIsDead(const union ncclSocketAddress* addr);\nint ncclSocketsCompare(const void* p1, const void* p2);\nbool ncclSocketsSameNode(const union ncclSocketAddress* a1, const union ncclSocketAddress* a2);\nvoid rasPeersTerminate();\n\n\n// collectives.cc\nextern struct rasCollective* rasCollectivesHead;\nextern struct rasCollective* rasCollectivesTail;\n\nvoid rasCollReqInit(struct rasCollRequest* req);\nncclResult_t rasNetSendCollReq(const struct rasCollRequest* req, bool* pAllDone = nullptr,\n                               struct rasCollective** pColl = nullptr, struct rasConnection* fromConn = nullptr);\nncclResult_t rasMsgHandleCollReq(struct rasMsg* msg, struct rasSocket* sock);\nncclResult_t rasMsgHandleCollResp(struct rasMsg* msg, struct rasSocket* sock);\nvoid rasCollsPurgeConn(struct rasConnection* conn);\nvoid rasCollFree(struct rasCollective* coll);\nvoid rasCollsHandleTimeouts(int64_t now, int64_t* nextWakeup);\nvoid rasCollectivesTerminate();\n\n\n// client_support.cc\nextern int rasClientListeningSocket;\nextern struct rasClient* rasClientsHead;\nextern struct rasClient* rasClientsTail;\n\nncclResult_t rasClientInitSocket();\nncclResult_t rasClientAcceptNewSocket();\nncclResult_t rasClientResume(struct rasCollective* coll);\nvoid rasClientEventLoop(struct rasClient* client, int pollIdx);\nconst char* rasGpuDevsToString(uint64_t cudaDevs, uint64_t nvmlDevs, char* buf, size_t size);\nvoid rasClientSupportTerminate();\n\n#endif // !NCCL_RAS_CLIENT\n\n#endif // !NCCL_RAS_INTERNAL_H_\n"
  },
  {
    "path": "src/ras/rasnet.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#define NDEBUG // Comment out during development only!\n#include <cassert>\n\n#include \"ras_internal.h\"\n\n// Links forming the backbone of the RAS network (currently a ring).\nstruct rasLink rasNextLink = {1}, rasPrevLink = {-1};\n\n// Connections on the RAS network.\nstruct rasConnection* rasConnsHead;\nstruct rasConnection* rasConnsTail;\n\n// Sockets implementing the RAS network.\nstruct rasSocket *rasSocketsHead;\nstruct rasSocket *rasSocketsTail;\n\n// Magic file descriptor number when we want poll() to ignore an entry.  Anything negative would do, but\n// I didn't want to use -1 because it has a special meaning for us.\n#define POLL_FD_IGNORE -2\n\nstatic void freeConnEntry(struct rasConnection* conn);\nstatic void rasConnOpen(struct rasConnection* conn);\nstatic ncclResult_t rasConnPrepare(struct rasConnection* conn);\nstatic void rasConnTerminate(struct rasConnection* conn);\n\nstatic ncclResult_t getNewSockEntry(struct rasSocket** pSock);\nstatic void freeSockEntry(struct rasSocket* sock);\n\nstatic ncclResult_t rasLinkHandleNetTimeouts(struct rasLink* link, int64_t now, int64_t* nextWakeup);\nstatic void rasConnHandleNetTimeouts(struct rasConnection* conn, int64_t now, int64_t* nextWakeup);\nstatic void rasConnSendKeepAlive(struct rasConnection* conn, bool nack = false);\n\nstatic void rasConnResume(struct rasConnection* conn);\nstatic void rasLinkSanitizeFallbacks(struct rasLink* link);\nstatic ncclResult_t rasLinkConnAdd(struct rasLink* link, struct rasConnection* conn, int peerIdx, bool pretend = false,\n                                   int* pLinkIdx = nullptr, struct rasLinkConn** pLinkConn = nullptr,\n                                   bool insert = true);\nstatic ncclResult_t rasLinkConnAddExternal(struct rasLink* link, struct rasConnection* conn, int peerIdx);\nstatic void rasLinkConnDrop(struct rasLink* link, const struct rasConnection* conn, bool external = false);\nstatic struct rasLinkConn* rasLinkConnFind(const struct rasLink* link, const struct rasConnection* conn,\n                                           int* pLinkIdx = nullptr);\n\n\n///////////////////////////////////////////////\n// Functions related to the RAS connections. //\n///////////////////////////////////////////////\n\n// Allocates a new entry in the rasConnections list.\nncclResult_t getNewConnEntry(struct rasConnection** pConn) {\n  struct rasConnection* conn;\n\n  NCCLCHECK(ncclCalloc(&conn, 1));\n\n  ncclIntruQueueConstruct(&conn->sendQ);\n  conn->travelTimeMin = INT64_MAX;\n  conn->travelTimeMax = INT64_MIN;\n\n  if (rasConnsHead) {\n    rasConnsTail->next = conn;\n    conn->prev = rasConnsTail;\n    rasConnsTail = conn;\n  } else {\n    rasConnsHead = rasConnsTail = conn;\n  }\n\n  *pConn = conn;\n  return ncclSuccess;\n}\n\n// Frees an entry from the rasConns list.\nstatic void freeConnEntry(struct rasConnection* conn) {\n  if (conn == nullptr)\n    return;\n\n  if (conn == rasConnsHead)\n    rasConnsHead = rasConnsHead->next;\n  if (conn == rasConnsTail)\n    rasConnsTail = rasConnsTail->prev;\n  if (conn->prev)\n    conn->prev->next = conn->next;\n  if (conn->next)\n    conn->next->prev = conn->prev;\n  free(conn);\n}\n\n// Creates a new RAS network connection to a remote peer address.\nncclResult_t rasConnCreate(const union ncclSocketAddress* addr, struct rasConnection** pConn) {\n  ncclResult_t ret = ncclSuccess;\n  struct rasConnection* conn;\n\n  // First check if a connection entry for this peer already exists.\n  conn = rasConnFind(addr);\n\n  if (conn && conn->sock) {\n    // An entry exists and has a socket associated with it -- nothing left for us to do.\n    if (pConn)\n      *pConn = conn;\n    goto exit;\n  }\n\n  if (conn == nullptr) {\n    NCCLCHECKGOTO(getNewConnEntry(&conn), ret, exit);\n    memcpy(&conn->addr, addr, sizeof(conn->addr));\n    // We are establishing a new connection -- start the timeout.\n    conn->startRetryTime = clockNano();\n  }\n\n  if (pConn)\n    *pConn = conn;\n\n  rasConnOpen(conn);\n\nexit:\n  return ret;\n}\n\n// Opens a connection to a remote peer.\nstatic void rasConnOpen(struct rasConnection* conn) {\n  ncclResult_t ret; // Not used.\n  struct rasSocket* sock = nullptr;\n  bool closeSocketOnFail = false;\n  int ready;\n\n  NCCLCHECKGOTO(getNewSockEntry(&sock), ret, fail);\n  NCCLCHECKGOTO(ncclSocketInit(&sock->sock, &conn->addr, NCCL_SOCKET_MAGIC, ncclSocketTypeRasNetwork, nullptr,\n                               /*asyncFlag*/1, /*customRetry*/1), ret, fail);\n  closeSocketOnFail = true;\n  NCCLCHECKGOTO(ncclSocketConnect(&sock->sock), ret, fail);\n  NCCLCHECKGOTO(ncclSocketReady(&sock->sock, &ready), ret, fail);\n\n  NCCLCHECKGOTO(rasGetNewPollEntry(&sock->pfd), ret, fail);\n\n  conn->sock = sock;\n  sock->conn = conn;\n  rasPfds[sock->pfd].fd = sock->sock.fd;\n\n  // We ignore the possibly ready status of the socket at this point and consider it CONNECTING because\n  // there are other things we want to do before sending the CONNINIT, such as adding the connection to\n  // the network links, etc.\n  sock->status = RAS_SOCK_CONNECTING;\n  rasPfds[sock->pfd].events = (POLLIN | POLLOUT);\n  if (sock->sock.state == ncclSocketStateConnecting)\n    rasPfds[sock->pfd].fd = POLL_FD_IGNORE; // Don't poll on this socket before connect().\n\nexit:\n  conn->lastRetryTime = clockNano();\n  // We deliberately ignore ret as this function will be retried later if needed.\n  return;\nfail:\n  if (closeSocketOnFail)\n    (void)ncclSocketClose(&sock->sock);\n  freeSockEntry(sock);\n  goto exit;\n}\n\n// Sends an initial RAS message to the peer after connecting to it.\nstatic ncclResult_t rasConnPrepare(struct rasConnection* conn) {\n  struct rasMsg* msg = nullptr;\n  int msgLen = rasMsgLength(RAS_MSG_CONNINIT);\n\n  // The first message the RAS threads exchange provides the listening address of the connecting thread\n  // and the NCCL version to ensure that users aren't mixing things up.\n  NCCLCHECK(rasMsgAlloc(&msg, msgLen));\n  msg->type = RAS_MSG_CONNINIT;\n  msg->connInit.ncclVersion = NCCL_VERSION_CODE;\n  memcpy(&msg->connInit.listeningAddr, &rasNetListeningSocket.addr, sizeof(msg->connInit.listeningAddr));\n  msg->connInit.peersHash = rasPeersHash;\n  msg->connInit.deadPeersHash = rasDeadPeersHash;\n  // We don't update lastSent[Dead]PeersHash because we aren't actually sending the peers themselves here.\n\n  rasConnEnqueueMsg(conn, msg, msgLen, /*front*/true);\n\n  // We'll finish the initialization in rasMsgHandleConnInitAck, after the other side responds.\n  return ncclSuccess;\n}\n\n// Searches through rasConns for a connection with a provided address.\nstruct rasConnection* rasConnFind(const union ncclSocketAddress* addr) {\n  for (struct rasConnection* conn = rasConnsHead; conn; conn = conn->next) {\n    if (memcmp(&conn->addr, addr, sizeof(conn->addr)) == 0)\n      return conn;\n  }\n\n  return nullptr;\n}\n\n// Handles any connection-related timeouts.  Many timeouts affect the underlying sockets and thus have been handled\n// in the socket timeout handler earlier by terminating the problematic sockets.  If a socket connection doesn't\n// exist or needs to be re-established (due to having just been terminated), we handle that here.\n// This is also where we declare peers as dead, etc.\n// Invoked from the main RAS event loop.\nvoid rasConnsHandleTimeouts(int64_t now, int64_t* nextWakeup) {\n  for (struct rasConnection* conn = rasConnsHead; conn;) {\n    struct rasConnection* connNext = conn->next;\n    if (conn->sock) {\n      bool sockTerminated = false;\n\n      // Retry the socket connections that have been refused.\n      if (conn->sock->status == RAS_SOCK_CONNECTING && conn->sock->sock.state == ncclSocketStateConnecting) {\n        if (now - conn->sock->lastSendTime > RAS_CONNECT_RETRY) {\n          int ready;\n          if (ncclSocketReady(&conn->sock->sock, &ready) != ncclSuccess) {\n            INFO(NCCL_RAS, \"Unexpected error from ncclSocketReady; terminating the socket connection with %s\",\n                 ncclSocketToString(&conn->addr, rasLine));\n            rasSocketTerminate(conn->sock, /*finalize*/true);\n            // We will retry below in the same loop.\n            sockTerminated = true;\n          } else {\n            // We update lastSendTime even if !ready because we need it up-to-date for timeout calculations.\n            conn->sock->lastSendTime = clockNano();\n            if (!ready && conn->sock->sock.state == ncclSocketStateConnecting)\n              *nextWakeup = std::min(*nextWakeup, conn->sock->lastSendTime+RAS_CONNECT_RETRY);\n            else\n              rasPfds[conn->sock->pfd].fd = conn->sock->sock.fd; // Enable the handling via the main loop.\n          } // if (ncclSocketReady)\n        } else {\n          *nextWakeup = std::min(*nextWakeup, conn->sock->lastSendTime+RAS_CONNECT_RETRY);\n        }\n      } // if (conn->sock->status == RAS_SOCK_CONNECTING && conn->sock->sock.state == ncclSocketStateConnecting)\n\n      // For connections that have data to send but that we've been unable to send a message on for a while,\n      // consider their sockets lost and terminate them.\n      if (!sockTerminated && !ncclIntruQueueEmpty(&conn->sendQ) && conn->sock->status == RAS_SOCK_READY) {\n        if (now - std::max(conn->sock->lastSendTime,\n                           ncclIntruQueueHead(&conn->sendQ)->enqueueTime) > RAS_STUCK_TIMEOUT) {\n          INFO(NCCL_RAS, \"RAS send stuck timeout error (%lds) on socket connection with %s\",\n               (now - std::max(conn->sock->lastSendTime, ncclIntruQueueHead(&conn->sendQ)->enqueueTime)) /\n               CLOCK_UNITS_PER_SEC, ncclSocketToString(&conn->addr, rasLine));\n          rasSocketTerminate(conn->sock, /*finalize*/false, RAS_STUCK_TIMEOUT);\n          // We will retry below in the same loop.\n        } else {\n          *nextWakeup = std::min(*nextWakeup,\n                                 std::max(conn->sock->lastSendTime, ncclIntruQueueHead(&conn->sendQ)->enqueueTime)+\n                                 RAS_STUCK_TIMEOUT);\n        }\n      } // if (!ncclIntruQueueEmpty(&conn->sendQ) && conn->sock->status == RAS_SOCK_READY)\n    } // if (conn->sock)\n\n    // For connections that are being (re-)established, irrespective of whether there's a valid socket associated\n    // with them, we need to check if any connection-level timeout has expired.\n    if (conn->startRetryTime) {\n      bool connTerminated = false;\n      // If we've been trying to open a connection for too long (60s), give up and mark the peer as dead\n      // so that we don't try again.\n      if (now - conn->startRetryTime > RAS_PEER_DEAD_TIMEOUT) {\n        struct rasCollRequest bCast;\n        INFO(NCCL_RAS, \"RAS connect retry timeout (%lds) on socket connection with %s\",\n             (now-conn->startRetryTime)/CLOCK_UNITS_PER_SEC, ncclSocketToString(&conn->addr, rasLine));\n\n        // Broadcast the info about a dead peer to everybody.  This will handle it locally as well, including\n        // declaring the peer dead and terminating the connection.\n        rasCollReqInit(&bCast);\n        bCast.type = RAS_BC_DEADPEER;\n        memcpy(&bCast.deadPeer.addr, &conn->addr, sizeof(bCast.deadPeer.addr));\n        (void)rasNetSendCollReq(&bCast);\n\n        connTerminated = true;\n      } else {\n        *nextWakeup = std::min(*nextWakeup, conn->startRetryTime+RAS_PEER_DEAD_TIMEOUT);\n      }\n\n      // RAS_STUCK_TIMEOUT has already been handled in the socket function (we'll pick it up later via\n      // the conn->sock == nullptr test).\n\n      if (!connTerminated) {\n        // We print warnings after the same time as with keep-alive (5s), and we pessimistically immediately try\n        // to establish fallback connections.\n        if (now - conn->startRetryTime > RAS_CONNECT_WARN) {\n          if (!conn->experiencingDelays) {\n            INFO(NCCL_RAS, \"RAS connect timeout warning (%lds) on socket connection with %s\",\n                 (now-conn->startRetryTime) / CLOCK_UNITS_PER_SEC, ncclSocketToString(&conn->addr, rasLine));\n\n            // See if the connection was meant to be a part of a RAS link and if so, try to initiate fallback\n            // connection(s).  At this point, it's mostly just a precaution; we will continue trying to establish\n            // the primary connection until RAS_PEER_DEAD_TIMEOUT expires.\n            conn->experiencingDelays = true;\n            (void)rasLinkAddFallback(&rasNextLink, conn);\n            (void)rasLinkAddFallback(&rasPrevLink, conn);\n\n            // Stop collectives from waiting for a response over it.\n            rasCollsPurgeConn(conn);\n          } // if (!conn->experiencingDelays)\n        } else {\n          *nextWakeup = std::min(*nextWakeup, conn->startRetryTime+RAS_CONNECT_WARN);\n        }\n\n        // If a socket was terminated (or never opened, due to some error), try to open it now.\n        // We retry once a second.\n        if (conn->sock == nullptr) {\n          if (now - conn->lastRetryTime > RAS_CONNECT_RETRY) {\n            INFO(NCCL_RAS, \"RAS trying to reconnect with %s (experiencingDelays %d, startRetryTime %.2fs)\",\n                 ncclSocketToString(&conn->addr, rasLine), conn->experiencingDelays,\n                 (conn->startRetryTime ? (now-conn->startRetryTime)/1e9 : 0.0));\n            rasConnOpen(conn);\n          }\n          if (conn->sock == nullptr)\n            *nextWakeup = std::min(*nextWakeup, conn->lastRetryTime+RAS_CONNECT_RETRY);\n        }\n      } // if (!connTerminated)\n    } // if (conn->startRetryTime)\n\n    conn = connNext;\n  } // for (conn)\n}\n\n// Checks if we have a connection to a given peer and if so, terminates it.  The connection is removed from the\n// RAS links, though fallbacks are initiated if necessary.  Typically called just before declaring a peer dead.\nvoid rasConnDisconnect(const union ncclSocketAddress* addr) {\n  struct rasConnection* conn = rasConnFind(addr);\n  if (conn) {\n    (void)rasLinkAddFallback(&rasNextLink, conn);\n    (void)rasLinkAddFallback(&rasPrevLink, conn);\n    rasLinkConnDrop(&rasNextLink, conn);\n    rasLinkConnDrop(&rasPrevLink, conn);\n\n    rasConnTerminate(conn);\n  }\n}\n\n// Terminates a connection and frees the rasConns entry.\nstatic void rasConnTerminate(struct rasConnection* conn) {\n  // Make sure there are no lingering rasSockets pointing to it.\n  for (struct rasSocket* sock = rasSocketsHead; sock;) {\n    struct rasSocket* sockNext = sock->next;\n    if (sock->conn == conn)\n      rasSocketTerminate(sock, /*finalize*/true);\n    sock = sockNext;\n  }\n\n  // Also check any ongoing collectives.\n  rasCollsPurgeConn(conn);\n\n  while (struct rasMsgMeta* meta = ncclIntruQueueTryDequeue(&conn->sendQ)) {\n    free(meta);\n  }\n\n  INFO(NCCL_RAS, \"RAS terminating a connection with %s\", ncclSocketToString(&conn->addr, rasLine));\n\n  freeConnEntry(conn);\n}\n\n\n///////////////////////////////////////////\n// Functions related to the RAS sockets. //\n///////////////////////////////////////////\n\n// Accepts a new RAS network socket connection.  The socket is not usable until after the handshake, as a\n// corresponding rasConnection can't be established without knowing the peer's address.\nncclResult_t rasNetAcceptNewSocket() {\n  ncclResult_t ret = ncclSuccess;\n  struct rasSocket* sock = nullptr;\n  int ready;\n  bool socketInitialized = false;\n  NCCLCHECKGOTO(getNewSockEntry(&sock), ret, fail);\n\n  NCCLCHECKGOTO(ncclSocketInit(&sock->sock, nullptr, NCCL_SOCKET_MAGIC, ncclSocketTypeRasNetwork, nullptr,\n                               /*asyncFlag*/1), ret, fail);\n  socketInitialized = true;\n  NCCLCHECKGOTO(ncclSocketAccept(&sock->sock, &rasNetListeningSocket), ret, fail);\n  NCCLCHECKGOTO(ncclSocketReady(&sock->sock, &ready), ret, fail);\n\n  if (sock->sock.fd == -1)\n    goto fail; // We'll return ncclSuccess, but we need to clean up the incomplete socket first.\n\n  NCCLCHECKGOTO(rasGetNewPollEntry(&sock->pfd), ret, fail);\n  rasPfds[sock->pfd].fd = sock->sock.fd;\n  rasPfds[sock->pfd].events = POLLIN; // Initially we'll just wait for a handshake from the other side.  This also\n                                      // helps the code tell the sides apart.\n  sock->status = RAS_SOCK_CONNECTING;\n\n  INFO(NCCL_RAS, \"RAS new incoming socket connection from %s\", ncclSocketToString(&sock->sock.addr, rasLine));\n\nexit:\n  return ret;\nfail:\n  if (socketInitialized)\n    NCCLCHECK(ncclSocketClose(&sock->sock));\n  freeSockEntry(sock);\n  goto exit;\n}\n\n// Allocates a new entry in the rasSockets list.\nstatic ncclResult_t getNewSockEntry(struct rasSocket** pSock) {\n  struct rasSocket* sock;\n\n  NCCLCHECK(ncclCalloc(&sock, 1));\n\n  sock->pfd = -1;\n  sock->createTime = sock->lastSendTime = sock->lastRecvTime = clockNano();\n\n  if (rasSocketsHead) {\n    rasSocketsTail->next = sock;\n    sock->prev = rasSocketsTail;\n    rasSocketsTail = sock;\n  } else {\n    rasSocketsHead = rasSocketsTail = sock;\n  }\n\n  *pSock = sock;\n  return ncclSuccess;\n}\n\n// Frees an entry from the rasSockets list.\nstatic void freeSockEntry(struct rasSocket* sock) {\n  if (sock == nullptr)\n    return;\n\n  if (sock == rasSocketsHead)\n    rasSocketsHead = rasSocketsHead->next;\n  if (sock == rasSocketsTail)\n    rasSocketsTail = rasSocketsTail->prev;\n  if (sock->prev)\n    sock->prev->next = sock->next;\n  if (sock->next)\n    sock->next->prev = sock->prev;\n  free(sock);\n}\n\n// Invoked from the main RAS event loop to handle RAS socket timeouts.\nvoid rasSocksHandleTimeouts(int64_t now, int64_t* nextWakeup) {\n  for (struct rasSocket* sock = rasSocketsHead; sock;) {\n    struct rasSocket* sockNext = sock->next;\n\n    if (sock->status == RAS_SOCK_CONNECTING || sock->status == RAS_SOCK_HANDSHAKE) {\n      // For socket connections that are still being established, give up on the ones that take too long to initialize.\n      if (now - sock->createTime > RAS_STUCK_TIMEOUT) {\n        if (sock->conn == nullptr) {\n          INFO(NCCL_RAS, \"RAS init timeout error (%lds) on incoming socket connection from %s\",\n               (now-sock->createTime)/CLOCK_UNITS_PER_SEC, ncclSocketToString(&sock->sock.addr, rasLine));\n        } else {\n          INFO(NCCL_RAS, \"RAS init timeout error (%lds) on socket connection with %s \"\n               \"(experiencingDelays %d, startRetryTime %.2fs, socket status %d)\",\n               (now-sock->createTime)/CLOCK_UNITS_PER_SEC, ncclSocketToString(&sock->sock.addr, rasLine),\n               sock->conn->experiencingDelays,\n               (sock->conn->startRetryTime ? (now-sock->conn->startRetryTime)/1e9 : 0.0), sock->status);\n        }\n        rasSocketTerminate(sock, /*finalize*/true);\n        // We may retry later.\n      } else {\n        *nextWakeup = std::min(*nextWakeup, sock->createTime+RAS_STUCK_TIMEOUT);\n      }\n    } else if (sock->status == RAS_SOCK_TERMINATING) {\n      // For sockets that are being terminated, force finalization of the ones that haven't made progress in too long.\n      if (now - std::max(sock->lastSendTime, sock->lastRecvTime) > RAS_STUCK_TIMEOUT) {\n        INFO(NCCL_RAS, \"RAS termination stuck timeout error (%lds) on socket connection with %s\",\n             (now-std::max(sock->lastSendTime, sock->lastRecvTime)) / CLOCK_UNITS_PER_SEC,\n             ncclSocketToString(&sock->sock.addr, rasLine));\n        rasSocketTerminate(sock, /*finalize*/true);\n        // This socket is presumably already being re-established, if needed.\n      } else {\n        *nextWakeup = std::min(*nextWakeup, std::max(sock->lastSendTime, sock->lastRecvTime)+RAS_STUCK_TIMEOUT);\n      }\n    } else if (sock->status == RAS_SOCK_READY) {\n      // Terminate sockets that haven't been used in a good while.  In principle this shouldn't trigger for anything\n      // important due to shorter timeouts on RAS network connections, but in case of weird situations like process\n      // suspend, rasSocketTerminate will do additional checking.\n      if (now - std::max(sock->lastSendTime, sock->lastRecvTime) > RAS_IDLE_TIMEOUT) {\n        INFO(NCCL_RAS, \"RAS idle timeout (%lds) on socket connection with %s\",\n             (now - std::max(sock->lastSendTime, sock->lastRecvTime)) / CLOCK_UNITS_PER_SEC,\n             ncclSocketToString(&sock->sock.addr, rasLine));\n        rasSocketTerminate(sock, /*finalize*/false, /*startRetryOffset*/0, /*retry*/false);\n        // The RAS network timeout handler will terminate the conn it was associated with, if any.\n      } else {\n        *nextWakeup = std::min(*nextWakeup, std::max(sock->lastSendTime, sock->lastRecvTime)+RAS_IDLE_TIMEOUT);\n      }\n    } // if (sock->status == RAS_SOCK_READY)\n\n    sock = sockNext;\n  } // for (sock)\n}\n\n// Handles the termination of a RAS socket.\n// We try to do it in stages for established sockets (in READY state).  We shut down just the sending side\n// for them and change their state to TERMINATING, so that we can still receive data that may be in the buffers.\n// Once we get an EOF when receiving data, we finalize the termination.\n// For not fully established sockets, we can terminate immediately as there's no useful data to extract.\nvoid rasSocketTerminate(struct rasSocket* sock, bool finalize, uint64_t startRetryOffset, bool retry) {\n  if (sock->status == RAS_SOCK_CLOSED) {\n    INFO(NCCL_RAS, \"RAS socket in closed state passed for termination -- internal error?\");\n    // The code below can actually handle such a case gracefully.\n  }\n  if (sock->conn) {\n    struct rasConnection* conn = sock->conn;\n    // If the sock of the connection points back to us, it means that we are the current socket of this\n    // connection, so we have additional work to do before we can terminate it.\n    if (conn->sock == sock) {\n      // Reset it to indicate there's no valid socket associated with that connection anymore.\n      conn->sock = nullptr;\n\n      // Don't attempt to retry on sockets that have been unused for so long that the remote peer probably\n      // deliberately closed them.  Make an exception for sockets that are part of the RAS network links.\n      if ((retry &&\n           clockNano() - std::max(sock->lastSendTime, sock->lastRecvTime) < RAS_IDLE_TIMEOUT - RAS_IDLE_GRACE_PERIOD) ||\n          rasLinkConnFind(&rasNextLink, sock->conn) || rasLinkConnFind(&rasPrevLink, sock->conn)) {\n        // For connections that were fine until now, the connection-level timeout starts at termination, and possibly\n        // even earlier, depending on what event trigerred the termination -- if it was another timeout expiring, then\n        // we need to include that timeout as well.\n        if (conn->startRetryTime == 0) {\n          conn->startRetryTime = conn->lastRetryTime = clockNano() - startRetryOffset;\n        }\n\n        // We also filter through the sendQ, eliminating any messages that won't need to be sent when the socket\n        // connection is re-established (that's essentially the server init and keep-alives).\n        // As ncclIntruQueue can't be iterated, we transfer the content in bulk to a temporary and then filter the\n        // messages as we move them back one-by-one.\n        struct ncclIntruQueue<struct rasMsgMeta, &rasMsgMeta::next> sendQTmp;\n        ncclIntruQueueConstruct(&sendQTmp);\n        ncclIntruQueueTransfer(&sendQTmp, &conn->sendQ);\n        while (struct rasMsgMeta* meta = ncclIntruQueueTryDequeue(&sendQTmp)) {\n          if (meta->msg.type != RAS_MSG_CONNINIT && meta->msg.type != RAS_MSG_CONNINITACK &&\n              meta->msg.type != RAS_MSG_KEEPALIVE) {\n            if (meta->offset != 0) {\n              // Reset the progress of any partially-sent messages (they will need to be resent from the beginning;\n              // in principle that could apply to the first message only).\n              meta->offset = 0;\n            }\n            ncclIntruQueueEnqueue(&conn->sendQ, meta);\n          } else { // RAS_MSG_CONNINIT || RAS_MSG_CONNINITACK || RAS_MSG_KEEPALIVE\n            free(meta);\n          }\n        } // while (meta)\n      } // if (retry)\n\n      // Stop collectives from waiting for a response over this connection.\n      rasCollsPurgeConn(sock->conn);\n    } // if (conn->sock == sock)\n  } // if (sock->conn)\n\n  if (sock->status != RAS_SOCK_CONNECTING && sock->conn && !finalize && (rasPfds[sock->pfd].events & POLLIN)) {\n    if (sock->status != RAS_SOCK_TERMINATING) {\n      // The receiving side is still open -- close just the sending side.\n      (void)ncclSocketShutdown(&sock->sock, SHUT_WR);\n      rasPfds[sock->pfd].events &= ~POLLOUT; // Nothing more to send.\n      // The timeout for this socket starts ticking now...\n      sock->lastSendTime = clockNano();\n      sock->status = RAS_SOCK_TERMINATING;\n    }\n    // Else it must be in RAS_SOCK_TERMINATING state already -- in that case we do nothing here and instead\n    // we wait for an EOF on the receiving side or for a timeout.\n  } else {\n    // Either the caller requested finalization or we cannot receive on it.\n    (void)ncclSocketClose(&sock->sock);\n    if (sock->pfd != -1) {\n      rasPfds[sock->pfd].fd = -1;\n      rasPfds[sock->pfd].events = rasPfds[sock->pfd].revents = 0;\n    }\n    free(sock->recvMsg);\n    freeSockEntry(sock);\n  }\n}\n\n// Handles a ready socket FD from the main event loop.\nvoid rasSockEventLoop(struct rasSocket* sock, int pollIdx) {\n  if (sock->status == RAS_SOCK_CONNECTING) {\n    int ready;\n    // Socket is not yet fully established. Continue the OS or NCCL-level handshake.\n    if (ncclSocketReady(&sock->sock, &ready) != ncclSuccess) {\n      INFO(NCCL_RAS, \"RAS unexpected error from ncclSocketReady; terminating the socket connection with %s\",\n           ncclSocketToString(&sock->sock.addr, rasLine));\n      rasSocketTerminate(sock);\n      // We may retry further down.\n    } else {\n      if (ready) {\n        // We can tell the connect-side based on what events is set to.\n        bool connectSide = (rasPfds[pollIdx].events & POLLOUT);\n        (connectSide ? sock->lastSendTime : sock->lastRecvTime) = clockNano();\n        sock->status = RAS_SOCK_HANDSHAKE;\n        if (connectSide) {\n          assert(sock->conn);\n          if (sock->conn->sock == sock) {\n            if (rasConnPrepare(sock->conn) != ncclSuccess) {\n              INFO(NCCL_RAS, \"RAS unexpected error from rasConnPrepare; terminating the socket connection with %s\",\n                   ncclSocketToString(&sock->sock.addr, rasLine));\n              rasSocketTerminate(sock);\n              // We may retry further down.\n            }\n          } else { // sock->conn->sock != sock\n            // The connection this socket is associated with no longer considers it to be the current one.\n            // This could possibly happen due to a race condition.  Simply terminate it.\n            INFO(NCCL_RAS, \"RAS connected with %s via a socket that's no longer current!\",\n                 ncclSocketToString(&sock->sock.addr, rasLine));\n            rasSocketTerminate(sock);\n          }\n        } // if (connectSide)\n      } else { // !ready\n        if (sock->sock.state == ncclSocketStateConnecting)\n          rasPfds[sock->pfd].fd = POLL_FD_IGNORE; // Don't poll on this socket before connect().\n      }\n    } // if (ncclSocketReady)\n  } else { // RAS_SOCK_HANDSHAKE || RAS_SOCK_READY || RAS_SOCK_TERMINATING.\n    // The extra test for TERMINATING is there to take care of a race when the handling of one socket\n    // results in another socket being terminated, but one that already has revents waiting from poll.\n    if (sock->status != RAS_SOCK_TERMINATING && (rasPfds[pollIdx].revents & POLLOUT)) {\n      int closed = 0;\n      bool allSent = false;\n      assert(sock->conn);\n      assert(sock->conn->sock == sock);\n      if (rasConnSendMsg(sock->conn, &closed, &allSent) != ncclSuccess) {\n        INFO(NCCL_RAS, \"RAS unexpected error from rasConnSendMsg; terminating the socket connection with %s\",\n             ncclSocketToString(&sock->sock.addr, rasLine));\n        rasSocketTerminate(sock);\n        // We may retry further down.\n      } else if (closed) {\n        INFO(NCCL_RAS, \"RAS socket connection with %s closed by peer on send; terminating it\",\n             ncclSocketToString(&sock->sock.addr, rasLine));\n        rasSocketTerminate(sock);\n        // We may retry further down.\n      } else {\n        sock->lastSendTime = clockNano();\n        if (allSent)\n          rasPfds[sock->pfd].events &= ~POLLOUT; // Nothing more to send for now.\n      }\n    }\n    if (rasPfds[pollIdx].revents & POLLIN) {\n      struct rasMsg* msg;\n      do {\n        int closed = 0;\n        msg = nullptr;\n        if (rasMsgRecv(sock, &msg, &closed) != ncclSuccess) {\n          INFO(NCCL_RAS, \"RAS unexpected error from rasMsgRecv; terminating the socket connection with %s\",\n               ncclSocketToString(&sock->sock.addr, rasLine));\n          rasSocketTerminate(sock, /*finalize*/true);\n          // We may retry further down.\n        } else if (closed) {\n          const char* socketType;\n          if (sock->conn == nullptr)\n            socketType = \"incoming\";\n          else if (sock->conn->sock != sock)\n            socketType = \"old\";\n          else if (sock->status == RAS_SOCK_HANDSHAKE)\n            socketType = \"new\";\n          else\n            socketType = \"current\";\n          INFO(NCCL_RAS, \"RAS %s socket connection with %s closed by peer on receive; terminating it\",\n               socketType, ncclSocketToString(&sock->sock.addr, rasLine));\n          rasSocketTerminate(sock, /*finalize*/true);\n          // We may retry further down.\n        } else { // !closed\n          sock->lastRecvTime = clockNano();\n          if (msg) {\n            (void)rasMsgHandle(msg, sock);\n            free(msg);\n            // Message handlers can terminate a socket in various cases.  We re-check rasPfds.events to ensure that\n            // this hasn't happened here (rasSocketTerminate will reset it when finalizing a socket).\n            if (!(rasPfds[pollIdx].revents & POLLIN))\n              break;\n          }\n          if (sock->conn) {\n            if (sock->conn->sock == sock && (sock->conn->startRetryTime || sock->conn->experiencingDelays))\n              rasConnResume(sock->conn);\n          }\n        } // !closed\n      } while (msg);\n    } // if (POLLIN)\n  } // RAS_SOCK_HANDSHAKE || RAS_SOCK_READY || RAS_SOCK_TERMINATING\n}\n\n\n////////////////////////////////////////////////////////////////\n// Functions related to the handling of RAS network timeouts. //\n////////////////////////////////////////////////////////////////\n\n// Invoked from the main RAS event loop to handle RAS network timeouts.\nvoid rasNetHandleTimeouts(int64_t now, int64_t* nextWakeup) {\n  // A connection can belong to multiple links but, when it comes to various timeouts, we want to handle each\n  // connection just once.  We solve that with a simple flag within a connection.  This also allows us to distinguish\n  // connections that are part of a link from those that are not.\n  for (struct rasConnection* conn = rasConnsHead; conn; conn = conn->next)\n    conn->linkFlag = false;\n\n  (void)rasLinkHandleNetTimeouts(&rasNextLink, now, nextWakeup);\n  (void)rasLinkHandleNetTimeouts(&rasPrevLink, now, nextWakeup);\n\n  for (struct rasConnection* conn = rasConnsHead; conn;) {\n    struct rasConnection* connNext = conn->next;\n    if (!conn->linkFlag) {\n      // The connection is not part of any link.  Check if it should be terminated.\n      if (conn->sock == nullptr && ncclIntruQueueEmpty(&conn->sendQ))\n        rasConnTerminate(conn);\n    }\n    conn = connNext;\n  }\n}\n\n// Checks for and handles timeouts at the link level; primarily the keep-alives for link connections.\nstatic ncclResult_t rasLinkHandleNetTimeouts(struct rasLink* link, int64_t now, int64_t* nextWakeup) {\n  for (struct rasLinkConn* linkConn = link->conns; linkConn; linkConn = linkConn->next) {\n    if (linkConn->conn) {\n      if (!linkConn->conn->linkFlag) {\n        rasConnHandleNetTimeouts(linkConn->conn, now, nextWakeup);\n        linkConn->conn->linkFlag = true;\n      }\n    } else if (linkConn == link->conns && link->lastUpdatePeersTime != 0) {\n      // This triggers when rasLinkReinitConns didn't create the primary connection because we have a higher address\n      // than the peer.  If that peer fails to initiate within RAS_CONNECT_WARN, we need to take action.\n      if (now - link->lastUpdatePeersTime > RAS_CONNECT_WARN) {\n        INFO(NCCL_RAS, \"RAS peer connect timeout warning (%lds) on socket connection from %s\",\n             (now-link->lastUpdatePeersTime) / CLOCK_UNITS_PER_SEC,\n             ncclSocketToString(&rasPeers[linkConn->peerIdx].addr, rasLine));\n        NCCLCHECK(rasConnCreate(&rasPeers[linkConn->peerIdx].addr, &linkConn->conn));\n        if (linkConn->conn) {\n          linkConn->conn->linkFlag = true;\n        }\n        link->lastUpdatePeersTime = 0;\n      } else {\n        *nextWakeup = std::min(*nextWakeup, link->lastUpdatePeersTime+RAS_CONNECT_WARN);\n      }\n    } // if (linkConn == link->conns && link->lastUpdatePeerTime != 0)\n  } // for (linkConn)\n\n  return ncclSuccess;\n}\n\n// Handles the sending of keep-alive messages and related timeouts for connections that are part of the RAS links.\nstatic void rasConnHandleNetTimeouts(struct rasConnection* conn, int64_t now, int64_t* nextWakeup) {\n  if (conn->sock) {\n    if (conn->sock->status == RAS_SOCK_READY) {\n      // Send a regular keep-alive message if we haven't sent anything in a while and we don't have anything queued.\n      if (ncclIntruQueueEmpty(&conn->sendQ)) {\n        if (now - conn->sock->lastSendTime > RAS_KEEPALIVE_INTERVAL) {\n          rasConnSendKeepAlive(conn);\n        } else {\n          *nextWakeup = std::min(*nextWakeup, conn->sock->lastSendTime+RAS_KEEPALIVE_INTERVAL);\n        }\n      }\n\n      // For short timeouts print a warning but also pessimistically immediately try to establish fallback connections.\n      if (now - conn->sock->lastRecvTime > RAS_KEEPALIVE_TIMEOUT_WARN) {\n        if (!conn->experiencingDelays) {\n          INFO(NCCL_RAS, \"RAS keep-alive timeout warning (%lds) on socket connection with %s\",\n               (now-conn->sock->lastRecvTime) / CLOCK_UNITS_PER_SEC, ncclSocketToString(&conn->addr, rasLine));\n\n          // At this point, it's mostly just a precaution; we will continue with the primary connection until\n          // RAS_PEER_DEAD_TIMEOUT expires.\n          conn->experiencingDelays = true;\n          (void)rasLinkAddFallback(&rasNextLink, conn);\n          (void)rasLinkAddFallback(&rasPrevLink, conn);\n\n          // Stop ongoing collectives from waiting for a response over this connection.\n          rasCollsPurgeConn(conn);\n        }\n      } else {\n        *nextWakeup = std::min(*nextWakeup, conn->sock->lastRecvTime+RAS_KEEPALIVE_TIMEOUT_WARN);\n      }\n\n      // For long timeouts we need to act.\n      if (now - conn->sock->lastRecvTime > RAS_KEEPALIVE_TIMEOUT_ERROR) {\n        INFO(NCCL_RAS, \"RAS keep-alive timeout error (%lds) on socket connection with %s\",\n             (now-conn->sock->lastRecvTime) / CLOCK_UNITS_PER_SEC, ncclSocketToString(&conn->addr, rasLine));\n        rasSocketTerminate(conn->sock, /*finalize*/true, RAS_KEEPALIVE_TIMEOUT_ERROR);\n        *nextWakeup = now; // Retry will be in the next iteration of the main loop so ensure we don't wait.\n      } else {\n        *nextWakeup = std::min(*nextWakeup, conn->sock->lastRecvTime+RAS_KEEPALIVE_TIMEOUT_ERROR);\n      }\n    } // if (conn->sock->status == RAS_SOCK_READY)\n  } // if (conn->sock)\n}\n\n// Sends a keep-alive message to a peer on the RAS network.\nstatic void rasConnSendKeepAlive(struct rasConnection* conn, bool nack) {\n  struct rasMsg* msg = nullptr;\n  int msgLen = rasMsgLength(RAS_MSG_KEEPALIVE);\n  if (rasMsgAlloc(&msg, msgLen) == ncclSuccess) {\n    struct rasLinkConn* linkConn;\n    msg->type = RAS_MSG_KEEPALIVE;\n    msg->keepAlive.peersHash = rasPeersHash;\n    msg->keepAlive.deadPeersHash = rasDeadPeersHash;\n    msg->keepAlive.nack = (nack ? 1 : 0);\n\n    linkConn = rasLinkConnFind(&rasNextLink, conn);\n    if (linkConn && !linkConn->external)\n      msg->keepAlive.linkMask |= 2; // Our rasNextLink should be the peer's rasPrevLink.\n    linkConn = rasLinkConnFind(&rasPrevLink, conn);\n    if (linkConn && !linkConn->external)\n      msg->keepAlive.linkMask |= 1; // Our rasPrevLink should be the peer's rasNextLink.\n\n    (void)clock_gettime(CLOCK_REALTIME, &msg->keepAlive.realTime);\n\n    rasConnEnqueueMsg(conn, msg, msgLen);\n  }\n}\n\n// Handles incoming keep-alive messages.\nncclResult_t rasMsgHandleKeepAlive(const struct rasMsg* msg, struct rasSocket* sock) {\n  struct timespec currentTime;\n  int64_t travelTime;\n  int peerIdx;\n\n  assert(sock->conn);\n  SYSCHECK(clock_gettime(CLOCK_REALTIME, &currentTime), \"clock_gettime\");\n  travelTime = (currentTime.tv_sec-msg->keepAlive.realTime.tv_sec)*1000*1000*1000 +\n    (currentTime.tv_nsec-msg->keepAlive.realTime.tv_nsec);\n\n  if (msg->keepAlive.peersHash != sock->conn->lastRecvPeersHash) {\n    sock->conn->lastRecvPeersHash = msg->keepAlive.peersHash;\n  }\n  if (msg->keepAlive.deadPeersHash != sock->conn->lastRecvDeadPeersHash) {\n    sock->conn->lastRecvDeadPeersHash = msg->keepAlive.deadPeersHash;\n  }\n\n  // Make sure that the connection is part of the appropriate links forming the RAS network.  In particular, this\n  // will add any externally-requested connections to the appropriate links (or remove existing ones, if no longer\n  // needed).\n  peerIdx = rasPeerFind(&sock->conn->addr);\n  // Note: it's possible for peerIdx to be -1 at this point if, due to races, the keepAlive arrives before\n  // the peers update.\n  if (msg->keepAlive.linkMask & 1)\n    (void)rasLinkConnAddExternal(&rasNextLink, sock->conn, peerIdx);\n  else\n    rasLinkConnDrop(&rasNextLink, sock->conn, /*external*/true);\n  if (msg->keepAlive.linkMask & 2)\n    (void)rasLinkConnAddExternal(&rasPrevLink, sock->conn, peerIdx);\n  else\n    rasLinkConnDrop(&rasPrevLink, sock->conn, /*external*/true);\n\n  // If the keep-alive message is from a peer that doesn't actually need this connection (i.e., for that peer the\n  // connection is just an external fallback), we should check if *we* still need it.  It might be that we don't,\n  // and because we stopped sending the keep-alives, our peer doesn't know about it.  The rasLinkConnDrop calls\n  // above will have wiped any external fallbacks, so anything that remains must be needed.\n  if (!msg->keepAlive.nack && msg->keepAlive.linkMask == 0) {\n    if (rasLinkConnFind(&rasNextLink, sock->conn) == nullptr && rasLinkConnFind(&rasPrevLink, sock->conn) == nullptr) {\n      // We don't need this connection either.  Notify the peer about it.  To avoid an infinite loop, we set the\n      // special nack flag in the message to distinguish it from regular keep-alives.\n      rasConnSendKeepAlive(sock->conn, /*nack*/true);\n    }\n  }\n\n  if (sock->conn->travelTimeMin > travelTime)\n    sock->conn->travelTimeMin = travelTime;\n  if (sock->conn->travelTimeMax < travelTime)\n    sock->conn->travelTimeMax = travelTime;\n  sock->conn->travelTimeSum += travelTime;\n  sock->conn->travelTimeCount++;\n\n  if (msg->keepAlive.peersHash != rasPeersHash || msg->keepAlive.deadPeersHash != rasDeadPeersHash) {\n    // This could happen due to a short-lived race condition between the peers propagation\n    // process and the periodic keep-alive messages (perhaps we'll see it regularly at scale?).\n    // Just in case there's some unforeseen problem with the peers propagation though, exchange with the\n    // remote to get everybody in sync.\n    INFO(NCCL_RAS, \"RAS keepAlive hash mismatch from %s (peersHash 0x%lx, deadPeersHash 0x%lx)\",\n         ncclSocketToString(&sock->sock.addr, rasLine), msg->keepAlive.peersHash, msg->keepAlive.deadPeersHash);\n    INFO(NCCL_RAS, \"RAS my peersHash 0x%lx, deadPeersHash 0x%lx\", rasPeersHash, rasDeadPeersHash);\n    NCCLCHECK(rasConnSendPeersUpdate(sock->conn, rasPeers, nRasPeers));\n  }\n  return ncclSuccess;\n}\n\n\n///////////////////////////////////////////////////////////////////////////////\n// Functions related to the RAS links and recovery from connection failures. //\n///////////////////////////////////////////////////////////////////////////////\n\n// Checks if the connection (that we just detected some problem with) is part of the RAS link and if so,\n// tries to initiate a(nother) fallback connection if needed.\n// External connections are generally ignored by this whole process: in particular, we don't add fallbacks for\n// timing out external connections.  However, we will use an active external connection if it would be a better\n// option than whatever we can come up with.\nncclResult_t rasLinkAddFallback(struct rasLink* link, const struct rasConnection* conn) {\n  struct rasLinkConn* foundLinkConn = nullptr;\n  struct rasLinkConn* firstExtLinkConn = nullptr;\n  int firstExtLinkIdx = -1;\n  int newPeerIdx, i;\n\n  // First check if the connection is part of this link.  In the process also check if any of the link's connections\n  // might be active -- if so, there's no need to initiate any more fallbacks and we can bail out.\n  i = 0;\n  for (struct rasLinkConn* linkConn = link->conns; linkConn; linkConn = linkConn->next, i++) {\n    if (linkConn->peerIdx == -1) {\n      // Such elements are always at the end and we can't use them so we can just as well break.\n      break;\n    }\n\n    // Check for any other connection that might be a viable fallback (basically, anything that is not experiencing\n    // delays).\n    if (linkConn->conn && linkConn->conn != conn) {\n      if (!linkConn->conn->experiencingDelays) {\n        if (!linkConn->external) {\n          goto exit; // We don't need to do anything if there's a non-external connection.\n        } else if (linkConn->peerIdx != -1) {\n          // Record the location of the first potentially viable external connection in the chain; we may prefer it\n          // over anything we can come up with.\n          if (firstExtLinkConn == nullptr) {\n            firstExtLinkConn = linkConn;\n            firstExtLinkIdx = i;\n          }\n          if (foundLinkConn)\n            break; // Break out of the loop if we already have all the data we might need.\n        } // linkConn->external && linkConn->peerIdx != -1\n      } // if (!linkConn->conn->experiencingDelays)\n    } // if (linkConn->conn && linkConn->conn != conn)\n\n    if (linkConn->conn == conn) {\n      if (linkConn->external)\n        goto exit; // We don't add fallbacks for external connections...\n      foundLinkConn = linkConn;\n      // We are not breaking out of the loop here because we want to check for active connections on *all* potentially\n      // viable elements (in particular, there could be some external ones beyond this one).\n    }\n  }\n\n  if (foundLinkConn == nullptr)\n    goto exit;\n\n  // We found an existing element so the connection is part of the link.  No existing non-external connections of this\n  // link are active, so a fallback is needed.\n  assert(foundLinkConn->peerIdx != -1);\n  newPeerIdx = rasLinkCalculatePeer(link, foundLinkConn->peerIdx, /*isFallback*/(foundLinkConn != link->conns));\n  // In principle we want to add (at most) one fallback.  However, if the found fallback connection already exists\n  // and is also experiencing delays, we need to keep iterating.\n  while (newPeerIdx != -1) {\n    struct rasConnection* newConn = rasConnFind(&rasPeers[newPeerIdx].addr);\n    int linkIdx;\n    struct rasLinkConn* newLinkConn;\n    // If we previously found a potential external fallback connection, check if it's better than what we just found.\n    if (firstExtLinkConn) {\n      linkIdx = -1;\n      // Calculate the index that the newly found fallback would have (pretend mode).\n      NCCLCHECK(rasLinkConnAdd(link, newConn, newPeerIdx, /*pretend*/true, &linkIdx));\n      assert(linkIdx != -1);\n      if (firstExtLinkIdx < linkIdx) {\n        // The external connection *is* better -- use it as a fallback instead and be done.\n        firstExtLinkConn->external = false;\n        goto exit;\n      }\n    }\n    NCCLCHECK(rasLinkConnAdd(link, newConn, newPeerIdx, /*pretend*/false, &linkIdx, &newLinkConn));\n    if (firstExtLinkConn && linkIdx <= firstExtLinkIdx)\n      firstExtLinkIdx++; // Adjust if we inserted a new entry ahead of this one.\n\n    INFO(NCCL_RAS, \"RAS link %d: %s fallback connection %d with %s\",\n         link->direction, (newConn == nullptr ? \"opening new\" : \"calculated existing\"),\n         linkIdx, ncclSocketToString(&rasPeers[newPeerIdx].addr, rasLine));\n    // Note that we don't follow here our convention of \"lower address is the one establishing connections\" --\n    // that convention is for optimizing regular operations, but we don't want to take chances during fault\n    // recovery. It may temporarily result in duplicate connections, but we have a mechanism to deal with those.\n    if (newConn == nullptr) {\n      NCCLCHECK(rasConnCreate(&rasPeers[newPeerIdx].addr, &newConn));\n      newLinkConn->conn = newConn;\n    }\n\n    // If the fallback connection is also experiencing delays, we need to keep trying.\n    if (!newConn->experiencingDelays)\n      break;\n    INFO(NCCL_RAS, \"RAS connection experiencingDelays %d, startRetryTime %.2fs, socket status %d\",\n         newConn->experiencingDelays, (newConn->startRetryTime ? (clockNano()-newConn->startRetryTime)/1e9 : 0.0),\n         (newConn->sock ? newConn->sock->status : -1));\n\n    newPeerIdx = rasLinkCalculatePeer(link, newPeerIdx, /*isFallback*/true);\n  }\n  if (newPeerIdx == -1) {\n    int nConns = 0;\n    for (struct rasLinkConn* linkConn = link->conns; linkConn; linkConn = linkConn->next)\n      nConns++;\n    INFO(NCCL_RAS, \"RAS link %d: no more fallbacks to add (total %d)\", link->direction, nConns);\n  }\nexit:\n  return ncclSuccess;\n}\n\n// Invoked when we receive a message over a connection that was just activated or was experiencing delays.\n// Cleans up the fallbacks, timers, etc, as appropriate.\nstatic void rasConnResume(struct rasConnection* conn) {\n  if (conn->sock && conn->sock->status == RAS_SOCK_READY) {\n    INFO(NCCL_RAS, \"RAS %s connection with %s (sendQ %sempty, experiencingDelays %d, startRetryTime %.2fs)\",\n         (conn->experiencingDelays && conn->startRetryTime == 0 ? \"recovered\" : \"established\"),\n         ncclSocketToString(&conn->addr, rasLine), (ncclIntruQueueEmpty(&conn->sendQ) ? \"\" : \"not \"),\n         conn->experiencingDelays, (conn->startRetryTime ? (clockNano()-conn->startRetryTime)/1e9 : 0.0));\n\n    conn->experiencingDelays = false;\n\n    conn->startRetryTime = conn->lastRetryTime = 0;\n\n    rasLinkSanitizeFallbacks(&rasNextLink);\n    rasLinkSanitizeFallbacks(&rasPrevLink);\n\n    if (!ncclIntruQueueEmpty(&conn->sendQ))\n      rasPfds[conn->sock->pfd].events |= POLLOUT;\n  }\n}\n\n// Checks if the primary connection is fully established and if so, purges the fallbacks (as they are no longer needed).\nstatic void rasLinkSanitizeFallbacks(struct rasLink* link) {\n  if (link->conns && link->conns->conn) {\n    struct rasConnection* conn = link->conns->conn;\n    if (conn->sock && conn->sock->status == RAS_SOCK_READY && !conn->experiencingDelays) {\n      // We have a good primary.  Simply drop all the fallbacks (the external ones will get recreated via the\n      // keepAlive messages).\n      int i = 1;\n      for (struct rasLinkConn* linkConn = link->conns->next; linkConn; i++) {\n        struct rasLinkConn* linkConnNext = linkConn->next;\n        INFO(NCCL_RAS, \"RAS link %d: dropping %sfallback connection %d with %s\",\n             link->direction, (linkConn->external ? \"external \" : \"\"), i,\n             ncclSocketToString(&linkConn->conn->addr, rasLine));\n        free(linkConn);\n        linkConn = linkConnNext;\n      }\n      link->conns->next = nullptr;\n      link->lastUpdatePeersTime = 0;\n    }\n  }\n}\n\n// Adds an entry to a RAS network link (or updates one, if it already exists).\n// conn can be nullptr if the connection doesn't exist (yet).\n// peerIdx *cannot* be -1 when this function is invoked.\n// If pretend is true, the function will not modify the list and will just set *pLinkIdx and *pLinkConn as appropriate.\n// pLinkIdx and pLinkConn are (optional) pointers to the results; the index/address of the added/updated entry are\n// stored there.\n// insert (true by default) determines whether this is an \"add\" function (as implied by the name) or an \"update\" --\n// if set to false, it will refuse to add a new entry (but will update an existing one as needed).\n// Note: there is some code duplication between this function and rasLinkConnAddExternal so changes to one of them\n// may need to be sync'ed to the other one as well.  They used to be a single function that could do it all but the\n// logic was extremely difficult to follow then.\nstatic ncclResult_t rasLinkConnAdd(struct rasLink* link, struct rasConnection* conn, int peerIdx, bool pretend,\n                                   int* pLinkIdx, struct rasLinkConn** pLinkConn, bool insert) {\n  struct rasLinkConn* oldLinkConn = nullptr;\n  struct rasLinkConn* linkConnPrev = nullptr;\n  int i, oldLinkIdx = -1;\n\n  assert(peerIdx != -1);\n  if (conn) {\n    // Start by checking if we already have an element with this conn.\n    oldLinkConn = rasLinkConnFind(link, conn, &oldLinkIdx);\n    if (oldLinkConn) {\n      if (pLinkConn)\n        *pLinkConn = oldLinkConn;\n      if (oldLinkConn->peerIdx != -1) {\n        assert(oldLinkConn->peerIdx == peerIdx);\n\n        if (!pretend)\n          oldLinkConn->external = false; // Ensure that external is cleared.\n        if (pLinkIdx)\n          *pLinkIdx = oldLinkIdx;\n        goto exit; // Nothing more to do if both conn and peerIdx are up to date.\n      } // if (oldLinkConn->peerIdx != -1)\n\n      // Otherwise oldLinkConn->peerIdx == -1.  The oldLinkConn is in a wrong place in the list -- we need to find\n      // the right spot.  This can happen only for external connections.\n    } // if (oldLinkConn)\n  } // if (conn)\n\n  // Search for the right spot in the conns list.\n  i = 0;\n  for (struct rasLinkConn* linkConn = link->conns; linkConn; linkConnPrev = linkConn, linkConn = linkConn->next, i++) {\n    if (linkConn->peerIdx == peerIdx) {\n      // The exact linkConn element already exists.\n      if (linkConn->conn)\n        assert(linkConn->conn == conn);\n      if (!pretend) {\n        if (linkConn->conn == nullptr)\n          linkConn->conn = conn;\n        linkConn->external = false; // Ensure that external is cleared.\n        if (linkConn == link->conns) {\n          // We received a connection from the remote peer that matches the primary connection we've been\n          // waiting for.\n          rasLinkSanitizeFallbacks(link);\n        }\n      } // if (!pretend)\n      if (pLinkIdx)\n        *pLinkIdx = i;\n      if (pLinkConn)\n        *pLinkConn = linkConn;\n      goto exit;\n    } // if (linkConn->peerIdx == peerIdx)\n\n    // Ensure that the previous element is valid.\n    if (linkConnPrev == nullptr)\n      continue;\n    // linkConns with peerIdx == -1 are stored at the end, so if we reach one of them, we are done.\n    if (linkConn->peerIdx == -1)\n      break;\n    // Detect a roll-over and handle it specially.\n    if (link->direction * (linkConnPrev->peerIdx - linkConn->peerIdx) > 0) {\n      if (link->direction * (peerIdx - linkConnPrev->peerIdx) > 0 ||\n          link->direction * (peerIdx - linkConn->peerIdx) < 0)\n        break;\n    } else { // Regular, monotonic case with the peerIdx value between two existing elements.\n      if (link->direction * (peerIdx - linkConnPrev->peerIdx) > 0 &&\n          link->direction * (peerIdx - linkConn->peerIdx) < 0)\n        break;\n    }\n  } // for (linkConn)\n\n  // The new element should be inserted after linkConnPrev (which is at index i-1).\n  if (pLinkIdx)\n    *pLinkIdx = i;\n  if (pretend)\n    goto exit;\n\n  if (oldLinkConn) {\n    if (i != oldLinkIdx) {\n      // We already have the entry, but we need to move it to a new spot (which must be earlier in the list).\n      assert(i < oldLinkIdx);\n      // Remove oldLinkConn from its old spot.\n      for (struct rasLinkConn* linkConn = linkConnPrev; linkConn->next; linkConn = linkConn->next) {\n        if (linkConn->next == oldLinkConn) {\n          linkConn->next = oldLinkConn->next;\n          break;\n        }\n      } // for (linkConn)\n      // Insert it at its new spot.\n      oldLinkConn->next = linkConnPrev->next;\n      linkConnPrev->next = oldLinkConn;\n    } // if (i != oldLinkIdx)\n    oldLinkConn->peerIdx = peerIdx;\n    oldLinkConn->external = false;\n  } else if (insert) {\n    struct rasLinkConn* linkConn;\n    NCCLCHECK(ncclCalloc(&linkConn, 1));\n    if (linkConnPrev) {\n      linkConn->next = linkConnPrev->next;\n      linkConnPrev->next = linkConn;\n    } else {\n      assert(link->conns == nullptr); // We never add an element that would replace an existing primary.\n      link->conns = linkConn;\n      // linkConn->next is already nullptr.\n    }\n    linkConn->peerIdx = peerIdx;\n    linkConn->conn = conn;\n    linkConn->external = false;\n    if (pLinkConn)\n      *pLinkConn = linkConn;\n  } // oldLinkConn == nullptr && insert\n\nexit:\n  return ncclSuccess;\n}\n\n// Adds an external entry in a RAS network link (or updates one, if already exists).\n// conn *cannot* be nullptr when this function is invoked.\n// peerIdx can be -1 if unknown (possible in case of a race condition between keepAlive and peers update).\n// Note: there is some code duplication between this function and rasLinkConnAdd so changes to one of them\n// may need to be sync'ed to the other one as well.  They used to be a single function that could do it all but the\n// logic was extremely difficult to follow then.\nstatic ncclResult_t rasLinkConnAddExternal(struct rasLink* link, struct rasConnection* conn, int peerIdx) {\n  struct rasLinkConn* oldLinkConn = nullptr;\n  struct rasLinkConn* linkConnPrev = nullptr;\n  int i, oldLinkIdx = -1;\n\n  assert(conn);\n  oldLinkConn = rasLinkConnFind(link, conn, &oldLinkIdx);\n  if (oldLinkConn) {\n    if (oldLinkConn->peerIdx != -1)\n      assert(oldLinkConn->peerIdx == peerIdx);\n\n    if (oldLinkConn->peerIdx == peerIdx)\n      goto exit; // Nothing more to do if both conn and peerIdx are up to date.  Note that we neither check nor\n                 // update the value of external here.\n\n    // Otherwise (oldLinkConn->peerIdx == -1 && peerIdx != -1) oldLinkConn, due to its -1 peerIdx, is in\n    // a wrong place in the array -- we need to find the right spot.  oldLinkConn->peerIdx == -1 can only happen for\n    // external connections.\n  } // if (oldLinkConn)\n\n  // Search for the right spot in the conns list.\n  i = 0;\n  for (struct rasLinkConn* linkConn = link->conns; linkConn; linkConnPrev = linkConn, linkConn = linkConn->next, i++) {\n    if (peerIdx == -1) {\n      // We simply want to find the end of the list so that we can insert a new entry with -1 peerIdx there.\n      continue;\n    }\n    if (linkConn->peerIdx == peerIdx) {\n      // The exact linkConn element already exists.\n      if (linkConn->conn)\n        assert(linkConn->conn == conn);\n      if (linkConn->conn == nullptr)\n        linkConn->conn = conn;\n      if (linkConn == link->conns) {\n        // We received a connection from the remote peer that matches the primary connection we've been\n        // waiting for.  This shouldn't trigger for external connections (rasLinkConnUpdate should be invoked first,\n        // which will update the entry's conn, so rasLinkConnFind invoked at the top of this function should succeed),\n        // but better safe than sorry...\n        rasLinkSanitizeFallbacks(link);\n      }\n      goto exit;\n    } // if (linkConn->peerIdx == peerIdx)\n\n    // Ensure that the previous element is valid.\n    if (linkConnPrev == nullptr)\n      continue;\n    // linkConns with peerIdx == -1 are stored at the end, so if we reach one of them, we are done.\n    if (linkConn->peerIdx == -1)\n      break;\n    // Detect a roll-over and handle it specially.\n    if (link->direction * (linkConnPrev->peerIdx - linkConn->peerIdx) > 0) {\n      if (link->direction * (peerIdx - linkConnPrev->peerIdx) > 0 ||\n          link->direction * (peerIdx - linkConn->peerIdx) < 0)\n        break;\n    } else { // Regular, monotonic case with the peerIdx value between two existing elements.\n      if (link->direction * (peerIdx - linkConnPrev->peerIdx) > 0 &&\n          link->direction * (peerIdx - linkConn->peerIdx) < 0)\n        break;\n    }\n  } // for (linkConn)\n\n  // The new element should be inserted after linkConnPrev (which is at index i-1).\n  if (oldLinkConn) {\n    if (i != oldLinkIdx) {\n      // We already have the entry, but we need to move it to a new spot (which must be earlier in the list).\n      assert(i < oldLinkIdx);\n      INFO(NCCL_RAS, \"RAS link %d: moving %sfallback connection with %s from %d to %d\", link->direction,\n           (oldLinkConn->external ? \"external \" : \"\"), ncclSocketToString(&conn->addr, rasLine), oldLinkIdx, i);\n      // Remove oldLinkConn from its old spot.\n      for (struct rasLinkConn* linkConn = linkConnPrev; linkConn->next; linkConn = linkConn->next) {\n        if (linkConn->next == oldLinkConn) {\n          linkConn->next = oldLinkConn->next;\n          break;\n        }\n      } // for (linkConn)\n      // Insert it at its new spot.\n      oldLinkConn->next = linkConnPrev->next;\n      linkConnPrev->next = oldLinkConn;\n    } // if (i != oldLinkIdx)\n    oldLinkConn->peerIdx = peerIdx;\n    oldLinkConn->external = false;\n  } else { // oldLinkConn == nullptr\n    struct rasLinkConn* linkConn;\n    NCCLCHECK(ncclCalloc(&linkConn, 1));\n    if (linkConnPrev) {\n      INFO(NCCL_RAS, \"RAS link %d: adding external fallback connection %d with %s\", link->direction, i,\n           ncclSocketToString(&conn->addr, rasLine));\n      linkConn->next = linkConnPrev->next;\n      linkConnPrev->next = linkConn;\n      linkConn->external = true;\n    } else {\n      INFO(NCCL_RAS, \"RAS link %d: adding external fallback with %s as a new primary connection\", link->direction,\n           ncclSocketToString(&conn->addr, rasLine));\n      linkConn->next = link->conns;\n      link->conns = linkConn;\n      linkConn->external = false; // Primary connections are never external.\n    }\n    linkConn->peerIdx = peerIdx;\n    linkConn->conn = conn;\n  } // oldLinkConn == nullptr\n\nexit:\n  return ncclSuccess;\n}\n\n// Updates an existing entry in a RAS network link, if any.\n// Basically an easy-to-use variant of rasLinkConnAdd.\n// For this function, conn cannot be a nullptr and peerIdx cannot be -1.\nncclResult_t rasLinkConnUpdate(struct rasLink* link, struct rasConnection* conn, int peerIdx) {\n  assert(conn && peerIdx != -1);\n\n  NCCLCHECK(rasLinkConnAdd(link, conn, peerIdx, /*pretend*/false, /*pLinkIdx*/nullptr, /*pLinkConn*/nullptr,\n                           /*insert*/false));\n  return ncclSuccess;\n}\n\n// Attempts to drop a connection from a link.\n// If the optional external argument is true, it will drop a connection only if its external flag is set\n// (otherwise the flag is ignored and a connection is always dropped if found).\nstatic void rasLinkConnDrop(struct rasLink* link, const struct rasConnection* conn, bool external) {\n  struct rasLinkConn* linkConnPrev = nullptr;\n  int i = 0;\n  for (struct rasLinkConn* linkConn = link->conns; linkConn; linkConnPrev = linkConn, linkConn = linkConn->next, i++) {\n    if (linkConn->conn == conn && (!external || linkConn->external)) {\n      if (linkConnPrev) {\n        INFO(NCCL_RAS, \"RAS link %d: dropping %sfallback connection %d with %s\",\n             link->direction, (linkConn->external ? \"external \" : \"\"), i,\n             ncclSocketToString(&conn->addr, rasLine));\n        linkConnPrev->next = linkConn->next;\n        free(linkConn);\n      } else { // linkConnPrev == nullptr\n        INFO(NCCL_RAS, \"RAS link %d: dropping primary connection with %s\",\n             link->direction, ncclSocketToString(&conn->addr, rasLine));\n        if (linkConn->next) {\n          link->conns = linkConn->next;\n          // Ensure that the conn becoming the primary is not marked as external (we don't want to lose it if\n          // the remote peer loses interest in it).\n          link->conns->external = false;\n          if (link->conns->conn)\n            INFO(NCCL_RAS, \"RAS link %d: former fallback connection 1 with %s is the new primary\",\n                 link->direction, ncclSocketToString(&link->conns->conn->addr, rasLine));\n          rasLinkSanitizeFallbacks(link);\n          free(linkConn);\n        } else { // linkConn->next == nullptr\n          // We prefer the primary entry to always be present, even if empty.\n          linkConn->peerIdx = -1;\n          linkConn->conn = nullptr;\n        } // linkConn->next == nullptr\n      } // linkConnPrev == nullptr\n      break;\n    } // if (linkConn->conn == conn)\n  } // for (linkConn)\n}\n\n// Checks if a given connection is a member of this link and if so, returns its link entry.\n// Optionally returns the position of the connection in the conns list.\n// Returns nullptr if connection not found.\nstatic struct rasLinkConn* rasLinkConnFind(const struct rasLink* link, const struct rasConnection* conn,\n                                           int* pLinkIdx) {\n  int i = 0;\n  for (struct rasLinkConn* linkConn = link->conns; linkConn; linkConn = linkConn->next, i++) {\n    if (linkConn->conn == conn) {\n      if (pLinkIdx)\n        *pLinkIdx = i;\n      return linkConn;\n    }\n  }\n  if (pLinkIdx)\n    *pLinkIdx = -1;\n  return nullptr;\n}\n\n// Invoked during RAS termination to release all the allocated resources.\nvoid rasNetTerminate() {\n  for (struct rasLinkConn* linkConn = rasNextLink.conns; linkConn;) {\n    struct rasLinkConn* linkConnNext = linkConn->next;\n    free(linkConn);\n    linkConn = linkConnNext;\n  }\n  for (struct rasLinkConn* linkConn = rasPrevLink.conns; linkConn;) {\n    struct rasLinkConn* linkConnNext = linkConn->next;\n    free(linkConn);\n    linkConn = linkConnNext;\n  }\n  rasNextLink.conns = rasPrevLink.conns = nullptr;\n  rasNextLink.lastUpdatePeersTime = rasPrevLink.lastUpdatePeersTime = 0;\n\n  for (struct rasConnection* conn = rasConnsHead; conn;) {\n    struct rasConnection* connNext = conn->next;\n    rasConnTerminate(conn);\n    conn = connNext;\n  }\n  // rasConnsHead and rasConnsTail are taken care of by rasConnTerminate().\n\n  for (struct rasSocket* sock = rasSocketsHead; sock;) {\n    struct rasSocket* sockNext = sock->next;\n    rasSocketTerminate(sock);\n    sock = sockNext;\n  }\n  // rasSocketsHead and rasSocketsTail are taken care of by rasSocketTerminate().\n}\n"
  },
  {
    "path": "src/rccl_wrap.cc",
    "content": "/*\nCopyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#include \"rccl_common.h\"\n#include \"comm.h\"\n#include \"graph/topo.h\"\n#include \"enqueue.h\"\n#include <algorithm>\n#include \"debug.h\"\n\n#ifdef USE_AMDSMI\n#include \"amd_smi/amdsmi.h\"\n#else\n#include \"rocm_smi/rocm_smi.h\"\n#endif\n\n// Use this param to experiment pipelining new data types besides bfloat16\n// Make sure you generate the device code with the new data type (i.e. in generate.py)\nRCCL_PARAM(PipelineAllDTypes, \"PIPELINE_ALL_DATA_TYPES\", 0);\n\n// Use this to assess impact of pipelining on performance.\n// Otherwise, it is automatically set for certain archs, datatypes and reduction collectives\nRCCL_PARAM(disableReduceCopyPipelining, \"DISABLE_REDUCE_COPY_PIPELINING\", 0);\nRCCL_PARAM(DirectAllGatherThreshold, \"DIRECT_ALLGATHER_THRESHOLD\", 75497472);\nRCCL_PARAM(ThreadsPerBlock, \"THREADS_PER_BLOCK\", -1);\nRCCL_PARAM(UnrollFactor, \"UNROLL_FACTOR\", -1);\n#ifdef ENABLE_WARP_SPEED\nRCCL_PARAM(WarpSpeedCuCount, \"WARP_SPEED_CU_COUNT\", 0);\nRCCL_PARAM(WarpSpeedAutoMode, \"WARP_SPEED_AUTO\", 0);\nRCCL_PARAM(WarpSpeedEnable, \"WARP_SPEED_ENABLE\", 0);\n#endif\n#define RCCL_WARP_SPEED_MIN_BYTES (1ULL << 26) // 64 MB\n\nRCCL_PARAM(ReducedCuEnable, \"REDUCED_CU_ENABLE\", 0);\n\nvoid rcclRestrictMaxChannels(struct ncclComm* comm, int& nc ) {\n    if (comm->nNodes > 1 && IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\") && rcclParamReducedCuEnable() == 1)    {\n        nc = comm->nChannels = std::min(nc, 48);\n    }\n}\n\nstatic inline bool rcclCollSupportsRing(ncclFunc_t func) {\n  return (func == ncclFuncAllReduce ||\n          func == ncclFuncAllGather ||\n          func == ncclFuncReduceScatter ||\n          func == ncclFuncBroadcast ||\n          func == ncclFuncReduce);\n}\n\nint32_t rcclGetProtoForGfx12(ncclFunc_t collectiveFunc, size_t sizePerRank){\n  int returnVal = NCCL_PROTO_SIMPLE;\n  int SingleNodeLLCutoffs[] = {\n    /*ncclFuncBroadcast*/     1536,\n    /*ncclFuncReduce*/        8192,\n    /*ncclFuncAllGather*/     98304,\n    /*ncclFuncReduceScatter*/ 98304,\n    /*ncclFuncAllReduce*/     913532,\n    /*ncclFuncSendRecv*/      0,\n    /*ncclFuncSend*/          0,\n    /*ncclFuncRecv*/          0\n  };\n  if(collectiveFunc < sizeof(SingleNodeLLCutoffs)/sizeof(int)) {\n    returnVal = (sizePerRank <= SingleNodeLLCutoffs[collectiveFunc]) ? NCCL_PROTO_LL : NCCL_PROTO_SIMPLE;\n  }\n  return returnVal;\n}\n\nvoid rcclUpdateCollectiveProtocol(struct ncclComm* comm, size_t const& nBytes, struct ncclTaskColl* info) {\n  // Honor user input for protocol choice\n  static int userProtocolInput = -2;\n  size_t sizePerRank = rcclGetSizePerRank(info->func, nBytes, comm->nRanks);\n  if (userProtocolInput == -2) {\n    const char *protoStr = getenv(\"NCCL_PROTO\");\n    userProtocolInput = !protoStr ? 0 : 1;\n  }\n\n  if (!userProtocolInput && IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\") && comm->nNodes == 1 && (info->func == ncclFuncAllGather) && sizePerRank <= 88448) {\n    // Change LL protocol threshold\n    info->protocol = NCCL_PROTO_LL;\n  } else if (!userProtocolInput && IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\") && comm->nNodes == 1 && (info->func == ncclFuncReduceScatter) && sizePerRank <= 1048576) {\n    // Change LL protocol threshold\n    info->protocol = NCCL_PROTO_LL;\n  } else if (!userProtocolInput && IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") && comm->nNodes == 1 && (info->func == ncclFuncReduceScatter) && sizePerRank <= 352128) {\n    // Change LL protocol threshold\n    info->protocol = NCCL_PROTO_LL;\n  } else if (!userProtocolInput && IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx12\") && comm->nNodes == 1){\n    info->protocol = rcclGetProtoForGfx12( info->func,sizePerRank);\n  } else if(!userProtocolInput && comm->nNodes >= 2 && (info->func == ncclFuncReduceScatter || info->func == ncclFuncAllGather || info->func == ncclFuncAllReduce || info->func == ncclFuncBroadcast || info->func == ncclFuncReduce)) {\n    auto tunableIndex = rcclGetTunableIndex(info->func);\n    auto llMin = comm->minMaxLLRange[tunableIndex][NCCL_PROTO_LL][RCCL_PROTOCOL_MIN_IDX];\n    auto llMax = comm->minMaxLLRange[tunableIndex][NCCL_PROTO_LL][RCCL_PROTOCOL_MAX_IDX];\n\n    auto ll128Min = comm->minMaxLLRange[tunableIndex][NCCL_PROTO_LL128][RCCL_PROTOCOL_MIN_IDX];\n    auto ll128Max = comm->minMaxLLRange[tunableIndex][NCCL_PROTO_LL128][RCCL_PROTOCOL_MAX_IDX];\n\n    // Only override model choices if min/max cutoff points are set in the tuning models\n    if ((ll128Max != RCCL_LL_LIMITS_UNDEFINED) || (llMax != RCCL_LL_LIMITS_UNDEFINED)) {\n      // Keep it simple unless otherwise required\n      info->protocol = NCCL_PROTO_SIMPLE;\n      size_t sizePerRank = rcclGetSizePerRank(info->func, nBytes, comm->nRanks);\n      if (sizePerRank <= llMax && sizePerRank > llMin) {\n        info->protocol = NCCL_PROTO_LL;\n      }\n#if defined(ENABLE_LL128)\n      // When LL128 is performant, the next condition overrides the previous LL choice\n      if (comm->topo->ll128Enabled) {\n        if (info->func == ncclFuncAllReduce) {\n          if(comm->nNodes > 2) {\n            ll128Max *= 3.8; // Scale max message size for n > 2 since Tree has special behavior at 2 nodes\n          }\n          // ll128Max += (log2i(comm->nNodes) - 1) * comm->minMaxLLRange[tunableIndex][NCCL_PROTO_LL128][RCCL_PROTOCOL_FACTOR_IDX];\n        }\n        if (sizePerRank <= ll128Max && sizePerRank > ll128Min) {\n          info->protocol = NCCL_PROTO_LL128;\n        }\n      }\n#endif\n    } else if (IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") ||\n               IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\")) {\n      // Warn that model detection for the above listed architectures did not work as expected\n      // Add supported archs to this condition as they come\n      // Also make sure the tuning_model and model detection are updated for new archs\n      static bool failedWarn = false;\n      if (!failedWarn) {\n        WARN(\"LL cutoff points not detected for a supported arch %s\", comm->topo->nodes[GPU].nodes[0].gpu.gcn);\n        failedWarn = true;\n      }\n    }\n  }\n}\n\nncclResult_t rcclGetAlgoProtoIndex(const char *envStr, const char* algoProtoString[], int nEntries, int& result) {\n  if(envStr) {\n    for (int i = 0; i < nEntries; ++i) {\n      if (strcasecmp(envStr, algoProtoString[i]) == 0) {\n        result = i;\n        return ncclSuccess;\n      }\n    }\n    static bool failedProtoWarn = false;\n    if (!failedProtoWarn) {\n      WARN(\"Invalid algo or protocol string passed %s\", envStr);\n      failedProtoWarn = true;\n      return ncclInvalidUsage;\n    }\n  }\n  return ncclInvalidUsage;\n}\n\nextern int64_t ncclParamMinNchannels();\nextern int64_t ncclParamMaxNchannels();\nRCCL_PARAM(ChannelTuningEnable, \"CHANNEL_TUNING_ENABLE\", 1);\n\nncclResult_t rcclOverrideChannels(struct ncclComm* comm, ncclFunc_t coll, size_t nBytes, int& nc){\n  if(comm->nNodes < 2 || !rcclParamChannelTuningEnable()){\n    INFO(NCCL_TUNING, \"RCCL Channel Tuning not applied\");\n    return ncclSuccess;\n  }\n\n  auto tunableIndex = rcclGetTunableIndex(coll);\n  if(tunableIndex == RCCL_UNSUPPORTED_TUNABLE){\n    INFO(NCCL_TUNING, \"tunableIndex:%i not supported\", tunableIndex);\n    return ncclSuccess;\n  }\n\n  int minCTAs = comm->config.minCTAs;\n  int maxCTAs = comm->config.maxCTAs;\n  int minNChannels = ncclParamMinNchannels();\n  int maxNChannels = std::max(comm->nChannels, static_cast<int>(ncclParamMaxNchannels()));\n  size_t bytesPerRank = divUp(nBytes, comm->nRanks);\n\n  for(int channelCountIndex = 0; channelCountIndex < RCCL_CHANNELS_TUNABLE_ENTRIES; ++channelCountIndex){\n    size_t minByteThreshold = comm->minMaxChannelThresholds[tunableIndex][channelCountIndex][0];\n    size_t maxByteThreshold = comm->minMaxChannelThresholds[tunableIndex][channelCountIndex][1];\n    INFO(NCCL_TUNING, \"nBytes:%lu bytesPerRank:%lu minByteThreshold:%lu maxByteThreshold:%lu  NCCL_MIN_NCHANNELS:%i or NCCL_MAX_NCHANNELS:%i minCTAs:%i maxCTAs:%i\", nBytes, bytesPerRank, minByteThreshold, maxByteThreshold, minNChannels, maxNChannels, minCTAs, maxCTAs);\n    if(minByteThreshold == CHAN_THRESHOLDS_UNDEFINED || maxByteThreshold == CHAN_THRESHOLDS_UNDEFINED) {\n      INFO(NCCL_TUNING, \"RCCL tuning model does not define threshold for coll:%i and nbytes:%lu\", coll, nBytes);\n      break; // Skip undefined thresholds\n    }\n\n    if(bytesPerRank > minByteThreshold && bytesPerRank <= maxByteThreshold){\n      int channelCount = comm->minMaxChannelThresholds[tunableIndex][channelCountIndex][2];\n\n      //honor user's min/max channels defined through NCCL_MIN_NCHANNELS and NCCL_MAX_NCHANNELS\n      if(channelCount >= minNChannels && channelCount <= maxNChannels && channelCount >= minCTAs && channelCount <= maxCTAs){\n        nc = comm->minMaxChannelThresholds[tunableIndex][channelCountIndex][2];\n        INFO(NCCL_TUNING, \"RCCL tuning model overrides nchannels to %i, channels may be decreased further due to MinTrafficPerchannel thresholds\", channelCount);\n      }\n      else{\n        INFO(NCCL_TUNING, \"RCCL tuning model cannot override nchannels to %i due to conflicting NCCL_MIN_NCHANNELS:%i or NCCL_MAX_NCHANNELS:%i minCTAs:%i maxCTAs:%i\", channelCount, minNChannels, maxNChannels, minCTAs, maxCTAs);\n      }\n\n      break;\n    }\n\n  }\n#ifdef ENABLE_WARP_SPEED\n  // fallback to max 64 channels and tune warp speed channels later\n  nc = std::min(nc, 64);\n#endif\n  return ncclSuccess;\n}\n\nncclResult_t rcclOverrideProtocol(const char* ncclProtoStr[], float table[][NCCL_NUM_PROTOCOLS], struct ncclTaskColl* info) {\n  static const char* protoOverrideEnv = ncclGetEnv(\"RCCL_OVERRIDE_PROTO\");\n  static bool validInput = true;\n  if (!validInput) return ncclInvalidUsage;\n\n  if (protoOverrideEnv) {\n    static int protoVal = NCCL_PROTO_UNDEF;\n    if (protoVal == NCCL_PROTO_UNDEF) {\n      if (rcclGetAlgoProtoIndex(protoOverrideEnv, ncclProtoStr, NCCL_NUM_PROTOCOLS, protoVal) != ncclSuccess) {\n        validInput = false;\n        return ncclInvalidUsage;\n      }\n    }\n    if (protoVal > NCCL_PROTO_UNDEF) {\n      if (table[info->algorithm][protoVal] == NCCL_ALGO_PROTO_IGNORE) {\n        WARN(\"Failed to force unsupported protocol %s for function %s with datatype %s\", protoOverrideEnv, ncclFuncToString(info->func), ncclDatatypeToString(info->datatype));\n        return ncclInternalError;\n      } else {\n        info->protocol = protoVal;\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t rcclOverrideAlgorithm(const char* ncclAlgoStr[], float table[][NCCL_NUM_PROTOCOLS], struct ncclTaskColl* info) {\n  static const char* algoOverrideEnv = ncclGetEnv(\"RCCL_OVERRIDE_ALGO\");\n  static bool validInput = true;\n  if (!validInput) return ncclInvalidUsage;\n\n  if (algoOverrideEnv) {\n    static int algoVal = NCCL_ALGO_UNDEF;\n    if (algoVal == NCCL_ALGO_UNDEF) {\n      if (rcclGetAlgoProtoIndex(algoOverrideEnv, ncclAlgoStr, NCCL_NUM_ALGORITHMS, algoVal) != ncclSuccess) {\n        validInput = false;\n        return ncclInvalidUsage;\n      }\n    }\n    if (algoVal > NCCL_ALGO_UNDEF) {\n      if (table[algoVal][info->protocol] == NCCL_ALGO_PROTO_IGNORE) {\n        WARN(\"Failed to force unsupported algorithm %s for function %s with datatype %s\", algoOverrideEnv, ncclFuncToString(info->func), ncclDatatypeToString(info->datatype));\n        return ncclInternalError;\n      } else {\n        info->algorithm = algoVal;\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nvoid rcclUpdateThreadThreshold(struct ncclComm* comm, size_t const& nBytes, struct ncclTaskColl* info, int& threadThreshold) {\n  // Honor user input for thread thresholds\n  static int userChannelControlInput = -2;\n  if (userChannelControlInput == -2) {\n    const char *inputStr = getenv(\"NCCL_THREAD_THRESHOLDS\");\n    if (!inputStr) {\n      inputStr = getenv(\"NCCL_MAX_NCHANNELS\");\n    }\n    if (!inputStr) {\n      inputStr = getenv(\"NCCL_MIN_NCHANNELS\");\n    }\n    userChannelControlInput = !inputStr ? 0 : 1;\n  }\n\n  if(!userChannelControlInput && comm->nNodes >= 2 && (info->func == ncclFuncReduceScatter || info->func == ncclFuncAllGather)) {\n    auto tunableIndex = rcclGetTunableIndex(info->func);\n    auto tunedThreshold = comm->minMaxLLRange[tunableIndex][info->protocol][RCCL_PROTOCOL_THREAD_THRESHOLD_IDX];\n    if(tunedThreshold != RCCL_LL_LIMITS_UNDEFINED) {\n      threadThreshold = tunedThreshold * comm->nRanks;\n    }\n  }\n}\n\nvoid rcclSetPipelining(struct ncclComm* comm, size_t const& nBytes, struct ncclTaskColl* info) {\n  info->pipeline = 0; // Default to no pipelining\n  if (rcclParamdisableReduceCopyPipelining() || IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\")) {\n    return;\n  }\n  const bool dtypeOK = (info->datatype == ncclBfloat16) || rcclParamPipelineAllDTypes();\n\n  if (IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") && dtypeOK) {\n    switch (info->func) {\n      // For multi-node case, we check if the number of bytes (`nBytes`) satisfies\n      // the Bf16 Limit Equation for bf16 all_reduce on MI300:\n      // 512MB × 2^(log2[nNodes] - 1), nNodes > 1\n      // The above equation is derived from the tuning results of the bf16 all_reduce on MI300.\n      case ncclFuncAllReduce:\n        if ( comm->nNodes == 1 ||\n             ((comm->nNodes > 1) &&\n               nBytes <= (1ULL << 29 /*512MB*/) * (1ULL << (log2i(comm->nNodes) - 1))) ) {\n          info->pipeline = 1;\n        }\n        break;\n\n      case ncclFuncReduceScatter:\n      case ncclFuncReduce:\n        info->pipeline = 1;\n        break;\n\n      default:\n        break;\n    }\n  }\n}\n\nextern ncclResult_t getAlgoInfo(\n    struct ncclComm* comm, struct ncclTaskColl* task,\n    int collNetSupport, int nvlsSupport, int numPipeOps, ncclSimInfo_t* simInfo = NULL\n);\n\nncclResult_t rcclGetAlgoInfo(struct ncclComm* comm, ncclFunc_t coll, uint64_t count, ncclDataType_t dataType,\n                             int collNetSupport, int nvlsSupport, int numPipeOps,\n                             int* algo, int* protocol, int* maxChannels) {\n  RCCL_STATIC_EXPOSE_CHECK();\n  int nRanks;\n  NCCLCHECK(ncclCommCount(comm, &nRanks));\n  size_t msgSize = count * ncclTypeSize(dataType) * nRanks;\n  if (coll == ncclFuncAllGather && rcclUseAllGatherDirect(comm, msgSize)) {\n    *algo = rcclAddonAlgos_t::RCCL_DIRECT_ALLGATHER;\n    *protocol = NCCL_PROTO_SIMPLE; // TODO: consider LL for small messages\n    *maxChannels = comm->nChannels;\n    return ncclSuccess;\n  }\n  struct ncclTaskColl task;\n  task.func = coll;\n  task.count = count;\n  task.datatype = dataType;\n  NCCLCHECK(getAlgoInfo(comm, &task, collNetSupport, nvlsSupport, numPipeOps));\n  *algo = task.algorithm;\n  *protocol = task.protocol;\n#ifdef ENABLE_WARP_SPEED\n  *maxChannels = task.useWarpSpeed? task.nMaxChannels / task.nWarps : task.nMaxChannels;\n#else\n  *maxChannels = task.nMaxChannels;\n#endif\n  return ncclSuccess;\n}\n\nncclResult_t rcclGetAlgoName(int algo, const char** algoName) {\n  if (algo < 0 || algo >= RCCL_ALGO_COUNT) {\n    WARN(\"Invalid algorithm value: %d\", algo);\n    return ncclInvalidArgument;\n  }\n  if(algo >= NCCL_NUM_ALGORITHMS) {\n    switch(algo) {\n      case rcclAddonAlgos_t::RCCL_DIRECT_ALLGATHER:\n        *algoName = \"Direct\";\n        break;\n      case rcclAddonAlgos_t::RCCL_MSCCL:\n        *algoName = \"MSCCL\";\n        break;\n      case rcclAddonAlgos_t::RCCL_MSCCLPP:\n        *algoName = \"MSCCLPP\";\n        break;\n      default:\n        WARN(\"Invalid algorithm value: %d\", algo);\n        return ncclInvalidArgument;\n    }\n    return ncclSuccess;\n  }\n  *algoName = ncclAlgoToString(algo);\n  return ncclSuccess;\n}\n\nncclResult_t rcclGetProtocolName(int protocol, const char** protocolName) {\n  if (protocol < 0 || protocol >= NCCL_NUM_PROTOCOLS) {\n    WARN(\"Invalid protocol value: %d\", protocol);\n    return ncclInvalidArgument;\n  }\n  *protocolName = ncclProtoToString(protocol);\n  return ncclSuccess;\n}\n\nbool rcclUseAllToAllGda(struct ncclComm* comm) {\n\n    //TODO: enable on MI350;  currently tested on MI300X\n#ifdef ENABLE_ROCSHMEM\n  if (comm->enableRocshmem && IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") && comm->nNodes > 1 && (comm->nRanks/comm->nNodes == 8) && comm->rocshmemThreshold <= 1048576) {\n      INFO(NCCL_INIT, \"Enabling GDA alltoall for RCCL\");\n      return true;\n  }\n#endif\n  return false;\n}\n\nbool rcclUseAllGatherDirect(struct ncclComm* comm, size_t& msgSize) {\n  // Check if user explicitly disabled direct AllGather\n  static int userDirectAllGatherInput = -2;\n  if (userDirectAllGatherInput == -2) {\n    const char *inputStr = getenv(\"RCCL_DIRECT_ALLGATHER_DISABLE\");\n    userDirectAllGatherInput = !inputStr ? 0 : 1;\n  }\n  if (userDirectAllGatherInput == 1) {\n    INFO(NCCL_INIT, \"RCCL DIRECT ALLGATHER has been disabled.\");\n    return false;\n  }\n\n  size_t threshold = rcclParamDirectAllGatherThreshold();\n\n  if (IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\") && threshold != -1) {\n     if (comm->nNodes == 1) {\n        threshold = 8388608;\n     } else if (comm->nNodes < 64) {\n        threshold = comm->nNodes * 2097152;\n     }\n  } else if (IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") && threshold != -1) {\n\tthreshold = 4194304;\n  }\n\n  comm->enableCustColl = IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\") || IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\");\n\n  int rankMultiple = comm->nRanks % 8;\n\n  //return (comm->enableCustColl && (comm->nNodes > 1) && (msgSize <= threshold) && (threshold != -1))\n  return (comm->enableCustColl && (msgSize <= threshold) && (threshold != -1) && !rankMultiple)\n    ;\n}\n\nvoid rcclSetPxn(struct ncclComm* comm,  int& rcclPxnDisable) {\n  static int pxnDisable = RCCL_VALUE_UNSET;\n  comm->enableCustColl = false;\n  if(pxnDisable == RCCL_VALUE_UNSET) {\n    const char *inputStr = getenv(\"NCCL_PXN_DISABLE\");\n    const bool archGfx942 = IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\");\n    const bool archGfx950 = IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\");\n    comm->enableCustColl = (archGfx942 || archGfx950) && (inputStr && !atoi(inputStr));\n\n    if((!archGfx942 && !archGfx950) || inputStr) {\n      rcclPxnDisable = pxnDisable = RCCL_VALUE_INVALID;\n      return;\n    }\n    const int ranksThreshold = (archGfx942)? 64 : 32;\n    pxnDisable = (comm->nRanks >= ranksThreshold)? 0 : 1;\n    INFO(NCCL_INIT, \"RCCL PXN set as %s\", !pxnDisable? \"enabled\" : \"disabled\");\n  }\n  rcclPxnDisable = pxnDisable;\n  comm->enableCustColl = !pxnDisable;\n}\n\nvoid rcclSetP2pNetChunkSize(struct ncclComm* comm,  int& rcclP2pNetChunkSize) {\n  static int p2pNetChunkSize = RCCL_VALUE_UNSET;\n  if(p2pNetChunkSize == RCCL_VALUE_UNSET) {\n    const char *inputStr = getenv(\"NCCL_P2P_NET_CHUNKSIZE\");\n    const bool archGfx942 = IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\");\n    const bool archGfx950 = IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\");\n    if((!archGfx942 && !archGfx950) || inputStr) {\n      rcclP2pNetChunkSize = p2pNetChunkSize = RCCL_VALUE_INVALID;\n      return;\n    }\n\n    if(archGfx942)\n      p2pNetChunkSize = (comm->nRanks >= 64)? (1 << 19) : (1 << 17);\n    else  if(archGfx950)\n      p2pNetChunkSize = (comm->nRanks >= 32) ? (1 << 19) : (comm->nRanks >= 16 ? (1 << 18) : (1 << 17));\n    else\n      WARN(\"RCCL P2P attempt to set P2P net chunk size for unsupported arch: %s\", comm->topo->nodes[GPU].nodes[0].gpu.gcn);\n    INFO(NCCL_INIT, \"RCCL P2P net chunk size default set to: %d\", p2pNetChunkSize);\n  }\n  rcclP2pNetChunkSize = p2pNetChunkSize;\n}\n#ifdef ENABLE_WARP_SPEED\nvoid rcclSetWarpSpeedCUs(struct ncclComm* comm, int algo, int threadsPerBlock, int& rcclWarpSpeedChannels) {\n  static int userChannelControlInput = RCCL_VALUE_UNSET;\n  int warpsPerBlock = threadsPerBlock / comm->WarpSize;\n  // only adjust channels for RING algorithm\n  if(algo != NCCL_ALGO_RING) {\n    return;\n  }\n  if (userChannelControlInput == RCCL_VALUE_UNSET) {\n    const char *inputStr = getenv(\"NCCL_THREAD_THRESHOLDS\");\n    if (!inputStr) {\n      inputStr = getenv(\"NCCL_MAX_NCHANNELS\");\n    }\n    if (!inputStr) {\n      inputStr = getenv(\"NCCL_MIN_NCHANNELS\");\n    }\n    userChannelControlInput = !inputStr ? 0 : 1;\n  }\n  if(!userChannelControlInput && comm->topo->warpSpeedEnabled) {\n    if(rcclParamWarpSpeedCuCount() != 0) {\n      rcclWarpSpeedChannels = rcclParamWarpSpeedCuCount() * warpsPerBlock;\n      INFO(NCCL_INIT, \"RCCL Warp CU count set to user defined %d resulting in %d channels\", rcclParamWarpSpeedCuCount(), rcclWarpSpeedChannels);\n      return;\n    }\n    // reuse the existing channel tuning logic if possible\n    if (comm->nNodes == 1) {\n      rcclWarpSpeedChannels = rcclWarpSpeedChannels * warpsPerBlock / 2; // use 50% CUs for single node case\n    } else {\n      rcclWarpSpeedChannels = std::min(256, rcclWarpSpeedChannels * warpsPerBlock);\n    }\n    INFO(NCCL_INIT, \"RCCL Warp Speed Channels set to %d\", rcclWarpSpeedChannels);\n  }\n}\n\nvoid rcclSetWarpSpeedSupportAndFinalCuCount(struct ncclComm* comm, struct ncclKernelPlan* plan, int nChannels, int& support, int &cuCount) {\n  if(!comm->topo->warpSpeedEnabled) {\n    support = 0;\n    cuCount = nChannels;\n    return;\n  }\n  // WarpSpeed is not supported currently for the following cases:\n  // 1. if any work batch in the plan contains P2P work\n  // 2. or any collective task is not using RING algorithm\n  bool hasP2p = !ncclIntruQueueEmpty(&plan->p2pTaskQueue);\n  bool hasNonRing = false;\n  struct ncclTaskColl* task = ncclIntruQueueHead(&plan->collTaskQueue);\n  while (task != nullptr) {\n    if (task->algorithm != NCCL_ALGO_RING || !(task->useWarpSpeed)) {\n      hasNonRing = true;\n      break;\n    }\n    task = task->next;\n  }\n  int warpsPerBlock = plan->threadPerBlock / comm->WarpSize;\n  support = (hasP2p || hasNonRing) ? 0 : 1;\n  cuCount = (support == 0)? nChannels : nChannels / warpsPerBlock + ((nChannels % warpsPerBlock) != 0 ? 1 : 0); // each CU can handle warpsPerBlock\n}\n\nvoid rcclSetWarpSpeedAuto(struct ncclComm* comm, struct ncclTaskColl* info, size_t nBytes) {\n  info->useWarpSpeed = false;\n  if(!rcclCollSupportsRing(info->func)) return;\n  if(rcclParamWarpSpeedAutoMode() != 0) { // Auto performance mode\n    if(!IsArchMatch(comm->archName, \"gfx950\")) {\n      // Auto mode only available for gfx950 currently, keep it to false\n      return;\n    }\n    size_t minBytes = 0;\n    commSetUnrollFactor(comm);  // TODO: reset unroll factor per task rather than per comm\n    // No early return based on the algorithm at the start of the function\n    // to allow unroll factor to be reverted to default.\n    // This can be changed once per-task unroll factor setting is implemented.\n    if(info->algorithm != NCCL_ALGO_RING) {\n      return; // If Ring is not selected, assume it is suboptimal and return\n    }\n    if(info->func == ncclFuncAllReduce || info->func == ncclFuncAllGather) minBytes = RCCL_WARP_SPEED_MIN_BYTES;\n    else if (info->func == ncclFuncReduceScatter) minBytes = RCCL_WARP_SPEED_MIN_BYTES << 2; // ReduceScatter requires higher message size to benefit from WarpSpeed\n    if(comm->nNodes == 1) {\n      if(nBytes >= minBytes && minBytes > 0) {\n        comm->unroll = NCCL_UNROLL_2;\n        info->nWarps = 4;\n        info->useWarpSpeed = true;\n      }\n    }\n  } else if (comm->topo->warpSpeedEnabled) {\n    if(info->algorithm != NCCL_ALGO_RING) {\n      INFO(NCCL_TUNING, \"Overriding %s algorithm with RING for nccl%s at %zu bytes as WarpSpeed is requested and only supports RING\", ncclAlgoToString(info->algorithm), ncclFuncToString(info->func), nBytes);\n      info->algorithm = NCCL_ALGO_RING; // Force Ring when WarpSpeed is enabled in manual mode as it only supports Ring\n    }\n    info->useWarpSpeed = true;\n  }\n}\n#endif\n\nvoid rcclGetMaxNthreads(struct ncclComm* comm, int maxNthreads[]) {\n  if (IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\")) {\n    maxNthreads[NCCL_PROTO_SIMPLE] = maxNthreads[NCCL_PROTO_LL128] = RCCL_GFX950_MAX_NTHREADS;\n  } else {\n    maxNthreads[NCCL_PROTO_SIMPLE] = maxNthreads[NCCL_PROTO_LL128] = RCCL_DEFAULT_MAX_NTHREADS;\n  }\n  maxNthreads[NCCL_PROTO_LL] = RCCL_LL_MAX_NTHREADS;\n}\n\nvoid rcclOptThreadBlockSize(struct ncclComm* comm, struct ncclTaskColl* info, size_t nBytes, int& nThreads) {\n  static int maxNthreads[NCCL_NUM_PROTOCOLS] = {0};\n  if (maxNthreads[NCCL_PROTO_SIMPLE] == 0) rcclGetMaxNthreads(comm, maxNthreads);\n  if(rcclParamThreadsPerBlock() != -1) {\n    nThreads = rcclParamThreadsPerBlock();\n    if(nThreads % comm->WarpSize != 0) {\n      nThreads = ((nThreads / comm->WarpSize) + 1) * comm->WarpSize;\n      INFO(NCCL_INIT, \"RCCL Threads per block adjusted to %d to be multiple of warp size %d\", nThreads, comm->WarpSize);\n    }\n    if(nThreads > maxNthreads[NCCL_PROTO_SIMPLE]) {\n      nThreads = maxNthreads[NCCL_PROTO_SIMPLE];\n      INFO(NCCL_INIT, \"RCCL Threads per block reduced to %d to match max threads\", nThreads);\n    } else if (nThreads < 3 * comm->WarpSize) {\n      nThreads = 3 * comm->WarpSize; // min requirement for tree\n      INFO(NCCL_INIT, \"RCCL Threads per block increased to %d to be at least one warp\", nThreads);\n    }\n    return;\n  }\n  if (info->algorithm == NCCL_ALGO_TREE) nThreads = maxNthreads[NCCL_PROTO_SIMPLE]; // Tree now uses all threads always.\n  if (info->algorithm == NCCL_ALGO_PAT)  nThreads = maxNthreads[NCCL_PROTO_SIMPLE];\n  if (comm->nNodes == 1) nThreads = RCCL_SINGLE_NODE_MAX_NTHREADS; // For single node, we use half the number of threads for perf reasons.\n  // The following should be already set correctly by getNthreads\n  // but need to override the changes for TREE and PAT in the previous lines\n  else if (info->protocol == NCCL_PROTO_LL) nThreads =  maxNthreads[NCCL_PROTO_LL];\n  // ReduceScatter small count optimization\n  if (info->func == ncclFuncReduceScatter && divUp(nBytes, comm->nRanks) <= 524288) nThreads = maxNthreads[NCCL_PROTO_LL];\n}\n\nvoid rcclSetDefaultBuffSizes(struct ncclComm* comm, int defaultBuffSizes[]) {\n  static int maxNthreads[NCCL_NUM_PROTOCOLS] = {0};\n  if (maxNthreads[NCCL_PROTO_SIMPLE] == 0) rcclGetMaxNthreads(comm, maxNthreads);\n  defaultBuffSizes[NCCL_PROTO_LL]     = NCCL_LL_LINES_PER_THREAD*maxNthreads[NCCL_PROTO_LL]*NCCL_STEPS*sizeof(union ncclLLFifoLine);\n  defaultBuffSizes[NCCL_PROTO_LL128]  = NCCL_LL128_ELEMS_PER_THREAD*maxNthreads[NCCL_PROTO_LL128]*NCCL_STEPS*sizeof(uint64_t);\n  defaultBuffSizes[NCCL_PROTO_SIMPLE] = (1 << 22); /* 4MiB */\n}\n\nncclResult_t rcclFuncMaxSendRecvCount(ncclFunc_t func, int nRanks, size_t count, size_t& maxCount) {\n  RCCL_STATIC_EXPOSE_CHECK();\n  maxCount = ncclFuncMaxSendRecvCount(func, nRanks, count);\n  return ncclSuccess;\n}\n\nncclResult_t commSetUnrollFactor(struct ncclComm* comm) {\n  if( rcclParamUnrollFactor() != -1 ) {\n    comm->unroll = rcclParamUnrollFactor(); //-1 to map to 0 based indexing\n    if(comm->unroll < NCCL_UNROLL_1 || comm->unroll >= NCCL_NUM_UNROLLS) {\n      WARN(\"Invalid RCCL_UNROLL_FACTOR %d specified. Valid values are 0 to 2 corresponding to unroll factors of 1, 2, and 4 respectively.\", comm->unroll);\n      return ncclInvalidArgument;\n    }\n    INFO(NCCL_INIT, \"RCCL Unroll Factor (user set): %d\", (int) (pow(2.0, (double)comm->unroll)));\n    return ncclSuccess;\n  }\n  if(IsArchMatch(comm->archName, \"gfx950\")) {\n    if(comm->nNodes == 1)\n      comm->unroll = NCCL_UNROLL_1;\n    else\n      comm->unroll = NCCL_UNROLL_2;\n  }\n  else if(IsArchMatch(comm->archName, \"gfx908\") || ((IsArchMatch(comm->archName, \"gfx942\") && comm->cuCount > 80)))\n    comm->unroll = NCCL_UNROLL_2;\n  else\n    comm->unroll = NCCL_UNROLL_4;\n\n  INFO(NCCL_INIT, \"RCCL Unroll Factor (pre-set): %d\", (int) (pow(2.0, (double)comm->unroll)));\n  return ncclSuccess;\n}\n\nint getFirmwareVersion() {\n  uint64_t fw_version = -1;\n\n#ifdef USE_AMDSMI\n  amdsmi_status_t ret;\n  ret = amdsmi_init(AMDSMI_INIT_AMD_GPUS);\n  if (ret != AMDSMI_STATUS_SUCCESS) {\n    ERROR(\"Could not initialize amd-smi\");\n    return -1;\n  }\n\n  uint32_t socket_count = 0;\n  amdsmi_get_socket_handles(&socket_count, nullptr);\n  std::vector<amdsmi_socket_handle> sockets(socket_count);\n  amdsmi_get_socket_handles(&socket_count, sockets.data());\n\n  uint32_t num_gpus_per_socket = 0;\n  amdsmi_get_processor_handles(sockets[0], &num_gpus_per_socket, nullptr);\n  std::vector<amdsmi_processor_handle> processor_handles(num_gpus_per_socket);\n  amdsmi_get_processor_handles(sockets[0], &num_gpus_per_socket, processor_handles.data());\n\n  amdsmi_fw_info_t info;\n  ret = amdsmi_get_fw_info(processor_handles[0], &info);\n  if (ret != AMDSMI_STATUS_SUCCESS) {\n    ERROR(\"Could not query firmware info using amd-smi\");\n    return -1;\n  }\n\n  fw_version = info.fw_info_list[0].fw_version;\n\n#else\n  rsmi_status_t ret;\n  ret = rsmi_init(0);\n  if (ret != RSMI_STATUS_SUCCESS) {\n    ERROR(\"Could not initialize rocm-smi\");\n    return -1;\n  }\n\n  ret = rsmi_dev_firmware_version_get(0, RSMI_FW_BLOCK_MEC, &fw_version);\n  if (ret != RSMI_STATUS_SUCCESS) {\n    ERROR(\"Could not query firmware info using rocm-smi\");\n    return -1;\n  }\n#endif\n\n  return fw_version;\n}\n\nbool validHsaScratchEnvSetting(const char*hsaScratchEnv, int hipRuntimeVersion, int firmwareVersion, char const* archName) {\n  bool hsaScratchEnvSet = (hsaScratchEnv && strcmp(hsaScratchEnv,\"1\") == 0);\n  if (hsaScratchEnvSet) {\n    return true;\n  }\n  if (IsArchMatch(archName, \"gfx950\")) {\n    return (hipRuntimeVersion >= 60443484 && firmwareVersion >= 24);\n  }\n  if (IsArchMatch(archName, \"gfx942\")) {\n    return (hipRuntimeVersion >= 60443484 && firmwareVersion >= 177);\n  }\n  return true;\n}\n\n// Should match get_arch_guard() in generate.py\nbool rcclIsArchSupportedForFunc(struct ncclTaskColl* info, const char* archName) {\n  bool supported = true;\n\n  if (info->protocol == NCCL_PROTO_LL128) {\n#if defined(ENABLE_LL128)\n    if (info->acc)\n      supported = (IsArchMatch(archName, \"gfx942\") || IsArchMatch(archName, \"gfx950\"));\n    else\n      supported = (IsArchMatch(archName, \"gfx942\") || IsArchMatch(archName, \"gfx950\") || IsArchMatch(archName, \"gfx90a\"));\n#else\n    supported = false;\n#endif\n  } else if (info->acc) {\n    supported = (IsArchMatch(archName, \"gfx942\") || IsArchMatch(archName, \"gfx950\"));\n  }\n\n  return supported;\n}\n"
  },
  {
    "path": "src/register/CMakeLists.txt",
    "content": "# Register sources\nset(REGISTER_SOURCES\n    ${CMAKE_CURRENT_SOURCE_DIR}/register.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/coll_reg.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/sendrecv_reg.cc\n)\n\n# Add register sources to parent scope\nset(REGISTER_SOURCES ${REGISTER_SOURCES} PARENT_SCOPE)\n"
  },
  {
    "path": "src/register/coll_reg.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2025, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"register.h\"\n#include \"transport.h\"\n#include \"enqueue.h\"\n#include \"register_inline.h\"\n\nstatic ncclResult_t registerCheckP2PConnection(struct ncclComm* comm, struct ncclConnector* conn, struct ncclTopoGraph* graph, int peer, bool* needReg) {\n  if (conn->connected) {\n    if (conn->conn.flags & (NCCL_P2P_READ | NCCL_P2P_WRITE)) {\n      *needReg = true;\n    } else {\n      // network connection\n      *needReg = false;\n    }\n  } else {\n    struct ncclPeerInfo* peerInfo = &comm->peerInfo[peer];\n    struct ncclPeerInfo* myInfo = &comm->peerInfo[comm->rank];\n    int canConnect = 0;\n    NCCLCHECK(ncclTransports[0]->canConnect(&canConnect, comm, graph, myInfo, peerInfo));\n    if (canConnect) {\n      *needReg = true;\n    } else {\n      *needReg = false;\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclRegisterCollNvlsBuffers(\n    struct ncclComm* comm, struct ncclTaskColl* info,\n    void* outRegBufSend[NCCL_MAX_LOCAL_RANKS],\n    void* outRegBufRecv[NCCL_MAX_LOCAL_RANKS],\n    struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue,\n    bool* regNeedConnect\n  ) {\n  ncclResult_t result = ncclSuccess;\n\n  info->regBufType = NCCL_REGULAR_BUFFER;\n  *regNeedConnect = true;\n  if (!(ncclParamLocalRegister() || (comm->planner.persistent && ncclParamGraphRegister()))) goto exit;\n#if CUDART_VERSION >= 11030\n  if (info->algorithm == NCCL_ALGO_NVLS || info->algorithm == NCCL_ALGO_NVLS_TREE) {\n    if (!comm->nvlsRegSupport || info->opDev.op == ncclDevPreMulSum) goto exit;\n    int nvlsReged = 0;\n    int collnetReged = 0;\n    const void *sendbuff = info->sendbuff;\n    void *recvbuff = info->recvbuff;\n    void *recvHandle = NULL, *sendHandle = NULL;\n    if (info->func == ncclFuncAllGather) sendbuff = NULL;\n    if (info->func == ncclFuncReduceScatter) recvbuff = NULL;\n    size_t elementSize = ncclTypeSize(info->datatype);\n    size_t sendbuffSize = elementSize*ncclFuncSendCount(info->func, comm->nRanks, info->count);\n    size_t recvbuffSize = elementSize*ncclFuncRecvCount(info->func, comm->nRanks, info->count);\n\n    /* first try graph registration. */\n    if (comm->planner.persistent && ncclParamGraphRegister()) {\n      ncclNvlsGraphRegisterBuffer(comm, sendbuff, recvbuff, sendbuffSize, recvbuffSize, &nvlsReged, outRegBufSend, outRegBufRecv, cleanupQueue, &info->nCleanupQueueElts);\n    }\n\n    if (nvlsReged == 0 && ncclParamLocalRegister()) {\n      ncclNvlsLocalRegisterBuffer(comm, sendbuff, recvbuff, sendbuffSize, recvbuffSize, &nvlsReged, outRegBufSend, outRegBufRecv);\n    }\n\n    if (nvlsReged && comm->nNodes > 1 && info->algorithm == NCCL_ALGO_NVLS) {\n      if (comm->planner.persistent && ncclParamGraphRegister()) {\n        if (info->func == ncclFuncAllGather) {\n          ncclCollnetGraphRegisterBuffer(comm, info->sendbuff, sendbuffSize, collNetSend, &collnetReged, &sendHandle, cleanupQueue, &info->nCleanupQueueElts);\n        } else if (info->func == ncclFuncReduceScatter) {\n          ncclCollnetGraphRegisterBuffer(comm, info->recvbuff, recvbuffSize, collNetRecv, &collnetReged, &recvHandle, cleanupQueue, &info->nCleanupQueueElts);\n        } else if (info->func == ncclFuncAllReduce) {\n          ncclCollnetGraphRegisterBuffer(comm, info->recvbuff, recvbuffSize, collNetRecv, &collnetReged, &recvHandle, cleanupQueue, &info->nCleanupQueueElts);\n          if (collnetReged) ncclCollnetGraphRegisterBuffer(comm, info->recvbuff, recvbuffSize, collNetSend, &collnetReged, &sendHandle, cleanupQueue, &info->nCleanupQueueElts);\n        }\n      }\n\n      if (collnetReged == 0 && ncclParamLocalRegister()) {\n        if (info->func == ncclFuncAllGather) {\n          ncclCollnetLocalRegisterBuffer(comm, info->sendbuff, sendbuffSize, collNetSend, &collnetReged, &sendHandle);\n        } else if (info->func == ncclFuncReduceScatter) {\n          ncclCollnetLocalRegisterBuffer(comm, info->recvbuff, recvbuffSize, collNetRecv, &collnetReged, &recvHandle);\n        } else if (info->func == ncclFuncAllReduce) {\n          ncclCollnetLocalRegisterBuffer(comm, info->recvbuff, recvbuffSize, collNetRecv, &collnetReged, &recvHandle);\n          if (collnetReged) ncclCollnetLocalRegisterBuffer(comm, info->recvbuff, recvbuffSize, collNetSend, &collnetReged, &sendHandle);\n        }\n      }\n    }\n\n    if (nvlsReged) {\n      *regNeedConnect = 0;\n      /* tweak NVLS channels usage; for registered NVLS buffer to saturate bandwidth. */\n      int recChannels;\n      NCCLCHECK(ncclNvlsRegResourcesQuery(comm, info, &recChannels));\n      info->nMaxChannels = recChannels;\n      info->regBufType |= NCCL_NVLS_REG_BUFFER;\n    }\n\n    if (collnetReged) {\n      info->regBufType |= NCCL_NET_REG_BUFFER;\n      info->sendMhandle = sendHandle;\n      info->recvMhandle = recvHandle;\n    }\n  }\n  #endif\nexit:\n  return result;\n}\n\nncclResult_t ncclRegisterCollBuffers(\n    struct ncclComm* comm, struct ncclTaskColl* info,\n    void* outRegBufSend[NCCL_MAX_LOCAL_RANKS],\n    void* outRegBufRecv[NCCL_MAX_LOCAL_RANKS],\n    struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue,\n    bool* regNeedConnect\n  ) {\n  ncclResult_t result = ncclSuccess;\n\n  info->regBufType = NCCL_REGULAR_BUFFER;\n  *regNeedConnect = true;\n  if (!(ncclParamLocalRegister() || (comm->planner.persistent && ncclParamGraphRegister()))) goto exit;\n#if CUDART_VERSION >= 11030\n  if (info->algorithm == NCCL_ALGO_NVLS || info->algorithm == NCCL_ALGO_NVLS_TREE) {\n    /* this part of nvls reg code is temporarily not used and obsolete. */\n    if (!comm->nvlsRegSupport || info->opDev.op == ncclDevPreMulSum) goto exit;\n    int nvlsReged = 0;\n    int collnetReged = 0;\n    const void *sendbuff = info->sendbuff;\n    void *recvbuff = info->recvbuff;\n    void *recvHandle = NULL, *sendHandle = NULL;\n    if (info->func == ncclFuncAllGather) sendbuff = NULL;\n    if (info->func == ncclFuncReduceScatter) recvbuff = NULL;\n    size_t elementSize = ncclTypeSize(info->datatype);\n    size_t sendbuffSize = elementSize*ncclFuncSendCount(info->func, comm->nRanks, info->count);\n    size_t recvbuffSize = elementSize*ncclFuncRecvCount(info->func, comm->nRanks, info->count);\n\n    /* first try local registration. */\n    if (ncclParamLocalRegister()) {\n      ncclNvlsLocalRegisterBuffer(comm, sendbuff, recvbuff, sendbuffSize, recvbuffSize, &nvlsReged, outRegBufSend, outRegBufRecv);\n    }\n\n    if (nvlsReged == 0 && comm->planner.persistent && ncclParamGraphRegister()) {\n      ncclNvlsGraphRegisterBuffer(comm, sendbuff, recvbuff, sendbuffSize, recvbuffSize, &nvlsReged, outRegBufSend, outRegBufRecv, cleanupQueue, &info->nCleanupQueueElts);\n    }\n\n    if (comm->nNodes > 1 && info->algorithm == NCCL_ALGO_NVLS) {\n      if (ncclParamLocalRegister()) {\n        ncclCollnetLocalRegisterBuffer(comm, info->recvbuff, recvbuffSize, collNetSend, &collnetReged, &sendHandle);\n        if (collnetReged) ncclCollnetLocalRegisterBuffer(comm, info->recvbuff, recvbuffSize, collNetRecv, &collnetReged, &recvHandle);\n      }\n\n      if (collnetReged == 0 && comm->planner.persistent && ncclParamGraphRegister()) {\n        ncclCollnetGraphRegisterBuffer(comm, info->recvbuff, recvbuffSize, collNetSend, &collnetReged, &sendHandle, cleanupQueue, &info->nCleanupQueueElts);\n        if (collnetReged) ncclCollnetGraphRegisterBuffer(comm, info->recvbuff, recvbuffSize, collNetRecv, &collnetReged, &recvHandle, cleanupQueue, &info->nCleanupQueueElts);\n      }\n    }\n\n    if (nvlsReged) {\n      *regNeedConnect = 0;\n      /* tweak NVLS channels usage; for registered NVLS buffer, we only need 4/5 channels to\n       * saturate bandwidth. */\n      if (comm->nNodes == 1) {\n        if (info->func == ncclFuncReduceScatter)\n          info->nMaxChannels = std::max(comm->config.minCTAs, std::min(comm->config.maxCTAs, 5));\n        else\n          info->nMaxChannels = std::max(comm->config.minCTAs, std::min(comm->config.maxCTAs, 4));\n      } else {\n        info->nMaxChannels = std::max(comm->config.minCTAs, std::min(comm->config.maxCTAs, 6));\n      }\n      info->regBufType |= NCCL_NVLS_REG_BUFFER;\n    }\n\n    if (collnetReged) {\n      info->regBufType |= NCCL_NET_REG_BUFFER;\n      info->sendMhandle = sendHandle;\n      info->recvMhandle = recvHandle;\n    }\n  } else if (info->protocol == NCCL_PROTO_SIMPLE) {\n    // IPC buffer registration\n    if (info->func == ncclFuncReduceScatter && info->algorithm != NCCL_ALGO_COLLNET_DIRECT) goto exit;\n    if (info->algorithm == NCCL_ALGO_RING && ((info->func == ncclFuncAllReduce && info->sendbuff == info->recvbuff) || info->func == ncclFuncReduce)) goto exit;\n    if (info->algorithm == NCCL_ALGO_TREE && info->sendbuff == info->recvbuff) goto exit;\n    if (info->algorithm == NCCL_ALGO_COLLNET_CHAIN && info->sendbuff == info->recvbuff && comm->maxLocalRanks > 1) goto exit;\n    if (info->func == ncclFuncAllGather && info->algorithm == NCCL_ALGO_PAT) goto exit;\n\n    int peerRanks[NCCL_MAX_LOCAL_RANKS];\n    int nPeers = 0;\n    size_t elementSize = ncclTypeSize(info->datatype);\n    size_t sendbuffSize = elementSize*ncclFuncSendCount(info->func, comm->nRanks, info->count);\n    size_t recvbuffSize = elementSize*ncclFuncRecvCount(info->func, comm->nRanks, info->count);\n    int regBufFlag = 0;\n    memset(peerRanks, 0xff, sizeof(int) * NCCL_MAX_LOCAL_RANKS);\n\n    if (info->algorithm == NCCL_ALGO_COLLNET_DIRECT) {\n      struct ncclChannel* channel = comm->channels;\n      int ipcRegFlag = 0, netSendRegFlag = 0, netRecvRegFlag = 0;\n      void *sendHandle, *recvHandle;\n      if (info->func != ncclFuncReduceScatter && comm->isAllDirectP2p) {\n        for (int r = 0; r < NCCL_MAX_DIRECT_ARITY; ++r) {\n          for (int down = 0; down < 2; ++down) {\n            int peer = down ? channel->collnetDirect.down[r] : channel->collnetDirect.up[r];\n            if (peer != -1) {\n              struct ncclConnector* peerConn = &channel->peers[peer]->recv[0];\n              bool needReg = false;\n\n              NCCLCHECK(registerCheckP2PConnection(comm, peerConn, &comm->graphs[NCCL_ALGO_COLLNET_DIRECT], peer, &needReg));\n              if (needReg) {\n                bool found = false;\n                for (int p = 0; p < nPeers; ++p) {\n                  if (peerRanks[p] == peer) {\n                    found = true;\n                    break;\n                  }\n                }\n                if (!found) peerRanks[nPeers++] = peer;\n              }\n            }\n          }\n        }\n\n        if (nPeers > 0) {\n          if (comm->planner.persistent && ncclParamGraphRegister()) {\n            ncclIpcGraphRegisterBuffer(comm, info->sendbuff, sendbuffSize, peerRanks, nPeers, NCCL_IPC_COLLECTIVE, &ipcRegFlag, &info->sendbuffOffset, &info->sendbuffRmtAddrs, cleanupQueue, &info->nCleanupQueueElts);\n            if (ipcRegFlag) ncclIpcGraphRegisterBuffer(comm, info->recvbuff, recvbuffSize, peerRanks, nPeers, NCCL_IPC_COLLECTIVE, &ipcRegFlag, &info->recvbuffOffset, &info->recvbuffRmtAddrs, cleanupQueue, &info->nCleanupQueueElts);\n          }\n          if (!ipcRegFlag && ncclParamLocalRegister()) {\n            ncclIpcLocalRegisterBuffer(comm, info->sendbuff, sendbuffSize, peerRanks, nPeers, NCCL_IPC_COLLECTIVE, &ipcRegFlag, &info->sendbuffOffset, &info->sendbuffRmtAddrs);\n            if (ipcRegFlag) ncclIpcLocalRegisterBuffer(comm, info->recvbuff, recvbuffSize, peerRanks, nPeers, NCCL_IPC_COLLECTIVE, &ipcRegFlag, &info->recvbuffOffset, &info->recvbuffRmtAddrs);\n          }\n        }\n        if (ipcRegFlag) {\n          info->regBufType |= NCCL_IPC_REG_BUFFER;\n        }\n      }\n\n      // register collnet buffer\n      if (info->opDev.op != ncclDevPreMulSum && info->opDev.op != ncclDevSumPostDiv && !(info->func == ncclFuncAllReduce && !comm->isOneRPN)) {\n        if (comm->planner.persistent && ncclParamGraphRegister()) {\n          ncclCollnetGraphRegisterBuffer(comm, info->sendbuff, sendbuffSize, collNetSend, &netSendRegFlag, &sendHandle, cleanupQueue, &info->nCleanupQueueElts);\n          info->sendMhandle = sendHandle;\n          if (netSendRegFlag) {\n            ncclCollnetGraphRegisterBuffer(comm, info->recvbuff, recvbuffSize, collNetRecv, &netRecvRegFlag, &recvHandle, cleanupQueue, &info->nCleanupQueueElts);\n            info->recvMhandle = recvHandle;\n          }\n        }\n\n        if ((netSendRegFlag == 0 || netRecvRegFlag == 0) && ncclParamLocalRegister()) {\n          if (!netSendRegFlag) {\n            ncclCollnetLocalRegisterBuffer(comm, info->sendbuff, sendbuffSize, collNetSend, &netSendRegFlag, &sendHandle);\n            info->sendMhandle = sendHandle;\n          }\n          if (netSendRegFlag && !netRecvRegFlag) {\n            ncclCollnetLocalRegisterBuffer(comm, info->recvbuff, recvbuffSize, collNetRecv, &netRecvRegFlag, &recvHandle);\n            info->recvMhandle = recvHandle;\n          }\n        }\n      }\n\n      if (netSendRegFlag && netRecvRegFlag) {\n        if (comm->isOneRPN) info->nMaxChannels = 1;\n        info->regBufType |= NCCL_NET_REG_BUFFER;\n      }\n    } else if (info->algorithm == NCCL_ALGO_RING) {\n      struct ncclReg* recvRegRecord = NULL;\n      struct ncclReg* sendRegRecord = NULL;\n      int sendNetPeers = comm->nChannels;\n      int recvNetPeers = comm->nChannels;\n      struct ncclConnector** sendNetConns = NULL;\n      struct ncclConnector** recvNetConns = NULL;\n      void** sendNetHandles = NULL;\n      void** recvNetHandles = NULL;\n      void** srecvNetHandles = NULL;\n      bool hasRecvNetPeer = false;\n      bool hasSendNetPeer = false;\n\n      NCCLCHECK(ncclRegFind(comm, info->recvbuff, recvbuffSize, &recvRegRecord));\n      if (recvRegRecord == NULL && !(comm->planner.persistent && ncclParamGraphRegister())) goto exit;\n      NCCLCHECK(ncclRegFind(comm, info->sendbuff, sendbuffSize, &sendRegRecord));\n      if (sendRegRecord == NULL && !(comm->planner.persistent && ncclParamGraphRegister())) goto exit;\n      NCCLCHECK(ncclCalloc(&sendNetConns, comm->nChannels));\n      NCCLCHECK(ncclCalloc(&sendNetHandles, comm->nChannels));\n      NCCLCHECK(ncclCalloc(&recvNetConns, comm->nChannels));\n      NCCLCHECK(ncclCalloc(&recvNetHandles, comm->nChannels));\n      NCCLCHECK(ncclCalloc(&srecvNetHandles, comm->nChannels));\n\n      for (int c = 0; c < comm->nChannels; ++c) {\n        struct ncclChannel* channel = comm->channels + c;\n        for (int r = 0; r < 2; ++r) {\n          int peer;\n          struct ncclConnector* peerConn;\n          if (r == 0) {\n            peer = channel->ring.prev;\n            peerConn = &channel->peers[peer]->recv[0];\n            if (peerConn->conn.flags & NCCL_DIRECT_NIC) {\n              recvNetConns[c] = peerConn;\n              hasRecvNetPeer = true;\n            }\n          } else {\n            peer = channel->ring.next;\n            peerConn = &channel->peers[peer]->send[0];\n            if (peerConn->conn.flags & NCCL_DIRECT_NIC) {\n              sendNetConns[c] = peerConn;\n              hasSendNetPeer = true;\n            }\n          }\n          if (peerConn->conn.flags & (NCCL_P2P_READ | NCCL_P2P_WRITE)) {\n            bool found = false;\n            for (int p = 0; p < nPeers; ++p) {\n              if (peerRanks[p] == peer) {\n                found = true;\n                break;\n              }\n            }\n            if (!found) peerRanks[nPeers++] = peer;\n          }\n        }\n      }\n      if (nPeers > 0 && comm->isAllDirectP2p) {\n        if (comm->planner.persistent && ncclParamGraphRegister()) {\n          ncclIpcGraphRegisterBuffer(comm, info->recvbuff, recvbuffSize, peerRanks, nPeers, NCCL_IPC_COLLECTIVE, &regBufFlag, &info->recvbuffOffset, &info->recvbuffRmtAddrs, cleanupQueue, &info->nCleanupQueueElts);\n        }\n        if (!regBufFlag && ncclParamLocalRegister()) {\n          ncclIpcLocalRegisterBuffer(comm, info->recvbuff, recvbuffSize, peerRanks, nPeers, NCCL_IPC_COLLECTIVE, &regBufFlag, &info->recvbuffOffset, &info->recvbuffRmtAddrs);\n        }\n      }\n      if (regBufFlag) {\n        info->regBufType = NCCL_IPC_REG_BUFFER;\n      }\n\n      // start net registration\n      regBufFlag = 0;\n      if (!comm->useNetPXN && comm->useGdr && comm->netDeviceType != NCCL_NET_DEVICE_UNPACK) {\n        if (comm->planner.persistent && ncclParamGraphRegister()) {\n          if (hasSendNetPeer) {\n            ncclNetGraphRegisterBuffer(comm, info->sendbuff, sendbuffSize, sendNetConns, sendNetPeers, &regBufFlag, sendNetHandles, cleanupQueue, &info->nCleanupQueueElts);\n            if (regBufFlag)\n              ncclNetGraphRegisterBuffer(comm, info->recvbuff, recvbuffSize, sendNetConns, sendNetPeers, &regBufFlag, srecvNetHandles, cleanupQueue, &info->nCleanupQueueElts);\n          }\n          if ((regBufFlag || !hasSendNetPeer) && hasRecvNetPeer)\n            ncclNetGraphRegisterBuffer(comm, info->recvbuff, recvbuffSize, recvNetConns, recvNetPeers, &regBufFlag, recvNetHandles, cleanupQueue, &info->nCleanupQueueElts);\n        }\n        if (!regBufFlag && ncclParamLocalRegister()) {\n          if (hasSendNetPeer) {\n            ncclNetLocalRegisterBuffer(comm, info->sendbuff, sendbuffSize, sendNetConns, sendNetPeers, &regBufFlag, sendNetHandles);\n            if (regBufFlag)\n              ncclNetLocalRegisterBuffer(comm, info->recvbuff, recvbuffSize, sendNetConns, sendNetPeers, &regBufFlag, srecvNetHandles);\n          }\n          if ((regBufFlag || !hasSendNetPeer) && hasRecvNetPeer)\n            ncclNetLocalRegisterBuffer(comm, info->recvbuff, recvbuffSize, recvNetConns, recvNetPeers, &regBufFlag, recvNetHandles);\n        }\n      }\n\n      if (regBufFlag) {\n        info->regBufType |= NCCL_NET_REG_BUFFER;\n        info->sendNetHandles = sendNetHandles;\n        info->recvNetHandles = recvNetHandles;\n        info->srecvNetHandles = srecvNetHandles;\n        if (comm->isOneRPN && (info->func == ncclFuncAllGather || info->func == ncclFuncBroadcast)) {\n          info->nMaxChannels = 1;\n        }\n      } else {\n        free(sendNetHandles);\n        free(recvNetHandles);\n        free(srecvNetHandles);\n      }\n\n      free(sendNetConns);\n      free(recvNetConns);\n    } else if (info->algorithm == NCCL_ALGO_TREE || info->algorithm == NCCL_ALGO_COLLNET_CHAIN) {\n      struct ncclReg* recvRegRecord;\n      int netSendRegFlag = 0, netRecvRegFlag = 0;\n      void *sendHandle, *recvHandle;\n      NCCLCHECK(ncclRegFind(comm, info->recvbuff, recvbuffSize, &recvRegRecord));\n      if (recvRegRecord == NULL && !(comm->planner.persistent && ncclParamGraphRegister())) goto exit;\n      if (comm->isAllDirectP2p) {\n        for (int c = 0; c < comm->nChannels; ++c) {\n          struct ncclChannel* channel = comm->channels + c;\n          struct ncclTree* tree = NULL;\n          int peers[NCCL_MAX_TREE_ARITY + 1];\n\n          if (info->algorithm == NCCL_ALGO_TREE)\n            tree = &channel->tree;\n          else\n            tree = &channel->collnetChain;\n          for (int p = 0; p < NCCL_MAX_TREE_ARITY; ++p) peers[p] = tree->down[p];\n          peers[NCCL_MAX_TREE_ARITY] = tree->up;\n          for (int p = 0; p < NCCL_MAX_TREE_ARITY + 1; ++p) {\n            int peer = peers[p];\n            bool peerNeedReg = false;\n            struct ncclConnector* recvConn = NULL;\n            // P2P transport\n            if (peer == -1 || peer == comm->nRanks) continue;\n            recvConn = &channel->peers[peer]->recv[0];\n            NCCLCHECK(registerCheckP2PConnection(comm, recvConn, &comm->graphs[info->algorithm], peer, &peerNeedReg));\n\n            if (peerNeedReg) {\n              bool found = false;\n              for (int pindex = 0; pindex < nPeers; ++pindex) {\n                if (peerRanks[pindex] == peer) {\n                  found = true;\n                  break;\n                }\n              }\n              if (!found) peerRanks[nPeers++] = peer;\n            }\n          }\n        }\n        if (nPeers > 0) {\n          if (comm->planner.persistent && ncclParamGraphRegister()) {\n            ncclIpcGraphRegisterBuffer(comm, info->recvbuff, recvbuffSize, peerRanks, nPeers, NCCL_IPC_COLLECTIVE, &regBufFlag, &info->recvbuffOffset, &info->recvbuffRmtAddrs, cleanupQueue, &info->nCleanupQueueElts);\n          }\n          if (!regBufFlag && ncclParamLocalRegister()) {\n            ncclIpcLocalRegisterBuffer(comm, info->recvbuff, recvbuffSize, peerRanks, nPeers, NCCL_IPC_COLLECTIVE, &regBufFlag, &info->recvbuffOffset, &info->recvbuffRmtAddrs);\n          }\n        }\n        if (regBufFlag) {\n          info->regBufType = NCCL_IPC_REG_BUFFER;\n        }\n      }\n\n      // register collnet chain 1RPN buffer\n      if (info->algorithm == NCCL_ALGO_COLLNET_CHAIN && info->opDev.op != ncclDevPreMulSum && info->opDev.op != ncclDevSumPostDiv && comm->isOneRPN) {\n        if (comm->planner.persistent && ncclParamGraphRegister()) {\n          ncclCollnetGraphRegisterBuffer(comm, info->sendbuff, sendbuffSize, collNetSend, &netSendRegFlag, &sendHandle, cleanupQueue, &info->nCleanupQueueElts);\n          info->sendMhandle = sendHandle;\n          if (netSendRegFlag) {\n            ncclCollnetGraphRegisterBuffer(comm, info->recvbuff, recvbuffSize, collNetRecv, &netRecvRegFlag, &recvHandle, cleanupQueue, &info->nCleanupQueueElts);\n            info->recvMhandle = recvHandle;\n          }\n        }\n\n        if ((netSendRegFlag == 0 || netRecvRegFlag == 0) && ncclParamLocalRegister()) {\n          if (!netSendRegFlag) {\n            ncclCollnetLocalRegisterBuffer(comm, info->sendbuff, sendbuffSize, collNetSend, &netSendRegFlag, &sendHandle);\n            info->sendMhandle = sendHandle;\n          }\n          if (netSendRegFlag && !netRecvRegFlag) {\n            ncclCollnetLocalRegisterBuffer(comm, info->recvbuff, recvbuffSize, collNetRecv, &netRecvRegFlag, &recvHandle);\n            info->recvMhandle = recvHandle;\n          }\n        }\n      }\n\n      if (netSendRegFlag && netRecvRegFlag) {\n        if (comm->isOneRPN) info->nMaxChannels = 1;\n        info->regBufType |= NCCL_NET_REG_BUFFER;\n      }\n    }\n\n    if (info->regBufType == NCCL_IPC_REG_BUFFER && comm->nNodes == 1 && 16 < info->nMaxChannels && info->nMaxChannels <= 24) {\n      info->nMaxChannels = 16;\n    }\n  }\n#endif\nexit:\n  return result;\n}\n"
  },
  {
    "path": "src/register/register.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"argcheck.h\" // Need some checks here since we access comm\n#include \"nccl.h\"\n#include \"comm.h\"\n#include \"net.h\"\n#include \"register.h\"\n#include \"transport.h\"\n#include \"group.h\"\n#include \"api_trace.h\"\n#ifdef ENABLE_MSCCLPP\n#include \"mscclpp/mscclpp_nccl.h\"\n#endif\n\nusing namespace rccl;\n\nNCCL_PARAM(LocalRegister, \"LOCAL_REGISTER\", 0); // LWPCOMMLIBS-632: off by default for RCCL as unsupported feature.\n\nncclResult_t ncclRegLocalIsValid(struct ncclReg *reg, bool *isValid) {\n  if (reg && isValid) {\n    if (reg->localRefs)\n      *isValid = true;\n    else\n      *isValid = false;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclRegister(struct ncclComm* comm, void* data, size_t size, bool isGraph, void** handle) {\n  NCCLCHECK(CommCheck(comm, \"ncclCommRegister\", \"comm\"));\n  struct ncclRegCache* cache = &comm->regCache;\n  uintptr_t pageSize = cache->pageSize;\n  uintptr_t begAddr = (uintptr_t)data & -pageSize;\n  uintptr_t endAddr = ((uintptr_t)data + size + pageSize-1) & -pageSize;\n\n  if (comm->checkPointers) NCCLCHECK(CudaPtrCheck(data, comm, \"buff\", \"ncclCommRegister\"));\n  INFO(NCCL_REG, \"register comm %p buffer %p size %zi\", comm, data, size);\n\n  for (int slot=0; /*true*/; slot++) {\n    if ((slot == cache->population) || (begAddr < cache->slots[slot]->begAddr)) {\n      if (cache->population == cache->capacity) { // must grow cache\n        cache->capacity = cache->capacity < 32 ? 32 : 2*cache->capacity;\n        NCCLCHECK(ncclRealloc(&cache->slots, cache->population, cache->capacity));\n      }\n      memmove(cache->slots+slot+1, cache->slots+slot, (cache->population-slot)*sizeof(struct ncclReg*));\n      NCCLCHECK(ncclCalloc(cache->slots+slot, 1));\n      struct ncclReg* regSlot = cache->slots[slot];\n      regSlot->begAddr = begAddr;\n      regSlot->endAddr = endAddr;\n      if (isGraph) regSlot->graphRefs = 1;\n      else regSlot->localRefs = 1;\n      cache->population += 1;\n      *handle = regSlot;\n      goto exit;\n    } else if ((cache->slots[slot]->begAddr <= begAddr) &&\n               (cache->slots[slot]->endAddr >= endAddr)) {\n      if (isGraph) cache->slots[slot]->graphRefs++;\n      else cache->slots[slot]->localRefs++;\n      *handle = cache->slots[slot];\n      goto exit;\n    }\n  }\n\nexit:\n  return ncclSuccess;\n}\n\nstatic ncclResult_t regCleanup(struct ncclComm* comm, struct ncclReg* reg) {\n  if (reg->state & NET_REG_COMPLETE) {\n    struct ncclRegNetHandles* netHandle = reg->netHandleHead;\n    struct ncclRegNetHandles* netHandlePrev;\n    while(netHandle) {\n      if (ncclNetDeregBuffer(comm, netHandle->proxyConn, netHandle->handle) != ncclSuccess) {\n        WARN(\"rank %d deregister NET buffer handle %p proxy rank %d failed\\n\", comm->rank, netHandle->handle, netHandle->proxyConn->rank);\n      }\n      netHandlePrev = netHandle;\n      netHandle = netHandle->next;\n      free(netHandlePrev);\n    }\n  }\n  if (reg->state & NVLS_REG_COMPLETE) {\n    if (ncclNvlsDeregBuffer(comm, &reg->mcHandle, reg->regAddr, reg->dev, reg->regUCSize, reg->regMCSize) != ncclSuccess) {\n      WARN(\"rank %d deregister NVLS buffer %p dev %d ucsize %ld mcsize %ld failed\", comm->rank, (void*)reg->regAddr, reg->dev, reg->regUCSize, reg->regMCSize);\n    }\n    reg->regAddr = (CUdeviceptr)NULL;\n  }\n  if (reg->state & COLLNET_REG_COMPLETE) {\n    if (ncclCollnetDeregBuffer(comm, reg->collnetProxyconn, reg->collnetHandle) != ncclSuccess) {\n      WARN(\"rank %d deregister COLLNET buffer handle %p proxy rank %d failed\", comm->rank, reg->collnetHandle, reg->collnetProxyconn->rank);\n    }\n  }\n  if (reg->state & IPC_REG_COMPLETE) {\n    for (int i = 0; i < NCCL_MAX_LOCAL_RANKS; ++i)\n      if (reg->ipcInfos[i]) {\n        if (ncclIpcDeregBuffer(comm, reg->ipcInfos[i]) != ncclSuccess) {\n          WARN(\"rank %d deregister IPC buffer %p peerRank %d failed\", comm->rank, reg->ipcInfos[i]->baseAddr, reg->ipcInfos[i]->peerRank);\n        }\n        free(reg->ipcInfos[i]);\n      }\n    if (reg->regIpcAddrs.hostPeerRmtAddrs) free(reg->regIpcAddrs.hostPeerRmtAddrs);\n    if (reg->regIpcAddrs.devPeerRmtAddrs) NCCLCHECK(ncclCudaFree(reg->regIpcAddrs.devPeerRmtAddrs));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclRegCleanup(struct ncclComm* comm) {\n  struct ncclRegCache* cache = &comm->regCache;\n  for (int i = 0; i < cache->population; i++) {\n    struct ncclReg* reg = cache->slots[i];\n    INFO(NCCL_INIT, \"Cleanup buffer %p pages %lx\", (void*)reg->begAddr, (reg->endAddr-reg->begAddr)/cache->pageSize);\n    NCCLCHECK(regCleanup(comm, reg));\n    free(reg);\n  }\n  free(cache->slots);\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, ncclCommRegister, const ncclComm_t comm, void* buff, size_t size, void** handle);\nncclResult_t ncclCommRegister_impl(const ncclComm_t comm, void* buff, size_t size, void** handle) {\n  ncclResult_t ret = ncclSuccess;\n\n  if (!ncclParamLocalRegister())\n    *handle = NULL;\n  else {\n    #ifdef ENABLE_MSCCLPP\n    if (comm->mscclppCompatible) {\n      if (comm->mscclCompatible && size > 0){\n        bool isManagedBuffer = false; \n        CUDACHECK(hipPointerGetAttribute(&isManagedBuffer, HIP_POINTER_ATTRIBUTE_IS_MANAGED, const_cast<void*>(buff)));\n        if(!isManagedBuffer){\n          INFO(NCCL_INIT, \"MSCCL++: ncclCommRegister\");\n          NCCLCHECKGOTO(mscclpp_ncclCommRegister(comm->mscclpp_comm, buff, size, handle), ret, end);\n        }\n        else{\n          WARN(\"MSCCL++: Cannot register user-buffers on managed memory. RCCL user-buffer registration will occur.\");\n        }\n      }\n    }\n    #endif\n    INFO(NCCL_INIT, \"RCCL: ncclCommRegister\");\n    NCCLCHECKGOTO(ncclRegister(comm, buff, size, false, handle), ret, end);\n  }\nend:\n  // !recording at sink\n  NCCLCHECK(Recorder::instance().record(rrCommRegister, comm, *handle, buff, size));\n  return ret;\n}\n\nncclResult_t ncclCommGraphRegister(const ncclComm_t comm, void* buff, size_t size, void** handle) {\n  NCCLCHECK(ncclRegister(comm, buff, size, true, handle));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t commDeregister(struct ncclComm *comm, bool isGraph, struct ncclReg* reg) {\n  NCCLCHECK(CommCheck(comm, \"ncclCommRegister\", \"comm\"));\n  struct ncclRegCache* cache = &comm->regCache;\n  int slot;\n  int saveDev;\n  if (reg == NULL) goto exit;\n  CUDACHECK(cudaGetDevice(&saveDev));\n  CUDACHECK(cudaSetDevice(comm->cudaDev));\n  for (slot = 0; slot < cache->population && cache->slots[slot] != reg; slot++);\n  if (slot == cache->population) {\n    WARN(\"Deregister: Could not find handle\");\n    return ncclInvalidUsage;\n  }\n  if (isGraph) --reg->graphRefs;\n  else --reg->localRefs;\n  if (reg->localRefs || reg->graphRefs) return ncclSuccess;\n  NCCLCHECK(regCleanup(comm, reg));\n  free(reg);\n  memmove(cache->slots + slot, cache->slots + slot + 1, (cache->population - slot - 1) * sizeof(struct ncclReg*));\n  cache->population -= 1;\n  CUDACHECK(cudaSetDevice(saveDev));\nexit:\n  return ncclSuccess;\n}\n\nNCCL_API(ncclResult_t, ncclCommDeregister, const ncclComm_t comm, void* handle);\nncclResult_t ncclCommDeregister_impl(const ncclComm_t comm, void *handle) {\n  NCCLCHECK(Recorder::instance().record(rrCommDeregister, comm, handle));\n\n  #ifdef ENABLE_MSCCLPP\n  if (comm->mscclppCompatible) {\n    const size_t size = mscclpp_BufferSize(comm->mscclpp_comm, handle);\n    if (comm->mscclCompatible && size > 0) {\n        NCCLCHECK(mscclpp_ncclCommDeregister(comm->mscclpp_comm, handle));\n      return ncclSuccess;\n    }\n  }\n  #endif\n\n  NCCLCHECK(commDeregister(comm, false, (struct ncclReg*)handle));\n  return ncclSuccess;\n}\n\nncclResult_t ncclCommGraphDeregister(const ncclComm_t comm, struct ncclReg *handle) {\n  NCCLCHECK(commDeregister(comm, true, handle));\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/register/sendrecv_reg.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2025, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"register.h\"\n#include \"transport.h\"\n\nncclResult_t ncclRegisterP2pNetBuffer(struct ncclComm* comm, void* userbuff, size_t size, struct ncclConnector* conn, int* regFlag, void** handle, struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue) {\n  ncclResult_t ret = ncclSuccess;\n\n  *regFlag = 0;\n  if (comm->netDeviceType != NCCL_NET_DEVICE_UNPACK) {\n    if (comm->planner.persistent && ncclParamGraphRegister()) {\n      ncclNetGraphRegisterBuffer(comm, userbuff, size, &conn, 1, regFlag, handle, cleanupQueue, NULL);\n    }\n    if (*regFlag == 0 && ncclParamLocalRegister()) {\n      ncclNetLocalRegisterBuffer(comm, userbuff, size, &conn, 1, regFlag, handle);\n    }\n  }\n  return ret;\n}\n\nncclResult_t ncclRegisterP2pIpcBuffer(struct ncclComm* comm, void* userbuff, size_t size, int peerRank, int* regFlag, void** regAddr, struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue) {\n  ncclResult_t ret = ncclSuccess;\n  uintptr_t offset = 0;\n  uintptr_t* peerRmtAddrs = NULL;\n\n  *regFlag = 0;\n  if (comm->planner.persistent && ncclParamGraphRegister()) {\n    ncclIpcGraphRegisterBuffer(comm, userbuff, size, &peerRank, 1, NCCL_IPC_SENDRECV, regFlag, &offset, &peerRmtAddrs, reinterpret_cast<void*>(cleanupQueue), NULL);\n  }\n  if (*regFlag == 0 && ncclParamLocalRegister()) {\n    ncclIpcLocalRegisterBuffer(comm, userbuff, size, &peerRank, 1, NCCL_IPC_SENDRECV, regFlag, &offset, &peerRmtAddrs);\n  }\n\n  if (*regFlag)\n    *regAddr = (void*)((uintptr_t)peerRmtAddrs + offset);\n  return ret;\n}\n"
  },
  {
    "path": "src/scheduler/CMakeLists.txt",
    "content": "# Scheduler sources\nset(SCHEDULER_SOURCES\n    ${CMAKE_CURRENT_SOURCE_DIR}/symmetric_sched.cc\n)\n\n# Add scheduler sources to parent scope\nset(SCHEDULER_SOURCES ${SCHEDULER_SOURCES} PARENT_SCOPE)\n"
  },
  {
    "path": "src/scheduler/symmetric_sched.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_SYMMETRIC_SCHED_H_\n#define NCCL_SYMMETRIC_SCHED_H_\n\n#include \"scheduler.h\"\n\nncclResult_t ncclMakeSymmetricTaskList(struct ncclComm* comm, struct ncclTaskColl* task, struct ncclIntruQueue<struct ncclTaskColl, &ncclTaskColl::next>* symTaskQueue, struct ncclTaskColl** remainTasksHead) {\n  ncclResult_t ret = ncclSuccess;\n  int fnOpTySymCount = 0;\n  struct ncclTaskColl* tasksSymByFnOpTy[ncclNumFuncs * ncclNumDevRedOps * ncclNumTypes];\n  int fnOpTySymIndices[ncclNumFuncs * ncclNumDevRedOps * ncclNumTypes];\n  struct ncclKernelPlanner* planner = &comm->planner;\n  struct ncclTaskColl* remainTasksTail = nullptr;\n\n  memset(tasksSymByFnOpTy, 0, sizeof(tasksSymByFnOpTy));\n  *remainTasksHead = nullptr;\n  while (task != nullptr) {\n    int index = ((int)task->func*ncclNumDevRedOps + (int)task->opDev.op)*ncclNumTypes + (int)task->datatype;\n    struct ncclTaskColl* next = task->next;\n    NCCLCHECK(ncclDevrFindWindow(comm, task->sendbuff, &task->sendWin));\n    NCCLCHECK(ncclDevrFindWindow(comm, task->recvbuff, &task->recvWin));\n    bool symAvailable = ncclSymkAvailable(comm, task->func, task->opDev.op, task->datatype, task->count);\n\n    if (task->sendWin && task->recvWin && (task->sendWin->winFlags & task->recvWin->winFlags & NCCL_WIN_COLL_SYMMETRIC) && symAvailable) {\n      if (tasksSymByFnOpTy[index] == nullptr) fnOpTySymIndices[fnOpTySymCount++] = index;\n      task->next = tasksSymByFnOpTy[index];\n      tasksSymByFnOpTy[index] = task;\n      planner->nTasksColl--;\n    } else {\n      if (*remainTasksHead) {\n        remainTasksTail->next = task;\n       remainTasksTail = task;\n      } else {\n        *remainTasksHead = remainTasksTail = task;\n      }\n    }\n    task = next;\n  }\n  if (remainTasksTail) remainTasksTail->next = nullptr;\n\n  // make sure kernel args space can hold at least a single work\n  assert(comm->workArgsBytes >= ncclSymkDevWorkArgs::calcArgsSize(MAXCHANNELS, 1));\n\n  // Determine symmetric tasks kernels\n  for (int cursor = 0; cursor < fnOpTySymCount; cursor++) {\n    struct ncclTaskColl* task = tasksSymByFnOpTy[fnOpTySymIndices[cursor]];\n    while (task != NULL) {\n      ncclSymkKernelId kernelId = ncclSymkKernelId_Count;\n      int nChannels = MAXCHANNELS;\n      int nWarps = 0;\n      int nWorks = 0;\n      float estTimeUs = 1.e18;\n      size_t countTotal = 0, countMax = 0;\n      struct ncclTaskColl* headTask = task;\n      size_t cellCount = NCCL_SYM_KERNEL_CELL_SIZE / ncclTypeSize(headTask->datatype);\n      // For now we assume higher kernel id means a kernel for larger data size\n      while (task != nullptr) {\n        size_t count;\n        nWorks++;\n        count = alignUp(task->count, cellCount);\n        countTotal += count;\n        if (count > countMax) countMax = count;\n        if (ncclSymkDevWorkArgs::calcArgsSize(MAXCHANNELS, nWorks + 1) > comm->workArgsBytes || task->next == nullptr) {\n          task->isSymLast = 1;\n          break;\n        }\n        task = task->next;\n      }\n      NCCLCHECK(ncclSymkPickKernel(comm, headTask->func, headTask->opDev.op, headTask->datatype,\n                                   countTotal, countMax, nWorks,\n                                   &estTimeUs, &kernelId, &nChannels, &nWarps));\n      if (kernelId == ncclSymkKernelId_Count) {\n        char const* name = ncclGetEnv(\"NCCL_SYM_KERNEL\");\n        WARN(\"Error: no symmetric kernel available for function %s.%s%s\",\n             ncclFuncToString(headTask->func), (name ? \" NCCL_SYM_KERNEL was set to \" : \"\"), (name ? name: \"\"));\n        ret = (name ? ncclInvalidUsage : ncclInternalError);\n        goto fail;\n      }\n      // set all symmetric tasks to the same kernel\n      task = headTask;\n      while (task != nullptr) {\n        struct ncclTaskColl* next = task->next;\n        int isSymLast = task->isSymLast;\n        task->devFuncId = (uint32_t)kernelId;\n        task->nMaxChannels = nChannels;\n        task->nWarps = nWarps;\n        ncclIntruQueueEnqueue(&planner->collSymTaskQueue, task);\n        task = next;\n        if (isSymLast) break;\n      }\n    }\n  }\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t ncclSymmetricTaskScheduler(struct ncclComm* comm, struct ncclIntruQueue<struct ncclTaskColl, &ncclTaskColl::next>* symTaskQueue, struct ncclKernelPlan* plan) {\n  struct ncclTaskColl* headTask = ncclIntruQueueHead(symTaskQueue);\n  int devFuncId = headTask->devFuncId;\n  struct ncclTaskColl* task = NULL;\n  ssize_t totalCount = 0;  // aligned bytes\n  ssize_t logCount = 0;\n  ssize_t remainCell = 0;\n  ssize_t cellPerChannel = 0;\n  int workCount = 0, workIndex = 0;\n  size_t cellCount = NCCL_SYM_KERNEL_CELL_SIZE / ncclTypeSize(headTask->datatype); // minimal cell size\n  ncclResult_t ret = ncclSuccess;\n  int curChannel = 0;\n  int curChannelWork = 0;\n  int nMaxChannels = headTask->nMaxChannels;\n  struct ncclSymkDevWork* workBufPtr = NULL;\n  struct ncclSymkChannelWorkRange* workRangePtr = NULL;\n  const char* funcName = ncclFuncToString(headTask->func);\n  const char* kernelName = ncclSymkKernelIdToString(headTask->devFuncId);\n  struct ncclSymkDevWorkArgs* argsBuf = NULL;\n\n  plan->isSymColl = true;\n  plan->threadPerBlock = headTask->nWarps * WARP_SIZE;\n  plan->hasProxyOps = false;\n  plan->kernelFn = ncclSymkGetKernelPtr((ncclSymkKernelId)headTask->devFuncId, headTask->opDev.op, headTask->datatype);\n  task = headTask;\n  while (task != nullptr && task->devFuncId == devFuncId) {\n    workCount++;\n    totalCount += alignUp(task->count, cellCount);\n    logCount += task->count;\n    if (task->isSymLast == 1) break;\n    task = task->next;\n  }\n\n  plan->kernelArgsSize = ncclSymkDevWorkArgs::calcArgsSize(nMaxChannels, workCount);\n  argsBuf = (struct ncclSymkDevWorkArgs*)calloc(1, plan->kernelArgsSize);\n\n  remainCell = cellPerChannel = DIVUP(DIVUP(totalCount, nMaxChannels), cellCount);\n  workRangePtr = argsBuf->getWorkRange();\n  workBufPtr = argsBuf->getWorks(nMaxChannels);\n  argsBuf->nMaxChannels = nMaxChannels;\n\n  while (!ncclIntruQueueEmpty(symTaskQueue)) {\n    struct ncclSymkDevWork devWork = {};\n    size_t cellLeft = 0, taskCell = 0;\n    uint8_t isSymLast = 0;\n\n    if (ncclIntruQueueHead(symTaskQueue)->devFuncId != devFuncId) break; // scheduling is done\n\n    task = ncclIntruQueueDequeue(symTaskQueue);\n    isSymLast = task->isSymLast;\n\n    NCCLCHECKGOTO(ncclSymkMakeDevWork(comm, task, &devWork), ret, fail);\n\n    cellLeft = taskCell = DIVUP(task->count, cellCount);\n    for (;curChannel < nMaxChannels;) {\n      workRangePtr[curChannel].workHi = workIndex;\n      if (curChannelWork == 0) {\n        if (devWork.nChannels == 0) {\n          devWork.sChannelId = curChannel;\n          devWork.nChannels = 1;\n        } else if (cellLeft <= remainCell) {\n          // the last segment of the task\n          assert(devWork.nChannels > 0);\n          // if the remaining cell is less than 1024 bytes, we can fuse the last channel\n          if ((remainCell - cellLeft) * NCCL_SYM_KERNEL_CELL_SIZE <= (1 << 10) || ncclIntruQueueEmpty(symTaskQueue)) devWork.nChannels++;\n        } else {\n          // middle segment of the task\n          devWork.nChannels++;\n        }\n      } else {\n        assert(cellLeft == taskCell);\n        if (taskCell <= remainCell) {\n          // the first segment of the task is fully scheduled onto the channel\n          devWork.sChannelId = curChannel;\n          devWork.nChannels = 1;\n        }\n      }\n      if (cellLeft < remainCell) {\n        workRangePtr[curChannel].fracHi = uint16_t(0x10000UL - 1);\n        remainCell -= cellLeft;\n        curChannelWork++;\n        break;\n      } else if (cellLeft == remainCell) {\n        workRangePtr[curChannel].fracHi = uint16_t(0x10000UL - 1);\n        remainCell = cellPerChannel;\n        curChannel++;\n        curChannelWork = 0;\n        break;\n      } else {\n        // cellLeft > remainCell; the task is partially scheduled onto the channel\n        cellLeft -= remainCell;\n        workRangePtr[curChannel].fracHi = uint16_t(DIVUP(0x10000L * (taskCell - cellLeft), taskCell) - 1);\n        remainCell = cellPerChannel;\n        curChannel++;\n        curChannelWork = 0;\n      }\n    }\n    memcpy(workBufPtr + workIndex, &devWork, sizeof(struct ncclSymkDevWork));\n    workIndex++;\n\n    // Profiler\n    plan->groupApiEventHandle = task->groupApiEventHandle;\n\n    ncclMemoryPoolFree<struct ncclTaskColl>(&comm->memPool_ncclTaskColl, task);\n    if (isSymLast == 1) break;\n    if (curChannel == nMaxChannels) {\n      WARN(\"ncclSymmetricTaskScheduler ran out of channel space (nMaxChannels=%d, workCount=%d, workIndex=%d)\",\n           nMaxChannels, workCount, workIndex);\n      goto fail;\n    }\n  }\n  if (remainCell < cellPerChannel) curChannel++;\n\n  memcpy(&argsBuf->kcomm, &comm->symkState.kcomm, sizeof(comm->symkState.kcomm));\n  plan->workBytes = totalCount * ncclTypeSize(headTask->datatype);\n  // plan->channelMask = uint64_t(-1) >> (64 - curChannel);\n  plan->kernelSymArgs = (void*)argsBuf;\n  plan->workStorageType = ncclDevWorkStorageTypeArgs;\n\n  if (comm->rank == 0) {\n    INFO(NCCL_TUNING, \"%s [Symmetric]: %ld Bytes -> Kernel %s nchannels %d nthreads %d nWorks %d\", funcName,\n         logCount * ncclTypeSize(headTask->datatype), kernelName, curChannel, plan->threadPerBlock, workCount);\n  }\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\n#endif // NCCL_SYMMETRIC_SCHED_H_\n"
  },
  {
    "path": "src/sym_kernels.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.\n * Modification Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"sym_kernels.h\"\n#include \"comm.h\"\n#include \"device.h\"\n#include \"transport.h\"\n#include <cmath>\n\nconstexpr char const* kernelName[] = {\n  // Must align with enum ncclSymkKernelId definition in src/include/sym_kernels.h\n  \"AllReduce_AGxLL_R\",\n  \"AllReduce_AGxLLMC_R\",\n  \"AllReduce_RSxLD_AGxST\",\n  \"AllReduce_RSxLDMC_AGxSTMC\",\n  \"AllReduce_RSxNet_ARxMC_AGxNet\",\n  \"AllGather_LL\",\n  \"AllGather_LLMC\",\n  \"AllGather_ST\",\n  \"AllGather_STMC\",\n  \"ReduceScatter_LL\",\n  \"ReduceScatter_LD\",\n  \"ReduceScatter_LDMC\"\n};\n\nconstexpr uint32_t kernelMask_STMC = 1<<ncclSymkKernelId_AllGather_LLMC |\n                                     1<<ncclSymkKernelId_AllGather_STMC |\n                                     1<<ncclSymkKernelId_AllReduce_AGxLLMC_R |\n                                     1<<ncclSymkKernelId_AllReduce_RSxLDMC_AGxSTMC |\n                                     1<<ncclSymkKernelId_ReduceScatter_LDMC;\n\nconstexpr uint32_t kernelMask_LDMC = 1<<ncclSymkKernelId_AllReduce_RSxLDMC_AGxSTMC |\n                                     1<<ncclSymkKernelId_ReduceScatter_LDMC;\n\nconstexpr uint32_t kernelMask_LL = 1<<ncclSymkKernelId_AllReduce_AGxLL_R |\n                                   1<<ncclSymkKernelId_AllReduce_AGxLLMC_R |\n                                   1<<ncclSymkKernelId_AllGather_LL |\n                                   1<<ncclSymkKernelId_AllGather_LLMC |\n                                   1<<ncclSymkKernelId_ReduceScatter_LL;\n\nconstexpr uint32_t kernelMask_AG = 1<<ncclSymkKernelId_AllGather_LL |\n                                   1<<ncclSymkKernelId_AllGather_LLMC |\n                                   1<<ncclSymkKernelId_AllGather_ST |\n                                   1<<ncclSymkKernelId_AllGather_STMC;\n\nconstexpr uint32_t kernelMask_AR = 1<<ncclSymkKernelId_AllReduce_AGxLLMC_R |\n                                   1<<ncclSymkKernelId_AllReduce_AGxLL_R |\n                                   1<<ncclSymkKernelId_AllReduce_RSxLDMC_AGxSTMC |\n                                   1<<ncclSymkKernelId_AllReduce_RSxLD_AGxST;\n\nconstexpr uint32_t kernelMask_RS = 1<<ncclSymkKernelId_ReduceScatter_LD |\n                                   1<<ncclSymkKernelId_ReduceScatter_LDMC |\n                                   1<<ncclSymkKernelId_ReduceScatter_LL;\n\nstatic uint32_t kernelMask_coll(ncclFunc_t coll) {\n  switch (coll) {\n  case ncclFuncAllGather: return kernelMask_AG;\n  case ncclFuncAllReduce: return kernelMask_AR;\n  case ncclFuncReduceScatter: return kernelMask_RS;\n  default: return 0;\n  }\n}\n\nstatic uint32_t kernelMask_user() {\n  static uint32_t cache = -1u;\n  uint32_t got = __atomic_load_n(&cache, __ATOMIC_RELAXED);\n  if (got == -1u) {\n    // TODO: Enhance this to be a pattern match. I like regex's but we also have\n    // the parseList() used by NCCL_ALGO/PROTO.\n    char const* name = ncclGetEnv(\"NCCL_SYM_KERNEL\");\n    if (name == nullptr || strcmp(name, \"^\") == 0) {\n      static_assert((int)ncclSymkKernelId_Count < 32, \"Use more than 32 bits\");\n      got = (1<<(int)ncclSymkKernelId_Count)-1;\n    } else {\n      got = 0;\n      for (int k=0; k < (int)ncclSymkKernelId_Count; k++) {\n        if (strcmp(kernelName[k], name) == 0) {\n          __atomic_store_n(&cache, 1<<k, __ATOMIC_RELAXED);\n          got = 1<<k;\n          break;\n        }\n      }\n    }\n    __atomic_store_n(&cache, got, __ATOMIC_RELAXED);\n  }\n  return got;\n}\n\nNCCL_PARAM(SymCTAs, \"SYM_CTAS\", 0)\n\nstatic double softmin(double x, double ceiling, double softness) {\n  // looks like a smooth version of: min(x, ceiling)\n  return ceiling - softness*std::log1p((std::exp(ceiling/softness) - 1)*std::exp(-x/softness));\n}\n\nstatic double softplus(double x, double softness) {\n  // looks like a smooth version of: max(0, x)\n  double z = x/softness;\n  return 100.0 <= z ? x : softness*std::log1p(std::exp(z));\n}\n\nstatic double model(double busBytes, double baseLat, int nSMs, double smBw, double busMultiplier, double peakBw) {\n  double bw = softmin(nSMs*smBw*busMultiplier, peakBw, smBw);\n  return baseLat + softplus(busBytes/bw - 1, 1);\n}\n\n// Given the kernel and bytes, return the minimum number of blocks to run on such that\n// perf is 99% of running at max blocks, and return the estimate runtime for that\n// block count.\nstatic void queryModel(struct ncclComm* comm, ncclSymkKernelId k, size_t nBytes, float* timeUs, int* nBlocks) {\n  constexpr double LL_BusFactor = 9; // 2X the bytes, plus some processing, plus no unrolling\n\n  int nRanks = comm->nRanks;\n  int nMaxBlocks = ncclSymkMaxBlocks;\n  int nMaxBlocksNvls = divUp((comm->cudaArch < 1000 ? 16 : 32), nRanks);\n  size_t busBytes; // max(bytes sent, bytes received)\n  double busMultiplier = 1;\n\n  switch (k) {\n  default:\n    busBytes = size_t(1)<<50;\n    break;\n\n  case ncclSymkKernelId_AllReduce_AGxLL_R:\n    busBytes = nRanks*nBytes*LL_BusFactor;\n    break;\n  case ncclSymkKernelId_AllReduce_AGxLLMC_R:\n    busBytes = nRanks*nBytes*LL_BusFactor;\n    busMultiplier = 1.1; // To beat non-MC LL\n    break;\n  case ncclSymkKernelId_AllReduce_RSxLD_AGxST:\n    busBytes = 2*nBytes*(nRanks-1)/nRanks;\n    break;\n  case ncclSymkKernelId_AllReduce_RSxLDMC_AGxSTMC:\n    busBytes = nBytes/nRanks + nBytes;\n    busMultiplier = nRanks;\n    nMaxBlocks = nMaxBlocksNvls;\n    break;\n\n  case ncclSymkKernelId_AllGather_LL:\n    busBytes = nRanks*nBytes*LL_BusFactor;\n    break;\n  case ncclSymkKernelId_AllGather_LLMC:\n    busBytes = nRanks*nBytes*LL_BusFactor;\n    busMultiplier = 1.1; // To beat non-MC LL\n    break;\n  case ncclSymkKernelId_AllGather_ST:\n    busBytes = (nRanks-1)*nBytes;\n    break;\n  case ncclSymkKernelId_AllGather_STMC:\n    busBytes = (nRanks-1)*nBytes; // Wrong. Should be nRanks*nBytes but we want to beat non-MC.\n    busMultiplier = 0.55*nRanks;\n    nMaxBlocks = nMaxBlocksNvls;\n    break;\n\n  case ncclSymkKernelId_ReduceScatter_LL:\n    busBytes = nRanks*nBytes*LL_BusFactor;\n    break;\n  case ncclSymkKernelId_ReduceScatter_LD:\n    busBytes = (nRanks-1)*nBytes;\n    break;\n  case ncclSymkKernelId_ReduceScatter_LDMC:\n    busBytes = (nRanks-1)*nBytes; // Wrong. Should be nRanks*nBytes but we want to beat non-MC.\n    busMultiplier = 0.55*nRanks;\n    nMaxBlocks = nMaxBlocksNvls;\n    break;\n  }\n\n  nMaxBlocks = std::min<int>(nMaxBlocks, comm->config.maxCTAs);\n  int nMinBlocks = comm->config.minCTAs;\n\n  int nUserCTAs = std::min<int>(ncclSymkMaxBlocks, ncclParamSymCTAs());\n  if (nUserCTAs > 0) nMinBlocks = nMaxBlocks = nUserCTAs;\n\n  bool isLL = kernelMask_LL>>k & 1;\n  bool isAG = kernelMask_AG>>k & 1;\n  bool isAR = kernelMask_AR>>k & 1;\n  constexpr double GBps = (1<<30)/1.e6;\n  double baseLat, smBw, peakBw;\n  if (comm->cudaArch < 1000) {\n    baseLat = isLL ? 4.5 : 7.8;\n    smBw = isAR ? 65*GBps : 44*GBps;\n    peakBw = k == ncclSymkKernelId_AllReduce_RSxLDMC_AGxSTMC ? 480*GBps : 320*GBps;\n  } else {\n    baseLat = isLL ? (isAG ? 8.5 : 11) : (isAR ? 19.5 : 13.0);\n    smBw = 55*GBps;\n    peakBw = k == ncclSymkKernelId_AllReduce_RSxLDMC_AGxSTMC ? 1000*GBps : 600*GBps;\n  }\n  *nBlocks = nMaxBlocks;\n  *timeUs = model(busBytes, baseLat, nMaxBlocks, smBw, busMultiplier, peakBw);\n  // Use least number of blocks that puts us within a tolerance of peak performance.\n  for (int bn = nMinBlocks; bn < nMaxBlocks; bn++) {\n    double time = model(busBytes, baseLat, bn, smBw, busMultiplier, peakBw);\n    if (time <= 1.025*(*timeUs)) {\n      *nBlocks = bn;\n      *timeUs = time;\n      break;\n    }\n  }\n}\n\nncclResult_t ncclSymkInitOnce(struct ncclComm* comm) {\n  struct ncclSymkState* symk = &comm->symkState;\n  if (!symk->initialized) {\n    symk->initialized = true;\n    struct ncclDevCommRequirements reqs = {};\n    reqs.lsaMultimem = comm->nvlsSupport;\n    reqs.lsaBarrierCount = ncclSymkMaxBlocks;\n\n    struct ncclDevResourceRequirements lla2aReq;\n    ncclLLA2ACreateRequirement(\n      ncclSymkMaxBlocks, ncclLLA2ACalcSlots(ncclTeamLsa(comm).nRanks*ncclSymkMaxThreads, ncclSymkLLMaxEltSize),\n      &symk->kcomm.lsaLLA2A, &lla2aReq\n    );\n    lla2aReq.next = reqs.resourceRequirementsList;\n    reqs.resourceRequirementsList = &lla2aReq;\n\n    NCCLCHECK(ncclDevrCommCreateInternal(comm, &reqs, &symk->kcomm.devComm));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclSymkFinalize(struct ncclComm* comm) {\n  struct ncclSymkState* symk = &comm->symkState;\n  if (symk->initialized) {\n    NCCLCHECK(ncclDevCommDestroy(comm, &symk->kcomm.devComm));\n  }\n  return ncclSuccess;\n}\n\nstatic bool ncclSymkImplemented(ncclFunc_t coll, int/*ncclDevRedOp_t*/ red, ncclDataType_t ty) {\n  bool isFloat;\n  switch (ty) {\n  case ncclFloat64:\n  case ncclFloat32:\n  case ncclFloat16:\n  case ncclBfloat16:\n  case ncclFloat8e4m3:\n  case ncclFloat8e5m2:\n    isFloat = true;\n    break;\n  default:\n    isFloat = false;\n    break;\n  }\n\n  switch (coll) {\n  case ncclFuncAllGather:\n    return true;\n  case ncclFuncAllReduce:\n  case ncclFuncReduceScatter:\n    return red == ncclDevSum && isFloat && ty != ncclFloat64;\n  default:\n    return false;\n  }\n}\n\nstatic uint32_t ncclSymkMask(struct ncclComm* comm, ncclFunc_t coll, int/*ncclDevRedOp_t*/ red, ncclDataType_t ty, size_t nElts) {\n  uint32_t kmask = kernelMask_coll(coll);\n  kmask &= kernelMask_user();\n\n  bool hasSTMC = comm->nvlsSupport;\n  bool hasLDMC = false;\n  if (comm->nvlsSupport) {\n    switch (ty) {\n    case ncclInt32:\n    case ncclUint32:\n    case ncclInt64:\n    case ncclUint64:\n    case ncclFloat16:\n    case ncclBfloat16:\n      hasLDMC = red == ncclDevSum || red == ncclDevMinMax;\n      break;\n    case ncclFloat8e4m3:\n    case ncclFloat8e5m2:\n      hasLDMC = red == ncclDevSum || red == ncclDevMinMax;\n      hasLDMC &= comm->compCap >= 100;\n      break;\n    case ncclFloat:\n    case ncclDouble:\n      hasLDMC = red == ncclDevSum;\n      break;\n    default: break;\n    }\n  }\n  if (!hasSTMC) kmask &= ~kernelMask_STMC;\n  if (!hasLDMC) kmask &= ~kernelMask_LDMC;\n\n  size_t nBytes = nElts*ncclTypeSize(ty);\n  size_t nBusBytes = (coll == ncclFuncAllReduce ? 1 : comm->nRanks)*nBytes;\n  // LL kernels use 32-bit ints to track element counts and indices.\n  if (nBusBytes >= (size_t(2)<<30)) kmask &= ~kernelMask_LL;\n  // Any kernel might use 32-bit int to track unrolled loop chunks (which are going\n  // to be at least 32 bytes per chunk)\n  if (nBusBytes >= 32*(size_t(2)<<30)) kmask = 0;\n\n  return kmask;\n}\n\nbool ncclSymkAvailable(struct ncclComm* comm, ncclFunc_t coll, int/*ncclDevRedOp_t*/ red,\n                       ncclDataType_t ty, size_t nElts) {\n  if (!ncclSymkImplemented(coll, red, ty))\n    return false;\n\n  return (ncclSymkMask(comm, coll, red, ty, nElts) != 0);\n}\n\nncclResult_t ncclSymkPickKernel(\n    struct ncclComm* comm, ncclFunc_t coll, int/*ncclDevRedOp_t*/ red, ncclDataType_t ty,\n    size_t nEltsTotal, size_t nEltsMax, int nWorks,\n    float* estTimeUs, ncclSymkKernelId* kernelId, int* nBlocks, int* nWarps\n  ) {\n  uint32_t kmask = ncclSymkMask(comm, coll, red, ty, nEltsMax);\n\n  // We currently don't support grouping for LL kernels.\n  if (nWorks > 1)\n    kmask &= ~kernelMask_LL;\n\n  ncclSymkKernelId bestKernel = ncclSymkKernelId_Count;\n  float bestTime = 1.e30f;\n  int bestBlocks = 999;\n  size_t nBytes = nEltsTotal*ncclTypeSize(ty);\n\n  constexpr float smPenalty = .025f; // 2.5% percent increase in time per SM\n  uint32_t kmaskRemain = kmask;\n  while (kmaskRemain != 0) {\n    ncclSymkKernelId k = (ncclSymkKernelId)popFirstOneBit(&kmaskRemain);\n    float kTime;\n    int kBlocks;\n    queryModel(comm, k, nBytes, &kTime, &kBlocks);\n    if (kTime*(1.0f + smPenalty*kBlocks) < bestTime*(1.0f + smPenalty*bestBlocks)) {\n      bestKernel = k;\n      bestTime = kTime;\n      bestBlocks = kBlocks;\n    }\n  }\n\n  *kernelId = bestKernel;\n  *estTimeUs = kmask==0 || kernelMask_user() == (1<<ncclSymkKernelId_Count)-1 ? bestTime : 0.0f;\n  *nBlocks = bestBlocks;\n  *nWarps = 16;\n  return ncclSuccess;\n}\n\nconst char* ncclSymkKernelIdToString(int kernelId) {\n  if (kernelId < 0 || kernelId >= ncclSymkKernelId_Count) {\n    return \"Unknown\";\n  }\n  return kernelName[kernelId];\n}\n\n#ifndef GENERATE_SYM_KERNELS\nvoid* ncclSymGetKernelPtr(ncclSymkKernelId kernelId, int/*ncclDevRedOp_t*/ red, ncclDataType_t ty) {\n  return nullptr;\n}\n#endif\n\n/* this function fills in the devWork except nextWorkOffset */\nncclResult_t ncclSymkMakeDevWork(struct ncclComm* comm, struct ncclTaskColl* task, struct ncclSymkDevWork* outDevWork) {\n  outDevWork->rootRank = task->root;\n  outDevWork->redOpArg = task->opDev.scalarArg;\n  outDevWork->nElts = task->count;\n  outDevWork->inputWin = task->sendWin->vidmem;\n  outDevWork->inputOff = (uint8_t*)task->sendbuff - (uint8_t*)task->sendWin->userPtr;\n  outDevWork->outputWin = task->recvWin->vidmem;\n  outDevWork->outputOff = (uint8_t*)task->recvbuff - (uint8_t*)task->recvWin->userPtr;\n  outDevWork->sChannelId = 0xffff;\n  outDevWork->nChannels = 0;\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "src/transport/CMakeLists.txt",
    "content": "# Transport sources\nset(TRANSPORT_SOURCES\n    ${CMAKE_CURRENT_SOURCE_DIR}/nvls.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/profiler.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/net_socket.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/p2p.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/net.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/net_ib.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/coll_net.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/shm.cc\n    ${CMAKE_CURRENT_SOURCE_DIR}/generic.cc\n)\n\n# Add transport sources to parent scope\nset(TRANSPORT_SOURCES ${TRANSPORT_SOURCES} PARENT_SCOPE)\n"
  },
  {
    "path": "src/transport/coll_net.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"coll_net.h\"\n#include \"graph.h\"\n#include \"proxy.h\"\n#include \"gdrwrap.h\"\n#include \"transport.h\"\n#include \"assert.h\"\n#include \"bootstrap.h\"\n#include \"channel.h\"\n#include \"register_inline.h\"\n\nint64_t ncclParamGdrCopySyncEnable();\nint64_t ncclParamGdrCopyFlushEnable();\n\nstruct collNetRecvConnectInfo {\n  collNetHandle_t collNetHandle;\n};\nstatic_assert(sizeof(collNetRecvConnectInfo) <= CONNECT_SIZE, \"Collnet Recv Connect info is too large\");\n\nstruct collNetSendConnectInfo {\n  void* mhandles[NCCL_NUM_PROTOCOLS];\n  void* reqFifo;\n};\nstatic_assert(sizeof(collNetSendConnectInfo) <= CONNECT_SIZE, \"Collnet Send Connect info is too large\");\n\n#define COLLNET_GROUP_NSUBS 8\n#define COLLNET_MAX_GROUPS (NCCL_PROXY_MAX_SUBS/COLLNET_GROUP_NSUBS)\n\n#define NCCL_NET_MAP_HOSTMEM 0\n#define NCCL_NET_MAP_DEVMEM 1\n#define NCCL_NET_MAP_SHARED_HOSTMEM 2\n#define NCCL_NET_MAP_SHARED_DEVMEM 3\n#define NCCL_NET_MAP_GDCMEM 4\n#define NCCL_NET_MAP_MEMS 5\n\n#define NCCL_NET_MAP_MASK_DEVMEM 0x40000000\n#define NCCL_NET_MAP_MASK_SHARED 0x80000000\n#define NCCL_NET_MAP_MASK_USED   0x20000000\n#define NCCL_NET_MAP_MASK_OFFSET 0x1fffffff\n\n#define NCCL_NET_MAP_OFFSET_BANK(mapStruct, offsetName) \\\n  ((mapStruct)->offsets.offsetName >> 30)\n\n#define NCCL_NET_MAP_OFFSET_NULL(mapStruct, offsetName) \\\n  (((mapStruct)->offsets.offsetName >> 29) == 0)\n\n#define NCCL_NET_MAP_GET_POINTER(mapStruct, cpuOrGpu, offsetName) \\\n  (NCCL_NET_MAP_OFFSET_NULL(mapStruct, offsetName) ? NULL : \\\n   (mapStruct)->mems[NCCL_NET_MAP_OFFSET_BANK(mapStruct, offsetName)].cpuOrGpu##Ptr + ((mapStruct)->offsets.offsetName & NCCL_NET_MAP_MASK_OFFSET))\n\n#define NCCL_NET_MAP_DEV_MEM(mapStruct, offsetName) \\\n  (((mapStruct)->offsets.offsetName & NCCL_NET_MAP_MASK_DEVMEM) != 0)\n\n#define NCCL_NET_MAP_ADD_POINTER(mapStruct, shared, dev, memSize, offsetName) do { \\\n    int bank = NCCL_NET_MAP_MASK_USED + (dev)*NCCL_NET_MAP_MASK_DEVMEM + (shared)*NCCL_NET_MAP_MASK_SHARED; \\\n    if ((shared) == 0) { \\\n      if (dev) { \\\n        (mapStruct)->offsets.offsetName = bank + (mapStruct)->mems[NCCL_NET_MAP_DEVMEM].size; \\\n        (mapStruct)->mems[NCCL_NET_MAP_DEVMEM].size += memSize; \\\n      } else { \\\n        (mapStruct)->offsets.offsetName = bank + (mapStruct)->mems[NCCL_NET_MAP_HOSTMEM].size; \\\n        (mapStruct)->mems[NCCL_NET_MAP_HOSTMEM].size += memSize; \\\n      } \\\n    } else { \\\n      (mapStruct)->offsets.offsetName = bank; \\\n    } \\\n} while (0);\n\nstruct connectMapMem{\n  char* gpuPtr;\n  char* cpuPtr;\n  int size;\n};\n\nstruct connectMap {\n  int shared;\n  // First 3 bits of offsets determine the mem bank. 001 is host mem, 011 is dev mem, 101 is shared host mem and 111 is shared dev mem.\n  struct connectMapMem mems[NCCL_NET_MAP_MEMS];\n  // Offsets. 3 MSBs indicate mem bank, 111 indicates NULL.\n  struct {\n    uint32_t sendMem;\n    uint32_t recvMem;\n    uint32_t buffs[NCCL_NUM_PROTOCOLS];\n  } offsets;\n};\n\nstruct reqSlot {\n  bool turnIsSendNotRecv;\n  int size;\n};\n\nstruct sendResources {\n  struct connectMap map;\n  void* collNetComm;\n  struct ncclSendMem* sendMem;\n  struct ncclRecvMem* recvMem;\n\n  int rank;\n  int nranks;\n  int netDev;\n  enum ncclTopoGdrMode useGdr;\n  int useDmaBuf;\n  uint64_t* gdcSync;\n  void* gdrDesc;\n  void* sendMhandles[NCCL_NUM_PROTOCOLS];\n  void* recvMhandles[NCCL_NUM_PROTOCOLS];\n  uint64_t step;\n  struct reqSlot (*reqFifo)[NCCL_STEPS];\n  int collNetRank;\n  size_t maxCollBytes;\n  volatile uint32_t* curr_hdp_reg;  // Curr GPU in ring (for rdma transport use only)\n};\n\nstruct recvResources {\n  struct connectMap map;\n  void* collNetComm;\n  struct ncclSendMem* sendMem;\n  struct ncclRecvMem* recvMem;\n\n  int rank;\n  int nranks;\n  int netDev;\n  enum ncclTopoGdrMode useGdr;\n  int useDmaBuf;\n  int needFlush;\n  uint64_t* gdcSync;\n  uint64_t* gdcFlush;\n  void* gdrDesc;\n  void* mhandles[NCCL_NUM_PROTOCOLS];\n  uint64_t step;\n  struct reqSlot reqFifo[COLLNET_MAX_GROUPS][NCCL_STEPS];\n  int collNetRank;\n  size_t maxCollBytes;\n  volatile uint32_t* curr_hdp_reg;  // Curr GPU in ring (for rdma transport use only)\n};\n\nstatic ncclResult_t canConnect(int* ret, struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* info1, struct ncclPeerInfo* info2) {\n  // This transport cannot be used for p2p\n  *ret = 0;\n  return ncclSuccess;\n}\n\n// Returns the flags to be used by a call to cuMemGetHandleForAddressRange.\nstatic inline int getHandleForAddressRangeFlags(ncclTopoGdrMode useGdr) {\n  int flags = 0;\n#if CUDA_VERSION >= 12080\n  // Force mapping on PCIe on systems with both PCI and C2C attachments.\n  if (useGdr == ncclTopoGdrModePci) flags = CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE;\n#endif\n  return flags;\n}\n\nstruct setupReq {\n  int netDev;\n  enum ncclTopoGdrMode useGdr;\n  int needFlush;\n  struct ncclCollNetSharedRes* collNet;\n};\n\n\n/* Setup send connector, and return connect information for others in the coll\n * communicator to connect to me */\nstatic ncclResult_t sendSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo, struct ncclConnect* connectInfo, struct ncclConnector* send, int channelId, int connIndex) {\n  struct setupReq req = { 0 };\n\n  int proxyRank;\n  int64_t netId;\n  NCCLCHECK(ncclTopoGetNetDev(comm, myInfo->rank, graph, channelId, -1, &netId, &req.netDev, &proxyRank));\n  NCCLCHECK(ncclTopoCheckGdr(comm->topo, myInfo->rank, netId, 1, &req.useGdr));\n  send->conn.flags |= req.useGdr ? NCCL_DIRECT_NIC : 0;\n\n  send->proxyConn.tpLocalRank = comm->topParentLocalRanks[comm->localRank];\n  NCCLCHECK(ncclProxyConnect(comm, TRANSPORT_COLLNET, 1, myInfo->rank, &send->proxyConn));\n  ncclAtomicRefCountIncrement(&comm->collNetSharedRes->refCount);\n  req.collNet = comm->collNetSharedRes;\n  NCCLCHECK(ncclProxyCallBlocking(comm, &send->proxyConn, ncclProxyMsgSetup, &req, sizeof(req), NULL, 0));\n\n  INFO(NCCL_INIT|NCCL_NET,\"CollNet %02d/%1d : %d [send] via COLLNET/%s/%d%s%s comm %p nRanks %02d\", channelId, connIndex, myInfo->rank, collNetName(comm), req.netDev,\n      req.useGdr ? \"/GDRDMA\" : \"\", req.useGdr==ncclTopoGdrModePci ? \"(PCI)\" : \"\", comm, comm->nRanks);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t recvSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo, struct ncclConnect* connectInfo, struct ncclConnector* recv, int channelId, int connIndex) {\n  struct setupReq req = { 0 };\n\n  int proxyRank;\n  int64_t netId;\n  NCCLCHECK(ncclTopoGetNetDev(comm, myInfo->rank, graph, channelId, -1, &netId, &req.netDev, &proxyRank));\n  NCCLCHECK(ncclTopoCheckGdr(comm->topo, myInfo->rank, netId, 0, &req.useGdr));\n  recv->conn.flags |= req.useGdr ? NCCL_DIRECT_NIC : 0;\n  // Determine whether we need to flush the GDR buffer on recv or not\n  if (req.useGdr) NCCLCHECK(ncclTopoNeedFlush(comm, netId, req.netDev, myInfo->rank, &req.needFlush));\n\n  recv->proxyConn.tpLocalRank = comm->topParentLocalRanks[comm->localRank];\n  NCCLCHECK(ncclProxyConnect(comm, TRANSPORT_COLLNET, 0, myInfo->rank, &recv->proxyConn));\n  static_assert(sizeof(collNetRecvConnectInfo) <= sizeof(struct ncclConnect), \"Collnet Recv Connect info is too big\");\n  struct collNetRecvConnectInfo* info = (struct collNetRecvConnectInfo*) connectInfo;\n  ncclAtomicRefCountIncrement(&comm->collNetSharedRes->refCount);\n  req.collNet = comm->collNetSharedRes;\n  NCCLCHECK(ncclProxyCallBlocking(comm, &recv->proxyConn, ncclProxyMsgSetup, &req, sizeof(req), &info->collNetHandle, sizeof(collNetHandle_t)));\n\n  INFO(NCCL_INIT|NCCL_NET,\"CollNet %02d/%1d : %d [receive] via COLLNET/%s/%d%s%s comm %p nRanks %02d\", channelId, connIndex, myInfo->rank, collNetName(comm), req.netDev,\n      req.useGdr ? \"/GDRDMA\" : \"\", req.useGdr==ncclTopoGdrModePci ? \"(PCI)\" : \"\", comm, comm->nRanks);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t collNetDumpMap(struct connectMap* map) {\n  printf(\"Dump map\\n\");\n  struct connectMapMem *mem = map->mems+NCCL_NET_MAP_HOSTMEM;\n  printf(\"Mem 0: Host mem (%x B) CPU %p GPU %p\\n\", mem->size, mem->cpuPtr, mem->gpuPtr);\n  mem = map->mems+NCCL_NET_MAP_DEVMEM;\n  printf(\"Mem 1: Vid  mem CPU (%x B) %p GPU %p\\n\", mem->size, mem->cpuPtr, mem->gpuPtr);\n  mem = map->mems+NCCL_NET_MAP_SHARED_HOSTMEM;\n  printf(\"Mem 2: Shared Host mem (%x B) CPU %p GPU %p\\n\", mem->size, mem->cpuPtr, mem->gpuPtr);\n  mem = map->mems+NCCL_NET_MAP_SHARED_DEVMEM;\n  printf(\"Mem 3: Shared Vid  (%x B) mem CPU %p GPU %p\\n\", mem->size, mem->cpuPtr, mem->gpuPtr);\n  printf(\"SendMem -> Used %d Bank %d Offset %x, cpu %p gpu %p\\n\",\n      map->offsets.sendMem & NCCL_NET_MAP_MASK_USED ? 1 : 0,\n      NCCL_NET_MAP_OFFSET_BANK(map, sendMem), map->offsets.sendMem & NCCL_NET_MAP_MASK_OFFSET,\n      NCCL_NET_MAP_GET_POINTER(map, cpu, sendMem), NCCL_NET_MAP_GET_POINTER(map, gpu, sendMem));\n  printf(\"RecvMem -> Used %d Bank %d Offset %x, cpu %p gpu %p\\n\",\n      map->offsets.recvMem & NCCL_NET_MAP_MASK_USED ? 1 : 0,\n      NCCL_NET_MAP_OFFSET_BANK(map, recvMem), map->offsets.recvMem & NCCL_NET_MAP_MASK_OFFSET,\n      NCCL_NET_MAP_GET_POINTER(map, cpu, recvMem), NCCL_NET_MAP_GET_POINTER(map, gpu, recvMem));\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n    printf(\"Proto %d -> Used %d Bank %d Offset %x, cpu %p, gpu %p\\n\", p,\n        map->offsets.buffs[p] & NCCL_NET_MAP_MASK_USED ? 1 : 0,\n        NCCL_NET_MAP_OFFSET_BANK(map, buffs[p]), map->offsets.buffs[p] & NCCL_NET_MAP_MASK_OFFSET,\n        NCCL_NET_MAP_GET_POINTER(map, cpu, buffs[p]), NCCL_NET_MAP_GET_POINTER(map, gpu, buffs[p]));\n  }\n  printf(\"End of dump\\n\");\n  return ncclSuccess;\n}\n\nstruct collNetConnectArgs {\n  int rank;\n  int nranks;\n  struct ncclConnect* connectInfos;\n};\n\nstatic ncclResult_t sendProxyProgress(struct ncclProxyState* proxyState, struct ncclProxyArgs* args);\n\nstatic ncclResult_t sendConnect(struct ncclComm* comm, struct ncclConnect* connectInfos, int nranks, int rank, struct ncclConnector* send) {\n  // We're on the same process as the proxy. We can pass a pointer to a struct.\n  struct collNetConnectArgs args = { rank, nranks, connectInfos };\n  struct connectMap* map;\n  NCCLCHECK(ncclProxyCallBlocking(comm, &send->proxyConn, ncclProxyMsgConnect, &args, sizeof(struct collNetConnectArgs), &map, sizeof(struct connectMap*)));\n\n  // If collnet connect failed, propagate error to fallback on regular p2p\n  if (map == NULL) return ncclSystemError;\n\n  //NCCLCHECK(collNetDumpMap(map));\n\n  struct ncclSendMem *sendMem = (struct ncclSendMem*) NCCL_NET_MAP_GET_POINTER(map, gpu, sendMem);\n  void* gdcMem = map->mems[NCCL_NET_MAP_GDCMEM].gpuPtr;\n  send->conn.head = gdcMem ? (uint64_t*)gdcMem : &sendMem->head;\n\n  struct ncclRecvMem *recvMem = (struct ncclRecvMem*) NCCL_NET_MAP_GET_POINTER(map, gpu, recvMem);\n  send->conn.tail = &recvMem->tail;\n  send->conn.connFifo = recvMem->connFifo;\n  for (int i=0; i<NCCL_STEPS; i++) {\n    send->conn.connFifo[i].size = -1;\n    send->conn.connFifo[i].mode = NCCL_MODE_OFFSET;\n  }\n\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++)\n    send->conn.buffs[p] = NCCL_NET_MAP_GET_POINTER(map, gpu, buffs[p]);\n\n  send->proxyConn.proxyProgress = sendProxyProgress;\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t recvProxyProgress(struct ncclProxyState* proxyState, struct ncclProxyArgs* args);\n\nstatic ncclResult_t recvConnect(struct ncclComm* comm, struct ncclConnect* connectInfos, int nranks, int rank, struct ncclConnector* recv) {\n  // We're on the same process as the proxy. We can pass a pointer to a struct.\n  struct collNetConnectArgs args = { rank, nranks, connectInfos };\n  struct connectMap* map;\n  NCCLCHECK(ncclProxyCallBlocking(comm, &recv->proxyConn, ncclProxyMsgConnect, &args, sizeof(struct collNetConnectArgs), &map, sizeof(struct connectMap*)));\n\n  // If collnet connect failed, propagate error to fallback on regular p2p\n  if (map == NULL) return ncclSystemError;\n\n  //NCCLCHECK(collNetDumpMap(map));\n\n  struct ncclSendMem *sendMem = (struct ncclSendMem*) NCCL_NET_MAP_GET_POINTER(map, gpu, sendMem);\n  recv->conn.head = &sendMem->head;\n\n  struct ncclRecvMem *recvMem = (struct ncclRecvMem*) NCCL_NET_MAP_GET_POINTER(map, gpu, recvMem);\n  void* gdcMem = map->mems[NCCL_NET_MAP_GDCMEM].gpuPtr;\n  recv->conn.tail = gdcMem ? (uint64_t*)gdcMem : &recvMem->tail;\n  recv->conn.connFifo = recvMem->connFifo;\n  for (int i=0; i<NCCL_STEPS; i++) {\n    recv->conn.connFifo[i].mode = NCCL_MODE_OFFSET;\n  }\n\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n    recv->conn.buffs[p] = NCCL_NET_MAP_GET_POINTER(map, gpu, buffs[p]);\n  }\n\n  recv->proxyConn.proxyProgress = recvProxyProgress;\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sendFree(struct ncclConnector* send) {\n  return ncclSuccess;\n}\n\nstatic ncclResult_t recvFree(struct ncclConnector* recv) {\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sendProxySetup(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  struct setupReq* req = (struct setupReq*)reqBuff;\n  if (reqSize != sizeof(struct setupReq)) return ncclInternalError;\n\n  struct sendResources* resources;\n  NCCLCHECK(ncclCalloc(&resources, 1));\n  connection->transportResources = resources;\n  connection->shared = 1;\n\n  resources->netDev = req->netDev;\n  resources->useGdr = req->useGdr;\n  ncclNetProperties_t props;\n  NCCLCHECK(proxyState->ncclCollNet->getProperties(req->netDev, &props));\n  connection->collNet = req->collNet;\n  /* DMA-BUF support */\n  resources->useDmaBuf = resources->useGdr && proxyState->dmaBufSupport && (props.ptrSupport & NCCL_PTR_DMABUF);\n  /* collective size limits*/\n  resources->maxCollBytes = props.maxCollBytes;\n  if((resources->maxCollBytes <= 0) || (resources->maxCollBytes > NCCL_MAX_NET_SIZE_BYTES)) {\n    WARN(\"sendProxySetup: collnet plugin returned invalid value for maxCollBytes %ld \\\n      [allowed range: %ld - %ld] \\n\", resources->maxCollBytes, 0L, NCCL_MAX_NET_SIZE_BYTES);\n    return ncclInternalError;\n  }\n  return ncclSuccess;\n}\n\nstruct sharedResources {\n  void* collNetListenComms[MAXCHANNELS];\n  void* collNetComms[MAXCHANNELS];\n  int commRefCount[NCCL_MAX_NETDEVS];\n};\n\nstatic ncclResult_t sharedListen(struct ncclProxyState* proxyState, int netDev, struct ncclCollNetSharedRes* collNet, void* collNetHandle) {\n  struct sharedResources* resources = (struct sharedResources*)collNet->resources;\n  if (resources == NULL) {\n    NCCLCHECK(ncclCalloc(&resources, 1));\n    collNet->resources = resources;\n  }\n  if (resources->collNetComms[netDev] == NULL)\n    NCCLCHECK(proxyState->ncclCollNet->listen(proxyState->collNetContext, netDev, collNetHandle, resources->collNetListenComms + netDev));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sharedConnect(struct ncclProxyState* proxyState, int netDev, struct ncclConnect* connectInfos, int nranks, int rank, struct ncclCollNetSharedRes* collNet, void** collNetComm) {\n  struct sharedResources* resources = (struct sharedResources*)collNet->resources;\n  if (resources->collNetComms[netDev] == NULL) {\n    // Connect to coll comm\n    collNetHandle_t** handlePtrs = NULL;\n    NCCLCHECK(ncclCalloc(&handlePtrs, nranks));\n    for (int i = 0; i < nranks; i++) {\n      struct collNetRecvConnectInfo* info = (struct collNetRecvConnectInfo*)(connectInfos+i);\n      handlePtrs[i] = &(info->collNetHandle);\n    }\n    ncclResult_t ret = proxyState->ncclCollNet->connect((void**)handlePtrs, nranks, rank,\n          resources->collNetListenComms[netDev],\n          resources->collNetComms+netDev);\n    free(handlePtrs);\n    if (ret == ncclSuccess) {\n      // Close listen comm\n      NCCLCHECK(proxyState->ncclCollNet->closeListen(resources->collNetListenComms[netDev]));\n    } else {\n      resources->collNetListenComms[netDev] = NULL;\n    }\n  }\n  *collNetComm = resources->collNetComms[netDev];\n  if (*collNetComm) resources->commRefCount[netDev]++;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sharedFree(struct ncclProxyState* proxyState, struct ncclCollNetSharedRes* collNet, int netDev) {\n  struct sharedResources* resources = (struct sharedResources*)collNet->resources;\n  resources->commRefCount[netDev]--;\n  if (resources->commRefCount[netDev] == 0) {\n    NCCLCHECK(proxyState->ncclCollNet->closeColl(resources->collNetComms[netDev]));\n  }\n  for (int n=0; n<NCCL_MAX_NETDEVS; n++) if (resources->commRefCount[n]) return ncclSuccess;\n  collNet->resources = NULL;\n  free(resources);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sharedBuffersInit(struct ncclCollNetSharedRes* collNet, int cuda, char** gpuPtr, char** cpuPtr, int* size) {\n  if (collNet->size == 0) {\n    collNet->size = 2 * collNet->nChannels * collNet->buffSize;\n  }\n\n  *size = collNet->size;\n\n  if (cuda && collNet->cudaBuff == NULL) {\n#if defined(HIP_UNCACHED_MEMORY)\n    NCCLCHECK(ncclCudaCalloc(&collNet->cudaBuff, *size, cuda ? hipDeviceMallocUncached : hipDeviceMallocDefault));\n#else\n    NCCLCHECK(ncclCudaCalloc(&collNet->cudaBuff, *size, cuda ? hipDeviceMallocFinegrained : hipDeviceMallocDefault));\n#endif\n  }\n  if (!cuda && collNet->hostBuff == NULL) {\n    NCCLCHECK(ncclCudaHostCalloc(&collNet->hostBuff, *size));\n  }\n  *gpuPtr = *cpuPtr = cuda ? collNet->cudaBuff : collNet->hostBuff;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sharedBuffersGet(struct ncclCollNetSharedRes* collNet, int type, int slot, int channel, int* offset) {\n  // Use different pools for different channels and also separate send/recv.\n  int slotSize = collNet->buffSize / NCCL_STEPS;\n  int globalSlot = (type * NCCL_STEPS + slot) * collNet->nChannels + channel;\n  *offset = slotSize * globalSlot;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sharedBuffersDestroy(struct ncclCollNetSharedRes* collNet) {\n  if (collNet->size == 0) return ncclSuccess;\n  NCCLCHECK(ncclCudaFree(collNet->cudaBuff));\n  NCCLCHECK(ncclCudaHostFree(collNet->hostBuff));\n  // This will be called multiple times, with multiple channels and send/recv. Make sure we only do it once.\n  collNet->size = 0;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t recvProxySetup(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  struct setupReq* req = (struct setupReq*)reqBuff;\n  if (reqSize != sizeof (struct setupReq)) return ncclInternalError;\n\n  struct recvResources* resources;\n  NCCLCHECK(ncclCalloc(&resources, 1));\n  connection->transportResources = resources;\n  connection->shared = 1;\n\n  resources->netDev = req->netDev;\n  resources->useGdr = req->useGdr;\n  resources->needFlush = req->needFlush;\n  ncclNetProperties_t props;\n  NCCLCHECK(proxyState->ncclCollNet->getProperties(req->netDev, &props));\n  connection->collNet = req->collNet;\n  /* DMA-BUF support */\n  resources->useDmaBuf = resources->useGdr && proxyState->dmaBufSupport && (props.ptrSupport & NCCL_PTR_DMABUF);\n  resources->maxCollBytes = props.maxCollBytes;\n  if((resources->maxCollBytes <= 0) || (resources->maxCollBytes > NCCL_MAX_NET_SIZE_BYTES)) {\n    WARN(\"sendProxySetup: collnet plugin returned invalid value for maxCollBytes %ld \\\n      [allowed range: %ld - %ld] \\n\", resources->maxCollBytes, 0L, NCCL_MAX_NET_SIZE_BYTES);\n    return ncclInternalError;\n  }\n\n  collNetHandle_t* netHandle = (collNetHandle_t*) respBuff;\n  if (respSize != sizeof(collNetHandle_t)) return ncclInternalError;\n\n  NCCLCHECK(sharedListen(proxyState, req->netDev, req->collNet, netHandle));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sendProxyConnect(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  ncclResult_t ret = ncclSuccess;\n  if (reqSize != sizeof(struct collNetConnectArgs)) { WARN(\"sendProxyConnect: reqSize is %d != %ld\", reqSize, sizeof(struct collNetConnectArgs)); return ncclInternalError; }\n  struct collNetConnectArgs* args = (struct collNetConnectArgs*)reqBuff;\n  static_assert(sizeof(collNetSendConnectInfo) <= sizeof(struct ncclConnect), \"Collnet Send Connect info is too big\");\n  struct collNetSendConnectInfo* info = (struct collNetSendConnectInfo*)(args->connectInfos+args->rank);\n\n  struct sendResources* resources = (struct sendResources*)(connection->transportResources);\n\n  // Get info from recv side\n  resources->collNetRank = args->rank;\n  resources->reqFifo = (struct reqSlot (*)[NCCL_STEPS])(info->reqFifo);\n\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++)\n    resources->recvMhandles[p] = info->mhandles[p];\n\n  NCCLCHECK(sharedConnect(proxyState, resources->netDev, args->connectInfos, args->nranks, args->rank, connection->collNet, &resources->collNetComm));\n\n  // Collnet connect is allowed to fail. Gracefully handle that case by returning NULL to the caller.\n  if (respSize != sizeof(struct connectMap*)) { WARN(\"sendProxyConnect: respSize is %d != %ld\", respSize, sizeof(void*)); return ncclInternalError; }\n  if (resources->collNetComm == NULL) {\n    *((struct connectMap**)respBuff) = NULL;\n    return ncclSuccess;\n  }\n  connection->proxyAppendPtr = connection->collNet->proxyAppend + 2 * resources->netDev;\n\n  struct connectMap* map = &resources->map;\n\n  NCCL_NET_MAP_ADD_POINTER(map, 0, 0, sizeof(struct ncclSendMem), sendMem);\n  NCCL_NET_MAP_ADD_POINTER(map, 0, 0, sizeof(struct ncclRecvMem), recvMem);\n\n  NCCLCHECK(ncclCudaHostCalloc(&map->mems[NCCL_NET_MAP_HOSTMEM].cpuPtr, map->mems[NCCL_NET_MAP_HOSTMEM].size));\n  map->mems[NCCL_NET_MAP_HOSTMEM].gpuPtr = map->mems[NCCL_NET_MAP_HOSTMEM].cpuPtr;\n  if (ncclGdrCopy && ncclParamGdrCopySyncEnable()) {\n    uint64_t *cpuPtr, *gpuPtr;\n    NCCLCHECK(ncclGdrCudaCalloc(&cpuPtr, &gpuPtr, 1, &resources->gdrDesc));\n\n    resources->gdcSync = cpuPtr;\n    struct connectMapMem* gdcMem = map->mems+NCCL_NET_MAP_GDCMEM;\n    gdcMem->cpuPtr = (char*)cpuPtr;\n    gdcMem->gpuPtr = (char*)gpuPtr;\n    gdcMem->size = sizeof(uint64_t); // sendMem->head\n  }\n\n  resources->sendMem = (struct ncclSendMem*) NCCL_NET_MAP_GET_POINTER(map, cpu, sendMem);\n  resources->recvMem = (struct ncclRecvMem*) NCCL_NET_MAP_GET_POINTER(map, cpu, recvMem);\n  // Don't give credits yet in shared mode.\n  (resources->gdcSync ? *resources->gdcSync : resources->sendMem->head) = -NCCL_STEPS;\n\n  // Allocate & Register shared buffers for the Simple protocol\n  int bank = resources->useGdr ? NCCL_NET_MAP_SHARED_DEVMEM : NCCL_NET_MAP_SHARED_HOSTMEM;\n  struct connectMapMem* mapMem = map->mems+bank;\n  NCCLCHECK(sharedBuffersInit(connection->collNet, resources->useGdr, &mapMem->gpuPtr, &mapMem->cpuPtr, &mapMem->size));\n  NCCL_NET_MAP_ADD_POINTER(map, 1, resources->useGdr ? 1 : 0, mapMem->size, buffs[NCCL_PROTO_SIMPLE]);\n\n  int dmabuf_fd = -1;\n  (void)dmabuf_fd; /*compiler warnings fix - unused variable*/\n#if CUDA_VERSION >= 11070\n  /* DMA-BUF support */\n  if (resources->useGdr && resources->useDmaBuf) {\n    CUCHECK(cuMemGetHandleForAddressRange((void *)&dmabuf_fd, (CUdeviceptr)mapMem->cpuPtr, mapMem->size, CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD, getHandleForAddressRangeFlags(resources->useGdr)));\n    NCCLCHECKGOTO(proxyState->ncclCollNet->regMrDmaBuf(resources->collNetComm, mapMem->cpuPtr, mapMem->size,\n                                                       NCCL_PTR_CUDA, 0ULL, dmabuf_fd,\n                                                       &resources->sendMhandles[NCCL_PROTO_SIMPLE]),\n                  ret, fail);\n    (void)close(dmabuf_fd);\n  } else // FALL-THROUGH to nv_peermem GDR path\n#endif\n  {\n    NCCLCHECK(proxyState->ncclCollNet->regMr(resources->collNetComm, mapMem->cpuPtr, mapMem->size,\n                                            resources->useGdr ? NCCL_PTR_CUDA : NCCL_PTR_HOST,\n                                            &resources->sendMhandles[NCCL_PROTO_SIMPLE]));\n  }\n\n  *((struct connectMap**)respBuff) = &resources->map;\n\nexit:\n  return ret;\nfail:\n  if (dmabuf_fd != -1) {\n    (void)close(dmabuf_fd);\n  }\n  goto exit;\n}\n\nstatic ncclResult_t recvProxyConnect(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  ncclResult_t ret = ncclSuccess;\n  if (reqSize != sizeof(struct collNetConnectArgs)) { WARN(\"recvProxyConnect: reqSize is %d != %ld\", reqSize, sizeof(struct collNetConnectArgs)); return ncclInternalError; }\n  struct collNetConnectArgs* args = (struct collNetConnectArgs*)reqBuff;\n\n  struct recvResources* resources = (struct recvResources*)(connection->transportResources);\n  struct collNetSendConnectInfo* info = (struct collNetSendConnectInfo*)(args->connectInfos+args->rank);\n  resources->collNetRank = args->rank;\n\n  NCCLCHECK(sharedConnect(proxyState, resources->netDev, args->connectInfos, args->nranks, args->rank, connection->collNet, &resources->collNetComm));\n\n  // Collnet connect is allowed to fail. Gracefully handle that case by returning NULL to the caller.\n  if (respSize != sizeof(struct connectMap*)) { WARN(\"sendProxyConnect: respSize is %d != %ld\", respSize, sizeof(void*)); return ncclInternalError; }\n  if (resources->collNetComm == NULL) {\n    *((struct connectMap**)respBuff) = NULL;\n    return ncclSuccess;\n  }\n  connection->proxyAppendPtr = connection->collNet->proxyAppend + 2 * resources->netDev + 1;\n\n  struct connectMap* map = &resources->map;\n\n  NCCL_NET_MAP_ADD_POINTER(map, 0, 0, sizeof(struct ncclSendMem), sendMem);\n  NCCL_NET_MAP_ADD_POINTER(map, 0, 0, sizeof(struct ncclRecvMem), recvMem);\n\n  NCCLCHECK(ncclCudaHostCalloc(&map->mems[NCCL_NET_MAP_HOSTMEM].cpuPtr, map->mems[NCCL_NET_MAP_HOSTMEM].size));\n  map->mems[NCCL_NET_MAP_HOSTMEM].gpuPtr = map->mems[NCCL_NET_MAP_HOSTMEM].cpuPtr;\n  if (ncclGdrCopy) {\n    uint64_t *cpuPtr, *gpuPtr;\n    NCCLCHECK(ncclGdrCudaCalloc(&cpuPtr, &gpuPtr, 2, &resources->gdrDesc));\n\n    if (ncclParamGdrCopySyncEnable()) {\n      resources->gdcSync = cpuPtr;\n      struct connectMapMem* gdcMem = map->mems+NCCL_NET_MAP_GDCMEM;\n      gdcMem->cpuPtr = (char*)cpuPtr;\n      gdcMem->gpuPtr = (char*)gpuPtr;\n      gdcMem->size = sizeof(uint64_t);\n    }\n    if (ncclParamGdrCopyFlushEnable()) resources->gdcFlush = cpuPtr + 1;\n  }\n\n  resources->sendMem = (struct ncclSendMem*) NCCL_NET_MAP_GET_POINTER(map, cpu, sendMem);\n  resources->recvMem = (struct ncclRecvMem*) NCCL_NET_MAP_GET_POINTER(map, cpu, recvMem);\n\n  // Allocate & Register shared buffers for the Simple protocol\n  int bank = resources->useGdr ? NCCL_NET_MAP_SHARED_DEVMEM : NCCL_NET_MAP_SHARED_HOSTMEM;\n  struct connectMapMem* mapMem = map->mems+bank;\n  NCCLCHECK(sharedBuffersInit(connection->collNet, resources->useGdr, &mapMem->gpuPtr, &mapMem->cpuPtr, &mapMem->size));\n  NCCL_NET_MAP_ADD_POINTER(map, 1, resources->useGdr ? 1 : 0, mapMem->size, buffs[NCCL_PROTO_SIMPLE]);\n  \n  int dmabuf_fd = -1;\n  (void)dmabuf_fd; /*compiler warnings fix - unused variable*/\n#if CUDA_VERSION >= 11070\n  /* DMA-BUF support */\n  if (resources->useGdr && resources->useDmaBuf) {\n    CUCHECK(cuMemGetHandleForAddressRange((void *)&dmabuf_fd, (CUdeviceptr)mapMem->cpuPtr, mapMem->size, CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD, getHandleForAddressRangeFlags(resources->useGdr)));\n    NCCLCHECKGOTO(proxyState->ncclCollNet->regMrDmaBuf(resources->collNetComm, mapMem->cpuPtr, mapMem->size,\n                                                       NCCL_PTR_CUDA, 0ULL, dmabuf_fd,\n                                                       &resources->mhandles[NCCL_PROTO_SIMPLE]),\n                  ret, fail);\n    (void)close(dmabuf_fd);\n  } else // FALL-THROUGH to nv_peermem GDR path\n#endif\n  {\n    NCCLCHECK(proxyState->ncclCollNet->regMr(resources->collNetComm, mapMem->cpuPtr, mapMem->size,\n                                            resources->useGdr ? NCCL_PTR_CUDA : NCCL_PTR_HOST,\n                                            &resources->mhandles[NCCL_PROTO_SIMPLE]));\n  }\n\n  // Pass info to send side\n  info->reqFifo = resources->reqFifo;\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++)\n    info->mhandles[p] = resources->mhandles[p];\n\n  if (respSize != sizeof(struct connectMap*)) { WARN(\"recvProxyConnect: respSize is %d != %ld\", respSize, sizeof(void*)); return ncclInternalError; }\n  *((struct connectMap**)respBuff) = &resources->map;\n\nexit:\n  return ret;\nfail:\n  if (dmabuf_fd != -1) {\n    (void)close(dmabuf_fd);\n  }\n  goto exit;\n}\n\nstatic ncclResult_t sendProxyFree(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState) {\n  struct sendResources* resources = (struct sendResources*)(connection->transportResources);\n\n  if (resources) {\n    for (int p = 0; p < NCCL_NUM_PROTOCOLS; p++) {\n      if (resources->sendMhandles[p]) {\n        NCCLCHECK(proxyState->ncclCollNet->deregMr(resources->collNetComm, resources->sendMhandles[p]));\n      }\n    }\n    struct connectMapMem* mems = resources->map.mems;\n    NCCLCHECK(ncclCudaHostFree(mems[NCCL_NET_MAP_HOSTMEM].cpuPtr));\n    NCCLCHECK(ncclCudaFree(mems[NCCL_NET_MAP_DEVMEM].cpuPtr));\n    if (mems[NCCL_NET_MAP_GDCMEM].cpuPtr) NCCLCHECK(ncclGdrCudaFree(resources->gdrDesc));\n    NCCLCHECK(sharedBuffersDestroy(connection->collNet));\n    NCCLCHECK(sharedFree(proxyState, connection->collNet, resources->netDev));\n    if (ncclAtomicRefCountDecrement(&connection->collNet->refCount) == 0) free(connection->collNet);\n    free(connection->transportResources);\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t recvProxyFree(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState) {\n  struct recvResources* resources = (struct recvResources*)(connection->transportResources);\n\n  if (resources) {\n    for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n      if (resources->mhandles[p]) {\n        NCCLCHECK(proxyState->ncclCollNet->deregMr(resources->collNetComm, resources->mhandles[p]));\n      }\n    }\n    struct connectMapMem* mems = resources->map.mems;\n    NCCLCHECK(ncclCudaHostFree(mems[NCCL_NET_MAP_HOSTMEM].cpuPtr));\n    NCCLCHECK(ncclCudaFree(mems[NCCL_NET_MAP_DEVMEM].cpuPtr));\n    if (mems[NCCL_NET_MAP_GDCMEM].cpuPtr) NCCLCHECK(ncclGdrCudaFree(resources->gdrDesc));\n    NCCLCHECK(sharedBuffersDestroy(connection->collNet));\n    NCCLCHECK(sharedFree(proxyState, connection->collNet, resources->netDev));\n    if (ncclAtomicRefCountDecrement(&connection->collNet->refCount) == 0) free(connection->collNet);\n    free(connection->transportResources);\n  }\n  return ncclSuccess;\n}\n\nstatic size_t calcAlgoOffset(struct ncclProxyArgs* args, int isAllNotOne, int sub, uint64_t step) {\n  int chunkSize = args->chunkSize;\n  int nNodes = args->specifics.collnetDirect.nNodes;\n  int node = args->specifics.collnetDirect.node;\n  size_t sizePerRank = args->specifics.collnetDirect.sizePerRank;\n  size_t offset = (step*(args->nsubs) + sub)*chunkSize;\n  if (isAllNotOne) {\n    offset = std::min<size_t>(offset, nNodes*sizePerRank);\n  } else {\n    offset = std::max<size_t>(offset, (node+0)*sizePerRank);\n    offset = std::min<size_t>(offset, (node+1)*sizePerRank);\n  }\n  return offset;\n}\n\nstatic ssize_t calcRegionOffset(\n    struct ncclProxyArgs* args, int isRecvNotSend, int sub, uint64_t step,\n    int side // 0=begin, 1=end\n  ) {\n  struct ncclCollNetSharedRes* collNet = args->subs[0].connection->collNet;\n  ssize_t slotSize = collNet->buffSize/NCCL_STEPS;\n  ssize_t chunkSize = args->chunkSize;\n  ssize_t base = isRecvNotSend*NCCL_STEPS + (step%NCCL_STEPS);\n  base *= collNet->nChannels*slotSize;\n  if (args->coll == ncclFuncAllReduce) {\n    return base + (sub+side)*chunkSize;\n  } else {\n    int isAllNotOne = isRecvNotSend ^ (args->coll == ncclFuncReduceScatter);\n    int sub0 = sub - (sub%COLLNET_GROUP_NSUBS);\n    size_t off = sub0*slotSize;\n    off += calcAlgoOffset(args, isAllNotOne, sub+side, step)\n         - calcAlgoOffset(args, isAllNotOne, sub0, step);\n    return base + off;\n  }\n}\n\n#define LAST_OF_GROUP(args, s) \\\n  ((s)%COLLNET_GROUP_NSUBS == COLLNET_GROUP_NSUBS-1 || (s) == (args)->nsubs-1)\n\nstatic constexpr int calcStepsPerGroup(int nGroups) {\n  //return NCCL_STEPS/nGroups;\n  return NCCL_STEPS;\n}\n\nstatic ncclResult_t collNetRegIallreduce(struct ncclProxyState* proxyState, struct sendResources *resources, struct ncclProxyArgs *args, struct ncclProxySubArgs *sub, int groupStart, ssize_t *nBytesInOut, void **request) {\n  ssize_t loopSize, winOffset, nBytes;\n  ssize_t eltSize = ncclTypeSize((ncclDataType_t)args->dtype);\n  // for UB iallreduce 1RPN case, user's send and recv buffers are both directly accessed by collnet network.\n  // we can just issue maximal collnet bytes by resources->maxCollBytes for each iallreduce.\n  // for multi-RPN case, we have to consider pipeline, so each time we only send groupSize * chunkSize (i.e., nBytesInOut)\n  // sub->loopOffset is data offset to the buffer for this head rank in each loop\n  // winOffset is used to find actual offset from send and recv buffer for this iallreduce\n  // loopSize is all bytes sent by all channels and head ranks in each loop.\n  // send and recv mem handle are retrieved from sub in which user buffer mem handles are stored.\n  if (sub->isOneRPN) {\n    winOffset = 0;\n    nBytes = std::min((size_t)sub->nbytes, resources->maxCollBytes);\n    loopSize = nBytes;\n  } else {\n    winOffset = sub->loopOffset + groupStart * args->chunkSize;\n    nBytes = std::min(sub->nbytes - winOffset, *nBytesInOut);\n    loopSize = sub->loopSize;\n  }\n\n  if (nBytes > 0) {\n    NCCLCHECK(proxyState->ncclCollNet->iallreduce(resources->collNetComm, sub->sendbuff + winOffset, sub->recvbuff + winOffset, nBytes / eltSize, (ncclDataType_t)args->dtype, (ncclRedOp_t)args->redOp, sub->sendMhandle, sub->recvMhandle, request));\n    if (*request) {\n      // if issued successfully, we need to move the pointer forward and reduce the existing nbytes.\n      sub->nbytes -= loopSize;\n      sub->sendbuff += loopSize;\n      sub->recvbuff += loopSize;\n      TRACE(NCCL_NET, \"sendProxy [%ld/%d/%d] registered Iallreduce posted sendbuff %p recvbuff %p size %ld loopSize %ld winOffset %ld isOneRPN %d req %p\", (long)sub->transmitted, sub->nsteps, groupStart, sub->sendbuff, sub->recvbuff, nBytes, loopSize, winOffset, sub->isOneRPN, *request);\n    }\n  }\n  *nBytesInOut = nBytes;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t collNetIallreduce(struct ncclProxyState* proxyState, struct sendResources *resources, struct ncclProxyArgs *args, struct ncclProxySubArgs *sub, ssize_t nBytes, ssize_t sendBeg, ssize_t recvBeg, void **request) {\n  void *sendMhandle = resources->sendMhandles[NCCL_PROTO_SIMPLE];\n  void *recvMhandle = resources->recvMhandles[NCCL_PROTO_SIMPLE];\n  char *region = NCCL_NET_MAP_GET_POINTER(&resources->map, gpu, buffs[NCCL_PROTO_SIMPLE]);\n  ssize_t eltSize = ncclTypeSize((ncclDataType_t)args->dtype);\n  // non-UB iallreduce, region is intermediate buffer and sendBeg/recvBeg is the corresponding offset\n  // for send and recv data. The send and recv mem handle are retrieved from resources.\n  NCCLCHECK(proxyState->ncclCollNet->iallreduce(resources->collNetComm, region + sendBeg, region + recvBeg, nBytes / eltSize, (ncclDataType_t)args->dtype, (ncclRedOp_t)args->redOp, sendMhandle, recvMhandle, request));\n  if (*request)\n    TRACE(NCCL_NET, \"sendProxy [%ld/%d] Iallreduce posted size %ld sendBeg %ld recvBeg %ld req %p\", (long)sub->transmitted, sub->nsteps, nBytes, sendBeg, recvBeg, *request);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t collNetRegIallgather(struct ncclProxyState* proxyState, struct sendResources *resources, struct ncclProxyArgs *args, struct ncclProxySubArgs *sub, ssize_t nBytesIn, ssize_t allBeg, ssize_t recvBeg, void *recvMhandle, void **request) {\n  ncclNetSGE_t recvParts;\n  ssize_t sizePerRank = args->specifics.collnetDirect.sizePerRank;\n  char *region = NCCL_NET_MAP_GET_POINTER(&resources->map, gpu, buffs[NCCL_PROTO_SIMPLE]);\n  ssize_t nBytes;\n  ssize_t winOffset;\n  void *sendbuff;\n  // UB iallgather 1RPN logic is the same as iallreduce.\n  // If iallgather is not 1RPN, we can let collnet network directly access sendbuff but not recvbuff;\n  // the main reason is non-1RPN case will cause non-contiguous recv data from network, so\n  // we have to use intermediate buffer \"region\" to recv data and copy into the recvbuff.\n  // so allBeg and recvMhandle, which are global window offset of recv buffer and mem handle for region,\n  // are only used in multi-RPN case.\n  if (sub->isOneRPN) {\n    nBytes = std::min((size_t)sub->nbytes, resources->maxCollBytes);\n    winOffset = sub->offset;\n    recvParts.mhandle = sub->recvMhandle;\n    recvParts.address = sub->recvbuff;\n  } else {\n    nBytes = nBytesIn;\n    winOffset = allBeg;\n    recvParts.mhandle = recvMhandle;\n    recvParts.address = region + recvBeg;\n  }\n  recvParts.size = nBytes;\n  if (winOffset / sizePerRank == args->specifics.collnetDirect.node) {\n    sendbuff = sub->sendbuff + winOffset % sizePerRank;\n  } else {\n    sendbuff = sub->sendbuff;\n  }\n  NCCLCHECK(proxyState->ncclCollNet->iallgather(resources->collNetComm, sendbuff, 1, &recvParts, sizePerRank, winOffset, nBytes, sub->sendMhandle, request));\n  if (*request) {\n    if (sub->isOneRPN) {\n      sub->recvbuff += nBytes;\n      sub->nbytes -= nBytes;\n      sub->offset += nBytes;\n    }\n    TRACE(NCCL_NET, \"sendProxy [%ld/%d] registered Iallgather posted sizePerRank %ld winOffset %ld recvSize %ld isOneRPN %d request %p\", sub->transmitted, sub->nsteps, sizePerRank, winOffset, nBytes, sub->isOneRPN, *request);\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t collNetIallgather(struct ncclProxyState* proxyState, struct sendResources *resources, struct ncclProxyArgs *args, struct ncclProxySubArgs *sub, ssize_t nBytes, ssize_t allBeg, ssize_t sendBeg, ssize_t recvBeg, void *sendMhandle, void *recvMhandle, void **request) {\n  ncclNetSGE_t recvParts;\n  ssize_t sizePerRank = args->specifics.collnetDirect.sizePerRank;\n  char *region = NCCL_NET_MAP_GET_POINTER(&resources->map, gpu, buffs[NCCL_PROTO_SIMPLE]);\n  recvParts.mhandle = recvMhandle;\n  recvParts.address = region + recvBeg;\n  recvParts.size = nBytes;\n  // non-UB iallgather, we use intermidate region buffers for both send and recv data.\n  // sendMhandle and recvMhandle are send and recv mem handles for region, and allBeg is\n  // the global window offset of recv buffer. sendBeg and recvBeg are offset to the region\n  // for intermediate data.\n  NCCLCHECK(proxyState->ncclCollNet->iallgather(resources->collNetComm, region + sendBeg, 1, &recvParts, sizePerRank, allBeg, nBytes, sendMhandle, request));\n  if (*request)\n    TRACE(NCCL_NET, \"sendProxy [%ld/%d] Iallgather posted sizePerRank %ld winOffset %ld recvSize %ld request %p\", sub->transmitted, sub->nsteps, sizePerRank, allBeg, nBytes, *request);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t collNetRegIreducescatter(struct ncclProxyState* proxyState, struct sendResources *resources, struct ncclProxyArgs *args, struct ncclProxySubArgs *sub, ssize_t nBytesIn, ssize_t allBeg, ssize_t sendBeg, void *sendMhandle, void **request) {\n  ncclNetSGE_t sendParts;\n  ssize_t sizePerRank = args->specifics.collnetDirect.sizePerRank;\n  char *region = NCCL_NET_MAP_GET_POINTER(&resources->map, gpu, buffs[NCCL_PROTO_SIMPLE]);\n  ssize_t nBytes;\n  size_t winOffset;\n  void *recvbuff;\n  // Similar to iallgather, if ireducescatter is not 1RPN, we can let collnet network\n  // directly access recvbuff but not sendbuff. We use intermediate buffer \"region\" to\n  // send data and directly recv into the recvbuff.\n  if (sub->isOneRPN) {\n    nBytes = std::min((size_t)sub->nbytes, resources->maxCollBytes);\n    winOffset = sub->offset;\n    sendParts.mhandle = sub->sendMhandle;\n    sendParts.address = sub->sendbuff;\n  } else {\n    nBytes = nBytesIn;\n    winOffset = allBeg;\n    sendParts.mhandle = sendMhandle;\n    sendParts.address = region + sendBeg;\n  }\n  sendParts.size = nBytes;\n  if (winOffset / sizePerRank == args->specifics.collnetDirect.node) {\n    recvbuff = sub->recvbuff + winOffset % sizePerRank;\n  } else {\n    recvbuff = sub->recvbuff;\n  }\n  NCCLCHECK(proxyState->ncclCollNet->ireducescatter(resources->collNetComm, 1, &sendParts, recvbuff, sizePerRank, winOffset, nBytes, (ncclDataType_t)args->dtype, (ncclRedOp_t)args->redOp, sub->recvMhandle, request));\n  if (*request) {\n    if (sub->isOneRPN) {\n      sub->sendbuff += nBytes;\n      sub->nbytes -= nBytes;\n      sub->offset += nBytes;\n    }\n    TRACE(NCCL_NET, \"sendProxy [%ld/%d] registered Ireducescatter posted sizePerRank %ld winOffset %ld sendSize %ld isOneRPN %d request %p\", sub->transmitted, sub->nsteps, sizePerRank, winOffset, nBytes, sub->isOneRPN, *request);\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t collNetIreducescatter(struct ncclProxyState* proxyState, struct sendResources *resources, struct ncclProxyArgs *args, struct ncclProxySubArgs *sub, ssize_t nBytes, ssize_t allBeg, ssize_t sendBeg, ssize_t recvBeg, void *sendMhandle, void *recvMhandle, void **request) {\n  ncclNetSGE_t sendParts;\n  ssize_t sizePerRank = args->specifics.collnetDirect.sizePerRank;\n  char *region = NCCL_NET_MAP_GET_POINTER(&resources->map, gpu, buffs[NCCL_PROTO_SIMPLE]);\n  sendParts.mhandle = sendMhandle;\n  sendParts.address = region + sendBeg;\n  sendParts.size = nBytes;\n  // non-UB ireducescatter is the same as non-UB iallgather but in the reverse direction.\n  NCCLCHECK(proxyState->ncclCollNet->ireducescatter(resources->collNetComm, 1, &sendParts, region + recvBeg, sizePerRank, allBeg, nBytes, (ncclDataType_t)args->dtype, (ncclRedOp_t)args->redOp, recvMhandle, request));\n  if (*request)\n    TRACE(NCCL_NET, \"sendProxy [%ld/%d] Ireducescatter posted sizePerRank %ld winOffset %ld sendSize %ld request %p\", sub->transmitted, sub->nsteps, sizePerRank, allBeg, nBytes, *request);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sendProxyProgress(struct ncclProxyState* proxyState, struct ncclProxyArgs* args) {\n  if (args->state == ncclProxyOpReady) {\n    for (int s=0; s<args->nsubs; s++) {\n      struct ncclProxySubArgs* sub = args->subs+s;\n      struct sendResources* resources = (struct sendResources*) (sub->connection->transportResources);\n      // Round to next multiple of sliceSteps\n      sub->base = ROUNDUP(resources->step, args->chunkSteps);\n      sub->posted = sub->received = sub->transmitted = sub->done = 0;\n      resources->step = sub->base + sub->nsteps;\n      //adjust nsteps for registerd buffers as device signals a single step\n      if (sub->reg && sub->isOneRPN) sub->nsteps = DIVUP((size_t)sub->nbytes, resources->maxCollBytes);\n    }\n    args->state = ncclProxyOpProgress;\n    args->hdp_flushed = 0;\n  }\n  args->idle = 1;\n  if (args->state == ncclProxyOpProgress) {\n    int p = NCCL_PROTO_SIMPLE;\n    int nGroups = DIVUP(args->nsubs, COLLNET_GROUP_NSUBS);\n    for (int s=0; s<args->nsubs; s++) {\n      struct ncclProxySubArgs* sub = args->subs+s;\n      struct sendResources* resources = (struct sendResources*) (sub->connection->transportResources);\n      void* sendMhandle = resources->sendMhandles[p];\n      void* recvMhandle = resources->recvMhandles[p];\n      auto reqFifo = resources->reqFifo;\n      int group = s/COLLNET_GROUP_NSUBS;\n      int groupStart = s - (s%COLLNET_GROUP_NSUBS);\n\n      if (sub->posted < sub->nsteps && sub->posted < sub->done + NCCL_STEPS) {\n        int buffSlot = (sub->base+sub->posted)%NCCL_STEPS;\n        if (sub->reg == 0 || (!sub->isOneRPN && args->coll == ncclFuncReduceScatter)) {\n          resources->recvMem->connFifo[buffSlot].offset = calcRegionOffset(args, 0, s, sub->posted, 0);\n          __sync_synchronize();\n        }\n        volatile uint64_t* sendHead = resources->gdcSync ? resources->gdcSync : &resources->sendMem->head;\n        TRACE(NCCL_NET, \"sendProxy [%ld/%d/%d/%d] posted offset %d @ %p signal %ld->%ld\", long(sub->posted), group, buffSlot, sub->nsteps, resources->recvMem->connFifo[buffSlot].offset, &resources->recvMem->connFifo[buffSlot].offset, long(*sendHead), long(sub->base + sub->posted + args->sliceSteps - NCCL_STEPS));\n        sub->posted += args->sliceSteps;\n        // Only post one credit for registered buffer\n        if (sub->reg == 0 || !sub->isOneRPN || sub->posted == args->sliceSteps) *sendHead = sub->base + sub->posted - NCCL_STEPS;\n        if (resources->gdcSync) wc_store_fence(); // Flush out WC write\n      }\n      if (sub->received < sub->posted && sub->received < sub->done + calcStepsPerGroup(nGroups)) {\n        int buffSlot = (sub->base+sub->received)%NCCL_STEPS;\n        volatile struct ncclConnFifo* connFifo = (volatile struct ncclConnFifo*)resources->recvMem->connFifo;\n        volatile uint64_t* recvTail = &resources->recvMem->tail;\n        //device progresses tail by only 1 for registered buffers\n        uint64_t tail = sub->base + (sub->reg && sub->isOneRPN ? 0 : sub->received);\n        if ((connFifo[buffSlot].size != -1 || sub->reg) && (*recvTail > tail)) {\n          if (args->coll != ncclFuncAllReduce && sub->reg == 0) {\n            int sendBeg = calcRegionOffset(args, 0, s, sub->received, 0);\n            int sendEnd = calcRegionOffset(args, 0, s, sub->received, 1);\n            if (sendEnd-sendBeg != connFifo[buffSlot].size) {\n              WARN(\"CollNet sizes: want=%d got=%ld\", sendEnd-sendBeg, connFifo[buffSlot].size);\n              return ncclInternalError;\n            }\n          }\n          connFifo[buffSlot].size = -1;\n          sub->received += args->sliceSteps;\n          args->idle = 0;\n        }\n      }\n      // Enforce collective ordering of collnet ops.\n      bool ordered = s==0 ? args->subs[args->nsubs-1].transmitted == sub->transmitted\n                          : sub->transmitted < (sub-1)->transmitted;\n      if (ordered && (sub->transmitted < sub->received)) {\n        if (LAST_OF_GROUP(args, s)) {\n          int buffSlot = (sub->base+sub->transmitted)%NCCL_STEPS;\n          if (!reqFifo[group][buffSlot].turnIsSendNotRecv) continue;\n\n          ssize_t allBeg = calcAlgoOffset(args, 1, groupStart, sub->transmitted);\n          ssize_t allEnd = calcAlgoOffset(args, 1, s+1, sub->transmitted);\n          ssize_t sendBeg = calcRegionOffset(args, 0, groupStart, sub->transmitted, 0);\n          ssize_t sendEnd = calcRegionOffset(args, 0, s, sub->transmitted, 1);\n          ssize_t recvBeg = calcRegionOffset(args, 1, groupStart, sub->transmitted, 0);\n          ssize_t recvEnd = calcRegionOffset(args, 1, s, sub->transmitted, 1);\n          reqFifo[group][buffSlot].size = recvEnd - recvBeg;\n\n          if (sendBeg==sendEnd && recvBeg==recvEnd) {\n            sub->requests[buffSlot] = nullptr; // trivally finished request\n          } else {\n            ssize_t nBytes = 0;\n            if (args->coll == ncclFuncAllReduce) {\n              nBytes = sendEnd - sendBeg;\n              if (sub->reg) {\n                NCCLCHECK(collNetRegIallreduce(proxyState, resources, args, sub, groupStart, &nBytes, &sub->requests[buffSlot]));\n              } else {\n                NCCLCHECK(collNetIallreduce(proxyState, resources, args, sub, nBytes, sendBeg, recvBeg, &sub->requests[buffSlot]));\n              }\n            } else if (args->coll == ncclFuncAllGather) {\n              nBytes = allEnd - allBeg;\n              if (sub->reg) {\n                NCCLCHECK(collNetRegIallgather(proxyState, resources, args, sub, nBytes, allBeg, recvBeg, recvMhandle, &sub->requests[buffSlot]));\n              } else {\n                NCCLCHECK(collNetIallgather(proxyState, resources, args, sub, nBytes, allBeg, sendBeg, recvBeg, sendMhandle, recvMhandle, &sub->requests[buffSlot]));\n              }\n            } else {\n              // reducescatter\n              nBytes = allEnd - allBeg;\n              if (sub->reg) {\n                NCCLCHECK(collNetRegIreducescatter(proxyState, resources, args, sub, nBytes, allBeg, sendBeg, sendMhandle, &sub->requests[buffSlot]));\n              } else {\n                NCCLCHECK(collNetIreducescatter(proxyState, resources, args, sub, nBytes, allBeg, sendBeg, recvBeg, sendMhandle, recvMhandle, &sub->requests[buffSlot]));\n              }\n            }\n            if (nBytes > 0 && sub->requests[buffSlot] == nullptr) continue;\n          }\n        }\n        sub->transmitted += args->sliceSteps;\n        args->idle = 0;\n        continue;\n      }\n      // Check whether the network has completed some send operations.\n      if (LAST_OF_GROUP(args, s) && sub->done < sub->transmitted) {\n        int done, size;\n        int buffSlot = (sub->base+sub->done)%NCCL_STEPS;\n        done = 1;\n        if (sub->requests[buffSlot]) NCCLCHECK(proxyState->ncclCollNet->test((void*)(sub->requests[buffSlot]), &done, &size));\n        if (done) {\n          TRACE(NCCL_NET, \"sendProxy [%ld/%d/%d] request %p done, size %d\", (long)sub->done, group, buffSlot, sub->requests[buffSlot], size);\n          sub->requests[buffSlot] = nullptr;\n          reqFifo[group][buffSlot].turnIsSendNotRecv = false; // Notify recvProxy\n          for (int i=groupStart; i<=s; i++) args->subs[i].done += args->sliceSteps;\n          args->idle = 0;\n          int allDone = 1;\n          for (int i=0; i<args->nsubs; i++) {\n            if (args->subs[i].done < args->subs[i].nsteps) { allDone = 0; break; }\n          }\n          if (allDone) {\n            args->state = ncclProxyOpNone;\n            TRACE(NCCL_NET, \"sendProxy [%ld/%d] stopped\", (long)sub->done, s);\n          }\n        }\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t collNetRecvFlush(struct ncclProxyState* proxyState, struct recvResources *resources, struct ncclProxyArgs *args, struct ncclProxySubArgs *sub, int groupStart, ssize_t nBytesIn, ssize_t recvBeg, void **request) {\n  char *region = NCCL_NET_MAP_GET_POINTER(&resources->map, gpu, buffs[NCCL_PROTO_SIMPLE]);\n  if (sub->reg && (sub->isOneRPN || args->coll != ncclFuncAllGather)) {\n    ssize_t nBytes, loopSize;\n    ssize_t offset = sub->offset + groupStart * args->chunkSize;\n    if (sub->isOneRPN) {\n      nBytes = std::min((size_t)sub->nbytes, resources->maxCollBytes);\n      loopSize = nBytes;\n    } else {\n      nBytes = std::min(sub->nbytes - sub->loopOffset, nBytesIn);\n      loopSize = sub->loopSize;\n    }\n    if (nBytes > 0) {\n      if (args->coll == ncclFuncReduceScatter) {\n        ssize_t sizePerRank = args->specifics.collnetDirect.sizePerRank;\n        ssize_t groupStartOffset = sub->offset + groupStart * args->chunkSize;\n        ssize_t groupEndOffset = groupStartOffset + nBytes;\n        int node = args->specifics.collnetDirect.node;\n        int startNode = groupStartOffset / sizePerRank;\n        int lastNode = groupEndOffset / sizePerRank;\n        if (startNode == node) {\n          offset = groupStartOffset % sizePerRank;\n          nBytes = std::min(sizePerRank - offset, nBytes);\n        } else if (startNode < node && node < lastNode) {\n          offset = 0;\n          nBytes = sizePerRank;\n        } else if (node == lastNode) {\n          offset = 0;\n          nBytes = groupEndOffset % sizePerRank;\n        } else {\n          // dummy flush\n          offset = 0;\n        }\n      }\n      NCCLCHECK(proxyState->ncclCollNet->iflush(resources->collNetComm, sub->recvbuff + offset + sub->loopOffset, nBytes, sub->recvMhandle, request));\n      if (*request) {\n        sub->nbytes -= loopSize;\n        sub->offset += loopSize;\n      }\n    }\n  } else {\n    NCCLCHECK(proxyState->ncclCollNet->iflush(resources->collNetComm, region + recvBeg, nBytesIn, resources->mhandles[NCCL_PROTO_SIMPLE], request));\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t recvProxyProgress(struct ncclProxyState* proxyState, struct ncclProxyArgs* args) {\n  if (args->state == ncclProxyOpReady) {\n    for (int s=0; s<args->nsubs; s++) {\n      struct ncclProxySubArgs* sub = args->subs+s;\n      struct recvResources* resources = (struct recvResources*) (sub->connection->transportResources);\n      // Round to next multiple of sliceSteps\n      sub->base = ROUNDUP(resources->step, args->chunkSteps);\n      sub->posted = sub->received = sub->flushed = sub->transmitted = sub->done = 0;\n      resources->step = sub->base + sub->nsteps;\n      //adjust nsteps for registerd buffers as device signals a single step\n      if (sub->reg && sub->isOneRPN) sub->nsteps = DIVUP((size_t)sub->nbytes, resources->maxCollBytes);\n      memset(sub->requests, 0, sizeof(sub->requests));\n    }\n    args->state = ncclProxyOpProgress;\n  }\n  args->idle = 1;\n  if (args->state == ncclProxyOpProgress) {\n    int nGroups = DIVUP(args->nsubs, COLLNET_GROUP_NSUBS);\n    for (int s=0; s<args->nsubs; s++) {\n      int group = s/COLLNET_GROUP_NSUBS;\n      int groupStart = s - (s%COLLNET_GROUP_NSUBS);\n      struct ncclProxySubArgs* sub = args->subs+s;\n      struct recvResources* resources = (struct recvResources*) (sub->connection->transportResources);\n      auto reqFifo = resources->reqFifo;\n\n      // Enforce sync between operations of the same group.\n      if (LAST_OF_GROUP(args, s) && (sub->posted < sub->done + calcStepsPerGroup(nGroups)) && (sub->posted < sub->nsteps)) {\n        int buffSlot = (sub->base+sub->posted)%NCCL_STEPS;\n        reqFifo[group][buffSlot].turnIsSendNotRecv = true;\n        TRACE(NCCL_NET, \"recvProxy [%ld/%d/%d] posted buffer\", (long)sub->posted, group, buffSlot);\n        sub->posted += args->sliceSteps;\n        args->idle = 0;\n        continue;\n      }\n      if (LAST_OF_GROUP(args, s) && (sub->received < sub->posted)) {\n        int buffSlot = (sub->base+sub->received)%NCCL_STEPS;\n        if (!reqFifo[group][buffSlot].turnIsSendNotRecv) { // Buffer is cleared : coll is complete\n          ssize_t recvBeg = calcRegionOffset(args, 1, groupStart, sub->received, 0);\n          ssize_t recvEnd = calcRegionOffset(args, 1, s, sub->received, 1);\n          ssize_t totalSize = recvEnd - recvBeg;\n          TRACE(NCCL_NET, \"recvProxy [%ld/%d/%d] received, size %ld chunkSize=%ld\", (long)sub->received, group, buffSlot, totalSize, args->chunkSize);\n          sub->received += args->sliceSteps;\n          if ((reqFifo[group][buffSlot].size > 0 || sub->reg) && resources->useGdr && resources->needFlush) {\n            // GDRCOPY support\n            if (resources->gdcFlush) {\n#if defined (__x86_64__)\n              // Force a PCI-E read from GPU memory\n              asm volatile (\"mov (%0), %%eax\" :: \"l\"(resources->gdcFlush) : \"%eax\");\n#else\n              WARN(\"NET: GDR Flush only supported on x86_64\");\n              return ncclInternalError;\n#endif\n            } else {\n              NCCLCHECK(collNetRecvFlush(proxyState, resources, args, sub, groupStart, totalSize, recvBeg, &sub->requests[buffSlot]));\n            }\n          }\n          args->idle = 0;\n          continue;\n        }\n      }\n      if (LAST_OF_GROUP(args, s) && (sub->flushed < sub->received)) {\n        // Progress flush operations\n        int buffSlot = (sub->base + sub->flushed)%NCCL_STEPS;\n        int done = 1;\n        if (sub->requests[buffSlot]) NCCLCHECK(proxyState->ncclCollNet->test(sub->requests[buffSlot], &done, NULL));\n        if (done) {\n          sub->requests[buffSlot] = nullptr;\n          TRACE(NCCL_NET, \"recvProxy [%ld/%d/%d] flushed\", (long)sub->flushed, group, buffSlot);\n          for (int i=group*COLLNET_GROUP_NSUBS; i<=s; i++) args->subs[i].flushed += args->sliceSteps;\n          args->idle = 0;\n          //continue;\n        }\n      }\n      if (sub->transmitted < sub->flushed) {\n        if (sub->reg == 0 || (!sub->isOneRPN && args->coll == ncclFuncAllGather)) {\n          int buffSlot = (sub->base + sub->transmitted)%NCCL_STEPS;\n          volatile struct ncclConnFifo* connFifo = (volatile struct ncclConnFifo*)resources->recvMem->connFifo;\n          connFifo[buffSlot].offset = calcRegionOffset(args, 1, s, sub->transmitted, 0);\n          __sync_synchronize();\n        }\n        volatile uint64_t* recvTail = resources->gdcSync ? resources->gdcSync : &resources->recvMem->tail;\n        if (sub->reg && sub->isOneRPN) {\n          // We may have bumped net steps, but reg operations only have a single step w.r.t. the GPU.\n          if (sub->flushed == sub->nsteps) *recvTail = sub->base + args->sliceSteps;\n        } else {\n          *recvTail = sub->base + sub->flushed;\n        }\n        if (resources->gdcSync) wc_store_fence(); // Flush out WC write\n        sub->transmitted += args->sliceSteps;\n        args->idle = 0;\n        continue;\n      }\n      // Enforce sync here to make sure the last sub doesn't increase \"done\" before all others in the group have\n      // reached the same point, otherwise we would start posting buffers to the send proxy before we're done\n      // processing all the shared buffer.\n      bool groupSync = s==0 ? args->subs[args->nsubs-1].done == sub->done\n                            : (sub-1)->done > sub->done;\n      volatile uint64_t* sendHead = &resources->sendMem->head;\n      int done = sub->reg && sub->isOneRPN ? 0 : sub->done;\n      if (groupSync && sub->done < sub->transmitted && sub->base + done < *sendHead) {\n        sub->done += args->sliceSteps;\n        args->idle = 0;\n        if (sub->done == sub->nsteps && s == args->nsubs-1) {\n          args->state = ncclProxyOpNone;\n          TRACE(NCCL_NET, \"recvProxy [%ld/%d] stopped\", (long)sub->done, s);\n        }\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nstruct collnetRegInfo {\n  uintptr_t buffer;\n  size_t size;\n};\n\nstatic ncclResult_t collnetRegisterBuffer(struct ncclComm* comm, const void* userbuff, size_t buffSize, int type, struct ncclReg* regRecord, int* outRegBufFlag, void** outHandle) {\n  ncclResult_t ret = ncclSuccess;\n  int gdrEnable = -1;\n  if (regRecord) {\n    if (regRecord->state & COLLNET_REG_COMPLETE) {\n      // reuse previous registration\n      *outRegBufFlag = 2;\n      *outHandle = regRecord->collnetHandle;\n      INFO(NCCL_REG, \"rank %d - COLLNET reuse register userbuff %p (handle %p), buffSize %ld, type %s\", comm->rank, userbuff, regRecord->collnetHandle, buffSize, type == collNetRecv ? \"Recv\" : \"Send\");\n      goto exit;\n    } else {\n      /* start register collnet buffer */\n      struct collnetRegInfo info = { regRecord->begAddr, regRecord->endAddr - regRecord->begAddr };\n      void* handle = NULL;\n      struct ncclConnInfo* conn = (type == collNetRecv) ? &comm->channels[0].peers[comm->nRanks]->recv[type].conn : &comm->channels[0].peers[comm->nRanks]->send[type].conn;\n\n      if (conn->flags & NCCL_DIRECT_NIC) {\n        struct ncclProxyConnector* proxyconn = (type == collNetRecv) ? &comm->channels[0].peers[comm->nRanks]->recv[type].proxyConn : &comm->channels[0].peers[comm->nRanks]->send[type].proxyConn;\n        gdrEnable = 1;\n        NCCLCHECKGOTO(ncclProxyCallBlocking(comm, proxyconn, ncclProxyMsgRegister, &info, sizeof(struct collnetRegInfo), &handle, sizeof(void*)), ret, fail);\n        if (handle) {\n          regRecord->state |= COLLNET_REG_COMPLETE;\n          regRecord->collnetProxyconn = proxyconn;\n          *outHandle = regRecord->collnetHandle = handle;\n          *outRegBufFlag = 1;\n          INFO(NCCL_REG, \"rank %d - COLLNET register userbuff %p (handle %p), buffSize %ld, type %s\", comm->rank, userbuff, handle, buffSize, type == collNetRecv ? \"Recv\" : \"Send\");\n        }\n      } else {\n        gdrEnable = 0;\n        goto fail;\n      }\n    }\n  }\nexit:\n  return ret;\nfail:\n  *outRegBufFlag = 0;\n  *outHandle = NULL;\n  INFO(NCCL_REG, \"rank %d - COLLNET failed to register userbuff %p, buffSize %ld, type %s, GDR %d\", comm->rank, userbuff, buffSize, type == collNetRecv ? \"Recv\" : \"Send\", gdrEnable);\n  goto exit;\n}\n\nncclResult_t ncclCollnetLocalRegisterBuffer(struct ncclComm* comm, const void* userbuff, size_t buffSize, int type, int* outRegBufFlag, void** outHandle) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclReg *regRecord = NULL;\n  bool isValid = false;\n  void *base = NULL;\n  size_t baseSize = 0;\n\n  *outRegBufFlag = 0;\n  *outHandle = NULL;\n  if (comm && userbuff && buffSize > 0) {\n    NCCLCHECKGOTO(ncclRegFind(comm, userbuff, buffSize, &regRecord), ret, fail);\n    NCCLCHECKGOTO(ncclRegLocalIsValid(regRecord, &isValid), ret, fail);\n    if (isValid) {\n      CUCHECKGOTO(cuMemGetAddressRange((CUdeviceptr *)&base, &baseSize, (CUdeviceptr)userbuff), ret, fail);\n      if ((uint64_t)base + baseSize < (uint64_t)userbuff + buffSize) goto exit;\n    }\n    NCCLCHECKGOTO(collnetRegisterBuffer(comm, userbuff, buffSize, type, regRecord, outRegBufFlag, outHandle), ret, fail);\n  }\nexit:\n  return ret;\nfail:\n  *outRegBufFlag = 0;\n  goto exit;\n}\n\nstruct ncclCollnetCleanupCallback {\n  struct ncclCommCallback base;\n  struct ncclComm *comm;\n  struct ncclReg *reg;\n};\n\nstatic ncclResult_t cleanupCollnet(struct ncclComm* comm, struct ncclCommCallback* cb) {\n  struct ncclCollnetCleanupCallback* obj = (struct ncclCollnetCleanupCallback*)cb;\n  NCCLCHECK(ncclCommGraphDeregister(obj->comm, obj->reg));\n  free(obj);\n  return ncclSuccess;\n}\n\nncclResult_t ncclCollnetGraphRegisterBuffer(struct ncclComm* comm, const void* userbuff, size_t buffSize, int type, int* outRegBufFlag, void** outHandle, struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue, int* nCleanupQueueElts) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclCollnetCleanupCallback* record = NULL;\n  struct ncclReg *regRecord = NULL;\n  void *base = NULL;\n  size_t baseSize = 0;\n\n  *outRegBufFlag = 0;\n  if (comm && userbuff && buffSize > 0) {\n    CUCHECKGOTO(cuMemGetAddressRange((CUdeviceptr *)&base, &baseSize, (CUdeviceptr)userbuff), ret, fail);\n    if ((uint64_t)base + baseSize < (uint64_t)userbuff + buffSize) goto exit;\n    NCCLCHECKGOTO(ncclCommGraphRegister(comm, base, baseSize, (void**)&regRecord), ret, fail);\n    NCCLCHECKGOTO(collnetRegisterBuffer(comm, userbuff, buffSize, type, regRecord, outRegBufFlag, outHandle), ret, fail);\n\n    if (*outRegBufFlag) {\n      record = (struct ncclCollnetCleanupCallback*)malloc(sizeof(struct ncclCollnetCleanupCallback));\n      if (record == nullptr) {\n        WARN(\"Failed to allocate collnet cleanup callback\");\n        return ncclSystemError;\n      }\n      record->base.fn = cleanupCollnet;\n      record->comm = comm;\n      record->reg = regRecord;\n      ncclIntruQueueEnqueue(cleanupQueue, (struct ncclCommCallback*)record);\n      *nCleanupQueueElts += 1;\n    } else {\n      NCCLCHECKGOTO(ncclCommGraphDeregister(comm, regRecord), ret, fail);\n    }\n  }\n\nexit:\n  return ret;\nfail:\n  *outRegBufFlag = 0;\n  *outHandle = NULL;\n  goto exit;\n}\n\nncclResult_t ncclCollnetDeregBuffer(struct ncclComm* comm, struct ncclProxyConnector* proxyconn, void* handle) {\n  NCCLCHECK(ncclProxyCallBlocking(comm, proxyconn, ncclProxyMsgDeregister, &handle, sizeof(void*), NULL, 0));\n  INFO(NCCL_REG, \"rank %d - COLLNET deregistered buffer handle %p\", comm->rank, handle);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sendProxyRegBuffer(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  void* handle;\n  struct collnetRegInfo* info = (struct collnetRegInfo*)reqBuff;\n  struct sendResources* resources = (struct sendResources*)(connection->transportResources);\n  ncclResult_t ret = ncclSuccess;\n  bool needReg = true;\n\n  assert(reqSize == sizeof(struct collnetRegInfo));\n  assert(respSize == sizeof(void*));\n\n  int dmabuf_fd = -1;\n#if CUDART_VERSION >= 11070\n  /* DMA-BUF support */\n  if (resources->useGdr && resources->useDmaBuf) {\n    CUCHECKGOTO(cuMemGetHandleForAddressRange((void *)&dmabuf_fd, (CUdeviceptr)info->buffer, info->size, CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD, getHandleForAddressRangeFlags(resources->useGdr)), ret, peermem);\n    NCCLCHECKGOTO(proxyState->ncclCollNet->regMrDmaBuf(resources->collNetComm, (void*)info->buffer, info->size, NCCL_PTR_CUDA, 0ULL, dmabuf_fd, &handle), ret, peermem);\n    needReg = false;\n  }\npeermem:\n#endif\n  if (dmabuf_fd != -1) {\n    (void)close(dmabuf_fd);\n    dmabuf_fd = -1;\n  }\n  if (needReg) {\n    NCCLCHECKGOTO(proxyState->ncclCollNet->regMr(resources->collNetComm, (void*)info->buffer, info->size, NCCL_PTR_CUDA, &handle), ret, fail);\n  }\n\nexit:\n  memcpy(respBuff, (void*)&handle, sizeof(void*));\n  *done = 1;\n  return ncclSuccess;\nfail:\n  handle = NULL;\n  goto exit;\n}\n\nstatic ncclResult_t recvProxyRegBuffer(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  void* handle;\n  struct collnetRegInfo* info = (struct collnetRegInfo*)reqBuff;\n  struct recvResources* resources = (struct recvResources*)(connection->transportResources);\n  ncclResult_t ret = ncclSuccess;\n  bool needReg = true;\n\n  assert(reqSize == sizeof(struct collnetRegInfo));\n  assert(respSize == sizeof(void*));\n  #if CUDART_VERSION >= 11070\n  int dmabuf_fd = -1;\n  /* DMA-BUF support */\n  if (resources->useGdr && resources->useDmaBuf) {\n    CUCHECKGOTO(cuMemGetHandleForAddressRange((void *)&dmabuf_fd, (CUdeviceptr)info->buffer, info->size, CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD, getHandleForAddressRangeFlags(resources->useGdr)), ret, peermem);\n    NCCLCHECKGOTO(proxyState->ncclCollNet->regMrDmaBuf(resources->collNetComm, (void*)info->buffer, info->size, NCCL_PTR_CUDA, 0ULL, dmabuf_fd, &handle), ret, peermem);\n    needReg = false;\n  }\npeermem:\n  if (dmabuf_fd != -1) {\n    (void)close(dmabuf_fd);\n    dmabuf_fd = -1;\n  }\n#endif\n  if (needReg) {\n    NCCLCHECKGOTO(proxyState->ncclCollNet->regMr(resources->collNetComm, (void*)info->buffer, info->size, NCCL_PTR_CUDA, &handle), ret, fail);\n  }\n\nexit:\n  memcpy(respBuff, (void*)&handle, sizeof(void*));\n  *done = 1;\n  return ncclSuccess;\nfail:\n  handle = NULL;\n  goto exit;\n}\n\nstatic ncclResult_t sendProxyDeregBuffer(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, int* done) {\n  void* handle;\n  struct sendResources* resources = (struct sendResources*)(connection->transportResources);\n\n  assert(reqSize == sizeof(void*));\n  memcpy(&handle, reqBuff, sizeof(void*));\n  NCCLCHECK(proxyState->ncclCollNet->deregMr(resources->collNetComm, handle));\n  *done = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t recvProxyDeregBuffer(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, int* done) {\n  void* handle;\n  struct recvResources* resources = (struct recvResources*)(connection->transportResources);\n\n  assert(reqSize == sizeof(void*));\n  memcpy(&handle, reqBuff, sizeof(void*));\n  NCCLCHECK(proxyState->ncclCollNet->deregMr(resources->collNetComm, handle));\n  *done = 1;\n  return ncclSuccess;\n}\n\nncclResult_t ncclCollNetChainBufferSetup(ncclComm_t comm) {\n  ncclResult_t ret = ncclSuccess;\n  char line[1024];\n\n  if (comm->config.collnetEnable == 0) goto exit;\n  // Connect Collnet + chain\n  for (int c = 0; c < comm->nChannels; c++) {\n    struct ncclChannel* channel = comm->channels + c;\n    NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, 1, &channel->collnetChain.up, 1, channel->collnetChain.down, 0), ret, fail);\n  }\n  NCCLCHECKGOTO(ncclTransportP2pSetup(comm, &comm->graphs[NCCL_ALGO_COLLNET_CHAIN], 0), ret, fail);\n  for (int c = 0; c < comm->nChannels; c++) {\n    struct ncclChannel* channel = comm->channels + c;\n    NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, 1, channel->collnetChain.down, 1, &channel->collnetChain.up, 1), ret, fail);\n  }\n  NCCLCHECKGOTO(ncclTransportP2pSetup(comm, &comm->graphs[NCCL_ALGO_COLLNET_CHAIN], 1), ret, fail);\n\n  line[0] = '\\0';\n  for (int c = 0; c < comm->nChannels; c++) {\n    struct ncclTree* chain = &comm->channels[c].collnetChain;\n    snprintf(line + strlen(line), 1023 - strlen(line), \" [%d] %d->%d->%d\",\n      c, chain->down[0], comm->rank, chain->up);\n  }\n  line[1023] = '\\0';\n\n  INFO(NCCL_INIT, \"Connected Collnet Chains %s\", line);\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t ncclCollNetDirectBufferSetup(ncclComm_t comm) {\n  ncclResult_t ret = ncclSuccess;\n\n  if (comm->config.collnetEnable == 0) goto exit;\n\n  // Connect intra-node CollNet + Direct\n  for (int c = 0; c < comm->nChannels; c++) {\n    struct ncclChannel* channelRecv = comm->channels + c;\n    NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, NCCL_MAX_DIRECT_ARITY, channelRecv->collnetDirect.up, NCCL_MAX_DIRECT_ARITY, channelRecv->collnetDirect.down, 0), ret, fail);\n  }\n  NCCLCHECKGOTO(ncclTransportP2pSetup(comm, &comm->graphs[NCCL_ALGO_COLLNET_DIRECT], 0), ret, fail);\n\n  for (int c = 0; c < comm->nChannels; c++) {\n    struct ncclChannel* channelSend = comm->channels + c;\n    NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, NCCL_MAX_DIRECT_ARITY, channelSend->collnetDirect.down, NCCL_MAX_DIRECT_ARITY, channelSend->collnetDirect.up, 1), ret, fail);\n  }\n  NCCLCHECKGOTO(ncclTransportP2pSetup(comm, &comm->graphs[NCCL_ALGO_COLLNET_DIRECT], 1), ret, fail);\n\n  INFO(NCCL_INIT, \"rank %d Connected CollNet\", comm->rank);\n\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\nstatic ncclResult_t collNetInitRailRankMap(ncclComm_t comm) {\n  int rank = comm->rank;\n  uint64_t nonHeadMask = (1ull << comm->localRanks) - 1;\n\n  comm->collNetDenseToUserRank = ncclMemoryStackAlloc<int>(&comm->memPermanent, comm->nRanks);\n  comm->collNetUserToDenseRank = ncclMemoryStackAlloc<int>(&comm->memPermanent, comm->nRanks);\n  // initialize collNetUserToDenseRank[rank]\n  comm->collNetUserToDenseRank[rank] = -1;\n  for (int h = 0; h < comm->collNetHeadsNum; h++) {\n    nonHeadMask ^= 1ull << comm->rankToLocalRank[comm->collNetHeads[h]];\n    if (comm->collNetHeads[h] == rank) { comm->collNetUserToDenseRank[rank] = h; break; }\n  }\n  if (comm->collNetUserToDenseRank[rank] == -1) {\n    comm->collNetUserToDenseRank[rank] = __builtin_popcountll(nonHeadMask & ((1ull << comm->localRank) - 1));\n  }\n  comm->collNetUserToDenseRank[rank] += comm->node * comm->localRanks;\n\n  NCCLCHECK(bootstrapAllGather(comm->bootstrap, comm->collNetUserToDenseRank, sizeof(int)));\n  for (int r = 0; r < comm->nRanks; r++) {\n    comm->collNetDenseToUserRank[comm->collNetUserToDenseRank[r]] = r;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclCollNetSetup(ncclComm_t comm, ncclComm_t parent, struct ncclTopoGraph* graphs[]) {\n  ncclResult_t ret = ncclSuccess;\n  int rank = comm->rank;\n  int collNetSetupFail = 0;\n  bool share;\n\n  struct collnetShareInfo {\n    int headPosition;\n    int isMaster;\n  };\n  struct collnetShareInfo* infos = NULL;\n\n  struct ncclTopoGraph* collNetGraph;\n\n  if (!comm->nvlsSupport) {\n    collNetGraph = graphs[NCCL_ALGO_COLLNET_DIRECT];\n    NCCLCHECKGOTO(ncclCalloc(&comm->collNetHeads, collNetGraph->nChannels), ret, fail);\n    uint64_t mask = 0;\n    // Head GPU index is always 0\n    for (int c = 0; c < collNetGraph->nChannels; c++) {\n      int head = collNetGraph->intra[c * comm->localRanks + 0];\n      assert(comm->rankToNode[head] == comm->node);\n      uint64_t mask0 = mask;\n      mask |= 1ull<<comm->rankToLocalRank[head];\n      if (mask != mask0) comm->collNetHeads[comm->collNetHeadsNum++] = head;\n    }\n  } else {\n    // Use the NVLS graph to get the head ranks for collnet setup. comm->nvlsHeads already has unique heads.\n    // nHeads is the same on all the channels, see connectNvls function\n    collNetGraph = graphs[NCCL_ALGO_NVLS];\n    NCCLCHECKGOTO(ncclCalloc(&comm->collNetHeads, collNetGraph->nChannels), ret, fail);\n    comm->collNetHeadsNum = comm->channels[0].nvls.nHeads;\n    // Copy over comm->collNetHeads from comm->nvlsHeads since they are freed in different places.\n    memcpy(comm->collNetHeads, comm->nvlsHeads, comm->collNetHeadsNum * sizeof(int));\n  }\n\n  if (parent && parent->config.collnetEnable && parent->nNodes == comm->nNodes) {\n    if (!parent->shareResources) {\n      collNetSetupFail = 1;\n      goto fail;\n    }\n    NCCLCHECKGOTO(ncclCalloc(&infos, comm->nRanks), ret, fail);\n    /* check whether child can share collnet resources of parent. Since parent builds each collnet communicator\n     * based on heads with the same head position in each node, as long as the collnet heads of child comm\n     * can match parent's heads, we can let child communicator share parent's collnet resources. */\n    for (int h = 0; h < comm->collNetHeadsNum; ++h) {\n      int prev = INT_MIN;\n      struct collnetShareInfo* myinfo;\n\n      share = true;\n      myinfo = infos + comm->rank;\n      memset(myinfo, 0, sizeof(struct collnetShareInfo));\n      /* find the child head position in parent collnet heads. */\n      if (comm->collNetHeads[h] == comm->rank) {\n        myinfo->headPosition = -1;\n        myinfo->isMaster = 1;\n        for (int th = 0; th < parent->collNetHeadsNum; ++th)\n          if (parent->topParentRanks[parent->collNetHeads[th]] == comm->topParentRanks[comm->rank]) {\n            myinfo->headPosition = th;\n            break;\n          }\n      }\n\n      NCCLCHECKGOTO(bootstrapAllGather(comm->bootstrap, infos, sizeof(struct collnetShareInfo)), ret, fail);\n      for (int i = 0; i < comm->nRanks; ++i) {\n        if (infos[i].isMaster) {\n          if (prev == INT_MIN)\n            prev = infos[i].headPosition;\n\n          if (infos[i].headPosition == -1 || prev != infos[i].headPosition) {\n            share = false;\n            break;\n          }\n        }\n      }\n\n      if (share) {\n        if (myinfo->isMaster) {\n          comm->collNetSharedRes = parent->collNetSharedRes;\n          for (int c = 0; c < comm->nChannels; ++c)\n            NCCLCHECKGOTO(initCollnetChannel(comm, c, parent, true), ret, fail);\n        }\n\n        NCCLCHECKGOTO(collNetInitRailRankMap(comm), ret, fail);\n      } else {\n        collNetSetupFail = 1;\n        if (comm->rank == 0) {\n          WARN(\"Child comms (nRanks %d) fails to share parent comms (nRanks %d) sharp resources\", comm->nRanks, parent->nRanks);\n        }\n        goto fail;\n      }\n    }\n    share = true;\n  } else {\n    /* this allocated buffer will be freed on proxy side */\n    NCCLCHECK(ncclCalloc(&comm->collNetSharedRes, 1));\n    comm->collNetSharedRes->nChannels = comm->nChannels;\n    comm->collNetSharedRes->buffSize = comm->buffSizes[NCCL_PROTO_SIMPLE];\n\n    NCCLCHECKGOTO(collNetInitRailRankMap(comm), ret, fail);\n\n    for (int c = 0; c < comm->nChannels; c++) {\n      struct ncclChannel* channel = comm->channels + c;\n      NCCLCHECKGOTO(initCollnetChannel(comm, c, parent, false), ret, fail);\n      for (int h = 0; h < comm->collNetHeadsNum; h++) {\n        const int head = comm->collNetHeads[h];\n        ncclConnect connect;\n        collNetSetupFail |= ncclTransportCollNetSetup(comm, collNetGraph, channel, head, head, h, collNetRecv, &connect);\n        if (!collNetSetupFail) collNetSetupFail |= ncclTransportCollNetSetup(comm, collNetGraph, channel, head, head, h, collNetSend, &connect);\n      }\n      // Verify CollNet setup across ranks after trying the first channel\n      if (c == 0) {\n        NCCLCHECKGOTO(ncclTransportCollNetCheck(comm, collNetSetupFail), ret, fail);\n      }\n    }\n    share = false;\n  }\n\n  if (share) {\n    memcpy(comm->collNetSupportMatrix, parent->collNetSupportMatrix, sizeof(comm->collNetSupportMatrix));\n  } else {\n    do {\n      /* Initialize all entries in collNetSupportMatrix[redop][type]. Since some\n      ranks don't connect to sharp we enable a (redop,type) if any rank claims\n      support. */\n      uint8_t(*matrix)[4][ncclNumTypes];\n      bool isHead = false;\n      matrix = nullptr;\n      NCCLCHECKGOTO(ncclCalloc(&matrix, comm->nRanks), ret, matrix_end);\n      for (int h = 0; h < comm->collNetHeadsNum; h++) isHead |= (comm->collNetHeads[h] == comm->rank);\n      if (isHead) {\n        for (int ty=0; ty < ncclNumTypes; ty++) {\n          for (int op=0; op < 4; op++) {\n            int support = 0;\n            NCCLCHECKGOTO(collNetReduceSupport(comm, (ncclDataType_t)ty, (ncclRedOp_t)op, &support), ret, matrix_end);\n            // bit 0 = not supported, bit 1 = supported\n            matrix[rank][op][ty] = 1<<(support ? 1 : 0);\n          }\n        }\n      }\n      NCCLCHECKGOTO(bootstrapAllGather(comm->bootstrap, matrix, sizeof(*matrix)), ret, matrix_end);\n      for (int ty=0; ty < ncclNumTypes; ty++) {\n        for (int op=0; op < 4; op++) {\n          uint8_t accum = 0;\n          for (int r=0; r < comm->nRanks; r++) accum |= matrix[r][op][ty];\n          // We support (redop, type) if some rank supports it and no rank doesn't support it\n          comm->collNetSupportMatrix[op][ty] = (accum == (1<<1));\n        }\n      }\n    matrix_end:\n      free(matrix);\n      if (ret != ncclSuccess) goto fail;\n    } while (0);\n  }\n\n  // Verify CollNet setup across ranks after trying all channels\n  NCCLCHECKGOTO(ncclTransportCollNetCheck(comm, collNetSetupFail), ret, fail);\n  TRACE(NCCL_INIT, \"rank %d Connected inter-node CollNet\", rank);\n\nexit:\n  free(infos);\n  return ret;\nfail:\n  ncclTransportCollNetFree(comm);\n  comm->config.collnetEnable = 0;\n  goto exit;\n}\n\nstruct ncclTransport collNetTransport = {\n  \"COL\",\n  canConnect,\n  { sendSetup, sendConnect, sendFree, NULL, sendProxySetup, sendProxyConnect, sendProxyFree, sendProxyProgress, sendProxyRegBuffer, sendProxyDeregBuffer },\n  { recvSetup, recvConnect, recvFree, NULL, recvProxySetup, recvProxyConnect, recvProxyFree, recvProxyProgress, recvProxyRegBuffer, recvProxyDeregBuffer }\n};\n"
  },
  {
    "path": "src/transport/generic.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2025, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"transport.h\"\n#include \"bootstrap.h\"\n\nncclResult_t ncclTransportRingConnect(struct ncclComm* comm) {\n  struct ringConnInfo {\n    bool useNetPXN;\n    bool useGdr;\n  };\n  struct ringConnInfo* ringInfo = NULL;\n  ncclResult_t ret = ncclSuccess;\n  if (comm && comm->nRanks > 1) {\n    comm->useGdr = true;\n    comm->useNetPXN = false;\n    for (int c = 0; c < comm->nChannels; c++) {\n      struct ncclChannel* channel = comm->channels + c;\n      NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, 1, &channel->ring.prev, 1, &channel->ring.next, 0), ret, fail);\n    }\n    NCCLCHECKGOTO(ncclTransportP2pSetup(comm, &comm->graphs[NCCL_ALGO_RING], 0), ret, fail);\n    if (ncclParamLocalRegister() || ncclParamGraphRegister()) {\n      NCCLCHECK(ncclCalloc(&ringInfo, comm->nRanks));\n      ringInfo[comm->rank].useGdr = comm->useGdr;\n      ringInfo[comm->rank].useNetPXN = comm->useNetPXN;\n      NCCLCHECKGOTO(bootstrapAllGather(comm->bootstrap, ringInfo, sizeof(struct ringConnInfo)), ret, fail);\n      for (int i = 0; i < comm->nRanks; ++i) {\n        if (!ringInfo[i].useGdr) comm->useGdr = false;\n        if (ringInfo[i].useNetPXN) comm->useNetPXN = true;\n        if (comm->useGdr == false && comm->useNetPXN == true) break;\n      }\n    }\n    INFO(NCCL_INIT, \"Connected all rings, use ring PXN %d GDR %d\", comm->useNetPXN, comm->useGdr);\n  }\nexit:\n  free(ringInfo);\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t ncclTransportTreeConnect(struct ncclComm* comm) {\n  ncclResult_t ret = ncclSuccess;\n  if (comm && comm->nRanks > 1) {\n    // Connect Trees\n    for (int c = 0; c < comm->nChannels; c++) {\n      struct ncclChannel* channel = comm->channels + c;\n      NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, NCCL_MAX_TREE_ARITY, channel->tree.down, 1, &channel->tree.up, 0), ret, fail);\n      NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, 1, &channel->tree.up, NCCL_MAX_TREE_ARITY, channel->tree.down, 0), ret, fail);\n    }\n    NCCLCHECKGOTO(ncclTransportP2pSetup(comm, &comm->graphs[NCCL_ALGO_TREE], 0), ret, fail);\n    INFO(NCCL_INIT, \"Connected all trees\");\n  }\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t ncclTransportPatConnect(struct ncclComm* comm) {\n  ncclResult_t ret = ncclSuccess;\n  if (comm && comm->nRanks > 1) {\n    for (int mask=1; mask<comm->nRanks; mask<<=1) {\n      int prevPeer = (comm->rank + mask) % comm->nRanks;\n      int nextPeer = (comm->rank + comm->nRanks - mask) % comm->nRanks;\n      for (int c = 0; c < comm->nChannels; c++) {\n        NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, 1, &prevPeer, 1, &nextPeer, 0), ret, fail); // ReduceScatter\n      }\n      NCCLCHECKGOTO(ncclTransportP2pSetup(comm, &comm->graphs[NCCL_ALGO_TREE], 0), ret, fail);\n      for (int c = 0; c < comm->nChannels; c++) {\n        NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, 1, &nextPeer, 1, &prevPeer, 0), ret, fail); // AllGather\n      }\n      NCCLCHECKGOTO(ncclTransportP2pSetup(comm, &comm->graphs[NCCL_ALGO_TREE], 0), ret, fail);\n    }\n    INFO(NCCL_INIT, \"Connected binomial trees\");\n  }\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n"
  },
  {
    "path": "src/transport/net.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"net.h\"\n#include \"graph.h\"\n#include \"proxy.h\"\n#include \"collectives.h\"\n#include \"gdrwrap.h\"\n#include \"shmutils.h\"\n#include \"p2p.h\"\n#include \"profiler.h\"\n#include \"transport.h\"\n#include \"shm.h\"\n#include <assert.h>\n#include \"graph.h\"\n#include \"graph/topo.h\"\n#include \"nccl_net.h\"\n#include \"register_inline.h\"\n#if defined(ENABLE_NPKIT)\n#include \"npkit/npkit.h\"\n#endif\n#include \"msccl/msccl_lifecycle.h\"\n\nstatic_assert(sizeof(ncclNetHandle_t) <= CONNECT_SIZE, \"NET Connect info is too large\");\n\n#define NCCL_NET_MAP_HOSTMEM 0\n#define NCCL_NET_MAP_DEVMEM 1\n#define NCCL_NET_MAP_SHARED_HOSTMEM 2\n#define NCCL_NET_MAP_SHARED_DEVMEM 3\n#define NCCL_NET_MAP_GDCMEM 4\n#define NCCL_NET_MAP_MEMS 5\n\n#define NCCL_NET_MAP_MASK_DEVMEM 0x40000000\n#define NCCL_NET_MAP_MASK_SHARED 0x80000000\n#define NCCL_NET_MAP_MASK_USED   0x20000000\n#define NCCL_NET_MAP_MASK_OFFSET 0x1fffffff\n\n#define NCCL_NET_MAP_OFFSET_BANK(mapStruct, offsetName) \\\n  ((mapStruct)->offsets.offsetName >> 30)\n\n#define NCCL_NET_MAP_OFFSET_NULL(mapStruct, offsetName) \\\n  (((mapStruct)->offsets.offsetName >> 29) == 0)\n\n#define NCCL_NET_MAP_GET_POINTER(mapStruct, cpuOrGpu, offsetName) \\\n  (NCCL_NET_MAP_OFFSET_NULL(mapStruct, offsetName) ? NULL : \\\n  (mapStruct)->mems[NCCL_NET_MAP_OFFSET_BANK(mapStruct, offsetName)].cpuOrGpu##Ptr + ((mapStruct)->offsets.offsetName & NCCL_NET_MAP_MASK_OFFSET))\n\n#define NCCL_NET_MAP_DEV_MEM(mapStruct, offsetName) \\\n  (((mapStruct)->offsets.offsetName & NCCL_NET_MAP_MASK_DEVMEM) != 0)\n\n#define NCCL_NET_MAP_ADD_POINTER(mapStruct, shared, dev, memSize, offsetName) do { \\\n    int bank = NCCL_NET_MAP_MASK_USED + (dev)*NCCL_NET_MAP_MASK_DEVMEM + (shared)*NCCL_NET_MAP_MASK_SHARED; \\\n    if ((shared) == 0) { \\\n      if (dev) { \\\n        (mapStruct)->offsets.offsetName = bank + (mapStruct)->mems[NCCL_NET_MAP_DEVMEM].size; \\\n        (mapStruct)->mems[NCCL_NET_MAP_DEVMEM].size += memSize; \\\n      } else { \\\n        (mapStruct)->offsets.offsetName = bank + (mapStruct)->mems[NCCL_NET_MAP_HOSTMEM].size; \\\n        (mapStruct)->mems[NCCL_NET_MAP_HOSTMEM].size += memSize; \\\n      } \\\n    } else { \\\n      (mapStruct)->offsets.offsetName = bank; \\\n    } \\\n} while (0);\n\nstruct connectMapMem{\n  char* gpuPtr;\n  char* cpuPtr;\n  int size;\n  ncclIpcDesc ipcDesc;\n  ncclShmIpcDesc_t attachDesc;\n  ncclShmIpcDesc_t createDesc;\n};\n\nstruct connectMap {\n  int sameProcess;\n  int shared;\n  int cudaDev;\n  // First 3 bits of offsets determine the mem bank. 001 is host mem, 011 is dev mem, 101 is shared host mem and 111 is shared dev mem.\n  struct connectMapMem mems[NCCL_NET_MAP_MEMS];\n  // Offsets. 3 MSBs indicate mem bank, 111 indicates NULL.\n  struct {\n    uint32_t sendMem;\n    uint32_t recvMem;\n    uint32_t buffs[NCCL_NUM_PROTOCOLS];\n  } offsets;\n};\n\nstruct sendNetResources {\n  struct connectMap map;\n  void* netSendComm;\n  struct ncclSendMem* sendMem;\n  struct ncclRecvMem* recvMem;\n\n  int tpRank;\n  int tpLocalRank;\n  int tpRemoteRank;\n  int netDev;\n  enum ncclTopoGdrMode useGdr;\n  int useDmaBuf;\n  int maxRecvs;\n  uint64_t* gdcSync;\n  void* gdrDesc;\n  int shared;\n  int channelId;\n  int connIndex;\n  char* buffers[NCCL_NUM_PROTOCOLS];\n  int buffSizes[NCCL_NUM_PROTOCOLS];\n  void* mhandles[NCCL_NUM_PROTOCOLS];\n  uint64_t step;\n  uint64_t llLastCleaning;\n  int netDeviceVersion;\n  ncclNetDeviceType netDeviceType;\n  ncclNetDeviceHandle_t* netDeviceHandle;\n  size_t maxP2pBytes;\n  volatile uint32_t* curr_hdp_reg;  // Curr GPU in ring (for rdma transport use only)\n  int isP2p;\n};\n\nstruct recvNetResources {\n  struct connectMap map;\n  void* netListenComm;\n  void* netRecvComm;\n  struct ncclSendMem* sendMem;\n  struct ncclRecvMem* recvMem;\n\n  int tpRank;\n  int tpLocalRank;\n  int tpRemoteRank;\n  int tpRemoteProxyRank;\n  int netDev;\n  enum ncclTopoGdrMode useGdr;\n  int useDmaBuf;\n  int needFlush;\n  int maxRecvs;\n  uint64_t* gdcSync;\n  uint64_t* gdcFlush;\n  void* gdrDesc;\n  int shared;\n  int channelId;\n  int connIndex;\n  char* buffers[NCCL_NUM_PROTOCOLS];\n  int buffSizes[NCCL_NUM_PROTOCOLS];\n  void* mhandles[NCCL_NUM_PROTOCOLS];\n  uint64_t step;\n  uint64_t llLastCleaning;\n  int netDeviceVersion;\n  ncclNetDeviceType netDeviceType;\n  ncclNetDeviceHandle_t* netDeviceHandle;\n  size_t maxP2pBytes;\n  volatile uint32_t* curr_hdp_reg;  // Curr GPU in ring (for rdma transport use only)\n};\n\nstruct netRegInfo {\n  uintptr_t buffer;\n  size_t size;\n};\n\n/* Determine if two peers can communicate with NET */\nstatic ncclResult_t canConnect(int* ret, struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* info1, struct ncclPeerInfo* info2) {\n  *ret = 1;\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#else\n  if (info1->hostHash == info2->hostHash) {\n    // If on the same host, check intra-node net is not disabled.\n    NCCLCHECK(ncclTopoCheckNet(comm->topo, info1->rank, info2->rank, ret));\n  }\n#endif\n  return ncclSuccess;\n}\n\nNCCL_PARAM(NetSharedBuffers, \"NET_SHARED_BUFFERS\", -2);\nNCCL_PARAM(NetSharedComms, \"NET_SHARED_COMMS\", 1);\n\n#if defined(HIP_CONTIGUOUS_MEMORY)\nRCCL_PARAM(NetContiguousMem, \"NET_CONTIGUOUS_MEM\", 0);\n#endif\n\nstruct setupReq {\n  int tpRank;\n  int tpLocalRank;\n  int tpRemoteRank;\n  int shared;\n  int netDev;\n  enum ncclTopoGdrMode useGdr;\n  int needFlush;\n  int channelId;\n  int connIndex;\n  uint32_t* curr_hdp_reg;\n  int isP2p;\n};\n\nNCCL_PARAM(NetOptionalRecvCompletion, \"NET_OPTIONAL_RECV_COMPLETION\", 1);\nRCCL_PARAM(AinicRoce, \"AINIC_ROCE\", 0);\n\nstatic_assert(sizeof(ncclNetHandle_t) + sizeof(int) <= CONNECT_SIZE, \"Not large enough ncclConnect to hold ncclNetHandle_t and useGdr flag\");\n\n// Common function to initialize network attributes from a ncclComm\nstatic void populateCommNetAttrs(struct ncclComm* comm, struct ncclConnector* conn, ncclNetAttr_t* netAttr) {\n  *netAttr = NCCL_NET_ATTR_INIT;\n  netAttr->sendCommAttr.minConcurrentPeers = 1;\n  netAttr->sendCommAttr.minFlowsPerPeer = 1;\n\n  netAttr->recvCommAttr.minConcurrentPeers = 1;\n  netAttr->recvCommAttr.minFlowsPerPeer = 1;\n\n  if (conn->p2pOnly) {\n    size_t maxConcPeers = comm->p2pnChannels * NCCL_MAX_DEV_WORK_P2P_PER_BATCH;\n    if (comm->nRanks < maxConcPeers) maxConcPeers = comm->nRanks;\n\n    netAttr->sendCommAttr.maxConcurrentPeers = maxConcPeers;\n    netAttr->sendCommAttr.maxFlowsPerPeer = comm->p2pnChannelsPerPeer;\n    netAttr->recvCommAttr.maxConcurrentPeers = maxConcPeers;\n    netAttr->recvCommAttr.maxFlowsPerPeer = comm->p2pnChannelsPerPeer;\n    netAttr->op = BIT(ncclFuncSend) | BIT(ncclFuncRecv) |\n                  BIT(ncclFuncAlltoAll) | BIT(ncclFuncScatter) | BIT(ncclFuncGather);\n  } else {\n    size_t maxConcPeers = (NCCL_MAX_TREE_ARITY - 1) * 2;\n    if (comm->nRanks < maxConcPeers) maxConcPeers = comm->nRanks;\n    netAttr->sendCommAttr.maxConcurrentPeers = maxConcPeers;\n    netAttr->sendCommAttr.maxFlowsPerPeer = comm->nChannels;\n    netAttr->recvCommAttr.maxConcurrentPeers = maxConcPeers;\n    netAttr->recvCommAttr.maxFlowsPerPeer = comm->nChannels;\n  }\n}\n\n// Apply the netAttr to the netComm\nvoid setNetAttrs(struct ncclProxyState* proxyState, ncclNetAttr_t* netAttr)\n{\n  if (proxyState->ncclNet->setNetAttr) {\n    proxyState->ncclNet->setNetAttr(proxyState->netContext, netAttr);\n    proxyState->netAttr = *netAttr;\n  }\n}\n\nvoid printNetAttrs(ncclNetAttr_t* netAttr, const char *task)\n{\n  const int opBufLen = ncclNumFuncs*32;\n  char opBuf[opBufLen] = \"\";\n  const int algoBufLen = NCCL_NUM_ALGORITHMS*32;\n  char algoBuf[algoBufLen] = \"\";\n  const int protoBufLen = NCCL_NUM_PROTOCOLS*32;\n  char protoBuf[protoBufLen] = \"\";\n\n  ncclBitsToString(netAttr->op, MASK(ncclNumFuncs), (const char* (*)(int))ncclFuncToString, opBuf, opBufLen, \"*\");\n  ncclBitsToString(netAttr->algo, MASK(NCCL_NUM_ALGORITHMS), ncclAlgoToString, algoBuf, algoBufLen, \"*\");\n  ncclBitsToString(netAttr->proto, MASK(NCCL_NUM_PROTOCOLS), ncclProtoToString, protoBuf, protoBufLen, \"*\");\n\n  TRACE(NCCL_NET, \"%s hints, send peers/flows: [%d-%d][%d-%d] recv peers/flows: [%d-%d][%d-%d] op: %s algo: %s proto: %s\",\n        task, netAttr->sendCommAttr.minConcurrentPeers, netAttr->sendCommAttr.maxConcurrentPeers,\n        netAttr->sendCommAttr.minFlowsPerPeer, netAttr->sendCommAttr.maxFlowsPerPeer,\n        netAttr->recvCommAttr.minConcurrentPeers, netAttr->recvCommAttr.maxConcurrentPeers,\n        netAttr->recvCommAttr.minFlowsPerPeer, netAttr->recvCommAttr.maxFlowsPerPeer,\n        opBuf, algoBuf, protoBuf);\n}\n\n// Set the netAttr for a transfer operation\nvoid setXferNetAttrs(struct ncclProxyState* proxyState, struct ncclProxyArgs* args, int send)\n{\n  ncclNetAttr_t netAttr;\n\n  if (!proxyState->ncclNet->setNetAttr)\n    return;\n\n  netAttr = proxyState->netAttr;\n\n  if (send) {\n    netAttr.sendCommAttr.maxConcurrentPeers = args->nPeers;\n    netAttr.sendCommAttr.minConcurrentPeers = args->nPeers;\n    netAttr.sendCommAttr.maxFlowsPerPeer = args->nChannels;\n    netAttr.sendCommAttr.minFlowsPerPeer = args->nChannels;\n  } else {\n    netAttr.recvCommAttr.maxConcurrentPeers = args->nPeers;\n    netAttr.recvCommAttr.minConcurrentPeers = args->nPeers;\n    netAttr.recvCommAttr.maxFlowsPerPeer = args->nChannels;\n    netAttr.recvCommAttr.minFlowsPerPeer = args->nChannels;\n  }\n\n  netAttr.op = BIT(args->collAPI);\n  // algo/proto are undefined for p2p\n  if (args->collAPI < NCCL_NUM_FUNCTIONS) {\n    netAttr.algo = BIT(args->algorithm);\n    netAttr.proto = BIT(args->protocol);\n  }\n\n  if (memcmp(&proxyState->netAttr, &netAttr, sizeof(netAttr))) {\n    setNetAttrs(proxyState, &netAttr);\n    printNetAttrs(&netAttr, send ? \"send\" : \"recv\");\n  }\n}\n\n// Forward declaration\nstatic ncclResult_t sendProxyProgress(struct ncclProxyState* proxyState, struct ncclProxyArgs* args);\n\n// Returns the flags to be used by a call to cuMemGetHandleForAddressRange.\nstatic inline int getHandleForAddressRangeFlags(ncclTopoGdrMode useGdr) {\n  int flags = 0;\n#if CUDA_VERSION >= 12080\n  // Force mapping on PCIe on systems with both PCI and C2C attachments.\n  if (useGdr == ncclTopoGdrModePci) flags = CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE;\n#endif\n  return flags;\n}\n\n/* Determine if we will use this transport for this peer and return connect\n* information for this peer */\nstatic ncclResult_t sendSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo, struct ncclConnect* connectInfo, struct ncclConnector* send, int channelId, int connIndex) {\n  struct setupReq req = { 0 };\n\n  send->conn.shared = req.shared = (graph || connIndex == 0  || mscclIsCaller()) ? 0 : ncclParamNetSharedBuffers() != -2 ? ncclParamNetSharedBuffers() : 1;\n  req.channelId = channelId;\n  req.connIndex = connIndex;\n  req.curr_hdp_reg = 0;\n  req.netDev = -1;\n  // Determine if this is a P2P connection or not based on the graph pointer\n  if(graph == NULL) {\n    req.isP2p = 1;\n  } else {\n    req.isP2p = 0;\n  }\n\n  int proxyRank = myInfo->rank;\n  int64_t netId;\n  if (connIndex == NCCL_CONN_IDX_P2P_NET) NCCLCHECK(ncclTopoGetIntraNetDev(comm->topo, myInfo->rank, graph, channelId, 1, &netId, &req.netDev));\n  if (req.netDev < 0) NCCLCHECK(ncclTopoGetNetDev(comm, myInfo->rank, graph, channelId, peerInfo->rank, &netId, &req.netDev, &proxyRank));\n  NCCLCHECK(ncclTopoCheckGdr(comm->topo, myInfo->rank, netId, 1, &req.useGdr));\n  send->conn.flags |= req.useGdr ? NCCL_DIRECT_NIC : 0;\n  if (!req.useGdr && connIndex == 0) comm->useGdr = 0;\n  if (proxyRank != myInfo->rank && connIndex == 0) comm->useNetPXN = true;\n  if (req.useGdr && !IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx90a\") && !IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") && !IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\")) {\n    CUDACHECK(hipDeviceGetAttribute((int*)&req.curr_hdp_reg, hipDeviceAttributeHdpMemFlushCntl, myInfo->cudaDev));\n    send->conn.curr_hdp_reg = req.curr_hdp_reg;\n  }\n\n  NCCLCHECK(ncclProxyConnect(comm, TRANSPORT_NET, 1, proxyRank, &send->proxyConn));\n  req.tpLocalRank = comm->topParentLocalRanks[comm->localRank];\n  req.tpRank = comm->topParentRanks[myInfo->rank];\n  req.tpRemoteRank = comm->topParentRanks[peerInfo->rank];\n  NCCLCHECK(ncclProxyCallBlocking(comm, &send->proxyConn, ncclProxyMsgSetup, &req, sizeof(req), NULL, 0));\n\n  if (proxyRank == myInfo->rank) {\n    INFO(NCCL_INIT|NCCL_NET,\"Channel %02d/%d : %d[%d] -> %d[%d] [send] via NET/%s/%d%s%s%s comm %p nRanks %02d\", channelId, connIndex, myInfo->rank, myInfo->nvmlDev, peerInfo->rank, peerInfo->nvmlDev, comm->ncclNet->name, req.netDev,\n        req.useGdr ? \"/GDRDMA\" : \"\", req.useGdr==ncclTopoGdrModePci ? \"(PCI)\" : \"\",\n        req.shared ? \"/Shared\" : \"\", comm, comm->nRanks);\n  } else {\n    INFO(NCCL_INIT|NCCL_NET,\"Channel %02d/%d : %d[%d] -> %d[%d] [send] via NET/%s/%d(%d)%s%s%s comm %p nRanks %02d\", channelId, connIndex, myInfo->rank, myInfo->nvmlDev, peerInfo->rank, peerInfo->nvmlDev, comm->ncclNet->name, req.netDev,\n        proxyRank,\n        req.useGdr ? \"/GDRDMA\" : \"\", req.useGdr==ncclTopoGdrModePci ? \"(PCI)\" : \"\",\n        req.shared ? \"/Shared\" : \"\", comm, comm->nRanks);\n  }\n  *((int*)connectInfo) = comm->topParentRanks[proxyRank];\n  memcpy((uint8_t*)connectInfo + sizeof(ncclNetHandle_t), &req.useGdr, sizeof(int));\n  return ncclSuccess;\n}\n\n// GDRCOPY support: TAIL_ENABLE When enabled locates the RX proxy tail in CUDA memory\nNCCL_PARAM(GdrCopySyncEnable, \"GDRCOPY_SYNC_ENABLE\", 1);\n// GDRCOPY support: FLUSH_ENABLE When enabled uses a PCI-E read to flush GDRDMA buffers\nNCCL_PARAM(GdrCopyFlushEnable, \"GDRCOPY_FLUSH_ENABLE\", 0);\n\n/* Setup recv connector */\nstatic ncclResult_t recvSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo, struct ncclConnect* connectInfo, struct ncclConnector* recv, int channelId, int connIndex) {\n  struct setupReq req = { 0 };\n\n  recv->conn.shared = req.shared = (graph || connIndex == 0 || mscclIsCaller()) ? 0 : ncclParamNetSharedBuffers() != -2 ? ncclParamNetSharedBuffers() : 1;\n  req.channelId = channelId;\n  req.connIndex = connIndex;\n  req.netDev = -1;\n\n  // Use myInfo->rank as the receiver uses its own NIC\n  int proxyRank = myInfo->rank;\n  int64_t netId;\n  if (connIndex == NCCL_CONN_IDX_P2P_NET) NCCLCHECK(ncclTopoGetIntraNetDev(comm->topo, myInfo->rank, graph, channelId, 0, &netId, &req.netDev));\n  if (req.netDev < 0) NCCLCHECK(ncclTopoGetNetDev(comm, myInfo->rank, graph, channelId, myInfo->rank, &netId, &req.netDev, &proxyRank));\n  NCCLCHECK(ncclTopoCheckGdr(comm->topo, myInfo->rank, netId, 0, &req.useGdr));\n  recv->conn.flags |= req.useGdr ? NCCL_DIRECT_NIC : 0;\n  if (!req.useGdr && connIndex == 0) comm->useGdr = 0;\n\n  // Determine whether we need to flush the GDR buffer on recv or not\n  if (req.useGdr) {\n    NCCLCHECK(ncclTopoNeedFlush(comm, netId, req.netDev, myInfo->rank, &req.needFlush));\n    CUDACHECK(hipDeviceGetAttribute((int*)&req.curr_hdp_reg, hipDeviceAttributeHdpMemFlushCntl, myInfo->cudaDev));\n    recv->conn.curr_hdp_reg = req.curr_hdp_reg;\n  }\n\n  // We don't support PXN on receive yet\n  NCCLCHECK(ncclProxyConnect(comm, TRANSPORT_NET, 0, myInfo->rank, &recv->proxyConn));\n\n  req.tpLocalRank = comm->topParentLocalRanks[comm->localRank];\n  req.tpRank = comm->topParentRanks[myInfo->rank];\n  req.tpRemoteRank = comm->topParentRanks[peerInfo->rank];\n  NCCLCHECK(ncclProxyCallBlocking(comm, &recv->proxyConn, ncclProxyMsgSetup, &req, sizeof(req), connectInfo, sizeof(ncclNetHandle_t)));\n  memcpy((uint8_t*)connectInfo + sizeof(ncclNetHandle_t), &req.useGdr, sizeof(int));\n  INFO(NCCL_INIT|NCCL_NET,\"Channel %02d/%d : %d[%d] -> %d[%d] [receive] via NET/%s/%d%s%s%s comm %p nRanks %02d\", channelId, connIndex, peerInfo->rank, peerInfo->nvmlDev, myInfo->rank, myInfo->nvmlDev, comm->ncclNet->name, req.netDev,\n      req.useGdr ? \"/GDRDMA\" : \"\", req.useGdr==ncclTopoGdrModePci ? \"(PCI)\" : \"\",\n      req.shared ? \"/Shared\" : \"\", comm, comm->nRanks);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t netMapShm(struct ncclComm *comm, struct ncclProxyConnector* proxyConn, struct connectMapMem* mem) {\n  NCCLCHECK(ncclShmImportShareableBuffer(comm, proxyConn->rank, &mem->createDesc, (void**)&mem->cpuPtr, (void**)&mem->gpuPtr, &mem->attachDesc));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t netCreateShm(struct ncclProxyState* proxyState, struct connectMapMem* mem) {\n  NCCLCHECK(ncclShmAllocateShareableBuffer(mem->size, false, &mem->createDesc, (void**)&mem->cpuPtr, (void**)&mem->gpuPtr));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t netDumpMap(struct connectMap* map) {\n  printf(\"Dump map same process %d shared %d\\n\", map->sameProcess, map->shared);\n  struct connectMapMem *mem = map->mems+NCCL_NET_MAP_HOSTMEM;\n  printf(\"Mem 0: Host mem (%x B) CPU %p GPU %p\\n\", mem->size, mem->cpuPtr, mem->gpuPtr);\n  mem = map->mems+NCCL_NET_MAP_DEVMEM;\n  printf(\"Mem 1: Vid  mem (%x B) CPU %p GPU %p\\n\", mem->size, mem->cpuPtr, mem->gpuPtr);\n  mem = map->mems+NCCL_NET_MAP_SHARED_HOSTMEM;\n  printf(\"Mem 2: Shared Host mem (%x B) CPU %p GPU %p\\n\", mem->size, mem->cpuPtr, mem->gpuPtr);\n  mem = map->mems+NCCL_NET_MAP_SHARED_DEVMEM;\n  printf(\"Mem 3: Shared Vid mem (%x B) CPU %p GPU %p\\n\", mem->size, mem->cpuPtr, mem->gpuPtr);\n  printf(\"SendMem -> Used %d Bank %d Offset %x, cpu %p gpu %p\\n\",\n      map->offsets.sendMem & NCCL_NET_MAP_MASK_USED ? 1 : 0,\n      NCCL_NET_MAP_OFFSET_BANK(map, sendMem), map->offsets.sendMem & NCCL_NET_MAP_MASK_OFFSET,\n      NCCL_NET_MAP_GET_POINTER(map, cpu, sendMem), NCCL_NET_MAP_GET_POINTER(map, gpu, sendMem));\n  printf(\"RecvMem -> Used %d Bank %d Offset %x, cpu %p gpu %p\\n\",\n      map->offsets.recvMem & NCCL_NET_MAP_MASK_USED ? 1 : 0,\n      NCCL_NET_MAP_OFFSET_BANK(map, recvMem), map->offsets.recvMem & NCCL_NET_MAP_MASK_OFFSET,\n      NCCL_NET_MAP_GET_POINTER(map, cpu, recvMem), NCCL_NET_MAP_GET_POINTER(map, gpu, recvMem));\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n    printf(\"Proto %d -> Used %d Bank %d Offset %x, cpu %p, gpu %p\\n\", p,\n        map->offsets.buffs[p] & NCCL_NET_MAP_MASK_USED ? 1 : 0,\n        NCCL_NET_MAP_OFFSET_BANK(map, buffs[p]), map->offsets.buffs[p] & NCCL_NET_MAP_MASK_OFFSET,\n        NCCL_NET_MAP_GET_POINTER(map, cpu, buffs[p]), NCCL_NET_MAP_GET_POINTER(map, gpu, buffs[p]));\n  }\n  printf(\"End of dump\\n\");\n  return ncclSuccess;\n}\n\nstruct netSendConnectArgs {\n  ncclNetHandle_t handle;\n  ncclNetAttr_t netAttr;\n};\n\nstruct netRecvConnectArgs {\n  int proxyRank;\n  ncclNetAttr_t netAttr;\n};\n\nstatic ncclResult_t sendConnect(struct ncclComm* comm, struct ncclConnect* connectInfo, int nranks, int rank, struct ncclConnector* send) {\n  struct connectMap* map = (connectMap*) send->transportResources;\n  void* opId;\n  int recvUseGdr;\n\n  memcpy(&recvUseGdr, (uint8_t*)connectInfo + sizeof(ncclNetHandle_t), sizeof(int));\n  if (!recvUseGdr) send->conn.flags &= ~NCCL_DIRECT_NIC;\n\n  // map isn't allocated thus this op hasn't been submitted yet\n  if (!map) {\n    // Setup device pointers\n    NCCLCHECK(ncclCalloc(&map, 1));\n    send->transportResources = map;\n    opId = send;\n    INFO(NCCL_PROXY, \"sendConnect ncclProxyCallAsync opId=%p\", opId);\n    netSendConnectArgs args = {{},0};\n    memcpy(&args.handle, connectInfo, sizeof(ncclNetHandle_t));\n\n    populateCommNetAttrs(comm, send, &args.netAttr);\n\n    NCCLCHECK(ncclProxyCallAsync(comm, &send->proxyConn, ncclProxyMsgConnect, &args, sizeof(netSendConnectArgs), sizeof(struct connectMap), opId));\n  } else {\n    opId =  send;\n  }\n\n  ncclResult_t ret;\n  ret = ncclPollProxyResponse(comm, &send->proxyConn, map, opId);\n  if (ret != ncclSuccess) {\n    if (ret != ncclInProgress) {\n      free(map);\n      send->transportResources = NULL;\n    }\n    return ret;\n  }\n  INFO(NCCL_PROXY, \"sendConnect ncclPollProxyResponse opId=%p\", opId);\n\n  if (map->sameProcess && !ncclCuMemEnable()) {\n    if (map->cudaDev != comm->cudaDev) {\n      // Enable P2P access for Legacy IPC\n      cudaError_t err = cudaDeviceEnablePeerAccess(map->cudaDev, 0);\n      if (err == cudaErrorPeerAccessAlreadyEnabled) {\n        cudaGetLastError();\n      } else if (err != cudaSuccess) {\n        WARN(\"failed to peer with device %d: %d %s\", map->cudaDev, err, cudaGetErrorString(err));\n        return ncclInternalError;\n      }\n    }\n  } else if (!(map->sameProcess && map->cudaDev == comm->cudaDev)) {\n    if (!map->sameProcess) NCCLCHECK(netMapShm(comm, &send->proxyConn, map->mems + NCCL_NET_MAP_HOSTMEM));\n    if (map->mems[NCCL_NET_MAP_DEVMEM].size) {\n      map->mems[NCCL_NET_MAP_DEVMEM].gpuPtr = NULL;\n      NCCLCHECK(ncclP2pImportShareableBuffer(comm, send->proxyConn.rank,\n                                            map->mems[NCCL_NET_MAP_DEVMEM].size,\n                                            &map->mems[NCCL_NET_MAP_DEVMEM].ipcDesc,\n                                            (void**)&map->mems[NCCL_NET_MAP_DEVMEM].gpuPtr));\n      map->mems[NCCL_NET_MAP_DEVMEM].cpuPtr = NULL;\n    }\n    if (map->mems[NCCL_NET_MAP_SHARED_DEVMEM].size) {\n      void** sharedDevMemPtr = comm->proxyState->sharedDevMems + send->proxyConn.tpLocalRank;\n      if (*sharedDevMemPtr == NULL) {\n        map->mems[NCCL_NET_MAP_SHARED_DEVMEM].gpuPtr = NULL;\n        NCCLCHECK(ncclP2pImportShareableBuffer(comm, send->proxyConn.rank,\n                                              map->mems[NCCL_NET_MAP_SHARED_DEVMEM].size,\n                                              &map->mems[NCCL_NET_MAP_SHARED_DEVMEM].ipcDesc,\n                                              sharedDevMemPtr));\n      }\n      map->mems[NCCL_NET_MAP_SHARED_DEVMEM].gpuPtr = (char*)(*sharedDevMemPtr);\n      map->mems[NCCL_NET_MAP_SHARED_DEVMEM].cpuPtr = NULL;\n    }\n  }\n  //NCCLCHECK(netDumpMap(map));\n\n  struct ncclSendMem *sendMem = (struct ncclSendMem*) NCCL_NET_MAP_GET_POINTER(map, gpu, sendMem);\n  void* gdcMem = map->mems[NCCL_NET_MAP_GDCMEM].gpuPtr;\n  send->conn.head = gdcMem ? (uint64_t*)gdcMem : &sendMem->head;\n\n  struct ncclRecvMem *recvMem = (struct ncclRecvMem*) NCCL_NET_MAP_GET_POINTER(map, gpu, recvMem);\n  send->conn.tail = &recvMem->tail;\n  send->conn.stepSize = comm->buffSizes[NCCL_PROTO_SIMPLE]/NCCL_STEPS;\n  send->conn.connFifo = recvMem->connFifo;\n  struct ncclRecvMem *recvMemCpu = (struct ncclRecvMem*) NCCL_NET_MAP_GET_POINTER(map, cpu, recvMem);\n  for (int i=0; i<NCCL_STEPS; i++) {\n    recvMemCpu->connFifo[i].offset = -1;\n    recvMemCpu->connFifo[i].mode = map->shared ? NCCL_MODE_OFFSET : NCCL_MODE_NORMAL;\n  }\n\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++)\n    send->conn.buffs[p] = NCCL_NET_MAP_GET_POINTER(map, gpu, buffs[p]);\n\n  if (send->proxyConn.sameProcess) {\n    if (send->proxyConn.connection->netDeviceHandle) {\n      send->conn.netDeviceHandle = *send->proxyConn.connection->netDeviceHandle;\n\n      for (int p=0; p<NCCL_NUM_PROTOCOLS; p++)\n        send->conn.mhandles[p] = send->proxyConn.connection->mhandles[p];\n    }\n\n    if (send->proxyConn.connection->needsProxyProgress) {\n      send->proxyConn.proxyProgress = sendProxyProgress;\n    } else {\n      send->proxyConn.proxyProgress = NULL;\n    }\n  } else {\n    send->proxyConn.proxyProgress = sendProxyProgress;\n  }\n\n  return ncclSuccess;\n}\n\n// Forward declare\nstatic ncclResult_t recvProxyProgress(struct ncclProxyState* proxyState, struct ncclProxyArgs* args);\n\n/* Connect to this peer */\nstatic ncclResult_t recvConnect(struct ncclComm* comm, struct ncclConnect* connectInfo, int nranks, int rank, struct ncclConnector* recv) {\n  struct connectMap* map = (connectMap*) recv->transportResources;\n  void* opId;\n  int sendUseGdr;\n\n  memcpy(&sendUseGdr, (uint8_t*)connectInfo + sizeof(ncclNetHandle_t), sizeof(int));\n  if (!sendUseGdr) recv->conn.flags &= ~NCCL_DIRECT_NIC;\n\n  if (!map) {\n    NCCLCHECK(ncclCalloc(&map, 1));\n    recv->transportResources = map;\n    // Use recv connector as unique identifier\n    opId = recv;\n    INFO(NCCL_PROXY, \"recvConnect ncclProxyCallAsync opId=%p &recv->proxyConn=%p connectInfo=%p\",\n      opId, &recv->proxyConn, connectInfo);\n    netRecvConnectArgs args = {0};\n    args.proxyRank = *((int*)connectInfo);\n\n    populateCommNetAttrs(comm, recv, &args.netAttr);\n\n    NCCLCHECK(ncclProxyCallAsync(comm, &recv->proxyConn, ncclProxyMsgConnect, &args, sizeof(netRecvConnectArgs), sizeof(struct connectMap), opId));\n  } else {\n    opId = recv;\n  }\n\n  ncclResult_t ret;\n  NCCLCHECK(ret = ncclPollProxyResponse(comm, &recv->proxyConn, map, opId));\n  if (ret != ncclSuccess) {\n    if (ret != ncclInProgress) {\n      free(map);\n      recv->transportResources = NULL;\n    }\n    return ret;\n  }\n  INFO(NCCL_PROXY, \"recvConnect ncclPollProxyResponse opId=%p\", opId);\n  //NCCLCHECK(netDumpMap(map));\n\n  struct ncclSendMem *sendMem = (struct ncclSendMem*) NCCL_NET_MAP_GET_POINTER(map, gpu, sendMem);\n  recv->conn.head = &sendMem->head;\n\n  struct ncclRecvMem *recvMem = (struct ncclRecvMem*) NCCL_NET_MAP_GET_POINTER(map, gpu, recvMem);\n  void* gdcMem = map->mems[NCCL_NET_MAP_GDCMEM].gpuPtr;\n  recv->conn.tail = gdcMem ? (uint64_t*)gdcMem : &recvMem->tail;\n  recv->conn.stepSize = comm->buffSizes[NCCL_PROTO_SIMPLE]/NCCL_STEPS;\n  recv->conn.connFifo = recvMem->connFifo;\n  // Only fuse P2P buffers, continue to allocate dedicated buffers for ring/tree\n  for (int i=0; i<NCCL_STEPS; i++) {\n    recvMem->connFifo[i].mode = map->shared ? NCCL_MODE_OFFSET : NCCL_MODE_NORMAL;\n  }\n\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++)\n    recv->conn.buffs[p] = NCCL_NET_MAP_GET_POINTER(map, gpu, buffs[p]);\n\n  if (recv->proxyConn.sameProcess) {\n    if (recv->proxyConn.connection->netDeviceHandle) {\n      recv->conn.netDeviceHandle = *recv->proxyConn.connection->netDeviceHandle;\n\n      for (int p=0; p<NCCL_NUM_PROTOCOLS; p++)\n        recv->conn.mhandles[p] = recv->proxyConn.connection->mhandles[p];\n    }\n\n    if (recv->proxyConn.connection->needsProxyProgress) {\n      recv->proxyConn.proxyProgress = recvProxyProgress;\n    } else {\n      recv->proxyConn.proxyProgress = NULL;\n    }\n  } else {\n    recv->proxyConn.proxyProgress = recvProxyProgress;\n  }\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sendFree(struct ncclConnector* send) {\n  struct connectMap* map = (struct connectMap*)(send->transportResources);\n  if (map) {\n    int cudaDev;\n    CUDACHECK(cudaGetDevice(&cudaDev));\n    if (map->cudaDev != cudaDev && map->mems[NCCL_NET_MAP_DEVMEM].size) {\n      if (ncclCuMemEnable()) {\n        // cuMem API support\n        NCCLCHECK(ncclP2pFreeShareableBuffer(&map->mems[NCCL_NET_MAP_DEVMEM].ipcDesc));\n        NCCLCHECK(ncclCuMemFree(map->mems[NCCL_NET_MAP_DEVMEM].gpuPtr));\n      } else {\n        // Legacy CUDA IPC support\n        CUDACHECK(cudaIpcCloseMemHandle(map->mems[NCCL_NET_MAP_DEVMEM].gpuPtr));\n      }\n    }\n    if (!map->sameProcess) {\n      NCCLCHECK(ncclShmIpcClose(&map->mems[NCCL_NET_MAP_HOSTMEM].attachDesc));\n    }\n    free(map);\n  }\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t recvFree(struct ncclConnector* recv) {\n  if (recv->transportResources) free(recv->transportResources);\n  return ncclSuccess;\n}\n\n#define NCCL_SHARED_STEPS 16\nstatic ncclResult_t sharedNetBuffersInit(struct ncclProxyState* proxyState, int cuda, int tpLocalRank, int type, int sameProcess,\n    int nChannels, char** gpuPtr, char** cpuPtr, int* size, ncclIpcDesc *ipcDesc) {\n  if (cuda == 0 && sameProcess == 0) {\n      WARN(\"PXN should not use host buffers for data\");\n      return ncclInternalError;\n  }\n  struct ncclProxyProgressState* progressState = &proxyState->progressState;\n  if (progressState->localPeers == NULL) {\n    NCCLCHECK(ncclCalloc(&progressState->localPeers, proxyState->tpLocalnRanks));\n  }\n  struct ncclProxyPeer** localPeers = progressState->localPeers;\n  if (localPeers[tpLocalRank] == NULL) {\n    NCCLCHECK(ncclCalloc(localPeers + tpLocalRank, 1));\n  }\n  struct ncclProxyPeer* peer = localPeers[tpLocalRank];\n  struct ncclProxySharedP2p* state = type == 0 ? &peer->send : &peer->recv;\n  state->refcount++;\n  if (state->size == 0) {\n    state->size = (int64_t)nChannels * NCCL_SHARED_STEPS * proxyState->p2pChunkSize;\n\n  }\n\n  if (size) *size = state->size;\n\n  if (cuda && state->cudaBuff == NULL) {\n    if (sameProcess == 0 || ncclCuMemEnable()) {\n      NCCLCHECK(ncclP2pAllocateShareableBuffer(state->size, 0, &state->ipcDesc, (void**)&state->cudaBuff));\n    } else {\n#if defined(HIP_UNCACHED_MEMORY)\n#if defined(HIP_CONTIGUOUS_MEMORY)\n      NCCLCHECK(ncclCudaCalloc(&state->cudaBuff, state->size,\n        cuda ? (rcclParamNetContiguousMem() ? hipDeviceMallocContiguous : hipDeviceMallocUncached) : hipDeviceMallocDefault));\n#else\n      NCCLCHECK(ncclCudaCalloc(&state->cudaBuff, state->size,\n        cuda ? hipDeviceMallocUncached : hipDeviceMallocDefault));\n#endif\n#else\n      NCCLCHECK(ncclCudaCalloc(&state->cudaBuff, state->size,\n        cuda ? hipDeviceMallocFinegrained : hipDeviceMallocDefault));\n#endif\n    }\n  }\n  if (!cuda && state->hostBuff == NULL) {\n    NCCLCHECK(ncclCudaHostCalloc(&state->hostBuff, state->size));\n  }\n  if (cpuPtr) *cpuPtr = cuda ? state->cudaBuff : state->hostBuff;\n  if (gpuPtr) *gpuPtr = (cpuPtr && sameProcess) ? *cpuPtr : NULL;\n  if (ipcDesc) memcpy(ipcDesc, &state->ipcDesc, sizeof(state->ipcDesc));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sharedBuffersGet(struct ncclProxyState* proxyState, int channel, int slot, int* offset, size_t* size) {\n  // Use different pools for different channels and also separate send/recv.\n  int globalSlot = (channel*NCCL_SHARED_STEPS)+slot;\n  *offset = proxyState->p2pChunkSize * globalSlot;\n  if (size) *size = proxyState->p2pChunkSize;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sharedNetBuffersDestroy(struct ncclProxyState* proxyState, int tpLocalRank, int type, struct ncclProxyConnection* connection) {\n  if (proxyState->progressState.localPeers == NULL) NCCLCHECK(ncclInternalError);\n  struct ncclProxyPeer* peer = proxyState->progressState.localPeers[tpLocalRank];\n  if (peer == NULL) NCCLCHECK(ncclInternalError);\n  struct ncclProxySharedP2p* state = type == 0 ? &peer->send : &peer->recv;\n  if (state->size == 0) NCCLCHECK(ncclInternalError);\n  if (ncclAtomicRefCountDecrement(&state->refcount) == 0) {\n    if (state->cudaBuff) {\n      if (!connection->sameProcess || ncclCuMemEnable()) {\n        NCCLCHECK(ncclP2pFreeShareableBuffer(&state->ipcDesc));\n      }\n      NCCLCHECK(ncclCudaFree(state->cudaBuff));\n    }\n    if (state->hostBuff) NCCLCHECK(ncclCudaHostFree(state->hostBuff));\n  }\n\n  if (peer->send.refcount || peer->recv.refcount) return ncclSuccess;\n\n  free(peer);\n  proxyState->progressState.localPeers[tpLocalRank] = NULL;\n  for (int r = 0; r < proxyState->tpLocalnRanks; r++) {\n    if (proxyState->progressState.localPeers[r]) return ncclSuccess;\n  }\n  // All peers are freed, free array\n  free(proxyState->progressState.localPeers);\n  proxyState->progressState.localPeers = NULL;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t proxySharedInit(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, int nChannels) {\n  static int is_wsl2 = -1;\n  if (is_wsl2 == -1)\n    is_wsl2 = (access(\"/dev/dxg\", F_OK) == -1) ? 0 : 1;\n  NCCLCHECK(sharedNetBuffersInit(proxyState, is_wsl2 == 0 ? 1 : 0, connection->tpLocalRank, 0, connection->sameProcess, nChannels, NULL, NULL, NULL, NULL));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sendProxySetup(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  struct setupReq* req = (struct setupReq*) reqBuff;\n  if (reqSize != sizeof(struct setupReq)) return ncclInternalError;\n\n  struct sendNetResources* resources;\n  NCCLCHECK(ncclCalloc(&resources, 1));\n  connection->transportResources = resources;\n\n  resources->tpRank = req->tpRank;\n  resources->tpLocalRank = req->tpLocalRank;\n  resources->tpRemoteRank = req->tpRemoteRank;\n  resources->netDev = req->netDev;\n  resources->shared = connection->shared = req->shared;\n  resources->useGdr = req->useGdr;\n  resources->channelId = req->channelId;\n  resources->connIndex = req->connIndex;\n  resources->curr_hdp_reg = req->curr_hdp_reg;\n  resources->isP2p = req->isP2p;\n  ncclNetProperties_t props;\n  NCCLCHECK(proxyState->ncclNet->getProperties(req->netDev, &props));\n  /* DMA-BUF support */\n  resources->useDmaBuf = resources->useGdr && proxyState->dmaBufSupport && (props.ptrSupport & NCCL_PTR_DMABUF);\n  resources->maxRecvs = props.maxRecvs;\n  resources->netDeviceVersion = props.netDeviceVersion;\n  resources->netDeviceType = props.netDeviceType;\n\n  /* point-to-point size limits*/\n  resources->maxP2pBytes = props.maxP2pBytes;\n  if((resources->maxP2pBytes <= 0) || (resources->maxP2pBytes > NCCL_MAX_NET_SIZE_BYTES)) {\n    WARN(\"sendProxySetup: net plugin returned invalid value for maxP2pBytes %ld \\\n      [allowed range: %ld - %ld] \\n\", resources->maxP2pBytes, 0L, NCCL_MAX_NET_SIZE_BYTES);\n    return ncclInternalError;\n  }\n\n  // We don't return any data\n  if (respSize != 0) return ncclInternalError;\n  *done = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t recvProxySetup(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  struct setupReq* req = (struct setupReq*) reqBuff;\n  if (reqSize != sizeof(struct setupReq)) return ncclInternalError;\n\n  struct recvNetResources* resources;\n  NCCLCHECK(ncclCalloc(&resources, 1));\n  connection->transportResources = resources;\n\n  resources->tpRank = req->tpRank;\n  resources->tpLocalRank = req->tpLocalRank;\n  resources->tpRemoteRank = req->tpRemoteRank;\n  resources->netDev = req->netDev;\n  resources->shared = connection->shared = req->shared;\n  resources->useGdr = req->useGdr;\n  resources->needFlush = req->needFlush;\n  resources->channelId = req->channelId;\n  resources->connIndex = req->connIndex;\n  resources->curr_hdp_reg = req->curr_hdp_reg;\n  ncclNetProperties_t props;\n  NCCLCHECK(proxyState->ncclNet->getProperties(req->netDev, &props));\n  /* DMA-BUF support */\n  resources->useDmaBuf = resources->useGdr && proxyState->dmaBufSupport && (props.ptrSupport & NCCL_PTR_DMABUF);\n  resources->maxRecvs = props.maxRecvs;\n  resources->netDeviceVersion = props.netDeviceVersion;\n  resources->netDeviceType = props.netDeviceType;\n  /* point-to-point size limits*/\n  resources->maxP2pBytes = props.maxP2pBytes;\n  if((resources->maxP2pBytes <= 0) || (resources->maxP2pBytes > NCCL_MAX_NET_SIZE_BYTES)) {\n    WARN(\"recvProxySetup: net plugin returned invalid value for maxP2pBytes %ld \\\n      [allowed range: %ld - %ld] \\n\", resources->maxP2pBytes, 0L, NCCL_MAX_NET_SIZE_BYTES);\n    return ncclInternalError;\n  }\n\n  if (respSize != sizeof(ncclNetHandle_t)) return ncclInternalError;\n  NCCLCHECK(proxyState->ncclNet->listen(proxyState->netContext, req->netDev, respBuff, &resources->netListenComm));\n  *done = 1;\n\n  return ncclSuccess;\n}\n\n// This function embeds plugin-specific rules given the current versions\nstatic ncclResult_t ncclNetGetDeviceHandle(ncclNetDeviceType type, int version, bool isRecv, ncclNetDeviceHandle_t** handle) {\n  bool needsDeviceHandle  = false;\n\n  if (type == NCCL_NET_DEVICE_UNPACK) {\n    if (version == NCCL_NET_DEVICE_UNPACK_VERSION && isRecv) {\n      needsDeviceHandle  = true;\n    }\n  }\n\n  // Don't re-alloc netDeviceHandles\n  if (needsDeviceHandle && (*handle == NULL)) {\n    NCCLCHECK(ncclCalloc(handle, 1));\n    (*handle)->netDeviceType = type;\n    (*handle)->netDeviceVersion = version;\n  } else if (!needsDeviceHandle) {\n    *handle = NULL;\n  }\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sendProxyConnect(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  ncclNet_ctxt_t ncclNetCtxt = {};\n  struct sendNetResources* resources = (struct sendNetResources*)(connection->transportResources);\n  bool rcclAinicRoce = ((rcclParamAinicRoce() == 1) ? true : false);\n  if (reqSize != sizeof(netSendConnectArgs)) return ncclInternalError;\n  ncclResult_t ret = ncclSuccess;\n  netSendConnectArgs* req = (netSendConnectArgs*) reqBuff;\n\n  setNetAttrs(proxyState, &req->netAttr);\n\n  NCCLCHECK(ncclNetGetDeviceHandle(resources->netDeviceType, resources->netDeviceVersion, false /*isRecv*/, &resources->netDeviceHandle));\n  \n  // Only call rcclNetP2pPolicy for ncclNetIb\n  if (proxyState->ncclNet == &ncclNetIb) {\n    NCCLCHECK(rcclNetP2pPolicy(req->handle, resources->isP2p));\n  }\n\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  if (proxyState->ncclNet == &rocmNetIb) {\n    NCCLCHECK(rcclRocmNetP2pPolicy(req->handle, resources->isP2p));\n  }\n#endif\n  \n  if (resources->shared) {\n    // Shared buffers\n    struct ncclProxyProgressState* progressState = &proxyState->progressState;\n    if (progressState->localPeers == NULL) {\n      NCCLCHECK(ncclCalloc(&progressState->localPeers, proxyState->tpLocalnRanks));\n    }\n    struct ncclProxyPeer** localPeers = progressState->localPeers;\n    if (localPeers[resources->tpLocalRank] == NULL) {\n      NCCLCHECK(ncclCalloc(localPeers + resources->tpLocalRank, 1));\n    }\n    connection->proxyAppendPtr = localPeers[resources->tpLocalRank]->send.proxyAppend + resources->channelId;\n\n    if (resources->maxRecvs > 1 && ncclParamNetSharedComms()) {\n      // Connect or reuse connection for a netdev/remote rank.\n      if (progressState->netComms[resources->netDev] == NULL) {\n        NCCLCHECK(ncclCalloc(progressState->netComms + resources->netDev, proxyState->tpnRanks));\n      }\n      struct ncclSharedNetComms* comms = progressState->netComms[resources->netDev] + resources->tpRemoteRank;\n      // let only one localrank connect to a tpRemoteRank to avoid duplicate connections\n      if (comms->activeConnect[resources->channelId] == 0)\n        comms->activeConnect[resources->channelId] = (resources->tpLocalRank + 1);\n      if (comms->sendComm[resources->channelId] == NULL\n          && comms->activeConnect[resources->channelId] == (resources->tpLocalRank + 1)) {\n        if (rcclAinicRoce) {\n          ncclNetCtxt.chId = resources->channelId;\n          ret = proxyState->ncclNet->connect(proxyState->netContext, resources->netDev, req->handle,\n            comms->sendComm + resources->channelId, (ncclNetDeviceHandle_t **)&ncclNetCtxt);\n        } else {\n          ret = proxyState->ncclNet->connect(proxyState->netContext, resources->netDev, req->handle,\n            comms->sendComm + resources->channelId, &resources->netDeviceHandle);\n        }\n      }\n      resources->netSendComm = comms->sendComm[resources->channelId];\n      if (comms->sendComm[resources->channelId]) comms->sendRefCount[resources->channelId]++;\n    } else {\n      if (rcclAinicRoce) {\n        ncclNetCtxt.chId = resources->channelId;\n        ret = proxyState->ncclNet->connect(proxyState->netContext, resources->netDev, req->handle, &resources->netSendComm, (ncclNetDeviceHandle_t **)&ncclNetCtxt);\n      } else {\n        ret = proxyState->ncclNet->connect(proxyState->netContext, resources->netDev, req->handle, &resources->netSendComm, &resources->netDeviceHandle);\n      }\n    }\n  } else {\n    // Connect to remote peer\n    if (rcclAinicRoce) {\n      ncclNetCtxt.chId = resources->channelId;\n      ret = proxyState->ncclNet->connect(proxyState->netContext, resources->netDev, req->handle, &resources->netSendComm, (ncclNetDeviceHandle_t **)&ncclNetCtxt);\n    } else {\n      ret = proxyState->ncclNet->connect(proxyState->netContext, resources->netDev, req->handle, &resources->netSendComm, &resources->netDeviceHandle);\n    }\n    connection->proxyAppendPtr = &connection->proxyAppend;\n  }\n\n  if (ret != ncclSuccess) {\n    if (resources->netSendComm) proxyState->ncclNet->closeSend(resources->netSendComm);\n    NCCLCHECK(ret);\n  }\n  if (resources->netSendComm == NULL) {\n    *done = 0;\n    return ncclInProgress;\n  }\n  printNetAttrs(&req->netAttr, \"send connect\");\n  *done = 1;\n\n  if (resources->netDeviceHandle) {\n    connection->netDeviceHandle = resources->netDeviceHandle;\n    connection->needsProxyProgress = connection->netDeviceHandle->needsProxyProgress;\n  } else {\n    connection->needsProxyProgress = 1;\n  }\n\n  // Create structures\n  struct connectMap* map = &resources->map;\n  map->sameProcess = connection->sameProcess;\n  map->shared = resources->shared;\n  CUDACHECK(cudaGetDevice(&map->cudaDev));\n\n  if (resources->shared == 0) { // Only allocate dedicated buffers for ring/tree, not for p2p\n    for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n      NCCL_NET_MAP_ADD_POINTER(map, 0, p!= NCCL_PROTO_LL && resources->useGdr ? 1 : 0, proxyState->buffSizes[p], buffs[p]);\n      resources->buffSizes[p] = proxyState->buffSizes[p];\n    }\n  } else {\n    // Get shared buffers\n    int bank = resources->useGdr ? NCCL_NET_MAP_SHARED_DEVMEM : NCCL_NET_MAP_SHARED_HOSTMEM;\n    struct connectMapMem* mapMem = map->mems+bank;\n    NCCLCHECK(sharedNetBuffersInit(\n          proxyState, resources->useGdr, resources->tpLocalRank, 0, map->sameProcess, proxyState->p2pnChannels,\n          &mapMem->gpuPtr, &mapMem->cpuPtr, &mapMem->size, &mapMem->ipcDesc));\n    resources->buffSizes[NCCL_PROTO_SIMPLE] = mapMem->size;\n\n    if (proxyState->allocP2pNetLLBuffers) {\n      NCCL_NET_MAP_ADD_POINTER(map, 0, 0 /*p == NCCL_PROTO_LL*/, proxyState->buffSizes[NCCL_PROTO_LL], buffs[NCCL_PROTO_LL]);\n      resources->buffSizes[NCCL_PROTO_LL] = proxyState->buffSizes[NCCL_PROTO_LL];\n    }\n\n    NCCL_NET_MAP_ADD_POINTER(map, 1, resources->useGdr ? 1 : 0, mapMem->size, buffs[NCCL_PROTO_SIMPLE]);\n  }\n\n  NCCL_NET_MAP_ADD_POINTER(map, 0, 0, sizeof(struct ncclSendMem), sendMem);\n  NCCL_NET_MAP_ADD_POINTER(map, 0, 0, sizeof(struct ncclRecvMem), recvMem);\n\n  if (map->mems[NCCL_NET_MAP_DEVMEM].size) {\n    if (resources->shared == 0) {\n      if (!map->sameProcess || ncclCuMemEnable()) {\n        ALIGN_SIZE(map->mems[NCCL_NET_MAP_DEVMEM].size, CUDA_IPC_MIN);\n        NCCLCHECK(ncclP2pAllocateShareableBuffer(map->mems[NCCL_NET_MAP_DEVMEM].size, 0, &map->mems[NCCL_NET_MAP_DEVMEM].ipcDesc,\n                                                (void**)&map->mems[NCCL_NET_MAP_DEVMEM].gpuPtr));\n      } else {\n#if defined(HIP_UNCACHED_MEMORY)\n#if defined(HIP_CONTIGUOUS_MEMORY)\n        NCCLCHECK(ncclCudaCalloc(&map->mems[NCCL_NET_MAP_DEVMEM].gpuPtr, map->mems[NCCL_NET_MAP_DEVMEM].size,\n          resources->useGdr ? (rcclParamNetContiguousMem() ? hipDeviceMallocContiguous : hipDeviceMallocUncached) : hipDeviceMallocDefault));\n#else\n        NCCLCHECK(ncclCudaCalloc(&map->mems[NCCL_NET_MAP_DEVMEM].gpuPtr, map->mems[NCCL_NET_MAP_DEVMEM].size,\n          resources->useGdr ? hipDeviceMallocUncached : hipDeviceMallocDefault));\n#endif\n#else\n        NCCLCHECK(ncclCudaCalloc(&map->mems[NCCL_NET_MAP_DEVMEM].gpuPtr, map->mems[NCCL_NET_MAP_DEVMEM].size,\n          resources->useGdr ? hipDeviceMallocFinegrained : hipDeviceMallocDefault));\n#endif\n      }\n      map->mems[NCCL_NET_MAP_DEVMEM].cpuPtr = map->mems[NCCL_NET_MAP_DEVMEM].gpuPtr;\n    }\n  }\n  if (map->sameProcess) {\n    NCCLCHECK(ncclCudaHostCalloc(&map->mems[NCCL_NET_MAP_HOSTMEM].cpuPtr, map->mems[NCCL_NET_MAP_HOSTMEM].size));\n    map->mems[NCCL_NET_MAP_HOSTMEM].gpuPtr = map->mems[NCCL_NET_MAP_HOSTMEM].cpuPtr;\n  } else {\n    NCCLCHECK(netCreateShm(proxyState, map->mems+NCCL_NET_MAP_HOSTMEM));\n    void* sendMem = (void*)NCCL_NET_MAP_GET_POINTER(map, cpu, sendMem);\n    void* recvMem = (void*)NCCL_NET_MAP_GET_POINTER(map, cpu, recvMem);\n    memset(sendMem, 0, sizeof(struct ncclSendMem));\n    memset(recvMem, 0, sizeof(struct ncclRecvMem));\n  }\n  if (ncclGdrCopy && map->sameProcess && ncclParamGdrCopySyncEnable()) {\n    uint64_t *cpuPtr, *gpuPtr;\n    NCCLCHECK(ncclGdrCudaCalloc(&cpuPtr, &gpuPtr, 1, &resources->gdrDesc));\n\n    resources->gdcSync = cpuPtr;\n    struct connectMapMem* gdcMem = map->mems+NCCL_NET_MAP_GDCMEM;\n    gdcMem->cpuPtr = (char*)cpuPtr;\n    gdcMem->gpuPtr = (char*)gpuPtr;\n    gdcMem->size = sizeof(uint64_t); // sendMem->head\n  }\n\n  resources->sendMem = (struct ncclSendMem*) NCCL_NET_MAP_GET_POINTER(map, cpu, sendMem);\n  resources->recvMem = (struct ncclRecvMem*) NCCL_NET_MAP_GET_POINTER(map, cpu, recvMem);\n\n  // Don't give credits yet in shared mode.\n  (resources->gdcSync ? *resources->gdcSync : resources->sendMem->head) =\n    (map->shared ? -NCCL_STEPS : 0);\n  for (int i=0; i<NCCL_STEPS; i++) resources->recvMem->connFifo[i].size = -1;\n\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n    resources->buffers[p] = NCCL_NET_MAP_GET_POINTER(map, cpu, buffs[p]);\n    if (resources->buffers[p]) {\n#if CUDA_VERSION >= 11070\n      /* DMA-BUF support */\n      int type = NCCL_NET_MAP_DEV_MEM(map, buffs[p]) ? NCCL_PTR_CUDA : NCCL_PTR_HOST;\n      if (type == NCCL_PTR_CUDA && resources->useDmaBuf) {\n        int dmabuf_fd;\n        CUCHECK(cuMemGetHandleForAddressRange((void *)&dmabuf_fd, (CUdeviceptr)resources->buffers[p], resources->buffSizes[p], CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD, getHandleForAddressRangeFlags(resources->useGdr)));\n        NCCLCHECK(proxyState->ncclNet->regMrDmaBuf(resources->netSendComm, resources->buffers[p], resources->buffSizes[p], type, 0ULL, dmabuf_fd, &resources->mhandles[p]));\n        (void)close(dmabuf_fd);\n      } else // FALL-THROUGH to nv_peermem GDR path\n#else\n      /* DMA-BUF support */\n      int type = NCCL_NET_MAP_DEV_MEM(map, buffs[p]) ? NCCL_PTR_CUDA : NCCL_PTR_HOST;\n      if (type == NCCL_PTR_CUDA && proxyState->dmaBufSupport && pfn_hsa_amd_portable_export_dmabuf) {\n        int dmabuf_fd;\n        uint64_t offset;\n        HSACHECK(hsa_amd_portable_export_dmabuf((const void*)resources->buffers[p], resources->buffSizes[p], &dmabuf_fd, &offset));\n        NCCLCHECK(proxyState->ncclNet->regMrDmaBuf(resources->netSendComm, resources->buffers[p], resources->buffSizes[p], type, offset, dmabuf_fd, &resources->mhandles[p]));\n        (void)close(dmabuf_fd);\n        TRACE(NCCL_INIT|NCCL_NET, \"hsa_amd_portable_export_dmabuf buffer %p size %d handle %x offset %ld\",\n          (const void*)resources->buffers[p], resources->buffSizes[p], dmabuf_fd, offset);\n      } else // FALL-THROUGH to nv_peermem GDR path\n#endif\n      {\n        NCCLCHECK(proxyState->ncclNet->regMr(resources->netSendComm, resources->buffers[p], resources->buffSizes[p], NCCL_NET_MAP_DEV_MEM(map, buffs[p]) ? NCCL_PTR_CUDA : NCCL_PTR_HOST, &resources->mhandles[p]));\n      }\n\n      // Copy the mhandle dptr, if implemented\n      if (resources->netDeviceHandle && proxyState->ncclNet->getDeviceMr)\n        NCCLCHECK(proxyState->ncclNet->getDeviceMr(resources->netSendComm, resources->mhandles[p], &connection->mhandles[p]));\n    }\n  }\n\n  //NCCLCHECK(netDumpMap(map));\n  if (respSize != sizeof(struct connectMap)) return ncclInternalError;\n  memcpy(respBuff, map, sizeof(struct connectMap));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t recvProxyConnect(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  if (reqSize != sizeof(netRecvConnectArgs)) return ncclInternalError;\n  struct recvNetResources* resources = (struct recvNetResources*)(connection->transportResources);\n  netRecvConnectArgs* req = (netRecvConnectArgs*) reqBuff;\n  resources->tpRemoteProxyRank = req->proxyRank;\n  ncclResult_t ret = ncclSuccess;\n  ncclNet_ctxt_t ncclNetCtxt = {};\n  bool rcclAinicRoce = ((rcclParamAinicRoce() == 1) ? true : false);\n\n  setNetAttrs(proxyState, &req->netAttr);\n\n  NCCLCHECK(ncclNetGetDeviceHandle(resources->netDeviceType, resources->netDeviceVersion, true /*isRecv*/, &resources->netDeviceHandle));\n  // Finish connection establishment from remote peer\n  if (resources->shared) {\n    // Shared buffers\n    struct ncclProxyProgressState* progressState = &proxyState->progressState;\n    if (progressState->localPeers == NULL) {\n      NCCLCHECK(ncclCalloc(&progressState->localPeers, proxyState->tpLocalnRanks));\n    }\n    struct ncclProxyPeer** localPeers = progressState->localPeers;\n    if (localPeers[resources->tpLocalRank] == NULL) {\n      NCCLCHECK(ncclCalloc(localPeers + resources->tpLocalRank, 1));\n    }\n    connection->proxyAppendPtr = localPeers[resources->tpLocalRank]->recv.proxyAppend + resources->channelId;\n\n    if (resources->maxRecvs > 1 && ncclParamNetSharedComms()) {\n      // Connect or reuse connection for a netdev/remote rank.\n      if (progressState->netComms[resources->netDev] == NULL) {\n        NCCLCHECK(ncclCalloc(progressState->netComms + resources->netDev, proxyState->tpnRanks));\n      }\n      struct ncclSharedNetComms* comms = progressState->netComms[resources->netDev] + resources->tpRemoteProxyRank;\n      // reuse handle to for netdev/remote rank to avoid duplicate connections\n      if (comms->activeAccept[resources->channelId] == 0)\n        comms->activeAccept[resources->channelId] = (resources->tpLocalRank + 1);\n      //try connecting while comm is null\n      if (comms->recvComm[resources->channelId] == NULL\n         && comms->activeAccept[resources->channelId] == (resources->tpLocalRank + 1)) {\n        if (rcclAinicRoce) {\n          ncclNetCtxt.chId = resources->channelId;\n          ret = proxyState->ncclNet->accept(resources->netListenComm,\n            comms->recvComm+resources->channelId, (ncclNetDeviceHandle_t **)&ncclNetCtxt);\n        } else {\n          ret = proxyState->ncclNet->accept(resources->netListenComm,\n              comms->recvComm+resources->channelId, &resources->netDeviceHandle);\n        }\n      }\n      resources->netRecvComm = comms->recvComm[resources->channelId];\n      if (comms->recvComm[resources->channelId]) comms->recvRefCount[resources->channelId]++;\n    } else {\n      if (rcclAinicRoce) {\n        ncclNetCtxt.chId = resources->channelId;\n        ret = proxyState->ncclNet->accept(resources->netListenComm, &resources->netRecvComm, (ncclNetDeviceHandle_t **)&ncclNetCtxt);\n      } else {\n        ret = proxyState->ncclNet->accept(resources->netListenComm, &resources->netRecvComm, &resources->netDeviceHandle);\n      }\n    }\n  } else {\n    // Connect to remote peer\n    if (rcclAinicRoce) {\n      ncclNetCtxt.chId = resources->channelId;\n      ret = proxyState->ncclNet->accept(resources->netListenComm, &resources->netRecvComm, (ncclNetDeviceHandle_t **)&ncclNetCtxt);\n    } else {\n      ret = proxyState->ncclNet->accept(resources->netListenComm, &resources->netRecvComm, &resources->netDeviceHandle);\n    }\n    connection->proxyAppendPtr = &connection->proxyAppend;\n  }\n\n  NCCLCHECK(ret);\n  if (resources->netRecvComm == NULL) {\n    *done = 0;\n    return ncclInProgress;\n  }\n  printNetAttrs(&req->netAttr, \"recv connect\");\n  *done = 1;\n\n  if (resources->netDeviceHandle) {\n    connection->netDeviceHandle = resources->netDeviceHandle;\n    connection->needsProxyProgress = connection->netDeviceHandle->needsProxyProgress;\n  } else {\n    connection->needsProxyProgress = 1;\n  }\n\n  NCCLCHECK(proxyState->ncclNet->closeListen(resources->netListenComm));\n\n  // Create structures\n  struct connectMap* map = &resources->map;\n  map->sameProcess = connection->sameProcess;\n  if (map->sameProcess == 0) return ncclInternalError; // We don't support remote proxy for recv\n  map->shared = resources->shared;\n\n  if (resources->shared == 0) { // Only allocate dedicated buffers for ring/tree, not for p2p\n    for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n      NCCL_NET_MAP_ADD_POINTER(map, 0, resources->useGdr ? 1 : 0, proxyState->buffSizes[p], buffs[p]);\n      resources->buffSizes[p] = proxyState->buffSizes[p];\n    }\n  } else {\n    // Get shared buffers\n    int bank = resources->useGdr ? NCCL_NET_MAP_SHARED_DEVMEM : NCCL_NET_MAP_SHARED_HOSTMEM;\n    struct connectMapMem* mapMem = map->mems+bank;\n    NCCLCHECK(sharedNetBuffersInit(\n          proxyState, resources->useGdr, resources->tpLocalRank, 1, 1, proxyState->p2pnChannels,\n          &mapMem->gpuPtr, &mapMem->cpuPtr, &mapMem->size, NULL));\n    resources->buffSizes[NCCL_PROTO_SIMPLE] = mapMem->size;\n    NCCL_NET_MAP_ADD_POINTER(map, 1, resources->useGdr ? 1 : 0, mapMem->size, buffs[NCCL_PROTO_SIMPLE]);\n  }\n\n  NCCL_NET_MAP_ADD_POINTER(map, 0, 0, sizeof(struct ncclSendMem), sendMem);\n  NCCL_NET_MAP_ADD_POINTER(map, 0, 0, sizeof(struct ncclRecvMem), recvMem);\n\n  if (proxyState->allocP2pNetLLBuffers) {\n    NCCL_NET_MAP_ADD_POINTER(map, 0, 0 /*devMem*/, proxyState->buffSizes[NCCL_PROTO_LL], buffs[NCCL_PROTO_LL]);\n    resources->buffSizes[NCCL_PROTO_LL] = proxyState->buffSizes[NCCL_PROTO_LL];\n  }\n\n  if (map->mems[NCCL_NET_MAP_DEVMEM].size) {\n    if (resources->shared == 0) {\n      if (ncclCuMemEnable()) {\n        NCCLCHECK(ncclP2pAllocateShareableBuffer(map->mems[NCCL_NET_MAP_DEVMEM].size, 0, &map->mems[NCCL_NET_MAP_DEVMEM].ipcDesc,\n                                                (void**)&map->mems[NCCL_NET_MAP_DEVMEM].gpuPtr));\n      } else {\n#if defined(HIP_UNCACHED_MEMORY)\n#if defined(HIP_CONTIGUOUS_MEMORY)\n        NCCLCHECK(ncclCudaCalloc(&map->mems[NCCL_NET_MAP_DEVMEM].gpuPtr, map->mems[NCCL_NET_MAP_DEVMEM].size,\n          resources->useGdr ? (rcclParamNetContiguousMem() ? hipDeviceMallocContiguous : hipDeviceMallocUncached) : hipDeviceMallocDefault));\n#else\n        NCCLCHECK(ncclCudaCalloc(&map->mems[NCCL_NET_MAP_DEVMEM].gpuPtr, map->mems[NCCL_NET_MAP_DEVMEM].size,\n          resources->useGdr ? hipDeviceMallocUncached : hipDeviceMallocDefault));\n#endif\n#else\n        NCCLCHECK(ncclCudaCalloc(&map->mems[NCCL_NET_MAP_DEVMEM].gpuPtr, map->mems[NCCL_NET_MAP_DEVMEM].size,\n          resources->useGdr ? hipDeviceMallocFinegrained : hipDeviceMallocDefault));\n#endif\n      }\n      map->mems[NCCL_NET_MAP_DEVMEM].cpuPtr = map->mems[NCCL_NET_MAP_DEVMEM].gpuPtr;\n    }\n  }\n  NCCLCHECK(ncclCudaHostCalloc(&map->mems[NCCL_NET_MAP_HOSTMEM].cpuPtr, map->mems[NCCL_NET_MAP_HOSTMEM].size));\n  map->mems[NCCL_NET_MAP_HOSTMEM].gpuPtr = map->mems[NCCL_NET_MAP_HOSTMEM].cpuPtr;\n  if (ncclGdrCopy && map->sameProcess) {\n    uint64_t *cpuPtr, *gpuPtr;\n    NCCLCHECK(ncclGdrCudaCalloc(&cpuPtr, &gpuPtr, 2, &resources->gdrDesc));\n\n    if (ncclParamGdrCopySyncEnable()) {\n      resources->gdcSync = cpuPtr;\n      struct connectMapMem* gdcMem = map->mems+NCCL_NET_MAP_GDCMEM;\n      gdcMem->cpuPtr = (char*)cpuPtr;\n      gdcMem->gpuPtr = (char*)gpuPtr;\n      gdcMem->size = sizeof(uint64_t);\n    }\n    if (ncclParamGdrCopyFlushEnable()) resources->gdcFlush = cpuPtr + 1;\n  }\n\n  resources->sendMem = (struct ncclSendMem*) NCCL_NET_MAP_GET_POINTER(map, cpu, sendMem);\n  resources->recvMem = (struct ncclRecvMem*) NCCL_NET_MAP_GET_POINTER(map, cpu, recvMem);\n  for (int i = 0; i < NCCL_STEPS; i++) resources->recvMem->connFifo[i].size = -1;\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n    resources->buffers[p] = NCCL_NET_MAP_GET_POINTER(map, cpu, buffs[p]);\n    if (resources->buffers[p]) {\n#if CUDA_VERSION >= 11070\n      /* DMA-BUF support */\n      int type = NCCL_NET_MAP_DEV_MEM(map, buffs[p]) ? NCCL_PTR_CUDA : NCCL_PTR_HOST;\n      if (type == NCCL_PTR_CUDA && resources->useDmaBuf) {\n        int dmabuf_fd;\n        CUCHECK(cuMemGetHandleForAddressRange((void *)&dmabuf_fd, (CUdeviceptr)resources->buffers[p], resources->buffSizes[p], CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD, getHandleForAddressRangeFlags(resources->useGdr)));\n        NCCLCHECK(proxyState->ncclNet->regMrDmaBuf(resources->netRecvComm, resources->buffers[p], resources->buffSizes[p], type, 0ULL, dmabuf_fd, &resources->mhandles[p]));\n        (void)close(dmabuf_fd);\n      } else // FALL-THROUGH to nv_peermem GDR path\n#else\n      /* DMA-BUF support */\n      int type = NCCL_NET_MAP_DEV_MEM(map, buffs[p]) ? NCCL_PTR_CUDA : NCCL_PTR_HOST;\n      if (type == NCCL_PTR_CUDA && proxyState->dmaBufSupport && pfn_hsa_amd_portable_export_dmabuf) {\n        int dmabuf_fd;\n        uint64_t offset;\n        HSACHECK(hsa_amd_portable_export_dmabuf((const void*)resources->buffers[p], resources->buffSizes[p], &dmabuf_fd, &offset));\n        NCCLCHECK(proxyState->ncclNet->regMrDmaBuf(resources->netRecvComm, resources->buffers[p], resources->buffSizes[p], type, offset, dmabuf_fd, &resources->mhandles[p]));\n        (void)close(dmabuf_fd);\n        TRACE(NCCL_INIT|NCCL_NET, \"hsa_amd_portable_export_dmabuf buffer %p size %d handle %x offset %ld\",\n          (const void*)resources->buffers[p], resources->buffSizes[p], dmabuf_fd, offset);\n      } else // FALL-THROUGH to nv_peermem GDR path\n#endif\n      {\n        NCCLCHECK(proxyState->ncclNet->regMr(resources->netRecvComm, resources->buffers[p], resources->buffSizes[p], NCCL_NET_MAP_DEV_MEM(map, buffs[p]) ? NCCL_PTR_CUDA : NCCL_PTR_HOST, &resources->mhandles[p]));\n      }\n\n      // Copy the mhandle dptr\n      if (resources->netDeviceType != NCCL_NET_DEVICE_HOST && proxyState->ncclNet->getDeviceMr)\n        NCCLCHECK(proxyState->ncclNet->getDeviceMr(resources->netRecvComm, resources->mhandles[p], &connection->mhandles[p]));\n    }\n  }\n\n  //NCCLCHECK(netDumpMap(map));\n  if (respSize != sizeof(struct connectMap)) return ncclInternalError;\n  memcpy(respBuff, map, sizeof(struct connectMap));\n  return ncclSuccess;\n}\n\nstatic ncclResult_t sendProxyFree(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState) {\n  struct sendNetResources* resources = (struct sendNetResources*)(connection->transportResources);\n  if (connection->state == connSharedInitialized) { // NVB Preconnect\n    NCCLCHECK(sharedNetBuffersDestroy(proxyState, connection->tpLocalRank, 0, connection));\n    return ncclSuccess;\n  }\n\n  if (connection->state == connConnected) {\n    for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n      if (resources->buffers[p]) {\n        NCCLCHECK(proxyState->ncclNet->deregMr(resources->netSendComm, resources->mhandles[p]));\n      }\n    }\n    struct connectMapMem* mems = resources->map.mems;\n    if (resources->map.sameProcess) {\n      NCCLCHECK(ncclCudaHostFree(mems[NCCL_NET_MAP_HOSTMEM].cpuPtr));\n    } else {\n      NCCLCHECK(ncclShmIpcClose(&mems[NCCL_NET_MAP_HOSTMEM].createDesc));\n    }\n    NCCLCHECK(ncclCudaFree(mems[NCCL_NET_MAP_DEVMEM].cpuPtr));\n    if (!resources->map.sameProcess || ncclCuMemEnable()) {\n      // cuMem API support\n      if (mems[NCCL_NET_MAP_DEVMEM].size) {\n        NCCLCHECK(ncclP2pFreeShareableBuffer(&mems[NCCL_NET_MAP_DEVMEM].ipcDesc));\n      }\n    }\n    if (mems[NCCL_NET_MAP_GDCMEM].cpuPtr) NCCLCHECK(ncclGdrCudaFree(resources->gdrDesc));\n    if (resources->shared) {\n      NCCLCHECK(sharedNetBuffersDestroy(proxyState, resources->tpLocalRank, 0, connection));\n      if (resources->maxRecvs > 1 && ncclParamNetSharedComms()) {\n        struct ncclSharedNetComms* comms = proxyState->progressState.netComms[resources->netDev]+resources->tpRemoteRank;\n        comms->sendRefCount[resources->channelId]--;\n        if (comms->sendRefCount[resources->channelId] == 0) NCCLCHECK(proxyState->ncclNet->closeSend(comms->sendComm[resources->channelId]));\n      } else {\n        NCCLCHECK(proxyState->ncclNet->closeSend(resources->netSendComm));\n      }\n    } else {\n      NCCLCHECK(proxyState->ncclNet->closeSend(resources->netSendComm));\n    }\n  }\n\n  if (resources) free(resources);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t recvProxyFree(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState) {\n  struct recvNetResources* resources = (struct recvNetResources*)(connection->transportResources);\n  if (connection->state == connSharedInitialized) { // NVB Preconnect\n    NCCLCHECK(sharedNetBuffersDestroy(proxyState, connection->tpLocalRank, 1, connection));\n    return ncclSuccess;\n  }\n\n  if (connection->state == connConnected) {\n    for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n      if (resources->buffers[p]) {\n        NCCLCHECK(proxyState->ncclNet->deregMr(resources->netRecvComm, resources->mhandles[p]));\n      }\n    }\n    struct connectMapMem* mems = resources->map.mems;\n    NCCLCHECK(ncclCudaHostFree(mems[NCCL_NET_MAP_HOSTMEM].cpuPtr));\n    NCCLCHECK(ncclCudaFree(mems[NCCL_NET_MAP_DEVMEM].cpuPtr));\n    if (!resources->map.sameProcess || ncclCuMemEnable()) {\n      // cuMem API support\n      if (mems[NCCL_NET_MAP_DEVMEM].size) {\n        NCCLCHECK(ncclP2pFreeShareableBuffer(&mems[NCCL_NET_MAP_DEVMEM].ipcDesc));\n      }\n    }\n    if (mems[NCCL_NET_MAP_GDCMEM].cpuPtr) NCCLCHECK(ncclGdrCudaFree(resources->gdrDesc));\n    if (resources->shared) {\n      NCCLCHECK(sharedNetBuffersDestroy(proxyState, resources->tpLocalRank, 1, connection));\n      if (resources->maxRecvs > 1 && ncclParamNetSharedComms()) {\n        struct ncclSharedNetComms* comms = proxyState->progressState.netComms[resources->netDev] + resources->tpRemoteProxyRank;\n        comms->recvRefCount[resources->channelId]--;\n        if (comms->recvRefCount[resources->channelId] == 0) NCCLCHECK(proxyState->ncclNet->closeRecv(comms->recvComm[resources->channelId]));\n      } else {\n        NCCLCHECK(proxyState->ncclNet->closeRecv(resources->netRecvComm));\n      }\n    } else {\n      NCCLCHECK(proxyState->ncclNet->closeRecv(resources->netRecvComm));\n    }\n  }\n\n  if (resources) free(resources);\n  return ncclSuccess;\n}\n\nstatic_assert(NCCL_STEPS <= NCCL_NET_MAX_REQUESTS, \"Not enough net requests to cover for steps\");\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_NET_COLLECT_POLL_CNT)\nstatic int g_npkit_net_poll_cnt = 0;\n#endif\n\nstatic ncclResult_t sendProxyProgress(struct ncclProxyState* proxyState, struct ncclProxyArgs* args) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_NET_COLLECT_POLL_CNT)\n  g_npkit_net_poll_cnt++;\n#endif\n  int checkedNetAttr = 0;\n  if (args->state == ncclProxyOpReady) {\n    for (int s=0; s<args->nsubs; s++) {\n      struct ncclProxySubArgs* sub = args->subs+s;\n      struct sendNetResources* resources = (struct sendNetResources*) (sub->connection->transportResources);\n      // Round to next multiple of sliceSteps\n      sub->base = ROUNDUP(resources->step, args->chunkSteps);\n      // Set step base for next op\n      resources->step = sub->base + sub->nsteps;\n      sub->posted = sub->transmitted = sub->done = 0;\n      ncclProfilerRecordProxyOpEventState(s, args, ncclProfilerProxyOpInProgress_v4);\n      if (proxyState->proxyTrace) {\n        proxyState->proxyTrace->addNewProxyOp(\n            sub->traceKey, \n            sub->traceInfo,  \n            facebook_rccl::ProxyOpType::SEND,\n            sub->channelId, \n            sub->nsteps, \n            sub->nbytes, \n            sub->peer);\n      }\n      if (!sub->reg)\n        sub->sendMhandle = resources->mhandles[args->protocol];\n    }\n    args->state = ncclProxyOpProgress;\n    args->hdp_flushed = 0;\n  }\n  args->idle = 1;\n  if (args->state == ncclProxyOpProgress) {\n    int p = args->protocol;\n    int maxDepth = std::min(NCCL_STEPS, NCCL_SHARED_STEPS/args->nsubs);\n    for (int s=0; s<args->nsubs; s++) {\n      struct ncclProxySubArgs* sub = args->subs+s;\n      int postedStepId = sub->posted;\n      int transmittedStepId = sub->transmitted;\n      int doneStepId = sub->done;\n      if (sub->done == sub->nsteps) continue;\n      struct sendNetResources* resources = (struct sendNetResources*) (sub->connection->transportResources);\n      volatile struct ncclConnFifo* connFifo = (volatile struct ncclConnFifo*)resources->recvMem->connFifo;\n      int stepSize = resources->buffSizes[p] / NCCL_STEPS;\n      char* localBuff = NCCL_NET_MAP_GET_POINTER(&resources->map, cpu, buffs[p]);\n      // Post buffers to the GPU\n      if (sub->posted < sub->nsteps && sub->posted < sub->done + maxDepth) {\n        ncclProfilerStartSendProxyStepEvent(s, args, postedStepId);\n        int buffSlot = (sub->base+sub->posted)%NCCL_STEPS;\n        if (resources->shared) {\n          if (!sub->reg) {\n            int sharedBuffSlot = sub->posted%maxDepth;\n            int offset;\n            NCCLCHECK(sharedBuffersGet(proxyState, sub->channelId, sharedBuffSlot*args->nsubs+s, &offset, NULL));\n            __atomic_store_n(&resources->recvMem->connFifo[buffSlot].offset, offset, __ATOMIC_RELAXED);\n            __sync_synchronize();\n          }\n          volatile uint64_t* sendHead = resources->gdcSync ? resources->gdcSync : &resources->sendMem->head;\n          sub->posted += args->sliceSteps;\n          *sendHead = sub->base + sub->posted - NCCL_STEPS;\n          if (resources->gdcSync) wc_store_fence(); // Flush out WC write\n        } else {\n          sub->posted += args->sliceSteps;\n        }\n        ncclProfilerRecordProxyStepEventState(s, args, postedStepId, ncclProfilerProxyStepSendGPUWait);\n        if (proxyState->proxyTrace) {\n          proxyState->proxyTrace->updateProxyOpCounter(sub->traceKey, facebook_rccl::ProxyCounterTypes::POSTED, sub->posted);\n          proxyState->proxyTrace->setProxyOpTimestamp(sub->traceKey, facebook_rccl::ProxyCounterTypes::POSTED);\n        }\n        args->idle = 0;\n        continue;\n      }\n      // Check whether we received data from the GPU and send it to the network\n      if (sub->transmitted < sub->posted && sub->transmitted < sub->done + NCCL_STEPS) {\n        int buffSlot = (sub->base+sub->transmitted)%NCCL_STEPS;\n        volatile uint64_t* recvTail = &resources->recvMem->tail;\n        uint64_t tail = sub->base + sub->transmitted;\n        if (proxyState->proxyTrace) {\n          proxyState->proxyTrace->updateProxyOpCounter(sub->traceKey,\n            facebook_rccl::ProxyCounterTypes::RECV_TAIL, *recvTail);\n          proxyState->proxyTrace->updateProxyOpCounter(sub->traceKey,\n            facebook_rccl::ProxyCounterTypes::TAIL_OR_HEAD, tail);\n          proxyState->proxyTrace->updateProxyOpCounter(sub->traceKey,\n            facebook_rccl::ProxyCounterTypes::FIFO_SZ_OR_HEAD_CACHE, connFifo[buffSlot].size);\n        }\n          \n        if (connFifo[buffSlot].size != -1 && (*recvTail > tail || p == NCCL_PROTO_LL)) {\n          // We have something to receive, let's check if it's completely ready.\n          int size = connFifo[buffSlot].size;\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_NET_SEND_ENTRY) && defined(ENABLE_NPKIT_EVENT_NET_SEND_EXIT)\n          sub->npKitSizesFifo[buffSlot] = size;\n#endif\n          bool shared = (p == NCCL_PROTO_SIMPLE) && resources->shared;\n          char* buff = shared ? localBuff+connFifo[buffSlot].offset : localBuff+buffSlot*stepSize;\n          int ready = 1;\n          if (p == NCCL_PROTO_LL128) {\n            ready = resources->useGdr;\n            if (!ready) {\n              // When data is in sysmem, we need to wait until all flags are correct since the GPU only\n              // called threadfence()\n              uint64_t flag = sub->base+sub->transmitted+1;\n              int nFifoLines = DIVUP(connFifo[buffSlot].size, sizeof(uint64_t)*NCCL_LL128_LINEELEMS);\n              volatile uint64_t* lines = (volatile uint64_t*)buff;\n              ready = 1;\n              for (int i=0; i<nFifoLines; i++) {\n                if (lines[i*NCCL_LL128_LINEELEMS+NCCL_LL128_DATAELEMS] != flag) { ready = 0; break; }\n              }\n            }\n          } else if (p == NCCL_PROTO_LL) {\n            uint32_t flag = NCCL_LL_FLAG(sub->base+sub->transmitted+1);\n            int nFifoLines = DIVUP(size, sizeof(union ncclLLFifoLine));\n            union ncclLLFifoLine* lines = (union ncclLLFifoLine*)buff;\n            for (int i=0; i<nFifoLines; i++) {\n              volatile uint32_t *f1 = &lines[i].flag1;\n              volatile uint32_t *f2 = &lines[i].flag2;\n              if (f1[0] != flag || f2[0] != flag) { ready = 0; break; }\n            }\n          } else if (p == NCCL_PROTO_SIMPLE) {\n            if (resources->shared) {\n              buff = sub->reg ? (char*)sub->sendbuff + sub->transmitted * NCCL_MAX_NET_SIZE : localBuff + resources->recvMem->connFifo[buffSlot].offset;\n            } else if (sub->reg) {\n              size_t sendSize;\n              sub->ringAlgo->getNextSendAddr(sub->transmitted, (uint8_t**)&buff, &sendSize, &sub->sendMhandle);\n              assert(sendSize == size);\n            }\n          }\n          if (ready) {\n            // flush HDP if not done\n            if (resources->curr_hdp_reg && args->hdp_flushed < *recvTail) {\n              args->hdp_flushed = *recvTail;\n              *resources->curr_hdp_reg = 1;\n            }\n            ncclProfilerRecordProxyStepEventState(s, args, transmittedStepId, ncclProfilerProxyStepSendPeerWait_v4);\n            if (proxyState->proxyTrace) {\n              proxyState->proxyTrace->updateProxyOpCounter(sub->traceKey, \n                facebook_rccl::ProxyCounterTypes::KERNEL_COPY_READY, sub->reg ? 1: sub->transmitted + args->sliceSteps);\n            }\n            // Data is ready, try to send.\n            // Coverity complains about the size here as pointing to an out-of-scope temporary.  Which is nonsense,\n            // since size is a plain integer.\n            // coverity[use_invalid:FALSE]\n            void* phandle = &sub->pHandles[DIVUP(transmittedStepId, args->sliceSteps)%NCCL_STEPS];\n            if (!checkedNetAttr++)\n              setXferNetAttrs(proxyState, args, 1);\n            void **requestPtr = sub->requests+buffSlot;\n            // for LL/LL128 protocols, completion event for write operation is not needed on the receiver side as\n            // the LL flags are actively polled to detect if full data is received or not, so this hint can be used\n            // by network plugin to optimize the transport for LL/LL128\n            bool ignoreCompletion = ncclParamNetOptionalRecvCompletion() && ((args->protocol == NCCL_PROTO_LL128) || (args->protocol == NCCL_PROTO_LL));\n            if (ignoreCompletion) *requestPtr = (void *)NCCL_NET_OPTIONAL_RECV_COMPLETION;\n            NCCLCHECK(proxyState->ncclNet->isend(resources->netSendComm, buff, size, resources->tpRank, sub->sendMhandle, phandle, requestPtr));\n            if (*requestPtr != NULL) {\n              if (proxyState->proxyTrace) {\n                proxyState->proxyTrace->setProxyOpTimestamp(sub->traceKey, facebook_rccl::ProxyCounterTypes::KERNEL_COPY_READY);\n              }              \n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_NET_SEND_ENTRY) && defined(ENABLE_NPKIT_EVENT_NET_SEND_EXIT)\n              NpKit::CollectCpuEvent(\n                  NPKIT_EVENT_NET_SEND_ENTRY,\n#if defined(ENABLE_NPKIT_NET_COLLECT_POLL_CNT)\n                  g_npkit_net_poll_cnt,\n#else\n                  size,\n#endif\n                  uint64_t(sub->requests+buffSlot)/sizeof(void*),\n                  *(volatile uint64_t*)NpKit::GetCpuTimestamp(), sub->channelId);\n#if defined(ENABLE_NPKIT_NET_COLLECT_POLL_CNT)\n              g_npkit_net_poll_cnt = 0;\n#endif\n              sub->timestamp[buffSlot] = 0;\n#endif\n              TRACE(NCCL_NET, \"sendProxy [%ld/%d/%d] Isend posted, req %p, buff %p, size %d, proto %d, myRank %d, channelId %d, mhandle %p\", sub->transmitted, buffSlot, sub->nsteps, sub->requests[buffSlot], buff, size, p, proxyState->tpRank, sub->channelId, sub->sendMhandle);\n              sub->transSize = size;\n              sub->transmitted += args->sliceSteps;\n              ncclProfilerRecordProxyStepEventState(s, args, transmittedStepId, ncclProfilerProxyStepSendWait);\n              if (proxyState->proxyTrace) {\n                proxyState->proxyTrace->updateProxyOpCounter(sub->traceKey, \n                  facebook_rccl::ProxyCounterTypes::TRANSMITTED, sub->transmitted);\n              }\n              args->idle = 0;\n              continue;\n            }\n          }\n        }\n      }\n      // Check whether the network has completed some send operations.\n      if (sub->done < sub->transmitted) {\n        int done;\n        int size;\n        int buffSlot = (sub->base+sub->done)%NCCL_STEPS;\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_NET_SEND_ENTRY) && defined(ENABLE_NPKIT_EVENT_NET_SEND_EXIT)\n        if (sub->timestamp[buffSlot] == 0)\n          sub->timestamp[buffSlot] = *(volatile uint64_t*)NpKit::GetCpuTimestamp();\n#endif\n        NCCLCHECK(proxyState->ncclNet->test(sub->requests[buffSlot], &done, &size));\n        if (done) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_NET_SEND_ENTRY) && defined(ENABLE_NPKIT_EVENT_NET_SEND_EXIT)\n          NpKit::CollectCpuEvent(\n              NPKIT_EVENT_NET_SEND_EXIT,\n#if defined(ENABLE_NPKIT_NET_COLLECT_POLL_CNT)\n              g_npkit_net_poll_cnt,\n#else\n              sub->npKitSizesFifo[buffSlot],\n#endif\n              uint64_t(sub->requests+buffSlot)/sizeof(void*),\n              sub->timestamp[buffSlot], sub->channelId);\n#if defined(ENABLE_NPKIT_NET_COLLECT_POLL_CNT)\n          g_npkit_net_poll_cnt = 0;\n#endif\n#endif\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_NET_TEST_ENTRY) && defined(ENABLE_NPKIT_EVENT_NET_TEST_EXIT)\n          NpKit::CollectCpuEvent(\n              NPKIT_EVENT_NET_TEST_ENTRY,\n#if defined(ENABLE_NPKIT_NET_COLLECT_POLL_CNT)\n              g_npkit_net_poll_cnt,\n#else\n              sub->npKitSizesFifo[buffSlot],\n#endif\n              uint64_t(sub->requests+buffSlot)/sizeof(void*),\n              sub->timestamp[buffSlot], sub->channelId);\n#if defined(ENABLE_NPKIT_NET_COLLECT_POLL_CNT)\n          g_npkit_net_poll_cnt = 0;\n#endif\n#endif\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_NET_TEST_ENTRY) && defined(ENABLE_NPKIT_EVENT_NET_TEST_EXIT)\n          NpKit::CollectCpuEvent(\n              NPKIT_EVENT_NET_TEST_EXIT,\n#if defined(ENABLE_NPKIT_NET_COLLECT_POLL_CNT)\n              g_npkit_net_poll_cnt,\n#else\n              sub->npKitSizesFifo[buffSlot],\n#endif\n              uint64_t(sub->requests+buffSlot)/sizeof(void*),\n              *(volatile uint64_t*)NpKit::GetCpuTimestamp(), sub->channelId);\n#if defined(ENABLE_NPKIT_NET_COLLECT_POLL_CNT)\n          g_npkit_net_poll_cnt = 0;\n#endif\n#endif\n          // Make sure size is reset to -1 before we update the head.\n          connFifo[buffSlot].size = -1;\n          __sync_synchronize();\n          TRACE(NCCL_NET, \"sendProxy [%ld/%d/%d] request %p done\", sub->done, buffSlot, sub->nsteps, sub->requests[buffSlot]);\n          sub->done += args->sliceSteps;\n          ncclProfilerStopProxyStepEvent(s, args, doneStepId);\n          if (proxyState->proxyTrace) {\n            proxyState->proxyTrace->updateProxyOpCounter(sub->traceKey,\n              facebook_rccl::ProxyCounterTypes::DONE, sub->done);\n          }\n          if (resources->shared == 0) {\n            volatile uint64_t* sendHead = resources->gdcSync ? resources->gdcSync : &resources->sendMem->head;\n            *sendHead = sub->base + sub->done;\n            if (resources->gdcSync) wc_store_fence(); // Flush out WC write\n          }\n          args->idle = 0;\n          if (sub->done == sub->nsteps) {\n            args->done++;\n            if (sub->ringAlgo && sub->ringAlgo->decRefCount() == 0) delete sub->ringAlgo;\n            sub->ringAlgo = NULL;\n          }\n        }\n      }\n    }\n    if (args->done == args->nsubs) {\n      for (int s=0; s<args->nsubs; s++) {\n        ncclProfilerStopProxyOpEvent(s, args);\n      }\n      args->state = ncclProxyOpNone;\n    }\n  }\n  return ncclSuccess;\n}\n\nRCCL_PARAM(NetHdpFlush, \"NET_HDP_FLUSH\", 0);\n\nstatic ncclResult_t recvProxyProgress(struct ncclProxyState* proxyState, struct ncclProxyArgs* args) {\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_NET_COLLECT_POLL_CNT)\n  g_npkit_net_poll_cnt++;\n#endif\n  int checkedNetAttr = 0;\n  if (args->state == ncclProxyOpReady) {\n    // Initialize subs and group them by same recvComm.\n    void* recvComm;\n    int groupSize = 0;\n    int maxRecvs = 1;\n    for (int s=0; s<args->nsubs; s++) {\n      struct ncclProxySubArgs* sub = args->subs+s;\n      if (groupSize == maxRecvs) {\n        groupSize = 0;\n      } else if (s>0) { // Find next sub with the same recvComm\n        int next;\n        for (next=s; next<args->nsubs; next++) {\n          struct recvNetResources* nextRes = (struct recvNetResources*) (args->subs[next].connection->transportResources);\n          if (nextRes->netRecvComm == recvComm) break;\n        }\n        if (next == args->nsubs) { // Not found\n          groupSize = 0;\n        } else if (s != next) { // We found a sub later with the same recvComm ; swap subs\n          struct ncclProxySubArgs temp;\n          memcpy(&temp, sub, sizeof(struct ncclProxySubArgs));\n          memcpy(sub, args->subs+next, sizeof(struct ncclProxySubArgs));\n          memcpy(args->subs+next, &temp, sizeof(struct ncclProxySubArgs));\n        }\n      }\n      groupSize++;\n      struct recvNetResources* resources = (struct recvNetResources*) (sub->connection->transportResources);\n      maxRecvs = resources->maxRecvs;\n      recvComm = resources->netRecvComm;\n      // Round to next multiple of sliceSteps\n      sub->base = ROUNDUP(resources->step, args->chunkSteps);\n      // Set step base for next op\n      resources->step = sub->base + sub->nsteps;\n      sub->posted = sub->received = sub->transmitted = sub->done = 0;\n      sub->regBufferReady = 0;\n      for (int i=0; i<groupSize; i++) sub[-i].groupSize = groupSize;\n      ncclProfilerRecordProxyOpEventState(s, args, ncclProfilerProxyOpInProgress_v4);\n      if (proxyState->proxyTrace) {\n        proxyState->proxyTrace->addNewProxyOp(\n            sub->traceKey, \n            sub->traceInfo,  \n            facebook_rccl::ProxyOpType::RECV,\n            sub->channelId, \n            sub->nsteps, \n            sub->nbytes, \n            sub->peer);\n      }\n      if (!sub->reg)\n        sub->recvMhandle = resources->mhandles[args->protocol];\n    }\n    args->state = ncclProxyOpProgress;\n  }\n  args->idle = 1;\n  if (args->state == ncclProxyOpProgress) {\n    int p = args->protocol;\n    int maxDepth = std::min(NCCL_STEPS, NCCL_SHARED_STEPS/args->nsubs);\n    for (int s=0; s<args->nsubs; s+=args->subs[s].groupSize) {\n      struct ncclProxySubArgs* subGroup = args->subs+s;\n      int subCount = 0;\n      void* ptrs[NCCL_PROXY_MAX_SUBS];\n      size_t sizes[NCCL_PROXY_MAX_SUBS];\n      int tags[NCCL_PROXY_MAX_SUBS];\n      void* mhandles[NCCL_PROXY_MAX_SUBS];\n      void* phandles[NCCL_PROXY_MAX_SUBS];\n      for (int i=0; i<subGroup->groupSize; i++) {\n        struct ncclProxySubArgs* sub = subGroup + i;\n        int postedStepId = sub->posted;\n        if (sub->posted < sub->nsteps) {\n          if (sub->posted >= sub->done + maxDepth) { subCount = 0; break; }\n          ncclProfilerStartRecvProxyStepEvent(s+i, args, postedStepId);\n          struct recvNetResources* resources = (struct recvNetResources*) (sub->connection->transportResources);\n          int stepSize = resources->buffSizes[p] / NCCL_STEPS;\n          char* localBuff = NCCL_NET_MAP_GET_POINTER(&resources->map, cpu, buffs[p]);\n          int buffSlot = (sub->base+sub->posted)%NCCL_STEPS;\n          volatile struct ncclConnFifo* connFifo = (volatile struct ncclConnFifo*)resources->recvMem->connFifo;\n          if (p == NCCL_PROTO_SIMPLE) {\n            if (resources->shared) {\n              if (sub->reg) {\n                // Wait until CUDA kernel has started before we access the user buffer directly.\n                if (!sub->regBufferReady && connFifo[sub->base % NCCL_STEPS].size == -1) continue;\n                sub->regBufferReady = 1;\n                ptrs[subCount] = sub->recvbuff + sub->posted * NCCL_MAX_NET_SIZE;\n                sizes[subCount] = std::min(NCCL_MAX_NET_SIZE, (ssize_t)(sub->nbytes - sub->posted * NCCL_MAX_NET_SIZE));\n              } else {\n                int sharedBuffSlot = sub->posted % maxDepth;\n                int offset;\n                NCCLCHECK(sharedBuffersGet(proxyState, sub->channelId, sharedBuffSlot * args->nsubs + s + i, &offset, sizes + subCount));\n                __atomic_store_n(&connFifo[buffSlot].offset, offset, __ATOMIC_RELAXED);\n                ptrs[subCount] = localBuff + offset;\n              }\n            } else {\n              if (sub->reg) {\n                if (!sub->regBufferReady && connFifo[sub->base % NCCL_STEPS].size == -1) continue;\n                sub->regBufferReady = 1;\n                sub->ringAlgo->getNextRecvAddr(sub->posted, (uint8_t**)&ptrs[subCount], &sizes[subCount], &sub->recvMhandle);\n              } else {\n                ptrs[subCount] = localBuff + buffSlot * stepSize;\n                sizes[subCount] = stepSize * args->sliceSteps;\n              }\n            }\n          } else {\n            ptrs[subCount] = localBuff+buffSlot*stepSize;\n            sizes[subCount] = stepSize*args->sliceSteps;\n          }\n          if (sub->nbytes < sizes[subCount]) sizes[subCount] = sub->nbytes;\n          tags[subCount] = resources->tpRemoteRank;\n          mhandles[subCount] = sub->recvMhandle;\n          phandles[subCount] = &sub->pHandles[DIVUP(postedStepId, args->sliceSteps)%NCCL_STEPS];\n          subCount++;\n        }\n      }\n      if (subCount) {\n        uint64_t step = subGroup->posted;\n        struct recvNetResources* resources = (struct recvNetResources*) (subGroup->connection->transportResources);\n        void** requestPtr = subGroup->requests+(step%NCCL_STEPS);\n        bool ignoreCompletion = ncclParamNetOptionalRecvCompletion() && ((args->protocol == NCCL_PROTO_LL128) || (args->protocol == NCCL_PROTO_LL)) && (subCount == 1);\n        if (!checkedNetAttr++)\n          setXferNetAttrs(proxyState, args, 0);\n        if (ignoreCompletion) *requestPtr = (void *)NCCL_NET_OPTIONAL_RECV_COMPLETION;\n        NCCLCHECK(proxyState->ncclNet->irecv(resources->netRecvComm, subCount, ptrs, sizes, tags, mhandles, phandles, requestPtr));\n        if (*requestPtr) {\n          subGroup->recvRequestsCache[step%NCCL_STEPS] = *requestPtr;\n          subGroup->recvRequestsSubCount = subCount;\n          for (int i=0; i<subGroup->groupSize; i++) {\n            struct ncclProxySubArgs* sub = subGroup+i;\n            int postedStepId = sub->posted;\n            TRACE(NCCL_NET, \"recvProxy [%ld/%ld/%d] Irecv posted, buff %p, size %ld, myRank %d, channelId %d, mhandle %p\", sub->posted, (sub->base + sub->posted) % NCCL_STEPS, sub->nsteps, ptrs[i], sizes[i], proxyState->tpRank, sub->channelId, mhandles[i]);\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_NET_RECV_ENTRY) && defined(ENABLE_NPKIT_EVENT_NET_RECV_EXIT)\n            NpKit::CollectCpuEvent(\n                NPKIT_EVENT_NET_RECV_ENTRY,\n#if defined(ENABLE_NPKIT_NET_COLLECT_POLL_CNT)\n                g_npkit_net_poll_cnt,\n#else\n                sizes[i],\n#endif\n                uint64_t(sub->requests+(step%NCCL_STEPS))/sizeof(void*),\n                *(volatile uint64_t*)NpKit::GetCpuTimestamp(), sub->channelId);\n#if defined(ENABLE_NPKIT_NET_COLLECT_POLL_CNT)\n            g_npkit_net_poll_cnt = 0;\n#endif\n#endif\n\n            sub->posted += args->sliceSteps;\n            ncclProfilerRecordProxyStepEventState(s+i, args, postedStepId, ncclProfilerProxyStepRecvWait);\n            if (proxyState->proxyTrace) {\n              proxyState->proxyTrace->updateProxyOpCounter(\n                sub->traceKey, facebook_rccl::ProxyCounterTypes::POSTED, sub->posted);\n            }\n          }\n          args->idle = 0;\n        }\n      }\n    }\n    if (args->idle == 0) return ncclSuccess;\n\n    for (int s=0; s<args->nsubs; s+=args->subs[s].groupSize) {\n      struct ncclProxySubArgs* subGroup = args->subs+s;\n      if (subGroup->posted > subGroup->received) {\n        uint64_t step = subGroup->received;\n        int done;\n        void* ptrs[NCCL_PROXY_MAX_SUBS];\n        int sizes[NCCL_PROXY_MAX_SUBS];\n        void* mhandles[NCCL_PROXY_MAX_SUBS];\n        for (int i=0; i<NCCL_PROXY_MAX_SUBS; i++) sizes[i] = 0;\n        NCCLCHECK(proxyState->ncclNet->test(subGroup->requests[step%NCCL_STEPS], &done, sizes));\n        if (done) {\n          int needFlush = 0;\n          int totalSize = 0;\n          for (int i=0; i<NCCL_PROXY_MAX_SUBS; i++) totalSize += sizes[i];\n          for (int i=0; i<subGroup->groupSize; i++) {\n            struct ncclProxySubArgs* sub = subGroup + i;\n\n#if defined(ENABLE_NPKIT) && defined(ENABLE_NPKIT_EVENT_NET_RECV_ENTRY) && defined(ENABLE_NPKIT_EVENT_NET_RECV_EXIT)\n            NpKit::CollectCpuEvent(\n                NPKIT_EVENT_NET_RECV_EXIT,\n#if defined(ENABLE_NPKIT_NET_COLLECT_POLL_CNT)\n                g_npkit_net_poll_cnt,\n#else\n                sizes[i],\n#endif\n                uint64_t(sub->requests+(step%NCCL_STEPS))/sizeof(void*),\n                *(volatile uint64_t*)NpKit::GetCpuTimestamp(), sub->channelId);\n#if defined(ENABLE_NPKIT_NET_COLLECT_POLL_CNT)\n            g_npkit_net_poll_cnt = 0;\n#endif\n#endif\n\n            int receivedStepId = sub->received;\n            int buffSlot = (sub->base + sub->received) % NCCL_STEPS;\n            struct recvNetResources* resources = (struct recvNetResources*)(sub->connection->transportResources);\n            volatile struct ncclConnFifo* connFifo = (volatile struct ncclConnFifo*)resources->recvMem->connFifo;\n            connFifo[buffSlot].size = -1;\n            sub->transSize = sizes[i];\n            sub->received += args->sliceSteps;\n            ncclProfilerRecordProxyStepEventState(s+i, args, receivedStepId, ncclProfilerProxyStepRecvFlushWait);\n            if (proxyState->proxyTrace) {\n              proxyState->proxyTrace->updateProxyOpCounter(sub->traceKey, facebook_rccl::ProxyCounterTypes::RECEIVED, sub->received);\n            }\n            if (step < sub->nsteps) {\n              struct recvNetResources* resources = (struct recvNetResources*) (sub->connection->transportResources);\n              if (resources->useGdr) needFlush |= resources->needFlush;\n            }\n          }\n          subGroup->requests[step%NCCL_STEPS] = NULL;\n          if (totalSize > 0 && p == NCCL_PROTO_SIMPLE && needFlush) {\n            // GDRCOPY support\n            struct recvNetResources* resources = (struct recvNetResources*) (subGroup->connection->transportResources);\n            if (rcclParamNetHdpFlush() && resources->curr_hdp_reg) {\n              static bool once = true;\n              *resources->curr_hdp_reg = 0x1;\n              __sync_synchronize();\n              if (once) {\n                once = false;\n                INFO(NCCL_INIT, \"%s: flushed HDP %p\", __func__, resources->curr_hdp_reg);\n              }\n            }\n            if (resources->gdcFlush) {\n#if defined (__x86_64__)\n              // Force a PCI-E read from GPU memory\n              static bool once = true;\n              asm volatile (\"mov (%0), %%eax\" :: \"l\"(resources->gdcFlush) : \"%eax\");\n              if (once) {\n                once = false;\n                INFO(NCCL_INIT, \"%s: issued GDC flush\", __func__);\n              }\n#else\n              WARN(\"NET: GDR Flush only supported on x86_64\");\n              return ncclInternalError;\n#endif\n            } else {\n              int subCount = 0;\n              static bool once = true;\n              for (int i=0; i<subGroup->groupSize; i++) {\n                struct ncclProxySubArgs* sub = subGroup + i;\n                if (step < sub->nsteps) {\n                  struct recvNetResources* resources = (struct recvNetResources*) (sub->connection->transportResources);\n                  int stepSize = resources->buffSizes[p] / NCCL_STEPS;\n                  char* localBuff = NCCL_NET_MAP_GET_POINTER(&resources->map, cpu, buffs[p]);\n                  int buffSlot = (sub->base+sub->received-args->sliceSteps)%NCCL_STEPS;\n                  if (resources->shared) {\n                    ptrs[subCount] = sub->reg ? (char*)sub->recvbuff + step * NCCL_MAX_NET_SIZE : localBuff + resources->recvMem->connFifo[buffSlot].offset;\n                  } else {\n                    if (sub->reg) {\n                      sub->ringAlgo->getNextRecvAddr(step, (uint8_t**)&ptrs[subCount], NULL, &sub->recvMhandle);\n                    } else {\n                      ptrs[subCount] = localBuff + buffSlot * stepSize;\n                    }\n                  }\n                  mhandles[subCount] = sub->recvMhandle;\n                  subCount++;\n                }\n              }\n              struct recvNetResources* resources = (struct recvNetResources*) (subGroup->connection->transportResources);\n              NCCLCHECK(proxyState->ncclNet->iflush(resources->netRecvComm, subCount, ptrs, sizes, mhandles, subGroup->requests+(step%NCCL_STEPS)));\n              // [Added-comment] iflush has been posted for this subGroup at `step`\n              if (subGroup->requests[step%NCCL_STEPS]){\n                for(int i=0; i<subGroup->groupSize; i++) {\n                  struct ncclProxySubArgs* sub = subGroup + i;\n                  if (proxyState->proxyTrace) {\n                    proxyState->proxyTrace->updateProxyOpCounter(sub->traceKey, facebook_rccl::ProxyCounterTypes::FLUSHED, sub->received);\n                  }\n                }\n              }\n              if (once) {\n                once = false;\n                INFO(NCCL_INIT, \"%s: issued GDR flush\", __func__);\n              }\n            }\n          }\n          args->idle = 0;\n        }\n      }\n    }\n    if (args->idle == 0) return ncclSuccess;\n\n    for (int s=0; s<args->nsubs; s+=args->subs[s].groupSize) {\n      struct ncclProxySubArgs* subGroup = args->subs+s;\n      if (subGroup->received > subGroup->transmitted) {\n        uint64_t step = subGroup->transmitted;\n        int done = 1;\n        void* request = subGroup->requests[step%NCCL_STEPS];\n        if (request) NCCLCHECK(proxyState->ncclNet->test(request, &done, NULL));\n        if (done) {\n          for (int i=0; i<subGroup->groupSize; i++) {\n            struct ncclProxySubArgs* sub = subGroup + i;\n            int transmittedStepId = sub->transmitted;\n\n            sub->transmitted += args->sliceSteps;\n            ncclProfilerRecordProxyStepEventState(s+i, args, transmittedStepId, ncclProfilerProxyStepRecvGPUWait);\n            if (proxyState->proxyTrace) {\n              proxyState->proxyTrace->updateProxyOpCounter(sub->traceKey, facebook_rccl::ProxyCounterTypes::TRANSMITTED, sub->transmitted);\n            }\n            if (step < sub->nsteps) {\n              __sync_synchronize();\n              struct recvNetResources* resources = (struct recvNetResources*) (sub->connection->transportResources);\n              volatile uint64_t* recvTail = resources->gdcSync ? resources->gdcSync : &resources->recvMem->tail;\n              *recvTail = sub->base + sub->transmitted;\n              if (proxyState->proxyTrace) {\n                proxyState->proxyTrace->updateProxyOpCounter(sub->traceKey, facebook_rccl::ProxyCounterTypes::RECV_TAIL, *recvTail);\n              }\n              if (resources->gdcSync) wc_store_fence(); // Flush out WC write\n            }\n          }\n          args->idle = 0;\n        }\n      }\n    }\n    if (args->idle == 0) return ncclSuccess;\n\n    for (int s=0; s<args->nsubs; s+=args->subs[s].groupSize) {\n      struct ncclProxySubArgs* subGroup = args->subs+s;\n      for (int i=0; i<subGroup->groupSize; i++) {\n        struct ncclProxySubArgs* sub = subGroup + i;\n        if (sub->done == sub->nsteps) continue;\n        if (sub->transmitted > sub->done) {\n          struct recvNetResources* resources = (struct recvNetResources*) (sub->connection->transportResources);\n          volatile uint64_t* sendHead = &resources->sendMem->head;\n          uint64_t done = *sendHead;\n          if (proxyState->proxyTrace) {\n            proxyState->proxyTrace->updateProxyOpCounter(sub->traceKey, facebook_rccl::ProxyCounterTypes::TAIL_OR_HEAD, done);\n            proxyState->proxyTrace->updateProxyOpCounter(sub->traceKey, facebook_rccl::ProxyCounterTypes::FIFO_SZ_OR_HEAD_CACHE, sub->base + sub->done);\n          }\n          while (done > sub->base + sub->done &&\n              // LL and LL128 can acknowledge 0-bytes send before they even happen. Don't go past what we transmitted.\n              sub->transmitted > sub->done) {\n            if (subGroup->recvRequestsCache[sub->done%NCCL_STEPS]) {\n              // the multirecv requests are only cached in the first sub.\n              if (proxyState->ncclNet->irecvConsumed)\n                NCCLCHECK(proxyState->ncclNet->irecvConsumed(resources->netRecvComm, subGroup->recvRequestsSubCount, subGroup->recvRequestsCache[sub->done%NCCL_STEPS]));\n              subGroup->recvRequestsCache[sub->done%NCCL_STEPS] = NULL;\n            }\n            int doneStepId = sub->done;\n            sub->done += args->sliceSteps;\n            ncclProfilerStopProxyStepEvent(s+i, args, doneStepId);\n            if (proxyState->proxyTrace) {\n              proxyState->proxyTrace->updateProxyOpCounter(sub->traceKey,\n                facebook_rccl::ProxyCounterTypes::DONE, sub->done);\n            }\n            args->idle = 0;\n            if (sub->done == sub->nsteps) {\n              args->done++;\n              if (sub->ringAlgo && sub->ringAlgo->decRefCount() == 0) delete sub->ringAlgo;\n              sub->ringAlgo = NULL;\n              break;\n            }\n          }\n        }\n      }\n    }\n    if (args->done == args->nsubs) {\n      args->state = ncclProxyOpNone;\n      for (int s=0; s<args->nsubs; s++) {\n        ncclProfilerStopProxyOpEvent(s, args);\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclNetDeregBuffer(struct ncclComm* comm, struct ncclProxyConnector* proxyConn, void* handle) {\n  NCCLCHECK(ncclProxyCallBlocking(comm, proxyConn, ncclProxyMsgDeregister, &handle, sizeof(void*), NULL, 0));\n  INFO(NCCL_REG, \"rank %d - deregistered net buffer handle %p\", comm->rank, handle);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t netRegisterBuffer(ncclComm* comm, const void* userbuff, size_t buffSize, struct ncclConnector** peerConns, int nPeers, struct ncclReg* regRecord, int* outRegBufFlag, void** outHandle) {\n  ncclResult_t ret = ncclSuccess;\n  int gdrFlag = 1;\n\n  if (regRecord) {\n    for (int p = 0; p < nPeers; ++p) {\n      struct ncclConnector* peerConn = peerConns[p];\n      struct ncclProxyConnector* peerProxyConn = NULL;\n      struct ncclRegNetHandles* netHandle = NULL;\n      bool found = false;\n      if (peerConn == NULL) continue;\n      peerProxyConn = &peerConn->proxyConn;\n      netHandle = regRecord->netHandleHead;\n      while (netHandle) {\n        if (netHandle->proxyConn == peerProxyConn) {\n          found = true;\n          break;\n        }\n        netHandle = netHandle->next;\n      }\n      if (found) {\n        *outRegBufFlag = 1;\n        outHandle[p] = netHandle->handle;\n        INFO(NCCL_REG, \"rank %d - NET reuse buffer %p size %ld (baseAddr %p size %ld) handle %p\", comm->rank, userbuff, buffSize, (void*)regRecord->begAddr, regRecord->endAddr - regRecord->begAddr, netHandle->handle);\n      } else {\n        struct netRegInfo info = { regRecord->begAddr, regRecord->endAddr - regRecord->begAddr };\n        void* handle = NULL;\n\n        if (peerConn->conn.flags & NCCL_DIRECT_NIC) {\n          NCCLCHECKGOTO(ncclProxyCallBlocking(comm, peerProxyConn, ncclProxyMsgRegister, &info, sizeof(struct netRegInfo), &handle, sizeof(void*)), ret, fail);\n          if (handle) {\n            struct ncclRegNetHandles* netHandle;\n            regRecord->state |= NET_REG_COMPLETE;\n            NCCLCHECK(ncclCalloc(&netHandle, 1));\n            netHandle->handle = handle;\n            netHandle->proxyConn = peerProxyConn;\n            netHandle->next = regRecord->netHandleHead;\n            regRecord->netHandleHead = netHandle;\n            outHandle[p] = handle;\n            *outRegBufFlag = 1;\n            INFO(NCCL_REG, \"rank %d - NET register userbuff %p (handle %p), buffSize %ld\", comm->rank, userbuff, handle, buffSize);\n          } else {\n            goto fail;\n          }\n        } else {\n          gdrFlag = 0;\n          goto fail;\n        }\n      }\n    }\n  }\n\nexit:\n  return ret;\nfail:\n  *outRegBufFlag = 0;\n  INFO(NCCL_REG, \"rank %d failed to NET register userbuff %p buffSize %ld GDR flag %d\", comm->rank, userbuff, buffSize, gdrFlag);\n  goto exit;\n}\n\nncclResult_t ncclNetLocalRegisterBuffer(ncclComm* comm, const void* userbuff, size_t buffSize, struct ncclConnector** peerConns, int nPeers, int* outRegBufFlag, void** outHandle) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclReg *regRecord = NULL;\n  bool isValid = false;\n  void *base = NULL;\n  size_t baseSize = 0;\n\n  *outRegBufFlag = 0;\n  if (comm && userbuff && buffSize > 0 && nPeers > 0) {\n    NCCLCHECKGOTO(ncclRegFind(comm, userbuff, buffSize, &regRecord), ret, fail);\n    NCCLCHECKGOTO(ncclRegLocalIsValid(regRecord, &isValid), ret, fail);\n    if (isValid) {\n      CUCHECKGOTO(cuMemGetAddressRange((CUdeviceptr *)&base, &baseSize, (CUdeviceptr)userbuff), ret, fail);\n      if ((uint64_t)base + baseSize < (uint64_t)userbuff + buffSize) goto exit;\n      NCCLCHECKGOTO(netRegisterBuffer(comm, userbuff, buffSize, peerConns, nPeers, regRecord, outRegBufFlag, outHandle), ret, fail);\n    }\n  }\n\nexit:\n  return ret;\nfail:\n  *outRegBufFlag = 0;\n  goto exit;\n}\n\nstruct ncclNetCleanupCallback {\n  struct ncclCommCallback base;\n  struct ncclComm *comm;\n  struct ncclReg *reg;\n};\n\nstatic ncclResult_t cleanupNet(struct ncclComm* comm, struct ncclCommCallback* cb) {\n  struct ncclNetCleanupCallback* obj = (struct ncclNetCleanupCallback*)cb;\n  NCCLCHECK(ncclCommGraphDeregister(obj->comm, obj->reg));\n  free(obj);\n  return ncclSuccess;\n}\n\nncclResult_t ncclNetGraphRegisterBuffer(ncclComm* comm, const void* userbuff, size_t buffSize, struct ncclConnector** peerConns, int nPeers, int* outRegBufFlag, void** outHandle, struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue, int* nCleanupQueueElts) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclNetCleanupCallback *record = NULL;\n  struct ncclReg *regRecord = NULL;\n  void *base = NULL;\n  size_t baseSize = 0;\n\n  *outRegBufFlag = 0;\n  if (comm && userbuff && buffSize > 0 && nPeers > 0) {\n    CUCHECKGOTO(cuMemGetAddressRange((CUdeviceptr *)&base, &baseSize, (CUdeviceptr)userbuff), ret, fail);\n    if ((uint64_t)base + baseSize < (uint64_t)userbuff + buffSize) goto exit;\n    NCCLCHECKGOTO(ncclCommGraphRegister(comm, base, baseSize, (void**)&regRecord), ret, fail);\n    NCCLCHECKGOTO(netRegisterBuffer(comm, userbuff, buffSize, peerConns, nPeers, regRecord, outRegBufFlag, outHandle), ret, fail);\n    if (*outRegBufFlag) {\n      NCCLCHECKGOTO(ncclCalloc(&record, 1), ret, fail);\n      record->base.fn = cleanupNet;\n      record->comm = comm;\n      record->reg = regRecord;\n      ncclIntruQueueEnqueue(cleanupQueue, (struct ncclCommCallback*)record);\n      if (nCleanupQueueElts) *nCleanupQueueElts += 1;\n    } else {\n      NCCLCHECKGOTO(ncclCommGraphDeregister(comm, regRecord), ret, fail);\n    }\n  }\nexit:\n  return ret;\nfail:\n  *outRegBufFlag = 0;\n  goto exit;\n}\n\nstatic ncclResult_t sendProxyRegBuffer(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  void* handle;\n  struct netRegInfo* info = (struct netRegInfo*)reqBuff;\n  struct sendNetResources* resources = (struct sendNetResources*)(connection->transportResources);\n  ncclResult_t ret = ncclSuccess;\n  bool needReg = true;\n\n  assert(reqSize == sizeof(struct netRegInfo));\n  assert(respSize == sizeof(void*));\n\n#if CUDART_VERSION >= 11070\n  /* DMA-BUF support */\n  if (resources->useDmaBuf) {\n    int dmabuf_fd;\n    CUCHECKGOTO(cuMemGetHandleForAddressRange((void*)&dmabuf_fd, (CUdeviceptr)info->buffer, info->size, CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD, getHandleForAddressRangeFlags(resources->useGdr)), ret, peermem);\n    NCCLCHECKGOTO(proxyState->ncclNet->regMrDmaBuf(resources->netSendComm, (void*)info->buffer, info->size, NCCL_PTR_CUDA, 0ULL, dmabuf_fd, &handle), ret, peermem);\n    (void)close(dmabuf_fd);\n    needReg = false;\n  }\npeermem:\n#endif\n  if (needReg) {\n    NCCLCHECKGOTO(proxyState->ncclNet->regMr(resources->netSendComm, (void*)info->buffer, info->size, NCCL_PTR_CUDA, &handle), ret, fail);\n  }\n\nexit:\n  memcpy(respBuff, (void*)&handle, sizeof(void*));\n  *done = 1;\n  return ncclSuccess;\nfail:\n  handle = NULL;\n  goto exit;\n}\n\nstatic ncclResult_t recvProxyRegBuffer(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  void* handle;\n  struct netRegInfo* info = (struct netRegInfo*)reqBuff;\n  struct recvNetResources* resources = (struct recvNetResources*)(connection->transportResources);\n  ncclResult_t ret = ncclSuccess;\n  bool needReg = true;\n\n  assert(reqSize == sizeof(struct netRegInfo));\n  assert(respSize == sizeof(void*));\n\n#if CUDART_VERSION >= 11070\n  /* DMA-BUF support */\n  if (resources->useDmaBuf) {\n    int dmabuf_fd;\n    CUCHECKGOTO(cuMemGetHandleForAddressRange((void*)&dmabuf_fd, (CUdeviceptr)info->buffer, info->size, CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD, getHandleForAddressRangeFlags(resources->useGdr)), ret, peermem);\n    NCCLCHECKGOTO(proxyState->ncclNet->regMrDmaBuf(resources->netRecvComm, (void*)info->buffer, info->size, NCCL_PTR_CUDA, 0ULL, dmabuf_fd, &handle), ret, peermem);\n    (void)close(dmabuf_fd);\n    needReg = false;\n  }\npeermem:\n#endif\n  if (needReg) {\n    NCCLCHECKGOTO(proxyState->ncclNet->regMr(resources->netRecvComm, (void*)info->buffer, info->size, NCCL_PTR_CUDA, &handle), ret, fail);\n  }\n\nexit:\n  memcpy(respBuff, (void*)&handle, sizeof(void*));\n  *done = 1;\n  return ncclSuccess;\nfail:\n  handle = NULL;\n  goto exit;\n}\n\nstatic ncclResult_t sendProxyDeregBuffer(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, int* done) {\n  void* handle;\n  struct sendNetResources* resources = (struct sendNetResources*)(connection->transportResources);\n\n  assert(reqSize == sizeof(void*));\n  memcpy(&handle, reqBuff, sizeof(void*));\n  NCCLCHECK(proxyState->ncclNet->deregMr(resources->netSendComm, handle));\n  *done = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t recvProxyDeregBuffer(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, int* done) {\n  void* handle;\n  struct recvNetResources* resources = (struct recvNetResources*)(connection->transportResources);\n\n  assert(reqSize == sizeof(void*));\n  memcpy(&handle, reqBuff, sizeof(void*));\n  NCCLCHECK(proxyState->ncclNet->deregMr(resources->netRecvComm, handle));\n  *done = 1;\n  return ncclSuccess;\n}\n\nstruct ncclTransport netTransport = {\n  \"NET\",\n  canConnect,\n  { sendSetup, sendConnect, sendFree, proxySharedInit, sendProxySetup, sendProxyConnect, sendProxyFree, sendProxyProgress, sendProxyRegBuffer, sendProxyDeregBuffer },\n  { recvSetup, recvConnect, recvFree, proxySharedInit, recvProxySetup, recvProxyConnect, recvProxyFree, recvProxyProgress, recvProxyRegBuffer, recvProxyDeregBuffer }\n};\n"
  },
  {
    "path": "src/transport/net_ib.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nccl.h\"\n#include \"core.h\"\n#include \"socket.h\"\n#include \"net.h\"\n#include \"graph.h\"\n#include \"utils.h\"\n#include \"param.h\"\n#include \"profiler/net_ib.h\"\n\n#include <assert.h>\n#include <pthread.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <poll.h>\n#include <sys/types.h>\n#include <unistd.h>\n#include <mutex>\n#define ENABLE_TIMER 0\n#include \"timer.h\"\n#include <sys/utsname.h>\n\n#include \"ibvwrap.h\"\n#include \"mlx5/mlx5dvwrap.h\"\n#include \"graph/xml.h\"\n\n#define MAXSUFFIXSIZE 16\n#define MAXNAMESIZE (64 + MAXSUFFIXSIZE)\nstatic char ncclIbIfName[MAX_IF_NAME_SIZE+1];\nstatic union ncclSocketAddress ncclIbIfAddr;\n\nstatic ncclNetCommConfig_t ibContext;\n\nstruct ncclIbMr {\n  uintptr_t addr;\n  size_t pages;\n  int refs;\n  ibv_mr *mr;\n};\n\nstruct ncclIbMrCache {\n  struct ncclIbMr *slots;\n  int capacity, population;\n};\n\nstatic int ncclNMergedIbDevs = -1;\n#define NCCL_IB_MAX_DEVS_PER_NIC 4\n#define MAX_MERGED_DEV_NAME (MAXNAMESIZE*NCCL_IB_MAX_DEVS_PER_NIC)+NCCL_IB_MAX_DEVS_PER_NIC\nstruct alignas(64) ncclIbMergedDev {\n  ncclNetVDeviceProps_t vProps;\n  int speed;\n  char devName[MAX_MERGED_DEV_NAME]; // Up to NCCL_IB_MAX_DEVS_PER_NIC * name size, and a character for each '+'\n};\n\nstruct ncclIbStats {\n  int fatalErrorCount;\n};\n\nenum ncclIbProvider {\n  IB_PROVIDER_NONE = 0,\n  IB_PROVIDER_MLX5 = 1,\n  IB_PROVIDER_MAX = 2,\n};\n\nconst char* ibProviderName[] = {\n  \"None\",\n  \"Mlx5\",\n};\n\nstatic int ncclNIbDevs = -1;\nstruct alignas(64) ncclIbDev {\n  std::mutex mutex;\n  int device;\n  uint64_t guid;\n  uint8_t portNum;\n  uint8_t link;\n  int speed;\n  ibv_context* context;\n  int pdRefs;\n  ibv_pd* pd;\n  char devName[MAXNAMESIZE];\n  char* pciPath;\n  char* virtualPciPath;\n  int realPort;\n  int maxQp;\n  float latency;\n  struct ncclIbMrCache mrCache;\n  int ar; // ADAPTIVE_ROUTING\n  struct ibv_port_attr portAttr;\n  struct ncclIbStats stats;\n  int dmaBufSupported;\n  enum ncclIbProvider ibProvider;\n  union {\n    struct {\n      int dataDirect;\n    } mlx5;\n  } capsProvider;\n};\n\n#define MAX_IB_DEVS  32\n#define MAX_IB_VDEVS MAX_IB_DEVS*8\nstruct ncclIbMergedDev ncclIbMergedDevs[MAX_IB_VDEVS];\nstruct ncclIbDev ncclIbDevs[MAX_IB_DEVS];\nstatic std::mutex ncclIbMutex;\nstatic int ncclIbRelaxedOrderingEnabled = 0;\n\n// With ncclNet_v11_t the NCCL core initializes the network plugin per-communicator\n// rather than once for all communicators. However, the internal plugin implementation\n// still assumes the plugin is initialized only once across all communicators. The ref\n// counter makes sure the plugin internally initializes only once. When per communicator\n// context support is added to the plugin the ref counter can be removed.\nstatic int netRefCount;\n\n#define NCCL_IB_LLSTR(ll) (((ll) == IBV_LINK_LAYER_INFINIBAND) ? \"IB\" : (((ll) == IBV_LINK_LAYER_ETHERNET) ? \"RoCE\" : \"UNSPECIFIED\"))\n\n#define NCCL_IB_SL_DEFAULT 0\n#define NCCL_IB_TC_DEFAULT 0\n\nNCCL_PARAM(IbGidIndex, \"IB_GID_INDEX\", -1);\nNCCL_PARAM(IbRoutableFlidIbGidIndex, \"IB_ROUTABLE_FLID_GID_INDEX\", 1);\nNCCL_PARAM(IbRoceVersionNum, \"IB_ROCE_VERSION_NUM\", 2);\nNCCL_PARAM(IbTimeout, \"IB_TIMEOUT\", 20);\nNCCL_PARAM(IbRetryCnt, \"IB_RETRY_CNT\", 7);\nNCCL_PARAM(IbPkey, \"IB_PKEY\", 0);\nNCCL_PARAM(IbUseInline, \"IB_USE_INLINE\", 0);\nNCCL_PARAM(IbSl, \"IB_SL\", -1);\nNCCL_PARAM(IbTc, \"IB_TC\", -1);\nNCCL_PARAM(IbArThreshold, \"IB_AR_THRESHOLD\", 8192);\nNCCL_PARAM(IbPciRelaxedOrdering, \"IB_PCI_RELAXED_ORDERING\", 2);\nNCCL_PARAM(IbAdaptiveRouting, \"IB_ADAPTIVE_ROUTING\", -2);\nNCCL_PARAM(IbFifoTc, \"IB_FIFO_TC\", -1);\nNCCL_PARAM(IbAsyncEvents,\"IB_RETURN_ASYNC_EVENTS\",1);\nNCCL_PARAM(IbEceEnable,\"IB_ECE_ENABLE\",1);\nNCCL_PARAM(IbDataDirect,\"IB_DATA_DIRECT\",1);\nNCCL_PARAM(IbQpsPerConn, \"IB_QPS_PER_CONNECTION\", 1);\nRCCL_PARAM(IbQpsPerP2p, \"IB_QPS_PER_P2P\", 0);\n\nstatic ncclResult_t ncclIbStatsInit(struct ncclIbStats* stat) {\n  __atomic_store_n(&stat->fatalErrorCount, 0, __ATOMIC_RELAXED);\n  return ncclSuccess;\n}\nstatic void ncclIbStatsFatalError(struct ncclIbStats* stat){\n  __atomic_fetch_add(&stat->fatalErrorCount, 1, __ATOMIC_RELAXED);\n}\nstatic ncclResult_t ncclIbStatsCheckFatalCount(struct ncclIbStats* stat, const char* funcName) {\n  if (ncclParamIbAsyncEvents() && __atomic_load_n(&stat->fatalErrorCount, __ATOMIC_RELAXED)) {\n    ERROR(\"RCCL encountered a communication fatal error (detected in %s)\\n\", funcName);\n    ERROR(\"RCCL cannot recover from this network failure and now exiting. Please check the network health.\");\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\nstatic void ncclIbQpFatalError(struct ibv_qp* qp) {\n  ncclIbStatsFatalError((struct ncclIbStats*)qp->qp_context);\n}\nstatic void ncclIbCqFatalError(struct ibv_cq* cq) {\n  ncclIbStatsFatalError((struct ncclIbStats*)cq->cq_context);\n}\n// Calculate number of QPs based on P2P flag and device counts\nstatic int ncclIbCalculateNqps(int isP2p, int localNdevs, int remoteNdevs, const char* funcName) {\n  auto qp_multiplier = (rcclParamIbQpsPerP2p() > 0 && isP2p) ? \n                       rcclParamIbQpsPerP2p() : ncclParamIbQpsPerConn();\n  int localNqps = qp_multiplier * localNdevs;\n  int remoteNqps = qp_multiplier * remoteNdevs;\n  int maxNqps = (remoteNqps > localNqps) ? remoteNqps : localNqps;\n  INFO(NCCL_NET, \"NET/IB: %s Max Nqps=%d, localNqps=%d, remoteNqps=%d\", \n       funcName, maxNqps, localNqps, remoteNqps);\n  return maxNqps;\n}\n\nstatic void ncclIbDevFatalError(struct ncclIbDev* dev) {\n  ncclIbStatsFatalError(&dev->stats);\n}\n\npthread_t ncclIbAsyncThread;\nstatic void* ncclIbAsyncThreadMain(void* args) {\n  struct ncclIbDev* dev = (struct ncclIbDev*)args;\n  while (1) {\n    struct ibv_async_event event;\n    if (ncclSuccess != wrap_ibv_get_async_event(dev->context, &event)) { break; }\n    char *str;\n    struct ibv_cq* cq = event.element.cq;    // only valid if CQ error\n    struct ibv_qp* qp = event.element.qp;    // only valid if QP error\n    struct ibv_srq* srq = event.element.srq; // only valid if SRQ error\n    if (ncclSuccess != wrap_ibv_event_type_str(&str, event.event_type)) { break; }\n    switch (event.event_type) {\n    case IBV_EVENT_DEVICE_FATAL:\n      // the above is device fatal error\n      WARN(\"NET/IB : %s:%d async fatal event: %s\", dev->devName, dev->portNum, str);\n      ncclIbDevFatalError(dev);\n      break;\n    case IBV_EVENT_CQ_ERR:\n      // the above is a CQ fatal error\n      WARN(\"NET/IB : %s:%d async fatal event on CQ (%p): %s\", dev->devName, dev->portNum, cq, str);\n      ncclIbCqFatalError(cq);\n      break;\n    case IBV_EVENT_QP_FATAL:\n    case IBV_EVENT_QP_REQ_ERR:\n    case IBV_EVENT_QP_ACCESS_ERR:\n      // the above are QP fatal errors\n      WARN(\"NET/IB : %s:%d async fatal event on QP (%p): %s\", dev->devName, dev->portNum, qp, str);\n      ncclIbQpFatalError(qp);\n      break;\n    case IBV_EVENT_SRQ_ERR:\n      // SRQ are not used in NCCL\n      WARN(\"NET/IB : %s:%d async fatal event on SRQ, unused for now (%p): %s\", dev->devName, dev->portNum, srq, str);\n      break;\n    case IBV_EVENT_GID_CHANGE:\n      WARN(\"NET/IB : %s:%d GID table changed\", dev->devName, dev->portNum);\n      break;\n    case IBV_EVENT_PATH_MIG_ERR:\n    case IBV_EVENT_PORT_ERR:\n    case IBV_EVENT_PATH_MIG:\n    case IBV_EVENT_PORT_ACTIVE:\n    case IBV_EVENT_SQ_DRAINED:\n    case IBV_EVENT_LID_CHANGE:\n    case IBV_EVENT_PKEY_CHANGE:\n    case IBV_EVENT_SM_CHANGE:\n    case IBV_EVENT_QP_LAST_WQE_REACHED:\n    case IBV_EVENT_CLIENT_REREGISTER:\n    case IBV_EVENT_SRQ_LIMIT_REACHED:\n      // the above are non-fatal\n      WARN(\"NET/IB : %s:%d Got async error event: %s\", dev->devName, dev->portNum, str);\n      break;\n    case IBV_EVENT_COMM_EST:\n      break;\n    default:\n      WARN(\"NET/IB : %s:%d unknown event type (%d)\", dev->devName, dev->portNum, event.event_type);\n      break;\n    }\n    // acknowledgment needs to happen last to avoid user-after-free\n    if (ncclSuccess != wrap_ibv_ack_async_event(&event)) { break; }\n  }\n  return NULL;\n}\n\nstatic sa_family_t envIbAddrFamily(void) {\n  sa_family_t family = AF_INET;\n  const char* env = ncclGetEnv(\"NCCL_IB_ADDR_FAMILY\");\n  if (env == NULL || strlen(env) == 0) {\n    return family;\n  }\n\n  INFO(NCCL_ENV, \"NCCL_IB_ADDR_FAMILY set by environment to %s\", env);\n\n  if (strcmp(env, \"AF_INET\") == 0) {\n    family = AF_INET;\n  } else if (strcmp(env, \"AF_INET6\") == 0) {\n    family = AF_INET6;\n  }\n\n  return family;\n}\n\nstatic void* envIbAddrRange(sa_family_t af, int* mask) {\n  *mask = 0;\n  static struct in_addr addr;\n  static struct in6_addr addr6;\n  void *ret = (af == AF_INET) ? (void *)&addr : (void *)&addr6;\n\n  const char* env = ncclGetEnv(\"NCCL_IB_ADDR_RANGE\");\n  if (NULL == env || strlen(env) == 0) {\n    return NULL;\n  }\n\n  INFO(NCCL_ENV, \"NCCL_IB_ADDR_RANGE set by environment to %s\", env);\n\n  char addrString[128] = { 0 };\n  snprintf(addrString, 128, \"%s\", env);\n  char *addrStrPtr = addrString;\n  char *maskStrPtr = strstr(addrString, \"/\");\n  if (NULL == maskStrPtr) {\n    return NULL;\n  }\n  *(maskStrPtr++) = '\\0';\n\n  if (inet_pton(af, addrStrPtr, ret) == 0) {\n    INFO(NCCL_INIT|NCCL_NET, \"NET/IB: Ip address '%s' is invalid for family %s, ignoring address\", addrStrPtr, (af == AF_INET) ? \"AF_INET\" : \"AF_INET6\");\n    return NULL;\n  }\n\n  *mask = (int)strtol(maskStrPtr, NULL, 10);\n  if (af == AF_INET && *mask > 32) {\n    INFO(NCCL_INIT|NCCL_NET, \"NET/IB: Ip address mask '%d' is invalid for family %s, ignoring mask\", *mask, (af == AF_INET) ? \"AF_INET\" : \"AF_INET6\");\n    *mask = 0;\n    ret = NULL;\n  } else if (af == AF_INET6 && *mask > 128) {\n    INFO(NCCL_INIT|NCCL_NET, \"NET/IB: Ip address mask '%d' is invalid for family %s, ignoring mask\", *mask, (af == AF_INET) ? \"AF_INET\" : \"AF_INET6\");\n    *mask = 0;\n    ret = NULL;\n  }\n\n  return ret;\n}\n\nstatic sa_family_t getGidAddrFamily(union ibv_gid* gid) {\n  const struct in6_addr *a = (struct in6_addr *)gid->raw;\n  bool isIpV4Mapped = ((a->s6_addr32[0] | a->s6_addr32[1]) | (a->s6_addr32[2] ^ htonl(0x0000ffff))) == 0UL;\n  bool isIpV4MappedMulticast = (a->s6_addr32[0] == htonl(0xff0e0000) && ((a->s6_addr32[1] | (a->s6_addr32[2] ^ htonl(0x0000ffff))) == 0UL));\n  return (isIpV4Mapped || isIpV4MappedMulticast) ? AF_INET : AF_INET6;\n}\n\nstatic bool matchGidAddrPrefix(sa_family_t af, void* prefix, int prefixlen, union ibv_gid* gid) {\n  struct in_addr *base = NULL;\n  struct in6_addr *base6 = NULL;\n  struct in6_addr *addr6 = NULL;;\n  if (af == AF_INET) {\n    base = (struct in_addr *)prefix;\n  } else {\n    base6 = (struct in6_addr *)prefix;\n  }\n  addr6 = (struct in6_addr *)gid->raw;\n\n#define NETMASK(bits) (htonl(0xffffffff ^ ((1 << (32 - bits)) - 1)))\n\n  int i = 0;\n  while (prefixlen > 0 && i < 4) {\n    if (af == AF_INET) {\n      int mask = NETMASK(prefixlen);\n      if ((base->s_addr & mask) ^ (addr6->s6_addr32[3] & mask)) {\n        break;\n      }\n      prefixlen = 0;\n      break;\n    } else {\n      if (prefixlen >= 32) {\n        if (base6->s6_addr32[i] ^ addr6->s6_addr32[i]) {\n          break;\n        }\n        prefixlen -= 32;\n        ++i;\n      } else {\n        int mask = NETMASK(prefixlen);\n        if ((base6->s6_addr32[i] & mask) ^ (addr6->s6_addr32[i] & mask)) {\n          break;\n        }\n        prefixlen = 0;\n      }\n    }\n  }\n\n  return (prefixlen == 0) ? true : false;\n}\n\nstatic bool configuredGid(union ibv_gid* gid) {\n  const struct in6_addr *a = (struct in6_addr *)gid->raw;\n  int trailer = (a->s6_addr32[1] | a->s6_addr32[2] | a->s6_addr32[3]);\n  if (((a->s6_addr32[0] | trailer) == 0UL) || ((a->s6_addr32[0] == htonl(0xfe800000)) && (trailer == 0UL))) {\n    return false;\n  }\n  return true;\n}\n\nstatic bool linkLocalGid(union ibv_gid* gid) {\n  const struct in6_addr *a = (struct in6_addr *)gid->raw;\n  if (a->s6_addr32[0] == htonl(0xfe800000) && a->s6_addr32[1] == 0UL) {\n    return true;\n  }\n  return false;\n}\n\nstatic bool validGid(union ibv_gid* gid) {\n  return (configuredGid(gid) && !linkLocalGid(gid));\n}\n\nstatic ncclResult_t ncclIbRoceGetVersionNum(const char* deviceName, int portNum, int gidIndex, int* version) {\n  char gidRoceVerStr[16] = { 0 };\n  char roceTypePath[PATH_MAX] = { 0 };\n  snprintf(roceTypePath, sizeof(roceTypePath), \"/sys/class/infiniband/%s/ports/%d/gid_attrs/types/%d\", deviceName, portNum, gidIndex);\n\n  int fd = open(roceTypePath, O_RDONLY);\n  if (fd == -1) {\n    WARN(\"NET/IB: open failed in ncclIbRoceGetVersionNum: %s\", strerror(errno));\n    return ncclSystemError;\n  }\n  int ret = read(fd, gidRoceVerStr, 15);\n  close(fd);\n\n  if (ret == -1) {\n    // In containerized environments, read could return EINVAL if the GID index is not mapped to the\n    // container sysfs. In this case return ncclSuccess and let the caller move to next GID index.\n    if (errno == EINVAL) return ncclSuccess;\n    WARN(\"NET/IB: read failed in ncclIbRoceGetVersionNum: %s\", strerror(errno));\n    return ncclSystemError;\n  }\n\n  if (strlen(gidRoceVerStr)) {\n    if (strncmp(gidRoceVerStr, \"IB/RoCE v1\", strlen(\"IB/RoCE v1\")) == 0 || strncmp(gidRoceVerStr, \"RoCE v1\", strlen(\"RoCE v1\")) == 0) {\n      *version = 1;\n    } else if (strncmp(gidRoceVerStr, \"RoCE v2\", strlen(\"RoCE v2\")) == 0) {\n      *version = 2;\n    }\n  }\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclUpdateGidIndex(struct ibv_context* context, uint8_t portNum, sa_family_t af, void* prefix, int prefixlen, int roceVer, int gidIndexCandidate, int* gidIndex) {\n  union ibv_gid gid, gidCandidate;\n  NCCLCHECK(wrap_ibv_query_gid(context, portNum, *gidIndex, &gid));\n  NCCLCHECK(wrap_ibv_query_gid(context, portNum, gidIndexCandidate, &gidCandidate));\n\n  sa_family_t usrFam = af;\n  sa_family_t gidFam = getGidAddrFamily(&gid);\n  sa_family_t gidCandidateFam = getGidAddrFamily(&gidCandidate);\n  bool gidCandidateMatchSubnet = matchGidAddrPrefix(usrFam, prefix, prefixlen, &gidCandidate);\n\n  if (gidCandidateFam != gidFam && gidCandidateFam == usrFam && gidCandidateMatchSubnet) {\n    *gidIndex = gidIndexCandidate;\n  } else {\n    if (gidCandidateFam != usrFam || !validGid(&gidCandidate) || !gidCandidateMatchSubnet) {\n      return ncclSuccess;\n    }\n    int usrRoceVer = roceVer;\n    int gidRoceVerNum, gidRoceVerNumCandidate = -1;\n    const char* deviceName = wrap_ibv_get_device_name(context->device);\n    NCCLCHECK(ncclIbRoceGetVersionNum(deviceName, portNum, *gidIndex, &gidRoceVerNum));\n    NCCLCHECK(ncclIbRoceGetVersionNum(deviceName, portNum, gidIndexCandidate, &gidRoceVerNumCandidate));\n    if ((gidRoceVerNum != gidRoceVerNumCandidate || !validGid(&gid)) && gidRoceVerNumCandidate == usrRoceVer) {\n      *gidIndex = gidIndexCandidate;\n    }\n  }\n\n  return ncclSuccess;\n}\n\n// GID Format\n// global:  |              64b  - subnet-prefix                |                 64b - EUI                          |\n// raw   :  | 10b fixed | 22b 0 | 16b FLID | 16b subnet-prefix |                 64b - EUI                          |\nstatic uint16_t ncclIbExtractLocalSubnetPrefix(uint64_t subnet_prefix)\n{\n  return (be64toh(subnet_prefix) & 0xffff);\n}\n\nstatic int ncclIbExtractFlid (union ibv_gid *gid)\n{\n  return ntohs(*((uint16_t*)((uintptr_t)(gid->raw) + 4)));\n}\n\nstatic ncclResult_t ncclIbGetGidIndex(struct ibv_context *context, uint8_t portNum, struct ibv_port_attr* portAttr, int *gidIndex) {\n  int gidTblLen = portAttr->gid_tbl_len;\n\n  //for IB, choose GID Index that will have routable FLID if present\n  if (portAttr->link_layer == IBV_LINK_LAYER_INFINIBAND) {\n    union ibv_gid gid;\n    int routableGidIndex = ncclParamIbRoutableFlidIbGidIndex();\n    if (routableGidIndex < gidTblLen) {\n      NCCLCHECK(wrap_ibv_query_gid(context, portNum, routableGidIndex, &gid));\n      if (ncclIbExtractFlid(&gid) != 0) {\n        *gidIndex = routableGidIndex;\n        return ncclSuccess;\n      }\n    }\n    *gidIndex = 0;\n    return ncclSuccess;\n  }\n\n  //for ROCE\n  *gidIndex = ncclParamIbGidIndex();\n  if (*gidIndex >= 0) {\n    return ncclSuccess;\n  }\n\n  sa_family_t userAddrFamily = envIbAddrFamily();\n  int userRoceVersion = ncclParamIbRoceVersionNum();\n  int prefixlen;\n  void *prefix = envIbAddrRange(userAddrFamily, &prefixlen);\n\n  *gidIndex = 0;\n  for (int gidIndexNext = 1; gidIndexNext < gidTblLen; ++gidIndexNext) {\n    NCCLCHECK(ncclUpdateGidIndex(context, portNum, userAddrFamily, prefix, prefixlen, userRoceVersion, gidIndexNext, gidIndex));\n  }\n\n  return ncclSuccess;\n}\n\nNCCL_PARAM(IbDisable, \"IB_DISABLE\", 0);\nNCCL_PARAM(IbMergeVfs, \"IB_MERGE_VFS\", 1);\nNCCL_PARAM(IbMergeNics, \"IB_MERGE_NICS\", 1);\n\n// Returns 0 if this is the path of two VFs of the same physical device\nstatic int ncclIbMatchVfPath(char* path1, char* path2) {\n  // Merge multi-port NICs into the same PCI device\n  if (ncclParamIbMergeVfs()) {\n    return strncmp(path1, path2, strlen(path1)-4) == 0;\n  } else {\n    return strncmp(path1, path2, strlen(path1)-1) == 0;\n  }\n}\n\nstatic ncclResult_t ncclIbGetPciPath(char* devName, char** path, int* realPort) {\n  char devicePath[PATH_MAX];\n  snprintf(devicePath, PATH_MAX, \"/sys/class/infiniband/%s/device\", devName);\n  char* p = realpath(devicePath, NULL);\n  if (p == NULL) {\n    WARN(\"Could not find real path of %s (%s)\", devName, devicePath);\n  } else {\n    // Merge multi-port NICs into the same PCI device\n    p[strlen(p)-1] = '0';\n    // Also merge virtual functions (VF) into the same device\n    if (ncclParamIbMergeVfs()) p[strlen(p)-3] = p[strlen(p)-4] = '0';\n    // Keep the real port aside (the ibv port is always 1 on recent cards)\n    *realPort = 0;\n    for (int d=0; d<ncclNIbDevs; d++) {\n      if (ncclIbMatchVfPath(p, ncclIbDevs[d].pciPath)) (*realPort)++;\n    }\n  }\n  *path = p;\n  return ncclSuccess;\n}\n\nstatic int ibvWidths[] = { 1, 4, 8, 12, 2 };\nstatic int ibvSpeeds[] = {\n  2500,  /* SDR */\n  5000,  /* DDR */\n  10000, /* QDR */\n  10000, /* QDR */\n  14000, /* FDR */\n  25000, /* EDR */\n  50000, /* HDR */\n  100000, /* NDR */\n  200000  /* XDR */\n};\n\nstatic int firstBitSet(int val, int max) {\n  int i = 0;\n  while (i<max && ((val & (1<<i)) == 0)) i++;\n  return i;\n}\nstatic int ncclIbWidth(int width) {\n  return ibvWidths[firstBitSet(width, sizeof(ibvWidths)/sizeof(int)-1)];\n}\nstatic int ncclIbSpeed(int speed) {\n  return ibvSpeeds[firstBitSet(speed, sizeof(ibvSpeeds)/sizeof(int)-1)];\n}\n\n// Determine whether RELAXED_ORDERING is enabled and possible\nstatic int ncclIbRelaxedOrderingCapable(void) {\n  int roMode = ncclParamIbPciRelaxedOrdering();\n  ncclResult_t r = ncclInternalError;\n  if (roMode == 1 || roMode == 2) {\n    // Query IBVERBS_1.8 API - needed for IBV_ACCESS_RELAXED_ORDERING support\n    r = wrap_ibv_reg_mr_iova2(NULL, NULL, NULL, 0, 0, 0);\n  }\n  return r == ncclInternalError ? 0 : 1;\n}\n\nstatic bool ncclMlx5dvDmaBufCapable(ibv_context *context){\n  ncclResult_t res;\n  int dev_fail = 0;\n\n  struct ibv_pd* pd;\n  NCCLCHECKGOTO(wrap_ibv_alloc_pd(&pd, context), res, failure);\n  // Test kernel DMA-BUF support with a dummy call (fd=-1)\n  (void)wrap_direct_ibv_reg_dmabuf_mr(pd, 0ULL /*offset*/, 0ULL /*len*/, 0ULL /*iova*/, -1 /*fd*/, 0 /*flags*/);\n  // ibv_reg_dmabuf_mr() will fail with EOPNOTSUPP/EPROTONOSUPPORT if not supported (EBADF otherwise)\n  (void)wrap_direct_mlx5dv_reg_dmabuf_mr(pd, 0ULL /*offset*/, 0ULL /*len*/, 0ULL /*iova*/, -1 /*fd*/, 0 /*flags*/, 0 /* mlx5 flags*/);\n  // mlx5dv_reg_dmabuf_mr() will fail with EOPNOTSUPP/EPROTONOSUPPORT if not supported (EBADF otherwise)\n  dev_fail |= (errno == EOPNOTSUPP) || (errno == EPROTONOSUPPORT);\n  NCCLCHECKGOTO(wrap_ibv_dealloc_pd(pd), res, failure);\n  // stop the search and goto failure\n  if (dev_fail) goto failure;\n  return true;\nfailure:\n  return false;\n}\n\n/**\n * Extract the PCIe root complex (domain:bus) from a Linux sysfs PCI device path.\n *\n * This function scans a sysfs PCI device path (e.g.\n *   \"/sys/devices/pci0000:80/0000:80:03.1/0000:81:00.0\")\n * and extracts the first occurrence of the PCI root host bridge identifier\n * of the form \"pciDDDD:BB\", where:\n *   - DDDD is the PCI domain (hex)\n *   - BB   is the PCI bus number (hex)\n *\n * The extracted root is returned as a string formatted as \"DDDD:BB\".\n *\n * This helper is typically used to determine whether multiple NICs or devices\n * reside under the same PCIe root complex, which is important for validating\n * NIC merging and avoiding cross-root PCIe traffic.\n *\n * @param pciPath  NUL-terminated sysfs PCI device path\n * @param root     Output buffer receiving the \"DDDD:BB\" PCI root identifier\n * @param rootLen  Size of the output buffer; must be >= 8\n *\n * @return ncclSuccess on success\n * @return ncclInvalidUsage if inputs are invalid or no PCI root is found\n *\n * Notes:\n * - The function scans for the first valid \"pciDDDD:BB\" pattern in the path.\n * - The loop is bounded by the length of the string and cannot hang.\n * - This function does not allocate memory.\n */\nstatic ncclResult_t ncclIbGetPciRootFromPath(\n    const char* pciPath,\n    char* root,\n    size_t rootLen\n) {\n    if (pciPath == NULL || root == NULL || rootLen < 8){\n        return ncclInvalidUsage;\n    }\n    const char* p = strstr(pciPath, \"pci\");\n    while (p != NULL) {\n        int domain, bus;\n        int chars_read = 0;\n        if (sscanf(p, \"pci%4x:%2x%n\", &domain, &bus, &chars_read) == 2 &&\n            chars_read == 10) {\n            snprintf(root, rootLen, \"%04x:%02x\", domain, bus);\n            return ncclSuccess;\n        }\n        p = strstr(p + 1, \"pci\");\n    }\n    return ncclInvalidUsage;\n}\n\n/**\n * Determine the NUMA node associated with a PCI device from its sysfs path.\n *\n * This function reads the \"numa_node\" attribute from a PCI device's sysfs\n * directory (e.g. \"<pciPath>/numa_node\") and returns the NUMA node ID.\n *\n * Linux sysfs convention:\n *   - A non-negative integer indicates the NUMA node the device is local to\n *   - \"-1\" indicates that the device has no specific NUMA affinity\n *\n * This helper is used to validate NUMA locality when merging NICs, ensuring\n * that merged devices do not silently span NUMA nodes, which could negatively\n * impact performance.\n *\n * @param pciPath  NUL-terminated sysfs PCI device path\n *\n * @return NUMA node ID (>= 0) on success\n * @return -1 if the NUMA node cannot be determined, the file is missing,\n *         unreadable, or contains invalid data\n *\n * Notes:\n * - Uses open/read instead of stdio to avoid buffering and locale issues.\n * - Uses strtol for robust numeric parsing and overflow detection.\n * - A return value of -1 may indicate either \"no NUMA affinity\" or an error;\n *   callers should treat it as \"unknown or unspecified\".\n */\nstatic int ncclIbGetNumaNodeFromPath(const char* pciPath) {\n    if (pciPath == NULL) {\n        return -1;\n    }\n    char numaPath[PATH_MAX];\n    if (snprintf(numaPath, sizeof(numaPath), \"%s/numa_node\", pciPath) >= PATH_MAX) {\n        return -1; \n    }\n\n    int fd = open(numaPath, O_RDONLY);\n    if (fd < 0) return -1;\n\n    char buf[32];\n    ssize_t n = read(fd, buf, sizeof(buf) - 1);\n    close(fd);\n\n    if (n <= 0) return -1;\n    buf[n] = '\\0';\n    \n    char* endptr;\n    errno = 0;\n    long numa = strtol(buf, &endptr, 10);\n    if (endptr == buf || errno == ERANGE) {\n        return -1;\n    }\n    return (int)numa;\n}\n\nncclResult_t ncclIbMakeVDeviceInternal(int* d, ncclNetVDeviceProps_t* props) {\n  if (ncclParamIbMergeNics() == 0 && props->ndevs > 1) {\n    WARN(\"NET/IB : Skipping makeVDevice, Please set NCCL_IB_MERGE_NICS=1\");\n    return ncclInvalidUsage;\n  }\n\n  if (props->ndevs == 0) {\n      WARN(\"NET/IB : Can't make virtual NIC with 0 devices\");\n      return ncclInvalidUsage;\n  }\n\n  if (ncclNMergedIbDevs == MAX_IB_VDEVS) {\n    WARN(\"NET/IB : Cannot allocate any more virtual devices (%d)\", MAX_IB_VDEVS);\n    return ncclInvalidUsage;\n  }\n\n  // Always count up number of merged devices\n  ncclIbMergedDev* mDev = ncclIbMergedDevs + ncclNMergedIbDevs;\n  mDev->vProps.ndevs = 0;\n  mDev->speed = 0;\n\n  for (int i = 0; i < props->ndevs; i++) {\n    ncclIbDev* dev = ncclIbDevs + props->devs[i];\n    if (mDev->vProps.ndevs == NCCL_IB_MAX_DEVS_PER_NIC) return ncclInvalidUsage;\n    mDev->vProps.devs[mDev->vProps.ndevs++] = props->devs[i];\n    mDev->speed += dev->speed;\n    // Each successive time, copy the name '+' new name\n    if (mDev->vProps.ndevs > 1) {\n      snprintf(mDev->devName + strlen(mDev->devName), sizeof(mDev->devName) - strlen(mDev->devName), \"+%s\", dev->devName);\n    // First time, copy the plain name\n    } else {\n      strncpy(mDev->devName, dev->devName, MAXNAMESIZE);\n    }\n  }\n\n  // Check link layers\n  ncclIbDev* dev0 = ncclIbDevs + props->devs[0];\n  for (int i = 1; i < props->ndevs; i++) {\n    if (props->devs[i] >= ncclNIbDevs) {\n      WARN(\"NET/IB : Cannot use physical device %d, max %d\", props->devs[i], ncclNIbDevs);\n      return ncclInvalidUsage;\n    }\n    ncclIbDev* dev = ncclIbDevs + props->devs[i];\n    if (dev->link != dev0->link) {\n      WARN(\"NET/IB : Attempted to merge incompatible devices: [%d]%s:%d/%s and [%d]%s:%d/%s. Try selecting NICs of only one link type using NCCL_IB_HCA\",\n        props->devs[0], dev0->devName, dev0->portNum, NCCL_IB_LLSTR(dev0->link), props->devs[i], dev->devName, dev->portNum, NCCL_IB_LLSTR(dev->link));\n      return ncclInvalidUsage;\n    }\n  }\n\n  int numa0 = ncclIbGetNumaNodeFromPath(dev0->pciPath);\n  //format -> 0000:00 \n  char root0[8]; \n  ncclIbGetPciRootFromPath(dev0->pciPath, root0, sizeof(root0));\n  for (int i = 1; i < props->ndevs; i++) {\n    ncclIbDev* dev = ncclIbDevs + props->devs[i];\n    int numa_i = ncclIbGetNumaNodeFromPath(dev->pciPath);\n    if (numa0 >= 0 && numa_i >= 0 && numa_i != numa0) {\n      WARN(\"NET/IB : Merging NICs across NUMA nodes (%s numa=%d, %s numa=%d). \"\n           \"This may significantly reduce performance.\",\n           dev0->devName, numa0, dev->devName, numa_i);\n      break;\n    }\n\n    char root_i[8];\n    ncclIbGetPciRootFromPath(dev->pciPath, root_i, sizeof(root_i));\n    if (strcmp(root_i, root0) != 0) {\n      WARN(\"NET/IB : Merging NICs across PCIe Root Complexes \"\n           \"(%s root=%s, %s root=%s). \"\n           \"GPUDirect RDMA and bandwidth aggregation may be impacted.\",\n           dev0->devName, root0, dev->devName, root_i);\n      break;\n    }\n  }\n\n  *d = ncclNMergedIbDevs++;\n  INFO(NCCL_NET, \"NET/IB : Made virtual device [%d] name=%s speed=%d ndevs=%d\", *d, mDev->devName, mDev->speed, mDev->vProps.ndevs);\n  return ncclSuccess;\n}\n\nncclResult_t ncclIbMakeVDevice(int* d, ncclNetVDeviceProps_t* props) {\n  std::lock_guard<std::mutex> lock(ncclIbMutex);\n  ncclResult_t res = ncclIbMakeVDeviceInternal(d, props);\n  return res;\n\n}\n\nncclResult_t ncclIbSetNetAttr(void *ctx, ncclNetAttr_t *netAttr) {\n  (void)ctx;\n  (void)netAttr;\n  return ncclSuccess;\n}\n\nstatic ncclProfilerCallback_t ncclProfilerFunction;\n\nncclResult_t ncclIbInit(void** ctx, uint64_t commId, ncclNetCommConfig_t* config, ncclDebugLogger_t logFunction, ncclProfilerCallback_t profFunction) {\n  if (netRefCount++) return ncclSuccess;\n  ncclResult_t ret = ncclSuccess;\n  ncclProfilerFunction = profFunction;\n  if (ncclParamIbDisable()) return ncclInternalError;\n  static int shownIbHcaEnv = 0;\n  if(wrap_ibv_symbols() != ncclSuccess) { return ncclInternalError; }\n  if(wrap_mlx5dv_symbols() != ncclSuccess) { INFO(NCCL_NET, \"NET/IB : Failed to open mlx5dv symbols. Advance features like CX-8 Direct-NIC will be disabled.\"); }\n\n  // Detect IB cards\n  int nIbDevs = 0;\n  struct ibv_device** devices = NULL;\n\n  if (ncclNIbDevs == -1) {\n    std::lock_guard<std::mutex> lock(ncclIbMutex);\n    wrap_ibv_fork_init();\n    if (ncclNIbDevs == -1) {\n      int nIpIfs = 0;\n      ncclNIbDevs = 0;\n      ncclNMergedIbDevs = 0;\n      NCCLCHECK(ncclFindInterfaces(ncclIbIfName, &ncclIbIfAddr, MAX_IF_NAME_SIZE, 1, &nIpIfs));\n      if (nIpIfs != 1) {\n        WARN(\"NET/IB : No IP interface found.\");\n        ret = ncclInternalError;\n        goto fail;\n      }   \n\n      // Check if user defined which IB device:port to use\n      const char* userIbEnv = ncclGetEnv(\"NCCL_IB_HCA\");\n      if (userIbEnv != NULL && shownIbHcaEnv++ == 0) INFO(NCCL_NET|NCCL_ENV, \"NCCL_IB_HCA set to %s\", userIbEnv);\n      struct netIf userIfs[MAX_IB_DEVS];\n      bool searchNot = userIbEnv && userIbEnv[0] == '^';\n      if (searchNot) userIbEnv++;\n      bool searchExact = userIbEnv && userIbEnv[0] == '=';\n      if (searchExact) userIbEnv++;\n      int nUserIfs = parseStringList(userIbEnv, userIfs, MAX_IB_DEVS);\n\n      if (ncclSuccess != wrap_ibv_get_device_list(&devices, &nIbDevs)) { ret = ncclInternalError; goto fail; }\n\n      for (int d=0; d<nIbDevs && ncclNIbDevs<MAX_IB_DEVS; d++) {\n        struct ibv_context * context = NULL;\n        if (ncclSuccess != wrap_ibv_open_device(&context, devices[d]) || context == NULL) {\n          WARN(\"NET/IB : Unable to open device %s\", devices[d]->name);\n          continue;\n        }\n        char dataDirectDevicePath[PATH_MAX] = \"/sys\";\n        int devCount = /*undefined*/-1, devOffset = 0;\n        enum ncclIbProvider ibProvider = wrap_mlx5dv_is_supported(devices[d]) ? IB_PROVIDER_MLX5 : IB_PROVIDER_NONE;\n\n        int nPorts = 0;\n        struct ibv_device_attr devAttr;\n        memset(&devAttr, 0, sizeof(devAttr));\n        if (ncclSuccess != wrap_ibv_query_device(context, &devAttr)) {\n          WARN(\"NET/IB : Unable to query device %s\", devices[d]->name);\n          if (ncclSuccess != wrap_ibv_close_device(context))\n          {\n            ret = ncclInternalError;\n            goto fail;\n          }\n          continue;\n        }\n        for (int port_num = 1; port_num <= devAttr.phys_port_cnt; port_num++) {\n            struct ibv_port_attr portAttr;\n            if (ncclSuccess != wrap_ibv_query_port(context, port_num, &portAttr)) {\n              WARN(\"NET/IB : Unable to query port_num %d\", port_num);\n              continue;\n            }\n            if (portAttr.state != IBV_PORT_ACTIVE) continue;\n            if (portAttr.link_layer != IBV_LINK_LAYER_INFINIBAND && portAttr.link_layer != IBV_LINK_LAYER_ETHERNET) continue;\n\n            // check against user specified HCAs/ports\n            if (! (matchIfList(devices[d]->name, port_num, userIfs, nUserIfs, searchExact) ^ searchNot)) {\n              continue;\n            }\n\n            // check for mlx5 data direct support only once for a each device\n            if (devCount == -1) {\n              devCount = 1;\n              devOffset = 0;\n              if (ncclParamIbDataDirect() > 0 && ibProvider == IB_PROVIDER_MLX5 && ncclMlx5dvDmaBufCapable(context)) {\n                int pathLen = strlen(dataDirectDevicePath);\n                ncclResult_t res = wrap_mlx5dv_get_data_direct_sysfs_path(context, dataDirectDevicePath + pathLen, sizeof(dataDirectDevicePath) - pathLen);\n                if (res == ncclSuccess) {\n                  // data direct devices are exposed twice: with the C2C + PCIe link and with the data direct link\n                  devCount = 2;\n                  // by default only expose the data direct NIC (devOffset = 1), unless set to 2 by the user\n                  devOffset = (ncclParamIbDataDirect() == 2) ? 0 : 1;\n                  INFO(NCCL_INIT | NCCL_NET, \"NET/IB: Data Direct DMA Interface is detected for device %s\", devices[d]->name);\n                } else if (res == ncclInvalidArgument) {\n                  TRACE(NCCL_NET, \"NET/IB: Device %s does not support Data Direct DMA.\", devices[d]->name);\n                } else {\n                  WARN(\"NET/IB: Error in mlx5dv_get_data_direct_sysfs_path with device %s\", devices[d]->name);\n                  return res;\n                }\n              }\n            }\n            for (int dev = devOffset; dev < devCount; ++dev) {\n              ncclIbDevs[ncclNIbDevs].device = d;\n              ncclIbDevs[ncclNIbDevs].ibProvider = ibProvider;\n              ncclIbDevs[ncclNIbDevs].guid = devAttr.sys_image_guid;\n              ncclIbDevs[ncclNIbDevs].portAttr = portAttr;\n              ncclIbDevs[ncclNIbDevs].portNum = port_num;\n              ncclIbDevs[ncclNIbDevs].link = portAttr.link_layer;\n              if (portAttr.active_speed_ex) {\n                // A non-zero active_speed_ex indicates XDR rate (0x100) or higher\n                ncclIbDevs[ncclNIbDevs].speed = ncclIbSpeed(portAttr.active_speed_ex) * ncclIbWidth(portAttr.active_width);\n              } else {\n                ncclIbDevs[ncclNIbDevs].speed = ncclIbSpeed(portAttr.active_speed) * ncclIbWidth(portAttr.active_width);\n              }\n              ncclIbDevs[ncclNIbDevs].context = context;\n              ncclIbDevs[ncclNIbDevs].pdRefs = 0;\n              ncclIbDevs[ncclNIbDevs].pd = NULL;\n              if (dev == 0) {\n                strncpy(ncclIbDevs[ncclNIbDevs].devName, devices[d]->name, MAXNAMESIZE);\n                NCCLCHECKGOTO(ncclIbGetPciPath(ncclIbDevs[ncclNIbDevs].devName, &ncclIbDevs[ncclNIbDevs].pciPath, &ncclIbDevs[ncclNIbDevs].realPort), ret, fail);\n              } else {\n                snprintf(ncclIbDevs[ncclNIbDevs].devName, MAXNAMESIZE, \"%s_dma\", devices[d]->name);\n                NCCLCHECK(ncclCalloc(&ncclIbDevs[ncclNIbDevs].pciPath, PATH_MAX));\n                strncpy(ncclIbDevs[ncclNIbDevs].pciPath, dataDirectDevicePath, PATH_MAX);\n                ncclIbDevs[ncclNIbDevs].capsProvider.mlx5.dataDirect = 1;\n              }\n              ncclIbDevs[ncclNIbDevs].maxQp = devAttr.max_qp;\n              ncclIbDevs[ncclNIbDevs].mrCache.capacity = 0;\n              ncclIbDevs[ncclNIbDevs].mrCache.population = 0;\n              ncclIbDevs[ncclNIbDevs].mrCache.slots = NULL;\n              NCCLCHECK(ncclIbStatsInit(&ncclIbDevs[ncclNIbDevs].stats));\n\n              // Enable ADAPTIVE_ROUTING by default on IB networks\n              // But allow it to be overloaded by an env parameter\n              ncclIbDevs[ncclNIbDevs].ar = (portAttr.link_layer == IBV_LINK_LAYER_INFINIBAND) ? 1 : 0;\n              if (ncclParamIbAdaptiveRouting() != -2) ncclIbDevs[ncclNIbDevs].ar = ncclParamIbAdaptiveRouting();\n\n              INFO(NCCL_NET, \"NET/IB: [%d] %s:%s:%d/%s provider=%s speed=%d context=%p pciPath=%s ar=%d\", d, devices[d]->name, devices[d]->dev_name,\n                   ncclIbDevs[ncclNIbDevs].portNum, NCCL_IB_LLSTR(portAttr.link_layer), ibProviderName[ncclIbDevs[ncclNIbDevs].ibProvider], ncclIbDevs[ncclNIbDevs].speed, context,\n                   ncclIbDevs[ncclNIbDevs].pciPath, ncclIbDevs[ncclNIbDevs].ar);\n\n              PTHREADCHECKGOTO(pthread_create(&ncclIbAsyncThread, NULL, ncclIbAsyncThreadMain, ncclIbDevs + ncclNIbDevs), \"pthread_create\", ret, fail);\n              ncclSetThreadName(ncclIbAsyncThread, \"NCCL IbAsync %2d\", ncclNIbDevs);\n              PTHREADCHECKGOTO(pthread_detach(ncclIbAsyncThread), \"pthread_detach\", ret, fail); // will not be pthread_join()'d\n\n              // Add this plain physical device to the list of virtual devices\n              int vDev;\n              ncclNetVDeviceProps_t vProps = {0};\n              vProps.ndevs = 1;\n              vProps.devs[0] = ncclNIbDevs;\n              NCCLCHECK(ncclIbMakeVDeviceInternal(&vDev, &vProps));\n\n              ncclNIbDevs++;\n              nPorts++;\n            }\n        }\n        if (nPorts == 0 && ncclSuccess != wrap_ibv_close_device(context)) { ret = ncclInternalError; goto fail; }\n      }\n\n      if (ncclSuccess != wrap_ibv_free_device_list(devices)) { ret = ncclInternalError; goto fail; }\n    }\n    if (ncclNIbDevs == 0) {\n      INFO(NCCL_INIT|NCCL_NET, \"NET/IB : No device found.\");\n    }\n\n    // Print out all net devices to the user (in the same format as before)\n    char line[2048];\n    line[0] = '\\0';\n    // Determine whether RELAXED_ORDERING is enabled and possible\n    ncclIbRelaxedOrderingEnabled = ncclIbRelaxedOrderingCapable();\n    for (int d = 0; d < ncclNIbDevs; d++) {\n        snprintf(line+strlen(line), sizeof(line)-strlen(line), \" [%d]%s:%d/%s\", d, ncclIbDevs[d].devName,\n          ncclIbDevs[d].portNum, NCCL_IB_LLSTR(ncclIbDevs[d].link));\n    }\n    char addrline[SOCKET_NAME_MAXLEN+1];\n    INFO(NCCL_INIT|NCCL_NET, \"NET/IB : Using%s %s; OOB %s:%s\", line, ncclIbRelaxedOrderingEnabled ? \"[RO]\" : \"\",\n          ncclIbIfName, ncclSocketToString(&ncclIbIfAddr, addrline));\n\n  }\nexit:\n  ibContext.trafficClass = config->trafficClass;\n  *ctx = &ibContext;\n  return ret;\nfail:\n  if(ncclSuccess != wrap_ibv_free_device_list(devices)){WARN(\"NET/IB : Unable to free device list\");}\n  goto exit;\n}\n\nncclResult_t ncclIbDevices(int* ndev) {\n  *ndev = ncclNMergedIbDevs;\n  return ncclSuccess;\n}\n\n// Introduce RCCL_FORCE_ENABLE_GDRDMA to force load GPU-NIC RDMA module\n// Use ONLY for debugging!\nRCCL_PARAM(ForceEnableGdrdma, \"FORCE_ENABLE_GDRDMA\", -1);\n\n// Detect whether GDR can work on a given NIC with the current CUDA device\n// Returns :\n// ncclSuccess : GDR works\n// ncclSystemError : no module or module loaded but not supported by GPU\n#define KNL_MODULE_LOADED(a) ((access(a, F_OK) == -1) ? 0 : 1)\nstatic int ncclIbGdrModuleLoaded = 0; // 1 = true, 0 = false\nstatic void ibGdrSupportInitOnce() {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  if (rcclParamForceEnableGdrdma() == 1) {\n    // RCCL_FORCE_ENABLE_GDRDMA=1 enables GPU-NIC RDMA only from RCCL-side\n    // Requires support from NIC driver modules\n    // Use ONLY for debugging!\n    ncclIbGdrModuleLoaded = 1;\n    INFO(NCCL_INIT, \"RCCL_FORCE_ENABLE_GDRDMA = 1, so explicitly setting ncclIbGdrModuleLoaded = 1\");\n  }\n\n  if (ncclIbGdrModuleLoaded == 0) {\n    // Check for `memory_peers` directory containing `amdkfd/version`\n    // This `memory_peers` directory is created by NIC-GPU driver interaction\n    // On Linux kernel 5.15.0 (e.g. Ubuntu 22.04), `memory_peers` is created under `/sys/kernel/mm/`\n    // However, on newer kernels like Ubuntu 24.04.1 (Linux kernel 6.8.0) or Ubuntu 22.04.4 HWE (Linux kernel 6.5.0),\n    // this `memory_peers` directory is either not created (go to else-if condition)\n    // or created under a different path like `/sys/kernel/` or `/sys/` (depending on your ib_peer_mem module)\n    const char* memory_peers_paths[] = {\"/sys/kernel/mm/memory_peers/amdkfd/version\",\n                                  \"/sys/kernel/memory_peers/amdkfd/version\",\n                                  \"/sys/memory_peers/amdkfd/version\",\n                                  NULL};\n    int i = 0;\n\n    while (memory_peers_paths[i]) {\n      if (access(memory_peers_paths[i], F_OK) == 0) {\n        ncclIbGdrModuleLoaded = 1;\n        INFO(NCCL_INIT,\"Found %s\", memory_peers_paths[i]);\n        break;\n      } else {\n        ncclIbGdrModuleLoaded = 0;\n      }\n      ++i;\n    }\n\n    char strValue[MAX_STR_LEN];\n    ncclTopoGetStrFromSys(\"/sys/devices/virtual/dmi/id\", \"bios_version\", strValue);\n    if (strncmp(\"Hyper-V UEFI Release\", strValue, 20) == 0) {\n      int roMode = ncclParamIbPciRelaxedOrdering();\n      ncclTopoGetStrFromSys(\"/proc/sys/kernel\", \"numa_balancing\", strValue);\n      if (strcmp(strValue, \"1\") == 0 && roMode == 0)\n        ncclIbGdrModuleLoaded = 0;\n    }\n\n    if (ncclIbGdrModuleLoaded == 0) {\n      // Check for `ib_register_peer_memory_client` symbol in `/proc/kallsyms`\n      // if your system uses native OS ib_peer module\n      char buf[256];\n      FILE *fp = NULL;\n      fp = fopen(\"/proc/kallsyms\", \"r\");\n\n      if (fp == NULL) {\n        INFO(NCCL_INIT,\"Could not open /proc/kallsyms\");\n      } else {\n        while (fgets(buf, sizeof(buf), fp) != NULL) {\n          if (strstr(buf, \"t ib_register_peer_memory_client\") != NULL ||\n              strstr(buf, \"T ib_register_peer_memory_client\") != NULL) {\n            ncclIbGdrModuleLoaded = 1;\n            INFO(NCCL_INIT,\"Found ib_register_peer_memory_client in /proc/kallsyms\");\n            break;\n          }\n        }\n      }\n    }\n  }\n#else\n  // Check for the nv_peer_mem module being loaded\n  ncclIbGdrModuleLoaded = KNL_MODULE_LOADED(\"/sys/kernel/mm/memory_peers/nv_mem/version\") ||\n                          KNL_MODULE_LOADED(\"/sys/kernel/mm/memory_peers/nv_mem_nc/version\") ||\n                          KNL_MODULE_LOADED(\"/sys/module/nvidia_peermem/version\");\n#endif\n}\n\nncclResult_t ncclIbGdrSupport() {\n  static std::once_flag once;\n  std::call_once(once, ibGdrSupportInitOnce);\n  if (!ncclIbGdrModuleLoaded)\n    return ncclSystemError;\n  return ncclSuccess;\n}\n\nstatic __thread int ibDmaSupportInitDev; // which device to init, must be thread local\nstatic void ibDmaBufSupportInitOnce(){\n  ncclResult_t res;\n  int dev_fail = 0;\n\n  // This is a physical device, not a virtual one, so select from ibDevs\n  ncclIbMergedDev* mergedDev = ncclIbMergedDevs + ibDmaSupportInitDev;\n  ncclIbDev* ibDev = ncclIbDevs + mergedDev->vProps.devs[0];\n  struct ibv_pd* pd;\n  struct ibv_context* ctx = ibDev->context;\n  res = rocmLibraryInit();\n  if (res != ncclSuccess) goto failure;\n  NCCLCHECKGOTO(wrap_ibv_alloc_pd(&pd, ctx), res, failure);\n  // Test kernel DMA-BUF support with a dummy call (fd=-1)\n  (void)wrap_direct_ibv_reg_dmabuf_mr(pd, 0ULL /*offset*/, 0ULL /*len*/, 0ULL /*iova*/, -1 /*fd*/, 0 /*flags*/);\n  // ibv_reg_dmabuf_mr() will fail with EOPNOTSUPP/EPROTONOSUPPORT if not supported (EBADF otherwise)\n  dev_fail |= (errno == EOPNOTSUPP) || (errno == EPROTONOSUPPORT);\n  NCCLCHECKGOTO(wrap_ibv_dealloc_pd(pd), res, failure);\n  // stop the search and goto failure\n  if (dev_fail) goto failure;\n  ibDev->dmaBufSupported = 1;\n  return;\nfailure:\n  ibDev->dmaBufSupported = -1;\n  return;\n}\n// Detect whether DMA-BUF support is present in the kernel\n// Returns :\n// ncclSuccess : DMA-BUF support is available\n// ncclSystemError : DMA-BUF is not supported by the kernel\nncclResult_t ncclIbDmaBufSupport(int dev) {\n  static std::once_flag onces[MAX_IB_DEVS];\n  // init the device only once\n  ibDmaSupportInitDev = dev;\n  std::call_once(onces[dev], ibDmaBufSupportInitOnce);\n  ncclIbMergedDev* mergedDev = ncclIbMergedDevs + ibDmaSupportInitDev;\n  ncclIbDev* ibDev = ncclIbDevs + mergedDev->vProps.devs[0];\n  int dmaBufSupported = ibDev->dmaBufSupported;\n  if (dmaBufSupported == 1) return ncclSuccess;\n  return ncclSystemError;\n}\n\n#define NCCL_NET_IB_MAX_RECVS 8\n\nncclResult_t ncclIbGetPhysProperties(int dev, ncclNetProperties_t* props) {\n  struct ncclIbDev* ibDev = ncclIbDevs + dev;\n  std::lock_guard<std::mutex> lock(ibDev->mutex);\n  props->name = ibDev->devName;\n  props->speed = ibDev->speed;\n  props->pciPath = ibDev->pciPath;\n  props->guid = ibDev->guid;\n  props->ptrSupport = NCCL_PTR_HOST;\n  if (ncclIbGdrSupport() == ncclSuccess) {\n    props->ptrSupport |= NCCL_PTR_CUDA; // GDR support via nv_peermem\n  }\n  props->regIsGlobal = 1;\n  if (ncclIbDmaBufSupport(dev) == ncclSuccess) {\n    props->ptrSupport |= NCCL_PTR_DMABUF; // GDR support via DMA-BUF\n  }\n  props->forceFlush = 0;\n  if (ibDev->capsProvider.mlx5.dataDirect) {\n    props->forceFlush = 1;\n  }\n  props->latency = 0; // Not set\n  props->port = ibDev->portNum + ibDev->realPort;\n  props->maxComms = ibDev->maxQp;\n  props->maxRecvs = NCCL_NET_IB_MAX_RECVS;\n  props->netDeviceType    = NCCL_NET_DEVICE_HOST;\n  props->netDeviceVersion = NCCL_NET_DEVICE_INVALID_VERSION;\n  props->maxP2pBytes = NCCL_MAX_NET_SIZE_BYTES;\n  props->maxCollBytes = MAX_COLLNET_SIZE;\n  props->maxMultiRequestSize = 1;\n  return ncclSuccess;\n}\n\nncclResult_t ncclIbGetProperties(int dev, ncclNetProperties_t* props) {\n  if (dev >= ncclNMergedIbDevs) {\n    WARN(\"NET/IB : Requested properties for vNic %d, only %d vNics have been created\", dev, ncclNMergedIbDevs);\n    return ncclInvalidUsage;\n  }\n  struct ncclIbMergedDev* mergedDev = ncclIbMergedDevs + dev;\n  // Take the rest of the properties from an arbitrary sub-device (should be the same)\n  NCCLCHECK(ncclIbGetPhysProperties(mergedDev->vProps.devs[0], props));\n  props->name = mergedDev->devName;\n  props->speed = mergedDev->speed;\n  memcpy(&props->vProps, &mergedDev->vProps, sizeof(ncclNetVDeviceProps_t));\n  return ncclSuccess;\n}\n\n// We need to support NCCL_NET_MAX_REQUESTS for each concurrent receive\n#define MAX_REQUESTS (NCCL_NET_MAX_REQUESTS*NCCL_NET_IB_MAX_RECVS)\nstatic_assert(MAX_REQUESTS <= 256, \"request id are encoded in wr_id and we need up to 8 requests ids per completion\");\n\n#define NCCL_IB_MAX_QPS 128\n\n// Per-QP connection metatdata\nstruct ncclIbQpInfo {\n  uint32_t qpn;\n\n  // Fields needed for ece (enhanced connection establishment)\n  struct ibv_ece ece;\n  int ece_supported;\n  int devIndex;\n};\n\n// Per-Dev connection metadata\nstruct ncclIbDevInfo {\n  uint32_t lid;\n  uint8_t ib_port;\n  enum ibv_mtu mtu;\n  uint8_t link_layer;\n\n  // For RoCE and IB Rounter\n  union ibv_gid gid;\n\n  // FIFO RDMA info\n  uint32_t fifoRkey;\n\n  //remote dev info\n  union ibv_gid remoteGid;\n\n  int ibv_dev_index;\n};\n\n// Struct containing everything needed to establish connections\nstruct ncclIbConnectionMetadata {\n  struct ncclIbQpInfo qpInfo[NCCL_IB_MAX_QPS];\n  struct ncclIbDevInfo devs[NCCL_IB_MAX_DEVS_PER_NIC];\n  char devName[MAX_MERGED_DEV_NAME];\n  uint64_t fifoAddr;\n  int ndevs;\n  int tc;\n  int sl;\n  int isP2p;\n};\n\nenum ncclIbCommState {\n  ncclIbCommStateStart = 0,\n  ncclIbCommStateConnect = 1,\n  ncclIbCommStateAccept = 3,\n  ncclIbCommStateSend = 4,\n  ncclIbCommStateRecv = 5,\n  ncclIbCommStateConnecting = 6,\n  ncclIbCommStateConnected = 7,\n  ncclIbCommStatePendingReady = 8,\n  ncclIbCommStateSendDevList = 9,\n  ncclIbCommStateRecvDevList = 10,\n};\n\nstruct ncclIbCommStage {\n  enum ncclIbCommState state;\n  int offset;\n  void* buffer;\n  void* comm;\n};\n\nstruct ncclIbHandle {\n  union ncclSocketAddress connectAddr; // Filled by the target\n  uint64_t magic; // random number to help debugging\n  int isP2p; // P2P flag\n  struct ncclIbCommStage stage; // Used by the other side when connecting\n};\n\n// Retain local RoCE address for error logging\nstruct ncclIbGidInfo {\n  uint8_t link_layer;\n  union ibv_gid localGid;\n  int32_t localGidIndex;\n};\n\n#define NCCL_NET_IB_REQ_UNUSED 0\n#define NCCL_NET_IB_REQ_SEND 1\n#define NCCL_NET_IB_REQ_RECV 2\n#define NCCL_NET_IB_REQ_FLUSH 3\nconst char* reqTypeStr[] = { \"Unused\", \"Send\", \"Recv\", \"Flush\" };\n\n#define MAX_QPS_PER_REQ 8\nstruct ncclProfilerInfo {\n  void* qpEventHandles[MAX_QPS_PER_REQ];\n  int qpIndex[MAX_QPS_PER_REQ];\n  int nEventHandles;\n  ncclProfilerNetIbDescr_v1_t data;\n  void* pHandle;\n};\n\nstruct ncclIbRequest {\n  struct ncclIbNetCommBase* base;\n  int type;\n  struct ncclSocket* sock;\n  int events[NCCL_IB_MAX_DEVS_PER_NIC];\n  struct ncclIbNetCommDevBase* devBases[NCCL_IB_MAX_DEVS_PER_NIC];\n#ifdef NCCL_ENABLE_NET_PROFILING\n  struct ncclProfilerInfo pInfo[NCCL_NET_IB_MAX_RECVS];\n#endif\n  int nreqs;\n  union {\n    struct {\n      int size;\n      void* data;\n      uint32_t lkeys[NCCL_IB_MAX_DEVS_PER_NIC];\n      int offset;\n    } send;\n    struct {\n      int* sizes;\n    } recv;\n  };\n};\n\nstruct ncclIbNetCommDevBase {\n  int ibDevN;\n  struct ibv_pd* pd;\n  struct ibv_cq* cq;\n  uint64_t pad[2];\n  struct ncclIbGidInfo gidInfo;\n};\n\nstruct ncclIbListenComm {\n  int dev;\n  struct ncclSocket sock;\n  struct ncclIbCommStage stage;\n};\n\nstruct alignas(64) ncclIbSendFifo {\n  uint64_t addr;\n  uint64_t size;\n  uint32_t rkeys[NCCL_IB_MAX_DEVS_PER_NIC];\n  uint32_t nreqs;\n  uint32_t tag;\n  uint64_t idx;\n  char padding[16];\n};\n\nstruct ncclIbQp {\n  struct ibv_qp* qp;\n  int devIndex;\n  int remDevIdx;\n};\n\nstruct ncclIbRemSizesFifo {\n  int elems[MAX_REQUESTS][NCCL_NET_IB_MAX_RECVS];\n  uint64_t fifoTail;\n  uint64_t addr;\n  uint32_t rkeys[NCCL_IB_MAX_DEVS_PER_NIC];\n  uint32_t flags;\n  struct ibv_mr* mrs[NCCL_IB_MAX_DEVS_PER_NIC];\n  struct ibv_sge sge;\n};\n\n// A per-dev struct for netIbSendComm\nstruct alignas(8) ncclIbSendCommDev {\n  struct ncclIbNetCommDevBase base;\n  struct ibv_mr* fifoMr;\n};\n\n\n// Wrapper to track an MR per-device, if needed\nstruct ncclIbMrHandle {\n  ibv_mr* mrs[NCCL_IB_MAX_DEVS_PER_NIC];\n};\n\nstruct alignas(32) ncclIbNetCommBase {\n  ncclNetVDeviceProps_t vProps;\n  bool isSend;\n  struct ncclIbRequest reqs[MAX_REQUESTS];\n  struct ncclIbQp qps[NCCL_IB_MAX_QPS];\n  int nqps;\n  int qpIndex;\n  int devIndex;\n  struct ncclSocket sock;\n  int ready;\n  // Track necessary remDevInfo here\n  int nRemDevs;\n  int nDataQps;\n  struct ncclIbDevInfo remDevs[NCCL_IB_MAX_DEVS_PER_NIC];\n  // statistics about the comm\n  struct ncclIbStats stats;\n};\n\nstruct ncclIbSendComm {\n  struct ncclIbNetCommBase base;\n  // Start with fifo and ibv structs as they have alignment restrictions\n  struct ncclIbSendFifo fifo[MAX_REQUESTS][NCCL_NET_IB_MAX_RECVS];\n  struct ibv_sge sges[NCCL_NET_IB_MAX_RECVS];\n  struct ibv_send_wr wrs[NCCL_NET_IB_MAX_RECVS + 1];\n  // Each dev correlates to a mergedIbDev\n  struct ncclIbSendCommDev devs[NCCL_IB_MAX_DEVS_PER_NIC];\n  struct ncclIbRequest* fifoReqs[MAX_REQUESTS][NCCL_NET_IB_MAX_RECVS];\n  struct ncclIbRemSizesFifo remSizesFifo;\n  uint64_t fifoHead;\n  int ar; // Use adaptive routing when all merged devices have it enabled\n};\n// The SendFifo needs to be 32-byte aligned and each element needs\n// to be a 32-byte multiple, so that an entry does not get split and\n// written out of order when IB Relaxed Ordering is enabled\nstatic_assert((sizeof(struct ncclIbNetCommBase) % 32) == 0, \"ncclIbNetCommBase size must be 32-byte multiple to ensure fifo is at proper offset\");\nstatic_assert((offsetof(struct ncclIbSendComm, fifo) % 32) == 0, \"ncclIbSendComm fifo must be 32-byte aligned\");\nstatic_assert((sizeof(struct ncclIbSendFifo) % 32) == 0, \"ncclIbSendFifo element size must be 32-byte multiples\");\nstatic_assert((offsetof(struct ncclIbSendComm, sges) % 32) == 0, \"sges must be 32-byte aligned\");\nstatic_assert((offsetof(struct ncclIbSendComm, wrs) % 32) == 0, \"wrs must be 32-byte aligned\");\n\nstruct ncclIbGpuFlush {\n  struct ibv_mr* hostMr;\n  struct ibv_mr* gpuMr;\n  int* gpuFlushGpuMem;\n  struct ibv_sge sge;\n  struct ncclIbQp qp;\n  int dmabuf_fd;\n};\n\nstruct ncclIbRemFifo {\n  struct ncclIbSendFifo elems[MAX_REQUESTS][NCCL_NET_IB_MAX_RECVS];\n  uint64_t fifoTail;\n  uint64_t addr;\n  uint32_t flags;\n};\n\nstruct alignas(16) ncclIbRecvCommDev {\n  struct ncclIbNetCommDevBase base;\n  struct ncclIbGpuFlush gpuFlush;\n  struct ibv_mr* fifoMr;\n  struct ibv_sge fifoSge;\n  struct ibv_mr* sizesFifoMr;\n};\n\nstruct ncclIbRecvComm {\n  struct ncclIbNetCommBase base;\n  struct ncclIbRecvCommDev devs[NCCL_IB_MAX_DEVS_PER_NIC];\n  struct ncclIbRemFifo remFifo;\n  int sizesFifo[MAX_REQUESTS][NCCL_NET_IB_MAX_RECVS];\n  int gpuFlushHostMem;\n  int flushEnabled;\n};\nstatic_assert((offsetof(struct ncclIbRecvComm, remFifo) % 32) == 0, \"ncclIbRecvComm fifo must be 32-byte aligned\");\n\nstatic void ncclIbAddEvent(struct ncclIbRequest* req, int devIndex, struct ncclIbNetCommDevBase* base) {\n  req->events[devIndex]++;\n  req->devBases[devIndex] = base;\n}\nncclResult_t ncclIbInitCommDevBase(int ibDevN, struct ncclIbNetCommDevBase* base, void* cq_context) {\n  base->ibDevN = ibDevN;\n  ncclIbDev* ibDev = ncclIbDevs + ibDevN;\n  {\n    std::lock_guard<std::mutex> lock(ibDev->mutex);\n    if (0 == ibDev->pdRefs++) {\n      NCCLCHECK(wrap_ibv_alloc_pd(&ibDev->pd, ibDev->context));\n    }\n    base->pd = ibDev->pd;\n  }\n\n  // CQ is sized to accommodate the max SQ + RQ WQE completions. If each SQ WQE could be signaled, then,\n  // for each QP, there can be 2*MAX_REQUESTS completions for SQ and MAX_REQUESTS completions for RQ. \n  NCCLCHECK(wrap_ibv_create_cq(&base->cq, ibDev->context, 3*MAX_REQUESTS*ncclParamIbQpsPerConn(), cq_context, NULL, 0));\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclIbDestroyBase(struct ncclIbNetCommDevBase* base) {\n  NCCLCHECK(wrap_ibv_destroy_cq(base->cq));\n\n  std::lock_guard<std::mutex> lock(ncclIbDevs[base->ibDevN].mutex);\n  if (0 == --ncclIbDevs[base->ibDevN].pdRefs) {\n    NCCLCHECK(wrap_ibv_dealloc_pd(ncclIbDevs[base->ibDevN].pd));\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclIbCreateQp(uint8_t ib_port, struct ncclIbNetCommDevBase* base, int access_flags, void* qp_context, struct ncclIbQp* qp) {\n  struct ibv_qp_init_attr qpInitAttr;\n  memset(&qpInitAttr, 0, sizeof(struct ibv_qp_init_attr));\n  qpInitAttr.qp_context = qp_context;\n  qpInitAttr.send_cq = base->cq;\n  qpInitAttr.recv_cq = base->cq;\n  qpInitAttr.qp_type = IBV_QPT_RC;\n  // We might send 2 messages per send (RDMA and RDMA_WITH_IMM)\n  qpInitAttr.cap.max_send_wr = 2*MAX_REQUESTS;\n  qpInitAttr.cap.max_recv_wr = MAX_REQUESTS;\n  qpInitAttr.cap.max_send_sge = 1;\n  qpInitAttr.cap.max_recv_sge = 1;\n  qpInitAttr.cap.max_inline_data = ncclParamIbUseInline() ? sizeof(struct ncclIbSendFifo) : 0;\n  NCCLCHECK(wrap_ibv_create_qp(&qp->qp, base->pd, &qpInitAttr));\n  struct ibv_qp_attr qpAttr;\n  memset(&qpAttr, 0, sizeof(struct ibv_qp_attr));\n  qpAttr.qp_state = IBV_QPS_INIT;\n  qpAttr.pkey_index = ncclParamIbPkey();\n  qpAttr.port_num = ib_port;\n  qpAttr.qp_access_flags = access_flags;\n  NCCLCHECK(wrap_ibv_modify_qp(qp->qp, &qpAttr, IBV_QP_STATE | IBV_QP_PKEY_INDEX | IBV_QP_PORT | IBV_QP_ACCESS_FLAGS));\n  TRACE(NCCL_NET, \"NET/IB : ncclIbCreateQp port=%d dev=%d devName=%s ndevs=%d nmdevs=%d qpn=%u pkey=%u pd=%p\",\n    ib_port, base->ibDevN, ncclIbDevs[base->ibDevN].devName, ncclNIbDevs, ncclNMergedIbDevs, qp->qp->qp_num, qpAttr.pkey_index, base->pd);\n  return ncclSuccess;\n}\n\nncclResult_t ncclIbRtrQp(struct ibv_qp* qp, struct ncclIbGidInfo* sGidInfo, uint32_t dest_qp_num, struct ncclIbDevInfo* info, bool fifoTc, int tc, int sl) {\n  struct ibv_qp_attr qpAttr;\n  memset(&qpAttr, 0, sizeof(struct ibv_qp_attr));\n  qpAttr.qp_state = IBV_QPS_RTR;\n  qpAttr.path_mtu = info->mtu;\n  qpAttr.dest_qp_num = dest_qp_num;\n  qpAttr.rq_psn = 0;\n  qpAttr.max_dest_rd_atomic = 1;\n  qpAttr.min_rnr_timer = 12;\n  if (info->link_layer == IBV_LINK_LAYER_ETHERNET) {\n    qpAttr.ah_attr.is_global = 1;\n    qpAttr.ah_attr.grh.dgid.global.subnet_prefix = info->gid.global.subnet_prefix;\n    qpAttr.ah_attr.grh.dgid.global.interface_id = info->gid.global.interface_id;\n    qpAttr.ah_attr.grh.flow_label = 0;\n    qpAttr.ah_attr.grh.sgid_index = sGidInfo->localGidIndex;\n    qpAttr.ah_attr.grh.hop_limit = 255;\n    qpAttr.ah_attr.grh.traffic_class = fifoTc && ncclParamIbFifoTc() != -1 ? ncclParamIbFifoTc() : tc;\n  } else {\n    //pick lid if subnet prefixs are same, FLID if they are not\n    if (ncclIbExtractLocalSubnetPrefix(sGidInfo->localGid.global.subnet_prefix) ==\n        ncclIbExtractLocalSubnetPrefix(info->gid.global.subnet_prefix)) {\n        qpAttr.ah_attr.is_global = 0;\n        qpAttr.ah_attr.dlid = info->lid;\n    } else {\n  uint16_t flid = ncclIbExtractFlid(&info->gid);\n        if (flid == 0) {\n          WARN(\"Warning: remote FLID configured as zero even when endpoints are on different subnets, using dlid as fallback\");\n          qpAttr.ah_attr.dlid = info->lid;\n  } else {\n          qpAttr.ah_attr.dlid = ncclIbExtractFlid(&info->gid);\n  }\n        qpAttr.ah_attr.is_global = 1;\n        qpAttr.ah_attr.grh.dgid.global.subnet_prefix = info->gid.global.subnet_prefix;\n        qpAttr.ah_attr.grh.dgid.global.interface_id = info->gid.global.interface_id;\n        qpAttr.ah_attr.grh.sgid_index = sGidInfo->localGidIndex;\n  qpAttr.ah_attr.grh.hop_limit = 255;\n    }\n  }\n  qpAttr.ah_attr.sl = sl;\n  qpAttr.ah_attr.src_path_bits = 0;\n  qpAttr.ah_attr.port_num = info->ib_port;\n  TRACE(NCCL_NET, \"NET/IB : ncclIbRtrQp qpn=%u mtu=%d dst=%u ll=%u port=%u sl: %d tc: %d\", qp->qp_num, info->mtu, dest_qp_num, info->link_layer, info->ib_port, qpAttr.ah_attr.sl, qpAttr.ah_attr.grh.traffic_class);\n  NCCLCHECK(wrap_ibv_modify_qp(qp, &qpAttr, IBV_QP_STATE | IBV_QP_AV | IBV_QP_PATH_MTU | IBV_QP_DEST_QPN | IBV_QP_RQ_PSN | IBV_QP_MAX_DEST_RD_ATOMIC | IBV_QP_MIN_RNR_TIMER));\n  return ncclSuccess;\n}\n\nncclResult_t ncclIbRtsQp(struct ibv_qp* qp) {\n  struct ibv_qp_attr qpAttr;\n  memset(&qpAttr, 0, sizeof(struct ibv_qp_attr));\n  qpAttr.qp_state = IBV_QPS_RTS;\n  qpAttr.timeout = ncclParamIbTimeout();\n  qpAttr.retry_cnt = ncclParamIbRetryCnt();\n  qpAttr.rnr_retry = 7;\n  qpAttr.sq_psn = 0;\n  qpAttr.max_rd_atomic = 1;\n  NCCLCHECK(wrap_ibv_modify_qp(qp, &qpAttr, IBV_QP_STATE | IBV_QP_TIMEOUT | IBV_QP_RETRY_CNT | IBV_QP_RNR_RETRY | IBV_QP_SQ_PSN | IBV_QP_MAX_QP_RD_ATOMIC));\n  return ncclSuccess;\n}\n\nncclResult_t ncclIbListen(void* ctx, int dev, void* opaqueHandle, void** listenComm) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclIbListenComm* comm;\n  NCCLCHECK(ncclCalloc(&comm, 1));\n  struct ncclIbHandle* handle = (struct ncclIbHandle*) opaqueHandle;\n  static_assert(sizeof(struct ncclIbHandle) < NCCL_NET_HANDLE_MAXSIZE, \"ncclIbHandle size too large\");\n  memset(handle, 0, sizeof(struct ncclIbHandle));\n  comm->dev = dev;\n  handle->magic = NCCL_SOCKET_MAGIC;\n  NCCLCHECKGOTO(ncclSocketInit(&comm->sock, &ncclIbIfAddr, handle->magic, ncclSocketTypeNetIb, NULL, 1), ret, fail);\n  NCCLCHECKGOTO(ncclSocketListen(&comm->sock), ret, fail);\n  NCCLCHECKGOTO(ncclSocketGetAddr(&comm->sock, &handle->connectAddr), ret, fail);\n  *listenComm = comm;\nexit:\n  return ret;\nfail:\n  (void)ncclSocketClose(&comm->sock);\n  free(comm);\n  goto exit;\n}\n\nncclResult_t ncclIbConnect(void* ctx, int dev, void* opaqueHandle, void** sendComm, ncclNetDeviceHandle_t** /*sendDevComm*/) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclIbHandle* handle = (struct ncclIbHandle*) opaqueHandle;\n  struct ncclIbCommStage* stage = &handle->stage;\n  struct ncclIbSendComm* comm = (struct ncclIbSendComm*)stage->comm;\n  int ready;\n  uint8_t link_layer = IBV_LINK_LAYER_UNSPECIFIED;\n  int isP2p = 0; \n  *sendComm = NULL;\n\n  if (stage->state == ncclIbCommStateConnect)      goto ib_connect_check;\n  if (stage->state == ncclIbCommStateSendDevList)  goto ib_send_dev_list;\n  if (stage->state == ncclIbCommStateRecvDevList)  goto ib_recv_dev_list;\n  if (stage->state == ncclIbCommStateSend)         goto ib_send;\n  if (stage->state == ncclIbCommStateConnecting)   goto ib_connect;\n  if (stage->state == ncclIbCommStateConnected)    goto ib_send_ready;\n  if (stage->state != ncclIbCommStateStart) {\n    WARN(\"Error: trying to connect already connected sendComm\");\n    return ncclInternalError;\n  }\n  stage->buffer = NULL;\n\n  NCCLCHECK(ncclIbMalloc((void**)&comm, sizeof(struct ncclIbSendComm)));\n  NCCLCHECKGOTO(ncclIbStatsInit(&comm->base.stats), ret, fail);\n  NCCLCHECKGOTO(ncclSocketInit(&comm->base.sock, &handle->connectAddr, handle->magic, ncclSocketTypeNetIb, NULL, 1), ret, fail);\n  stage->comm = comm;\n  stage->state = ncclIbCommStateConnect;\n  NCCLCHECKGOTO(ncclSocketConnect(&comm->base.sock), ret, fail);\n\nib_connect_check:\n  /* since ncclSocketConnect is async, we must check if connection is complete */\n  NCCLCHECKGOTO(ncclSocketReady(&comm->base.sock, &ready), ret, fail);\n  if (!ready) return ncclSuccess;\n\n  // IB Setup\n  struct ncclIbMergedDev* mergedDev;\n  if (dev >= ncclNMergedIbDevs) {\n    WARN(\"NET/IB : Trying to use non-existent virtual device %d\", dev);\n    return ncclInternalError;\n  }\n\n  mergedDev = ncclIbMergedDevs + dev;\n  comm->base.vProps = mergedDev->vProps;\n  comm->base.isSend = true;\n  stage->state = ncclIbCommStateSendDevList;\n  stage->offset = 0;\n  struct ncclIbConnectionMetadata meta;\n  NCCLCHECKGOTO(ncclIbMalloc((void**)&stage->buffer, sizeof(meta)), ret, fail);\n  memcpy(stage->buffer, &mergedDev->vProps, sizeof(ncclNetVDeviceProps_t));\n\n// In the case of mismatched nDevs, we will make sure that both sides of a logical connection have the same number of RC qps\nib_send_dev_list:\n  NCCLCHECK(ncclSocketProgress(NCCL_SOCKET_SEND, &comm->base.sock, stage->buffer, sizeof(ncclNetVDeviceProps_t), &stage->offset));\n  if (stage->offset != sizeof(ncclNetVDeviceProps_t)) return ncclSuccess;\n\n  stage->state = ncclIbCommStateRecvDevList;\n  stage->offset = 0;\n\nib_recv_dev_list:\n  NCCLCHECK(ncclSocketProgress(NCCL_SOCKET_RECV, &comm->base.sock, stage->buffer, sizeof(ncclNetVDeviceProps_t), &stage->offset));\n  if (stage->offset != sizeof(ncclNetVDeviceProps_t)) return ncclSuccess;\n  stage->offset = 0;\n  ncclNetVDeviceProps_t remoteVProps;\n  ncclNetCommConfig_t* config;\n  memcpy(&remoteVProps, stage->buffer, sizeof(ncclNetVDeviceProps_t));\n  mergedDev = ncclIbMergedDevs + dev;\n  comm->base.vProps = mergedDev->vProps;\n\n  // Read isP2p from handle\n  isP2p = handle->isP2p;\n  INFO(NCCL_NET, \"NET/IB: ncclIbConnect isP2p=%d\", isP2p);\n  comm->base.nqps = ncclIbCalculateNqps(isP2p, comm->base.vProps.ndevs, \n                                         remoteVProps.ndevs, __func__);\n\n  // Init PD, Ctx for each IB device\n  comm->ar = 1; // Set to 1 for logic\n  for (int i = 0; i < comm->base.vProps.ndevs; i++) {\n    int ibDevN = comm->base.vProps.devs[i];\n    NCCLCHECKGOTO(ncclIbInitCommDevBase(ibDevN, &comm->devs[i].base, &comm->base.stats), ret, fail);\n    comm->ar = comm->ar && ncclIbDevs[ibDevN].ar; // ADAPTIVE_ROUTING - if all merged devs have it enabled\n  }\n\n  memset(&meta, 0, sizeof(meta));\n  meta.ndevs = comm->base.vProps.ndevs;\n  meta.isP2p = isP2p;\n  // Alternate QPs between devices\n  int devIndex;\n  devIndex = 0;\n  for (int q = 0; q < comm->base.nqps; q++) {\n    ncclIbSendCommDev* commDev = comm->devs + devIndex;\n    ncclIbDev* ibDev = ncclIbDevs + commDev->base.ibDevN;\n    NCCLCHECKGOTO(ncclIbCreateQp(ibDev->portNum, &commDev->base, IBV_ACCESS_REMOTE_WRITE, &comm->base.stats, comm->base.qps + q), ret, fail);\n    comm->base.qps[q].devIndex = devIndex;\n    meta.qpInfo[q].qpn      = comm->base.qps[q].qp->qp_num;\n    meta.qpInfo[q].devIndex = comm->base.qps[q].devIndex;\n\n    if (ncclParamIbEceEnable()) {\n      // Query ece capabilities (enhanced connection establishment)\n      NCCLCHECKGOTO(wrap_ibv_query_ece(comm->base.qps[q].qp, &meta.qpInfo[q].ece, &meta.qpInfo[q].ece_supported), ret, fail);\n    } else {\n      meta.qpInfo[q].ece_supported = 0;\n    }\n    devIndex = (devIndex + 1) % comm->base.vProps.ndevs;\n  }\n\n  for (int i = 0; i < comm->base.vProps.ndevs; i++) {\n    ncclIbSendCommDev* commDev = comm->devs + i;\n    ncclIbDev* ibDev = ncclIbDevs + commDev->base.ibDevN;\n\n    // Write to the metadata struct via this pointer\n    ncclIbDevInfo* devInfo = meta.devs + i;\n    devInfo->ib_port       = ibDev->portNum;\n    devInfo->mtu           = ibDev->portAttr.active_mtu;\n    devInfo->lid           = ibDev->portAttr.lid;\n    devInfo->ibv_dev_index = commDev->base.ibDevN;\n    // Prepare my fifo\n    NCCLCHECKGOTO(wrap_ibv_reg_mr(&commDev->fifoMr, commDev->base.pd, comm->fifo, sizeof(struct ncclIbSendFifo)*MAX_REQUESTS*NCCL_NET_IB_MAX_RECVS, IBV_ACCESS_LOCAL_WRITE|IBV_ACCESS_REMOTE_WRITE|IBV_ACCESS_REMOTE_READ), ret, fail);\n    devInfo->fifoRkey = commDev->fifoMr->rkey;\n\n    // Pack local GID info\n    devInfo->link_layer = commDev->base.gidInfo.link_layer = ibDev->portAttr.link_layer;\n    NCCLCHECKGOTO(ncclIbGetGidIndex(ibDev->context, ibDev->portNum, &ibDev->portAttr, &commDev->base.gidInfo.localGidIndex), ret, fail);\n    NCCLCHECKGOTO(wrap_ibv_query_gid(ibDev->context, ibDev->portNum, commDev->base.gidInfo.localGidIndex, &commDev->base.gidInfo.localGid), ret, fail);\n    devInfo->gid.global.subnet_prefix = commDev->base.gidInfo.localGid.global.subnet_prefix;\n    devInfo->gid.global.interface_id = commDev->base.gidInfo.localGid.global.interface_id;\n\n    // info logging\n    for (int q = 0; q < comm->base.nqps; q++) {\n      // Print just the QPs for this dev\n      if (comm->base.qps[q].devIndex == i) {\n        if (devInfo->link_layer == IBV_LINK_LAYER_INFINIBAND) { // IB\n          INFO(NCCL_NET,\"NET/IB: %s %d IbDev %d Port %d qpn %d mtu %d LID %d subnet-prefix %lu  FLID %d fifoRkey=0x%x fifoLkey=0x%x\",\n               comm->base.vProps.ndevs > 2 ? \"NCCL MergedDev\" : \"NCCL Dev\",\n               dev, commDev->base.ibDevN, ibDev->portNum, meta.qpInfo[q].qpn, devInfo->mtu, devInfo->lid,\n               devInfo->gid.global.subnet_prefix, ncclIbExtractFlid(&devInfo->gid), devInfo->fifoRkey, commDev->fifoMr->lkey);\n        } else { // RoCE\n          INFO(NCCL_NET,\"NET/IB: %s %d IbDev %d Port %d qpn %d mtu %d GID %ld (%lX/%lX) fifoRkey=0x%x fifoLkey=0x%x\",\n               comm->base.vProps.ndevs > 2 ? \"NCCL MergedDev\" : \"NCCL Dev\", dev,\n               commDev->base.ibDevN, ibDev->portNum, meta.qpInfo[q].qpn, devInfo->mtu,\n               (int64_t)commDev->base.gidInfo.localGidIndex,\n               devInfo->gid.global.subnet_prefix, devInfo->gid.global.interface_id, devInfo->fifoRkey, commDev->fifoMr->lkey);\n        }\n        // Log ECE info\n        if (meta.qpInfo[q].ece_supported) {\n          INFO(NCCL_NET,\"NET/IB: IbDev %d Port %d qpn %d query_ece={supported=%d, vendor_id=0x%x, options=0x%x, comp_mask=0x%x}\",\n               commDev->base.ibDevN, ibDev->portNum, meta.qpInfo[q].qpn,\n               meta.qpInfo[q].ece_supported, meta.qpInfo[q].ece.vendor_id, meta.qpInfo[q].ece.options, meta.qpInfo[q].ece.comp_mask);\n        }\n      }\n    }\n    if (link_layer == IBV_LINK_LAYER_UNSPECIFIED) link_layer = devInfo->link_layer;\n    if (link_layer != devInfo->link_layer) {\n      int ibDev0 = comm->devs[0].base.ibDevN;\n      WARN(\"NET/IB : Attempted to connect incompatible devices: [%d]%s:%d/%s and [%d]%s:%d/%s. Try selecting NICs of only one link type using NCCL_IB_HCA\",\n           commDev->base.ibDevN, ibDev->devName, ibDev->portNum, NCCL_IB_LLSTR(ibDev->portAttr.link_layer), ibDev0, ncclIbDevs[ibDev0].devName, ncclIbDevs[ibDev0].portNum, NCCL_IB_LLSTR(link_layer));\n      return ncclInternalError;\n    }\n  }\n  config = (ncclNetCommConfig_t*)ctx;\n  meta.fifoAddr = (uint64_t)comm->fifo;\n  meta.sl = (ncclParamIbSl() != -1) ? ncclParamIbSl() : (config && config->trafficClass != NCCL_NET_TRAFFIC_CLASS_UNDEF) ? config->trafficClass : NCCL_IB_SL_DEFAULT;\n  meta.tc = (ncclParamIbTc() != -1) ? ncclParamIbTc() : (config && config->trafficClass != NCCL_NET_TRAFFIC_CLASS_UNDEF) ? config->trafficClass : NCCL_IB_TC_DEFAULT;\n  strncpy(meta.devName, mergedDev->devName, MAX_MERGED_DEV_NAME);\n\n  stage->state = ncclIbCommStateSend;\n  stage->offset = 0;\n\n  memcpy(stage->buffer, &meta, sizeof(meta));\n\nib_send:\n  NCCLCHECKGOTO(ncclSocketProgress(NCCL_SOCKET_SEND, &comm->base.sock, stage->buffer, sizeof(meta), &stage->offset), ret, fail);\n  if (stage->offset != sizeof(meta)) return ncclSuccess;\n\n  stage->state = ncclIbCommStateConnecting;\n  stage->offset = 0;\n  // Clear the staging buffer for re-use\n  memset(stage->buffer, 0, sizeof(meta));\n\nib_connect:\n  struct ncclIbConnectionMetadata remMeta;\n  NCCLCHECKGOTO(ncclSocketProgress(NCCL_SOCKET_RECV, &comm->base.sock, stage->buffer, sizeof(ncclIbConnectionMetadata), &stage->offset), ret, fail);\n  if (stage->offset != sizeof(remMeta)) return ncclSuccess;\n\n  memcpy(&remMeta, stage->buffer, sizeof(ncclIbConnectionMetadata));\n\n  comm->base.nRemDevs = remMeta.ndevs;\n\n  // ensure that the remote devices have the same link layer than the local devices used in the connection.\n  if (comm->base.vProps.ndevs > 0) {\n    int ibDev0 = comm->devs[0].base.ibDevN;\n    link_layer = ncclIbDevs[ibDev0].portAttr.link_layer;\n    for (int i = 0; i < remMeta.ndevs; i++) {\n      if (remMeta.devs[i].link_layer != link_layer) {\n        WARN(\"NET/IB : Remote %s device is incompatible with the local [%d]%s:%d/%s. Try selecting NICs of only one link type using NCCL_IB_HCA\",\n             NCCL_IB_LLSTR(remMeta.devs[i].link_layer), ibDev0, ncclIbDevs[ibDev0].devName, ncclIbDevs[ibDev0].portNum, NCCL_IB_LLSTR(link_layer));\n        return ncclInternalError;\n      }\n    }\n  }\n\n  // Copy remDevInfo for things like remGidInfo, remFifoAddr, etc.\n  for (int i = 0; i < remMeta.ndevs; i++) {\n    comm->base.remDevs[i] = remMeta.devs[i];\n    comm->base.remDevs[i].remoteGid.global.interface_id = comm->base.remDevs[i].gid.global.interface_id;\n    comm->base.remDevs[i].remoteGid.global.subnet_prefix = comm->base.remDevs[i].gid.global.subnet_prefix;\n    // Retain remote sizes fifo info and prepare RDMA ops\n    comm->remSizesFifo.rkeys[i] = remMeta.devs[i].fifoRkey;\n    comm->remSizesFifo.addr = remMeta.fifoAddr;\n  }\n\n  for (int i=0; i < comm->base.vProps.ndevs; i++) {\n    NCCLCHECKGOTO(wrap_ibv_reg_mr(comm->remSizesFifo.mrs+i, comm->devs[i].base.pd, &comm->remSizesFifo.elems, sizeof(int)*MAX_REQUESTS*NCCL_NET_IB_MAX_RECVS, IBV_ACCESS_REMOTE_WRITE|IBV_ACCESS_LOCAL_WRITE|IBV_ACCESS_REMOTE_READ), ret, fail);\n  }\n  comm->base.nRemDevs = remMeta.ndevs;\n\n  for (int q = 0; q < comm->base.nqps; q++) {\n    struct ncclIbQpInfo* remQpInfo   = remMeta.qpInfo + q;\n    struct ncclIbDevInfo* remDevInfo = remMeta.devs + remQpInfo->devIndex;\n\n    // Assign per-QP remDev\n    comm->base.qps[q].remDevIdx = remQpInfo->devIndex;\n    int devIndex = comm->base.qps[q].devIndex;\n    ncclIbSendCommDev* commDev = comm->devs + devIndex;\n\n    struct ibv_qp* qp = comm->base.qps[q].qp;\n    if (remQpInfo->ece_supported) {\n      struct ncclIbQp* nqp = comm->base.qps + q;\n      int ibDevN = comm->devs[nqp->devIndex].base.ibDevN;\n      struct ncclIbDev* ibDev = ncclIbDevs + ibDevN;\n      INFO(NCCL_NET,\"NET/IB: IbDev %d Port %d qpn %d set_ece={supported=%d, vendor_id=0x%x, options=0x%x, comp_mask=0x%x}\",\n        ibDevN, ibDev->portNum, qp->qp_num, remMeta.qpInfo[q].ece_supported, remMeta.qpInfo[q].ece.vendor_id, remMeta.qpInfo[q].ece.options, remMeta.qpInfo[q].ece.comp_mask);\n      NCCLCHECKGOTO(wrap_ibv_set_ece(qp, &remQpInfo->ece, &remQpInfo->ece_supported), ret, fail);\n    }\n\n    ncclIbDev* ibDev = ncclIbDevs + commDev->base.ibDevN;\n    remDevInfo->mtu = std::min(remDevInfo->mtu, ibDev->portAttr.active_mtu);\n    NCCLCHECKGOTO(ncclIbRtrQp(qp, &commDev->base.gidInfo, remQpInfo->qpn, remDevInfo, false, remMeta.tc, remMeta.sl), ret, fail);\n    NCCLCHECKGOTO(ncclIbRtsQp(qp), ret, fail);\n  }\n\n  comm->base.nDataQps = std::max(comm->base.vProps.ndevs, comm->base.nRemDevs);\n\n  comm->base.ready = 1;\n  stage->state = ncclIbCommStateConnected;\n  stage->offset = 0;\n\nib_send_ready:\n  NCCLCHECKGOTO(ncclSocketProgress(NCCL_SOCKET_SEND, &comm->base.sock, &comm->base.ready, sizeof(int), &stage->offset), ret, fail);\n  if (stage->offset != sizeof(int)) return ncclSuccess;\n\n  *sendComm = comm;\nexit:\n  if (stage->buffer) free(stage->buffer);\n  stage->state = ncclIbCommStateStart;\n  return ret;\nfail:\n  free(comm);\n  goto exit;\n}\n\nNCCL_PARAM(IbWarnRailLocal, \"IB_WARN_RAIL_LOCAL\", 0);\n\nncclResult_t ncclIbCheckVProps(ncclNetVDeviceProps_t* vProps1, ncclNetVDeviceProps_t* vProps2) {\n  ncclNetVDeviceProps_t  outVProps = {0};\n  ncclNetVDeviceProps_t* minVProps = vProps2;\n  ncclNetVDeviceProps_t* maxVProps = vProps1;\n  if (vProps2->ndevs > vProps1->ndevs) {\n    minVProps = vProps1;\n    maxVProps = vProps2;\n  }\n\n  // Find the intersection of devices\n  for (int i = 0; i < minVProps->ndevs; i++) {\n    int dev = minVProps->devs[i];\n    for (int j = 0; j < maxVProps->ndevs; j++) {\n      // Found\n      if (maxVProps->devs[j] == dev) {\n        outVProps.devs[outVProps.ndevs++] = dev;\n      }\n    }\n  }\n\n  // In the case that at least one side has a fused NIC but there are no matching physical NICs, we should check if the user wants this\n  if (ncclParamIbWarnRailLocal() && outVProps.ndevs < maxVProps->ndevs) {\n    char local[128];\n    int cursor = 1;\n    snprintf(local, sizeof(local), \"%d\", vProps1->devs[0]);\n    for (int i = 1; i < vProps1->ndevs; i++) {\n      snprintf(local+cursor, sizeof(local)-cursor, \",%d\", vProps1->devs[i]);\n      cursor += 2;\n    }\n    char remote[128];\n    snprintf(remote, sizeof(remote), \"%d\", vProps2->devs[0]);\n    cursor = 1;\n    for (int i = 1; i < vProps2->ndevs; i++) {\n      snprintf(remote+cursor, sizeof(remote)-cursor, \",%d\", vProps2->devs[i]);\n      cursor += 2;\n    }\n    INFO(NCCL_NET, \"NET/IB : There are mismatched physical devices between local (%s) and remote (%s). To disable this warning, set NCCL_IB_WARN_RAIL_LOCAL=0\", local, remote);\n  }\n\n  return ncclSuccess;\n}\n\nNCCL_PARAM(IbGdrFlushDisable, \"GDR_FLUSH_DISABLE\", 0);\nRCCL_PARAM(IbGdrFlushGpuMemNoRelaxedOrdering, \"GDR_FLUSH_GPU_MEM_NO_RELAXED_ORDERING\", 1);\n\nncclResult_t ncclIbAccept(void* listenComm, void** recvComm, ncclNetDeviceHandle_t** /*recvDevComm*/) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclIbListenComm* lComm = (struct ncclIbListenComm*)listenComm;\n  struct ncclIbCommStage* stage = &lComm->stage;\n  struct ncclIbRecvComm* rComm = (struct ncclIbRecvComm*)stage->comm;\n  int ready;\n  int link_layer = IBV_LINK_LAYER_UNSPECIFIED;\n  *recvComm = NULL;\n\n  if (stage->state == ncclIbCommStateAccept)   goto ib_accept_check;\n  if (stage->state == ncclIbCommStateRecvDevList) goto ib_recv_dev_list;\n  if (stage->state == ncclIbCommStateSendDevList) goto ib_send_dev_list;\n  if (stage->state == ncclIbCommStateRecv) goto ib_recv;\n  if (stage->state == ncclIbCommStateSend) goto ib_send;\n  if (stage->state == ncclIbCommStatePendingReady) goto ib_recv_ready;\n  if (stage->state != ncclIbCommStateStart) {\n    WARN(\"Listencomm in unknown state %d\", stage->state);\n    return ncclInternalError;\n  }\n\n  NCCLCHECK(ncclIbMalloc((void**)&rComm, sizeof(struct ncclIbRecvComm)));\n  NCCLCHECKGOTO(ncclIbStatsInit(&rComm->base.stats), ret, fail);\n  stage->comm = rComm;\n  stage->state = ncclIbCommStateAccept;\n  NCCLCHECKGOTO(ncclSocketInit(&rComm->base.sock), ret, fail);\n  NCCLCHECKGOTO(ncclSocketAccept(&rComm->base.sock, &lComm->sock), ret, fail);\n\n  // Alloc stage->buffer here to be used for all following steps\n  struct ncclIbConnectionMetadata remMeta;\n  stage->offset = 0;\n  NCCLCHECK(ncclIbMalloc((void**)&stage->buffer, sizeof(remMeta)));\n\nib_accept_check:\n  NCCLCHECKGOTO(ncclSocketReady(&rComm->base.sock, &ready), ret, fail);\n  if (!ready) return ncclSuccess;\n  stage->state = ncclIbCommStateRecvDevList;\n  stage->offset = 0;\n\n// In the case of mismatched nDevs, we will make sure that both sides of a logical connection have the same number of RC qps\nib_recv_dev_list:\n  NCCLCHECK(ncclSocketProgress(NCCL_SOCKET_RECV, &rComm->base.sock, stage->buffer, sizeof(ncclNetVDeviceProps_t), &stage->offset));\n  if (stage->offset != sizeof(ncclNetVDeviceProps_t)) return ncclSuccess;\n  ncclNetVDeviceProps_t remoteVProps;\n  memcpy(&remoteVProps, stage->buffer, sizeof(ncclNetVDeviceProps_t));\n  if (lComm->dev >= ncclNMergedIbDevs) {\n    WARN(\"NET/IB : Trying to use non-existent virtual device %d\", lComm->dev);\n    return ncclInternalError;\n  }\n\n  // Reduce the physical device list and store in the connection base\n  struct ncclIbMergedDev* mergedDev;\n  mergedDev = ncclIbMergedDevs + lComm->dev;\n  NCCLCHECK(ncclIbCheckVProps(&mergedDev->vProps, &remoteVProps));\n  rComm->base.vProps = mergedDev->vProps;\n  memcpy(stage->buffer, &rComm->base.vProps, sizeof(ncclNetVDeviceProps_t));\n  rComm->base.isSend = false;\n  stage->offset = 0;\n  stage->state = ncclIbCommStateSendDevList;\n\nib_send_dev_list:\n  NCCLCHECKGOTO(ncclSocketProgress(NCCL_SOCKET_SEND, &rComm->base.sock, stage->buffer, sizeof(ncclNetVDeviceProps_t), &stage->offset), ret, fail);\n  if (stage->offset != sizeof(ncclNetVDeviceProps_t)) return ncclSuccess;\n\n  stage->offset = 0;\n  stage->state = ncclIbCommStateRecv;\n\nib_recv:\n  NCCLCHECKGOTO(ncclSocketProgress(NCCL_SOCKET_RECV, &rComm->base.sock, stage->buffer, sizeof(remMeta), &stage->offset), ret, fail);\n  if (stage->offset != sizeof(remMeta)) return ncclSuccess;\n\n  /* copy back the received info */\n  memcpy(&remMeta, stage->buffer, sizeof(struct ncclIbConnectionMetadata));\n\n  // IB setup\n  // Pre-declare variables because of goto\n  struct ncclIbDev* ibDev;\n  int ibDevN;\n  struct ncclIbRecvCommDev* rCommDev;\n  struct ncclIbDevInfo* remDevInfo;\n  struct ncclIbQp* qp;\n  bool useDmaBuf;\n\n  mergedDev = ncclIbMergedDevs + lComm->dev;\n  rComm->base.nRemDevs = remMeta.ndevs;\n  rComm->base.nqps = ncclIbCalculateNqps(remMeta.isP2p, rComm->base.vProps.ndevs, \n                                          remMeta.ndevs, __func__);\n  if (rComm->base.nRemDevs != rComm->base.vProps.ndevs) {\n    INFO(NCCL_NET, \"NET/IB : Local mergedDev %s has a different number of devices=%d as remote %s %d\",\n      mergedDev->devName, rComm->base.vProps.ndevs, remMeta.devName, rComm->base.nRemDevs);\n  }\n\n  // Metadata to send back to requestor (sender)\n  struct ncclIbConnectionMetadata meta;\n  memset(&meta, 0, sizeof(meta));\n  for (int i = 0; i < rComm->base.vProps.ndevs; i++) {\n    rCommDev = rComm->devs + i;\n    ibDevN = rComm->base.vProps.devs[i];\n    NCCLCHECKGOTO(ncclIbInitCommDevBase(ibDevN, &rCommDev->base, &rComm->base.stats), ret, fail);\n    ibDev = ncclIbDevs + ibDevN;\n    NCCLCHECKGOTO(ncclIbGetGidIndex(ibDev->context, ibDev->portNum, &ibDev->portAttr, &rCommDev->base.gidInfo.localGidIndex), ret, fail);\n    NCCLCHECKGOTO(wrap_ibv_query_gid(ibDev->context, ibDev->portNum, rCommDev->base.gidInfo.localGidIndex, &rCommDev->base.gidInfo.localGid), ret, fail);\n    if (link_layer == IBV_LINK_LAYER_UNSPECIFIED) link_layer = ibDev->portAttr.link_layer;\n    if (link_layer != ibDev->portAttr.link_layer) {\n      int ibDev0 = rComm->devs[0].base.ibDevN;\n      WARN(\"NET/IB : Attempted to connect incompatible devices: [%d]%s:%d/%s and [%d]%s:%d/%s. Try selecting NICs of only one link type using NCCL_IB_HCA\",\n           ibDevN, ibDev->devName, ibDev->portNum, NCCL_IB_LLSTR(ibDev->portAttr.link_layer), ibDev0, ncclIbDevs[ibDev0].devName, ncclIbDevs[ibDev0].portNum, NCCL_IB_LLSTR(link_layer));\n      return ncclInternalError;\n    }\n  }\n\n  // Copy remDevInfo for things like remGidInfo, remFifoAddr, etc.\n  for (int i = 0; i < remMeta.ndevs; i++) {\n    rComm->base.remDevs[i] = remMeta.devs[i];\n    rComm->base.remDevs[i].remoteGid.global.interface_id  = rComm->base.remDevs[i].gid.global.interface_id;\n    rComm->base.remDevs[i].remoteGid.global.subnet_prefix = rComm->base.remDevs[i].gid.global.subnet_prefix;\n    if (remMeta.devs[i].link_layer != link_layer) {\n      int ibDev0 = rComm->devs[0].base.ibDevN;\n      WARN(\"NET/IB : Remote %s device is incompatible with the local [%d]%s:%d/%s. Try selecting NICs of only one link type using NCCL_IB_HCA\",\n           NCCL_IB_LLSTR(remMeta.devs[i].link_layer), ibDev0, ncclIbDevs[ibDev0].devName, ncclIbDevs[ibDev0].portNum, NCCL_IB_LLSTR(link_layer));\n      return ncclInternalError;\n    }\n  }\n\n  // Stripe QP creation across merged devs\n  // Make sure to get correct remote peer dev and QP info\n  int remDevIndex;\n  int devIndex;\n  devIndex = 0;\n  for (int q = 0; q < rComm->base.nqps; q++) {\n    remDevIndex = remMeta.qpInfo[q].devIndex;\n    remDevInfo = remMeta.devs + remDevIndex;\n    qp = rComm->base.qps+q;\n    rCommDev = rComm->devs + devIndex;\n    qp->remDevIdx = remDevIndex;\n\n    // Local ibDevN\n    ibDevN = rComm->devs[devIndex].base.ibDevN;\n    ibDev = ncclIbDevs + ibDevN;\n    NCCLCHECKGOTO(ncclIbCreateQp(ibDev->portNum, &rCommDev->base, IBV_ACCESS_REMOTE_WRITE, &rComm->base.stats, qp), ret, fail);\n    qp->devIndex = devIndex;\n    devIndex = (devIndex + 1) % rComm->base.vProps.ndevs;\n\n    // Set the ece (enhanced connection establishment) on this QP before RTR\n    if (remMeta.qpInfo[q].ece_supported) {\n      // Coverity suspects a copy-paste error below due to the use of remMeta in one argument and meta in another.\n      // However, this has been confirmed to be intentional.\n      // coverity[copy_paste_error]\n      NCCLCHECKGOTO(wrap_ibv_set_ece(qp->qp, &remMeta.qpInfo[q].ece, &meta.qpInfo[q].ece_supported), ret, fail);\n    } else {\n      meta.qpInfo[q].ece_supported = 0;\n    }\n\n    NCCLCHECKGOTO(ncclIbRtrQp(qp->qp, &rCommDev->base.gidInfo, remMeta.qpInfo[q].qpn, remDevInfo, true, remMeta.tc, remMeta.sl), ret, fail);\n    NCCLCHECKGOTO(ncclIbRtsQp(qp->qp), ret, fail);\n\n    // Query the reduced ece for this QP (matching enhancements between the requestor and the responder)\n    // Store this in our own qpInfo for returning to the requestor\n    if (remMeta.qpInfo[q].ece_supported && meta.qpInfo[q].ece_supported) {\n      NCCLCHECKGOTO(wrap_ibv_query_ece(qp->qp, &meta.qpInfo[q].ece, &meta.qpInfo[q].ece_supported), ret, fail);\n    }\n  }\n\n  useDmaBuf  = (ncclIbDmaBufSupport(lComm->dev) == ncclSuccess && ncclParamDmaBufEnable());\n  rComm->flushEnabled = ((ncclIbGdrSupport() == ncclSuccess || useDmaBuf)\n                            && (ncclParamIbGdrFlushDisable() == 0)) ? 1 : 0;              \n  for (int i = 0; i < rComm->base.vProps.ndevs; i++) {\n    rCommDev = rComm->devs + i;\n    ibDev = ncclIbDevs + rCommDev->base.ibDevN;\n\n    // Retain remote fifo info and prepare my RDMA ops\n    rComm->remFifo.addr = remMeta.fifoAddr;\n    NCCLCHECKGOTO(wrap_ibv_reg_mr(&rCommDev->fifoMr, rCommDev->base.pd, &rComm->remFifo.elems, sizeof(struct ncclIbSendFifo)*MAX_REQUESTS*NCCL_NET_IB_MAX_RECVS, IBV_ACCESS_REMOTE_WRITE|IBV_ACCESS_LOCAL_WRITE|IBV_ACCESS_REMOTE_READ), ret, fail);\n    rCommDev->fifoSge.lkey = rCommDev->fifoMr->lkey;\n    if (ncclParamIbUseInline()) rComm->remFifo.flags = IBV_SEND_INLINE;\n\n    // Allocate Flush dummy buffer for GPU Direct RDMA\n    if (rComm->flushEnabled) {\n      if (rcclParamIbGdrFlushGpuMemNoRelaxedOrdering()) {\n#if defined(HIP_UNCACHED_MEMORY)\n        NCCLCHECKGOTO(ncclCudaCalloc(&rCommDev->gpuFlush.gpuFlushGpuMem, sizeof(int), hipDeviceMallocUncached), ret, fail);\n#else\n        NCCLCHECKGOTO(ncclCudaCalloc(&rCommDev->gpuFlush.gpuFlushGpuMem, sizeof(int), hipDeviceMallocFinegrained), ret, fail);\n#endif\n        if (useDmaBuf)\n        {\n          uint64_t export_offset = 0;\n          void *aligned_ptr = NULL;\n          size_t aligned_size = 0;\n          get_aligned_ptr_and_size(rCommDev->gpuFlush.gpuFlushGpuMem, sizeof(int) /*devicebuffersize*/, &aligned_ptr, &aligned_size);\n          hsa_status_t export_status = pfn_hsa_amd_portable_export_dmabuf(aligned_ptr, aligned_size, &rCommDev->gpuFlush.dmabuf_fd, &export_offset);\n          if (rCommDev->gpuFlush.dmabuf_fd < 0 || export_status != HSA_STATUS_SUCCESS)\n          {\n            WARN(\"Failed to export DMA BUF\");\n            goto fail;\n          }\n          NCCLCHECKGOTO(wrap_ibv_reg_dmabuf_mr(&rCommDev->gpuFlush.gpuMr, rCommDev->base.pd, export_offset, sizeof(int), (uint64_t)rCommDev->gpuFlush.gpuFlushGpuMem /*iova*/, rCommDev->gpuFlush.dmabuf_fd, IBV_ACCESS_LOCAL_WRITE | IBV_ACCESS_REMOTE_WRITE | IBV_ACCESS_REMOTE_READ), ret, fail);\n        }\n        else\n        {\n          rCommDev->gpuFlush.dmabuf_fd = -1;\n          NCCLCHECKGOTO(wrap_ibv_reg_mr(&rCommDev->gpuFlush.gpuMr, rCommDev->base.pd, rCommDev->gpuFlush.gpuFlushGpuMem, sizeof(int), IBV_ACCESS_LOCAL_WRITE | IBV_ACCESS_REMOTE_WRITE | IBV_ACCESS_REMOTE_READ), ret, fail);\n        }\n      } else {\n        rCommDev->gpuFlush.gpuFlushGpuMem = nullptr;\n        rCommDev->gpuFlush.gpuMr = nullptr;\n        rCommDev->gpuFlush.dmabuf_fd = -1;\n      }\n      NCCLCHECKGOTO(wrap_ibv_reg_mr(&rCommDev->gpuFlush.hostMr, rCommDev->base.pd, &rComm->gpuFlushHostMem, sizeof(int), IBV_ACCESS_LOCAL_WRITE), ret, fail);\n      rCommDev->gpuFlush.sge.addr = (uint64_t)&rComm->gpuFlushHostMem;\n      rCommDev->gpuFlush.sge.length = 1;\n      rCommDev->gpuFlush.sge.lkey = rCommDev->gpuFlush.hostMr->lkey;\n      NCCLCHECKGOTO(ncclIbCreateQp(ibDev->portNum, &rCommDev->base, IBV_ACCESS_LOCAL_WRITE | IBV_ACCESS_REMOTE_READ | IBV_ACCESS_REMOTE_WRITE, &rComm->base.stats, &rCommDev->gpuFlush.qp), ret, fail);\n      struct ncclIbDevInfo devInfo;\n      devInfo.lid         = ibDev->portAttr.lid;\n      devInfo.link_layer  = ibDev->portAttr.link_layer;\n      devInfo.ib_port     = ibDev->portNum;\n      devInfo.gid.global.subnet_prefix        = rCommDev->base.gidInfo.localGid.global.subnet_prefix;\n      devInfo.gid.global.interface_id         = rCommDev->base.gidInfo.localGid.global.interface_id;\n      devInfo.mtu         = ibDev->portAttr.active_mtu;\n      NCCLCHECKGOTO(ncclIbRtrQp(rCommDev->gpuFlush.qp.qp, &rCommDev->base.gidInfo, rCommDev->gpuFlush.qp.qp->qp_num, &devInfo, false, remMeta.tc, remMeta.sl), ret, fail);\n      NCCLCHECKGOTO(ncclIbRtsQp(rCommDev->gpuFlush.qp.qp), ret, fail);\n    }\n\n    // Fill Handle\n    meta.devs[i].lid                            = ibDev->portAttr.lid;\n    meta.devs[i].link_layer                     = rCommDev->base.gidInfo.link_layer = ibDev->portAttr.link_layer;\n    meta.devs[i].ib_port                        = ibDev->portNum;\n    meta.devs[i].gid.global.subnet_prefix       = rCommDev->base.gidInfo.localGid.global.subnet_prefix;\n    meta.devs[i].gid.global.interface_id        = rCommDev->base.gidInfo.localGid.global.interface_id;\n    meta.devs[i].mtu                            = ibDev->portAttr.active_mtu;\n    meta.devs[i].ibv_dev_index                  = rCommDev->base.ibDevN;\n\n    // Prepare sizes fifo\n    NCCLCHECKGOTO(wrap_ibv_reg_mr(&rComm->devs[i].sizesFifoMr, rComm->devs[i].base.pd, rComm->sizesFifo, sizeof(int)*MAX_REQUESTS*NCCL_NET_IB_MAX_RECVS, IBV_ACCESS_LOCAL_WRITE|IBV_ACCESS_REMOTE_WRITE|IBV_ACCESS_REMOTE_READ), ret, fail);\n    meta.devs[i].fifoRkey = rComm->devs[i].sizesFifoMr->rkey;\n  }\n  meta.fifoAddr = (uint64_t)rComm->sizesFifo;\n  meta.sl = remMeta.sl;\n  meta.tc = remMeta.tc;\n\n  for (int q = 0; q < rComm->base.nqps; q++) {\n    meta.qpInfo[q].qpn      = rComm->base.qps[q].qp->qp_num;\n    meta.qpInfo[q].devIndex = rComm->base.qps[q].devIndex;\n  }\n  meta.ndevs = rComm->base.vProps.ndevs;\n  meta.isP2p = remMeta.isP2p;\n  strncpy(meta.devName, mergedDev->devName, MAX_MERGED_DEV_NAME);\n  rComm->base.nDataQps = std::max(rComm->base.vProps.ndevs, rComm->base.nRemDevs);\n\n  stage->state = ncclIbCommStateSend;\n  stage->offset = 0;\n  if (stage->buffer) {\n    free(stage->buffer);\n    stage->buffer = NULL;\n  }\n  NCCLCHECKGOTO(ncclIbMalloc((void**)&stage->buffer, sizeof(struct ncclIbConnectionMetadata)), ret, fail);\n  memcpy(stage->buffer, &meta, sizeof(struct ncclIbConnectionMetadata));\n\nib_send:\n  NCCLCHECKGOTO(ncclSocketProgress(NCCL_SOCKET_SEND, &rComm->base.sock, stage->buffer, sizeof(struct ncclIbConnectionMetadata), &stage->offset), ret, fail);\n  if (stage->offset < sizeof(struct ncclIbConnectionMetadata)) return ncclSuccess;\n\n  stage->offset = 0;\n  stage->state = ncclIbCommStatePendingReady;\n\nib_recv_ready:\n  NCCLCHECKGOTO(ncclSocketProgress(NCCL_SOCKET_RECV,  &rComm->base.sock, &rComm->base.ready, sizeof(int), &stage->offset), ret, fail);\n  if (stage->offset != sizeof(int)) return ncclSuccess;\n\n  *recvComm = rComm;\nexit:\n  /* reset lComm stage */\n  if (stage->buffer) free(stage->buffer);\n  stage->state = ncclIbCommStateStart;\n  stage->offset = 0;\n  stage->comm = NULL;\n  stage->buffer = NULL;\n  return ret;\nfail:\n  free(rComm);\n  goto exit;\n}\n\nncclResult_t ncclIbGetRequest(struct ncclIbNetCommBase* base, struct ncclIbRequest** req) {\n  for (int i=0; i<MAX_REQUESTS; i++) {\n    struct ncclIbRequest* r = base->reqs+i;\n    if (r->type == NCCL_NET_IB_REQ_UNUSED) {\n      r->base = base;\n      r->sock = NULL;\n      memset(r->devBases, 0, sizeof(r->devBases));\n      memset(r->events, 0, sizeof(r->events));\n      *req = r;\n      return ncclSuccess;\n    }\n  }\n  WARN(\"NET/IB : unable to allocate requests\");\n  *req = NULL;\n  return ncclInternalError;\n}\n\nncclResult_t ncclIbFreeRequest(struct ncclIbRequest* r) {\n  r->type = NCCL_NET_IB_REQ_UNUSED;\n  return ncclSuccess;\n}\n\nncclResult_t ncclIbTest(void* request, int* done, int* size);\n\nncclResult_t ncclIbRegMrDmaBufInternal(ncclIbNetCommDevBase* base, void* data, size_t size, int type, uint64_t offset, int fd, ibv_mr** mhandle) {\n  static __thread uintptr_t pageSize = 0;\n  if (pageSize == 0) pageSize = sysconf(_SC_PAGESIZE);\n  struct ncclIbMrCache* cache = &ncclIbDevs[base->ibDevN].mrCache;\n  uintptr_t addr = (uintptr_t)data & -pageSize;\n  size_t pages = ((uintptr_t)data + size - addr + pageSize-1)/pageSize;\n  std::lock_guard<std::mutex> lock(ncclIbDevs[base->ibDevN].mutex);\n  for (int slot=0; /*true*/; slot++) {\n    if (slot == cache->population || addr < cache->slots[slot].addr) { // didn't find in cache\n      if (cache->population == cache->capacity) { // must grow cache\n        cache->capacity = cache->capacity < 32 ? 32 : 2*cache->capacity;\n        NCCLCHECK(ncclRealloc(&cache->slots, cache->population, cache->capacity));\n      }\n      // Deregister / register\n      struct ibv_mr* mr;\n      unsigned int flags = IBV_ACCESS_LOCAL_WRITE|IBV_ACCESS_REMOTE_WRITE|IBV_ACCESS_REMOTE_READ;\n      if (ncclIbRelaxedOrderingEnabled) flags |= IBV_ACCESS_RELAXED_ORDERING;\n      if (fd != -1) {\n        /* DMA-BUF support */\n        if (!ncclIbDevs[base->ibDevN].capsProvider.mlx5.dataDirect) {\n          NCCLCHECK(wrap_ibv_reg_dmabuf_mr(&mr, base->pd, offset, pages*pageSize, addr, fd, flags));\n        } else {\n          NCCLCHECK(wrap_mlx5dv_reg_dmabuf_mr(&mr, base->pd, offset, pages*pageSize, addr, fd, flags, MLX5DV_REG_DMABUF_ACCESS_DATA_DIRECT));\n        }\n      } else {\n        if (ncclIbRelaxedOrderingEnabled) {\n          // Use IBVERBS_1.8 API - needed for IBV_ACCESS_RELAXED_ORDERING support\n          NCCLCHECK(wrap_ibv_reg_mr_iova2(&mr, base->pd, (void*)addr, pages*pageSize, addr, flags));\n        }\n        else {\n          NCCLCHECK(wrap_ibv_reg_mr(&mr, base->pd, (void*)addr, pages*pageSize, flags));\n        }\n      }\n      TRACE(NCCL_INIT|NCCL_NET,\"regAddr=0x%lx size=%lld rkey=0x%x lkey=0x%x fd=%d\", (unsigned long)addr, (long long)pages*pageSize, mr->rkey, mr->lkey, fd);\n      if (slot != cache->population) memmove(cache->slots+slot+1, cache->slots+slot, (cache->population-slot)*sizeof(struct ncclIbMr));\n      cache->slots[slot].addr = addr;\n      cache->slots[slot].pages = pages;\n      cache->slots[slot].refs = 1;\n      cache->slots[slot].mr = mr;\n      cache->population += 1;\n      *mhandle = mr;\n      return ncclSuccess;\n    } else if ((addr >= cache->slots[slot].addr) &&\n        ((addr-cache->slots[slot].addr)/pageSize+pages) <= cache->slots[slot].pages) {\n      cache->slots[slot].refs += 1;\n      *mhandle = cache->slots[slot].mr;\n      return ncclSuccess;\n    }\n  }\n  return ncclSuccess;\n}\n\nstruct ncclIbNetCommDevBase* ncclIbGetNetCommDevBase(ncclIbNetCommBase* base, int devIndex) {\n  if (base->isSend) {\n    struct ncclIbSendComm* sComm = (struct ncclIbSendComm*) base;\n    return &sComm->devs[devIndex].base;\n  } else {\n    struct ncclIbRecvComm* rComm = (struct ncclIbRecvComm*) base;\n    return &rComm->devs[devIndex].base;\n  }\n}\n\n/* DMA-BUF support */\nncclResult_t ncclIbRegMrDmaBuf(void* comm, void* data, size_t size, int type, uint64_t offset, int fd, void** mhandle) {\n  ncclResult_t ret = ncclSuccess;\n  assert(size > 0);\n  struct ncclIbNetCommBase* base = (struct ncclIbNetCommBase*) comm;\n  struct ncclIbMrHandle* mhandleWrapper = (struct ncclIbMrHandle*) malloc(sizeof(struct ncclIbMrHandle));\n  if (mhandleWrapper == nullptr) {\n    WARN(\"Failed to allocate IB MR handle wrapper\");\n    return ncclSystemError;\n  }\n  for (int i = 0; i < base->vProps.ndevs; i++) {\n    // Each ncclIbNetCommDevBase is at different offset in send and recv netComms\n    struct ncclIbNetCommDevBase* devComm = ncclIbGetNetCommDevBase(base, i);\n    NCCLCHECKGOTO(ncclIbRegMrDmaBufInternal(devComm, data, size, type, offset, fd, mhandleWrapper->mrs + i), ret, fail);\n  }\n  *mhandle = (void*) mhandleWrapper;\nexit:\n  return ret;\nfail:\n  free(mhandleWrapper);\n  goto exit;\n}\n\nncclResult_t ncclIbRegMr(void* comm, void* data, size_t size, int type, void** mhandle) {\n  return ncclIbRegMrDmaBuf(comm, data, size, type, 0ULL, -1, mhandle);\n}\n\nncclResult_t ncclIbDeregMrInternal(ncclIbNetCommDevBase* base, ibv_mr* mhandle) {\n  struct ncclIbMrCache* cache = &ncclIbDevs[base->ibDevN].mrCache;\n  std::lock_guard<std::mutex> lock(ncclIbDevs[base->ibDevN].mutex);\n  for (int i=0; i < cache->population; i++) {\n    if (mhandle == cache->slots[i].mr) {\n      if (0 == --cache->slots[i].refs) {\n        memmove(&cache->slots[i], &cache->slots[--cache->population], sizeof(struct ncclIbMr));\n        if (cache->population == 0) {\n          free(cache->slots);\n          cache->slots = NULL;\n          cache->capacity = 0;\n        }\n        NCCLCHECK(wrap_ibv_dereg_mr(mhandle));\n      }\n      return ncclSuccess;\n    }\n  }\n  WARN(\"NET/IB: could not find mr %p inside cache of %d entries\", mhandle, cache->population);\n  return ncclInternalError;\n}\n\nncclResult_t ncclIbDeregMr(void* comm, void* mhandle) {\n  if (mhandle == NULL) return ncclSuccess;\n\n  struct ncclIbMrHandle* mhandleWrapper = (struct ncclIbMrHandle*) mhandle;\n  struct ncclIbNetCommBase* base = (struct ncclIbNetCommBase*) comm;\n  for (int i = 0; i < base->vProps.ndevs; i++) {\n    // Each ncclIbNetCommDevBase is at different offset in send and recv netComms\n    struct ncclIbNetCommDevBase* devComm = ncclIbGetNetCommDevBase(base, i);\n    NCCLCHECK(ncclIbDeregMrInternal(devComm, mhandleWrapper->mrs[i]));\n  }\n  free(mhandleWrapper);\n  return ncclSuccess;\n}\n\nNCCL_PARAM(IbSplitDataOnQps, \"IB_SPLIT_DATA_ON_QPS\", 0);\n\nncclResult_t ncclIbMultiSend(struct ncclIbSendComm* comm, int slot) {\n  struct ncclIbRequest** reqs = comm->fifoReqs[slot];\n  volatile struct ncclIbSendFifo* slots = comm->fifo[slot];\n  int nreqs = slots[0].nreqs;\n  if (nreqs > NCCL_NET_IB_MAX_RECVS) return ncclInternalError;\n\n  uint64_t wr_id = 0ULL;\n  for (int r=0; r<nreqs; r++) {\n    struct ibv_send_wr* wr = comm->wrs+r;\n    memset(wr, 0, sizeof(struct ibv_send_wr));\n\n    struct ibv_sge* sge = comm->sges+r;\n    sge->addr=(uintptr_t)reqs[r]->send.data;\n    wr->opcode = IBV_WR_RDMA_WRITE;\n    wr->send_flags = 0;\n    wr->wr.rdma.remote_addr = slots[r].addr;\n    wr->next = wr + 1;\n    wr_id += (reqs[r] - comm->base.reqs) << (r*8);\n#ifdef NCCL_ENABLE_NET_PROFILING\n    reqs[r]->pInfo[0].nEventHandles = 0;\n#endif\n  }\n\n  // Write size as immediate data. In the case of multi-send, only write\n  // 0 or 1 as size to indicate whether there was data sent or received.\n  uint32_t immData = 0;\n  if (nreqs == 1) {\n    immData = reqs[0]->send.size;\n  } else {\n    int* sizes = comm->remSizesFifo.elems[slot];\n    for (int r=0; r<nreqs; r++) sizes[r] = reqs[r]->send.size;\n    comm->remSizesFifo.sge.addr = (uint64_t)sizes;\n    comm->remSizesFifo.sge.length = nreqs*sizeof(int);\n  }\n\n  struct ibv_send_wr* lastWr = comm->wrs+nreqs-1;\n  if (nreqs > 1 || (comm->ar && reqs[0]->send.size > ncclParamIbArThreshold())) {\n    // When using ADAPTIVE_ROUTING, send the bulk of the data first as an\n    // RDMA_WRITE, then a 0-byte RDMA_WRITE_WITH_IMM to trigger a remote\n    // completion.\n    lastWr++;\n    memset(lastWr, 0, sizeof(struct ibv_send_wr));\n    if (nreqs > 1) {\n      // Write remote sizes Fifo\n      lastWr->wr.rdma.remote_addr = comm->remSizesFifo.addr + slot*NCCL_NET_IB_MAX_RECVS*sizeof(int);\n      lastWr->num_sge = 1;\n      lastWr->sg_list = &comm->remSizesFifo.sge;\n    }\n  }\n  lastWr->wr_id = wr_id;\n  lastWr->opcode = IBV_WR_RDMA_WRITE_WITH_IMM;\n  lastWr->imm_data = immData;\n  lastWr->next = NULL;\n  lastWr->send_flags = IBV_SEND_SIGNALED;\n\n  // Multi-QP: make sure IB writes are multiples of 128B so that LL and LL128 protocols still work\n  const int align = 128;\n  int nqps = ncclParamIbSplitDataOnQps() ? comm->base.nqps : comm->base.nDataQps;\n  for (int i = 0; i < nqps; i++) {\n    int qpIndex = comm->base.qpIndex;\n    ncclIbQp* qp = comm->base.qps + qpIndex;\n    int devIndex = qp->devIndex;\n    for (int r=0; r<nreqs; r++) {\n      // Track this event for completion\n      //ncclIbAddEvent(reqs[r], devIndex, &comm->devs[devIndex].base);\n\n      // Select proper rkey (needed even for 0-size send)\n      comm->wrs[r].wr.rdma.rkey = slots[r].rkeys[qp->remDevIdx];\n\n      int chunkSize = DIVUP(DIVUP(reqs[r]->send.size, nqps), align) * align;\n      int length = std::min(reqs[r]->send.size-reqs[r]->send.offset, chunkSize);\n      if (length <= 0) {\n        comm->wrs[r].sg_list = NULL;\n        comm->wrs[r].num_sge = 0;\n      } else {\n        // Select proper lkey\n        comm->sges[r].lkey = reqs[r]->send.lkeys[devIndex];\n        comm->sges[r].length = length;\n        comm->wrs[r].sg_list = comm->sges+r;\n        comm->wrs[r].num_sge = 1;\n      }\n    }\n\n    if (nreqs > 1) {\n      // Also make sure lastWr writes remote sizes using the right lkey\n      comm->remSizesFifo.sge.lkey = comm->remSizesFifo.mrs[devIndex]->lkey;\n      lastWr->wr.rdma.rkey = comm->remSizesFifo.rkeys[devIndex];\n    }\n\n    struct ibv_send_wr* bad_wr;\n#ifdef NCCL_ENABLE_NET_PROFILING\n    // QP profiling loop\n    for (int r=0; r<nreqs; r++) {\n      // Store comm qpIndex for this request\n      int nEventHandles = reqs[r]->pInfo[0].nEventHandles;\n      assert(nEventHandles < MAX_QPS_PER_REQ);\n      reqs[r]->pInfo[0].qpIndex[nEventHandles] = qpIndex;\n      // Store info for profiler\n      int64_t pluginId = NCCL_PROFILER_NET_TYPE_IB | NCCL_PROFILER_NET_IB_VER;\n      reqs[r]->pInfo[0].data.type = ncclProfileQp;\n      reqs[r]->pInfo[0].data.qp.device = devIndex;\n      reqs[r]->pInfo[0].data.qp.wr_id = comm->wrs[r].wr_id;\n      reqs[r]->pInfo[0].data.qp.opcode = comm->wrs[r].opcode;\n      reqs[r]->pInfo[0].data.qp.qpNum = qp->qp->qp_num;\n      reqs[r]->pInfo[0].data.qp.length = comm->sges[r].length;\n      void* pHandle = reqs[r]->pInfo[0].pHandle;\n      NCCLCHECK(ncclProfilerFunction(&reqs[r]->pInfo[0].qpEventHandles[nEventHandles], ncclProfilerNetEventStart, pHandle, pluginId, &reqs[r]->pInfo[0].data));\n      reqs[r]->pInfo[0].nEventHandles++;\n    }\n#endif\n    NCCLCHECK(wrap_ibv_post_send(qp->qp, comm->wrs, &bad_wr));\n\n    for (int r=0; r<nreqs; r++) {\n      int chunkSize = DIVUP(DIVUP(reqs[r]->send.size, nqps), align) * align;\n      reqs[r]->send.offset += chunkSize;\n      comm->sges[r].addr += chunkSize;\n      comm->wrs[r].wr.rdma.remote_addr += chunkSize;\n\n      TRACE(NCCL_VERBS, \"Posted send wr_id=%lu, wr_indx=%d, qp_num=%d, src_nic=%d, dst_nic=%d, dlid=%d, opcode=%d, send_flags=%d, imm_data=%d, remote_addr=%lx, rkey=%x, length=%d, lkey=%x\",\n        comm->wrs[r].wr_id, r, qp->qp->qp_num, comm->devs[qp->devIndex].base.ibDevN , comm->base.remDevs[qp->remDevIdx].ibv_dev_index, comm->base.remDevs[qp->remDevIdx].lid,\n        comm->wrs[r].opcode, comm->wrs[r].send_flags, comm->wrs[r].imm_data, comm->wrs[r].wr.rdma.remote_addr,\n        comm->wrs[r].wr.rdma.rkey,comm->wrs[r].sg_list ? comm->wrs[r].sg_list->length : 0, comm->wrs[r].sg_list ? comm->wrs[r].sg_list->lkey : 0);\n    }\n\n    // Select the next qpIndex\n    comm->base.qpIndex = (comm->base.qpIndex+1) % comm->base.nqps;\n  }\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclIbIsend(void* sendComm, void* data, size_t size, int tag, void* mhandle, void* phandle, void** request) {\n  struct ncclIbSendComm* comm = (struct ncclIbSendComm*)sendComm;\n  if (comm->base.ready == 0) {\n    WARN(\"NET/IB: ncclIbIsend() called when comm->base.ready == 0\");\n    *request = NULL;\n    return ncclInternalError;\n  }\n  NCCLCHECK(ncclIbStatsCheckFatalCount(&comm->base.stats,__func__));\n\n  struct ncclIbMrHandle* mhandleWrapper = (struct ncclIbMrHandle*) mhandle;\n\n  // Wait for the receiver to have posted the corresponding receive\n  int nreqs = 0;\n  volatile struct ncclIbSendFifo* slots;\n\n  int slot = (comm->fifoHead) % MAX_REQUESTS;\n  struct ncclIbRequest** reqs = comm->fifoReqs[slot];\n  slots = comm->fifo[slot];\n  uint64_t idx = comm->fifoHead+1;\n  if (slots[0].idx != idx) { *request = NULL; return ncclSuccess; }\n  nreqs = slots[0].nreqs;\n  // Wait until all data has arrived\n  for (int r=1; r<nreqs; r++) while(slots[r].idx != idx);\n  __sync_synchronize(); // order the nreqsPtr load against tag/rkey/addr loads below\n  for (int r=0; r<nreqs; r++) {\n    if (reqs[r] != NULL || slots[r].tag != tag) continue;\n\n    if (size > slots[r].size) size = slots[r].size;\n    // Sanity checks\n    if (slots[r].size < 0 || slots[r].addr == 0 || slots[r].rkeys[0] == 0) {\n      char line[SOCKET_NAME_MAXLEN + 1];\n      union ncclSocketAddress addr;\n      ncclSocketGetAddr(&comm->base.sock, &addr);\n      WARN(\"NET/IB : req %d/%d tag %x peer %s posted incorrect receive info: size %ld addr %lx rkeys[0]=%x\",\n        r, nreqs, tag, ncclSocketToString(&addr, line), slots[r].size, slots[r].addr, slots[r].rkeys[0]);\n      return ncclInternalError;\n    }\n\n    struct ncclIbRequest* req;\n    NCCLCHECK(ncclIbGetRequest(&comm->base, &req));\n    req->type = NCCL_NET_IB_REQ_SEND;\n    req->sock = &comm->base.sock;\n    req->base = &comm->base;\n    req->nreqs = nreqs;\n    req->send.size = size;\n    req->send.data = data;\n    req->send.offset = 0;\n#ifdef NCCL_ENABLE_NET_PROFILING\n    req->pInfo[0].pHandle = phandle;\n#endif\n\n    // Populate events\n    int nEvents = ncclParamIbSplitDataOnQps() ? comm->base.nqps : comm->base.nDataQps;\n    int qpIndex = comm->base.qpIndex;\n    // Count down\n    while (nEvents > 0) {\n      ncclIbQp* qp = comm->base.qps + qpIndex;\n      int devIndex = qp->devIndex;\n      ncclIbAddEvent(req, devIndex, &comm->devs[devIndex].base);\n      // Track the valid lkey for this RDMA_Write\n      req->send.lkeys[devIndex] = mhandleWrapper->mrs[devIndex]->lkey;\n      nEvents--;\n      // Don't update comm->base.qpIndex yet, we need to run through this same set of QPs inside ncclIbMultiSend()\n      qpIndex = (qpIndex+1)%comm->base.nqps;\n    }\n\n    // Store all lkeys\n    for (int i = 0; i < comm->base.vProps.ndevs; i++) {\n      req->send.lkeys[i] = mhandleWrapper->mrs[i]->lkey;\n    }\n\n    *request = reqs[r] = req;\n\n    // If this is a multi-recv, send only when all requests have matched.\n    for (int r=0; r<nreqs; r++) {\n      if (reqs[r] == NULL) return ncclSuccess;\n    }\n\n    TIME_START(0);\n    NCCLCHECK(ncclIbMultiSend(comm, slot));\n\n    // Clear slots[0]->nreqs, as well as other fields to help debugging and sanity checks\n    memset((void*)slots, 0, sizeof(struct ncclIbSendFifo));\n    memset(reqs, 0, NCCL_NET_IB_MAX_RECVS*sizeof(struct ncclIbRequest*));\n    comm->fifoHead++;\n    TIME_STOP(0);\n    return ncclSuccess;\n  }\n\n  *request = NULL;\n  return ncclSuccess;\n}\n\nncclResult_t ncclIbPostFifo(struct ncclIbRecvComm* comm, int n, void** data, size_t* sizes, int* tags, void** mhandles, struct ncclIbRequest* req) {\n  struct ibv_send_wr wr;\n  memset(&wr, 0, sizeof(wr));\n\n  int slot = comm->remFifo.fifoTail%MAX_REQUESTS;\n  req->recv.sizes = comm->sizesFifo[slot];\n  for (int i=0; i<n; i++) req->recv.sizes[i] = 0;\n  struct ncclIbSendFifo* localElem = comm->remFifo.elems[slot];\n\n  // Select the next devIndex (local) and QP to use for posting this CTS message\n  // Since QPs are initialized by striping across devIndex, we can simply assign this to the same value\n  ncclIbQp* ctsQp = comm->base.qps + comm->base.devIndex;\n  comm->base.devIndex = (comm->base.devIndex + 1) % comm->base.vProps.ndevs;\n\n  for (int i=0; i<n; i++) {\n    localElem[i].addr = (uint64_t)data[i];\n    struct ncclIbMrHandle* mhandleWrapper = (struct ncclIbMrHandle*) mhandles[i];\n\n    // Send all applicable rkeys\n    for (int j = 0; j < comm->base.vProps.ndevs; j++)\n      localElem[i].rkeys[j] = mhandleWrapper->mrs[j]->rkey;\n\n    localElem[i].nreqs = n;\n    localElem[i].size = sizes[i]; // Sanity/Debugging\n    localElem[i].tag = tags[i];\n    localElem[i].idx = comm->remFifo.fifoTail+1;\n  }\n  wr.wr.rdma.remote_addr = comm->remFifo.addr + slot*NCCL_NET_IB_MAX_RECVS*sizeof(struct ncclIbSendFifo);\n\n  // Lookup the correct fifoRkey\n  wr.wr.rdma.rkey = comm->base.remDevs[ctsQp->remDevIdx].fifoRkey;\n\n  // Set the correct sge properties\n  comm->devs[ctsQp->devIndex].fifoSge.addr   = (uint64_t)localElem;\n  comm->devs[ctsQp->devIndex].fifoSge.length = n*sizeof(struct ncclIbSendFifo);\n  wr.sg_list = &comm->devs[ctsQp->devIndex].fifoSge;\n  wr.num_sge = 1;\n\n  wr.opcode = IBV_WR_RDMA_WRITE;\n  wr.send_flags = comm->remFifo.flags; // IBV_SEND_INLINE\n\n  // We need to occasionally post a request with the IBV_SEND_SIGNALED flag, otherwise\n  // the send queue will never empty.\n  //\n  // From https://www.rdmamojo.com/2014/06/30/working-unsignaled-completions/\n  // \"How to use Unsignaled Completion?\" / \"Gotchas and Pitfalls\"\n  // All posted Send Requested, Signaled and Unsignaled, are considered outstanding until\n  // a Work Completion that they, or Send Requests that were posted after them, was polled\n  // from the Completion Queue associated with the Send Queue. This means if one works with\n  // a Queue Pair that was configured to work with Unsignaled Completions, he must make\n  // sure that occasionally (before the Send Queue is full with outstanding Send Requests)\n  // a Send Request that generate Work Completion will be posted.\n  //\n  // Not following this rule may lead to a case that the Send Queue is full with Send\n  // Requests that won't generate Work Completion:\n  //\n  //  - The Send Queue is full, so no new Send Requests can be posted to it\n  //  - The Send Queue can't be emptied, since no Work Completion can be generated anymore\n  //    (the reason is that no Work Completion, that can generate Work Completion that\n  //    polling it will empty the Send Queue, can be posted)\n  //  - The status of all posted Send Request is considered unknown\n  //\n  // slot == devIndex - When writing to fifo slot N, and this QP lives on device index N, it should send signalled.\n  // This works out that each fifo posting QP gets drained\n  if (slot == ctsQp->devIndex) {\n    wr.send_flags |= IBV_SEND_SIGNALED;\n    wr.wr_id = req - comm->base.reqs;\n    ncclIbAddEvent(req, ctsQp->devIndex, &comm->devs[ctsQp->devIndex].base);\n  }\n\n  struct ibv_send_wr* bad_wr;\n  NCCLCHECK(wrap_ibv_post_send(ctsQp->qp, &wr, &bad_wr));\n\n  TRACE(NCCL_VERBS, \"Posted send wr_id=%lu, wr_indx=%d, qp_num=%d, src_nic=%d, dst_nic=%d, dlid=%lu, opcode=%d, send_flags=%d, imm_data=%d, remote_addr=%lx, rkey=%x, length=%d, lkey=%x\",\n        wr.wr_id, 0, ctsQp->qp->qp_num, comm->devs[ctsQp->devIndex].base.ibDevN, comm->base.remDevs[ctsQp->remDevIdx].ibv_dev_index, comm->base.remDevs[ctsQp->remDevIdx].lid,\n        wr.opcode, wr.send_flags, wr.imm_data, wr.wr.rdma.remote_addr, wr.wr.rdma.rkey, wr.sg_list ? wr.sg_list->length : 0, wr.sg_list ? wr.sg_list->lkey : 0);\n\n  comm->remFifo.fifoTail++;\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclIbIrecv(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles, void** phandles, void** request) {\n  struct ncclIbRecvComm* comm = (struct ncclIbRecvComm*)recvComm;\n  if (comm->base.ready == 0) {\n    WARN(\"NET/IB: ncclIbIrecv() called when comm->base.ready == 0\");\n    *request = NULL;\n    return ncclInternalError;\n  }\n  if (n > NCCL_NET_IB_MAX_RECVS) return ncclInternalError;\n  NCCLCHECK(ncclIbStatsCheckFatalCount(&comm->base.stats,__func__));\n\n  struct ncclIbRequest* req;\n  NCCLCHECK(ncclIbGetRequest(&comm->base, &req));\n  req->type = NCCL_NET_IB_REQ_RECV;\n  req->sock = &comm->base.sock;\n  req->nreqs = n;\n#ifdef NCCL_ENABLE_NET_PROFILING\n  for (int r = 0; r < n && phandles; r++) req->pInfo[r].nEventHandles = 0;\n#endif\n\n  for (int i = 0; i < comm->base.vProps.ndevs; i++) {\n    req->devBases[i] = &comm->devs[i].base;\n  }\n\n  struct ibv_recv_wr wr;\n  memset(&wr, 0, sizeof(wr));\n  wr.wr_id = req - comm->base.reqs;\n  wr.sg_list = NULL;\n  wr.num_sge = 0;\n\n  TIME_START(1);\n  // Select either all QPs, or one qp per-device\n  const int nqps = ncclParamIbSplitDataOnQps() ? comm->base.nqps : comm->base.nDataQps;\n\n  // Post recvs\n  struct ibv_recv_wr* bad_wr;\n  for (int i = 0; i < nqps; i++) {\n    struct ncclIbQp* qp = comm->base.qps + comm->base.qpIndex;\n    ncclIbAddEvent(req, qp->devIndex, &comm->devs[qp->devIndex].base);\n#ifdef NCCL_ENABLE_NET_PROFILING\n    // Start a QP event for every request in the multirecv and every qp\n    for (int r = 0; r < n; r++) {\n      int nEventHandles = req->pInfo[r].nEventHandles;\n      assert(nEventHandles < MAX_QPS_PER_REQ);\n      req->pInfo[r].qpIndex[nEventHandles] = comm->base.qpIndex;\n      // Store info for profiler\n      int64_t pluginId = NCCL_PROFILER_NET_TYPE_IB | NCCL_PROFILER_NET_IB_VER;\n      req->pInfo[r].data.type = ncclProfileQp;\n      req->pInfo[r].data.qp.device = qp->devIndex;\n      req->pInfo[r].data.qp.wr_id = wr.wr_id;\n      req->pInfo[r].data.qp.qpNum = qp->qp->qp_num;\n      NCCLCHECK(ncclProfilerFunction(&req->pInfo[r].qpEventHandles[nEventHandles], ncclProfilerNetEventStart, phandles[r], pluginId, &req->pInfo[r].data));\n      req->pInfo[r].nEventHandles++;\n    }\n#endif\n    NCCLCHECK(wrap_ibv_post_recv(qp->qp, &wr, &bad_wr));\n    comm->base.qpIndex = (comm->base.qpIndex+1)%comm->base.nqps;\n  }\n\n  TIME_STOP(1);\n\n  // Post to FIFO to notify sender\n  TIME_START(2);\n  NCCLCHECK(ncclIbPostFifo(comm, n, data, sizes, tags, mhandles, req));\n  TIME_STOP(2);\n\n  *request = req;\n  return ncclSuccess;\n}\n\nncclResult_t ncclIbIflush(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request) {\n  struct ncclIbRecvComm* comm = (struct ncclIbRecvComm*)recvComm;\n  int last = -1;\n  for (int i=0; i<n; i++) if (sizes[i]) last = i;\n  if (comm->flushEnabled == 0 || last == -1) return ncclSuccess;\n\n  // Only flush once using the last non-zero receive\n  struct ncclIbRequest* req;\n  NCCLCHECK(ncclIbGetRequest(&comm->base, &req));\n  req->type = NCCL_NET_IB_REQ_FLUSH;\n  req->sock = &comm->base.sock;\n  struct ncclIbMrHandle* mhandle = (struct ncclIbMrHandle*) mhandles[last];\n\n  // We don't know which devIndex the recv was on, so we flush on all devices\n  for (int i = 0; i < comm->base.vProps.ndevs; i++) {\n    struct ibv_send_wr wr;\n    memset(&wr, 0, sizeof(wr));\n    wr.wr_id = req - comm->base.reqs;\n    if (rcclParamIbGdrFlushGpuMemNoRelaxedOrdering()) {\n      wr.wr.rdma.remote_addr = (uint64_t)(comm->devs[i].gpuFlush.gpuFlushGpuMem);\n      wr.wr.rdma.rkey = comm->devs[i].gpuFlush.gpuMr->rkey;\n      wr.sg_list = &comm->devs[i].gpuFlush.sge;\n      wr.num_sge = 1;\n      wr.opcode = IBV_WR_RDMA_WRITE;\n      wr.send_flags = 0;\n      struct ibv_send_wr* bad_wr;\n      NCCLCHECK(wrap_ibv_post_send(comm->devs[i].gpuFlush.qp.qp, &wr, &bad_wr));\n    }\n    memset(&wr, 0, sizeof(wr));\n    wr.wr_id = req - comm->base.reqs;\n    if (rcclParamIbGdrFlushGpuMemNoRelaxedOrdering()) {\n      wr.wr.rdma.remote_addr = (uint64_t)(comm->devs[i].gpuFlush.gpuFlushGpuMem);\n      wr.wr.rdma.rkey = comm->devs[i].gpuFlush.gpuMr->rkey;\n    } else {\n      wr.wr.rdma.remote_addr = (uint64_t)data[last];\n      wr.wr.rdma.rkey = mhandle->mrs[i]->rkey;\n    }\n    wr.sg_list = &comm->devs[i].gpuFlush.sge;\n    wr.num_sge = 1;\n    wr.opcode = IBV_WR_RDMA_READ;\n    wr.send_flags = IBV_SEND_SIGNALED;\n\n    TIME_START(4);\n    struct ibv_send_wr* bad_wr;\n    NCCLCHECK(wrap_ibv_post_send(comm->devs[i].gpuFlush.qp.qp, &wr, &bad_wr));\n    TIME_STOP(4);\n\n    ncclIbAddEvent(req, i, &comm->devs[i].base);\n  }\n\n  *request = req;\n  return ncclSuccess;\n}\n\n#define HCA_NAME(req, index) ((req)->devBases[(index)]->pd->context->device->name)\n\n#ifdef NCCL_ENABLE_NET_PROFILING\nstatic int getReqQpIndex(struct ncclIbRequest* req, int request, int qpNumber) {\n  for (int i = 0; i < MAX_QPS_PER_REQ; i++) {\n    int qpIndex = req->pInfo[request].qpIndex[i];\n    if (req->base->qps[qpIndex].qp->qp_num == qpNumber) return i;\n  }\n  return 0;\n}\n#endif\n\nncclResult_t ncclIbTest(void* request, int* done, int* sizes) {\n  struct ncclIbRequest *r = (struct ncclIbRequest*)request;\n  *done = 0;\n  while (1) {\n    NCCLCHECK(ncclIbStatsCheckFatalCount(&r->base->stats,__func__));\n    if (r->events[0] == 0 && r->events[1] == 0 && r->events[2] == 0 && r->events[3] == 0) {\n      TRACE(NCCL_NET, \"r=%p done\", r);\n      *done = 1;\n      if (sizes && r->type == NCCL_NET_IB_REQ_RECV) {\n        for (int i=0; i<r->nreqs; i++) {\n          sizes[i] = r->recv.sizes[i];\n#ifdef NCCL_ENABLE_NET_PROFILING\n          for (int j = 0; j < r->pInfo[i].nEventHandles; j++) {\n            NCCLCHECK(ncclProfilerFunction(&r->pInfo[i].qpEventHandles[j], ncclProfilerNetEventStop, NULL, 0, NULL));\n          }\n#endif\n        }\n      }\n      if (sizes && r->type == NCCL_NET_IB_REQ_SEND) {\n        sizes[0] = r->send.size;\n#ifdef NCCL_ENABLE_NET_PROFILING\n        for (int j = 0; j < r->pInfo[0].nEventHandles; j++) {\n          NCCLCHECK(ncclProfilerFunction(&r->pInfo[0].qpEventHandles[j], ncclProfilerNetEventStop, NULL, 0, NULL));\n        }\n#endif\n      }\n      // Stop all remaining Qp events for this event\n      NCCLCHECK(ncclIbFreeRequest(r));\n      return ncclSuccess;\n    }\n\n    int totalWrDone = 0;\n    int wrDone = 0;\n    struct ibv_wc wcs[4];\n\n    for (int i = 0; i < NCCL_IB_MAX_DEVS_PER_NIC; i++) {\n      TIME_START(3);\n      // If we expect any completions from this device's CQ\n      if (r->events[i]) {\n        NCCLCHECK(wrap_ibv_poll_cq(r->devBases[i]->cq, 4, wcs, &wrDone));\n        totalWrDone += wrDone;\n        if (wrDone == 0) { TIME_CANCEL(3); } else { TIME_STOP(3); }\n        if (wrDone == 0) continue;\n        for (int w=0; w<wrDone; w++) {\n          struct ibv_wc *wc = wcs+w;\n          if (wc->status != IBV_WC_SUCCESS) {\n            union ncclSocketAddress addr;\n            ncclSocketGetAddr(r->sock, &addr);\n            char localGidString[INET6_ADDRSTRLEN] = \"\";\n            char remoteGidString[INET6_ADDRSTRLEN] = \"\";\n            const char* localGidStr = NULL, *remoteGidStr = NULL;\n            if (r->devBases[i]->gidInfo.link_layer == IBV_LINK_LAYER_ETHERNET) {\n              localGidStr = ibvGetGidStr(&r->devBases[i]->gidInfo.localGid, localGidString, sizeof(localGidString));\n              remoteGidStr = ibvGetGidStr(&r->base->remDevs[i].remoteGid, remoteGidString, sizeof(remoteGidString));\n            }\n\n            char line[SOCKET_NAME_MAXLEN+1];\n            char *hcaName = r->devBases[i]->pd->context->device->name;\n            WARN(\"NET/IB: Got completion from peer %s with status=%d opcode=%d len=%u vendor err %u (%s)%s%s%s%s hca %s\",\n                ncclSocketToString(&addr, line), wc->status, wc->opcode, wc->byte_len, wc->vendor_err, reqTypeStr[r->type],\n                localGidStr ?  \" localGid \":\"\", localGidString, remoteGidStr ? \" remoteGids\":\"\", remoteGidString, hcaName);\n            return ncclRemoteError;\n          }\n\n          union ncclSocketAddress addr;\n          ncclSocketGetAddr(r->sock, &addr);\n          struct ncclIbRequest* req = r->base->reqs+(wc->wr_id & 0xff);\n\n          #ifdef ENABLE_TRACE\n          char line[SOCKET_NAME_MAXLEN+1];\n          TRACE(NCCL_NET, \"Got completion from peer %s with status=%d opcode=%d len=%u wr_id=%lu r=%p type=%d events={%d,%d,%d,%d}, i=%d\",\n            ncclSocketToString(&addr, line), wc->status, wc->opcode,wc->byte_len, wc->wr_id, req, req->type, req->events[0], req->events[1], req->events[2], req->events[3], i);\n          #endif\n          if (req && req->type == NCCL_NET_IB_REQ_SEND) {\n            for (int j = 0; j < req->nreqs; j++) {\n              struct ncclIbRequest* sendReq = r->base->reqs+((wc->wr_id >> (j*8)) & 0xff);\n              if ((sendReq->events[i] <= 0)) {\n                WARN(\"NET/IB: sendReq(%p)->events={%d,%d,%d,%d}, i=%d, j=%d <= 0\", sendReq, sendReq->events[0], sendReq->events[1], sendReq->events[2], sendReq->events[3], i, j);\n                return ncclInternalError;\n              }\n              sendReq->events[i]--;\n#ifdef NCCL_ENABLE_NET_PROFILING\n              // Stop Qp event for sendReq\n              int qpIndex = getReqQpIndex(sendReq, j, wc->qp_num);\n              NCCLCHECK(ncclProfilerFunction(&sendReq->pInfo[j].qpEventHandles[qpIndex], ncclProfilerNetEventStop, NULL, 0, NULL));\n#endif\n            }\n          } else {\n            if (req && wc->opcode == IBV_WC_RECV_RDMA_WITH_IMM) {\n              if (req->type != NCCL_NET_IB_REQ_RECV) {\n                WARN(\"NET/IB: wc->opcode == IBV_WC_RECV_RDMA_WITH_IMM and req->type=%d\", req->type);\n                return ncclInternalError;\n              }\n              if (req->nreqs == 1) {\n                req->recv.sizes[0] = wc->imm_data;\n              }\n            }\n            req->events[i]--;\n#ifdef NCCL_ENABLE_NET_PROFILING\n            // Stop Qp event for workFifo\n            for (int j = 0; j < req->nreqs; j++) {\n              int qpIndex = getReqQpIndex(req, j, wc->qp_num);\n              NCCLCHECK(ncclProfilerFunction(&req->pInfo[j].qpEventHandles[qpIndex], ncclProfilerNetEventStop, NULL, 0, NULL));\n            }\n#endif\n          }\n        }\n        // Once the IB fatal event is reported in the async thread, we want to propagate this error\n        // to communicator and prevent further polling to reduce error pollution.\n        NCCLCHECK(ncclIbStatsCheckFatalCount(&ncclIbDevs[r->devBases[i]->ibDevN].stats,__func__));\n      }\n    }\n\n    // If no CQEs found on any device, return and come back later\n    if (totalWrDone == 0) return ncclSuccess;\n  }\n}\n\nncclResult_t ncclIbCloseSend(void* sendComm) {\n  struct ncclIbSendComm* comm = (struct ncclIbSendComm*)sendComm;\n  if (comm) {\n    NCCLCHECK(ncclSocketClose(&comm->base.sock));\n\n    for (int q = 0; q < comm->base.nqps; q++)\n      if (comm->base.qps[q].qp != NULL) NCCLCHECK(wrap_ibv_destroy_qp(comm->base.qps[q].qp));\n\n    for (int i = 0; i < comm->base.vProps.ndevs; i++) {\n      struct ncclIbSendCommDev* commDev = comm->devs + i;\n      if (commDev->fifoMr != NULL) NCCLCHECK(wrap_ibv_dereg_mr(commDev->fifoMr));\n      if (comm->remSizesFifo.mrs[i] != NULL) NCCLCHECK(wrap_ibv_dereg_mr(comm->remSizesFifo.mrs[i]));\n      NCCLCHECK(ncclIbDestroyBase(&commDev->base));\n    }\n    free(comm);\n  }\n  TIME_PRINT(\"IB\");\n  return ncclSuccess;\n}\n\nncclResult_t ncclIbCloseRecv(void* recvComm) {\n  struct ncclIbRecvComm* comm = (struct ncclIbRecvComm*)recvComm;\n  if (comm) {\n    NCCLCHECK(ncclSocketClose(&comm->base.sock));\n\n    for (int q = 0; q < comm->base.nqps; q++)\n      if (comm->base.qps[q].qp != NULL) NCCLCHECK(wrap_ibv_destroy_qp(comm->base.qps[q].qp));\n\n    for (int i = 0; i < comm->base.vProps.ndevs; i++) {\n      struct ncclIbRecvCommDev* commDev = comm->devs + i;\n      if (comm->flushEnabled) {\n        if (commDev->gpuFlush.gpuFlushGpuMem != nullptr) {\n          NCCLCHECK(ncclCudaFree(commDev->gpuFlush.gpuFlushGpuMem));\n          commDev->gpuFlush.gpuFlushGpuMem = nullptr;\n          if (commDev->gpuFlush.gpuMr != nullptr) NCCLCHECK(wrap_ibv_dereg_mr(commDev->gpuFlush.gpuMr));\n          commDev->gpuFlush.gpuMr = nullptr;\n          if(commDev->gpuFlush.dmabuf_fd > 0) { close(commDev->gpuFlush.dmabuf_fd);}\n        }\n        if (commDev->gpuFlush.qp.qp != NULL) NCCLCHECK(wrap_ibv_destroy_qp(commDev->gpuFlush.qp.qp));\n        if (commDev->gpuFlush.hostMr != NULL) NCCLCHECK(wrap_ibv_dereg_mr(commDev->gpuFlush.hostMr));\n      }\n      if (commDev->fifoMr != NULL) NCCLCHECK(wrap_ibv_dereg_mr(commDev->fifoMr));\n      if (commDev->sizesFifoMr != NULL) NCCLCHECK(wrap_ibv_dereg_mr(commDev->sizesFifoMr));\n      NCCLCHECK(ncclIbDestroyBase(&commDev->base));\n    }\n    free(comm);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclIbCloseListen(void* listenComm) {\n  struct ncclIbListenComm* comm = (struct ncclIbListenComm*)listenComm;\n  if (comm) {\n    NCCLCHECK(ncclSocketClose(&comm->sock));\n    free(comm);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclIbFinalize(void* ctx) {\n  netRefCount--;\n  return ncclSuccess;\n}\n\nncclResult_t rcclNetP2pPolicy(void* handle, int isP2p) {\n  if (!handle) return ncclInvalidArgument;\n  struct ncclIbHandle* ibHandle = (struct ncclIbHandle*)handle;\n  if (ibHandle->magic != NCCL_SOCKET_MAGIC) return ncclInvalidArgument;\n  ibHandle->isP2p = isP2p;\n  return ncclSuccess;\n}\n\nncclNet_t ncclNetIb = {\n  \"IB\",\n  ncclIbInit,\n  ncclIbDevices,\n  ncclIbGetProperties,\n  ncclIbListen,\n  ncclIbConnect,\n  ncclIbAccept,\n  ncclIbRegMr,\n  ncclIbRegMrDmaBuf,\n  ncclIbDeregMr,\n  ncclIbIsend,\n  ncclIbIrecv,\n  ncclIbIflush,\n  ncclIbTest,\n  ncclIbCloseSend,\n  ncclIbCloseRecv,\n  ncclIbCloseListen,\n  NULL /* getDeviceMr */,\n  NULL /* irecvConsumed */,\n  ncclIbMakeVDevice,\n  ncclIbFinalize,\n  ncclIbSetNetAttr,\n};\n\n/*\n  ncclIbSetProperties,\n  ncclIbRefreshDevices\n*/\n"
  },
  {
    "path": "src/transport/net_socket.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"core.h\"\n#include \"socket.h\"\n#include \"net.h\"\n#include \"param.h\"\n#include \"profiler/net_socket.h\"\n\n#include <pthread.h>\n#include <stdlib.h>\n#include <poll.h>\n#include <limits.h>\n#include <fcntl.h>\n#include <mutex>\n#include <condition_variable>\n\n/* Init functions */\nstatic int ncclNetIfs = -1;\nstruct ncclNetSocketDev {\n  union ncclSocketAddress addr;\n  char devName[MAX_IF_NAME_SIZE];\n  char* pciPath;\n};\nstatic struct ncclNetSocketDev ncclNetSocketDevs[MAX_IFS];\n\nstatic std::mutex ncclNetSocketMutex;\n\nstatic ncclResult_t ncclNetSocketGetPciPath(char* devName, char** pciPath) {\n  char devicePath[PATH_MAX];\n  snprintf(devicePath, PATH_MAX, \"/sys/class/net/%s/device\", devName);\n  // May return NULL if the file doesn't exist.\n  *pciPath = realpath(devicePath, NULL);\n  return ncclSuccess;\n}\n\nstatic ncclProfilerCallback_t ncclProfilerFunction;\n\n// With ncclNet_v11_t the NCCL core initializes the network plugin per-communicator\n// rather than once for all communicators. However, the internal plugin implementation\n// still assumes the plugin is initialized only once across all communicators. The ref\n// counter makes sure the plugin internally initializes only once. When per communicator\n// context support is added to the plugin the ref counter can be removed.\nstatic int netRefCount;\n\nncclResult_t ncclNetSocketInit(void** ctx, uint64_t commId, ncclNetCommConfig_t* config, ncclDebugLogger_t logFunction, ncclProfilerCallback_t profFunction) {\n  if (netRefCount++) return ncclSuccess;\n  ncclProfilerFunction = profFunction;\n  if (ncclNetIfs == -1) {\n    std::lock_guard<std::mutex> lock(ncclNetSocketMutex);\n    if (ncclNetIfs == -1) {\n      char names[MAX_IF_NAME_SIZE*MAX_IFS];\n      union ncclSocketAddress addrs[MAX_IFS];\n      NCCLCHECK(ncclFindInterfaces(names, addrs, MAX_IF_NAME_SIZE, MAX_IFS, &ncclNetIfs));\n      if (ncclNetIfs <= 0) {\n        WARN(\"NET/Socket : no interface found\");\n        return ncclInternalError;\n      } else {\n        #define MAX_LINE_LEN (2047)\n        char line[MAX_LINE_LEN+1];\n        char addrline[SOCKET_NAME_MAXLEN+1];\n        line[0] = '\\0';\n        addrline[SOCKET_NAME_MAXLEN] = '\\0';\n        for (int i=0; i<ncclNetIfs; i++) {\n          strcpy(ncclNetSocketDevs[i].devName, names+i*MAX_IF_NAME_SIZE);\n          memcpy(&ncclNetSocketDevs[i].addr, addrs+i, sizeof(union ncclSocketAddress));\n          NCCLCHECK(ncclNetSocketGetPciPath(ncclNetSocketDevs[i].devName, &ncclNetSocketDevs[i].pciPath));\n          snprintf(line+strlen(line), MAX_LINE_LEN-strlen(line), \" [%d]%s:%s\", i, names+i*MAX_IF_NAME_SIZE,\n              ncclSocketToString(&addrs[i], addrline));\n        }\n        line[MAX_LINE_LEN] = '\\0';\n        INFO(NCCL_INIT|NCCL_NET,\"NET/Socket : Using%s\", line);\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclNetSocketDevices(int* ndev) {\n  *ndev = ncclNetIfs;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ncclNetSocketGetSpeed(char* devName, int* speed) {\n  ncclResult_t ret = ncclSuccess;\n  *speed = 0;\n  char speedPath[PATH_MAX];\n  snprintf(speedPath, sizeof(speedPath), \"/sys/class/net/%s/speed\", devName);\n  int fd = -1;\n  SYSCHECKSYNC(open(speedPath, O_RDONLY), \"open\", fd);\n  if (fd != -1) {\n    char speedStr[] = \"        \";\n    int n;\n    // Allow this to silently fail\n    n = read(fd, speedStr, sizeof(speedStr)-1);\n    if (n > 0) {\n      *speed = strtol(speedStr, NULL, 0);\n    }\n  }\n  if (*speed <= 0) {\n    INFO(NCCL_NET, \"Could not get speed from %s. Defaulting to 10 Gbps.\", speedPath);\n    *speed = 10000;\n  }\n  if (fd != -1) SYSCHECK(close(fd), \"close\");\n  return ret;\n}\n\nncclResult_t ncclNetSocketGetProperties(int dev, ncclNetProperties_t* props) {\n  props->name = ncclNetSocketDevs[dev].devName;\n  props->pciPath = ncclNetSocketDevs[dev].pciPath;\n  props->guid = dev;\n  props->ptrSupport = NCCL_PTR_HOST;\n  props->regIsGlobal = 0;\n  props->forceFlush = 0;\n  NCCLCHECK(ncclNetSocketGetSpeed(props->name, &props->speed));\n  props->latency = 0; // Not set\n  props->port = 0;\n  props->maxComms = 65536;\n  props->maxRecvs = 1;\n  props->netDeviceType    = NCCL_NET_DEVICE_HOST;\n  props->netDeviceVersion = NCCL_NET_DEVICE_INVALID_VERSION;\n  props->maxP2pBytes = NCCL_MAX_NET_SIZE_BYTES;\n  props->maxCollBytes = MAX_COLLNET_SIZE;\n  props->maxMultiRequestSize = 1;\n  return ncclSuccess;\n}\n\n/* Communication functions */\n\n#define MAX_SOCKETS 64\n#define MAX_THREADS 16\n#define MAX_REQUESTS NCCL_NET_MAX_REQUESTS\n\nNCCL_PARAM(SocketInlineSize, \"SOCKET_INLINE\", /*128 B=*/1 << 7);\nNCCL_PARAM(SocketMinTaskSize, \"SOCKET_MIN_TASKSIZE\", /*64 kiB=*/1 << 16);\nNCCL_PARAM(SocketNsocksPerThread, \"NSOCKS_PERTHREAD\", -2);\nNCCL_PARAM(SocketNthreads, \"SOCKET_NTHREADS\", -2);\n\nenum ncclNetSocketCommState {\n  ncclNetSocketCommStateStart = 0,\n  ncclNetSocketCommStateConnect = 1,\n  ncclNetSocketCommStateAccept = 3,\n  ncclNetSocketCommStateSend = 4,\n  ncclNetSocketCommStateRecv = 5,\n};\n\nstruct ncclNetSocketCommStage {\n  enum ncclNetSocketCommState state;\n  uint8_t iteration;\n  struct ncclSocket* sock;\n  struct ncclNetSocketComm* comm;\n};\n\nstruct ncclNetSocketHandle {\n  union ncclSocketAddress connectAddr;\n  uint64_t magic; // random number to help debugging\n  int nSocks;\n  int nThreads;\n  struct ncclNetSocketCommStage stage;\n};\n\nstruct ncclNetSocketTask {\n  int op;\n  void* data;\n  int size;\n  struct ncclSocket* sock;\n  int offset;\n  int used;\n  ncclResult_t result;\n};\n\nstruct ncclProfilerInfo {\n  void* eHandle;\n  void* pHandle;\n};\n\nstruct ncclNetSocketRequest {\n  int op;\n  void* data;\n  int size;\n  void* inlineData;\n  struct ncclSocket* ctrlSock;\n  int offset;\n  int used;\n  struct ncclNetSocketComm* comm;\n  struct ncclNetSocketTask* tasks[MAX_SOCKETS];\n  int nSubs;\n  struct ncclProfilerInfo pInfo;\n};\n\nstruct ncclNetSocketTaskQueue {\n  int next;\n  int len;\n  struct ncclNetSocketTask* tasks;\n};\n\nstruct ncclNetSocketThreadResources {\n  struct ncclNetSocketTaskQueue threadTaskQueue;\n  int stop;\n  struct ncclNetSocketComm* comm;\n  struct ncclProfilerInfo* pInfo;\n  std::mutex threadMutex;\n  std::condition_variable threadCond;\n};\n\nstruct ncclNetSocketListenComm {\n  struct ncclSocket sock;\n  struct ncclNetSocketCommStage stage;\n  int nSocks;\n  int nThreads;\n  int dev;\n};\n\nstruct ncclNetSocketComm {\n  struct ncclSocket ctrlSock;\n  struct ncclSocket socks[MAX_SOCKETS];\n  int dev;\n  int cudaDev;\n  int nSocks;\n  int nThreads;\n  int nextSock;\n  void* inlineData;\n  struct ncclNetSocketRequest requests[MAX_REQUESTS];\n  pthread_t helperThread[MAX_THREADS];\n  struct ncclNetSocketThreadResources threadResources[MAX_THREADS];\n};\n\nvoid* persistentSocketThread(void *args_) {\n  struct ncclNetSocketThreadResources* resource = (struct ncclNetSocketThreadResources*)args_;\n  struct ncclNetSocketComm* comm = resource->comm;\n  struct ncclNetSocketTaskQueue* myQueue = &resource->threadTaskQueue;\n  int nSocksPerThread = comm->nSocks / comm->nThreads;\n#ifdef NCCL_ENABLE_NET_PROFILING\n  void* eHandle[MAX_REQUESTS*MAX_SOCKETS] = { 0 };\n#endif\n  while (1) {\n    int idle = 1;\n    int mark = myQueue->next; // mark newest task seen\n    for (int i=0; i<myQueue->len; i+=nSocksPerThread) {\n      int repeat;\n      do {\n        repeat = 0;\n        for (int j=0; j<nSocksPerThread; j++) {\n          struct ncclNetSocketTask* r = myQueue->tasks+i+j;\n          if (r != NULL && r->used == 1 && r->offset < r->size) {\n#ifdef NCCL_ENABLE_NET_PROFILING\n            if (!eHandle[i+j]) {\n              ncclProfilerNetSockDescr_v1_t data;\n              data.type = ncclProfileSocket;\n              data.sock.fd = r->sock->fd;\n              data.sock.op = r->op;\n              data.sock.length = r->size;\n              ncclProfilerFunction(&eHandle[i+j], ncclProfilerNetEventStart, resource->pInfo->pHandle, NCCL_PROFILER_NET_TYPE_SOCK | 1, &data);\n            }\n#endif\n            r->result = ncclSocketProgress(r->op, r->sock, r->data, r->size, &r->offset);\n            if (r->result != ncclSuccess) {\n#ifdef NCCL_ENABLE_NET_PROFILING\n              ncclProfilerFunction(&eHandle[i+j], ncclProfilerNetEventStop, NULL, 0, NULL);\n              eHandle[i+j] = NULL;\n#endif\n              WARN(\"NET/Socket : socket progress error\");\n              return NULL;\n            }\n            idle = 0;\n            if (r->offset < r->size) repeat = 1;\n#ifdef NCCL_ENABLE_NET_PROFILING\n            if (repeat == 0) {\n              ncclProfilerFunction(&eHandle[i+j], ncclProfilerNetEventStop, NULL, 0, NULL);\n              eHandle[i+j] = NULL;\n            }\n#endif\n          }\n        }\n      } while (repeat);\n    }\n    if (idle) {\n      std::unique_lock<std::mutex> lock(resource->threadMutex);\n      resource->threadCond.wait(lock, [&] { return mark != myQueue->next || resource->stop; });\n    }\n    if (resource->stop) return NULL;\n  }\n}\n\nncclResult_t ncclNetSocketGetNsockNthread(int dev, int* ns, int* nt) {\n  ncclResult_t ret = ncclSuccess;\n  int nSocksPerThread = ncclParamSocketNsocksPerThread();\n  int nThreads = ncclParamSocketNthreads();\n  if (nThreads > MAX_THREADS) {\n    WARN(\"NET/Socket : NCCL_SOCKET_NTHREADS is greater than the maximum allowed, setting to %d\", MAX_THREADS);\n    nThreads = MAX_THREADS;\n  }\n  int fd = -1;\n  int nSocks;\n  if (nThreads == -2 || nSocksPerThread == -2) {\n    // Auto-detection\n    int autoNt=0, autoNs=1; // By default, we only use the main thread and do not spawn extra threads\n    char vendorPath[PATH_MAX];\n    snprintf(vendorPath, PATH_MAX, \"/sys/class/net/%s/device/vendor\", ncclNetSocketDevs[dev].devName);\n    // Coverity is wrong.  NULL second argument to realpath() is OK by POSIX.1-2008.\n    // coverity[alias_transfer:FALSE]\n    char* rPath = realpath(vendorPath, NULL);\n    fd = open(rPath, O_RDONLY);\n    free(rPath);\n    if (fd == -1) {\n      // Could not find device vendor. This is handled silently so\n      // we don't want to print an INFO error.\n      TRACE(NCCL_NET, \"Open of %s failed : %s\", vendorPath, strerror(errno));\n      goto end;\n    }\n    char vendor[7];\n    strncpy(vendor, \"0x0000\", 7);\n    SYSCHECKGOTO(read(fd, vendor, 6), \"read\", ret, fail);\n    if (strcmp(vendor, \"0x1d0f\") == 0) { // AWS\n      autoNt = 2;\n      autoNs = 8;\n    } else if (strcmp(vendor, \"0x1ae0\") == 0) { // GCP\n      autoNt = 4;\n      autoNs = 1;\n    }\nend:\n    if (nThreads == -2) nThreads = autoNt;\n    if (nSocksPerThread == -2) nSocksPerThread = autoNs;\n  }\n  nSocks = nSocksPerThread * nThreads;\n  if (nSocks > MAX_SOCKETS) {\n    nSocksPerThread = MAX_SOCKETS/nThreads;\n    WARN(\"NET/Socket : the total number of sockets is greater than the maximum allowed, setting NCCL_NSOCKS_PERTHREAD to %d\", nSocksPerThread);\n    nSocks = nSocksPerThread * nThreads;\n  }\n  *ns = nSocks;\n  *nt = nThreads;\n  if (nSocks > 0) INFO(NCCL_INIT, \"NET/Socket: Using %d threads and %d sockets per thread\", nThreads, nSocksPerThread);\nexit:\n  if (fd != -1) close(fd);\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t ncclNetSocketListen(void* ctx, int dev, void* opaqueHandle, void** listenComm) {\n  if (dev < 0 || dev >= ncclNetIfs) { // data transfer socket is based on specified dev\n    WARN(\"NET/Socket : ncclNetSocketListen dev=%d ncclNetIfs=%d\", dev, ncclNetIfs);\n    return ncclInternalError;\n  }\n  ncclResult_t ret = ncclSuccess;\n  struct ncclNetSocketHandle* handle = (struct ncclNetSocketHandle*) opaqueHandle;\n  memset(handle, 0, sizeof(struct ncclNetSocketHandle));\n  static_assert(sizeof(struct ncclNetSocketHandle) <= NCCL_NET_HANDLE_MAXSIZE, \"ncclNetSocketHandle size too large\");\n  struct ncclNetSocketListenComm* comm;\n  NCCLCHECK(ncclCalloc(&comm, 1));\n  handle->magic = NCCL_SOCKET_MAGIC;\n  NCCLCHECKGOTO(ncclSocketInit(&comm->sock, &ncclNetSocketDevs[dev].addr, handle->magic, ncclSocketTypeNetSocket, NULL, 1), ret, fail);\n  NCCLCHECKGOTO(ncclSocketListen(&comm->sock), ret, fail);\n  NCCLCHECKGOTO(ncclSocketGetAddr(&comm->sock, &handle->connectAddr), ret, fail);\n  NCCLCHECKGOTO(ncclNetSocketGetNsockNthread(dev, &comm->nSocks, &comm->nThreads), ret, fail);\n  handle->nSocks = comm->nSocks;\n  handle->nThreads = comm->nThreads;\n  comm->dev = dev;\n  *listenComm = comm;\nexit:\n  return ret;\nfail:\n  (void)ncclSocketClose(&comm->sock);\n  free(comm);\n  goto exit;\n}\n\n#define SOCKET_CTRL_SIZE (sizeof(int))\nncclResult_t ncclNetSocketConnect(void* ctx, int dev, void* opaqueHandle, void** sendComm, ncclNetDeviceHandle_t** /*sendDevComm*/) {\n  if (dev < 0 || dev >= ncclNetIfs) { // data transfer socket is based on specified dev\n    return ncclInternalError;\n  }\n\n  int ready;\n  struct ncclNetSocketHandle* handle = (struct ncclNetSocketHandle*) opaqueHandle;\n  struct ncclNetSocketCommStage* stage = &handle->stage;\n  struct ncclNetSocketComm* comm = stage->comm;\n  uint8_t i = stage->iteration;\n  struct ncclSocket* sock = stage->sock;\n  *sendComm = NULL;\n\n  if (stage->state == ncclNetSocketCommStateConnect) goto socket_connect_check;\n  if (stage->state == ncclNetSocketCommStateSend) goto socket_send;\n\n  comm = new ncclNetSocketComm();\n  stage->comm = comm;\n  comm->nSocks = handle->nSocks;\n  comm->nThreads = handle->nThreads;\n  comm->dev = dev;\n  CUDACHECK(cudaGetDevice(&comm->cudaDev));\n  for (; i<comm->nSocks+1; i++) {\n    sock = (i == comm->nSocks) ? &comm->ctrlSock : comm->socks+i;\n    NCCLCHECK(ncclSocketInit(sock, &handle->connectAddr, handle->magic, ncclSocketTypeNetSocket, NULL, 1));\n\n    stage->sock = sock;\n    stage->state = ncclNetSocketCommStateConnect;\n    stage->iteration = i;\n    NCCLCHECK(ncclSocketConnect(sock));\n\nsocket_connect_check:\n    NCCLCHECK(ncclSocketReady(sock, &ready));\n    if (! ready) return ncclSuccess;\n    stage->state = ncclNetSocketCommStateSend;\n\nsocket_send:\n    int done = 0;\n    NCCLCHECK(ncclSocketProgress(NCCL_SOCKET_SEND, sock, &i, sizeof(uint8_t), &done));\n    if (done == 0) return ncclSuccess;\n  }\n  NCCLCHECK(ncclCalloc(&comm->inlineData, MAX_REQUESTS * (SOCKET_CTRL_SIZE + ncclParamSocketInlineSize())));\n  *sendComm = comm;\n  return ncclSuccess;\n}\n\nncclResult_t ncclNetSocketAccept(void* listenComm, void** recvComm, ncclNetDeviceHandle_t** /*recvDevComm*/) {\n  struct ncclNetSocketListenComm* lComm = (struct ncclNetSocketListenComm*)listenComm;\n  struct ncclNetSocketCommStage* stage = &lComm->stage;\n  struct ncclNetSocketComm* rComm = stage->comm;\n  uint8_t i = stage->iteration;\n  struct ncclSocket* sock = stage->sock;\n  int ready;\n\n  *recvComm = NULL;\n  if (stage->state == ncclNetSocketCommStateAccept) goto socket_accept_check;\n  if (stage->state == ncclNetSocketCommStateRecv) goto socket_recv;\n\n  rComm = new ncclNetSocketComm();\n  stage->comm = rComm;\n  rComm->nSocks = lComm->nSocks;\n  rComm->nThreads = lComm->nThreads;\n  rComm->dev = lComm->dev;\n  CUDACHECK(cudaGetDevice(&rComm->cudaDev));\n  for (; i<rComm->nSocks+1; i++) {\n    uint8_t sendSockIdx;\n\n    NCCLCHECK(ncclCalloc(&sock, 1));\n    NCCLCHECK(ncclSocketInit(sock));\n    stage->sock = sock;\n    stage->state = ncclNetSocketCommStateAccept;\n    stage->iteration = i;\n    NCCLCHECK(ncclSocketAccept(sock, &lComm->sock));\n\nsocket_accept_check:\n    NCCLCHECK(ncclSocketReady(sock, &ready));\n    if (!ready) return ncclSuccess;\n\n    stage->state = ncclNetSocketCommStateRecv;\nsocket_recv:\n    int done = 0;\n    NCCLCHECK(ncclSocketProgress(NCCL_SOCKET_RECV, sock, &sendSockIdx, sizeof(uint8_t), &done));\n    if (done == 0) return ncclSuccess;\n\n    if (sendSockIdx == rComm->nSocks)\n      rComm->ctrlSock = *sock;\n    else\n      rComm->socks[sendSockIdx] = *sock;\n    free(sock);\n  }\n  NCCLCHECK(ncclCalloc(&rComm->inlineData, MAX_REQUESTS * (SOCKET_CTRL_SIZE + ncclParamSocketInlineSize())));\n  *recvComm = rComm;\n\n  /* reset lComm state */\n  stage->state = ncclNetSocketCommStateStart;\n  stage->iteration = 0;\n  stage->sock = NULL;\n  stage->comm = NULL;\n  return ncclSuccess;\n}\n\nncclResult_t ncclNetSocketGetRequest(struct ncclNetSocketComm* comm, int op, void* data, int size, struct ncclNetSocketRequest** req) {\n  for (int i=0; i<MAX_REQUESTS; i++) {\n    struct ncclNetSocketRequest* r = comm->requests+i;\n    if (r->used == 0) {\n      r->op = op;\n      r->data = data;\n      r->size = size;\n      r->ctrlSock = &comm->ctrlSock;\n      r->used = 1;\n      r->comm = comm;\n      r->nSubs = 0;\n      r->inlineData = (uint8_t*)comm->inlineData + i * (SOCKET_CTRL_SIZE + ncclParamSocketInlineSize());\n      *req = r;\n      return ncclSuccess;\n    }\n  }\n  WARN(\"NET/Socket : unable to allocate requests\");\n  return ncclInternalError;\n}\n\nncclResult_t ncclNetSocketGetTask(struct ncclNetSocketComm* comm, struct ncclProfilerInfo* pInfo, int op, void* data, int size, struct ncclNetSocketTask** req) {\n  int tid = comm->nextSock % comm->nThreads;\n  struct ncclNetSocketThreadResources* res = comm->threadResources+tid;\n  struct ncclNetSocketTaskQueue* queue = &res->threadTaskQueue;\n  // create helper threads and prepare per-thread task queue\n  if (queue->tasks == NULL) {\n    // each request can be divided up to nSocks tasks, and\n    // these tasks are distributed to nThreads threads,\n    // we need to make sure each thread queue has enough slots for MAX_REQUESTS\n    queue->len = MAX_REQUESTS * DIVUP(comm->nSocks, comm->nThreads);\n    NCCLCHECK(ncclCalloc(&queue->tasks, queue->len));\n    queue->next = 0;\n    res->comm = comm;\n#ifdef NCCL_ENABLE_NET_PROFILING\n    res->pInfo = pInfo;\n#endif\n    PTHREADCHECK(pthread_create(comm->helperThread+tid, NULL, persistentSocketThread, res), \"pthread_create\");\n    ncclSetThreadName(comm->helperThread[tid], \"NCCL Sock%c%1u%2u%2u\", op == NCCL_SOCKET_SEND ? 'S' : 'R', comm->dev, tid, comm->cudaDev);\n  }\n  struct ncclNetSocketTask* r = queue->tasks+queue->next;\n  if (r->used == 0) {\n    r->op = op;\n    r->data = data;\n    r->size = size;\n    r->sock = comm->socks + comm->nextSock;\n    r->offset = 0;\n    r->result = ncclSuccess;\n    comm->nextSock = (comm->nextSock + 1) % comm->nSocks;\n    r->used = 1;\n    *req = r;\n    std::lock_guard<std::mutex> lock(res->threadMutex);\n    queue->next = (queue->next+1)%queue->len;\n    res->threadCond.notify_one();\n    return ncclSuccess;\n  }\n  WARN(\"NET/Socket : unable to allocate subtasks\");\n  return ncclInternalError;\n}\n\n// if the dataSize is smaller than the inline size, return the inline size; if not, return 0 to avoid the extra copy.\nstatic int ncclNetSocketInlineSize(int dataSize) { return (dataSize <= ncclParamSocketInlineSize()) ? dataSize : 0; }\n\nncclResult_t ncclNetSocketTest(void* request, int* done, int* size) {\n  *done = 0;\n  struct ncclNetSocketRequest *r = (struct ncclNetSocketRequest*)request;\n  if (r == NULL) {\n    WARN(\"NET/Socket : test called with NULL request\");\n    return ncclInternalError;\n  }\n  if (r->used == 1) { /* try to send/recv size (+ inline data if any) */\n    int msgSize;\n    uint8_t* msg = (uint8_t*)r->inlineData;\n    if (r->op == NCCL_SOCKET_SEND) {\n      // sender side has the right data size, copy size info + inline data to the buffer\n      int inlineSize = ncclNetSocketInlineSize(r->size);\n      msgSize = inlineSize + SOCKET_CTRL_SIZE;\n      memcpy(msg, &r->size, SOCKET_CTRL_SIZE);\n      if (inlineSize > 0) memcpy(msg + SOCKET_CTRL_SIZE, r->data, inlineSize);\n    } else {\n      // receiver side doesn't have the right data size, wait for the sender to send it\n      int sizeOffset = 0, senderSize = 0;\n      while (sizeOffset < SOCKET_CTRL_SIZE) {\n        NCCLCHECK(ncclSocketProgress(r->op, r->ctrlSock, msg, SOCKET_CTRL_SIZE, &sizeOffset));\n        if (sizeOffset == 0) return ncclSuccess; /* not ready yet*/\n      }\n      memcpy(&senderSize, msg, SOCKET_CTRL_SIZE);\n      if (senderSize > r->size) {\n        char line[SOCKET_NAME_MAXLEN + 1];\n        union ncclSocketAddress addr;\n        NCCLCHECK(ncclSocketGetAddr(r->ctrlSock, &addr));\n        WARN(\"NET/Socket : peer %s message truncated : receiving %d bytes instead of %d. If you believe your socket network is in a healthy state, \"\n             \"there may be a mismatch in collective sizes or environment settings (e.g. NCCL_PROTO, NCCL_ALGO) between ranks\",\n             ncclSocketToString(&addr, line), senderSize, r->size);\n        return ncclInvalidUsage;\n      }\n      // copy to the data buffer if we have received some inline data already\n      int receivedInline = sizeOffset - SOCKET_CTRL_SIZE;\n      if (receivedInline > 0) memcpy(r->data, msg + SOCKET_CTRL_SIZE, receivedInline);\n      // from the actual size, extract the remaining inline size to be received and redirect the msg buffer to the user data\n      r->size = senderSize;\n      msgSize = ncclNetSocketInlineSize(r->size) - receivedInline;\n      msg = (uint8_t*)r->data + receivedInline;\n    }\n    int offset = 0;\n    while (offset < msgSize) {\n      NCCLCHECK(ncclSocketProgress(r->op, r->ctrlSock, msg, msgSize, &offset));\n      if (offset == 0) return ncclSuccess; /* not ready yet*/\n    }\n    // done exchanging sizes, r->size now contains the actual size\n    r->used = 2;\n    r->offset = ncclNetSocketInlineSize(r->size);\n    int chunkOffset = r->offset, i = 0;\n    if (r->comm->nSocks > 0) {\n      // each request can be divided up to nSocks tasks, we use the size left to transfer\n      int taskSize = std::max((int)ncclParamSocketMinTaskSize(), DIVUP(r->size - r->offset, r->comm->nSocks));\n      while (chunkOffset < r->size) {\n        int chunkSize = std::min(taskSize, r->size - chunkOffset);\n        NCCLCHECK(ncclNetSocketGetTask(r->comm, &r->pInfo, r->op, (char*)(r->data) + chunkOffset, chunkSize, r->tasks + i++));\n        chunkOffset += chunkSize;\n      }\n    }\n    r->nSubs = i;\n  }\n  if (r->used == 2) { // already exchanged size\n    if (r->nSubs > 0) {\n      int nCompleted = 0;\n      for (int i=0; i<r->nSubs; i++) {\n        struct ncclNetSocketTask* sub = r->tasks[i];\n        if (sub->result != ncclSuccess) return sub->result;\n        if (sub->offset == sub->size) nCompleted++;\n      }\n      if (nCompleted == r->nSubs) {\n        if (size) *size = r->size;\n        *done = 1;\n        r->used = 0;\n        for (int i=0; i<r->nSubs; i++) {\n          struct ncclNetSocketTask* sub = r->tasks[i];\n          sub->used = 0;\n        }\n      }\n    } else { // progress request using main thread\n#ifdef NCCL_ENABLE_NET_PROFILING\n      if (!r->pInfo.eHandle) {\n        ncclProfilerNetSockDescr_v1_t data;\n        data.type = ncclProfileSocket;\n        data.sock.fd = r->ctrlSock->fd;\n        data.sock.op = r->op;\n        data.sock.length = r->size;\n        ncclProfilerFunction(&r->pInfo.eHandle, ncclProfilerNetEventStart, r->pInfo.pHandle, NCCL_PROFILER_NET_TYPE_SOCK | 1, &data);\n      }\n#endif\n      if (r->offset < r->size) {\n        NCCLCHECK(ncclSocketProgress(r->op, r->ctrlSock, r->data, r->size, &r->offset));\n      }\n      if (r->offset == r->size) {\n        if (size) *size = r->size;\n        *done = 1;\n        r->used = 0;\n#ifdef NCCL_ENABLE_NET_PROFILING\n        ncclProfilerFunction(&r->pInfo.eHandle, ncclProfilerNetEventStop, NULL, 0, NULL);\n        r->pInfo.eHandle = NULL;\n#endif\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclNetSocketRegMr(void* comm, void* data, size_t size, int type, void** mhandle) {\n  return (type != NCCL_PTR_HOST) ? ncclInternalError : ncclSuccess;\n}\nncclResult_t ncclNetSocketDeregMr(void* comm, void* mhandle) { return ncclSuccess; }\n\nncclResult_t ncclNetSocketIsend(void* sendComm, void* data, size_t size, int tag, void* mhandle, void* phandle, void** request) {\n  struct ncclNetSocketComm* comm = (struct ncclNetSocketComm*)sendComm;\n  NCCLCHECK(ncclNetSocketGetRequest(comm, NCCL_SOCKET_SEND, data, (int) size, (struct ncclNetSocketRequest**)request));\n#ifdef NCCL_ENABLE_NET_PROFILING\n  // NCCL core profiler callback\n  struct ncclNetSocketRequest* req = *(struct ncclNetSocketRequest **)request;\n  req->pInfo.pHandle = phandle;\n#endif\n  return ncclSuccess;\n}\n\nncclResult_t ncclNetSocketIrecv(void* recvComm, int n, void** data, size_t* sizes, int* tags, void** mhandles, void** phandles, void** request) {\n  struct ncclNetSocketComm* comm = (struct ncclNetSocketComm*)recvComm;\n  if (n != 1) return ncclInternalError;\n  NCCLCHECK(ncclNetSocketGetRequest(comm, NCCL_SOCKET_RECV, data[0], (int)sizes[0], (struct ncclNetSocketRequest**)request));\n#ifdef NCCL_ENABLE_NET_PROFILING\n  // NCCL core profiler callback\n  struct ncclNetSocketRequest* req = *(struct ncclNetSocketRequest **)request;\n  if (phandles) req->pInfo.pHandle = phandles[0];\n#endif\n  return ncclSuccess;\n}\n\nncclResult_t ncclNetSocketIflush(void* recvComm, int n, void** data, int* sizes, void** mhandles, void** request) {\n  // We don't support CUDA pointers, so we don't need a flush operation\n  return ncclInternalError;\n}\n\nncclResult_t ncclNetSocketCloseListen(void* opaqueComm) {\n  struct ncclNetSocketListenComm* comm = (struct ncclNetSocketListenComm*)opaqueComm;\n  if (comm) {\n    int ready;\n    NCCLCHECK(ncclSocketReady(&comm->sock, &ready));\n    if (ready) NCCLCHECK(ncclSocketClose(&comm->sock));\n    free(comm);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclNetSocketClose(void* opaqueComm) {\n  struct ncclNetSocketComm* comm = (struct ncclNetSocketComm*)opaqueComm;\n  if (comm) {\n    for (int i=0; i<comm->nThreads; i++) {\n      struct ncclNetSocketThreadResources* res = comm->threadResources+i;\n      if (comm->helperThread[i]) {\n        {\n          std::lock_guard<std::mutex> lock(res->threadMutex);\n          res->stop = 1;\n          res->threadCond.notify_one();\n        }\n        PTHREADCHECK(pthread_join(comm->helperThread[i], NULL), \"pthread_join\");\n      }\n      free(res->threadTaskQueue.tasks);\n    }\n    int ready;\n    NCCLCHECK(ncclSocketReady(&comm->ctrlSock, &ready));\n    if (ready) NCCLCHECK(ncclSocketClose(&comm->ctrlSock));\n    for (int i=0; i<comm->nSocks; i++) {\n      NCCLCHECK(ncclSocketReady(&comm->socks[i], &ready));\n      if (ready) NCCLCHECK(ncclSocketClose(&comm->socks[i]));\n    }\n    if(comm->inlineData) free(comm->inlineData);\n    delete comm;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclNetSocketFinalize(void* ctx) {\n  netRefCount--;\n  return ncclSuccess;\n}\n\nncclNet_t ncclNetSocket = {\n  \"Socket\",\n  ncclNetSocketInit,\n  ncclNetSocketDevices,\n  ncclNetSocketGetProperties,\n  ncclNetSocketListen,\n  ncclNetSocketConnect,\n  ncclNetSocketAccept,\n  ncclNetSocketRegMr,\n  NULL, // No DMA-BUF support\n  ncclNetSocketDeregMr,\n  ncclNetSocketIsend,\n  ncclNetSocketIrecv,\n  ncclNetSocketIflush,\n  ncclNetSocketTest,\n  ncclNetSocketClose,\n  ncclNetSocketClose,\n  ncclNetSocketCloseListen,\n  NULL /* getDeviceMr */,\n  NULL /* irecvConsumed */,\n  NULL /* mergeDevices */,\n  ncclNetSocketFinalize,\n  NULL /* setNetAttr */,\n};\n"
  },
  {
    "path": "src/transport/nvls.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2023, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n// Implementation of the NVLink SHARP (NVLS) transport\n\n#include \"comm.h\"\n#include \"graph.h\"\n#include \"utils.h\"\n#include \"proxy.h\"\n#include \"enqueue.h\"\n#include \"register.h\"\n#include \"transport.h\"\n#include \"register_inline.h\"\n\n#if CUDART_VERSION >= 12010\n\nstruct graphRegData {\n  uintptr_t offset;\n  size_t size;\n};\n\nstruct localRegData {\n  struct ncclReg reg;\n  intptr_t offset;\n};\n\nncclResult_t nvlsCanConnect(int* ret, struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* info1, struct ncclPeerInfo* info2) {\n  // This transport cannot be used for p2p\n  *ret = 0;\n  return ncclSuccess;\n}\n\nncclResult_t nvlsSendFree(struct ncclConnector* send) {\n  return ncclSuccess;\n}\n\nncclResult_t nvlsRecvFree(struct ncclConnector* recv) {\n  return ncclSuccess;\n}\n\nstruct ncclTransport nvlsTransport = {\n  \"NVLS\",\n  nvlsCanConnect,\n  { NULL, NULL, nvlsSendFree, NULL, NULL, NULL, NULL, NULL },\n  { NULL, NULL, nvlsRecvFree, NULL, NULL, NULL, NULL, NULL }\n};\n\nncclResult_t ncclNvlsGroupCreate(struct ncclComm *comm, CUmulticastObjectProp *prop, int rank, unsigned int nranks, CUmemGenericAllocationHandle *mcHandle, char *shareableHandle) {\n  CUmemAllocationHandleType type = ncclCuMemHandleType;\n  size_t size = prop->size;\n\n  // Create a Multicast group\n\n  INFO(NCCL_NVLS, \"NVLS Creating Multicast group nranks %d size %zu on rank %d\", nranks, size, rank);\n  CUCHECK(cuMulticastCreate(mcHandle, prop));\n\n  if (type == CU_MEM_HANDLE_TYPE_FABRIC) {\n    // Get a handle to pass to other ranks\n    CUCHECK(cuMemExportToShareableHandle(shareableHandle, *mcHandle, ncclCuMemHandleType, 0));\n  }\n  else {\n    memcpy(shareableHandle, mcHandle, sizeof(CUmemGenericAllocationHandle));\n  }\n\n  INFO(NCCL_NVLS, \"NVLS Created Multicast group %llx nranks %d size %zu on rank %d\", *mcHandle, nranks, size, rank);\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsGroupConnect(struct ncclComm *comm, char *shareableHandle, int rank, CUmemGenericAllocationHandle *mcHandle) {\n  CUmemAllocationHandleType type = ncclCuMemHandleType;\n  int fd = -1;\n  ncclResult_t ret = ncclSuccess;\n  INFO(NCCL_NVLS, \"NVLS importing shareableHandle %p from rank %d\", shareableHandle, rank);\n\n  // Import and map the remote memory descriptor to the local GPU\n  if (type == CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR) {\n    // cuMem UDS support\n    TRACE(NCCL_NVLS, \"NVLS rank %d Importing shareable handle %p from rank %d\", comm->localRank, shareableHandle, rank);\n    TRACE(NCCL_NVLS, \"NVLS rank %d request conversion of handle 0x%lx from rank %d\", comm->localRank, *(uint64_t*)shareableHandle, rank);\n    NCCLCHECKGOTO(ncclProxyClientGetFdBlocking(comm, rank, shareableHandle, &fd), ret, fail);\n    TRACE(NCCL_NVLS, \"NVLS rank %d received converted fd %d from rank %d\", comm->localRank, fd, rank);\n    CUCHECKGOTO(cuMemImportFromShareableHandle(mcHandle, (void *)(uintptr_t)fd, type), ret, fail);\n    SYSCHECK(close(fd), \"close\");\n  } else {\n    if (type == CU_MEM_HANDLE_TYPE_FABRIC) {\n      CUCHECKGOTO(cuMemImportFromShareableHandle(mcHandle, (void *)shareableHandle, type), ret, fail);\n    } else {\n      memcpy(mcHandle, shareableHandle, sizeof(CUmemGenericAllocationHandle));\n    }\n  }\nexit:\n  return ret;\nfail:\n  if (fd != -1) close(fd);\n  goto exit;\n}\n\nncclResult_t nvlsGroupUnbind(struct ncclComm *comm, size_t size, CUmemGenericAllocationHandle* mcHandle) {\n  int dev = comm->cudaDev;\n  INFO(NCCL_NVLS, \"NVLS Unbind MC handle %llx size %zu dev %d\", *mcHandle, size, dev);\n\n  // Unbind physical memory from group for the given device\n  if (size) CUCHECK(cuMulticastUnbind(*mcHandle, dev, 0/*mcOffset*/, size));\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsDeregBuffer(struct ncclComm* comm, CUmemGenericAllocationHandle *mcHandler, CUdeviceptr ptr, int dev, size_t ucsize, size_t mcsize) {\n  // unbind can trigger RM error if buffer is freed already by users\n  // however, it is safe to ignore the error, and unbind will succeed anyway\n  CUCALL(cuMulticastUnbind(*mcHandler, dev, 0/*mcOffset*/, ucsize));\n  CUCHECK(cuMemUnmap(ptr, mcsize));\n  CUCHECK(cuMemAddressFree(ptr, mcsize));\n  CUCHECK(cuMemRelease(*mcHandler));\n  INFO(NCCL_NVLS, \"rank %d - NVLS deregistered buffer %p on device %d ucsize %ld mcsize %ld\", comm->rank, (void*)ptr, dev, ucsize, mcsize);\n  return ncclSuccess;\n}\n\nncclResult_t nvlsGroupUnmapMem(struct ncclComm *comm, size_t ucsize, void* ucptr, CUmemGenericAllocationHandle* ucHandle, size_t mcsize, void* mcptr, CUmemGenericAllocationHandle* mcHandle) {\n  INFO(NCCL_NVLS, \"NVLS Unmap mem UC handle 0x%llx(%p) ucsize %zu MC handle 0x%llx(%p) mcsize %zd\", *ucHandle, ucptr, ucsize, *mcHandle, mcptr, mcsize);\n\n  // Release the UC memory and mapping\n  if (ucptr) {\n    CUCHECK(cuMemUnmap((CUdeviceptr)ucptr, ucsize));\n    CUCHECK(cuMemAddressFree((CUdeviceptr)ucptr, ucsize));\n    CUCHECK(cuMemRelease(*ucHandle));\n  }\n\n  // Release the MC memory and mapping\n  if (mcptr) {\n    CUCHECK(cuMemUnmap((CUdeviceptr)mcptr, mcsize));\n    CUCHECK(cuMemAddressFree((CUdeviceptr)mcptr, mcsize));\n    CUCHECK(cuMemRelease(*mcHandle));\n  }\n\n  return ncclSuccess;\n}\n\n#include \"bootstrap.h\"\n#include \"channel.h\"\n\n#define NVLS_MEM_ALIGN_SIZE (1 << 21)\n#define NVLS_NCHANNELS_SM90 16\n#define NVLS_NCHANNELS_SM100 32\n#define NVLS_NCHANNELS_SM100_NVL 24\n\nNCCL_PARAM(NvlsEnable, \"NVLS_ENABLE\", 2);\nNCCL_PARAM(NvlsChunkSize, \"NVLS_CHUNKSIZE\", 128*1024);\n\nncclResult_t ncclNvlsInit(struct ncclComm* comm) {\n  comm->nvlsSupport = 0;\n  comm->nvlsChannels = 0;\n\n  int gpuCount;\n  NCCLCHECK(ncclTopoGetGpuCount(comm->topo, &gpuCount));\n  if (!ncclParamNvlsEnable() || gpuCount <= 2) return ncclSuccess;\n\n  CUdevice dev;\n  int driverVersion;\n\n  if (CUPFN(cuDeviceGet) == NULL) return ncclSuccess;\n  CUCHECK(cuCtxGetDevice(&dev));\n  CUDACHECK(cudaDriverGetVersion(&driverVersion));\n  if (ncclParamNvlsEnable() == 2) {\n    // NVLS Multicast support requires CUDA12.1 UMD + KMD\n    if (CUPFN(cuMulticastCreate) != NULL /*&& driverVersion >= 12010 */) {\n      CUCHECK(cuDeviceGetAttribute(&comm->nvlsSupport, CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED, dev));\n    }\n  } else {\n    comm->nvlsSupport = 1;\n  }\n\n  if (comm->nvlsSupport) {\n    int channels;\n    if (comm->compCap >= 100) {\n      // Use a reduced number of channels for single node/MNNVL domain on Blackwell.\n      // comm->nNodes is not yet initialized at this point so we need to use other data.\n      bool multiNode;\n      if (comm->MNNVL) {\n        multiNode = (comm->clique.size < comm->nRanks);\n      } else {\n        int i;\n        for (i = 1; i < comm->nRanks; i++) {\n          if (comm->peerInfo[i].hostHash != comm->peerInfo[0].hostHash)\n            break;\n        }\n        multiNode = (i < comm->nRanks);\n      }\n      channels = (multiNode ? NVLS_NCHANNELS_SM100 : NVLS_NCHANNELS_SM100_NVL);\n    } else {\n      channels = NVLS_NCHANNELS_SM90;\n    }\n    if (comm->config.nvlsCTAs != NCCL_CONFIG_UNDEF_INT) channels = comm->config.nvlsCTAs;\n    comm->nvlsChannels = std::max(comm->config.minCTAs, std::min(comm->config.maxCTAs, channels));\n  }\n  INFO(NCCL_INIT, \"NVLS multicast support is %savailable on dev %d (NVLS_NCHANNELS %d)\",\n       comm->nvlsSupport ? \"\" : \"not \", dev, comm->nvlsChannels);\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsTreeConnect(struct ncclComm* comm) {\n  ncclResult_t ret = ncclSuccess;\n  if (comm && comm->nvlsSupport && comm->nNodes > 1) {\n    for (int c = 0; c < comm->nvlsChannels; c++) {\n      struct ncclChannel* channel = comm->channels + c;\n      NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, NCCL_MAX_NVLS_TREE_ARITY, channel->nvls.treeDown, 1, &channel->nvls.treeUp, 0), ret, fail);\n      NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, 1, &channel->nvls.treeUp, NCCL_MAX_NVLS_TREE_ARITY, channel->nvls.treeDown, 0), ret, fail);\n    }\n    NCCLCHECKGOTO(ncclTransportP2pSetup(comm, &comm->graphs[NCCL_ALGO_NVLS], 0), ret, fail);\n    INFO(NCCL_INIT, \"Connected NVLS tree\");\n  }\nexit:\n  return ret;\nfail:\n  goto exit;\n}\n\nstatic ncclResult_t nvlsAllocateMem(struct ncclComm* comm, const CUmemAccessDesc* desc, size_t size, CUmemGenericAllocationHandle* ucHandle, CUmemGenericAllocationHandle* mcHandle, void** ucptr, void** mcptr, size_t* ucsizePtr, size_t* mcsizePtr) {\n  char shareableHandle[NVLS_HANDLE_SIZE];\n  CUmulticastObjectProp mcprop;\n  CUmemAllocationProp ucprop;\n  ncclResult_t ret = ncclSuccess;\n  size_t mcsize;\n  size_t ucsize;\n  size_t ucgran, mcgran;\n  int allocMcHandle = 0;\n\n  mcsize = ucsize = size;\n  *ucptr = *mcptr = NULL;\n  memset(shareableHandle, '\\0', sizeof(shareableHandle));\n  memset(&mcprop, 0, sizeof(CUmulticastObjectProp));\n  mcprop.numDevices = comm->localRanks;\n  mcprop.handleTypes = ncclCuMemHandleType;\n  mcprop.flags = 0;\n  mcprop.size = size;\n  CUCHECKGOTO(cuMulticastGetGranularity(&mcgran, &mcprop, CU_MULTICAST_GRANULARITY_RECOMMENDED), ret, fail);\n  ALIGN_SIZE(mcsize, mcgran);\n  mcprop.size = mcsize;\n\n  if (comm->localRank == 0) {\n    NCCLCHECKGOTO(ncclNvlsGroupCreate(comm, &mcprop, comm->localRank, comm->localRanks, mcHandle, shareableHandle), ret, fail);\n    allocMcHandle = 1;\n    NCCLCHECKGOTO(bootstrapIntraNodeBroadcast(comm->bootstrap, comm->localRankToRank, comm->localRank, comm->localRanks, 0, shareableHandle, NVLS_HANDLE_SIZE), ret, fail);\n  } else {\n    NCCLCHECKGOTO(bootstrapIntraNodeBroadcast(comm->bootstrap, comm->localRankToRank, comm->localRank, comm->localRanks, 0, shareableHandle, NVLS_HANDLE_SIZE), ret, fail);\n    NCCLCHECKGOTO(ncclNvlsGroupConnect(comm, shareableHandle, comm->localRankToRank[0], mcHandle), ret, fail);\n    allocMcHandle = 1;\n  }\n\n  CUCHECKGOTO(cuMulticastAddDevice(*mcHandle, comm->cudaDev), ret, fail);\n\n  memset(&ucprop, 0, sizeof(CUmemAllocationProp));\n  ucprop.type = CU_MEM_ALLOCATION_TYPE_PINNED;\n  ucprop.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n  ucprop.location.id = comm->cudaDev;\n  ucprop.requestedHandleTypes = ncclCuMemHandleType;\n  CUCHECKGOTO(cuMemGetAllocationGranularity(&ucgran, &ucprop, CU_MEM_ALLOC_GRANULARITY_RECOMMENDED), ret, fail);\n  ALIGN_SIZE(ucsize, ucgran);\n  // Map a VA for UC memory with MC alignment and size\n  CUCHECKGOTO(cuMemAddressReserve((CUdeviceptr*)ucptr, ucsize, ucgran, 0U, 0), ret, fail);\n\n  // Alloc local physical mem for this NVLS group\n  CUCHECKGOTO(cuMemCreate(ucHandle, ucsize, &ucprop, 0), ret, fail1);\n  CUCHECKGOTO(cuMemMap((CUdeviceptr)*ucptr, ucsize, 0, *ucHandle, 0), ret, fail2);\n  CUCHECKGOTO(cuMemSetAccess((CUdeviceptr)*ucptr, ucsize, desc, 1), ret, fail3);\n  CUDACHECKGOTO(cudaMemset(*ucptr, 0, ucsize), ret, fail3);\n\n  // intra-node barrier to mitigate the possible hang in cuMulticastBindMem during abort\n  NCCLCHECKGOTO(bootstrapIntraNodeBarrier(comm->bootstrap, comm->localRankToRank, comm->localRank, comm->localRanks, comm->localRankToRank[0]), ret, fail3);\n  // Bind physical memory to the Multicast group\n  // NB: It will block until all ranks have been added to the Group\n  // This is where we normally see issues if the system NVLS/Multicast support is broken\n  {\n    CUresult err = CUPFN(cuMulticastBindMem(*mcHandle, 0/*mcOffset*/, *ucHandle, 0/*memOffset*/, ucsize, 0/*flags*/));\n    if (err != CUDA_SUCCESS) {\n      const char *errStr;\t\t\t\t\t\t\\\n      (void) pfn_cuGetErrorString(err, &errStr);\t\t\t\\\n      if (ncclParamNvlsEnable() == 1) {\n        // Fail the job as NVLS support is not available\n        WARN(\"Failed to bind NVLink SHARP (NVLS) Multicast memory of size %ld : CUDA error %d '%s'.\\nThis is usually caused by a system or configuration error in the Fabric Manager or NVSwitches.\\nDo not force-enable NVLS (NCCL_NVLS_ENABLE=1) if you wish to avoid this error in the future.\", ucsize, err, errStr );\n        ret = ncclUnhandledCudaError;\n      } else {\n        // Continue without NVLS support (returns ncclSuccess)\n        INFO(NCCL_INIT|NCCL_NVLS, \"Failed to bind NVLink SHARP (NVLS) Multicast memory of size %ld : CUDA error %d '%s'. Proceeding without NVLS support.\", ucsize, err, errStr);\n      }\n      comm->nvlsSupport = comm->nvlsChannels = 0;\n      goto fail3;\n   }\n  }\n\n  // Map mc virtual address\n  CUCHECKGOTO(cuMemAddressReserve((CUdeviceptr*)mcptr, mcsize, mcgran, 0U, 0), ret, fail);\n  CUCHECKGOTO(cuMemMap((CUdeviceptr)*mcptr, mcsize, 0, *mcHandle, 0), ret, fail);\n  CUCHECKGOTO(cuMemSetAccess((CUdeviceptr)*mcptr, mcsize, desc, 1), ret, fail);\n  *ucsizePtr = ucsize;\n  *mcsizePtr = mcsize;\n  INFO(NCCL_NVLS, \"NVLS rank %d (dev %d) alloc done, ucptr %p ucgran %ld mcptr %p mcgran %ld ucsize %ld mcsize %ld (inputsize %ld)\", comm->rank, comm->cudaDev, *ucptr, ucgran, *mcptr, mcgran, ucsize, mcsize, size);\n\nexit:\n  return ret;\nfail3:\n  CUCHECK(cuMemUnmap((CUdeviceptr)*ucptr, ucsize));\nfail2:\n  CUCHECK(cuMemRelease(*ucHandle));\nfail1:\n  CUCHECK(cuMemAddressFree((CUdeviceptr)*ucptr, ucsize));\nfail:\n  if (allocMcHandle && *mcptr == NULL && *ucptr == NULL) CUCHECK(cuMemRelease(*mcHandle));\n  goto exit;\n}\n\nncclResult_t ncclNvlsBufferSetup(struct ncclComm* comm) {\n  int nHeads = -1;\n  int headRank = -1;\n  ncclResult_t res = ncclSuccess;\n  int nvlsStepSize = -1;\n  size_t buffSize = 0;\n  size_t nvlsPerRankSize = 0;\n  size_t nvlsTotalSize = 0;\n  struct ncclNvlsSharedRes* resources = NULL;\n  int nChannels = -1;\n  cudaStream_t deviceStream, hostStream;\n\n  if (comm->nvlsSupport == 0 || comm->nvlsResources->inited) return ncclSuccess;\n  // initialize after checking comm->nvlsSupport\n  nHeads = comm->channels[0].nvls.nHeads;\n  headRank = comm->channels[0].nvls.headRank;\n  resources = comm->nvlsResources;\n  nChannels = comm->nvlsChannels;\n  nvlsStepSize = comm->nvlsChunkSize;\n  buffSize = nvlsStepSize * NCCL_STEPS;\n  nvlsPerRankSize = nChannels * 2 * buffSize;\n  nvlsTotalSize = nvlsPerRankSize * nHeads;\n\n  INFO(NCCL_INIT | NCCL_NVLS, \"NVLS comm %p headRank %d nHeads %d nvlsRanks %d buffSize %zu nvlsPerRankSize %zu nvlsTotalSize %zu\",\n       comm, headRank, nHeads, comm->localRanks, buffSize, nvlsPerRankSize, nvlsTotalSize);\n\n  NCCLCHECKGOTO(nvlsAllocateMem(comm, &resources->accessDesc, nvlsTotalSize, &resources->ucBuffHandle, &resources->mcBuffHandle, (void**)&resources->ucBuff, (void**)&resources->mcBuff, &resources->buffUCSize, &resources->buffMCSize), res, fail);\n\n  NCCLCHECKGOTO(ncclStrongStreamAcquire(ncclCudaGraphNone(), &comm->sharedRes->hostStream, /*concurrent=*/false, &hostStream), res, fail);\n  NCCLCHECKGOTO(ncclStrongStreamAcquire(ncclCudaGraphNone(), &comm->sharedRes->deviceStream, /*concurrent=*/false, &deviceStream), res, fail);\n  for (int h = 0; h < nHeads; h++) {\n    int nvlsPeer = comm->nRanks + 1 + h;\n    for (int c = 0; c < nChannels; c++) {\n      struct ncclChannel* channel = comm->channels + c;\n      struct ncclChannelPeer* peer = channel->peers[nvlsPeer];\n\n      // Reduce UC -> MC\n      peer->send[1].conn.buffs[NCCL_PROTO_SIMPLE] = resources->ucBuff + (h * 2 * nChannels + c) * buffSize;\n      peer->recv[0].conn.buffs[NCCL_PROTO_SIMPLE] = resources->mcBuff + (h * 2 * nChannels + c) * buffSize;\n\n      // Broadcast MC -> UC\n      peer->recv[1].conn.buffs[NCCL_PROTO_SIMPLE] = resources->ucBuff + ((h * 2 + 1) * nChannels + c) * buffSize;\n      peer->send[0].conn.buffs[NCCL_PROTO_SIMPLE] = resources->mcBuff + ((h * 2 + 1) * nChannels + c) * buffSize;\n\n      CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[nvlsPeer]->send[0], &peer->send[0].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, hostStream), res, fail);\n      CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[nvlsPeer]->recv[0], &peer->recv[0].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, hostStream), res, fail);\n      CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[nvlsPeer]->send[1], &peer->send[1].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, hostStream), res, fail);\n      CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[nvlsPeer]->recv[1], &peer->recv[1].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, hostStream), res, fail);\n    }\n  }\n\n  NCCLCHECKGOTO(ncclStreamWaitStream(deviceStream, hostStream, comm->sharedRes->scratchEvent), res, fail);\n  NCCLCHECKGOTO(ncclStrongStreamRelease(ncclCudaGraphNone(), &comm->sharedRes->deviceStream, /*concurrent=*/false), res, fail);\n  NCCLCHECKGOTO(ncclStrongStreamRelease(ncclCudaGraphNone(), &comm->sharedRes->hostStream, /*concurrent=*/false), res, fail);\n  // For now, the barrier is a must that guarantees all buffers are mc-mapped before accessing peer's buffer\n  NCCLCHECKGOTO(bootstrapIntraNodeBarrier(comm->bootstrap, comm->localRankToRank, comm->localRank, comm->localRanks, comm->localRankToRank[0]), res, fail);\n  comm->nvlsResources->inited = true;\n\nexit:\n  return res;\nfail:\n  comm->nvlsResources->inited = false;\n  goto exit;\n}\n\nncclResult_t ncclNvlsSetup(struct ncclComm* comm, struct ncclComm* parent) {\n  ncclResult_t res = ncclSuccess;\n  size_t typeSize;\n  char shmPath[sizeof(\"/dev/shm/nccl-XXXXXX\")];\n  uintptr_t *nvlsShmem = NULL;\n  bool nvlsShare = parent && parent->nvlsSupport && parent->shareResources && parent->localRanks == comm->localRanks;\n\n  if (comm->nvlsSupport == 0 || comm->nvlsChannels == 0) return ncclSuccess;\n\n  comm->nvlsChunkSize = ncclParamNvlsChunkSize();\n  if (nvlsShare) {\n    /* reuse NVLS resources */\n    comm->nvlsChannels = std::min(comm->nvlsChannels, parent->nvlsResources->nChannels);\n    for (int c = 0; c < comm->nvlsChannels; c++) {\n      NCCLCHECKGOTO(initNvlsChannel(comm, c, parent, true), res, fail);\n    }\n\n    comm->nvlsResources = parent->nvlsResources;\n    ncclAtomicRefCountIncrement(&parent->nvlsResources->refCount);\n  } else {\n    struct ncclNvlsSharedRes* resources = NULL;\n    int nHeads = comm->channels[0].nvls.nHeads;\n    int nChannels = comm->nvlsChannels;\n    size_t memSize = 64;\n    size_t creditSize = nChannels * 2 * memSize * nHeads;\n    int nvlsStepSize = comm->nvlsChunkSize;\n    cudaStream_t hostStream, deviceStream;\n\n    NCCLCHECKGOTO(ncclCalloc(&comm->nvlsResources, 1), res, fail);\n    comm->nvlsResources->inited = false;\n    comm->nvlsResources->refCount = 1;\n    comm->nvlsResources->nChannels = comm->nvlsChannels;\n    comm->nvlsResources->nHeads = nHeads;\n    resources = comm->nvlsResources;\n\n    if (parent && parent->nvlsSupport && parent->shareResources) {\n      /* ranks on other nodes might share the NVLS resources, we need to cap nvlsChannels\n       * to make sure nvlsChannels match for each rank. */\n      comm->nvlsChannels = std::min(comm->nvlsChannels, parent->nvlsResources->nChannels);\n    }\n    comm->nvlsResources->nChannels = comm->nvlsChannels;\n\n    for (int c = 0; c < nChannels; c++) {\n      NCCLCHECKGOTO(initNvlsChannel(comm, c, NULL, false), res, fail);\n    }\n\n    memset(&resources->accessDesc, 0, sizeof(resources->accessDesc));\n    resources->accessDesc.flags = CU_MEM_ACCESS_FLAGS_PROT_READWRITE;\n    resources->accessDesc.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n    resources->accessDesc.location.id = comm->cudaDev;\n    resources->dev = comm->cudaDev;\n\n    NCCLCHECKGOTO(nvlsAllocateMem(comm, &resources->accessDesc, creditSize, &resources->ucCreditHandle, &resources->mcCreditHandle, (void**)&resources->ucCredit, (void**)&resources->mcCredit, &resources->creditUCSize, &resources->creditMCSize), res, fail);\n\n    // Set up head and tail only for now\n    NCCLCHECKGOTO(ncclStrongStreamAcquire(ncclCudaGraphNone(), &comm->sharedRes->hostStream, /*concurrent=*/false, &hostStream), res, fail);\n    NCCLCHECKGOTO(ncclStrongStreamAcquire(ncclCudaGraphNone(), &comm->sharedRes->deviceStream, /*concurrent=*/false, &deviceStream), res, fail);\n    for (int h = 0; h < nHeads; h++) {\n      int nvlsPeer = comm->nRanks + 1 + h;\n      for (int c = 0; c < nChannels; c++) {\n        struct ncclChannel* channel = comm->channels + c;\n        char* mem = NULL;\n        struct ncclChannelPeer* peer = channel->peers[nvlsPeer];\n\n        // Reduce UC -> MC\n        mem = resources->ucCredit + (h * 2 * nChannels + c) * memSize;\n        peer->send[1].transportComm = &nvlsTransport.send;\n        peer->send[1].conn.buffs[NCCL_PROTO_SIMPLE] = NULL;\n        peer->send[1].conn.head = (uint64_t*)mem;\n        peer->send[1].conn.tail = (uint64_t*)(mem + memSize / 2);\n        peer->send[1].conn.stepSize = nvlsStepSize;\n        mem = resources->mcCredit + (h * 2 * nChannels + c) * memSize;\n        peer->recv[0].transportComm = &nvlsTransport.recv;\n        peer->recv[0].conn.buffs[NCCL_PROTO_SIMPLE] = NULL;\n        peer->recv[0].conn.head = (uint64_t*)mem;\n        peer->recv[0].conn.tail = (uint64_t*)(mem + memSize / 2);\n        peer->recv[0].conn.stepSize = nvlsStepSize;\n        peer->recv[0].conn.flags |= NCCL_NVLS_MIN_POLL;\n\n        // Broadcast MC -> UC\n        mem = resources->ucCredit + ((h * 2 + 1) * nChannels + c) * memSize;\n        peer->recv[1].transportComm = &nvlsTransport.recv;\n        peer->recv[1].conn.buffs[NCCL_PROTO_SIMPLE] = NULL;\n        peer->recv[1].conn.head = (uint64_t*)mem;\n        peer->recv[1].conn.tail = (uint64_t*)(mem + memSize / 2);\n        peer->recv[1].conn.stepSize = nvlsStepSize;\n        mem = resources->mcCredit + ((h * 2 + 1) * nChannels + c) * memSize;\n        peer->send[0].transportComm = &nvlsTransport.send;\n        peer->send[0].conn.buffs[NCCL_PROTO_SIMPLE] = NULL;\n        peer->send[0].conn.head = (uint64_t*)mem;\n        peer->send[0].conn.tail = (uint64_t*)(mem + memSize / 2);\n        peer->send[0].conn.stepSize = nvlsStepSize;\n        peer->send[0].conn.flags |= NCCL_NVLS_MIN_POLL;\n\n        CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[nvlsPeer]->send[0], &peer->send[0].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, hostStream), res, fail);\n        CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[nvlsPeer]->recv[0], &peer->recv[0].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, hostStream), res, fail);\n        CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[nvlsPeer]->send[1], &peer->send[1].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, hostStream), res, fail);\n        CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[nvlsPeer]->recv[1], &peer->recv[1].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, hostStream), res, fail);\n      }\n    }\n    NCCLCHECKGOTO(ncclStreamWaitStream(deviceStream, hostStream, comm->sharedRes->scratchEvent), res, fail);\n    NCCLCHECKGOTO(ncclStrongStreamRelease(ncclCudaGraphNone(), &comm->sharedRes->hostStream, /*concurrent=*/false), res, fail);\n    NCCLCHECKGOTO(ncclStrongStreamRelease(ncclCudaGraphNone(), &comm->sharedRes->deviceStream, /*concurrent=*/false), res, fail);\n  }\n\n  // MNNVL does not support NVLS buffer registration\n  if (!comm->MNNVL && comm->nvlsResources->nvlsShmemHandle == NULL) {\n    /* create shared memory for fast NVLS buffer registration */\n    typeSize = DIVUP(sizeof(struct localRegData) << 1, CACHE_LINE_SIZE) * CACHE_LINE_SIZE;\n\n    if (comm->localRank == 0) {\n      shmPath[0] = '\\0';\n      NCCLCHECKGOTO(ncclShmOpen(shmPath, sizeof(shmPath), (CACHE_LINE_SIZE * comm->localRanks + typeSize * comm->localRanks) * 2, (void**)&nvlsShmem, NULL, comm->localRanks - 1, &comm->nvlsResources->nvlsShmemHandle), res, fail);\n      NCCLCHECKGOTO(bootstrapIntraNodeBroadcast(comm->bootstrap, comm->localRankToRank, comm->localRank, comm->localRanks, 0, shmPath, sizeof(shmPath)), res, fail);\n    } else {\n      NCCLCHECKGOTO(bootstrapIntraNodeBroadcast(comm->bootstrap, comm->localRankToRank, comm->localRank, comm->localRanks, 0, shmPath, sizeof(shmPath)), res, fail);\n      NCCLCHECKGOTO(ncclShmOpen(shmPath, sizeof(shmPath), (CACHE_LINE_SIZE * comm->localRanks + typeSize * comm->localRanks) * 2, (void**)&nvlsShmem, NULL, -1, &comm->nvlsResources->nvlsShmemHandle), res, fail);\n    }\n    /* need 2 pools and a shared counter for shmem-based collectives */\n    comm->nvlsResources->nvlsShmem.cnt[0] = (size_t*)nvlsShmem;\n    comm->nvlsResources->nvlsShmem.ptr[0] = (void*)((char*)comm->nvlsResources->nvlsShmem.cnt[0] + CACHE_LINE_SIZE * comm->localRanks);\n    comm->nvlsResources->nvlsShmem.cnt[1] = (size_t*)((char*)comm->nvlsResources->nvlsShmem.ptr[0] + typeSize * comm->localRanks);\n    comm->nvlsResources->nvlsShmem.ptr[1] = (void*)((char*)comm->nvlsResources->nvlsShmem.cnt[1] + CACHE_LINE_SIZE * comm->localRanks);\n    comm->nvlsResources->nvlsShmem.round = 0;\n    comm->nvlsResources->nvlsShmem.maxTypeSize = typeSize;\n  }\n\nexit:\n  return res;\nfail:\n  comm->nvlsSupport = 0;\n  goto exit;\n}\n\nncclResult_t ncclNvlsFree(struct ncclComm* comm) {\n  struct ncclNvlsSharedRes* resources = (struct ncclNvlsSharedRes*)comm->nvlsResources;\n  if (resources == NULL) return ncclSuccess;\n\n  if (ncclAtomicRefCountDecrement(&resources->refCount) == 0) {\n    if (!comm->MNNVL && resources->nvlsShmemHandle)\n      NCCLCHECK(ncclShmClose(resources->nvlsShmemHandle));\n\n    if (resources->ucCredit || resources->mcCredit) {\n      NCCLCHECK(nvlsGroupUnbind(comm, resources->creditUCSize, &resources->mcCreditHandle));\n      NCCLCHECK(nvlsGroupUnmapMem(comm, resources->creditUCSize, resources->ucCredit, &resources->ucCreditHandle, resources->creditMCSize, resources->mcCredit, &resources->mcCreditHandle));\n    }\n\n    if (comm->nvlsResources->inited) {\n      NCCLCHECK(nvlsGroupUnbind(comm, resources->buffUCSize, &resources->mcBuffHandle));\n      NCCLCHECK(nvlsGroupUnmapMem(comm, resources->buffUCSize, resources->ucBuff, &resources->ucBuffHandle, resources->buffMCSize, resources->mcBuff, &resources->mcBuffHandle));\n    }\n    free(resources);\n    comm->nvlsResources = NULL;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t tryRegisterBuffer(struct ncclComm *comm, uintptr_t userBuff, size_t buffSize, CUdeviceptr *regAddr, int *regUsed) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclReg *regRecord = NULL;\n  CUdeviceptr regPtr = 0;\n  CUmulticastObjectProp mcprop;\n  CUmemAllocationProp ucprop;\n  char shareableHandle[NVLS_HANDLE_SIZE];\n  CUmemGenericAllocationHandle mcHandle;\n  size_t minSize = SIZE_MAX;\n  struct localRegData* regData = NULL;\n  cudaPointerAttributes attr;\n  size_t ucgran, mcgran, ucsize, mcsize;\n\n  NCCLCHECKGOTO(ncclCalloc(&regData, comm->localRanks), ret, fail);\n\n  if (userBuff) {\n    NCCLCHECKGOTO(ncclRegFind(comm, (void*)userBuff, buffSize, &regRecord), ret, fail);\n    if (regRecord) {\n      CUDACHECKGOTO(cudaPointerGetAttributes(&attr, (void*)regRecord->begAddr), ret, fail);\n      if (attr.type == cudaMemoryTypeDevice) {\n        size_t regSize = regRecord->endAddr - regRecord->begAddr;\n        memset(&mcprop, 0, sizeof(CUmulticastObjectProp));\n        mcprop.numDevices = comm->localRanks;\n        mcprop.handleTypes = ncclCuMemHandleType;\n        mcprop.flags = 0;\n        mcprop.size = regSize;\n        CUCHECKGOTO(cuMulticastGetGranularity(&mcgran, &mcprop, CU_MULTICAST_GRANULARITY_RECOMMENDED), ret, fail);\n\n        memset(&ucprop, 0, sizeof(CUmemAllocationProp));\n        ucprop.type = CU_MEM_ALLOCATION_TYPE_PINNED;\n        ucprop.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n        ucprop.location.id = comm->cudaDev;\n        ucprop.requestedHandleTypes = ncclCuMemHandleType;\n        CUCHECKGOTO(cuMemGetAllocationGranularity(&ucgran, &ucprop, CU_MEM_ALLOC_GRANULARITY_RECOMMENDED), ret, fail);\n\n        if (regRecord->begAddr % ucgran == 0) {\n          if (regSize % ucgran != 0) {\n            regRecord->regUCSize = ALIGN_SIZE(regSize, ucgran);\n          } else {\n            regRecord->regUCSize = regSize;\n          }\n          regRecord->state |= NVLS_REG_POSSIBLE;\n          memcpy(&regData[comm->localRank].reg, regRecord, sizeof(struct ncclReg));\n          regData[comm->localRank].offset = userBuff - regRecord->begAddr;\n        }\n      }\n\n      if ((regRecord->state & NVLS_REG_POSSIBLE) == 0) {\n        regRecord->state |= NVLS_REG_NO_SUPPORT;\n      }\n    }\n  }\n\n  NCCLCHECKGOTO(ncclShmemAllgather(comm, &comm->nvlsResources->nvlsShmem, regData + comm->localRank, regData, sizeof(struct localRegData)), ret, fail);\n\n  for (int i = 0; i < comm->localRanks; ++i) {\n    if ((regData[i].reg.state & NVLS_REG_POSSIBLE) == 0) {\n      goto fail;\n    }\n    /* get minimal reg size of nvls buffers */\n    if (minSize > regData[i].reg.regUCSize)\n      minSize = regData[i].reg.regUCSize;\n  }\n\n  /* start registration */\n  mcsize = ucsize = minSize;\n  mcprop.size = minSize;\n  CUCHECKGOTO(cuMulticastGetGranularity(&mcgran, &mcprop, CU_MULTICAST_GRANULARITY_RECOMMENDED), ret, fail);\n  ALIGN_SIZE(mcsize, mcgran);\n  mcprop.size = mcsize;\n\n  if (comm->localRank == 0) {\n    NCCLCHECKGOTO(ncclNvlsGroupCreate(comm, &mcprop, comm->localRank, comm->localRanks, &mcHandle, shareableHandle), ret, fail);\n    NCCLCHECKGOTO(bootstrapIntraNodeBroadcast(comm->bootstrap, comm->localRankToRank, comm->localRank, comm->localRanks, 0, shareableHandle, NVLS_HANDLE_SIZE), ret, fail);\n  } else {\n    NCCLCHECKGOTO(bootstrapIntraNodeBroadcast(comm->bootstrap, comm->localRankToRank, comm->localRank, comm->localRanks, 0, shareableHandle, NVLS_HANDLE_SIZE), ret, fail);\n    NCCLCHECKGOTO(ncclNvlsGroupConnect(comm, shareableHandle, comm->localRankToRank[0], &mcHandle), ret, fail);\n  }\n\n  CUCHECKGOTO(cuMulticastAddDevice(mcHandle, comm->nvlsResources->dev), ret, fail);\n  // Coverity complains that regRecord could be NULL.  That won't in practice be the case because we've already checked\n  // (regData[i].reg.state & NVLS_REG_POSSIBLE) of all local ranks, which would catch it and bail out.\n  // coverity[var_deref_op]\n  CUCHECKGOTO(cuMulticastBindAddr(mcHandle, 0, (CUdeviceptr)regRecord->begAddr, ucsize, 0), ret, fail);\n\n  // Create a VA for the NVLS\n  CUCHECKGOTO(cuMemAddressReserve(&regPtr, mcsize, mcgran, 0U, 0), ret, fail);\n  // Map the VA locally\n  CUCHECKGOTO(cuMemMap(regPtr, mcsize, 0, mcHandle, 0), ret, fail);\n  CUCHECKGOTO(cuMemSetAccess(regPtr, mcsize, &comm->nvlsResources->accessDesc, 1), ret, fail);\n\n  regRecord->regAddr = regPtr;\n  regRecord->regUCSize = ucsize;\n  regRecord->regMCSize = mcsize;\n  regRecord->dev = comm->nvlsResources->dev;\n  regRecord->mcHandle = mcHandle;\n  regRecord->state |= NVLS_REG_COMPLETE;\n  /* get all buffer addresses */\n  regRecord->caddrs[comm->localRank] = regRecord->begAddr;\n  NCCLCHECKGOTO(ncclShmemAllgather(comm, &comm->nvlsResources->nvlsShmem, regRecord->caddrs + comm->localRank, regRecord->caddrs, sizeof(uintptr_t)), ret, fail);\n\n  /* Although registration is done, we still need to check whether the offsets are same among ranks. */\n  for (int i = 0; i < comm->localRanks - 1; ++i) {\n    if (regData[i].offset != regData[i + 1].offset) {\n      goto fail;\n    }\n  }\n\n  *regAddr = (uintptr_t)regPtr + regData[comm->localRank].offset;\n  *regUsed = 1;\nexit:\n  free(regData);\n  return ret;\nfail:\n  *regUsed = 0;\n  goto exit;\n}\n\nstatic ncclResult_t nvlsRegisterBuffer(struct ncclComm *comm, const void *sendbuff, void *recvbuff, size_t sendbuffSize, size_t recvbuffSize, struct ncclReg *sendRegRecord, struct ncclReg *recvRegRecord, int *outRegBufUsed, void **outRegBufSend, void **outRegBufRecv) {\n  ncclResult_t ret = ncclSuccess;\n  int regBufUsed = 0;\n  struct localRegData *regData = NULL;\n  bool sendNeedReg = false, recvNeedReg = false;\n  CUdeviceptr regSendPtr = 0;\n  CUdeviceptr regRecvPtr = 0;\n\n  NCCLCHECKGOTO(ncclCalloc(&regData, comm->localRanks * 2), ret, fail);\n\n  if (sendRegRecord) {\n    memcpy(&regData[comm->localRank * 2].reg, sendRegRecord, sizeof(struct ncclReg));\n    regData[comm->localRank * 2].offset = (uintptr_t)sendbuff - sendRegRecord->begAddr;\n  }\n\n  if (recvRegRecord) {\n    memcpy(&regData[comm->localRank * 2 + 1].reg, recvRegRecord, sizeof(struct ncclReg));\n    regData[comm->localRank * 2 + 1].offset = (uintptr_t)recvbuff - recvRegRecord->begAddr;\n  }\n\n  NCCLCHECKGOTO(ncclShmemAllgather(comm, &comm->nvlsResources->nvlsShmem, regData + comm->localRank * 2, regData, sizeof(struct localRegData) * 2), ret, fail);\n\n  /* first check whether all local ranks find their registered buffer */\n  for (int i = 0; i < comm->localRanks; ++i) {\n    if ((regData[i * 2].reg.state & NVLS_REG_COMPLETE) == 0 || regData[comm->localRank * 2].reg.caddrs[i] != regData[i * 2].reg.begAddr) {\n      sendNeedReg = true;\n    }\n\n    if ((regData[i * 2 + 1].reg.state & NVLS_REG_COMPLETE) == 0 || regData[comm->localRank * 2 + 1].reg.caddrs[i] != regData[i * 2 + 1].reg.begAddr) {\n      recvNeedReg = true;\n    }\n\n    if ((regData[i * 2].reg.state & NVLS_REG_NO_SUPPORT) || (regData[i * 2 + 1].reg.state & NVLS_REG_NO_SUPPORT)) {\n      goto fail;\n    }\n  }\n\n  if (sendNeedReg == false) {\n    for (int i = 0; i < comm->localRanks - 1; ++i) {\n      if (regData[i * 2].offset != regData[(i + 1) * 2].offset) {\n        /* offset are different, we cannot apply user buffer registration */\n        goto fail;\n      }\n    }\n\n    /* reuse previous registered buffer if possible */\n    if (!sendNeedReg)\n      regSendPtr = (CUdeviceptr)((uintptr_t)sendRegRecord->regAddr + regData[comm->localRank * 2].offset);\n  }\n\n  if (recvNeedReg == false) {\n    for (int i = 0; i < comm->localRanks - 1; ++i) {\n      if (regData[i * 2 + 1].offset != regData[(i + 1) * 2 + 1].offset) {\n        goto fail;\n      }\n    }\n\n    if (!recvNeedReg)\n      regRecvPtr = (CUdeviceptr)((uintptr_t)recvRegRecord->regAddr + regData[comm->localRank * 2 + 1].offset);\n  }\n\n  if ((!sendNeedReg || sendbuff == NULL) && (!recvNeedReg || recvbuff == NULL)) {\n    regBufUsed = 1;\n    INFO(NCCL_REG, \"rank %d reuse registered NVLS sendbuff %p, recvbuff %p, sendbuff size %ld, recvbuff size %ld, reg sendbuff %p, reg recvbuff %p\", comm->rank, sendbuff, recvbuff, sendbuffSize, recvbuffSize, (void*)regSendPtr, (void*)regRecvPtr);\n    goto exit;\n  }\n\n  /* Start Registration. Not found registered buffers, then check whether both send and recv buffer locate\n   * in register request cache. */\n  if (sendNeedReg && sendbuff && sendbuffSize > 0) {\n    tryRegisterBuffer(comm, (uintptr_t)sendbuff, sendbuffSize, &regSendPtr, &regBufUsed);\n    if (regBufUsed == 0) goto fail;\n  }\n\n  if (recvNeedReg && recvbuff && recvbuffSize > 0) {\n    tryRegisterBuffer(comm, (uintptr_t)recvbuff, recvbuffSize, &regRecvPtr, &regBufUsed);\n    if (regBufUsed == 0) goto fail;\n  }\n\n  INFO(NCCL_REG, \"rank %d successfully registered NVLS sendbuff %p, recvbuff %p, sendbuff size %ld, recvbuff size %ld, reg sendbuff %p, reg recvbuff %p\", comm->rank, sendbuff, recvbuff, sendbuffSize, recvbuffSize, (void*)regSendPtr, (void*)regRecvPtr);\n\nexit:\n  *outRegBufSend = (void*)regSendPtr;\n  *outRegBufRecv = (void*)regRecvPtr;\n  *outRegBufUsed = regBufUsed;\n  free(regData);\n  return ncclSuccess;\nfail:\n  regBufUsed = 0;\n  INFO(NCCL_REG, \"rank %d failed to NVLS register sendbuff %p sendbuffSize %ld recvbuff %p recvbuffSize %ld\", comm->rank, sendbuff, sendbuffSize, recvbuff, recvbuffSize);\n  goto exit;\n}\n\nncclResult_t ncclNvlsLocalRegisterBuffer(struct ncclComm *comm, const void *sendbuff, void *recvbuff, size_t sendbuffSize, size_t recvbuffSize, int *outRegBufUsed, void **outRegBufSend, void **outRegBufRecv) {\n  struct ncclReg *sendRegRecord = NULL;\n  struct ncclReg *recvRegRecord = NULL;\n  bool sendIsValid = false;\n  bool recvIsValid = false;\n  void *baseSend = NULL;\n  void *baseRecv = NULL;\n  size_t baseSendSize = 0;\n  size_t baseRecvSize = 0;\n\n  *outRegBufUsed = 0;\n  if (sendbuff) {\n    NCCLCHECK(ncclRegFind(comm, sendbuff, sendbuffSize, &sendRegRecord));\n    NCCLCHECK(ncclRegLocalIsValid(sendRegRecord, &sendIsValid));\n    if (sendIsValid) {\n      CUCHECK(cuMemGetAddressRange((CUdeviceptr *)&baseSend, &baseSendSize, (CUdeviceptr)sendbuff));\n      if ((uint64_t)baseSend + baseSendSize < (uint64_t)sendbuff + sendbuffSize) {\n        // the virtual address is backed by multiple physical memory regions, just fall back to non-UB path\n        goto exit;\n      }\n    }\n  } else {\n    sendIsValid = true;\n  }\n\n  if (recvbuff) {\n    NCCLCHECK(ncclRegFind(comm, recvbuff, recvbuffSize, &recvRegRecord));\n    NCCLCHECK(ncclRegLocalIsValid(recvRegRecord, &recvIsValid));\n    if (recvIsValid) {\n      CUCHECK(cuMemGetAddressRange((CUdeviceptr *)&baseRecv, &baseRecvSize, (CUdeviceptr)recvbuff));\n      if ((uint64_t)baseRecv + baseRecvSize < (uint64_t)recvbuff + recvbuffSize) {\n        // the virtual address is backed by multiple physical memory regions, just fall back to non-UB path\n        goto exit;\n      }\n    }\n  } else {\n    recvIsValid = true;\n  }\n\n  if (sendIsValid && recvIsValid)\n    NCCLCHECK(nvlsRegisterBuffer(comm, sendbuff, recvbuff, sendbuffSize, recvbuffSize, sendRegRecord, recvRegRecord, outRegBufUsed, outRegBufSend, outRegBufRecv));\n\nexit:\n  return ncclSuccess;\n}\n\nstruct ncclNvlsCleanupCallback {\n  struct ncclCommCallback base;\n  struct ncclReg *reg;\n  struct ncclComm *comm;\n};\n\nstatic ncclResult_t cleanupNvls(struct ncclComm* comm, struct ncclCommCallback* cb) {\n  struct ncclNvlsCleanupCallback* obj = (struct ncclNvlsCleanupCallback*)cb;\n  NCCLCHECK(ncclCommGraphDeregister(obj->comm, obj->reg));\n  free(obj);\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsGraphRegisterBuffer(\n    struct ncclComm *comm, const void *sendbuff, void *recvbuff, size_t sendbuffSize, size_t recvbuffSize,\n    int *outRegBufUsed, void **outRegBufSend, void **outRegBufRecv,\n    struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue, int* nCleanupQueueEltsAdded\n  ) {\n  struct ncclNvlsCleanupCallback* sendRecord = NULL;\n  struct ncclNvlsCleanupCallback* recvRecord = NULL;\n  void *baseSend = NULL;\n  void *baseRecv = NULL;\n  size_t baseSendSize = 0;\n  size_t baseRecvSize = 0;\n  struct ncclReg *sendRegRecord = NULL;\n  struct ncclReg *recvRegRecord = NULL;\n\n  *outRegBufUsed = 0;\n  if (sendbuff) {\n    CUCHECK(cuMemGetAddressRange((CUdeviceptr *)&baseSend, &baseSendSize, (CUdeviceptr)sendbuff));\n    if ((uint64_t)baseSend + baseSendSize < (uint64_t)sendbuff + sendbuffSize) {\n      // the virtual address is backed by multiple physical memory regions, just fall back to non-UB path\n      goto exit;\n    }\n    NCCLCHECK(ncclCommGraphRegister(comm, baseSend, baseSendSize, (void**)&sendRegRecord));\n  }\n\n  if (recvbuff) {\n    CUCHECK(cuMemGetAddressRange((CUdeviceptr *)&baseRecv, &baseRecvSize, (CUdeviceptr)recvbuff));\n    if ((uint64_t)baseRecv + baseRecvSize < (uint64_t)recvbuff + recvbuffSize) {\n      // the virtual address is backed by multiple physical memory regions, just fall back to non-UB path\n      goto exit;\n    }\n    NCCLCHECK(ncclCommGraphRegister(comm, baseRecv, baseRecvSize, (void**)&recvRegRecord));\n  }\n\n  NCCLCHECK(nvlsRegisterBuffer(comm, sendbuff, recvbuff, sendbuffSize, recvbuffSize, sendRegRecord, recvRegRecord, outRegBufUsed, outRegBufSend, outRegBufRecv));\n\n  if (*outRegBufUsed) {\n    if (sendRegRecord) {\n      sendRecord = (struct ncclNvlsCleanupCallback*)malloc(sizeof(struct ncclNvlsCleanupCallback));\n      if (sendRecord == nullptr) {\n        WARN(\"Failed to allocate NVLS send cleanup callback\");\n        return ncclSystemError;\n      }\n      sendRecord->base.fn = cleanupNvls;\n      sendRecord->reg = sendRegRecord;\n      sendRecord->comm = comm;\n      ncclIntruQueueEnqueue(cleanupQueue, (struct ncclCommCallback*)sendRecord);\n      *nCleanupQueueEltsAdded += 1;\n    }\n\n    if (recvRegRecord) {\n      recvRecord = (struct ncclNvlsCleanupCallback*)malloc(sizeof(struct ncclNvlsCleanupCallback));\n      if (recvRecord == nullptr) {\n        WARN(\"Failed to allocate NVLS recv cleanup callback\");\n        return ncclSystemError;\n      }\n      recvRecord->base.fn = cleanupNvls;\n      recvRecord->reg = recvRegRecord;\n      recvRecord->comm = comm;\n      ncclIntruQueueEnqueue(cleanupQueue, (struct ncclCommCallback*)recvRecord);\n      *nCleanupQueueEltsAdded += 1;\n    }\n  } else {\n    if (sendbuff) NCCLCHECK(ncclCommGraphDeregister(comm, sendRegRecord));\n    if (recvbuff) NCCLCHECK(ncclCommGraphDeregister(comm, recvRegRecord));\n  }\n\nexit:\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsRegResourcesQuery(struct ncclComm* comm, struct ncclTaskColl* info, int* recChannels) {\n  int factor;\n  ncclResult_t ret = ncclSuccess;\n  if (comm->nNodes == 1) {\n    if (info->func == ncclFuncReduceScatter) {\n      factor = (comm->compCap >= 100 ? 6 : 5) * 8;\n      *recChannels = std::max(comm->config.minCTAs, std::min(comm->config.maxCTAs, DIVUP(factor, comm->nvlsResources->nHeads)));\n    } else if (info->func == ncclFuncAllGather) {\n      factor = 4 * 8;\n      *recChannels = std::max(comm->config.minCTAs, std::min(comm->config.maxCTAs, DIVUP(factor, comm->nvlsResources->nHeads)));\n    } else if (info->func == ncclFuncAllReduce) {\n      if (comm->compCap >= 100) {\n        factor = 8 * 8;\n      } else {\n        factor = 4 * 8;\n      }\n      *recChannels = std::max(comm->config.minCTAs, std::min(comm->config.maxCTAs, DIVUP(factor, comm->nvlsResources->nHeads)));\n    } else {\n      goto fail;\n    }\n  } else {\n    // Further tweaks for Blackwell with NVLS registered buffers\n    if (info->func == ncclFuncReduceScatter) {\n      factor = (comm->bandwidths[ncclFuncReduceScatter][NCCL_ALGO_NVLS][NCCL_PROTO_SIMPLE] > 400 ? 7 : 6) * 8;\n      *recChannels = std::max(comm->config.minCTAs, std::min(comm->config.maxCTAs, DIVUP(factor, comm->nvlsResources->nHeads)));\n    } else if (info->func == ncclFuncAllGather) {\n      factor = 6 * 8;\n      *recChannels = std::max(comm->config.minCTAs, std::min(comm->config.maxCTAs, DIVUP(factor, comm->nvlsResources->nHeads)));\n    } else if (info->func == ncclFuncAllReduce) {\n      factor = (comm->compCap >= 100 ? 7 : 6) * 8;\n      *recChannels = std::max(comm->config.minCTAs, std::min(comm->config.maxCTAs, DIVUP(factor, comm->nvlsResources->nHeads)));\n    } else {\n      goto fail;\n    }\n  }\n\nexit:\n  return ret;\nfail:\n  ret = ncclInvalidArgument;\n  goto exit;\n}\n\n#else\n\n/*\n * Pre CUDA 12.1 stubs\n */\n\nncclResult_t ncclNvlsInit(struct ncclComm* comm) {\n  comm->nvlsChannels = 0;\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsBufferSetup(struct ncclComm* comm) {\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsSetup(struct ncclComm* comm, struct ncclComm* parent) {\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsFree(struct ncclComm* comm) {\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsTreeConnect(struct ncclComm* comm) {\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsGraphRegisterBuffer(\n    struct ncclComm *comm, const void *sendbuff, void *recvbuff, size_t sendbuffSize, size_t recvbuffSize,\n    int *outRegBufUsed, void **outRegBufSend, void **outRegBufRecv,\n    struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue, int* nCleanupQueueEltsAdded\n  ) {\n  *outRegBufUsed = false;\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsLocalRegisterBuffer(struct ncclComm *comm, const void *sendbuff, void *recvbuff, size_t sendbuffSize, size_t recvbuffSize, int *outRegBufUsed, void **outRegBufSend, void **outRegBufRecv) {\n  *outRegBufUsed = false;\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsDeregBuffer(struct ncclComm* comm, CUmemGenericAllocationHandle *mcHandler, CUdeviceptr ptr, int dev, size_t ucsize, size_t mcsize) {\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsSymmetricInit(struct ncclComm* comm) {\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsSymmetricMap(struct ncclComm* comm, size_t offset, size_t ucsize, void* ucaddr) {\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsSymmetricFree(struct ncclComm* comm, size_t ucsize, void* ucaddr) {\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsSymmetricFinalize(struct ncclComm* comm) {\n  return ncclSuccess;\n}\n\nncclResult_t ncclNvlsRegResourcesQuery(struct ncclComm* comm, struct ncclTaskColl* info, int* recChannels) {\n  *recChannels = 0;\n  return ncclSuccess;\n}\n\n#endif /* CUDA_VERSION >= 12010 */\n"
  },
  {
    "path": "src/transport/p2p.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"graph.h\"\n#include \"utils.h\"\n#include \"shm.h\"\n#include \"graph.h\"\n#include \"graph/topo.h\"\n#include \"shmutils.h\"\n#include \"p2p.h\"\n#include \"transport.h\"\n#include <assert.h>\n#include \"shm.h\"\n#include \"register_inline.h\"\n\nenum p2pType { P2P_DIRECT, P2P_INTERMEDIATE, P2P_IPC, P2P_CUMEM };\n\nstruct ncclP2pBuff {\n  void* directPtr;\n  size_t size;\n  ncclIpcDesc ipcDesc;\n};\n\nstruct ncclP2pRequest {\n  size_t size;\n  int refcount;\n};\n\nstruct p2pConnectInfo {\n  int rank;\n  int read;\n  struct ncclP2pBuff p2pBuff;\n  // Used by CE memcpy\n  ncclShmIpcDesc_t desc;\n};\nstatic_assert(sizeof(struct p2pConnectInfo) <= CONNECT_SIZE, \"p2pConnectInfo is too large\");\n\nstruct p2pIpcExpInfo {\n  ncclIpcDesc ipcDesc;\n  bool legacyIpcCap;\n  int impFd;\n  size_t size;\n  uintptr_t offset;\n};\n\nstruct p2pShm {\n  struct ncclSendMem sendMem;\n  struct ncclRecvMem recvMem;\n};\nstruct p2pShmProxyInfo {\n  // Shared memory between proxy and receiving GPU\n  struct p2pShm* shm;\n  struct p2pShm* devShm;\n  ncclShmIpcDesc_t desc;\n\n  // Intermediate step for sender\n  struct ncclRecvMem* ceRecvMem;\n  char* ceDevBuff;\n\n  // Receiver buffer\n  char* recvFifo;\n\n  // Used by CE memcpy progress only\n  uint64_t step;\n  cudaStream_t stream;\n  cudaEvent_t events[NCCL_STEPS];\n};\nstatic_assert(sizeof(p2pConnectInfo) <= CONNECT_SIZE, \"P2P Connect info is too large\");\n\nstruct p2pResources {\n  enum p2pType type;\n  union {\n    struct ncclSendMem* sendDevMem;\n    struct ncclRecvMem* recvDevMem;\n  };\n  void* sendMemIpc;\n  int sendMemSameProc;\n  void* recvMemIpc;\n  int recvMemSameProc;\n  // CE memcpy support\n  struct p2pShmProxyInfo proxyInfo;\n  struct p2pShm* shm;\n  struct p2pShm* devShm;\n  int shmSize;\n  ncclShmHandle_t handle;\n  ncclShmIpcDesc_t desc;\n  uint32_t* next_hdp_reg;  // Next GPU in ring (for p2p transport use only)\n};\n\n// cuMem API support\nstruct p2pCuMemProxyInfo {\n  struct ncclP2pBuff p2pBuff;\n};\n\n#include <sys/types.h>\n\nNCCL_PARAM(LegacyCudaRegister, \"LEGACY_CUDA_REGISTER\", 0);\n\n/* Convert a PCI busId string into a local cudaDev device index (cf. CUDA_VISIBLE_DEVICES) */\nstatic int busIdToCudaDev(int64_t busId) {\n  int ndev;\n  if (cudaGetDeviceCount(&ndev) != cudaSuccess)\n    return -1;\n  for (int i = 0; i < ndev; i++) {\n    char devBusIdStr[NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE];\n    if (cudaDeviceGetPCIBusId(devBusIdStr, NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE, i) != cudaSuccess)\n      return -1;\n    int64_t devBusId;\n    NCCLCHECK(busIdToInt64(devBusIdStr, &devBusId));\n    if (busId == devBusId) return i;\n  }\n  // BusId was not found in our locally visible CUDA devices\n  return -1;\n}\n\n// CE memcpy support\nNCCL_PARAM(P2pUseCudaMemcpy, \"P2P_USE_CUDA_MEMCPY\", 0);\nstatic int useMemcpy = 0;\nstatic void initCeOperation();\n\n\nextern int64_t ncclParamMNNVLEnable();\n\n/* Determine if two peers can communicate through p2p */\nncclResult_t p2pCanConnect(int* ret, struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* info1, struct ncclPeerInfo* info2) {\n  initCeOperation();\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n  if (!info1->hasFineGrain || !info2->hasFineGrain)  {\n    *ret = 0;\n    return ncclSuccess;\n  }\n#endif\n\n  // Check topology / p2p level.\n  int intermediateRank;\n  NCCLCHECK(ncclTopoCheckP2p(comm, comm->topo, info1->rank, info2->rank, ret, NULL, &intermediateRank));\n  if (*ret == 0) return ncclSuccess;\n  if (intermediateRank != -1) {\n    if (useMemcpy) *ret = 0;\n    return ncclSuccess;\n  }\n\n  // Check if NET would work better\n  int useNet = 0;\n  NCCLCHECK(ncclTopoCheckNet(comm->topo, info1->rank, info2->rank, &useNet));\n  if (useNet) {\n    *ret = 0;\n    return ncclSuccess;\n  }\n\n  if (info1->hostHash != comm->peerInfo[comm->rank].hostHash ||\n      info1->hostHash != info2->hostHash) {\n    // If either peer is non-local then we are done.\n    return ncclSuccess;\n  }\n\n  // Convert the peer's busId into a local cudaDev index (cf. CUDA_VISIBLE_DEVICES)\n  int cudaDev1 = busIdToCudaDev(info1->busId);\n  int cudaDev2 = busIdToCudaDev(info2->busId);\n  if (cudaDev1 == -1 || cudaDev2 == -1) {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__) || CUDART_VERSION >= 10010\n    // CUDA 10.1 and later can use P2P with invisible devices.\n    return ncclSuccess;\n#else\n    // Peer's CUDA device is not visible in this process : we can't communicate with it.\n    *ret = 0;\n    return ncclSuccess;\n#endif\n  }\n\n  // Check that CUDA can do P2P\n  int p2p;\n  if (cudaDeviceCanAccessPeer(&p2p, cudaDev1, cudaDev2) != cudaSuccess) {\n    INFO(NCCL_INIT|NCCL_P2P,\"peer query failed between dev %d(=%lx) and dev %d(=%lx)\",\n        cudaDev1, info1->busId, cudaDev2, info2->busId);\n    *ret = 0;\n    return ncclSuccess;\n  }\n\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HIPCC__)\n#else\n  // This will always fail when using NCCL_CUMEM_ENABLE=1\n  if (p2p != 0 && !ncclCuMemEnable()) {\n    // Cached result of the legacyIPC detection\n    static int legacyIPC = -1;\n    if (legacyIPC >= 0) {\n      *ret = legacyIPC;\n      return ncclSuccess;\n    }\n    // Check that legacy IPC support is available (WSL WAR)\n    char *dummy;\n    cudaIpcMemHandle_t ipc;\n    NCCLCHECK(ncclCudaMalloc(&dummy, CUDA_IPC_MIN));\n    if (cudaIpcGetMemHandle(&ipc, dummy) != cudaSuccess) {\n      INFO(NCCL_INIT|NCCL_P2P,\"Legacy IPC not supported\");\n      *ret = 0;\n    }\n    NCCLCHECK(ncclCudaFree(dummy));\n    legacyIPC = *ret;\n    return ncclSuccess;\n  }\n#endif\n\n  if (p2p == 0) {\n    INFO(NCCL_INIT|NCCL_P2P,\"Could not enable P2P between dev %d(=%lx) and dev %d(=%lx)\",\n        cudaDev1, info1->busId, cudaDev2, info2->busId);\n    *ret = 0;\n    return ncclSuccess;\n  }\n  return ncclSuccess;\n}\n\n#define TRACE_DUMP_IPC(DEVIPC)                                                             \\\n  do {                                                                                     \\\n    unsigned long *devIpc = (unsigned long *) (DEVIPC);                                    \\\n    TRACE(P2P,\"IPC: %016lx %016lx %016lx %016lx\", devIpc[0], devIpc[1], devIpc[2], devIpc[3]); \\\n    TRACE(P2P,\"IPC: %016lx %016lx %016lx %016lx\", devIpc[4], devIpc[5], devIpc[6], devIpc[7]); \\\n  } while (0)\n\n// cuMem API support\nncclResult_t ncclP2pAllocateShareableBuffer(size_t size, int refcount, ncclIpcDesc *ipcDesc, void **ptr) {\n  if (ncclCuMemEnable()) {\n#if ROCM_VERSION >= 70000\n    CUmemAllocationHandleType type = ncclCuMemHandleType;\n\n    // cuMem API support\n    CUmemGenericAllocationHandle handle;\n    NCCLCHECK(ncclCuMemAlloc(ptr, &handle, type, size));\n    if (type == CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR) {\n      // Return the native cuMem handle for later Export/Import via UDS\n      memcpy(&ipcDesc->cuDesc.data, &handle, sizeof(handle));\n    } else {\n      CUCHECK(cuMemExportToShareableHandle(&ipcDesc->cuDesc, handle, type, 0));\n    }\n    if (refcount) {\n      memcpy(&ipcDesc->memHandle, &handle, sizeof(handle));\n      for (int r = 0; r < refcount; ++r) CUCHECK(cuMemRetainAllocationHandle(&handle, *ptr));\n    }\n#else\n    return ncclInternalError;\n#endif\n  } else {\n    // Allocate a CUDA buffer and generate an IPC handle for it\n#if defined(HIP_UNCACHED_MEMORY)\n    NCCLCHECK(ncclCudaCalloc((char **)ptr, size, hipDeviceMallocUncached));\n#else\n    NCCLCHECK(ncclCudaCalloc((char **)ptr, size, hipDeviceMallocFinegrained));\n#endif\n    cudaError_t res = cudaIpcGetMemHandle(&ipcDesc->devIpc, *ptr);\n    if (res != cudaSuccess) {\n      WARN(\"cudaIpcGetMemHandle failed : %s\", cudaGetErrorString(res));\n      ncclCudaFree(*ptr);\n      CUDACHECK(res);\n    }\n  }\n  INFO(NCCL_P2P|NCCL_ALLOC, \"Allocated shareable buffer %p size %zu ipcDesc %p\", *ptr, size, ipcDesc);\n\n  return ncclSuccess;\n}\n\nncclResult_t ncclP2pFreeShareableBuffer(ncclIpcDesc *ipcDesc) {\n  return ncclSuccess;\n}\n\nncclResult_t ncclP2pImportShareableBuffer(struct ncclComm *comm, int peer, size_t size, ncclIpcDesc *ipcDesc, void **devMemPtr) {\n  if (ncclCuMemEnable()) {\n#if ROCM_VERSION >= 70000\n    // cuMem API support\n    CUdeviceptr dptr = 0;\n    CUmemAllocationHandleType type = ncclCuMemHandleType;\n    CUmemGenericAllocationHandle handle;\n    ncclCuDesc *cuDesc = &ipcDesc->cuDesc;\n    CUmemAllocationProp prop = {};\n    size_t granularity = 0;\n\n    prop.type = CU_MEM_ALLOCATION_TYPE_PINNED;\n    prop.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n    prop.requestedHandleTypes = type;\n    prop.location.id = comm->cudaDev;\n    CUCHECK(cuMemGetAllocationGranularity(&granularity, &prop, CU_MEM_ALLOC_GRANULARITY_MINIMUM));\n    ALIGN_SIZE(size, granularity);\n\n    // Import and map the remote memory descriptor to the local GPU\n    if (type == CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR) {\n      // UDS fd support\n      int fd = -1;\n      // Send cuMem handle to remote for conversion to an fd\n      NCCLCHECK(ncclProxyClientGetFdBlocking(comm, peer, &cuDesc->data, &fd));\n      INFO(NCCL_P2P, \"UDS converted handle 0x%lx to fd %d on remote peer %d\", *(uint64_t*)&cuDesc->data, fd, peer);\n      CUCHECK(cuMemImportFromShareableHandle(&handle, &fd, type));\n      SYSCHECK(close(fd), \"close\");\n    } else {\n      CUCHECK(cuMemImportFromShareableHandle(&handle, cuDesc, type));\n    }\n    CUCHECK(cuMemAddressReserve(&dptr, size, /* alignment */ 0, /* addr */ 0, /* flags */ 0));\n    CUCHECK(cuMemMap(dptr, size, /* offset */ 0, handle, /* flags */ 0));\n\n    TRACE(NCCL_P2P, \"Imported shareable buffer size %zu handle 0x%llx dptr %p\", size, handle, (void*)dptr);\n\n    // Allow access by the local GPU\n    CUmemAccessDesc accessDesc = {};\n    accessDesc.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n    accessDesc.location.id = comm->cudaDev;\n    accessDesc.flags = CU_MEM_ACCESS_FLAGS_PROT_READWRITE;\n    CUCHECK(cuMemSetAccess(dptr, size, &accessDesc, 1));\n    TRACE(NCCL_P2P, \"Set Access for %p size %zu on dev %d\", (void*)dptr, size, accessDesc.location.id);\n\n    *devMemPtr = (void *)dptr;\n#else\n    return ncclInternalError;\n#endif\n  } else {\n    // Legacy CUDA IPC\n    CUDACHECK(cudaIpcOpenMemHandle(devMemPtr, ipcDesc->devIpc, cudaIpcMemLazyEnablePeerAccess));\n  }\n\n  INFO(NCCL_P2P, \"Imported shareable buffer device %d size %zu ptr %p\", comm->cudaDev, size, *devMemPtr);\n\n  return ncclSuccess;\n}\n\n// Setting this to non zero causes P2P to use Reads rather than Writes\nNCCL_PARAM(P2pReadEnable, \"P2P_READ_ENABLE\", -2);\nNCCL_PARAM(P2pDirectDisable, \"P2P_DIRECT_DISABLE\", 0);\n\n#define P2P_SAME_PID(MYINFO, PEERINFO) ((MYINFO->hostHash == PEERINFO->hostHash) && (MYINFO->pidHash == PEERINFO->pidHash))\n\nstatic ncclResult_t p2pGetInfo(struct ncclComm* comm, struct ncclPeerInfo* info1, struct ncclPeerInfo* info2, int* read, int* intermediateRank) {\n  int p2p;\n  // Queries the topology to see if the GPUs are Ampere and\n  // connected via NVLink, if so we enable P2P Read by default\n  NCCLCHECK(ncclTopoCheckP2p(comm, comm->topo, info1->rank, info2->rank, &p2p, read, intermediateRank));\n\n  int readEnable = ncclParamP2pReadEnable();\n  if (readEnable != -2) *read = readEnable;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t p2pMap(struct ncclComm *comm, struct ncclProxyConnector* proxyConn, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo, struct ncclP2pBuff* p2pBuff, void** devMem, void** ipcPtr) {\n  if (P2P_SAME_PID(myInfo, peerInfo)) {\n    if (peerInfo->cudaDev != myInfo->cudaDev) {\n      // Same PID different GPUs, enable P2P access\n      // Legacy CUDA IPC\n      cudaError_t err = cudaDeviceEnablePeerAccess(peerInfo->cudaDev, 0);\n      if (err == cudaErrorPeerAccessAlreadyEnabled) {\n        cudaGetLastError();\n      } else if (err != cudaSuccess) {\n        WARN(\"failed to peer with device %d(=%lx): %d %s\",\n            peerInfo->cudaDev, peerInfo->busId, err, cudaGetErrorString(err));\n        return ncclInternalError;\n      }\n      if (ncclCuMemEnable()) {\n#if ROCM_VERSION >= 70000\n        // for intra-process ranks, we should map memHandle of the peers to increase refcount.\n        // Otherwise, if peers abort and free the buffer, the rank can suffer invalid access.\n        NCCLCHECK(ncclCuMemAllocAddr(devMem, &p2pBuff->ipcDesc.memHandle, p2pBuff->size));\n        CUCHECK(cuMemRelease(p2pBuff->ipcDesc.memHandle));\n        *ipcPtr = *devMem;\n#endif\n      } else {\n        *devMem = p2pBuff->directPtr;\n        *ipcPtr = NULL;\n      }\n    } else {\n      *devMem = p2pBuff->directPtr;\n      *ipcPtr = NULL;\n    }\n  } else {\n    // Different PID\n    NCCLCHECK(ncclP2pImportShareableBuffer(comm, peerInfo->rank, p2pBuff->size, &p2pBuff->ipcDesc, devMem));\n    *ipcPtr = *devMem;\n  }\n  return ncclSuccess;\n}\n\n/* Send: Create and return connect structures for this peer to connect to me */\nncclResult_t p2pSendSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo,\n    struct ncclConnect* connectInfo, struct ncclConnector* send, int channelId, int connIndex) {\n  struct p2pResources* resources;\n  struct ncclP2pRequest req;\n  NCCLCHECK(ncclCalloc(&resources, 1));\n  send->transportResources = resources;\n  int useRead, intermediateRank;\n  NCCLCHECK(p2pGetInfo(comm, myInfo, peerInfo, &useRead, &intermediateRank));\n  if (useMemcpy) useRead = 0;\n\n  resources->next_hdp_reg = 0;\n  bool isXGMI;\n  if (ncclTopoGetLinkType(comm->topo, myInfo->cudaDev, peerInfo->cudaDev, &isXGMI) != ncclSuccess) {\n    INFO(NCCL_INIT|NCCL_P2P,\"Ring %02d : %d -> %d failed to get link type and hop count\", channelId, myInfo->rank, peerInfo->rank);\n    return ncclInternalError;\n  }\n  if (!isXGMI && !IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx90a\") && !IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx942\") && !IsArchMatch(comm->topo->nodes[GPU].nodes[0].gpu.gcn, \"gfx950\")) {\n    CUDACHECK(hipDeviceGetAttribute((int*)&resources->next_hdp_reg, hipDeviceAttributeHdpMemFlushCntl,peerInfo->cudaDev));\n    TRACE(NCCL_INIT|NCCL_P2P,\"Ring %02d : %d -> %d HDP %p\", channelId, myInfo->rank, peerInfo->rank, resources->next_hdp_reg);\n  }\n\n  static_assert(sizeof(struct p2pConnectInfo) <= sizeof(struct ncclConnect), \"p2p Connect Info is too big\");\n  struct p2pConnectInfo* info = (struct p2pConnectInfo*)connectInfo;\n  info->read = useRead;\n  // For CollNet, use write for scatter-reduce (conn 1), read for broadcast-gather (conn 0)\n  if (graph && connIndex == 1) info->read = 0;\n  const char* useReadStr = info->read ? \"/read\" : \"\";\n\n  int sendSize = sizeof(struct ncclSendMem);\n  // For P2P Read the SIMPLE buffer is tagged on the end of the ncclSendMem structure\n  if (info->read) sendSize += comm->buffSizes[NCCL_PROTO_SIMPLE];\n  ALIGN_SIZE(sendSize, CUDA_IPC_MIN);\n\n  if (intermediateRank == -1) {\n    info->rank = myInfo->rank;\n    if (P2P_SAME_PID(myInfo, peerInfo) && ncclParamP2pDirectDisable() == 0 && useMemcpy == 0) {\n      resources->type = P2P_DIRECT;\n      INFO(NCCL_INIT|NCCL_P2P, \"Channel %02d/%01d : %d[%lx] -> %d[%lx] via P2P/direct pointer%s comm %p nRanks %02d\",\n          channelId, connIndex, myInfo->rank, myInfo->busId, peerInfo->rank, peerInfo->busId, useReadStr, comm, comm->nRanks);\n    } else {\n      // cuMem API support\n      if (ncclCuMemEnable()) {\n        resources->type = P2P_CUMEM;\n        const char *MNNVL = comm->MNNVL ? \"MNNVL\" : \"CUMEM\";\n        INFO(NCCL_INIT|NCCL_P2P,\"Channel %02d/%01d : %d[%x] -> %d[%x] via P2P/CUMEM%s%s%s comm %p nRanks %02d\",\n            channelId, connIndex, myInfo->rank, myInfo->cudaDev, peerInfo->rank, peerInfo->cudaDev, MNNVL, useReadStr, useMemcpy ? \"/CE\" : \"\", comm, comm->nRanks);;\n      } else {\n        // Legacy CUDA IPC\n        resources->type = P2P_IPC;\n        INFO(NCCL_INIT|NCCL_P2P,\"Channel %02d/%01d : %d[%lx] -> %d[%lx] via P2P/IPC%s%s comm %p nRanks %02d\",\n            channelId, connIndex, myInfo->rank, myInfo->busId, peerInfo->rank, peerInfo->busId, useReadStr, useMemcpy ? \"/CE\" : \"\", comm, comm->nRanks);\n      }\n    }\n    send->conn.flags |= info->read ? NCCL_P2P_READ : NCCL_P2P_WRITE;\n  } else {\n    resources->type = P2P_INTERMEDIATE;\n    info->rank = intermediateRank;\n    INFO(NCCL_INIT|NCCL_P2P, \"Channel %02d/%01d : %d[%lx] -> %d[%lx] via P2P/indirect/%d[%lx]%s comm %p nRanks %02d\",\n        channelId, connIndex, myInfo->rank, myInfo->busId, peerInfo->rank, peerInfo->busId, intermediateRank,\n    comm->peerInfo[intermediateRank].busId, useReadStr, comm, comm->nRanks);\n  }\n\n  memset(&req, '\\0', sizeof(req));\n  req.size = sendSize;\n  req.refcount = 0;\n  if (P2P_SAME_PID((comm->peerInfo + info->rank), peerInfo) && (comm->peerInfo[info->rank].cudaDev != peerInfo->cudaDev)) req.refcount++;\n  if (P2P_SAME_PID((comm->peerInfo + info->rank), myInfo) && (comm->peerInfo[info->rank].cudaDev != myInfo->cudaDev)) req.refcount++;\n  NCCLCHECK(ncclProxyConnect(comm, TRANSPORT_P2P, 1, info->rank, &send->proxyConn));\n  if (useMemcpy) {\n    NCCLCHECK(ncclProxyCallBlocking(comm, &send->proxyConn, ncclProxyMsgSetup, NULL, 0, &resources->proxyInfo, sizeof(struct p2pShmProxyInfo)));\n    memcpy(&info->desc, &resources->proxyInfo.desc, sizeof(ncclShmIpcDesc_t));\n  } else {\n    NCCLCHECK(ncclProxyCallBlocking(comm, &send->proxyConn, ncclProxyMsgSetup, &req, sizeof(struct ncclP2pRequest), &info->p2pBuff, sizeof(struct ncclP2pBuff)));\n    NCCLCHECK(p2pMap(comm, &send->proxyConn, myInfo, comm->peerInfo+info->rank, &info->p2pBuff, (void**)&resources->sendDevMem, &resources->sendMemIpc));\n    resources->sendMemSameProc = P2P_SAME_PID(myInfo, (comm->peerInfo + info->rank));\n  }\n\n  return ncclSuccess;\n}\n\n/* Create and return connect structures for this peer to connect to me */\nncclResult_t p2pRecvSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo,\n    struct ncclConnect* connectInfo, struct ncclConnector * recv, int channelId, int connIndex) {\n  struct p2pResources* resources;\n  struct ncclP2pRequest req;\n  NCCLCHECK(ncclCalloc(&resources, 1));\n  recv->transportResources = resources;\n  int useRead, intermediateRank;\n  NCCLCHECK(p2pGetInfo(comm, myInfo, peerInfo, &useRead, &intermediateRank));\n\n  static_assert(sizeof(struct p2pConnectInfo) <= sizeof(struct ncclConnect), \"p2p Connect Info is too big\");\n  struct p2pConnectInfo* info = (struct p2pConnectInfo*)connectInfo;\n  info->read = useRead;\n  // For CollNet, use write for scatter-reduce (conn 1), read for broadcast-gather (conn 0)\n  if (graph && connIndex == 1) info->read = 0;\n\n  int recvSize = sizeof(struct ncclRecvMem);\n  // For P2P Read the SIMPLE buffer is tagged on the end of the ncclSendMem structure\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) if (!(info->read && p == NCCL_PROTO_SIMPLE)) recvSize += comm->buffSizes[p];\n  ALIGN_SIZE(recvSize, CUDA_IPC_MIN);\n\n  if (intermediateRank == -1) {\n    info->rank = myInfo->rank;\n    if (P2P_SAME_PID(myInfo, peerInfo) && ncclParamP2pDirectDisable() == 0 && useMemcpy == 0) {\n      resources->type = P2P_DIRECT;\n    } else {\n      if (ncclCuMemEnable()) {\n        // cuMem API support\n        resources->type = P2P_CUMEM;\n        TRACE(NCCL_INIT|NCCL_P2P,\"Ring %02d : %d[%d] <- %d[%d] via P2P/CUMEM\",\n              channelId, myInfo->rank, myInfo->cudaDev, peerInfo->rank, peerInfo->cudaDev);\n      } else {\n        // Legacy CUDA IPC\n        resources->type = P2P_IPC;\n      }\n    }\n    recv->conn.flags |= info->read ? NCCL_P2P_READ : NCCL_P2P_WRITE;\n  } else {\n    resources->type = P2P_INTERMEDIATE;\n    info->rank = intermediateRank;\n  }\n\n  memset(&req, '\\0', sizeof(req));\n  req.size = recvSize;\n  req.refcount = 0;\n  if (P2P_SAME_PID((comm->peerInfo + info->rank), peerInfo) && (comm->peerInfo[info->rank].cudaDev != peerInfo->cudaDev)) req.refcount++;\n  if (P2P_SAME_PID((comm->peerInfo + info->rank), myInfo) && (comm->peerInfo[info->rank].cudaDev != myInfo->cudaDev)) req.refcount++;\n  NCCLCHECK(ncclProxyConnect(comm, TRANSPORT_P2P, 0, info->rank, &recv->proxyConn));\n  NCCLCHECK(ncclProxyCallBlocking(comm, &recv->proxyConn, ncclProxyMsgSetup, &req, sizeof(struct ncclP2pRequest), &info->p2pBuff, sizeof(struct ncclP2pBuff)));\n\n  NCCLCHECK(p2pMap(comm, &recv->proxyConn, myInfo, comm->peerInfo+info->rank, &info->p2pBuff, (void**)&resources->recvDevMem, &resources->recvMemIpc));\n  resources->recvMemSameProc = P2P_SAME_PID(myInfo, (comm->peerInfo + info->rank));\n  return ncclSuccess;\n}\n\n/* Connect/Send to this peer */\nstatic ncclResult_t p2pSendConnect(struct ncclComm* comm, struct ncclConnect* connectInfo, int nranks, int rank, struct ncclConnector* send) {\n  struct p2pResources* resources = (struct p2pResources*)send->transportResources;\n  struct ncclRecvMem* remDevMem = NULL;\n  struct p2pConnectInfo* info = (struct p2pConnectInfo*)connectInfo;\n\n  NCCLCHECK(p2pMap(comm, &send->proxyConn, comm->peerInfo+rank, comm->peerInfo+info->rank, &info->p2pBuff, (void**)&remDevMem, &resources->recvMemIpc));\n  resources->recvMemSameProc = P2P_SAME_PID((comm->peerInfo + rank), (comm->peerInfo + info->rank));\n\n  char* buff = (char*)(remDevMem+1);\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n    if (info->read && p == NCCL_PROTO_SIMPLE) {\n      /* For P2P Read the SIMPLE buffer is local (ncclSendMem) */\n      if (resources->sendDevMem == NULL) return ncclInternalError; // We should not use read + memcpy\n      send->conn.buffs[p] = (char*)(resources->sendDevMem+1);\n    } else {\n      send->conn.buffs[p] = buff;\n      buff += comm->buffSizes[p];\n    }\n  }\n  send->conn.stepSize = comm->buffSizes[NCCL_PROTO_SIMPLE]/NCCL_STEPS;\n\n  if (useMemcpy) {\n    send->conn.tail = &resources->proxyInfo.ceRecvMem->tail;\n    send->conn.connFifo = resources->proxyInfo.ceRecvMem->connFifo;\n    send->conn.head = &resources->proxyInfo.devShm->sendMem.head;\n    // Send SIMPLE buff to proxy, and replace it by local buffer\n    NCCLCHECK(ncclProxyCallBlocking(comm, &send->proxyConn, ncclProxyMsgConnect, &send->conn.buffs[NCCL_PROTO_SIMPLE], sizeof(void*), NULL, 0));\n    send->conn.buffs[NCCL_PROTO_SIMPLE] = resources->proxyInfo.ceDevBuff;\n  } else {\n    send->conn.tail = &remDevMem->tail;\n    send->conn.head = &resources->sendDevMem->head;\n    send->conn.ptrExchange = &resources->sendDevMem->ptrExchange;\n    send->conn.redOpArgExchange = resources->sendDevMem->redOpArgExchange;\n  }\n  // We must assign the proxyConn's proxyProgress property for proper checking at enqueue-time\n  send->proxyConn.proxyProgress = p2pTransport.send.proxyProgress;\n  return ncclSuccess;\n}\n\n/* Connect/Recv from this peer */\nncclResult_t p2pRecvConnect(struct ncclComm* comm, struct ncclConnect* connectInfo, int nranks, int rank, struct ncclConnector* recv) {\n  struct p2pResources* resources = (struct p2pResources*)recv->transportResources;\n  struct p2pConnectInfo* info = (struct p2pConnectInfo*)connectInfo;\n\n  struct ncclSendMem* remDevMem = NULL;\n\n  if (useMemcpy) {\n    // Attach to peer's SHM segment\n    NCCLCHECK(ncclShmImportShareableBuffer(comm, info->rank, &info->desc, (void**)&resources->shm, (void**)&resources->devShm, &resources->desc));\n\n    recv->conn.tail = &resources->devShm->recvMem.tail;\n    recv->conn.head = &resources->devShm->sendMem.head;\n  } else {\n    NCCLCHECK(p2pMap(comm, &recv->proxyConn, comm->peerInfo+rank, comm->peerInfo+info->rank, &info->p2pBuff, (void**)&remDevMem, &resources->sendMemIpc));\n    resources->sendMemSameProc = P2P_SAME_PID((comm->peerInfo + rank), (comm->peerInfo + info->rank));\n\n    struct ncclRecvMem* devMem = resources->recvDevMem;\n    recv->conn.tail = &devMem->tail;\n    recv->conn.head = &remDevMem->head;\n    recv->conn.ptrExchange = &remDevMem->ptrExchange;\n    recv->conn.redOpArgExchange = remDevMem->redOpArgExchange;\n  }\n  recv->conn.stepSize = comm->buffSizes[NCCL_PROTO_SIMPLE]/NCCL_STEPS;\n\n  char* buff = (char*)(resources->recvDevMem+1);\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n    if (info->read && p == NCCL_PROTO_SIMPLE) {\n      if (remDevMem == NULL) return ncclInternalError; // We should not use read + memcpy\n      /* For P2P Read the SIMPLE buffer is remote (ncclSendMem) */\n      recv->conn.buffs[p] = (char*)(remDevMem+1);\n    } else {\n      recv->conn.buffs[p] = buff;\n      buff += comm->buffSizes[p];\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t p2pSendFree(struct ncclConnector* send) {\n  struct p2pResources* resources = (struct p2pResources*)send->transportResources;\n  if (resources) {\n    if (ncclCuMemEnable()) {\n      // cuMem API support\n      if (resources->sendMemIpc) {\n        if (resources->sendMemSameProc) {\n          NCCLCHECK(ncclCuMemFreeAddr(resources->sendMemIpc));\n        } else {\n          NCCLCHECK(ncclCudaFree(resources->sendMemIpc));\n        }\n      }\n\n      if (resources->recvMemIpc) {\n        if (resources->recvMemSameProc) {\n          NCCLCHECK(ncclCuMemFreeAddr(resources->recvMemIpc));\n        } else {\n          NCCLCHECK(ncclCudaFree(resources->recvMemIpc));\n        }\n      }\n    }\n    else {\n      if (resources->sendMemIpc) CUDACHECK(cudaIpcCloseMemHandle(resources->sendMemIpc));\n      if (resources->recvMemIpc) CUDACHECK(cudaIpcCloseMemHandle(resources->recvMemIpc));\n    }\n    free(resources);\n  }\n  return ncclSuccess;\n}\n\nncclResult_t p2pRecvFree(struct ncclConnector* recv) {\n  struct p2pResources* resources = (struct p2pResources*)recv->transportResources;\n  if (resources) {\n    if (ncclCuMemEnable()) {\n      // cuMem API support\n      if (resources->sendMemIpc) {\n        if (resources->sendMemSameProc) {\n          NCCLCHECK(ncclCuMemFreeAddr(resources->sendMemIpc));\n        } else {\n          NCCLCHECK(ncclCudaFree(resources->sendMemIpc));\n        }\n      }\n\n      if (resources->recvMemIpc) {\n        if (resources->recvMemSameProc) {\n          NCCLCHECK(ncclCuMemFreeAddr(resources->recvMemIpc));\n        } else {\n          NCCLCHECK(ncclCudaFree(resources->recvMemIpc));\n        }\n      }\n    }\n    else {\n      if (resources->sendMemIpc) CUDACHECK(cudaIpcCloseMemHandle(resources->sendMemIpc));\n      if (resources->recvMemIpc) CUDACHECK(cudaIpcCloseMemHandle(resources->recvMemIpc));\n      if (useMemcpy) {\n        NCCLCHECK(ncclShmIpcClose(&resources->desc));\n      }\n    }\n    free(resources);\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t p2pSendProxySetup(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  if (useMemcpy) {\n    // CE memcpy support\n    struct p2pShmProxyInfo* proxyInfo;\n    size_t shmSize;\n\n    if (respSize != sizeof(struct p2pShmProxyInfo)) return ncclInternalError;\n    NCCLCHECK(ncclCalloc(&proxyInfo, 1));\n    connection->transportResources = proxyInfo;\n\n#if defined(HIP_UNCACHED_MEMORY)\n    NCCLCHECK(ncclCudaCalloc(&proxyInfo->ceDevBuff, proxyState->buffSizes[NCCL_PROTO_SIMPLE], hipDeviceMallocUncached));\n#else\n    NCCLCHECK(ncclCudaCalloc(&proxyInfo->ceDevBuff, proxyState->buffSizes[NCCL_PROTO_SIMPLE], hipDeviceMallocFinegrained));\n#endif\n\n    // Create a SHM segment for the peer to attach to\n    shmSize = sizeof(struct ncclSendMem) + sizeof(struct ncclRecvMem);\n    NCCLCHECK(ncclShmAllocateShareableBuffer(shmSize, false, &proxyInfo->desc, (void**)&proxyInfo->shm, (void**)&proxyInfo->devShm));\n\n    NCCLCHECK(ncclCudaHostCalloc(&proxyInfo->ceRecvMem, 1));\n    memcpy(respBuff, proxyInfo, sizeof(struct p2pShmProxyInfo));\n  } else {\n    struct ncclP2pRequest* req = (struct ncclP2pRequest*)reqBuff;\n    if (reqSize != sizeof(struct ncclP2pRequest)) return ncclInternalError;\n    int size = req->size;\n    if (respSize != sizeof(struct ncclP2pBuff)) return ncclInternalError;\n    struct ncclP2pBuff* p2pBuff = (struct ncclP2pBuff*)respBuff;\n    NCCLCHECK(ncclP2pAllocateShareableBuffer(size, req->refcount, &p2pBuff->ipcDesc, &p2pBuff->directPtr));\n    p2pBuff->size = size;\n    if (ncclCuMemEnable()) {\n      // cuMem API support\n      struct p2pCuMemProxyInfo* proxyInfo;\n      NCCLCHECK(ncclCalloc(&proxyInfo, 1));\n      memcpy(&proxyInfo->p2pBuff, p2pBuff, sizeof(*p2pBuff));\n      connection->transportResources = proxyInfo;\n    } else {\n      connection->transportResources = p2pBuff->directPtr;\n    }\n  }\n  *done = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t p2pRecvProxySetup(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  struct ncclP2pRequest* req = (struct ncclP2pRequest*)reqBuff;\n  if (reqSize != sizeof(struct ncclP2pRequest)) return ncclInternalError;\n  int size = req->size;\n  if (respSize != sizeof(struct ncclP2pBuff)) return ncclInternalError;\n  struct ncclP2pBuff* p2pBuff = (struct ncclP2pBuff*)respBuff;\n  NCCLCHECK(ncclP2pAllocateShareableBuffer(size, req->refcount, &p2pBuff->ipcDesc, &p2pBuff->directPtr));\n  p2pBuff->size = size;\n  if (ncclCuMemEnable()) {\n    // cuMem API support\n    struct p2pCuMemProxyInfo* proxyInfo;\n    NCCLCHECK(ncclCalloc(&proxyInfo, 1));\n    memcpy(&proxyInfo->p2pBuff, p2pBuff, sizeof(*p2pBuff));\n    connection->transportResources = proxyInfo;\n  } else {\n    connection->transportResources = p2pBuff->directPtr;\n  }\n  *done = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t p2pSendProxyConnect(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  struct p2pShmProxyInfo* proxyInfo = (struct p2pShmProxyInfo*)connection->transportResources;\n\n  if (reqSize != sizeof(void*)) return ncclInternalError;\n  proxyInfo->recvFifo = *((char**)reqBuff);\n\n  CUDACHECK(cudaStreamCreateWithFlags(&proxyInfo->stream, cudaStreamNonBlocking));\n  for (int i=0; i<NCCL_STEPS; i++) {\n    CUDACHECK(cudaEventCreate(proxyInfo->events+i));\n  }\n  connection->proxyAppendPtr = &connection->proxyAppend;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t p2pSendProxyFree(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState) {\n  // CE memcpy support\n  if (useMemcpy) {\n    struct p2pShmProxyInfo* proxyInfo = (struct p2pShmProxyInfo*)connection->transportResources;\n    if (proxyInfo) {\n      NCCLCHECK(ncclShmIpcClose(&proxyInfo->desc));\n      NCCLCHECK(ncclCudaHostFree(proxyInfo->ceRecvMem));\n      NCCLCHECK(ncclCudaFree(proxyInfo->ceDevBuff));\n      CUDACHECK(cudaStreamDestroy(proxyInfo->stream));\n      for (int i=0; i<NCCL_STEPS; i++) {\n        CUDACHECK(cudaEventDestroy(proxyInfo->events[i]));\n      }\n      free(proxyInfo);\n    }\n  } else {\n    if (ncclCuMemEnable()) {\n      // cuMem API support\n      struct p2pCuMemProxyInfo *proxyInfo = (struct p2pCuMemProxyInfo *) connection->transportResources;\n      if (proxyInfo) {\n        struct ncclP2pBuff *p2pBuff = &proxyInfo->p2pBuff;\n        ncclP2pFreeShareableBuffer(&p2pBuff->ipcDesc);\n        ncclCudaFree(p2pBuff->directPtr);\n        free(proxyInfo);\n      }\n    } else {\n      // Do not check return code as CUDA may have already shut down\n      ncclCudaFree(connection->transportResources);\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t p2pRecvProxyFree(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState) {\n  if (ncclCuMemEnable()) {\n    struct p2pCuMemProxyInfo *proxyInfo = (struct p2pCuMemProxyInfo *) connection->transportResources;\n    if (proxyInfo) {\n      struct ncclP2pBuff *p2pBuff = &proxyInfo->p2pBuff;\n      ncclP2pFreeShareableBuffer(&p2pBuff->ipcDesc);\n      ncclCudaFree(p2pBuff->directPtr);\n      free(proxyInfo);\n    }\n  } else {\n    // Do not check return code as CUDA may have already shut down\n    ncclCudaFree(connection->transportResources);\n  }\n  return ncclSuccess;\n}\n\n// CE memcpy support\nstatic ncclResult_t p2pSendProxyProgress(struct ncclProxyState* proxyState, struct ncclProxyArgs* args) {\n  if (args->state == ncclProxyOpReady) {\n    for (int s=0; s<args->nsubs; s++) {\n      struct ncclProxySubArgs* sub = args->subs+s;\n      struct p2pShmProxyInfo* resources = (struct p2pShmProxyInfo*) (sub->connection->transportResources);\n      // Round to next multiple of sliceSteps\n      sub->base = ROUNDUP(resources->step, args->chunkSteps);\n      sub->posted = sub->transmitted = sub->done = 0;\n    }\n    args->state = ncclProxyOpProgress;\n  }\n  args->idle = 1;\n  if (args->state == ncclProxyOpProgress) {\n    int p = args->protocol;\n    int stepSize = proxyState->buffSizes[p] / NCCL_STEPS;\n    for (int s=0; s<args->nsubs; s++) {\n      struct ncclProxySubArgs* sub = args->subs+s;\n      struct p2pShmProxyInfo* resources = (struct p2pShmProxyInfo*) (sub->connection->transportResources);\n      if (p != NCCL_PROTO_SIMPLE) { // Only Simple uses cudaMemcpy\n          resources->step = sub->base + sub->nsteps;\n          args->done++;\n          continue;\n      }\n      if (sub->transmitted < sub->done + NCCL_STEPS && sub->transmitted < sub->nsteps) {\n        int buffSlot = (sub->base+sub->transmitted)%NCCL_STEPS;\n        volatile struct ncclConnFifo* connFifo = resources->ceRecvMem->connFifo;\n        volatile uint64_t* recvTail = &resources->ceRecvMem->tail;\n        // Check GPU has sent everything\n        if ((*recvTail > sub->base+sub->transmitted)) {\n          int size = connFifo[buffSlot].size;\n          CUDACHECK(cudaMemcpyAsync(resources->recvFifo+buffSlot*stepSize, resources->ceDevBuff+buffSlot*stepSize, size, cudaMemcpyDeviceToDevice, resources->stream));\n          CUDACHECK(cudaEventRecord(resources->events[buffSlot], resources->stream));\n          sub->transmitted += args->sliceSteps;\n        }\n      }\n      if (sub->done < sub->transmitted) {\n        int buffSlot = (sub->base+sub->done)%NCCL_STEPS;\n        cudaError_t res = cudaEventQuery(resources->events[buffSlot]);\n        if (res != cudaErrorNotReady) CUDACHECK(res);\n        if (res == cudaSuccess) {\n          sub->done += args->sliceSteps;\n          // Notify SHM\n          resources->shm->recvMem.tail = sub->base + sub->done;\n        }\n        if (sub->done == sub->nsteps) {\n          resources->step = sub->base + sub->nsteps;\n          args->done++;\n        }\n      }\n    }\n    if (args->done == args->nsubs) {\n      args->state = ncclProxyOpNone;\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t ipcRegisterBuffer(ncclComm* comm, const void* userbuff, size_t buffSize, int* peerRanks, int nPeers, ncclIpcRegType type, struct ncclReg* regRecord, int* regBufFlag, uintptr_t* offsetOut, uintptr_t** peerRmtAddrsOut, bool* isLegacyIpc) {\nncclResult_t ret = ncclSuccess;\n  struct ncclIpcRegInfo* newInfo = NULL;\n  uintptr_t* peerRmtAddrs = NULL;\n  int legacyIpcCap = 0;\n  size_t baseSize = 0;\n  void* baseAddr = NULL;\n  bool needUpdate = false;\n\n  *regBufFlag = 0;\n  *offsetOut = 0;\n  *peerRmtAddrsOut = NULL;\n  if (isLegacyIpc) *isLegacyIpc = false;\n  if (regRecord) {\n    // buffer was registered by by users, we need to start to register or reuse it\n    int peerLocalRank = -1;\n    for (int p = 0; p < nPeers; p++) {\n      int peerRank = peerRanks[p];\n      peerLocalRank = comm->rankToLocalRank[peerRank];\n      if (regRecord->ipcInfos[peerLocalRank]) {\n        // We already have IPC info for peerLocalRank, no need to register it, we can reuse it\n        *regBufFlag = 1;\n        if (isLegacyIpc) *isLegacyIpc = regRecord->ipcInfos[peerLocalRank]->impInfo.legacyIpcCap;\n        INFO(NCCL_REG, \"rank %d - IPC reuse buffer %p size %ld (baseAddr %p size %ld) to peer %d regAddr %p\", comm->rank, userbuff, buffSize, (void*)regRecord->begAddr, regRecord->endAddr - regRecord->begAddr, peerRank, regRecord->ipcInfos[peerLocalRank]->impInfo.rmtRegAddr);\n      } else {\n        // Register buffer with peerLocalRank\n        struct ncclProxyConnector* proxyConn = NULL;\n        struct p2pIpcExpInfo ipcInfo;\n\n        if (baseAddr == NULL) {\n          CUCHECKGOTO(cuMemGetAddressRange((CUdeviceptr*)&baseAddr, &baseSize, (CUdeviceptr)userbuff), ret, fail);\n          CUCHECKGOTO(cuPointerGetAttribute((void*)&legacyIpcCap, CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE, (CUdeviceptr)baseAddr), ret, fail);\n        }\n        if (comm->gproxyConn[peerRank].initialized == false)\n          NCCLCHECKGOTO(ncclProxyConnect(comm, TRANSPORT_P2P, 1, peerRank, &comm->gproxyConn[peerRank]), ret, fail);\n        proxyConn = &comm->gproxyConn[peerRank];\n\n        // Get the mem handle for that buffer. It may have been allocated through cudaMalloc in which case we'll\n        // get the CUDA legacy mem handle, or through cuMem*.\n        if (ncclCuMemEnable()) {\n#if ROCM_VERSION >= 70000\n          CUmemGenericAllocationHandle handle;\n          if (CUPFN(cuMemRetainAllocationHandle(&handle, baseAddr)) != CUDA_SUCCESS) {\n            // if cuMem* export fails, retry legacy export\n            if (comm->directMode || !ncclParamLegacyCudaRegister()) goto fail;\n            CUDACHECKGOTO(cudaIpcGetMemHandle(&ipcInfo.ipcDesc.devIpc, baseAddr), ret, fail);\n            ipcInfo.legacyIpcCap = true;\n            if (isLegacyIpc) *isLegacyIpc = true;\n          } else {\n            ipcInfo.legacyIpcCap = false;\n            if (isLegacyIpc) *isLegacyIpc = false;\n            // cuMem* export to file descriptor or fabric handle\n            if (proxyConn->sameProcess) {\n              memcpy(&ipcInfo.ipcDesc.memHandle, &handle, sizeof(CUmemGenericAllocationHandle));\n            } else {\n              if (ncclCuMemHandleType == CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR) {\n                int expFd = -1;\n                CUCHECKGOTO(cuMemExportToShareableHandle(&expFd, handle, ncclCuMemHandleType, 0), ret, fail);\n                NCCLCHECKGOTO(ncclProxyClientQueryFdBlocking(comm, proxyConn, expFd, &ipcInfo.impFd), ret, fail);\n                SYSCHECKGOTO(close(expFd), \"close\", ret, fail);\n              } else {\n                // Allow this to silently fail for cases where the user buff cannot be registered\n                if (CUPFN(cuMemExportToShareableHandle(&ipcInfo.ipcDesc.cuDesc.handle, handle, ncclCuMemHandleType, 0)) != CUDA_SUCCESS) {\n                  CUCHECKGOTO(cuMemRelease(handle), ret, fail);\n                  goto fail;\n                }\n              }\n            }\n            CUCHECKGOTO(cuMemRelease(handle), ret, fail);\n          }\n#endif\n        } else if (legacyIpcCap) {\n          // legacy export\n          if (comm->directMode || !ncclParamLegacyCudaRegister()) goto fail;\n          CUDACHECKGOTO(cudaIpcGetMemHandle(&ipcInfo.ipcDesc.devIpc, baseAddr), ret, fail);\n          ipcInfo.legacyIpcCap = true;\n          if (isLegacyIpc) *isLegacyIpc = true;\n        } else {\n          // nothing works, just return\n          goto fail;\n        }\n\n        void* rmtRegAddr = NULL;\n        ipcInfo.size = baseSize;\n        ipcInfo.offset = regRecord->begAddr - (uintptr_t)baseAddr;\n        // Now ipcInfo contains all necessary registration info. Start to register buffer on proxy side\n        // and get the remote register address back.\n        if (proxyConn) {\n          INFO(NCCL_REG, \"rank %d - IPC registering buffer %p size %ld (baseAddr %p size %ld) to peer %d\", comm->rank, userbuff, buffSize, (void*)regRecord->begAddr, ipcInfo.size, peerRank);\n          NCCLCHECKGOTO(ncclProxyCallBlocking(comm, proxyConn, ncclProxyMsgRegister, &ipcInfo, sizeof(p2pIpcExpInfo), &rmtRegAddr, sizeof(void*)), ret, fail);\n        }\n        if (rmtRegAddr) {\n          NCCLCHECKGOTO(ncclCalloc(&newInfo, 1), ret, fail);\n          assert(regRecord->ipcInfos[peerLocalRank] == NULL);\n          regRecord->state |= IPC_REG_COMPLETE;\n          newInfo->peerRank = peerRank;\n          newInfo->baseAddr = baseAddr;\n          newInfo->impInfo.rmtRegAddr = rmtRegAddr;\n          newInfo->impInfo.offset = ipcInfo.offset;\n          newInfo->impInfo.legacyIpcCap = ipcInfo.legacyIpcCap;\n          newInfo->ipcProxyconn = proxyConn;\n          regRecord->ipcInfos[peerLocalRank] = newInfo;\n          if (regRecord->regIpcAddrs.hostPeerRmtAddrs == NULL) {\n            NCCLCHECKGOTO(ncclCalloc(&regRecord->regIpcAddrs.hostPeerRmtAddrs, comm->localRanks), ret, fail);\n          }\n          regRecord->regIpcAddrs.hostPeerRmtAddrs[peerLocalRank] = (uintptr_t)rmtRegAddr;\n          needUpdate = true;\n          *regBufFlag = 1;\n          INFO(NCCL_REG, \"rank %d - IPC register buffer %p size %ld (baseAddr %p size %ld) to peer %d regAddr %p offsetOut %ld\", comm->rank, userbuff, buffSize, (void*)regRecord->begAddr, ipcInfo.size, peerRank, rmtRegAddr, (uintptr_t)userbuff - regRecord->begAddr);\n        }\n      }\n    }\n\n    if (*regBufFlag) {\n      if (type == NCCL_IPC_COLLECTIVE) {\n        // for collective, store registered remote buffers into dev memory for future reference\n        if (regRecord->regIpcAddrs.devPeerRmtAddrs == NULL || needUpdate) {\n          cudaStream_t hostStream, deviceStream;\n          NCCLCHECKGOTO(ncclStrongStreamAcquire(ncclCudaGraphNone(), &comm->sharedRes->hostStream, /*concurrent=*/false, &hostStream), ret, fail);\n          NCCLCHECKGOTO(ncclStrongStreamAcquire(ncclCudaGraphNone(), &comm->sharedRes->deviceStream, /*concurrent=*/false, &deviceStream), ret, fail);\n          if (regRecord->regIpcAddrs.devPeerRmtAddrs == NULL)\n            NCCLCHECKGOTO(ncclCudaCallocAsync(&regRecord->regIpcAddrs.devPeerRmtAddrs, comm->localRanks, hostStream), ret, fail);\n          if (needUpdate)\n            NCCLCHECKGOTO(ncclCudaMemcpyAsync(regRecord->regIpcAddrs.devPeerRmtAddrs, regRecord->regIpcAddrs.hostPeerRmtAddrs, comm->localRanks, hostStream), ret, fail);\n          NCCLCHECKGOTO(ncclStreamWaitStream(deviceStream, hostStream, comm->sharedRes->scratchEvent), ret, fail);\n          NCCLCHECKGOTO(ncclStrongStreamRelease(ncclCudaGraphNone(), &comm->sharedRes->hostStream, /*concurrent=*/false), ret, fail);\n          NCCLCHECKGOTO(ncclStrongStreamRelease(ncclCudaGraphNone(), &comm->sharedRes->deviceStream, /*concurrent=*/false), ret, fail);\n        }\n        peerRmtAddrs = regRecord->regIpcAddrs.devPeerRmtAddrs;\n      } else {\n        assert(nPeers == 1);\n        // p2p always returns remote addr here since remote buffer addr is passed in ncclDevWorkP2p struct\n        peerRmtAddrs = (uintptr_t*)regRecord->regIpcAddrs.hostPeerRmtAddrs[peerLocalRank];\n      }\n      *offsetOut = (uintptr_t)userbuff - regRecord->begAddr;\n      *peerRmtAddrsOut = peerRmtAddrs;\n    }\n  }\nexit:\n  return ret;\nfail:\n  *regBufFlag = 0;\n  *offsetOut = 0;\n  *peerRmtAddrsOut = NULL;\n  if (newInfo) free(newInfo);\n  INFO(NCCL_REG, \"rank %d failed to IPC register userbuff %p buffSize %ld nPeers %d isLegacyIpc %d type %s\", comm->rank, userbuff, buffSize, nPeers, isLegacyIpc ? *isLegacyIpc : -1, ncclCuMemHandleType == CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR ? \"POSIX_FD\" : \"FABRIC\");\n  goto exit;\n}\n\nncclResult_t ncclIpcLocalRegisterBuffer(ncclComm* comm, const void* userbuff, size_t buffSize, int* peerRanks, int nPeers, ncclIpcRegType type, int* regBufFlag, uintptr_t* offsetOut, uintptr_t** peerRmtAddrsOut) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclReg *regRecord = NULL;\n  bool isValid = false;\n  void *baseAddr = NULL;\n  size_t baseSize = 0;\n\n  *regBufFlag = 0;\n  *offsetOut = 0;\n  *peerRmtAddrsOut = NULL;\n  if (comm && userbuff && buffSize > 0 && nPeers > 0) {\n    NCCLCHECKGOTO(ncclRegFind(comm, userbuff, buffSize, &regRecord), ret, fail);\n    NCCLCHECKGOTO(ncclRegLocalIsValid(regRecord, &isValid), ret, fail);\n    if (isValid) {\n      CUCHECKGOTO(cuMemGetAddressRange((CUdeviceptr *)&baseAddr, &baseSize, (CUdeviceptr)userbuff), ret, fail);\n      if ((uint64_t)baseAddr + baseSize < (uint64_t)userbuff + buffSize) goto exit;\n      NCCLCHECKGOTO(ipcRegisterBuffer(comm, userbuff, buffSize, peerRanks, nPeers, type, regRecord, regBufFlag, offsetOut, peerRmtAddrsOut, NULL), ret, fail);\n    }\n  }\n\nexit:\n  return ret;\nfail:\n  *regBufFlag = 0;\n  *offsetOut = 0;\n  *peerRmtAddrsOut = NULL;\n  goto exit;\n}\n\nstruct ncclIpcCleanupCallback {\n  struct ncclCommCallback base;\n  struct ncclComm *comm;\n  struct ncclReg *reg;\n};\n\nstatic ncclResult_t cleanupIpc(struct ncclComm* comm, struct ncclCommCallback* cb) {\n  struct ncclIpcCleanupCallback* obj = (struct ncclIpcCleanupCallback*)cb;\n  NCCLCHECK(ncclCommGraphDeregister(obj->comm, obj->reg));\n  free(obj);\n  return ncclSuccess;\n}\n\nncclResult_t ncclIpcGraphRegisterBuffer(ncclComm* comm, const void* userbuff, size_t buffSize, int* peerRanks, int nPeers, ncclIpcRegType type, int* regBufFlag, uintptr_t* offsetOut, uintptr_t** peerRmtAddrsOut, void* cleanupQueuePtr, int* nCleanupQueueElts) {\n  ncclResult_t ret = ncclSuccess;\n  void* baseAddr = nullptr;\n  size_t baseSize = 0;\n  struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>* cleanupQueue = reinterpret_cast<struct ncclIntruQueue<struct ncclCommCallback, &ncclCommCallback::next>*>(cleanupQueuePtr);\n  bool isLegacyIpc = false;\n  struct ncclReg *regRecord = NULL;\n\n  *regBufFlag = 0;\n  *offsetOut = 0;\n  *peerRmtAddrsOut = NULL;\n  if (comm && userbuff && buffSize > 0 && nPeers > 0) {\n    CUCHECKGOTO(cuMemGetAddressRange((CUdeviceptr*)&baseAddr, &baseSize, (CUdeviceptr)userbuff), ret, fail);\n    if ((uint64_t)baseAddr + baseSize < (uint64_t)userbuff + buffSize) goto exit;\n    NCCLCHECKGOTO(ncclCommGraphRegister(comm, baseAddr, baseSize, (void**)&regRecord), ret, fail);\n    NCCLCHECKGOTO(ipcRegisterBuffer(comm, userbuff, buffSize, peerRanks, nPeers, type, regRecord, regBufFlag, offsetOut, peerRmtAddrsOut, &isLegacyIpc), ret, fail);\n    if (*regBufFlag) {\n      struct ncclIpcCleanupCallback* record;\n      NCCLCHECKGOTO(ncclCalloc(&record, 1), ret, fail);\n      record->base.fn = cleanupIpc;\n      record->comm = comm;\n      record->reg = regRecord;\n      if (isLegacyIpc) {\n        ncclIntruQueueEnqueue(&comm->legacyRegCleanupQueue, (struct ncclCommCallback*)record);\n      } else {\n        ncclIntruQueueEnqueue(cleanupQueue, (struct ncclCommCallback*)record);\n        if (nCleanupQueueElts) *nCleanupQueueElts += 1;\n      }\n    } else {\n      NCCLCHECKGOTO(ncclCommGraphDeregister(comm, regRecord), ret, fail);\n    }\n  }\n\nexit:\n  // coverity[leaked_storage:FALSE] => normally, addrsRecord is added to the cleanupQueue\n  return ret;\nfail:\n  *regBufFlag = 0;\n  *offsetOut = 0;\n  *peerRmtAddrsOut = NULL;\n  goto exit;\n}\n\nncclResult_t ncclIpcDeregBuffer(struct ncclComm* comm, struct ncclIpcRegInfo* regInfo) {\n  NCCLCHECK(ncclProxyCallBlocking(comm, regInfo->ipcProxyconn, ncclProxyMsgDeregister, &regInfo->impInfo, sizeof(struct ncclIpcImpInfo), NULL, 0));\n  INFO(NCCL_REG, \"rank %d - IPC deregistered buffer %p peer %d ipc remote buffer %p\", comm->rank, regInfo->baseAddr, regInfo->peerRank, regInfo->impInfo.rmtRegAddr);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t p2pProxyRegister(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  struct p2pIpcExpInfo* ipcExpInfo = (struct p2pIpcExpInfo*)reqBuff;\n  void* regAddr = NULL;\n  ncclResult_t ret = ncclSuccess;\n  bool mapped = false;\n  bool imported = false;\n  CUmemGenericAllocationHandle handle;\n\n  assert(sizeof(struct p2pIpcExpInfo) == reqSize);\n  assert(sizeof(void*) == respSize);\n\n  INFO(NCCL_REG, \"Proxy rank %d register reqBuff %p size %ld offset %ld legacyIpcCap %d sameProcess %d\", proxyState->tpRank, reqBuff, ipcExpInfo->size, ipcExpInfo->offset, ipcExpInfo->legacyIpcCap, connection->sameProcess);\n\n  // request peer passes all necessary buffer info to import. The proxy thread would register\n  // the buffer locally and return register addr back\n  if (ipcExpInfo->legacyIpcCap) {\n    // legacy import\n    CUDACHECKGOTO(cudaIpcOpenMemHandle(&regAddr, ipcExpInfo->ipcDesc.devIpc, cudaIpcMemLazyEnablePeerAccess), ret, fail);\n    regAddr = (void*)((uintptr_t)regAddr + ipcExpInfo->offset);\n  } else {\n#if ROCM_VERSION >= 70000\n    // cuMem import\n    if (connection->sameProcess) {\n      // if proxy is same process as request peer, we just need to map the handle.\n      memcpy(&handle, &ipcExpInfo->ipcDesc.memHandle, sizeof(CUmemGenericAllocationHandle));\n    } else {\n      if (ncclCuMemHandleType == CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR) {\n        CUCHECKGOTO(cuMemImportFromShareableHandle(&handle, &ipcExpInfo->impFd, ncclCuMemHandleType), ret, fail);\n        SYSCHECKGOTO(close(ipcExpInfo->impFd), \"close\", ret, fail);\n      } else {\n        CUCHECKGOTO(cuMemImportFromShareableHandle(&handle, (void*)&ipcExpInfo->ipcDesc.cuDesc, ncclCuMemHandleType), ret, fail);\n      }\n    }\n    imported = true;\n    CUCHECKGOTO(cuMemAddressReserve((CUdeviceptr*)&regAddr, ipcExpInfo->size, /* alignment */ 0, /* addr */ 0, /* flags */ 0), ret, fail);\n    CUCHECKGOTO(cuMemMap((CUdeviceptr)regAddr, ipcExpInfo->size, /* offset */ 0, handle, /* flags */ 0), ret, fail);\n    mapped = true;\n    // Allow access by the local GPU\n    CUmemAccessDesc accessDesc = {};\n    accessDesc.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n    accessDesc.location.id = proxyState->cudaDev;\n    accessDesc.flags = CU_MEM_ACCESS_FLAGS_PROT_READWRITE;\n    CUCHECKGOTO(cuMemSetAccess((CUdeviceptr)regAddr, ipcExpInfo->size, &accessDesc, 1), ret, fail);\n    regAddr = (void*)((uintptr_t)regAddr + ipcExpInfo->offset);\n#endif\n  }\n  INFO(NCCL_REG, \"Proxy rank %d register success regAddr %p size %ld offset %ld legacyIpcCap %d sameProcess %d\", proxyState->tpRank, regAddr, ipcExpInfo->size, ipcExpInfo->offset, ipcExpInfo->legacyIpcCap, connection->sameProcess);\n\nexit:\n  memcpy(respBuff, (void*)&regAddr, sizeof(void*));\n  *done = 1;\n  return ret;\nfail:\n  if (!ipcExpInfo->legacyIpcCap) {\n#if ROCM_VERSION >= 70000\n    if (mapped) CUCHECK(cuMemUnmap((CUdeviceptr)regAddr, ipcExpInfo->size));\n    if (regAddr) CUCHECK(cuMemAddressFree((CUdeviceptr)regAddr, ipcExpInfo->size));\n    if (imported) CUCHECK(cuMemRelease(handle));\n#endif\n  }\n  regAddr = NULL;\n  goto exit;\n}\n\nstatic ncclResult_t p2pProxyDeregister(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, int* done) {\n  ncclResult_t ret = ncclSuccess;\n  struct ncclIpcImpInfo* ipcInfo = (struct ncclIpcImpInfo*)reqBuff;\n  assert(sizeof(struct ncclIpcImpInfo) == reqSize);\n\n  if (ipcInfo->legacyIpcCap) {\n    CUDACHECKGOTO(cudaIpcCloseMemHandle((void*)((uintptr_t)ipcInfo->rmtRegAddr - ipcInfo->offset)), ret, fail);\n  } else {\n    if (connection->sameProcess) {\n      NCCLCHECKGOTO(ncclCuMemFreeAddr((void*)((uintptr_t)ipcInfo->rmtRegAddr - ipcInfo->offset)), ret, fail);\n    } else {\n      NCCLCHECKGOTO(ncclCudaFree((void*)((uintptr_t)ipcInfo->rmtRegAddr - ipcInfo->offset)), ret, fail);\n    }\n  }\n\nexit:\n  *done = 1;\n  return ret;\nfail:\n  goto exit;\n}\n\nstruct ncclTransport p2pTransport = {\n  \"P2P\",\n  p2pCanConnect,\n  { p2pSendSetup, p2pSendConnect, p2pSendFree, NULL, p2pSendProxySetup, NULL, p2pSendProxyFree, NULL, p2pProxyRegister, p2pProxyDeregister },\n  { p2pRecvSetup, p2pRecvConnect, p2pRecvFree, NULL, p2pRecvProxySetup, NULL, p2pRecvProxyFree, NULL, p2pProxyRegister, p2pProxyDeregister }\n};\n\nstatic void initCeOperation() {\n  static int init = 0;\n  if (!init) {\n    useMemcpy = ncclParamP2pUseCudaMemcpy();\n    if (useMemcpy) {\n      p2pTransport.send.proxyConnect = p2pSendProxyConnect;\n      p2pTransport.send.proxyProgress = p2pSendProxyProgress;\n    }\n    init = 1;\n  }\n}"
  },
  {
    "path": "src/transport/profiler.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"transport.h\"\n#include \"proxy.h\"\n#include \"profiler.h\"\n#include \"device.h\"\n\nstatic ncclResult_t profilerProxyConnect(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  connection->proxyAppendPtr = &connection->proxyAppend;\n  connection->shared = 0;\n  return ncclSuccess;\n}\n\n// The following ncclProxySubArgs are overloaded by the profiler progress function:\n// - base       : is set to the current value of workCounter[channelId]\n// - posted     : is set to sub->nsteps to indicate that the profiler has started the event\n// - transmitted: is set to sub->nsteps to indicate that the profiler has stopped the event\nstatic ncclResult_t profilerProxyProgress(struct ncclProxyState* proxyState, struct ncclProxyArgs* args) {\n  if (args->state == ncclProxyOpReady) {\n    for (int s = 0; s < args->nsubs; s++) {\n      struct ncclProxySubArgs* sub = args->subs + s;\n      sub->base = sub->workCounter;\n      sub->posted = sub->transmitted = 0;\n    }\n    args->state = ncclProxyOpProgress;\n  }\n  if (args->state == ncclProxyOpProgress) {\n    for (int s = 0; s < args->nsubs; s++) {\n      struct ncclProxySubArgs* sub = args->subs + s;\n      struct ncclDevProfiler* workStarted = (struct ncclDevProfiler *)sub->sendbuff;\n      struct ncclDevProfiler* workCompleted = (struct ncclDevProfiler *)sub->recvbuff;\n      if (sub->posted < sub->nsteps && sub->base <= workStarted[sub->channelId].data[sub->base%MAX_PROFILER_EVENTS_PER_CHANNEL].counter) {\n        ncclProfilerStartKernelChEvent(args, s, workStarted[sub->channelId].data[sub->base%MAX_PROFILER_EVENTS_PER_CHANNEL].timestamp);\n        sub->posted = sub->nsteps;\n        continue; // allow events on every channel to start\n      }\n      if (sub->transmitted < sub->nsteps && sub->base <= workCompleted[sub->channelId].data[sub->base%MAX_PROFILER_EVENTS_PER_CHANNEL].counter) {\n        ncclProfilerStopKernelChEvent(args, s, workCompleted[sub->channelId].data[sub->base%MAX_PROFILER_EVENTS_PER_CHANNEL].timestamp);\n        sub->transmitted = sub->nsteps;\n        args->done++;\n      }\n    }\n    if (args->done == args->nsubs) args->state = ncclProxyOpNone;\n  }\n  return ncclSuccess;\n}\n\nstruct ncclTransport profilerTransport = {\n  \"Prof\",\n  NULL,\n  { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL },\n  { NULL, NULL, NULL, NULL, NULL, profilerProxyConnect, NULL, profilerProxyProgress, NULL, NULL }\n};\n"
  },
  {
    "path": "src/transport/shm.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"shmutils.h\"\n#include \"shm.h\"\n#include \"transport.h\"\n\n#define SHM_PATH_MAX 128\n#define SHM_HANDLE_TYPE ncclCuMemHandleType\n\nstruct shmBuffInfo {\n  void *hptr;\n  void *dptr;\n};\n\nstruct shmConnectInfo {\n  int rank;\n  ncclShmIpcDesc_t desc;\n  struct shmBuffInfo buf;\n};\n\nstruct shmSendResources {\n  struct ncclRecvMem* remHostMem;\n  struct ncclRecvMem* devRemHostMem;\n  ncclShmIpcDesc_t remDesc;\n  struct ncclSendMem* hostMem;\n  struct ncclSendMem* devHostMem;\n};\n\nstruct shmRecvResources {\n  struct ncclSendMem* remHostMem;\n  struct ncclSendMem* devRemHostMem;\n  ncclShmIpcDesc_t remDesc;\n  struct ncclRecvMem* hostMem;\n  struct ncclRecvMem* devHostMem;\n};\n\nstruct shmProxyInfo {\n  struct ncclRecvMem* ceRecvMem;\n  char* devFifo;\n  char* shmFifo;\n  struct ncclSendMem* sendMem;\n  struct ncclRecvMem* recvMem;\n\n  // used by progress only\n  uint64_t step;\n  cudaStream_t stream;\n  cudaEvent_t events[NCCL_STEPS];\n\n  // ipc desc\n  ncclShmIpcDesc_t desc;\n};\n\nstruct shmRequest {\n  size_t size;\n  bool legacy;\n};\n\n#define SHM_SEND_SIDE 1\n#define SHM_RECV_SIDE 2\nNCCL_PARAM(ShmDisable, \"SHM_DISABLE\", 0);\nNCCL_PARAM(ShmUseCudaMemcpy, \"SHM_USE_CUDA_MEMCPY\", 0);\nNCCL_PARAM(ShmMemcpyMode, \"SHM_MEMCPY_MODE\", SHM_SEND_SIDE); // 1 is sender-side, 2 is receiver-side, 3 is both\nstatic int useMemcpySend = 0;\nstatic int useMemcpyRecv = 0;\nNCCL_PARAM(ShmLocality, \"SHM_LOCALITY\", SHM_RECV_SIDE); // 1 is sender-size, 2 is receiver-size\nstatic int shmLocality = 0;\nstatic void initCeOperation();\n\n/* Determine two peers can communicate with SHM */\nstatic ncclResult_t shmCanConnect(int* ret, struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* info1, struct ncclPeerInfo* info2) {\n  *ret = 0;\n  initCeOperation();\n\n  if (ncclParamShmDisable() == 1) return ncclSuccess;\n\n  int useNet = 0;\n  NCCLCHECK(ncclTopoCheckNet(comm->topo, info1->rank, info2->rank, &useNet));\n  if (useNet) return ncclSuccess;\n\n  // Same host?\n  TRACE(NCCL_INIT|NCCL_SHM, \"peer1 hostHash %lx peer2 hostHash %lx\", info1->hostHash, info2->hostHash);\n  if (info1->hostHash != info2->hostHash) return ncclSuccess;\n\n  // Common /dev/shm (between containers) ?\n  TRACE(NCCL_INIT|NCCL_SHM, \"peer1 shmDev %lx peer2 shmDev %lx\", info1->shmDev, info2->shmDev);\n  if (info1->shmDev != info2->shmDev) return ncclSuccess;\n\n  *ret = 1;\n\n  return ncclSuccess;\n}\n\n#define MAX_SHM_NAME_LEN 1024\n\n/* Create and return connect structures for this peer to connect to me */\nstatic ncclResult_t shmSendSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo, struct ncclConnect* connectInfo, struct ncclConnector* send, int channelId, int connIndex) {\n  struct shmSendResources* resources;\n  struct shmConnectInfo* info = (struct shmConnectInfo*)connectInfo;\n  size_t shmSize = sizeof(struct ncclSendMem);\n  struct shmRequest req;\n\n  static_assert(sizeof(struct shmConnectInfo) <= sizeof(struct ncclConnect), \"shm Connect Info is too big\");\n\n  NCCLCHECK(ncclCalloc(&resources, 1));\n  send->transportResources = resources;\n\n  if (shmLocality == SHM_SEND_SIDE) {\n    for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) shmSize += comm->buffSizes[p];\n  }\n  req.size = shmSize;\n  if (myInfo->hostHash == peerInfo->hostHash && myInfo->pidHash == peerInfo->pidHash)\n    req.legacy = true;\n  else\n    req.legacy = false;\n\n  NCCLCHECK(ncclProxyConnect(comm, TRANSPORT_SHM, 1, myInfo->rank, &send->proxyConn));\n  NCCLCHECK(ncclProxyCallBlocking(comm, &send->proxyConn, ncclProxyMsgSetup, (void*)&req, sizeof(struct shmRequest), (void*)info, sizeof(struct shmConnectInfo)));\n\n  info->rank = comm->rank;\n  resources->hostMem = (struct ncclSendMem*)info->buf.hptr;\n  resources->devHostMem = (struct ncclSendMem*)info->buf.dptr;\n\n  INFO(NCCL_INIT|NCCL_SHM,\"Channel %02d : %d[%lx] -> %d[%lx] via SHM/%s/%s comm %p nRanks %02d\", channelId, myInfo->rank, myInfo->busId, peerInfo->rank, peerInfo->busId, useMemcpySend?\"CE\":\"direct\", useMemcpyRecv?\"CE\":\"direct\", comm, comm->nRanks);\n  return ncclSuccess;\n}\n\nstatic ncclResult_t shmRecvSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo, struct ncclConnect* connectInfo, struct ncclConnector* recv, int channelId, int connIndex) {\n  struct shmRecvResources* resources;\n  struct shmConnectInfo* info = (struct shmConnectInfo*)connectInfo;\n  size_t shmSize = sizeof(struct ncclRecvMem);\n  struct shmRequest req;\n\n  NCCLCHECK(ncclCalloc(&resources, 1));\n  recv->transportResources = resources;\n\n  static_assert(sizeof(struct shmConnectInfo) <= sizeof(struct ncclConnect), \"shm Connect Info is too big\");\n\n  if (shmLocality == SHM_RECV_SIDE) {\n    for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) shmSize += comm->buffSizes[p];\n  }\n  req.size = shmSize;\n  if (myInfo->hostHash == peerInfo->hostHash && myInfo->pidHash == peerInfo->pidHash)\n    req.legacy = true;\n  else\n    req.legacy = false;\n\n  NCCLCHECK(ncclProxyConnect(comm, TRANSPORT_SHM, 0, myInfo->rank, &recv->proxyConn));\n  NCCLCHECK(ncclProxyCallBlocking(comm, &recv->proxyConn, ncclProxyMsgSetup, (void*)&req, sizeof(struct shmRequest), (void*)info, sizeof(struct shmConnectInfo)));\n\n  info->rank = comm->rank;\n  resources->hostMem = (struct ncclRecvMem*)info->buf.hptr;\n  resources->devHostMem = (struct ncclRecvMem*)info->buf.dptr;\n\n  return ncclSuccess;\n}\n\n/* Connect to this peer */\nstatic ncclResult_t shmSendConnect(struct ncclComm* comm, struct ncclConnect* connectInfo, int nranks, int rank, struct ncclConnector* send) {\n  // Setup device pointers\n  struct shmConnectInfo* info = (struct shmConnectInfo*)connectInfo;\n  struct shmSendResources* resources = (struct shmSendResources*)send->transportResources;\n  char* buff;\n\n  NCCLCHECK(ncclShmImportShareableBuffer(comm, info->rank, &info->desc, (void**)&resources->remHostMem, (void**)&resources->devRemHostMem, &resources->remDesc));\n\n  buff = shmLocality == SHM_SEND_SIDE ? (char*)(resources->devHostMem + 1) : (char*)(resources->devRemHostMem + 1);\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n    send->conn.buffs[p] = buff;\n    buff += comm->buffSizes[p];\n  }\n  send->conn.tail = &resources->devRemHostMem->tail;\n  send->conn.head = &resources->devHostMem->head;\n  send->conn.stepSize = comm->buffSizes[NCCL_PROTO_SIMPLE]/NCCL_STEPS;\n\n  if (useMemcpyRecv) {\n    send->conn.connFifo = resources->devRemHostMem->connFifo;\n  }\n  if (useMemcpySend) {\n    struct shmProxyInfo proxyInfo = { NULL, NULL, send->conn.buffs[NCCL_PROTO_SIMPLE], resources->hostMem, resources->remHostMem };\n    NCCLCHECK(ncclProxyCallBlocking(comm, &send->proxyConn, ncclProxyMsgConnect, &proxyInfo, sizeof(struct shmProxyInfo), &proxyInfo, sizeof(struct shmProxyInfo)));\n    send->conn.buffs[NCCL_PROTO_SIMPLE] = proxyInfo.devFifo;\n    send->conn.tail = &proxyInfo.ceRecvMem->tail;\n    send->conn.connFifo = proxyInfo.ceRecvMem->connFifo;\n  }\n\n  // We must assign the proxyConn's proxyProgress property for proper checking at enqueue-time\n  send->proxyConn.proxyProgress = shmTransport.send.proxyProgress;\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t shmRecvConnect(struct ncclComm* comm, struct ncclConnect* connectInfo, int nranks, int rank, struct ncclConnector* recv) {\n  // Setup device pointers\n  struct shmRecvResources* resources = (struct shmRecvResources*)recv->transportResources;\n  struct shmConnectInfo* info = (struct shmConnectInfo*)connectInfo;\n  char* buff;\n\n  NCCLCHECK(ncclShmImportShareableBuffer(comm, info->rank, &info->desc, (void**)&resources->remHostMem, (void**)&resources->devRemHostMem, &resources->remDesc));\n\n  buff = shmLocality == SHM_RECV_SIDE ? (char*)(resources->devHostMem + 1) : (char*)(resources->devRemHostMem + 1);\n  for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n    recv->conn.buffs[p] = buff;\n    buff += comm->buffSizes[p];\n  }\n  recv->conn.head = &resources->devRemHostMem->head;\n  recv->conn.tail = &resources->devHostMem->tail;\n  recv->conn.stepSize = comm->buffSizes[NCCL_PROTO_SIMPLE]/NCCL_STEPS;\n\n  if (useMemcpyRecv) {\n    struct shmProxyInfo proxyInfo = { NULL, NULL, recv->conn.buffs[NCCL_PROTO_SIMPLE], resources->remHostMem, resources->hostMem };\n    NCCLCHECK(ncclProxyCallBlocking(comm, &recv->proxyConn, ncclProxyMsgConnect, &proxyInfo, sizeof(struct shmProxyInfo), &proxyInfo, sizeof(struct shmProxyInfo)));\n    recv->conn.buffs[NCCL_PROTO_SIMPLE] = proxyInfo.devFifo;\n    recv->conn.tail = &proxyInfo.ceRecvMem->tail;\n  }\n\n  // We must assign the proxyConn's proxyProgress property for proper checking at enqueue-time\n  recv->proxyConn.proxyProgress = shmTransport.recv.proxyProgress;\n\n  return ncclSuccess;\n}\n\nstatic ncclResult_t shmSendFree(struct ncclConnector* send) {\n  struct shmRecvResources* resources = (struct shmRecvResources*)send->transportResources;\n  if (resources) {\n    NCCLCHECK(ncclShmIpcClose(&resources->remDesc));\n    free(resources);\n    send->transportResources = NULL;\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t shmRecvFree(struct ncclConnector* recv) {\n  struct shmRecvResources* resources = (struct shmRecvResources*)recv->transportResources;\n  if (resources) {\n    NCCLCHECK(ncclShmIpcClose(&resources->remDesc));\n    free(resources);\n    recv->transportResources = NULL;\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t shmSendProxyConnect(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  ncclResult_t ret = ncclSuccess;\n  if (reqSize != sizeof(struct shmProxyInfo) || respSize != sizeof(struct shmProxyInfo)) return ncclInternalError;\n  struct shmProxyInfo* proxyInfo;\n  struct shmProxyInfo* reqInfo = (struct shmProxyInfo*)reqBuff;\n\n  proxyInfo = (struct shmProxyInfo*)connection->transportResources;\n  proxyInfo->shmFifo = reqInfo->shmFifo;\n  proxyInfo->sendMem = reqInfo->sendMem;\n  proxyInfo->recvMem = reqInfo->recvMem;\n  NCCLCHECKGOTO(ncclCudaCalloc(&proxyInfo->devFifo, proxyState->buffSizes[NCCL_PROTO_SIMPLE]), ret, fail);\n  NCCLCHECKGOTO(ncclCudaHostCalloc(&proxyInfo->ceRecvMem, 1), ret, fail);\n  CUDACHECKGOTO(cudaStreamCreateWithFlags(&proxyInfo->stream, cudaStreamNonBlocking), ret, fail);\n  for (int i=0; i<NCCL_STEPS; i++) {\n    CUDACHECKGOTO(cudaEventCreate(proxyInfo->events+i), ret, fail);\n  }\n  connection->proxyAppendPtr = &connection->proxyAppend;\n  connection->transportResources = proxyInfo;\n  if (respSize != sizeof(struct shmProxyInfo)) return ncclInternalError;\n  memcpy(respBuff, proxyInfo, respSize);\n  *done = 1;\nexit:\n  return ret;\nfail:\n  if (proxyInfo->ceRecvMem) ncclCudaHostFree(proxyInfo->ceRecvMem);\n  if (proxyInfo->devFifo) (void)ncclCudaFree(proxyInfo->devFifo);\n  free(proxyInfo);\n  goto exit;\n}\n\nstatic ncclResult_t shmRecvProxyConnect(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  ncclResult_t ret = ncclSuccess;\n  if (reqSize != sizeof(struct shmProxyInfo) || respSize != sizeof(struct shmProxyInfo)) return ncclInternalError;\n  struct shmProxyInfo* proxyInfo;\n  struct shmProxyInfo* reqInfo = (struct shmProxyInfo*)reqBuff;\n\n  proxyInfo = (struct shmProxyInfo*)connection->transportResources;\n  proxyInfo->shmFifo = reqInfo->shmFifo;\n  proxyInfo->sendMem = reqInfo->sendMem;\n  proxyInfo->recvMem = reqInfo->recvMem;\n  NCCLCHECKGOTO(ncclCudaCalloc(&proxyInfo->devFifo, proxyState->buffSizes[NCCL_PROTO_SIMPLE]), ret, fail);\n  NCCLCHECKGOTO(ncclCudaHostCalloc(&proxyInfo->ceRecvMem, 1), ret, fail);\n  CUDACHECKGOTO(cudaStreamCreateWithFlags(&proxyInfo->stream, cudaStreamNonBlocking), ret, fail);\n  for (int i=0; i<NCCL_STEPS; i++) {\n    CUDACHECKGOTO(cudaEventCreate(proxyInfo->events+i), ret, fail);\n  }\n  connection->proxyAppendPtr = &connection->proxyAppend;\n  memcpy(respBuff, proxyInfo, respSize);\n  *done = 1;\nexit:\n  return ret;\nfail:\n  if (proxyInfo->ceRecvMem) ncclCudaHostFree(proxyInfo->ceRecvMem);\n  if (proxyInfo->devFifo) (void)ncclCudaFree(proxyInfo->devFifo);\n  free(proxyInfo);\n  goto exit;\n}\n\nstatic ncclResult_t shmSendProxyFree(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState) {\n  struct shmProxyInfo* resources = (struct shmProxyInfo*)connection->transportResources;\n\n  if (resources) {\n    if (useMemcpySend) {\n      CUDACHECK(cudaStreamDestroy(resources->stream));\n      NCCLCHECK(ncclCudaFree(resources->devFifo));\n      NCCLCHECK(ncclCudaHostFree(resources->ceRecvMem));\n      for (int i=0; i<NCCL_STEPS; i++) {\n        CUDACHECK(cudaEventDestroy(resources->events[i]));\n      }\n    }\n    NCCLCHECK(ncclShmIpcClose(&resources->desc));\n    free(connection->transportResources);\n    connection->transportResources = NULL;\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t shmRecvProxyFree(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState) {\n  struct shmProxyInfo* resources = (struct shmProxyInfo*)connection->transportResources;\n\n  if (resources) {\n    if (useMemcpyRecv) {\n      CUDACHECK(cudaStreamDestroy(resources->stream));\n      NCCLCHECK(ncclCudaFree(resources->devFifo));\n      NCCLCHECK(ncclCudaHostFree(resources->ceRecvMem));\n      for (int i=0; i<NCCL_STEPS; i++) {\n        CUDACHECK(cudaEventDestroy(resources->events[i]));\n      }\n    }\n    NCCLCHECK(ncclShmIpcClose(&resources->desc));\n    free(connection->transportResources);\n    connection->transportResources = NULL;\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t shmSendProxyProgress(struct ncclProxyState* proxyState, struct ncclProxyArgs* args) {\n  if (args->state == ncclProxyOpReady) {\n    for (int s=0; s<args->nsubs; s++) {\n      struct ncclProxySubArgs* sub = args->subs+s;\n      struct shmProxyInfo* resources = (struct shmProxyInfo*) (sub->connection->transportResources);\n      // Round to next multiple of sliceSteps\n      sub->base = ROUNDUP(resources->step, args->chunkSteps);\n      sub->posted = sub->transmitted = sub->done = 0;\n    }\n    args->state = ncclProxyOpProgress;\n  }\n  args->idle = 1;\n  if (args->state == ncclProxyOpProgress) {\n    int p = args->protocol;\n    int stepSize = proxyState->buffSizes[p] / NCCL_STEPS;\n    for (int s=0; s<args->nsubs; s++) {\n      struct ncclProxySubArgs* sub = args->subs+s;\n      struct shmProxyInfo* resources = (struct shmProxyInfo*) (sub->connection->transportResources);\n      if (p != NCCL_PROTO_SIMPLE) { // Only Simple uses cudaMemcpy\n          resources->step = sub->base + sub->nsteps;\n          args->done++;\n          continue;\n      }\n      if (sub->transmitted < sub->done + NCCL_STEPS && sub->transmitted < sub->nsteps) {\n        int buffSlot = (sub->base+sub->transmitted)%NCCL_STEPS;\n        volatile struct ncclConnFifo* connFifo = resources->ceRecvMem->connFifo;\n        volatile uint64_t* recvTail = &resources->ceRecvMem->tail;\n        // Check GPU has sent everything\n        if ((*recvTail > sub->base+sub->transmitted)) {\n          int size = connFifo[buffSlot].size;\n          CUDACHECK(cudaMemcpyAsync(resources->shmFifo+buffSlot*stepSize, resources->devFifo+buffSlot*stepSize, size, cudaMemcpyDeviceToHost, resources->stream));\n          CUDACHECK(cudaEventRecord(resources->events[buffSlot], resources->stream));\n          resources->recvMem->connFifo[buffSlot].size = size;\n          __sync_synchronize(); // make sure connFifo[].size is visible\n          sub->transmitted += args->sliceSteps;\n        }\n      }\n      if (sub->done < sub->transmitted) {\n        int buffSlot = (sub->base+sub->done)%NCCL_STEPS;\n        cudaError_t res = cudaEventQuery(resources->events[buffSlot]);\n        if (res != cudaErrorNotReady) CUDACHECK(res);\n        if (res == cudaSuccess) {\n          sub->done += args->sliceSteps;\n          // Notify SHM\n          resources->recvMem->tail = sub->base + sub->done;\n        }\n        if (sub->done == sub->nsteps) {\n          resources->step = sub->base + sub->nsteps;\n          args->done++;\n        }\n      }\n    }\n    if (args->done == args->nsubs) {\n      args->state = ncclProxyOpNone;\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t shmRecvProxyProgress(struct ncclProxyState* proxyState, struct ncclProxyArgs* args) {\n  if (args->state == ncclProxyOpReady) {\n    for (int s=0; s<args->nsubs; s++) {\n      struct ncclProxySubArgs* sub = args->subs+s;\n      struct shmProxyInfo* resources = (struct shmProxyInfo*) (sub->connection->transportResources);\n      // Round to next multiple of sliceSteps\n      sub->base = ROUNDUP(resources->step, args->chunkSteps);\n      sub->posted = sub->transmitted = sub->done = 0;\n    }\n    args->state = ncclProxyOpProgress;\n  }\n  args->idle = 1;\n  if (args->state == ncclProxyOpProgress) {\n    int p = args->protocol;\n    int stepSize = proxyState->buffSizes[p] / NCCL_STEPS;\n    for (int s=0; s<args->nsubs; s++) {\n      struct ncclProxySubArgs* sub = args->subs+s;\n      struct shmProxyInfo* resources = (struct shmProxyInfo*) (sub->connection->transportResources);\n      if (p != NCCL_PROTO_SIMPLE) { // Only Simple uses cudaMemcpy\n          resources->step = sub->base + sub->nsteps;\n          args->done++;\n          continue;\n      }\n      if (sub->transmitted < sub->done + NCCL_STEPS && sub->transmitted < sub->nsteps) {\n        int buffSlot = (sub->base+sub->transmitted)%NCCL_STEPS;\n        volatile struct ncclConnFifo* connFifo = resources->recvMem->connFifo;\n        volatile uint64_t* recvTail = &resources->recvMem->tail;\n        // Check data is ready in SHM\n        if ((*recvTail > sub->base+sub->transmitted)) {\n          int size = connFifo[buffSlot].size;\n          CUDACHECK(cudaMemcpyAsync(resources->devFifo+buffSlot*stepSize, resources->shmFifo+buffSlot*stepSize, size, cudaMemcpyHostToDevice, resources->stream));\n          CUDACHECK(cudaEventRecord(resources->events[buffSlot], resources->stream));\n          sub->transmitted += args->sliceSteps;\n        }\n      }\n      if (sub->done < sub->transmitted) {\n        int buffSlot = (sub->base+sub->done)%NCCL_STEPS;\n        cudaError_t res = cudaEventQuery(resources->events[buffSlot]);\n        if (res != cudaErrorNotReady) CUDACHECK(res);\n        if (res == cudaSuccess) {\n          sub->done += args->sliceSteps;\n          // Notify GPU\n          resources->ceRecvMem->tail = sub->base + sub->done;\n        }\n        if (sub->done == sub->nsteps) {\n          resources->step = sub->base + sub->nsteps;\n          args->done++;\n        }\n      }\n    }\n    if (args->done == args->nsubs) {\n      args->state = ncclProxyOpNone;\n    }\n  }\n  return ncclSuccess;\n}\n\nstatic ncclResult_t shmSendProxySetup(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  ncclResult_t result = ncclSuccess;\n  struct shmRequest* req = (struct shmRequest*)reqBuff;\n  /* check message size */\n  if (reqSize != sizeof(struct shmRequest)) return ncclInternalError;\n  if (respSize != sizeof(struct shmConnectInfo)) return ncclInternalError;\n\n  struct shmConnectInfo* info = (struct shmConnectInfo*)respBuff;\n  struct shmProxyInfo* proxyInfo;\n\n  NCCLCHECK(ncclCalloc(&proxyInfo, 1));\n  NCCLCHECKGOTO(ncclShmAllocateShareableBuffer(req->size, req->legacy, &proxyInfo->desc, &info->buf.hptr, &info->buf.dptr), result, fail);\n  memcpy(&info->desc, &proxyInfo->desc, sizeof(ncclShmIpcDesc_t));\n  connection->transportResources = proxyInfo;\nexit:\n  return result;\nfail:\n  free(proxyInfo);\n  goto exit;\n}\n\nstatic ncclResult_t shmRecvProxySetup(struct ncclProxyConnection* connection, struct ncclProxyState* proxyState, void* reqBuff, int reqSize, void* respBuff, int respSize, int* done) {\n  ncclResult_t result = ncclSuccess;\n  struct shmRequest* req = (struct shmRequest*)reqBuff;\n  /* check message size */\n  if (reqSize != sizeof(struct shmRequest)) return ncclInternalError;\n  if (respSize != sizeof(struct shmConnectInfo)) return ncclInternalError;\n\n  struct shmConnectInfo* info = (struct shmConnectInfo*)respBuff;\n  struct shmProxyInfo* proxyInfo;\n\n  NCCLCHECK(ncclCalloc(&proxyInfo, 1));\n  NCCLCHECKGOTO(ncclShmAllocateShareableBuffer(req->size, req->legacy, &proxyInfo->desc, &info->buf.hptr, &info->buf.dptr), result, fail);\n  memcpy(&info->desc, &proxyInfo->desc, sizeof(ncclShmIpcDesc_t));\n  connection->transportResources = proxyInfo;\nexit:\n  return result;\nfail:\n  free(proxyInfo);\n  goto exit;\n}\n\nstatic void initCeOperation() {\n  static int init = 0;\n  if (!init) {\n    useMemcpySend = ncclParamShmUseCudaMemcpy() && (ncclParamShmMemcpyMode() & 1);\n    useMemcpyRecv = ncclParamShmUseCudaMemcpy() && (ncclParamShmMemcpyMode() & 2);\n    if (useMemcpySend) {\n      shmTransport.send.proxyConnect = shmSendProxyConnect;\n      shmTransport.send.proxyProgress = shmSendProxyProgress;\n    }\n    if (useMemcpyRecv) {\n      shmTransport.recv.proxyConnect = shmRecvProxyConnect;\n      shmTransport.recv.proxyProgress = shmRecvProxyProgress;\n    }\n    shmLocality = ncclParamShmLocality();\n    if (shmLocality != SHM_SEND_SIDE && shmLocality != SHM_RECV_SIDE) {\n      WARN(\"Ignoring SHM locality, must be 1 (sender side) or 2 (receiver side, default)\");\n      shmLocality = SHM_RECV_SIDE;\n    }\n    init = 1;\n  }\n}\n\nncclResult_t ncclShmAllocateShareableBuffer(size_t size, bool legacy, ncclShmIpcDesc_t *desc, void **hptr, void **dptr) {\n  if (desc == NULL || hptr == NULL) {\n    WARN(\"Invalid argument desc %p, hptr %p\", desc, hptr);\n    return ncclInvalidArgument;\n  }\n#if CUDART_VERSION >= 12020\n  if (ncclCuMemEnable() && ncclCuMemHostEnable() && !legacy) {\n    // cuMem API support\n    CUmemAllocationHandleType type = SHM_HANDLE_TYPE;\n    CUmemGenericAllocationHandle handle;\n\n    NCCLCHECK(ncclCuMemHostAlloc(hptr, &handle, size));\n    if (type == CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR) {\n      // Return the native cuMem handle for later Export/Import via UDS\n      memcpy(&desc->shmci.data, &handle, sizeof(handle));\n    } else {\n      CUCHECK(cuMemExportToShareableHandle(&desc->shmci.handle, handle, type, 0));\n    }\n    desc->shmci.size = size;\n    desc->shmci.ptr = *hptr;\n    if (dptr) *dptr = *hptr;\n    desc->legacy = false;\n    INFO(NCCL_SHM, \"CUMEM allocated shareable buffer %p size %zi\", desc->shmci.ptr, desc->shmci.size);\n  } else {\n    char shmPath[SHM_PATH_MAX] = { '\\0' };\n    desc->shmli.shmSize = size;\n    NCCLCHECK(ncclShmOpen(shmPath, sizeof(shmPath), size, hptr, dptr, 1, &desc->shmli.handle));\n    memcpy(desc->shmli.shmSuffix, shmPath + sizeof(\"/dev/shm/nccl-\") - 1, sizeof(desc->shmli.shmSuffix));\n    desc->legacy = true;\n    INFO(NCCL_SHM, \"MMAP allocated shareable host buffer %s size %zi ptr %p\", shmPath, desc->shmli.shmSize, *hptr);\n  }\n#else /* CUDART_VERSION >= 12020 */\n  char shmPath[SHM_PATH_MAX] = { '\\0' };\n  desc->shmli.shmSize = size;\n  NCCLCHECK(ncclShmOpen(shmPath, sizeof(shmPath), size, hptr, dptr, 1, &desc->shmli.handle));\n  memcpy(desc->shmli.shmSuffix, shmPath + sizeof(\"/dev/shm/nccl-\") - 1, sizeof(desc->shmli.shmSuffix));\n  desc->legacy = true;\n  INFO(NCCL_SHM, \"MMAP allocated shareable host buffer %s size %zi ptr %p\", shmPath, size, *hptr);\n#endif /* CUDART_VERSION >= 12020 */\n  return ncclSuccess;\n}\n\nncclResult_t ncclShmImportShareableBuffer(struct ncclComm *comm, int proxyRank, ncclShmIpcDesc_t *desc, void **hptr, void **dptr, ncclShmIpcDesc_t *descOut) {\n  if (comm == NULL || desc == NULL || hptr == NULL || descOut == NULL) {\n    WARN(\"Invalid argument comm %p, desc %p, hptr %p, descOut %p\", comm, desc, hptr, descOut);\n    return ncclInvalidArgument;\n  }\n#if CUDART_VERSION >= 12020\n  if (ncclCuMemEnable() && ncclCuMemHostEnable() && !desc->legacy) {\n    // cuMem API support\n    CUdeviceptr hostptr = 0;\n    CUmemAllocationHandleType type = SHM_HANDLE_TYPE;\n    CUmemGenericAllocationHandle handle;\n    int cudaDev;\n    CUdevice currentDev;\n    CUmemAccessDesc accessDesc = {};\n    int cpuNumaNodeId;\n    size_t granularity;\n    size_t size = desc->shmci.size;\n    CUmemAllocationProp prop = {};\n\n    // Import and map the remote memory descriptor to the local GPU\n    if (type == CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR) {\n      // UDS fd support\n      int fd = -1;\n      // Send cuMem handle to remote for conversion to an fd\n      NCCLCHECK(ncclProxyClientGetFdBlocking(comm, proxyRank, &desc->shmci.data, &fd));\n      CUCHECK(cuMemImportFromShareableHandle(&handle, (void *)(uintptr_t)fd, type));\n      (void) close(fd);\n    } else {\n      CUCHECK(cuMemImportFromShareableHandle(&handle, &desc->shmci.handle, type));\n    }\n\n    // Get cpu numa id\n    CUDACHECK(cudaGetDevice(&cudaDev));\n    CUCHECK(cuDeviceGet(&currentDev, cudaDev));\n    CUCHECK(cuDeviceGetAttribute(&cpuNumaNodeId, CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID, currentDev));\n    if (cpuNumaNodeId < 0) cpuNumaNodeId = 0;\n\n    // Get granularity\n    prop.location.type = CU_MEM_LOCATION_TYPE_HOST_NUMA;\n    prop.type = CU_MEM_ALLOCATION_TYPE_PINNED;\n    prop.requestedHandleTypes = type;\n    prop.location.id = cpuNumaNodeId;\n    CUCHECK(cuMemGetAllocationGranularity(&granularity, &prop, CU_MEM_ALLOC_GRANULARITY_MINIMUM));\n\n    ALIGN_SIZE(size, granularity);\n\n    // Reserve and map address\n    CUCHECK(cuMemAddressReserve(&hostptr, size, /* alignment */ 0, /* addr */ 0, /* flags */ 0));\n    CUCHECK(cuMemMap(hostptr, size, /* offset */ 0, handle, /* flags */ 0));\n\n    // Allow access by the local GPU\n    accessDesc.location.type = CU_MEM_LOCATION_TYPE_DEVICE;\n    accessDesc.location.id = cudaDev;\n    accessDesc.flags = CU_MEM_ACCESS_FLAGS_PROT_READWRITE;\n    CUCHECK(cuMemSetAccess(hostptr, size, &accessDesc, 1));\n\n    // Allow access by the local numa\n    accessDesc.location.type = CU_MEM_LOCATION_TYPE_HOST_NUMA;\n    accessDesc.location.id = cpuNumaNodeId;\n    accessDesc.flags = CU_MEM_ACCESS_FLAGS_PROT_READWRITE;\n    CUCHECK(cuMemSetAccess(hostptr, size, &accessDesc, 1));\n\n    descOut->shmci.ptr = *hptr = (void *)hostptr;\n    descOut->legacy = false;\n    if (dptr) *dptr = (void *)hostptr;\n    INFO(NCCL_SHM, \"CUMEM imported shareable host buffer from proxyRank %d size %zi ptr %p, granularity %ld\", proxyRank, desc->shmci.size, descOut->shmci.ptr, granularity);\n  } else {\n    char shmPath[SHM_PATH_MAX];\n    snprintf(shmPath, sizeof(shmPath), \"/dev/shm/nccl-%s\", desc->shmli.shmSuffix);\n    NCCLCHECK(ncclShmOpen(shmPath, sizeof(shmPath), desc->shmli.shmSize, hptr, dptr, -1, &descOut->shmli.handle));\n    descOut->legacy = true;\n    INFO(NCCL_SHM, \"MMAP imported shareable host buffer %s size %zi ptr %p\", shmPath, desc->shmli.shmSize, *hptr);\n  }\n#else /* CUDART_VERSION >= 12020 */\n  char shmPath[SHM_PATH_MAX];\n  snprintf(shmPath, sizeof(shmPath), \"/dev/shm/nccl-%s\", desc->shmli.shmSuffix);\n  NCCLCHECK(ncclShmOpen(shmPath, sizeof(shmPath), desc->shmli.shmSize, hptr, dptr, -1, &descOut->shmli.handle));\n  descOut->legacy = true;\n  INFO(NCCL_SHM, \"MMAP imported shareable host buffer %s size %zi ptr %p\", shmPath, desc->shmli.shmSize, *hptr);\n#endif\n  return ncclSuccess;\n}\n\nncclResult_t ncclShmIpcClose(ncclShmIpcDesc_t *desc) {\n  if (desc) {\n#if CUDART_VERSION >= 12020\n    if (ncclCuMemEnable() && ncclCuMemHostEnable() && !desc->legacy) {\n      NCCLCHECK(ncclCuMemHostFree(desc->shmci.ptr));\n    } else {\n      NCCLCHECK(ncclShmClose(desc->shmli.handle));\n    }\n#else\n    NCCLCHECK(ncclShmClose(desc->shmli.handle));\n#endif\n  }\n\n  return ncclSuccess;\n}\n\nstruct ncclTransport shmTransport = {\n  \"SHM\",\n  shmCanConnect,\n  { shmSendSetup, shmSendConnect, shmSendFree, NULL, shmSendProxySetup, NULL, shmSendProxyFree, NULL },\n  { shmRecvSetup, shmRecvConnect, shmRecvFree, NULL, shmRecvProxySetup, NULL, shmRecvProxyFree, NULL }\n};\n"
  },
  {
    "path": "src/transport.cc",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"comm.h\"\n#include \"info.h\"\n#include \"bootstrap.h\"\n#define ENABLE_TIMER 0\n#include \"timer.h\"\n#include \"transport.h\"\n\nstruct ncclTransport* ncclTransports[NTRANSPORTS+1] = {\n  &p2pTransport,\n  &shmTransport,\n  &netTransport,\n  &collNetTransport,\n  &profilerTransport // Not really used for transport, only to create proxy ops polling on profiler counters.\n};\n\ntemplate <int type>\nstatic ncclResult_t selectTransport(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclConnect* connect, int channelId, int peer, int connIndex, int* transportType, bool* needsProxy) {\n  struct ncclPeerInfo* myInfo = comm->peerInfo+comm->rank;\n  struct ncclPeerInfo* peerInfo = comm->peerInfo+peer;\n  struct ncclConnector* connector = (type == 1) ? comm->channels[channelId].peers[peer]->send + connIndex :\n                                                  comm->channels[channelId].peers[peer]->recv + connIndex;\n  // handle intra-node network connections\n  int n1 = -1, n2 = -1;\n  if (connIndex == NCCL_CONN_IDX_P2P_NET) {\n    NCCLCHECK(ncclTopoGetIntraNetDev(comm->topo, comm->rank, graph, channelId, (type == 1) ? 1 : 0, nullptr, &n1));\n    NCCLCHECK(ncclTopoGetIntraNetDev(comm->topo, peer, graph, channelId, (type == 1) ? 0 : 1, nullptr, &n2));\n  }\n  bool xgmi;\n  NCCLCHECK(ncclTopoGetLinkType(comm->topo, myInfo->cudaDev, peerInfo->cudaDev, &xgmi));\n\n  for (int t=0; t<NTRANSPORTS; t++) {\n    if (graph == NULL && connIndex == NCCL_CONN_IDX_P2P_NET && (t == TRANSPORT_SHM || (!xgmi && t == TRANSPORT_P2P))) continue;\n    if (graph && n1 >= 0 && n2 >= 0 && t != TRANSPORT_NET) continue;\n    struct ncclTransport *transport = ncclTransports[t];\n    struct ncclTransportComm* transportComm = type == 1 ? &transport->send : &transport->recv;\n    int ret = 0;\n    NCCLCHECK(transport->canConnect(&ret, comm, graph, myInfo, peerInfo));\n    if (ret) {\n      connector->transportComm = transportComm;\n      NCCLCHECK(transportComm->setup(comm, graph, myInfo, peerInfo, connect, connector, channelId, connIndex));\n      if (transportType) *transportType = t;\n      if (needsProxy) *needsProxy = (transportComm->proxyProgress != NULL);\n      return ncclSuccess;\n    }\n  }\n  WARN(\"No transport found for rank %d[%lx] -> rank %d[%lx]\", myInfo->rank, myInfo->busId, peerInfo->rank, peerInfo->busId);\n  return ncclSystemError;\n}\n\nncclResult_t ncclTransportP2pConnect(struct ncclComm* comm, int channelId, int nrecv, int* peerRecv, int nsend, int* peerSend, int connIndex) {\n  TRACE(NCCL_INIT, \"nsend %d nrecv %d\", nsend, nrecv);\n  struct ncclChannel* channel = &comm->channels[channelId];\n  //uint64_t mask = 1UL << channel->id;\n  uint64_t mask = 1UL << (channel->id % 64);\n\n  for (int i=0; i<nrecv; i++) {\n    int peer = peerRecv[i];\n    if (peer == -1 || peer >= comm->nRanks || peer == comm->rank || channel->peers[peer]->recv[connIndex].connected) continue;\n    //comm->connectRecv[peer+comm->nRanks*(connIndex == NCCL_CONN_IDX_P2P_NET ? NCCL_CONN_IDX_P2P_NET : 0)] |= mask;\n    comm->connectRecv[peer+CHANNEL_MASK_OFFSET(comm->nRanks, connIndex)].masks[channel->id / 64] |= mask;\n  }\n  for (int i=0; i<nsend; i++) {\n    int peer = peerSend[i];\n    if (peer == -1 || peer >= comm->nRanks || peer == comm->rank || channel->peers[peer]->send[connIndex].connected) continue;\n    //comm->connectSend[peer+comm->nRanks*(connIndex == NCCL_CONN_IDX_P2P_NET ? NCCL_CONN_IDX_P2P_NET : 0)] |= mask;\n    comm->connectSend[peer+CHANNEL_MASK_OFFSET(comm->nRanks, connIndex)].masks[channel->id / 64] |= mask;\n  }\n  return ncclSuccess;\n}\n\nvoid dumpData(struct ncclConnect* data, int ndata) {\n  for (int n=0; n<ndata; n++) {\n    printf(\"[%d] \", n);\n    uint8_t* d = (uint8_t*)data;\n    for (int i=0; i<sizeof(struct ncclConnect); i++) printf(\"%02x\", d[i]);\n    printf(\"\\n\");\n  }\n}\n\nNCCL_PARAM(ConnectRoundMaxPeers, \"CONNECT_ROUND_MAX_PEERS\", 128);\nNCCL_PARAM(ReportConnectProgress, \"REPORT_CONNECT_PROGRESS\", 0);\n#include <sys/time.h>\n\nncclResult_t ncclTransportCheckP2pType(struct ncclComm* comm, bool* isAllDirectP2p, bool* directMode) {\n  bool supportFlag = true;\n  bool directFlag = false;\n  if (comm->localRanks == 1) {\n    supportFlag = false;\n  } else {\n    for (int i = 0; i < comm->localRanks; ++i) {\n      for (int j = i + 1; j < comm->localRanks; ++j) {\n        int ipeer = comm->localRankToRank[i];\n        int jpeer = comm->localRankToRank[j];\n        struct ncclPeerInfo* ipeerInfo = &comm->peerInfo[ipeer];\n        struct ncclPeerInfo* jpeerInfo = &comm->peerInfo[jpeer];\n        int canConnect = 0;\n        int intermediateRank = -1;\n        NCCLCHECK(ncclTopoCheckP2p(comm, comm->topo, ipeerInfo->rank, jpeerInfo->rank, &canConnect, NULL, &intermediateRank));\n        if (!canConnect || intermediateRank != -1) {\n          supportFlag = false;\n        }\n        if (ipeerInfo->hostHash == jpeerInfo->hostHash && ipeerInfo->pidHash == jpeerInfo->pidHash) directFlag = true;\n        if (!supportFlag && directFlag) break;\n      }\n    }\n  }\n  *isAllDirectP2p = supportFlag;\n  *directMode = directFlag;\n  if (comm->rank == 0) INFO(NCCL_INIT, \"Check P2P Type isAllDirectP2p %d directMode %d\", supportFlag, directFlag);\n  return ncclSuccess;\n}\n\nncclResult_t ncclTransportP2pSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, int connIndex, bool* needsProxy/*=NULL*/) {\n  // Stream used during transport setup; need for P2P pre-connect + CUDA Graph\n  ncclResult_t ret = ncclSuccess;\n  bool needsProxyResult = false;\n  struct ncclConnect** data; // Store intermediate send/recvData structs for connect\n  struct ncclConnect** recvData = NULL; // Points to entries inside data for given recv connection within a channel\n  struct ncclConnect** sendData = NULL; // Points to entries inside data for given send connection within a channel\n  int done = 0;\n  int maxPeers = ncclParamConnectRoundMaxPeers();\n\n  struct timeval timeStart, timeLast;\n  gettimeofday(&timeStart, NULL);\n  timeLast = timeStart; // struct copy\n  bool timeReported = false;\n  cudaStream_t hostStream, deviceStream;\n\n  int count = 0;\n  int num = MAXCHANNELS/64;\n\n  NCCLCHECK(ncclCalloc(&data, maxPeers));\n  NCCLCHECKGOTO(ncclCalloc(&recvData, maxPeers), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&sendData, maxPeers), ret, fail);\n\n  NCCLCHECKGOTO(ncclStrongStreamAcquire(ncclCudaGraphNone(), &comm->sharedRes->hostStream, /*concurrent=*/false, &hostStream), ret, fail);\n  NCCLCHECKGOTO(ncclStrongStreamAcquire(ncclCudaGraphNone(), &comm->sharedRes->deviceStream, /*concurrent=*/false, &deviceStream), ret, fail);\n  // First time initialization\n  for (int i=1; i<comm->nRanks; i++) {\n    int bootstrapTag = (i<<8) + (graph ? graph->id+1 : 0);\n    int recvPeer = (comm->rank - i + comm->nRanks) % comm->nRanks;\n    int sendPeer = (comm->rank + i) % comm->nRanks;\n    /*uint64_t recvMask = comm->connectRecv[recvPeer+comm->nRanks*(connIndex == NCCL_CONN_IDX_P2P_NET ? NCCL_CONN_IDX_P2P_NET : 0)];\n    uint64_t sendMask = comm->connectSend[sendPeer+comm->nRanks*(connIndex == NCCL_CONN_IDX_P2P_NET ? NCCL_CONN_IDX_P2P_NET : 0)];*/\n    struct channelMasks recvMask = comm->connectRecv[recvPeer+CHANNEL_MASK_OFFSET(comm->nRanks, connIndex)];\n    struct channelMasks sendMask = comm->connectSend[sendPeer+CHANNEL_MASK_OFFSET(comm->nRanks, connIndex)];\n\n    // Data[i] contains all ncclConnect information for all send and receive connections with a given send and recv peer\n    // This data is packed in the array based on the number of sendChannels and recvChannels connected with these peers\n    // The first N entries contain recvData, connection information for recv connections\n    // The next M entries contain sendData, connection information for send connections\n    // It's not guaranteed that each entry of data has the same number of total or send/recv specific connections\n    int p = i-(done+1);\n    count = 0;\n    for (int j = 0; j < num; j++) {\n        if ((recvMask.masks[j]) || (sendMask.masks[j])) {\n                count++;\n        }\n    }\n\n    //if ((recvMask.masks[0]) || (sendMask.masks[0])) NCCLCHECK(ncclCalloc(data+p, 2*MAXCHANNELS));\n    if (count) {\n      if (data[p] == NULL) NCCLCHECKGOTO(ncclCalloc(data + p, 2 * MAXCHANNELS), ret, fail);\n\n      else memset(data[p], 0, 2 * MAXCHANNELS * sizeof(struct ncclConnect));\n    }\n    recvData[p] = data[p];\n    int sendChannels = 0, recvChannels = 0;\n    int type;\n    bool proxy;\n    TIME_START(0);\n    for (int c=0; c<MAXCHANNELS; c++) {\n      //if (recvMask & (1UL<<c)) {\n      if (recvMask.masks[c/64] & (1UL<<(c%64))) {\n        NCCLCHECKGOTO(selectTransport<0>(comm, graph, recvData[p]+recvChannels++, c, recvPeer, connIndex, &type, &proxy), ret, fail);\n      }\n    }\n    TIME_STOP(0);\n    TIME_START(1);\n    sendData[p] = recvData[p]+recvChannels;\n    for (int c=0; c<MAXCHANNELS; c++) {\n      //if (sendMask & (1UL<<c)) {\n      if (sendMask.masks[c/64] & (1UL<<(c%64))) {\n        NCCLCHECKGOTO(selectTransport<1>(comm, graph, sendData[p]+sendChannels++, c, sendPeer, connIndex, &type, &proxy), ret, fail);\n        needsProxyResult |= proxy;\n      }\n    }\n    TIME_STOP(1);\n\n    TIME_START(2);\n    if (sendPeer == recvPeer) {\n      if (recvChannels+sendChannels) {\n        NCCLCHECKGOTO(bootstrapSend(comm->bootstrap, recvPeer, bootstrapTag, data[p], sizeof(struct ncclConnect)*(recvChannels+sendChannels)), ret, fail);\n        NCCLCHECKGOTO(bootstrapRecv(comm->bootstrap, recvPeer, bootstrapTag, data[p], sizeof(struct ncclConnect)*(recvChannels+sendChannels)), ret, fail);\n        sendData[p] = data[p];\n        recvData[p] = data[p]+sendChannels;\n      }\n    } else {\n      if (recvChannels) NCCLCHECKGOTO(bootstrapSend(comm->bootstrap, recvPeer, bootstrapTag, recvData[p], sizeof(struct ncclConnect)*recvChannels), ret, fail);\n      if (sendChannels) NCCLCHECKGOTO(bootstrapSend(comm->bootstrap, sendPeer, bootstrapTag, sendData[p], sizeof(struct ncclConnect)*sendChannels), ret, fail);\n      if (sendChannels) NCCLCHECKGOTO(bootstrapRecv(comm->bootstrap, sendPeer, bootstrapTag, sendData[p], sizeof(struct ncclConnect)*sendChannels), ret, fail);\n      if (recvChannels) NCCLCHECKGOTO(bootstrapRecv(comm->bootstrap, recvPeer, bootstrapTag, recvData[p], sizeof(struct ncclConnect)*recvChannels), ret, fail);\n    }\n    TIME_STOP(2);\n\n    if (i-done == maxPeers || i == comm->nRanks-1) {\n      // Loop until all channels with all ranks have been connected\n      bool allChannelsConnected;\n      allChannelsConnected = false;\n      while (!allChannelsConnected) {\n        allChannelsConnected = true;\n        for (int j=done+1; j<=i; j++) {\n          int recvPeer = (comm->rank - j + comm->nRanks) % comm->nRanks;\n          int sendPeer = (comm->rank + j) % comm->nRanks;\n          /*uint64_t recvMask = comm->connectRecv[recvPeer+comm->nRanks*(connIndex == NCCL_CONN_IDX_P2P_NET ? NCCL_CONN_IDX_P2P_NET : 0)];\n          uint64_t sendMask = comm->connectSend[sendPeer+comm->nRanks*(connIndex == NCCL_CONN_IDX_P2P_NET ? NCCL_CONN_IDX_P2P_NET : 0)];*/\n          struct channelMasks recvMask = comm->connectRecv[recvPeer+CHANNEL_MASK_OFFSET(comm->nRanks, connIndex)];\n          struct channelMasks sendMask = comm->connectSend[sendPeer+CHANNEL_MASK_OFFSET(comm->nRanks, connIndex)];\n\n          int p = j-(done+1);\n          int sendDataOffset = 0;\n          int recvDataOffset = 0;\n          for (int c=0; c<MAXCHANNELS; c++) {\n            TIME_START(3);\n            //if (sendMask & (1UL<<c)) {\n      if (sendMask.masks[c/64] & (1UL<<(c%64))) {\n              struct ncclConnector* conn = comm->channels[c].peers[sendPeer]->send + connIndex;\n              // This connector hasn't completed connection yet\n              if (conn->connected == 0) {\n                NCCLCHECKGOTO(conn->transportComm->connect(comm, sendData[p] + sendDataOffset, 1, comm->rank, conn), ret, fail);\n                if (ret == ncclSuccess) {\n                  conn->connected = 1;\n                  /* comm->channels[c].devPeers[sendPeer]->send[connIndex] is a device memory access. */\n                  CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[sendPeer]->send[connIndex], &conn->conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, hostStream), ret, fail);\n                } else if (ret == ncclInProgress) {\n                  allChannelsConnected = false;\n                }\n              }\n              sendDataOffset++;\n            }\n            TIME_STOP(3);\n\n            // Start with recv channels\n            TIME_START(4);\n            //if (recvMask & (1UL<<c)) {\n      if (recvMask.masks[c/64] & (1UL<<(c%64))) {\n              struct ncclConnector* conn = comm->channels[c].peers[recvPeer]->recv + connIndex;\n              // This connector hasn't completed connection yet\n              if (conn->connected == 0) {\n                NCCLCHECKGOTO(conn->transportComm->connect(comm, recvData[p] + recvDataOffset, 1, comm->rank, conn), ret, fail);\n                if (ret == ncclSuccess) {\n                  conn->connected = 1;\n                  /* comm->channels[c].devPeers[recvPeer]->recv[connIndex] is a device memory access. */\n                  CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[recvPeer]->recv[connIndex], &conn->conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, hostStream), ret, fail);\n                } else if (ret == ncclInProgress) {\n                  allChannelsConnected = false;\n                }\n              }\n              recvDataOffset++;\n            }\n            TIME_STOP(4);\n          }\n        }\n        if (ncclParamReportConnectProgress() && comm->rank == 0 && done > 0) {\n          struct timeval now;\n          gettimeofday(&now, NULL);\n          if (((now.tv_sec - timeLast.tv_sec) * 1.0 + (now.tv_usec - timeLast.tv_usec) * 1e-6) > 1) {\n            float elapsed = (now.tv_sec - timeStart.tv_sec) * 1.0 + (now.tv_usec - timeStart.tv_usec) * 1e-6;\n            float remaining = elapsed * (comm->nRanks - done) / done;\n            printf(\"%sP2p connect: %g%% Elapsed %d:%02d Remaining %d:%02d                                       \",\n              timeReported ? \"\\r\" : \"\", done * 100.0 / comm->nRanks, ((int)elapsed) / 60, ((int)elapsed) % 60, ((int)remaining) / 60, ((int)remaining) % 60);\n            fflush(stdout);\n            timeReported = true;\n            timeLast = now; // struct copy;\n          }\n        }\n      }\n      done = i;\n    }\n  }\n\n  CUDACHECKGOTO(cudaStreamSynchronize(hostStream), ret, fail);\n\n  {\n    struct timeval now;\n    gettimeofday(&now, NULL);\n    float elapsed = (now.tv_sec - timeStart.tv_sec)*1.0 + (now.tv_usec-timeStart.tv_usec)*1e-6;\n    if (elapsed > 1.0) INFO(NCCL_PROFILE, \"timings: rank %d nranks %d P2p connect done in %.2f\", comm->rank, comm->nRanks, elapsed);\n    if (timeReported) {\n      printf(\"\\rP2p connect done in %d:%02d                                                                       \\n\",\n            ((int)elapsed)/60, ((int)elapsed)%60);\n      fflush(stdout);\n    }\n  }\n\n  /* We need to sync ranks here since some ranks might run too fast after connection setup\n  * and start to destroy the connection after returning from this function; however, the\n  * others might still be trying to connect and import the buffer. No sync can lead to invalid\n  * shmem/cuda buffer. In addition, we also clear all connect masks and free each connectInfo array */\n  for (int i = 1; i < comm->nRanks; i++) {\n    int bootstrapTag = (i << 8) + (1 << 7) + (graph ? graph->id + 1 : 0);\n    int recvPeer = (comm->rank - i + comm->nRanks) % comm->nRanks;\n    int sendPeer = (comm->rank + i) % comm->nRanks;\n\n    for (int j = 0; j < MAXCHANNELS/64; j++) {\n    if (recvPeer != sendPeer) {\n      if (comm->connectSend[sendPeer].masks[j] != 0UL) NCCLCHECKGOTO(bootstrapSend(comm->bootstrap, sendPeer, bootstrapTag, NULL, 0), ret, fail);\n      if (comm->connectRecv[recvPeer].masks[j] != 0UL) NCCLCHECKGOTO(bootstrapSend(comm->bootstrap, recvPeer, bootstrapTag, NULL, 0), ret, fail);\n      if (comm->connectSend[sendPeer].masks[j] != 0UL) NCCLCHECKGOTO(bootstrapRecv(comm->bootstrap, sendPeer, bootstrapTag, NULL, 0), ret, fail);\n      if (comm->connectRecv[recvPeer].masks[j] != 0UL) NCCLCHECKGOTO(bootstrapRecv(comm->bootstrap, recvPeer, bootstrapTag, NULL, 0), ret, fail);\n    } else {\n      if (comm->connectSend[sendPeer].masks[j] != 0UL || comm->connectRecv[recvPeer].masks[j] != 0UL) {\n        NCCLCHECKGOTO(bootstrapSend(comm->bootstrap, sendPeer, bootstrapTag, NULL, 0), ret, fail);\n        NCCLCHECKGOTO(bootstrapRecv(comm->bootstrap, sendPeer, bootstrapTag, NULL, 0), ret, fail);\n      }\n    }\n    comm->connectRecv[recvPeer+CHANNEL_MASK_OFFSET(comm->nRanks, connIndex)].masks[j] = comm->connectSend[sendPeer+CHANNEL_MASK_OFFSET(comm->nRanks, connIndex)].masks[j] = 0UL;\n    }\n  }\n\n  if (needsProxy != NULL) *needsProxy = needsProxyResult;\n  TIME_PRINT(\"P2P Setup/Connect\");\nexit:\n  for(int i=0; i<maxPeers; ++i){\n    if(data[i]) free(data[i]);\n  }\n  free(data);\n  if (sendData) free(sendData);\n  if (recvData) free(recvData);\n\n  NCCLCHECK(ncclStreamWaitStream(deviceStream, hostStream, comm->sharedRes->scratchEvent));\n  NCCLCHECK(ncclStrongStreamRelease(ncclCudaGraphNone(), &comm->sharedRes->hostStream, /*concurrent=*/false));\n  NCCLCHECK(ncclStrongStreamRelease(ncclCudaGraphNone(), &comm->sharedRes->deviceStream, /*concurrent=*/false));\n  return ret;\nfail:\n  goto exit;\n}\n\nextern struct ncclTransport collNetTransport;\n\n// All ranks must participate in collNetSetup call\n// We do not NCCLCHECK this call because we would fall back to P2P network in case CollNet setup fails\nbool ncclTransportCollNetSetup(struct ncclComm* comm, struct ncclTopoGraph* collNetGraph, struct ncclChannel* channel, int masterRank, int masterPeer, int collNetGraphChannelId, int type, ncclConnect* connect) {\n  ncclResult_t ret = ncclSuccess;\n  int rank = comm->rank;\n  int nranks = comm->nRanks;\n  int nMasters = comm->nNodes;\n  int isMaster = (rank == masterRank) ? 1 : 0;\n\n  // check if we can connect to collnet, whose root is the nranks-th rank\n  struct ncclPeerInfo *myInfo = comm->peerInfo+rank, *peerInfo = comm->peerInfo+nranks;\n  peerInfo->rank = nranks;\n\n  if (isMaster && type == collNetSend) {\n    TRACE(NCCL_INIT, \"CollNet [send] : rank %d collNetRank %d collNetNranks %d received connect from rank %d\", rank, comm->node, nMasters, masterPeer);\n  }\n\n  // select\n  struct ncclChannelPeer* root = channel->peers[nranks];\n  // connector index: 0 for recv, 1 for send\n  struct ncclConnector* conn = (type == collNetRecv) ? root->recv+type : root->send+type;\n  struct ncclTransportComm* transportComm = (type == collNetRecv) ? &(collNetTransport.recv) : &(collNetTransport.send);\n  conn->transportComm = transportComm;\n  // setup\n  struct ncclConnect myConnect = { 0 };\n  struct {\n    int isMaster;\n    ncclConnect connect;\n  } *allConnects = NULL;\n  ncclConnect *masterConnects = NULL;\n  if (isMaster) {\n    NCCLCHECK(transportComm->setup(comm, collNetGraph, myInfo, peerInfo, &myConnect, conn, collNetGraphChannelId, type));\n  }\n  // prepare connect handles\n  NCCLCHECK(ncclCalloc(&masterConnects, nMasters));\n  if (type == collNetRecv) {  // recv side: AllGather\n    // all ranks must participate\n    NCCLCHECKGOTO(ncclCalloc(&allConnects, nranks), ret, cleanup);\n    allConnects[rank].isMaster = isMaster;\n    memcpy(&(allConnects[rank].connect), &myConnect, sizeof(struct ncclConnect));\n    NCCLCHECKGOTO(bootstrapAllGather(comm->bootstrap, allConnects, sizeof(*allConnects)), ret, cleanup);\n    // consolidate\n    int c = 0;\n    for (int r = 0; r < nranks; r++) {\n      if (allConnects[r].isMaster) {\n        memcpy(masterConnects+c, &(allConnects[r].connect), sizeof(struct ncclConnect));\n        c++;\n      }\n    }\n  } else { // send side : copy in connect info received from peer recv master\n    if (isMaster) memcpy(masterConnects+comm->node, connect, sizeof(struct ncclConnect));\n  }\n  // connect\n  if (isMaster) {\n    NCCLCHECKGOTO(transportComm->connect(comm, masterConnects, nMasters, comm->node, conn), ret, cleanup);\n    struct ncclDevChannelPeer* devRoot;\n    CUDACHECKGOTO(cudaMemcpy(&devRoot, channel->devPeers + nranks, sizeof(struct ncclDevChannelPeer*), cudaMemcpyDeviceToHost), ret, cleanup);\n    struct ncclConnInfo* devConnInfo = (type == collNetRecv) ? devRoot->recv + type : devRoot->send + type;\n    CUDACHECKGOTO(cudaMemcpy(devConnInfo, &conn->conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice), ret, cleanup);\n  }\n  if (isMaster && type == collNetRecv) {\n    memcpy(connect, masterConnects+comm->node, sizeof(struct ncclConnect));\n    TRACE(NCCL_INIT, \"CollNet [recv] : rank %d collNetRank %d collNetNranks %d sent connect to rank %d\", rank, comm->node, nMasters, masterPeer);\n  }\ncleanup:\n  if (allConnects != NULL) free(allConnects);\n  if (masterConnects != NULL) free(masterConnects);\n  return ret != ncclSuccess;\n}\n\nncclResult_t ncclTransportCollNetCheck(struct ncclComm* comm, int collNetSetupFail) {\n  // AllGather collNet setup results\n  int allGatherFailures[NCCL_MAX_LOCAL_RANKS] = {0};\n  allGatherFailures[comm->localRank] = collNetSetupFail;\n  NCCLCHECK(bootstrapIntraNodeAllGather(comm->bootstrap, comm->localRankToRank, comm->localRank, comm->localRanks, allGatherFailures, sizeof(int)));\n  for (int i=0; i<comm->localRanks; i++) {\n    if (allGatherFailures[i] != 0) {\n      collNetSetupFail = 1;\n      break;\n    }\n  }\n  if (collNetSetupFail) {\n    if (comm->localRank == 0) WARN(\"Cannot initialize CollNet, using point-to-point network instead\");\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTransportCollNetFree(struct ncclComm* comm) {\n  // Free collNet resources\n  for (int r=0; r<comm->nChannels; r++) {\n    struct ncclChannel* channel = comm->channels+r;\n    struct ncclChannelPeer* peer = channel->peers[comm->nRanks];\n    if (peer) {\n      if (ncclAtomicRefCountDecrement(&peer->refCount) == 0) {\n        for (int b=0; b<NCCL_MAX_CONNS; b++) {\n          struct ncclConnector* send = peer->send + b;\n          if (send->transportResources && send->transportComm) NCCLCHECK(send->transportComm->free(send));\n          send->transportResources = NULL; // avoid double free\n        }\n        for (int b=0; b<NCCL_MAX_CONNS; b++) {\n          struct ncclConnector* recv = peer->recv + b;\n          if (recv->transportResources && recv->transportComm) NCCLCHECK(recv->transportComm->free(recv));\n          recv->transportResources = NULL; // avoid double free\n        }\n      }\n    }\n  }\n  return ncclSuccess;\n}\n"
  },
  {
    "path": "test/AllGatherTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"TestBed.hpp\"\n#include \"CallCollectiveForked.hpp\"\n\nnamespace RcclUnitTesting\n{\n  TEST(AllGather, OutOfPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAllGather};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat16, ncclFloat32};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {1048576, 500};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(AllGather, OutOfPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAllGather};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclBfloat16, ncclFloat64, ncclFloat8e4m3, ncclFloat8e5m2};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {586};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(AllGather, InPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAllGather};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclInt32};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {104857, 264};\n    std::vector<bool>           const inPlaceList     = {true};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(AllGather, InPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAllGather};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclInt8, ncclInt64};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {958};\n    std::vector<bool>           const inPlaceList     = {true};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(AllGather, ManagedMem)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAllGather};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclUint8};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {1039203, 2500};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(AllGather, ManagedMemGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAllGather};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclUint32, ncclUint64};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {896};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(AllGather, UserBufferRegistration)\n  {          \n    const int nranks = 8;\n    size_t count = 2048;\n    std::vector<int> sendBuff(count, 0);\n    std::vector<int> recvBuff(nranks*count, 0);\n    std::vector<int> expected(nranks*count, 0);\n\n    for (int i = 0; i < count; ++i){\n        sendBuff[i] = i;\n    }\n\n    for(int r = 0; r < nranks; ++r)\n      for (int i = 0; i < count; ++i)\n        expected[r*count + i] = sendBuff[i];\n\n    callCollectiveForked(nranks, ncclCollAllGather, sendBuff, recvBuff, expected);\n  }\n\n  TEST(AllGather, ManagedMemUserBufferRegistration)\n  {          \n    const int nranks = 8;\n    size_t count = 2048;\n    std::vector<int> sendBuff(count, 0);\n    std::vector<int> recvBuff(nranks*count, 0);\n    std::vector<int> expected(nranks*count, 0);\n    const bool use_managed_mem = true;\n    for (int i = 0; i < count; ++i){\n        sendBuff[i] = i;\n    }\n\n    for(int r = 0; r < nranks; ++r)\n      for (int i = 0; i < count; ++i)\n        expected[r*count + i] = sendBuff[i];\n\n    callCollectiveForked(nranks, ncclCollAllGather, sendBuff, recvBuff, expected, use_managed_mem);\n  }\n}\n"
  },
  {
    "path": "test/AllReduceTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"TestBed.hpp\"\n#include \"CallCollectiveForked.hpp\"\n\nnamespace RcclUnitTesting\n{\n  TEST(AllReduce, OutOfPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAllReduce};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat32, ncclFloat8e4m3, ncclFloat8e5m2};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {393216, 384};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(AllReduce, OutOfPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAllReduce};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat16, ncclFloat64, ncclFloat8e4m3, ncclFloat8e5m2};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclMin};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {12888};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(AllReduce, InPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAllReduce};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclInt32, ncclInt8};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclProd};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {384};\n    std::vector<bool>           const inPlaceList     = {true};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(AllReduce, InPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAllReduce};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclInt32, ncclFloat8e4m3, ncclFloat8e5m2};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclMax};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {393216, 12888, 384};\n    std::vector<bool>           const inPlaceList     = {true};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(AllReduce, ManagedMem)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAllReduce};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclUint8, ncclUint64};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {2500};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(AllReduce, Channels)\n  {\n    TestBed testBed;\n    if(testBed.ev.maxGpus >= 8) {\n      if(testBed.ev.isGfx94) {\n        // Configuration\n        std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAllReduce};\n        std::vector<ncclDataType_t> const dataTypes       = {ncclBfloat16};\n        std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n        std::vector<int>            const roots           = {0};\n        std::vector<int>            const numElements     = {64 * 1024 * 1024, 1024};\n        std::vector<bool>           const inPlaceList     = {false};\n        std::vector<bool>           const managedMemList  = {false};\n        std::vector<bool>           const useHipGraphList = {false, true};\n        std::vector<const char *>   const channelList     = {\"84\", \"112\"};\n        bool                        const enableSweep     = false;\n        for (auto channel : channelList) {\n          setenv(\"NCCL_MIN_NCHANNELS\", channel, 1);\n          testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                                inPlaceList, managedMemList, useHipGraphList, enableSweep);\n          testBed.Finalize();\n          unsetenv(\"NCCL_MIN_NCHANNELS\");\n        }\n      }\n    }\n  }\n\n  TEST(AllReduce, ManagedMemGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAllReduce};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat64, ncclBfloat16};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {4314};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  // This tests using custom pre-mult scalars reductions\n  TEST(AllReduce, PreMultScalar)\n  {\n    TestBed testBed;\n\n    // Configuration\n    ncclFunc_t                  const  funcType      = ncclCollAllReduce;\n    std::vector<ncclDataType_t> const& dataTypes     = {ncclFloat32};\n    ncclRedOp_t                 const  redOp         = ncclSum;\n    std::vector<int>            const  numElements   = {384 * 1024, 384 * 32, 384};\n    bool                        const  inPlace       = false;\n    bool                        const  useManagedMem = false;\n\n    OptionalColArgs options;\n\n    // Terminate the test as soon as first failure occurs\n    bool isCorrect = true;\n    for (int totalRanks : testBed.ev.GetNumGpusList())\n    for (int isMultiProcess : testBed.ev.GetIsMultiProcessList())\n    {\n      int const numProcesses = isMultiProcess ? totalRanks : 1;\n      const std::vector<int>& gpuPriorityOrder = testBed.ev.GetGpuPriorityOrder();\n      testBed.InitComms(TestBed::GetDeviceIdsList(numProcesses, totalRanks, gpuPriorityOrder));\n\n      for (int dataIdx = 0; dataIdx < dataTypes.size() && isCorrect; ++dataIdx)\n      {\n        ncclDataType_t const dataType = dataTypes[dataIdx];\n\n        // Set scalars per rank\n        PtrUnion scalarsPerRank;\n        scalarsPerRank.AllocateCpuMem(totalRanks * DataTypeToBytes(dataType));\n        for (int i = 0;  i < totalRanks; i++)\n        {\n          double F = i;\n          scalarsPerRank.Set(dataType, i, i, F);\n        }\n        int const numBytes = totalRanks * DataTypeToBytes(dataType);\n        memcpy(options.scalarTransport.ptr, scalarsPerRank.ptr, numBytes);\n\n        // Test various scalar residence modes\n        for (int scalarMode = 0; scalarMode <= 1 && isCorrect; ++scalarMode)\n        {\n          if (testBed.ev.showNames)\n            INFO(\"%s %d-ranks AllReduce (custom-scalar Mode %d %s)\\n\",\n                 isMultiProcess ? \"MP\" : \"SP\",\n                 totalRanks, scalarMode, ncclDataTypeNames[dataType]);\n\n          for (int i = 0; i < numElements.size() && isCorrect; ++i)\n          {\n            options.scalarMode = scalarMode;\n            options.redOp = redOp;\n            testBed.SetCollectiveArgs(funcType, dataType,\n                                      numElements[i], numElements[i],\n                                      options);\n            // For performance, only allocate and prepare data on largest size\n            if (i == 0)\n            {\n              testBed.AllocateMem(inPlace, useManagedMem);\n              testBed.PrepareData();\n            }\n            testBed.ExecuteCollectives();\n            testBed.ValidateResults(isCorrect);\n          }\n          testBed.DeallocateMem();\n        }\n      }\n      testBed.DestroyComms();\n    }\n    testBed.Finalize();\n  }\n\n  TEST(AllReduce, UserBufferRegistration)\n  {\n    const int nranks = 8;\n    size_t count = 2048;\n    std::vector<int> sendBuff(count, 0);\n    std::vector<int> recvBuff(count, 0);\n    std::vector<int> expected(count, 0);\n\n    for (int i = 0; i < count; ++i){\n        sendBuff[i] = i;\n        expected[i] = i * nranks;\n    }\n    callCollectiveForked(nranks, ncclCollAllReduce, sendBuff, recvBuff, expected);\n  }\n\n  TEST(AllReduce, ManagedMemUserBufferRegistration)\n  {\n    const int nranks = 8;\n    size_t count = 2048;\n    std::vector<int> sendBuff(count, 0);\n    std::vector<int> recvBuff(count, 0);\n    std::vector<int> expected(count, 0);\n    const bool use_managed_mem = true;\n    for (int i = 0; i < count; ++i){\n        sendBuff[i] = i;\n        expected[i] = i * nranks;\n    }\n    callCollectiveForked(nranks, ncclCollAllReduce, sendBuff, recvBuff, expected, use_managed_mem);\n  }\n\n#ifdef RCCL_ALLREDUCE_WITH_BIAS\n  // Note: All bias tests require:\n  // nRanks >= 2 (bias NOT supported for single rank)\n\n  // Named constants for bias test configuration\n  namespace BiasTestConstants\n  {\n  // Element counts for different operations\n  constexpr std::initializer_list<int> STANDARD_ELEM_COUNTS    = {2048, 384}; // For Sum/Max/Min\n  constexpr std::initializer_list<int> PROD_ELEM_COUNTS_MEDIUM = {32}; // For Int32/Uint32 Prod\n  constexpr std::initializer_list<int> PROD_ELEM_COUNTS_LARGE  = {64}; // For Int8/Uint8/Int64/Uint64/Float Prod\n\n  // Bias and input pattern constants\n  constexpr int BIAS_CONSTANT_ONE = 1; // Use constant bias value of 1 (prevents overflow)\n  constexpr int BIAS_INCREMENTAL_PATTERN\n      = -1; // Use incremental pattern: bias[i] = i (more thorough testing)\n  constexpr int INPUT_RANK_BASED_PATTERN\n      = -1; // Use rank-based pattern: input[rank][i] = (rank+i)%256\n  constexpr int INPUT_CONSTANT_ONE = 1; // Use constant input value of 1 (prevents overflow)\n  } // namespace BiasTestConstants\n\n  /*\n   * @brief Helper function for running bias tests with specific datatype and redOp\n   * @param dataType Data type\n   * @param redOp Reduction operation\n   * @param numElements Number of elements\n   * @param biasConstVal Bias constant value, -1 for incremental bias\n   * @param inputConstVal Input constant value, -1 for rank-based input\n   */\n  void RunBiasTest(ncclDataType_t   dataType,\n                   ncclRedOp_t      redOp,\n                   std::vector<int> numElements,\n                   int              biasConstVal  = BiasTestConstants::BIAS_INCREMENTAL_PATTERN,\n                   int              inputConstVal = BiasTestConstants::INPUT_RANK_BASED_PATTERN)\n  {\n      // Create TestBed first (doesn't create child processes yet)\n      TestBed testBed;\n\n      // Check if architecture is gfx94 (covers gfx942) or gfx95 (covers gfx950)\n      if (!testBed.ev.isGfx94 && !testBed.ev.isGfx95)\n      {\n          INFO(\"SKIPPED: AllReduce with Bias is only supported on gfx942 or gfx950 architectures.\\n\");\n          return;\n      }\n\n      bool const inPlace       = false;\n      bool const useManagedMem = false;\n      bool const useHipGraph   = false;\n\n      OptionalColArgs options;\n      options.useBias            = true;\n      options.redOp              = redOp;\n      options.biasConstantValue  = biasConstVal;\n      options.inputConstantValue = inputConstVal;\n\n      bool isCorrect = true;\n\n      for(int totalRanks : testBed.ev.GetNumGpusList())\n      {\n          if(totalRanks < 2)\n              continue;\n\n          int const               numProcesses     = totalRanks;\n          bool const              isMultiProcess   = true;\n          const std::vector<int>& gpuPriorityOrder = testBed.ev.GetGpuPriorityOrder();\n          testBed.InitComms(TestBed::GetDeviceIdsList(numProcesses, totalRanks, gpuPriorityOrder));\n\n          for(auto numElem : numElements)\n          {\n              if(!isCorrect)\n                  break;\n\n              if(testBed.ev.showNames)\n              {\n                  std::string name = testBed.GetTestCaseName(totalRanks,\n                                                             isMultiProcess,\n                                                             ncclCollAllReduce,\n                                                             dataType,\n                                                             redOp,\n                                                             -1,\n                                                             inPlace,\n                                                             useManagedMem,\n                                                             useHipGraph);\n                  INFO(\"  %s (with bias, count=%d)\\n\", name.c_str(), numElem);\n              }\n\n              options.biasNumElements = numElem;\n\n              testBed.SetCollectiveArgs(ncclCollAllReduce,\n                                        dataType,\n                                        numElem,\n                                        numElem,\n                                        options,\n                                        -1,\n                                        0,\n                                        -1);\n              testBed.AllocateMem(inPlace, useManagedMem);\n              testBed.PrepareData();\n              testBed.ExecuteCollectives({}, useHipGraph);\n              testBed.ValidateResults(isCorrect);\n              testBed.DeallocateMem();\n          }\n          testBed.DestroyComms();\n      }\n      testBed.Finalize();\n  }\n\n  // Int8 Tests\n  TEST(AllReduce, BiasInt8_Sum)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclInt8,\n                  ncclSum,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasInt8_Max)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclInt8,\n                  ncclMax,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasInt8_Min)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclInt8,\n                  ncclMin,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasInt8_Prod)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclInt8,\n                  ncclProd,\n                  PROD_ELEM_COUNTS_LARGE,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_CONSTANT_ONE);\n  }\n\n  // Uint8 Tests\n  TEST(AllReduce, BiasUint8_Sum)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclUint8,\n                  ncclSum,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasUint8_Max)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclUint8,\n                  ncclMax,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasUint8_Min)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclUint8,\n                  ncclMin,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasUint8_Prod)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclUint8,\n                  ncclProd,\n                  PROD_ELEM_COUNTS_LARGE,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_CONSTANT_ONE);\n  }\n\n  // Int32 Tests\n  TEST(AllReduce, BiasInt32_Sum)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclInt32,\n                  ncclSum,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasInt32_Max)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclInt32,\n                  ncclMax,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasInt32_Min)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclInt32,\n                  ncclMin,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasInt32_Prod)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclInt32,\n                  ncclProd,\n                  PROD_ELEM_COUNTS_MEDIUM,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_CONSTANT_ONE);\n  }\n\n  // Uint32 Tests\n  TEST(AllReduce, BiasUint32_Sum)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclUint32,\n                  ncclSum,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasUint32_Max)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclUint32,\n                  ncclMax,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasUint32_Min)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclUint32,\n                  ncclMin,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasUint32_Prod)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclUint32,\n                  ncclProd,\n                  PROD_ELEM_COUNTS_MEDIUM,\n                  BIAS_CONSTANT_ONE,\n                  INPUT_CONSTANT_ONE);\n  }\n\n  // Int64 Tests\n  TEST(AllReduce, BiasInt64_Sum)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclInt64,\n                  ncclSum,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasInt64_Max)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclInt64,\n                  ncclMax,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasInt64_Min)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclInt64,\n                  ncclMin,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasInt64_Prod)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclInt64,\n                  ncclProd,\n                  PROD_ELEM_COUNTS_LARGE,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_CONSTANT_ONE);\n  }\n\n  // Uint64 Tests\n  TEST(AllReduce, BiasUint64_Sum)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclUint64,\n                  ncclSum,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasUint64_Max)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclUint64,\n                  ncclMax,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasUint64_Min)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclUint64,\n                  ncclMin,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasUint64_Prod)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclUint64,\n                  ncclProd,\n                  PROD_ELEM_COUNTS_LARGE,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_CONSTANT_ONE);\n  }\n\n  // Float32 Tests\n  TEST(AllReduce, BiasFloat32_Sum)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclFloat32,\n                  ncclSum,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasFloat32_Max)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclFloat32,\n                  ncclMax,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasFloat32_Min)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclFloat32,\n                  ncclMin,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasFloat32_Prod)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclFloat32,\n                  ncclProd,\n                  PROD_ELEM_COUNTS_LARGE,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_CONSTANT_ONE);\n  }\n\n  // Float64 Tests\n  TEST(AllReduce, BiasFloat64_Sum)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclFloat64,\n                  ncclSum,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasFloat64_Max)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclFloat64,\n                  ncclMax,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasFloat64_Min)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclFloat64,\n                  ncclMin,\n                  STANDARD_ELEM_COUNTS,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_RANK_BASED_PATTERN);\n  }\n\n  TEST(AllReduce, BiasFloat64_Prod)\n  {\n      using namespace BiasTestConstants;\n      RunBiasTest(ncclFloat64,\n                  ncclProd,\n                  PROD_ELEM_COUNTS_LARGE,\n                  BIAS_INCREMENTAL_PATTERN,\n                  INPUT_CONSTANT_ONE);\n  }\n\n#else\n  // If RCCL_ALLREDUCE_WITH_BIAS is not defined, skip all bias tests\n  TEST(AllReduce, BiasNotAvailable)\n  {\n      INFO(\"SKIPPED: RCCL_ALLREDUCE_WITH_BIAS not defined - bias tests skipped\\n\");\n      return;\n  }\n#endif\n}\n"
  },
  {
    "path": "test/AllToAllTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n // Note: InPlace is not supported for All-To-All\n\n#include \"TestBed.hpp\"\n\nnamespace RcclUnitTesting\n{\n  TEST(AlltoAll, OutOfPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAlltoAll};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat16, ncclFloat32};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {1048576, 1024};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(AlltoAll, OutOfPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAlltoAll};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat64, ncclBfloat16, ncclFloat8e4m3, ncclFloat8e5m2};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {5685};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(AlltoAll, ManagedMem)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAlltoAll};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclUint8};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {384 * 1024, 1024};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(AlltoAll, ManagedMemGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAlltoAll};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclUint32, ncclUint64};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {1048576};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n    TEST(AlltoAll, Channels)\n  {\n    TestBed testBed;\n    if(testBed.ev.maxGpus >= 8) {\n      if(testBed.ev.isGfx94) {\n        // Configuration\n        std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAlltoAll};\n        std::vector<ncclDataType_t> const dataTypes       = {ncclBfloat16};\n        std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n        std::vector<int>            const roots           = {0};\n        std::vector<int>            const numElements     = {64 * 1024 * 1024, 1024};\n        std::vector<bool>           const inPlaceList     = {false};\n        std::vector<bool>           const managedMemList  = {false};\n        std::vector<bool>           const useHipGraphList = {false, true};\n        std::vector<const char *>   const channelList     = {\"112\"}; \n        bool                        const enableSweep     = false;\n        for (auto channel : channelList) {\n          setenv(\"NCCL_MIN_NCHANNELS\", channel, 1);\n          testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                                inPlaceList, managedMemList, useHipGraphList, enableSweep);\n          testBed.Finalize();\n          unsetenv(\"NCCL_MIN_NCHANNELS\");\n        }\n      }\n    }\n  }\n}"
  },
  {
    "path": "test/AllToAllVTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n // Note: InPlace is not supported for All-To-Allv\n\n#include \"TestBed.hpp\"\n\nnamespace RcclUnitTesting\n{\n  // Prepare sendcount/recvcounts, sdispls/rdispls arrays within options\n  void PrepareCounts(int const totalRanks, int const chunkSize,\n                     OptionalColArgs& options,\n                     std::vector<size_t>& numInputElements,\n                     std::vector<size_t>& numOutputElements,\n                     int percentZeroElement = 0)\n  {\n    numInputElements.clear();\n    numOutputElements.clear();\n    numInputElements.resize(totalRanks, 0);\n    numOutputElements.resize(totalRanks, 0);\n\n    // Decide how many elements each pair send/recv\n    for (int sendRank = 0; sendRank < totalRanks; ++sendRank)\n    for (int recvRank = 0; recvRank < totalRanks; ++recvRank)\n    {\n      // Get linear indices into sendcounts/recvcounts array\n      int const sendIdx = sendRank * totalRanks + recvRank;\n      int const recvIdx = recvRank * totalRanks + sendRank;\n\n      // Each pair sends slightly different amounts of elements (based on chunkSize)\n      int numElements = (1 + sendRank + recvRank) * chunkSize;\n      options.sendcounts[sendIdx]  = options.recvcounts[recvIdx] = numElements;\n    }\n\n    // Psuedo-randomly zero out some of the sends\n    int s = 0, r = 0;\n    double zeroStride = (percentZeroElement <= 0)   ? (totalRanks * totalRanks + 1) :\n                        (percentZeroElement >= 100) ? 1.0\n                                                    : 100.0 / percentZeroElement;\n    double zeroTarget = zeroStride;\n    for (int i = 1; i <= totalRanks * totalRanks; i++) {\n      if (i >= zeroTarget) {\n        options.sendcounts[s * totalRanks + r] = options.recvcounts[r * totalRanks + s] = 0;\n        zeroTarget += zeroStride;\n      }\n      int next = ((s*totalRanks+(r+(s*s)%7/2)%totalRanks) + totalRanks-1) % (totalRanks*totalRanks);\n      s = next / totalRanks;\n      r = ((next % totalRanks) - (s*s)%7/2) % totalRanks;\n      if (r < 0) r += totalRanks;\n    }\n\n    // Compute displacements\n    for (int sendRank = 0; sendRank < totalRanks; ++sendRank)\n    {\n      int totalSend = 0;\n      int totalRecv = 0;\n\n      for (int recvRank = 0; recvRank < totalRanks; ++recvRank)\n      {\n        int const pairIdx = sendRank * totalRanks + recvRank;\n\n        options.sdispls[pairIdx] = totalSend;\n        options.rdispls[pairIdx] = totalRecv;\n\n        totalSend += options.sendcounts[pairIdx];\n        totalRecv += options.recvcounts[pairIdx];\n      }\n\n      numInputElements[sendRank] = totalSend;\n      numOutputElements[sendRank] = totalRecv;\n    }\n  }\n\n  TEST(AlltoAllv, OutOfPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclDataType_t> const& testDataTypes   = {ncclInt32, ncclFloat64, ncclFloat16};\n    bool                        const  inPlace         = false;\n    bool                        const  useManagedMem   = false;\n    bool                        const  useHipGraph     = false;\n\n    OptionalColArgs options;\n\n    std::vector<ncclDataType_t> dataTypes;\n    testBed.GetSupportedDataTypes(dataTypes, testDataTypes);\n    if (dataTypes.empty()) {\n      GTEST_SKIP() << \"Skipping... test datatypes excluded by UT_DATATYPES.\";\n    }\n\n    bool isCorrect = true;\n    for (int totalRanks : testBed.ev.GetNumGpusList())\n    for (int isMultiProcess : testBed.ev.GetIsMultiProcessList())\n    {\n      int const numProcesses = isMultiProcess ? totalRanks : 1;\n      const std::vector<int>& gpuPriorityOrder = testBed.ev.GetGpuPriorityOrder();\n      testBed.InitComms(TestBed::GetDeviceIdsList(numProcesses, totalRanks, gpuPriorityOrder));\n\n      // Prepare AlltoAllV options\n      std::vector<size_t> numInputElements;\n      std::vector<size_t> numOutputElements;\n      PrepareCounts(totalRanks, 256, options, numInputElements, numOutputElements, 40);\n\n      for (int dataIdx = 0; dataIdx < dataTypes.size() && isCorrect; ++dataIdx)\n      {\n        if (testBed.ev.showNames)\n        {\n          std::string name = testBed.GetTestCaseName(totalRanks, isMultiProcess,\n                                                     ncclCollAlltoAllv, dataTypes[dataIdx],\n                                                     ncclSum, -1, inPlace, useManagedMem, useHipGraph);\n          INFO(\"%s\\n\", name.c_str());\n        }\n\n        for (int rank = 0; rank < totalRanks; ++rank)\n        {\n          testBed.SetCollectiveArgs(ncclCollAlltoAllv,\n                                    dataTypes[dataIdx],\n                                    numInputElements[rank],\n                                    numOutputElements[rank],\n                                    options,\n                                    -1,\n                                    0,\n                                    rank);\n        }\n        testBed.AllocateMem(inPlace, useManagedMem);\n        testBed.PrepareData();\n        testBed.ExecuteCollectives({}, useHipGraph);\n        testBed.ValidateResults(isCorrect);\n        testBed.DeallocateMem();\n      }\n      testBed.DestroyComms();\n    }\n    testBed.Finalize();\n  }\n\n\n  TEST(AlltoAllv, OutOfPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclDataType_t> const& testDataTypes   = {ncclFloat32, ncclInt8};\n    bool                        const  inPlace         = false;\n    bool                        const  useManagedMem   = false;\n    bool                        const  useHipGraph     = false;\n\n    OptionalColArgs options;\n\n    std::vector<ncclDataType_t> dataTypes;\n    testBed.GetSupportedDataTypes(dataTypes, testDataTypes);\n    if (dataTypes.empty()) {\n      GTEST_SKIP() << \"Skipping... test datatypes excluded by UT_DATATYPES.\";\n    }\n\n    bool isCorrect = true;\n    for (int totalRanks : testBed.ev.GetNumGpusList())\n    for (int isMultiProcess : testBed.ev.GetIsMultiProcessList())\n    {\n      int const numProcesses = isMultiProcess ? totalRanks : 1;\n      const std::vector<int>& gpuPriorityOrder = testBed.ev.GetGpuPriorityOrder();\n      testBed.InitComms(TestBed::GetDeviceIdsList(numProcesses, totalRanks, gpuPriorityOrder));\n\n      // Prepare AlltoAllV options\n      std::vector<size_t> numInputElements;\n      std::vector<size_t> numOutputElements;\n      PrepareCounts(totalRanks, 256, options, numInputElements, numOutputElements, 60);\n\n      for (int dataIdx = 0; dataIdx < dataTypes.size() && isCorrect; ++dataIdx)\n      {\n        if (testBed.ev.showNames)\n        {\n          std::string name = testBed.GetTestCaseName(totalRanks, isMultiProcess,\n                                                     ncclCollAlltoAllv, dataTypes[dataIdx],\n                                                     ncclSum, -1, inPlace, useManagedMem, useHipGraph);\n          INFO(\"%s\\n\", name.c_str());\n        }\n\n        for (int rank = 0; rank < totalRanks; ++rank)\n        {\n          testBed.SetCollectiveArgs(ncclCollAlltoAllv,\n                                    dataTypes[dataIdx],\n                                    numInputElements[rank],\n                                    numOutputElements[rank],\n                                    options,\n                                    -1,\n                                    0,\n                                    rank);\n        }\n        testBed.AllocateMem(inPlace, useManagedMem);\n        testBed.PrepareData();\n        testBed.ExecuteCollectives({}, useHipGraph);\n        testBed.ValidateResults(isCorrect);\n        testBed.DeallocateMem();\n      }\n      testBed.DestroyComms();\n    }\n    testBed.Finalize();\n  }\n}\n"
  },
  {
    "path": "test/AllocTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <alloc.h>\n#include <gtest/gtest.h>\n#include <rccl/rccl.h>\n\n#include \"TestBed.hpp\"\n#include \"common/ErrCode.hpp\"\n#include \"common/ProcessIsolatedTestRunner.hpp\"\n\ntemplate ncclResult_t ncclCudaMemcpy<float>(float*, float*, size_t);\n\nnamespace RcclUnitTesting\n{\nTEST(Alloc, ncclIbMallocDebugNonZero)\n{\n    void*  ptr  = nullptr;\n    size_t size = 4096;\n\n    ncclResult_t result = ncclIbMalloc(&ptr, size);\n\n    EXPECT_EQ(result, ncclSuccess);\n    ASSERT_NE(ptr, nullptr);\n\n    char* char_ptr = static_cast<char*>(ptr);\n    for(size_t i = 0; i < size; ++i)\n    {\n        ASSERT_EQ(char_ptr[i], 0);\n    }\n\n    free(ptr);\n}\n\nTEST(Alloc, ncclIbMallocDebugZeroSize)\n{\n    void*        ptr    = (void*)0xdeadbeef;\n    ncclResult_t result = ncclIbMalloc(&ptr, 0);\n\n    EXPECT_EQ(result, ncclSuccess);\n    EXPECT_EQ(ptr, nullptr);\n}\n\nTEST(Alloc, ncclCuMemHostAlloc)\n{\n    void*        ptr    = NULL;\n    void*        handle = NULL;\n    size_t       size   = 1024;\n    ncclResult_t result = ncclCuMemHostAlloc(&ptr, handle, size);\n    ASSERT_EQ(result, ncclInternalError);\n}\n\nTEST(Alloc, ncclCuMemHostFree)\n{\n    void*        dummyPtr = reinterpret_cast<void*>(0x1234); // any dummy address\n    ncclResult_t result   = ncclCuMemHostFree(dummyPtr);\n    ASSERT_EQ(result, ncclInternalError);\n}\n\n#if ROCM_VERSION < 70000\n// This test is only valid for ROCm versions < 7.0.0\n// In ROCm 7.0.0+, the ncclCuMemAlloc signature changed\nTEST(Alloc, ncclCuMemAlloc)\n{\n    void*                      ptr    = reinterpret_cast<void*>(0x1234); // dummy non-null input\n    void*                      handle = reinterpret_cast<void*>(0x5678); // dummy non-null input\n    size_t                     size   = 1024;\n    hipMemAllocationHandleType type   = hipMemHandleTypeNone;\n    ncclResult_t               result = ncclCuMemAlloc(&ptr, &handle, type, size);\n    EXPECT_EQ(result, ncclInternalError);\n}\n\nTEST(Alloc, ncclCuMemFree)\n{\n    void*        dummyPtr = reinterpret_cast<void*>(0xdeadbeef); // arbitrary non-null\n    ncclResult_t result   = ncclCuMemFree(dummyPtr);\n    EXPECT_EQ(result, ncclInternalError);\n}\n\nTEST(Alloc, ncclCuMemAllocAddr)\n{\n    void*                           ptr = reinterpret_cast<void*>(0x1111); // Dummy non-null input\n    hipMemGenericAllocationHandle_t handle\n        = reinterpret_cast<hipMemGenericAllocationHandle_t>(0x1234);\n    size_t       size   = 4096;\n    ncclResult_t result = ncclCuMemAllocAddr(&ptr, &handle, size);\n    ASSERT_EQ(result, ncclInternalError);\n}\n\nTEST(Alloc, ncclCuMemFreeAddr)\n{\n    void*        testPtr = reinterpret_cast<void*>(0xbeefcafe); // Arbitrary non-null pointer\n    ncclResult_t result  = ncclCuMemFreeAddr(testPtr);\n    ASSERT_EQ(result, ncclInternalError);\n}\n#endif // ROCM_VERSION < 70000\n\nTEST(Alloc, NcclCudaMemcpy)\n{\n    RUN_ISOLATED_TEST(\n        \"NcclCudaMemcpy\",\n        []()\n        {\n            constexpr size_t N     = 128;\n            float *          d_src = nullptr, *d_dst = nullptr;\n            float            h_src[N], h_dst[N];\n\n            for(size_t i = 0; i < N; ++i)\n                h_src[i] = static_cast<float>(i + 1);\n            // Allocate device memory\n\n            ASSERT_EQ(hipMalloc(&d_src, N * sizeof(float)), hipSuccess);\n            ASSERT_EQ(hipMalloc(&d_dst, N * sizeof(float)), hipSuccess);\n\n            // Copy from host to device (source buffer)\n            ASSERT_EQ(\n                hipMemcpy(d_src, h_src, N * sizeof(float), hipMemcpyHostToDevice),\n                hipSuccess\n            );\n\n            // Perform the tested function\n            ncclResult_t result = ncclCudaMemcpy<float>(d_dst, d_src, N);\n\n            ASSERT_EQ(result, ncclSuccess);\n\n            // Copy result back to host\n            ASSERT_EQ(\n                hipMemcpy(h_dst, d_dst, N * sizeof(float), hipMemcpyDeviceToHost),\n                hipSuccess\n            );\n\n            // Check correctness\n            for(size_t i = 0; i < N; ++i)\n            {\n                EXPECT_EQ(h_src[i], h_dst[i]) << \"Mismatch at index \" << i;\n            }\n            // Free memory\n            hipFree(d_src);\n            hipFree(d_dst);\n        }\n    );\n}\n\nTEST(Alloc, ZeroElementMemcpy)\n{\n    RUN_ISOLATED_TEST(\n        \"ZeroElementMemcpy\",\n        []()\n        {\n            float *d_src = nullptr, *d_dst = nullptr;\n            ASSERT_EQ(hipMalloc(&d_src, sizeof(float)), hipSuccess);\n            ASSERT_EQ(hipMalloc(&d_dst, sizeof(float)), hipSuccess);\n\n            ncclResult_t result = ncclCudaMemcpy<float>(d_dst, d_src, 0);\n            EXPECT_EQ(result, ncclSuccess) << \"Zero-element copy should succeed (no-op)\";\n\n            hipFree(d_src);\n            hipFree(d_dst);\n        }\n    );\n}\n\nTEST(Alloc, MemcpyNullSrcOrDstPointer)\n{\n    RUN_ISOLATED_TEST(\n        \"MemcpyNullSrcOrDstPointer\",\n        []()\n        {\n            constexpr size_t N       = 16;\n            float*           d_valid = nullptr;\n            ASSERT_EQ(hipMalloc(&d_valid, N * sizeof(float)), hipSuccess);\n\n            // Case 1: src is nullptr\n            ncclResult_t result = ncclCudaMemcpy<float>(d_valid, nullptr, N);\n            EXPECT_EQ(result, ncclUnhandledCudaError)\n                << \"Expected ncclUnhandledCudaError when src is nullptr\";\n\n            // Case 2: dst is nullptr\n            result = ncclCudaMemcpy<float>(nullptr, d_valid, N);\n            EXPECT_EQ(result, ncclUnhandledCudaError)\n                << \"Expected ncclUnhandledCudaError when dst is nullptr\";\n\n            hipFree(d_valid);\n        }\n    );\n}\n} // namespace RcclUnitTesting"
  },
  {
    "path": "test/AltRsmiTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"alt_rsmi.h\"\n#include \"common/ProcessIsolatedTestRunner.hpp\"\n\n#include <cerrno>\n#include <cstdio>\n#include <dirent.h>\n#include <fstream>\n#include <gtest/gtest.h>\n#include <iostream>\n#include <map>\n#include <string>\n#include <sys/stat.h>\n#include <sys/types.h>\n#include <unistd.h>\n#include <vector>\n#include <cstdlib>\n#include <limits>\n#include <filesystem>\n\n// ============================================================================\n// Internal structures and variables from alt_rsmi.cc (TEST USE ONLY)\n// ============================================================================\n// When alt_rsmi.cc is compiled with ARSMI_TEST_BUILD, internal variables\n// have external linkage and can be accessed by test utilities\n\nstruct ARSMI_systemNode {\n    uint32_t s_node_id = 0;\n    uint64_t s_gpu_id = 0;\n    uint64_t s_unique_id = 0;\n    uint64_t s_location_id = 0;\n    uint64_t s_bdf = 0;\n    uint64_t s_domain = 0;\n    uint8_t  s_bus = 0;\n    uint8_t  s_device = 0;\n    uint8_t  s_function = 0;\n    uint8_t  s_partition_id = 0;\n    std::string s_card;\n};\n\n// External declarations of internal variables from alt_rsmi.cc\nextern thread_local const char *kKFDNodesPathRoot;\nextern thread_local int ARSMI_num_devices;\nextern thread_local std::vector<ARSMI_systemNode> ARSMI_orderedNodes;\nextern thread_local std::vector<std::vector<ARSMI_linkInfo>> ARSMI_orderedLinks;\n\n// ============================================================================\n// Test utilities for manipulating alt_rsmi.cc internal state\n// ============================================================================\nnamespace AltRsmiTestUtils {\n\n// Storage for the test path to ensure the pointer remains valid\nstatic std::string sTestNodesPath;\n\n// Set the KFD nodes path for testing\n// This redirects file reads to test directories\nstatic void SetNodesPath(const std::string& path) {\n    sTestNodesPath = path;\n    kKFDNodesPathRoot = sTestNodesPath.c_str();\n}\n\n// Reset ARSMI internal state between tests\n// This ensures test isolation\nstatic void ResetState() {\n    ARSMI_num_devices = -1;\n    ARSMI_orderedNodes.clear();\n    ARSMI_orderedLinks.clear();\n}\n\n// Get current number of devices (for verification)\nstatic int GetNumDevices() {\n    return ARSMI_num_devices;\n}\n\n} // namespace AltRsmiTestUtils\n\n// Test paths for creating mock KFD filesystem\n// Use std::filesystem::temp_directory_path() for portability\nstatic const std::string kTestKFDBasePath =\n    std::filesystem::temp_directory_path().string() + \"/test_kfd_arsmi\";\nstatic const std::string kTestKFDPath =\n    std::filesystem::temp_directory_path().string() + \"/test_kfd_arsmi/topology/nodes\";\n\nnamespace RcclUnitTesting {\n\n// Helper functions for creating test filesystem structures\n// All file operations are scoped to kTestKFDBasePath for safety\nnamespace {\n  // Internal helper to create directories recursively (operates on absolute paths)\n  int createDirectoryImpl(const std::string &path) {\n    size_t pos = 0;\n    std::string currentPath;\n\n    // Iterate through each component of the path\n    while ((pos = path.find('/', pos)) != std::string::npos) {\n      currentPath = path.substr(0, pos++);\n      if (!currentPath.empty() && mkdir(currentPath.c_str(), 0700) == -1 &&\n          errno != EEXIST) {\n        return -1; // Return error if directory creation fails\n      }\n    }\n\n    // Create the final directory\n    if (mkdir(path.c_str(), 0700) == -1 && errno != EEXIST) {\n      return -1; // Return error if directory creation fails\n    }\n\n    return 0; // Success\n  }\n\n  // Internal helper to remove a directory recursively (operates on absolute paths)\n  int removeDirectoryImpl(const std::string &path) {\n    DIR *dir = opendir(path.c_str());\n    if (!dir) {\n      // ENOENT means directory doesn't exist - not an error during cleanup\n      if (errno == ENOENT) {\n        return 0;\n      }\n      std::cerr << \"Failed to open directory: \" << path << \" (errno: \" << errno\n                << \")\" << std::endl;\n      return -1;\n    }\n\n    struct dirent *entry;\n    while ((entry = readdir(dir)) != nullptr) {\n      // Skip \".\" and \"..\" entries\n      if (strcmp(entry->d_name, \".\") == 0 || strcmp(entry->d_name, \"..\") == 0) {\n        continue;\n      }\n\n      std::string fullPath = path + \"/\" + entry->d_name;\n\n      // Check if the entry is a directory\n      struct stat entryStat;\n      if (stat(fullPath.c_str(), &entryStat) == -1) {\n        std::cerr << \"Failed to stat: \" << fullPath << \" (errno: \" << errno\n                  << \")\" << std::endl;\n        closedir(dir);\n        return -1;\n      }\n\n      if (S_ISDIR(entryStat.st_mode)) {\n        // Recursively remove subdirectory\n        if (removeDirectoryImpl(fullPath) == -1) {\n          closedir(dir);\n          return -1;\n        }\n      } else {\n        // Remove file\n        if (unlink(fullPath.c_str()) == -1) {\n          std::cerr << \"Failed to remove file: \" << fullPath\n                    << \" (errno: \" << errno << \")\" << std::endl;\n          closedir(dir);\n          return -1;\n        }\n      }\n    }\n\n    closedir(dir);\n\n    // Remove the directory itself\n    if (rmdir(path.c_str()) == -1) {\n      std::cerr << \"Failed to remove directory: \" << path\n                << \" (errno: \" << errno << \")\" << std::endl;\n      return -1;\n    }\n\n    return 0; // Success\n  }\n\n  // Validate that a path is within the test sandbox\n  bool isPathInSandbox(const std::string &path) {\n    // Must start with kTestKFDBasePath to be valid\n    return path.find(kTestKFDBasePath) == 0;\n  }\n\n  // Create directory within test sandbox (relative to kTestKFDPath)\n  // Pass \"\" to create the base kTestKFDPath directory\n  int createDirectory(const std::string &relativePath = \"\") {\n    std::string fullPath = relativePath.empty()\n        ? std::string(kTestKFDPath)\n        : std::string(kTestKFDPath) + \"/\" + relativePath;\n\n    if (!isPathInSandbox(fullPath)) {\n      std::cerr << \"error: path \" << fullPath << \" is outside test sandbox\" << std::endl;\n      return -1;\n    }\n    return createDirectoryImpl(fullPath);\n  }\n\n  // Remove entire test sandbox directory\n  int removeTestSandbox() {\n    return removeDirectoryImpl(kTestKFDBasePath);\n  }\n\n  // Create a file within test sandbox (relative to kTestKFDPath)\n  void createFile(const std::string &relativePath, const std::string &content) {\n    std::string fullPath = std::string(kTestKFDPath) + \"/\" + relativePath;\n\n    if (!isPathInSandbox(fullPath)) {\n      std::cerr << \"error: path \" << fullPath << \" is outside test sandbox\" << std::endl;\n      return;\n    }\n\n    std::ofstream file(fullPath);\n    if (!file) {\n      std::cerr << \"Failed to create file: \" << fullPath << \", errno: \" << errno << std::endl;\n      return;\n    }\n    file << content;\n    file.close();\n  }\n\n  // Remove a file within test sandbox (relative to kTestKFDPath)\n  int removeFile(const std::string &relativePath) {\n    std::string fullPath = std::string(kTestKFDPath) + \"/\" + relativePath;\n\n    if (!isPathInSandbox(fullPath)) {\n      std::cerr << \"Security error: path \" << fullPath << \" is outside test sandbox\" << std::endl;\n      return -1;\n    }\n\n    if (unlink(fullPath.c_str()) == -1) {\n      std::cerr << \"Failed to remove file: \" << fullPath << \" (errno: \" << errno\n                << \")\" << std::endl;\n      return -1; // Return error if file removal fails\n    }\n    return 0; // Success\n  }\n\n  // Function to create the test directory structure and files\n  void setupTestFiles() {\n    createDirectory();  // Creates kTestKFDPath\n\n    // Create node 0 with valid data\n    createDirectory(\"0\");\n    createFile(\"0/gpu_id\", \"4098\\n\");\n    createFile(\"0/properties\", \"unique_id 16336014475442738425\\n\"\n                               \"location_id 23552\\n\"\n                               \"domain 0\\n\"\n                               \"vendor_id 4098\\n\");\n\n    createDirectory(\"0/io_links/0\");\n    createFile(\"0/io_links/0/properties\",\n               \"type 2\\n\"\n               \"version_major 0\\n\"\n               \"version_minor 0\\n\"\n               \"node_from 0\\n\"\n               \"node_to 1\\n\"\n               \"weight 21\\n\"\n               \"min_latency 0\\n\"\n               \"max_latency 0\\n\"\n               \"min_bandwidth 0\\n\"\n               \"max_bandwidth 64000\\n\"\n               \"recommended_transfer_size 0\\n\"\n               \"recommended_sdma_engine_id_mask 0\\n\"\n               \"flags 0\\n\");\n\n    createDirectory(\"0/io_links/1\");\n    createFile(\"0/io_links/1/properties\",\n               \"type 11\\n\"\n               \"version_major 0\\n\"\n               \"version_minor 0\\n\"\n               \"node_from 0\\n\"\n               \"node_to 1\\n\"\n               \"weight 21\\n\"\n               \"min_latency 0\\n\"\n               \"max_latency 0\\n\"\n               \"min_bandwidth 0\\n\"\n               \"max_bandwidth 50000\\n\"\n               \"recommended_transfer_size 0\\n\"\n               \"recommended_sdma_engine_id_mask 0\\n\"\n               \"flags 0\\n\");\n\n    createDirectory(\"1\");\n    createFile(\"1/gpu_id\", \"4098\\n\");\n    createFile(\"1/properties\", \"unique_id 16336014475442738426\\n\"\n                               \"location_id 23553\\n\"\n                               \"domain 1\\n\"\n                               \"vendor_id 4098\\n\");\n\n    createDirectory(\"1/io_links/0\");\n    createFile(\"1/io_links/0/properties\",\n               \"type 2\\n\"\n               \"version_major 0\\n\"\n               \"version_minor 0\\n\"\n               \"node_from 1\\n\"\n               \"node_to 0\\n\"\n               \"weight 21\\n\"\n               \"min_latency 0\\n\"\n               \"max_latency 0\\n\"\n               \"min_bandwidth 0\\n\"\n               \"max_bandwidth 32000\\n\"\n               \"recommended_transfer_size 0\\n\"\n               \"recommended_sdma_engine_id_mask 0\\n\"\n               \"flags 0\\n\");\n\n    createDirectory(\"1/io_links/1\");\n    createFile(\"1/io_links/1/properties\",\n               \"type 11\\n\"\n               \"version_major 0\\n\"\n               \"version_minor 0\\n\"\n               \"node_from 1\\n\"\n               \"node_to 0\\n\"\n               \"weight 21\\n\"\n               \"min_latency 0\\n\"\n               \"max_latency 0\\n\"\n               \"min_bandwidth 0\\n\"\n               \"max_bandwidth 50000\\n\"\n               \"recommended_transfer_size 0\\n\"\n               \"recommended_sdma_engine_id_mask 0\\n\"\n               \"flags 0\\n\");\n\n    uint32_t invalid_dev_id = 9999; // Device ID that doesn't exist\n    createDirectory(std::to_string(invalid_dev_id) + \"/io_links/\");\n  }\n\n  // Common setup for all tests\n  void setupTestEnvironment() {\n    // Reset ARSMI state for test isolation\n    AltRsmiTestUtils::ResetState();\n\n    // Redirect kKFDNodesPathRoot to test directory\n    AltRsmiTestUtils::SetNodesPath(kTestKFDPath);\n\n    // Create the test directory structure\n    setupTestFiles();\n  }\n\n  // Common cleanup for all tests (not strictly necessary with process isolation,\n  // but good practice to clean up temp files)\n  void cleanupTestEnvironment() {\n    AltRsmiTestUtils::ResetState();\n    removeTestSandbox();\n  }\n\n} // anonymous namespace\n\n// Tests using process isolation for complete state isolation\nTEST(AltRsmiTest, ARSMIInitDefault) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIInitDefault\",\n    []() {\n      setupTestEnvironment();\n\n      int result = ARSMI_init();\n      ASSERT_EQ(result, 0);\n\n      // Verify that devices were discovered\n      uint32_t num_devices = 0;\n      ASSERT_EQ(ARSMI_get_num_devices(&num_devices), 0);\n      ASSERT_EQ(num_devices, 2);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ARSMIInitMissingIoLinksPropertiesFile) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIInitMissingIoLinksPropertiesFile\",\n    []() {\n      setupTestEnvironment();\n\n      // Remove properties file for io_links\n      removeFile(\"0/io_links/0/properties\");\n      removeFile(\"0/io_links/1/properties\");\n\n      int result = ARSMI_init();\n      ASSERT_EQ(result, 0);\n\n      // Should still initialize successfully even with missing link properties\n      uint32_t num_devices = 0;\n      ASSERT_EQ(ARSMI_get_num_devices(&num_devices), 0);\n      ASSERT_GT(num_devices, 0);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ARSMIInitMissingNodeToProperty) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIInitMissingNodeToProperty\",\n    []() {\n      setupTestEnvironment();\n\n      createFile(\"0/io_links/1/properties\",\n                 \"type 2\\n\"\n                 \"version_major 0\\n\"\n                 \"version_minor 0\\n\"\n                 \"node_from 0\\n\"\n                 // \"node_to 0\\n\"  // Missing node_to\n                 \"weight 21\\n\"\n                 \"min_latency 0\\n\"\n                 \"max_latency 0\\n\"\n                 \"min_bandwidth 0\\n\"\n                 \"max_bandwidth 64000\\n\"\n                 \"recommended_transfer_size 0\\n\"\n                 \"recommended_sdma_engine_id_mask 0\\n\"\n                 \"flags 0\\n\");\n\n      int result = ARSMI_init();\n      ASSERT_EQ(result, 0); // Expect success even with missing node_to\n\n      // Verify devices are still initialized\n      uint32_t num_devices = 0;\n      ASSERT_EQ(ARSMI_get_num_devices(&num_devices), 0);\n      ASSERT_GT(num_devices, 0);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ARSMIInitMissingWeightProperty) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIInitMissingWeightProperty\",\n    []() {\n      setupTestEnvironment();\n\n      createFile(\"0/io_links/1/properties\",\n                 \"type 2\\n\"\n                 \"version_major 0\\n\"\n                 \"version_minor 0\\n\"\n                 \"node_from 0\\n\"\n                 \"node_to 1\\n\"\n                 // \"weight 21\\n\"  // Missing weight\n                 \"min_latency 0\\n\"\n                 \"max_latency 0\\n\"\n                 \"min_bandwidth 0\\n\"\n                 \"max_bandwidth 64000\\n\"\n                 \"recommended_transfer_size 0\\n\"\n                 \"recommended_sdma_engine_id_mask 0\\n\"\n                 \"flags 0\\n\");\n\n      int result = ARSMI_init();\n      // returns 1 when weight property is missing\n      ASSERT_EQ(result, 1);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ARSMIInitMissingTypeProperty) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIInitMissingTypeProperty\",\n    []() {\n      setupTestEnvironment();\n\n      createFile(\"0/io_links/1/properties\",\n                 // \"type 5\\n\" // Missing type\n                 \"version_major 0\\n\"\n                 \"version_minor 0\\n\"\n                 \"node_from 0\\n\"\n                 \"node_to 1\\n\"\n                 \"weight 21\\n\"\n                 \"min_latency 0\\n\"\n                 \"max_latency 0\\n\"\n                 \"min_bandwidth 0\\n\"\n                 \"max_bandwidth 0\\n\"\n                 \"recommended_transfer_size 0\\n\"\n                 \"recommended_sdma_engine_id_mask 0\\n\"\n                 \"flags 0\\n\");\n\n      int result = ARSMI_init();\n      // returns 1 when type property is missing\n      ASSERT_EQ(result, 1);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ARSMIInitTypePCIeProperty) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIInitTypePCIeProperty\",\n    []() {\n      // Create a setup with ONLY PCIe links (type 2) to test PCIe specifically\n      removeTestSandbox();\n      createDirectory();\n\n      // Create node 0 with PCIe-only link to node 1\n      createDirectory(\"0\");\n      createFile(\"0/gpu_id\", \"4098\\n\");\n      createFile(\"0/properties\", \"unique_id 100\\n\"\n                                 \"location_id 23552\\n\"\n                                 \"domain 0\\n\"\n                                 \"vendor_id 4098\\n\");\n      createDirectory(\"0/io_links/0\");\n      createFile(\"0/io_links/0/properties\",\n                 \"type 2\\n\"  // PCIe type\n                 \"version_major 0\\n\"\n                 \"version_minor 0\\n\"\n                 \"node_from 0\\n\"\n                 \"node_to 1\\n\"\n                 \"weight 21\\n\"\n                 \"min_latency 0\\n\"\n                 \"max_latency 0\\n\"\n                 \"min_bandwidth 0\\n\"\n                 \"max_bandwidth 16000\\n\"\n                 \"recommended_transfer_size 0\\n\"\n                 \"recommended_sdma_engine_id_mask 0\\n\"\n                 \"flags 0\\n\");\n\n      // Create node 1 with PCIe-only link to node 0\n      createDirectory(\"1\");\n      createFile(\"1/gpu_id\", \"4098\\n\");\n      createFile(\"1/properties\", \"unique_id 101\\n\"\n                                 \"location_id 23553\\n\"\n                                 \"domain 1\\n\"\n                                 \"vendor_id 4098\\n\");\n      createDirectory(\"1/io_links/0\");\n      createFile(\"1/io_links/0/properties\",\n                 \"type 2\\n\"  // PCIe type\n                 \"version_major 0\\n\"\n                 \"version_minor 0\\n\"\n                 \"node_from 1\\n\"\n                 \"node_to 0\\n\"\n                 \"weight 21\\n\"\n                 \"min_latency 0\\n\"\n                 \"max_latency 0\\n\"\n                 \"min_bandwidth 0\\n\"\n                 \"max_bandwidth 16000\\n\"\n                 \"recommended_transfer_size 0\\n\"\n                 \"recommended_sdma_engine_id_mask 0\\n\"\n                 \"flags 0\\n\");\n\n      AltRsmiTestUtils::ResetState();\n      AltRsmiTestUtils::SetNodesPath(kTestKFDPath);\n\n      int result = ARSMI_init();\n      ASSERT_EQ(result, 0);\n\n      // Verify link info is correctly identified as PCIe\n      ARSMI_linkInfo info;\n      ASSERT_EQ(ARSMI_topo_get_link_info(0, 1, &info), 0);\n      ASSERT_EQ(info.type, ARSMI_IOLINK_TYPE_PCIEXPRESS);\n      ASSERT_EQ(info.src_node, 0);\n      ASSERT_EQ(info.dst_node, 1);\n      ASSERT_EQ(info.hops, 2);\n      ASSERT_EQ(info.weight, 21);\n      ASSERT_EQ(info.max_bandwidth, 16000);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ARSMIInitMissingMinBWProperty) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIInitMissingMinBWProperty\",\n    []() {\n      setupTestEnvironment();\n\n      createFile(\"0/io_links/1/properties\",\n                 \"type 11\\n\"\n                 \"version_major 0\\n\"\n                 \"version_minor 0\\n\"\n                 \"node_from 0\\n\"\n                 \"node_to 1\\n\"\n                 \"weight 21\\n\"\n                 \"min_latency 0\\n\"\n                 \"max_latency 0\\n\"\n                 // \"min_bandwidth 0\\n\"  // Missing min_bandwidth\n                 \"max_bandwidth 0\\n\"\n                 \"recommended_transfer_size 0\\n\"\n                 \"recommended_sdma_engine_id_mask 0\\n\"\n                 \"flags 0\\n\");\n\n      int result = ARSMI_init();\n      // returns 1 when min_bandwidth property is missing\n      ASSERT_EQ(result, 1);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ARSMIInitMissingMaxBWProperty) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIInitMissingMaxBWProperty\",\n    []() {\n      setupTestEnvironment();\n\n      createFile(\"0/io_links/1/properties\",\n                 \"type 5\\n\"\n                 \"version_major 0\\n\"\n                 \"version_minor 0\\n\"\n                 \"node_from 0\\n\"\n                 \"node_to 1\\n\"\n                 \"weight 21\\n\"\n                 \"min_latency 0\\n\"\n                 \"max_latency 0\\n\"\n                 \"min_bandwidth 0\\n\"\n                 // \"max_bandwidth 0\\n\"  // Missing max_bandwidth\n                 \"recommended_transfer_size 0\\n\"\n                 \"recommended_sdma_engine_id_mask 0\\n\"\n                 \"flags 0\\n\");\n\n      int result = ARSMI_init();\n      // returns 1 when max_bandwidth property is missing\n      ASSERT_EQ(result, 1);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ARSMIGetNumDevicesUninitialized) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIGetNumDevicesUninitialized\",\n    []() {\n      setupTestEnvironment();\n\n      // Verify ARSMI is uninitialized (ARSMI_num_devices == -1)\n      ASSERT_EQ(AltRsmiTestUtils::GetNumDevices(), -1);\n\n      // Don't call ARSMI_init, let ARSMI_get_num_devices initialize\n      uint32_t num_devices = 0;\n\n      int result = ARSMI_get_num_devices(&num_devices);\n\n      // Verify that the function initializes successfully\n      ASSERT_EQ(result, 0);\n\n      // Verify that auto-initialization occurred (ARSMI_num_devices >= 0)\n      ASSERT_GE(AltRsmiTestUtils::GetNumDevices(), 0);\n\n      // Verify that the number of devices is correctly set\n      ASSERT_EQ(num_devices, 2);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ARSMIDevPciIdGetNullBdfId) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIDevPciIdGetNullBdfId\",\n    []() {\n      setupTestEnvironment();\n\n      uint32_t device_index = 0;\n      int result = ARSMI_dev_pci_id_get(device_index, nullptr);\n\n      ASSERT_EQ(result, EINVAL);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ARSMIDevPciIdGetValid) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIDevPciIdGetValid\",\n    []() {\n      setupTestEnvironment();\n\n      uint32_t device_index = 0;\n      uint64_t bdfid = 0;\n\n      int result = ARSMI_dev_pci_id_get(device_index, &bdfid);\n\n      // Verify that the function succeeds\n      ASSERT_EQ(result, 0);\n      // BDF ID should be non-zero for valid devices\n      ASSERT_NE(bdfid, 0);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\n// Tests covering invalid file/directory scenarios through public API\nTEST(AltRsmiTest, ARSMIInitWithInvalidGpuIdData) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIInitWithInvalidGpuIdData\",\n    []() {\n      // Create a gpu_id file with invalid (non-numeric) data\n      removeTestSandbox();\n      createDirectory();\n      createDirectory(\"0\");\n      createFile(\"0/gpu_id\", \"invalid_gpu_id\");\n      createFile(\"0/properties\", \"unique_id 12345\\n\"\n                                 \"location_id 23552\\n\"\n                                 \"domain 0\\n\"\n                                 \"vendor_id 4098\\n\");\n\n      AltRsmiTestUtils::ResetState();\n      AltRsmiTestUtils::SetNodesPath(kTestKFDPath);\n\n      int result = ARSMI_init();\n\n      // Init should handle invalid gpu_id gracefully\n      ASSERT_EQ(result, 0);\n\n      // Should not discover any devices with invalid gpu_id\n      uint32_t num_devices = 0;\n      ASSERT_EQ(ARSMI_get_num_devices(&num_devices), 0);\n      ASSERT_EQ(num_devices, 0);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ARSMIInitWithEmptyPropertiesFile) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIInitWithEmptyPropertiesFile\",\n    []() {\n      // Create an empty properties file\n      removeTestSandbox();\n      createDirectory();\n      createDirectory(\"0\");\n      createFile(\"0/gpu_id\", \"4098\\n\");\n      createFile(\"0/properties\", \"\");\n\n      AltRsmiTestUtils::ResetState();\n      AltRsmiTestUtils::SetNodesPath(kTestKFDPath);\n\n      int result = ARSMI_init();\n\n      // Should succeed but not discover devices with empty properties\n      ASSERT_EQ(result, 0);\n\n      uint32_t num_devices = 0;\n      ASSERT_EQ(ARSMI_get_num_devices(&num_devices), 0);\n      ASSERT_EQ(num_devices, 0);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ARSMIInitWithDirectoryInsteadOfPropertiesFile) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIInitWithDirectoryInsteadOfPropertiesFile\",\n    []() {\n      // Create a directory instead of properties file\n      removeTestSandbox();\n      createDirectory();\n      createDirectory(\"0\");\n      createFile(\"0/gpu_id\", \"4098\\n\");\n      createDirectory(\"0/properties\");\n\n      AltRsmiTestUtils::ResetState();\n      AltRsmiTestUtils::SetNodesPath(kTestKFDPath);\n\n      int result = ARSMI_init();\n\n      // Should handle this gracefully\n      ASSERT_EQ(result, 0);\n\n      uint32_t num_devices = 0;\n      ASSERT_EQ(ARSMI_get_num_devices(&num_devices), 0);\n      ASSERT_EQ(num_devices, 0);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ARSMIInitWithMissingVendorId) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIInitWithMissingVendorId\",\n    []() {\n      // Create node without vendor_id\n      removeTestSandbox();\n      createDirectory();\n      createDirectory(\"0\");\n      createFile(\"0/gpu_id\", \"4098\\n\");\n      createFile(\"0/properties\", \"unique_id 12345\\n\"\n                                 \"location_id 23552\\n\"\n                                 \"domain 0\\n\");\n                                 // Missing vendor_id\n\n      AltRsmiTestUtils::ResetState();\n      AltRsmiTestUtils::SetNodesPath(kTestKFDPath);\n\n      int result = ARSMI_init();\n      ASSERT_EQ(result, 0);\n\n      // Should not discover devices without vendor_id\n      uint32_t num_devices = 0;\n      ASSERT_EQ(ARSMI_get_num_devices(&num_devices), 0);\n      ASSERT_EQ(num_devices, 0);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ARSMIInitWithNonAMDVendorId) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIInitWithNonAMDVendorId\",\n    []() {\n      // Create node with non-AMD vendor_id\n      removeTestSandbox();\n      createDirectory();\n      createDirectory(\"0\");\n      createFile(\"0/gpu_id\", \"4098\\n\");\n      createFile(\"0/properties\", \"unique_id 12345\\n\"\n                                 \"location_id 23552\\n\"\n                                 \"domain 0\\n\"\n                                 \"vendor_id 0x10DE\\n\"); // NVIDIA vendor ID\n\n      AltRsmiTestUtils::ResetState();\n      AltRsmiTestUtils::SetNodesPath(kTestKFDPath);\n\n      int result = ARSMI_init();\n      ASSERT_EQ(result, 0);\n\n      // Should not discover non-AMD devices\n      uint32_t num_devices = 0;\n      ASSERT_EQ(ARSMI_get_num_devices(&num_devices), 0);\n      ASSERT_EQ(num_devices, 0);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ARSMIInitWithEmptyLinkPropertiesFile) {\n  RUN_ISOLATED_TEST(\n    \"ARSMIInitWithEmptyLinkPropertiesFile\",\n    []() {\n      setupTestEnvironment();\n\n      // Create setup but with empty link properties\n      createFile(\"0/io_links/0/properties\", \"\");\n\n      int result = ARSMI_init();\n\n      // Should still initialize, just skip that link\n      ASSERT_EQ(result, 0);\n\n      uint32_t num_devices = 0;\n      ASSERT_EQ(ARSMI_get_num_devices(&num_devices), 0);\n      ASSERT_GT(num_devices, 0);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, NullInfoPointer) {\n  RUN_ISOLATED_TEST(\n    \"NullInfoPointer\",\n    []() {\n      setupTestEnvironment();\n\n      int result = ARSMI_topo_get_link_info(0, 1, nullptr);\n      ASSERT_EQ(result, EINVAL); // Expect EINVAL for null `info` pointer\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, SourceDeviceIndexOutOfRange) {\n  RUN_ISOLATED_TEST(\n    \"SourceDeviceIndexOutOfRange\",\n    []() {\n      setupTestEnvironment();\n\n      ARSMI_linkInfo info;\n      // First initialize\n      ASSERT_EQ(ARSMI_init(), 0);\n\n      int result = ARSMI_topo_get_link_info(999, 1, &info); // Invalid source index\n      ASSERT_EQ(result, EINVAL); // Expect EINVAL for out-of-range source index\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, DestinationDeviceIndexOutOfRange) {\n  RUN_ISOLATED_TEST(\n    \"DestinationDeviceIndexOutOfRange\",\n    []() {\n      setupTestEnvironment();\n\n      ARSMI_linkInfo info;\n      // First initialize\n      ASSERT_EQ(ARSMI_init(), 0);\n\n      int result = ARSMI_topo_get_link_info(0, 999, &info); // Invalid destination index\n      ASSERT_EQ(result, EINVAL); // Expect EINVAL for out-of-range destination index\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, LinkInfoAutoInitializes) {\n  RUN_ISOLATED_TEST(\n    \"LinkInfoAutoInitializes\",\n    []() {\n      setupTestEnvironment();\n\n      // Test that ARSMI_topo_get_link_info auto-initializes if not already initialized\n      ARSMI_linkInfo info;\n      int result = ARSMI_topo_get_link_info(0, 0, &info);\n\n      // Should succeed - auto-initialization should work with test data\n      ASSERT_EQ(result, 0);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ValidLinkInfoBetweenDevices) {\n  RUN_ISOLATED_TEST(\n    \"ValidLinkInfoBetweenDevices\",\n    []() {\n      setupTestEnvironment();\n\n      // Initialize the system\n      ASSERT_EQ(ARSMI_init(), 0);\n\n      ARSMI_linkInfo info;\n      int result = ARSMI_topo_get_link_info(0, 1, &info);\n\n      // Should succeed\n      ASSERT_EQ(result, 0);\n\n      // Verify link info contains reasonable values\n      ASSERT_EQ(info.src_node, 0);\n      ASSERT_EQ(info.dst_node, 1);\n      // Type should be XGMI (type 11 in properties)\n      ASSERT_EQ(info.type, ARSMI_IOLINK_TYPE_XGMI);\n      ASSERT_EQ(info.hops, 1);\n      ASSERT_EQ(info.weight, 21);\n      ASSERT_EQ(info.min_bandwidth, 0);\n      ASSERT_EQ(info.max_bandwidth, 50000);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, ValidLinkInfoSelfLink) {\n  RUN_ISOLATED_TEST(\n    \"ValidLinkInfoSelfLink\",\n    []() {\n      setupTestEnvironment();\n\n      // Initialize the system\n      ASSERT_EQ(ARSMI_init(), 0);\n\n      ARSMI_linkInfo info;\n      int result = ARSMI_topo_get_link_info(0, 0, &info);\n\n      // Should succeed - even self-links should return default values\n      ASSERT_EQ(result, 0);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\n// TODO(alt_rsmi.cc): The current behavior of ARSMI_topo_get_link_info is questionable.\n// When no direct link exists between devices, it silently returns success with\n// fabricated default values (PCIe, 2 hops, weight 40). This can mislead callers\n// into thinking a real link exists. The implementation should return an error\n// code (e.g., ENOENT) when no link is defined. Once fixed, this test should be\n// updated to verify the new behavior.\nTEST(AltRsmiTest, LinkInfoWithNoDirectConnection) {\n  RUN_ISOLATED_TEST(\n    \"LinkInfoWithNoDirectConnection\",\n    []() {\n      // Setup with 2 nodes where they don't have direct XGMI connection\n      removeTestSandbox();\n      createDirectory();\n\n      // Create node 0\n      createDirectory(\"0\");\n      createFile(\"0/gpu_id\", \"4098\\n\");\n      createFile(\"0/properties\",\n                 \"unique_id 100\\n\"\n                 \"location_id 23552\\n\"\n                 \"domain 0\\n\"\n                 \"vendor_id 4098\\n\");\n      // Create empty io_links directory (no actual links defined)\n      createDirectory(\"0/io_links\");\n\n      // Create node 1\n      createDirectory(\"1\");\n      createFile(\"1/gpu_id\", \"4098\\n\");\n      createFile(\"1/properties\",\n                 \"unique_id 101\\n\"\n                 \"location_id 23553\\n\"\n                 \"domain 1\\n\"\n                 \"vendor_id 4098\\n\");\n      // Create empty io_links directory (no actual links defined)\n      createDirectory(\"1/io_links\");\n\n      AltRsmiTestUtils::ResetState();\n      AltRsmiTestUtils::SetNodesPath(kTestKFDPath);\n\n      ASSERT_EQ(ARSMI_init(), 0);\n\n      uint32_t num_devices = 0;\n      ASSERT_EQ(ARSMI_get_num_devices(&num_devices), 0);\n      ASSERT_EQ(num_devices, 2);\n\n      // Try to get link info between the two devices (no direct link defined)\n      ARSMI_linkInfo info;\n      int result = ARSMI_topo_get_link_info(0, 1, &info);\n\n      // Should succeed but return default values since no io_links are defined\n      ASSERT_EQ(result, 0);\n\n      // When no direct link exists, src_node and dst_node remain as UINT_MAX\n      ASSERT_EQ(info.src_node, std::numeric_limits<unsigned>::max());\n      ASSERT_EQ(info.dst_node, std::numeric_limits<unsigned>::max());\n\n      // Default values set\n      ASSERT_EQ(info.hops, 2); // Default hops\n      ASSERT_EQ(info.type, ARSMI_IOLINK_TYPE_PCIEXPRESS); // Default type\n      ASSERT_EQ(info.weight, 40); // Default weight\n      ASSERT_EQ(info.min_bandwidth, 0); // Default min_bandwidth\n      ASSERT_EQ(info.max_bandwidth, 0); // Default max_bandwidth\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, MultipleDevicesWithXGMILinks) {\n  RUN_ISOLATED_TEST(\n    \"MultipleDevicesWithXGMILinks\",\n    []() {\n      setupTestEnvironment();\n\n      // Test XGMI link type (type 11)\n      ASSERT_EQ(ARSMI_init(), 0);\n\n      uint32_t num_devices = 0;\n      ASSERT_EQ(ARSMI_get_num_devices(&num_devices), 0);\n      ASSERT_EQ(num_devices, 2);\n\n      // Get link info for XGMI connection\n      ARSMI_linkInfo info;\n      ASSERT_EQ(ARSMI_topo_get_link_info(0, 1, &info), 0);\n\n      // Verify XGMI properties\n      ASSERT_EQ(info.type, ARSMI_IOLINK_TYPE_XGMI);\n      ASSERT_EQ(info.hops, 1);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, LinkTypeUndefined) {\n  RUN_ISOLATED_TEST(\n    \"LinkTypeUndefined\",\n    []() {\n      setupTestEnvironment();\n\n      // Remove existing links and create setup with only undefined link type\n      removeFile(\"0/io_links/0/properties\");\n      removeFile(\"0/io_links/1/properties\");\n      removeFile(\"1/io_links/0/properties\");\n      removeFile(\"1/io_links/1/properties\");\n\n      // Create link with undefined type (must be read last to not be overwritten)\n      createDirectory(\"0/io_links/2\");\n      createFile(\"0/io_links/2/properties\",\n                 \"type 99\\n\"  // Undefined type (not 2 or 11)\n                 \"version_major 0\\n\"\n                 \"version_minor 0\\n\"\n                 \"node_from 0\\n\"\n                 \"node_to 1\\n\"\n                 \"weight 21\\n\"\n                 \"min_latency 0\\n\"\n                 \"max_latency 0\\n\"\n                 \"min_bandwidth 0\\n\"\n                 \"max_bandwidth 50000\\n\"\n                 \"recommended_transfer_size 0\\n\"\n                 \"recommended_sdma_engine_id_mask 0\\n\"\n                 \"flags 0\\n\");\n\n      ASSERT_EQ(ARSMI_init(), 0);\n\n      ARSMI_linkInfo info;\n      ASSERT_EQ(ARSMI_topo_get_link_info(0, 1, &info), 0);\n\n      // Should have undefined type\n      ASSERT_EQ(info.type, ARSMI_IOLINK_TYPE_UNDEFINED);\n      ASSERT_EQ(info.hops, 0);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, DeviceOrderingByBDF) {\n  RUN_ISOLATED_TEST(\n    \"DeviceOrderingByBDF\",\n    []() {\n      setupTestEnvironment();\n\n      // Test that devices are ordered by BDF correctly\n      ASSERT_EQ(ARSMI_init(), 0);\n\n      uint32_t num_devices = 0;\n      ASSERT_EQ(ARSMI_get_num_devices(&num_devices), 0);\n      ASSERT_EQ(num_devices, 2);\n\n      // Get BDF for both devices\n      uint64_t bdf0 = 0, bdf1 = 0;\n      ASSERT_EQ(ARSMI_dev_pci_id_get(0, &bdf0), 0);\n      ASSERT_EQ(ARSMI_dev_pci_id_get(1, &bdf1), 0);\n\n      // BDFs should be ordered (lower BDF first)\n      // Based on test data: node0 (domain=0, location_id=23552) comes before\n      // node1 (domain=1, location_id=23553)\n      ASSERT_LT(bdf0, bdf1);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, FileExistsCheck) {\n  RUN_ISOLATED_TEST(\n    \"FileExistsCheck\",\n    []() {\n      // Test fileExists() indirectly by verifying behavior when files don't exist\n      // This covers the fileExists(char const*) internal function\n\n      removeTestSandbox();\n      createDirectory();\n\n      // Scenario 1: Node with missing gpu_id file - should be skipped\n      createDirectory(\"0\");\n      // Don't create gpu_id file - fileExists() will return false for it\n      createFile(\"0/properties\",\n                 \"unique_id 100\\n\"\n                 \"location_id 23552\\n\"\n                 \"domain 0\\n\"\n                 \"vendor_id 4098\\n\");\n      createDirectory(\"0/io_links\");\n\n      // Scenario 2: Node with missing properties file - should be skipped\n      createDirectory(\"1\");\n      createFile(\"1/gpu_id\", \"4098\\n\");\n      // Don't create properties file - fileExists() will return false for it\n      createDirectory(\"1/io_links\");\n\n      // Scenario 3: Complete valid node\n      createDirectory(\"2\");\n      createFile(\"2/gpu_id\", \"4098\\n\");\n      createFile(\"2/properties\",\n                 \"unique_id 102\\n\"\n                 \"location_id 23554\\n\"\n                 \"domain 2\\n\"\n                 \"vendor_id 4098\\n\");\n      createDirectory(\"2/io_links\");\n\n      AltRsmiTestUtils::ResetState();\n      AltRsmiTestUtils::SetNodesPath(kTestKFDPath);\n\n      ASSERT_EQ(ARSMI_init(), 0);\n\n      // Only the complete node should be discovered (fileExists filtered out the others)\n      uint32_t num_devices = 0;\n      ASSERT_EQ(ARSMI_get_num_devices(&num_devices), 0);\n      ASSERT_EQ(num_devices, 1);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\nTEST(AltRsmiTest, BDFSortingLambda) {\n  RUN_ISOLATED_TEST(\n    \"BDFSortingLambda\",\n    []() {\n      // Test the BDF sorting lambda comparator in ARSMI_init()\n      // The lambda at line 183-186 sorts devices with the SAME unique_id by BDF\n      // Create multiple partitions (same unique_id) with different BDF values in REVERSE order\n      removeTestSandbox();\n      createDirectory();\n\n      // Create 4 nodes with the SAME unique_id but different location_ids (which affects BDF)\n      // to exercise the lambda that sorts within the same unique_id group\n      const std::string same_unique_id = \"12345678901234567890\";\n\n      // Node 0: Highest BDF (will need to be moved to end by lambda)\n      createDirectory(\"0\");\n      createFile(\"0/gpu_id\", \"4098\\n\");\n      createFile(\"0/properties\",\n                 \"unique_id \" + same_unique_id + \"\\n\"\n                 \"location_id 4294967040\\n\"  // Very high value for high BDF\n                 \"domain 3\\n\"\n                 \"vendor_id 4098\\n\");\n      createDirectory(\"0/io_links\");\n\n      // Node 1: Second highest BDF\n      createDirectory(\"1\");\n      createFile(\"1/gpu_id\", \"4098\\n\");\n      createFile(\"1/properties\",\n                 \"unique_id \" + same_unique_id + \"\\n\"\n                 \"location_id 16777216\\n\"\n                 \"domain 2\\n\"\n                 \"vendor_id 4098\\n\");\n      createDirectory(\"1/io_links\");\n\n      // Node 2: Second lowest BDF\n      createDirectory(\"2\");\n      createFile(\"2/gpu_id\", \"4098\\n\");\n      createFile(\"2/properties\",\n                 \"unique_id \" + same_unique_id + \"\\n\"\n                 \"location_id 65536\\n\"\n                 \"domain 1\\n\"\n                 \"vendor_id 4098\\n\");\n      createDirectory(\"2/io_links\");\n\n      // Node 3: Lowest BDF (should be sorted to first by lambda)\n      createDirectory(\"3\");\n      createFile(\"3/gpu_id\", \"4098\\n\");\n      createFile(\"3/properties\",\n                 \"unique_id \" + same_unique_id + \"\\n\"\n                 \"location_id 256\\n\"\n                 \"domain 0\\n\"\n                 \"vendor_id 4098\\n\");\n      createDirectory(\"3/io_links\");\n\n      AltRsmiTestUtils::ResetState();\n      AltRsmiTestUtils::SetNodesPath(kTestKFDPath);\n\n      ASSERT_EQ(ARSMI_init(), 0);\n\n      // All 4 nodes have the same unique_id, so they're all partitions of the same device\n      // ARSMI_num_devices counts unique devices, but ARSMI_orderedNodes has all partitions\n      uint32_t num_devices = 0;\n      ASSERT_EQ(ARSMI_get_num_devices(&num_devices), 0);\n      ASSERT_EQ(num_devices, 4);  // All 4 partitions should be counted\n\n      // Access ARSMI_orderedNodes directly to verify the lambda sorted by s_bdf\n      ASSERT_EQ(ARSMI_orderedNodes.size(), 4);\n\n      // The lambda should have sorted these by s_bdf within the unique_id group\n      // Verify ascending order\n      ASSERT_LT(ARSMI_orderedNodes[0].s_bdf, ARSMI_orderedNodes[1].s_bdf);\n      ASSERT_LT(ARSMI_orderedNodes[1].s_bdf, ARSMI_orderedNodes[2].s_bdf);\n      ASSERT_LT(ARSMI_orderedNodes[2].s_bdf, ARSMI_orderedNodes[3].s_bdf);\n\n      // Verify the sort reordered them: node 3 should be first (lowest BDF)\n      ASSERT_EQ(ARSMI_orderedNodes[0].s_node_id, 3);  // Node 3 has domain 0, location 256\n      ASSERT_EQ(ARSMI_orderedNodes[1].s_node_id, 2);  // Node 2 has domain 1, location 65536\n      ASSERT_EQ(ARSMI_orderedNodes[2].s_node_id, 1);  // Node 1 has domain 2, location 16777216\n      ASSERT_EQ(ARSMI_orderedNodes[3].s_node_id, 0);  // Node 0 has domain 3, location 4294967040\n\n      // Verify they all have the same unique_id\n      ASSERT_EQ(ARSMI_orderedNodes[0].s_unique_id, ARSMI_orderedNodes[1].s_unique_id);\n      ASSERT_EQ(ARSMI_orderedNodes[1].s_unique_id, ARSMI_orderedNodes[2].s_unique_id);\n      ASSERT_EQ(ARSMI_orderedNodes[2].s_unique_id, ARSMI_orderedNodes[3].s_unique_id);\n\n      cleanupTestEnvironment();\n    }\n  );\n}\n\n} // namespace RcclUnitTesting\n"
  },
  {
    "path": "test/ArgCheckTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include <gtest/gtest.h>\n#include <hip/hip_runtime.h>\n\n#include \"argcheck.h\"\n#include \"comm.h\"\n#include \"common/ErrCode.hpp\"\n#include \"common/ProcessIsolatedTestRunner.hpp\"\n\n// Helper struct for ArgCheck tests (NOT a fixture - used inside isolated tests)\nstruct ArgCheckTestEnvironment\n{\n    ncclComm_t       comm;\n    struct ncclInfo* info;\n    int*             sendDevicePtr = nullptr;\n    int*             recvDevicePtr = nullptr;\n\n    // Helper function to set up valid ncclInfo for boundary testing\n    void SetupValidInfo()\n    {\n        // Set up valid info structure\n        info->comm     = comm;\n        info->root     = 0;                 // Valid root\n        info->datatype = (ncclDataType_t)0; // Valid datatype\n        info->op       = (ncclRedOp_t)0;    // Valid reduction operation\n        info->coll     = ncclFuncBroadcast; // Valid collective operation\n        info->sendbuff = nullptr;           // Will be set per test if needed\n        info->recvbuff = nullptr;           // Will be set per test if needed\n        info->count    = 10;                // Valid count\n        info->opName   = \"TestOp\";          // Valid operation name\n    }\n\n    // Helper function for tests requiring device memory\n    void SetupValidBufferWithDeviceMemory()\n    {\n        // Set the active device to match comm->cudaDev\n        hipError_t errSetDevice = hipSetDevice(comm->cudaDev);\n        ASSERT_EQ(errSetDevice, hipSuccess);\n\n        // Allocate device memory\n        hipError_t errSend = hipMalloc(&sendDevicePtr, sizeof(int));\n        ASSERT_EQ(errSend, hipSuccess);\n        hipError_t errRecv = hipMalloc(&recvDevicePtr, sizeof(int));\n        ASSERT_EQ(errRecv, hipSuccess);\n\n        // Set device pointers\n        info->sendbuff = sendDevicePtr;\n        info->recvbuff = recvDevicePtr;\n    }\n\n    // Helper to clean up device memory\n    void CleanupDeviceMemory()\n    {\n        if(sendDevicePtr)\n        {\n            hipFree(sendDevicePtr);\n            sendDevicePtr = nullptr;\n        }\n        if(recvDevicePtr)\n        {\n            hipFree(recvDevicePtr);\n            recvDevicePtr = nullptr;\n        }\n    }\n\n    void setup()\n    {\n        // Allocate and zero-initialize ncclComm as a pointer\n        comm = (struct ncclComm*)calloc(1, sizeof(struct ncclComm));\n        ASSERT_NE(comm, nullptr) << \"Failed to allocate ncclComm\";\n\n        // Initialize the communicator with required fields\n        comm->cudaDev       = 0;\n        comm->nRanks        = 4;\n        comm->checkPointers = true;\n        comm->rank          = 0;\n\n        comm->startMagic = NCCL_MAGIC;\n        comm->endMagic   = NCCL_MAGIC;\n\n        // Verify the magic values were set correctly\n        ASSERT_EQ(comm->startMagic, NCCL_MAGIC) << \"startMagic not set correctly\";\n        ASSERT_EQ(comm->endMagic, NCCL_MAGIC) << \"endMagic not set correctly\";\n\n        // Allocate and zero-initialize ncclInfo as a pointer\n        info = (ncclInfo*)calloc(1, sizeof(ncclInfo));\n        ASSERT_NE(info, nullptr) << \"Failed to allocate ncclInfo\";\n\n        SetupValidInfo();\n\n        SetupValidBufferWithDeviceMemory();\n    }\n\n    void cleanup()\n    {\n        // Free the allocated memory\n        CleanupDeviceMemory();\n        if(info)\n        {\n            free(info);\n            info = nullptr;\n        }\n        if(comm)\n        {\n            free(comm);\n            comm = nullptr;\n        }\n    }\n};\n\nTEST(ArgCheckTest, CudaPtrCheck_ValidPointer)\n{\n    RUN_ISOLATED_TEST(\n        \"CudaPtrCheck_ValidPointer\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            int*       devicePtr = nullptr;\n            hipError_t err       = hipMalloc(&devicePtr, sizeof(int));\n            ASSERT_EQ(err, hipSuccess);\n\n            ncclResult_t result = CudaPtrCheck(devicePtr, env.comm, \"devicePtr\", \"TestOp\");\n            EXPECT_EQ(result, ncclSuccess);\n\n            hipFree(devicePtr);\n            env.cleanup();\n            INFO(\"Test 'CudaPtrCheck_ValidPointer' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, CudaPtrCheck_NullPointer)\n{\n    RUN_ISOLATED_TEST(\n        \"CudaPtrCheck_NullPointer\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            ncclResult_t result = CudaPtrCheck(nullptr, env.comm, \"invalidPtr\", \"TestOp\");\n            EXPECT_EQ(result, ncclInvalidArgument);\n\n            env.cleanup();\n            INFO(\"Test 'CudaPtrCheck_NullPointer' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, CudaPtrCheck_DifferentDevicePointer)\n{\n    RUN_ISOLATED_TEST(\n        \"CudaPtrCheck_DifferentDevicePointer\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            int* devicePtr = nullptr;\n            hipSetDevice(1);\n            hipError_t err = hipMalloc(&devicePtr, sizeof(int));\n            ASSERT_EQ(err, hipSuccess);\n\n            ncclResult_t result = CudaPtrCheck(devicePtr, env.comm, \"devicePtr\", \"TestOp\");\n            EXPECT_EQ(result, ncclInvalidArgument);\n\n            hipFree(devicePtr);\n            hipSetDevice(env.comm->cudaDev);\n\n            env.cleanup();\n            INFO(\"Test 'CudaPtrCheck_DifferentDevicePointer' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, CudaPtrCheck_HostMemoryPointer)\n{\n    RUN_ISOLATED_TEST(\n        \"CudaPtrCheck_HostMemoryPointer\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            // Test with host memory instead of device memory\n            int* hostPtr = (int*)malloc(sizeof(int));\n            ASSERT_NE(hostPtr, nullptr) << \"Failed to allocate host memory\";\n\n            *hostPtr = 42; // Initialize the memory\n\n            // This should fail because host memory is not device memory\n            ncclResult_t result = CudaPtrCheck(hostPtr, env.comm, \"hostPtr\", \"TestOp\");\n\n            // Host memory should be rejected by CudaPtrCheck\n            EXPECT_EQ(result, ncclInvalidArgument)\n                << \"Host memory should be rejected by CudaPtrCheck\";\n\n            free(hostPtr);\n\n            env.cleanup();\n            INFO(\"Test 'CudaPtrCheck_HostMemoryPointer' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, PtrCheck_ValidPointer)\n{\n    RUN_ISOLATED_TEST(\n        \"PtrCheck_ValidPointer\",\n        []()\n        {\n            int          value  = 42;\n            ncclResult_t result = PtrCheck(&value, \"TestOp\", \"value\");\n            ASSERT_EQ(result, ncclSuccess);\n            INFO(\"Test 'PtrCheck_ValidPointer' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, PtrCheck_NullPointer)\n{\n    RUN_ISOLATED_TEST(\n        \"PtrCheck_NullPointer\",\n        []()\n        {\n            ncclResult_t result = PtrCheck(nullptr, \"TestOp\", \"value\");\n            ASSERT_EQ(result, ncclInvalidArgument);\n            INFO(\"Test 'PtrCheck_NullPointer' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, CommCheck_ValidComm)\n{\n    RUN_ISOLATED_TEST(\n        \"CommCheck_ValidComm\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            env.comm->startMagic = NCCL_MAGIC;\n            env.comm->endMagic   = NCCL_MAGIC;\n\n            // Verify magic values are still correct (should be set in setup())\n            ASSERT_EQ(env.comm->startMagic, NCCL_MAGIC) << \"startMagic was corrupted\";\n            ASSERT_EQ(env.comm->endMagic, NCCL_MAGIC) << \"endMagic was corrupted\";\n\n            // Call CommCheck and verify the result\n            ncclResult_t result = CommCheck(env.comm, \"TestOp\", \"testComm\");\n            EXPECT_EQ(result, ncclSuccess) << \"Failed for valid communicator\";\n\n            env.cleanup();\n            INFO(\"Test 'CommCheck_ValidComm' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, CommCheck_NullComm)\n{\n    RUN_ISOLATED_TEST(\n        \"CommCheck_NullComm\",\n        []()\n        {\n            ncclResult_t result = CommCheck(nullptr, \"TestOp\", \"comm\");\n            ASSERT_EQ(result, ncclInvalidArgument);\n            INFO(\"Test 'CommCheck_NullComm' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, CommCheck_CorruptedStartMagic)\n{\n    RUN_ISOLATED_TEST(\n        \"CommCheck_CorruptedStartMagic\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            // Corrupt only startMagic, keep endMagic valid\n            env.comm->startMagic = 1;          // Corrupt startMagic\n            env.comm->endMagic   = NCCL_MAGIC; // Keep endMagic valid\n\n            // Call CommCheck and verify the result\n            ncclResult_t result = CommCheck(env.comm, \"TestOp\", \"comm\");\n            EXPECT_EQ(result, ncclInvalidArgument) << \"Failed for corrupted startMagic\";\n\n            env.cleanup();\n            INFO(\"Test 'CommCheck_CorruptedStartMagic' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, CommCheck_CorruptedEndMagic)\n{\n    RUN_ISOLATED_TEST(\n        \"CommCheck_CorruptedEndMagic\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            // Keep startMagic valid, corrupt only endMagic\n            env.comm->startMagic = NCCL_MAGIC; // Keep startMagic valid\n            env.comm->endMagic   = 1;          // Corrupt endMagic\n\n            // Call CommCheck and verify the result\n            ncclResult_t result = CommCheck(env.comm, \"TestOp\", \"comm\");\n            EXPECT_EQ(result, ncclInvalidArgument) << \"Failed for corrupted endMagic\";\n\n            env.cleanup();\n            INFO(\"Test 'CommCheck_CorruptedEndMagic' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, CommCheck_CorruptedBothMagics)\n{\n    RUN_ISOLATED_TEST(\n        \"CommCheck_CorruptedBothMagics\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            // Corrupt both startMagic and endMagic\n            env.comm->startMagic = 1; // Corrupt startMagic\n            env.comm->endMagic   = 1; // Corrupt endMagic\n\n            // Call CommCheck and verify the result\n            ncclResult_t result = CommCheck(env.comm, \"TestOp\", \"comm\");\n            EXPECT_EQ(result, ncclInvalidArgument) << \"Failed for corrupted both magic values\";\n\n            env.cleanup();\n            INFO(\"Test 'CommCheck_CorruptedBothMagics' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, ArgsCheck_InvalidRoot_NegativeValue)\n{\n    RUN_ISOLATED_TEST(\n        \"ArgsCheck_InvalidRoot_NegativeValue\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            env.info->root = -1; // Invalid root (< 0)\n\n            ncclResult_t result = ArgsCheck(env.info);\n            EXPECT_EQ(result, ncclInvalidArgument) << \"Failed for invalid root < 0\";\n\n            env.cleanup();\n            INFO(\"Test 'ArgsCheck_InvalidRoot_NegativeValue' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, ArgsCheck_InvalidRoot_ExceedsNRanks)\n{\n    RUN_ISOLATED_TEST(\n        \"ArgsCheck_InvalidRoot_ExceedsNRanks\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            env.info->root = env.comm->nRanks; // Invalid root (>= nRanks)\n\n            ncclResult_t result = ArgsCheck(env.info);\n            EXPECT_EQ(result, ncclInvalidArgument) << \"Failed for invalid root >= nRanks\";\n\n            env.cleanup();\n            INFO(\"Test 'ArgsCheck_InvalidRoot_ExceedsNRanks' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, ArgsCheck_InvalidDatatype_NegativeValue)\n{\n    RUN_ISOLATED_TEST(\n        \"ArgsCheck_InvalidDatatype_NegativeValue\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            env.info->datatype = (ncclDataType_t)-1; // Invalid datatype (< 0)\n\n            ncclResult_t result = ArgsCheck(env.info);\n            EXPECT_EQ(result, ncclInvalidArgument) << \"Failed for invalid datatype < 0\";\n\n            env.cleanup();\n            INFO(\"Test 'ArgsCheck_InvalidDatatype_NegativeValue' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, ArgsCheck_InvalidDatatype_ExceedsMaxValue)\n{\n    RUN_ISOLATED_TEST(\n        \"ArgsCheck_InvalidDatatype_ExceedsMaxValue\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            env.info->datatype = (ncclDataType_t)ncclNumTypes; // Invalid datatype (>= ncclNumTypes)\n\n            ncclResult_t result = ArgsCheck(env.info);\n            EXPECT_EQ(result, ncclInvalidArgument) << \"Failed for invalid datatype >= ncclNumTypes\";\n\n            env.cleanup();\n            INFO(\"Test 'ArgsCheck_InvalidDatatype_ExceedsMaxValue' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, ArgsCheck_InvalidReductionOperation_NegativeValue)\n{\n    RUN_ISOLATED_TEST(\n        \"ArgsCheck_InvalidReductionOperation_NegativeValue\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            env.info->op = (ncclRedOp_t)-1; // Invalid reduction operation (< 0)\n\n            ncclResult_t result = ArgsCheck(env.info);\n            EXPECT_EQ(result, ncclInvalidArgument) << \"Failed for invalid reduction operation < 0\";\n\n            env.cleanup();\n            INFO(\"Test 'ArgsCheck_InvalidReductionOperation_NegativeValue' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, ArgsCheck_InvalidReductionOperation_ExceedsMaxValue)\n{\n    RUN_ISOLATED_TEST(\n        \"ArgsCheck_InvalidReductionOperation_ExceedsMaxValue\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            env.info->op = (ncclRedOp_t)ncclNumOps; // Invalid reduction operation (>= ncclNumOps)\n\n            ncclResult_t result = ArgsCheck(env.info);\n            EXPECT_EQ(result, ncclInvalidArgument)\n                << \"Failed for invalid reduction operation >= ncclNumOps\";\n\n            env.cleanup();\n            INFO(\"Test 'ArgsCheck_InvalidReductionOperation_ExceedsMaxValue' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, ArgsCheck_InvalidCommunicatorPointers)\n{\n    RUN_ISOLATED_TEST(\n        \"ArgsCheck_InvalidCommunicatorPointers\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            env.info->op = (ncclRedOp_t)0; // Valid reduction operation\n            if(env.info->sendbuff)\n            {\n                hipFree((void*)env.info->sendbuff);\n                env.info->sendbuff = nullptr; // Invalid send buffer\n            }\n            if(env.info->recvbuff)\n            {\n                hipFree((void*)env.info->recvbuff);\n                env.info->recvbuff = nullptr; // Invalid receive buffer\n            }\n\n            ncclResult_t result = ArgsCheck(env.info);\n            EXPECT_EQ(result, ncclInvalidArgument) << \"Failed for invalid communicator pointers\";\n\n            env.cleanup();\n            INFO(\"Test 'ArgsCheck_InvalidCommunicatorPointers' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, ArgsCheck_InvalidReductionOperationOutOfRange)\n{\n    RUN_ISOLATED_TEST(\n        \"ArgsCheck_InvalidReductionOperationOutOfRange\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            env.info->op = (ncclRedOp_t)5; // Invalid reduction operation (out of range)\n\n            ncclResult_t result = ArgsCheck(env.info);\n            EXPECT_EQ(result, ncclInvalidArgument) << \"Failed for invalid reduction operation\";\n\n            env.cleanup();\n            INFO(\"Test 'ArgsCheck_InvalidReductionOperationOutOfRange' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, ArgsCheck_UserDefinedReductionOperationInvalid)\n{\n    RUN_ISOLATED_TEST(\n        \"ArgsCheck_UserDefinedReductionOperationInvalid\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            // Test case: User-defined reduction operation with freeNext != -1\n            env.info->op\n                = (ncclRedOp_t)(ncclNumOps + 1); // Set op to a user-defined reduction operation\n\n            ncclResult_t result = ArgsCheck(env.info);\n            EXPECT_EQ(result, ncclInvalidArgument)\n                << \"Failed for user-defined reduction operation with freeNext != -1\";\n\n            env.cleanup();\n            INFO(\"Test 'ArgsCheck_UserDefinedReductionOperationInvalid' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, ArgsCheck_SendAndRecvFunction)\n{\n    RUN_ISOLATED_TEST(\n        \"ArgsCheck_SendAndRecvFunction\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            env.info->recvbuff\n                = env.recvDevicePtr; // Use allocated device pointer for receive buffer\n\n            // Test both ncclFuncSend and ncclFuncRecv\n            for(auto coll : {ncclFuncSend, ncclFuncRecv})\n            {\n                env.info->coll = coll; // Set the collective operation\n\n                // Call ArgsCheck and verify the result\n                ncclResult_t result = ArgsCheck(env.info);\n                ASSERT_EQ(result, ncclSuccess) << \"Failed for coll = \" << coll;\n            }\n\n            env.cleanup();\n            INFO(\"Test 'ArgsCheck_SendAndRecvFunction' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, ArgsCheck_CollNotReduce)\n{\n    RUN_ISOLATED_TEST(\n        \"ArgsCheck_CollNotReduce\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            // Case: env.info->coll != ncclFuncReduce\n            env.info->coll = ncclFuncBroadcast; // Set coll to ncclFuncBroadcast\n\n            ncclResult_t result = ArgsCheck(env.info);\n            EXPECT_EQ(result, ncclSuccess) << \"Failed for coll != ncclFuncReduce\";\n\n            env.cleanup();\n            INFO(\"Test 'ArgsCheck_CollNotReduce' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, ArgsCheck_ReduceCollWithRootRank)\n{\n    RUN_ISOLATED_TEST(\n        \"ArgsCheck_ReduceCollWithRootRank\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            // Case: env.info->coll == ncclFuncReduce and env.info->env.comm->rank == env.info->root\n            env.info->coll = ncclFuncReduce; // Set coll to ncclFuncReduce\n\n            ncclResult_t result = ArgsCheck(env.info);\n            EXPECT_EQ(result, ncclSuccess) << \"Failed for coll == ncclFuncReduce and rank == root\";\n\n            env.cleanup();\n            INFO(\"Test 'ArgsCheck_ReduceCollWithRootRank' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ArgCheckTest, ArgsCheck_ReduceCollWithNonRootRank)\n{\n    RUN_ISOLATED_TEST(\n        \"ArgsCheck_ReduceCollWithNonRootRank\",\n        []()\n        {\n            ArgCheckTestEnvironment env;\n            env.setup();\n\n            env.comm->rank = 1; // Set rank to 1 (non-root)\n\n            ncclResult_t result = ArgsCheck(env.info);\n            EXPECT_EQ(result, ncclSuccess) << \"Failed for coll == ncclFuncReduce and rank != root\";\n\n            env.cleanup();\n            INFO(\"Test 'ArgsCheck_ReduceCollWithNonRootRank' PASSED\\n\");\n        }\n    );\n}\n"
  },
  {
    "path": "test/BitOpsTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"bitops.h\"\n#include \"gtest/gtest.h\"\n\nnamespace RcclUnitTesting\n{\n\nTEST(DIVUP, DIVUPSuccess) {\n    EXPECT_EQ(DIVUP(0, 8), 0);\n    EXPECT_EQ(DIVUP(1, 8), 1);\n    EXPECT_EQ(DIVUP(7, 8), 1);\n    EXPECT_EQ(DIVUP(8, 8), 1);\n    EXPECT_EQ(DIVUP(9, 8), 2);\n}\n\nTEST(ROUNDUP, ROUNDUPSuccess) {\n    EXPECT_EQ(ROUNDUP(0, 8), 0);\n    EXPECT_EQ(ROUNDUP(1, 8), 8);\n    EXPECT_EQ(ROUNDUP(7, 8), 8);\n    EXPECT_EQ(ROUNDUP(8, 8), 8);\n    EXPECT_EQ(ROUNDUP(9, 8), 16);\n    EXPECT_EQ(ROUNDUP(15, 8), 16);\n    EXPECT_EQ(ROUNDUP(16, 8), 16);\n    EXPECT_EQ(ROUNDUP(17, 8), 24);\n}\n\nTEST(ALIGN_POWER, ALIGN_POWERSuccess) {\n    EXPECT_EQ(ALIGN_POWER(7, 8), 8);\n    EXPECT_EQ(ALIGN_POWER(8, 8), 8);\n    EXPECT_EQ(ALIGN_POWER(9, 8), 16);\n}\n\nTEST(ALIGN_SIZE, ALIGN_SIZESuccess) {\n    int alignSize = 1;\n    ALIGN_SIZE(alignSize, 8);\n    EXPECT_EQ(alignSize, 8);\n    alignSize = 7;\n    ALIGN_SIZE(alignSize, 8);\n    EXPECT_EQ(alignSize, 8);\n}\n\nTEST(u32fp8MaxValue, u32fp8MaxValueSuccess) {\n    EXPECT_EQ(u32fp8MaxValue(), 0xf0000000);\n}\n\nTEST(u32fp8Decode, u32fp8DecodeSuccess) {\n    uint32_t u32Val{2};\n    EXPECT_EQ(u32fp8Decode(u32Val), static_cast<uint8_t>(2));\n}\n\nTEST(u32fp8Encode, u32fp8EncodeSuccess) {\n    uint8_t u8Val{2};\n    EXPECT_EQ(u32fp8Encode(u8Val), static_cast<uint32_t>(2));\n}\n\nTEST(u32fpEncode, u32fpEncodeSuccess) {\n    // log2x is 1, use bitsPerPow2 = 1\n    uint32_t u32Val{0xFFFFFFFF}; // 32 bits set to 1\n    uint32_t u32ExpectVal = 63;\n    int bitsPerPow2 = 1;\n    EXPECT_EQ(u32fpEncode(u32Val, bitsPerPow2), u32ExpectVal);\n}\n\nTEST(u32fpDecode, u32fpDecodeSuccess) {\n    // log2x is 1, use bitsPerPow2 = 1\n    uint32_t u32Val{0xFFFFFFFF}; // 32 bits set to 1\n    uint32_t u32ExpectVal = 63;\n    int bitsPerPow2 = 1;\n    EXPECT_EQ(u32fpDecode(u32Val, bitsPerPow2), u32ExpectVal);\n}\n\nTEST(getHash, getHashSuccess) {\n    std::vector<uint32_t> u32Vec{2, 4, 8, 16, 32, 64, 128, 256};\n    uint64_t expectedHash = 0xa4495d05731e3337;\n    auto ret = getHash(u32Vec.data(), u32Vec.size() * sizeof(uint32_t));\n    EXPECT_EQ(ret, expectedHash);\n\n    std::vector<float> floatVec{2.0f};\n    expectedHash = 0xedbaa57e84d6dbaa;\n    ret = getHash(floatVec.data());\n    EXPECT_EQ(ret, expectedHash);\n}\n\nTEST(eatHash, eatHashSuccess){\n    uint64_t acc[2] = {0, 0};\n    uint64_t expectedAcc[2] = {8617830242246783886ull, 2410367826245614052ull};\n    std::vector<uint32_t> u32Vec{2, 4, 8, 16, 32, 64, 128, 256};\n    eatHash(acc, u32Vec.data());\n    EXPECT_EQ(acc[0], expectedAcc[0]);\n    EXPECT_EQ(acc[1], expectedAcc[1]);\n}\n\ntemplate <typename T>\nclass BitOpsTemplateAllIntTestsFixture : public testing::Test {\npublic:\n    ~BitOpsTemplateAllIntTestsFixture() override = default;\nprotected:\n    T valX_{};\n    T valY_{};\n    T valZ_{};\n};\n\nusing BitOpsAllIntTypes = ::testing::Types<short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long>;\n\nTYPED_TEST_SUITE(BitOpsTemplateAllIntTestsFixture, BitOpsAllIntTypes);\n\nTYPED_TEST(BitOpsTemplateAllIntTestsFixture, divUpSuccess) {\n    this->valX_ = 0;\n    this->valY_= 8;\n    this->valZ_= 0;\n    EXPECT_EQ(divUp(this->valX_, this->valY_), this->valZ_);\n    this->valX_ = 1;\n    this->valY_= 8;\n    this->valZ_= 1;\n    EXPECT_EQ(divUp(this->valX_, this->valY_), this->valZ_);\n    this->valX_ = 7;\n    this->valY_= 8;\n    this->valZ_= 1;\n    EXPECT_EQ(divUp(this->valX_, this->valY_), this->valZ_);\n}\n\nTYPED_TEST(BitOpsTemplateAllIntTestsFixture, roundUpSuccess) {\n    this->valX_ = 0;\n    this->valY_= 8;\n    this->valZ_= 0;\n    EXPECT_EQ(roundUp(this->valX_, this->valY_), this->valZ_);\n    this->valX_ = 1;\n    this->valY_= 8;\n    this->valZ_= 8;\n    EXPECT_EQ(roundUp(this->valX_, this->valY_), this->valZ_);\n    this->valX_ = 7;\n    this->valY_= 8;\n    this->valZ_= 8;\n    EXPECT_EQ(roundUp(this->valX_, this->valY_), this->valZ_);\n}\n\nTYPED_TEST(BitOpsTemplateAllIntTestsFixture, roundDownSuccess) {\n    this->valX_ = 0;\n    this->valY_= 8;\n    this->valZ_= 0;\n    EXPECT_EQ(roundDown(this->valX_, this->valY_), this->valZ_);\n    this->valX_ = 1;\n    this->valY_= 8;\n    this->valZ_= 0;\n    EXPECT_EQ(roundDown(this->valX_, this->valY_), this->valZ_);\n    this->valX_ = 7;\n    this->valY_= 8;\n    this->valZ_= 0;\n    EXPECT_EQ(roundDown(this->valX_, this->valY_), this->valZ_);\n}\n\nTYPED_TEST(BitOpsTemplateAllIntTestsFixture, alignUpSuccess) {\n    this->valX_ = 0;\n    this->valY_= 8;\n    this->valZ_= 0;\n    EXPECT_EQ(alignUp(this->valX_, this->valY_), this->valZ_);\n    this->valX_ = 1;\n    this->valY_= 8;\n    this->valZ_= 8;\n    EXPECT_EQ(alignUp(this->valX_, this->valY_), this->valZ_);\n    this->valX_ = 7;\n    this->valY_= 8;\n    this->valZ_= 8;\n    EXPECT_EQ(alignUp(this->valX_, this->valY_), this->valZ_);\n}\n\nTYPED_TEST(BitOpsTemplateAllIntTestsFixture, alignDownSuccess) {\n    this->valX_ = 0;\n    this->valY_= 8;\n    this->valZ_= 0;\n    EXPECT_EQ(alignDown(this->valX_, this->valY_), this->valZ_);\n    this->valX_ = 1;\n    this->valY_= 8;\n    this->valZ_= 0;\n    EXPECT_EQ(alignDown(this->valX_, this->valY_), this->valZ_);\n    this->valX_ = 9;\n    this->valY_= 8;\n    this->valZ_= 8;\n    EXPECT_EQ(alignDown(this->valX_, this->valY_), this->valZ_);\n}\n\nTYPED_TEST(BitOpsTemplateAllIntTestsFixture, BitOpsCountOneBitsSuccess) {\n    this->valX_ = 3; // 0b11\n    int expectedBitCount = 2; \n    EXPECT_EQ(countOneBits(this->valX_), expectedBitCount);\n}\n\nTYPED_TEST(BitOpsTemplateAllIntTestsFixture, BitOpsFirstOneBitsSuccess) {\n    this->valX_ = 3; // 0b11\n    int expectedFirstOneBitIndex = 0; \n    EXPECT_EQ(firstOneBit(this->valX_), expectedFirstOneBitIndex);\n}\n\nTYPED_TEST(BitOpsTemplateAllIntTestsFixture, BitOpsPopFirstOneBitsSuccess) {\n    this->valX_ = 3; // 0b11\n    int expectedPopFirstOneBitIndex = 0; // 0b01\n    EXPECT_EQ(popFirstOneBit(&(this->valX_)), expectedPopFirstOneBitIndex);\n}\n\nTYPED_TEST(BitOpsTemplateAllIntTestsFixture, log2DownSuccess) {\n    this->valX_ = 0;\n    EXPECT_EQ(log2Down(this->valX_), -1);\n    this->valX_ = 1;\n    EXPECT_EQ(log2Down(this->valX_), 0);\n    this->valX_ = 2;\n    EXPECT_EQ(log2Down(this->valX_), 1);\n}\n\n\nTYPED_TEST(BitOpsTemplateAllIntTestsFixture, log2UpSuccess) {\n    this->valX_ = 0;\n    EXPECT_EQ(log2Up(this->valX_), 0);\n    this->valX_ = 1;\n    EXPECT_EQ(log2Up(this->valX_), 0);\n    this->valX_ = 2;\n    EXPECT_EQ(log2Up(this->valX_), 1);\n    this->valX_ = 3;\n    EXPECT_EQ(log2Up(this->valX_), 2);\n}\n\nTYPED_TEST(BitOpsTemplateAllIntTestsFixture, pow2UpSuccess){\n    this->valX_ = 0;\n    EXPECT_EQ(pow2Up(this->valX_), 1);\n    this->valX_ = 1;\n    EXPECT_EQ(pow2Up(this->valX_), 1);\n    this->valX_ = 2;\n    EXPECT_EQ(pow2Up(this->valX_), 2);\n    this->valX_ = 3;\n    EXPECT_EQ(pow2Up(this->valX_), 4);\n}\n\nTYPED_TEST(BitOpsTemplateAllIntTestsFixture, pow2DownSuccess){\n    this->valX_ = 1;\n    EXPECT_EQ(pow2Down(this->valX_), 1);\n    this->valX_ = 2;\n    EXPECT_EQ(pow2Down(this->valX_), 2);\n    this->valX_ = 3;\n    EXPECT_EQ(pow2Down(this->valX_), 2);\n}\n\ntemplate <typename T>\nclass BitOpsTemplateUnsignedTestsFixture : public testing::Test {\npublic:\n    ~BitOpsTemplateUnsignedTestsFixture() override = default;\nprotected:\n    T reverseSubBits_{2};\n    T reverseBits_{2};\n};\n\nusing BitOpsUnsignedTypes = ::testing::Types<unsigned short, unsigned int, unsigned long, unsigned long long>;\n\nTYPED_TEST_SUITE(BitOpsTemplateUnsignedTestsFixture, BitOpsUnsignedTypes);\n\nTYPED_TEST(BitOpsTemplateUnsignedTestsFixture, reverseSubBitsSuccess) {\n    auto ret = reverseSubBits<TypeParam, 1>(this->reverseSubBits_);\n    EXPECT_EQ(ret, this->reverseSubBits_);\n    ret = reverseSubBits<TypeParam, 2>(this->reverseSubBits_);\n    EXPECT_EQ(ret, 1);\n    ret = reverseSubBits<TypeParam, 4>(this->reverseSubBits_);\n    EXPECT_EQ(ret, 4); \n    ret = reverseSubBits<TypeParam, 8>(this->reverseSubBits_);\n    EXPECT_EQ(ret, 64); \n    ret = reverseSubBits<TypeParam, 16>(this->reverseSubBits_);\n    EXPECT_EQ(ret, 16384);\n    if(!std::is_same<TypeParam, unsigned short>::value) {\n        ret = reverseSubBits<TypeParam, 32>(this->reverseSubBits_);\n        EXPECT_EQ(ret, 1073741824);\n    }\n}\n\nTYPED_TEST(BitOpsTemplateUnsignedTestsFixture, reverseBitsSuccess) {\n    auto ret = reverseBits(this->reverseBits_, 2);\n    EXPECT_EQ(ret, 1);\n    ret = reverseBits(this->reverseBits_, 16);\n    EXPECT_EQ(ret, 16384);\n}\n\n}"
  },
  {
    "path": "test/BroadcastTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"TestBed.hpp\"\n\nnamespace RcclUnitTesting\n{\n  TEST(Broadcast, OutOfPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollBroadcast};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat16, ncclFloat32};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {1048576, 500};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Broadcast, OutOfPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollBroadcast};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclBfloat16, ncclFloat64, ncclFloat8e4m3, ncclFloat8e5m2};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {586};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Broadcast, InPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollBroadcast};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclInt32};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {1};\n    std::vector<int>            const numElements     = {104857, 264};\n    std::vector<bool>           const inPlaceList     = {true};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Broadcast, InPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollBroadcast};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclInt8, ncclInt64};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {1};\n    std::vector<int>            const numElements     = {958};\n    std::vector<bool>           const inPlaceList     = {true};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Broadcast, ManagedMem)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollBroadcast};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclUint8};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {1039203, 2500};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Broadcast, ManagedMemGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollBroadcast};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclUint32, ncclUint64};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {896};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n}\n"
  },
  {
    "path": "test/CMakeLists.txt",
    "content": "# Copyright (c) 2019-2021 Advanced Micro Devices, Inc. All rights reserved.\n# Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n\ncmake_minimum_required(VERSION 3.16)\n\nif(BUILD_TESTS)\n\n  option(OPENMP_TESTS_ENABLED \"Enable OpenMP for unit tests\" OFF)\n  option(ENABLE_MPI_TESTS \"Enable MPI-based tests\" OFF)\n\n  message(\"Building rccl unit tests (Installed in /test/rccl-UnitTests)\")\n  if(ENABLE_MPI_TESTS)\n    message(\"MPI-based tests are enabled\")\n  endif()\n\n  if (ENABLE_CODE_COVERAGE)\n    set(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS} -fprofile-instr-generate -fcoverage-mapping\")\n    set(HIPCC_COMPILE_FLAGS \"${HIPCC_COMPILE_FLAGS} -fprofile-instr-generate -fcoverage-mapping\")\n  endif()\n\n  find_package(hsa-runtime64 PATHS /opt/rocm )\n  if(${hsa-runtime64_FOUND})\n    message(\"hsa-runtime64 found @  ${hsa-runtime64_DIR} \")\n  else()\n    message(\"find_package did NOT find hsa-runtime64, finding it the OLD Way\")\n    message(\"Looking for header files in ${ROCR_INC_DIR}\")\n    message(\"Looking for library files in ${ROCR_LIB_DIR}\")\n\n    # Search for ROCr header file in user defined locations\n    find_path(ROCR_HDR hsa/hsa.h PATHS ${ROCR_INC_DIR} \"/opt/rocm\" PATH_SUFFIXES include REQUIRED)\n    include_directories(${ROCR_HDR})\n\n    # Search for ROCr library file in user defined locations\n    find_library(ROCR_LIB ${CORE_RUNTIME_TARGET} PATHS ${ROCR_LIB_DIR} \"/opt/rocm\" PATH_SUFFIXES lib lib64 REQUIRED)\n  endif()\n\n  if(OPENMP_TESTS_ENABLED)\n    find_package(OpenMP REQUIRED)\n  endif()\n\n  # MPI configuration\n  if(ENABLE_MPI_TESTS)\n    # Set default MPI path, allow user to override\n    if(NOT DEFINED MPI_PATH)\n        set(MPI_PATH \"/opt/ompi\" CACHE PATH \"Path to MPI installation\")\n    endif()\n\n    # Verify MPI path exists\n    if(NOT EXISTS ${MPI_PATH})\n        message(WARNING \"MPI_PATH does not exist: ${MPI_PATH}\")\n        message(WARNING \"Please set MPI_PATH to your MPI installation directory\")\n        message(FATAL_ERROR \"MPI installation not found\")\n    endif()\n\n    message(STATUS \"Using MPI installation at: ${MPI_PATH}\")\n\n    # Find required MPI library\n    find_library(MPI_LIBRARY\n        NAMES mpi\n        PATHS ${MPI_PATH}/lib ${MPI_PATH}/lib64\n        NO_DEFAULT_PATH\n        REQUIRED\n    )\n\n    if(NOT MPI_LIBRARY)\n        message(FATAL_ERROR \"Could not find MPI library (libmpi.so) in ${MPI_PATH}/lib or ${MPI_PATH}/lib64\")\n    endif()\n\n    # Set up MPI variables\n    set(MPI_CXX_LIBRARIES ${MPI_LIBRARY})\n    set(MPI_CXX_INCLUDE_DIRS ${MPI_PATH}/include)\n    set(MPI_CXX_LINK_FLAGS \"-L${MPI_PATH}/lib -Wl,-rpath,${MPI_PATH}/lib\")\n    set(MPIEXEC_EXECUTABLE ${MPI_PATH}/bin/mpirun CACHE FILEPATH \"MPI executable\")\n\n    # Add link directories for MPI\n    link_directories(${MPI_PATH}/lib)\n\n    message(STATUS \"MPI library: ${MPI_CXX_LIBRARIES}\")\n    message(STATUS \"MPI include: ${MPI_CXX_INCLUDE_DIRS}\")\n    message(STATUS \"MPI executable: ${MPIEXEC_EXECUTABLE}\")\n  endif()\n\n  include_directories(${GTEST_INCLUDE_DIRS} ./common)\n\n    # Common include directories\n  set(RCCL_COMMON_INCLUDE_DIRS\n    ${GTEST_INCLUDE_DIRS}\n    ${PROJECT_BINARY_DIR}/include # for generated rccl.h header\n    ${PROJECT_BINARY_DIR}/hipify/src/include  # for rccl_bfloat16.h\n    ${PROJECT_BINARY_DIR}/hipify/gensrc # for rccl_bfloat16.h\n    ${PROJECT_BINARY_DIR}/hipify/src # for graph/topo.h\n    ${PROJECT_BINARY_DIR}/hipify/src/include/plugin # for recorder tests, nccl_tuner.h\n    ${ROCM_PATH}/include\n    ${ROCM_PATH}\n  )\n\n  # Add MPI include directories if MPI tests are enabled\n  if(ENABLE_MPI_TESTS AND MPI_CXX_INCLUDE_DIRS)\n    list(APPEND RCCL_COMMON_INCLUDE_DIRS ${MPI_CXX_INCLUDE_DIRS})\n  endif()\n\n  # Common compile definitions\n  set(RCCL_COMMON_COMPILE_DEFS ROCM_PATH=\"${ROCM_PATH}\")\n  if(LL128_ENABLED)\n    list(APPEND RCCL_COMMON_COMPILE_DEFS ENABLE_LL128)\n  endif()\n  if(OPENMP_TESTS_ENABLED)\n    list(APPEND RCCL_COMMON_COMPILE_DEFS ENABLE_OPENMP)\n  endif()\n  if(ENABLE_MPI_TESTS)\n    list(APPEND RCCL_COMMON_COMPILE_DEFS MPI_TESTS_ENABLED)\n  endif()\n  list(APPEND RCCL_COMMON_COMPILE_DEFS __HIP_PLATFORM_AMD__)\n\n  # Common link libraries\n  set(RCCL_COMMON_LINK_LIBS\n    ${GTEST_BOTH_LIBRARIES}\n    hip::host hip::device hsa-runtime64::hsa-runtime64\n    Threads::Threads\n    dl\n    fmt::fmt-header-only\n  )\n  if(OPENMP_TESTS_ENABLED)\n    list(APPEND RCCL_COMMON_LINK_LIBS \"${OpenMP_CXX_FLAGS}\")\n  endif()\n  if(ENABLE_MPI_TESTS AND MPI_CXX_LIBRARIES)\n    list(APPEND RCCL_COMMON_LINK_LIBS ${MPI_CXX_LIBRARIES})\n  endif()\n\n  # Get the compile definitions from the main rccl target\n  # These helps to keep the test compile definitions in sync with the main rccl target\n  # Also, all the structure layout remains the same across all the targets\n  get_target_property(RCCL_COMPILE_DEFINITIONS rccl COMPILE_DEFINITIONS)\n  if(RCCL_COMPILE_DEFINITIONS)\n    list(APPEND RCCL_COMMON_COMPILE_DEFS ${RCCL_COMPILE_DEFINITIONS})\n  endif()\n\n  # Also get interface compile definitions\n  get_target_property(RCCL_INTERFACE_COMPILE_DEFINITIONS rccl INTERFACE_COMPILE_DEFINITIONS)\n  if(RCCL_INTERFACE_COMPILE_DEFINITIONS)\n    list(APPEND RCCL_COMMON_COMPILE_DEFS ${RCCL_INTERFACE_COMPILE_DEFINITIONS})\n  endif()\n\n  # Collect testing framework source files\n  set(TEST_SOURCE_FILES\n    AllGatherTests.cpp\n    AllReduceTests.cpp\n    AllToAllTests.cpp\n    AllToAllVTests.cpp\n    BroadcastTests.cpp\n    GatherTests.cpp\n    GroupCallTests.cpp\n    NonBlockingTests.cpp\n    ReduceScatterTests.cpp\n    ReduceTests.cpp\n    RegisterTests.cpp\n    ScatterTests.cpp\n    SendRecvTests.cpp\n    StandaloneTests.cpp\n    _RecorderTests.cpp\n    common/main.cpp\n    common/CallCollectiveForked.cpp\n    common/CollectiveArgs.cpp\n    common/EnvVars.cpp\n    common/PrepDataFuncs.cpp\n    common/PtrUnion.cpp\n    common/ProcessIsolatedTestRunner.cpp\n    common/TestBed.cpp\n    common/TestBedChild.cpp\n    common/StandaloneUtils.cpp\n    proxy_trace/ProxyTraceUnitTests.cpp\n    ../src/misc/proxy_trace/proxy_trace.cc\n    latency_profiler/LatencyProfilerUnitTest.cpp\n    ../src/misc/latency_profiler/CollTraceUtils.cc\n    )\n\n  # Due to default hidden symbol visibility, append source file if build type is not Debug.\n  # It requires explicit addition of the following source file(s)\n  # to the unit tests to ensure it is included for the existing rccl-UnitTests execution\n  if(NOT CMAKE_BUILD_TYPE MATCHES \"Debug\")\n    list(APPEND TEST_SOURCE_FILES\n      ../src/misc/recorder.cc\n      ../src/misc/proxy_trace/proxy_trace.cc\n    )\n  endif()\n\n  set(RCCL_TEST_EXECUTABLES rccl-UnitTests)\n\n  # Create rccl-UnitTests binary\n  add_executable(rccl-UnitTests ${TEST_SOURCE_FILES})\n\n  # Create rccl-UnitTestsFixtures binary if ROCm version is 4.6.0 or greater\n  # and build type is Debug\n  if (ROCM_VERSION VERSION_GREATER_EQUAL \"60400\" AND CMAKE_BUILD_TYPE MATCHES \"Debug\")\n    # Add rccl-UnitTestsFixtures binary\n    list(APPEND RCCL_TEST_EXECUTABLES rccl-UnitTestsFixtures)\n\n    set(TEST_FIXTURE_SOURCE_FILES\n      AllocTests.cpp\n      ParamTests.cpp\n      ArgCheckTests.cpp\n      BitOpsTests.cpp\n      CommTests.cpp\n      EnqueueTests.cpp\n      IpcsocketTests.cpp\n      NetSocketTests.cpp\n      ProxyTests.cpp\n      RcclWrapTests.cpp\n      TransportTests.cpp\n      common/main_fixtures.cpp\n      common/EnvVars.cpp\n      common/ProcessIsolatedTestRunner.cpp\n      graph/XmlTests.cpp\n    )\n\n    add_executable(rccl-UnitTestsFixtures ${TEST_FIXTURE_SOURCE_FILES})\n\n    # Create separate MPI test binary if MPI tests are enabled\n    if(ENABLE_MPI_TESTS)\n      # Define MPI test source files\n      set(MPI_TEST_SOURCE_FILES\n        common/main_mpi.cpp\n        common/MPIHelpers.cpp\n        common/MPITestCore.cpp\n        common/MPIEnvironment.cpp\n        common/TestChecks.cpp\n        transport/TransportMPIBase.cpp\n        transport/P2pMPITests.cpp\n        transport/NetMPITests.cpp\n        transport/ShmMPITests.cpp\n        transport/NetIbMPITests.cpp\n      )\n\n      # Create the MPI test executable\n      add_executable(rccl-UnitTestsMPI ${MPI_TEST_SOURCE_FILES})\n\n      # Add to test executables list for proper linking\n      list(APPEND RCCL_TEST_EXECUTABLES rccl-UnitTestsMPI)\n\n    endif()\n\n    # rccl-UnitTestsAltRsmi: Uses TEST BUILD alt_rsmi.cc (ARSMI_TEST_BUILD)\n    # This separate executable compiles alt_rsmi.cc with ARSMI_TEST_BUILD,\n    # enabling external linkage of internal variables so that\n    # tests can access and manipulate them for testing.\n    list(APPEND RCCL_TEST_EXECUTABLES rccl-UnitTestsAltRsmi)\n\n    set(TEST_ALTRSMI_SOURCE_FILES\n      AltRsmiTests.cpp\n      ../src/misc/alt_rsmi.cc\n      common/main_fixtures.cpp\n      common/EnvVars.cpp\n      common/ProcessIsolatedTestRunner.cpp\n    )\n\n    add_executable(rccl-UnitTestsAltRsmi ${TEST_ALTRSMI_SOURCE_FILES})\n\n    # Define ARSMI_TEST_BUILD specifically for rccl-UnitTestsAltRsmi\n    target_compile_definitions(rccl-UnitTestsAltRsmi PRIVATE ARSMI_TEST_BUILD)\n  endif()\n\n  foreach(test_executable IN LISTS RCCL_TEST_EXECUTABLES)\n    target_include_directories(${test_executable} PRIVATE ${RCCL_COMMON_INCLUDE_DIRS})\n    target_compile_definitions(${test_executable} PRIVATE ${RCCL_COMMON_COMPILE_DEFS})\n    target_link_libraries(${test_executable} PRIVATE ${RCCL_COMMON_LINK_LIBS})\n\n    # Add MPI-specific configuration if MPI tests are enabled\n    if(ENABLE_MPI_TESTS)\n      if(MPI_CXX_COMPILE_FLAGS)\n        target_compile_options(${test_executable} PRIVATE ${MPI_CXX_COMPILE_FLAGS})\n      endif()\n      if(MPI_CXX_LINK_FLAGS)\n        set_target_properties(${test_executable} PROPERTIES LINK_FLAGS \"${MPI_CXX_LINK_FLAGS}\")\n      endif()\n    endif()\n    if(BUILD_SHARED_LIBS)\n      target_link_libraries(${test_executable} PRIVATE rccl)\n      if(${HOST_OS_ID} STREQUAL \"debian\")\n        set_property(TARGET ${test_executable} PROPERTY INSTALL_RPATH \"${CMAKE_BINARY_DIR}\")\n      elseif(DEFINED HOST_OS_FAMILY AND \"${HOST_OS_FAMILY}\" STREQUAL \"debian\")\n        set_property(TARGET ${test_executable} PROPERTY INSTALL_RPATH \"${CMAKE_BINARY_DIR}\")\n      endif()\n    else()\n      add_dependencies(${test_executable} rccl)\n      target_link_libraries(${test_executable} PRIVATE dl rt numa -lrccl -L${CMAKE_BINARY_DIR} -lrocm_smi64 -L${ROCM_PATH}/lib -L${ROCM_PATH}/rocm_smi/lib)\n    endif()\n\n    rocm_install(TARGETS ${test_executable} COMPONENT tests)\n  endforeach()\n\nendif()\n"
  },
  {
    "path": "test/CommTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"gtest/gtest.h\"\n#include \"comm.h\"\n\n\n\nnamespace RcclUnitTesting\n{\n  TEST(CommTests, Sorter)\n  {\n\t// Configuration\n\tncclTaskCollSorter* me_ptr = new ncclTaskCollSorter;\n\tme_ptr->head = nullptr;\n\n\tASSERT_EQ(ncclTaskCollSorterEmpty(me_ptr), true);\n\tdelete me_ptr;\n  }\n}\n\n\n\n\n"
  },
  {
    "path": "test/EnqueueTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include <gtest/gtest.h>\n#include <hip/hip_runtime.h>\n\n#include <cstring>\n\n#include \"comm.h\"\n#include \"common/ProcessIsolatedTestRunner.hpp\"\n#include \"enqueue.h\"\n#include \"info.h\"\n#include \"utils.h\"\n\nnamespace RcclUnitTesting\n{\n\n// Simple test kernel for validating ncclInitKernelsForDevice\n__global__ void simpleTestKernel(int* data)\n{\n    int tid = threadIdx.x + blockIdx.x * blockDim.x;\n    if(data)\n        data[tid] = tid;\n}\n\n// Helper function to test ncclInitKernelsForDevice with a real kernel\nncclResult_t testKernelAttributes(void* kernelFn, size_t* maxStackSize)\n{\n    if(!kernelFn || !maxStackSize)\n        return ncclInvalidArgument;\n\n    *maxStackSize          = 0;\n    hipFuncAttributes attr = {0};\n\n    hipError_t errcode = hipFuncGetAttributes(&attr, kernelFn);\n    if(errcode != hipSuccess)\n        return ncclSystemError;\n\n    *maxStackSize = attr.localSizeBytes;\n    return ncclSuccess; // ncclSuccess\n}\n\n// Helper function to test shared memory limit checking with a real kernel\n// ncclMaxSharedMem: For gfx906 (cudaArch 906) with WarpSize 64, this is typically 32832 bytes\nncclResult_t testKernelSharedMemoryLimit(\n    void* kernelFn, int cudaArch, int maxSharedMem, size_t* maxStackSize, int ncclMaxSharedMem\n)\n{\n    if(!kernelFn)\n        return ncclInvalidArgument;\n\n    ncclResult_t result = ncclSuccess;\n    if(maxStackSize)\n        *maxStackSize = 0;\n\n    hipFuncAttributes attr    = {0};\n    hipError_t        errcode = hipFuncGetAttributes(&attr, kernelFn);\n    if(errcode != hipSuccess)\n    {\n        return ncclSystemError;\n    }\n\n    if(maxStackSize)\n    {\n        *maxStackSize = attr.localSizeBytes;\n    }\n\n    // Test the shared memory limit check (mimics enqueue.cc lines 135-146)\n    if(ncclMaxSharedMem != 0)\n    {\n        int sharedMemSize = ncclMaxSharedMem;\n\n        if(sharedMemSize > (maxSharedMem - attr.sharedSizeBytes))\n        {\n            WARN(\n                \"cudaArch %d ncclMaxSharedMem %d exceeds device/fn maxSharedMem %zu\",\n                cudaArch,\n                sharedMemSize,\n                maxSharedMem - attr.sharedSizeBytes\n            );\n            return ncclSystemError;\n        }\n    }\n\n    return result;\n}\n\n// Helper structure to hold test environment\nstruct EnqueueTestEnvironment\n{\n    ncclComm* comm;\n    ncclInfo* info;\n    void*     sendbuff;\n    void*     recvbuff;\n    uint32_t  abortFlag0;\n    uint32_t  abortFlag1;\n    int       abortFlagRefCount;\n\n    EnqueueTestEnvironment()\n        : comm(nullptr)\n        , info(nullptr)\n        , sendbuff(nullptr)\n        , recvbuff(nullptr)\n        , abortFlag0(0)\n        , abortFlag1(0)\n        , abortFlagRefCount(0)\n    {}\n\n    ~EnqueueTestEnvironment()\n    {\n        cleanup();\n    }\n\n    void setup()\n    {\n        // Allocate GPU memory for buffers\n        size_t     bufferSize = 1024 * sizeof(float);\n        hipError_t hipErr     = hipMalloc(&sendbuff, bufferSize);\n        ASSERT_EQ(hipErr, hipSuccess) << \"Failed to allocate sendbuff\";\n\n        hipErr = hipMalloc(&recvbuff, bufferSize);\n        ASSERT_EQ(hipErr, hipSuccess) << \"Failed to allocate recvbuff\";\n\n        // Initialize communicator\n        comm = new ncclComm();\n        memset(comm, 0, sizeof(ncclComm));\n\n        comm->startMagic = NCCL_MAGIC; // 0x0280028002800280\n\n        // Initialize critical fields\n        comm->rank      = 0;\n        comm->nRanks    = 2;\n        comm->cudaDev   = 0;\n        comm->localRank = 0;\n\n        // Initialize abort flags\n        comm->abortFlag         = &abortFlag0;\n        comm->childAbortFlag    = &abortFlag1;\n        comm->abortFlagRefCount = &abortFlagRefCount;\n\n        // Initialize memory stack\n        ncclMemoryStackConstruct(&comm->memScoped);\n        ncclMemoryStackConstruct(&comm->memPermanent);\n\n        // Initialize intra-communication pointers\n        comm->intraComm0 = nullptr;\n        comm->intraNext  = nullptr;\n\n        // Initialize work FIFO structures\n        comm->workFifoBytes                = 1024; // Power of 2\n        comm->workFifoBuf                  = nullptr;\n        comm->workFifoBufDev               = nullptr;\n        comm->workFifoConsumed             = 0;\n        comm->workFifoProducedLastRecorded = 0;\n        comm->workFifoProduced             = 0;\n\n        // Initialize planner\n        memset(&comm->planner, 0, sizeof(comm->planner));\n\n        // Initialize config\n        memset(&comm->config, 0, sizeof(comm->config));\n        comm->config.blocking = 1;\n        comm->checkPointers   = 0; // Disable pointer validation for easier testing\n\n        // Initialize peer info arrays\n        comm->peerInfo = new ncclPeerInfo[comm->nRanks];\n        memset(comm->peerInfo, 0, comm->nRanks * sizeof(ncclPeerInfo));\n\n        comm->localRankToRank = new int[comm->nRanks];\n        for(int i = 0; i < comm->nRanks; i++)\n        {\n            comm->localRankToRank[i] = i;\n        }\n\n        comm->endMagic = NCCL_MAGIC; // 0x0280028002800280\n\n        // Initialize operation info with valid GPU buffers\n        info = new ncclInfo();\n        memset(info, 0, sizeof(ncclInfo));\n        info->comm     = comm;\n        info->opName   = \"AllReduce\";\n        info->count    = 1024;\n        info->datatype = ncclFloat;\n        info->op       = ncclSum;\n        info->root     = 0;\n        info->sendbuff = sendbuff; // Use allocated GPU memory\n        info->recvbuff = recvbuff; // Use allocated GPU memory\n        info->stream   = nullptr;\n    }\n\n    void cleanup()\n    {\n        // Clean up info first (it references comm)\n        if(info)\n        {\n            delete info;\n            info = nullptr;\n        }\n\n        // Clean up comm and its allocated resources\n        if(comm)\n        {\n            // Clean up memory stacks\n            ncclMemoryStackDestruct(&comm->memScoped);\n            ncclMemoryStackDestruct(&comm->memPermanent);\n\n            // Clean up peer info arrays\n            if(comm->peerInfo)\n            {\n                delete[] comm->peerInfo;\n                comm->peerInfo = nullptr;\n            }\n\n            if(comm->localRankToRank)\n            {\n                delete[] comm->localRankToRank;\n                comm->localRankToRank = nullptr;\n            }\n\n            delete comm;\n            comm = nullptr;\n        }\n\n        // Clean up GPU buffers last\n        if(sendbuff)\n        {\n            hipError_t err = hipFree(sendbuff);\n            if(err != hipSuccess)\n            {\n                // Log error but don't throw in cleanup\n                fprintf(stderr, \"Warning: hipFree(sendbuff) failed with error %d\\n\", err);\n            }\n            sendbuff = nullptr;\n        }\n\n        if(recvbuff)\n        {\n            hipError_t err = hipFree(recvbuff);\n            if(err != hipSuccess)\n            {\n                // Log error but don't throw in cleanup\n                fprintf(stderr, \"Warning: hipFree(recvbuff) failed with error %d\\n\", err);\n            }\n            recvbuff = nullptr;\n        }\n    }\n};\n\n// Empty test fixture for test organization\nclass EnqueueTests : public ::testing::Test\n{\n    // No setup/teardown - all tests use process isolation\n};\n\n// Test ncclInitKernelsForDevice function\nTEST_F(EnqueueTests, ncclInitKernelsForDevice_ValidInput)\n{\n    ProcessIsolatedTestRunner::ExecutionOptions options;\n    options.stopOnFirstFailure = false; // Continue running all tests\n    options.verboseLogging     = true;\n\n    RUN_ISOLATED_TESTS_WITH_OPTIONS(\n        options,\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclInitKernelsForDevice_ValidInput\",\n            [this]()\n            {\n                size_t       maxStackSize = 0;\n                ncclResult_t result       = ncclInitKernelsForDevice(906, 65536, &maxStackSize);\n\n                EXPECT_TRUE(result == ncclSuccess);\n                // maxStackSize should be set to a reasonable value (> 0)\n                EXPECT_GT(maxStackSize, 0)\n                    << \"Expected maxStackSize to be computed and set to a positive value\";\n    }\n        ).withEnvironment({{\"NCCL_DEBUG\", \"INFO\"}, {\"NCCL_DEBUG_SUBSYS\", \"ALL\"}}),\n\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclInitKernelsForDevice_ValidInputCarveout\",\n            [this]()\n            {\n                size_t       maxStackSize = 0;\n                ncclResult_t result       = ncclInitKernelsForDevice(906, 65536, &maxStackSize);\n\n                EXPECT_TRUE(result == ncclSuccess);\n                // maxStackSize should be set to a reasonable value (> 0)\n                EXPECT_GT(maxStackSize, 0)\n                    << \"Expected maxStackSize to be computed and set to a positive value\";\n            }\n        )\n            .withEnvironment(\n                {{\"NCCL_L1_SHARED_MEMORY_CARVEOUT\", \"1\"},\n                 {\"NCCL_DEBUG\", \"INFO\"},\n                 {\"NCCL_DEBUG_SUBSYS\", \"ALL\"}}\n            )\n    );\n}\n\nTEST_F(EnqueueTests, ncclInitKernelsForDevice_NullStackSize)\n{\n    ProcessIsolatedTestRunner::ExecutionOptions options;\n    options.stopOnFirstFailure = false;\n    options.verboseLogging     = true;\n\n    RUN_ISOLATED_TESTS_WITH_OPTIONS(\n        options,\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclInitKernelsForDevice_NullStackSize\",\n            []()\n            {\n                ncclResult_t result = ncclInitKernelsForDevice(906, 65536, nullptr);\n                EXPECT_EQ(result, ncclSuccess);\n            }\n        )\n    );\n}\n\n// Test with a real compiled kernel to verify attribute retrieval works correctly\nTEST_F(EnqueueTests, KernelAttributes_WithRealKernel)\n{\n    ProcessIsolatedTestRunner::ExecutionOptions options;\n    options.stopOnFirstFailure = false;\n    options.verboseLogging     = true;\n\n    RUN_ISOLATED_TESTS_WITH_OPTIONS(\n        options,\n        ProcessIsolatedTestRunner::TestConfig(\n            \"KernelAttributes_WithRealKernel\",\n            []()\n            {\n                size_t       maxStackSize = 0;\n                ncclResult_t result = testKernelAttributes((void*)simpleTestKernel, &maxStackSize);\n\n                EXPECT_EQ(result, ncclSuccess)\n                    << \"Expected successful kernel attribute retrieval with a real compiled kernel\";\n    }\n        ).withEnvironment({{\"NCCL_DEBUG\", \"INFO\"}})\n    );\n}\n\nTEST_F(EnqueueTests, ncclInitKernelsForDevice_InvalidArch)\n{\n    ProcessIsolatedTestRunner::ExecutionOptions options;\n    options.stopOnFirstFailure = false;\n    options.verboseLogging     = true;\n\n    RUN_ISOLATED_TESTS_WITH_OPTIONS(\n        options,\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclInitKernelsForDevice_InvalidArch\",\n            []()\n            {\n                size_t       maxStackSize = 0;\n                ncclResult_t result       = ncclInitKernelsForDevice(-1, 65536, &maxStackSize);\n                EXPECT_EQ(result, ncclSuccess);\n            }\n        )\n    );\n}\n\nTEST_F(EnqueueTests, ncclInitKernelsForDevice_ExceedsSharedMemory)\n{\n    ProcessIsolatedTestRunner::ExecutionOptions options;\n    options.stopOnFirstFailure = false;\n    options.verboseLogging     = true;\n\n    RUN_ISOLATED_TESTS_WITH_OPTIONS(\n        options,\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclInitKernelsForDevice_ExceedsSharedMemory\",\n            []()\n            {\n                size_t maxStackSize = 0;\n                // For gfx906, ncclMaxSharedMem is 32832 (as shown in test output)\n                // Use a very small maxSharedMem (16000 bytes) to trigger the exceeds check\n                ncclResult_t result = testKernelSharedMemoryLimit(\n                    (void*)simpleTestKernel, // Use our real compiled kernel\n                    906, // cudaArch\n                    16000, // maxSharedMem (intentionally too small)\n                    &maxStackSize,\n                    32832  // ncclMaxSharedMem for gfx906\n                );\n\n                EXPECT_EQ(result, ncclSystemError)\n                    << \"Expected ncclSystemError when ncclMaxSharedMem exceeds maxSharedMem\";\n    }\n        ).withEnvironment({{\"NCCL_DEBUG\", \"WARN\"}})\n    );\n}\n\n// Test ncclEnqueueCheck function\nTEST_F(EnqueueTests, ncclEnqueueCheck_ValidInput)\n{\n    ProcessIsolatedTestRunner::ExecutionOptions options;\n    options.stopOnFirstFailure = false;\n    options.verboseLogging     = true;\n\n    RUN_ISOLATED_TESTS_WITH_OPTIONS(\n        options,\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclEnqueueCheck_ValidInput\",\n            []()\n            {\n                EnqueueTestEnvironment env;\n                env.setup();\n                ncclResult_t result = ncclEnqueueCheck(env.info);\n                EXPECT_TRUE(result == ncclSuccess);\n                env.cleanup();\n            }\n        )\n    );\n}\n\nTEST_F(EnqueueTests, ncclEnqueueCheck_InvalidComm)\n{\n    ProcessIsolatedTestRunner::ExecutionOptions options;\n    options.stopOnFirstFailure = false;\n    options.verboseLogging     = true;\n\n    RUN_ISOLATED_TESTS_WITH_OPTIONS(\n        options,\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclEnqueueCheck_InvalidComm\",\n            []()\n            {\n                EnqueueTestEnvironment env;\n                env.setup();\n                env.info->comm      = nullptr;\n                ncclResult_t result = ncclEnqueueCheck(env.info);\n                EXPECT_EQ(result, ncclInvalidArgument);\n                env.cleanup();\n            }\n        )\n    );\n}\n\nTEST_F(EnqueueTests, ncclEnqueueCheck_InvalidBuffers)\n{\n    ProcessIsolatedTestRunner::ExecutionOptions options;\n    options.stopOnFirstFailure = false;\n    options.verboseLogging     = true;\n\n    RUN_ISOLATED_TESTS_WITH_OPTIONS(\n        options,\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclEnqueueCheck_InvalidBuffers\",\n            []()\n            {\n                EnqueueTestEnvironment env;\n                env.setup();\n\n                // Test with null sendbuff\n                env.comm->checkPointers = 1;\n                env.info->sendbuff      = nullptr;\n                ncclResult_t result     = ncclEnqueueCheck(env.info);\n                EXPECT_EQ(result, ncclInvalidArgument);\n\n                // Reset sendbuff and test with null recvbuff\n                env.info->sendbuff = env.sendbuff;\n                env.info->recvbuff = nullptr;\n                result             = ncclEnqueueCheck(env.info);\n                EXPECT_EQ(result, ncclInvalidArgument);\n\n                env.cleanup();\n            }\n        )\n    );\n}\n\n// Test ncclFuncSendCount function\nTEST_F(EnqueueTests, ncclFuncSendCount_AllTests)\n{\n    ProcessIsolatedTestRunner::ExecutionOptions options;\n    options.stopOnFirstFailure = false;\n    options.verboseLogging     = true;\n\n    RUN_ISOLATED_TESTS_WITH_OPTIONS(\n        options,\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncSendCount_AllReduce\",\n            []()\n            {\n                size_t count  = 1000;\n                int    nRanks = 4;\n                size_t result = ncclFuncSendCount(ncclFuncAllReduce, nRanks, count);\n                EXPECT_EQ(result, count);\n            }\n        ),\n\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncSendCount_Broadcast\",\n            []()\n            {\n                size_t count  = 1000;\n                int    nRanks = 4;\n                size_t result = ncclFuncSendCount(ncclFuncBroadcast, nRanks, count);\n                EXPECT_EQ(result, count);\n            }\n        ),\n\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncSendCount_Reduce\",\n            []()\n            {\n                size_t count  = 1000;\n                int    nRanks = 4;\n                size_t result = ncclFuncSendCount(ncclFuncReduce, nRanks, count);\n                EXPECT_EQ(result, count);\n            }\n        ),\n\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncSendCount_AllGather\",\n            []()\n            {\n                size_t count  = 1000;\n                int    nRanks = 4;\n                size_t result = ncclFuncSendCount(ncclFuncAllGather, nRanks, count);\n                EXPECT_EQ(result, count);\n            }\n        ),\n\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncSendCount_ReduceScatter\",\n            []()\n            {\n                size_t count  = 1000;\n                int    nRanks = 4;\n                size_t result = ncclFuncSendCount(ncclFuncReduceScatter, nRanks, count);\n                EXPECT_EQ(result, count * nRanks);\n            }\n        ),\n\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncSendCount_ZeroCount\",\n            []()\n            {\n                size_t result = ncclFuncSendCount(ncclFuncAllReduce, 4, 0);\n                EXPECT_EQ(result, 0);\n            }\n        )\n    );\n}\n\n// Test ncclFuncRecvCount function\nTEST_F(EnqueueTests, ncclFuncRecvCount_AllTests)\n{\n    ProcessIsolatedTestRunner::ExecutionOptions options;\n    options.stopOnFirstFailure = false;\n    options.verboseLogging     = true;\n\n    RUN_ISOLATED_TESTS_WITH_OPTIONS(\n        options,\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncRecvCount_AllReduce\",\n            []()\n            {\n                size_t count  = 1000;\n                int    nRanks = 4;\n                size_t result = ncclFuncRecvCount(ncclFuncAllReduce, nRanks, count);\n                EXPECT_EQ(result, count);\n            }\n        ),\n\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncRecvCount_Broadcast\",\n            []()\n            {\n                size_t count  = 1000;\n                int    nRanks = 4;\n                size_t result = ncclFuncRecvCount(ncclFuncBroadcast, nRanks, count);\n                EXPECT_EQ(result, count);\n            }\n        ),\n\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncRecvCount_Reduce\",\n            []()\n            {\n                size_t count  = 1000;\n                int    nRanks = 4;\n                size_t result = ncclFuncRecvCount(ncclFuncReduce, nRanks, count);\n                EXPECT_EQ(result, count);\n            }\n        ),\n\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncRecvCount_AllGather\",\n            []()\n            {\n                size_t count  = 1000;\n                int    nRanks = 4;\n                size_t result = ncclFuncRecvCount(ncclFuncAllGather, nRanks, count);\n                EXPECT_EQ(result, count * nRanks);\n            }\n        ),\n\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncRecvCount_ReduceScatter\",\n            []()\n            {\n                size_t count  = 1000;\n                int    nRanks = 4;\n                size_t result = ncclFuncRecvCount(ncclFuncReduceScatter, nRanks, count);\n                EXPECT_EQ(result, count);\n            }\n        ),\n\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncRecvCount_ZeroCount\",\n            []()\n            {\n                size_t result = ncclFuncRecvCount(ncclFuncAllReduce, 4, 0);\n                EXPECT_EQ(result, 0);\n            }\n        )\n    );\n}\n\n// Test ncclFuncMaxSendRecvCount function\nTEST_F(EnqueueTests, ncclFuncMaxSendRecvCount_AllTests)\n{\n    ProcessIsolatedTestRunner::ExecutionOptions options;\n    options.stopOnFirstFailure = false;\n    options.verboseLogging     = true;\n\n    RUN_ISOLATED_TESTS_WITH_OPTIONS(\n        options,\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncMaxSendRecvCount_AllReduce\",\n            []()\n            {\n                size_t count  = 1000;\n                int    nRanks = 4;\n                size_t result = ncclFuncMaxSendRecvCount(ncclFuncAllReduce, nRanks, count);\n                EXPECT_EQ(result, count);\n            }\n        ),\n\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncMaxSendRecvCount_AllGather\",\n            []()\n            {\n                size_t count  = 1000;\n                int    nRanks = 4;\n                size_t result = ncclFuncMaxSendRecvCount(ncclFuncAllGather, nRanks, count);\n                // For AllGather, receive count (count * nRanks) is larger than send count (count)\n                EXPECT_EQ(result, count * nRanks);\n            }\n        ),\n\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncMaxSendRecvCount_ReduceScatter\",\n            []()\n            {\n                size_t count  = 1000;\n                int    nRanks = 4;\n                size_t result = ncclFuncMaxSendRecvCount(ncclFuncReduceScatter, nRanks, count);\n                // For ReduceScatter, send count (count) is larger than receive count (count/nRanks)\n                EXPECT_EQ(result, count * nRanks);\n            }\n        ),\n\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncMaxSendRecvCount_ZeroCount\",\n            []()\n            {\n                size_t result = ncclFuncMaxSendRecvCount(ncclFuncAllReduce, 4, 0);\n                EXPECT_EQ(result, 0);\n            }\n        )\n    );\n}\n\n// Edge case tests\nTEST_F(EnqueueTests, ncclFuncCounts_EdgeCases)\n{\n    ProcessIsolatedTestRunner::ExecutionOptions options;\n    options.stopOnFirstFailure = false;\n    options.verboseLogging     = true;\n\n    RUN_ISOLATED_TESTS_WITH_OPTIONS(\n        options,\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncCounts_SingleRank\",\n            []()\n            {\n                size_t count  = 1000;\n                int    nRanks = 1;\n                // Test with single rank\n                EXPECT_EQ(ncclFuncSendCount(ncclFuncAllReduce, nRanks, count), count);\n                EXPECT_EQ(ncclFuncRecvCount(ncclFuncAllReduce, nRanks, count), count);\n                EXPECT_EQ(ncclFuncMaxSendRecvCount(ncclFuncAllReduce, nRanks, count), count);\n            }\n        ),\n\n        ProcessIsolatedTestRunner::TestConfig(\n            \"ncclFuncCounts_LargeRankCount\",\n            []()\n            {\n                size_t count  = 1000;\n                int    nRanks = 1024;\n                // Test with large number of ranks\n                EXPECT_EQ(ncclFuncSendCount(ncclFuncAllGather, nRanks, count), count);\n                EXPECT_EQ(ncclFuncRecvCount(ncclFuncAllGather, nRanks, count), count * nRanks);\n                EXPECT_EQ(\n                    ncclFuncMaxSendRecvCount(ncclFuncAllGather, nRanks, count),\n                    count * nRanks\n                );\n            }\n        )\n    );\n}\n\n} // namespace RcclUnitTesting"
  },
  {
    "path": "test/GatherTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"TestBed.hpp\"\n\nnamespace RcclUnitTesting\n{\n  TEST(Gather, OutOfPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollGather};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat32};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {1};\n    std::vector<int>            const numElements     = {1048576, 127};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Gather, OutOfPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollGather};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat16, ncclFloat64};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {1};\n    std::vector<int>            const numElements     = {924873};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n\n  TEST(Gather, InPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollGather};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclInt8, ncclInt32};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {13576};\n    std::vector<bool>           const inPlaceList     = {true};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Gather, InPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollGather};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclInt64, ncclFloat16};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {1048576};\n    std::vector<bool>           const inPlaceList     = {true};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Gather, ManagedMem)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollGather};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclUint8, ncclUint32};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {1};\n    std::vector<int>            const numElements     = {1051234};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Gather, ManagedMemGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollGather};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclUint64};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {1};\n    std::vector<int>            const numElements     = {5231};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n}\n"
  },
  {
    "path": "test/GroupCallTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"TestBed.hpp\"\n\nnamespace RcclUnitTesting\n{\n  // Test identical collectives within the same group call\n  TEST(GroupCall, Identical)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAllReduce, ncclCollAllReduce, ncclCollAllReduce};\n    std::vector<ncclRedOp_t>    const testRedOps      = {ncclSum, ncclSum, ncclSum};\n    std::vector<ncclDataType_t> const testDataTypes   = {ncclFloat, ncclFloat, ncclFloat};\n    std::vector<int>            const numElements     = {1048576, 384 * 1024, 384};\n\n    int                         const numCollPerGroup = numElements.size();\n    bool                        const inPlace         = false;\n    bool                        const useManagedMem   = false;\n\n    std::vector<ncclDataType_t> dataTypes;\n    testBed.GetSupportedDataTypes(dataTypes, testDataTypes);\n    if (dataTypes.empty()) {\n      GTEST_SKIP() << \"Skipping... test datatypes excluded by UT_DATATYPES.\";\n    }\n\n    std::vector<ncclRedOp_t> redOps;\n    testBed.GetSupportedRedOps(redOps, testRedOps);\n    if (redOps.empty()) {\n      GTEST_SKIP() << \"Skipping... test reduction operations excluded by UT_REDOPS.\";\n    }\n\n    bool isCorrect = true;\n    for (int totalRanks : testBed.ev.GetNumGpusList())\n    for (int isMultiProcess : testBed.ev.GetIsMultiProcessList())\n    {\n      // Test either single process all GPUs, or 1 process per GPU\n      int const numProcesses = isMultiProcess ? totalRanks : 1;\n      const std::vector<int>& gpuPriorityOrder = testBed.ev.GetGpuPriorityOrder();\n      testBed.InitComms(TestBed::GetDeviceIdsList(numProcesses, totalRanks, gpuPriorityOrder), numCollPerGroup);\n\n      if (testBed.ev.showNames)\n        INFO(\"%s %d-ranks GroupCall Identical\\n\", isMultiProcess ? \"MP\" : \"SP\", totalRanks);\n\n      // Set up the different collectives within the group\n      for (int collIdx = 0; collIdx < numCollPerGroup; ++collIdx)\n      {\n        OptionalColArgs options;\n        options.redOp = redOps[collIdx];\n        testBed.SetCollectiveArgs(funcTypes[collIdx],\n                                  dataTypes[collIdx],\n                                  numElements[collIdx],\n                                  numElements[collIdx],\n                                  options,\n                                  collIdx);\n      }\n\n      testBed.AllocateMem(inPlace, useManagedMem);\n      testBed.PrepareData();\n      testBed.ExecuteCollectives();\n      testBed.ValidateResults(isCorrect);\n      testBed.DeallocateMem();\n      testBed.DestroyComms();\n    }\n    testBed.Finalize();\n  }\n\n  // Test different collectives within the same group call\n  TEST(GroupCall, Different)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollBroadcast,\n                                                         ncclCollAllGather,\n                                                         ncclCollReduceScatter,\n                                                         ncclCollAllReduce,\n                                                         ncclCollGather,\n                                                         ncclCollScatter,\n                                                         ncclCollAlltoAll};\n    int                         const numCollPerGroup = funcTypes.size();\n    int                         const numElements     = 1048576;\n    bool                        const inPlace         = false;\n    bool                        const useManagedMem   = false;\n\n    OptionalColArgs options;\n    options.redOp = ncclSum;\n    options.root  = 0;\n\n    bool isCorrect = true;\n    for (int totalRanks : testBed.ev.GetNumGpusList())\n    for (int isMultiProcess : testBed.ev.GetIsMultiProcessList())\n    {\n      // Test either single process all GPUs, or 1 process per GPU\n      int const numProcesses = isMultiProcess ? totalRanks : 1;\n      const std::vector<int>& gpuPriorityOrder = testBed.ev.GetGpuPriorityOrder();\n      testBed.InitComms(TestBed::GetDeviceIdsList(numProcesses, totalRanks, gpuPriorityOrder), numCollPerGroup);\n\n      if (testBed.ev.showNames)\n        INFO(\"%s %d-ranks GroupCall Different\\n\", isMultiProcess ? \"MP\" : \"SP\", totalRanks);\n\n      // Set up the different collectives within the group\n      for (int collIdx = 0; collIdx < numCollPerGroup; ++collIdx)\n      {\n        int numInputElements;\n        int numOutputElements;\n        CollectiveArgs::GetNumElementsForFuncType(funcTypes[collIdx],\n                                                  numElements,\n                                                  totalRanks,\n                                                  &numInputElements,\n                                                  &numOutputElements);\n\n        testBed.SetCollectiveArgs(funcTypes[collIdx],\n                                  ncclFloat,\n                                  numInputElements,\n                                  numOutputElements,\n                                  options,\n                                  collIdx);\n      }\n\n      testBed.AllocateMem(inPlace, useManagedMem);\n      testBed.PrepareData();\n      testBed.ExecuteCollectives();\n      testBed.ValidateResults(isCorrect);\n      testBed.DeallocateMem();\n      testBed.DestroyComms();\n    }\n    testBed.Finalize();\n  }\n\n  // Test identical collectives with different data type\n  TEST(GroupCall, MixedDataType)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollAllReduce, ncclCollAllReduce, ncclCollAllReduce};\n    std::vector<ncclRedOp_t>    const testRedOps      = {ncclSum, ncclSum, ncclSum};\n    std::vector<ncclDataType_t> const testDataTypes   = {ncclFloat16, ncclFloat32, ncclFloat64};\n    std::vector<int>            const numElements     = {1048576, 384 * 1024, 384};\n\n    int                         const numCollPerGroup = numElements.size();\n    bool                        const inPlace         = false;\n    bool                        const useManagedMem   = false;\n\n    std::vector<ncclDataType_t> dataTypes;\n    testBed.GetSupportedDataTypes(dataTypes, testDataTypes);\n    if (dataTypes.empty()) {\n      GTEST_SKIP() << \"Skipping... test datatypes excluded by UT_DATATYPES.\";\n    }\n\n    std::vector<ncclRedOp_t> redOps;\n    testBed.GetSupportedRedOps(redOps, testRedOps);\n    if (redOps.empty()) {\n      GTEST_SKIP() << \"Skipping... test reduction operations excluded by UT_REDOPS.\";\n    }\n\n    bool isCorrect = true;\n    for (int totalRanks : testBed.ev.GetNumGpusList())\n    for (int isMultiProcess : testBed.ev.GetIsMultiProcessList())\n    {\n      // Test either single process all GPUs, or 1 process per GPU\n      int const numProcesses = isMultiProcess ? totalRanks : 1;\n      const std::vector<int>& gpuPriorityOrder = testBed.ev.GetGpuPriorityOrder();\n      testBed.InitComms(TestBed::GetDeviceIdsList(numProcesses, totalRanks, gpuPriorityOrder), numCollPerGroup);\n\n      if (testBed.ev.showNames)\n        INFO(\"%s %d-ranks GroupCall MixedDataType\\n\", isMultiProcess ? \"MP\" : \"SP\", totalRanks);\n\n      // Set up the different collectives within the group\n      for (int collIdx = 0; collIdx < numCollPerGroup; ++collIdx)\n      {\n        OptionalColArgs options;\n        options.redOp = redOps[collIdx];\n        testBed.SetCollectiveArgs(funcTypes[collIdx],\n                                  dataTypes[collIdx],\n                                  numElements[collIdx],\n                                  numElements[collIdx],\n                                  options,\n                                  collIdx);\n      }\n\n      testBed.AllocateMem(inPlace, useManagedMem);\n      testBed.PrepareData();\n      testBed.ExecuteCollectives();\n      testBed.ValidateResults(isCorrect);\n      testBed.DeallocateMem();\n      testBed.DestroyComms();\n    }\n    testBed.Finalize();\n  }\n\n  TEST(GroupCall, Multistream)\n  {\n    TestBed testBed;\n\n    // Configuration\n    int  const  numElements        = 1048576;\n    bool const  inPlace            = false;\n    bool const  useManagedMem      = false;\n\n    OptionalColArgs options;\n\n    // This test runs multiple AllReduce collectives on different streams within the same group call\n    bool isCorrect = true;\n    for (int totalRanks : testBed.ev.GetNumGpusList())\n    for (int isMultiProcess : testBed.ev.GetIsMultiProcessList())\n    {\n      // Test either single process all GPUs, or 1 process per GPU\n      int const numProcesses = isMultiProcess ? totalRanks : 1;\n\n      for (int numCollPerGroup = 2; numCollPerGroup <= 6; numCollPerGroup += 2)\n      {\n        for (int numStreamsPerGroup = numCollPerGroup; numStreamsPerGroup >= 2; numStreamsPerGroup -= 3)\n        {\n          if (testBed.ev.showNames)\n            INFO(\"%s %d-ranks Multistream %d-Group Calls across %d streams\\n\",\n                 isMultiProcess ? \"MP\" : \"SP\", totalRanks, numCollPerGroup, numStreamsPerGroup);\n\n          const std::vector<int>& gpuPriorityOrder = testBed.ev.GetGpuPriorityOrder();\n          testBed.InitComms(TestBed::GetDeviceIdsList(numProcesses, totalRanks, gpuPriorityOrder),\n                            numCollPerGroup, numStreamsPerGroup);\n\n          // Set up each collective in group in different stream (modulo numStreamsPerGroup)\n          options.redOp = ncclSum;\n          for (int collIdx = 0; collIdx < numCollPerGroup; ++collIdx)\n          {\n            testBed.SetCollectiveArgs(ncclCollAllReduce, ncclFloat, numElements, numElements,\n                                      options, collIdx, 0, -1, collIdx % numStreamsPerGroup);\n          }\n\n          testBed.AllocateMem(inPlace, useManagedMem);\n          testBed.PrepareData();\n          testBed.ExecuteCollectives();\n          testBed.ValidateResults(isCorrect);\n          testBed.DeallocateMem();\n          testBed.DestroyComms();\n        }\n      }\n    }\n    testBed.Finalize();\n  }\n\n  TEST(GroupCall, MultiGroupCall)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<std::vector<ncclFunc_t>> const groupCalls         = {{ncclCollAllReduce, ncclCollAllGather},\n                                                                     {ncclCollAlltoAll, ncclCollGather},\n                                                                     {ncclCollBroadcast, ncclCollReduceScatter}};\n    std::vector<std::vector<int>>        const numElements        = {{1250, 1048576}, {384, 384 * 1024}, {1048576, 127}};\n    std::vector<ncclDataType_t>          const testDataTypes      = {ncclFloat16, ncclFloat32, ncclBfloat16};\n    std::vector<ncclRedOp_t>             const testRedOps         = {ncclSum, ncclProd, ncclMax};\n    std::vector<int>                     const numCollsPerGroup   = {2, 2, 2};\n    std::vector<int>                     const numStreamsPerGroup = {1, 1, 1};\n    std::vector<bool>                    const useHipGraphList    = {true, false, true};\n    bool                                 const inPlace            = false;\n    bool                                 const useManagedMem      = false; \n    bool                                 const useBlocking        = true;\n    int                                  const numGroupCalls      = groupCalls.size();\n    int                                  const numIterations      = 10;\n\n    std::vector<ncclDataType_t> dataTypes;\n    testBed.GetSupportedDataTypes(dataTypes, testDataTypes);\n    if (dataTypes.empty()) {\n      GTEST_SKIP() << \"Skipping... test datatypes excluded by UT_DATATYPES.\";\n    }\n\n    std::vector<ncclRedOp_t> redOps;\n    testBed.GetSupportedRedOps(redOps, testRedOps);\n    if (redOps.empty()) {\n      GTEST_SKIP() << \"Skipping... test reduction operations excluded by UT_REDOPS.\";\n    }\n\n    bool isCorrect = true;\n    for (int totalRanks : testBed.ev.GetNumGpusList())\n    for (int isMultiProcess : testBed.ev.GetIsMultiProcessList())\n    {\n      int const numProcesses     = isMultiProcess ? totalRanks : 1;\n\n      // Initialize comms by specifying the # of group calls\n      const std::vector<int>& gpuPriorityOrder = testBed.ev.GetGpuPriorityOrder();\n      testBed.InitComms(TestBed::GetDeviceIdsList(numProcesses, totalRanks, gpuPriorityOrder), numCollsPerGroup, numStreamsPerGroup, numGroupCalls, useBlocking);\n\n      if (testBed.ev.showNames)\n        INFO(\"%s %d-ranks GroupCall MultiGroupCall\\n\", isMultiProcess ? \"MP\" : \"SP\", totalRanks);\n      \n      for (int groupCallIdx = 0; groupCallIdx < groupCalls.size(); ++groupCallIdx)\n      {\n        std::vector<ncclFunc_t> funcTypes = groupCalls[groupCallIdx];\n        OptionalColArgs options;\n        options.redOp = redOps[groupCallIdx];\n        options.root  = 0;\n\n        for (int collIdx = 0; collIdx < numCollsPerGroup[groupCallIdx]; ++collIdx)\n        {\n          int numInputElements;\n          int numOutputElements;\n          CollectiveArgs::GetNumElementsForFuncType(funcTypes[collIdx],\n                                                    numElements[groupCallIdx][collIdx],\n                                                    totalRanks,\n                                                    &numInputElements,\n                                                    &numOutputElements);\n\n          testBed.SetCollectiveArgs(funcTypes[collIdx],\n                                    dataTypes[groupCallIdx],\n                                    numInputElements,\n                                    numOutputElements,\n                                    options,\n                                    collIdx,\n                                    groupCallIdx);\n        }\n\n        testBed.AllocateMem(inPlace, useManagedMem, groupCallIdx);\n        testBed.PrepareData(groupCallIdx);\n\n        // Stream capture in advance for HIP graph enabled collective groups\n        if (useHipGraphList[groupCallIdx])\n        {\n          testBed.ExecuteCollectives({}, groupCallIdx, useHipGraphList[groupCallIdx]);\n        }\n      }\n\n      // Execute collectives based on groupIdx\n      for (int i = 0; i < numIterations; ++i)\n      {\n        // Select a random group call\n        int groupCallIdx = i % groupCalls.size();\n\n        // Use graphs if enabled otherwise execute the collective\n        if (useHipGraphList[groupCallIdx]) testBed.LaunchGraphs(groupCallIdx);\n        else testBed.ExecuteCollectives({}, groupCallIdx);\n        testBed.ValidateResults(isCorrect, groupCallIdx);\n      }\n\n      testBed.DeallocateMem();\n      testBed.DestroyGraphs();\n      testBed.DestroyComms();\n    }\n    testBed.Finalize();\n  }\n}\n"
  },
  {
    "path": "test/IpcsocketTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include <gtest/gtest.h>\n#include <rccl/rccl.h>\n#include <sys/wait.h>\n#include<proxy.h> \n#include <comm.h>\n#include <ipcsocket.h>\n\n#include \"TestBed.hpp\"\n\nnamespace RcclUnitTesting\n{\n  TEST(Ipcsocket, SocketInitNullHandle){\n    int rank = 0;\n    uint64_t hash = 0x1234;\n    volatile uint32_t abortFlag = 0;\n    // Call function with NULL handle\n    ncclResult_t result = ncclIpcSocketInit(NULL, rank, hash, &abortFlag);\n    // Check that it returns the correct error code\n    ASSERT_EQ(result, ncclInternalError);\n  }\n\n  TEST(Ipcsocket, SocketGetFdNullHandle){\n    int fd = -1;\n    ncclResult_t result = ncclIpcSocketGetFd(nullptr, &fd);\n    EXPECT_EQ(result, ncclInvalidArgument);\n  }\n\n  TEST(Ipcsocket, SocketCloseNullHandle){\n    ncclResult_t result = ncclIpcSocketClose(nullptr);\n    EXPECT_EQ(result, ncclInternalError);\n  }\n\n  TEST(Ipcsocket, SocketCloseNegativeHandle){\n    ncclIpcSocket handle = {};\n    handle.fd = -1;\n    ncclResult_t result = ncclIpcSocketClose(&handle);\n    EXPECT_EQ(result, ncclSuccess);\n  }\n\n  TEST(Ipcsocket, SendAndReceiveFd) {\n    int pipeFd[2]; // for sync from child -> parent\n    ASSERT_EQ(pipe(pipeFd), 0);\n  \n    pid_t pid = fork();\n    ASSERT_NE(pid, -1);\n  \n    const int rank = 1;\n    const uint64_t hash = 0x12345678;\n    volatile uint32_t abortFlag = 0;\n  \n    if (pid == 0) {\n      // === Child: Receiver ===\n      close(pipeFd[0]);\n  \n      char sockPath[108];\n      snprintf(sockPath, sizeof(sockPath), \"/tmp/ipc_sock_%lx\", hash);\n      unlink(sockPath);\n      \n      int listenFd = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n      ASSERT_GT(listenFd, 0);\n      \n      struct sockaddr_un addr = {};\n      addr.sun_family = AF_UNIX;\n      strncpy(addr.sun_path, sockPath, sizeof(addr.sun_path) - 1);\n      \n      ASSERT_EQ(bind(listenFd, (struct sockaddr*)&addr, sizeof(addr)), 0);\n      \n      ASSERT_EQ(listen(listenFd, 1), 0);\n      // Signal parent we're ready to accept\n      ASSERT_EQ(write(pipeFd[1], \"r\", 1), 1);\n    \n      close(pipeFd[1]);\n  \n      int connFd = accept(listenFd, NULL, NULL);\n      if (connFd < 0) { perror(\"accept\"); exit(4); }\n      ASSERT_GT(connFd, 0);\n\n      ncclIpcSocket handle = {\n        .fd = connFd,\n        .abortFlag = &abortFlag,\n      };\n      strncpy(handle.socketName, sockPath, sizeof(handle.socketName));\n  \n      int recvFd = -1;\n      ASSERT_EQ(ncclIpcSocketRecvFd(&handle, &recvFd), ncclSuccess);\n      ASSERT_GE(recvFd, 0);\n  \n      // Optionally verify FD\n      struct stat st;\n      ASSERT_EQ(fstat(recvFd, &st), 0);\n      \n      close(recvFd);\n      \n      // Send a new FD back to parent\n      int fdToSend = open(\"/dev/null\", O_RDONLY);\n      ASSERT_GE(fdToSend, 0);\n      ASSERT_EQ(ncclIpcSocketSendFd(&handle, fdToSend, rank, hash), ncclSuccess);\n      close(fdToSend);\n\n      close(connFd);\n      close(listenFd);\n      unlink(sockPath);\n      \n      _exit(0);\n    } else {\n      // === Parent: Sender ===\n      close(pipeFd[1]);\n  \n      char tmp;\n      ASSERT_EQ(read(pipeFd[0], &tmp, 1), 1); // wait for child to listen\n      close(pipeFd[0]);\n  \n      char sockPath[108];\n      snprintf(sockPath, sizeof(sockPath), \"/tmp/ipc_sock_%lx\", hash);\n  \n      int sockFd = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n      ASSERT_GT(sockFd, 0);\n  \n      struct sockaddr_un addr = {};\n      addr.sun_family = AF_UNIX;\n      strncpy(addr.sun_path, sockPath, sizeof(addr.sun_path) - 1);\n  \n      ASSERT_EQ(connect(sockFd, (struct sockaddr*)&addr, sizeof(addr)), 0);\n  \n      ncclIpcSocket handle = {\n        .fd = sockFd,\n        .abortFlag = &abortFlag,\n      };\n      strncpy(handle.socketName, sockPath, sizeof(handle.socketName));\n  \n      int fdToSend = open(\"/dev/null\", O_RDONLY);\n      ASSERT_GE(fdToSend, 0);\n      ASSERT_EQ(ncclIpcSocketSendFd(&handle, fdToSend, rank, hash), ncclSuccess);\n      close(fdToSend);\n      \n      // Receive FD from child\n      int recvBackFd = -1;\n      ASSERT_EQ(ncclIpcSocketRecvFd(&handle, &recvBackFd), ncclSuccess);\n      ASSERT_GE(recvBackFd, 0);\n\n      struct stat st;\n      ASSERT_EQ(fstat(recvBackFd, &st), 0);\n      close(recvBackFd);\n\n      close(sockFd);\n  \n      int status = 0;\n      waitpid(pid, &status, 0);\n      EXPECT_TRUE(WIFEXITED(status) && WEXITSTATUS(status) == 0);\n    }\n  }\n}\n"
  },
  {
    "path": "test/NetSocketTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"net.h\"\n#include \"common/ProcessIsolatedTestRunner.hpp\"\n#include \"gtest/gtest.h\"\n#include <atomic>\n#include <cstring>\n#include <thread>\n\nextern ncclNet_t ncclNetSocket;\n\nnamespace RcclUnitTesting {\n\n/**\n * @brief Establishes a reliable connection pair (send and receive communicators) using the provided handle and listen communicator.\n *\n * This function attempts to create a pair of connected communicators (sendComm and recvComm) using the ncclNetSocket API.\n * It uses internal RAII guards to ensure proper cleanup in case of partial failures. The function coordinates accept and connect\n * operations in parallel threads, with extended timeouts and retries for robustness.\n *\n * @param handle        Pointer to the device handle used for connection.\n * @param listenComm    Pointer to the listen communicator, used for accepting connections.\n * @param[out] sendComm Reference to a pointer that will receive the newly created send communicator on success.\n *                      WARNING: The ownership of the communicator is transferred to the caller. The caller is responsible for\n *                      closing and cleaning up sendComm. If sendComm was previously pointing to a resource (e.g., a unique_ptr or\n *                      other managed pointer), it will be overwritten and the previous resource may be leaked. Ensure sendComm is\n *                      either nullptr or properly released before calling this function.\n * @param[out] recvComm Reference to a pointer that will receive the newly created receive communicator on success.\n *                      WARNING: The ownership of the communicator is transferred to the caller. The caller is responsible for\n *                      closing and cleaning up recvComm. If recvComm was previously pointing to a resource (e.g., a unique_ptr or\n *                      other managed pointer), it will be overwritten and the previous resource may be leaked. Ensure recvComm is\n *                      either nullptr or properly released before calling this function.\n *\n * @return true if both send and receive communicators were successfully established and ownership transferred to the caller;\n *         false otherwise (in which case all resources are cleaned up internally).\n */\nclass NetSocketTests : public ::testing::Test {\n\nprivate:\n  // RAII wrapper for send communicator\n  class SendCommGuard {\n  private:\n    void *comm_ = nullptr;\n\n  public:\n    explicit SendCommGuard(void *comm = nullptr)\n        : comm_(comm) {} // default constructor\n\n    // Move constructor\n    SendCommGuard(SendCommGuard &&other) noexcept : comm_(other.comm_) {\n      other.comm_ = nullptr;\n    }\n\n    // Move assignment\n    SendCommGuard &operator=(SendCommGuard &&other) noexcept {\n      if (this != &other) {\n        reset();\n        comm_ = other.comm_;\n        other.comm_ = nullptr;\n      }\n      return *this;\n    }\n\n    // Disable copy constructor and assignment\n    SendCommGuard(const SendCommGuard &other) = delete;\n    SendCommGuard &operator=(const SendCommGuard &other) = delete;\n\n    ~SendCommGuard() { reset(); }\n\n    void reset(void *comm = nullptr) {\n      if (comm_ && comm_ != comm) {\n        ncclResult_t result = ncclNetSocket.closeSend(comm_);\n        ASSERT_EQ(result, ncclSuccess) << \"SendCommGuard failed to close send communicator (comm_=\"\n                                      << comm_ << \"). ncclNetSocket.closeSend() returned error code: \"\n                                      << result << \". This indicates a potential resource leak or \"\n                                      << \"invalid communicator state during RAII cleanup.\";\n      }\n      comm_ = comm;\n    }\n\n    void *get() const { return comm_; }\n    void *release() {\n      void *temp = comm_;\n      comm_ = nullptr;\n      return temp;\n    }\n\n    explicit operator bool() const { return comm_ != nullptr; }\n  };\n\n  // RAII wrapper for receive communicator\n  class RecvCommGuard {\n  private:\n    void *comm_;\n\n  public:\n    explicit RecvCommGuard(void *comm = nullptr) : comm_(comm) {}\n\n    // Move constructor\n    RecvCommGuard(RecvCommGuard &&other) noexcept : comm_(other.comm_) {\n      other.comm_ = nullptr;\n    }\n\n    // Move assignment\n    RecvCommGuard &operator=(RecvCommGuard &&other) noexcept {\n      if (this != &other) {\n        reset();\n        comm_ = other.comm_;\n        other.comm_ = nullptr;\n      }\n      return *this;\n    }\n\n    // Disable copy\n    RecvCommGuard(const RecvCommGuard &) = delete;\n    RecvCommGuard &operator=(const RecvCommGuard &) = delete;\n\n    ~RecvCommGuard() { reset(); }\n\n    void reset(void *comm = nullptr) {\n      if (comm_ && comm_ != comm) {\n        ncclResult_t result = ncclNetSocket.closeRecv(comm_);\n        ASSERT_EQ(result, ncclSuccess) << \"RecvCommGuard failed to close receive communicator (comm_=\"\n                                      << comm_ << \"). ncclNetSocket.closeRecv() returned error code: \"\n                                      << result << \". This indicates a potential resource leak or \"\n                                      << \"invalid communicator state during RAII cleanup.\";\n      }\n      comm_ = comm;\n    }\n\n    void *get() const { return comm_; }\n    void *release() {\n      void *temp = comm_;\n      comm_ = nullptr;\n      return temp;\n    }\n\n    explicit operator bool() const { return comm_ != nullptr; }\n  };\n\nprotected:\n  void SetUp() override {\n    void* ctx = nullptr;\n    uint64_t commId = 0;\n    ncclNetCommConfig_t config = {};\n    ncclDebugLogger_t logFunction = nullptr;\n    ncclProfilerCallback_t profFunction = nullptr;\n    ncclResult_t result = ncclNetSocket.init(&ctx, commId, &config, logFunction, profFunction);\n    ASSERT_EQ(result, ncclSuccess) << \"Failed to initialize ncclNetSocket. \"\n                                   << \"Error code: \" << result\n                                   << \". Ensure RCCL networking is properly configured.\";\n\n    result = ncclNetSocket.devices(&ndev);\n    ASSERT_EQ(result, ncclSuccess) << \"Failed to query network devices. \"\n                                   << \"Error code: \" << result\n                                   << \". Check if network devices are available and accessible.\";\n\n    if (ndev == 0) {\n      GTEST_SKIP() << \"No network devices available for testing. \"\n                   << \"Ensure network hardware is present and properly configured.\";\n    }\n  }\n\n  int ndev = 0;\n\n  // Common function to test socket properties\n  void TestSocketProperties() {\n    INFO(NCCL_LOG_INFO, \"\\n=== Testing socket properties ===\");\n\n    // Test ncclNetSocketGetProperties for each device\n    for (int dev = 0; dev < ndev; dev++) {\n      ncclNetProperties_t props = {};\n      ncclResult_t propsResult = ncclNetSocket.getProperties(dev, &props);\n      INFO(NCCL_LOG_INFO, \"Device %d - getProperties result: %d\", dev,\n           propsResult);\n      if (propsResult == ncclSuccess) {\n        INFO(NCCL_LOG_INFO,\n             \"  Device %d properties: name='%s', pciPath='%s', guid=%llu, \"\n             \"speed=%d, port=%d, maxComms=%d\",\n             dev, props.name, props.pciPath, (unsigned long long)props.guid,\n             props.speed, props.port, props.maxComms);\n      }\n      EXPECT_EQ(propsResult, ncclSuccess)\n          << \"getProperties failed for device \" << dev\n          << \". ncclNetSocket.getProperties() returned error code: \" << propsResult\n          << \". Verify device \" << dev << \" is available and properly configured.\";\n    }\n  }\n\n  // Common function to establish a connection pair with improved reliability\n  bool EstablishConnectionPair(void *handle, void *listenComm, void *&sendComm,\n                               void *&recvComm) {\n    // Allow overriding max attempts via environment variable for flexibility\n    int maxAttempts = 100;\n    const char* maxAttemptsEnv = getenv(\"RCCL_TEST_NETSOCKET_MAX_ATTEMPTS\");\n    if (maxAttemptsEnv) {\n      maxAttempts = ParseEnvVar(maxAttemptsEnv, \"RCCL_TEST_NETSOCKET_MAX_ATTEMPTS\", 100, 1);\n    }\n\n    // Allow overriding sleep duration via environment variable for flexibility\n    int sleepMs = 100;\n    const char* sleepMsEnv = getenv(\"RCCL_TEST_NETSOCKET_SLEEP_MS\");\n    if (sleepMsEnv) {\n      sleepMs = ParseEnvVar(sleepMsEnv, \"RCCL_TEST_NETSOCKET_SLEEP_MS\", 100, 1);\n    }\n\n    // Initialize output parameters\n    sendComm = nullptr;\n    recvComm = nullptr;\n\n    // RAII guards for automatic cleanup\n    SendCommGuard sendGuard;\n    RecvCommGuard recvGuard;\n\n    std::atomic<bool> connectionEstablished{false};\n    std::atomic<bool> acceptCompleted{false};\n    std::atomic<bool> connectCompleted{false};\n    std::atomic<bool> shouldStop{false};\n\n    INFO(NCCL_LOG_INFO,\n         \"Establishing connection pair with enhanced reliability\");\n\n    std::thread connectAcceptThread([&]() {\n      // Accept thread with longer timeout and better coordination\n      std::thread acceptThread([&]() {\n        ncclNetDeviceHandle_t *recvDevComm = nullptr;\n        void *tempRecvComm = nullptr;\n\n        // Increased attempts and longer total timeout for reliability\n        for (int attempt = 0; attempt < maxAttempts && !shouldStop.load(); attempt++) {\n          ncclResult_t acceptResult =\n              ncclNetSocket.accept(listenComm, &tempRecvComm, &recvDevComm);\n          if (acceptResult == ncclSuccess && tempRecvComm != nullptr) {\n            recvGuard.reset(tempRecvComm);\n            acceptCompleted.store(true);\n            INFO(NCCL_LOG_INFO, \"Accept completed successfully on attempt %d\",\n                 attempt + 1);\n            break;\n          }\n\n          // Longer sleep for network stability\n          std::this_thread::sleep_for(std::chrono::milliseconds(sleepMs));\n        }\n\n        if (!acceptCompleted.load()) {\n          INFO(NCCL_LOG_INFO, \"Accept thread timed out after %d attempts\", maxAttempts);\n        }\n      });\n\n      // Connect thread with longer timeout and better coordination\n      std::thread connectThread([&]() {\n        ncclNetCommConfig_t config = {};\n        ncclNetDeviceHandle_t *sendDevComm = nullptr;\n        void *tempSendComm = nullptr;\n\n        // Give accept thread more time to start listening\n        std::this_thread::sleep_for(std::chrono::milliseconds(sleepMs));\n\n        // Increased attempts and longer total timeout for reliability\n        for (int attempt = 0; attempt < 100 && !shouldStop.load(); attempt++) {\n          void* ctx = nullptr;\n          int dev = 0;\n          ncclResult_t connectResult = ncclNetSocket.connect(ctx, dev, handle, &tempSendComm, &sendDevComm);\n          if (connectResult == ncclSuccess && tempSendComm != nullptr) {\n            sendGuard.reset(tempSendComm);\n            connectCompleted = true;\n            INFO(NCCL_LOG_INFO, \"Connect completed successfully on attempt %d\",\n                 attempt + 1);\n            break;\n          }\n\n          // Longer sleep for network stability\n          std::this_thread::sleep_for(std::chrono::milliseconds(sleepMs));\n        }\n\n        if (!connectCompleted.load()) {\n          INFO(NCCL_LOG_INFO, \"Connect thread timed out after %d attempts\", maxAttempts);\n        }\n      });\n\n      // Wait for both threads with overall timeout\n      auto startTime = std::chrono::steady_clock::now();\n      const auto maxWaitTime =\n          std::chrono::seconds(10); // 10 second overall timeout\n\n      while (!acceptCompleted.load() || !connectCompleted.load()) {\n        auto currentTime = std::chrono::steady_clock::now();\n        if (currentTime - startTime > maxWaitTime) {\n          INFO(NCCL_LOG_INFO,\n               \"Overall connection timeout reached, stopping threads\");\n          shouldStop.store(true);\n          break;\n        }\n\n        // Check every 100ms\n        std::this_thread::sleep_for(std::chrono::milliseconds(100));\n      }\n\n      acceptThread.join();\n      connectThread.join();\n\n      // Check if both operations completed successfully\n      connectionEstablished = acceptCompleted.load() &&\n                              connectCompleted.load() && sendGuard && recvGuard;\n    });\n\n    connectAcceptThread.join();\n\n    if (connectionEstablished) {\n      // Transfer ownership to output parameters\n      sendComm = sendGuard.release();\n      recvComm = recvGuard.release();\n\n      INFO(NCCL_LOG_INFO, \"Successfully established connection pair\");\n      return true;\n    } else {\n      INFO(NCCL_LOG_INFO,\n           \"Failed to establish connection pair - accept: %s, connect: %s\",\n           acceptCompleted.load() ? \"success\" : \"failed\",\n           connectCompleted.load() ? \"success\" : \"failed\");\n      // RAII guards will automatically clean up any partial connections\n      return false;\n    }\n  }\n\n  // Common function to setup memory and operations for a test size\n  bool SetupOperationsForSize(void *sendComm, void *recvComm, size_t testSize,\n                              std::vector<std::vector<char>> &sendBuffers,\n                              std::vector<std::vector<char>> &recvBuffers,\n                              std::vector<void *> &sendMhandles,\n                              std::vector<void *> &recvMhandles,\n                              std::vector<void *> &sendRequests,\n                              std::vector<void *> &recvRequests,\n                              uint8_t fillPattern = 0xCD) {\n\n    // Create buffers\n    sendBuffers.emplace_back(testSize, fillPattern);\n    recvBuffers.emplace_back(testSize, 0x00);\n\n    void *sendMhandle = nullptr;\n    void *recvMhandle = nullptr;\n\n    // Register memory\n    ncclResult_t sendRegResult =\n        ncclNetSocket.regMr(sendComm, sendBuffers.back().data(), testSize,\n                            NCCL_PTR_HOST, &sendMhandle);\n    ncclResult_t recvRegResult =\n        ncclNetSocket.regMr(recvComm, recvBuffers.back().data(), testSize,\n                            NCCL_PTR_HOST, &recvMhandle);\n\n    // Always add handles to vectors (even if nullptr)\n    // to maintain consistency with buffer vectors for proper cleanup\n    sendMhandles.push_back(sendMhandle);\n    recvMhandles.push_back(recvMhandle);\n\n    if (sendRegResult == ncclSuccess && recvRegResult == ncclSuccess) {\n      INFO(NCCL_LOG_INFO, \"Memory registration successful for size %zu\",\n           testSize);\n\n      // Start send operation\n      void *sendRequest = nullptr;\n      ncclResult_t sendResult =\n          ncclNetSocket.isend(sendComm, sendBuffers.back().data(), testSize, 0,\n                              sendMhandle, nullptr, &sendRequest);\n\n      // Start receive operation\n      void *recvRequest = nullptr;\n      void *recvDataPtr = recvBuffers.back().data();\n      size_t recvSize = testSize;\n      int tag = 0;\n      ncclResult_t recvResult =\n          ncclNetSocket.irecv(recvComm, 1, &recvDataPtr, &recvSize, &tag,\n                              &recvMhandle, nullptr, &recvRequest);\n\n      if (sendResult == ncclSuccess && recvResult == ncclSuccess &&\n          sendRequest && recvRequest) {\n        sendRequests.push_back(sendRequest);\n        recvRequests.push_back(recvRequest);\n        INFO(NCCL_LOG_INFO, \"Successfully started operations for size %zu\",\n             testSize);\n        return true;\n      } else {\n        INFO(NCCL_LOG_INFO,\n             \"Failed to start operations - send result: %d, recv result: %d\",\n             sendResult, recvResult);\n        sendRequests.push_back(nullptr);\n        recvRequests.push_back(nullptr);\n        // NOTE: Memory handles are already in vectors and will be cleaned up by DeregisterMemory\n        return false;\n      }\n    } else {\n      INFO(NCCL_LOG_INFO,\n           \"Failed to register memory - send result: %d, recv result: %d\",\n           sendRegResult, recvRegResult);\n      // NOTE: Even if only one registration succeeded, the handle is in the vector\n      // and will be properly cleaned up by DeregisterMemory (it handles nullptr gracefully)\n      sendRequests.push_back(nullptr);\n      recvRequests.push_back(nullptr);\n      return false;\n    }\n  }\n\n  // Common function to progress operations and test ncclNetSocketGetTask\n  bool ProgressOperations(void *sendRequest, void *recvRequest, size_t testSize,\n                          const std::string &testContext = \"\") {\n    const int maxTestIterations = 10;\n    bool taskCreationExercised = false;\n\n    INFO(NCCL_LOG_INFO,\n         \"Starting progress testing - this exercises ncclNetSocketGetTask%s\",\n         testContext.c_str());\n\n    for (int testIter = 0; testIter < maxTestIterations; testIter++) {\n      INFO(NCCL_LOG_INFO, \"  Progress test iteration %d/%d\", testIter + 1,\n           maxTestIterations);\n\n      if (sendRequest && recvRequest) {\n        int sendDone = 0, recvDone = 0;\n        int sendSize = 0, recvSize_out = 0;\n\n        ncclResult_t sendTestResult =\n            ncclNetSocket.test(sendRequest, &sendDone, &sendSize);\n        ncclResult_t recvTestResult =\n            ncclNetSocket.test(recvRequest, &recvDone, &recvSize_out);\n\n        INFO(NCCL_LOG_INFO, \"    Send test: result=%d, done=%d\", sendTestResult,\n             sendDone);\n        INFO(NCCL_LOG_INFO, \"    Recv test: result=%d, done=%d\", recvTestResult,\n             recvDone);\n\n        // If we reach this point with successful or in-progress results,\n        // ncclNetSocketGetTask was exercised\n        if ((sendTestResult == ncclSuccess ||\n             sendTestResult == ncclInProgress) &&\n            (recvTestResult == ncclSuccess ||\n             recvTestResult == ncclInProgress)) {\n          taskCreationExercised = true;\n          INFO(NCCL_LOG_INFO,\n               \"    *** SUCCESS: ncclNetSocketGetTask was exercised! ***\");\n          INFO(NCCL_LOG_INFO,\n               \"    Task exercised with sendTestResult=%d (%s), recvTestResult=%d (%s)\",\n               sendTestResult,\n               (sendTestResult == ncclSuccess) ? \"ncclSuccess\" : \"ncclInProgress\",\n               recvTestResult,\n               (recvTestResult == ncclSuccess) ? \"ncclSuccess\" : \"ncclInProgress\");\n        }\n\n        // Count completed operations\n        if (sendDone && recvDone) {\n          INFO(NCCL_LOG_INFO, \"    Operations completed successfully!\");\n          break;\n        }\n\n        // If operations fail, that's okay - we still exercised the code path\n        if (sendTestResult != ncclSuccess && sendTestResult != ncclInProgress) {\n          INFO(NCCL_LOG_INFO, \"    Send operation failed, but \"\n                              \"ncclNetSocketGetTask was still exercised\");\n          break;\n        }\n        if (recvTestResult != ncclSuccess && recvTestResult != ncclInProgress) {\n          INFO(NCCL_LOG_INFO, \"    Recv operation failed, but \"\n                              \"ncclNetSocketGetTask was still exercised\");\n          break;\n        }\n      }\n\n      // Give time between tests\n      std::this_thread::sleep_for(std::chrono::milliseconds(50));\n    }\n\n    if (taskCreationExercised) {\n      INFO(NCCL_LOG_INFO,\n           \"*** VERIFICATION: ncclNetSocketGetTask was successfully exercised \"\n           \"for buffer size %zu ***\",\n           testSize);\n    }\n\n    return taskCreationExercised;\n  }\n\n  // Common function to deregister memory and test ncclNetSocketDeregMr\n  void DeregisterMemory(void *sendComm, void *recvComm,\n                        const std::vector<void *> &sendMhandles,\n                        const std::vector<void *> &recvMhandles,\n                        size_t testSize) {\n    INFO(NCCL_LOG_INFO,\n         \"\\n=== Testing ncclNetSocketDeregMr for size %zu ===\", testSize);\n\n    // Deregister send memory handles\n    for (size_t j = 0; j < sendMhandles.size(); j++) {\n      if (sendComm) {\n        INFO(NCCL_LOG_INFO, \"Deregistering send memory handle %zu for size %zu\",\n             j, testSize);\n        ncclResult_t deregResult =\n            ncclNetSocket.deregMr(sendComm, sendMhandles[j]);\n        INFO(NCCL_LOG_INFO, \"Send memory deregMr result: %d\", deregResult);\n        EXPECT_EQ(deregResult, ncclSuccess) << \"Failed to deregister send memory handle \" << j\n                                    << \" for buffer size \" << testSize << \". \"\n                                    << \"ncclNetSocket.deregMr() returned error code: \" << deregResult\n                                    << \". This may indicate memory registration/deregistration mismatch.\";\n      }\n    }\n\n    // Deregister receive memory handles\n    for (size_t j = 0; j < recvMhandles.size(); j++) {\n      if (recvComm) {\n        INFO(NCCL_LOG_INFO, \"Deregistering recv memory handle %zu for size %zu\",\n             j, testSize);\n        ncclResult_t deregResult =\n            ncclNetSocket.deregMr(recvComm, recvMhandles[j]);\n        INFO(NCCL_LOG_INFO, \"Recv memory deregMr result: %d\", deregResult);\n        EXPECT_EQ(deregResult, ncclSuccess) << \"Failed to deregister send memory handle \" << j\n                                    << \" for buffer size \" << testSize << \". \"\n                                    << \"ncclNetSocket.deregMr() returned error code: \" << deregResult\n                                    << \". This may indicate memory registration/deregistration mismatch.\";\n      }\n    }\n  }\n\n  // Common function to cleanup communicators\n  void CleanupCommunicators(const std::vector<void *> &sendComms,\n                            const std::vector<void *> &recvComms,\n                            void *listenComm) {\n    INFO(NCCL_LOG_INFO, \"\\nCleaning up communicators...\");\n\n    for (size_t i = 0; i < sendComms.size(); i++) {\n      if (sendComms[i]) {\n        INFO(NCCL_LOG_INFO, \"Closing send communicator %zu\", i);\n        ncclResult_t closeResult = ncclNetSocket.closeSend(sendComms[i]);\n        EXPECT_EQ(closeResult, ncclSuccess) << \"Failed to close send communicator \" << i\n                                           << \". ncclNetSocket.closeSend() returned error code: \" << closeResult\n                                           << \". This may indicate communicator state corruption or resource cleanup issues.\";\n      }\n    }\n\n    for (size_t i = 0; i < recvComms.size(); i++) {\n      if (recvComms[i]) {\n        INFO(NCCL_LOG_INFO, \"Closing recv communicator %zu\", i);\n        ncclResult_t closeResult = ncclNetSocket.closeRecv(recvComms[i]);\n        EXPECT_EQ(closeResult, ncclSuccess) << \"Failed to close receive communicator \" << i\n                                           << \". ncclNetSocket.closeRecv() returned error code: \" << closeResult\n                                           << \". This may indicate communicator state corruption or resource cleanup issues.\";\n      }\n    }\n\n    if (listenComm) {\n      INFO(NCCL_LOG_INFO, \"Closing listen communicator\");\n      ncclResult_t closeResult = ncclNetSocket.closeListen(listenComm);\n      EXPECT_EQ(closeResult, ncclSuccess) << \"Failed to close listen communicator. \"\n                                         << \"ncclNetSocket.closeListen() returned error code: \" << closeResult\n                                         << \". This may indicate listen socket state corruption or resource cleanup issues.\";\n      listenComm = nullptr;\n    }\n  }\n\n  // Common function to get test buffer sizes\n  std::vector<size_t> GetTestSizes() {\n    return {\n        1024,           // Small - basic test\n        64 * 1024,      // MIN_CHUNKSIZE - boundary case\n        128 * 1024,     // 2x MIN_CHUNKSIZE - will exercise subdivision\n        256 * 1024,     // 4x MIN_CHUNKSIZE - multiple chunks\n        512 * 1024,     // 8x MIN_CHUNKSIZE - many chunks\n        1024 * 1024,    // Large - stress test\n        2 * 1024 * 1024 // Very large - comprehensive test\n    };\n  }\n\n  // Helper function to safely parse environment variables\n  int ParseEnvVar(const char* envVar, const char* envName, int defaultValue = 0, int minValue = 0) {\n    if (!envVar || strlen(envVar) == 0) {\n      return defaultValue;\n    }\n\n    char* endPtr = nullptr;\n    errno = 0;\n    long result = std::strtol(envVar, &endPtr, 10);\n\n    // Check for various error conditions - using ADD_FAILURE instead of GTEST_FAIL\n    if (errno == ERANGE) {\n      ADD_FAILURE() << \"Environment variable \" << envName << \"='\" << envVar\n                   << \"' is out of range for integer conversion. \"\n                   << \"Please provide a valid integer value.\";\n      return defaultValue;\n    }\n\n    if (endPtr == envVar) {\n      ADD_FAILURE() << \"Environment variable \" << envName << \"='\" << envVar\n                   << \"' is not a valid number. \"\n                   << \"Please provide a valid integer value (e.g., \" << envName << \"=8).\";\n      return defaultValue;\n    }\n\n    if (*endPtr != '\\0') {\n      ADD_FAILURE() << \"Environment variable \" << envName << \"='\" << envVar\n                   << \"' contains non-numeric characters. \"\n                   << \"Please provide a valid integer value (e.g., \" << envName << \"=8).\";\n      return defaultValue;\n    }\n\n    if (result < minValue) {\n      ADD_FAILURE() << \"Environment variable \" << envName << \"='\" << envVar\n                   << \"' must be >= \" << minValue << \". \"\n                   << \"Current value: \" << result << \". Please provide a valid positive integer.\";\n      return defaultValue;\n    }\n\n    if (result > INT_MAX) {\n      ADD_FAILURE() << \"Environment variable \" << envName << \"='\" << envVar\n                   << \"' is too large (> \" << INT_MAX << \"). \"\n                   << \"Please provide a smaller integer value.\";\n      return defaultValue;\n    }\n\n    return static_cast<int>(result);\n  }\n\n  void RunConcurrentOperationsTaskCreationWithEnvVars() {\n    INFO(NCCL_LOG_INFO, \"Checking socket configuration environment variables\");\n\n    // Check if the required environment variables are set\n    const char *nThreadsEnv = getenv(\"NCCL_SOCKET_NTHREADS\");\n    const char *nSocksPerThreadEnv = getenv(\"NCCL_NSOCKS_PERTHREAD\");\n\n    if (!nThreadsEnv || !nSocksPerThreadEnv) {\n      GTEST_SKIP() << \"SKIPPING TEST: Required environment variables not set. \"\n                  << \"Please set the following environment variables to run this test: \"\n                  << \"export NCCL_SOCKET_NTHREADS=1 and export NCCL_NSOCKS_PERTHREAD=2. \"\n                  << \"This ensures nSocks > 0 so that ncclNetSocketGetTask gets called. \"\n                  << \"Environment variables NCCL_SOCKET_NTHREADS and NCCL_NSOCKS_PERTHREAD must be set\";\n      return;\n    }\n\n    int nThreads = ParseEnvVar(nThreadsEnv, \"NCCL_SOCKET_NTHREADS\", 0, 1);\n    int nSocksPerThread = ParseEnvVar(nSocksPerThreadEnv, \"NCCL_NSOCKS_PERTHREAD\", 0, 1);\n\n    // Additional validation for reasonable upper bounds\n    const int MAX_THREADS = 16;\n    const int MAX_SOCKS_PER_THREAD = 64;\n    const int MAX_TOTAL_SOCKETS = 64;\n\n    if (nThreads > MAX_THREADS) {\n      GTEST_SKIP() << \"SKIPPING TEST: NCCL_SOCKET_NTHREADS=\" << nThreads << \" exceeds maximum \" << MAX_THREADS << \". \"\n                  << \"Please provide a reasonable value (e.g., NCCL_SOCKET_NTHREADS=8). \"\n                  << \"Values too large may cause resource exhaustion.\";\n      return;\n    }\n\n    if (nSocksPerThread > MAX_SOCKS_PER_THREAD) {\n      GTEST_SKIP() << \"SKIPPING TEST: NCCL_NSOCKS_PERTHREAD=\" << nSocksPerThread << \" exceeds maximum \" << MAX_SOCKS_PER_THREAD << \". \"\n                  << \"Please provide a reasonable value (e.g., NCCL_NSOCKS_PERTHREAD=4). \"\n                  << \"Values too large may cause resource exhaustion.\";\n      return;\n    }\n\n    // Check for potential overflow before multiplication\n    if (nThreads > 0 && nSocksPerThread > INT_MAX / nThreads) {\n      GTEST_SKIP() << \"SKIPPING TEST: Configuration would cause integer overflow. \"\n                  << \"NCCL_SOCKET_NTHREADS=\" << nThreads << \" * NCCL_NSOCKS_PERTHREAD=\" << nSocksPerThread\n                  << \" exceeds maximum integer value. Please use smaller values.\";\n      return;\n    }\n\n    int totalSockets = nThreads * nSocksPerThread;\n\n    INFO(NCCL_LOG_INFO, \"Environment configuration found:\");\n    INFO(NCCL_LOG_INFO, \"  NCCL_SOCKET_NTHREADS=%d\", nThreads);\n    INFO(NCCL_LOG_INFO, \"  NCCL_NSOCKS_PERTHREAD=%d\", nSocksPerThread);\n    INFO(NCCL_LOG_INFO, \"  Total sockets=%d\", totalSockets);\n\n    // Validate total sockets count\n    if (totalSockets <= 0) {\n      GTEST_SKIP() << \"SKIPPING TEST: Invalid configuration - total sockets must be > 0. \"\n                  << \"Current configuration: nThreads=\" << nThreads << \" * nSocksPerThread=\" << nSocksPerThread\n                  << \" = \" << totalSockets << \". \"\n                  << \"Both NCCL_SOCKET_NTHREADS and NCCL_NSOCKS_PERTHREAD must be positive integers. \"\n                  << \"Example: export NCCL_SOCKET_NTHREADS=2 && export NCCL_NSOCKS_PERTHREAD=2\";\n      return;\n    }\n\n    if (totalSockets > MAX_TOTAL_SOCKETS) {\n      GTEST_SKIP() << \"SKIPPING TEST: Total sockets \" << totalSockets << \" exceeds maximum \" << MAX_TOTAL_SOCKETS << \". \"\n                  << \"Current configuration: nThreads=\" << nThreads << \" * nSocksPerThread=\" << nSocksPerThread\n                  << \" = \" << totalSockets << \". \"\n                  << \"Please reduce either NCCL_SOCKET_NTHREADS or NCCL_NSOCKS_PERTHREAD. \"\n                  << \"Example: export NCCL_SOCKET_NTHREADS=8 && export NCCL_NSOCKS_PERTHREAD=4\";\n      return;\n    }\n\n    if (totalSockets > NCCL_NET_MAX_REQUESTS) {\n      GTEST_SKIP() << \"SKIPPING TEST: Total sockets \" << totalSockets << \" exceeds NCCL_NET_MAX_REQUESTS=\" << NCCL_NET_MAX_REQUESTS << \". \"\n                  << \"Current configuration: nThreads=\" << nThreads << \" * nSocksPerThread=\" << nSocksPerThread\n                  << \" = \" << totalSockets << \". \"\n                  << \"NCCL network layer can handle at most \" << NCCL_NET_MAX_REQUESTS << \" concurrent requests. \"\n                  << \"Please reduce configuration to stay within NCCL limits.\";\n      return;\n    }\n\n    INFO(NCCL_LOG_INFO, \"Configuration valid - proceeding with test to exercise \"\n                        \"ncclNetSocketGetTask\");\n\n    // Test socket properties\n    TestSocketProperties();\n\n    char handle[NCCL_NET_HANDLE_MAXSIZE];\n    void *listenComm = nullptr;\n\n    ncclResult_t result = ncclNetSocket.listen(nullptr, 0, handle, &listenComm);\n    ASSERT_EQ(result, ncclSuccess) << \"Failed to establish listening socket for test execution. \"\n                                  << \"ncclNetSocket.listen() returned error code: \" << result\n                                  << \". Verify network device availability and port accessibility.\";\n\n    INFO(NCCL_LOG_INFO, \"Testing task creation functionality - ensuring \"\n                        \"ncclNetSocketGetTask is called\");\n\n    std::vector<void *> sendComms;\n    std::vector<void *> recvComms;\n\n    // Establish connection\n    void *sendComm = nullptr;\n    void *recvComm = nullptr;\n    bool connectionSuccess =\n        EstablishConnectionPair(handle, listenComm, sendComm, recvComm);\n\n    if (connectionSuccess) {\n      sendComms.push_back(sendComm);\n      recvComms.push_back(recvComm);\n\n      // Test with buffer sizes that will trigger task subdivision\n      std::vector<size_t> testSizes = GetTestSizes();\n\n      for (size_t testSize : testSizes) {\n        INFO(NCCL_LOG_INFO,\n            \"\\n=== Testing with buffer size: %zu bytes ===\", testSize);\n        INFO(NCCL_LOG_INFO, \"This should trigger ncclNetSocketGetTask to create \"\n                            \"task subdivision\");\n\n        std::vector<void *> sendMhandles;\n        std::vector<void *> recvMhandles;\n        std::vector<void *> sendRequests;\n        std::vector<void *> recvRequests;\n        std::vector<std::vector<char>> sendBuffers;\n        std::vector<std::vector<char>> recvBuffers;\n\n        // Setup operations for this test size\n        bool setupSuccess = SetupOperationsForSize(\n            sendComm, recvComm, testSize, sendBuffers, recvBuffers, sendMhandles,\n            recvMhandles, sendRequests, recvRequests, 0xAB);\n\n        if (setupSuccess) {\n          // Progress operations with context about environment variables\n          ProgressOperations(sendRequests[0], recvRequests[0], testSize,\n                            \" (with nSocks > 0 from environment variables)\");\n        } else {\n          INFO(NCCL_LOG_INFO,\n              \"No operations started - skipping progress testing for size %zu\",\n              testSize);\n        }\n\n        // Deregister memory\n        DeregisterMemory(sendComm, recvComm, sendMhandles, recvMhandles,\n                        testSize);\n\n        INFO(NCCL_LOG_INFO,\n            \"=== Completed testing for buffer size: %zu bytes ===\", testSize);\n      }\n\n      INFO(NCCL_LOG_INFO, \"\\n*** TEST SUCCESS: ncclNetSocketGetTask was \"\n                          \"successfully exercised! ***\");\n    } else {\n      INFO(NCCL_LOG_INFO, \"No connections established - test passed (network may \"\n                          \"not be available)\");\n    }\n\n    // Cleanup\n    CleanupCommunicators(sendComms, recvComms, listenComm);\n    INFO(NCCL_LOG_INFO,\n        \"TestConcurrentOperationsTaskCreation completed successfully\");\n  }\n\n};\n\n// Test concurrent operations task creation in default configuration (without\n// env vars)\nTEST_F(NetSocketTests, TestConcurrentOperationsTaskCreationDefault) {\n  INFO(NCCL_LOG_INFO,\n       \"Testing task creation functionality in default configuration\");\n  INFO(NCCL_LOG_INFO,\n       \"This test exercises ncclNetSocketGetTask regardless of nSocks value\");\n\n  // Test socket properties\n  TestSocketProperties();\n\n  char handle[NCCL_NET_HANDLE_MAXSIZE];\n  void *listenComm = nullptr;\n\n  void* ctx = nullptr;\n  int dev = 0;\n  ncclResult_t result = ncclNetSocket.listen(ctx, dev, handle, &listenComm);\n  ASSERT_EQ(result, ncclSuccess) << \"Failed to establish listening socket for test execution. \"\n                                << \"ncclNetSocket.listen() returned error code: \" << result\n                                << \". Verify network device availability and port accessibility.\";\n\n  INFO(NCCL_LOG_INFO, \"Testing task creation functionality in default mode\");\n\n  std::vector<void *> sendComms;\n  std::vector<void *> recvComms;\n\n  // Establish connection\n  void *sendComm = nullptr;\n  void *recvComm = nullptr;\n  bool connectionSuccess =\n      EstablishConnectionPair(handle, listenComm, sendComm, recvComm);\n\n  if (connectionSuccess) {\n    sendComms.push_back(sendComm);\n    recvComms.push_back(recvComm);\n\n    // Test with various buffer sizes\n    std::vector<size_t> testSizes = GetTestSizes();\n\n    for (size_t testSize : testSizes) {\n      INFO(NCCL_LOG_INFO,\n           \"\\n=== Testing with buffer size: %zu bytes ===\", testSize);\n      INFO(NCCL_LOG_INFO,\n           \"This exercises ncclNetSocketGetTask task creation logic\");\n\n      std::vector<void *> sendMhandles;\n      std::vector<void *> recvMhandles;\n      std::vector<void *> sendRequests;\n      std::vector<void *> recvRequests;\n      std::vector<std::vector<char>> sendBuffers;\n      std::vector<std::vector<char>> recvBuffers;\n\n      // Setup operations for this test size\n      bool setupSuccess = SetupOperationsForSize(\n          sendComm, recvComm, testSize, sendBuffers, recvBuffers, sendMhandles,\n          recvMhandles, sendRequests, recvRequests, 0xCD);\n\n      if (setupSuccess) {\n        // Progress operations\n        bool taskExercised =\n            ProgressOperations(sendRequests[0], recvRequests[0], testSize);\n\n        if (!taskExercised) {\n          INFO(NCCL_LOG_INFO,\n               \"*** NOTE: Operations didn't progress as expected for size %zu, \"\n               \"but API was still exercised ***\",\n               testSize);\n        }\n      } else {\n        INFO(NCCL_LOG_INFO,\n             \"No operations started - skipping progress testing for size %zu\",\n             testSize);\n      }\n\n      // Deregister memory\n      DeregisterMemory(sendComm, recvComm, sendMhandles, recvMhandles,\n                       testSize);\n\n      INFO(NCCL_LOG_INFO,\n           \"=== Completed testing for buffer size: %zu bytes ===\", testSize);\n    }\n\n    INFO(NCCL_LOG_INFO, \"\\n*** TEST SUCCESS: ncclNetSocketGetTask was \"\n                        \"successfully exercised in default configuration! ***\");\n  } else {\n    INFO(NCCL_LOG_INFO, \"No connections established - test passed (network may \"\n                        \"not be available)\");\n  }\n\n  // Cleanup\n  CleanupCommunicators(sendComms, recvComms, listenComm);\n  INFO(NCCL_LOG_INFO,\n       \"TestConcurrentOperationsTaskCreationDefault completed successfully\");\n}\n\n// Test multiple concurrent operations to stress test task creation\nTEST_F(NetSocketTests, TestConcurrentOperationsTaskCreation) {\n  ProcessIsolatedTestRunner::ExecutionOptions options;\n  options.stopOnFirstFailure = false; // Continue running all tests\n  options.verboseLogging = true;\n\n  RUN_ISOLATED_TESTS_WITH_OPTIONS(options,\n    ProcessIsolatedTestRunner::TestConfig(\n        \"TestConcurrentOperationsTaskCreation\",\n        [this]() { RunConcurrentOperationsTaskCreationWithEnvVars(); })\n        .withEnvironment({{\"NCCL_SOCKET_NTHREADS\", \"1\"},\n                          {\"NCCL_NSOCKS_PERTHREAD\", \"2\"},\n                          {\"NCCL_DEBUG\", \"TRACE\"},\n                          {\"NCCL_DEBUG_SUBSYS\", \"ALL\"}})\n  );\n}\n\n// Test for invalid device index in listen function\nTEST_F(NetSocketTests, TestInvalidDeviceIndexListen) {\n  INFO(NCCL_LOG_INFO, \"Testing invalid device index in ncclNetSocketListen\");\n\n  char handle[NCCL_NET_HANDLE_MAXSIZE];\n  void *listenComm = nullptr;\n\n  // Test with negative device index\n  void* ctx = nullptr;\n  int dev = -1;\n  ncclResult_t result = ncclNetSocket.listen(ctx, dev, handle, &listenComm);\n  INFO(NCCL_LOG_INFO, \"Listen with dev=-1 returned: %d\", result);\n  EXPECT_EQ(result, ncclInternalError)\n      << \"Listen should fail with negative device index. \"\n      << \"ncclNetSocket.listen() with device index -1 should return ncclInternalError \"\n      << \"but returned: \" << result << \". Verify input validation for device indices.\";\n\n  // Test with device index greater than available devices\n  int invalidDev = ndev + 10;\n  result = ncclNetSocket.listen(ctx, invalidDev, handle, &listenComm);\n  INFO(NCCL_LOG_INFO, \"Listen with dev=%d (> ndev=%d) returned: %d\", invalidDev,\n       ndev, result);\n  EXPECT_EQ(result, ncclInternalError)\n      << \"Listen should fail with device index >= ndev. \"\n      << \"ncclNetSocket.listen() with device index \" << invalidDev << \" (> ndev=\" << ndev\n      << \") should return ncclInternalError but returned: \" << result\n      << \". Verify bounds checking for device indices.\";\n\n  INFO(NCCL_LOG_INFO, \"TestInvalidDeviceIndexListen completed\");\n}\n\n// Test for invalid device index in connect function\nTEST_F(NetSocketTests, TestInvalidDeviceIndexConnect) {\n  INFO(NCCL_LOG_INFO, \"Testing invalid device index in ncclNetSocketConnect\");\n\n  char handle[NCCL_NET_HANDLE_MAXSIZE];\n  void *sendComm = nullptr;\n  ncclNetCommConfig_t config = {};\n  ncclNetDeviceHandle_t *sendDevComm = nullptr;\n\n  // Test with negative device index\n  void* ctx = nullptr;\n  int dev = -1;\n  ncclResult_t result = ncclNetSocket.connect(ctx, dev, handle, &sendComm, &sendDevComm);\n  INFO(NCCL_LOG_INFO, \"Connect with dev=-1 returned: %d\", result);\n  EXPECT_EQ(result, ncclInternalError)\n      << \"Connect should fail with negative device index. \"\n      << \"ncclNetSocket.connect() with device index -1 should return ncclInternalError \"\n      << \"but returned: \" << result << \". Verify input validation for device indices.\";\n\n  // Test with device index greater than available devices\n  int invalidDev = ndev + 10;\n  result = ncclNetSocket.connect(ctx, invalidDev, handle, &sendComm, &sendDevComm);\n  INFO(NCCL_LOG_INFO, \"Connect with dev=%d (> ndev=%d) returned: %d\",\n       invalidDev, ndev, result);\n  EXPECT_EQ(result, ncclInternalError)\n      << \"Connect should fail with device index >= ndev. \"\n      << \"ncclNetSocket.connect() with device index \" << invalidDev << \" (> ndev=\" << ndev\n      << \") should return ncclInternalError but returned: \" << result\n      << \". Verify bounds checking for device indices.\";\n\n  INFO(NCCL_LOG_INFO, \"TestInvalidDeviceIndexConnect completed\");\n}\n\n// Test for NULL request in test function\nTEST_F(NetSocketTests, TestNullRequestInTest) {\n  INFO(NCCL_LOG_INFO, \"Testing NULL request in ncclNetSocketTest\");\n\n  int done = 0;\n  int size = 0;\n\n  // Test with NULL request\n  ncclResult_t result = ncclNetSocket.test(nullptr, &done, &size);\n  INFO(NCCL_LOG_INFO, \"Test with NULL request returned: %d\", result);\n  EXPECT_EQ(result, ncclInternalError) << \"Test should fail with NULL request. \"\n                                      << \"ncclNetSocket.test() with nullptr request should return ncclInternalError \"\n                                      << \"but returned: \" << result << \". Verify NULL pointer validation.\";\n\n  INFO(NCCL_LOG_INFO, \"TestNullRequestInTest completed\");\n}\n\n// Test for invalid array size in irecv function\nTEST_F(NetSocketTests, TestInvalidArraySizeIrecv) {\n  INFO(NCCL_LOG_INFO, \"Testing invalid array size in ncclNetSocketIrecv\");\n\n  // Setup a dummy communicator first\n  char handle[NCCL_NET_HANDLE_MAXSIZE];\n  void *listenComm = nullptr;\n  ncclResult_t result = ncclNetSocket.listen(nullptr, 0, handle, &listenComm);\n\n  if (result == ncclSuccess && listenComm) {\n    void *sendComm = nullptr;\n    void *recvComm = nullptr;\n    bool connectionSuccess =\n        EstablishConnectionPair(handle, listenComm, sendComm, recvComm);\n\n    if (connectionSuccess && recvComm) {\n      // Test with n != 1 (invalid for socket implementation)\n      std::vector<char> buffer1(1024, 0xAA);\n      std::vector<char> buffer2(1024, 0xBB);\n      void *data[2] = {buffer1.data(), buffer2.data()};\n      size_t sizes[2] = {1024, 1024};\n      int tags[2] = {0, 1};\n      void *mhandles[2] = {nullptr, nullptr};\n      void *phandles[2] = {nullptr, nullptr};\n      void *request = nullptr;\n\n      // Test with n=2 (should fail for socket implementation)\n      result = ncclNetSocket.irecv(recvComm, 2, data, sizes, tags, mhandles,\n                                   phandles, &request);\n      INFO(NCCL_LOG_INFO, \"Irecv with n=2 returned: %d\", result);\n      EXPECT_EQ(result, ncclInternalError) << \"Irecv should fail with n != 1. \"\n                                          << \"ncclNetSocket.irecv() with n=2 should return ncclInternalError \"\n                                          << \"but returned: \" << result << \". Socket implementation only supports n=1.\";\n\n      // Test with n=0 (should fail)\n      result = ncclNetSocket.irecv(recvComm, 0, data, sizes, tags, mhandles,\n                                   phandles, &request);\n      INFO(NCCL_LOG_INFO, \"Irecv with n=0 returned: %d\", result);\n      EXPECT_EQ(result, ncclInternalError) << \"Irecv should fail with n != 1. \"\n                                          << \"ncclNetSocket.irecv() with n=0 should return ncclInternalError \"\n                                          << \"but returned: \" << result << \". Socket implementation only supports n=1.\";\n\n      // Cleanup communicators\n      if (sendComm) {\n        ncclResult_t closeResult = ncclNetSocket.closeSend(sendComm);\n        EXPECT_EQ(closeResult, ncclSuccess) << \"Failed to close send communicator\";\n        sendComm = nullptr;\n      }\n\n      if (recvComm) {\n        ncclResult_t closeResult = ncclNetSocket.closeRecv(recvComm);\n        EXPECT_EQ(closeResult, ncclSuccess) << \"Failed to close receive communicator\";\n        recvComm = nullptr;\n      }\n    }\n\n    if (listenComm) {\n      ncclResult_t closeResult = ncclNetSocket.closeListen(listenComm);\n      EXPECT_EQ(closeResult, ncclSuccess) << \"Failed to close listen communicator\";\n      listenComm = nullptr;\n    }\n  }\n\n  INFO(NCCL_LOG_INFO, \"TestInvalidArraySizeIrecv completed\");\n}\n\n// Test for non-host memory type in regMr function\nTEST_F(NetSocketTests, TestNonHostMemoryRegMr) {\n  INFO(NCCL_LOG_INFO, \"Testing non-host memory type in ncclNetSocketRegMr\");\n\n  // Setup a dummy communicator first\n  char handle[NCCL_NET_HANDLE_MAXSIZE];\n  void *listenComm = nullptr;\n  ncclResult_t result = ncclNetSocket.listen(nullptr, 0, handle, &listenComm);\n\n  if (result == ncclSuccess && listenComm) {\n    void *sendComm = nullptr;\n    void *recvComm = nullptr;\n    bool connectionSuccess =\n        EstablishConnectionPair(handle, listenComm, sendComm, recvComm);\n\n    if (connectionSuccess && sendComm) {\n      std::vector<char> buffer(1024, 0xAA);\n      void *mhandle = nullptr;\n\n      // Test with NCCL_PTR_CUDA (should fail for socket implementation)\n      result = ncclNetSocket.regMr(sendComm, buffer.data(), 1024, NCCL_PTR_CUDA,\n                                   &mhandle);\n      INFO(NCCL_LOG_INFO, \"RegMr with NCCL_PTR_CUDA returned: %d\", result);\n      EXPECT_EQ(result, ncclInternalError)\n          << \"RegMr should fail with non-host memory type. \"\n          << \"ncclNetSocket.regMr() with NCCL_PTR_CUDA should return ncclInternalError \"\n          << \"but returned: \" << result << \". Socket implementation only supports NCCL_PTR_HOST.\";\n\n      // Test with valid NCCL_PTR_HOST (should succeed)\n      result = ncclNetSocket.regMr(sendComm, buffer.data(), 1024, NCCL_PTR_HOST,\n                                   &mhandle);\n      INFO(NCCL_LOG_INFO, \"RegMr with NCCL_PTR_HOST returned: %d\", result);\n      EXPECT_EQ(result, ncclSuccess)\n          << \"RegMr should succeed with host memory type. \"\n          << \"ncclNetSocket.regMr() with NCCL_PTR_HOST should return ncclSuccess \"\n          << \"but returned: \" << result << \". Verify host memory registration support.\";\n\n      // Cleanup communicators\n      if (sendComm) {\n        ncclResult_t closeResult = ncclNetSocket.closeSend(sendComm);\n        EXPECT_EQ(closeResult, ncclSuccess) << \"Failed to close send communicator\";\n        sendComm = nullptr;\n      }\n\n      if (recvComm) {\n        ncclResult_t closeResult = ncclNetSocket.closeRecv(recvComm);\n        EXPECT_EQ(closeResult, ncclSuccess) << \"Failed to close receive communicator\";\n        recvComm = nullptr;\n      }\n    }\n\n    if (listenComm) {\n      ncclResult_t closeResult = ncclNetSocket.closeListen(listenComm);\n      EXPECT_EQ(closeResult, ncclSuccess) << \"Failed to close listen communicator\";\n      listenComm = nullptr;\n    }\n  }\n\n  INFO(NCCL_LOG_INFO, \"TestNonHostMemoryRegMr completed\");\n}\n\n// Test for excessive thread configuration warning\nTEST_F(NetSocketTests, TestExcessiveThreadConfig) {\n  ProcessIsolatedTestRunner::ExecutionOptions options;\n  options.stopOnFirstFailure = false; // Continue running all tests\n  options.verboseLogging = true;\n\n  RUN_ISOLATED_TESTS_WITH_OPTIONS(options,\n    ProcessIsolatedTestRunner::TestConfig(\n        \"TestExcessiveThreadConfig\",\n        [this]() {\n            INFO(NCCL_LOG_INFO,\n                 \"Testing excessive thread configuration warning\");\n\n            // Check if the required environment variables are set\n            const char *nThreadsEnv = getenv(\"NCCL_SOCKET_NTHREADS\");\n            const char *nSocksPerThreadEnv = getenv(\"NCCL_NSOCKS_PERTHREAD\");\n\n            if (!nThreadsEnv || !nSocksPerThreadEnv) {\n              GTEST_SKIP()\n                  << \"SKIPPING TEST: Required environment variables not set. \"\n                  << \"This test requires NCCL_SOCKET_NTHREADS > \"\n                     \"NCCL_NET_MAX_REQUESTS (\"\n                  << NCCL_NET_MAX_REQUESTS\n                  << \") and NCCL_NSOCKS_PERTHREAD = 1 to trigger warning. \"\n                  << \"Environment variables NCCL_SOCKET_NTHREADS and \"\n                     \"NCCL_NSOCKS_PERTHREAD must be set\";\n              return;\n            }\n\n            // Parse with validation - both must be positive\n            int nThreads =\n                ParseEnvVar(nThreadsEnv, \"NCCL_SOCKET_NTHREADS\", 0, 1);\n            int nSocksPerThread =\n                ParseEnvVar(nSocksPerThreadEnv, \"NCCL_NSOCKS_PERTHREAD\", 0, 1);\n\n            // Check for potential overflow before multiplication\n            if (nThreads > 0 && nSocksPerThread > INT_MAX / nThreads) {\n              GTEST_SKIP() << \"SKIPPING TEST: Configuration would cause \"\n                              \"integer overflow. \"\n                           << \"NCCL_SOCKET_NTHREADS=\" << nThreads\n                           << \" * NCCL_NSOCKS_PERTHREAD=\" << nSocksPerThread\n                           << \" exceeds maximum integer value. Please use \"\n                              \"smaller values.\";\n              return;\n            }\n\n            int totalSockets = nThreads * nSocksPerThread;\n\n            INFO(NCCL_LOG_INFO, \"Environment configuration found:\");\n            INFO(NCCL_LOG_INFO, \"  NCCL_SOCKET_NTHREADS=%d\", nThreads);\n            INFO(NCCL_LOG_INFO, \"  NCCL_NSOCKS_PERTHREAD=%d\", nSocksPerThread);\n            INFO(NCCL_LOG_INFO, \"  Total sockets=%d\", totalSockets);\n\n            // Check if configuration is set to trigger the excessive threads\n            // warning Use NCCL_NET_MAX_REQUESTS instead of arbitrary\n            // MAX_THREADS\n            if (nThreads <= NCCL_NET_MAX_REQUESTS) {\n              GTEST_SKIP()\n                  << \"SKIPPING TEST: NCCL_SOCKET_NTHREADS must be > \"\n                  << NCCL_NET_MAX_REQUESTS\n                  << \" to test excessive thread warning. \"\n                  << \"Current NCCL_SOCKET_NTHREADS=\" << nThreads << \". \"\n                  << \"Please set: export NCCL_SOCKET_NTHREADS=\"\n                  << (NCCL_NET_MAX_REQUESTS + 1) << \". \"\n                  << \"NCCL_SOCKET_NTHREADS must be > NCCL_NET_MAX_REQUESTS (\"\n                  << NCCL_NET_MAX_REQUESTS << \") to trigger warning\";\n              return;\n            }\n\n            if (totalSockets >\n                NCCL_NET_MAX_REQUESTS *\n                    10) { // Allow 10x for testing excessive config\n              GTEST_SKIP() << \"SKIPPING TEST: Total sockets=\" << totalSockets\n                           << \" is unreasonably large (> \"\n                           << (NCCL_NET_MAX_REQUESTS * 10) << \"). \"\n                           << \"Please use more reasonable values for testing. \"\n                              \"NCCL_NET_MAX_REQUESTS=\"\n                           << NCCL_NET_MAX_REQUESTS << \". \"\n                           << \"Example: export NCCL_SOCKET_NTHREADS=\"\n                           << (NCCL_NET_MAX_REQUESTS + 1)\n                           << \" && export NCCL_NSOCKS_PERTHREAD=1\";\n              return;\n            }\n\n            INFO(NCCL_LOG_INFO,\n                 \"Configuration valid for testing excessive threads warning\");\n            INFO(NCCL_LOG_INFO,\n                 \"NCCL_SOCKET_NTHREADS=%d > NCCL_NET_MAX_REQUESTS=%d\", nThreads,\n                 NCCL_NET_MAX_REQUESTS);\n\n            // Test socket properties\n            TestSocketProperties();\n\n            // Initialize to trigger the warning logic\n            char handle[NCCL_NET_HANDLE_MAXSIZE];\n            void *listenComm = nullptr;\n            ncclResult_t result = ncclNetSocket.listen(nullptr, 0, handle, &listenComm);\n\n            if (result == ncclSuccess && listenComm) {\n              // The implementation should have limited the threads to\n              // NCCL_NET_MAX_REQUESTS internally\n              INFO(NCCL_LOG_INFO, \"*** SUCCESS: Listen succeeded with \"\n                                  \"excessive NCCL_SOCKET_NTHREADS - \"\n                                  \"limits enforced internally ***\");\n              ncclNetSocket.closeListen(listenComm);\n            } else {\n              INFO(NCCL_LOG_INFO, \"Listen failed with result: %d\", result);\n            }\n\n            INFO(NCCL_LOG_INFO, \"TestExcessiveThreadConfig completed\");\n        })\n        .withEnvironment({{\"NCCL_SOCKET_NTHREADS\", \"33\"},\n                          {\"NCCL_NSOCKS_PERTHREAD\", \"1\"},\n                          {\"NCCL_DEBUG\", \"TRACE\"},\n                          {\"NCCL_DEBUG_SUBSYS\", \"ALL\"}})\n  );\n}\n\n// Test for excessive socket configuration warning\nTEST_F(NetSocketTests, TestExcessiveSocketConfig) {\n  ProcessIsolatedTestRunner::ExecutionOptions options;\n  options.stopOnFirstFailure = false; // Continue running all tests\n  options.verboseLogging = true;\n\n  RUN_ISOLATED_TESTS_WITH_OPTIONS(options,\n    ProcessIsolatedTestRunner::TestConfig(\n        \"TestExcessiveThreadConfig\",\n        [this]() {\n            INFO(NCCL_LOG_INFO,\n                 \"Testing excessive socket configuration warning\");\n\n            // Check if the required environment variables are set\n            const char *nThreadsEnv = getenv(\"NCCL_SOCKET_NTHREADS\");\n            const char *nSocksPerThreadEnv = getenv(\"NCCL_NSOCKS_PERTHREAD\");\n\n            if (!nThreadsEnv || !nSocksPerThreadEnv) {\n              GTEST_SKIP()\n                  << \"SKIPPING TEST: Required environment variables not set. \"\n                  << \"This test requires total sockets (nThreads * \"\n                     \"nSocksPerThread) > MAX_SOCKETS (64). \"\n                  << \"Environment variables NCCL_SOCKET_NTHREADS and \"\n                     \"NCCL_NSOCKS_PERTHREAD must be set\";\n              return;\n            }\n\n            // Parse with validation - both must be positive\n            int nThreads =\n                ParseEnvVar(nThreadsEnv, \"NCCL_SOCKET_NTHREADS\", 0, 1);\n            int nSocksPerThread =\n                ParseEnvVar(nSocksPerThreadEnv, \"NCCL_NSOCKS_PERTHREAD\", 0, 1);\n\n            // Check for potential overflow before multiplication\n            if (nThreads > 0 && nSocksPerThread > INT_MAX / nThreads) {\n              GTEST_SKIP() << \"SKIPPING TEST: Configuration would cause \"\n                              \"integer overflow. \"\n                           << \"NCCL_SOCKET_NTHREADS=\" << nThreads\n                           << \" * NCCL_NSOCKS_PERTHREAD=\" << nSocksPerThread\n                           << \" exceeds maximum integer value. Please use \"\n                              \"smaller values.\";\n              return;\n            }\n\n            int totalSockets = nThreads * nSocksPerThread;\n\n            INFO(NCCL_LOG_INFO, \"Environment configuration found:\");\n            INFO(NCCL_LOG_INFO, \"  NCCL_SOCKET_NTHREADS=%d\", nThreads);\n            INFO(NCCL_LOG_INFO, \"  NCCL_NSOCKS_PERTHREAD=%d\", nSocksPerThread);\n            INFO(NCCL_LOG_INFO, \"  Total sockets=%d\", totalSockets);\n\n            // Check if configuration is set to trigger the excessive sockets\n            // warning\n            const int MAX_SOCKETS = 64;\n            if (totalSockets <= MAX_SOCKETS) {\n              GTEST_SKIP()\n                  << \"SKIPPING TEST: Total sockets must be > \" << MAX_SOCKETS\n                  << \" to test excessive socket warning. \"\n                  << \"Current total sockets=\" << totalSockets\n                  << \" (nThreads=\" << nThreads\n                  << \" * nSocksPerThread=\" << nSocksPerThread << \"). \"\n                  << \"Please set environment variables such that total > \"\n                  << MAX_SOCKETS << \", e.g.: \"\n                  << \"export NCCL_SOCKET_NTHREADS=9 && export \"\n                     \"NCCL_NSOCKS_PERTHREAD=8. \"\n                  << \"Total sockets must be > MAX_SOCKETS (\" << MAX_SOCKETS\n                  << \") to trigger warning\";\n              return;\n            }\n\n            // Additional validation against NCCL_NET_MAX_REQUESTS for\n            // reasonable upper bounds\n            if (totalSockets >\n                NCCL_NET_MAX_REQUESTS *\n                    10) { // Allow 10x for testing excessive config\n              GTEST_SKIP() << \"SKIPPING TEST: Total sockets=\" << totalSockets\n                           << \" is unreasonably large (> \"\n                           << (NCCL_NET_MAX_REQUESTS * 10) << \"). \"\n                           << \"Please use more reasonable values for testing. \"\n                              \"NCCL_NET_MAX_REQUESTS=\"\n                           << NCCL_NET_MAX_REQUESTS << \". \"\n                           << \"Example: export NCCL_SOCKET_NTHREADS=10 && \"\n                              \"export NCCL_NSOCKS_PERTHREAD=10\";\n              return;\n            }\n\n            INFO(NCCL_LOG_INFO,\n                 \"Configuration valid for testing excessive sockets warning\");\n            INFO(NCCL_LOG_INFO, \"Total sockets=%d > MAX_SOCKETS=64\",\n                 totalSockets);\n\n            // Test socket properties\n            TestSocketProperties();\n\n            // Initialize to trigger the warning logic\n            char handle[NCCL_NET_HANDLE_MAXSIZE];\n            void *listenComm = nullptr;\n            ncclResult_t result = ncclNetSocket.listen(nullptr, 0, handle, &listenComm);\n\n            if (result == ncclSuccess && listenComm) {\n              // The implementation should have limited the sockets to\n              // MAX_SOCKETS internally\n              INFO(NCCL_LOG_INFO,\n                   \"*** SUCCESS: Listen succeeded with excessive total \"\n                   \"sockets - limits enforced internally ***\");\n              ncclNetSocket.closeListen(listenComm);\n            } else {\n              INFO(NCCL_LOG_INFO, \"Listen failed with result: %d\", result);\n            }\n\n            INFO(NCCL_LOG_INFO, \"TestExcessiveSocketConfig completed\");\n        })\n        .withEnvironment({{\"NCCL_SOCKET_NTHREADS\", \"10\"},\n                          {\"NCCL_NSOCKS_PERTHREAD\", \"10\"},\n                          {\"NCCL_DEBUG\", \"TRACE\"},\n                          {\"NCCL_DEBUG_SUBSYS\", \"ALL\"}})\n  );\n}\n\n// Test to trigger request allocation failure scenario\nTEST_F(NetSocketTests, TestRequestAllocationFailure) {\n  INFO(NCCL_LOG_INFO, \"Testing request allocation failure scenario\");\n\n  // Setup communication\n  char handle[NCCL_NET_HANDLE_MAXSIZE];\n  void *listenComm = nullptr;\n  ncclResult_t result = ncclNetSocket.listen(nullptr, 0, handle, &listenComm);\n\n  if (result == ncclSuccess && listenComm) {\n    void *sendComm = nullptr;\n    void *recvComm = nullptr;\n    bool connectionSuccess =\n        EstablishConnectionPair(handle, listenComm, sendComm, recvComm);\n\n    if (connectionSuccess && sendComm && recvComm) {\n      INFO(NCCL_LOG_INFO, \"Attempting to exhaust request pool (MAX_REQUESTS)\");\n\n      std::vector<void *> requests;\n      std::vector<std::vector<char>> buffers;\n      std::vector<void *> mhandles;\n\n      // Try to allocate many requests to potentially exhaust the pool\n      // MAX_REQUESTS is defined as NCCL_NET_MAX_REQUESTS in the code\n      for (int i = 0; i < (NCCL_NET_MAX_REQUESTS * 10); i++) { // Try to exceed NCCL_NET_MAX_REQUESTS by a reasonable margin\n        buffers.emplace_back(1024, 0xAA + (i % 256));\n        void *mhandle = nullptr;\n\n        // Register memory first\n        result = ncclNetSocket.regMr(sendComm, buffers.back().data(), 1024,\n                                     NCCL_PTR_HOST, &mhandle);\n        EXPECT_EQ(result, ncclSuccess) << \"Memory registration failed at iteration \" << i\n                                      << \". ncclNetSocket.regMr() returned error code: \" << result\n                                      << \". Verify memory registration limits and resource availability.\";\n        if (result != ncclSuccess)\n          break;\n        mhandles.push_back(mhandle);\n\n        // Try to create send request\n        void *request = nullptr;\n        result = ncclNetSocket.isend(sendComm, buffers.back().data(), 1024, 0,\n                                     mhandle, nullptr, &request);\n\n        if (result == ncclInternalError) {\n          INFO(NCCL_LOG_INFO,\n               \"Request allocation failed at iteration %d (expected behavior \"\n               \"when pool exhausted)\",\n               i);\n          break;\n        } else if (result == ncclSuccess) {\n          requests.push_back(request);\n        } else {\n          INFO(NCCL_LOG_INFO, \"Unexpected result at iteration %d: %d\", i,\n               result);\n          break;\n        }\n      }\n\n      INFO(NCCL_LOG_INFO,\n           \"Successfully allocated %zu requests before failure/completion\",\n           requests.size());\n\n      // Cleanup: Test any pending requests and deregister memory\n      for (size_t i = 0; i < requests.size(); i++) {\n        if (requests[i]) {\n          int done = 0;\n          int size = 0;\n          ncclNetSocket.test(requests[i], &done,\n                             &size); // Don't care about result\n        }\n      }\n\n      for (size_t i = 0; i < mhandles.size(); i++) {\n        if (mhandles[i]) {\n          ncclNetSocket.deregMr(sendComm, mhandles[i]);\n        }\n      }\n\n      // Cleanup communicators\n      if (sendComm) {\n        ncclResult_t closeResult = ncclNetSocket.closeSend(sendComm);\n        EXPECT_EQ(closeResult, ncclSuccess) << \"Failed to close send communicator\";\n        sendComm = nullptr;\n      }\n      if (recvComm) {\n        ncclResult_t closeResult = ncclNetSocket.closeRecv(recvComm);\n        EXPECT_EQ(closeResult, ncclSuccess) << \"Failed to close receive communicator\";\n        recvComm = nullptr;\n      }\n    }\n\n    if (listenComm) {\n      ncclResult_t closeResult = ncclNetSocket.closeListen(listenComm);\n      EXPECT_EQ(closeResult, ncclSuccess) << \"Failed to close listen communicator\";\n      listenComm = nullptr;\n    }\n  }\n\n  INFO(NCCL_LOG_INFO, \"TestRequestAllocationFailure completed\");\n}\n\n// Test for message size mismatch scenario\nTEST_F(NetSocketTests, TestMessageSizeMismatch) {\n  INFO(NCCL_LOG_INFO, \"Testing message size mismatch scenario\");\n\n  // This test simulates the condition where a receiver expects a smaller\n  // message than what the sender is trying to send, which should trigger the\n  // truncation warning\n\n  char handle[NCCL_NET_HANDLE_MAXSIZE];\n  void *listenComm = nullptr;\n  ncclResult_t result = ncclNetSocket.listen(nullptr, 0, handle, &listenComm);\n\n  if (result == ncclSuccess && listenComm) {\n    void *sendComm = nullptr;\n    void *recvComm = nullptr;\n    bool connectionSuccess =\n        EstablishConnectionPair(handle, listenComm, sendComm, recvComm);\n\n    if (connectionSuccess && sendComm && recvComm) {\n      // Large send buffer\n      const size_t sendSize = 2048;\n      std::vector<char> sendBuffer(sendSize, 0xAA);\n\n      // Small receive buffer (to simulate size mismatch)\n      const size_t recvSize = 1024; // Smaller than send size\n      std::vector<char> recvBuffer(recvSize, 0x00);\n\n      void *sendMhandle = nullptr;\n      void *recvMhandle = nullptr;\n\n      // Register memory\n      result = ncclNetSocket.regMr(sendComm, sendBuffer.data(), sendSize,\n                                   NCCL_PTR_HOST, &sendMhandle);\n      EXPECT_EQ(result, ncclSuccess) << \"Failed to register send memory for size mismatch test. \"\n                                    << \"ncclNetSocket.regMr() returned error code: \" << result\n                                    << \". Verify memory registration support for buffer size \" << sendSize << \".\";\n\n      result = ncclNetSocket.regMr(recvComm, recvBuffer.data(), recvSize,\n                                   NCCL_PTR_HOST, &recvMhandle);\n      EXPECT_EQ(result, ncclSuccess) << \"Failed to register receive memory for size mismatch test. \"\n                                    << \"ncclNetSocket.regMr() returned error code: \" << result\n                                    << \". Verify memory registration support for buffer size \" << recvSize << \".\";\n\n      // Start send operation with large size\n      void *sendRequest = nullptr;\n      result = ncclNetSocket.isend(sendComm, sendBuffer.data(), sendSize, 0,\n                                   sendMhandle, nullptr, &sendRequest);\n      EXPECT_EQ(result, ncclSuccess) << \"Failed to start send operation for size mismatch test. \"\n                                    << \"ncclNetSocket.isend() returned error code: \" << result\n                                    << \". Verify send operation support for buffer size \" << sendSize << \".\";\n\n      // Start receive operation with small size\n      void *recvRequest = nullptr;\n      void *recvDataPtr = recvBuffer.data();\n      size_t recvSizeVar = recvSize;\n      int tag = 0;\n      result = ncclNetSocket.irecv(recvComm, 1, &recvDataPtr, &recvSizeVar,\n                                   &tag, &recvMhandle, nullptr, &recvRequest);\n      EXPECT_EQ(result, ncclSuccess) << \"Failed to start receive operation for size mismatch test. \"\n                                    << \"ncclNetSocket.irecv() returned error code: \" << result\n                                    << \". Verify receive operation support for buffer size \" << recvSize << \".\";\n\n      // Progress operations - this should eventually trigger the size mismatch\n      // warning\n      for (int i = 0; i < 100; i++) {\n          if (sendRequest) {\n            int sendDone = 0, sendSize_out = 0;\n            ncclResult_t sendTestResult = ncclNetSocket.test(sendRequest, &sendDone, &sendSize_out);\n            if (sendTestResult != ncclSuccess || sendDone) {\n              INFO(NCCL_LOG_INFO, \"Send operation completed: result=%d, done=%d\", sendTestResult, sendDone);\n              sendRequest = nullptr; // Request is cleaned up by the networking layer\n            }\n          }\n\n          if (recvRequest) {\n            int recvDone = 0, recvSize_out = 0;\n            ncclResult_t recvTestResult = ncclNetSocket.test(recvRequest, &recvDone, &recvSize_out);\n            if (recvTestResult != ncclSuccess || recvDone) {\n              INFO(NCCL_LOG_INFO, \"Recv operation completed: result=%d, done=%d, size=%d\",\n                   recvTestResult, recvDone, recvSize_out);\n              recvRequest = nullptr; // Request is cleaned up by the networking layer\n            }\n          }\n\n          if (!sendRequest && !recvRequest) {\n            INFO(NCCL_LOG_INFO, \"Both operations completed after %d iterations\", i + 1);\n            break;\n          }\n\n        std::this_thread::sleep_for(std::chrono::milliseconds(10));\n      }\n\n      // Cleanup memory handles\n      if (sendMhandle && sendComm) {\n        ncclResult_t deregResult = ncclNetSocket.deregMr(sendComm, sendMhandle);\n        if (deregResult != ncclSuccess) {\n          INFO(NCCL_LOG_INFO, \"Warning: Failed to deregister send memory handle: %d\", deregResult);\n        }\n        sendMhandle = nullptr;\n      }\n\n      if (recvMhandle && recvComm) {\n        ncclResult_t deregResult = ncclNetSocket.deregMr(recvComm, recvMhandle);\n        if (deregResult != ncclSuccess) {\n          INFO(NCCL_LOG_INFO, \"Warning: Failed to deregister recv memory handle: %d\", deregResult);\n        }\n        recvMhandle = nullptr;\n      }\n\n      // Cleanup communicators\n      if (sendComm) {\n        ncclResult_t closeResult = ncclNetSocket.closeSend(sendComm);\n        EXPECT_EQ(closeResult, ncclSuccess) << \"Failed to close send communicator\";\n        sendComm = nullptr;\n      }\n      if (recvComm) {\n        ncclResult_t closeResult = ncclNetSocket.closeRecv(recvComm);\n        EXPECT_EQ(closeResult, ncclSuccess) << \"Failed to close receive communicator\";\n        recvComm = nullptr;\n      }\n    }\n\n    if (listenComm) {\n      ncclResult_t closeResult = ncclNetSocket.closeListen(listenComm);\n      EXPECT_EQ(closeResult, ncclSuccess) << \"Failed to close listen communicator\";\n      listenComm = nullptr;\n    }\n  }\n\n  INFO(NCCL_LOG_INFO, \"TestMessageSizeMismatch completed\");\n}\n\n// Test to cover the iflush function that always returns ncclInternalError\nTEST_F(NetSocketTests, TestIflushAlwaysFails) {\n  INFO(NCCL_LOG_INFO,\n       \"Testing ncclNetSocketIflush always returns ncclInternalError\");\n\n  // This function should always return ncclInternalError for socket\n  // implementation as it doesn't support CUDA pointers and flush operations\n\n  std::vector<char> buffer(1024, 0xAA);\n  void *data = buffer.data();\n  int size = 1024;\n  void *mhandle = nullptr;\n  void *request = nullptr;\n\n  // Test with dummy parameters - should always fail\n  ncclResult_t result =\n      ncclNetSocket.iflush(nullptr, 1, &data, &size, &mhandle, &request);\n  INFO(NCCL_LOG_INFO, \"ncclNetSocketIflush returned: %d\", result);\n  EXPECT_EQ(result, ncclInternalError)\n      << \"iflush should always return ncclInternalError\";\n\n  INFO(NCCL_LOG_INFO, \"TestIflushAlwaysFails completed\");\n}\n\n} // namespace RcclUnitTesting\n"
  },
  {
    "path": "test/NonBlockingTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"TestBed.hpp\"\n\nnamespace RcclUnitTesting\n{\n  // Test various collectives using with non-blocking comms\n  TEST(NonBlocking, SingleCalls)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t> const  funcTypes = {ncclCollBroadcast,\n                                                ncclCollReduce,\n                                                ncclCollAllGather,\n                                                ncclCollReduceScatter,\n                                                ncclCollAllReduce,\n                                                ncclCollGather,\n                                                ncclCollScatter};\n    int        const  numElements   = 1048576;\n    bool       const  inPlace       = false;\n    bool       const  useManagedMem = false;\n    bool       const  useBlocking   = false;\n\n    OptionalColArgs options;\n    options.redOp = ncclSum;\n\n    bool isCorrect = true;\n    for (int totalRanks : testBed.ev.GetNumGpusList())\n    for (int isMultiProcess : testBed.ev.GetIsMultiProcessList())\n    {\n      int const numProcesses = isMultiProcess ? totalRanks : 1;\n      // Initialize communicators in non-blocking mode\n      const std::vector<int>& gpuPriorityOrder = testBed.ev.GetGpuPriorityOrder();\n      testBed.InitComms(TestBed::GetDeviceIdsList(numProcesses, totalRanks, gpuPriorityOrder), 1, 1, 1, useBlocking);\n\n      // Loop over various collective functions\n      for (auto funcType : funcTypes)\n      {\n        if (testBed.ev.showNames)\n          INFO(\"%s %d-ranks Non-Blocking %s\\n\",\n               isMultiProcess ? \"MP\" : \"SP\", totalRanks, ncclFuncNames[funcType]);\n\n        int numInputElements;\n        int numOutputElements;\n        CollectiveArgs::GetNumElementsForFuncType(funcType,\n                                                  numElements,\n                                                  totalRanks,\n                                                  &numInputElements,\n                                                  &numOutputElements);\n\n        testBed.SetCollectiveArgs(funcType,\n                                  ncclFloat,\n                                  numInputElements,\n                                  numOutputElements,\n                                  options);\n\n        testBed.AllocateMem(inPlace, useManagedMem);\n        testBed.PrepareData();\n        testBed.ExecuteCollectives();\n        testBed.ValidateResults(isCorrect);\n        testBed.DeallocateMem();\n      }\n      testBed.DestroyComms();\n    }\n    testBed.Finalize();\n  }\n}\n"
  },
  {
    "path": "test/ParamTests.cpp",
    "content": "// Modification Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n// SPDX-License-Identifier: MIT\n\n#include \"param.h\"\n#include <gtest/gtest.h>\n#include <rccl/rccl.h>\n\nnamespace RcclUnitTesting {\nTEST(ParamTests, initEnv_ParseValidConfFile) {\n  // Skip the test if NCCL_CONF_FILE is not set\n  const char *value = getenv(\"NCCL_CONF_FILE\");\n\n  if (!value) {\n    GTEST_SKIP() << \"SKIPPING TEST. Set environment variable NCCL_CONF_FILE.\\n\"\n                 << \"A sample config file has been provided at: \"\n                    \"rccl/test/ParamTestsConfFile.txt\\n\"\n                 << \"Set NCCL_CONF_FILE to the absolute path of this file to \"\n                    \"run the test.\\n\";\n  }\n  // This function call reads and opens the conf file from the path\n  // which is set using env. variable NCCL_CONF_FILE\n  initEnv();\n\n  EXPECT_EQ(getenv(\"TEST_VAR_WITH_NO_VALUE\"), nullptr);\n  EXPECT_STREQ(getenv(\"TEST_VAR\"), \"12345\");\n\n  // Clean up\n  unsetenv(\"TEST_VAR_WITH_NO_VALUE\");\n  unsetenv(\"TEST_VAR\");\n}\n\nTEST(ParamTests, ncclLoadParam_InvalidParam) {\n  int64_t cache = -1;\n  const int64_t defaultVal = 12345; // Dummy input value\n\n  // Force overflow: value exceeds int64_t max (9223372036854775807)\n  setenv(\"TEST_INVALID_PARAM\", \"99999999999999999999\",\n         1); // Dummy variable and value\n  ncclLoadParam(\"TEST_INVALID_PARAM\", defaultVal, -1, &cache);\n  unsetenv(\"TEST_INVALID_PARAM\");\n\n  EXPECT_EQ(cache, defaultVal); // Cache should be set to default value\n}\n} // namespace RcclUnitTesting\n"
  },
  {
    "path": "test/ParamTestsConfFile.txt",
    "content": "# Comment: This file is required to run unit tests for param.cc\nTEST_VAR_WITH_NO_VALUE\nTEST_VAR=12345"
  },
  {
    "path": "test/ProxyTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"collectives.h\"\n#include \"comm.h\"\n#include \"gtest/gtest.h\"\n#include \"info.h\"\n#include \"profiler.h\"\n#include \"shmutils.h\"\n#include \"socket.h\"\n#define ENABLE_TIMER 0\n#include <assert.h>\n#include <poll.h>\n#include <sched.h>\n#include <sys/syscall.h>\n#include <sys/time.h>\n#include <sys/types.h>\n#include <unistd.h>\n\n#include \"common/ErrCode.hpp\"\n#include \"common/ProcessIsolatedTestRunner.hpp\"\n#include \"profiler.h\"\n#include \"proxy.h\"\n#include \"timer.h\"\n#include \"transport.h\"\n\n#define NCCL_MAX_OPS (2048)\n#define OP_INDEX(op) ((op) ? (op) - state->pools->elems : -1)\n#define OP_SEEN 0x100000\n\nncclResult_t getOpIndex(\n    struct ncclProxyArgs* op, struct ncclProxyProgressState* state, int* poolIndex, int* opIndex\n);\nncclResult_t dumpProxyState(struct ncclProxyProgressState* state);\nncclResult_t printProxyOp(struct ncclProxyArgs* op, int poolIndex, int opIndex);\nncclResult_t dumpProxyState(struct ncclProxyProgressState* state);\nncclResult_t ncclProxyCallBlockingUDS(\n    struct ncclComm*           comm,\n    struct ncclProxyConnector* proxyConn,\n    int                        type,\n    void*                      reqBuff,\n    int                        reqSize,\n    void*                      respBuff,\n    int                        respSize,\n    int*                       reqFd,\n    int*                       respFd\n);\nncclResult_t ncclProxyClientGetFdBlocking(\n    struct ncclComm* comm, int proxyRank, void* handle, int* convertedFd\n);\nncclResult_t ncclProxyClientQueryFdBlocking(\n    struct ncclComm* comm, struct ncclProxyConnector* proxyConn, int localFd, int* rmtFd\n);\n\nvoid ncclDumpProxyState(int signal);\n\n#define PROXYARGS_ALLOCATE_SIZE NCCL_MAX_OPS\n\nstruct ncclProxyPool\n{\n    struct ncclProxyPool* next;\n    struct ncclProxyArgs  elems[PROXYARGS_ALLOCATE_SIZE];\n};\n\nvoid init_ncclProxyArgs_struct(ncclProxyArgs* pool_ptr)\n{\n    // init pool_ptr\n    pool_ptr->send        = 2;\n    pool_ptr->nextRank    = 4;\n    pool_ptr->prevRank    = 5;\n    pool_ptr->pattern     = ncclPatternRing;\n    pool_ptr->nsubs       = 1;\n    pool_ptr->state       = ncclProxyOpNone;\n    pool_ptr->retry_total = 2;\n}\n\nnamespace RcclUnitTesting\n{\nTEST(ProxyTests, getOpIndex)\n{ // Tests what is the index of the pool being passed within\n  // the known valid pools in state ptr\n    INFO(\"[ProxyTests] Test Start \\n\");\n\n    // Init Dummy structs\n    struct ncclProxyArgs*          pool_ptr   = new ncclProxyArgs;\n    struct ncclProxyPool*          pools_ptr  = new ncclProxyPool;\n    struct ncclProxyPool*          pools2_ptr = new ncclProxyPool;\n    struct ncclProxyProgressState* state_ptr  = new ncclProxyProgressState;\n\n    // state_ptr = &state;\n    state_ptr->active = &pools_ptr->elems[1]; // chk\n    state_ptr->pool   = pool_ptr;\n    state_ptr->pools  = pools_ptr;\n\n    pools_ptr->next = pools2_ptr;\n\n    struct ncclProxyArgs*          x = &pools_ptr->elems[5]; // Passing the 5th element of the pool\n    struct ncclProxyProgressState* y = state_ptr;\n    y->pools->next                   = y->pools; // next points to self\n\n    INFO(\n        \"[ProxyTests] x=%p y->pools=%p x-y=%ld \\n\",\n        (void*)x,\n        (void*)y->pools->elems,\n        x - y->pools->elems\n    );\n\n    int          pool_idx, opIndex;\n    ncclResult_t res = getOpIndex(x, y, &pool_idx, &opIndex);\n\n    ASSERT_EQ(pool_idx, 0);\n    ASSERT_EQ(opIndex, 5);\n\n    INFO(\"[ProxyTests] pool_idx %d opIndex %d \\n\", pool_idx, opIndex);\n    INFO(\"[ProxyTests] res %u \\n\", res);\n    assert(res == ncclSuccess);\n\n    delete pool_ptr;\n    delete pools_ptr;\n    delete pools2_ptr;\n    delete state_ptr;\n    INFO(\"[ProxyTests] Test Complete \\n\");\n}\n\nTEST(ProxyTests, printProxyOp)\n{\n    INFO(\"[ProxyTests] Test Start \\n\");\n    // Init Dummy structs\n\n    struct ncclProxyArgs* pool_ptr = new ncclProxyArgs;\n\n    struct ncclProxyPool* pools_ptr  = new ncclProxyPool;\n    struct ncclProxyPool* pools2_ptr = new ncclProxyPool;\n\n    struct ncclProxyProgressState* state_ptr = new ncclProxyProgressState;\n\n    // state_ptr = &state;\n    state_ptr->active = &pools_ptr->elems[1]; // chk\n    state_ptr->pool   = pool_ptr;\n    state_ptr->pools  = pools_ptr;\n\n    pools_ptr->next = pools2_ptr;\n\n    struct ncclProxyArgs*          x = &pools_ptr->elems[5];\n    struct ncclProxyProgressState* y = state_ptr;\n    y->pools->next                   = y->pools; // next points to self\n\n    INFO(\n        \"[ProxyTests] x=%p y->pools=%p x-y=%ld \\n\",\n        (void*)x,\n        (void*)y->pools->elems,\n        x - y->pools->elems\n    );\n\n    init_ncclProxyArgs_struct(pool_ptr);\n\n    int          pool_idx = 2, opIndex = 3; // random vals\n    ncclResult_t res = printProxyOp(pool_ptr, pool_idx, opIndex);\n\n    INFO(\"[ProxyTests] res %u \\n\", res);\n    assert(res == ncclSuccess);\n\n    delete pools_ptr;\n    delete pools2_ptr;\n    delete pool_ptr;\n    delete state_ptr;\n    INFO(\"[ProxyTests] Test Complete \\n\");\n}\n\nTEST(ProxyTests, dumpProxyState)\n{\n    INFO(\"[ProxyTests] Test Start \\n\");\n\n    // Init Dummy structs\n    struct ncclProxyArgs* pool_ptr;\n    struct ncclProxyPool* pools_ptr  = new ncclProxyPool;\n    struct ncclProxyPool* pools2_ptr = new ncclProxyPool;\n\n    struct ncclProxyProgressState* state_ptr = new ncclProxyProgressState;\n\n    state_ptr->active  = &pools_ptr->elems[1];\n    pool_ptr           = &pools_ptr->elems[4];\n    pool_ptr->next     = NULL;\n    pool_ptr->nextPeer = NULL;\n\n    state_ptr->pool           = pool_ptr;\n    state_ptr->pool->next     = NULL;\n    state_ptr->pool->nextPeer = NULL;\n    state_ptr->pool->state    = OP_SEEN;\n    state_ptr->pools          = pools_ptr;\n    state_ptr->pools->next    = NULL;\n\n    struct ncclProxyArgs* op = state_ptr->active;\n    op->state                = OP_SEEN;\n    op->nextPeer             = NULL;\n    op->next                 = NULL;\n\n    pools_ptr->next = NULL;\n\n    init_ncclProxyArgs_struct(pool_ptr);\n\n    int          pool_idx = 2, opIndex = 3; // random vals\n    ncclResult_t res = dumpProxyState(state_ptr);\n\n    INFO(\"[ProxyTests] res %u \\n\", res);\n    ASSERT_EQ(res, ncclSuccess);\n\n    delete pools_ptr;\n\n    delete pools2_ptr;\n\n    delete state_ptr;\n    INFO(\"[ProxyTests] Test Complete \\n\");\n}\n\nTEST(ProxyTests, ncclProxyCallBlockingUDS)\n{\n    INFO(\"[ProxyTests] Test Start \\n\");\n\n    // Init Dummy structs\n    struct ncclComm* comm = new ncclComm;\n    int*             arr  = new int[100];\n    for(int i = 0; i < 100; i++)\n    {\n        arr[i] = i;\n    }\n\n    comm->topParentLocalRanks = arr;\n    comm->localRank           = 10;\n\n    int* arr_x = new int[20];\n    for(int i = 0; i < 20; i++)\n    {\n        arr_x[i] = i;\n    }\n    comm->topParentRanks = arr_x;\n\n    struct ncclProxyState* sharedProxyState = new ncclProxyState;\n    uint64_t*              arr2             = new uint64_t[10];\n    for(int i = 0; i < 10; i++)\n    {\n        arr2[i] = 122567 + i; // random\n    }\n\n    INFO(\"[ProxyTests] sizeof(ncclProxyConnector) = %zu\\n\", sizeof(ncclProxyConnector));\n    struct ncclProxyConnector* proxyConn = new(std::nothrow) ncclProxyConnector[20];\n    if(proxyConn == nullptr)\n    {\n        // Handle allocation failure\n        INFO(\"[ProxyTests] Allocation failed\\n\");\n        ASSERT_NE(proxyConn, nullptr);\n    }\n\n    proxyConn->tpRank = 2;\n\n    comm->proxyState = sharedProxyState;\n\n    comm->proxyState->peerAddressesUDS = arr2;\n\n    comm->abortFlag = NULL;\n\n    int rank = comm->topParentLocalRanks[comm->localRank];\n    INFO(\"[ProxyTests] rank %d\\n\", rank);\n    uint64_t pidHash = sharedProxyState->peerAddressesUDS[proxyConn->tpRank];\n    INFO(\"[ProxyTests] pidHash %lu \\n\", pidHash);\n\n    int type = ncclProxyMsgGetFd;\n    // some memory on stack for storing request and response buffers\n    uint64_t* x_mem    = new uint64_t[10];\n    uint64_t* x_mem2   = new uint64_t[10];\n    void*     reqBuff  = (void*)x_mem;\n    int       reqSize  = sizeof(uint64_t) * 5;\n    void*     respBuff = NULL;\n    int       respSize = 0;\n    int*      reqFd    = NULL;\n    int*      respFd   = (int*)x_mem2;\n\n    ncclResult_t res = ncclProxyCallBlockingUDS(\n        comm,\n        proxyConn,\n        type,\n        reqBuff,\n        reqSize,\n        respBuff,\n        respSize,\n        reqFd,\n        respFd\n    );\n\n    bool bool_res = (res >= ncclSuccess && res <= ncclRemoteError);\n    INFO(\"[ProxyTests] res %u \\n\", bool_res);\n    ASSERT_EQ(bool_res, true);\n    delete comm;\n    delete sharedProxyState;\n    delete[] proxyConn;\n    delete[] arr_x;\n    delete[] arr;\n    delete[] arr2;\n    delete[] x_mem;\n    delete[] x_mem2;\n\n    INFO(\"[ProxyTests] Test Complete \\n\");\n}\n\nTEST(ProxyTests, ncclProxyClientGetFdBlocking)\n{\n    RUN_ISOLATED_TEST(\n        \"ncclProxyClientGetFdBlocking\",\n        []()\n        {\n            INFO(\"[ProxyTests] Test Start \\n\");\n\n            // Init Dummy structs\n            struct ncclComm* comm = new ncclComm;\n            int*             arr  = new int[100];\n            for(int i = 0; i < 100; i++)\n            {\n                arr[i] = i;\n            }\n\n            comm->topParentLocalRanks               = arr;\n            comm->localRank                         = 10;\n            struct ncclProxyState* sharedProxyState = new ncclProxyState;\n\n            int* arr_x = new int[20];\n            for(int i = 0; i < 20; i++)\n            {\n                arr_x[i] = i;\n            }\n            comm->topParentRanks = arr_x;\n\n            uint64_t* arr2 = new uint64_t[10];\n            for(int i = 0; i < 10; i++)\n            {\n                arr2[i] = 122567 + i; // random\n            }\n\n            struct ncclProxyConnector* proxyConn = new(std::nothrow) ncclProxyConnector[20];\n            if(proxyConn == nullptr)\n            {\n                // Handle allocation failure\n                INFO(\"[ProxyTests] Allocation failed\\n\");\n                ASSERT_NE(proxyConn, nullptr);\n            }\n\n            proxyConn->tpRank                  = 2;\n            comm->proxyState                   = sharedProxyState;\n            comm->proxyState->peerAddressesUDS = arr2;\n            comm->abortFlag                    = NULL;\n\n            int rank = comm->topParentLocalRanks[comm->localRank];\n            INFO(\"[ProxyTests] rank %d\\n\", rank);\n            uint64_t pidHash = sharedProxyState->peerAddressesUDS[proxyConn->tpRank];\n            INFO(\"[ProxyTests] pidHash %lu \\n\", pidHash);\n\n            int type = ncclProxyMsgGetFd;\n            // some memory on stack for storing request and response buffers\n            uint64_t* x_mem    = new uint64_t[10];\n            uint64_t* x_mem2   = new uint64_t[10];\n            void*     reqBuff  = (void*)x_mem;\n            int       reqSize  = sizeof(uint64_t) * 5;\n            void*     respBuff = NULL;\n            int       respSize = 0;\n            int*      reqFd    = NULL;\n            int*      respFd   = (int*)x_mem2;\n\n            comm->gproxyConn                   = proxyConn;\n            comm->gproxyConn[rank].initialized = true;\n\n            ncclResult_t res = ncclProxyClientGetFdBlocking(comm, rank, reqBuff, respFd);\n\n            bool bool_res = (res >= ncclSuccess && res <= ncclRemoteError);\n            INFO(\"[ProxyTests] res %u \\n\", bool_res);\n            ASSERT_EQ(bool_res, true);\n\n            delete comm;\n            delete sharedProxyState;\n            delete[] proxyConn;\n            delete[] arr_x;\n            delete[] arr;\n            delete[] arr2;\n            delete[] x_mem;\n            delete[] x_mem2;\n            INFO(\"[ProxyTests] Test Complete \\n\");\n            INFO(\"Test 'ncclProxyClientGetFdBlocking' PASSED\\n\");\n        }\n    );\n}\n\nTEST(ProxyTests, ncclProxyClientQueryFdBlocking)\n{\n    RUN_ISOLATED_TEST(\n        \"ncclProxyClientQueryFdBlocking\",\n        []()\n        {\n            INFO(\"[ProxyTests] Test Start \\n\");\n\n            // Init Dummy structs\n            struct ncclComm* comm = new ncclComm;\n            int*             arr  = new int[100];\n            for(int i = 0; i < 5; i++)\n            {\n                arr[i] = i;\n            }\n\n            comm->topParentLocalRanks = arr;\n            comm->localRank           = 0;\n\n            int* arr_x = new int[20];\n            for(int i = 0; i < 20; i++)\n            {\n                arr_x[i] = i;\n            }\n            comm->topParentRanks = arr_x;\n\n            struct ncclProxyState* sharedProxyState = new ncclProxyState;\n\n            uint64_t* arr2 = new uint64_t[10];\n            for(int i = 0; i < 10; i++)\n            {\n                arr2[i] = 122567 + i; // random\n            }\n\n            struct ncclProxyConnector* proxyConn = new(std::nothrow) ncclProxyConnector[20];\n            if(proxyConn == nullptr)\n            {\n                // Handle allocation failure\n                INFO(\"[ProxyTests] Allocation failed\\n\");\n                ASSERT_NE(proxyConn, nullptr);\n            }\n\n            proxyConn->tpRank = 2;\n\n            comm->proxyState = sharedProxyState;\n\n            comm->proxyState->peerAddressesUDS = arr2;\n\n            comm->abortFlag = NULL;\n\n            int rank = comm->topParentLocalRanks[comm->localRank];\n            INFO(\"[ProxyTests] rank %d\\n\", rank);\n            uint64_t pidHash = sharedProxyState->peerAddressesUDS[proxyConn->tpRank];\n            INFO(\"[ProxyTests] pidHash %lu \\n\", pidHash);\n\n            int type = ncclProxyMsgGetFd;\n            // some memory on stack for storing request and response buffers\n            uint64_t* x_mem    = new uint64_t[10];\n            uint64_t* x_mem2   = new uint64_t[10];\n            void*     reqBuff  = (void*)x_mem;\n            int       reqSize  = sizeof(uint64_t) * 5;\n            void*     respBuff = NULL;\n            int       respSize = 0;\n            int*      reqFd    = NULL;\n            int*      respFd   = (int*)x_mem2;\n\n            comm->gproxyConn                   = proxyConn;\n            comm->gproxyConn[rank].initialized = true;\n\n            int localFd   = 0;\n            int dummy_int = 20;\n            respBuff      = &dummy_int;\n            ncclResult_t res\n                = ncclProxyClientQueryFdBlocking(comm, proxyConn, localFd, (int*)respBuff);\n\n            bool bool_res = (res >= ncclSuccess && res <= ncclRemoteError);\n            INFO(\"[ProxyTests] res %u \\n\", bool_res);\n            ASSERT_EQ(bool_res, true);\n\n            delete comm;\n            delete sharedProxyState;\n            delete[] proxyConn;\n            delete[] arr_x;\n            delete[] arr;\n            delete[] arr2;\n            delete[] x_mem;\n            delete[] x_mem2;\n            INFO(\"[ProxyTests] Test Complete \\n\");\n            INFO(\"Test 'ncclProxyClientQueryFdBlocking' PASSED\\n\");\n        }\n    );\n}\n\n} // namespace RcclUnitTesting\n"
  },
  {
    "path": "test/README.md",
    "content": "# RCCL Test Suite\n\nTesting infrastructure for ROCm Communication Collectives Library (RCCL).\n\n## Table of Contents\n- [Overview](#overview)\n- [Testing Frameworks](#testing-frameworks)\n\n---\n\n## Overview\n\nThe RCCL test suite provides following frameworks along with the existing rccl-UnitTests TestBed framework:\n\n## Testing Frameworks\n\nFollowing is a new testing framework for running single node & single process test in isolation:\n\n### 1. Process Isolated Test Runner\nRun tests in isolated processes with clean environment settings.\n\n📄 **[Full Documentation](common/ProcessIsolatedTestRunner.md)**\n\n### 2. MPI Test Runner\nBase class for multi-process distributed tests using MPI.\n\n📄 **[Full Documentation](common/MPITestRunner.md)**\n\n"
  },
  {
    "path": "test/RcclWrapTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <gtest/gtest.h>\n#include <rccl/rccl.h>\n\n#include <cstdlib>\n#include <cstring>\n\n#include \"comm.h\"\n#include \"common/ProcessIsolatedTestRunner.hpp\"\n#include \"debug.h\"\n#include \"graph/topo.h\"\n\nnamespace RcclUnitTesting\n{\n\n// Helper function to determine if P2P test should be skipped due to static\n// variable state\nstatic bool ShouldSkipP2pTest(const char* requiredEnvValue = nullptr)\n{\n    const char* envValue = getenv(\"NCCL_P2P_NET_CHUNKSIZE\");\n\n    // If a specific environment value is required, check for it\n    if(requiredEnvValue != nullptr)\n    {\n        if(!envValue || strcmp(envValue, requiredEnvValue) != 0)\n        {\n            return true; // Skip if env var is not set to required value\n        }\n        return false; // Don't skip if env var matches required value\n    }\n\n    // For architecture logic tests, skip only if environment variable is set\n    // (which would override the static variable behavior)\n    // Note: We cannot directly check if static variable is RCCL_VALUE_UNSET\n    // from test code, so we rely on clean environment for proper testing\n    if(envValue != nullptr)\n    {\n        return true; // Skip if env var is set (prevents testing architecture logic)\n    }\n\n    // Environment is clean - proceed with test\n    // Warning: Static variable might still be initialized from previous tests\n    // For guaranteed clean state, run tests individually or restart binary\n    return false; // Don't skip\n}\n\n// Helper function to determine if PXN test should be skipped due to static\n// variable state\nstatic bool ShouldSkipPxnTest(const char* requiredEnvValue = nullptr)\n{\n    const char* envValue = getenv(\"NCCL_PXN_DISABLE\");\n\n    // If a specific environment value is required, check for it\n    if(requiredEnvValue != nullptr)\n    {\n        if(!envValue || strcmp(envValue, requiredEnvValue) != 0)\n        {\n            return true; // Skip if env var is not set to required value\n        }\n        return false; // Don't skip if env var matches required value\n    }\n\n    // For architecture logic tests, skip only if environment variable is set\n    // (which would override the static variable behavior)\n    if(envValue != nullptr)\n    {\n        return true; // Skip if env var is set (prevents testing architecture logic)\n    }\n\n    // Environment is clean - proceed with test\n    return false; // Don't skip\n}\n\n// Helper function to test the static expose check\nncclResult_t testStaticExposeCheck()\n{\n    RCCL_STATIC_EXPOSE_CHECK();\n    return ncclSuccess;\n}\n\n// Helper function to create and initialize mock communicator\nstatic void CreateMockComm(\n    ncclComm_t&            mockComm,\n    struct ncclTopoSystem& mockTopo,\n    struct ncclTopoNode&   mockGpuNode,\n    const char*            arch,\n    int                    nRanks\n)\n{\n    // Allocate memory for the communicator\n    mockComm = new ncclComm();\n    memset(mockComm, 0, sizeof(ncclComm));\n\n    // Initialize basic communicator fields\n    mockComm->nRanks = nRanks;\n    mockComm->nNodes = 1; // Default to single node for P2P tests\n    mockComm->rank   = 0; // Default rank\n\n    // Initialize topology\n    memset(&mockTopo, 0, sizeof(mockTopo));\n    mockComm->topo = &mockTopo;\n\n    // Initialize GPU node\n    mockTopo.nodes[GPU].count = 1;\n    memset(&mockGpuNode, 0, sizeof(mockGpuNode));\n\n    // Set GPU architecture\n    strncpy(mockGpuNode.gpu.gcn, arch, sizeof(mockGpuNode.gpu.gcn) - 1);\n    mockGpuNode.gpu.gcn[sizeof(mockGpuNode.gpu.gcn) - 1] = '\\0';\n\n    // Copy the node into the topology array\n    mockTopo.nodes[GPU].nodes[0] = mockGpuNode;\n\n    // Initialize other required fields for tests\n    memset(mockComm->minMaxLLRange, 0, sizeof(mockComm->minMaxLLRange));\n}\n\n// Helper function to cleanup mock communicator\nstatic void CleanupMockComm(ncclComm_t& mockComm)\n{\n    if(mockComm)\n    {\n        delete mockComm;\n        mockComm = nullptr;\n    }\n}\n\n// Helper function to determine if rcclSetPipelining test should be skipped\nstatic bool ShouldSkipRcclSetPipeliningTests()\n{\n    const char* disable = getenv(\"RCCL_DISABLE_REDUCE_COPY_PIPELINING\");\n    // Skip the test if RCCL_DISABLE_REDUCE_COPY_PIPELINING is set\n    if(disable && strcmp(disable, \"0\") != 0)\n    {\n        return true;\n    }\n    return false;\n}\n\n// Helper function to validate protocol string against known valid protocols\nstatic bool isProtoStrValid(const char* envStr)\n{\n    if(!envStr)\n        return false;\n    for(int i = 0; i < NCCL_NUM_PROTOCOLS; ++i)\n    {\n        if(strcasecmp(envStr, ncclProtoStr[i]) == 0)\n        {\n            return true; // Match found\n        }\n    }\n    return false; // No match found\n}\n\n// Helper function to validate algorithm string against known valid algorithms\nstatic bool isAlgoStrValid(const char* envStr)\n{\n    if(!envStr)\n        return false;\n    for(int i = 0; i < NCCL_NUM_ALGORITHMS; ++i)\n    {\n        if(strcasecmp(envStr, ncclAlgoStr[i]) == 0)\n        {\n            return true; // Match found\n        }\n    }\n    return false; // No match found\n}\n\nTEST(Rcclwrap, RcclFuncMaxSendRecvCount)\n{\n    ncclResult_t staticCheckResult = testStaticExposeCheck();\n#ifdef RCCL_EXPOSE_STATIC\n    EXPECT_EQ(staticCheckResult, ncclSuccess);\n#else\n    EXPECT_EQ(staticCheckResult, ncclInvalidUsage);\n#endif\n\n    size_t       maxCount = 0;\n    ncclResult_t result   = rcclFuncMaxSendRecvCount(ncclFuncAllReduce, 4, 1024, maxCount);\n    EXPECT_EQ(maxCount, 1024);\n    EXPECT_EQ(result, ncclSuccess);\n}\n\nTEST(Rcclwrap, RcclUpdateCollectiveProtocol_UsesLL128WhenInRange)\n{\n    setenv(\"NCCL_PROTO\", \"\", 1); // Trigger auto selection mode\n    unsetenv(\"NCCL_PROTO\");\n\n    ncclComm_t comm = new ncclComm();\n    *comm           = {};\n    // Manually populate minimal fields for comm\n    comm->nRanks                    = 1;\n    comm->nNodes                    = 2; // triggers inter-node logic\n    comm->rank                      = 0;\n    comm->topo                      = new ncclTopoSystem();\n    *comm->topo                     = {};\n    comm->topo->ll128Enabled        = true;\n    comm->topo->nodes[GPU].nodes[0] = {};\n    comm->topo->nodes[GPU].count    = 1;\n    strncpy(\n        comm->topo->nodes[GPU].nodes[0].gpu.gcn,\n        \"gfx942\",\n        sizeof(comm->topo->nodes[GPU].nodes[0].gpu.gcn)\n    );\n\n    int idx = rcclGetTunableIndex(ncclFuncAllReduce);\n    comm->minMaxLLRange[idx][NCCL_PROTO_LL][RCCL_PROTOCOL_MIN_IDX]       = 512;\n    comm->minMaxLLRange[idx][NCCL_PROTO_LL][RCCL_PROTOCOL_MAX_IDX]       = 1024;\n    comm->minMaxLLRange[idx][NCCL_PROTO_LL128][RCCL_PROTOCOL_MIN_IDX]    = 256;\n    comm->minMaxLLRange[idx][NCCL_PROTO_LL128][RCCL_PROTOCOL_MAX_IDX]    = 2048;\n    comm->minMaxLLRange[idx][NCCL_PROTO_LL128][RCCL_PROTOCOL_FACTOR_IDX] = 1;\n\n    ncclTaskColl info = {};\n    // Manually populate minimal fields for info\n    info.func     = ncclFuncAllReduce;\n    info.protocol = NCCL_PROTO_UNDEF;\n\n    size_t nBytes = 1024;\n\n    rcclUpdateCollectiveProtocol(comm, nBytes, &info);\n    EXPECT_TRUE(info.protocol == NCCL_PROTO_LL128 || info.protocol == NCCL_PROTO_LL);\n\n    delete comm->topo;\n    delete comm;\n}\n\nTEST(Rcclwrap, RcclUpdateCollectiveProtocol_WarnsOnGfx942Arch)\n{\n    setenv(\"NCCL_PROTO\", \"\", 1);\n    unsetenv(\"NCCL_PROTO\");\n\n    ncclComm_t comm = new ncclComm();\n    *comm           = {};\n    // Manually populate minimal fields for comm\n    comm->nRanks                    = 1;\n    comm->nNodes                    = 2; // triggers inter-node logic\n    comm->rank                      = 0;\n    comm->topo                      = new ncclTopoSystem();\n    comm->topo->ll128Enabled        = true;\n    comm->topo->nodes[GPU].nodes[0] = {};\n    strncpy(\n        comm->topo->nodes[GPU].nodes[0].gpu.gcn,\n        \"gfx942\",\n        sizeof(comm->topo->nodes[GPU].nodes[0].gpu.gcn)\n    );\n\n    int idx = rcclGetTunableIndex(ncclFuncAllReduce);\n    comm->minMaxLLRange[idx][NCCL_PROTO_LL][RCCL_PROTOCOL_MIN_IDX]       = RCCL_LL_LIMITS_UNDEFINED;\n    comm->minMaxLLRange[idx][NCCL_PROTO_LL][RCCL_PROTOCOL_MAX_IDX]       = RCCL_LL_LIMITS_UNDEFINED;\n    comm->minMaxLLRange[idx][NCCL_PROTO_LL128][RCCL_PROTOCOL_MIN_IDX]    = RCCL_LL_LIMITS_UNDEFINED;\n    comm->minMaxLLRange[idx][NCCL_PROTO_LL128][RCCL_PROTOCOL_MAX_IDX]    = RCCL_LL_LIMITS_UNDEFINED;\n    comm->minMaxLLRange[idx][NCCL_PROTO_LL128][RCCL_PROTOCOL_FACTOR_IDX] = RCCL_LL_LIMITS_UNDEFINED;\n\n    ncclTaskColl info = {};\n    // Manually populate minimal fields for info\n    info.func     = ncclFuncAllReduce;\n    info.protocol = NCCL_PROTO_UNDEF;\n    size_t nBytes = 1024; // 1024 per rank for 4 ranks\n\n    rcclUpdateCollectiveProtocol(comm, nBytes, &info);\n    EXPECT_EQ(info.protocol, NCCL_PROTO_UNDEF);\n\n    delete comm->topo;\n    delete comm;\n}\n\nTEST(Rcclwrap, RcclUpdateCollectiveProtocol_HonorsUserProtocolEnv)\n{                                 // Why does this pass\n                                  // if it does not\n                                  // enter the else if\n                                  // block\n    setenv(\"NCCL_PROTO\", \"1\", 1); // Simulate manual override\n\n    ncclComm_t comm = new ncclComm();\n    *comm           = {};\n    // Manually populate minimal fields for comm\n    comm->nRanks = 1;\n    comm->nNodes = 2; // triggers inter-node logic\n    comm->rank   = 0;\n    comm->topo   = new ncclTopoSystem(); //(struct ncclTopoSystem*)calloc(1,\n                                         // sizeof(struct ncclTopoSystem));\n    *comm->topo                     = {};\n    comm->topo->ll128Enabled        = true;\n    comm->topo->nodes[GPU].nodes[0] = {};\n    strncpy(\n        comm->topo->nodes[GPU].nodes[0].gpu.gcn,\n        \"gfx942\",\n        sizeof(comm->topo->nodes[GPU].nodes[0].gpu.gcn)\n    );\n\n    ncclTaskColl info = {};\n    // Manually populate minimal fields for info\n    info.func     = ncclFuncAllReduce;\n    info.protocol = NCCL_PROTO_UNDEF;\n    size_t nBytes = 1024; // 1024 per rank for 4 ranks\n\n    rcclUpdateCollectiveProtocol(comm, nBytes, &info);\n    EXPECT_EQ(info.protocol, NCCL_PROTO_UNDEF);\n\n    delete comm->topo;\n    delete comm;\n}\n\nTEST(Rcclwrap, RcclUpdateCollectiveProtocol_SimpleFallbackWhenNoRanges)\n{\n    setenv(\"NCCL_PROTO\", \"\", 1); // Trigger auto selection mode\n    unsetenv(\"NCCL_PROTO\");\n\n    ncclComm_t comm = new ncclComm();\n    *comm           = {};\n    // Manually populate minimal fields for comm\n    comm->nRanks = 1;\n    comm->nNodes = 2; // triggers inter-node logic\n    comm->rank   = 0;\n    comm->topo   = new ncclTopoSystem(); //(struct ncclTopoSystem*)calloc(1,\n                                         // sizeof(struct ncclTopoSystem));\n    *comm->topo                     = {};\n    comm->topo->ll128Enabled        = true;\n    comm->topo->nodes[GPU].nodes[0] = {};\n    comm->topo->nodes[GPU].count    = 1;\n    strncpy(\n        comm->topo->nodes[GPU].nodes[0].gpu.gcn,\n        \"gfx942\",\n        sizeof(comm->topo->nodes[GPU].nodes[0].gpu.gcn)\n    );\n\n    int idx = rcclGetTunableIndex(ncclFuncAllReduce);\n    comm->minMaxLLRange[idx][NCCL_PROTO_LL][RCCL_PROTOCOL_MIN_IDX] = 512;\n    comm->minMaxLLRange[idx][NCCL_PROTO_LL][RCCL_PROTOCOL_MAX_IDX] = 1024;\n\n    // Manually populate minimal fields for info\n    ncclTaskColl info = {};\n    info.func         = ncclFuncAllReduce;\n    info.protocol     = NCCL_PROTO_UNDEF;\n    size_t nBytes     = 2048; // 1024 per rank for 4 ranks\n\n    rcclUpdateCollectiveProtocol(comm, nBytes, &info);\n    EXPECT_EQ(info.protocol, NCCL_PROTO_SIMPLE);\n\n    delete comm->topo;\n    delete comm;\n}\n\nTEST(Rcclwrap, validHsaScratchEnvSettingTest)\n{\n    // When HSA_NO_SCRATCH_RECLAIM is set, it is always valid\n    EXPECT_TRUE(validHsaScratchEnvSetting(\"1\", 0, 0, \"gfx950\"));\n\n    EXPECT_TRUE(validHsaScratchEnvSetting(\"1\", 0, 0, \"gfx942\"));\n\n    // When HSA_NO_SCRATCH_RECLAIM is not set, looking at hip version and firmware\n    // version\n    EXPECT_TRUE(validHsaScratchEnvSetting(nullptr, 60443484, 24, \"gfx950\"));\n\n    EXPECT_FALSE(validHsaScratchEnvSetting(nullptr, 60443483, 24, \"gfx950\"));\n\n    EXPECT_FALSE(validHsaScratchEnvSetting(nullptr, 60443484, 23, \"gfx950\"));\n\n    EXPECT_TRUE(validHsaScratchEnvSetting(nullptr, 60443484, 177, \"gfx942\"));\n\n    EXPECT_FALSE(validHsaScratchEnvSetting(nullptr, 60443484, 176, \"gfx942\"));\n\n    EXPECT_FALSE(validHsaScratchEnvSetting(nullptr, 60443483, 177, \"gfx942\"));\n\n    EXPECT_TRUE(validHsaScratchEnvSetting(nullptr, 60443483, 0, \"gfx000\"));\n\n    EXPECT_TRUE(validHsaScratchEnvSetting(nullptr, 60300000, 0, \"gfx000\"));\n}\n\nTEST(Rcclwrap, RcclUpdateThreadThreshold_UserEnvSet)\n{\n    RUN_ISOLATED_TEST_WITH_ENV(\n        \"RcclUpdateThreadThreshold_UserEnvSet\",\n        []()\n        {\n            const char* value = getenv(\"NCCL_THREAD_THRESHOLDS\");\n\n            if(!value)\n            {\n                INFO(\n                    NCCL_LOG_INFO,\n                    \"[Rcclwrap] Test skipped. Set environment variable \"\n                    \"NCCL_THREAD_THRESHOLD\"\n                );\n                GTEST_SKIP() << \"[Rcclwrap] Test skipped. Set environment variable \"\n                                \"NCCL_THREAD_THRESHOLD\\n\";\n            }\n            else\n            {\n                ncclComm comm;\n                comm.nRanks = 8;\n                comm.nNodes = 4;\n                memset(comm.minMaxLLRange, 0, sizeof(comm.minMaxLLRange));\n\n                ncclTaskColl info;\n                info.func     = ncclFuncReduceScatter;\n                info.protocol = 0;\n\n                int threadThreshold = 5; // Any number should do, we should make\n                                         // sure this number does not change\n                rcclUpdateThreadThreshold(&comm, 0, &info, threadThreshold);\n\n                EXPECT_EQ(threadThreshold, 5);\n            }\n    },\n        {{\"NCCL_THREAD_THRESHOLDS\", \"1\"}}\n    );\n}\n\nTEST(Rcclwrap, RcclUpdateThreadThreshold_MinNChannelsSet)\n{\n    RUN_ISOLATED_TEST_WITH_ENV(\n        \"RcclUpdateThreadThreshold_MinNChannelsSet\",\n        []()\n        {\n            const char* value = getenv(\"NCCL_MIN_NCHANNELS\");\n            if(!value)\n            {\n                INFO(\n                    NCCL_LOG_INFO,\n                    \"[Rcclwrap] Test skipped. Set environment \"\n                    \"variable NCCL_MIN_NCHANNELS\"\n                );\n                GTEST_SKIP() << \"[Rcclwrap] Test skipped. Set environment variable \"\n                                \"NCCL_MIN_NCHANNELS\\n\";\n            }\n            else\n            {\n                ncclComm     comm{};\n                ncclTaskColl info{};\n                int          threadThreshold = 5;\n\n                comm.nRanks   = 4;\n                comm.nNodes   = 4;\n                info.func     = ncclFuncAllGather;\n                info.protocol = 0;\n                memset(comm.minMaxLLRange, 0, sizeof(comm.minMaxLLRange));\n\n                rcclUpdateThreadThreshold(&comm, 0, &info, threadThreshold);\n\n                EXPECT_EQ(threadThreshold, 5);\n            }\n    },\n        {{\"NCCL_MIN_NCHANNELS\", \"1\"}}\n    );\n}\n\nTEST(Rcclwrap, RcclUpdateThreadThreshold_MaxChannelsSet)\n{\n    RUN_ISOLATED_TEST_WITH_ENV(\n        \"RcclUpdateThreadThreshold_MaxChannelsSet\",\n        []()\n        {\n            const char* value = getenv(\"NCCL_MAX_NCHANNELS\");\n            if(!value)\n            {\n                INFO(\n                    NCCL_LOG_INFO,\n                    \"[Rcclwrap] Test skipped. Set environment \"\n                    \"variable NCCL_MAX_NCHANNELS\"\n                );\n                GTEST_SKIP() << \"[Rcclwrap] Test skipped. Set environment variable \"\n                                \"NCCL_MAX_NCHANNELS\\n\";\n            }\n            else\n            {\n                ncclComm     comm{};\n                ncclTaskColl info{};\n                int          threadThreshold = 5;\n\n                comm.nRanks   = 4;\n                comm.nNodes   = 4;\n                info.func     = ncclFuncAllGather;\n                info.protocol = 0;\n                memset(comm.minMaxLLRange, 0, sizeof(comm.minMaxLLRange));\n\n                rcclUpdateThreadThreshold(&comm, 0, &info, threadThreshold);\n\n                EXPECT_EQ(threadThreshold, 5);\n            }\n    },\n        {{\"NCCL_MAX_NCHANNELS\", \"1\"}}\n    );\n}\n\nTEST(Rcclwrap, RcclUpdateThreadThreshold_NoEnv_nNodesLessThan2)\n{\n    ncclComm     comm{};\n    ncclTaskColl info{};\n    int          threadThreshold = 5;\n\n    comm.nRanks   = 4;\n    comm.nNodes   = 1; // less than 2\n    info.func     = ncclFuncReduceScatter;\n    info.protocol = 0;\n    memset(comm.minMaxLLRange, 0, sizeof(comm.minMaxLLRange));\n\n    rcclUpdateThreadThreshold(&comm, 0, &info, threadThreshold);\n\n    EXPECT_EQ(threadThreshold, 5); // no change\n}\n\nTEST(Rcclwrap, RcclUpdateThreadThreshold_NoEnv_FuncUnsupported)\n{\n    ncclComm     comm{};\n    ncclTaskColl info{};\n    int          threadThreshold = 5;\n\n    comm.nRanks   = 4;\n    comm.nNodes   = 2;\n    info.func     = ncclFuncAllReduce; // unsupported func\n    info.protocol = 0;\n    memset(comm.minMaxLLRange, 0, sizeof(comm.minMaxLLRange));\n\n    rcclUpdateThreadThreshold(&comm, 0, &info, threadThreshold);\n\n    EXPECT_EQ(threadThreshold, 5);\n}\n\nTEST(Rcclwrap, RcclUpdateThreadThreshold_NoEnv_UpdateOccurs)\n{\n    ncclComm     comm{};\n    ncclTaskColl info{};\n    int          threadThreshold = 5;\n\n    comm.nRanks   = 4;\n    comm.nNodes   = 2;\n    info.func     = ncclFuncReduceScatter;\n    info.protocol = 0;\n    memset(comm.minMaxLLRange, 0, sizeof(comm.minMaxLLRange));\n\n    int idx = rcclGetTunableIndex(info.func);\n    comm.minMaxLLRange[idx][info.protocol][RCCL_PROTOCOL_THREAD_THRESHOLD_IDX] = 10;\n\n    rcclUpdateThreadThreshold(&comm, 0, &info, threadThreshold);\n\n    EXPECT_EQ(threadThreshold, 40); // 10 * 4\n}\n\nTEST(Rcclwrap, RcclUpdateThreadThreshold_NoEnv_ThresholdUndefined)\n{\n    ncclComm     comm{};\n    ncclTaskColl info{};\n    int          threadThreshold = 5;\n\n    comm.nRanks   = 4;\n    comm.nNodes   = 3;\n    info.func     = ncclFuncAllGather;\n    info.protocol = 0;\n    memset(comm.minMaxLLRange, 0, sizeof(comm.minMaxLLRange));\n\n    int idx = rcclGetTunableIndex(info.func);\n    comm.minMaxLLRange[idx][info.protocol][RCCL_PROTOCOL_THREAD_THRESHOLD_IDX]\n        = RCCL_LL_LIMITS_UNDEFINED;\n\n    rcclUpdateThreadThreshold(&comm, 0, &info, threadThreshold);\n\n    EXPECT_EQ(threadThreshold, 5);\n}\n\nTEST(Rcclwrap, RcclSetPipelining_Invalid_DType)\n{\n    // Skip the test if pipelining has been disabled\n    // (RCCL_DISABLE_REDUCE_COPY_PIPELINING=1)\n    if(ShouldSkipRcclSetPipeliningTests())\n    {\n        GTEST_SKIP() << \"Skipping test: RCCL_DISABLE_REDUCE_COPY_PIPELINING environment \"\n                        \"variable is set. Unset this variable to enable pipelining.\";\n    }\n\n    // Skip the test if pipelining has been enabled for all data types\n    // (RCCL_PIPELINE_ALL_DATA_TYPES=1)\n    const char* allowAllDTypes = getenv(\"RCCL_PIPELINE_ALL_DATA_TYPES\");\n    if(allowAllDTypes && strcmp(allowAllDTypes, \"0\") != 0)\n    {\n        GTEST_SKIP() << \"Skipping test: RCCL_PIPELINE_ALL_DATA_TYPES environment \"\n                        \"variable is set. Unset this variable to enable pipelining \"\n                        \"only for bf16 data type.\";\n    }\n\n    // Pipeline should not be set for non-bf16 datatypes, unless\n    // rcclParamPipelineAllDTypes() returns true\n    ncclComm_t            comm = nullptr;\n    struct ncclTopoSystem topo;\n    struct ncclTopoNode   gpu;\n    CreateMockComm(comm, topo, gpu, \"gfx950\", 8);\n    comm->nNodes = 2; // Multi node\n\n    ncclTaskColl info = {};\n    info.func         = ncclFuncAllReduce;\n    info.datatype     = ncclFloat32;\n\n    size_t nBytes = 16 * 1024 * 1024; // 16MB\n    rcclSetPipelining(comm, nBytes, &info);\n\n    EXPECT_EQ(info.pipeline, 0) << \"Non-bf16 should not set pipeline by default\";\n\n    CleanupMockComm(comm);\n}\n\nTEST(Rcclwrap, RcclSetPipelining_GFX950_SingleNode_Disable)\n{\n    // Skip the test if pipelining has been disabled\n    // (RCCL_DISABLE_REDUCE_COPY_PIPELINING=1)\n    if(ShouldSkipRcclSetPipeliningTests())\n    {\n        GTEST_SKIP() << \"Skipping test: RCCL_DISABLE_REDUCE_COPY_PIPELINING environment \"\n                        \"variable is set. Unset this variable to enable pipelining.\";\n    }\n\n    // For single-node, pipeline remains 0\n    ncclComm_t            comm = nullptr;\n    struct ncclTopoSystem topo;\n    struct ncclTopoNode   gpu;\n    CreateMockComm(comm, topo, gpu, \"gfx950\", 8);\n    comm->nNodes = 1; // Single node\n\n    ncclTaskColl info = {};\n    // In rcclSetPipelining(), ncclFuncAllReduce, ncclFuncReduceScatter, and\n    // ncclFuncReduce share the same case body. Testing any one of them is\n    // sufficient to validate that code path.\n    info.func     = ncclFuncAllReduce;\n    info.datatype = ncclBfloat16;\n\n    size_t nBytes = 16 * 1024 * 1024; // 16MB\n    rcclSetPipelining(comm, nBytes, &info);\n\n    EXPECT_EQ(info.pipeline, 0) << \"gfx950 single-node should not enable pipelining\";\n\n    CleanupMockComm(comm);\n}\n\nTEST(Rcclwrap, RcclSetPipelining_GFX942_SingleNode_AllReduce_Enable)\n{\n    // Skip the test if pipelining has been disabled\n    // (RCCL_DISABLE_REDUCE_COPY_PIPELINING=1)\n    if(ShouldSkipRcclSetPipeliningTests())\n    {\n        GTEST_SKIP() << \"Skipping test: RCCL_DISABLE_REDUCE_COPY_PIPELINING environment \"\n                        \"variable is set. Unset this variable to enable pipelining.\";\n    }\n\n    // For single-node, pipeline is set to 1 for AllReduce with bf16\n    ncclComm_t            comm = nullptr;\n    struct ncclTopoSystem topo;\n    struct ncclTopoNode   gpu;\n    CreateMockComm(comm, topo, gpu, \"gfx942\", 8);\n    comm->nNodes = 1; // Single node\n\n    ncclTaskColl info = {};\n    info.func         = ncclFuncAllReduce;\n    info.datatype     = ncclBfloat16;\n\n    size_t nBytes = 16 * 1024 * 1024; // 16MB\n    rcclSetPipelining(comm, nBytes, &info);\n\n    EXPECT_EQ(info.pipeline, 1) << \"gfx942 single-node AllReduce bf16 should enable pipelining\";\n\n    CleanupMockComm(comm);\n}\n\nTEST(Rcclwrap, RcclSetPipelining_GFX942_MultiNode_AllReduce_Enable)\n{\n    // Skip the test if pipelining has been disabled\n    // (RCCL_DISABLE_REDUCE_COPY_PIPELINING=1)\n    if(ShouldSkipRcclSetPipeliningTests())\n    {\n        GTEST_SKIP() << \"Skipping test: RCCL_DISABLE_REDUCE_COPY_PIPELINING environment \"\n                        \"variable is set. Unset this variable to enable pipelining.\";\n    }\n\n    // For multi-node AllReduce with bf16, pipelining is enabled if\n    // nBytes <= 512MB * 2^(log2(nNodes)-1)\n    // Testing with nNodes = 4  => threshold = 512MB * 2^(2-1) = 1GB\n    ncclComm_t            comm = nullptr;\n    struct ncclTopoSystem topo;\n    struct ncclTopoNode   gpu;\n    CreateMockComm(comm, topo, gpu, \"gfx942\", 8);\n    comm->nNodes = 4;\n\n    ncclTaskColl info = {};\n    info.func         = ncclFuncAllReduce;\n    info.datatype     = ncclBfloat16;\n\n    size_t nBytes = (1ULL << 30); // 1GB, exactly at threshold\n    rcclSetPipelining(comm, nBytes, &info);\n\n    EXPECT_EQ(info.pipeline, 1) << \"gfx942 4-node AllReduce at threshold should enable pipelining\";\n\n    CleanupMockComm(comm);\n}\n\nTEST(Rcclwrap, RcclSetPipelining_GFX942_MultiNode_AllReduce_Disable)\n{\n    // Skip the test if pipelining has been disabled\n    // (RCCL_DISABLE_REDUCE_COPY_PIPELINING=1)\n    if(ShouldSkipRcclSetPipeliningTests())\n    {\n        GTEST_SKIP() << \"Skipping test: RCCL_DISABLE_REDUCE_COPY_PIPELINING environment \"\n                        \"variable is set. Unset this variable to enable pipelining.\";\n    }\n\n    // When nBytes is just above the threshold, pipelining should be disabled\n    ncclComm_t            comm = nullptr;\n    struct ncclTopoSystem topo;\n    struct ncclTopoNode   gpu;\n    CreateMockComm(comm, topo, gpu, \"gfx942\", 8);\n    comm->nNodes = 4;\n\n    ncclTaskColl info = {};\n    info.func         = ncclFuncAllReduce;\n    info.datatype     = ncclBfloat16;\n\n    size_t nBytes = (1ULL << 30) + 1024; // 1GB + 1KB, just above threshold\n    rcclSetPipelining(comm, nBytes, &info);\n\n    EXPECT_EQ(info.pipeline, 0)\n        << \"gfx942 4-node AllReduce above threshold should disable pipelining\";\n\n    CleanupMockComm(comm);\n}\n\nTEST(Rcclwrap, RcclSetPipelining_GFX942_Enable)\n{\n    // Skip the test if pipelining has been disabled\n    // (RCCL_DISABLE_REDUCE_COPY_PIPELINING=1)\n    if(ShouldSkipRcclSetPipeliningTests())\n    {\n        GTEST_SKIP() << \"Skipping test: RCCL_DISABLE_REDUCE_COPY_PIPELINING environment \"\n                        \"variable is set. Unset this variable to enable pipelining.\";\n    }\n\n    // ReduceScatter & Reduce should enable pipelining regardless of no. of nodes\n    ncclComm_t            comm = nullptr;\n    struct ncclTopoSystem topo;\n    struct ncclTopoNode   gpu;\n    CreateMockComm(comm, topo, gpu, \"gfx942\", 8);\n    comm->nNodes = 8;\n\n    ncclTaskColl info = {};\n    // In rcclSetPipelining(), ncclFuncReduceScatter, and\n    // ncclFuncReduce share the same case body. Testing any one of them is\n    // sufficient to validate that code path.\n    info.func     = ncclFuncReduceScatter;\n    info.datatype = ncclBfloat16;\n\n    size_t nBytes = 16 * 1024 * 1024; // 16MB\n    rcclSetPipelining(comm, nBytes, &info);\n\n    EXPECT_EQ(info.pipeline, 1) << \"gfx942 ReduceScatter and Reduce should enable \"\n                                   \"pipelining with single or multi-node\";\n\n    CleanupMockComm(comm);\n}\n\nTEST(Rcclwrap, RcclOverrideProtocol_NoOverride)\n{\n  RUN_ISOLATED_TEST_WITH_ENV(\"RcclOverrideProtocol_NoOverride\",\n    []() {\n      float        table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n      ncclTaskColl info;\n\n      ncclResult_t result = rcclOverrideProtocol(ncclProtoStr, table, &info);\n\n      EXPECT_EQ(result, ncclSuccess)\n        << \"Expected ncclSuccess when RCCL_OVERRIDE_PROTO is unset, indicating \"\n           \"no override should be applied.\";\n    },\n    {}\n  );\n}\n\nTEST(Rcclwrap, RcclOverrideProtocol_UnsupportedOverride)\n{\n  RUN_ISOLATED_TEST_WITH_ENV(\"RcclOverrideProtocol_UnsupportedOverride\",\n    []() {\n      // Mark all combinations as unsupported for the purpose of this test.\n      float table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n      for(int a = 0; a < NCCL_NUM_ALGORITHMS; ++a)\n        for(int p = 0; p < NCCL_NUM_PROTOCOLS; ++p)\n          table[a][p] = NCCL_ALGO_PROTO_IGNORE;\n\n      ncclTaskColl info;\n      info.func         = ncclFuncReduceScatter;\n      info.datatype     = ncclBfloat16;\n      info.algorithm    = NCCL_ALGO_RING;\n\n      ncclResult_t result = rcclOverrideProtocol(ncclProtoStr, table, &info);\n\n      EXPECT_EQ(result, ncclInternalError)\n        << \"Expected ncclInternalError when the override protocol is valid, but \"\n           \"not enabled for the selected algorithm.\";\n    },\n    {{\"RCCL_OVERRIDE_PROTO\", \"Simple\"}}\n  );\n}\n\nTEST(Rcclwrap, RcclOverrideProtocol_ValidOverride)\n{\n  RUN_ISOLATED_TEST_WITH_ENV(\"RcclOverrideProtocol_ValidOverride\",\n    []() {\n      const char* protoOverrideEnv = getenv(\"RCCL_OVERRIDE_PROTO\");\n      ASSERT_NE(protoOverrideEnv, nullptr) << \"RCCL_OVERRIDE_PROTO should be set\";\n\n      // Get the index of the protocol from the string for later comparison\n      int          protoIndex = NCCL_PROTO_UNDEF;\n      ncclResult_t idxResult\n        = rcclGetAlgoProtoIndex(protoOverrideEnv, ncclProtoStr, NCCL_NUM_PROTOCOLS, protoIndex);\n      ASSERT_EQ(idxResult, ncclSuccess) << \"Failed to get protocol index from string\";\n\n      // Mark all combinations as valid for the purpose of this test.\n      float table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n      for(int a = 0; a < NCCL_NUM_ALGORITHMS; ++a)\n        for(int p = 0; p < NCCL_NUM_PROTOCOLS; ++p)\n          table[a][p] = 0.0;\n\n      ncclTaskColl info;\n      info.func         = ncclFuncAllReduce;\n      info.datatype     = ncclBfloat16;\n      info.algorithm    = NCCL_ALGO_RING;\n      info.protocol     = NCCL_PROTO_UNDEF;\n\n      ncclResult_t result = rcclOverrideProtocol(ncclProtoStr, table, &info);\n\n      EXPECT_EQ(result, ncclSuccess) << \"Expected ncclSuccess when override is applied successfully.\";\n      EXPECT_EQ(info.protocol, protoIndex) << \"Protocol index should match the \"\n                                              \"override value from environment.\";\n    },\n    {{\"RCCL_OVERRIDE_PROTO\", \"Simple\"}}\n  );\n}\n\nTEST(Rcclwrap, RcclOverrideProtocol_ValidOverridePersists)\n{\n  RUN_ISOLATED_TEST_WITH_ENV(\"RcclOverrideProtocol_ValidOverridePersists\",\n    []() {\n      const char* protoOverrideEnv = getenv(\"RCCL_OVERRIDE_PROTO\");\n      ASSERT_NE(protoOverrideEnv, nullptr) << \"RCCL_OVERRIDE_PROTO should be set\";\n\n      // Get the index of the protocol from the string for later comparison\n      int          protoIndex = NCCL_PROTO_UNDEF;\n      ncclResult_t idxResult\n        = rcclGetAlgoProtoIndex(protoOverrideEnv, ncclProtoStr, NCCL_NUM_PROTOCOLS, protoIndex);\n      ASSERT_EQ(idxResult, ncclSuccess) << \"Failed to get protocol index from string\";\n\n      // Mark all combinations as valid for the purpose of this test.\n      float table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n      for(int a = 0; a < NCCL_NUM_ALGORITHMS; ++a)\n        for(int p = 0; p < NCCL_NUM_PROTOCOLS; ++p)\n          table[a][p] = 0.0;\n\n      ncclTaskColl info;\n      info.func         = ncclFuncAllReduce;\n      info.datatype     = ncclFloat16;\n      info.algorithm    = NCCL_ALGO_RING;\n      info.protocol     = NCCL_PROTO_UNDEF;\n\n      // First call\n      ncclResult_t result1 = rcclOverrideProtocol(ncclProtoStr, table, &info);\n      EXPECT_EQ(result1, ncclSuccess)\n        << \"Expected rcclOverrideProtocol to succeed with valid override\";\n      EXPECT_EQ(info.protocol, protoIndex) << \"Expected protocol to match override after first call\";\n\n      // Second call\n      ncclResult_t result2 = rcclOverrideProtocol(ncclProtoStr, table, &info);\n      EXPECT_EQ(result2, ncclSuccess)\n        << \"Expected rcclOverrideProtocol to succeed again on second call\";\n      EXPECT_EQ(info.protocol, protoIndex) << \"Expected protocol to match override after second call\";\n    },\n    {{\"RCCL_OVERRIDE_PROTO\", \"Simple\"}}\n  );\n}\n\nTEST(Rcclwrap, RcclOverrideProtocol_InvalidProtocol)\n{\n  RUN_ISOLATED_TEST_WITH_ENV(\"RcclOverrideProtocol_InvalidProtocol\",\n    []() {\n      float        table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n      ncclTaskColl info;\n\n      ncclResult_t result = rcclOverrideProtocol(ncclProtoStr, table, &info);\n\n      EXPECT_EQ(result, ncclInvalidUsage) << \"Expected ncclInvalidUsage when the \"\n                                             \"override protocol is invalid.\";\n    },\n    {{\"RCCL_OVERRIDE_PROTO\", \"InvalidProtocol\"}}\n  );\n}\n\nTEST(Rcclwrap, RcclOverrideProtocol_InvalidOverridePersists)\n{\n  RUN_ISOLATED_TEST_WITH_ENV(\"RcclOverrideProtocol_InvalidOverridePersists\",\n    []() {\n      float        table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n      ncclTaskColl info;\n\n      // First call should fail due to invalid proto string\n      ncclResult_t result1 = rcclOverrideProtocol(ncclProtoStr, table, &info);\n      EXPECT_EQ(result1, ncclInvalidUsage) << \"Expected rcclOverrideProtocol to fail with invalid \"\n                                              \"RCCL_OVERRIDE_PROTO.\";\n\n      // Second call should still fail because the static variable disables further\n      // overrides\n      ncclResult_t result2 = rcclOverrideProtocol(ncclProtoStr, table, &info);\n      EXPECT_EQ(result2, ncclInvalidUsage)\n        << \"Expected rcclOverrideProtocol to continue returning failure after \"\n           \"invalid proto was set.\";\n    },\n    {{\"RCCL_OVERRIDE_PROTO\", \"InvalidProtocol\"}}\n  );\n}\n\nTEST(Rcclwrap, RcclOverrideAlgorithm_NoOverride)\n{\n  RUN_ISOLATED_TEST_WITH_ENV(\"RcclOverrideAlgorithm_NoOverride\",\n    []() {\n      float        table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n      ncclTaskColl info;\n\n      ncclResult_t result = rcclOverrideAlgorithm(ncclAlgoStr, table, &info);\n\n      // Since no override is set, it should return success and do nothing\n      EXPECT_EQ(result, ncclSuccess)\n        << \"Expected ncclSuccess when RCCL_OVERRIDE_ALGO is unset, indicating no \"\n           \"override should be applied.\";\n    },\n    {}\n  );\n}\n\nTEST(Rcclwrap, RcclOverrideAlgorithm_UnsupportedOverride)\n{\n  RUN_ISOLATED_TEST_WITH_ENV(\"RcclOverrideAlgorithm_UnsupportedOverride\",\n    []() {\n      float table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n      for(int a = 0; a < NCCL_NUM_ALGORITHMS; ++a)\n        for(int p = 0; p < NCCL_NUM_PROTOCOLS; ++p)\n          table[a][p] = NCCL_ALGO_PROTO_IGNORE;\n\n      ncclTaskColl info;\n      info.func         = ncclFuncReduceScatter;\n      info.datatype     = ncclBfloat16;\n      info.protocol     = NCCL_PROTO_SIMPLE;\n\n      ncclResult_t result = rcclOverrideAlgorithm(ncclAlgoStr, table, &info);\n\n      EXPECT_EQ(result, ncclInternalError)\n        << \"Expected ncclInternalError when the override algorithm is valid, but \"\n           \"not enabled for the selected protocol.\";\n    },\n    {{\"RCCL_OVERRIDE_ALGO\", \"Ring\"}}\n  );\n}\n\nTEST(Rcclwrap, RcclOverrideAlgorithm_ValidOverride)\n{\n  RUN_ISOLATED_TEST_WITH_ENV(\"RcclOverrideAlgorithm_ValidOverride\",\n    []() {\n      const char* algoOverrideEnv = getenv(\"RCCL_OVERRIDE_ALGO\");\n      ASSERT_NE(algoOverrideEnv, nullptr) << \"RCCL_OVERRIDE_ALGO should be set\";\n\n      // Get the index of the algorithm from the string for later comparison\n      int          algoIndex = NCCL_ALGO_UNDEF;\n      ncclResult_t idxResult\n        = rcclGetAlgoProtoIndex(algoOverrideEnv, ncclAlgoStr, NCCL_NUM_ALGORITHMS, algoIndex);\n      ASSERT_EQ(idxResult, ncclSuccess) << \"Failed to get algorithm index from string\";\n\n      float table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n      // Mark all combinations as valid for the purpose of this test.\n      for(int a = 0; a < NCCL_NUM_ALGORITHMS; ++a)\n        for(int p = 0; p < NCCL_NUM_PROTOCOLS; ++p)\n          table[a][p] = 0.0;\n\n      ncclTaskColl info;\n      info.func         = ncclFuncAllReduce;\n      info.datatype     = ncclBfloat16;\n      info.protocol     = NCCL_PROTO_SIMPLE;\n      info.algorithm    = NCCL_ALGO_UNDEF;\n\n      ncclResult_t result = rcclOverrideAlgorithm(ncclAlgoStr, table, &info);\n\n      EXPECT_EQ(result, ncclSuccess) << \"Expected ncclSuccess when override is applied successfully.\";\n      EXPECT_EQ(info.algorithm, algoIndex)\n        << \"Algorithm index should match the override value from environment.\";\n    },\n    {{\"RCCL_OVERRIDE_ALGO\", \"Ring\"}}\n  );\n}\n\nTEST(Rcclwrap, RcclOverrideAlgorithm_ValidOverridePersists)\n{\n  RUN_ISOLATED_TEST_WITH_ENV(\"RcclOverrideAlgorithm_ValidOverridePersists\",\n    []() {\n      const char* algoOverrideEnv = getenv(\"RCCL_OVERRIDE_ALGO\");\n      ASSERT_NE(algoOverrideEnv, nullptr) << \"RCCL_OVERRIDE_ALGO should be set\";\n\n      // Get the index of the algorithm from the string for later comparison\n      int          algoIndex = NCCL_ALGO_UNDEF;\n      ncclResult_t idxResult\n        = rcclGetAlgoProtoIndex(algoOverrideEnv, ncclAlgoStr, NCCL_NUM_ALGORITHMS, algoIndex);\n      ASSERT_EQ(idxResult, ncclSuccess) << \"Failed to get algorithm index from string\";\n\n      // Mark all combinations as valid for the purpose of this test.\n      float table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n      for(int a = 0; a < NCCL_NUM_ALGORITHMS; ++a)\n        for(int p = 0; p < NCCL_NUM_PROTOCOLS; ++p)\n          table[a][p] = 0.0;\n\n      ncclTaskColl info;\n      info.func         = ncclFuncAllReduce;\n      info.datatype     = ncclFloat16;\n      info.protocol     = NCCL_PROTO_SIMPLE;\n      info.algorithm    = NCCL_ALGO_UNDEF;\n\n      // First call\n      ncclResult_t result1 = rcclOverrideAlgorithm(ncclAlgoStr, table, &info);\n      EXPECT_EQ(result1, ncclSuccess)\n        << \"Expected rcclOverrideAlgorithm to succeed with valid override.\";\n      EXPECT_EQ(info.algorithm, algoIndex)\n        << \"Expected algorithm to match override after first call.\";\n\n      // Second call\n      ncclResult_t result2 = rcclOverrideAlgorithm(ncclAlgoStr, table, &info);\n      EXPECT_EQ(result2, ncclSuccess)\n        << \"Expected rcclOverrideAlgorithm to succeed again on second call.\";\n      EXPECT_EQ(info.algorithm, algoIndex)\n        << \"Expected algorithm to match override after second call.\";\n    },\n    {{\"RCCL_OVERRIDE_ALGO\", \"Ring\"}}\n  );\n}\n\nTEST(Rcclwrap, RcclOverrideAlgorithm_InvalidAlgorithm)\n{\n  RUN_ISOLATED_TEST_WITH_ENV(\"RcclOverrideAlgorithm_InvalidAlgorithm\",\n    []() {\n      float        table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n      ncclTaskColl info;\n\n      ncclResult_t result = rcclOverrideAlgorithm(ncclAlgoStr, table, &info);\n\n      EXPECT_EQ(result, ncclInvalidUsage)\n        << \"Expected ncclInvalidUsage when the override algorithm is invalid.\";\n    },\n    {{\"RCCL_OVERRIDE_ALGO\", \"InvalidAlgorithm\"}}\n  );\n}\n\nTEST(Rcclwrap, RcclOverrideAlgorithm_InvalidOverridePersists)\n{\n  RUN_ISOLATED_TEST_WITH_ENV(\"RcclOverrideAlgorithm_InvalidOverridePersists\",\n    []() {\n      float        table[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS];\n      ncclTaskColl info;\n\n      // First call should fail due to invalid algo string (and set the static flag)\n      ncclResult_t result1 = rcclOverrideAlgorithm(ncclAlgoStr, table, &info);\n      EXPECT_EQ(result1, ncclInvalidUsage) << \"Expected rcclOverrideAlgorithm to fail with invalid \"\n                                              \"RCCL_OVERRIDE_ALGO.\";\n\n      // Second call should also fail due to static validInput=false\n      ncclResult_t result2 = rcclOverrideAlgorithm(ncclAlgoStr, table, &info);\n      EXPECT_EQ(result2, ncclInvalidUsage)\n        << \"Expected rcclOverrideAlgorithm to continue returning failure after \"\n           \"invalid algo was set.\";\n    },\n    {{\"RCCL_OVERRIDE_ALGO\", \"InvalidAlgorithm\"}}\n  );\n}\n\nTEST(Rcclwrap, AllrcclSetP2pNetChunkSizeTests)\n{\n    INFO(\n        NCCL_LOG_INFO,\n        \"=== Starting Process-Isolated rcclSetP2pNetChunkSize \"\n        \"Tests Execution ===\"\n    );\n\n    // Define test case structure\n    struct P2PChunkSizeTestCase\n    {\n        std::string                                  name;\n        std::string                                  arch;\n        int                                          ranks;\n        int                                          expectedChunkSize;\n        std::unordered_map<std::string, std::string> extraEnv;\n    };\n\n    // Define all test cases\n    std::vector<P2PChunkSizeTestCase> testCases = {\n        // GFX942 tests\n        {      \"GFX942_LargeRanks_Isolated\",\"gfx942\",  128,1 << 19,                                                                  {}                                                            },\n        {  \"GFX942_BoundaryRank64_Isolated\", \"gfx942\",   64,            1 << 19,                                                                  {}},\n        {  \"GFX942_BoundaryRank63_Isolated\", \"gfx942\",   63,            1 << 17,                                                                  {}},\n\n        // GFX950 tests\n        {      \"GFX950_SmallRanks_Isolated\", \"gfx950\",    8,            1 << 17,                                                                  {}},\n        {     \"GFX950_MediumRanks_Isolated\", \"gfx950\",   24,            1 << 18,                                                                  {}},\n        {      \"GFX950_LargeRanks_Isolated\", \"gfx950\",   64,            1 << 19,                                                                  {}},\n        {  \"GFX950_BoundaryRank16_Isolated\", \"gfx950\",   16,            1 << 18,                                                                  {}},\n        {  \"GFX950_BoundaryRank15_Isolated\", \"gfx950\",   15,            1 << 17,                                                                  {}},\n        {  \"GFX950_BoundaryRank32_Isolated\", \"gfx950\",   32,            1 << 19,                                                                  {}},\n        {  \"GFX950_BoundaryRank31_Isolated\", \"gfx950\",   31,            1 << 18,                                                                  {}},\n\n        // Unsupported architectures\n        { \"UnsupportedArch_GFX908_Isolated\", \"gfx908\",   32, RCCL_VALUE_INVALID,                                                                  {}},\n        { \"UnsupportedArch_GFX90A_Isolated\", \"gfx90a\",   32, RCCL_VALUE_INVALID,                                                                  {}},\n\n        // Edge cases\n        {        \"EmptyArchString_Isolated\",       \"\",   32, RCCL_VALUE_INVALID,                                                                  {}},\n        {       \"PartialArchMatch_Isolated\",  \"gfx94\",   32, RCCL_VALUE_INVALID,                                                                  {}},\n        {       \"ZeroRanks_GFX942_Isolated\", \"gfx942\",    0,            1 << 17,                                                                  {}},\n        {       \"ZeroRanks_GFX950_Isolated\", \"gfx950\",    0,            1 << 17,                                                                  {}},\n        { \"LargeRankValues_GFX950_Isolated\", \"gfx950\", 1000,            1 << 19,                                                                  {}},\n        {    \"CaseInsensitiveArch_Isolated\", \"GFX942\",   32, RCCL_VALUE_INVALID,                                                                  {}},\n\n        // Environment variable test\n        {\"WithEnvironmentVariable_Isolated\",\n         \"gfx942\",   32,\n         RCCL_VALUE_UNSET, {{\"NCCL_P2P_NET_CHUNKSIZE\", \"123456\"}, {\"NCCL_MAX_NCHANNELS\", \"1\"}}                                                      }\n    };\n\n    // Base environment for all tests\n    std::unordered_map<std::string, std::string> baseEnv = {\n        {       \"NCCL_DEBUG\", \"TRACE\"},\n        {\"NCCL_DEBUG_SUBSYS\",   \"ALL\"}\n    };\n\n    // Register all tests using a loop\n    for(const auto& tc : testCases)\n    {\n        ProcessIsolatedTestRunner::registerTest(\n            ProcessIsolatedTestRunner::TestConfig(\n                tc.name,\n                [tc]()\n                {\n                    ncclComm_t            mockComm = nullptr;\n                    struct ncclTopoSystem mockTopo;\n                    struct ncclTopoNode   mockGpuNode;\n                    CreateMockComm(mockComm, mockTopo, mockGpuNode, tc.arch.c_str(), tc.ranks);\n\n                    int chunkSize = RCCL_VALUE_UNSET;\n                    rcclSetP2pNetChunkSize(mockComm, chunkSize);\n\n                    // Special handling for environment variable test\n                    if(tc.name == \"WithEnvironmentVariable_Isolated\")\n                    {\n                        const char* envValue = getenv(\"NCCL_P2P_NET_CHUNKSIZE\");\n                        EXPECT_STREQ(envValue, \"123456\")\n                            << \"Environment variable should be set to 123456\";\n                        EXPECT_NE(chunkSize, RCCL_VALUE_UNSET)\n                            << \"Environment variable should override default logic\";\n                    }\n                    else\n                    {\n                        EXPECT_EQ(chunkSize, tc.expectedChunkSize)\n                            << \"Failed for \" << tc.arch << \" with \" << tc.ranks << \" ranks\";\n                    }\n\n                    CleanupMockComm(mockComm);\n                }\n            )\n                .withEnvironment(\n                    [&tc, &baseEnv]()\n                    {\n                        auto env = baseEnv;\n                        env.insert(tc.extraEnv.begin(), tc.extraEnv.end());\n                        return env;\n                    }()\n                )\n                .withTimeout(std::chrono::seconds(60))\n        );\n    }\n\n    // Configure execution options\n    ProcessIsolatedTestRunner::ExecutionOptions options;\n    options.stopOnFirstFailure = false; // Continue running all tests\n    options.verboseLogging     = true;\n\n    // Execute all tests\n    bool allTestsPassed = ProcessIsolatedTestRunner::executeAllTests(options);\n\n    // Verify that all tests passed\n    EXPECT_TRUE(allTestsPassed) << \"One or more process-isolated GFX tests failed\";\n\n    INFO(\n        NCCL_LOG_INFO,\n        \"=== Process-Isolated rcclSetP2pNetChunkSize Tests \"\n        \"Execution Completed ===\"\n    );\n}\n\nTEST(Rcclwrap, AllPxnTests)\n{\n    // Define test case structure\n    struct PxnTestCase\n    {\n        std::string                                  name;\n        std::string                                  arch;\n        int                                          ranks;\n        int                                          expectedPxnDisable;\n        std::unordered_map<std::string, std::string> extraEnv;\n        bool shouldSkipCheck; // For tests with environment variable set\n    };\n\n    // Define all test cases\n    std::vector<PxnTestCase> testCases = {\n        // GFX942 tests\n        {      \"PXN_GFX942_SmallRanks_Isolated\",\"gfx942\",  32,   1,                          {},true                                                                                                                },\n        {      \"PXN_GFX942_LargeRanks_Isolated\", \"gfx942\", 128,                  0,                          {}, true},\n        {  \"PXN_GFX942_BoundaryRank64_Isolated\", \"gfx942\",  64,                  0,                          {}, true},\n        {  \"PXN_GFX942_BoundaryRank63_Isolated\", \"gfx942\",  63,                  1,                          {}, true},\n\n        // GFX950 tests\n        {      \"PXN_GFX950_SmallRanks_Isolated\", \"gfx950\",   8,                  1,                          {}, true},\n        {      \"PXN_GFX950_LargeRanks_Isolated\", \"gfx950\",  64,                  0,                          {}, true},\n        {  \"PXN_GFX950_BoundaryRank32_Isolated\", \"gfx950\",  32,                  0,                          {}, true},\n        {  \"PXN_GFX950_BoundaryRank31_Isolated\", \"gfx950\",  31,                  1,                          {}, true},\n\n        // Unsupported architecture\n        { \"PXN_UnsupportedArch_GFX908_Isolated\", \"gfx908\",  32, RCCL_VALUE_INVALID,                          {}, true},\n\n        // Environment variable test (no skip check needed)\n        {\"PXN_WithEnvironmentVariable_Isolated\",\n         \"gfx942\",  32,\n         RCCL_VALUE_INVALID, {{\"NCCL_PXN_DISABLE\", \"1\"}},\n         false                                                                                                       }\n    };\n\n    // Base environment for all tests\n    std::unordered_map<std::string, std::string> baseEnv = {\n        {       \"NCCL_DEBUG\", \"TRACE\"},\n        {\"NCCL_DEBUG_SUBSYS\",   \"ALL\"}\n    };\n\n    // Register all tests using a loop\n    for(const auto& tc : testCases)\n    {\n        ProcessIsolatedTestRunner::registerTest(\n            ProcessIsolatedTestRunner::TestConfig(\n                tc.name,\n                [tc]()\n                {\n                    // Check if we should skip this test due to environment variable being\n                    // set\n                    if(tc.shouldSkipCheck && ShouldSkipPxnTest())\n                    {\n                        GTEST_SKIP()\n                            << \"Skipping \" << tc.name << \" due to environment variable being set\";\n                        return;\n                    }\n\n                    INFO(\n                        NCCL_LOG_INFO,\n                        \"Testing rcclSetPxn for %s with %d ranks\",\n                        tc.arch.c_str(),\n                        tc.ranks\n                    );\n\n                    ncclComm_t            mockComm = nullptr;\n                    struct ncclTopoSystem mockTopo;\n                    struct ncclTopoNode   mockGpuNode;\n                    CreateMockComm(mockComm, mockTopo, mockGpuNode, tc.arch.c_str(), tc.ranks);\n\n                    int pxnDisable = RCCL_VALUE_UNSET;\n                    rcclSetPxn(mockComm, pxnDisable);\n\n                    EXPECT_EQ(pxnDisable, tc.expectedPxnDisable)\n                        << \"Failed for \" << tc.arch << \" with \" << tc.ranks << \" ranks\";\n\n                    INFO(\n                        NCCL_LOG_INFO,\n                        \"%s test completed - pxnDisable: %d\",\n                        tc.name.c_str(),\n                        pxnDisable\n                    );\n                    CleanupMockComm(mockComm);\n                }\n            )\n                .withEnvironment(\n                    [&tc, &baseEnv]()\n                    {\n                        auto env = baseEnv;\n                        env.insert(tc.extraEnv.begin(), tc.extraEnv.end());\n                        return env;\n                    }()\n                )\n        );\n    }\n\n    // Configure execution options for sequential execution with stop on first\n    // failure\n    ProcessIsolatedTestRunner::ExecutionOptions options;\n    options.stopOnFirstFailure = true;\n    options.verboseLogging     = true;\n\n    // Execute all registered tests\n    bool allTestsPassed = ProcessIsolatedTestRunner::executeAllTests(options);\n\n    EXPECT_TRUE(allTestsPassed) << \"One or more PXN process-isolated tests failed\";\n}\n\n} // namespace RcclUnitTesting\n"
  },
  {
    "path": "test/ReduceScatterTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"TestBed.hpp\"\n\nnamespace RcclUnitTesting\n{\n  TEST(ReduceScatter, OutOfPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollReduceScatter};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat32};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclMax};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {393216, 384};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(ReduceScatter, OutOfPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollReduceScatter};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat64, ncclBfloat16, ncclFloat8e4m3, ncclFloat8e5m2};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclMax};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {1048576};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(ReduceScatter, InPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollReduceScatter};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclInt32};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclProd};\n    std::vector<int>            const roots           = {0, 1};\n    std::vector<int>            const numElements     = {542357};\n    std::vector<bool>           const inPlaceList     = {true};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(ReduceScatter, InPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollReduceScatter};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclUint8, ncclFloat16};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclMin};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {246};;\n    std::vector<bool>           const inPlaceList     = {true};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(ReduceScatter, ManagedMem)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollReduceScatter};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclInt64, ncclUint8};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclAvg};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {1024};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(ReduceScatter, ManagedMemGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollReduceScatter};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclUint32, ncclUint64};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclAvg};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {6485423};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n}\n"
  },
  {
    "path": "test/ReduceTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"TestBed.hpp\"\n\nnamespace RcclUnitTesting\n{\n  TEST(Reduce, OutOfPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollReduce};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat32};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {393216, 384};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Reduce, OutOfPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollReduce};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat16, ncclFloat64, ncclFloat8e4m3, ncclFloat8e5m2};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclMin};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {393216};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Reduce, InPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollReduce};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclInt32, ncclInt8};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclProd};\n    std::vector<int>            const roots           = {1};\n    std::vector<int>            const numElements     = {384};\n    std::vector<bool>           const inPlaceList     = {true};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Reduce, InPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollReduce};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclBfloat16, ncclFloat8e4m3, ncclFloat8e5m2};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclMax};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {393216};\n    std::vector<bool>           const inPlaceList     = {true};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Reduce, ManagedMem)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollReduce};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclUint64};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {3524082, 2500};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Reduce, ManagedMemGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollReduce};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat64, ncclBfloat16};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {4314};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n}\n"
  },
  {
    "path": "test/RegisterTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <gtest/gtest.h>\n#include <rccl/rccl.h>\n#include <cstdlib>\n#include <cstdio>\n\n#include \"common/ErrCode.hpp\"\n#include \"common/ProcessIsolatedTestRunner.hpp\"\n#include \"StandaloneUtils.hpp\"\n\nnamespace RcclUnitTesting\n{\n\n// Helper to check GPU availability\nstatic bool hasGpuAvailable() {\n    int numDevices = 0;\n    hipError_t err = hipGetDeviceCount(&numDevices);\n    return (err == hipSuccess && numDevices >= 1);\n}\n\n// Macro to skip test if no GPU is available\n#define SKIP_IF_NO_GPU() \\\n    do { \\\n        if (!hasGpuAvailable()) { \\\n            GTEST_SKIP() << \"This test requires at least 1 GPU device.\"; \\\n            return; \\\n        } \\\n    } while(0)\n\n// Helper to initialize a single-rank communicator\nstatic ncclResult_t initSingleRankComm(ncclComm_t* comm) {\n    ncclUniqueId id;\n    ncclResult_t res = ncclGetUniqueId(&id);\n    if (res != ncclSuccess) return res;\n    return ncclCommInitRank(comm, 1, id, 0);\n}\n\n//==============================================================================\n// Test implementation functions - parameterized by registration expectation\n//==============================================================================\n\n/**\n * @brief Test basic register/deregister of a single buffer\n * @param expectNonNull If true, expect non-NULL handle (registration enabled)\n */\nstatic void testCommRegisterDeregister(bool expectNonNull) {\n    SKIP_IF_NO_GPU();\n\n    HIPCALL(hipSetDevice(0));\n\n    ncclComm_t comm;\n    NCCLCHECK(initSingleRankComm(&comm));\n\n    // Create buffer on device\n    const size_t bufferSize = 1024 * 1024; // 1 MB\n    void* deviceBuffer = nullptr;\n    HIPCALL(hipMalloc(&deviceBuffer, bufferSize));\n    ASSERT_NE(deviceBuffer, nullptr) << \"Failed to allocate device buffer\";\n\n    // Register buffer with ncclCommRegister\n    void* regHandle = nullptr;\n    NCCLCHECK(ncclCommRegister(comm, deviceBuffer, bufferSize, &regHandle));\n\n    // Verify handle based on expected behavior\n    if (expectNonNull) {\n        EXPECT_NE(regHandle, nullptr)\n            << \"Buffer registration failed: regHandle is NULL even though NCCL_LOCAL_REGISTER=1\";\n    } else {\n        EXPECT_EQ(regHandle, nullptr)\n            << \"Expected NULL handle when NCCL_LOCAL_REGISTER is disabled\";\n    }\n\n    // Deregister and clean up\n    NCCLCHECK(ncclCommDeregister(comm, regHandle));\n    HIPCALL(hipFree(deviceBuffer));\n    NCCLCHECK(ncclCommDestroy(comm));\n}\n\n/**\n * @brief Test registering multiple buffers simultaneously\n * @param expectNonNull If true, expect non-NULL handles and verify uniqueness\n */\nstatic void testMultipleBufferRegistration(bool expectNonNull) {\n    SKIP_IF_NO_GPU();\n\n    HIPCALL(hipSetDevice(0));\n\n    ncclComm_t comm;\n    NCCLCHECK(initSingleRankComm(&comm));\n\n    // Create and register multiple buffers\n    const int numBuffers = 4;\n    const size_t bufferSize = 64 * 1024; // 64 KB each\n    void* deviceBuffers[numBuffers] = {nullptr};\n    void* regHandles[numBuffers] = {nullptr};\n\n    for (int i = 0; i < numBuffers; i++) {\n        HIPCALL(hipMalloc(&deviceBuffers[i], bufferSize));\n        ASSERT_NE(deviceBuffers[i], nullptr) << \"Failed to allocate buffer \" << i;\n\n        NCCLCHECK(ncclCommRegister(comm, deviceBuffers[i], bufferSize, &regHandles[i]));\n\n        if (expectNonNull) {\n            EXPECT_NE(regHandles[i], nullptr) << \"Registration failed for buffer \" << i;\n        } else {\n            EXPECT_EQ(regHandles[i], nullptr) << \"Expected NULL handle for buffer \" << i;\n        }\n    }\n\n    // Verify all handles are unique (only when registration is enabled)\n    if (expectNonNull) {\n        for (int i = 0; i < numBuffers; i++) {\n            for (int j = i + 1; j < numBuffers; j++) {\n                if (regHandles[i] != nullptr && regHandles[j] != nullptr) {\n                    EXPECT_NE(regHandles[i], regHandles[j])\n                        << \"Buffers \" << i << \" and \" << j << \" have the same registration handle\";\n                }\n            }\n        }\n    }\n\n    // Deregister and clean up\n    for (int i = 0; i < numBuffers; i++) {\n        NCCLCHECK(ncclCommDeregister(comm, regHandles[i]));\n        HIPCALL(hipFree(deviceBuffers[i]));\n    }\n    NCCLCHECK(ncclCommDestroy(comm));\n}\n\n/**\n * @brief Test registering buffers of various sizes\n * @param expectNonNull If true, expect non-NULL handles for all sizes\n */\nstatic void testVariableSizeBuffers(bool expectNonNull) {\n    SKIP_IF_NO_GPU();\n\n    HIPCALL(hipSetDevice(0));\n\n    ncclComm_t comm;\n    NCCLCHECK(initSingleRankComm(&comm));\n\n    // Test various buffer sizes: 4KB, 64KB, 1MB, 4MB\n    const size_t sizes[] = {4096, 64 * 1024, 1024 * 1024, 4 * 1024 * 1024};\n    const int numSizes = sizeof(sizes) / sizeof(sizes[0]);\n\n    for (int i = 0; i < numSizes; i++) {\n        void* deviceBuffer = nullptr;\n        void* regHandle = nullptr;\n\n        HIPCALL(hipMalloc(&deviceBuffer, sizes[i]));\n        ASSERT_NE(deviceBuffer, nullptr) << \"Failed to allocate buffer of size \" << sizes[i];\n\n        NCCLCHECK(ncclCommRegister(comm, deviceBuffer, sizes[i], &regHandle));\n\n        if (expectNonNull) {\n            EXPECT_NE(regHandle, nullptr)\n                << \"Registration failed for buffer size \" << sizes[i] << \" bytes\";\n        } else {\n            EXPECT_EQ(regHandle, nullptr)\n                << \"Expected NULL handle for buffer size \" << sizes[i] << \" bytes\";\n        }\n\n        NCCLCHECK(ncclCommDeregister(comm, regHandle));\n        HIPCALL(hipFree(deviceBuffer));\n    }\n\n    NCCLCHECK(ncclCommDestroy(comm));\n}\n\n/**\n * @brief Test deregistering NULL handle (should succeed as no-op)\n */\nstatic void testDeregisterNullHandle() {\n    SKIP_IF_NO_GPU();\n\n    HIPCALL(hipSetDevice(0));\n\n    ncclComm_t comm;\n    NCCLCHECK(initSingleRankComm(&comm));\n\n    // Deregister NULL handle - should be a no-op\n    NCCLCHECK(ncclCommDeregister(comm, nullptr));\n\n    NCCLCHECK(ncclCommDestroy(comm));\n}\n\n//==============================================================================\n// Test configuration helpers\n//==============================================================================\n\n// Environment configuration for disabled registration (default)\nstatic ProcessIsolatedTestRunner::TestConfig\nmakeDisabledConfig(const std::string& name, std::function<void()> testFn) {\n    return ProcessIsolatedTestRunner::TestConfig(name, testFn)\n        .clearVariable(\"NCCL_LOCAL_REGISTER\");\n}\n\n// Environment configuration for enabled registration\nstatic ProcessIsolatedTestRunner::TestConfig\nmakeEnabledConfig(const std::string& name, std::function<void()> testFn) {\n    return ProcessIsolatedTestRunner::TestConfig(name, testFn)\n        .withEnvironment({{\"NCCL_LOCAL_REGISTER\", \"1\"}});\n}\n\n/**\n * @brief Test ncclCommRegister and ncclCommDeregister APIs with process isolation\n *\n * This test suite verifies that:\n * 1. A device buffer can be registered with ncclCommRegister (API returns success)\n * 2. When NCCL_LOCAL_REGISTER=1, the registration returns a valid (non-NULL) handle\n * 3. When NCCL_LOCAL_REGISTER is not set, NULL handle is expected (default behavior)\n * 4. The buffer can be deregistered with ncclCommDeregister\n *\n * Note: NCCL_LOCAL_REGISTER defaults to 0 (disabled) in RCCL.\n */\nTEST(Register, ProcessIsolatedRegisterTests)\n{\n    RUN_ISOLATED_TESTS(\n        // CommRegisterDeregister tests\n        makeDisabledConfig(\"CommRegisterDeregister_Disabled\",\n            []() { testCommRegisterDeregister(false); }),\n        makeEnabledConfig(\"CommRegisterDeregister_Enabled\",\n            []() { testCommRegisterDeregister(true); }),\n\n        // MultipleBufferRegistration tests\n        makeDisabledConfig(\"MultipleBufferRegistration_Disabled\",\n            []() { testMultipleBufferRegistration(false); }),\n        makeEnabledConfig(\"MultipleBufferRegistration_Enabled\",\n            []() { testMultipleBufferRegistration(true); }),\n\n        // VariableSizeBuffers tests\n        makeDisabledConfig(\"VariableSizeBuffers_Disabled\",\n            []() { testVariableSizeBuffers(false); }),\n        makeEnabledConfig(\"VariableSizeBuffers_Enabled\",\n            []() { testVariableSizeBuffers(true); }),\n\n        // DeregisterNullHandle test (no enable/disable variants needed)\n        ProcessIsolatedTestRunner::TestConfig(\"DeregisterNullHandle\", testDeregisterNullHandle)\n    );\n}\n\n} // namespace RcclUnitTesting\n"
  },
  {
    "path": "test/ScatterTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"TestBed.hpp\"\n\nnamespace RcclUnitTesting\n{\n  TEST(Scatter, OutOfPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollScatter};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat32};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {1};\n    std::vector<int>            const numElements     = {393216, 384};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Scatter, OutOfPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollScatter};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclFloat64, ncclBfloat16, ncclFloat8e4m3, ncclFloat8e5m2};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {1};\n    std::vector<int>            const numElements     = {24658};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Scatter, InPlace)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollScatter};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclInt32};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {1048576, 1024};\n    std::vector<bool>           const inPlaceList     = {true};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Scatter, InPlaceGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollScatter};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclInt8, ncclFloat16};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {356};\n    std::vector<bool>           const inPlaceList     = {true};\n    std::vector<bool>           const managedMemList  = {false};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Scatter, ManagedMem)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollScatter};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclInt64, ncclUint8};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {948576};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {false};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n\n  TEST(Scatter, ManagedMemGraph)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclFunc_t>     const funcTypes       = {ncclCollScatter};\n    std::vector<ncclDataType_t> const dataTypes       = {ncclUint32, ncclUint64};\n    std::vector<ncclRedOp_t>    const redOps          = {ncclSum};\n    std::vector<int>            const roots           = {0};\n    std::vector<int>            const numElements     = {125};\n    std::vector<bool>           const inPlaceList     = {false};\n    std::vector<bool>           const managedMemList  = {true};\n    std::vector<bool>           const useHipGraphList = {true};\n\n    testBed.RunSimpleSweep(funcTypes, dataTypes, redOps, roots, numElements,\n                           inPlaceList, managedMemList, useHipGraphList);\n    testBed.Finalize();\n  }\n}\n"
  },
  {
    "path": "test/SendRecvTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"TestBed.hpp\"\n\nnamespace RcclUnitTesting\n{\n  TEST(SendRecv, SinglePairs)\n  {\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclDataType_t> const& testDataTypes   = {ncclInt32, ncclFloat16, ncclFloat64};\n    std::vector<int>            const  numElements     = {1048576, 53327, 1024, 0};\n    bool                        const  inPlace         = false;\n    bool                        const  useManagedMem   = false;\n\n    OptionalColArgs options;\n\n    std::vector<ncclDataType_t> dataTypes;\n    testBed.GetSupportedDataTypes(dataTypes, testDataTypes);\n    if (dataTypes.empty()) {\n      GTEST_SKIP() << \"Skipping... test datatypes excluded by UT_DATATYPES.\";\n    }\n\n    bool isCorrect = true;\n    int numGpus = testBed.ev.maxGpus;\n    for (int rpg=0; rpg < 2 && isCorrect; ++rpg)\n    for (int isMultiProcess = 0; isMultiProcess <= 1 && isCorrect; ++isMultiProcess)\n    {\n      if (!(testBed.ev.processMask & (1 << isMultiProcess))) continue;\n      int ranksPerGpu = rpg == 0 ? 1 : testBed.ev.maxRanksPerGpu;\n      int totalRanks = numGpus * ranksPerGpu;\n      int const numProcesses = isMultiProcess ? numGpus : 1;\n      const std::vector<int>& gpuPriorityOrder = testBed.ev.GetGpuPriorityOrder();\n      testBed.InitComms(TestBed::GetDeviceIdsList(numProcesses, numGpus, ranksPerGpu, gpuPriorityOrder),\n                        {1,2}, //two group, second group sendrecv to self, has 2 coll\n                        testBed.GetNumStreamsPerGroup(1,2),\n                        2);\n\n      for (int dataIdx = 0; dataIdx < dataTypes.size() && isCorrect; ++dataIdx)\n      for (int numIdx = 0; numIdx < numElements.size() && isCorrect; ++numIdx)\n      for (int sendRank = 0; sendRank < totalRanks; ++sendRank)\n      {\n        for (int recvRank = 0; recvRank  < totalRanks; ++recvRank)\n        {\n          options.root = recvRank;\n          int groupCallId = sendRank == recvRank; //self sendrecv group has two coll\n          int recvId      = sendRank == recvRank; //where recv will be second coll\n          testBed.SetCollectiveArgs(ncclCollSend,\n                                    dataTypes[dataIdx],\n                                    numElements[numIdx],\n                                    numElements[numIdx],\n                                    options,\n                                    0,\n                                    groupCallId,\n                                    sendRank);\n          if (recvRank == 0)\n          {\n            //set up the collArg slot to make sure AllocateMem is called once and correctly\n            testBed.SetCollectiveArgs(ncclCollSend,\n                                      dataTypes[dataIdx],\n                                      numElements[numIdx],\n                                      numElements[numIdx],\n                                      options,\n                                      0,\n                                      !groupCallId,\n                                      sendRank);\n            testBed.AllocateMem(inPlace, useManagedMem, 0, 0, sendRank);\n            testBed.PrepareData(0, 0, sendRank);\n            testBed.AllocateMem(inPlace, useManagedMem, 1, 0, sendRank);\n            testBed.PrepareData(1, 0, sendRank);\n          }\n\n          if (testBed.ev.showNames) // Show test names\n            INFO(\"%s Datatype: %s SendReceive test Rank %d -> Rank %d for %d Elements\\n\",\n                 isMultiProcess ? \"MP\" : \"SP\",\n                 ncclDataTypeNames[dataTypes[dataIdx]],\n                 sendRank,\n                 recvRank,\n                 numElements[numIdx]);\n          options.root = sendRank;\n\n          testBed.SetCollectiveArgs(ncclCollRecv,\n                                    dataTypes[dataIdx],\n                                    numElements[numIdx],\n                                    numElements[numIdx],\n                                    options,\n                                    recvId,\n                                    groupCallId,\n                                    recvRank);\n          testBed.AllocateMem(inPlace, useManagedMem, groupCallId, recvId, recvRank);\n          testBed.PrepareData(groupCallId, recvId, recvRank);\n          testBed.ExecuteCollectives({sendRank, recvRank}, groupCallId);\n          testBed.ValidateResults(isCorrect, groupCallId, recvId, recvRank);\n          testBed.DeallocateMem(groupCallId, recvId, recvRank);\n        }\n        testBed.DeallocateMem(0, 0, sendRank);\n        testBed.DeallocateMem(1, 0, sendRank);\n      }\n      testBed.DestroyComms();\n    }\n    testBed.Finalize();\n  }\n\n  TEST(SendRecv, UserBufferRegister)\n  {\n    setenv(\"RCCL_ENABLE_INTRANET\", \"1\", 1);\n    TestBed testBed;\n\n    // Configuration\n    std::vector<ncclDataType_t> const& testDataTypes   = {ncclInt32, ncclFloat16, ncclFloat64};\n    std::vector<int>            const  numElements     = {1048576, 53327, 1024};\n    bool                        const  inPlace         = false;\n    bool                        const  useManagedMem   = false;\n    bool                        const  userRegistered  = true;\n\n    OptionalColArgs options;\n\n    std::vector<ncclDataType_t> dataTypes;\n    testBed.GetSupportedDataTypes(dataTypes, testDataTypes);\n    if (dataTypes.empty()) {\n      GTEST_SKIP() << \"Skipping... test datatypes excluded by UT_DATATYPES.\";\n    }\n\n    bool isCorrect = true;\n    int numGpus = testBed.ev.maxGpus;\n    for (int rpg=0; rpg < 2 && isCorrect; ++rpg)\n    for (int isMultiProcess = 0; isMultiProcess <= 1 && isCorrect; ++isMultiProcess)\n    {\n      if (!(testBed.ev.processMask & (1 << isMultiProcess))) continue;\n      int ranksPerGpu = rpg == 0 ? 1 : testBed.ev.maxRanksPerGpu;\n      int totalRanks = numGpus * ranksPerGpu;\n      int const numProcesses = isMultiProcess ? numGpus : 1;\n      const std::vector<int>& gpuPriorityOrder = testBed.ev.GetGpuPriorityOrder();\n      testBed.InitComms(TestBed::GetDeviceIdsList(numProcesses, numGpus, ranksPerGpu, gpuPriorityOrder),\n                        {1,2}, //two group, second group sendrecv to self, has 2 coll\n                        testBed.GetNumStreamsPerGroup(1,2),\n                        2);\n\n      for (int dataIdx = 0; dataIdx < dataTypes.size() && isCorrect; ++dataIdx)\n      for (int numIdx = 0; numIdx < numElements.size() && isCorrect; ++numIdx)\n      for (int sendRank = 0; sendRank < totalRanks; ++sendRank)\n      {\n        for (int recvRank = 0; recvRank  < totalRanks; ++recvRank)\n        {\n          options.root = recvRank;\n          int groupCallId = sendRank == recvRank;\n          int recvId      = sendRank == recvRank;\n          testBed.SetCollectiveArgs(ncclCollSend,\n                                    dataTypes[dataIdx],\n                                    numElements[numIdx],\n                                    numElements[numIdx],\n                                    options,\n                                    0,\n                                    groupCallId,\n                                    sendRank);\n          if (recvRank == 0)\n          {\n            testBed.SetCollectiveArgs(ncclCollSend,\n                                      dataTypes[dataIdx],\n                                      numElements[numIdx],\n                                      numElements[numIdx],\n                                      options,\n                                      0,\n                                      !groupCallId,\n                                      sendRank);\n            testBed.AllocateMem(inPlace, useManagedMem, 0, 0, sendRank, userRegistered);\n            testBed.PrepareData(0, 0, sendRank);\n            testBed.AllocateMem(inPlace, useManagedMem, 1, 0, sendRank, userRegistered);\n            testBed.PrepareData(1, 0, sendRank);\n          }\n\n          if (testBed.ev.showNames) // Show test names\n            INFO(\"%s Datatype: %s SendReceive test Rank %d -> Rank %d for %d Elements\\n\",\n                 isMultiProcess ? \"MP\" : \"SP\",\n                 ncclDataTypeNames[dataTypes[dataIdx]],\n                 sendRank,\n                 recvRank,\n                 numElements[numIdx]);\n\n          options.root = sendRank;\n          testBed.SetCollectiveArgs(ncclCollRecv,\n                                    dataTypes[dataIdx],\n                                    numElements[numIdx],\n                                    numElements[numIdx],\n                                    options,\n                                    recvId,\n                                    groupCallId,\n                                    recvRank);\n          testBed.AllocateMem(inPlace, useManagedMem, groupCallId, recvId, recvRank, userRegistered);\n          testBed.PrepareData(groupCallId, recvId, recvRank);\n          testBed.ExecuteCollectives({sendRank, recvRank}, groupCallId);\n          testBed.ValidateResults(isCorrect, groupCallId, recvId, recvRank);\n          testBed.DeallocateMem(groupCallId, recvId, recvRank);\n        }\n        testBed.DeallocateMem(0, 0, sendRank);\n        testBed.DeallocateMem(1, 0, sendRank);\n      }\n      testBed.DestroyComms();\n    }\n    testBed.Finalize();\n    unsetenv(\"RCCL_ENABLE_INTRANET\");\n  }\n}\n"
  },
  {
    "path": "test/StandaloneTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <gtest/gtest.h>\n#include <rccl/rccl.h>\n\n#include \"TestBed.hpp\"\n#include \"StandaloneUtils.hpp\"\n\nnamespace RcclUnitTesting\n{\n  /**\n   * \\brief Verify that each device is assigned to the right rank using ncclCommSplit API.\n   * ******************************************************************************************/\n  TEST(Standalone, SplitComms_RankCheck)\n  {\n    // Check for multi-gpu\n    int numDevices;\n    HIPCALL(hipGetDeviceCount(&numDevices));\n    if (numDevices < 2) {\n      GTEST_SKIP() << \"This test requires at least 2 devices.\";\n    }\n\n    // Initialize the original comms\n    std::vector<ncclComm_t> comms(numDevices);\n    NCCLCHECK(ncclCommInitAll(comms.data(), numDevices, nullptr));\n\n    // Split into new comms (round-robin)\n    std::vector<ncclComm_t> subComms(numDevices);\n    int numSubComms = 2;\n\n    std::map<int, int> mapCounter;\n    NCCLCHECK(ncclGroupStart());\n    for (int localRank = 0; localRank < numDevices; localRank++) {\n      NCCLCHECK(ncclCommSplit(comms[localRank], localRank % numSubComms, localRank, &subComms[localRank], NULL));\n      mapCounter[localRank % numSubComms]++;\n    }\n    NCCLCHECK(ncclGroupEnd());\n\n    // Check that new comms have correct subranks / ranks\n    for (int i = 0; i < numDevices; i++) {\n      int subCommRank, subCommNRank;\n      NCCLCHECK(ncclCommUserRank(subComms[i], &subCommRank));\n      NCCLCHECK(ncclCommCount(subComms[i], &subCommNRank));\n\n      ASSERT_EQ(subCommRank, i / numSubComms);\n      ASSERT_EQ(subCommNRank, mapCounter[i % numSubComms]);\n    }\n\n    // Clean up comms\n    for (auto& subComm : subComms)\n      NCCLCHECK(ncclCommDestroy(subComm));\n    for (auto& comm : comms)\n      NCCLCHECK(ncclCommDestroy(comm));\n  }\n\n  /**\n   * \\brief Creates a communicator for each device and gathers them all in one rank.\n   * ******************************************************************************************/\n  TEST(Standalone, SplitComms_OneColor)\n  {\n    // Check for multi-gpu\n    int numDevices;\n    HIPCALL(hipGetDeviceCount(&numDevices));\n    if (numDevices < 2) {\n      GTEST_SKIP() << \"This test requires at least 2 devices.\";\n    }\n\n    // Initialize the original comms\n    std::vector<ncclComm_t> comms(numDevices);\n    NCCLCHECK(ncclCommInitAll(comms.data(), numDevices, nullptr));\n\n    // Split into new comms (all of the same color)\n    std::vector<ncclComm_t> subComms(numDevices);\n    NCCLCHECK(ncclGroupStart());\n    for (int localRank = 0; localRank < numDevices; localRank++)\n      NCCLCHECK(ncclCommSplit(comms[localRank], 0, localRank, &subComms[localRank], NULL));\n    NCCLCHECK(ncclGroupEnd());\n\n    // Validate results\n    for (int i = 0; i < numDevices; i++) {\n      int originalRank, originalNRank;\n      NCCLCHECK(ncclCommUserRank(comms[i], &originalRank));\n      NCCLCHECK(ncclCommCount(comms[i], &originalNRank));\n\n      int subCommRank, subCommNRank;\n      NCCLCHECK(ncclCommUserRank(subComms[i], &subCommRank));\n      NCCLCHECK(ncclCommCount(subComms[i], &subCommNRank));\n\n      ASSERT_EQ(originalRank, subCommRank);\n      ASSERT_EQ(originalNRank, subCommNRank);\n    }\n\n    // Clean up comms\n    for (auto& subComm : subComms)\n      NCCLCHECK(ncclCommDestroy(subComm));\n    for (auto& comm : comms)\n      NCCLCHECK(ncclCommDestroy(comm));\n  }\n\n  /**\n   * \\brief Creates a communicator for each device and reduces them into (numDevices / 2) ranks.\n   * ******************************************************************************************/\n  TEST(Standalone, SplitComms_Reduce)\n  {\n    // Check for multi-gpu\n    int numDevices;\n    HIPCALL(hipGetDeviceCount(&numDevices));\n    if (numDevices < 2) {\n      GTEST_SKIP() << \"This test requires at least 2 devices.\";\n    }\n\n    // Initialize the original comms\n    std::vector<ncclComm_t> comms(numDevices);\n    NCCLCHECK(ncclCommInitAll(comms.data(), numDevices, nullptr));\n\n    // Split into new comms\n    int numReducedRanks = numDevices / 2;\n    std::vector<ncclComm_t> subComms(numDevices);\n    NCCLCHECK(ncclGroupStart());\n    for (int localRank = 0; localRank < numDevices; localRank++)\n      NCCLCHECK(ncclCommSplit(comms[localRank],\n            localRank < numReducedRanks ? 0 : NCCL_SPLIT_NOCOLOR,\n            localRank, &subComms[localRank], NULL));\n    NCCLCHECK(ncclGroupEnd());\n\n    // Validate results\n    for (int i = 0; i < numDevices; i++) {\n      int originalRank, originalNRank;\n      NCCLCHECK(ncclCommUserRank(comms[i], &originalRank));\n      NCCLCHECK(ncclCommCount(comms[i], &originalNRank));\n\n      if (i < numReducedRanks) {\n        int subCommRank, subCommNRank;\n        NCCLCHECK(ncclCommUserRank(subComms[i], &subCommRank));\n        NCCLCHECK(ncclCommCount(subComms[i], &subCommNRank));\n\n        ASSERT_EQ(originalRank, subCommRank);\n        ASSERT_EQ(subCommNRank, numReducedRanks);\n      } else {\n        ASSERT_EQ(subComms[i], nullptr);\n      }\n    }\n\n    // Cleanup comms\n    for (auto& subComm : subComms)\n      NCCLCHECK(ncclCommDestroy(subComm));\n    for (auto& comm : comms)\n      NCCLCHECK(ncclCommDestroy(comm));\n  }\n\n  /**\n   * \\brief Verify there is no regression in timing for each protocol [LL, LL128, Simple]\n   * ******************************************************************************************/\n  TEST(Standalone, RegressionTiming)\n  {\n    // timing\n    using namespace std::chrono;\n    using Clock = std::chrono::high_resolution_clock;\n    int usElapsed, numIterations = 20, numWarmups = 5;\n\n    // Check for 2 GPUs\n    int numGpus;\n    HIPCALL(hipGetDeviceCount(&numGpus));\n    if (numGpus < 2) {\n      GTEST_SKIP() << \"This test requires at least 2 devices.\";\n    }\n    hipDeviceProp_t devProp;\n    HIPCALL(hipGetDeviceProperties(&devProp, 0));\n    // Initialize RCCL\n    constexpr int numRanks = 2;\n    std::vector<ncclComm_t> comms(numRanks);\n    std::vector<int*> gpuInput(numRanks);\n    std::vector<int*> gpuOutput(numRanks);\n    std::vector<hipStream_t> stream(numRanks);\n\n    char *proto = std::getenv(\"NCCL_PROTO\");\n    const char* protocolList[3] = {\"LL\", \"LL128\", \"Simple\"};\n\n    for (auto p : protocolList)\n    {\n      usElapsed = 0;\n      if(strncmp(\"gfx12\",devProp.gcnArchName,5) == 0) {\n        setenv(\"NCCL_PROTO\", \"Simple\", 1);\n      } else {\n        setenv(\"NCCL_PROTO\", p, 1);\n      }\n\n      NCCLCHECK(ncclCommInitAll(comms.data(), numRanks, nullptr));\n\n      // Prepare CPU data arrays\n      int N = 1250;\n      std::vector<int> cpuInput(N);\n      std::vector<int> cpuExpected(N);\n      for (int i = 0; i < N; i++) {\n        cpuInput[i]    = i;\n        cpuExpected[i] = 2 * i;\n      }\n\n      // Prepare GPU data arrays\n      for (int rank = 0; rank < numRanks; rank++) {\n        HIPCALL(hipSetDevice(rank));\n        HIPCALL(hipStreamCreate(&stream[rank]));\n        HIPCALL(hipMalloc((void**)&gpuInput[rank], N * sizeof(int)));\n        HIPCALL(hipMalloc((void**)&gpuOutput[rank], N * sizeof(int)));\n        HIPCALL(hipMemcpy(gpuInput[rank], cpuInput.data(), N * sizeof(int), hipMemcpyHostToDevice));\n        HIPCALL(hipMemset(gpuOutput[rank], 0, N * sizeof(int)));\n        HIPCALL(hipDeviceSynchronize());\n      }\n\n      for (int iter = -numWarmups; iter < numIterations; iter++) {\n\n        for (int rank = 0; rank < numRanks; rank++) {\n          HIPCALL(hipSetDevice(rank));\n          HIPCALL(hipMemset(gpuOutput[rank], 0, N * sizeof(int)));\n          HIPCALL(hipDeviceSynchronize());\n        }\n\n        // Initiate the allreduce\n        NCCLCHECK(ncclGroupStart());\n        for (int rank = 0; rank < numRanks; rank++)\n          NCCLCHECK(ncclAllReduce(gpuInput[rank], gpuOutput[rank], N, ncclInt, ncclSum, comms[rank], stream[rank]));\n        ncclResult_t res = ncclGroupEnd();\n\n        if (res != ncclSuccess) continue;\n\n        const auto start = Clock::now();\n\n        // Wait for completion\n        for (int rank = 0; rank < numRanks; rank++) {\n          HIPCALL(hipStreamSynchronize(stream[rank]));\n        }\n\n        if (iter >= 0)\n          usElapsed += duration_cast<microseconds>(Clock::now() - start).count();\n\n        // Check results\n        std::vector<int> cpuOutput(N);\n        for (int rank = 0; rank < numRanks; rank++) {\n          HIPCALL(hipMemcpy(cpuOutput.data(), gpuOutput[rank], N * sizeof(int), hipMemcpyDeviceToHost));\n          HIPCALL(hipDeviceSynchronize());\n          for (int i = 0; i < N; i++)\n            ASSERT_EQ(cpuOutput[i], cpuExpected[i]);\n        }\n      }\n\n      EXPECT_LT(usElapsed/(double)numIterations, 5000);\n      printf(\"[ INFO     ] protocol: %s, average runtime: %f microseconds\\n\", p, usElapsed/(double)numIterations);\n      // Release resources\n      for (int rank = 0; rank < numRanks; rank++){\n        HIPCALL(hipFree(gpuInput[rank]));\n        HIPCALL(hipFree(gpuOutput[rank]));\n        HIPCALL(hipStreamDestroy(stream[rank]));\n        NCCLCHECK(ncclCommDestroy(comms[rank]));\n      }\n    }\n    if (proto)\n      setenv(\"NCCL_PROTO\", proto, 1);\n    else\n      unsetenv(\"NCCL_PROTO\");\n  }\n\n  /**\n   * \\brief Verify rccl generic kernel stack size for each gfx architecture is less than the\n   * expected MAX_STACK_SIZE.\n   * ******************************************************************************************/\n  TEST(Standalone, StackSize) {\n    const char* mainKernel = \"ncclDevKernel\";\n\n    // Look for the .co files\n    std::vector<std::string> coFileList = splitString(executeCommand(\"find ../ -type f -name \\\"librccl*.co\\\"\"), '\\n');\n\n    // Check if the .co files exist in the build directory\n    if (coFileList.empty())\n      GTEST_SKIP() << \"Skipping... Could not found required files in the build directory.\";\n\n    for (const auto& file : coFileList) {\n      // Store the output in a list\n      std::string cmd = std::string(ROCM_PATH) + \"/llvm/bin/llvm-readelf --notes \" + file;\n      std::vector<std::string> metadata = splitString(executeCommand(cmd.c_str()), '\\n');\n\n      // Skip if llvm is not installed\n      if (metadata.empty())\n        GTEST_SKIP() << \"Skipping... llvm is not found.\";\n\n      // Parse metadata from file and store it for each arch\n      ArchInfo archInfo = parseMetadata(metadata);\n\n      // iterate over each archs kernels\n      for (const auto& kernel : archInfo.kernels) {\n        if (kernel.name.find(mainKernel) != std::string::npos) {\n          // Kernel stack size should be less than or equal to the maxStackSize value\n          printf(\"[ INFO     ] Arch: %s Kernel: %s Size: %d\\n\", archInfo.archName.c_str(), kernel.name.c_str(), kernel.privateSegmentFixedSize);\n          EXPECT_LE(kernel.privateSegmentFixedSize, archInfo.archName == \"gfx90a\" ? MAX_STACK_SIZE_gfx90a : MAX_STACK_SIZE);\n        }\n      }\n    }\n  }\n  /**\n   * \\brief Verify the device associated with communicator in both single and multi-device scenarios\n   * ******************************************************************************************/\n  TEST(Standalone, CommCuDevice_Check)\n  {\n    int numDevices;\n    HIPCALL(hipGetDeviceCount(&numDevices));\n    if (numDevices < 1) {\n      GTEST_SKIP() << \"No devices available.\";\n    }\n\n    // Test single comm initialization\n    ncclComm_t comm;\n    ncclUniqueId id;\n    NCCLCHECK(ncclGetUniqueId(&id));\n    HIPCALL(hipSetDevice(0));\n    NCCLCHECK(ncclCommInitRank(&comm, 1, id, 0));\n\n    // Verify device assignment\n    int device;\n    NCCLCHECK(ncclCommCuDevice(comm, &device));\n    ASSERT_EQ(device, 0);\n    NCCLCHECK(ncclCommDestroy(comm));\n\n    // Test multi-device scenario if available\n    if (numDevices > 1) {\n      std::vector<ncclComm_t> comms(numDevices);\n\n      // Initialize all communicators at once\n      NCCLCHECK(ncclCommInitAll(comms.data(), numDevices, nullptr));\n\n      // Verify device assignments\n      for (int i = 0; i < numDevices; i++) {\n        int assignedDevice;\n        NCCLCHECK(ncclCommCuDevice(comms[i], &assignedDevice));\n        ASSERT_EQ(assignedDevice, i);\n      }\n\n      // Clean up\n      for (int i = 0; i < numDevices; i++) {\n        NCCLCHECK(ncclCommDestroy(comms[i]));\n      }\n    }\n  }\n\n  /**\n   * \\brief verifies that ncclCommUserRank correctly fails when provided with an invalid (null) communicator handle\n   * ******************************************************************************************/\n  TEST(Standalone, SplitComms_RankCheck_Basic_Failure) {\n    // Check for multi-gpu\n    int numDevices;\n    HIPCALL(hipGetDeviceCount(&numDevices));\n    if (numDevices < 2) {\n        GTEST_SKIP() << \"This test requires at least 2 devices.\";\n    }\n\n    // Initialize the original comms\n    std::vector<ncclComm_t> comms(numDevices);\n    NCCLCHECK(ncclCommInitAll(comms.data(), numDevices, nullptr));\n\n    // Create an invalid comm handle that will cause a failure\n    ncclComm_t invalidComm = nullptr;\n\n    // This NCCL_CHECK will fail because we're trying to query rank from a null communicator\n    int rank;\n    NCCLCHECK(ncclCommUserRank(invalidComm, &rank));\n\n    // Clean up comms\n    for (auto& comm : comms)\n      NCCLCHECK(ncclCommDestroy(comm));\n  }\n}\n"
  },
  {
    "path": "test/TransportTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <gtest/gtest.h>\n#include <rccl/rccl.h>\n#include \"TestBed.hpp\"\n#include \"TransportUtils.hpp\"\n\nnamespace RcclUnitTesting\n{\n\nTEST(TransportTest, CollNetRecvSetup) {\n  constexpr int nranks = 2;\n  constexpr int nNodes = 2;\n\n  // --- Setup comm ---\n  ncclComm comm = {};\n  comm.rank = 0;\n  comm.nRanks = nranks;\n  comm.nNodes = nNodes;\n  comm.node = 0;\n  ncclPeerInfo peerInfo[3] = {};\n  comm.peerInfo = peerInfo;\n\n  // --- Setup channel ---\n  ncclChannel channel = {};\n  static ncclChannelPeer peerArray[3];\n  static ncclChannelPeer* peerPtrs[3] = {\n    &peerArray[0], &peerArray[1], &peerArray[2]\n  };\n  channel.peers = peerPtrs;\n\n  // Step 1: Allocate device-side array of ncclDevChannelPeer\n  ncclDevChannelPeer* devPeerArrayDevice;\n  hipMalloc(&devPeerArrayDevice, sizeof(ncclDevChannelPeer) * 3);\n\n  // Step 2: Create host-side array of device pointers\n  ncclDevChannelPeer* devPeerPtrsHost[3] = {\n    devPeerArrayDevice + 0,\n    devPeerArrayDevice + 1,\n    devPeerArrayDevice + 2\n  };\n\n  // Step 3: Allocate device-side array of device pointers\n  ncclDevChannelPeer** devPeerPtrsDevice;\n  hipMalloc(&devPeerPtrsDevice, sizeof(ncclDevChannelPeer*) * 3);\n\n  // Step 4: Copy host-side array of device pointers to device\n  hipMemcpy(devPeerPtrsDevice, devPeerPtrsHost, sizeof(ncclDevChannelPeer*) * 3, hipMemcpyHostToDevice);\n\n  // Step 5: Set in channel\n  channel.devPeers = devPeerPtrsDevice;\n  // --- Setup transportComm ---\n  static struct ncclTransportComm dummyTransport = {\n    .setup = mockSetup,\n    .connect = mockConnect,\n  };\n  collNetTransport.recv = dummyTransport;\n\n  // --- Dummy inputs ---\n  ncclTopoGraph topoGraph = {};\n  ncclConnect connect = {};\n  int masterRank = 0;\n  int masterPeer = 1;\n  int channelId = 0;\n  int type = collNetRecv;\n\n  // --- Run the function ---\n  bool failed = ncclTransportCollNetSetup(&comm, &topoGraph, &channel, masterRank, masterPeer, channelId, type, &connect);\n\n  // --- Assert: function should succeed (return false) ---\n  ASSERT_FALSE(failed);\n\n  // --- Cleanup ---\n  hipFree(devPeerArrayDevice);\n  hipFree(devPeerPtrsDevice);\n}\n\nTEST(TransportTest, CollNetSendSetup) {\n  constexpr int nranks = 2;\n  constexpr int nNodes = 2;\n\n  // --- Setup comm ---\n  ncclComm comm = {};\n  comm.rank = 0;\n  comm.nRanks = nranks;\n  comm.nNodes = nNodes;\n  comm.node = 0;\n\n  ncclPeerInfo peerInfo[3] = {};\n  comm.peerInfo = peerInfo;\n\n  // --- Setup channel ---\n  ncclChannel channel = {};\n  static ncclChannelPeer peerArray[3];\n  static ncclChannelPeer* peerPtrs[3] = {\n    &peerArray[0], &peerArray[1], &peerArray[2]\n  };\n  channel.peers = peerPtrs;\n\n  // Step 1: Allocate device-side array of ncclDevChannelPeer\n  ncclDevChannelPeer* devPeerArrayDevice;\n  hipMalloc(&devPeerArrayDevice, sizeof(ncclDevChannelPeer) * 3);\n\n  // Step 2: Create host-side array of device pointers\n  ncclDevChannelPeer* devPeerPtrsHost[3] = {\n    devPeerArrayDevice + 0,\n    devPeerArrayDevice + 1,\n    devPeerArrayDevice + 2\n  };\n\n  // Step 3: Allocate device-side array of device pointers\n  ncclDevChannelPeer** devPeerPtrsDevice;\n  hipMalloc(&devPeerPtrsDevice, sizeof(ncclDevChannelPeer*) * 3);\n\n  // Step 4: Copy host-side array of device pointers to device\n  hipMemcpy(devPeerPtrsDevice, devPeerPtrsHost, sizeof(ncclDevChannelPeer*) * 3, hipMemcpyHostToDevice);\n\n  // Step 5: Set in channel\n  channel.devPeers = devPeerPtrsDevice;\n\n  // --- Setup transportComm ---\n  static struct ncclTransportComm dummyTransport = {\n    .setup = mockSetup,\n    .connect = mockConnect,\n  };\n  collNetTransport.send = dummyTransport;\n\n  // --- Dummy inputs ---\n  ncclTopoGraph topoGraph = {};\n  ncclConnect connect = {};  // IMPORTANT: non-null since this is memcpy’d into masterConnects\n  int masterRank = 0;\n  int masterPeer = 1;\n  int channelId = 0;\n  int type = collNetSend;\n\n  // --- Run the function ---\n  bool failed = ncclTransportCollNetSetup(&comm, &topoGraph, &channel, masterRank, masterPeer, channelId, type, &connect);\n\n  // --- Assert: function should succeed (return false) ---\n  ASSERT_FALSE(failed);\n\n  // --- Cleanup ---\n  hipFree(devPeerArrayDevice);\n  hipFree(devPeerPtrsDevice);\n}\n\n\n  TEST(TransportTest, NcclTransportCollNetCheckTestSuccess) {\n    struct ncclComm comm = {};\n    struct ncclBootstrap dummyBootstrap;\n\n    int rankMap[1] = {0};\n    comm.localRank = 0;\n    comm.localRanks = 1;\n    comm.localRankToRank = rankMap;\n    comm.bootstrap = &dummyBootstrap;\n    int collNetSetupFail = 0;\n    ncclResult_t result = ncclTransportCollNetCheck(&comm, collNetSetupFail);\n    EXPECT_EQ(result, ncclSuccess);\n  }\n\n  TEST(TransportTest, NcclTransportCollNetCheckTestFails) {\n    ncclComm comm;\n    int rankMap[1] = {0};\n    ncclBootstrap bootstrap;\n\n    comm.localRank = 0;\n    comm.localRanks = 1;\n    comm.localRankToRank = rankMap;\n    comm.bootstrap = &bootstrap;\n\n    int collNetSetupFail = 1; // simulate failure on this rank\n    ncclResult_t result = ncclTransportCollNetCheck(&comm, collNetSetupFail);\n    EXPECT_EQ(result, ncclSystemError);\n}\n\n// Test for ncclTransportCollNetFree\nTEST(TransportTest, CollNetFreeTest) {\n  ncclComm comm = {};\n  comm.nChannels = 1;\n  comm.nRanks = 0; // So comm.channels[0].peers[0] is accessed\n\n  // Access embedded array directly (don't assign to comm.channels)\n  ncclChannel* channel = &comm.channels[0];\n\n  // Allocate peer array for the channel (comm.nRanks + 1 for dummy peer)\n  channel->peers = new ncclChannelPeer*[comm.nRanks + 1];\n  for (int r = 0; r <= comm.nRanks; ++r) {\n    channel->peers[r] = nullptr;\n  }\n\n  // Create dummy peer at index nRanks\n  ncclChannelPeer* peer = new ncclChannelPeer();\n  channel->peers[comm.nRanks] = peer;\n  peer->refCount = 1;\n\n  // Setup dummy ncclTransportComm with only `free` implemented\n  static ncclTransportComm dummyTransportComm = {};\n  dummyTransportComm.free = [](ncclConnector* conn) -> ncclResult_t {\n    if (conn && conn->transportResources) {\n      free(conn->transportResources);\n      conn->transportResources = nullptr;\n    }\n    return ncclSuccess;\n  };\n\n  // Fill in dummy send and recv connectors\n  for (int b = 0; b < NCCL_MAX_CONNS; ++b) {\n    peer->send[b].transportResources = malloc(1);\n    peer->send[b].transportComm = &dummyTransportComm;\n\n    peer->recv[b].transportResources = malloc(1);\n    peer->recv[b].transportComm = &dummyTransportComm;\n  }\n\n  // Call the function under test\n  ncclResult_t result = ncclTransportCollNetFree(&comm);\n  ASSERT_EQ(result, ncclSuccess);\n\n  // Clean up\n  delete peer;\n  delete[] channel->peers;\n  channel->peers = nullptr;\n}\n\nTEST(TransportTest, DumpDataTest) {\n  ncclConnect conn;\n  memset(&conn, 0xAB, sizeof(conn));  // Fill with a known byte pattern\n\n  auto output = captureStdout([&]() {\n    dumpData(&conn, 1);\n  });\n\n  // Basic checks on output\n  EXPECT_TRUE(output.find(\"[0]\") != std::string::npos);         // Label exists\n  EXPECT_GT(output.length(), 10);                               // Should print something\n  EXPECT_NE(output.find(\"ab\"), std::string::npos);              // Should include 0xAB hex\n}\n}\n"
  },
  {
    "path": "test/_RecorderTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <gtest/gtest.h>\n#include <rccl/rccl.h>\n\n#include \"RcclMockFuncs.hpp\"\n#include \"comm.h\"\n\n#include <thread>\n\nnamespace RcclUnitTesting\n{\n  /**\n   * \\brief Verify correctness of Recorder record() correctness in binary mode\n   * ******************************************************************************************/\n  TEST(Recorder, ParseBinary)\n  {\n    // to add after binary export of logging is supported\n  }\n\n  /**\n   * \\brief Verify correctness of Recorder record() correctness in json mode\n   * ******************************************************************************************/\n  TEST(Recorder, ParseJson)\n  {\n    setenv(\"RCCL_REPLAY_FILE\", \"/tmp/test.json\", 1);\n\n    int pid = getpid();\n    hipStream_t stream;\n    hipStreamCreate(&stream);\n\n    int array[] = {2, 3, 5};\n    ncclComm comm{.nRanks = 1, .localRank = 1, .localRankToRank = array, .opCount = 8, .planner = {.nTasksColl = 13, .nTasksP2p = 21}};\n    rccl::rcclApiCall call(rccl::rrAllToAllv, {.sendbuff = (void*)0x7f22f9600000, .recvbuff = (void*)0x7f22f9601000, .count = 0, .datatype = ncclFloat32, .comm = &comm, .stream = stream});\n    rccl::Recorder::instance().record(call);\n\n    std::vector<rccl::rcclApiCall> calls;\n    char entry[4096];\n    gethostname(entry, 256);\n    //parse the outfile\n    std::string filename = \"/tmp/test.\" + std::to_string(pid) + \".\" + std::string(entry) + \".json\";\n    std::ifstream fp(filename);\n    fp.getline(entry, 4096);\n    fp.getline(entry, 4096);\n    fp.getline(entry, 4096);\n    parseJsonEntry(entry, calls);\n    // compare only the fields after the pid field\n    int result = memcmp(&(calls[0].pid)+1, &(call.pid)+1, sizeof(rccl::rcclApiCall)-sizeof(call.pid));\n    fp.close(); // care that recorder is not designed to anticipate fp closing before destructor\n    //remove(filename.c_str()); TODO: after implement fp closing mechanism via envvar, remove file after test case\n    unsetenv(\"RCCL_REPLAY_FILE\");\n    assert(!result);\n  }\n\n  /**\n   * \\brief Verify RCCL Recorder's integrity in multithread context by comparing Recorder\n   * instance across different threads.\n   * ******************************************************************************************/\n  static void recorderCmp(void** recorder)\n  {\n    *recorder = &(rccl::Recorder::instance());\n  }\n  TEST(Recorder, VerifyMultithread)\n  {\n    void *p1, *p2;\n    std::thread t1(recorderCmp, &p1);\n    std::thread t2(recorderCmp, &p2);\n    t1.join();\n    t2.join();\n    assert(p1 == p2);\n  }\n}\n"
  },
  {
    "path": "test/common/CallCollectiveForked.cpp",
    "content": "/*************************************************************************\n * Copyright (c) Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"CallCollectiveForked.hpp\"\n#include \"CollectiveArgs.hpp\"\n#include <rccl/rccl.h>\n#include <gtest/gtest.h>\n\n#define HIPCALL(cmd)                                                                          \\\n    do {                                                                                      \\\n        hipError_t error = (cmd);                                                             \\\n        if (error != hipSuccess)                                                              \\\n        {                                                                                     \\\n            printf(\"Encountered HIP error (%s) at line %d in file %s\\n\",                      \\\n                                  hipGetErrorString(error), __LINE__, __FILE__);              \\\n            exit(-1);                                                                         \\\n        }                                                                                     \\\n    } while (0)\n\n#define NCCLCHECK(cmd) do {                                     \\\n    ncclResult_t res = cmd;                                     \\\n    if (res != ncclSuccess) {                                   \\\n         printf(\"NCCL failure %s:%d '%s'\\n\",                    \\\n            __FILE__,__LINE__,ncclGetErrorString(res));         \\\n    }                                                           \\\n} while(0)\n\nnamespace RcclUnitTesting\n{\n\nvoid callCollective(ncclUniqueId id, int collID, int rank, int nranks, const std::vector<int>& send, std::vector<int>& recv, bool use_managed_mem){\n    switch(collID){\n        case ncclCollAllReduce:\n        case ncclCollAllGather:\n        break;\n\n        default:\n            ERROR(\"This collective is not implemented for callCollective routine\");\n    }\n    \n    HIPCALL(hipSetDevice(rank));\n    hipStream_t stream;\n    HIPCALL(hipStreamCreate(&stream));\n    ncclComm_t comm;\n    \n    \n\n    NCCLCHECK(ncclCommInitRank(&comm, nranks, id, rank));\n    int *sendbuff;\n    int *recvbuff;\n    void *sendRegHandle;\n    void *recvRegHandle;\n    \n\n    \n    size_t sendSize = 0;\n    size_t recvSize = 0;\n\n     switch(collID){\n      case ncclCollAllReduce:\n        sendSize = send.size();\n        recvSize = recv.size();\n        break;\n      case ncclCollAllGather:\n        sendSize = send.size();\n        recvSize = nranks*send.size();\n        break;\n      default: exit(0);\n    }\n\n    if(!use_managed_mem){\n      HIPCALL(hipMalloc((void **)&sendbuff, sendSize * sizeof(int)));\n      HIPCALL(hipMalloc((void **)&recvbuff, recvSize * sizeof(int)));\n    }\n    else{\n      HIPCALL(hipMallocManaged((void **)&sendbuff, sendSize * sizeof(int)));\n      HIPCALL(hipMallocManaged((void **)&recvbuff, recvSize * sizeof(int)));\n    }    \n   \n    NCCLCHECK(ncclCommRegister(comm, sendbuff, sendSize * sizeof(int), &sendRegHandle));\n    NCCLCHECK(ncclCommRegister(comm, recvbuff, recvSize * sizeof(int), &recvRegHandle));\n\n    HIPCALL(hipMemcpy(sendbuff, send.data(), sizeof(int) * sendSize, hipMemcpyHostToDevice));\n    HIPCALL(hipMemcpy(recvbuff, recv.data(), sizeof(int) *recvSize, hipMemcpyHostToDevice));\n\n    switch(collID){\n      case ncclCollAllReduce:\n        NCCLCHECK(ncclAllReduce(sendbuff, recvbuff, sendSize, ncclInt, ncclSum, comm, stream));\n        break;\n      case ncclCollAllGather:\n        NCCLCHECK(ncclAllGather(sendbuff, recvbuff, sendSize, ncclInt, comm, stream));\n        break;\n      default: exit(0);\n    }\n\n    HIPCALL(hipStreamSynchronize(stream));\n    HIPCALL(hipMemcpy(recv.data(), recvbuff, sizeof(int) * recvSize, hipMemcpyDeviceToHost));\n    \n    NCCLCHECK(ncclCommDeregister(comm, sendRegHandle));\n    NCCLCHECK(ncclCommDeregister(comm, recvRegHandle));\n\n    HIPCALL(hipFree(sendbuff));\n    HIPCALL(hipFree(recvbuff));\n    ncclCommDestroy(comm);\n  }\n\nvoid callCollectiveForked(int nranks,  int collID, const std::vector<int>& sendBuff, std::vector<int>& recvBuff, const std::vector<int>& expected, bool use_managed_mem){\n    std::vector<pid_t> children(nranks, 0);\n    std::vector<std::vector<int>> childPipes(nranks, std::vector<int>(2,0));\n    ncclUniqueId id;\n\n    for(int r = 0; r < nranks; ++r){\n      if(pipe(childPipes[r].data()) == -1)\n        ERROR(\"child %i pipe Failed\\n\", r);\n    } \n\n    auto createNCCLid = [&](int rank){\n        ncclGetUniqueId(&id);\n        close(childPipes[rank][0]);\n        write(childPipes[rank][1], &id, sizeof(ncclUniqueId));\n        close(childPipes[rank][1]);\n    };\n\n    auto getNCCLidFromParent = [&](int rank){\n      close(childPipes[rank][1]); //close write to child0\n      read(childPipes[rank][0], &id, sizeof(ncclUniqueId));\n      close(childPipes[rank][0]);\n    };\n\n    auto getAndDistributeNCCLid = [&](int nranks){\n      close(childPipes[0][1]); //close write to child0\n      read(childPipes[0][0], &id, sizeof(ncclUniqueId)); //read from child0\n      for(int r = 1; r < nranks; ++r){\n        write(childPipes[r][1], &id, sizeof(ncclUniqueId));\n        close(childPipes[r][1]);\n      }\n    };\n\n    for(int r = 0; r < nranks; ++r){\n      children[r] = fork();\n      if(children[r] == 0){\n        int ngpus = 0;\n        HIPCALL(hipGetDeviceCount(&ngpus));\n        if(ngpus != nranks){\n          exit(0);\n        }\n        //child processes\n        if(r == 0)\n          createNCCLid(r);\n        else\n          getNCCLidFromParent(r);\n\n        callCollective(id, collID, r, nranks, sendBuff, recvBuff, use_managed_mem);\n        for(int i = 0; i < recvBuff.size(); ++i){\n          ASSERT_EQ(recvBuff[i], expected[i]);\n        }\n        exit(0);\n      }\n    }\n\n    getAndDistributeNCCLid(nranks);\n    \n    for(int r = 0; r < nranks; ++r)\n      wait(NULL); // Wait for all children\n}\n\n}\n"
  },
  {
    "path": "test/common/CallCollectiveForked.hpp",
    "content": "/*************************************************************************\n * Copyright (c) Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef CALLCOLLECTIVEFORKED_H\n#define CALLCOLLECTIVEFORKED_H\n\n#include <vector>\n\nnamespace RcclUnitTesting\n{\n    void callCollectiveForked(int nranks, int collID, const std::vector<int>& sendBuff, std::vector<int>& recvBuff, const std::vector<int>& expected, bool use_managed_mem = false);\n}\n\n#endif\n"
  },
  {
    "path": "test/common/CollectiveArgs.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"CollectiveArgs.hpp\"\n#include \"gtest/gtest.h\"\n\nnamespace RcclUnitTesting\n{\n  ErrCode CollectiveArgs::SetArgs(int             const  globalRank,\n                                  int             const  totalRanks,\n                                  int             const  deviceId,\n                                  ncclFunc_t      const  funcType,\n                                  ncclDataType_t  const  dataType,\n                                  size_t          const  numInputElements,\n                                  size_t          const  numOutputElements,\n                                  int             const  streamIdx,\n                                  OptionalColArgs const  &optionalColArgs)\n  {\n    // Free scalar based on previous scalarMode\n    if (optionalColArgs.scalarMode != -1)\n    {\n      if (this->localScalar.ptr != nullptr)\n      {\n        if (this->options.scalarMode == 0) this->localScalar.FreeGpuMem();\n        if (this->options.scalarMode == 1) hipHostFree(this->localScalar.ptr);\n      }\n    }\n\n    this->globalRank        = globalRank;\n    this->totalRanks        = totalRanks;\n    this->deviceId          = deviceId;\n    this->funcType          = funcType;\n    this->dataType          = dataType;\n    this->numInputElements  = numInputElements;\n    this->numOutputElements = numOutputElements;\n    this->streamIdx         = streamIdx;\n    this->options           = optionalColArgs;\n\n    if (this->options.scalarMode != -1)\n    {\n      size_t const numBytes = DataTypeToBytes(dataType);\n      if (this->options.scalarMode == ncclScalarDevice)\n      {\n        CHECK_CALL(this->localScalar.AllocateGpuMem(numBytes));\n        CHECK_HIP(hipMemcpy(this->localScalar.ptr, optionalColArgs.scalarTransport.ptr + (globalRank * numBytes),\n                            numBytes, hipMemcpyHostToDevice));\n      }\n      else if (this->options.scalarMode == ncclScalarHostImmediate)\n      {\n        CHECK_HIP(hipHostMalloc(&this->localScalar.ptr, numBytes, 0));\n        memcpy(this->localScalar.ptr, optionalColArgs.scalarTransport.ptr + (globalRank * numBytes), numBytes);\n      }\n    }\n    return TEST_SUCCESS;\n  }\n\n  ErrCode CollectiveArgs::AllocateMem(bool   const inPlace,\n                                      bool   const useManagedMem,\n                                      bool   const userRegistered)\n  {\n    this->numInputBytesAllocated     = this->numInputElements * DataTypeToBytes(this->dataType);\n    this->numOutputBytesAllocated    = this->numOutputElements * DataTypeToBytes(this->dataType);\n    this->numInputElementsAllocated  = this->numInputElements;\n    this->numOutputElementsAllocated = this->numOutputElements;\n    this->inPlace                    = inPlace;\n    this->useManagedMem              = useManagedMem;\n    this->userRegistered             = userRegistered;\n\n    if (hipSetDevice(this->deviceId) != hipSuccess)\n    {\n      ERROR(\"Unable to call hipSetDevice to set to GPU %d\\n\", this->deviceId);\n      return TEST_FAIL;\n    }\n\n    if (inPlace)\n    {\n      if (this->funcType == ncclCollScatter)\n      {\n        CHECK_CALL(this->inputGpu.AllocateGpuMem(this->numInputBytesAllocated, useManagedMem, userRegistered));\n        this->outputGpu.Attach(this->inputGpu.U1 + (this->globalRank  * this->numOutputBytesAllocated));\n      }\n      else if (this->funcType == ncclCollGather || this->funcType == ncclCollAllGather)\n      {\n        CHECK_CALL(this->outputGpu.AllocateGpuMem(this->numOutputBytesAllocated, useManagedMem, userRegistered));\n        this->inputGpu.Attach(this->outputGpu.U1 + (this->globalRank * this->numInputBytesAllocated));\n      }\n      else\n      {\n        size_t const numBytes = std::max(this->numInputBytesAllocated, this->numOutputBytesAllocated);\n        CHECK_CALL(this->inputGpu.AllocateGpuMem(numBytes, useManagedMem, userRegistered));\n        this->outputGpu.Attach(this->inputGpu.ptr);\n      }\n      CHECK_CALL(this->expected.AllocateCpuMem(this->numOutputBytesAllocated));\n    }\n    else\n    {\n      CHECK_CALL(this->inputGpu.AllocateGpuMem(this->numInputBytesAllocated, useManagedMem, userRegistered));\n      CHECK_CALL(this->outputGpu.AllocateGpuMem(this->numOutputBytesAllocated, useManagedMem, userRegistered));\n      CHECK_CALL(this->expected.AllocateCpuMem(this->numOutputBytesAllocated));\n    }\n    CHECK_CALL(this->outputCpu.AllocateCpuMem(this->numOutputBytesAllocated));\n\n    // Allocate bias buffers if bias is enabled\n    if (this->options.useBias)\n    {\n      this->numBiasElements = this->options.biasNumElements;\n      this->numBiasBytesAllocated = this->numBiasElements * DataTypeToBytes(this->dataType);\n      CHECK_CALL(this->biasGpu.AllocateGpuMem(this->numBiasBytesAllocated, useManagedMem, userRegistered));\n      CHECK_CALL(this->biasCpu.AllocateCpuMem(this->numBiasBytesAllocated));\n      this->biasRegHandle = nullptr;\n    }\n\n    return TEST_SUCCESS;\n  }\n\n  ErrCode CollectiveArgs::PrepareData(CollFuncPtr const prepareDataFunc)\n  {\n    CollFuncPtr prepFunc = (prepareDataFunc == nullptr ? DefaultPrepareDataFunc : prepareDataFunc);\n    return prepFunc(*this);\n  }\n\n  ErrCode CollectiveArgs::ValidateResults()\n  {\n    // Ignore non-root outputs for collectives with a root\n    if (CollectiveArgs::UsesRoot(this->funcType) && this->options.root != this->globalRank) return TEST_SUCCESS;\n    if (this->funcType == ncclCollSend) return TEST_SUCCESS; // on the send receive pair only recv needs to be checked\n    size_t const numOutputBytes = (this->numOutputElements * DataTypeToBytes(this->dataType));\n\n    CHECK_HIP(hipMemcpy(this->outputCpu.ptr, this->outputGpu.ptr, numOutputBytes, hipMemcpyDeviceToHost));\n\n    bool isMatch = true;\n    CHECK_CALL(this->outputCpu.IsEqual(this->dataType,\n                                       this->numOutputElements,\n                                       this->expected,\n                                       true,\n                                       isMatch));\n    if (!isMatch) ERROR(\"Mismatch for %s\\n\", this->GetDescription().c_str());\n    return isMatch ? TEST_SUCCESS : TEST_FAIL;\n  }\n\n  ErrCode CollectiveArgs::DeallocateMem()\n  {\n    // If in-place, either only inputGpu or outputGpu was allocated\n    if (this->inPlace)\n    {\n      if (this->funcType == ncclCollGather)\n        this->outputGpu.FreeGpuMem();\n      else\n        this->inputGpu.FreeGpuMem(this->userRegistered);\n    }\n    else\n    {\n      this->inputGpu.FreeGpuMem(this->userRegistered);\n      this->outputGpu.FreeGpuMem(this->userRegistered);\n    }\n\n    this->outputCpu.FreeCpuMem();\n    this->expected.FreeCpuMem();\n\n    if (this->localScalar.ptr != nullptr)\n    {\n      if (this->options.scalarMode == 0) this->localScalar.FreeGpuMem();\n      if (this->options.scalarMode == 1) CHECK_HIP(hipHostFree(this->localScalar.ptr));\n      this->localScalar.Attach(nullptr);\n    }\n\n    // Deallocate bias buffers if they were allocated\n    if (this->options.useBias && this->numBiasBytesAllocated > 0)\n    {\n      this->biasGpu.FreeGpuMem(this->userRegistered);\n      this->biasCpu.FreeCpuMem();\n      this->biasRegHandle = nullptr;\n    }\n\n    return TEST_SUCCESS;\n  }\n\n  std::string CollectiveArgs::GetDescription() const\n  {\n    std::stringstream ss;\n\n    ss << \"(Rank \" << this->globalRank << \") \";\n    switch (this->funcType)\n    {\n    case ncclCollBroadcast:     ss << \"ncclBroadcast\";     break;\n    case ncclCollReduce:        ss << \"ncclReduce\";        break;\n    case ncclCollAllGather:     ss << \"ncclAllGather\";     break;\n    case ncclCollReduceScatter: ss << \"ncclReduceScatter\"; break;\n    case ncclCollAllReduce:     ss << \"ncclAllReduce\";     break;\n    case ncclCollGather:        ss << \"ncclGather\";        break;\n    case ncclCollScatter:       ss << \"ncclScatter\";       break;\n    case ncclCollAlltoAll:      ss << \"ncclAlltoAll\";      break;\n    case ncclCollAlltoAllv:     ss << \"ncclAlltoAllv\";     break;\n    case ncclCollSend:          ss << \"ncclSend\";          break;\n    case ncclCollRecv:          ss << \"ncclRecv\";          break;\n    default:                    ss << \"[Unknown]\";         break;\n    }\n\n    ss << \" \" << ncclDataTypeNames[this->dataType] << \" \";\n    if (this->funcType == ncclCollReduce ||\n        this->funcType == ncclCollReduceScatter ||\n        this->funcType == ncclCollAllReduce)\n    {\n      if (this->options.redOp < ncclNumOps)\n      {\n        ss << ncclRedOpNames[this->options.redOp] << \" \";\n      }\n      else\n      {\n        ss << \"CustomScalar \";\n        PtrUnion scalarsPerRank;\n        scalarsPerRank.Attach(scalarsPerRank.ptr);\n        switch (this->dataType)\n        {\n        case ncclInt8:       ss << scalarsPerRank.I1[this->globalRank]; break;\n        case ncclUint8:      ss << scalarsPerRank.U1[this->globalRank]; break;\n        case ncclInt32:      ss << scalarsPerRank.I4[this->globalRank]; break;\n        case ncclUint32:     ss << scalarsPerRank.U4[this->globalRank]; break;\n        case ncclInt64:      ss << scalarsPerRank.I8[this->globalRank]; break;\n        case ncclUint64:     ss << scalarsPerRank.U8[this->globalRank]; break;\n        case ncclFloat8e4m3: ss << (float)scalarsPerRank.F1[this->globalRank]; break;\n        case ncclFloat32:    ss << scalarsPerRank.F4[this->globalRank]; break;\n        case ncclFloat64:    ss << scalarsPerRank.F8[this->globalRank]; break;\n        case ncclFloat8e5m2: ss << (float)scalarsPerRank.B1[this->globalRank]; break;\n        case ncclBfloat16:   ss << (float)scalarsPerRank.B2[this->globalRank]; break;\n        default:             ss << \"(UNKNOWN)\";\n        }\n        ss << \" \";\n      }\n    }\n\n    if (this->funcType == ncclCollBroadcast ||\n        this->funcType == ncclCollReduce ||\n        this->funcType == ncclCollGather ||\n        this->funcType == ncclCollScatter)\n    {\n      ss << \"Root \" << this->options.root << \" \";\n    }\n\n    if (this->funcType == ncclCollSend ||\n        this->funcType == ncclCollRecv)\n    {\n      ss << \"Peer \" << this->options.root << \" \";\n    }\n\n    ss << \"#In: \" << this->numInputElements;\n    ss << \" #Out: \" << this->numOutputElements;\n\n    return ss.str();\n  }\n\n  void CollectiveArgs::GetNumElementsForFuncType(ncclFunc_t const funcType,\n                                                 int        const N,\n                                                 int        const totalRanks,\n                                                 int*             numInputElements,\n                                                 int*             numOutputElements)\n  {\n    switch (funcType)\n    {\n    case ncclCollBroadcast:\n    case ncclCollReduce:\n    case ncclCollAllReduce:\n      *numInputElements  = N;\n      *numOutputElements = N;\n      break;\n    case ncclCollGather:\n    case ncclCollAllGather:\n      *numInputElements  = N;\n      *numOutputElements = totalRanks * N;\n      break;\n    case ncclCollScatter:\n    case ncclCollReduceScatter:\n      *numInputElements  = totalRanks * N;\n      *numOutputElements = N;\n      break;\n    case ncclCollAlltoAll:\n      *numInputElements = totalRanks * N;\n      *numOutputElements = totalRanks * N;\n      break;\n    default:\n      *numInputElements = N;\n      *numOutputElements = N;\n      break;\n    }\n  }\n\n  bool CollectiveArgs::UsesReduce(ncclFunc_t const funcType)\n  {\n    return (funcType == ncclCollReduce    ||\n            funcType == ncclCollAllReduce ||\n            funcType == ncclCollReduceScatter);\n  }\n\n  bool CollectiveArgs::UsesRoot(ncclFunc_t const funcType)\n  {\n    return (funcType == ncclCollBroadcast ||\n            funcType == ncclCollReduce    ||\n            funcType == ncclCollGather    ||\n            funcType == ncclCollScatter);\n  }\n}\n"
  },
  {
    "path": "test/common/CollectiveArgs.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#pragma once\n#include \"PtrUnion.hpp\"\n#include \"PrepDataFuncs.hpp\"\n#include \"rccl/rccl.h\"\n\nnamespace RcclUnitTesting\n{\n  // Enumeration of all collective functions currently supported\n  typedef enum\n  {\n    ncclCollBroadcast = 0,\n    ncclCollReduce,\n    ncclCollAllGather,\n    ncclCollReduceScatter,\n    ncclCollAllReduce,\n    ncclCollGather,\n    ncclCollScatter,\n    ncclCollAlltoAll,\n    ncclCollAlltoAllv,\n    ncclCollSend,\n    ncclCollRecv,\n    ncclNumFuncs\n  } ncclFunc_t;\n\n  char const ncclFuncNames[ncclNumFuncs][32] =\n  {\n    \"Broadcast\",\n    \"Reduce\",\n    \"AllGather\",\n    \"ReduceScatter\",\n    \"AllReduce\",\n    \"Gather\",\n    \"Scatter\",\n    \"AlltoAll\",\n    \"AlltoAllv\",\n    \"Send\",\n    \"Recv\"\n  };\n\n  char const ncclDataTypeNames[ncclNumTypes][32] =\n  {\n    \"ncclInt8\",\n    \"ncclUint8\",\n    \"ncclInt32\",\n    \"ncclUint32\",\n    \"ncclInt64\",\n    \"ncclUint64\",\n    \"ncclFloat16\",\n    \"ncclFloat32\",\n    \"ncclFloat64\",\n    \"ncclBfloat16\",\n    \"ncclFloat8e4m3\",\n    \"ncclFloat8e5m2\"\n  };\n\n  char const ncclRedOpNames[ncclNumOps][32] =\n  {\n    \"sum\",\n    \"prod\",\n    \"max\",\n    \"min\",\n    \"avg\"\n  };\n\n  class CollectiveArgs;\n\n  #define MAX_RANKS 32\n  struct ScalarTransport\n  {\n    char ptr[MAX_RANKS * sizeof(double)];\n  };\n\n  struct OptionalColArgs\n  {\n    ncclRedOp_t     redOp = ncclSum;\n    int             root = 0;               // Used as \"peer\" for Send/Recv\n    ScalarTransport scalarTransport;        // Used for custom reduction operators\n    int             scalarMode = -1;        // -1 if scalar not used\n\n    // Bias support for fused AllReduce+Bias operations\n    bool            useBias = false;        // Enable bias addition\n    void*           biasPtr = nullptr;      // Pointer to bias buffer (GPU memory)\n    size_t          biasNumElements = 0;    // Number of elements in bias buffer\n    int             biasConstantValue = -1; // If >= 0, use constant value for all bias elements (instead of incremental pattern)\n\n    // Input data pattern control (useful for ncclProd to avoid overflow at high rank counts)\n    int             inputConstantValue = -1; // If >= 0, use constant value for all input elements (instead of rank-based pattern)\n\n    // allToAllv args\n    size_t          sendcounts[MAX_RANKS*MAX_RANKS];\n    size_t          sdispls[MAX_RANKS*MAX_RANKS];\n    size_t          recvcounts[MAX_RANKS*MAX_RANKS];\n    size_t          rdispls[MAX_RANKS*MAX_RANKS];\n  };\n\n  // Function pointer for functions that operate on CollectiveArgs\n  // e.g. For filling input / computing expected results\n  typedef ErrCode (*CollFuncPtr)(CollectiveArgs &);\n\n  class CollectiveArgs\n  {\n  public:\n    // Arguments to execute\n    int             globalRank;\n    int             totalRanks;\n    int             deviceId;\n    ncclFunc_t      funcType;\n    ncclDataType_t  dataType;\n    size_t          numInputElements;\n    size_t          numOutputElements;\n    PtrUnion        localScalar;\n    int             streamIdx;\n    OptionalColArgs options;\n\n    // Data\n    PtrUnion       inputGpu;\n    PtrUnion       outputGpu;\n    PtrUnion       outputCpu;\n    PtrUnion       expected;\n    bool           inPlace;\n    bool           useManagedMem;\n    bool           userRegistered;\n    void*          commRegHandle;\n    size_t         numInputBytesAllocated;\n    size_t         numOutputBytesAllocated;\n    size_t         numInputElementsAllocated;\n    size_t         numOutputElementsAllocated;\n\n    // Bias data for fused AllReduce+Bias operations\n    PtrUnion       biasGpu;           // Bias buffer on GPU\n    PtrUnion       biasCpu;           // Bias buffer on CPU (for initialization/validation)\n    void*          biasRegHandle;     // Handle for registered bias buffer\n    size_t         numBiasElements;   // Number of elements in bias buffer\n    size_t         numBiasBytesAllocated;  // Number of bytes allocated for bias\n\n    // Set collective arguments\n    ErrCode SetArgs(int             const globalRank,\n                    int             const totalRanks,\n                    int             const deviceId,\n                    ncclFunc_t      const funcType,\n                    ncclDataType_t  const dataType,\n                    size_t          const numInputElements,\n                    size_t          const numOutputElements,\n                    int             const streamIdx,\n                    OptionalColArgs const &optionalArgs = {});\n\n    // Allocates GPU memory for input/output and CPU memory for expected\n    // When inPlace is true, input and output share the same memory\n    ErrCode AllocateMem(bool   const inPlace,\n                        bool   const useManagedMem,\n                        bool   const userRegistered);\n\n    // Execute the provided data preparation function to fill input and compute expected results\n    ErrCode PrepareData(CollFuncPtr const prepareDataFunc);\n\n    // Compare outputs to expected values\n    ErrCode ValidateResults();\n\n    // Deallocate memory\n    ErrCode DeallocateMem();\n\n    // Provide a description for the current collective arguments\n    std::string GetDescription() const;\n\n    // Returns the number of inputs/outputs based on collective function type\n    static void GetNumElementsForFuncType(ncclFunc_t const funcType,\n                                          int        const N,\n                                          int        const totalRanks,\n                                          int*             numInputElements,\n                                          int*             numOutputElements);\n\n    // Returns true if collective function performs reduction\n    static bool UsesReduce(ncclFunc_t const funcType);\n\n    // Returns true if collective function utilizes a root rank\n    static bool UsesRoot(ncclFunc_t const funcType);\n  };\n}\n"
  },
  {
    "path": "test/common/DeviceBufferHelpers.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#pragma once\n\n#include \"nccl.h\"\n#include <cmath>\n#include <hip/hip_runtime.h>\n#include <type_traits>\n#include <vector>\n\n/**\n * @file DeviceBufferHelpers.hpp\n * @brief Template-based device buffer utilities for RCCL tests\n *\n * Provides type-safe, reusable functions for device buffer operations:\n * - Initialization with test patterns (Host -> Device)\n * - Host <-> Device transfers\n * - Data verification (Device -> Host)\n * - NCCL datatype mapping\n *\n * NOTE: All functions expect DEVICE memory pointers allocated with hipMalloc().\n *       For host memory operations, use direct CPU operations instead.\n */\n\nnamespace RCCLTestHelpers\n{\n\n// ============================================================================\n// NCCL Datatype Mapping\n// ============================================================================\n\n/**\n * @brief Maps C++ types to NCCL data types at compile time\n * @tparam T C++ data type\n */\ntemplate<typename T>\nstruct NcclTypeTraits;\n\n/**\n * @brief Macro to define NcclTypeTraits specializations\n *\n * ncclDataType_t mapping and the string name using the stringification\n * operator (#) for each supported type.\n *\n * @param cpp_type The C++ type (e.g., uint64_t, float)\n * @param nccl_type The corresponding NCCL type (e.g., ncclUint64, ncclFloat)\n */\n#define DEFINE_NCCL_TYPE_TRAIT(cpp_type, nccl_type)                  \\\n    template<>                                                       \\\n    struct NcclTypeTraits<cpp_type>                                  \\\n    {                                                                \\\n        static constexpr ncclDataType_t value = nccl_type;           \\\n        static constexpr const char*    name  = #cpp_type;           \\\n    }\n\n// Define all supported type mappings\nDEFINE_NCCL_TYPE_TRAIT(float,    ncclFloat);\nDEFINE_NCCL_TYPE_TRAIT(double,   ncclDouble);\nDEFINE_NCCL_TYPE_TRAIT(int8_t,   ncclInt8);\nDEFINE_NCCL_TYPE_TRAIT(uint8_t,  ncclUint8);\nDEFINE_NCCL_TYPE_TRAIT(int32_t,  ncclInt32);\nDEFINE_NCCL_TYPE_TRAIT(uint32_t, ncclUint32);\nDEFINE_NCCL_TYPE_TRAIT(int64_t,  ncclInt64);\nDEFINE_NCCL_TYPE_TRAIT(uint64_t, ncclUint64);\n\n// Undefine macro to avoid polluting namespace\n#undef DEFINE_NCCL_TYPE_TRAIT\n\n/**\n * @brief Helper function to get NCCL datatype for a C++ type\n * @tparam T C++ data type\n * @return Corresponding ncclDataType_t\n */\ntemplate<typename T>\nconstexpr ncclDataType_t getNcclDataType()\n{\n    return NcclTypeTraits<T>::value;\n}\n\n/**\n * @brief Helper function to get type name string\n * @tparam T C++ data type\n * @return Type name as string\n */\ntemplate<typename T>\nconstexpr const char* getTypeName()\n{\n    return NcclTypeTraits<T>::name;\n}\n\n// ============================================================================\n// Device Buffer Initialization\n// ============================================================================\n\n/**\n * @brief Initialize device buffer with pattern function\n *\n * Generic function that allows any pattern generation via lambda or function pointer.\n *\n * Example usage:\n * @code\n * // Rank-based pattern: rank * multiplier + index\n * initializeBufferWithPattern<float>(buffer, size,\n *     [rank, multiplier](size_t i) { return rank * multiplier + i; });\n *\n * // Constant value pattern\n * initializeBufferWithPattern<int>(buffer, size,\n *     [](size_t i) { return 42; });\n *\n * // Custom pattern\n * initializeBufferWithPattern<double>(buffer, size,\n *     [](size_t i) { return std::sin(i * 0.1); });\n * @endcode\n *\n * @tparam T Element type (float, int, etc.)\n * @tparam PatternFunc Callable type (lambda, function pointer, functor)\n * @param device_buffer Device memory pointer (from hipMalloc)\n * @param num_elements Number of elements\n * @param pattern_func Function that generates value for each index: T pattern_func(size_t index)\n * @return hipError_t from hipMemcpy, or hipSuccess\n */\ntemplate<typename T, typename PatternFunc>\nhipError_t initializeBufferWithPattern(void*       device_buffer,\n                                       size_t      num_elements,\n                                       PatternFunc pattern_func)\n{\n    if(!device_buffer || num_elements == 0)\n    {\n        return hipErrorInvalidValue;\n    }\n\n    std::vector<T> host_data(num_elements);\n    for(size_t i = 0; i < num_elements; i++)\n    {\n        host_data[i] = pattern_func(i);\n    }\n\n    return hipMemcpy(device_buffer,\n                     host_data.data(),\n                     num_elements * sizeof(T),\n                     hipMemcpyHostToDevice);\n}\n\n/**\n * @brief Zero-initialize device buffer\n *\n * @tparam T Element type\n * @param device_buffer Device memory pointer (from hipMalloc)\n * @param num_elements Number of elements\n * @return hipError_t from hipMemset\n */\ntemplate<typename T>\nhipError_t zeroInitializeBuffer(void* device_buffer, size_t num_elements)\n{\n    if(!device_buffer || num_elements == 0)\n    {\n        return hipErrorInvalidValue;\n    }\n\n    return hipMemset(device_buffer, 0, num_elements * sizeof(T));\n}\n\n// ============================================================================\n// Device Buffer Verification\n// ============================================================================\n\n/**\n * @brief Verify device buffer data with pattern function\n *\n * Generic function that allows any verification pattern via lambda or function pointer.\n * Downloads data from device and verifies elements against expected values.\n * Uses appropriate comparison for floating-point vs integer types.\n *\n * Example usage:\n * @code\n * // Rank-based pattern verification: rank * multiplier + index\n * verifyBufferData<float>(buffer, size,\n *     [rank, multiplier](size_t i) { return rank * multiplier + i; },\n *     num_samples, tolerance);\n *\n * // Constant value verification\n * verifyBufferData<int>(buffer, size,\n *     [](size_t i) { return 42; });\n *\n * // Custom pattern verification\n * verifyBufferData<double>(buffer, size,\n *     [](size_t i) { return std::sin(i * 0.1); },\n *     size, 1e-6);  // verify all elements with tighter tolerance\n * @endcode\n *\n * @tparam T Element type\n * @tparam PatternFunc Callable type (lambda, function pointer, functor)\n * @param device_buffer Device memory pointer (from hipMalloc)\n * @param num_elements Total number of elements in buffer\n * @param pattern_func Function that generates expected value for each index: T pattern_func(size_t index)\n * @param num_samples Number of elements to verify (default: all, capped at num_elements)\n * @param tolerance Tolerance for floating-point comparison (default: 1e-5, ignored for integer types)\n * @param[out] first_error_index If verification fails, set to index of first mismatch\n * @param[out] expected_value If verification fails, set to expected value\n * @param[out] actual_value If verification fails, set to actual value\n * @return true if all samples match, false otherwise\n */\ntemplate<typename T, typename PatternFunc>\nbool verifyBufferData(const void* device_buffer,\n                      size_t      num_elements,\n                      PatternFunc pattern_func,\n                      size_t      num_samples       = 0,  // 0 means verify all\n                      double      tolerance         = 1e-5,\n                      size_t*     first_error_index = nullptr,\n                      T*          expected_value    = nullptr,\n                      T*          actual_value      = nullptr)\n{\n    if(!device_buffer || num_elements == 0)\n    {\n        return false;\n    }\n\n    // Default to verifying all elements if num_samples is 0\n    if(num_samples == 0)\n    {\n        num_samples = num_elements;\n    }\n    else\n    {\n        // Cap num_samples at num_elements\n        num_samples = std::min(num_samples, num_elements);\n    }\n\n    // Download data from device\n    std::vector<T> host_data(num_elements);\n    hipError_t     err = hipMemcpy(host_data.data(),\n                               device_buffer,\n                               num_elements * sizeof(T),\n                               hipMemcpyDeviceToHost);\n    if(err != hipSuccess)\n    {\n        return false;\n    }\n\n    // Verify samples\n    for(size_t i = 0; i < num_samples; i++)\n    {\n        T expected = pattern_func(i);\n        T actual   = host_data[i];\n\n        bool matches = false;\n\n        // Use appropriate comparison based on type\n        if constexpr(std::is_floating_point_v<T>)\n        {\n            // Floating-point: use tolerance-based comparison\n            matches = (std::abs(actual - expected) <= tolerance);\n        }\n        else\n        {\n            // Integer: exact comparison\n            matches = (actual == expected);\n        }\n\n        if(!matches)\n        {\n            // Record error details\n            if(first_error_index)\n                *first_error_index = i;\n            if(expected_value)\n                *expected_value = expected;\n            if(actual_value)\n                *actual_value = actual;\n            return false;\n        }\n    }\n\n    return true;\n}\n\n// ============================================================================\n// Combined Operations\n// ============================================================================\n\n// Forward declaration for downloadBuffer (used in allocateAndInitialize)\ntemplate<typename T>\nstd::pair<hipError_t, std::vector<T>> downloadBuffer(const void* device_buffer, size_t num_elements);\n\n/**\n * @brief Allocate, initialize, and return RAII-guarded device buffers\n *\n * Convenience function that combines allocation and initialization.\n * Returns host vector for later verification if needed.\n *\n * @tparam T Element type\n * @param[out] device_buffer Pointer to receive device buffer address\n * @param num_elements Number of elements\n * @param rank MPI rank for pattern generation\n * @param multiplier Pattern multiplier\n * @return std::pair<hipError_t, std::vector<T>> - error code and host data copy\n */\ntemplate<typename T>\nstd::pair<hipError_t, std::vector<T>> allocateAndInitialize(void** device_buffer,\n                                                            size_t num_elements,\n                                                            int    rank,\n                                                            int    multiplier = 1000)\n{\n    if(!device_buffer)\n    {\n        return {hipErrorInvalidValue, {}};\n    }\n\n    // Allocate device memory\n    hipError_t err = hipMalloc(device_buffer, num_elements * sizeof(T));\n    if(err != hipSuccess)\n    {\n        return {err, {}};\n    }\n\n    // Initialize using generic pattern function\n    err = initializeBufferWithPattern<T>(\n        *device_buffer, num_elements,\n        [rank, multiplier](size_t i) { return static_cast<T>(rank * multiplier + i); });\n\n    if(err != hipSuccess)\n    {\n        return {err, {}};\n    }\n\n    // Download and return host copy for verification\n    return downloadBuffer<T>(*device_buffer, num_elements);\n}\n\n/**\n * @brief Copy data from one device buffer to another\n *\n * @tparam T Element type (used for size calculation)\n * @param dst Destination device buffer (from hipMalloc)\n * @param src Source device buffer (from hipMalloc)\n * @param num_elements Number of elements to copy\n * @return hipError_t from hipMemcpy\n */\ntemplate<typename T>\nhipError_t copyDeviceBuffer(void* dst, const void* src, size_t num_elements)\n{\n    if(!dst || !src || num_elements == 0)\n    {\n        return hipErrorInvalidValue;\n    }\n\n    return hipMemcpy(dst, src, num_elements * sizeof(T), hipMemcpyDeviceToDevice);\n}\n\n/**\n * @brief Download device buffer to host vector\n *\n * @tparam T Element type\n * @param device_buffer Device memory pointer (from hipMalloc)\n * @param num_elements Number of elements\n * @return std::pair<hipError_t, std::vector<T>> - error code and host data\n */\ntemplate<typename T>\nstd::pair<hipError_t, std::vector<T>> downloadBuffer(const void* device_buffer, size_t num_elements)\n{\n    std::vector<T> host_data(num_elements);\n\n    if(!device_buffer || num_elements == 0)\n    {\n        return {hipErrorInvalidValue, {}};\n    }\n\n    hipError_t err = hipMemcpy(host_data.data(),\n                               device_buffer,\n                               num_elements * sizeof(T),\n                               hipMemcpyDeviceToHost);\n\n    return {err, std::move(host_data)};\n}\n\n} // namespace RCCLTestHelpers\n\n\n"
  },
  {
    "path": "test/common/EnvVars.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"EnvVars.hpp\"\n#include \"CollectiveArgs.hpp\"\n#include <cstdlib>\n#include <unistd.h>\n#include <sys/wait.h>\n#include <algorithm>\n#include <iostream>\n#include <sstream>\n#include <unordered_map>\n\nnamespace RcclUnitTesting\n{\n  int const UT_SINGLE_PROCESS = (1<<0);\n  int const UT_MULTI_PROCESS  = (1<<1);\n\n  int getArchInfo(bool *isRightArch,  const char *gfx)\n  {\n    // Prepare parent->child pipe\n    int pipefd[2];\n    if (pipe(pipefd) == -1) {\n      ERROR(\"Unable to create parent->child pipe for getting number of devices\\n\");\n      return TEST_FAIL;\n    }\n    pid_t pid = fork();\n    if (0 == pid) {\n      bool isGfxTest = false;\n      int dev;\n      hipGetDeviceCount(&dev);\n      for (int deviceId = 0; deviceId < dev; deviceId++) {\n        char gcn[256];\n        hipDeviceProp_t devProp;\n        hipGetDeviceProperties(&devProp, deviceId);\n        char *gcnArchNameToken = strtok(devProp.gcnArchName, \":\");\n        strcpy(gcn, gcnArchNameToken);\n        if(std::strncmp(gfx, gcn, 5) == 0) {\n          isGfxTest = true;\n        } else {\n          isGfxTest = false;\n          break;\n        }\n      }\n      if (write(pipefd[1], &isGfxTest, sizeof(isGfxTest)) != sizeof(isGfxTest)) return TEST_FAIL;\n      close(pipefd[0]);\n      close(pipefd[1]);\n      exit(EXIT_SUCCESS);\n    }\n    else {\n      int status;\n      if (read(pipefd[0], isRightArch, sizeof(*isRightArch)) != sizeof(*isRightArch)) return TEST_FAIL;\n      waitpid(pid, &status, 0);\n      assert(!status);\n      close(pipefd[0]);\n      close(pipefd[1]);\n    }\n    return TEST_SUCCESS;\n  }\n\n  int getDeviceCount(int *devices)\n  {\n    // Prepare parent->child pipe\n    int pipefd[2];\n    if (pipe(pipefd) == -1)\n    {\n      ERROR(\"Unable to create parent->child pipe for getting number of devices\\n\");\n      return TEST_FAIL;\n    }\n    pid_t pid = fork();\n    if (0 == pid)\n    {\n      int dev;\n      hipGetDeviceCount(&dev);\n      if (write(pipefd[1], &dev, sizeof(dev)) != sizeof(dev)) return TEST_FAIL;\n      close(pipefd[0]);\n      close(pipefd[1]);\n      exit(EXIT_SUCCESS);\n    }\n    else\n    {\n      int status;\n      if (read(pipefd[0], devices, sizeof(*devices)) != sizeof(*devices)) return TEST_FAIL;\n      waitpid(pid, &status, 0);\n      assert(!status);\n      close(pipefd[0]);\n      close(pipefd[1]);\n    }\n    return TEST_SUCCESS;\n  }\n\n  int getDeviceMode (bool *cpxMode){\n    // Prepare parent->child pipe\n    int pipefd[2];\n    if (pipe(pipefd) == -1)\n    {\n      ERROR(\"Unable to create parent->child pipe for getting the device mode\\n\");\n      return TEST_FAIL;\n    }\n    pid_t pid = fork();\n    if (0 == pid)\n    {\n      bool isCpxMode = false;\n      int numDeviceCUs;\n      int deviceIdx = 0;\n      hipDeviceGetAttribute(&numDeviceCUs, hipDeviceAttributeMultiprocessorCount, deviceIdx);\n      if(numDeviceCUs == 20 || numDeviceCUs == 38) isCpxMode = true;\n      if (write(pipefd[1], &isCpxMode, sizeof(isCpxMode)) != sizeof(isCpxMode)) return TEST_FAIL;\n      close(pipefd[0]);\n      close(pipefd[1]);\n      exit(EXIT_SUCCESS);\n    }\n    else {\n      int status;\n      if (read(pipefd[0], cpxMode, sizeof(*cpxMode)) != sizeof(*cpxMode)) return TEST_FAIL;\n      waitpid(pid, &status, 0);\n      assert(!status);\n      close(pipefd[0]);\n      close(pipefd[1]);\n    }\n    return TEST_SUCCESS;\n    return 0;\n  }\n\n  ncclResult_t busIdToInt64(const char* busId, int64_t* id) {\n    char hexStr[17];  // Longest possible int64 hex string + null terminator.\n    int hexOffset = 0;\n    for (int i = 0; hexOffset < sizeof(hexStr) - 1; i++) {\n      char c = busId[i];\n      if (c == ':') continue;\n      if (c == '.') break; //ignore everything after . as they belong to same physical pci\n      if ((c >= '0' && c <= '9') ||\n          (c >= 'A' && c <= 'F') ||\n          (c >= 'a' && c <= 'f')) {\n        hexStr[hexOffset++] = busId[i];\n      } else break;\n    }\n    hexStr[hexOffset] = '\\0';\n    *id = strtol(hexStr, NULL, 16);\n    return ncclSuccess;\n  }\n\n  int getDevicePriority (std::vector<int> *gpuPriorityOrder){\n    // Prepare parent->child pipe\n    int pipefd[2];\n    if (pipe(pipefd) == -1) {\n      ERROR(\"Unable to create parent->child pipe for getting the device priority vector.\\n\");\n      return TEST_FAIL;\n    }\n    pid_t pid = fork();\n    if (0 == pid) {\n      std::vector<int> result;\n      try {\n          int numDev;\n          hipGetDeviceCount(&numDev);\n          std::unordered_map<int64_t, std::vector<int>> uniqueIdToGpuIndexes;\n          for(int dev=0;dev<numDev;dev++){\n            char busIdStr[] = \"00000000:00:00.0\";\n            int64_t busId;\n            hipDeviceGetPCIBusId(busIdStr, sizeof(busIdStr), dev);\n            busIdToInt64(busIdStr, &busId);\n            uniqueIdToGpuIndexes[busId].push_back(dev);\n          }\n          std::vector<std::pair<int64_t, std::vector<int>>> sortedIds(uniqueIdToGpuIndexes.begin(), uniqueIdToGpuIndexes.end());\n          std::sort(sortedIds.begin(), sortedIds.end(), [](const auto& a, const auto& b) {\n              return a.second.size() > b.second.size();\n          });\n          for (const auto& pair : sortedIds) {\n              result.insert(result.end(), pair.second.begin(), pair.second.end());\n          }\n      } catch (const std::exception& e) {\n          std::cerr << \"Error: \" << e.what() << std::endl;\n          return 1;\n      }\n      if (write(pipefd[1], result.data(), gpuPriorityOrder->size() * sizeof(int)) != gpuPriorityOrder->size() * sizeof(int)) return TEST_FAIL;\n      close(pipefd[0]);\n      close(pipefd[1]);\n      exit(EXIT_SUCCESS);\n    }\n    else {\n      int status;\n      if (read(pipefd[0], gpuPriorityOrder->data(), gpuPriorityOrder->size() * sizeof(int)) != gpuPriorityOrder->size() * sizeof(int)) return TEST_FAIL;\n      waitpid(pid, &status, 0);\n      assert(!status);\n      close(pipefd[0]);\n      close(pipefd[1]);\n    }\n    return TEST_SUCCESS;\n    return 0;\n  }\n\n\n  EnvVars::EnvVars()\n  {\n    // Collect number of GPUs available\n    // NOTE: Cannot use HIP call prior to launching unless it is inside another child process\n    numDetectedGpus = 0;\n    getDeviceCount(&numDetectedGpus);\n    numDetectedGpus = min(numDetectedGpus, 16);\n    isGfx94 = false;\n    getArchInfo(&isGfx94, \"gfx94\");\n    isGfx95 = false;\n    getArchInfo(&isGfx95, \"gfx95\");\n    isGfx12 = false;\n    getArchInfo(&isGfx12, \"gfx12\");\n    isGfx90 = false;\n    getArchInfo(&isGfx90, \"gfx90\");\n\n    debugPause     = GetEnvVar(\"UT_DEBUG_PAUSE\" , 0);\n    showNames      = GetEnvVar(\"UT_SHOW_NAMES\"  , 1);\n    minGpus        = GetEnvVar(\"UT_MIN_GPUS\"    , 1);\n    maxGpus        = GetEnvVar(\"UT_MAX_GPUS\"    , numDetectedGpus);\n    processMask    = GetEnvVar(\"UT_PROCESS_MASK\", UT_SINGLE_PROCESS | UT_MULTI_PROCESS);\n    verbose        = GetEnvVar(\"UT_VERBOSE\"     , 0);\n    printValues    = GetEnvVar(\"UT_PRINT_VALUES\", 0);\n    maxRanksPerGpu = GetEnvVar(\"UT_MAX_RANKS_PER_GPU\", 1);\n    showTiming     = GetEnvVar(\"UT_SHOW_TIMING\",  1);\n    useInteractive = GetEnvVar(\"UT_INTERACTIVE\",  0);\n    timeoutUs      = GetEnvVar(\"UT_TIMEOUT_US\" ,  5000000);\n    useMultithreading = GetEnvVar(\"UT_MULTITHREAD\", false);\n\n    // Total number of reduction ops\n    int numOps = ncclNumOps;\n\n    gpuPriorityOrder.resize(numDetectedGpus);\n    for(int i=0;i<numDetectedGpus;i++){\n      gpuPriorityOrder[i] = i;\n    }\n    bool isCpxMode = false;\n    if(isGfx94) {\n      getDeviceMode(&isCpxMode);\n      if(isCpxMode) {\n        getDevicePriority(&gpuPriorityOrder);\n      }\n    }\n\n    // Test only pow2 number of GPUs for cpx mode to reduce the runtime for UT\n    onlyPow2Gpus   = GetEnvVar(\"UT_POW2_GPUS\"   , isCpxMode); // Default value set based on whether system is in CPX mode. UT_POW2_GPUS set by user overrides it.\n\n    std::vector<std::string> redOpStrings = GetEnvVarsList(\"UT_REDOPS\");\n    for (auto s : redOpStrings)\n    {\n      for (int i = 0; i < numOps; ++i)\n      {\n        if (!strcmp(s.c_str(), ncclRedOpNames[i]))\n        {\n          redOps.push_back((ncclRedOp_t)i);\n          break;\n        }\n      }\n    }\n    // Default back to all ops if no strings are found\n    if (redOps.empty())\n    {\n      for (int i = 0; i < numOps; i++)\n        redOps.push_back((ncclRedOp_t)i);\n    }\n\n    // Limit number of supported datatypes if only allReduce is built\n    std::vector<std::string> dtStrings = GetEnvVarsList(\"UT_DATATYPES\");\n    for (auto s : dtStrings)\n    {\n      for (int i = 0; i < ncclNumTypes; ++i)\n      {\n        if (!strcmp(s.c_str(), ncclDataTypeNames[i]))\n        {\n          dataTypes.push_back((ncclDataType_t)i);\n        }\n      }\n    }\n\n    // Default option if no valid datatypes are found in env var\n    if (dataTypes.empty())\n    {\n      dataTypes.push_back(ncclFloat32);\n      dataTypes.push_back(ncclInt8);\n      dataTypes.push_back(ncclUint8);\n      dataTypes.push_back(ncclInt32);\n      dataTypes.push_back(ncclUint32);\n      dataTypes.push_back(ncclInt64);\n      dataTypes.push_back(ncclUint64);\n      dataTypes.push_back(ncclFloat16);\n      dataTypes.push_back(ncclFloat32);\n      dataTypes.push_back(ncclFloat64);\n      dataTypes.push_back(ncclBfloat16);\n      dataTypes.push_back(ncclFloat8e4m3);\n      dataTypes.push_back(ncclFloat8e5m2);\n    }\n\n    // Build list of possible # GPU ranks based on env vars\n    numGpusList.clear();\n    for (int i = minGpus; i <= maxGpus; i++)\n      if (!onlyPow2Gpus || ((i & (i-1)) == 0))\n        numGpusList.push_back(i);\n\n    // Build isMultiProcessList\n    isMultiProcessList.clear();\n    if (this->processMask & UT_SINGLE_PROCESS) isMultiProcessList.push_back(0);\n    if (this->processMask & UT_MULTI_PROCESS)  isMultiProcessList.push_back(1);\n  }\n\n  std::vector<ncclRedOp_t> const& EnvVars::GetAllSupportedRedOps()\n  {\n    return redOps;\n  }\n\n  std::vector<ncclDataType_t> const& EnvVars::GetAllSupportedDataTypes()\n  {\n    return dataTypes;\n  }\n\n  std::vector<int> const& EnvVars::GetNumGpusList()\n  {\n    return numGpusList;\n  }\n\n  std::vector<int> const& EnvVars::GetGpuPriorityOrder()\n  {\n    return gpuPriorityOrder;\n  }\n\n  std::vector<int> const& EnvVars::GetIsMultiProcessList()\n  {\n    return isMultiProcessList;\n  }\n\n  int EnvVars::GetEnvVar(std::string const varname, int defaultValue)\n  {\n    if (getenv(varname.c_str()))\n      return atoi(getenv(varname.c_str()));\n    return defaultValue;\n  };\n\n  std::vector<std::string> EnvVars::GetEnvVarsList(std::string const varname)\n  {\n    std::vector<std::string> result;\n    if (getenv(varname.c_str()))\n    {\n      std::string env = getenv(varname.c_str());\n      std::replace(env.begin(), env.end(), ';', ',');\n      std::istringstream ss(env);\n      std::string token;\n      while (std::getline(ss, token, ','))\n      {\n        result.push_back(token);\n      }\n    }\n    return result;\n  }\n\n  void EnvVars::ShowConfig()\n  {\n    std::vector<std::tuple<std::string, int, std::string>> supported =\n      {\n        std::make_tuple(\"UT_DEBUG_PAUSE\"      , debugPause    , \"Pause for debugger attach\"),\n        std::make_tuple(\"UT_SHOW_NAMES\"       , showNames     , \"Show test case names\"),\n        std::make_tuple(\"UT_MIN_GPUS\"         , minGpus       , \"Minimum number of GPUs to use\"),\n        std::make_tuple(\"UT_MAX_GPUS\"         , maxGpus       , \"Maximum number of GPUs to use\"),\n        std::make_tuple(\"UT_POW2_GPUS\"        , onlyPow2Gpus  , \"Only allow power-of-2 # of GPUs\"),\n        std::make_tuple(\"UT_PROCESS_MASK\"     , processMask   , \"Whether to run single/multi process\"),\n        std::make_tuple(\"UT_VERBOSE\"          , verbose       , \"Show verbose unit test output\"),\n        std::make_tuple(\"UT_REDOPS\"           , -1            , \"List of reduction ops to test\"),\n        std::make_tuple(\"UT_DATATYPES\"        , -1            , \"List of datatypes to test\"),\n        std::make_tuple(\"UT_MAX_RANKS_PER_GPU\", maxRanksPerGpu, \"Maximum number of ranks using the same GPU\"),\n        std::make_tuple(\"UT_PRINT_VALUES\"     , printValues   , \"Print array values (-1 for all)\"),\n        std::make_tuple(\"UT_SHOW_TIMING\"      , showTiming    , \"Show timing table\"),\n        std::make_tuple(\"UT_INTERACTIVE\"      , useInteractive, \"Run in interactive mode\"),\n        std::make_tuple(\"UT_TIMEOUT_US\"       , timeoutUs     , \"Timeout limit for collective calls in us\"),\n        std::make_tuple(\"UT_MULTITHREAD\"      , useMultithreading, \"Multi-thread single-process ranks\"),\n      };\n\n    printf(\"================================================================================\\n\");\n    printf(\" Environment variables:\\n\");\n    for (auto p : supported)\n    {\n      printf(\" - %-20s %-42s (%3d) %s\\n\", std::get<0>(p).c_str(), std::get<2>(p).c_str(), std::get<1>(p),\n             getenv(std::get<0>(p).c_str()) ? getenv(std::get<0>(p).c_str()) : \"<unset>\");\n    }\n    printf(\"================================================================================\\n\");\n  }\n}\n"
  },
  {
    "path": "test/common/EnvVars.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#pragma once\n#include <hsa/hsa.h>\n#include <vector>\n#include \"rccl/rccl.h\"\n\nnamespace RcclUnitTesting\n{\n  // Helper function to count the number of GPUs on system\n  static hsa_status_t CountGpus(hsa_agent_t agent, void* data);\n\n  // Helper class to track environment variables that affect the unit tests\n  class EnvVars\n  {\n  public:\n    bool debugPause;     // Pause for debugger attach              [UT_DEBUG_PAUSE]\n    bool showNames;      // List test case names during run        [UT_SHOW_NAMES]\n    int  minGpus;        // Set the minimum number of GPUs to use  [UT_MIN_GPUS]\n    int  maxGpus;        // Set the maximum number of GPUs to use  [UT_MAX_GPUS]\n    bool onlyPow2Gpus;   // Only allow power-of-2 # of GPUs        [UT_POW2_GPUS]\n    int  processMask;    // Filter single/multi process            [UT_PROCESS_MASK]\n    bool verbose;        // Show verbose TestBed output for debug  [UT_VERBOSE]\n    int  printValues;    // Print out input/output/expected arrays [UT_PRINT_VALUES]\n    int  maxRanksPerGpu; // Number of ranks using the same GPU     [UT_MAX_RANKS_PER_GPU]\n    bool showTiming;     // Show timing per case at end            [UT_SHOW_TIMING]\n    bool useInteractive; // Run in interactive mode                [UT_INTERACTIVE]\n    int  timeoutUs;      // Set timeout for child in microseconds  [UT_TIMEOUT_US]\n    bool useMultithreading; // Multi-thread single-process ranks   [UT_MULTITHREAD]\n\n    bool isGfx94;        // Detects if architecture is gfx94\n    bool isGfx95;        // Detects if architecture is gfx95\n    bool isGfx12;        // Detects if architecture is gfx12\n    bool isGfx90;        // Detects if architecture is gfx90\n\n    // Constructor that parses and collects environment variables\n    EnvVars();\n\n    std::vector<ncclRedOp_t>    const& GetAllSupportedRedOps();\n    std::vector<ncclDataType_t> const& GetAllSupportedDataTypes();\n\n    std::vector<int>            const& GetNumGpusList();\n    std::vector<int>            const& GetIsMultiProcessList();\n    std::vector<int>            const& GetGpuPriorityOrder();   // Orders the gpus based on the associativity of them with OAM with higher gpus linked.\n    void ShowConfig();\n\n  protected:\n    std::vector<ncclRedOp_t>    redOps;             // Supported reduction ops [UT_REDOPS]\n    std::vector<ncclDataType_t> dataTypes;          // Support datatypes       [UT_DATATYPES]\n    std::vector<int>            numGpusList;        // List of # Gpus to use   [UT_MIN_GPUS/UT_MAX_GPUS/UT_POW2_GPUS]\n    std::vector<int>            isMultiProcessList; // Single or multi process [UT_PROCESS_MASK]\n    int                         numDetectedGpus;\n    std::vector<int>            gpuPriorityOrder;   // Orders the gpus based on the associativity of them with OAM with higher gpus linked.\n\n    // Helper functions to parse environment variables\n    int GetEnvVar(std::string const varname, int defaultValue);\n    std::vector<std::string> GetEnvVarsList(std::string const varname);\n  };\n}\n"
  },
  {
    "path": "test/common/ErrCode.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#pragma once\n#include <cstring>\n\nnamespace RcclUnitTesting\n{\n  typedef enum : int\n  {\n    TEST_SUCCESS = 0,\n    TEST_FAIL    = 1,\n    TEST_TIMEOUT = 2\n  } ErrCode;\n\n#define ERROR(...) printf(\"\\033[0;31m\" \"[ ERROR    ] \" \"\\033[0m\" __VA_ARGS__)\n#define INFO(...)  printf(\"[ INFO     ] \" __VA_ARGS__)\n#define WARN(...)  printf(\"[ WARNING  ] \" __VA_ARGS__)\n#define RETURN_RESULT(result) return (result)\n\n#define CHECK_CALL_BASE(func, RESULT, RESULT_ARGS...) \\\n  do {                                                \\\n    ErrCode status = func;                            \\\n    if (status != TEST_SUCCESS)                       \\\n    {                                                 \\\n      ERROR(\"Error in call %s\\n\", #func);             \\\n      RESULT(status, ##RESULT_ARGS);                  \\\n    }                                                 \\\n  } while (false)\n#define CHECK_CALL(func) CHECK_CALL_BASE(func, RETURN_RESULT)\n\n#define CHECK_HIP_BASE(func, RESULT, RESULT_ARGS...)                    \\\n  do {                                                                  \\\n    hipError_t error = (func);                                          \\\n    if (error != hipSuccess)                                            \\\n    {                                                                   \\\n      fprintf(stderr, \"\\033[0;31m\" \"[ ERROR    ] HIP error: %s File:%s Line:%d\\n\" \"\\033[m\", \\\n              hipGetErrorString(error), strrchr(\"/\" __FILE__, '/') + 1, __LINE__); \\\n      RESULT(TEST_FAIL, ##RESULT_ARGS);                                 \\\n    }                                                                   \\\n  } while (false)\n#define CHECK_HIP(func) CHECK_HIP_BASE(func, RETURN_RESULT)\n\n#ifdef ENABLE_OPENMP\n#define OMP_CANCEL_FOR(result, errCode) errCode = (result); _Pragma(\"omp cancel for\")\n#define RANK_RESULT(errCode, result) OMP_CANCEL_FOR(result, errCode)\n#define CHECK_CALL_RANK(errCode, func) CHECK_CALL_BASE(func, OMP_CANCEL_FOR, errCode)\n#define CHECK_HIP_RANK(errCode, func) CHECK_HIP_BASE(func, OMP_CANCEL_FOR, errCode)\n#else\n#define RANK_RESULT(errCode, result) RETURN_RESULT(result)\n#define CHECK_CALL_RANK(errCode, func) CHECK_CALL(func)\n#define CHECK_HIP_RANK(errCode, func) CHECK_HIP(func)\n#endif\n}\n\n"
  },
  {
    "path": "test/common/MPIEnvironment.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n/**\n * @file MPIEnvironment.cpp\n * @brief Implementation of global MPI environment for RCCL testing\n */\n\n#include \"MPIEnvironment.hpp\"\n#include \"MPITestBase.hpp\"\n\n#ifdef MPI_TESTS_ENABLED\n\n#include <chrono>\n#include <thread>\n\n/**\n * @brief Initialize the global test environment\n *\n * Performs one-time setup for the entire test suite:\n * - Initializes MPI with thread support\n * - Sets up GPU devices for each rank\n *\n * @note Called automatically by Google Test framework before any tests run\n */\nvoid MPIEnvironment::SetUp()\n{\n    // One-time initialization (MPI_Init can only be called once)\n    initialize_mpi();\n    initialize_devices();\n}\n\n/**\n * @brief Initialize MPI with multi-threading support\n *\n * Calls MPI_Init_thread() with MPI_THREAD_MULTIPLE to support concurrent\n * MPI operations. Sets world_rank and world_size for use by all tests.\n *\n * Idempotent - safe to call multiple times (uses mpi_initialized flag).\n * Typically called from main_mpi.cpp, but provides fallback initialization.\n */\nvoid MPIEnvironment::initialize_mpi()\n{\n    if(mpi_initialized)\n    {\n        // Already initialized in main_mpi.cpp\n        if(world_rank == 0)\n        {\n            TEST_INFO(\"MPI already initialized - skipping re-initialization\");\n        }\n        return;\n    }\n\n    // This path should not be reached when using main_mpi.cpp\n    // but kept for compatibility with other test mains\n    auto provided = int{};\n    MPI_Init_thread(nullptr, nullptr, MPI_THREAD_MULTIPLE, &provided);\n    MPICHECK(MPI_Comm_rank(MPI_COMM_WORLD, &world_rank));\n    MPICHECK(MPI_Comm_size(MPI_COMM_WORLD, &world_size));\n\n    mpi_initialized = true;\n\n    if(world_rank == 0)\n    {\n        TEST_INFO(\"MPI initialized - World size: %d, Thread support: %d\", world_size, provided);\n    }\n}\n\n/**\n * @brief Initialize GPU devices and assign one GPU per MPI rank\n *\n * Performs comprehensive GPU setup:\n * 1. Queries number of available GPUs\n * 2. Validates sufficient GPUs for world_size\n * 3. Assigns GPU ID = rank (rank-based assignment)\n * 4. Resets HIP context for clean state\n * 5. Sets active device\n * 6. Verifies device assignment\n * 7. Synchronizes all ranks\n *\n * @note Requires at least world_size GPUs\n * @note Sets retCode=1 on error (insufficient GPUs, assignment failure)\n * @note Idempotent - safe to call multiple times (uses devices_initialized flag)\n */\nvoid MPIEnvironment::initialize_devices()\n{\n    if(devices_initialized)\n    {\n        return; // Already initialized\n    }\n\n    auto numDevices = int{};\n    HIP_TEST_CHECK_GTEST_FAIL(hipGetDeviceCount(&numDevices));\n\n    // Calculate local rank (rank within this node) for multi-node support\n    // Split MPI_COMM_WORLD by node using MPI_Comm_split_type\n    MPI_Comm node_comm;\n    MPI_Comm_split_type(MPI_COMM_WORLD,\n                        MPI_COMM_TYPE_SHARED,\n                        world_rank,\n                        MPI_INFO_NULL,\n                        &node_comm);\n\n    int local_rank, local_size;\n    MPI_Comm_rank(node_comm, &local_rank);\n    MPI_Comm_size(node_comm, &local_size);\n\n    // Cache multi-node detection result ONCE during initialization\n    // local_size < world_size means we have multiple nodes\n    cached_multi_node_result = (local_size < world_size) ? 1 : 0;\n\n    if(world_rank == 0)\n    {\n        TEST_INFO(\"Detected %d GPU(s) for %d MPI rank(s)\", numDevices, world_size);\n        TEST_INFO(\"Local configuration: %d ranks per node\", local_size);\n        TEST_INFO(\"Multi-node configuration: %s\",\n                  cached_multi_node_result ? \"YES (multiple nodes)\" : \"NO (single node)\");\n    }\n\n    // Check if we have enough GPUs for ranks on THIS node\n    if(numDevices < local_size)\n    {\n        TEST_ABORT(\n            \"ERROR: (local rank %d): Only %d GPUs available on this node for %d local ranks. \"\n            \"RCCL requires unique GPUs per rank on each node. \"\n            \"Please run with fewer ranks per node (e.g., --ntasks-per-node=%d) \"\n            \"or ensure more GPUs are available.\",\n            local_rank,\n            numDevices,\n            local_size,\n            numDevices);\n        retCode             = 1;\n        devices_initialized = true;\n        MPI_Comm_free(&node_comm);\n        return;\n    }\n\n    // Use LOCAL rank for device assignment (not global rank)\n    // This ensures ranks 0-7 on each node use GPUs 0-7\n    const auto assigned_device = local_rank;\n\n    // Validate device assignment\n    if(assigned_device < 0 || assigned_device >= numDevices)\n    {\n        TEST_ABORT(\n            \"ERROR: (local rank %d): Invalid device assignment! assigned_device=%d, numDevices=%d\",\n            local_rank,\n            assigned_device,\n            numDevices);\n        retCode             = 1;\n        devices_initialized = true;\n        MPI_Comm_free(&node_comm);\n        return;\n    }\n\n    // Complete HIP context reset and isolation\n    HIP_TEST_CHECK_GTEST_FAIL(hipDeviceReset());\n    HIP_TEST_CHECK_GTEST_FAIL(hipSetDevice(assigned_device));\n\n    // Force HIP context creation and synchronization\n    auto prop = hipDeviceProp_t{};\n    HIP_TEST_CHECK_GTEST_FAIL(hipGetDeviceProperties(&prop, assigned_device));\n    HIP_TEST_CHECK_GTEST_FAIL(hipDeviceSynchronize());\n\n    // Verify device assignment\n    auto current_device = int{};\n    HIP_TEST_CHECK_GTEST_FAIL(hipGetDevice(&current_device));\n    if(current_device != assigned_device)\n    {\n        TEST_ABORT(\"ERROR: (local rank %d) device assignment failed! Expected %d, got %d\",\n                   local_rank,\n                   assigned_device,\n                   current_device);\n        retCode = 1;\n        MPI_Comm_free(&node_comm);\n        return;\n    }\n\n    // Print device info (only from rank 0 to reduce output)\n    if(world_rank == 0)\n    {\n        TEST_INFO(\"(local rank %d): Device assignment: global rank %d -> GPU %d\",\n                  local_rank,\n                  world_rank,\n                  assigned_device);\n        TEST_INFO(\"PCI Bus ID = 0x%x, Device Name = %s\", prop.pciBusID, prop.name);\n        TEST_INFO(\"Total GPUs available per node: %d\", numDevices);\n        TEST_INFO(\"Multi-node: Each node's local ranks (0-%d) mapped to GPUs (0-%d)\",\n                  local_size - 1,\n                  numDevices - 1);\n    }\n\n    // Clean up node communicator\n    MPI_Comm_free(&node_comm);\n\n    // Ensure all ranks have set their devices before proceeding\n    MPICHECK(MPI_Barrier(MPI_COMM_WORLD));\n\n    devices_initialized = true;\n\n    if(world_rank == 0)\n    {\n        TEST_INFO(\"Device initialization completed\");\n        TEST_INFO(\"Each test will create its own NCCL communicator for isolation\");\n    }\n}\n\n/**\n * @brief Tear down the global test environment\n *\n * Ensures all ranks have completed their tests before cleanup:\n * 1. Synchronizes all ranks with MPI_Barrier\n * 2. Calls cleanup_mpi() to finalize MPI\n *\n * @note Critical synchronization point - ensures all test cleanup is complete\n * @note Called automatically by Google Test framework after all tests complete\n */\nvoid MPIEnvironment::TearDown()\n{\n    // CRITICAL: Handle the case where ranks are out of sync due to test failures\n    //\n    // Problem: If rank 0 fails with ASSERT/FAIL, it immediately goes to TearDown()\n    // while rank 1 is still in the test body. This causes deadlock when rank 0\n    // tries to do MPI collectives (like Allreduce) while rank 1 is doing different\n    // MPI collectives (like Bcast in createTestCommunicator).\n    //\n    // Use MPI_Ibarrier (non-blocking) with a timeout to detect if ranks\n    // are out of sync, then force cleanup with MPI_Abort if necessary.\n\n    // Try a non-blocking barrier to check if all ranks are ready\n    MPI_Request barrier_req;\n    int         barrier_result = MPI_Ibarrier(MPI_COMM_WORLD, &barrier_req);\n\n    if(barrier_result == MPI_SUCCESS)\n    {\n        // Wait for barrier with a timeout (1 second)\n        int        flag             = 0;\n        auto       timeout_start    = std::chrono::steady_clock::now();\n        const auto timeout_duration = std::chrono::seconds(1);\n\n        while(!flag)\n        {\n            MPI_Test(&barrier_req, &flag, MPI_STATUS_IGNORE);\n\n            if(!flag)\n            {\n                // Check if timeout exceeded\n                auto elapsed = std::chrono::steady_clock::now() - timeout_start;\n                if(elapsed > timeout_duration)\n                {\n                    // Timeout - ranks are out of sync!\n                    std::fprintf(\n                        stderr,\n                        \"Rank %d: TIMEOUT in TearDown barrier - ranks out of sync, forcing abort\\n\",\n                        world_rank);\n                    std::fflush(stderr);\n\n                    // Cancel the barrier request\n                    MPI_Cancel(&barrier_req);\n                    MPI_Request_free(&barrier_req);\n\n                    // Force abort - can't safely continue\n                    MPI_Abort(MPI_COMM_WORLD, 1);\n                    return;\n                }\n\n                // Sleep briefly to avoid busy-waiting\n                std::this_thread::sleep_for(std::chrono::milliseconds(10));\n            }\n        }\n\n        // Barrier completed - all ranks are synchronized\n        // Now safe to do collective operations\n\n        // Check if ANY rank had a failure\n        int local_failed  = (retCode != 0) ? 1 : 0;\n        int global_failed = 0;\n        MPI_Allreduce(&local_failed, &global_failed, 1, MPI_INT, MPI_MAX, MPI_COMM_WORLD);\n\n        // Update retCode to reflect global failure status\n        if(global_failed > 0)\n        {\n            retCode = 1;\n        }\n    }\n    else\n    {\n        // MPI_Ibarrier failed - something is very wrong\n        std::fprintf(stderr,\n                     \"Rank %d: MPI_Ibarrier failed in TearDown, forcing abort\\n\",\n                     world_rank);\n        std::fflush(stderr);\n        MPI_Abort(MPI_COMM_WORLD, 1);\n        return;\n    }\n\n    cleanup_mpi();\n}\n\n/**\n * @brief Clean up MPI resources and finalize\n *\n * Performs coordinated cleanup across all ranks:\n * 1. Guards against multiple cleanup attempts\n * 2. Synchronizes all ranks\n * 3. Aggregates test results using MPI_Allreduce\n * 4. Prints final results from rank 0\n * 5. Calls MPI_Finalize()\n * 6. Resets initialization flags\n *\n * Uses context-aware error handling:\n * - MPI_Barrier/Allreduce: MPICHECK with rank (aborts on error)\n * - MPI_Finalize: MPICHECK with rank and true flag (exits on error)\n *\n * @note Uses static guard to prevent multiple cleanup attempts\n * @note Safe to call from signal handlers or error paths\n * @note All ranks must call this function for proper finalization\n */\nvoid MPIEnvironment::cleanup_mpi()\n{\n    // Use static guard to prevent multiple cleanup attempts\n    static bool cleanup_in_progress_or_done = false;\n\n    if(cleanup_in_progress_or_done)\n    {\n        return; // Already cleaned up or currently cleaning up\n    }\n\n    if(!mpi_initialized)\n    {\n        return; // Never initialized\n    }\n\n    cleanup_in_progress_or_done = true;\n\n    // Synchronize all ranks before MPI finalization\n    MPICHECK(MPI_Barrier(MPI_COMM_WORLD), world_rank);\n\n    MPICHECK(MPI_Finalize(), world_rank, true);\n\n    mpi_initialized     = false;\n    devices_initialized = false;\n}\n\n/**\n * @brief Accessor function to get cached multi-node detection result\n *\n * This function is defined here to avoid circular dependency between\n * TestChecks.hpp and MPIEnvironment.hpp.\n *\n * @return The cached multi-node result: -1 (not computed), 0 (single node), 1 (multi-node)\n */\nint getMPIEnvironmentCachedMultiNodeResult()\n{\n    return MPIEnvironment::cached_multi_node_result;\n}\n\n#endif // MPI_TESTS_ENABLED\n"
  },
  {
    "path": "test/common/MPIEnvironment.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n/**\n * @file MPIEnvironment.hpp\n * @brief Global MPI environment and error checking macros for RCCL testing\n *\n * Provides a Google Test Environment for managing MPI initialization/finalization\n * and error checking macros for MPI, NCCL, and HIP operations in tests.\n */\n\n#ifndef RCCL_MPI_ENVIRONMENT_HPP\n#define RCCL_MPI_ENVIRONMENT_HPP\n\n#include <gtest/gtest.h>\n\n// Conditionally include MPI headers for MPI-based tests\n#ifdef MPI_TESTS_ENABLED\n\n#include \"rccl/rccl.h\"\n#include <hip/hip_runtime.h>\n#include <mpi.h>\n\n#include \"TestChecks.hpp\"\n#include \"ResourceGuards.hpp\"\n\n/**\n * @class MPIEnvironment\n * @brief Google Test Environment for global MPI setup and teardown\n *\n * Manages the global MPI state for all MPI-based tests:\n * - One-time MPI initialization (MPI_Init_thread)\n * - GPU device initialization and assignment\n * - MPI finalization and result aggregation across ranks\n *\n * @note MPI_Init can only be called once, so this uses static flags\n * @note Each MPI rank is assigned to a unique GPU\n * @see MPITestBase for test-level functionality\n */\nclass MPIEnvironment : public ::testing::Environment\n{\npublic:\n    /**\n     * @brief Current MPI rank in MPI_COMM_WORLD\n     *\n     * Valid after MPI initialization. Each rank corresponds to one GPU.\n     */\n    inline static int world_rank{0};\n\n    /**\n     * @brief Total number of MPI processes in MPI_COMM_WORLD\n     *\n     * Valid after MPI initialization. Must not exceed number of available GPUs.\n     */\n    inline static int world_size{0};\n\n    /**\n     * @brief Aggregated return code for test results\n     *\n     * Set to non-zero on test failure. Aggregated across all ranks during cleanup.\n     */\n    inline static int retCode{0};\n\n    /**\n     * @brief Flag indicating MPI has been initialized\n     *\n     * Prevents multiple MPI_Init calls (only allowed once per process).\n     */\n    inline static bool mpi_initialized{false};\n\n    /**\n     * @brief Cached result of multi-node detection\n     *\n     * Computed once during SetUp() using MPI_Comm_split_type().\n     * -1 = not computed, 0 = single node, 1 = multi-node\n     *\n     * @note MUST be initialized before any TEST_* macros are called\n     * @note Prevents nested MPI collective operations in isMultiNodeTest()\n     */\n    inline static int cached_multi_node_result{-1};\n\n    /**\n     * @brief Flag indicating GPU devices have been initialized\n     *\n     * Prevents redundant device setup across multiple test runs.\n     */\n    inline static bool devices_initialized{false};\n\n    /**\n     * @brief Initialize MPI with thread support\n     *\n     * Calls MPI_Init_thread() with MPI_THREAD_MULTIPLE support and sets\n     * world_rank and world_size. Safe to call multiple times (idempotent).\n     *\n     * @note Should be called before any MPI operations\n     * @see mpi_initialized flag\n     */\n    static void initialize_mpi();\n\n    /**\n     * @brief Initialize and assign GPU devices to MPI ranks\n     *\n     * Performs the following:\n     * 1. Queries available GPU count\n     * 2. Validates sufficient GPUs for all ranks\n     * 3. Assigns one GPU per rank (rank N → GPU N)\n     * 4. Resets and sets HIP device context\n     * 5. Synchronizes all ranks\n     *\n     * @note Requires world_size ≤ number of available GPUs\n     * @see devices_initialized flag\n     */\n    static void initialize_devices();\n\n    /**\n     * @brief Clean up MPI resources and finalize\n     *\n     * Performs the following cleanup:\n     * 1. Synchronizes all ranks with MPI_Barrier\n     * 2. Aggregates test results across ranks with MPI_Allreduce\n     * 3. Prints final results from rank 0\n     * 4. Calls MPI_Finalize()\n     *\n     * @note Uses static guard to prevent multiple cleanup attempts\n     * @note Safe to call from signal handlers or error paths\n     */\n    static void cleanup_mpi();\n\n    /**\n     * @brief Google Test SetUp hook - called once before all tests\n     *\n     * Initializes MPI and GPU devices for the entire test suite.\n     */\n    void SetUp() override;\n\n    /**\n     * @brief Google Test TearDown hook - called once after all tests\n     *\n     * Synchronizes all ranks and calls cleanup_mpi() to finalize MPI.\n     */\n    void TearDown() override;\n};\n\n#endif // MPI_TESTS_ENABLED\n\n#endif // RCCL_MPI_ENVIRONMENT_HPP\n"
  },
  {
    "path": "test/common/MPIHelpers.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"MPIHelpers.hpp\"\n\n#ifdef MPI_TESTS_ENABLED\n\n    #include \"MPITestCore.hpp\"\n    #include \"MPIEnvironment.hpp\"\n    #include <cerrno>\n    #include <cstring>\n    #include <fcntl.h>\n    #include <hip/hip_runtime.h>\n    #include <iostream>\n    #include <mpi.h>\n    #include <unistd.h>\n\nnamespace MPIHelpers\n{\n\n// ============================================================================\n// FileDescriptor Implementation\n// ============================================================================\n\nFileDescriptor::FileDescriptor(int fd) noexcept : fd_(fd) {}\n\nFileDescriptor::~FileDescriptor()\n{\n    if(fd_ >= 0)\n    {\n        ::close(fd_);\n    }\n}\n\nFileDescriptor::FileDescriptor(FileDescriptor&& other) noexcept : fd_(other.fd_)\n{\n    other.fd_ = -1;\n}\n\nFileDescriptor& FileDescriptor::operator=(FileDescriptor&& other) noexcept\n{\n    if(this != &other)\n    {\n        if(fd_ >= 0)\n        {\n            ::close(fd_);\n        }\n        fd_       = other.fd_;\n        other.fd_ = -1;\n    }\n    return *this;\n}\n\nint FileDescriptor::get() const noexcept\n{\n    return fd_;\n}\n\nbool FileDescriptor::is_valid() const noexcept\n{\n    return fd_ >= 0;\n}\n\nint FileDescriptor::release() noexcept\n{\n    const auto fd = fd_;\n    fd_           = -1;\n    return fd;\n}\n\n// ============================================================================\n// TeeThread Implementation\n// ============================================================================\n\nTeeThread::TeeThread(int read_fd, int console_fd, int log_fd)\n    : read_fd_(read_fd), console_fd_(console_fd), log_fd_(log_fd), running_(true)\n{\n    thread_ = std::thread([this]() { this->tee_loop(); });\n}\n\nTeeThread::~TeeThread()\n{\n    running_ = false;\n    if(thread_.joinable())\n    {\n        thread_.join();\n    }\n}\n\nvoid TeeThread::tee_loop()\n{\n    std::array<char, 4096> buffer;\n    while(running_)\n    {\n        const auto bytes_read = ::read(read_fd_, buffer.data(), buffer.size());\n        if(bytes_read <= 0)\n        {\n            if(bytes_read == 0 || errno != EINTR)\n            {\n                break; // EOF or error\n            }\n            continue;\n        }\n\n        // Write to console\n        [[maybe_unused]] auto console_written = ::write(console_fd_, buffer.data(), bytes_read);\n\n        // Write to log file\n        [[maybe_unused]] auto log_written = ::write(log_fd_, buffer.data(), bytes_read);\n    }\n}\n\n// ============================================================================\n// MPI Initialization\n// ============================================================================\n\nMPIContext initializeMPI(int* argc, char*** argv)\n{\n    MPIContext ctx;\n\n    // Initialize MPI with thread support\n    MPI_Init_thread(argc, argv, MPI_THREAD_MULTIPLE, &ctx.thread_support);\n    MPI_Comm_rank(MPI_COMM_WORLD, &ctx.world_rank);\n    MPI_Comm_size(MPI_COMM_WORLD, &ctx.world_size);\n\n    // Update global environment\n    MPIEnvironment::world_rank      = ctx.world_rank;\n    MPIEnvironment::world_size      = ctx.world_size;\n    MPIEnvironment::mpi_initialized = true;\n\n    return ctx;\n}\n\n// ============================================================================\n// GPU Setup\n// ============================================================================\n\nvoid setupGPU(int world_rank)\n{\n    int device_count = 0;\n    hipGetDeviceCount(&device_count);\n\n    if(device_count > 0)\n    {\n        // Use MPI_COMM_TYPE_SHARED to detect local ranks on same node\n        MPI_Comm node_comm;\n        MPI_Comm_split_type(MPI_COMM_WORLD, MPI_COMM_TYPE_SHARED, 0, MPI_INFO_NULL, &node_comm);\n\n        int local_rank, local_size;\n        MPI_Comm_rank(node_comm, &local_rank);\n        MPI_Comm_size(node_comm, &local_size);\n\n        // Cache multi-node detection result for isMultiNodeTest()\n        int world_size;\n        MPI_Comm_size(MPI_COMM_WORLD, &world_size);\n        MPIEnvironment::cached_multi_node_result = (local_size < world_size) ? 1 : 0;\n\n        // Assign GPU in round-robin fashion\n        int device_id = local_rank % device_count;\n        hipSetDevice(device_id);\n\n        MPI_Comm_free(&node_comm);\n    }\n}\n\n// ============================================================================\n// Per-Rank Logging\n// ============================================================================\n\nstd::optional<RankLogConfig> setupRankLogging(int rank)\n{\n    const auto* env_value                = std::getenv(\"RCCL_MPI_LOG_ALL_RANKS\");\n    const bool  per_rank_logging_enabled = (env_value && std::string(env_value) == \"1\");\n\n    RankLogConfig config;\n    config.logging_enabled = per_rank_logging_enabled;\n    config.is_rank_zero    = (rank == 0);\n\n    // Non-zero ranks: Always redirect output (either to log file or /dev/null)\n    if(rank != 0)\n    {\n        // Save original stdout/stderr\n        config.saved_stdout = FileDescriptor{::dup(STDOUT_FILENO)};\n        config.saved_stderr = FileDescriptor{::dup(STDERR_FILENO)};\n\n        if(!config.saved_stdout->is_valid() || !config.saved_stderr->is_valid())\n        {\n            TEST_WARN(\"Rank %d: Failed to duplicate stdout/stderr\", rank);\n            return std::nullopt;\n        }\n\n        if(per_rank_logging_enabled)\n        {\n            // Per-rank logging enabled: Redirect to log file\n            const auto log_filename\n                = std::string{\"rccl_test_rank_\"} + std::to_string(rank) + \".log\";\n\n            const auto log_fd = ::open(log_filename.c_str(), O_WRONLY | O_CREAT | O_TRUNC, 0644);\n\n            if(log_fd < 0)\n            {\n                TEST_WARN(\"Rank %d: Failed to create log file: %s\", rank, log_filename.c_str());\n                return std::nullopt;\n            }\n\n            config.log_fd = FileDescriptor{log_fd};\n\n            // Redirect stdout/stderr to log file\n            if(::dup2(log_fd, STDOUT_FILENO) < 0 || ::dup2(log_fd, STDERR_FILENO) < 0)\n            {\n                TEST_WARN(\"Rank %d: Failed to redirect to log file\", rank);\n                return std::nullopt;\n            }\n\n            // Debug: Write initial marker to log file (AFTER redirection)\n            TEST_INFO(\"===== LOG FILE FOR RANK %d =====\", rank);\n        }\n        else\n        {\n            // Default: Suppress all output by redirecting to /dev/null\n            const auto null_fd = ::open(\"/dev/null\", O_WRONLY);\n            if(null_fd < 0)\n            {\n                TEST_WARN(\"Rank %d: Failed to open /dev/null\", rank);\n                return std::nullopt;\n            }\n\n            // Redirect stdout/stderr to /dev/null\n            if(::dup2(null_fd, STDOUT_FILENO) < 0 || ::dup2(null_fd, STDERR_FILENO) < 0)\n            {\n                TEST_WARN(\"Rank %d: Failed to redirect to /dev/null\", rank);\n                ::close(null_fd);\n                return std::nullopt;\n            }\n\n            ::close(null_fd);\n        }\n\n        // Disable buffering for immediate output\n        std::setvbuf(stdout, nullptr, _IONBF, 0);\n        std::setvbuf(stderr, nullptr, _IONBF, 0);\n\n        return config;\n    }\n\n    // Rank 0: Only redirect if per-rank logging is enabled (for tee functionality)\n    if(!per_rank_logging_enabled)\n    {\n        return std::nullopt; // Rank 0 outputs to console normally\n    }\n\n    // Create log file for rank 0\n    const auto log_filename = std::string{\"rccl_test_rank_\"} + std::to_string(rank) + \".log\";\n\n    // Debug: Print to stderr BEFORE creating log file\n    TEST_TRACE(\"Rank %d (rank 0 tee mode) opening log file: %s\", rank, log_filename.c_str());\n\n    const auto log_fd = ::open(log_filename.c_str(), O_WRONLY | O_CREAT | O_TRUNC, 0644);\n\n    if(log_fd < 0)\n    {\n        TEST_WARN(\"Rank %d: Failed to create log file: %s\", rank, log_filename.c_str());\n        return std::nullopt;\n    }\n\n    config.log_fd = FileDescriptor{log_fd};\n\n    // Debug: Write initial marker directly to log file (BEFORE redirection)\n    const char*           marker  = \"===== LOG FILE FOR RANK 0 (TEE MODE) =====\\n\";\n    [[maybe_unused]] auto written = ::write(log_fd, marker, std::strlen(marker));\n\n    // Rank 0 with per-rank logging: Output to BOTH console AND log file (tee behavior)\n    // Print banner before redirection\n    TEST_INFO(\"Per-Rank Logging ENABLED (RCCL_MPI_LOG_ALL_RANKS=1)\");\n    TEST_INFO(\"Rank 0     : Output to BOTH console AND %s\", log_filename.c_str());\n    TEST_INFO(\"Ranks 1-N  : Output redirected to rccl_test_rank_<N>.log\");\n    TEST_INFO(\"Location   : Log files created in current working directory\");\n\n    // Save original stdout/stderr for tee thread\n    config.saved_stdout = FileDescriptor{::dup(STDOUT_FILENO)};\n    config.saved_stderr = FileDescriptor{::dup(STDERR_FILENO)};\n\n    if(!config.saved_stdout->is_valid() || !config.saved_stderr->is_valid())\n    {\n        TEST_WARN(\"Rank %d: Failed to duplicate stdout/stderr\", rank);\n        return std::nullopt;\n    }\n\n    // Create pipes for tee functionality\n    int pipe_fds[2];\n    if(::pipe(pipe_fds) < 0)\n    {\n        TEST_WARN(\"Rank %d: Failed to create pipe\", rank);\n        return std::nullopt;\n    }\n\n    config.pipe_read_fd  = FileDescriptor{pipe_fds[0]};\n    config.pipe_write_fd = FileDescriptor{pipe_fds[1]};\n\n    // Start tee thread to duplicate output to both console and log file\n    try\n    {\n        config.tee_thread = std::make_unique<TeeThread>(config.pipe_read_fd->get(),\n                                                        config.saved_stdout->get(),\n                                                        log_fd);\n    }\n    catch(const std::exception& e)\n    {\n        TEST_WARN(\"Rank %d: Failed to start tee thread: %s\", rank, e.what());\n        return std::nullopt;\n    }\n\n    // Redirect stdout/stderr to the pipe write end\n    if(::dup2(config.pipe_write_fd->get(), STDOUT_FILENO) < 0\n       || ::dup2(config.pipe_write_fd->get(), STDERR_FILENO) < 0)\n    {\n        TEST_WARN(\"Rank %d: Failed to redirect to pipe\", rank);\n        return std::nullopt;\n    }\n\n    // Disable buffering for immediate output\n    std::setvbuf(stdout, nullptr, _IONBF, 0);\n    std::setvbuf(stderr, nullptr, _IONBF, 0);\n\n    return config;\n}\n\nvoid restoreRankLogging(RankLogConfig& config)\n{\n    // Only restore if we actually redirected (have saved stdout/stderr)\n    if(!config.saved_stdout || !config.saved_stdout->is_valid())\n    {\n        return;\n    }\n\n    // Flush any pending output\n    std::fflush(stdout);\n    std::fflush(stderr);\n\n    // CRITICAL: Restore stdout/stderr BEFORE closing pipe\n    // The tee thread won't get EOF until ALL write ends are closed\n    if(config.saved_stdout && config.saved_stdout->is_valid())\n    {\n        ::dup2(config.saved_stdout->get(), STDOUT_FILENO);\n    }\n\n    if(config.saved_stderr && config.saved_stderr->is_valid())\n    {\n        ::dup2(config.saved_stderr->get(), STDERR_FILENO);\n    }\n\n    if(config.is_rank_zero && config.tee_thread)\n    {\n        // For rank 0 with per-rank logging: Stop the tee thread\n        // Close the pipe write end to signal EOF to the tee thread\n        config.pipe_write_fd.reset();\n\n        // Wait for tee thread to finish processing\n        config.tee_thread.reset();\n\n        // Close pipe read end\n        config.pipe_read_fd.reset();\n    }\n}\n\n} // namespace MPIHelpers\n\n#endif // MPI_TESTS_ENABLED\n"
  },
  {
    "path": "test/common/MPIHelpers.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n/**\n * @file MPIHelpers.hpp\n * @brief Shared MPI utility functions for both GTest and standalone tests\n *\n * Provides common functionality for MPI test initialization, GPU setup,\n * and per-rank logging that can be used by both GTest-based tests and\n * standalone tests (performance benchmarks, etc.).\n */\n\n#ifndef MPI_HELPERS_HPP\n#define MPI_HELPERS_HPP\n\n#ifdef MPI_TESTS_ENABLED\n\n#include <array>\n#include <atomic>\n#include <memory>\n#include <optional>\n#include <string>\n#include <thread>\n\n/**\n * @namespace MPIHelpers\n * @brief Shared MPI utilities for test infrastructure\n */\nnamespace MPIHelpers\n{\n\n/**\n * @struct MPIContext\n * @brief MPI environment context information\n */\nstruct MPIContext\n{\n    int world_rank; ///< MPI rank in MPI_COMM_WORLD\n    int world_size; ///< Total number of MPI processes\n    int thread_support; ///< MPI thread support level provided\n};\n\n/**\n * @brief Initialize MPI with thread support\n *\n * Initializes MPI with MPI_THREAD_MULTIPLE support and returns context info.\n *\n * @param argc Pointer to argc from main()\n * @param argv Pointer to argv from main()\n * @return MPIContext with rank, size, and thread support info\n *\n * @note Must be called before any other MPI operations\n * @note Automatically sets MPIEnvironment static variables\n */\nMPIContext initializeMPI(int* argc, char*** argv);\n\n/**\n * @brief Setup GPU device for this MPI rank\n *\n * Assigns GPU device based on local rank (ranks on same node).\n * Uses MPI_COMM_TYPE_SHARED to detect node topology and assigns\n * GPUs in round-robin fashion.\n *\n * @param world_rank MPI rank in MPI_COMM_WORLD\n *\n * @note Handles multiple ranks per node automatically\n * @note Uses hipSetDevice() to assign GPU\n */\nvoid setupGPU(int world_rank);\n\n/**\n * @class FileDescriptor\n * @brief RAII wrapper for POSIX file descriptors\n *\n * Automatically closes file descriptor on destruction.\n * Move-only semantics prevent accidental duplication.\n */\nclass FileDescriptor\n{\npublic:\n    explicit FileDescriptor(int fd = -1) noexcept;\n    ~FileDescriptor();\n\n    // Move-only semantics\n    FileDescriptor(FileDescriptor&& other) noexcept;\n    FileDescriptor& operator=(FileDescriptor&& other) noexcept;\n\n    // Delete copy operations\n    FileDescriptor(const FileDescriptor&)            = delete;\n    FileDescriptor& operator=(const FileDescriptor&) = delete;\n\n    [[nodiscard]] int  get() const noexcept;\n    [[nodiscard]] bool is_valid() const noexcept;\n    int                release() noexcept;\n\nprivate:\n    int fd_;\n};\n\n/**\n * @class TeeThread\n * @brief Thread for duplicating output to console and log file\n *\n * Used by rank 0 when per-rank logging is enabled to send output\n * to both console and log file simultaneously.\n */\nclass TeeThread\n{\npublic:\n    TeeThread(int read_fd, int console_fd, int log_fd);\n    ~TeeThread();\n\n    // Delete copy/move operations\n    TeeThread(const TeeThread&)            = delete;\n    TeeThread& operator=(const TeeThread&) = delete;\n    TeeThread(TeeThread&&)                 = delete;\n    TeeThread& operator=(TeeThread&&)      = delete;\n\nprivate:\n    void tee_loop();\n\n    int               read_fd_;\n    int               console_fd_;\n    int               log_fd_;\n    std::atomic<bool> running_;\n    std::thread       thread_;\n};\n\n/**\n * @struct RankLogConfig\n * @brief Per-rank logging configuration and state\n *\n * Manages file descriptors and threads for per-rank logging when\n * RCCL_MPI_LOG_ALL_RANKS=1 environment variable is set.\n */\nstruct RankLogConfig\n{\n    std::optional<FileDescriptor> log_fd; ///< Log file descriptor\n    std::optional<FileDescriptor> saved_stdout; ///< Saved stdout for restoration\n    std::optional<FileDescriptor> saved_stderr; ///< Saved stderr for restoration\n    std::optional<FileDescriptor> pipe_read_fd; ///< Pipe read end (rank 0 only)\n    std::optional<FileDescriptor> pipe_write_fd; ///< Pipe write end (rank 0 only)\n    std::unique_ptr<TeeThread>    tee_thread; ///< Tee thread (rank 0 only)\n    bool                          logging_enabled{false}; ///< Is per-rank logging enabled?\n    bool                          is_rank_zero{false}; ///< Is this rank 0?\n};\n\n/**\n * @brief Setup per-rank logging if RCCL_MPI_LOG_ALL_RANKS=1\n *\n * Configures output redirection for MPI ranks:\n * - Rank 0: Output to BOTH console AND log file (tee behavior)\n * - Rank 1-N: Output redirected to rccl_test_rank_<N>.log\n *\n * If RCCL_MPI_LOG_ALL_RANKS is not set:\n * - Rank 0: Normal console output\n * - Rank 1-N: Output suppressed (redirected to /dev/null)\n *\n * @param rank MPI rank in MPI_COMM_WORLD\n * @return Optional RankLogConfig if logging was configured, std::nullopt otherwise\n *\n * @note Call before any test output\n * @note Must call restoreRankLogging() at end to cleanup\n */\nstd::optional<RankLogConfig> setupRankLogging(int rank);\n\n/**\n * @brief Restore original stdout/stderr after per-rank logging\n *\n * Cleans up per-rank logging configuration and restores original\n * stdout/stderr file descriptors.\n *\n * @param config RankLogConfig to cleanup\n *\n * @note Safe to call multiple times\n * @note Flushes pending output before restoration\n */\nvoid restoreRankLogging(RankLogConfig& config);\n\n} // namespace MPIHelpers\n\n#endif // MPI_TESTS_ENABLED\n\n#endif // MPI_HELPERS_HPP\n"
  },
  {
    "path": "test/common/MPIStandaloneTest.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n/**\n * @file MPIStandaloneTest.hpp\n * @brief Standalone (non-GTest) adapter for MPI tests\n *\n * Provides infrastructure for writing standalone MPI tests without Google Test.\n * Ideal for performance benchmarks, low-level API tests, and production utilities.\n *\n * @see MPITestCore for the base framework-agnostic functionality\n * @see MPITestBase for GTest integration\n */\n\n#ifndef MPI_STANDALONE_TEST_HPP\n#define MPI_STANDALONE_TEST_HPP\n\n#include \"MPITestCore.hpp\"\n\n#ifdef MPI_TESTS_ENABLED\n\n/**\n * @class MPIStandaloneTest\n * @brief Standalone test adapter for MPI tests (no GTest dependency)\n *\n * Provides a simple base class for standalone MPI tests that don't require\n * Google Test framework. Useful for:\n * - Performance benchmarks (bandwidth, latency)\n * - Low-level API testing\n * - Production utilities\n * - Custom test harnesses\n *\n * **Key Features:**\n * - No GTest dependency\n * - Simple run() interface\n * - Automatic resource cleanup via RAII\n * - Same validation and setup as GTest tests\n * - Return code-based error reporting\n *\n * **Usage Pattern:**\n * @code\n * class MyBandwidthTest : public MPIStandaloneTest {\n * public:\n *     int run() override {\n *         // Validate prerequisites\n *         if (!validateTestPrerequisites(2)) {\n *             if (MPIEnvironment::world_rank == 0) {\n *                 printf(\"SKIP: Need at least 2 processes\\n\");\n *             }\n *             return 0; // Skip (not an error)\n *         }\n *\n *         // Setup communicator\n *         if (createTestCommunicator() != ncclSuccess) {\n *             if (MPIEnvironment::world_rank == 0) {\n *                 fprintf(stderr, \"ERROR: Failed to create communicator\\n\");\n *             }\n *             return 1; // Error\n *         }\n *\n *         // Run test logic\n *         ncclComm_t comm = getActiveCommunicator();\n *         hipStream_t stream = getActiveStream();\n *\n *         // Your test code here...\n *\n *         return 0; // Success\n *     }\n * };\n *\n * int main(int argc, char** argv) {\n *     MPI_Init(&argc, &argv);\n *\n *     MyBandwidthTest test;\n *     int result = test.run();\n *     test.cleanup(); // Explicit cleanup\n *\n *     MPI_Finalize();\n *     return result;\n * }\n * @endcode\n *\n * **RAII Wrapper Alternative:**\n * @code\n * int main(int argc, char** argv) {\n *     MPI_Init(&argc, &argv);\n *\n *     int result = 0;\n *     {\n *         MPIStandaloneTestRAII test;\n *         MyBandwidthTest bandwidth_test;\n *         result = bandwidth_test.run();\n *         // Automatic cleanup when test goes out of scope\n *     }\n *\n *     MPI_Finalize();\n *     return result;\n * }\n * @endcode\n *\n * @note For GTest-based tests, use MPITestBase instead\n */\nclass MPIStandaloneTest : public MPITestCore\n{\npublic:\n    /**\n   * @brief Virtual destructor for proper cleanup\n   */\n    virtual ~MPIStandaloneTest() = default;\n\n    /**\n   * @brief Main test execution method - override this\n   *\n   * Override this method to implement your test logic.\n   *\n   * @return 0 for success/skip, non-zero for error\n   *\n   * @par Return Codes:\n   * - 0: Success or test skipped (validation failed)\n   * - 1: Generic error\n   * - Other: Custom error codes\n   */\n    virtual int run() = 0;\n\n    /**\n   * @brief Explicit cleanup method\n   *\n   * Call this after run() completes to ensure proper resource cleanup.\n   * Alternatively, use MPIStandaloneTestRAII for automatic cleanup.\n   */\n    void cleanup()\n    {\n        cleanupTestCommunicator();\n    }\n\n    /**\n   * @brief Setup hook (optional)\n   *\n   * Override this to perform custom setup before run().\n   * Default implementation does nothing.\n   */\n    void setUp() override\n    {\n        SetUp();\n    }\n\n    /**\n   * @brief Teardown hook (optional)\n   *\n   * Override this to perform custom cleanup after run().\n   * Default implementation calls cleanupTestCommunicator().\n   */\n    void tearDown() override\n    {\n        TearDown();\n    }\n};\n\n/**\n * @class MPIStandaloneTestRAII\n * @brief RAII wrapper for automatic MPIStandaloneTest cleanup\n *\n * Provides scope-based automatic cleanup for MPIStandaloneTest.\n * Useful for ensuring cleanup even with early returns or exceptions.\n *\n * @par Example:\n * @code\n * int main(int argc, char** argv) {\n *     MPI_Init(&argc, &argv);\n *\n *     int result = 0;\n *     {\n *         MPIStandaloneTestRAII raii_wrapper;\n *         MyTest test;\n *         result = test.run();\n *         // Automatic cleanup when raii_wrapper goes out of scope\n *     }\n *\n *     MPI_Finalize();\n *     return result;\n * }\n * @endcode\n */\nclass MPIStandaloneTestRAII\n{\nprivate:\n    MPIStandaloneTest* test_ = nullptr;\n\npublic:\n    /**\n   * @brief Constructor - registers test for cleanup\n   * @param test Pointer to test instance (optional)\n   */\n    explicit MPIStandaloneTestRAII(MPIStandaloneTest* test = nullptr) : test_(test) {}\n\n    /**\n   * @brief Destructor - performs automatic cleanup\n   */\n    ~MPIStandaloneTestRAII()\n    {\n        if(test_)\n        {\n            test_->cleanup();\n        }\n    }\n\n    /**\n   * @brief Set test instance to manage\n   * @param test Pointer to test instance\n   */\n    void setTest(MPIStandaloneTest* test)\n    {\n        test_ = test;\n    }\n\n    // Delete copy constructor and assignment operator\n    MPIStandaloneTestRAII(const MPIStandaloneTestRAII&)            = delete;\n    MPIStandaloneTestRAII& operator=(const MPIStandaloneTestRAII&) = delete;\n};\n\n#endif // MPI_TESTS_ENABLED\n\n#endif // MPI_STANDALONE_TEST_HPP\n"
  },
  {
    "path": "test/common/MPITestBase.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n/**\n * @file MPITestBase.hpp\n * @brief Base class infrastructure for MPI-based RCCL testing\n *\n * Provides a common test base class for writing multi-process distributed tests\n * using MPI and RCCL. Handles communicator creation, process validation, and\n * resource cleanup automatically.\n *\n * @see MPITestBase for the main base class\n * @see MPIEnvironment for global MPI setup\n */\n\n#ifndef MPI_TEST_BASE_HPP\n#define MPI_TEST_BASE_HPP\n\n#include \"MPITestCore.hpp\"\n#include \"gtest/gtest.h\"\n\n#ifdef MPI_TESTS_ENABLED\n#include \"MPIEnvironment.hpp\"\n#include \"TestChecks.hpp\"\n#include \"rccl/rccl.h\"\n#include \"utils.h\" // For getHostName() from RCCL\n#include <cstdio>\n#include <cstdlib>\n#include <cstring>\n#include <hip/hip_runtime.h>\n#include <mpi.h>\n#include <string>\n\n/**\n * @class MPITestBase\n * @brief Google Test adapter for MPI tests\n *\n * Integrates MPITestCore with Google Test framework for seamless MPI testing.\n * Inherits from both ::testing::Test (for GTest integration) and MPITestCore\n * (for MPI/RCCL functionality).\n *\n * **Features:**\n * - Process count validation (minimum processes, power-of-two requirements)\n * - Node count validation (single-node vs multi-node)\n * - Test-specific RCCL communicator creation and management\n * - HIP stream management for each test\n * - Automatic resource cleanup via GTest TearDown\n *\n * **Usage Example:**\n * @code\n * class MyMPITest : public MPITestBase {};\n *\n * TEST_F(MyMPITest, BasicAllReduce) {\n *   if (!validateTestPrerequisites(2)) {\n *     GTEST_SKIP() << \"Need at least 2 processes\";\n *   }\n *   ASSERT_EQ(ncclSuccess, createTestCommunicator());\n *\n *   ncclComm_t comm = getActiveCommunicator();\n *   hipStream_t stream = getActiveStream();\n *\n *   // Your test logic here...\n *   // Cleanup happens automatically in TearDown()\n * }\n * @endcode\n *\n * @note For standalone tests without GTest, use MPIStandaloneTest instead\n * @see MPITestCore for the base framework-agnostic functionality\n * @see MPIEnvironment for global MPI initialization\n */\n/**\n * @brief Google Test adapter for MPI tests\n *\n * Integrates MPITestCore with Google Test framework by inheriting from both\n * ::testing::Test and MPITestCore.\n *\n * @note For standalone tests (without GTest), use MPIStandaloneTest instead\n */\nclass MPITestBase\n    : public ::testing::Test\n    , public MPITestCore\n{\npublic:\n    /**\n   * @brief Google Test SetUp hook - initializes test resources\n   *\n   * Automatically called before each test runs. Calls initializeTest()\n   * from MPITestCore for any custom initialization.\n   *\n   * @note No ambiguity with MPITestCore::initializeTest() - different names\n   */\n    void SetUp() override\n    {\n        initializeTest();\n    }\n\n    /**\n   * @brief Google Test TearDown hook - ensures cleanup of test resources\n   *\n   * Automatically called after each test completes. Calls cleanupTest()\n   * from MPITestCore to ensure proper resource cleanup.\n   */\n    void TearDown() override\n    {\n        cleanupTest();\n    }\n};\n\n#endif // MPI_TESTS_ENABLED\n\n#endif // MPI_TEST_BASE_HPP\n"
  },
  {
    "path": "test/common/MPITestCore.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"MPITestCore.hpp\"\n\n#ifdef MPI_TESTS_ENABLED\n#include \"ResourceGuards.hpp\"\n#include <cstdlib>\n#include <string>\n\n// Import commonly used guards into local scope\nusing RCCLTestGuards::makeScopeGuard;\n\n// Detect the number of unique nodes\nint MPITestConstants::detectNodeCount()\n{\n    int world_rank = 0;\n    int world_size = 0;\n    MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);\n    MPI_Comm_size(MPI_COMM_WORLD, &world_size);\n\n    if(world_rank == 0)\n    {\n        TEST_INFO(\"=== MPI Process Distribution ===\");\n        TEST_INFO(\"Total processes: %d\", world_size);\n    }\n\n    // Special case: single process is always single node\n    if(world_size == 1)\n    {\n        if(world_rank == 0)\n        {\n            TEST_INFO(\"Detected nodes:  1\");\n            TEST_INFO(\"================================\");\n        }\n        return 1;\n    }\n\n    // Use MPI_COMM_TYPE_SHARED to split by node\n    MPI_Comm node_comm;\n    MPI_Comm_split_type(MPI_COMM_WORLD, MPI_COMM_TYPE_SHARED, 0, MPI_INFO_NULL, &node_comm);\n\n    int node_rank = 0;\n    int node_size = 0;\n    MPI_Comm_rank(node_comm, &node_rank);\n    MPI_Comm_size(node_comm, &node_size);\n\n    // Gather node sizes to rank 0\n    std::vector<int> all_node_sizes;\n    if(world_rank == 0)\n    {\n        all_node_sizes.resize(world_size);\n    }\n    MPI_Gather(&node_size, 1, MPI_INT, all_node_sizes.data(), 1, MPI_INT, 0, MPI_COMM_WORLD);\n\n    // Rank 0 analyzes distribution\n    int num_nodes = 0;\n    if(world_rank == 0)\n    {\n        std::vector<int> node_counts; // ranks per node\n        std::vector<int> node_first_rank; // first rank on each node\n\n        for(int r = 0; r < world_size; r++)\n        {\n            bool found = false;\n            for(size_t n = 0; n < node_counts.size(); n++)\n            {\n                // Same node if same node_size and rank is within that node\n                if(all_node_sizes[r] == all_node_sizes[node_first_rank[n]])\n                {\n                    // Check if this rank belongs to this node group\n                    int local_rank = r - node_first_rank[n];\n                    if(local_rank >= 0 && local_rank < node_counts[n])\n                    {\n                        found = true;\n                        break;\n                    }\n                }\n            }\n\n            if(!found)\n            {\n                node_first_rank.push_back(r);\n                node_counts.push_back(all_node_sizes[r]);\n            }\n        }\n\n        num_nodes = static_cast<int>(node_counts.size());\n\n        TEST_INFO(\"Detected nodes:  %d\", num_nodes);\n        TEST_INFO(\"\");\n\n        // Get hostnames for display\n        char hostname[MPI_MAX_PROCESSOR_NAME];\n        int  hostname_len;\n        MPI_Get_processor_name(hostname, &hostname_len);\n\n        for(size_t n = 0; n < node_counts.size(); n++)\n        {\n            int first_rank = node_first_rank[n];\n            TEST_INFO(\"Node %zu: %d rank(s) starting at rank %d\", n, node_counts[n], first_rank);\n\n            // Print ranks on this node - build string first for TEST_INFO\n            std::string ranks_str = \"  Ranks: \";\n            for(int r = first_rank; r < first_rank + node_counts[n]; r++)\n            {\n                ranks_str += std::to_string(r);\n                if(r < first_rank + node_counts[n] - 1)\n                    ranks_str += \", \";\n            }\n            TEST_INFO(\"%s\", ranks_str.c_str());\n        }\n        TEST_INFO(\"================================\");\n    }\n\n    // Broadcast node count to all ranks\n    MPI_Bcast(&num_nodes, 1, MPI_INT, 0, MPI_COMM_WORLD);\n\n    MPI_Comm_free(&node_comm);\n\n    return num_nodes;\n}\n\n// Validate test prerequisites\nbool MPITestCore::validateTestPrerequisites(\n    int min_processes, int max_processes, bool require_power_of_two, int min_nodes, int max_nodes)\n{\n    int world_rank = MPIEnvironment::world_rank;\n    int world_size = MPIEnvironment::world_size;\n\n    // Always detect nodes and display process distribution\n    // This provides valuable information for all tests\n    int actual_nodes = MPITestConstants::detectNodeCount();\n\n    bool validation_passed = true;\n\n    if(world_rank == 0)\n    {\n        TEST_INFO(\"=== Test Requirements ===\");\n        if(min_processes == max_processes)\n        {\n            TEST_INFO(\"Processes:         exactly %d\", min_processes);\n        }\n        else if(max_processes == MPITestConstants::kNoProcessLimit)\n        {\n            TEST_INFO(\"Processes:         at least %d\", min_processes);\n        }\n        else\n        {\n            TEST_INFO(\"Processes:         between %d and %d\", min_processes, max_processes);\n        }\n\n        if(require_power_of_two)\n        {\n            TEST_INFO(\"Power-of-two:      required\");\n        }\n\n        if(min_nodes > 1 || max_nodes > 0)\n        {\n            if(min_nodes == max_nodes)\n            {\n                TEST_INFO(\"Nodes:             exactly %d\", min_nodes);\n            }\n            else if(max_nodes == MPITestConstants::kNoNodeLimit)\n            {\n                TEST_INFO(\"Nodes:             at least %d\", min_nodes);\n            }\n            else\n            {\n                TEST_INFO(\"Nodes:             between %d and %d\", min_nodes, max_nodes);\n            }\n        }\n\n        TEST_INFO(\"\");\n        TEST_INFO(\"=== Current Environment ===\");\n        TEST_INFO(\"Processes:         %d\", world_size);\n        TEST_INFO(\"Nodes:             %d\", actual_nodes);\n        if(require_power_of_two)\n        {\n            TEST_INFO(\"Power-of-two:      %s\",\n                      MPITestConstants::isPowerOfTwo(world_size) ? \"yes\" : \"no\");\n        }\n        TEST_INFO(\"===========================\");\n        TEST_INFO(\"\");\n    }\n\n    // Validate process count\n    if(world_size < min_processes)\n    {\n        validation_passed = false;\n        if(world_rank == 0)\n        {\n            printf(\"Error: REQUIREMENT NOT MET: Need at least %d processes, got %d\\n\",\n                   min_processes,\n                   world_size);\n            printf(\"   For test details, set: NCCL_DEBUG=INFO\\n\");\n        }\n    }\n\n    if(max_processes != MPITestConstants::kNoProcessLimit && world_size > max_processes)\n    {\n        validation_passed = false;\n        if(world_rank == 0)\n        {\n            printf(\"Error: REQUIREMENT NOT MET: Need at most %d processes, got %d\\n\",\n                   max_processes,\n                   world_size);\n            printf(\"   For test details, set: NCCL_DEBUG=INFO\\n\");\n        }\n    }\n\n    if(require_power_of_two && !MPITestConstants::isPowerOfTwo(world_size))\n    {\n        validation_passed = false;\n        if(world_rank == 0)\n        {\n            printf(\"Error: REQUIREMENT NOT MET: Need power-of-two processes, got %d (not power of \"\n                   \"2)\\n\",\n                   world_size);\n            printf(\"   For test details, set: NCCL_DEBUG=INFO\\n\");\n        }\n    }\n\n    // Validate node count\n    if(min_nodes > 1 || max_nodes > 0)\n    {\n        if(actual_nodes < min_nodes)\n        {\n            validation_passed = false;\n            if(world_rank == 0)\n            {\n                printf(\"Error: REQUIREMENT NOT MET: Need at least %d node(s), detected %d nodes\\n\",\n                       min_nodes,\n                       actual_nodes);\n                printf(\"   For test details, set: NCCL_DEBUG=INFO\\n\");\n            }\n        }\n\n        if(max_nodes != MPITestConstants::kNoNodeLimit && actual_nodes > max_nodes)\n        {\n            validation_passed = false;\n            if(world_rank == 0)\n            {\n                printf(\"Error: REQUIREMENT NOT MET: Need at most %d node(s), detected %d nodes\\n\",\n                       max_nodes,\n                       actual_nodes);\n                printf(\"   For test details, set: NCCL_DEBUG=INFO\\n\");\n                if(max_nodes == 1)\n                {\n                    printf(\"   This test requires single-node execution\\n\");\n                    printf(\"   To run on single node, allocate all processes on the same host\\n\");\n                }\n            }\n        }\n    }\n\n    if(world_rank == 0)\n    {\n        if(validation_passed)\n        {\n            TEST_INFO(\"All requirements met - test will run\");\n        }\n        else\n        {\n            TEST_INFO(\"===========================\");\n            TEST_INFO(\"\");\n        }\n    }\n\n    return validation_passed;\n}\n\n// Create test communicator\nncclResult_t MPITestCore::createTestCommunicator()\n{\n    int world_rank = MPIEnvironment::world_rank;\n    int world_size = MPIEnvironment::world_size;\n\n    if(world_rank == 0)\n    {\n        TEST_INFO(\"Creating test-specific communicator\");\n    }\n\n    // Rank 0 generates unique ID\n    if(world_rank == 0)\n    {\n        RCCL_TEST_CHECK(ncclGetUniqueId(&nccl_id_));\n    }\n\n    // Broadcast ID to all ranks\n    MPI_Bcast(&nccl_id_, sizeof(ncclUniqueId), MPI_BYTE, 0, MPI_COMM_WORLD);\n\n    // Initialize NCCL communicator with automatic cleanup on error\n    RCCL_TEST_CHECK(ncclGroupStart());\n\n    // RAII guard: Automatically calls ncclGroupEnd() if subsequent operations fail\n    auto group_guard = makeScopeGuard([]() { (void)ncclGroupEnd(); });\n\n    RCCL_TEST_CHECK(ncclCommInitRank(&test_comm_, world_size, nccl_id_, world_rank));\n\n    // RAII guard: Automatically destroys test_comm_ if subsequent operations fail\n    auto comm_guard = makeScopeGuard(\n        [this]()\n        {\n            if(test_comm_)\n            {\n                (void)ncclCommDestroy(test_comm_);\n                test_comm_ = nullptr;\n            }\n        });\n\n    RCCL_TEST_CHECK(ncclGroupEnd());\n    group_guard.dismiss(); // ncclGroupEnd succeeded, don't call it again\n\n    // Create HIP stream - if this fails, comm_guard automatically cleans up test_comm_\n    HIP_TEST_CHECK(hipStreamCreate(&test_stream_));\n\n    // RAII guard: Automatically destroys test_stream_ if subsequent operations fail\n    auto stream_guard = makeScopeGuard(\n        [this]()\n        {\n            if(test_stream_)\n            {\n                (void)hipStreamDestroy(test_stream_);\n                test_stream_ = nullptr;\n            }\n        });\n\n    MPI_Barrier(MPI_COMM_WORLD);\n\n    if(world_rank == 0)\n    {\n        TEST_INFO(\"Test-specific communicator created successfully\");\n    }\n\n    // Success! Dismiss guards so resources aren't destroyed\n    comm_guard.dismiss();\n    stream_guard.dismiss();\n\n    return ncclSuccess;\n}\n\n// Get active communicator\nncclComm_t MPITestCore::getActiveCommunicator()\n{\n    return test_comm_;\n}\n\n// Get active stream\nhipStream_t MPITestCore::getActiveStream()\n{\n    return test_stream_;\n}\n\n// Cleanup test communicator\nncclResult_t MPITestCore::cleanupTestCommunicator()\n{\n    if(!test_comm_ && !test_stream_)\n    {\n        return ncclSuccess; // Already cleaned up or never created\n    }\n\n    int world_rank = MPIEnvironment::world_rank;\n\n    MPI_Barrier(MPI_COMM_WORLD);\n\n    // RAII guard: Ensure test_comm_ is destroyed even if stream cleanup fails\n    auto comm_guard = makeScopeGuard(\n        [this, world_rank]()\n        {\n            if(test_comm_)\n            {\n                ncclResult_t result = ncclCommDestroy(test_comm_);\n                if(result != ncclSuccess)\n                {\n                    TEST_WARN(\"Rank %d: ncclCommDestroy failed during cleanup: %s\",\n                              world_rank,\n                              ncclGetErrorString(result));\n                }\n                test_comm_ = nullptr;\n            }\n        });\n\n    // RAII guard: Ensure test_stream_ is destroyed\n    auto stream_guard = makeScopeGuard(\n        [this, world_rank]()\n        {\n            if(test_stream_)\n            {\n                hipError_t hip_result = hipStreamDestroy(test_stream_);\n                if(hip_result != hipSuccess)\n                {\n                    TEST_WARN(\"Rank %d: hipStreamDestroy failed during cleanup: %s\",\n                              world_rank,\n                              hipGetErrorString(hip_result));\n                }\n                test_stream_ = nullptr;\n            }\n        });\n\n    // Guards will automatically clean up when going out of scope\n    // Even if an exception were thrown (though we don't use exceptions)\n\n    MPI_Barrier(MPI_COMM_WORLD);\n\n    return ncclSuccess;\n}\n\n#endif // MPI_TESTS_ENABLED\n"
  },
  {
    "path": "test/common/MPITestCore.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n/**\n * @file MPITestCore.hpp\n * @brief Framework-agnostic MPI test infrastructure\n *\n * Provides core MPI test functionality independent of any testing framework.\n * Can be used with Google Test, standalone tests, performance benchmarks, etc.\n *\n * @see MPITestBase for GTest integration\n * @see MPIStandaloneTest for standalone usage\n */\n\n#ifndef MPI_TEST_CORE_HPP\n#define MPI_TEST_CORE_HPP\n\n#ifdef MPI_TESTS_ENABLED\n#include \"MPIEnvironment.hpp\"\n#include \"rccl/rccl.h\"\n#include \"utils.h\" // For getHostName() from RCCL\n#include <cstdio>\n#include <cstdlib>\n#include <cstring>\n#include <hip/hip_runtime.h>\n#include <mpi.h>\n#include <string>\n\n/**\n * @namespace MPITestConstants\n * @brief Constants and helper functions for MPI test configuration\n */\nnamespace MPITestConstants\n{\n/**\n     * @brief Minimum number of processes typically required for MPI tests\n     */\nconstexpr int kMinProcessesForMPI = 2;\n\n/**\n     * @brief Flag to indicate power-of-two process count is required\n     */\nconstexpr bool kRequirePowerOfTwo = true;\n\n/**\n     * @brief Flag to indicate power-of-two process count is not required\n     */\nconstexpr bool kNoPowerOfTwoRequired = false;\n\n/**\n     * @brief Value indicating no upper limit on process count\n     */\nconstexpr int kNoProcessLimit = 0;\n\n/**\n     * @brief Value indicating single-node only execution required\n     */\nconstexpr int kRequireSingleNode = 1;\n\n/**\n     * @brief Value indicating no node limit (multi-node capable)\n     */\nconstexpr int kNoNodeLimit = 0;\n\n/**\n     * @brief Check if a number is a power of two\n     * @param n The number to check\n     * @return true if n is a power of two, false otherwise\n     */\ninline bool isPowerOfTwo(int n)\n{\n    return n > 0 && (n & (n - 1)) == 0;\n}\n\n/**\n     * @brief Detect the number of unique nodes in the MPI configuration\n     * @return Number of unique nodes\n     */\nint detectNodeCount();\n\n} // namespace MPITestConstants\n\n/**\n * @class MPITestCore\n * @brief Framework-agnostic base class for MPI tests\n *\n * Provides core MPI test infrastructure without dependency on any testing framework.\n * Supports both GTest-based tests (via MPITestBase) and standalone tests.\n *\n * **Key Features:**\n * - Framework-agnostic design\n * - Automatic RCCL communicator management\n * - Process and node count validation\n * - HIP stream lifecycle management\n * - Clean resource cleanup\n *\n * **Usage:**\n * - For GTest: Use MPITestBase (inherits from MPITestCore)\n * - For Standalone: Use MPIStandaloneTest (inherits from MPITestCore)\n * - For Custom: Inherit from MPITestCore directly\n *\n * @par Example (Standalone):\n * @code\n * class MyPerfTest : public MPITestCore {\n * public:\n *     int run() {\n *         if (!validateTestPrerequisites(2)) {\n *             return 1; // Skip\n *         }\n *         if (createTestCommunicator() != ncclSuccess) {\n *             return 1; // Error\n *         }\n *         // Test logic...\n *         return 0; // Success\n *     }\n * };\n * @endcode\n */\nclass MPITestCore\n{\nprotected:\n    /**\n   * @brief Test-specific NCCL communicator handle\n   *\n   * Created by createTestCommunicator(), destroyed in cleanup.\n   * Access via getActiveCommunicator().\n   */\n    ncclComm_t test_comm_ = nullptr;\n\n    /**\n   * @brief Test-specific HIP stream handle\n   *\n   * Created with the communicator, destroyed in cleanup.\n   * Access via getActiveStream().\n   */\n    hipStream_t test_stream_ = nullptr;\n\n    /**\n   * @brief NCCL unique ID for communicator initialization\n   *\n   * Generated on rank 0 and broadcast to all ranks.\n   */\n    ncclUniqueId nccl_id_ = {};\n\npublic:\n    /**\n   * @brief Virtual destructor for proper cleanup\n   */\n    virtual ~MPITestCore() = default;\n\n    /**\n   * @brief Validate test prerequisites (process count, node count)\n   *\n   * Checks if the current MPI environment meets the test's requirements.\n   * Displays what the test requires and whether the environment satisfies those requirements.\n   * Returns true if all requirements met, false otherwise.\n   *\n   * Parameters are organized by category:\n   * - Process requirements: min_processes, max_processes, require_power_of_two\n   * - Node requirements: min_nodes, max_nodes\n   *\n   * @param min_processes Minimum number of MPI processes required (default: 1)\n   * @param max_processes Maximum number of MPI processes allowed (0 = no limit) (default: 0)\n   * @param require_power_of_two If true, world size must be a power of 2 (default: false)\n   * @param min_nodes Minimum number of nodes required (default: 1)\n   * @param max_nodes Maximum number of nodes allowed (0 = no limit) (default: 0)\n   *\n   * @return true if all requirements are met, false otherwise\n   */\n    bool validateTestPrerequisites(int  min_processes        = 1,\n                                   int  max_processes        = MPITestConstants::kNoProcessLimit,\n                                   bool require_power_of_two = false,\n                                   int  min_nodes            = 1,\n                                   int  max_nodes            = MPITestConstants::kNoNodeLimit);\n\n    /**\n   * @brief Create a test-specific RCCL communicator and HIP stream\n   *\n   * Creates isolated RCCL communicator and HIP stream for this test.\n   * Uses ncclGroupStart/End for proper initialization and MPI barriers\n   * for synchronization across all ranks.\n   *\n   * @return ncclSuccess on success, or NCCL error code on failure\n   *\n   * @note This function is idempotent - calling it multiple times is safe\n   * @note Communicator is automatically destroyed in cleanup\n   */\n    virtual ncclResult_t createTestCommunicator();\n\n    /**\n   * @brief Get the active NCCL communicator for this test\n   *\n   * Returns the test-specific communicator. Returns nullptr if createTestCommunicator()\n   * has not been called first.\n   *\n   * @return The active NCCL communicator handle, or nullptr if not created\n   *\n   * @note Always call createTestCommunicator() before this method\n   */\n    virtual ncclComm_t getActiveCommunicator();\n\n    /**\n   * @brief Get the active HIP stream for this test\n   *\n   * Returns the test-specific HIP stream. Returns nullptr if createTestCommunicator()\n   * has not been called first.\n   *\n   * @return The active HIP stream handle, or nullptr if not created\n   *\n   * @note Always call createTestCommunicator() before this method\n   */\n    virtual hipStream_t getActiveStream();\n\n    /**\n   * @brief Cleanup test-specific NCCL communicator and HIP stream\n   *\n   * Destroys the test communicator and stream with proper MPI synchronization.\n   * Safe to call multiple times or if resources were never created.\n   *\n   * @return ncclResult_t - ncclSuccess on success, error code on failure\n   *                        Returns ncclUnhandledCudaError if HIP cleanup fails\n   *\n   * @note For GTest: This is automatically called by cleanupTest()\n   * @note For Standalone: Call this explicitly or use RAII wrapper\n   * @note Errors are logged but cleanup continues for all resources\n   */\n    virtual ncclResult_t cleanupTestCommunicator();\n\n    /**\n   * @brief Initialize test resources before test execution\n   *\n   * Override this to perform custom initialization. Default implementation does nothing.\n   * This method is framework-agnostic and not tied to GTest's lifecycle.\n   * For standalone tests, call this explicitly if needed.\n   */\n    virtual void initializeTest() {}\n\n    /**\n   * @brief Cleanup test resources after test execution\n   *\n   * Override this to perform custom cleanup. Default implementation calls\n   * cleanupTestCommunicator() to destroy NCCL communicator and HIP stream.\n   * This method is framework-agnostic and not tied to GTest's lifecycle.\n   * For standalone tests, call this explicitly if needed.\n   *\n   * @note For GTest tests: Errors are logged but don't fail the test (cleanup phase)\n   * @note For standalone tests: Check return value and handle errors appropriately\n   */\n    virtual void cleanupTest()\n    {\n        (void)cleanupTestCommunicator();\n    }\n};\n\n#endif // MPI_TESTS_ENABLED\n\n#endif // MPI_TEST_CORE_HPP\n"
  },
  {
    "path": "test/common/MPITestRunner.md",
    "content": "# MPI Test Runner (Google Test)\n\nA simple C++ testing framework for multi-process RCCL tests using MPI (Message Passing Interface) and **Google Test**.\n\n> **📝 Note:** This guide mostly covers **Google Test-based** MPI testing. For standalone tests refer to [Standalone Tests](#standalone-tests).\n\n## Table of Contents\n- [Overview](#overview)\n- [Why Use MPI Testing?](#why-use-mpi-testing)\n- [Quick Start](#quick-start)\n- [Core Concepts](#core-concepts)\n- [Per-Rank Logging](#per-rank-logging)\n- [API Reference](#api-reference)\n- [Examples](#examples)\n- [Best Practices](#best-practices)\n- [RAII Resource Guards](#raii-resource-guards)\n- [Device Buffer Helpers](#device-buffer-helpers)\n- [Troubleshooting](#troubleshooting)\n- [Standalone Tests](#standalone-tests)\n\n---\n\n## Overview\n\n`MPITestBase` is a Google Test adapter for writing multi-process tests that verify RCCL features across multiple GPUs. It provides infrastructure for MPI-based distributed testing.\n\n**Key Features:**\n- ✅ Multi-process testing with MPI\n- ✅ Automatic RCCL communicator management\n- ✅ Process count validation (minimum processes, power-of-two requirements)\n- ✅ Node count validation (single-node vs multi-node constraints)\n- ✅ HIP stream lifecycle management\n- ✅ Integrated with Google Test framework\n- ✅ Test-specific communicators for isolation\n- ✅ RAII guards for automatic resource cleanup\n- ✅ Pluggable buffer helpers with lambda patterns\n- ✅ Framework-agnostic core (can be used without GTest)\n\n**Locations:**\n- `test/common/MPITestBase.hpp` - Main test infrastructure\n- `test/common/ResourceGuards.hpp` - RAII guards\n- `test/common/DeviceBufferHelpers.hpp` - Buffer utilities\n\n---\n\n## Why Use MPI Testing?\n\n### Problem: Single-Process Testing is Insufficient\n\nRCCL (ROCm Communication Collectives Library) is designed for **multi-GPU, multi-node** communication. Testing these features requires:\n\n1. **Multiple Processes** - Each GPU/rank runs in its own process\n2. **Distributed Coordination** - Synchronization across processes\n3. **Real Communication** - Actual data transfer between GPUs\n4. **Collective Operations** - AllReduce, Broadcast, etc. require all ranks\n\n**Example: Testing AllReduce**\n\n```cpp\n// ❌ CANNOT meaningfully test this with single process\nvoid testAllReduce() {\n  // AllReduce requires ALL ranks to participate\n  ncclAllReduce(send, recv, count, ncclFloat, ncclSum, comm, stream);\n\n  // You need multiple processes to test actual collective behavior!\n}\n```\n\n**With MPI Testing:**\n```cpp\n// ✅ CAN test with multiple MPI processes\nTEST_F(MyMPITest, AllReduce) {\n  // Rank 0: sends value 1.0\n  // Rank 1: sends value 2.0\n  // Rank 2: sends value 3.0\n  // All ranks receive: 6.0 (sum)\n\n  ncclAllReduce(send, recv, count, ncclFloat, ncclSum, comm, stream);\n\n  // Each rank can verify the result\n  EXPECT_EQ(result, 6.0f);\n}\n```\n\n### Common Use Cases\n\n1. **Collective Operations** - AllReduce, Broadcast, AllGather, ReduceScatter\n2. **Point-to-Point Communication** - Send/Recv between specific ranks\n3. **Transport Layer Testing** - P2P, SHM (shared memory), NET (network) transports\n4. **Multi-Node Scenarios** - Cross-node communication\n5. **Scalability Testing** - Behavior with different numbers of processes\n\n---\n\n## Quick Start\n\n### Prerequisites\n\n1. **MPI Implementation** - OpenMPI, MPICH, or similar\n2. **Multiple GPUs** - At least 2 GPUs for most tests\n3. **Build with MPI Support** - `MPI_TESTS_ENABLED` must be defined\n\n### Basic Example\n\n```cpp\n#include \"MPITestBase.hpp\"\n#include \"ResourceGuards.hpp\"\n\n// Import constants and guards\nusing namespace MPITestConstants;\nusing namespace RCCLTestGuards;\n\nclass MyMPITest : public MPITestBase {\nprotected:\n  void SetUp() override {\n    // Optional: Add custom setup\n  }\n};\n\nTEST_F(MyMPITest, BasicAllReduce) {\n  // Validate we have enough processes (uses defaults for other parameters)\n  ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI));  // min=2, no max, any nodes\n\n  // Create test-specific communicator\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  const int N = 1024;\n  float* d_send = nullptr;\n  float* d_recv = nullptr;\n\n  // Allocate GPU memory with RAII guards for automatic cleanup\n  HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&d_send, N * sizeof(float)));\n  auto send_guard = makeDeviceBufferAutoGuard(d_send);\n\n  HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&d_recv, N * sizeof(float)));\n  auto recv_guard = makeDeviceBufferAutoGuard(d_recv);\n\n  // Initialize with rank-specific data\n  float value = MPIEnvironment::world_rank + 1.0f;\n  HIP_TEST_CHECK_GTEST_FAIL(hipMemset(d_send, value, N * sizeof(float)));\n\n  // Perform AllReduce\n  RCCL_TEST_CHECK_GTEST_FAIL(ncclAllReduce(\n      d_send, d_recv, N, ncclFloat, ncclSum,\n      getActiveCommunicator(),\n      getActiveStream()\n  ));\n\n  HIP_TEST_CHECK_GTEST_FAIL(hipStreamSynchronize(getActiveStream()));\n\n  // Verify result\n  std::vector<float> result(N);\n  HIP_TEST_CHECK_GTEST_FAIL(hipMemcpy(result.data(), d_recv, N * sizeof(float),\n                                       hipMemcpyDeviceToHost));\n\n  float expected = (MPIEnvironment::world_size *\n                    (MPIEnvironment::world_size + 1)) / 2.0f;\n\n  for (int i = 0; i < N; i++) {\n    EXPECT_FLOAT_EQ(result[i], expected);\n  }\n\n  // Automatic cleanup via RAII guards - no manual hipFree() needed!\n}\n```\n\n### Running MPI Tests\n\n```bash\n# Run with 2 processes on single node\nmpirun -np 2 ./test_executable --gtest_filter=\"*MPI*\"\n\n# Run with 4 processes on single node\nmpirun -np 4 ./test_executable --gtest_filter=\"MyMPITest.*\"\n\n# Run with specific GPU mapping on single node\nmpirun -np 2 --bind-to none -x HIP_VISIBLE_DEVICES=0,1 ./test_executable\n\n# Run across multiple nodes using hostfile (recommended)\n# Create hostfile with slots per node:\ncat > hostfile.txt << EOF\nnode-1 slots=8\nnode-2 slots=8\nEOF\nmpirun -np 16 --hostfile hostfile.txt ./test_executable\n\n# Or let SLURM auto-generate hostfile (if using test runner script)\nsalloc -N 2 -n 16 --time=01:00:00\n./build_test_coverage.std.sh --config test_config.txt --no-build\n# Script automatically detects nodes and creates temporary hostfile\n```\n\n**Important Notes:**\n- **CPU binding disabled**: Tests run with `--bind-to none` to avoid \"more processes than CPUs\" errors\n- **GPU assignment**: Each node independently assigns GPUs 0-N to local ranks 0-N\n- **Multi-node**: Script auto-generates hostfiles with proper slot counts from SLURM allocations\n\n**Important: Node Validation**\n\nTests can specify node requirements to ensure they run in the correct environment:\n\n| Node Requirement | Constant | Use Case Examples |\n|------------------|----------|-------------------|\n| Single-node only | `kRequireSingleNode` | Tests requiring direct GPU access, shared memory, or specific hardware topology |\n| Any number of nodes | `kNoNodeLimit` (default) | Tests designed for distributed execution or network-based features |\n\n```cpp\n// Test that requires single-node execution\nvalidateTestPrerequisites(2, kNoProcessLimit, kNoPowerOfTwoRequired, 1, kRequireSingleNode);\n\n// Test that works on any number of nodes (default - can omit last parameters)\nvalidateTestPrerequisites(2);  // Uses defaults: no max processes, any nodes\n```\n\n**Common Use Cases:**\n- **Single-node requirement**: P2P transport, SHM transport, GPU topology tests, local memory tests\n- **Multi-node capable**: NET transport, distributed collectives, scalability tests\n\n---\n\n## Core Concepts\n\n### 1. MPIEnvironment\n\nGlobal MPI environment that manages MPI initialization and cleanup.\n\n**Static Members:**\n```cpp\nMPIEnvironment::world_rank  // Current process rank (0 to N-1)\nMPIEnvironment::world_size  // Total number of processes\nMPIEnvironment::retCode     // Initialization status (0 = success)\n```\n\n**Lifecycle:**\n- Initialized once before any tests run\n- Calls `MPI_Init()` and sets up GPU-to-rank mapping\n- Cleaned up after all tests complete\n- Each rank is assigned to a unique GPU **based on local rank** (rank within node)\n\n**Multi-Node GPU Assignment:**\nFor multi-node configurations, GPU assignment uses **local rank** (rank within the node) rather than global rank:\n- **Node 1**: Global ranks 0-7 → Local ranks 0-7 → GPUs 0-7\n- **Node 2**: Global ranks 8-15 → Local ranks 0-7 → GPUs 0-7\n\nThis ensures proper GPU mapping across all nodes without requiring unique GPU IDs globally.\n\n**Process Distribution Display:**\nAt startup, the framework automatically displays detailed process distribution:\n```\n=== MPI Process Distribution ===\nTotal processes: 16\nDetected nodes:  2\n\nNode 0: node-3 (8 ranks)\n  Ranks: 0, 1, 2, 3, 4, 5, 6, 7\nNode 1: node-21 (8 ranks)\n  Ranks: 8, 9, 10, 11, 12, 13, 14, 15\n================================\n```\n\nThis helps verify correct process placement and node allocation before tests run.\n\n### 2. MPITestBase Class\n\nBase class providing common MPI test infrastructure.\n\n**Key Methods:**\n```cpp\nclass MPITestBase : public ::testing::Test {\nprotected:\n  // Validate process and node count requirements\n  bool validateTestPrerequisites(int min_processes = 1,\n                                 int max_processes = kNoProcessLimit,\n                                 bool require_power_of_two = false,\n                                 int min_nodes = 1,\n                                 int max_nodes = kNoNodeLimit);\n\n  // Create isolated communicator for this test\n  ncclResult_t createTestCommunicator();\n\n  // Get the active communicator\n  ncclComm_t getActiveCommunicator();\n\n  // Get the active HIP stream\n  hipStream_t getActiveStream();\n\n  // Cleanup resources (called automatically)\n  void cleanupTestCommunicator();\n};\n```\n\n### 3. Test-Specific Communicators\n\nEach test can create its own RCCL communicator for isolation:\n\n```cpp\nTEST_F(MyTest, IsolatedTest) {\n  // Create a fresh communicator just for this test\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  // Use it for operations\n  ncclComm_t comm = getActiveCommunicator();\n  hipStream_t stream = getActiveStream();\n\n  // Automatically cleaned up in TearDown()\n}\n```\n\n**Benefits:**\n- Tests don't interfere with each other\n- Clean state for each test\n- Proper resource cleanup\n- No shared memory conflicts\n\n### 4. Process and Node Validation\n\nEnsure tests have the right number of processes and correct node configuration:\n\n```cpp\n// Require at least 2 processes (uses defaults for other parameters)\nvalidateTestPrerequisites(2);  // min=2, no max, not power-of-two, any nodes\n\n// Require at least 4 processes\nvalidateTestPrerequisites(4);\n\n// Require power-of-two processes (2, 4, 8, 16, ...)\nvalidateTestPrerequisites(2, kNoProcessLimit, kRequirePowerOfTwo);\n\n// Require exactly 2 processes (min=2, max=2)\nvalidateTestPrerequisites(2, 2);  // Uses defaults for other parameters\n\n// Test that requires single-node (e.g., P2P transport, shared memory tests)\nvalidateTestPrerequisites(2, kNoProcessLimit, kNoPowerOfTwoRequired, 1, kRequireSingleNode);\n\n// Test that requires at least 2 nodes\nvalidateTestPrerequisites(4, kNoProcessLimit, kNoPowerOfTwoRequired, 2);\n\n// Test with 4-16 processes, power-of-two, single-node only\nvalidateTestPrerequisites(4, 16, kRequirePowerOfTwo, 1, kRequireSingleNode);\n```\n\n**Node Detection:**\nThe framework automatically detects the number of unique nodes using `MPI_Comm_split_type()` with `MPI_COMM_TYPE_SHARED`, which groups ranks by shared memory domain (physical node).\n\n**The MPI Process Distribution, Test Requirements, and Current Environment are displayed for ALL tests** (when `NCCL_DEBUG=INFO`), providing visibility into your actual MPI configuration regardless of node constraints.\n\n**Important:** Node detection reports WHERE processes are actually running, not where you intended them to run. If your `mpirun` command doesn't properly distribute processes across nodes (missing hostfile, missing `--host`, or missing distribution policy like `--map-by ppr:N:node`), all processes will launch on the local node and detection will correctly report 1 node.\n\n**For multi-node testing, you MUST:**\n- Use `srun` with SLURM allocations (automatically distributes), OR\n- Provide hostfile: `mpirun --hostfile hostfile.txt`, OR\n- Specify hosts: `mpirun --host node1:N,node2:N`, OR\n- Use distribution policy: `mpirun --map-by ppr:N:node`\n\nWithout proper process distribution, `mpirun -np 16` launches all 16 processes on the local node, and node detection correctly reports 1 node.\n\n**When to Use Node Validation:**\n- Use `kRequireSingleNode` when your test requires all processes to be on the same physical node\n- Use `kNoNodeLimit` (default) when your test can work across multiple nodes\n- The validation automatically skips tests that don't meet node requirements\n\n### 5. Synchronization\n\nMPI barriers ensure all ranks reach certain points together:\n\n```cpp\n// Explicit barrier (use sparingly)\nASSERT_MPI_SUCCESS(MPI_Barrier(MPI_COMM_WORLD));\n\n// Barriers are automatically used in:\n// - createTestCommunicator() (before and after)\n// - cleanupTestCommunicator() (before and after)\n```\n\n---\n\n## Per-Rank Logging\n\n### Overview\n\nBy default, only **rank 0** output is displayed to the terminal to avoid cluttered logs from multiple processes. However, for debugging and detailed analysis, you can enable **per-rank logging** to capture output from all ranks into separate log files.\n\n### Enabling Per-Rank Logging\n\nSet the environment variable before running tests:\n\n```bash\nexport RCCL_MPI_LOG_ALL_RANKS=1\nmpirun -np 4 ./rccl-UnitTestsMPI --gtest_filter=\"MyTest.*\"\n```\n\nOr in a single command:\n\n```bash\nRCCL_MPI_LOG_ALL_RANKS=1 mpirun -np 4 ./rccl-UnitTestsMPI\n```\n\n### Log Files\n\nWhen enabled, log files are created for all ranks in the **current working directory**:\n\n```\nrccl_test_rank_0.log  (contains rank 0 output - also displayed on console)\nrccl_test_rank_1.log  (contains all rank 1 output)\nrccl_test_rank_2.log  (contains all rank 2 output)\nrccl_test_rank_3.log  (contains all rank 3 output)\n```\n\n**Important Notes:**\n- **Rank 0**: Output goes to BOTH console (for interactive monitoring) AND log file (for later analysis)\n- **Rank 1-N**: Output goes only to log files\n- **Location**: Log files are created in the directory where you execute the test command\n- For multi-node runs, each node creates logs in its local working directory\n- Ensure you have write permissions in the execution directory\n\n**Banner Display:**\nThe per-rank logging banner is displayed using `TEST_INFO` macros, which means:\n- **With `NCCL_DEBUG=INFO`**: Full banner with details shown\n- **Without `NCCL_DEBUG`**: Banner content not shown (minimal output)\n- This allows clean output in production while providing detailed info during debugging\n\n### What Gets Logged\n\n**For non-zero ranks (Ranks 1-N):**\nAll output is redirected to log files, including:\n- Test progress and results (Google Test output)\n- `printf()` and `std::cout` statements\n- Error messages from NCCLCHECK, HIPCHECK, MPICHECK macros\n- Debug output from RCCL internals\n- Warnings and error messages\n\n**For rank 0:**\n- Output goes to BOTH console and log file (`rccl_test_rank_0.log`)\n  - **Console**: For real-time interactive monitoring\n  - **Log file**: For post-run analysis and comparison with other ranks\n- Best of both worlds: watch progress live AND have complete logs for debugging\n\n### Implementation Details\n\n**How It Works:**\n1. At startup, the framework checks `RCCL_MPI_LOG_ALL_RANKS` environment variable\n2. If set to `1`, creates `rccl_test_rank_<N>.log` for each rank\n3. Displays a banner using `TEST_INFO` macros (visible with `NCCL_DEBUG=INFO`)\n4. **For Rank 0**: Uses \"tee\" functionality via pipe and background thread\n   - Creates a pipe\n   - Redirects stdout/stderr to pipe write end\n   - Background thread reads from pipe and writes to BOTH original console and log file\n5. **For Ranks 1-N**: Redirects stdout/stderr directly to log file\n6. Disables buffering for immediate output\n7. Restores original output streams on exit\n\n**Output Behavior:**\n- **Without per-rank logging** (default): Only rank 0 output shown on terminal\n- **With per-rank logging**:\n  - **Rank 0**: Output goes to BOTH console AND `rccl_test_rank_0.log`\n    - Watch test progress in real-time on console\n    - Complete log saved to file for later analysis\n  - **Ranks 1-N**: Output redirected to `rccl_test_rank_<N>.log` files only\n  - Banner visible when `NCCL_DEBUG=INFO` is set (TEST_INFO macros)\n  - Without `NCCL_DEBUG`, logging works silently with no banner clutter\n\n### Usage Examples\n\n#### Example 1: Debugging a Specific Test\n\n```bash\n# Enable per-rank logging with NCCL_DEBUG for full banner\nexport RCCL_MPI_LOG_ALL_RANKS=1\nNCCL_DEBUG=INFO mpirun -np 2 ./rccl-UnitTestsMPI --gtest_filter=\"P2PTest.DataTransfer\"\n\n# You'll see a banner message at startup (with NCCL_DEBUG=INFO):\n# [0] TEST INFO Per-Rank Logging ENABLED (RCCL_MPI_LOG_ALL_RANKS=1)\n# [0] TEST INFO Rank 0     : Output to BOTH console AND rccl_test_rank_0.log\n# [0] TEST INFO Ranks 1-N  : Output redirected to rccl_test_rank_<N>.log\n# [0] TEST INFO Location   : Log files created in current working directory\n\n# Without NCCL_DEBUG (minimal output):\nexport RCCL_MPI_LOG_ALL_RANKS=1\nmpirun -np 2 ./rccl-UnitTestsMPI --gtest_filter=\"P2PTest.DataTransfer\"\n# (banner content not shown, but logging still enabled)\n```\n\n### Best Practices\n\n**When to Enable:**\n- ✅ Debugging test failures on non-zero ranks\n- ✅ Investigating rank-specific behavior differences\n- ✅ Analyzing communication patterns across ranks\n- ✅ Capturing detailed RCCL internal logs from all processes\n- ✅ Troubleshooting deadlocks or hangs\n\n**When to Disable:**\n- ✅ Normal test runs (cleaner output)\n- ✅ CI/CD pipelines (unless debugging)\n- ✅ Large-scale runs (many ranks generate many files)\n\n### Adding Debug Output in Tests\n\nUse `TEST_*` macros for conditional, rank-aware logging that respects `NCCL_DEBUG`:\n\n```cpp\nTEST_F(MyMPITest, DebugExample) {\n  validateTestPrerequisites(2);\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  // TEST_INFO respects NCCL_DEBUG=INFO setting\n  // Automatically includes rank (and hostname for multi-node)\n  TEST_INFO(\"Starting test with buffer size %zu\", buffer_size);\n\n  // Perform operation\n  NCCLCHECK(ncclAllReduce(...));\n\n  // More debug output with automatic rank prefix\n  TEST_INFO(\"AllReduce completed, result=%f\", result);\n\n  // Only rank 0 prints summary\n  if (MPIEnvironment::world_rank == 0) {\n    TEST_INFO(\"Summary: All ranks completed successfully\");\n  }\n}\n```\n\n**Available TEST_* Macros:**\n```cpp\nTEST_WARN(\"Warning message\");    // NCCL_DEBUG=WARN or higher\nTEST_INFO(\"Info message\");       // NCCL_DEBUG=INFO or higher\nTEST_ABORT(\"Abort message\");     // NCCL_DEBUG=ABORT or higher\nTEST_TRACE(\"Trace message\");     // NCCL_DEBUG=TRACE\n```\n\n**Output Format:**\n- Single-node: `[rank] TEST INFO <message>`\n- Multi-node: `hostname:[rank] TEST INFO <message>`\n\n**Example Output:**\n```bash\n# Single-node with NCCL_DEBUG=INFO\n[0] TEST INFO Starting test with buffer size 1024\n[1] TEST INFO Starting test with buffer size 1024\n\n# Multi-node with NCCL_DEBUG=INFO\nmi300x-3:[0] TEST INFO Starting test with buffer size 1024\nmi300x-4:[1] TEST INFO Starting test with buffer size 1024\n```\n\n---\n\n## API Reference\n\n### MPITestBase Methods\n\n#### `validateTestPrerequisites()`\nValidate that the test has sufficient processes and correct node configuration to run.\n\n```cpp\nbool validateTestPrerequisites(\n    int min_processes = 1,\n    int max_processes = kNoProcessLimit,\n    bool require_power_of_two = false,\n    int min_nodes = 1,\n    int max_nodes = kNoNodeLimit\n);\n```\n\n**Parameters:**\n- `min_processes` - Minimum number of MPI processes required (default: 1)\n- `max_processes` - Maximum number of MPI processes allowed (default: 0 = no limit)\n- `require_power_of_two` - If true, process count must be power of 2 (default: false)\n- `min_nodes` - Minimum number of nodes required (default: 1)\n- `max_nodes` - Maximum number of nodes allowed (default: 0 = no limit)\n\n**Returns:**\n- `true` if all requirements are met\n- `false` if requirements not met (test should skip)\n\n**Behavior:**\n- Displays detailed requirements and current environment on rank 0 (when `NCCL_DEBUG=INFO`)\n- **Always performs node detection and displays process distribution** for visibility into actual MPI configuration\n- If requirements not met: Returns false, typically used with `GTEST_SKIP()`\n- Provides clear error messages explaining what's wrong\n- Safe to call multiple times (though node detection runs each time)\n- Node count is always detected and displayed regardless of whether node constraints are specified\n\n**Process Validation:**\n- `min_processes`: Minimum processes needed (test skips if world_size < min)\n- `max_processes = 0` (default): No upper limit on process count\n- `max_processes = N`: Test requires at most N processes (e.g., 2 = exactly 2 if min=2)\n- When min_processes == max_processes: Test requires exactly that many processes\n\n**Node Validation:**\n- `min_nodes = 1` (default): No minimum node constraint\n- `min_nodes = N`: Test requires at least N nodes\n- `max_nodes = 0` (default): No node limit - test works on any number of nodes\n- `max_nodes = N`: Test requires at most N nodes (e.g., 1 = single-node only)\n- When min_nodes == max_nodes: Test requires exactly that many nodes\n\n**Common Use Cases:**\n- **Flexible process count**: Use only min_processes, let max default to 0\n- **Exact process count**: Set min_processes = max_processes\n- **Single-node features**: Set max_nodes = 1 (P2P, SHM, shared memory)\n- **Multi-node required**: Set min_nodes > 1 (NET transport testing)\n- **Power-of-two algorithms**: Set require_power_of_two = true\n\n**Examples:**\n```cpp\n// Need at least 2 processes (any node configuration)\nvalidateTestPrerequisites(2);\n\n// Exactly 4 processes\nvalidateTestPrerequisites(4, 4);\n\n// At least 4 processes AND must be power of 2\nvalidateTestPrerequisites(4, kNoProcessLimit, kRequirePowerOfTwo);\n\n// Single-node only feature (P2P, SHM, or any intra-node algorithm)\nvalidateTestPrerequisites(2, kNoProcessLimit, kNoPowerOfTwoRequired, 1, kRequireSingleNode);\n\n// Requires at least 2 nodes (multi-node testing)\nvalidateTestPrerequisites(4, kNoProcessLimit, kNoPowerOfTwoRequired, 2);\n\n// Exactly 8 processes, power-of-two, single-node only\nvalidateTestPrerequisites(8, 8, kRequirePowerOfTwo, 1, kRequireSingleNode);\n\n// 4-16 processes, must be on exactly 2 nodes\nvalidateTestPrerequisites(4, 16, kNoPowerOfTwoRequired, 2, 2);\n```\n\n#### `createTestCommunicator()`\nCreate a test-specific RCCL communicator.\n\n```cpp\nncclResult_t createTestCommunicator();\n```\n\n**Returns:** `ncclSuccess` on success, error code otherwise\n\n**What it does:**\n1. Rank 0 generates unique ID via `ncclGetUniqueId()`\n2. Broadcast ID to all ranks via `MPI_Bcast()`\n3. MPI barrier for synchronization\n4. Initialize RCCL communicator with `ncclCommInitRank()`\n5. Create HIP stream\n6. MPI barrier after initialization\n\n**Example:**\n```cpp\nTEST_F(MyTest, Example) {\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  ncclComm_t comm = getActiveCommunicator();\n  // Use comm for RCCL operations\n}\n```\n\n#### `getActiveCommunicator()`\nGet the current test communicator.\n\n```cpp\nncclComm_t getActiveCommunicator();\n```\n\n**Returns:** The test-specific communicator, or `nullptr` with test failure\n\n**Important:** Must call `createTestCommunicator()` first!\n\n#### `getActiveStream()`\nGet the current HIP stream.\n\n```cpp\nhipStream_t getActiveStream();\n```\n\n**Returns:** The test-specific stream, or `nullptr` with test failure\n\n**Important:** Must call `createTestCommunicator()` first!\n\n#### `cleanupTestCommunicator()`\nClean up test-specific resources.\n\n```cpp\nvoid cleanupTestCommunicator();\n```\n\n**What it does:**\n1. MPI barrier before cleanup\n2. Destroy HIP stream\n3. Destroy RCCL communicator\n4. MPI barrier after cleanup\n\n**Note:** Automatically called in `TearDown()` - usually don't need to call manually.\n\n### MPIEnvironment Static Members\n\n```cpp\n// Current process rank (0 to world_size-1)\nint MPIEnvironment::world_rank;\n\n// Total number of processes\nint MPIEnvironment::world_size;\n\n// Initialization return code (0 = success)\nint MPIEnvironment::retCode;\n```\n\n### MPITestConstants\n\n```cpp\nnamespace MPITestConstants {\n  // Minimum processes for MPI tests\n  constexpr int kMinProcessesForMPI = 2;\n\n  // Flags for process count validation\n  constexpr bool kRequirePowerOfTwo = true;\n  constexpr bool kNoPowerOfTwoRequired = false;\n  constexpr int kNoProcessLimit = 0;     // No upper limit on process count\n\n  // Flags for node count validation\n  constexpr int kRequireSingleNode = 1;  // For single-node only tests\n  constexpr int kNoNodeLimit = 0;        // For multi-node capable tests (default)\n\n  // Helper functions\n  bool isPowerOfTwo(int n);\n  int detectNodeCount();  // Detects unique nodes via MPI shared memory domains\n}\n```\n\n**Node Detection:**\nThe `detectNodeCount()` function automatically detects the number of unique physical nodes by:\n1. Splitting MPI communicator by shared memory domain using `MPI_Comm_split_type()` with `MPI_COMM_TYPE_SHARED`\n2. Each rank determines its local rank and node size (ranks per node)\n3. All node sizes are gathered to rank 0\n4. Rank 0 analyzes the distribution to count unique nodes\n5. Node count is broadcast to all ranks\n6. Returns number of unique nodes\n\nThis uses standard MPI-3 functionality to detect physical node boundaries based on shared memory accessibility, working automatically with any MPI implementation and job scheduler.\n\n**Usage Example:**\n```cpp\n// Automatically called by validateTestPrerequisites()\nint nodes = MPITestConstants::detectNodeCount();\nprintf(\"Detected %d unique node(s)\\n\", nodes);\n```\n\n### Helper Macros\n\n```cpp\n// MPI error checking\nASSERT_MPI_SUCCESS(MPI_Function());  // GTest assertion-based\n\n// RCCL error checking\nRCCL_TEST_CHECK_GTEST_FAIL(ncclFunction());  // GTest FAIL on error\n\n// HIP error checking\nHIP_TEST_CHECK_GTEST_FAIL(hipFunction());  // GTest FAIL on error\n```\n\n---\n\n## Examples\n\n### Example 1: Basic AllReduce Test\n\n```cpp\nTEST_F(UnifiedMPITest, BasicAllReduce) {\n  // Validate we have at least 2 processes (uses defaults for other parameters)\n  ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI));\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  const int N = 1024;\n  float *d_send = nullptr, *d_recv = nullptr;\n\n  HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&d_send, N * sizeof(float)));\n  auto send_guard = makeDeviceBufferAutoGuard(d_send);\n\n  HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&d_recv, N * sizeof(float)));\n  auto recv_guard = makeDeviceBufferAutoGuard(d_recv);\n\n  // Initialize with rank-based pattern using DeviceBufferHelpers\n  hipError_t hip_result = initializeBufferWithPattern<float>(\n      d_send, N,\n      [rank = MPIEnvironment::world_rank](size_t i) {\n          return static_cast<float>(rank + 1);\n      });\n  ASSERT_EQ(hipSuccess, hip_result);\n\n  // AllReduce: Sum across all ranks\n  RCCL_TEST_CHECK_GTEST_FAIL(ncclAllReduce(d_send, d_recv, N, ncclFloat, ncclSum,\n                                            getActiveCommunicator(), getActiveStream()));\n\n  HIP_TEST_CHECK_GTEST_FAIL(hipStreamSynchronize(getActiveStream()));\n\n  // Verify using DeviceBufferHelpers with pattern function\n  // Expected: sum of (1 + 2 + 3 + ... + world_size)\n  const float expected_sum = (MPIEnvironment::world_size *\n                              (MPIEnvironment::world_size + 1)) / 2.0f;\n\n  size_t error_idx;\n  float expected_val, actual_val;\n  bool data_correct = verifyBufferData<float>(\n      d_recv, N,\n      [expected_sum](size_t i) { return expected_sum; },  // All elements same\n      0,  // Verify all elements\n      1e-5,\n      &error_idx, &expected_val, &actual_val);\n\n  EXPECT_TRUE(data_correct) << \"Data mismatch at index \" << error_idx\n                            << \": expected \" << expected_val\n                            << \", got \" << actual_val;\n\n  // Automatic cleanup via RAII guards\n}\n```\n\n### Example 2: Broadcast Test\n\n```cpp\nTEST_F(UnifiedMPITest, Broadcast) {\n  ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI));\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  const int N = 1000;\n  float *d_data = nullptr;\n\n  HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&d_data, N * sizeof(float)));\n  auto data_guard = makeDeviceBufferAutoGuard(d_data);\n\n  // Initialize using DeviceBufferHelpers - rank 0 gets sequential, others get zeros\n  if (MPIEnvironment::world_rank == 0) {\n    hipError_t hip_result = initializeBufferWithPattern<float>(\n        d_data, N,\n        [](size_t i) { return static_cast<float>(i + 1); });  // 1, 2, 3, ...\n    ASSERT_EQ(hipSuccess, hip_result);\n  } else {\n    HIP_TEST_CHECK_GTEST_FAIL(hipMemset(d_data, 0, N * sizeof(float)));\n  }\n\n  // Broadcast from rank 0 to all ranks\n  RCCL_TEST_CHECK_GTEST_FAIL(ncclBroadcast(d_data, d_data, N, ncclFloat, 0,\n                                            getActiveCommunicator(), getActiveStream()));\n\n  HIP_TEST_CHECK_GTEST_FAIL(hipStreamSynchronize(getActiveStream()));\n\n  // Verify all ranks have the broadcast data using DeviceBufferHelpers\n  size_t error_idx;\n  float expected_val, actual_val;\n  bool data_correct = verifyBufferData<float>(\n      d_data, N,\n      [](size_t i) { return static_cast<float>(i + 1); },  // Expected: 1, 2, 3, ...\n      0,  // Verify all elements\n      1e-5,\n      &error_idx, &expected_val, &actual_val);\n\n  EXPECT_TRUE(data_correct) << \"Rank \" << MPIEnvironment::world_rank\n                            << \": Data mismatch at index \" << error_idx\n                            << \": expected \" << expected_val\n                            << \", got \" << actual_val;\n\n  // Automatic cleanup via RAII guards\n}\n```\n\n### Example 3: Send/Recv Between Ranks\n\n```cpp\nTEST_F(UnifiedMPITest, SimpleSendRecv) {\n  ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI));\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  const int N = 1024;\n  const int peer_rank = 1 - MPIEnvironment::world_rank;  // 0↔1\n\n  float* d_send = nullptr;\n  float* d_recv = nullptr;\n\n  HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&d_send, N * sizeof(float)));\n  auto send_guard = makeDeviceBufferAutoGuard(d_send);\n\n  HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&d_recv, N * sizeof(float)));\n  auto recv_guard = makeDeviceBufferAutoGuard(d_recv);\n\n  // Initialize send buffer with rank-specific pattern using DeviceBufferHelpers\n  hipError_t hip_result = initializeBufferWithPattern<float>(\n      d_send, N,\n      [rank = MPIEnvironment::world_rank](size_t i) {\n          return static_cast<float>(rank * 1000 + i);\n      });\n  ASSERT_EQ(hipSuccess, hip_result);\n\n  // Exchange data between ranks\n  if (MPIEnvironment::world_rank == 0) {\n    RCCL_TEST_CHECK_GTEST_FAIL(ncclSend(d_send, N, ncclFloat, 1,\n                                         getActiveCommunicator(), getActiveStream()));\n    RCCL_TEST_CHECK_GTEST_FAIL(ncclRecv(d_recv, N, ncclFloat, 1,\n                                         getActiveCommunicator(), getActiveStream()));\n  } else {\n    RCCL_TEST_CHECK_GTEST_FAIL(ncclRecv(d_recv, N, ncclFloat, 0,\n                                         getActiveCommunicator(), getActiveStream()));\n    RCCL_TEST_CHECK_GTEST_FAIL(ncclSend(d_send, N, ncclFloat, 0,\n                                         getActiveCommunicator(), getActiveStream()));\n  }\n\n  HIP_TEST_CHECK_GTEST_FAIL(hipStreamSynchronize(getActiveStream()));\n\n  // Verify received peer's data using DeviceBufferHelpers\n  size_t error_idx;\n  float expected_val, actual_val;\n  bool data_correct = verifyBufferData<float>(\n      d_recv, N,\n      [peer_rank](size_t i) {\n          return static_cast<float>(peer_rank * 1000 + i);\n      },\n      0,  // Verify all elements\n      1e-5,\n      &error_idx, &expected_val, &actual_val);\n\n  EXPECT_TRUE(data_correct) << \"Rank \" << MPIEnvironment::world_rank\n                            << \": Received data mismatch at index \" << error_idx\n                            << \": expected \" << expected_val\n                            << \", got \" << actual_val;\n\n  // Automatic cleanup via RAII guards\n}\n```\n\n### Example 4: Testing Different Reduction Operations\n\n```cpp\nTEST_F(UnifiedMPITest, AllReduceMaxOperation) {\n  ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI));\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  const int N = 512;\n  float* d_send = nullptr;\n  float* d_recv = nullptr;\n\n  HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&d_send, N * sizeof(float)));\n  auto send_guard = makeDeviceBufferAutoGuard(d_send);\n\n  HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&d_recv, N * sizeof(float)));\n  auto recv_guard = makeDeviceBufferAutoGuard(d_recv);\n\n  // Initialize with rank-specific pattern using DeviceBufferHelpers\n  hipError_t hip_result = initializeBufferWithPattern<float>(\n      d_send, N,\n      [rank = MPIEnvironment::world_rank](size_t i) {\n          return static_cast<float>(rank * 10 + i);\n      });\n  ASSERT_EQ(hipSuccess, hip_result);\n\n  // AllReduce with MAX operation\n  RCCL_TEST_CHECK_GTEST_FAIL(ncclAllReduce(d_send, d_recv, N, ncclFloat, ncclMax,\n                                            getActiveCommunicator(), getActiveStream()));\n\n  HIP_TEST_CHECK_GTEST_FAIL(hipStreamSynchronize(getActiveStream()));\n\n  // Verify: maximum should be from highest rank using DeviceBufferHelpers\n  const int max_rank = MPIEnvironment::world_size - 1;\n\n  size_t error_idx;\n  float expected_val, actual_val;\n  bool data_correct = verifyBufferData<float>(\n      d_recv, N,\n      [max_rank](size_t i) {\n          return static_cast<float>(max_rank * 10 + i);\n      },\n      0,  // Verify all elements\n      1e-5,\n      &error_idx, &expected_val, &actual_val);\n\n  EXPECT_TRUE(data_correct) << \"AllReduce MAX mismatch at index \" << error_idx\n                            << \": expected \" << expected_val\n                            << \", got \" << actual_val;\n\n  // Automatic cleanup via RAII guards\n}\n```\n\n### Example 5: Power-of-Two Requirement\n\n```cpp\nTEST_F(MyMPITest, AdvancedAlgorithm) {\n  // This algorithm requires power-of-two processes (at least 4)\n  ASSERT_TRUE(validateTestPrerequisites(4, kNoProcessLimit, kRequirePowerOfTwo));\n\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  // Test only runs with 4, 8, 16, 32, ... processes\n  // Automatically skipped if run with 3, 5, 6, 7, ... processes\n\n  // Your test logic here\n}\n```\n\n### Example 6: Single-Node Only Test\n\nTests that require all processes on the same physical node should use `kRequireSingleNode`:\n\n```cpp\nTEST_F(P2pMPITest, P2pWorkflow) {\n  // This test requires single-node execution\n  // Common reasons: direct GPU access, shared memory, local IPC, hardware topology\n  ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI, kNoProcessLimit, kNoPowerOfTwoRequired, 1, kRequireSingleNode));\n\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  // Test runs on single node:\n  // Test skips on multi-node with informative message:\n  //   \"Error: REQUIREMENT NOT MET: Need at most 1 node(s), detected 2 nodes\"\n  //   \"This test uses P2P/SHM transport (single-node only)\"\n  //   \"For multi-node testing, use NET transport tests\"\n\n  // Your single-node test logic here...\n  // Examples: P2P transport, SHM transport, GPU topology tests,\n  //           shared memory algorithms, local IPC features\n}\n```\n\n### Example 7: Multi-Node Capable Test\n\nTests that work across multiple nodes should use `kNoNodeLimit` (or omit the parameter):\n\n```cpp\nTEST_F(NetMPITest, NetWorkflow) {\n  // This test works on any number of nodes\n  // Common reasons: network-based, distributed features, scalability tests\n  ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI));\n  // Uses defaults: no max processes, not power-of-two, any nodes\n  // (kNoNodeLimit is the default for max_nodes)\n\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  // Test runs on single node:\n  // Test runs on multi-node:\n  // Works with any node configuration\n\n  // Your multi-node test logic here...\n  // Examples: NET transport, distributed collectives, RDMA features,\n  //           scalability tests, network-based algorithms\n}\n```\n\n### Example 8: Custom Test Class with RAII Resource Guards\n\n```cpp\nclass MyTransportTest : public TransportTestBase {\nprotected:\n  void* send_buffer = nullptr;\n  void* recv_buffer = nullptr;\n  size_t buffer_size = 1024 * 1024;  // 1MB\n\n  void SetUp() override {\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI));\n    ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n    // Allocate buffers with automatic RAII guards\n    // Guards stored in base class, cleanup automatic at test end\n    allocateAndInitBuffersGuarded(&send_buffer, &recv_buffer, buffer_size, buffer_size);\n  }\n\n  // No need for manual cleanup in TearDown()\n  // Base class automatically cleans up guarded resources\n};\n\nTEST_F(MyTransportTest, DataTransfer) {\n  // Initialize buffers using DeviceBufferHelpers\n  hipError_t hip_result = initializeBufferWithPattern<uint8_t>(\n      send_buffer, buffer_size,\n      [](size_t i) { return static_cast<uint8_t>(0xAB); });\n  ASSERT_EQ(hipSuccess, hip_result);\n\n  HIP_TEST_CHECK_GTEST_FAIL(hipMemset(recv_buffer, 0x00, buffer_size));\n\n  // Perform transfer\n  // ... test logic ...\n\n  // Verify using DeviceBufferHelpers\n  size_t error_idx;\n  uint8_t expected_val, actual_val;\n  bool data_correct = verifyBufferData<uint8_t>(\n      recv_buffer, buffer_size,\n      [](size_t i) { return static_cast<uint8_t>(0xAB); },\n      0,  // Verify all elements\n      1e-5,\n      &error_idx, &expected_val, &actual_val);\n\n  EXPECT_TRUE(data_correct) << \"Data transfer mismatch at index \" << error_idx\n                            << \": expected \" << static_cast<int>(expected_val)\n                            << \", got \" << static_cast<int>(actual_val);\n\n  // Resources automatically cleaned up at test end\n}\n```\n\n### Example 9: Loop with Per-Iteration Cleanup\n\nFor tests that allocate resources in loops, use `store_in_base=false` to get local guards:\n\n```cpp\nTEST_F(MyTransportTest, TestMultipleSizes) {\n  ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI));\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  const std::vector<size_t> test_sizes = {1024, 4096, 16384, 65536};\n\n  for(const auto size : test_sizes) {\n    void* send_buff = nullptr;\n    void* recv_buff = nullptr;\n\n    // Get local guards - cleanup at end of each iteration\n    auto [sendGuard, recvGuard] = allocateAndInitBuffersGuarded(\n        &send_buff, &recv_buff, size, size, false);  // false = local guards\n\n    // Test with this buffer size\n    testTransfer(send_buff, recv_buff, size);\n\n    // Buffers automatically freed here at end of iteration\n  }\n\n  // All buffers already cleaned up, minimal memory footprint maintained\n}\n```\n\n---\n\n## Best Practices\n\n### 1. Use RAII Guards for Automatic Resource Cleanup\n\n**TransportTestBase** provides RAII-based resource management to prevent leaks:\n\n```cpp\n// ✅ GOOD: Use guarded allocation (default - cleanup at test end)\nTEST_F(MyTransportTest, Example) {\n  void* send_buffer = nullptr;\n  void* recv_buffer = nullptr;\n\n  // Allocate with automatic guards\n  allocateAndInitBuffersGuarded(&send_buffer, &recv_buffer, size, size);\n\n  // Use buffers...\n\n  // Automatic cleanup even if assertions fail!\n}\n\n// ✅ GOOD: Loop with per-iteration cleanup\nTEST_F(MyTransportTest, LoopExample) {\n  for(const auto size : test_sizes) {\n    void* send_buff = nullptr;\n    void* recv_buff = nullptr;\n\n    // Local guards - cleanup per iteration\n    auto [sg, rg] = allocateAndInitBuffersGuarded(&send_buff, &recv_buff, size, size, false);\n\n    // Test logic...\n    // Cleanup happens here automatically\n  }\n}\n\n// ❌ BAD: Manual cleanup can leak on assertion failure\nTEST_F(MyTransportTest, Example) {\n  void* send_buffer = nullptr;\n  hipMalloc(&send_buffer, size);\n\n  ASSERT_TRUE(condition);  // If this fails, send_buffer leaks!\n\n  hipFree(send_buffer);  // Never reached if assertion fails\n}\n```\n\n**RAII Guard Benefits:**\n- ✅ Resources cleaned up even if `ASSERT_*` or `EXPECT_*` fails\n- ✅ Exception-safe cleanup\n- ✅ No manual cleanup code needed\n- ✅ Prevents memory leaks in test failures\n- ✅ Supports both test-scoped and loop-scoped cleanup\n\n**API:**\n```cpp\n// Store guards in base class (cleanup at test end) - DEFAULT\nallocateAndInitBuffersGuarded(&send, &recv, size, size);\n\n// Get local guards (cleanup at scope exit) - FOR LOOPS\nauto [sendGuard, recvGuard] = allocateAndInitBuffersGuarded(&send, &recv, size, size, false);\n\n// Registration with guards\npreRegisterBuffersGuarded(send, recv, size, size, &send_handle, &recv_handle);\nauto [sendRegGuard, recvRegGuard] = preRegisterBuffersGuarded(..., false);\n```\n\n### 2. Always Validate Prerequisites\n\n```cpp\nTEST_F(MyTest, SomeTest) {\n  // ✅ GOOD: Validate first\n  ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI));\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  // Test logic...\n}\n\n// ❌ BAD: No validation\nTEST_F(MyTest, SomeTest) {\n  // Might crash if only 1 process!\n  ncclAllReduce(...);\n}\n```\n\n### 3. Create Test-Specific Communicators\n\n```cpp\n// ✅ GOOD: Isolated communicator per test\nTEST_F(MyTest, Test1) {\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n  // Test logic with fresh communicator\n}\n\nTEST_F(MyTest, Test2) {\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n  // Another test with its own communicator\n}\n```\n\n**Why?** Avoids shared memory conflicts and ensures clean state.\n\n### 4. Use RAII Guards for Resource Management\n\n**TransportTestBase** provides RAII-based automatic resource cleanup with proper ordering:\n\n```cpp\n// ✅ GOOD: Automatic cleanup even on test failure\nTEST_F(MyTransportTest, Example) {\n  void* send_buffer = nullptr;\n  void* recv_buffer = nullptr;\n\n  // Allocate with automatic guards (default: cleanup at test end)\n  allocateAndInitBuffersGuarded(&send_buffer, &recv_buffer, size, size);\n\n  ASSERT_TRUE(condition);  // Even if this fails, buffers cleaned up!\n\n  // Use buffers...\n  // Automatic cleanup at test end\n}\n\n// ✅ GOOD: Registration handles with guards\nTEST_F(MyTransportTest, RegistrationExample) {\n  void* send_buffer = nullptr;\n  void* recv_buffer = nullptr;\n  allocateAndInitBuffersGuarded(&send_buffer, &recv_buffer, size, size);\n\n  // Pre-register with guards - handles deregistered before comm destroyed\n  void* send_handle = nullptr;\n  void* recv_handle = nullptr;\n  preRegisterBuffersGuarded(send_buffer, recv_buffer, size, size,\n                           &send_handle, &recv_handle);\n\n  // Use registered buffers...\n  // Cleanup order: handles deregistered → buffers freed → comm destroyed\n}\n\n// ✅ GOOD: Loop with per-iteration cleanup\nTEST_F(MyTransportTest, LoopTest) {\n  for(const auto size : test_sizes) {\n    void* send_buff = nullptr;\n    void* recv_buff = nullptr;\n\n    // Get local guards (store_in_base=false for per-iteration cleanup)\n    auto [sendGuard, recvGuard] = allocateAndInitBuffersGuarded(\n        &send_buff, &recv_buff, size, size, false);\n\n    // Test logic...\n    // Cleanup happens here automatically at end of iteration\n  }\n}\n\n// ❌ BAD: Manual cleanup leaks on assertion failure\nTEST_F(MyTest, Example) {\n  void* buffer = nullptr;\n  hipMalloc(&buffer, size);\n\n  ASSERT_TRUE(condition);  // If fails, buffer leaks!\n\n  hipFree(buffer);  // Never reached\n}\n```\n\n**RAII Guard API:**\n```cpp\n// Allocate with guards (cleanup at test end) - DEFAULT\nallocateAndInitBuffersGuarded(&send, &recv, size, size);\n\n// Allocate with local guards (cleanup at scope exit) - FOR LOOPS\nauto [sendGuard, recvGuard] = allocateAndInitBuffersGuarded(&send, &recv, size, size, false);\n\n// Register buffers with guards (cleanup at test end) - DEFAULT\npreRegisterBuffersGuarded(send, recv, size, size, &send_handle, &recv_handle);\n\n// Register with local guards (for loops)\nauto [sRegGuard, rRegGuard] = preRegisterBuffersGuarded(send, recv, size, size,\n                                                         &send_handle, &recv_handle, false);\n```\n\n**Benefits:**\n- ✅ Resources cleaned up even if `ASSERT_*` or `EXPECT_*` fails\n- ✅ **Correct cleanup order**: Guards destroyed before communicator\n- ✅ Exception-safe cleanup\n- ✅ No manual cleanup code needed\n- ✅ Prevents memory leaks in test failures\n- ✅ Prevents \"corrupted comm object\" errors\n- ✅ Supports both test-scoped and loop-scoped cleanup\n\n**Critical: Cleanup Order**\nThe framework ensures proper cleanup order to prevent \"corrupted comm object\" errors:\n```\n1. Registration handles deregistered (ncclCommDeregister with valid comm)\n2. Buffers freed (hipFree)\n3. Transport resources cleaned up\n4. Communicator destroyed (ncclCommDestroy)\n```\n\nThis is handled automatically by `TransportTestBase::TearDown()` which explicitly clears\nguard vectors before destroying the communicator.\n\n### 5. Use Rank-Specific Logic When Needed\n\n```cpp\nTEST_F(MyTest, Example) {\n  ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI));\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  int rank = MPIEnvironment::world_rank;\n\n  if (rank == 0) {\n    // Only rank 0 prints summary (TEST_INFO automatically adds rank prefix)\n    TEST_INFO(\"Starting test with %d processes\", MPIEnvironment::world_size);\n  }\n\n  // All ranks execute this\n  performCollectiveOperation();\n\n  if (rank == 0) {\n    // Only rank 0 does final verification\n    verifyGlobalState();\n    TEST_INFO(\"Test completed successfully\");\n  }\n}\n```\n\n### 6. Use Descriptive Test Names\n\n```cpp\n// ✅ GOOD: Clear what's being tested\nTEST_F(MyMPITest, AllReduce_WithFloat32_Sum_2Ranks)\nTEST_F(MyMPITest, Broadcast_LargeBuffer_FromRank0)\nTEST_F(MyMPITest, SendRecv_PeerToPeer_1MBTransfer)\n\n// ❌ BAD: Vague names\nTEST_F(MyMPITest, Test1)\nTEST_F(MyMPITest, TestAllReduce)\n```\n\n### 7. Check Return Codes\n\n```cpp\n// ✅ GOOD: Check all return codes with appropriate macros\nASSERT_EQ(ncclSuccess, createTestCommunicator());\nRCCL_TEST_CHECK_GTEST_FAIL(ncclAllReduce(...));\nHIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&ptr, size));\n\n// BAD: Ignoring return values\ncreateTestCommunicator();  // Might fail silently!\nncclAllReduce(...);         // Could return error\nhipMalloc(&ptr, size);      // Allocation might fail\n```\n\n### 8. Synchronize Appropriately\n\n```cpp\n// ✅ GOOD: Synchronize before checking results\nRCCL_TEST_CHECK_GTEST_FAIL(ncclAllReduce(...));\nHIP_TEST_CHECK_GTEST_FAIL(hipStreamSynchronize(getActiveStream()));\n// Now safe to verify results\n\n// ❌ BAD: Check results without sync\nRCCL_TEST_CHECK_GTEST_FAIL(ncclAllReduce(...));\nEXPECT_EQ(result, expected);  // Operation might not be done!\n```\n\n### 9. Consider Process Count in Expectations\n\n```cpp\nTEST_F(MyTest, AllReduceSum) {\n  ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI));\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  // Each rank sends 1\n  // Expected result depends on world_size\n  float expected = MPIEnvironment::world_size * 1.0f;\n\n  // ✅ GOOD: Expectation adapts to process count\n  EXPECT_FLOAT_EQ(result, expected);\n\n  // ❌ BAD: Hard-coded expectation\n  // EXPECT_FLOAT_EQ(result, 2.0f);  // Only works with 2 processes!\n}\n```\n\n---\n\n## RAII Resource Guards\n\nThe test infrastructure provides comprehensive RAII (Resource Acquisition Is Initialization) guards for automatic resource cleanup. These guards ensure resources are cleaned up even when tests fail via `ASSERT_*` or `EXPECT_*` failures.\n\n### Overview\n\nTwo types of guards are provided:\n\n1. **`AutoGuard<T, auto DeleterFunc>`** - Modern C++17 guard using function pointers (for simple cleanup)\n2. **`ResourceGuard<T, Deleter>`** - Functor-based guard (for complex stateful cleanup)\n\n### AutoGuard - Simple Cleanup\n\nFor resources with simple, stateless cleanup functions:\n\n```cpp\n// Device memory\nvoid* buffer;\nhipMalloc(&buffer, size);\nauto guard = makeDeviceBufferAutoGuard(buffer);\n// buffer automatically freed on scope exit\n\n// HIP stream\nhipStream_t stream;\nhipStreamCreate(&stream);\nauto guard = makeStreamAutoGuard(stream);\n// stream automatically destroyed on scope exit\n\n// HIP event\nhipEvent_t event;\nhipEventCreate(&event);\nauto guard = makeEventAutoGuard(event);\n// event automatically destroyed on scope exit\n\n// Host memory\nvoid* host_buf = malloc(size);\nauto guard = makeHostBufferAutoGuard(host_buf);\n// host_buf automatically freed on scope exit\n\n// NCCL communicator\nncclComm_t comm;\nncclCommInitRank(&comm, ...);\nauto guard = makeCommAutoGuard(comm);\n// comm automatically destroyed on scope exit\n```\n\n### ResourceGuard - Complex Cleanup\n\nFor resources requiring additional context (stateful deleters):\n\n```cpp\n// NCCL registration handle (needs communicator)\nvoid* reg_handle;\nncclCommRegister(comm, buffer, size, &reg_handle);\nauto guard = makeRegHandleGuard(reg_handle, comm);\n// reg_handle automatically deregistered on scope exit\n\n// NET plugin memory handle (needs net plugin + comm)\nvoid* mhandle;\nnet->regMr(comm, buffer, size, type, &mhandle);\nauto guard = makeNetMHandleGuard(mhandle, net, comm);\n// mhandle automatically deregistered on scope exit\n\n// NET send communicator (needs net plugin)\nvoid* send_comm;\nnet->connect(dev, handle, &send_comm, &send_dev_handle);\nauto guard = makeNetSendCommGuard(send_comm, net);\n// send_comm automatically closed on scope exit\n```\n\n### Guard Operations\n\nAll guards support these operations:\n\n```cpp\nauto guard = makeDeviceBufferAutoGuard(buffer);\n\n// Get the resource handle\nvoid* buf = guard.get();\n\n// Get pointer to handle (for API calls that take T*)\nvoid** buf_ptr = guard.ptr();\n\n// Set a new resource\nguard.set(new_buffer);\n\n// Release ownership (prevent cleanup)\nvoid* released = guard.release();\n\n// Dismiss without returning (prevent cleanup)\nguard.dismiss();\n```\n\n### Specialized Guards\n\n#### DeviceBufferAutoGuard / HostBufferAutoGuard - Host or Device Memory\n\nManages both host and device memory with type-safe guards:\n\n```cpp\nvoid* device_buf;\nhipMalloc(&device_buf, size);\nauto dev_guard = makeDeviceBufferAutoGuard(device_buf);  // device memory\n\nvoid* host_buf = malloc(size);\nauto host_guard = makeHostBufferAutoGuard(host_buf);  // host memory\n\n// Both automatically freed on scope exit with correct function\n```\n\n#### NetConnectionGuard - Multiple Network Resources\n\nManages listen, send, and recv communicators together:\n\n```cpp\nNetConnectionGuard conn_guard(net_plugin);\n\n// Set resources as they're created\nconn_guard.setListenComm(listen_comm);\nconn_guard.setSendComm(send_comm);\nconn_guard.setRecvComm(recv_comm);\n\n// All automatically closed on scope exit in correct order\n```\n\n#### TransportResourceGuard - Send and Recv Together\n\nManages paired send/recv transport resources:\n\n```cpp\nncclConnector send_conn, recv_conn;\nTransportResourceGuard guard(&send_conn, &recv_conn, transport);\n\n// Both connectors automatically cleaned up on scope exit\n```\n\n### Factory Methods\n\nPrefer factory methods for type deduction and cleaner syntax:\n\n```cpp\n// ✅ GOOD: Factory method (type deduced)\nauto guard = makeDeviceBufferAutoGuard(buffer);\n\n// ❌ VERBOSE: Explicit type (harder to read)\nAutoGuard<void*, hipFreeWrapper> guard(buffer);\n\n// ✅ GOOD: Complex guard with factory\nauto guard = makeRegHandleGuard(handle, comm);\n\n// ❌ VERBOSE: Explicit type\nResourceGuard<void*, NcclRegHandleDeleter> guard(handle, NcclRegHandleDeleter(comm));\n```\n\n### Available Factory Methods\n\n**Simple Resources (AutoGuard):**\n- `makeHostBufferAutoGuard(void* buffer)` - Host memory\n- `makeDeviceBufferAutoGuard(void* buffer)` - Device memory\n- `makeStreamAutoGuard(hipStream_t stream)` - HIP stream\n- `makeEventAutoGuard(hipEvent_t event)` - HIP event\n- `makeCommAutoGuard(ncclComm_t comm)` - NCCL communicator\n\n**Complex Resources (ResourceGuard):**\n- `makeRegHandleGuard(void* handle, ncclComm_t comm)` - NCCL registration\n- `makeNetMHandleGuard(void* handle, ncclNet_t* net, void* comm)` - NET memory\n- `makeNetSendCommGuard(void* comm, ncclNet_t* net)` - NET send comm\n- `makeNetRecvCommGuard(void* comm, ncclNet_t* net)` - NET recv comm\n- `makeNetListenCommGuard(void* comm, ncclNet_t* net)` - NET listen comm\n- `makeTransportSendGuard(ncclConnector* conn, ncclTransport* trans)` - Transport send\n- `makeTransportRecvGuard(ncclConnector* conn, ncclTransport* trans)` - Transport recv\n\n**Generic:**\n- `makeGuard(T resource, Deleter deleter)` - Generic ResourceGuard\n- `makeCustomGuard(T resource, Deleter deleter)` - Custom deleter (alias)\n\n\n### Best Practices with Guards\n\n**1. Use Guards for All Resources:**\n```cpp\n// ✅ GOOD: Guards ensure cleanup even on assertion failure\nTEST_F(MyTest, Example) {\n  void* buffer;\n  hipMalloc(&buffer, size);\n  auto guard = makeDeviceBufferAutoGuard(buffer);\n\n  ASSERT_TRUE(condition);  // If fails, buffer still freed!\n\n  // Use buffer...\n  // Automatic cleanup on scope exit\n}\n\n// ❌ BAD: Manual cleanup leaks on assertion failure\nTEST_F(MyTest, Example) {\n  void* buffer;\n  hipMalloc(&buffer, size);\n\n  ASSERT_TRUE(condition);  // If fails, buffer leaks!\n\n  hipFree(buffer);  // Never reached\n}\n```\n\n**2. Respect Cleanup Order:**\n```cpp\n// ✅ GOOD: Correct cleanup order (handles before comm)\nTEST_F(MyTest, Example) {\n  ncclComm_t comm;\n  ncclCommInitRank(&comm, ...);\n  auto comm_guard = makeCommAutoGuard(comm);\n\n  void* reg_handle;\n  ncclCommRegister(comm, buffer, size, &reg_handle);\n  auto handle_guard = makeRegHandleGuard(reg_handle, comm);\n\n  // Cleanup order: handle_guard destroyed first (correct!)\n  // Then comm_guard destroyed\n}\n\n// ❌ BAD: Wrong order causes \"corrupted comm object\" error\nTEST_F(MyTest, Example) {\n  void* reg_handle;\n  ncclCommRegister(comm, buffer, size, &reg_handle);\n  auto handle_guard = makeRegHandleGuard(reg_handle, comm);\n\n  ncclComm_t comm;\n  ncclCommInitRank(&comm, ...);\n  auto comm_guard = makeCommAutoGuard(comm);\n\n  // Cleanup order: comm_guard destroyed first - ERROR!\n  // handle_guard tries to use destroyed comm\n}\n```\n\n**3. Use Local Guards for Loops:**\n```cpp\n// ✅ GOOD: Local guards for per-iteration cleanup\nfor (const auto size : test_sizes) {\n  void* buffer;\n  hipMalloc(&buffer, size);\n  auto guard = makeDeviceBufferAutoGuard(buffer);\n\n  // Test with this size...\n\n  // Buffer freed here at end of iteration\n}\n\n// ❌ BAD: Accumulating allocations\nstd::vector<void*> buffers;\nfor (const auto size : test_sizes) {\n  void* buffer;\n  hipMalloc(&buffer, size);\n  buffers.push_back(buffer);  // Memory accumulates!\n}\n// All buffers freed only at end - high memory usage\n```\n\n**4. Use Custom Guards for Lambdas:**\n```cpp\n// Complex cleanup with lambda\nFILE* file = fopen(\"test.txt\", \"w\");\nauto guard = makeCustomGuard(file, [](FILE* f) {\n  if (f) {\n    fflush(f);\n    fclose(f);\n  }\n});\n// file automatically flushed and closed on scope exit\n```\n\n### Implementation Details\n\n**AutoGuard:**\n- Uses C++17 `auto` non-type template parameters\n- Zero overhead - deleter is a compile-time constant\n- No functor object stored - just the resource handle\n- Smaller memory footprint than ResourceGuard\n\n**ResourceGuard:**\n- Stores both resource and deleter functor\n- Supports stateful deleters with additional context\n- Move-only semantics (non-copyable)\n- Slightly larger memory footprint due to deleter storage\n\n**When to Use Which:**\n- Use **AutoGuard** (via factory methods like `makeDeviceBufferAutoGuard`) for simple cleanup\n- Use **ResourceGuard** (via factory methods like `makeRegHandleGuard`) for cleanup requiring context\n\n### See Also\n\n- **ResourceGuards.hpp** - Full guard implementation (includes ScopeGuard, AutoGuard, ResourceGuard)\n- **TransportMPIBase.hpp** - Transport test base with guarded resource management\n- **Best Practices** section above for RAII usage patterns\n\n---\n\n## Device Buffer Helpers\n\nThe test infrastructure provides template-based device buffer utilities with a clean, pluggable API for initialization and verification. These helpers eliminate code duplication and provide type-safe operations for all NCCL data types.\n\n**Location:** `test/common/DeviceBufferHelpers.hpp`\n\n### Overview\n\n**Key Features:**\n- ✅ **Pluggable patterns** - Use lambdas to define any initialization/verification pattern\n- ✅ **Type-safe** - Template-based with automatic NCCL type mapping\n- ✅ **Automatic float/int comparison** - Correct comparison logic based on type\n\n### Type Mapping\n\nNCCL type traits automatically map C++ types to `ncclDataType_t`:\n\n```cpp\n// Supported types (implemented using stringification macro)\nfloat    → ncclFloat\ndouble   → ncclDouble\nint8_t   → ncclInt8\nuint8_t  → ncclUint8\nint32_t  → ncclInt32\nuint32_t → ncclUint32\nint64_t  → ncclInt64\nuint64_t → ncclUint64\n\n// Usage (type deduced automatically)\nncclDataType_t type = getNcclDataType<float>();     // ncclFloat\nconst char* name = getTypeName<uint64_t>();         // \"uint64_t\"\n```\n\n### Buffer Initialization\n\nGeneric initialization with pattern functions:\n\n```cpp\n// Signature\ntemplate<typename T, typename PatternFunc>\nhipError_t initializeBufferWithPattern(\n    void* device_buffer,\n    size_t num_elements,\n    PatternFunc pattern_func);\n\n// Example 1: Rank-based pattern\ninitializeBufferWithPattern<float>(\n    buffer, size,\n    [rank, multiplier](size_t i) {\n        return static_cast<float>(rank * multiplier + i);\n    });\n\n// Example 2: Constant value\ninitializeBufferWithPattern<int>(\n    buffer, size,\n    [](size_t i) { return 42; });\n\n// Example 3: Custom pattern with modulo\ninitializeBufferWithPattern<uint8_t>(\n    buffer, size,\n    [pattern](size_t i) {\n        return static_cast<uint8_t>((pattern + i) % 256);\n    });\n```\n\n### Buffer Verification\n\nGeneric verification with pattern functions:\n\n```cpp\n// Signature\ntemplate<typename T, typename PatternFunc>\nbool verifyBufferData(\n    const void* device_buffer,\n    size_t num_elements,\n    PatternFunc pattern_func,\n    size_t num_samples = 0,        // 0 = verify all\n    double tolerance = 1e-5,\n    size_t* first_error_index = nullptr,\n    T* expected_value = nullptr,\n    T* actual_value = nullptr);\n\n// Example 1: Rank-based verification\nsize_t error_idx;\nfloat expected_val, actual_val;\nbool ok = verifyBufferData<float>(\n    recv_buffer, count,\n    [peer_rank](size_t i) {\n        return static_cast<float>(peer_rank * 1000 + i);\n    },\n    10,        // verify first 10 elements\n    1e-5,      // tolerance for floats\n    &error_idx, &expected_val, &actual_val);\n\n// Example 2: Verify all elements\nbool ok = verifyBufferData<int>(\n    buffer, size,\n    [](size_t i) { return static_cast<int>(i * 2); },\n    0);  // 0 = verify ALL elements\n\n// Example 3: Custom pattern\nbool ok = verifyBufferData<uint8_t>(\n    buffer, size,\n    [pattern](size_t i) {\n        return static_cast<uint8_t>((pattern + i) % 256);\n    });\n```\n\n### Key Features\n\n**1. Pluggable Pattern Logic:**\nThe pattern is defined at the call site as a lambda, making the code self-documenting:\n```cpp\n// ✅ Pattern logic is immediately visible\nverifyBufferData<float>(buffer, size,\n    [rank](size_t i) { return rank * 1000 + i; });  // Clear what we expect\n\n// vs old approach (pattern logic hidden in function params)\n// verifyBufferData<float>(buffer, size, rank, 1000, ...);  // Less clear\n```\n\n**2. Automatic Float vs Int Comparison:**\nThe helpers automatically use the correct comparison for the data type:\n```cpp\n// For float/double: uses tolerance-based comparison\nverifyBufferData<float>(buffer, size, pattern_func, 10, 1e-5);\n\n// For int types: uses exact comparison (tolerance ignored)\nverifyBufferData<int32_t>(buffer, size, pattern_func);\n```\n\n**3. Flexible Verification:**\n```cpp\n// Verify first 10 elements (fast sampling)\nverifyBufferData<float>(buffer, size, pattern, 10);\n\n// Verify ALL elements (comprehensive)\nverifyBufferData<float>(buffer, size, pattern, 0);  // 0 = all\n\n// Get error details\nsize_t error_idx;\nT expected, actual;\nif (!verifyBufferData<T>(buffer, size, pattern, 0, 1e-5,\n                         &error_idx, &expected, &actual)) {\n    printf(\"Mismatch at index %zu: expected %f, got %f\\n\",\n           error_idx, expected, actual);\n}\n```\n\n## Troubleshooting\n\n### MPI Initialization Failed\n\n**Symptom:** `MPIEnvironment::retCode != 0` or \"Only X GPUs available for Y ranks\"\n\n**Causes:**\n- Insufficient GPUs for the number of **local** processes (per node)\n- MPI not properly installed\n- Wrong MPI launcher configuration\n\n**Solutions:**\n```cpp\n// Check in test\nif (MPIEnvironment::retCode != 0) {\n  GTEST_SKIP() << \"MPI initialization failed\";\n}\n\n// Or use validateTestPrerequisites which checks this\nASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI));\n```\n\n```bash\n# For single-node: GPU count must match process count\nmpirun -np 8 -x HIP_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 ./test_executable\n\n# For multi-node: GPU count per node must match processes per node\n# Example: 16 ranks on 2 nodes = 8 ranks/node, need 8 GPUs/node\nsalloc -N 2 --gres=gpu:8 --ntasks-per-node=8\nmpirun -np 16 ./test_executable\n\n# Check GPU availability on each node\nrocm-smi --showid\n```\n\n**Multi-Node GPU Assignment:**\nThe framework now uses **local rank** (rank within node) for GPU assignment, not global rank. This means:\n- Node 1: Ranks 0-7 use GPUs 0-7\n- Node 2: Ranks 8-15 use GPUs 0-7\n- Each node independently assigns its local ranks to its local GPUs\n\n### Test Hangs / Deadlock\n\n**Symptom:** Test never completes, all ranks waiting.\n\n**Debugging:** Enable per-rank logging to see where each rank gets stuck:\n```bash\n# Run with per-rank logging\nexport RCCL_MPI_LOG_ALL_RANKS=1\nmpirun -np 4 ./rccl-UnitTestsMPI --gtest_filter=\"HangingTest.*\" &\n\n# Monitor logs in real-time to see where each rank stops\ntail -f rccl_test_rank_*.log\n```\n\n**Common Causes:**\n\n1. **Mismatched Collectives:**\n```cpp\n// ❌ BAD: Not all ranks participate\nif (rank == 0) {\n  ncclAllReduce(...);  // Other ranks don't call this!\n}\n\n// ✅ GOOD: All ranks participate\nRCCL_TEST_CHECK_GTEST_FAIL(ncclAllReduce(...));\n```\n\n2. **Missing Synchronization:**\n```cpp\n// ❌ BAD: Rank 0 waits for data other ranks haven't sent\nASSERT_MPI_SUCCESS(MPI_Barrier(MPI_COMM_WORLD));  // All ranks must reach this\n\n// ✅ GOOD: createTestCommunicator() includes barriers\nASSERT_EQ(ncclSuccess, createTestCommunicator());\n```\n\n3. **Stream Not Synchronized:**\n```cpp\n// ✅ GOOD: Wait for operations to complete\nHIP_TEST_CHECK_GTEST_FAIL(hipStreamSynchronize(getActiveStream()));\nASSERT_MPI_SUCCESS(MPI_Barrier(MPI_COMM_WORLD));\n```\n\n**See:** [Per-Rank Logging](#per-rank-logging) for detailed debugging techniques\n\n### \"More Processes Than CPUs\" Error\n\n**Symptom:**\n```\nA request was made to bind to that would result in binding more\nprocesses than cpus available in your allocation:\n   #processes:      16\n   Binding policy:  CORE\n```\n\n**Cause:** OpenMPI trying to bind each process to a dedicated CPU core, but insufficient cores.\n\n**Solution:** The test runner automatically uses `--bind-to none` to disable CPU binding.\n\n```bash\n# Automatic (if using test runner script)\n./build_test_coverage.std.sh --config test_config.txt\n\n# Manual fix: add --bind-to none\nmpirun -np 16 --bind-to none ./test_executable\n```\n\n**Why this works:** For GPU tests, CPU binding is not critical since GPUs do the computation. Disabling binding allows any number of processes regardless of CPU count.\n\n### Hostfile Issues / \"Host Not Found\"\n\n**Symptom:**\n```\nMissing requested host: node-name\nAt least one of the requested hosts is not included in the current allocation\n```\n\n**Cause:** Hostfile doesn't match allocated nodes or has wrong format.\n\n**Solution:** The test runner automatically generates hostfiles from SLURM allocations.\n\n```bash\n# Automatic (if using test runner with SLURM)\nsalloc -N 2 -n 16\n./build_test_coverage.std.sh --config test_config.txt --no-build\n# Creates temporary hostfile:\n#   node-3 slots=8\n#   node-21 slots=8\n\n# Manual hostfile creation\ncat > hostfile.txt << EOF\nnode-3 slots=8\nnode-21 slots=8\nEOF\nmpirun -np 16 --hostfile hostfile.txt ./test_executable\n```\n\n**Hostfile format:**\n- `hostname slots=N` where N is max processes per node\n- Script auto-calculates: `slots = total_ranks / num_nodes`\n\n### Rank Mismatch in ncclCommInitRank\n\n**Symptom:** Error during communicator creation.\n\n**Solution:**\n```cpp\n// ✅ GOOD: Use createTestCommunicator()\nASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n// ❌ BAD: Manual initialization can get ranks wrong\nncclCommInitRank(&comm, size, id, wrong_rank);\n```\n\n### GPU Out of Memory\n\n**Symptom:** `hipMalloc()` fails with memory error.\n\n**Solutions:**\n1. Reduce buffer sizes\n2. Ensure proper cleanup of previous allocations\n3. Use RAII guards to prevent leaks on test failure\n4. Run tests sequentially instead of in parallel\n\n```cpp\n// ✅ GOOD: Use RAII guards (automatic cleanup even on failure)\nTEST_F(MyTest, Example) {\n  void* buffer = nullptr;\n  allocateAndInitBuffersGuarded(&buffer, nullptr, size, 0);\n  // Automatic cleanup even if test fails\n}\n\n// ❌ BAD: Manual cleanup in TearDown (leaks if test fails)\nvoid TearDown() override {\n  if (buffer) {\n    hipFree(buffer);\n    buffer = nullptr;\n  }\n  MPITestBase::TearDown();\n}\n```\n\n### Corrupted Comm Object Error\n\n**Symptom:** Test passes but logs \"corrupted comm object detected\" errors during cleanup:\n```\nNCCL WARN Error: corrupted comm object detected\n/home/.../src/register/register.cc:171 -> 4\n```\n\n**Cause:** Registration handles being deregistered after communicator was destroyed.\n\n**Solution:** Use `preRegisterBuffersGuarded()` instead of manual registration:\n\n```cpp\n// ✅ GOOD: Guards ensure proper cleanup order\nTEST_F(MyTransportTest, Example) {\n  void* send_buffer = nullptr;\n  void* recv_buffer = nullptr;\n  allocateAndInitBuffersGuarded(&send_buffer, &recv_buffer, size, size);\n\n  void* send_handle = nullptr;\n  void* recv_handle = nullptr;\n  preRegisterBuffersGuarded(send_buffer, recv_buffer, size, size,\n                           &send_handle, &recv_handle);\n\n  // Guards automatically deregister handles BEFORE comm is destroyed\n}\n\n// ❌ BAD: Manual deregistration may happen after comm destroyed\nTEST_F(MyTest, Example) {\n  void* handle = nullptr;\n  ncclCommRegister(comm, buffer, size, &handle);\n  // ... test logic ...\n  ncclCommDeregister(comm, handle);  // May fail if comm destroyed first!\n}\n```\n\n**Why it works:** `TransportTestBase::TearDown()` explicitly clears guard vectors before\ndestroying the communicator, ensuring handles are deregistered while the communicator is\nstill valid.\n\n### Test Skipped: Not Enough Processes\n\n**Symptom:** Test skipped with message about process count.\n\n**Solution:** Run with more processes:\n```bash\n# Test requires 4 processes\nmpirun -np 4 ./test_executable --gtest_filter=\"MyTest.SomeTest\"\n\n# Check what test needs\ngrep validateTestPrerequisites test_file.cpp\n```\n\n### Test Requires Multi-Node But Detects Single Node\n\n**Symptom:** Test skipped with message:\n```\nError: REQUIREMENT NOT MET: Need at least 2 node(s), detected 1 nodes\n```\n\n**Root Cause:** Your `mpirun` command launched all processes on the local node, so node detection correctly reports 1 node. **The detection is working correctly - your launch command needs fixing!**\n\n**Why this happens:**\n```bash\n# ❌ This launches ALL processes on the node where you run the command\nmpirun -np 16 ./test_executable\n# Even with a 2-node SLURM allocation, this puts all 16 processes on the local node\n```\n\n**Solutions - You MUST distribute processes across nodes:**\n\n**Option 1: Use SLURM's srun (Recommended)**\n```bash\n# SLURM's srun automatically distributes based on your allocation\nsalloc -N 2 --ntasks-per-node=8\nsrun -N 2 -n 16 ./test_executable\n# ✓ Node detection: 2 nodes\n```\n\n**Option 2: Use hostfile with proper node names**\n```bash\n# Create hostfile from SLURM allocation\nscontrol show hostnames $SLURM_JOB_NODELIST > hostfile.txt\n\n# Or create manually with actual node names:\ncat > hostfile.txt << EOF\nnode-3 slots=8\nnode-21 slots=8\nEOF\n\nmpirun -np 16 --hostfile hostfile.txt ./test_executable\n# ✓ Node detection: 2 nodes\n```\n\n**Option 3: Explicit host specification**\n```bash\n# Get your allocated node names\nNODE1=$(scontrol show hostnames $SLURM_JOB_NODELIST | sed -n '1p')\nNODE2=$(scontrol show hostnames $SLURM_JOB_NODELIST | sed -n '2p')\n\n# Distribute explicitly\nmpirun -np 16 --host ${NODE1}:8,${NODE2}:8 ./test_executable\n# ✓ Node detection: 2 nodes\n```\n\n**Option 4: Use distribution policy**\n```bash\n# Requires OpenMPI with SLURM support\nmpirun -np 16 --map-by ppr:8:node ./test_executable\n# ✓ Node detection: 2 nodes\n```\n\n**Verify your distribution before running tests:**\n```bash\n# This should show different hostnames\nmpirun -np 16 --host ${NODE1}:8,${NODE2}:8 hostname\n# Should print: 8 lines with node1, 8 lines with node2\n\n# Or with srun:\nsrun -N 2 -n 16 hostname\n```\n\n**Key Point:** Node detection reports WHERE processes ARE running, not where you have nodes allocated. Fix your launch command to actually distribute processes!\n\n### Test Skipped: Node Requirement Not Met\n\n**Symptom:** Test skipped with message like:\n```\nSkipping test - requires at most 1 node(s), detected 2 nodes\nThis test requires single-node execution\nTo run on single node, allocate all processes on the same host\n```\n\n**Cause:** Test requires single-node execution but was run on multiple nodes.\n\n**Solutions:**\n\n**Option 1: Run on single node with multiple GPUs**\n```bash\n# Run 2 processes on single node\nmpirun -np 2 ./test_executable --gtest_filter=\"SingleNodeTest.*\"\n\n# Or specify GPUs explicitly\nmpirun -np 2 -x HIP_VISIBLE_DEVICES=0,1 ./test_executable\n```\n\n**Option 2: Use multi-node capable tests instead**\n```bash\n# Run tests that work across multiple nodes\nmpirun -np 4 --host node1,node2 ./test_executable --gtest_filter=\"MultiNodeTest.*\"\n```\n\n**Option 3: Check your hostfile/job allocation**\n```bash\n# Verify you're actually on different nodes\nmpirun -np 2 hostname\n\n# If both print same hostname, you're on one node\n# If different hostnames, you're on multiple nodes\n```\n\n### Test Fails on Multi-Node But Works on Single-Node\n\n**Symptom:**\n- Test passes when all processes are on one node\n- Test fails or crashes when processes are on different nodes\n- May see errors like \"invalid device pointer\", \"segmentation fault\", or hangs\n\n**Cause:** Test is using features that require single-node execution but lacks node validation.\n\n**Common single-node features:**\n- Direct GPU-to-GPU memory access (P2P transport)\n- Shared memory between processes (SHM transport)\n- Inter-process communication (IPC) handles\n- Assumptions about memory locality or GPU topology\n\n**Solution:**\n```cpp\n// ✅ GOOD: Add node validation\nTEST_F(MyTest, LocalFeature) {\n  ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI, kNoProcessLimit, kNoPowerOfTwoRequired, 1, kRequireSingleNode));\n  // Test will skip gracefully on multi-node\n}\n\n// ✅ GOOD: Or redesign to use network-capable features\nTEST_F(MyTest, DistributedFeature) {\n  ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI));\n  // Uses defaults: any nodes allowed\n  // Use NET transport or network-based communication\n}\n```\n\n### Wrong Results Across Ranks\n\n**Symptom:** Different ranks get different results.\n\n**Solution:** Enable per-rank logging to see output from all ranks:\n```bash\n# Enable per-rank logging for detailed debugging\nexport RCCL_MPI_LOG_ALL_RANKS=1\nmpirun -np 4 ./rccl-UnitTestsMPI --gtest_filter=\"FailingTest.*\"\n\n# Check logs from each rank\ncat rccl_test_rank_0.log\ncat rccl_test_rank_1.log\n```\n\n**Debugging:**\n```cpp\n// Use TEST_INFO for debug output (respects NCCL_DEBUG=INFO)\nTEST_INFO(\"result[0] = %f\", result[0]);\nASSERT_MPI_SUCCESS(MPI_Barrier(MPI_COMM_WORLD));\n\n// Verify all ranks agree\nfloat local_result = result[0];\nfloat global_result;\nASSERT_MPI_SUCCESS(MPI_Allreduce(&local_result, &global_result, 1, MPI_FLOAT,\n                                  MPI_MAX, MPI_COMM_WORLD));\nEXPECT_FLOAT_EQ(local_result, global_result);\n```\n\n**Debug with NCCL_DEBUG:**\n```bash\n# Enable detailed logging from tests and library\nNCCL_DEBUG=INFO RCCL_MPI_LOG_ALL_RANKS=1 mpirun -np 4 ./test_executable\n\n# Output shows rank/hostname automatically:\n# [0] TEST INFO result[0] = 1.000000\n# [1] TEST INFO result[0] = 2.000000\n# [2] TEST INFO result[0] = 3.000000\n```\n\n**See:** [Per-Rank Logging](#per-rank-logging) for more details\n\n---\n\n## Advanced Topics\n\n### Extending MPITestBase\n\nCreate specialized base classes for specific test types:\n\n```cpp\nclass TransportTestBase : public MPITestBase {\nprotected:\n  ncclConnector send_connector = {};\n  ncclConnector recv_connector = {};\n\n  void initializeTransport() {\n    // Transport-specific setup\n  }\n\n  void SetUp() override {\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI));\n    ASSERT_EQ(ncclSuccess, createTestCommunicator());\n    initializeTransport();\n  }\n};\n\nTEST_F(TransportTestBase, P2PTransfer) {\n  // Transport already initialized\n  // Just write your test logic\n}\n```\n\n### Testing with Multiple Communicators\n\n```cpp\nTEST_F(MyTest, MultipleComms) {\n  ASSERT_TRUE(validateTestPrerequisites(4));\n\n  // Create two separate communicators\n  ncclUniqueId id1, id2;\n  ncclComm_t comm1 = nullptr, comm2 = nullptr;\n\n  if (MPIEnvironment::world_rank == 0) {\n    RCCL_TEST_CHECK_GTEST_FAIL(ncclGetUniqueId(&id1));\n    RCCL_TEST_CHECK_GTEST_FAIL(ncclGetUniqueId(&id2));\n  }\n\n  ASSERT_MPI_SUCCESS(MPI_Bcast(&id1, sizeof(id1), MPI_BYTE, 0, MPI_COMM_WORLD));\n  ASSERT_MPI_SUCCESS(MPI_Bcast(&id2, sizeof(id2), MPI_BYTE, 0, MPI_COMM_WORLD));\n\n  RCCL_TEST_CHECK_GTEST_FAIL(ncclCommInitRank(&comm1, MPIEnvironment::world_size, id1,\n                                               MPIEnvironment::world_rank));\n  auto comm1_guard = makeCommAutoGuard(comm1);\n\n  RCCL_TEST_CHECK_GTEST_FAIL(ncclCommInitRank(&comm2, MPIEnvironment::world_size, id2,\n                                               MPIEnvironment::world_rank));\n  auto comm2_guard = makeCommAutoGuard(comm2);\n\n  // Use both communicators...\n\n  // Automatic cleanup via RAII guards\n}\n```\n\n### Testing Error Conditions\n\n```cpp\nTEST_F(MyTest, InvalidRankHandling) {\n  ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI));\n  ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n  void* buffer = nullptr;\n  HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&buffer, 1024));\n  auto buffer_guard = makeDeviceBufferAutoGuard(buffer);\n\n  // Deliberately use invalid rank\n  int invalid_rank = 999;\n\n  // Expect error (don't crash)\n  ncclResult_t result = ncclSend(buffer, 256, ncclFloat, invalid_rank,\n                                  getActiveCommunicator(), getActiveStream());\n\n  EXPECT_NE(result, ncclSuccess);\n  // Test should continue, not deadlock\n}\n```\n\n---\n\n## FAQ\n\n**Q: When should I use MPITestBase vs ProcessIsolatedTestRunner?**\n\nA: Choose based on your testing requirements:\n\n**Use MPITestBase when:**\n- ✅ Testing **multi-process** RCCL operations (collectives, point-to-point)\n- ✅ Testing **multi-node** distributed execution\n- ✅ Validating communication between multiple GPUs/ranks\n- ✅ Testing transport layers (P2P, SHM, NET)\n- ✅ Verifying scalability across processes and nodes\n- ✅ Testing MPI-based coordination and synchronization\n- **Examples:** AllReduce, Broadcast, Send/Recv, multi-GPU collectives, cross-node communication\n\n**Use ProcessIsolatedTestRunner when:**\n- ✅ Testing **single-process** code with clean environment isolation\n- ✅ Need to **set environment variables programmatically** for each test\n- ✅ Testing environment-dependent behavior without affecting other tests\n- ✅ Validating RCCL configuration with different environment settings\n- ✅ Testing initialization/cleanup with isolated state\n- ✅ Running tests that require specific environment variables\n- **Examples:** Testing NCCL_DEBUG levels, NCCL tuning parameters, plugin loading, environment-specific initialization\n\n**Key Differences:**\n\n| Feature | MPITestBase | ProcessIsolatedTestRunner |\n|---------|-------------|---------------------------|\n| **Process Count** | Multiple (2+) | Single |\n| **Node Support** | Single or multi-node | Single node only |\n| **Environment Control** | Inherited from shell | Programmatic per test |\n| **Use Case** | Multi-GPU/multi-node operations | Environment-dependent single-process tests |\n| **Coordination** | MPI barriers and communication | None (isolated process) |\n\n**Q: How many processes should I test with?**\n\nA:\n- Minimum: 2 (for basic collectives and P2P)\n- Common: 2, 4, 8 (good coverage)\n- For scalability: Test with various counts\n- For algorithms: Some require power-of-two (use `kRequirePowerOfTwo`)\n\n**Q: Does `validateTestPrerequisites()` work correctly across multiple nodes?**\n\nA: Yes! It validates both process count AND node count:\n- **Process count validation**: Checks total number of processes (any node distribution)\n- **Node count validation**: Detects number of unique nodes via hostnames\n- Tests can specify node requirements based on what they need\n\nExample:\n```cpp\n// Test that works on any number of nodes (uses defaults)\nvalidateTestPrerequisites(2);\n\n// Test that requires single-node execution\nvalidateTestPrerequisites(2, kNoProcessLimit, kNoPowerOfTwoRequired, 1, kRequireSingleNode);\n```\n\n**Q: How does node detection work?**\n\nA: Node detection uses MPI's built-in shared memory domain detection:\n1. `MPI_Comm_split_type()` with `MPI_COMM_TYPE_SHARED` splits ranks by node (shared memory domain)\n2. Each rank determines its local rank and node size (ranks per node)\n3. Node sizes are gathered to rank 0\n4. Rank 0 analyzes the distribution to count unique nodes\n5. Node count is broadcast to all ranks\n\n**Critical: Node detection reports actual process placement, not intent.**\n\nThe detection method is robust and works with any MPI implementation. However, it detects WHERE processes are actually running. If your `mpirun` command doesn't distribute processes across nodes, detection correctly reports 1 node.\n\n**Common mistake:**\n```bash\n# This launches all processes on the LOCAL node (where you run the command)\nmpirun -np 16 ./test_executable\n# Node detection: 1 node ✓ (correct - all on one node)\n```\n\n**Correct multi-node launch:**\n```bash\n# With SLURM (recommended - automatic distribution)\nsrun -N 2 -n 16 ./test_executable\n\n# With hostfile\nmpirun -np 16 --hostfile hostfile.txt ./test_executable\n\n# With explicit hosts\nmpirun -np 16 --host node1:8,node2:8 ./test_executable\n\n# With distribution policy\nmpirun -np 16 --map-by ppr:8:node ./test_executable\n# Node detection: 2 nodes ✓ (processes actually on 2 nodes)\n```\n\nThe detection method works transparently with any job scheduler (SLURM, PBS, etc.), but **you must launch processes correctly** for them to actually be distributed across nodes.\n\n**Q: When should I use `kRequireSingleNode` vs `kNoNodeLimit`?**\n\nA: Based on what your test requires:\n\n**Use `kRequireSingleNode` when your test:**\n- Uses direct GPU-to-GPU memory access\n- Requires shared memory between processes\n- Uses inter-process communication (IPC) handles\n- Makes assumptions about memory locality or GPU topology\n- Uses features that only work within a single physical node\n- Examples: P2P transport, SHM transport, GPU topology tests, local memory tests\n\n**Use `kNoNodeLimit` (default) when your test:**\n- Works with network-based communication\n- Uses distributed features or algorithms\n- Should work regardless of node configuration\n- Tests scalability across multiple nodes\n- Examples: NET transport, collective operations, RDMA features, scalability tests\n\n**General guidance:**\n- If your test uses intra-node features → use `kRequireSingleNode`\n- If your test works across nodes → use `kNoNodeLimit` or omit (it's the default)\n- If unsure, leave it as default (`kNoNodeLimit`) and add validation if you encounter multi-node issues\n\n**Q: Can I run MPI tests locally?**\n\nA: Yes, if you have:\n- Multiple GPUs in your system\n- MPI installed (OpenMPI, MPICH, etc.)\n- Tests built with `MPI_TESTS_ENABLED`\n\n**Q: How do I debug a specific rank?**\n\nA:\n```bash\n# Method 1: Use per-rank logging with NCCL_DEBUG (easiest)\nNCCL_DEBUG=INFO RCCL_MPI_LOG_ALL_RANKS=1 mpirun -np 4 ./test_executable\n# Check rccl_test_rank_2.log for rank 2 output\n# TEST_INFO messages will appear automatically\n\n# Method 2: GDB with MPI\nmpirun -np 2 xterm -e gdb ./test_executable\n\n# Method 3: Attach to specific rank PID\nmpirun -np 4 ./test_executable &\ngdb -p <rank_pid>\n\n# Method 4: Use TEST_INFO for conditional debugging\nif (MPIEnvironment::world_rank == 2) {\n  TEST_INFO(\"Debug info from rank 2...\");\n  // Only appears when NCCL_DEBUG=INFO\n}\n```\n\n**Q: How do TEST_* macros work with NCCL_DEBUG?**\n\nA: TEST_* macros respect the `NCCL_DEBUG` environment variable:\n```bash\n# No output from TEST_* macros (clean)\nmpirun -np 2 ./test_executable\n\n# TEST_INFO and higher appear\nNCCL_DEBUG=INFO mpirun -np 2 ./test_executable\n\n# All TEST_* macros appear\nNCCL_DEBUG=TRACE mpirun -np 2 ./test_executable\n```\n\n**Available levels (least to most verbose):**\n- `NCCL_DEBUG=WARN` → TEST_WARN\n- `NCCL_DEBUG=INFO` → TEST_WARN, TEST_INFO (recommended for debugging)\n- `NCCL_DEBUG=ABORT` → All above + TEST_ABORT\n- `NCCL_DEBUG=TRACE` → All macros including TEST_TRACE\n\n**Benefits:**\n- ✅ Same verbosity control as RCCL library\n- ✅ Automatic rank prefixes (no manual \"Rank %d:\")\n- ✅ Hostname included for multi-node tests\n- ✅ Clean output in production (no NCCL_DEBUG)\n- ✅ Detailed debugging on demand (NCCL_DEBUG=INFO)\n\n---\n\n## Standalone Tests\n\nThe MPI test infrastructure now supports **framework-agnostic testing**, allowing you to write tests\nwithout Google Test. This is ideal for:\n\n- **Performance benchmarks** (bandwidth, latency)\n- **Low-level API tests** without GTest overhead\n- **Production utilities** using MPI infrastructure\n- **Custom test harnesses**\n\n### Quick Comparison\n\n| Feature | GTest (MPITestBase) | Standalone (MPIStandaloneTest) |\n|---------|--------------------|---------------------------------|\n| Requires GTest | ✅ Yes | ❌ No |\n| Assertions | ASSERT_*, EXPECT_* | Return codes |\n| Setup/Teardown | Automatic | Manual `cleanup()` |\n| Best For | Unit/integration tests | Performance benchmarks |\n| Overhead | Higher | Minimal |\n\n### Example: Standalone Test\n\n```cpp\n#include \"MPIStandaloneTest.hpp\"\n#include \"MPIHelpers.hpp\"\n\nclass MyBenchmark : public MPIStandaloneTest {\npublic:\n    int run() override {\n        // Validate prerequisites\n        if (!validateTestPrerequisites(2, 2)) return 0; // Skip\n\n        // Create communicator\n        if (createTestCommunicator() != ncclSuccess) return 1; // Error\n\n        // Your benchmark code here...\n        // Use getActiveCommunicator() and getActiveStream()\n\n        return 0; // Success\n    }\n};\n\nint main(int argc, char** argv) {\n    // Initialize MPI and setup GPU\n    auto mpi_ctx = MPIHelpers::initializeMPI(&argc, &argv);\n    MPIHelpers::setupGPU(mpi_ctx.world_rank);\n\n    // Run test with automatic cleanup via RAII\n    int result = 0;\n    {\n        MyBenchmark test;\n        MPIStandaloneTestRAII raii(&test);  // Automatic cleanup on scope exit\n        result = test.run();\n    }\n\n    MPI_Finalize();\n    return result;\n}\n```\n\n---\n\n## See Also\n\n**Core Test Infrastructure:**\n- **MPITestCore.hpp** - Framework-agnostic base class\n- **MPITestBase.hpp** - Google Test adapter (full API documentation)\n- **MPIStandaloneTest.hpp** - Standalone test adapter\n- **MPIEnvironment.hpp** - MPI environment setup\n- **MPIEnvironment.cpp** - Multi-node GPU assignment implementation\n\n**Test Examples:**\n- **transport/P2pMPITests.cpp** - P2P transport tests (demonstrate single-node validation)\n- **transport/ShmMPITests.cpp** - Shared memory transport tests (demonstrate single-node validation)\n- **transport/NetMPITests.cpp** - Network transport tests (demonstrate multi-node capable tests)\n"
  },
  {
    "path": "test/common/PrepDataFuncs.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"CollectiveArgs.hpp\"\n#include \"PrepDataFuncs.hpp\"\n#include <cstdio>\n#include <hip/hip_runtime.h>\n\nnamespace RcclUnitTesting\n{\n  ErrCode DefaultPrepareDataFunc(CollectiveArgs &collArgs)\n  {\n    switch (collArgs.funcType)\n    {\n    case ncclCollBroadcast:     return DefaultPrepData_Broadcast(collArgs);\n    case ncclCollReduce:        return DefaultPrepData_Reduce(collArgs, false);\n    case ncclCollAllGather:     return DefaultPrepData_Gather(collArgs, true);\n    case ncclCollReduceScatter: return DefaultPrepData_ReduceScatter(collArgs);\n    case ncclCollAllReduce:     return DefaultPrepData_Reduce(collArgs, true);\n    case ncclCollGather:        return DefaultPrepData_Gather(collArgs, false);\n    case ncclCollScatter:       return DefaultPrepData_Scatter(collArgs);\n    case ncclCollAlltoAll:      return DefaultPrepData_AllToAll(collArgs);\n    case ncclCollAlltoAllv:     return DefaultPrepData_AllToAllv(collArgs);\n    case ncclCollSend:          return DefaultPrepData_Send(collArgs);\n    case ncclCollRecv:          return DefaultPrepData_Recv(collArgs);\n    default:\n      ERROR(\"Unknown func type %d\\n\", collArgs.funcType);\n      return TEST_FAIL;\n    }\n  }\n\n  ErrCode CheckAllocation(CollectiveArgs const& collArgs)\n  {\n    if (collArgs.numInputElements > collArgs.numInputElementsAllocated)\n    {\n      ERROR(\"Number of input elements (%lu) exceeds the number of allocated input elements (%lu)\\n\",\n            collArgs.numInputElements, collArgs.numInputElementsAllocated);\n      return TEST_FAIL;\n    }\n\n    if (collArgs.numOutputElements > collArgs.numOutputElementsAllocated)\n    {\n      ERROR(\"Number of output elements (%lu) exceeds the number of allocated output elements (%lu)\\n\",\n            collArgs.numOutputElements, collArgs.numOutputElementsAllocated);\n      return TEST_FAIL;\n    }\n\n    // Check bias allocation if bias is enabled\n    if (collArgs.options.useBias)\n    {\n      if (collArgs.numBiasElements == 0 || collArgs.numBiasBytesAllocated == 0)\n      {\n        ERROR(\"Bias is enabled but bias buffers are not allocated\\n\");\n        return TEST_FAIL;\n      }\n      if (collArgs.numBiasElements != collArgs.numOutputElements)\n      {\n        ERROR(\"Number of bias elements (%lu) must match number of output elements (%lu)\\n\",\n              collArgs.numBiasElements, collArgs.numOutputElements);\n        return TEST_FAIL;\n      }\n    }\n    return TEST_SUCCESS;\n  }\n\n  ErrCode DefaultPrepData_Broadcast(CollectiveArgs &collArgs)\n  {\n    CHECK_CALL(CheckAllocation(collArgs));\n    if (collArgs.numInputElements != collArgs.numOutputElements)\n    {\n      ERROR(\"Number of input elements must match number of output elements for Broadcast\\n\");\n      return TEST_FAIL;\n    }\n\n    size_t const numBytes = collArgs.numInputElements * DataTypeToBytes(collArgs.dataType);\n\n    // Clear output for all ranks (done before filling input in case of in-place)\n    CHECK_CALL(collArgs.outputGpu.ClearGpuMem(numBytes));\n\n    // Only root needs input pattern\n    if (collArgs.globalRank == collArgs.options.root)\n      CHECK_CALL(collArgs.inputGpu.FillPattern(collArgs.dataType,\n                                               collArgs.numInputElements,\n                                               collArgs.options.root, true));\n\n    // Otherwise all other ranks expected output is the same as input of root\n    return collArgs.expected.FillPattern(collArgs.dataType,\n                                         collArgs.numInputElements,\n                                         collArgs.options.root,\n                                         false);\n  }\n\n  ErrCode DefaultPrepData_Reduce(CollectiveArgs &collArgs, bool const isAllReduce)\n  {\n    CHECK_CALL(CheckAllocation(collArgs));\n    if (collArgs.numInputElements != collArgs.numOutputElements)\n    {\n      ERROR(\"Number of input elements must match number of output elements for Reduce\\n\");\n      return TEST_FAIL;\n    }\n\n    size_t const numBytes = collArgs.numInputElements * DataTypeToBytes(collArgs.dataType);\n\n    // Clear output for all ranks (done before filling input in case of in-place)\n    CHECK_CALL(collArgs.outputGpu.ClearGpuMem(numBytes));\n\n    // Clear expected buffer for holding reduction\n    PtrUnion result;\n    CHECK_CALL(result.Attach(collArgs.expected));\n    CHECK_CALL(result.ClearCpuMem(numBytes));\n\n    // If average or custom reduction operator is used, perform a summation instead\n    ncclRedOp_t const tempOp = (collArgs.options.redOp >= ncclAvg ? ncclSum : collArgs.options.redOp);\n\n    // Loop over each rank and generate their input into a temp buffer, then reduce\n    PtrUnion scalarsPerRank;\n    scalarsPerRank.Attach(collArgs.options.scalarTransport.ptr);\n\n    PtrUnion tempInputCpu;\n    CHECK_CALL(tempInputCpu.Attach(collArgs.outputCpu));\n    for (int rank = 0; rank < collArgs.totalRanks; ++rank)\n    {\n      // Generate temporary input for this rank\n      if (collArgs.options.inputConstantValue >= 0)\n      {\n        // Use constant value for all input elements across all ranks\n        // This is useful for ncclProd at high rank counts to avoid factorial overflow\n        for (size_t i = 0; i < collArgs.numInputElements; i++)\n        {\n          CHECK_CALL(tempInputCpu.Set(collArgs.dataType, i,\n                                      collArgs.options.inputConstantValue,\n                                      (double)collArgs.options.inputConstantValue));\n        }\n      }\n      else\n      {\n        // Use rank-based pattern: value[rank][i] = (rank + i) % 256 (default behavior)\n        CHECK_CALL(tempInputCpu.FillPattern(collArgs.dataType, collArgs.numInputElements, rank, false));\n      }\n\n      // Copy the pre-scaled input into GPU memory for the correct rank\n      if (rank == collArgs.globalRank)\n      {\n        CHECK_HIP(hipMemcpy(collArgs.inputGpu.ptr, tempInputCpu.ptr, numBytes, hipMemcpyHostToDevice));\n      }\n\n      // Scale the temporary input by local scalar for this rank\n      // (Used by custom reduction ops)\n      if (collArgs.options.scalarMode >= 0)\n      {\n        CHECK_CALL(tempInputCpu.Scale(collArgs.dataType, collArgs.numInputElements,\n                                      scalarsPerRank, rank));\n      }\n\n      // Any rank that requires output reduces the scaled-inputs\n      if (isAllReduce || collArgs.options.root == collArgs.globalRank)\n      {\n        if (rank == 0)\n        {\n          memcpy(result.ptr, tempInputCpu.ptr, numBytes);\n        }\n        else\n        {\n          CHECK_CALL(result.Reduce(collArgs.dataType, collArgs.numInputElements,\n                                   tempInputCpu, tempOp));\n        }\n      }\n    }\n\n    // Perform averaging if necessary\n    if (collArgs.options.redOp == ncclAvg && (isAllReduce || collArgs.options.root == collArgs.globalRank))\n    {\n      CHECK_CALL(result.DivideByInt(collArgs.dataType, collArgs.numInputElements, collArgs.totalRanks));\n    }\n\n    // Add bias to expected output if bias is enabled\n    if (collArgs.options.useBias && (isAllReduce || collArgs.options.root == collArgs.globalRank))\n    {\n      // Initialize bias data on CPU\n      if (collArgs.options.biasConstantValue >= 0)\n      {\n        // Use constant value for all bias elements (useful for ncclProd to avoid overflow)\n        for (size_t i = 0; i < collArgs.numBiasElements; i++)\n        {\n          CHECK_CALL(collArgs.biasCpu.Set(collArgs.dataType, i,\n                                          collArgs.options.biasConstantValue,\n                                          (double)collArgs.options.biasConstantValue));\n        }\n      }\n      else\n      {\n        // Use incremental pattern: bias[i] = i (default behavior)\n        CHECK_CALL(collArgs.biasCpu.FillPattern(collArgs.dataType, collArgs.numBiasElements, 0, false));\n      }\n\n      // Copy bias data to GPU\n      size_t const biasBytes = collArgs.numBiasBytesAllocated;\n      CHECK_HIP(hipMemcpy(collArgs.biasGpu.ptr, collArgs.biasCpu.ptr, biasBytes, hipMemcpyHostToDevice));\n\n      // Apply bias to expected output using the SAME reduction operation as AllReduce\n      CHECK_CALL(result.Reduce(collArgs.dataType, collArgs.numInputElements, collArgs.biasCpu, tempOp));\n\n      // Update the biasPtr in options to point to the GPU buffer\n      collArgs.options.biasPtr = collArgs.biasGpu.ptr;\n    }\n\n    return TEST_SUCCESS;\n  }\n\n  ErrCode DefaultPrepData_Gather(CollectiveArgs &collArgs, bool const isAllGather)\n  {\n    CHECK_CALL(CheckAllocation(collArgs));\n    if (collArgs.totalRanks * collArgs.numInputElements != collArgs.numOutputElements)\n    {\n      ERROR(\"# of output elements must be total ranks * # input elements for AllGather\\n\");\n      return TEST_FAIL;\n    }\n\n    // Clear output for all ranks (done before filling input in case of in-place)\n    size_t const numInputBytes = collArgs.numInputElements * DataTypeToBytes(collArgs.dataType);\n    size_t const numOutputBytes = collArgs.numOutputElements * DataTypeToBytes(collArgs.dataType);\n    CHECK_CALL(collArgs.inputGpu.ClearGpuMem(numInputBytes));\n    CHECK_CALL(collArgs.outputGpu.ClearGpuMem(numOutputBytes));\n\n    PtrUnion result;\n    CHECK_CALL(result.Attach(collArgs.expected.ptr));\n    CHECK_CALL(result.ClearCpuMem(numOutputBytes));\n\n    // Use outputCpu buffer to store temporary input\n    PtrUnion tempInputCpu;\n    CHECK_CALL(tempInputCpu.Attach(collArgs.outputCpu.ptr));\n\n    for (int rank = 0; rank < collArgs.totalRanks; ++rank)\n    {\n      CHECK_CALL(tempInputCpu.FillPattern(collArgs.dataType, collArgs.numInputElements, rank, false));\n      if (rank == collArgs.globalRank)\n      {\n        CHECK_HIP(hipMemcpy(collArgs.inputGpu.ptr, tempInputCpu.ptr, numInputBytes, hipMemcpyHostToDevice));\n      }\n      if (isAllGather || collArgs.options.root == collArgs.globalRank)\n      {\n        memcpy(result.I1 + (rank * numInputBytes), tempInputCpu.ptr, numInputBytes);\n      }\n    }\n    return TEST_SUCCESS;\n  }\n\n  ErrCode DefaultPrepData_ReduceScatter(CollectiveArgs &collArgs)\n  {\n    CHECK_CALL(CheckAllocation(collArgs));\n    if (collArgs.numInputElements != collArgs.numOutputElements * collArgs.totalRanks)\n    {\n      ERROR(\"# of input elements must be total ranks * # output elements for ReduceScatter\\n\");\n      return TEST_FAIL;\n    }\n\n    size_t const numInputBytes  = collArgs.numInputElements * DataTypeToBytes(collArgs.dataType);\n    size_t const numOutputBytes = collArgs.numOutputElements * DataTypeToBytes(collArgs.dataType);\n\n    // Clear output for all ranks (done before filling input in case of in-place)\n    CHECK_CALL(collArgs.outputGpu.ClearGpuMem(numOutputBytes));\n\n    PtrUnion tempInputCpu;\n    PtrUnion tempResultCpu;\n\n    CHECK_CALL(tempInputCpu.AllocateCpuMem(numInputBytes));\n    CHECK_CALL(tempResultCpu.AllocateCpuMem(numInputBytes));\n    CHECK_CALL(tempResultCpu.ClearCpuMem(numInputBytes));\n\n    // If average or custom reduction operator is used, perform a summation instead\n    ncclRedOp_t const tempOp = (collArgs.options.redOp >= ncclAvg ? ncclSum : collArgs.options.redOp);\n\n    // Loop over each rank and generate the input / scale / reduce\n    PtrUnion scalarsPerRank;\n    scalarsPerRank.Attach(collArgs.options.scalarTransport.ptr);\n    for (int rank = 0; rank < collArgs.totalRanks; ++rank)\n    {\n      CHECK_CALL(tempInputCpu.FillPattern(collArgs.dataType, collArgs.numInputElements, rank, false));\n\n      if (rank == collArgs.globalRank)\n      {\n        if (hipMemcpy(collArgs.inputGpu.ptr, tempInputCpu.ptr, numInputBytes, hipMemcpyHostToDevice) != hipSuccess)\n        {\n          ERROR(\"hipMemcpy to input failed\\n\");\n          CHECK_CALL(tempInputCpu.FreeCpuMem());\n          CHECK_CALL(tempResultCpu.FreeCpuMem());\n          return TEST_FAIL;\n        }\n      }\n\n      // Scale the temporary input by local scalar for this rank\n      // (Used by custom reduction ops)\n      if (collArgs.options.scalarMode >= 0)\n      {\n        CHECK_CALL(tempInputCpu.Scale(collArgs.dataType, collArgs.numInputElements,\n                                      scalarsPerRank, rank));\n      }\n\n      if (rank == 0)\n      {\n        memcpy(tempResultCpu.ptr, tempInputCpu.ptr, numInputBytes);\n      }\n      else\n      {\n        CHECK_CALL(tempResultCpu.Reduce(collArgs.dataType, collArgs.numInputElements,\n                                        tempInputCpu, tempOp));\n      }\n    }\n\n    // Perform averaging if necessary\n    if (collArgs.options.redOp == ncclAvg)\n    {\n      CHECK_CALL(tempResultCpu.DivideByInt(collArgs.dataType, collArgs.numInputElements, collArgs.totalRanks));\n    }\n\n    // Copy over portion of result\n    memcpy(collArgs.expected.I1,\n           tempResultCpu.I1 + collArgs.globalRank * numOutputBytes,\n           numOutputBytes);\n    CHECK_CALL(tempInputCpu.FreeCpuMem());\n    CHECK_CALL(tempResultCpu.FreeCpuMem());\n    return TEST_SUCCESS;\n  }\n\n  ErrCode DefaultPrepData_Scatter(CollectiveArgs &collArgs)\n  {\n    CHECK_CALL(CheckAllocation(collArgs));\n    if (collArgs.numInputElements != collArgs.numOutputElements * collArgs.totalRanks)\n    {\n      ERROR(\"# of input elements must be total ranks * # output elements for Scatter\\n\");\n      return TEST_FAIL;\n    }\n\n    size_t const numInputBytes = collArgs.numInputElements * DataTypeToBytes(collArgs.dataType);\n    size_t const numOutputBytes = collArgs.numOutputElements * DataTypeToBytes(collArgs.dataType);\n\n    // Clear outputs on all ranks (prior to input in case of in-place)\n    collArgs.outputGpu.ClearGpuMem(numOutputBytes);\n\n    // Generate input as if on root rank - each rank will receive a portion\n    PtrUnion tempInput;\n    tempInput.AllocateCpuMem(numInputBytes);\n    tempInput.FillPattern(collArgs.dataType, collArgs.numInputElements, collArgs.options.root, false);\n\n    // Copy input to root rank\n    if (collArgs.globalRank == collArgs.options.root)\n    {\n      if (hipMemcpy(collArgs.inputGpu.ptr, tempInput.ptr, numInputBytes, hipMemcpyHostToDevice) != hipSuccess)\n      {\n        ERROR(\"hipMemcpy to input failed\\n\");\n        tempInput.FreeCpuMem();\n        return TEST_FAIL;\n      }\n    }\n    else\n    {\n      collArgs.inputGpu.ClearGpuMem(numInputBytes);\n    }\n\n    // Each rank receive a portion of the input\n    memcpy(collArgs.expected.U1, tempInput.U1 + (collArgs.globalRank * numOutputBytes), numOutputBytes);\n\n    tempInput.FreeCpuMem();\n    return TEST_SUCCESS;\n  }\n\n  ErrCode DefaultPrepData_AllToAll(CollectiveArgs &collArgs)\n  {\n    CHECK_CALL(CheckAllocation(collArgs));\n    if (collArgs.numInputElements != collArgs.numOutputElements)\n    {\n      ERROR(\"Number of input elements must match number of output elements for AllToAll\\n\");\n      return TEST_FAIL;\n    }\n    if (collArgs.numInputElements % collArgs.totalRanks)\n    {\n      ERROR(\"Input / Output size for AllToAll must be a multiple of %d\\n\", collArgs.totalRanks);\n      return TEST_FAIL;\n    }\n    size_t const numInputBytes = collArgs.numInputElements * DataTypeToBytes(collArgs.dataType);\n    size_t const numOutputBytes = collArgs.numOutputElements * DataTypeToBytes(collArgs.dataType);\n    size_t const numBytes = numInputBytes / collArgs.totalRanks;\n\n    // Clear outputs on all ranks (prior to input in case of in-place)\n    collArgs.outputGpu.ClearGpuMem(numOutputBytes);\n\n    // Generate input on root rank - each rank will receive a portion\n    PtrUnion tempInput;\n    tempInput.Attach(collArgs.outputCpu);\n\n    for (int rank = 0; rank < collArgs.totalRanks; ++rank)\n    {\n      tempInput.FillPattern(collArgs.dataType, collArgs.numInputElements, rank, false);\n\n      // Copy input\n      if (rank == collArgs.globalRank)\n      {\n        CHECK_HIP(hipMemcpy(collArgs.inputGpu.ptr, tempInput.ptr, numInputBytes, hipMemcpyHostToDevice));\n      }\n      memcpy(collArgs.expected.U1 + (numBytes * rank), tempInput.U1 + (numBytes * collArgs.globalRank), numBytes);\n    }\n    return TEST_SUCCESS;\n  }\n\n  ErrCode DefaultPrepData_AllToAllv(CollectiveArgs &collArgs)\n  {\n\n    CHECK_CALL(CheckAllocation(collArgs));\n    size_t const numInputBytes = collArgs.numInputElements * DataTypeToBytes(collArgs.dataType);\n    size_t const numOutputBytes = collArgs.numOutputElements * DataTypeToBytes(collArgs.dataType);\n\n    // calculating maxNumElements  as the maximum number of input bytes out of all the ranks\n    size_t maxNumElements  = 0;\n    for (int sendRank = 0; sendRank < collArgs.totalRanks; ++sendRank)\n    for (int recvRank = 0; recvRank < collArgs.totalRanks; ++recvRank)\n    {\n      size_t rankSendCount = collArgs.options.sdispls[(sendRank)*collArgs.totalRanks+recvRank] + collArgs.options.sendcounts[(sendRank)*collArgs.totalRanks+recvRank];\n      maxNumElements = std::max(maxNumElements, rankSendCount);\n    }\n\n    // Clear outputs on all ranks (prior to input in case of in-place)\n    collArgs.outputGpu.ClearGpuMem(numOutputBytes);\n\n    // Generate input on root rank - each rank will receive a portion\n    PtrUnion tempInput;\n    tempInput.AllocateCpuMem(maxNumElements*DataTypeToBytes(collArgs.dataType));\n\n    for (int sendRank = 0; sendRank < collArgs.totalRanks; ++sendRank)\n    {\n      tempInput.FillPattern(collArgs.dataType, maxNumElements, sendRank, false);\n      size_t recvDspls = collArgs.options.rdispls[collArgs.globalRank*collArgs.totalRanks + sendRank] * DataTypeToBytes(collArgs.dataType);\n      size_t sendDspls = collArgs.options.sdispls[sendRank*collArgs.totalRanks + collArgs.globalRank] * DataTypeToBytes(collArgs.dataType);\n      size_t numBytes = collArgs.options.recvcounts[collArgs.globalRank*collArgs.totalRanks + sendRank] * DataTypeToBytes(collArgs.dataType);\n      memcpy(collArgs.expected.U1 + recvDspls, tempInput.U1 + sendDspls, numBytes);\n    }\n    tempInput.FillPattern(collArgs.dataType, collArgs.numInputElements, collArgs.globalRank, false);\n\n    CHECK_HIP(hipMemcpy(collArgs.inputGpu.ptr, tempInput.ptr, numInputBytes, hipMemcpyHostToDevice));\n\n    tempInput.FreeCpuMem();\n    return TEST_SUCCESS;\n  }\n\n  ErrCode DefaultPrepData_Send(CollectiveArgs &collArgs)\n  {\n    CHECK_CALL(CheckAllocation(collArgs));\n    return collArgs.inputGpu.FillPattern(collArgs.dataType,\n                                               collArgs.numInputElements,\n                                               collArgs.globalRank, true);\n  }\n\n  ErrCode DefaultPrepData_Recv(CollectiveArgs &collArgs)\n  {\n    CHECK_CALL(CheckAllocation(collArgs));\n    return collArgs.expected.FillPattern(collArgs.dataType,\n                                         collArgs.numOutputElements,\n                                         collArgs.options.root,\n                                         false);\n  }\n}\n"
  },
  {
    "path": "test/common/PrepDataFuncs.hpp",
    "content": " /*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#pragma once\n#include \"ErrCode.hpp\"\n\nnamespace RcclUnitTesting\n{\n  class CollectiveArgs;\n\n  // Checks that enough memory has been allocated\n  ErrCode CheckAllocation(CollectiveArgs const& collArgs);\n\n  // Default PrepareData functions\n  // PrepareData functions are responsible for setting up input / expected for the given collArgs\n  ErrCode DefaultPrepareDataFunc(CollectiveArgs &collArgs);\n  ErrCode DefaultPrepData_Broadcast(CollectiveArgs &collArgs);\n  ErrCode DefaultPrepData_Reduce(CollectiveArgs &collArgs, bool const isAllReduce);\n  ErrCode DefaultPrepData_Gather(CollectiveArgs &collArgs, bool const isAllGather);\n  ErrCode DefaultPrepData_ReduceScatter(CollectiveArgs &collArgs);\n  ErrCode DefaultPrepData_Scatter(CollectiveArgs &collArgs);\n  ErrCode DefaultPrepData_AllToAll(CollectiveArgs &collArgs);\n  ErrCode DefaultPrepData_AllToAllv(CollectiveArgs &collArgs);\n  ErrCode DefaultPrepData_Send(CollectiveArgs &collArgs);\n  ErrCode DefaultPrepData_Recv(CollectiveArgs &collArgs);\n}\n"
  },
  {
    "path": "test/common/ProcessIsolatedTestRunner.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"ProcessIsolatedTestRunner.hpp\"\n\n#include <errno.h>\n#include <fcntl.h>\n#include <gtest/gtest.h>\n#include <unistd.h>\n\n#include <atomic>\n#include <cstdio>\n#include <cstdlib>\n#include <cstring>\n#include <iostream>\n#include <thread>\n\n#include \"ErrCode.hpp\"\n\nnamespace RcclUnitTesting\n{\n\n// Exit codes for test process results\nenum RcclTestCode\n{\n    RCCL_TEST_INVALID           = -1,\n    RCCL_TEST_SUCCESS           = 0,\n    RCCL_TEST_FAILURE           = 1,\n    RCCL_TEST_UNKNOWN_EXCEPTION = 2,\n    RCCL_TEST_TIMEOUT           = 3,\n    RCCL_TEST_SKIPPED           = 4\n};\n\n// Define static members\nstd::mutex                                         ProcessIsolatedTestRunner::testConfigsMutex_;\nstd::vector<ProcessIsolatedTestRunner::TestConfig> ProcessIsolatedTestRunner::testConfigs_;\nstd::mutex                                         ProcessIsolatedTestRunner::resultsMutex_;\nstd::vector<ProcessIsolatedTestRunner::TestResult> ProcessIsolatedTestRunner::testResults_;\n\n// TestResult implementation\nProcessIsolatedTestRunner::TestResult::TestResult()\n    : passed(false), skipped(false), exitCode(-1), processId(-1), duration(0)\n{}\n\n// TestConfig implementation\nProcessIsolatedTestRunner::TestConfig::TestConfig(\n    const std::string& testName, std::function<void()> logic\n)\n    : name(testName), testLogic(logic), timeout(30), inheritParentEnv(true)\n{}\n\nProcessIsolatedTestRunner::TestConfig& ProcessIsolatedTestRunner::TestConfig::withEnvironment(\n    const std::unordered_map<std::string, std::string>& env\n)\n{\n    environmentVariables = env;\n    return *this;\n}\n\nProcessIsolatedTestRunner::TestConfig&\n    ProcessIsolatedTestRunner::TestConfig::withTimeout(std::chrono::seconds timeoutSeconds)\n{\n    timeout = timeoutSeconds;\n    return *this;\n}\n\nProcessIsolatedTestRunner::TestConfig&\n    ProcessIsolatedTestRunner::TestConfig::withCleanEnvironment(bool inherit)\n{\n    inheritParentEnv = inherit;\n    return *this;\n}\n\nProcessIsolatedTestRunner::TestConfig&\n    ProcessIsolatedTestRunner::TestConfig::clearVariable(const std::string& varName)\n{\n    clearEnvVars.push_back(varName);\n    return *this;\n}\n\nProcessIsolatedTestRunner::TestConfig& ProcessIsolatedTestRunner::TestConfig::setVariable(\n    const std::string& name, const std::string& value\n)\n{\n    environmentVariables[name] = value;\n    return *this;\n}\n\n// ExecutionOptions implementation\nProcessIsolatedTestRunner::ExecutionOptions::ExecutionOptions()\n    : stopOnFirstFailure(false), verboseLogging(true)\n{}\n\n// Apply environment variables to current process\nvoid ProcessIsolatedTestRunner::applyEnvironmentVariables(const TestConfig& config)\n{\n    // Clear specified environment variables first\n    for(const auto& varName : config.clearEnvVars)\n    {\n        unsetenv(varName.c_str());\n    }\n\n    // If not inheriting parent environment, clear all environment variables\n    if(!config.inheritParentEnv)\n    {\n        // Clear all existing environment variables\n        if(clearenv() != 0)\n        {\n            std::cerr << \"Warning: Failed to clear environment variables\" << std::endl;\n        }\n\n        // Set only the specified variables\n        for(const auto& [name, value] : config.environmentVariables)\n        {\n            setenv(name.c_str(), value.c_str(), 1);\n        }\n    }\n    else\n    {\n        // Just set/override the specified variables\n        for(const auto& [name, value] : config.environmentVariables)\n        {\n            setenv(name.c_str(), value.c_str(), 1);\n        }\n    }\n}\n\n// Execute a single test in a separate process\nint ProcessIsolatedTestRunner::runTestInProcess(const TestConfig& config)\n{\n    pid_t processId = getpid();\n\n    if(config.name.empty())\n    {\n        std::cerr << \"Error: Test name is empty for process \" << processId << std::endl;\n        return RCCL_TEST_FAILURE;\n    }\n\n    try\n    {\n        // Apply environment variables\n        applyEnvironmentVariables(config);\n\n        // Thread-safe test execution with timeout protection\n        std::atomic<bool>  testCompleted{false};\n        std::exception_ptr testException = nullptr;\n        bool               testPassed    = true;\n        bool               testSkipped   = false;\n\n        // Run test in a separate thread to allow timeout handling\n        std::thread testThread(\n            [&]()\n            {\n                try\n                {\n                    // Get initial test state\n                    const ::testing::UnitTest* unitTest = ::testing::UnitTest::GetInstance();\n                    size_t                     initialFailureCount = unitTest->failed_test_count();\n                    size_t                     initialSkippedCount = unitTest->skipped_test_count();\n\n                    // Execute the test logic\n                    config.testLogic();\n\n                    // Check if any new test failures occurred\n                    size_t finalFailureCount = unitTest->failed_test_count();\n                    size_t finalSkippedCount = unitTest->skipped_test_count();\n\n                    testPassed  = (finalFailureCount == initialFailureCount);\n                    testSkipped = (finalSkippedCount > initialSkippedCount);\n\n                    testCompleted = true;\n                }\n                catch(...)\n                {\n                    testException = std::current_exception();\n                    testPassed    = false;\n                    testCompleted = true;\n                }\n            }\n        );\n\n        // Wait for test completion with timeout\n        auto       start   = std::chrono::steady_clock::now();\n        const auto timeout = config.timeout;\n\n        while(!testCompleted.load())\n        {\n            std::this_thread::sleep_for(std::chrono::milliseconds(100));\n            if(std::chrono::steady_clock::now() - start > timeout)\n            {\n                // Test timed out\n                INFO(\n                    \"Test '%s' TIMED OUT after %ld seconds\\n\",\n                    config.name.c_str(),\n                    timeout.count()\n                );\n                fflush(NULL);\n                testThread.detach();\n                return RCCL_TEST_TIMEOUT;\n            }\n        }\n\n        // Wait for thread completion\n        if(testThread.joinable())\n        {\n            testThread.join();\n        }\n\n        // Check if test threw an exception\n        if(testException)\n        {\n            std::rethrow_exception(testException);\n        }\n\n        // Flush output before returning (needed before _exit())\n        fflush(NULL);\n\n        // Return appropriate exit code based on test result\n        if(testSkipped)\n        {\n            return RCCL_TEST_SKIPPED;\n        }\n        else if(testPassed)\n        {\n            return RCCL_TEST_SUCCESS;\n        }\n        else\n        {\n            return RCCL_TEST_FAILURE;\n        }\n    }\n    catch(const std::exception& e)\n    {\n        INFO(\"Test '%s' FAILED with exception: %s\\n\", config.name.c_str(), e.what());\n        std::cerr << \"Exception in test '\" << config.name << \"': \" << e.what() << std::endl;\n        fflush(NULL);\n        return RCCL_TEST_FAILURE;\n    }\n    catch(...)\n    {\n        INFO(\"Test '%s' FAILED with unknown exception\\n\", config.name.c_str());\n        std::cerr << \"Unknown exception in test '\" << config.name << \"'\" << std::endl;\n        fflush(NULL);\n        return RCCL_TEST_UNKNOWN_EXCEPTION;\n    }\n}\n\n// Register a test configuration\nvoid ProcessIsolatedTestRunner::registerTest(const TestConfig& config)\n{\n    std::lock_guard<std::mutex> lock(testConfigsMutex_);\n    testConfigs_.push_back(config);\n}\n\n// Register a simple test with just name and logic\nvoid ProcessIsolatedTestRunner::registerTest(\n    const std::string& name, std::function<void()> testLogic\n)\n{\n    registerTest(TestConfig(name, testLogic));\n}\n\n// Register a test with environment variables\nvoid ProcessIsolatedTestRunner::registerTest(\n    const std::string&                                  name,\n    std::function<void()>                               testLogic,\n    const std::unordered_map<std::string, std::string>& env\n)\n{\n    registerTest(TestConfig(name, testLogic).withEnvironment(env));\n}\n\n// Record test result (thread-safe)\nvoid ProcessIsolatedTestRunner::recordTestResult(const TestResult& result)\n{\n    std::lock_guard<std::mutex> lock(resultsMutex_);\n    testResults_.push_back(result);\n}\n\n// Helper method: Create pipes for capturing process output\nbool ProcessIsolatedTestRunner::createOutputPipes(int stdoutPipe[2], int stderrPipe[2])\n{\n    // Create pipes for stdout and stderr\n    // stdoutPipe[0] = read end, stdoutPipe[1] = write end\n    if(pipe(stdoutPipe) == -1)\n    {\n        std::cerr << \"Failed to create stdout pipe: \" << strerror(errno) << std::endl;\n        return false;\n    }\n\n    if(pipe(stderrPipe) == -1)\n    {\n        std::cerr << \"Failed to create stderr pipe: \" << strerror(errno) << std::endl;\n        close(stdoutPipe[0]);\n        close(stdoutPipe[1]);\n        return false;\n    }\n\n    return true;\n}\n\n// Helper method: Redirect child process output to pipes\nvoid ProcessIsolatedTestRunner::redirectOutputToPipes(int stdoutPipe[2], int stderrPipe[2])\n{\n    // Close read ends of pipes in child process (not needed)\n    close(stdoutPipe[0]);\n    close(stderrPipe[0]);\n\n    // Redirect stdout and stderr to write ends of pipes\n    dup2(stdoutPipe[1], STDOUT_FILENO);\n    dup2(stderrPipe[1], STDERR_FILENO);\n\n    // Close the original write end file descriptors after duplication\n    // The duplicated descriptors (STDOUT_FILENO, STDERR_FILENO) will be closed by _exit()\n    close(stdoutPipe[1]);\n    close(stderrPipe[1]);\n}\n\n// Helper method: Capture output from child process pipes\nProcessIsolatedTestRunner::CapturedOutput ProcessIsolatedTestRunner::captureProcessOutput(\n    int stdoutPipe[2], int stderrPipe[2], pid_t pid, int* status\n)\n{\n    // Close write ends of pipes in parent process (not needed)\n    close(stdoutPipe[1]);\n    close(stderrPipe[1]);\n\n    CapturedOutput output;\n    char           buffer[4096];\n    ssize_t        count;\n\n    // Read from stdout pipe\n    while((count = read(stdoutPipe[0], buffer, sizeof(buffer) - 1)) > 0)\n    {\n        buffer[count] = '\\0';\n        output.stdoutContent += buffer;\n    }\n    close(stdoutPipe[0]);\n\n    // Read from stderr pipe\n    while((count = read(stderrPipe[0], buffer, sizeof(buffer) - 1)) > 0)\n    {\n        buffer[count] = '\\0';\n        output.stderrContent += buffer;\n    }\n    close(stderrPipe[0]);\n\n    // Wait for child to exit (blocking)\n    waitpid(pid, status, 0);\n\n    return output;\n}\n\n// Helper method: Display captured output\nvoid ProcessIsolatedTestRunner::displayCapturedOutput(\n    const CapturedOutput& output, const std::string& testName\n)\n{\n    if(!output.stdoutContent.empty())\n    {\n        std::cout << output.stdoutContent;\n        if(output.stdoutContent.back() != '\\n')\n            std::cout << '\\n';\n    }\n    if(!output.stderrContent.empty())\n    {\n        std::cerr << output.stderrContent;\n        if(output.stderrContent.back() != '\\n')\n            std::cerr << '\\n';\n    }\n}\n\n// Execute all registered tests (simplified sequential execution only)\nbool ProcessIsolatedTestRunner::executeAllTests(const ExecutionOptions& options)\n{\n\n    // Get test configurations to run\n    std::vector<TestConfig> testsToRun;\n    {\n        std::lock_guard<std::mutex> lock(testConfigsMutex_);\n        testsToRun = testConfigs_;\n    }\n\n    // Clear previous results\n    {\n        std::lock_guard<std::mutex> lock(resultsMutex_);\n        testResults_.clear();\n    }\n\n    // Sequential execution\n    for(const auto& testConfig : testsToRun)\n    {\n        auto startTime = std::chrono::steady_clock::now();\n\n        int stdout_fd[2], stderr_fd[2];\n        if(!createOutputPipes(stdout_fd, stderr_fd))\n        {\n            std::cerr << \"Failed to create output files for test '\" << testConfig.name << \"'\"\n                      << std::endl;\n            continue;\n        }\n\n        // Flush all output before fork to prevent child from inheriting unflushed buffers\n        fflush(NULL);\n\n        pid_t pid = fork();\n\n        if(pid == 0)\n        {\n            redirectOutputToPipes(stdout_fd, stderr_fd);\n            int result = runTestInProcess(testConfig);\n            // Use _exit() instead of exit() to avoid atexit handlers\n            // This prevents GPU runtime cleanup issues after fork\n            _exit(result);\n        }\n        else if(pid > 0)\n        {\n            // Log test start with environment variables if any\n            if(!testConfig.environmentVariables.empty())\n            {\n                std::string envVars;\n                for(const auto& [name, value] : testConfig.environmentVariables)\n                {\n                    if(!envVars.empty())\n                        envVars += \", \";\n                    envVars += name + \"=\" + value;\n                }\n                INFO(\n                    \"Running isolated test '%s' (PID: %d) with env: %s\\n\",\n                    testConfig.name.c_str(),\n                    pid,\n                    envVars.c_str()\n                );\n            }\n            else\n            {\n                INFO(\"Running isolated test '%s' (PID: %d)\\n\", testConfig.name.c_str(), pid);\n            }\n            // Flush parent's output before reading from child pipes to ensure proper ordering\n            fflush(stdout);\n            fflush(stderr);\n\n            int            status;\n            CapturedOutput output = captureProcessOutput(stdout_fd, stderr_fd, pid, &status);\n\n            auto endTime = std::chrono::steady_clock::now();\n            auto duration\n                = std::chrono::duration_cast<std::chrono::milliseconds>(endTime - startTime);\n\n            // Display captured output BEFORE status messages for proper sequencing\n            displayCapturedOutput(output, testConfig.name);\n\n            TestResult testResult;\n            testResult.testName  = testConfig.name;\n            testResult.processId = pid;\n            testResult.duration  = duration;\n\n            if(WIFEXITED(status))\n            {\n                int exitCode        = WEXITSTATUS(status);\n                testResult.exitCode = exitCode;\n                testResult.passed   = (exitCode == RCCL_TEST_SUCCESS);\n                testResult.skipped  = (exitCode == RCCL_TEST_SKIPPED);\n\n                if(exitCode == RCCL_TEST_SUCCESS)\n                {\n                    INFO(\"Test '%s' PASSED (%ld ms)\\n\", testConfig.name.c_str(), duration.count());\n                }\n                else if(exitCode == RCCL_TEST_TIMEOUT)\n                {\n                    INFO(\n                        \"Test '%s' (PID: %d) TIMED OUT after %ld ms\\n\",\n                        testConfig.name.c_str(),\n                        pid,\n                        duration.count()\n                    );\n                    testResult.errorMessage = \"Test timed out\";\n                }\n                else if(exitCode == RCCL_TEST_SKIPPED)\n                {\n                    INFO(\n                        \"Test '%s' (PID: %d) SKIPPED in %ld ms\\n\",\n                        testConfig.name.c_str(),\n                        pid,\n                        duration.count()\n                    );\n                    testResult.errorMessage = \"Test skipped\";\n                }\n                else\n                {\n                    INFO(\n                        \"Test '%s' (PID: %d) FAILED with exit code %d after %ld ms\\n\",\n                        testConfig.name.c_str(),\n                        pid,\n                        exitCode,\n                        duration.count()\n                    );\n                    testResult.errorMessage\n                        = \"Test failed with exit code \" + std::to_string(exitCode);\n                }\n            }\n            else if(WIFSIGNALED(status))\n            {\n                int signal = WTERMSIG(status);\n\n                // Check if test reported success before signal termination\n                bool testPassed = (output.stdoutContent.find(\"PASSED\") != std::string::npos);\n\n                if(testPassed)\n                {\n                    // Test completed successfully before signal (e.g., GPU runtime cleanup)\n                    testResult.passed   = true;\n                    testResult.skipped  = false;\n                    testResult.exitCode = RCCL_TEST_SUCCESS;\n                    INFO(\"Test '%s' PASSED (%ld ms)\\n\", testConfig.name.c_str(), duration.count());\n                }\n                else\n                {\n                    // Test terminated by signal before completion (crash)\n                    testResult.passed       = false;\n                    testResult.skipped      = false;\n                    testResult.exitCode     = -signal;\n                    testResult.errorMessage = \"Terminated by signal \" + std::to_string(signal);\n                    INFO(\n                        \"Test '%s' (PID: %d) terminated by signal %d after %ld ms\\n\",\n                        testConfig.name.c_str(),\n                        pid,\n                        signal,\n                        duration.count()\n                    );\n                }\n            }\n            else\n            {\n                testResult.passed       = false;\n                testResult.skipped      = false;\n                testResult.exitCode     = RCCL_TEST_INVALID;\n                testResult.errorMessage = \"Failed to wait for process\";\n            }\n\n            recordTestResult(testResult);\n\n            // Stop on first failure if requested\n            if(options.stopOnFirstFailure && !testResult.passed && !testResult.skipped)\n            {\n                break;\n            }\n        }\n        else\n        {\n            // Fork failed\n            TestResult testResult;\n            testResult.testName     = testConfig.name;\n            testResult.passed       = false;\n            testResult.skipped      = false;\n            testResult.exitCode     = RCCL_TEST_INVALID;\n            testResult.processId    = RCCL_TEST_INVALID;\n            testResult.duration     = std::chrono::milliseconds(0);\n            testResult.errorMessage = \"Failed to fork process\";\n\n            recordTestResult(testResult);\n            INFO(\"Failed to fork process for test '%s'\\n\", testConfig.name.c_str());\n\n            if(options.stopOnFirstFailure)\n            {\n                break;\n            }\n        }\n    }\n\n    bool result = generateReport(options);\n\n    // Automatically clear test configurations and results after execution\n    // This ensures a clean state for the next test suite without requiring\n    // explicit clear() calls from test cases\n    {\n        std::lock_guard<std::mutex> lock(testConfigsMutex_);\n        testConfigs_.clear();\n    }\n    {\n        std::lock_guard<std::mutex> lock(resultsMutex_);\n        testResults_.clear();\n    }\n\n    return result;\n}\n\n// Generate and display test report\nbool ProcessIsolatedTestRunner::generateReport(const ExecutionOptions& options)\n{\n    int                       totalTests   = 0;\n    int                       passedTests  = 0;\n    int                       failedTests  = 0;\n    int                       skippedTests = 0;\n    std::chrono::milliseconds totalDuration{0};\n\n    {\n        std::lock_guard<std::mutex> lock(resultsMutex_);\n        totalTests = testResults_.size();\n\n        for(const auto& result : testResults_)\n        {\n            if(result.skipped)\n            {\n                skippedTests++;\n            }\n            else if(result.passed)\n            {\n                passedTests++;\n            }\n            else\n            {\n                failedTests++;\n            }\n            totalDuration += result.duration;\n        }\n    }\n\n    // Report summary only if there are failures or multiple tests\n    if(failedTests > 0 || totalTests > 1)\n    {\n        INFO(\n            \"Process-Isolated Tests: %d passed, %d failed, %d skipped (%ld ms total)\\n\",\n            passedTests,\n            failedTests,\n            skippedTests,\n            totalDuration.count()\n        );\n\n        if(failedTests > 0)\n        {\n            std::lock_guard<std::mutex> lock(resultsMutex_);\n            for(const auto& result : testResults_)\n            {\n                if(!result.passed && !result.skipped)\n                {\n                    INFO(\n                        \"  Failed: %s - %s\\n\",\n                        result.testName.c_str(),\n                        result.errorMessage.c_str()\n                    );\n                }\n            }\n        }\n    }\n\n    return failedTests == 0;\n}\n\n// Get detailed test results (thread-safe)\nstd::vector<ProcessIsolatedTestRunner::TestResult> ProcessIsolatedTestRunner::getTestResults()\n{\n    std::lock_guard<std::mutex> lock(resultsMutex_);\n    return testResults_;\n}\n\n// Clear test registry and results (thread-safe)\nvoid ProcessIsolatedTestRunner::clear()\n{\n    size_t registeredCount = 0;\n    size_t executedCount   = 0;\n\n    // Check for unexecuted tests before clearing\n    {\n        std::lock_guard<std::mutex> lock(testConfigsMutex_);\n        registeredCount = testConfigs_.size();\n    }\n    {\n        std::lock_guard<std::mutex> lock(resultsMutex_);\n        executedCount = testResults_.size();\n    }\n\n    // Warn if tests were registered but not all executed\n    if(registeredCount > 0 && executedCount < registeredCount)\n    {\n        std::cerr << \"\\n⚠️  WARNING: ProcessIsolatedTestRunner::clear() called with \"\n                  << (registeredCount - executedCount) << \" unexecuted test(s)!\\n\"\n                  << \"   Registered: \" << registeredCount << \" test(s)\\n\"\n                  << \"   Executed:   \" << executedCount << \" test(s)\\n\"\n                  << \"   Did you forget to call executeAllTests()?\\n\"\n                  << std::endl;\n    }\n\n    // Clear the registrations and results\n    {\n        std::lock_guard<std::mutex> lock(testConfigsMutex_);\n        testConfigs_.clear();\n    }\n    {\n        std::lock_guard<std::mutex> lock(resultsMutex_);\n        testResults_.clear();\n    }\n}\n\n// Get number of registered tests\nsize_t ProcessIsolatedTestRunner::getTestCount()\n{\n    std::lock_guard<std::mutex> lock(testConfigsMutex_);\n    return testConfigs_.size();\n}\n\n} // namespace RcclUnitTesting\n"
  },
  {
    "path": "test/common/ProcessIsolatedTestRunner.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#pragma once\n\n#include <sys/wait.h>\n#include <unistd.h>\n\n#include <chrono>\n#include <cstdlib>\n#include <functional>\n#include <mutex>\n#include <string>\n#include <unordered_map>\n#include <vector>\n\nnamespace RcclUnitTesting\n{\n\n/**\n * @brief Generic thread-safe process isolated test runner\n *\n * This class provides a framework for running tests in isolated processes\n * with clean environment settings and sequential execution.\n *\n */\nclass ProcessIsolatedTestRunner\n{\npublic:\n    /**\n     * @brief Test execution result structure\n     */\n    struct TestResult\n    {\n        std::string                                  testName;     ///< Name of the test\n        bool                                         passed;       ///< Whether the test passed\n        bool                                         skipped;      ///< Whether the test skipped\n        int                                          exitCode;     ///< Process exit code\n        pid_t                                        processId;    ///< Process ID that ran the test\n        std::chrono::milliseconds                    duration;     ///< Test execution duration\n        std::string                                  errorMessage; ///< Error message if test failed\n        std::unordered_map<std::string, std::string> environment;  ///< Environment variables used\n\n        /**\n         * @brief Default constructor\n         */\n        TestResult();\n    };\n\n    /**\n     * @brief Test configuration structure\n     */\n    struct TestConfig\n    {\n        std::string           name;      ///< Test name\n        std::function<void()> testLogic; ///< Test function to execute\n        std::unordered_map<std::string, std::string>\n                                 environmentVariables; ///< Environment variables to set\n        std::chrono::seconds     timeout;              ///< Test timeout\n        bool                     inheritParentEnv;     ///< Whether to inherit parent environment\n        std::vector<std::string> clearEnvVars; ///< Environment variables to explicitly clear\n\n        /**\n         * @brief Constructor\n         * @param testName Name of the test\n         * @param logic Test function to execute\n         */\n        TestConfig(const std::string& testName, std::function<void()> logic);\n\n        /**\n         * @brief Set environment variables for this test\n         * @param env Map of environment variable name-value pairs\n         * @return Reference to this TestConfig for method chaining\n         */\n        TestConfig& withEnvironment(const std::unordered_map<std::string, std::string>& env);\n\n        /**\n         * @brief Set timeout for this test\n         * @param timeoutSeconds Timeout in seconds\n         * @return Reference to this TestConfig for method chaining\n         */\n        TestConfig& withTimeout(std::chrono::seconds timeoutSeconds);\n\n        /**\n         * @brief Configure environment inheritance\n         * @param inherit Whether to inherit parent environment variables\n         * @return Reference to this TestConfig for method chaining\n         */\n        TestConfig& withCleanEnvironment(bool inherit = false);\n\n        /**\n         * @brief Clear a specific environment variable\n         * @param varName Name of the variable to clear\n         * @return Reference to this TestConfig for method chaining\n         */\n        TestConfig& clearVariable(const std::string& varName);\n\n        /**\n         * @brief Set a specific environment variable\n         * @param name Variable name\n         * @param value Variable value\n         * @return Reference to this TestConfig for method chaining\n         */\n        TestConfig& setVariable(const std::string& name, const std::string& value);\n    };\n\n    /**\n     * @brief Execution options for test runner\n     */\n    struct ExecutionOptions\n    {\n        bool stopOnFirstFailure; ///< Stop execution on first test failure\n        bool verboseLogging;     ///< Enable verbose logging\n\n        /**\n         * @brief Default constructor with sensible defaults\n         */\n        ExecutionOptions();\n    };\n\nprivate:\n    /**\n     * @brief Structure to hold captured process output\n     */\n    struct CapturedOutput\n    {\n        std::string stdoutContent; ///< Captured stdout content\n        std::string stderrContent; ///< Captured stderr content\n    };\n\n    // Thread-safe static members for test management\n    static std::mutex              testConfigsMutex_;\n    static std::vector<TestConfig> testConfigs_;\n    static std::mutex              resultsMutex_;\n    static std::vector<TestResult> testResults_;\n\n    /**\n     * @brief Apply environment variables to current process\n     * @param config Test configuration containing environment settings\n     */\n    static void applyEnvironmentVariables(const TestConfig& config);\n\n    /**\n     * @brief Execute a single test in the child process\n     * @param config Test configuration\n     * @return Exit code (0 for success, non-zero for failure)\n     */\n    static int runTestInProcess(const TestConfig& config);\n\n    /**\n     * @brief Create pipes for capturing process output\n     * @param stdoutPipe Array to hold stdout pipe file descriptors [read, write]\n     * @param stderrPipe Array to hold stderr pipe file descriptors [read, write]\n     * @return True if pipes were created successfully, false otherwise\n     */\n    static bool createOutputPipes(int stdoutPipe[2], int stderrPipe[2]);\n\n    /**\n     * @brief Redirect child process output to pipes\n     * @param stdoutPipe Stdout pipe file descriptors [read, write]\n     * @param stderrPipe Stderr pipe file descriptors [read, write]\n     */\n    static void redirectOutputToPipes(int stdoutPipe[2], int stderrPipe[2]);\n\n    /**\n     * @brief Capture output from child process via pipes\n     * @param stdoutPipe Stdout pipe file descriptors [read, write]\n     * @param stderrPipe Stderr pipe file descriptors [read, write]\n     * @param pid Child process ID to monitor\n     * @param status Pointer to status variable for waitpid\n     * @return Captured output from stdout and stderr\n     */\n    static CapturedOutput\n        captureProcessOutput(int stdoutPipe[2], int stderrPipe[2], pid_t pid, int* status);\n\n    /**\n     * @brief Display captured output with formatted delimiters\n     * @param output Captured output to display\n     * @param testName Name of the test for context\n     */\n    static void displayCapturedOutput(const CapturedOutput& output, const std::string& testName);\n\npublic:\n    /**\n     * @brief Register a test configuration\n     * @param config Complete test configuration\n     */\n    static void registerTest(const TestConfig& config);\n\n    /**\n     * @brief Register a simple test with just name and logic\n     * @param name Test name\n     * @param testLogic Test function to execute\n     */\n    static void registerTest(const std::string& name, std::function<void()> testLogic);\n\n    /**\n     * @brief Register a test with environment variables\n     * @param name Test name\n     * @param testLogic Test function to execute\n     * @param env Environment variables to set for this test\n     */\n    static void registerTest(\n        const std::string&                                  name,\n        std::function<void()>                               testLogic,\n        const std::unordered_map<std::string, std::string>& env\n    );\n\n    /**\n     * @brief Record a test result (thread-safe)\n     * @param result Test result to record\n     */\n    static void recordTestResult(const TestResult& result);\n\n    /**\n     * @brief Execute all registered tests sequentially\n     * @param options Execution options (defaults to continue on failure)\n     * @return True if all tests passed, false otherwise\n     * @note This method automatically clears all test registrations and results\n     *       after execution, ensuring a clean state for the next test suite.\n     */\n    static bool executeAllTests(const ExecutionOptions& options = ExecutionOptions());\n\n    /**\n     * @brief Generate and display test report\n     * @param options Execution options used for the test run\n     * @return True if all tests passed, false otherwise\n     */\n    static bool generateReport(const ExecutionOptions& options);\n\n    /**\n     * @brief Get detailed test results (thread-safe)\n     * @return Vector of all test results\n     */\n    static std::vector<TestResult> getTestResults();\n\n    /**\n     * @brief Clear test registry and results (thread-safe)\n     * @note Calling this method manually is typically not necessary, as\n     *       executeAllTests() automatically clears registrations after execution.\n     *       This method is primarily useful for advanced use cases or when tests\n     *       are registered but not executed.\n     */\n    static void clear();\n\n    /**\n     * @brief Get number of registered tests\n     * @return Number of registered tests\n     */\n    static size_t getTestCount();\n};\n\n// Macros for Simplified Usage\n\n/**\n * @brief Register and execute a single isolated test with minimal boilerplate\n *\n * Uses variadic macros to automatically handle commas in lambda bodies\n *\n * @param test_name Name of the test (string)\n * @param ... Lambda containing test logic (variadic to handle internal commas)\n *\n * Example:\n *   RUN_ISOLATED_TEST(\"MyTest\", []() {\n *     EXPECT_TRUE(someFunction());\n *   });\n */\n#define RUN_ISOLATED_TEST(test_name, ...)                                                   \\\n    do                                                                                      \\\n    {                                                                                       \\\n        ::RcclUnitTesting::ProcessIsolatedTestRunner::registerTest(test_name, __VA_ARGS__); \\\n        bool passed_ = ::RcclUnitTesting::ProcessIsolatedTestRunner::executeAllTests();     \\\n        EXPECT_TRUE(passed_) << \"Isolated test '\" << test_name << \"' failed\";               \\\n    }                                                                                       \\\n    while(0)\n\n/**\n * @brief Register and execute a single isolated test with environment variables\n *\n * Uses variadic macros to automatically handle environment variable initializer lists\n *\n * @param test_name Name of the test (string)\n * @param test_body Lambda containing test logic\n * @param ... Environment variables as initializer list\n *\n * Example:\n *   RUN_ISOLATED_TEST_WITH_ENV(\"MyTest\",\n *     []() { EXPECT_TRUE(someFunction()); },\n *     {{\"VAR1\", \"value1\"}, {\"VAR2\", \"value2\"}});\n *\n * Note: Uses __VA_ARGS__ to capture environment variables, which automatically\n * handles commas in the initializer list without requiring extra parentheses.\n */\n#define RUN_ISOLATED_TEST_WITH_ENV(test_name, test_body, ...)                           \\\n    do                                                                                  \\\n    {                                                                                   \\\n        ::RcclUnitTesting::ProcessIsolatedTestRunner::registerTest(                     \\\n            test_name,                                                                  \\\n            test_body,                                                                  \\\n            __VA_ARGS__                                                                 \\\n        );                                                                              \\\n        bool passed_ = ::RcclUnitTesting::ProcessIsolatedTestRunner::executeAllTests(); \\\n        EXPECT_TRUE(passed_) << \"Isolated test '\" << test_name << \"' failed\";           \\\n    }                                                                                   \\\n    while(0)\n\n/**\n * @brief Register and execute multiple isolated tests with default options\n *\n * This macro takes multiple TestConfig objects and executes them all.\n * Tests are automatically cleaned up after execution.\n *\n * Example:\n *   RUN_ISOLATED_TESTS(\n *     ProcessIsolatedTestRunner::TestConfig(\"Test1\", []() { ... }),\n *     ProcessIsolatedTestRunner::TestConfig(\"Test2\", []() { ... })\n *       .withEnvironment({{\"VAR\", \"value\"}}),\n *     ProcessIsolatedTestRunner::TestConfig(\"Test3\", []() { ... })\n *       .withTimeout(std::chrono::seconds(60))\n *   );\n */\n#define RUN_ISOLATED_TESTS(...)                                                              \\\n    do                                                                                       \\\n    {                                                                                        \\\n        ::RcclUnitTesting::ProcessIsolatedTestRunner::TestConfig configs_[] = {__VA_ARGS__}; \\\n        for(const auto& config_ : configs_)                                                  \\\n        {                                                                                    \\\n            ::RcclUnitTesting::ProcessIsolatedTestRunner::registerTest(config_);             \\\n        }                                                                                    \\\n        bool passed_ = ::RcclUnitTesting::ProcessIsolatedTestRunner::executeAllTests();      \\\n        EXPECT_TRUE(passed_) << \"One or more isolated tests failed\";                         \\\n    }                                                                                        \\\n    while(0)\n\n/**\n * @brief Register and execute multiple isolated tests with custom options\n *\n * This macro takes execution options and multiple TestConfig objects.\n *\n * Example:\n *   ProcessIsolatedTestRunner::ExecutionOptions opts;\n *   opts.stopOnFirstFailure = true;\n *   opts.verboseLogging = true;\n *\n *   RUN_ISOLATED_TESTS_WITH_OPTIONS(opts,\n *     ProcessIsolatedTestRunner::TestConfig(\"Test1\", []() { ... }),\n *     ProcessIsolatedTestRunner::TestConfig(\"Test2\", []() { ... })\n *   );\n */\n#define RUN_ISOLATED_TESTS_WITH_OPTIONS(options, ...)                                          \\\n    do                                                                                         \\\n    {                                                                                          \\\n        ::RcclUnitTesting::ProcessIsolatedTestRunner::TestConfig configs_[] = {__VA_ARGS__};   \\\n        for(const auto& config_ : configs_)                                                    \\\n        {                                                                                      \\\n            ::RcclUnitTesting::ProcessIsolatedTestRunner::registerTest(config_);               \\\n        }                                                                                      \\\n        bool passed_ = ::RcclUnitTesting::ProcessIsolatedTestRunner::executeAllTests(options); \\\n        EXPECT_TRUE(passed_) << \"One or more isolated tests failed\";                           \\\n    }                                                                                          \\\n    while(0)\n\n} // namespace RcclUnitTesting\n"
  },
  {
    "path": "test/common/ProcessIsolatedTestRunner.md",
    "content": "# Process Isolated Test Runner\n\nA lightweight C++ testing framework for running Google Test cases in isolated processes with clean environment settings.\n\n## Table of Contents\n- [Overview](#overview)\n- [Why Use Process Isolation?](#why-use-process-isolation)\n- [Quick Start](#quick-start)\n- [Core Concepts](#core-concepts)\n- [API Reference](#api-reference)\n- [Examples](#examples)\n- [Best Practices](#best-practices)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Overview\n\n`ProcessIsolatedTestRunner` is a framework that executes tests in separate processes using `fork()`. This ensures complete isolation between tests, particularly useful when testing code with static variables or environment-dependent behavior.\n\n**Key Features:**\n- ✅ Process-based test isolation (each test runs in its own process)\n- ✅ Per-test environment variable management\n- ✅ Configurable timeouts\n- ✅ Sequential or stop-on-failure execution\n- ✅ Thread-safe test registration\n- ✅ Detailed test result reporting\n\n**Location:** `test/common/ProcessIsolatedTestRunner.hpp`\n\n---\n\n## Why use Process Isolation?\n\n### Problem: Static Variable Pollution\n\nConsider this RCCL code with static variables:\n\n```cpp\nvoid rcclSetP2pNetChunkSize(struct ncclComm* comm, int& chunkSize) {\n  static int p2pNetChunkSize = RCCL_VALUE_UNSET;  // ← Static variable!\n\n  if (p2pNetChunkSize == RCCL_VALUE_UNSET) {\n    const char* inputStr = getenv(\"NCCL_P2P_NET_CHUNKSIZE\");\n    if (inputStr) {\n      // Parse the environment variable value\n      p2pNetChunkSize = parseValue(inputStr);  // e.g., \"12345\" → 12345\n    } else {\n      // No env var set, calculate value based on architecture...\n      p2pNetChunkSize = calculateValue();\n    }\n  }\n  chunkSize = p2pNetChunkSize;\n}\n```\n\n**How the static variable gets set:**\n1. First time called: `p2pNetChunkSize == RCCL_VALUE_UNSET` is true\n2. Code reads environment variable with `getenv(\"NCCL_P2P_NET_CHUNKSIZE\")`\n3. If env var exists → parse its value (e.g., \"12345\" string) and assign to static variable\n4. If env var doesn't exist → calculate default value and assign to static variable\n5. Static variable is now set and **persists for the lifetime of the process**\n\n**Without Process Isolation:**\n```cpp\nTEST(MyTest, FirstTest) {\n  setenv(\"NCCL_P2P_NET_CHUNKSIZE\", \"12345\", 1);\n  rcclSetP2pNetChunkSize(comm, chunkSize);\n  // ✓ getenv() returns \"12345\"\n  // ✓ Static variable p2pNetChunkSize gets set to 12345\n  // ✓ chunkSize is now 12345\n}\n\nTEST(MyTest, SecondTest) {\n  unsetenv(\"NCCL_P2P_NET_CHUNKSIZE\");\n  rcclSetP2pNetChunkSize(comm, chunkSize);\n  // ❌ getenv() returns nullptr (env var cleared)\n  // ❌ BUT: p2pNetChunkSize != RCCL_VALUE_UNSET (still 12345 from FirstTest!)\n  // ❌ Code skips the if-block, never reads env var or recalculates\n  // ❌ chunkSize is STILL 12345 from previous test!\n  // This test will fail or produce incorrect results\n}\n```\n\n**The Problem:** Static variables are initialized once per process and persist across multiple tests. Even if you change or clear environment variables, the static variable retains its old value.\n\n**With Process Isolation:**\n```cpp\n// Each test runs in a separate process\n// Static variables are reset for each test\n// ✅ Tests are truly independent\n```\n\n### Common Use Cases\n\n1. **Testing environment variable behavior** - When code reads env vars into static variables\n2. **Testing architecture-specific logic** - Different GPU architectures with cached state\n3. **Testing initialization code** - One-time initialization patterns\n4. **Testing configuration changes** - When config is cached statically\n\n---\n\n## Quick Start\n\n### Basic Example (Using Macros)\n\nThe simplest way to use ProcessIsolatedTestRunner is with the macros:\n\n```cpp\n#include \"common/ProcessIsolatedTestRunner.hpp\"\n\nTEST(Rcclwrap, MyIsolatedTest) {\n  // Single test with environment variables - all in one call!\n  RUN_ISOLATED_TEST_WITH_ENV(\"TestWithCleanEnvironment\",\n    []() {\n      // This runs in a separate process\n      const char* value = getenv(\"MY_VARIABLE\");\n      EXPECT_STREQ(value, \"test_value\");\n      EXPECT_TRUE(someFunction());\n    },\n    {{\"MY_VARIABLE\", \"test_value\"}}\n  );\n}\n\nTEST(Rcclwrap, MyIsolatedTests) {\n  // Multiple tests with different configurations\n  RUN_ISOLATED_TESTS(\n    ProcessIsolatedTestRunner::TestConfig(\"Test1\", []() {\n      EXPECT_TRUE(checkCondition1());\n    }),\n    ProcessIsolatedTestRunner::TestConfig(\"Test2\", []() {\n      EXPECT_TRUE(checkCondition2());\n    }).withEnvironment({{\"VAR\", \"value\"}}),\n    ProcessIsolatedTestRunner::TestConfig(\"Test3\", []() {\n      EXPECT_TRUE(checkCondition3());\n    }).withTimeout(std::chrono::seconds(60))\n  );\n}\n```\n\n### Manual API (For Advanced Use Cases)\n\nYou can also use the API directly for more control:\n\n```cpp\n#include \"common/ProcessIsolatedTestRunner.hpp\"\n\nTEST(Rcclwrap, MyIsolatedTests) {\n  // Register a test with environment variables\n  ProcessIsolatedTestRunner::registerTest(\n      ProcessIsolatedTestRunner::TestConfig(\n          \"TestWithCleanEnvironment\",\n          []() {\n            // This runs in a separate process\n            const char* value = getenv(\"MY_VARIABLE\");\n            EXPECT_STREQ(value, \"test_value\");\n\n            // Your test logic here\n            EXPECT_TRUE(someFunction());\n          })\n          .withEnvironment({{\"MY_VARIABLE\", \"test_value\"}})\n  );\n\n  // Execute all registered tests\n  bool allTestsPassed = ProcessIsolatedTestRunner::executeAllTests();\n  EXPECT_TRUE(allTestsPassed);\n}\n```\n\n---\n\n## Core Concepts\n\n### 1. Test Configuration (`TestConfig`)\n\nDefines how a test should be executed:\n\n```cpp\nTestConfig config(\n    \"TestName\",           // Test name (for reporting)\n    []() { /* logic */ }  // Test function (lambda or function pointer)\n);\n\n// Optional configurations\nconfig.withEnvironment({{\"VAR1\", \"value1\"}, {\"VAR2\", \"value2\"}})\n      .withTimeout(std::chrono::seconds(60))\n      .withCleanEnvironment(false);  // Inherit parent environment\n```\n\n### 2. Test Registration\n\nTests must be registered before execution:\n\n```cpp\n// Method 1: Full configuration\nProcessIsolatedTestRunner::registerTest(config);\n\n// Method 2: Simple (name + logic only)\nProcessIsolatedTestRunner::registerTest(\"SimplTest\", []() {\n  EXPECT_TRUE(true);\n});\n\n// Method 3: With environment\nProcessIsolatedTestRunner::registerTest(\n    \"EnvTest\",\n    []() { /* logic */ },\n    {{\"ENV_VAR\", \"value\"}}\n);\n```\n\n### 3. Test Execution\n\n**⚠️ IMPORTANT:** Tests do NOT run automatically after registration. You **MUST** explicitly call `executeAllTests()` to run them.\n\nExecute all registered tests:\n\n```cpp\n// Default options (continue on failure, no verbose logging)\nbool passed = ProcessIsolatedTestRunner::executeAllTests();\n\n// Custom options\nProcessIsolatedTestRunner::ExecutionOptions options;\noptions.stopOnFirstFailure = true;   // Stop after first failure\noptions.verboseLogging = true;       // Print detailed logs\n\nbool passed = ProcessIsolatedTestRunner::executeAllTests(options);\n```\n\n**Common Mistake:**\n```cpp\n// ❌ BAD: Tests registered but never executed!\nTEST(MyTest, IsolatedTests) {\n  ProcessIsolatedTestRunner::registerTest(\"Test1\", []() { /* ... */ });\n  ProcessIsolatedTestRunner::registerTest(\"Test2\", []() { /* ... */ });\n  // Missing executeAllTests() - tests will NOT run!\n}\n\n// ✅ GOOD: Tests registered and executed\nTEST(MyTest, IsolatedTests) {\n  ProcessIsolatedTestRunner::registerTest(\"Test1\", []() { /* ... */ });\n  ProcessIsolatedTestRunner::registerTest(\"Test2\", []() { /* ... */ });\n  bool passed = ProcessIsolatedTestRunner::executeAllTests();\n  EXPECT_TRUE(passed);\n}\n```\n\n### 4. Test Results\n\nEach test produces a `TestResult`:\n\n```cpp\nstruct TestResult {\n  std::string testName;               // Name of the test\n  bool passed;                        // Whether the test passed\n  bool skipped;                       // Whether the test was skipped\n  int exitCode;                       // Process exit code\n  pid_t processId;                    // Process ID that ran the test\n  std::chrono::milliseconds duration; // Execution duration\n  std::string errorMessage;           // Error message if failed\n  std::unordered_map<std::string, std::string> environment;  // Env used\n};\n```\n\n---\n\n## API Reference\n\n### Macros (Recommended)\n\nThese macros provide the simplest way to use ProcessIsolatedTestRunner with minimal boilerplate.\n\n#### `RUN_ISOLATED_TEST(test_name, test_body)`\nRegister and execute a single isolated test.\n\n```cpp\nRUN_ISOLATED_TEST(\"MySimpleTest\", []() {\n  EXPECT_TRUE(someFunction());\n});\n```\n\n#### `RUN_ISOLATED_TEST_WITH_ENV(test_name, test_body, ...)`\nRegister and execute a single isolated test with environment variables.\n\n**Uses variadic macros** (`...` and `__VA_ARGS__`) to automatically handle commas in initializer lists without requiring extra parentheses.\n\n```cpp\nRUN_ISOLATED_TEST_WITH_ENV(\"MyEnvTest\",\n  []() {\n    const char* value = getenv(\"MY_VAR\");\n    EXPECT_STREQ(value, \"expected_value\");\n  },\n  {{\"MY_VAR\", \"expected_value\"}}\n);\n\n// Multiple environment variables work naturally:\nRUN_ISOLATED_TEST_WITH_ENV(\"MultiEnvTest\",\n  []() { /* test code */ },\n  {{\"VAR1\", \"val1\"}, {\"VAR2\", \"val2\"}, {\"VAR3\", \"val3\"}}  // Commas handled automatically\n);\n```\n\n**Note:** The macro uses `__VA_ARGS__` internally, which automatically handles commas in the environment variable initializer list. Users don't need to worry about preprocessor comma issues.\n\n#### `RUN_ISOLATED_TESTS(...)`\nRegister and execute multiple isolated tests with various configurations.\n\n```cpp\nRUN_ISOLATED_TESTS(\n  ProcessIsolatedTestRunner::TestConfig(\"Test1\", []() { ... }),\n  ProcessIsolatedTestRunner::TestConfig(\"Test2\", []() { ... })\n    .withEnvironment({{\"VAR\", \"value\"}}),\n  ProcessIsolatedTestRunner::TestConfig(\"Test3\", []() { ... })\n    .withTimeout(std::chrono::seconds(60))\n);\n```\n\n#### `RUN_ISOLATED_TESTS_WITH_OPTIONS(options, ...)`\nRegister and execute multiple isolated tests with custom execution options.\n\n```cpp\nProcessIsolatedTestRunner::ExecutionOptions opts;\nopts.stopOnFirstFailure = true;\nopts.verboseLogging = true;\n\nRUN_ISOLATED_TESTS_WITH_OPTIONS(opts,\n  ProcessIsolatedTestRunner::TestConfig(\"Test1\", []() { ... }),\n  ProcessIsolatedTestRunner::TestConfig(\"Test2\", []() { ... })\n);\n```\n\n### Main Methods (For Manual Use)\n\n#### `registerTest()`\nRegister a test for later execution.\n\n```cpp\n// Variant 1: Full configuration\nstatic void registerTest(const TestConfig& config);\n\n// Variant 2: Simple registration\nstatic void registerTest(\n    const std::string& name,\n    std::function<void()> testLogic\n);\n\n// Variant 3: With environment\nstatic void registerTest(\n    const std::string& name,\n    std::function<void()> testLogic,\n    const std::unordered_map<std::string, std::string>& env\n);\n```\n\n#### `executeAllTests()`\nExecute all registered tests sequentially.\n\n```cpp\nstatic bool executeAllTests(\n    const ExecutionOptions& options = ExecutionOptions()\n);\n```\n\n**Returns:** `true` if all tests passed, `false` if any failed.\n\n**Note:** This method automatically clears all test registrations and results after execution, ensuring a clean state for the next test suite. Users do not need to call `clear()` manually.\n\n#### `getTestResults()`\nRetrieve detailed results from the last execution.\n\n```cpp\nstatic std::vector<TestResult> getTestResults();\n```\n\n#### `clear()`\nClear all registered tests and results.\n\n```cpp\nstatic void clear();\n```\n\n**Note:** Calling this method manually is typically not necessary, as `executeAllTests()` automatically clears registrations after execution. This method is primarily useful for advanced use cases or when tests are registered but not executed.\n\n**⚠️ Automatic Warning:** If `clear()` is called when tests have been registered but not fully executed, it will automatically print a warning to stderr:\n\n```\n⚠️  WARNING: ProcessIsolatedTestRunner::clear() called with 2 unexecuted test(s)!\n   Registered: 2 test(s)\n   Executed:   0 test(s)\n   Did you forget to call executeAllTests()?\n```\n\n#### `getTestCount()`\nGet the number of currently registered tests (before execution).\n\n```cpp\nstatic size_t getTestCount();\n```\n\n**Use case:** Verify that tests were actually registered and executed.\n\n```cpp\nTEST(MyTest, VerifyExecution) {\n  ProcessIsolatedTestRunner::clear();\n\n  // Register tests\n  ProcessIsolatedTestRunner::registerTest(\"Test1\", []() { /* ... */ });\n  ProcessIsolatedTestRunner::registerTest(\"Test2\", []() { /* ... */ });\n\n  // Check registration count\n  size_t registeredCount = ProcessIsolatedTestRunner::getTestCount();\n  EXPECT_EQ(registeredCount, 2) << \"Expected 2 tests to be registered\";\n\n  // Execute\n  bool passed = ProcessIsolatedTestRunner::executeAllTests();\n  EXPECT_TRUE(passed);\n\n  // Verify execution count\n  auto results = ProcessIsolatedTestRunner::getTestResults();\n  EXPECT_EQ(results.size(), registeredCount)\n      << \"Registered \" << registeredCount << \" tests but only \"\n      << results.size() << \" executed\";\n}\n```\n\n### TestConfig Methods\n\n#### `withEnvironment()`\nSet environment variables for the test.\n\n```cpp\nTestConfig& withEnvironment(\n    const std::unordered_map<std::string, std::string>& env\n);\n```\n\n**Note:** Variables are set in the child process only.\n\n#### `withTimeout()`\nSet a timeout for test execution.\n\n```cpp\nTestConfig& withTimeout(std::chrono::seconds timeoutSeconds);\n```\n\n**Default:** 30 seconds\n\n#### `withCleanEnvironment()`\nControl whether to inherit parent process environment.\n\n```cpp\nTestConfig& withCleanEnvironment(bool inherit = true);\n```\n\n**Default:** `true` (inherits parent environment)\n\n---\n\n## Examples\n\n**Note:** The examples below use helper functions from `RcclWrapTests.cpp`:\n\n```cpp\n// Helper to create a mock NCCL communicator with specified architecture and ranks\nstatic void CreateMockComm(ncclComm_t &mockComm,\n                           struct ncclTopoSystem &mockTopo,\n                           struct ncclTopoNode &mockGpuNode,\n                           const char *arch,\n                           int nRanks);\n\n// Helper to cleanup a mock communicator\nstatic void CleanupMockComm(ncclComm_t &mockComm);\n```\n\n### Example 1: Testing Environment Variable Behavior\n\n```cpp\nTEST(Rcclwrap, EnvironmentVariableTests) {\n  // Test 1: With environment variable set\n  ProcessIsolatedTestRunner::registerTest(\n      ProcessIsolatedTestRunner::TestConfig(\n          \"WithEnvVarSet\",\n          []() {\n            ncclComm_t mockComm = nullptr;\n            struct ncclTopoSystem mockTopo;\n            struct ncclTopoNode mockGpuNode;\n            CreateMockComm(mockComm, mockTopo, mockGpuNode, \"gfx942\", 128);\n\n            int chunkSize = RCCL_VALUE_UNSET;\n            rcclSetP2pNetChunkSize(mockComm, chunkSize);\n\n            // Should use default architecture-based value\n            EXPECT_EQ(chunkSize, 1 << 19);\n\n            CleanupMockComm(mockComm);\n          })\n          .withEnvironment({{\"NCCL_P2P_NET_CHUNKSIZE\", \"999999\"}})\n  );\n\n  // Test 2: Without environment variable (clean state)\n  ProcessIsolatedTestRunner::registerTest(\n      ProcessIsolatedTestRunner::TestConfig(\n          \"WithoutEnvVar\",\n          []() {\n            // Verify environment is clean\n            const char* value = getenv(\"NCCL_P2P_NET_CHUNKSIZE\");\n            EXPECT_EQ(value, nullptr);\n\n            // Test default behavior\n            ncclComm_t mockComm = nullptr;\n            struct ncclTopoSystem mockTopo;\n            struct ncclTopoNode mockGpuNode;\n            CreateMockComm(mockComm, mockTopo, mockGpuNode, \"gfx942\", 32);\n\n            int chunkSize = RCCL_VALUE_UNSET;\n            rcclSetP2pNetChunkSize(mockComm, chunkSize);\n            EXPECT_EQ(chunkSize, 1 << 17);  // Default for < 64 ranks\n\n            CleanupMockComm(mockComm);\n          })\n  );\n\n  // Execute both tests in isolated processes\n  bool passed = ProcessIsolatedTestRunner::executeAllTests();\n  EXPECT_TRUE(passed);\n}\n```\n\n### Example 2: Testing Multiple Architectures\n\n```cpp\nTEST(Rcclwrap, ArchitectureTests) {\n  struct TestCase {\n    std::string name;\n    std::string arch;\n    int ranks;\n    int expectedChunkSize;\n  };\n\n  std::vector<TestCase> testCases = {\n    {\"GFX942_SmallRanks\", \"gfx942\", 32, 1 << 17},\n    {\"GFX942_LargeRanks\", \"gfx942\", 128, 1 << 19},\n    {\"GFX950_SmallRanks\", \"gfx950\", 8, 1 << 17},\n    {\"GFX950_MediumRanks\", \"gfx950\", 24, 1 << 18},\n    {\"GFX950_LargeRanks\", \"gfx950\", 64, 1 << 19},\n  };\n\n  for (const auto& tc : testCases) {\n    ProcessIsolatedTestRunner::registerTest(\n        ProcessIsolatedTestRunner::TestConfig(\n            tc.name,\n            [tc]() {\n              ncclComm_t mockComm = nullptr;\n              struct ncclTopoSystem mockTopo;\n              struct ncclTopoNode mockGpuNode;\n              CreateMockComm(mockComm, mockTopo, mockGpuNode, tc.arch.c_str(), tc.ranks);\n\n              int chunkSize = RCCL_VALUE_UNSET;\n              rcclSetP2pNetChunkSize(mockComm, chunkSize);\n\n              EXPECT_EQ(chunkSize, tc.expectedChunkSize)\n                  << \"Failed for \" << tc.arch << \" with \" << tc.ranks << \" ranks\";\n\n              CleanupMockComm(mockComm);\n            })\n    );\n  }\n\n  ProcessIsolatedTestRunner::ExecutionOptions options;\n  options.verboseLogging = true;\n  options.stopOnFirstFailure = false;  // Run all tests even if one fails\n\n  bool passed = ProcessIsolatedTestRunner::executeAllTests(options);\n  EXPECT_TRUE(passed);\n}\n```\n\n### Example 3: Testing with Timeouts\n\n```cpp\nTEST(Rcclwrap, TimeoutHandling) {\n  // Test that completes quickly\n  ProcessIsolatedTestRunner::registerTest(\n      ProcessIsolatedTestRunner::TestConfig(\n          \"FastTest\",\n          []() {\n            EXPECT_TRUE(true);\n          })\n          .withTimeout(std::chrono::seconds(5))\n  );\n\n  // Test with longer timeout for complex operations\n  ProcessIsolatedTestRunner::registerTest(\n      ProcessIsolatedTestRunner::TestConfig(\n          \"SlowTest\",\n          []() {\n            // Simulate slow operation\n            std::this_thread::sleep_for(std::chrono::seconds(2));\n            EXPECT_TRUE(true);\n          })\n          .withTimeout(std::chrono::seconds(10))\n  );\n\n  bool passed = ProcessIsolatedTestRunner::executeAllTests();\n  EXPECT_TRUE(passed);\n}\n```\n\n### Example 4: Stop on First Failure\n\n```cpp\nTEST(Rcclwrap, CriticalTests) {\n  // Register multiple critical tests\n  ProcessIsolatedTestRunner::registerTest(\n      \"CriticalTest1\", []() { EXPECT_TRUE(checkCriticalCondition1()); });\n\n  ProcessIsolatedTestRunner::registerTest(\n      \"CriticalTest2\", []() { EXPECT_TRUE(checkCriticalCondition2()); });\n\n  ProcessIsolatedTestRunner::registerTest(\n      \"CriticalTest3\", []() { EXPECT_TRUE(checkCriticalCondition3()); });\n\n  // Stop on first failure - don't waste time if critical tests fail\n  ProcessIsolatedTestRunner::ExecutionOptions options;\n  options.stopOnFirstFailure = true;\n\n  bool passed = ProcessIsolatedTestRunner::executeAllTests(options);\n  EXPECT_TRUE(passed) << \"Critical test suite failed\";\n}\n```\n\n---\n\n## Best Practices\n\n### 1. Use Macros for Simple Cases\n\n```cpp\n// ✅ GOOD: Simple and clean using macros\nTEST(MyTest, SimpleIsolatedTest) {\n  RUN_ISOLATED_TEST(\"CheckSomething\", []() {\n    EXPECT_TRUE(checkSomething());\n  });\n}\n\n// ❌ MORE VERBOSE: Manual registration (still valid for complex cases)\nTEST(MyTest, SimpleIsolatedTest) {\n  ProcessIsolatedTestRunner::registerTest(\"CheckSomething\", []() {\n    EXPECT_TRUE(checkSomething());\n  });\n  bool passed = ProcessIsolatedTestRunner::executeAllTests();\n  EXPECT_TRUE(passed);\n}\n```\n\n### 2. Always Execute Registered Tests (When Using Manual API)\n\n```cpp\nTEST(MyTest, IsolatedTests) {\n  // Register tests\n  ProcessIsolatedTestRunner::registerTest(/* ... */);\n\n  // ✅ IMPORTANT: Don't forget to execute!\n  bool passed = ProcessIsolatedTestRunner::executeAllTests();\n  EXPECT_TRUE(passed);\n}\n```\n\n**When Using Manual API (Optional Verification):**\n\nYou can verify that tests were registered and executed:\n\n```cpp\nTEST(MyTest, IsolatedTests) {\n  // Register tests\n  ProcessIsolatedTestRunner::registerTest(\"Test1\", []() { /* ... */ });\n  ProcessIsolatedTestRunner::registerTest(\"Test2\", []() { /* ... */ });\n\n  // Get count of registered tests\n  size_t registeredCount = ProcessIsolatedTestRunner::getTestCount();\n  EXPECT_EQ(registeredCount, 2) << \"Expected 2 tests to be registered\";\n\n  // Execute all tests (automatically clears after execution)\n  bool passed = ProcessIsolatedTestRunner::executeAllTests();\n  EXPECT_TRUE(passed);\n\n  // Optional: Verify execution count matches registration count\n  auto results = ProcessIsolatedTestRunner::getTestResults();\n  EXPECT_EQ(results.size(), registeredCount)\n      << \"Registered \" << registeredCount << \" but executed \" << results.size();\n}\n```\n\n### 3. Use Descriptive Test Names\n\n```cpp\n// ❌ BAD: Vague name\nRUN_ISOLATED_TEST(\"Test1\", []() { /* ... */ });\n\n// ✅ GOOD: Descriptive name\nRUN_ISOLATED_TEST(\"GFX942_LargeRanks_P2PChunkSize_ExpectHighValue\",\n  []() { /* ... */ }\n);\n```\n\n### 4. Group Related Tests\n\n```cpp\nTEST(Rcclwrap, AllP2PChunkSizeTests) {\n  // Using macros to group related tests\n  RUN_ISOLATED_TESTS(\n    ProcessIsolatedTestRunner::TestConfig(\"GFX942_Test1\", []() { ... }),\n    ProcessIsolatedTestRunner::TestConfig(\"GFX942_Test2\", []() { ... }),\n    ProcessIsolatedTestRunner::TestConfig(\"GFX950_Test1\", []() { ... }),\n    ProcessIsolatedTestRunner::TestConfig(\"GFX950_Test2\", []() { ... })\n  );\n}\n```\n\n### 5. Use Options for Better Control\n\n```cpp\n// For debugging: verbose + stop on failure\nProcessIsolatedTestRunner::ExecutionOptions debugOptions;\ndebugOptions.stopOnFirstFailure = true;\ndebugOptions.verboseLogging = true;\n\nRUN_ISOLATED_TESTS_WITH_OPTIONS(debugOptions,\n  ProcessIsolatedTestRunner::TestConfig(\"Test1\", []() { ... }),\n  ProcessIsolatedTestRunner::TestConfig(\"Test2\", []() { ... })\n);\n\n// For CI: run all tests, collect all failures\nProcessIsolatedTestRunner::ExecutionOptions ciOptions;\nciOptions.stopOnFirstFailure = false;\nciOptions.verboseLogging = false;\n\nRUN_ISOLATED_TESTS_WITH_OPTIONS(ciOptions,\n  ProcessIsolatedTestRunner::TestConfig(\"Test1\", []() { ... }),\n  ProcessIsolatedTestRunner::TestConfig(\"Test2\", []() { ... })\n);\n```\n\n### 6. Set Appropriate Timeouts\n\n```cpp\n// ✅ GOOD: Different timeouts for different test types\nRUN_ISOLATED_TESTS(\n  ProcessIsolatedTestRunner::TestConfig(\"QuickTest\", []() { ... })\n    .withTimeout(std::chrono::seconds(5)),\n  ProcessIsolatedTestRunner::TestConfig(\"NormalTest\", []() { ... })\n    .withTimeout(std::chrono::seconds(30)),\n  ProcessIsolatedTestRunner::TestConfig(\"SlowTest\", []() { ... })\n    .withTimeout(std::chrono::seconds(120))\n);\n\n// ❌ BAD: Same long timeout for everything\nRUN_ISOLATED_TESTS(\n  ProcessIsolatedTestRunner::TestConfig(\"Test1\", []() { ... })\n    .withTimeout(std::chrono::seconds(300)),\n  ProcessIsolatedTestRunner::TestConfig(\"Test2\", []() { ... })\n    .withTimeout(std::chrono::seconds(300))\n);\n```\n\n### 7. Clean Up Resources in Tests\n\n```cpp\nRUN_ISOLATED_TEST(\"ResourceTest\", []() {\n  ncclComm_t comm = nullptr;\n  struct ncclTopoSystem topo;\n  struct ncclTopoNode gpuNode;\n  CreateMockComm(comm, topo, gpuNode, \"gfx942\", 32);\n\n  try {\n    // Your test logic\n    EXPECT_TRUE(someTest(comm));\n\n    // ✅ GOOD: Clean up in all paths\n    CleanupMockComm(comm);\n  } catch (...) {\n    CleanupMockComm(comm);\n    throw;\n  }\n});\n```\n\n### 8. Use RAII for GPU Resource Management\n\nWhen tests allocate GPU memory, use RAII wrappers to ensure cleanup:\n\n```cpp\n// ✅ GOOD: RAII ensures cleanup even on failure\nstruct GPUBuffer {\n  void* ptr = nullptr;\n  size_t size;\n\n  GPUBuffer(size_t s) : size(s) {\n    hipError_t err = hipMalloc(&ptr, size);\n    ASSERT_EQ(err, hipSuccess);\n  }\n\n  ~GPUBuffer() {\n    if (ptr) {\n      hipFree(ptr);\n      ptr = nullptr;\n    }\n  }\n\n  // Prevent copying\n  GPUBuffer(const GPUBuffer&) = delete;\n  GPUBuffer& operator=(const GPUBuffer&) = delete;\n};\n\nRUN_ISOLATED_TEST(\"GPUTest\", []() {\n  GPUBuffer buffer(1024);  // Automatically cleaned up\n  // ... test logic ...\n  // No manual cleanup needed - destructor handles it\n});\n\n// ❌ BAD: Manual cleanup can be forgotten\nRUN_ISOLATED_TEST(\"GPUTest\", []() {\n  void* buffer;\n  hipMalloc(&buffer, 1024);\n  // ... test logic ...\n  // If test fails before this line, buffer leaks!\n  hipFree(buffer);\n});\n```\n\n### 9. Avoid GPU Initialization in Test Fixtures\n\nWhen using process isolation, avoid initializing GPU resources in test fixture `SetUp()` methods:\n\n```cpp\n// ❌ BAD: GPU initialization in fixture (runs in parent process)\nclass GPUTests : public ::testing::Test {\nprotected:\n  void SetUp() override {\n    hipMalloc(&gpuBuffer, 1024);  // Parent process - will pollute fork()!\n  }\n  void* gpuBuffer;\n};\n\n// ✅ GOOD: GPU initialization inside isolated test\nclass GPUTests : public ::testing::Test {\n  // Empty fixture or only CPU resources in SetUp()\n};\n\nTEST_F(GPUTests, MyTest) {\n  RUN_ISOLATED_TEST(\"GPUOperation\", []() {\n    void* gpuBuffer;\n    hipMalloc(&gpuBuffer, 1024);  // Child process only - safe!\n    // ... test logic ...\n    hipFree(gpuBuffer);\n  });\n}\n\n// ✅ EVEN BETTER: Use RAII + helper structure\nstruct GPUTestEnvironment {\n  void* buffer;\n  void setup() { hipMalloc(&buffer, 1024); }\n  void cleanup() { if (buffer) hipFree(buffer); }\n  ~GPUTestEnvironment() { cleanup(); }\n};\n\nTEST_F(GPUTests, MyTest) {\n  RUN_ISOLATED_TEST(\"GPUOperation\", []() {\n    GPUTestEnvironment env;\n    env.setup();\n    // ... test logic ...\n    env.cleanup();  // Explicit + destructor cleanup\n  });\n}\n```\n\n---\n\n## Troubleshooting\n\n### Test Hangs / Times Out\n\n**Symptom:** Test never completes, eventually times out.\n\n**Solutions:**\n1. Increase timeout: `.withTimeout(std::chrono::seconds(120))`\n2. Check for deadlocks in test logic\n3. Enable verbose logging to see where it hangs:\n   ```cpp\n   options.verboseLogging = true;\n   ```\n\n### Environment Variables Not Being Set\n\n**Symptom:** `getenv()` returns `nullptr` in test.\n\n**Solutions:**\n1. Verify environment variable name is correct\n2. Check that you're calling `withEnvironment()`:\n   ```cpp\n   config.withEnvironment({{\"VAR_NAME\", \"value\"}})\n   ```\n3. Verify the test is actually executing (check test name)\n\n### Tests Pass Individually but Fail Together\n\n**Symptom:** Individual tests pass, but fail when run in a suite.\n\n**Cause:** This is the **exact problem** that ProcessIsolatedTestRunner solves!\n\n**Solution:** Already solved - each test runs in isolated process. If you're still seeing this, check:\n1. Are you using `executeAllTests()` correctly?\n2. Are there shared external resources (files, network, etc.)?\n\n### Fork Failures\n\n**Symptom:** Error messages about fork() failing.\n\n**Solutions:**\n1. Check system resource limits: `ulimit -u` (max processes)\n2. Reduce number of tests or run in smaller batches\n3. Check for resource leaks in parent process\n\n### Test Results Not Available\n\n**Symptom:** `getTestResults()` returns empty vector.\n\n**Solution:**\n```cpp\n// Call executeAllTests() first\nProcessIsolatedTestRunner::executeAllTests();\n\n// Then get results\nauto results = ProcessIsolatedTestRunner::getTestResults();\n```\n\n### Tests Registered but Never Executed\n\n**Symptom:** Tests pass but you suspect they didn't actually run.\n\n**Cause:** Forgot to call `executeAllTests()` after registration.\n\n**Detection:**\n```cpp\nTEST(MyTest, IsolatedTests) {\n  // Register tests\n  ProcessIsolatedTestRunner::registerTest(\"Test1\", []() { EXPECT_TRUE(true); });\n  ProcessIsolatedTestRunner::registerTest(\"Test2\", []() { EXPECT_TRUE(true); });\n\n  // ❌ FORGOT TO CALL executeAllTests()!\n\n  // Later, when the test ends, registered tests are lost\n}\n```\n\n**Solution:**\n```cpp\nTEST(MyTest, IsolatedTests) {\n  // Register tests\n  ProcessIsolatedTestRunner::registerTest(\"Test1\", []() { EXPECT_TRUE(true); });\n  ProcessIsolatedTestRunner::registerTest(\"Test2\", []() { EXPECT_TRUE(true); });\n\n  // ✅ ALWAYS execute registered tests\n  bool passed = ProcessIsolatedTestRunner::executeAllTests();\n  EXPECT_TRUE(passed);\n\n  // ✅ Optionally verify execution count\n  auto results = ProcessIsolatedTestRunner::getTestResults();\n  EXPECT_EQ(results.size(), 2) << \"Expected 2 tests to execute\";\n}\n```\n\n**Prevention:** Always verify that `getTestResults().size()` matches your expected number of tests:\n```cpp\n// After execution\nauto results = ProcessIsolatedTestRunner::getTestResults();\nEXPECT_EQ(results.size(), expectedTestCount)\n    << \"Test count mismatch - some tests may not have executed\";\n```\n\n---\n\n## Implementation Details\n\n### How It Works\n\n1. **Registration Phase:**\n   - Tests are registered into a static vector\n   - Each test gets a `TestConfig` with name, logic, and environment\n\n2. **Execution Phase:**\n   - Parent process iterates through registered tests\n   - For each test:\n     - `fork()` creates a child process\n     - Child applies environment variables\n     - Child executes test logic\n     - Parent waits for child to complete\n     - Result is collected and stored\n\n3. **Result Collection:**\n   - Exit codes are captured from child processes\n   - Timing information is recorded\n   - All results stored in static vector\n\n4. **Automatic Cleanup:**\n   - After execution completes, `executeAllTests()` automatically clears all test registrations and results\n   - This ensures a clean state for the next test suite without manual intervention\n\n### Exit Codes\n\n```cpp\nenum RcclTestCode {\n  RCCL_TEST_SUCCESS = 0,           // Test passed\n  RCCL_TEST_FAILURE = 1,           // Test failed (assertion)\n  RCCL_TEST_UNKNOWN_EXCEPTION = 2, // Uncaught exception\n  RCCL_TEST_TIMEOUT = 3,           // Test timed out\n  RCCL_TEST_SKIPPED = 4            // Test was skipped\n};\n```\n\n### Thread Safety\n\nThe framework uses mutexes for thread-safe operations:\n- Test registration (write)\n- Result recording (write)\n- Result retrieval (read)\n\n---\n\n## Limitations\n\n1. **Process Overhead:** Each test creates a new process (fork overhead)\n2. **Sequential Execution:** Tests run one at a time (not parallel)\n3. **Linux/Unix Only:** Uses `fork()` - not available on Windows\n4. **Memory Duplication:** Each forked process duplicates memory\n5. **No Shared State:** Tests cannot share data between processes\n\n---\n\n## FAQ\n\n**Q: When should I use ProcessIsolatedTestRunner vs regular Google Test?**\n\nA: Use ProcessIsolatedTestRunner when:\n- Testing code with static variables\n- Testing environment variable behavior\n- Testing one-time initialization\n- Need guaranteed clean state between tests\n\nUse regular Google Test when:\n- Tests are truly independent\n- No static state concerns\n- Need parallel execution\n- Testing simple units\n\n**Q: Can I use this with MPI tests?**\n\nA: Not directly. Process Isolated test runner is for single-process tests. For MPI tests, use `MPI Test Runner` instead. Process Isolated test runner is currently hooked into `rccl-UnitTestsFixtures` binary and MPI test runner is hooked into `rccl-UnitTestsMPI` binary. These are two independent implementation.\n\n**Q: How do I debug a test that's running in an isolated process?**\n\nA:\n1. Enable verbose logging\n2. Add print statements in your test lambda\n3. Temporarily run the test logic outside the framework\n4. Use GDB\n\n**Q: Can I run tests in parallel?**\n\nA: No, the current implementation only supports sequential execution.\n\n**Q: Does this work with CTest/CMake?**\n\nA: Yes! The tests are still Google Test cases, so they work with standard test runners.\n\n**Q: Should I use the macros or the manual API?**\n\nA: Use the macros (`RUN_ISOLATED_TEST`, `RUN_ISOLATED_TESTS`, etc.) for most cases - they're simpler and less error-prone. Use the manual API (`registerTest()` + `executeAllTests()`) only when you need more control over the registration/execution flow, such as:\n- Dynamically generating test configurations at runtime\n- Sharing test registration logic across multiple TEST blocks\n- Advanced control flow scenarios\n\n**Q: Do tests run automatically after registration, or do I need to call executeAllTests()?**\n\nA: **You MUST call `executeAllTests()` explicitly.** Tests do NOT run automatically. If you forget to call it, your tests will be silently ignored. Always follow this pattern:\n\n```cpp\nTEST(MyTest, IsolatedTests) {\n  ProcessIsolatedTestRunner::registerTest(\"MyTest\", []() { /* ... */ });\n\n  // ✅ REQUIRED: Execute the tests\n  bool passed = ProcessIsolatedTestRunner::executeAllTests();\n  EXPECT_TRUE(passed);\n}\n```\n\n**Q: How can I detect if I forgot to execute registered tests?**\n\nA: After `executeAllTests()`, verify that `getTestResults().size()` matches your expected test count:\n\n```cpp\n// Register N tests\nProcessIsolatedTestRunner::registerTest(\"Test1\", []() { /* ... */ });\nProcessIsolatedTestRunner::registerTest(\"Test2\", []() { /* ... */ });\n\n// Execute\nbool passed = ProcessIsolatedTestRunner::executeAllTests();\n\n// Verify count\nauto results = ProcessIsolatedTestRunner::getTestResults();\nEXPECT_EQ(results.size(), 2) << \"Expected 2 tests to run\";\n```\n\n**Q: Do I need to call clear() manually?**\n\nA: No. The `clear()` method is only useful for advanced use cases where you need to clear tests that were registered but never executed. If you manually call `clear()` when tests were registered but not executed, it will warn you:\n\n```\n⚠️  WARNING: ProcessIsolatedTestRunner::clear() called with 2 unexecuted test(s)!\n   Registered: 2 test(s)\n   Executed:   0 test(s)\n   Did you forget to call executeAllTests()?\n```\n\n---\n\n## See Also\n\n- **ProcessIsolatedTestRunner.hpp** - Full API documentation\n- **ProcessIsolatedTestRunner.cpp** - Implementation details\n- **RcclWrapTests.cpp** - Usage examples\n"
  },
  {
    "path": "test/common/PtrUnion.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"PtrUnion.hpp\"\n#include \"api_trace.h\"\nnamespace RcclUnitTesting\n{\n  size_t DataTypeToBytes(ncclDataType_t const dataType)\n  {\n    switch (dataType)\n    {\n    case ncclInt8:   return 1;\n    case ncclUint8:  return 1;\n    case ncclFloat8e4m3:return 1;\n    case ncclFloat8e5m2:return 1;\n    case ncclInt32:  return 4;\n    case ncclUint32: return 4;\n    case ncclInt64:  return 8;\n    case ncclUint64: return 8;\n    case ncclFloat16: return 2;\n    case ncclFloat32: return 4;\n    case ncclFloat64: return 8;\n    case ncclBfloat16: return 2;\n    default:\n      ERROR(\"Unsupported datatype (%d)\\n\", dataType);\n      exit(0);\n    }\n  }\n\n  ErrCode PtrUnion::Attach(void *ptr)\n  {\n    this->ptr = ptr;\n    return TEST_SUCCESS;\n  }\n\n  ErrCode PtrUnion::Attach(PtrUnion ptrUnion)\n  {\n    this->ptr = ptrUnion.ptr;\n    return TEST_SUCCESS;\n  }\n\n  ErrCode PtrUnion::AllocateGpuMem(size_t const numBytes, bool const useManagedMem, bool const userRegistered)\n  {\n    if (numBytes)\n    {\n      if (userRegistered)\n      {\n        if (ncclMemAlloc((void**)&I1, numBytes) != ncclSuccess)\n        {\n          ERROR(\"Unable to allocate user managed GPU memory (%lu bytes)\\n\", numBytes);\n          return TEST_FAIL;\n        }\n      }\n      else\n      {\n        if (useManagedMem)\n        {\n          if (hipMallocManaged(&I1, numBytes) != hipSuccess)\n          {\n            ERROR(\"Unable to allocate managed memory of GPU memory (%lu bytes)\\n\", numBytes);\n            return TEST_FAIL;\n          }\n        }\n        else\n        {\n          if (hipMalloc(&I1, numBytes) != hipSuccess)\n          {\n            ERROR(\"Unable to allocate memory of GPU memory (%lu bytes)\\n\", numBytes);\n            return TEST_FAIL;\n          }\n        }\n      }\n\n    }\n    return TEST_SUCCESS;\n  }\n\n  ErrCode PtrUnion::AllocateCpuMem(size_t const numBytes)\n  {\n    if (numBytes)\n    {\n      this->ptr = calloc(numBytes, 1);\n      if (!ptr)\n      {\n        ERROR(\"Unable to allocate memory (%lu bytes)\\n\", numBytes);\n        return TEST_FAIL;\n      }\n    }\n    return TEST_SUCCESS;\n  }\n\n  ErrCode PtrUnion::FreeGpuMem(bool const userRegistered)\n  {\n    if (this->ptr != nullptr)\n    {\n      if (userRegistered)\n        ncclMemFree(this->ptr);\n      else\n        hipFree(this->ptr);\n      this->ptr = nullptr;\n    }\n    return TEST_SUCCESS;\n  }\n\n  ErrCode PtrUnion::FreeCpuMem()\n  {\n    if (this->ptr != nullptr)\n    {\n      free(this->ptr);\n      this->ptr = nullptr;\n    }\n    return TEST_SUCCESS;\n  }\n\n  ErrCode PtrUnion::ClearGpuMem(size_t const numBytes)\n  {\n    if (hipMemset(this->ptr, 0, numBytes) != hipSuccess)\n    {\n      ERROR(\"Unable to call hipMemset\\n\");\n      return TEST_FAIL;\n    }\n    hipStreamSynchronize(NULL);\n    return TEST_SUCCESS;\n  }\n\n  ErrCode PtrUnion::ClearCpuMem(size_t const numBytes)\n  {\n    memset(this->ptr, 0, numBytes);\n    return TEST_SUCCESS;\n  }\n\n  ErrCode PtrUnion::FillPattern(ncclDataType_t const dataType,\n                                size_t         const numElements,\n                                int            const globalRank,\n                                bool           const isGpuMem)\n  {\n    PtrUnion temp;\n    size_t const numBytes = numElements * DataTypeToBytes(dataType);\n\n    // If this is GPU memory, create a CPU temp buffer otherwise fill CPU memory directly\n    if (isGpuMem)\n      temp.AllocateCpuMem(numBytes);\n    else\n      temp.Attach(this->ptr);\n\n    for (int i = 0; i < numElements; i++)\n    {\n      // Due to floating-point math not being commutative, the ordering in which ranks are added will matter.\n      // For lower-precision data types, we initialize all ranks to the same value to avoid this\n      int    valueI = (dataType == ncclFloat8e4m3 || dataType == ncclFloat8e5m2)? (i % 16) :(globalRank + i) % 256;\n      double valueF = 1.0L/((double)valueI+1.0L);\n      temp.Set(dataType, i, valueI, valueF);\n    }\n\n    // If this is GPU memory, copy from CPU temp buffer\n    if (isGpuMem)\n    {\n      if (hipMemcpy(this->ptr, temp.ptr, numBytes, hipMemcpyHostToDevice) != hipSuccess)\n      {\n        ERROR(\"Unable to fill input with pattern for rank %d\\n\", globalRank);\n        return TEST_FAIL;\n      }\n      temp.FreeCpuMem();\n    }\n\n    return TEST_SUCCESS;\n  }\n\n  ErrCode PtrUnion::Set(ncclDataType_t const dataType, int const idx, int valueI, double valueF)\n  {\n    switch (dataType)\n    {\n    case ncclInt8:     I1[idx] = valueI; break;\n    case ncclUint8:    U1[idx] = valueI; break;\n    case ncclInt32:    I4[idx] = valueI; break;\n    case ncclUint32:   U4[idx] = valueI; break;\n    case ncclInt64:    I8[idx] = valueI; break;\n    case ncclUint64:   U8[idx] = valueI; break;\n    case ncclFloat8e4m3:  F1[idx] = rccl_float8(valueF); break;\n    case ncclFloat16:  F2[idx] = __float2half(static_cast<float>(valueF)); break;\n    case ncclFloat32:  F4[idx] = valueF; break;\n    case ncclFloat64:  F8[idx] = valueF; break;\n    case ncclFloat8e5m2:  B1[idx] = rccl_bfloat8(valueF); break;\n    case ncclBfloat16: B2[idx] = hip_bfloat16(static_cast<float>(valueF)); break;\n    default:\n      ERROR(\"Unsupported datatype\\n\");\n      return TEST_FAIL;\n    }\n    return TEST_SUCCESS;\n  }\n\n  ErrCode PtrUnion::Get(ncclDataType_t const dataType, int const idx, int& valueI, double& valueF) const\n  {\n    switch (dataType)\n    {\n    case ncclInt8:     valueI = I1[idx]; break;\n    case ncclUint8:    valueI = I1[idx]; break;\n    case ncclInt32:    valueI = I4[idx]; break;\n    case ncclUint32:   valueI = U4[idx]; break;\n    case ncclInt64:    valueI = I8[idx]; break;\n    case ncclUint64:   valueI = U8[idx]; break;\n    case ncclFloat8e4m3:  valueF = float(F1[idx]); break;\n    case ncclFloat16:  valueF = __half2float(F2[idx]); break;\n    case ncclFloat32:  valueF = F4[idx]; break;\n    case ncclFloat64:  valueF = F8[idx]; break;\n    case ncclFloat8e5m2:  valueF = float(B1[idx]); break;\n    case ncclBfloat16: valueF = B2[idx]; break;\n    default:\n      ERROR(\"Unsupported datatype\\n\");\n      return TEST_FAIL;\n    }\n    return TEST_SUCCESS;\n  }\n\n  // Multiplies in-place each element by scalarsPerRank[rank]\n  ErrCode PtrUnion::Scale(ncclDataType_t const  dataType,\n                          size_t         const  numElements,\n                          PtrUnion       const& scalarsPerRank,\n                          int            const  rank)\n  {\n    // If no scalars are provided do nothing\n    if (scalarsPerRank.ptr == nullptr) return TEST_SUCCESS;\n\n    for (size_t idx = 0; idx < numElements; ++idx)\n    {\n      switch (dataType)\n      {\n      case ncclInt8:     I1[idx] *= scalarsPerRank.I1[rank]; break;\n      case ncclUint8:    U1[idx] *= scalarsPerRank.U1[rank]; break;\n      case ncclInt32:    I4[idx] *= scalarsPerRank.I4[rank]; break;\n      case ncclUint32:   U4[idx] *= scalarsPerRank.U4[rank]; break;\n      case ncclInt64:    I8[idx] *= scalarsPerRank.I8[rank]; break;\n      case ncclUint64:   U8[idx] *= scalarsPerRank.U8[rank]; break;\n      case ncclFloat8e4m3:  F1[idx]  = rccl_float8((float)F1[idx] * (float)scalarsPerRank.F1[rank]); break;\n      case ncclFloat16:  F2[idx]  = __float2half(__half2float(F2[idx]) * __half2float(scalarsPerRank.F2[rank])); break;\n      case ncclFloat32:  F4[idx] *= scalarsPerRank.F4[rank]; break;\n      case ncclFloat64:  F8[idx] *= scalarsPerRank.F8[rank]; break;\n      case ncclFloat8e5m2:  B1[idx]  = rccl_bfloat8((float)B1[idx] * (float)scalarsPerRank.B1[rank]); break;\n      case ncclBfloat16: B2[idx] *= scalarsPerRank.B2[rank]; break;\n      default:\n        ERROR(\"Unsupported datatype\\n\");\n        return TEST_FAIL;\n      }\n    }\n    return TEST_SUCCESS;\n  }\n\n  ErrCode PtrUnion::Reduce(ncclDataType_t const  dataType,\n                           size_t         const  numElements,\n                           PtrUnion       const& inputCpu,\n                           ncclRedOp_t    const  op)\n  {\n    if (inputCpu.ptr == nullptr)\n    {\n      ERROR(\"Input pointer to Reduce should not be nullptr\\n\");\n      return TEST_FAIL;\n    }\n\n    for (size_t idx = 0; idx < numElements; ++idx)\n    {\n      switch (dataType)\n      {\n      case ncclInt8:     I1[idx] = ReduceOp(op, I1[idx], inputCpu.I1[idx]); break;\n      case ncclUint8:    U1[idx] = ReduceOp(op, U1[idx], inputCpu.U1[idx]); break;\n      case ncclInt32:    I4[idx] = ReduceOp(op, I4[idx], inputCpu.I4[idx]); break;\n      case ncclUint32:   U4[idx] = ReduceOp(op, U4[idx], inputCpu.U4[idx]); break;\n      case ncclInt64:    I8[idx] = ReduceOp(op, I8[idx], inputCpu.I8[idx]); break;\n      case ncclUint64:   U8[idx] = ReduceOp(op, U8[idx], inputCpu.U8[idx]); break;\n      case ncclFloat8e4m3:  F1[idx] = rccl_float8(ReduceOp(op, float(F1[idx]), float(inputCpu.F1[idx]))); break;\n      case ncclFloat16:  F2[idx] = __float2half(ReduceOp(op, __half2float(F2[idx]), __half2float(inputCpu.F2[idx]))); break;\n      case ncclFloat32:  F4[idx] = ReduceOp(op, F4[idx], inputCpu.F4[idx]); break;\n      case ncclFloat64:  F8[idx] = ReduceOp(op, F8[idx], inputCpu.F8[idx]); break;\n      case ncclFloat8e5m2:  B1[idx] = rccl_bfloat8(ReduceOp(op, float(B1[idx]), float(inputCpu.B1[idx]))); break;\n      case ncclBfloat16: B2[idx] = hip_bfloat16(ReduceOp(op, float(B2[idx]), float(inputCpu.B2[idx]))); break;\n      default:\n        ERROR(\"Unsupported datatype\\n\");\n        return TEST_FAIL;\n      }\n    }\n    return TEST_SUCCESS;\n  }\n\n\n  ErrCode PtrUnion::DivideByInt(ncclDataType_t const dataType,\n                                size_t         const numElements,\n                                int            const divisor)\n  {\n    for (size_t idx = 0; idx < numElements; ++idx)\n    {\n      switch (dataType)\n      {\n      case ncclInt8:     I1[idx] /= divisor; break;\n      case ncclUint8:    U1[idx] /= divisor; break;\n      case ncclInt32:    I4[idx] /= divisor; break;\n      case ncclUint32:   U4[idx] /= divisor; break;\n      case ncclInt64:    I8[idx] /= divisor; break;\n      case ncclUint64:   U8[idx] /= divisor; break;\n      case ncclFloat8e4m3:  F1[idx] = (rccl_float8((float)(F1[idx]) / divisor)); break;\n      case ncclFloat16:  F2[idx] = __float2half(__half2float(F2[idx])/divisor); break;\n      case ncclFloat32:  F4[idx] /= divisor; break;\n      case ncclFloat64:  F8[idx] /= divisor; break;\n      case ncclFloat8e5m2:  B1[idx] = (rccl_bfloat8((float)(B1[idx]) / divisor)); break;\n      case ncclBfloat16: B2[idx] = (hip_bfloat16((float)(B2[idx]) / divisor)); break;\n      default:\n        ERROR(\"Unsupported datatype\\n\");\n        return TEST_FAIL;\n      }\n    }\n    return TEST_SUCCESS;\n  }\n\n  ErrCode PtrUnion::IsEqual(ncclDataType_t const  dataType,\n                            size_t         const  numElements,\n                            PtrUnion       const& expected,\n                            bool           const  verbose,\n                            bool&                 isMatch)\n  {\n    isMatch = true;\n    size_t idx = 0;\n    for (idx = 0; idx < numElements; ++idx)\n    {\n      switch (dataType)\n      {\n      case ncclInt8:    isMatch = (I1[idx] == expected.I1[idx]); break;\n      case ncclUint8:   isMatch = (U1[idx] == expected.U1[idx]); break;\n      case ncclInt32:   isMatch = (I4[idx] == expected.I4[idx]); break;\n      case ncclUint32:  isMatch = (U4[idx] == expected.U4[idx]); break;\n      case ncclInt64:   isMatch = (I8[idx] == expected.I8[idx]); break;\n      case ncclUint64:  isMatch = (U8[idx] == expected.U8[idx]); break;\n      case ncclFloat8e4m3: isMatch = (fabs(float(F1[idx]) - float(expected.F1[idx])) < 9e-2); break;\n      case ncclFloat16: isMatch = (fabs(__half2float(F2[idx]) - __half2float(expected.F2[idx])) < 9e-2); break;\n      case ncclFloat32: isMatch = (fabs(F4[idx] - expected.F4[idx]) < 1e-5); break;\n      case ncclFloat64: isMatch = (fabs(F8[idx] - expected.F8[idx]) < 1e-12); break;\n      case ncclFloat8e5m2: isMatch = (fabs(float(B1[idx]) - float(expected.B1[idx])) < 9e-2); break;\n      case ncclBfloat16: isMatch = (fabs((float)B2[idx] - (float)expected.B2[idx]) < 9e-2); break;\n      default:\n        ERROR(\"Unsupported datatype\\n\");\n        return TEST_FAIL;\n      }\n      if (!isMatch) break;\n    }\n\n    if (verbose && !isMatch)\n    {\n      switch (dataType)\n      {\n      case ncclInt8:\n        ERROR(\"Expected output: %d.  Actual output: %d at index %lu\\n\", expected.I1[idx], I1[idx], idx); break;\n      case ncclUint8:\n        ERROR(\"Expected output: %u.  Actual output: %u at index %lu\\n\", expected.U1[idx], U1[idx], idx); break;\n      case ncclInt32:\n        ERROR(\"Expected output: %d.  Actual output: %d at index %lu\\n\", expected.I4[idx], I4[idx], idx); break;\n      case ncclUint32:\n        ERROR(\"Expected output: %u.  Actual output: %u at index %lu\\n\", expected.U4[idx], U4[idx], idx); break;\n      case ncclInt64:\n        ERROR(\"Expected output: %ld.  Actual output: %ld at index %lu\\n\", expected.I8[idx], I8[idx], idx); break;\n      case ncclUint64:\n        ERROR(\"Expected output: %lu.  Actual output: %lu at index %lu\\n\", expected.U8[idx], U8[idx], idx); break;\n      case ncclFloat8e4m3:\n        ERROR(\"Expected output: %f.  Actual output: %f at index %lu\\n\", (float)expected.F1[idx], (float)F1[idx], idx); break;\n      case ncclFloat16:\n        ERROR(\"Expected output: %f.  Actual output: %f at index %lu\\n\", __half2float(expected.F2[idx]), __half2float(F2[idx]), idx); break;\n      case ncclFloat32:\n        ERROR(\"Expected output: %f.  Actual output: %f at index %lu\\n\", expected.F4[idx], F4[idx], idx); break;\n      case ncclFloat64:\n        ERROR(\"Expected output: %lf.  Actual output: %lf at index %lu\\n\", expected.F8[idx], F8[idx], idx); break;\n      case ncclFloat8e5m2:\n        ERROR(\"Expected output: %f.  Actual output: %f at index %lu\\n\", (float)expected.B1[idx], (float)B1[idx], idx); break;\n      case ncclBfloat16:\n        ERROR(\"Expected output: %f.  Actual output: %f at index %lu\\n\", (float)expected.B2[idx], (float)B2[idx], idx); break;\n      default:\n        break;\n      }\n    }\n    return TEST_SUCCESS;\n  }\n\n  std::string PtrUnion::ToString(ncclDataType_t const  dataType,\n                                 size_t         const  numElements) const\n  {\n    std::stringstream ss;\n    for (int i = 0; i < numElements; i++)\n    {\n      if (i) ss <<  \" \";\n      switch (dataType)\n      {\n      case ncclInt8:     ss << I1[i]; break;\n      case ncclUint8:    ss << U1[i]; break;\n      case ncclInt32:    ss << I4[i]; break;\n      case ncclUint32:   ss << U4[i]; break;\n      case ncclInt64:    ss << I8[i]; break;\n      case ncclUint64:   ss << U8[i]; break;\n      case ncclFloat8e4m3:  ss << (float)F1[i]; break;\n      case ncclFloat16:  ss << __half2float(F2[i]); break;\n      case ncclFloat32:  ss << F4[i]; break;\n      case ncclFloat64:  ss << F8[i]; break;\n      case ncclFloat8e5m2:  ss << (float)B1[i]; break;\n      case ncclBfloat16: ss << (float)B2[i]; break;\n      default: break;\n      }\n    }\n    return ss.str();\n  }\n}\n"
  },
  {
    "path": "test/common/PtrUnion.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#pragma once\n#include \"ErrCode.hpp\"\n#include \"rccl/rccl.h\"\n#include \"rccl_float8.h\"\n#if ROCM_VERSION >= 60000\n  // hip_bf16.h should be used from ROCm 6.0\n  #include <hip/hip_bf16.h>\n  typedef __hip_bfloat16 hip_bfloat16;\n#else\n  #include <hip/hip_bfloat16.h>\n#endif\n#include \"hip/hip_fp16.h\"\n\nnamespace RcclUnitTesting\n{\n  // Performs the various basic reduction operations\n  template <typename T>\n  T ReduceOp(ncclRedOp_t const op, T const A, T const B)\n  {\n    switch (op)\n    {\n    case ncclSum:  return A + B;\n    case ncclProd: return A * B;\n    case ncclMax:  return std::max(A, B);\n    case ncclMin:  return std::min(A, B);\n    default:\n      ERROR(\"Unsupported reduction operator (%d)\\n\", op);\n      exit(0);\n    }\n  }\n\n  size_t DataTypeToBytes(ncclDataType_t const dataType);\n\n  // PtrUnion encapsulates a pointer of all the different supported datatypes\n  // NOTE: Currently half-precision float tests are unsupported due to half\n  //       being supported on GPU only and not host\n  union PtrUnion\n  {\n    void*          ptr;\n    int8_t*        I1; // ncclInt8\n    uint8_t*       U1; // ncclUint8\n    int32_t*       I4; // ncclInt32\n    uint32_t*      U4; // ncclUint32\n    int64_t*       I8; // ncclInt64\n    uint64_t*      U8; // ncclUint64\n    __half*        F2; // ncclFloat16\n    rccl_float8*   F1; // ncclFloat8e4m3\n    float*         F4; // ncclFloat32\n    double*        F8; // ncclFloat64\n    rccl_bfloat8*  B1; // ncclFloat8e5m2\n    hip_bfloat16*  B2; // ncclBfloat16\n\n    constexpr PtrUnion() : ptr(nullptr) {}\n\n    ErrCode Attach(void *ptr);\n    ErrCode Attach(PtrUnion ptrUnion);\n\n    ErrCode AllocateGpuMem(size_t const numBytes, bool const useManagedMem = false, bool const userRegistered = false);\n    ErrCode AllocateCpuMem(size_t const numBytes);\n\n    ErrCode FreeGpuMem(bool const userRegistered = false);\n    ErrCode FreeCpuMem();\n\n    ErrCode ClearGpuMem(size_t const numBytes);\n    ErrCode ClearCpuMem(size_t const numBytes);\n\n    ErrCode FillPattern(ncclDataType_t const dataType,\n                        size_t         const numElements,\n                        int            const globalRank,\n                        bool           const isGpuMem);\n\n    ErrCode Set(ncclDataType_t const dataType, int const idx, int valueI, double valueF);\n    ErrCode Get(ncclDataType_t const dataType, int const idx, int& valueI, double& valueF) const;\n\n    // Multiplies in-place each element by scalarsPerRank[rank]\n    ErrCode Scale(ncclDataType_t const  dataType,\n                  size_t         const  numElements,\n                  PtrUnion       const& scalarsPerRank,\n                  int            const  rank);\n\n    // Reduces input into this PtrUnion\n    ErrCode Reduce(ncclDataType_t const  dataType,\n                   size_t         const  numElements,\n                   PtrUnion       const& inputCpu,\n                   ncclRedOp_t    const  op);\n\n    // Divide each element by a integer value\n    ErrCode DivideByInt(ncclDataType_t const dataType,\n                        size_t         const numElements,\n                        int            const divisor);\n\n    // Compares for equality (fuzzy comparision for floating point types)\n    ErrCode IsEqual(ncclDataType_t const  dataType,\n                    size_t         const  numElements,\n                    PtrUnion       const& expected,\n                    bool           const  verbose,\n                    bool&                 isMatch);\n\n    // Output to string (for debug)\n    std::string ToString(ncclDataType_t const  dataType,\n                         size_t         const  numElements) const;\n  };\n}\n"
  },
  {
    "path": "test/common/RcclMockFuncs.hpp",
    "content": "/* Copyright © Advanced Micro Devices, Inc., or its affiliates. */\n\n#ifndef RCCL_MOCK_FUNCS_HPP\n#define RCCL_MOCK_FUNCS_HPP\n\n#include \"info.h\"\n\nvoid ncclDebugLog(ncclDebugLogLevel, unsigned long, char const*, int, char const*, ...) {};\nncclResult_t getHostName(char* hostname, int maxlen, const char delim) {\n  return ncclSuccess;\n}\n\n#endif  // RCCL_MOCK_FUNCS_HPP\n"
  },
  {
    "path": "test/common/ResourceGuards.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#pragma once\n\n#include \"nccl.h\"\n#include \"net.h\"\n#include \"transport.h\"\n#include <cstdio>\n#include <cstdlib>\n#include <hip/hip_runtime.h>\n#include <utility>\n\n/**\n * @file ResourceGuards.hpp\n * @brief Comprehensive RAII resource guards for automatic cleanup in tests\n *\n * Provides all RAII guard types for automatic resource management:\n * - ScopeGuard: Generic cleanup for any action (with lambdas)\n * - AutoGuard: Typed guards for resources with simple cleanup functions\n * - ResourceGuard: Typed guards for resources with stateful deleters\n * - Specialized guards: NcclRegHandleGuard, etc.\n *\n * Guards ensure cleanup even when ASSERT_* fails in tests.\n * See MPITestRunner.md for detailed usage documentation.\n */\n\nnamespace RCCLTestGuards\n{\n\n// ============================================================================\n// ScopeGuard - Generic cleanup for arbitrary actions\n// ============================================================================\n\n/**\n * @class ScopeGuard\n * @brief Generic RAII scope guard for custom cleanup logic\n *\n * Executes a cleanup function on scope exit (normal return, early return, or exception).\n * Useful for resources that don't have dedicated RAII guards or for one-off cleanup needs.\n *\n * @par Example:\n * @code\n * void* buffer = nullptr;\n * hipMalloc(&buffer, size);\n * auto guard = makeScopeGuard([&]() { if(buffer) hipFree(buffer); });\n * // Automatic cleanup on scope exit\n * @endcode\n *\n * @tparam Func Callable type (lambda, function pointer, functor)\n */\ntemplate<typename Func>\nclass ScopeGuard\n{\n    Func cleanup_;     ///< Cleanup function to execute on scope exit\n    bool dismissed_;   ///< If true, skip cleanup (for ownership transfer)\n\npublic:\n    explicit ScopeGuard(Func f) noexcept : cleanup_(std::move(f)), dismissed_(false) {}\n\n    ~ScopeGuard() noexcept\n    {\n        if(!dismissed_)\n        {\n            cleanup_();\n        }\n    }\n\n    void dismiss() noexcept { dismissed_ = true; }\n    void restore() noexcept { dismissed_ = false; }\n\n    ScopeGuard(ScopeGuard&& other) noexcept\n        : cleanup_(std::move(other.cleanup_)), dismissed_(other.dismissed_)\n    {\n        other.dismissed_ = true;\n    }\n\n    ScopeGuard& operator=(ScopeGuard&& other) noexcept\n    {\n        if(this != &other)\n        {\n            if(!dismissed_)\n            {\n                cleanup_();\n            }\n            cleanup_   = std::move(other.cleanup_);\n            dismissed_ = other.dismissed_;\n            other.dismissed_ = true;\n        }\n        return *this;\n    }\n\n    ScopeGuard(const ScopeGuard&)            = delete;\n    ScopeGuard& operator=(const ScopeGuard&) = delete;\n};\n\n/**\n * @brief Factory function to create ScopeGuard with type deduction\n *\n * @par Example:\n * @code\n * auto guard = makeScopeGuard([&]() { cleanup(); });\n * @endcode\n */\ntemplate<typename Func>\nScopeGuard<Func> makeScopeGuard(Func f)\n{\n    return ScopeGuard<Func>(std::move(f));\n}\n\n/**\n * @def SCOPE_EXIT\n * @brief Convenience macro for creating anonymous scope guards\n *\n * @par Example:\n * @code\n * void* buffer = nullptr;\n * hipMalloc(&buffer, size);\n * SCOPE_EXIT(if(buffer) hipFree(buffer));\n * @endcode\n */\n#define SCOPE_EXIT_CONCAT_IMPL(a, b) a##b\n#define SCOPE_EXIT_CONCAT(a, b) SCOPE_EXIT_CONCAT_IMPL(a, b)\n#define SCOPE_EXIT(code) \\\n    auto SCOPE_EXIT_CONCAT(scope_guard_, __LINE__) = RCCLTestGuards::makeScopeGuard([&]() { code; })\n\n// ============================================================================\n// AutoGuard & ResourceGuard - Typed resource management\n// ============================================================================\n\n/**\n * @class AutoGuard\n * @brief Modern RAII guard using non-type template parameter for deleter\n *\n * Uses C++17's auto template parameters to directly reference cleanup functions,\n * eliminating the need for deleter functors in simple cases.\n *\n * @tparam T Resource handle type\n * @tparam DeleterFunc Function pointer for cleanup (auto-deduced)\n */\ntemplate<typename T, auto DeleterFunc>\nclass AutoGuard\n{\nprivate:\n    T    resource_;\n    bool dismissed_;\n\npublic:\n    explicit AutoGuard(T resource = T{}) : resource_(resource), dismissed_(false) {}\n\n    ~AutoGuard()\n    {\n        if(!dismissed_ && resource_)\n        {\n            DeleterFunc(resource_);\n        }\n    }\n\n    // Get the resource handle\n    T get() const\n    {\n        return resource_;\n    }\n    // Get pointer to resource handle (for API calls)\n    T* ptr()\n    {\n        return &resource_;\n    }\n    // Set the resource handle\n    void set(T resource)\n    {\n        resource_ = resource;\n    }\n    // Dismiss the guard (prevent cleanup)\n    void dismiss()\n    {\n        dismissed_ = true;\n    }\n\n    // Release ownership (prevent cleanup)\n    T release()\n    {\n        dismissed_ = true;\n        return resource_;\n    }\n\n    AutoGuard(const AutoGuard&)            = delete;\n    AutoGuard& operator=(const AutoGuard&) = delete;\n\n    AutoGuard(AutoGuard&& other) noexcept : resource_(other.resource_), dismissed_(other.dismissed_)\n    {\n        other.dismissed_ = true;\n    }\n\n    AutoGuard& operator=(AutoGuard&& other) noexcept\n    {\n        if(this != &other)\n        {\n            if(!dismissed_ && resource_)\n            {\n                DeleterFunc(resource_);\n            }\n            resource_        = other.resource_;\n            dismissed_       = other.dismissed_;\n            other.dismissed_ = true;\n        }\n        return *this;\n    }\n};\n\n/**\n * @class ResourceGuard\n * @brief Generic RAII guard template for resources with complex cleanup\n *\n * Uses a functor-based deleter for stateful deleters requiring additional context.\n * For simple cleanup functions, prefer AutoGuard<T, func> instead.\n *\n * @tparam T Resource handle type\n * @tparam Deleter Functor type for cleanup\n */\ntemplate<typename T, typename Deleter>\nclass ResourceGuard\n{\nprivate:\n    T       resource_;\n    Deleter deleter_;\n    bool    owns_;\n\npublic:\n    // Construct a resource guard\n    // @param resource Resource handle (can be nullptr/0)\n    // @param deleter Cleanup function/functor\n    explicit ResourceGuard(T resource = T{}, Deleter deleter = Deleter{})\n        : resource_(resource), deleter_(std::move(deleter)), owns_(true)\n    {}\n\n    // Destructor - automatically cleans up resource\n    ~ResourceGuard()\n    {\n        if(owns_ && resource_)\n        {\n            deleter_(resource_);\n        }\n    }\n\n    // Get the resource handle\n    T get() const\n    {\n        return resource_;\n    }\n    // Get pointer to resource handle (for API calls)\n    T* ptr()\n    {\n        return &resource_;\n    }\n    // Set the resource handle\n    void set(T resource)\n    {\n        resource_ = resource;\n    }\n\n    // Reset the resource handle\n    // @param resource New resource handle (can be nullptr/0)\n    void reset(T resource = T{})\n    {\n        if(owns_ && resource_ && resource_ != resource)\n        {\n            deleter_(resource_);\n        }\n        resource_ = resource;\n        owns_     = true;\n    }\n\n    T release()\n    {\n        owns_ = false;\n        return resource_;\n    }\n\n    ResourceGuard(const ResourceGuard&)            = delete;\n    ResourceGuard& operator=(const ResourceGuard&) = delete;\n\n    ResourceGuard(ResourceGuard&& other) noexcept\n        : resource_(other.resource_), deleter_(std::move(other.deleter_)), owns_(other.owns_)\n    {\n        other.owns_ = false;\n    }\n\n    ResourceGuard& operator=(ResourceGuard&& other) noexcept\n    {\n        if(this != &other)\n        {\n            // Clean up current resource\n            if(owns_ && resource_)\n            {\n                deleter_(resource_);\n            }\n            // Take ownership of other's resource\n            resource_   = other.resource_;\n            deleter_    = std::move(other.deleter_);\n            owns_       = other.owns_;\n            other.owns_ = false;\n        }\n        return *this;\n    }\n};\n\n// Note: Simple stateless deleters are replaced by wrapper functions + AutoGuard.\n// Only stateful deleters that need additional context are kept here.\n// Common deleters (NCCL-specific, used across many tests)\nstruct NcclRegHandleDeleter\n{\n    ncclComm_t comm;\n    explicit NcclRegHandleDeleter(ncclComm_t c = nullptr) : comm(c) {}\n    void operator()(void* reg_handle) const\n    {\n        if(reg_handle && comm)\n        {\n            ncclCommDeregister(comm, reg_handle);\n        }\n    }\n};\n\n// Wrapper functions for AutoGuard (void-returning cleanup functions)\ninline void hipFreeWrapper(void* ptr)\n{\n    if(ptr)\n    {\n        hipError_t err = hipFree(ptr);\n        if(err != hipSuccess)\n        {\n            fprintf(stderr,\n                    \"WARNING: hipFree failed in destructor: %s (ptr=%p)\\n\",\n                    hipGetErrorString(err),\n                    ptr);\n        }\n    }\n}\n\ninline void hipStreamDestroyWrapper(hipStream_t stream)\n{\n    if(stream)\n    {\n        hipError_t err = hipStreamDestroy(stream);\n        if(err != hipSuccess)\n        {\n            fprintf(stderr,\n                    \"WARNING: hipStreamDestroy failed in destructor: %s (stream=%p)\\n\",\n                    hipGetErrorString(err),\n                    static_cast<void*>(stream));\n        }\n    }\n}\n\ninline void hipEventDestroyWrapper(hipEvent_t event)\n{\n    if(event)\n    {\n        hipError_t err = hipEventDestroy(event);\n        if(err != hipSuccess)\n        {\n            fprintf(stderr,\n                    \"WARNING: hipEventDestroy failed in destructor: %s (event=%p)\\n\",\n                    hipGetErrorString(err),\n                    static_cast<void*>(event));\n        }\n    }\n}\n\ninline void ncclCommDestroyWrapper(ncclComm_t comm)\n{\n    if(comm)\n    {\n        ncclResult_t result = ncclCommDestroy(comm);\n        if(result != ncclSuccess)\n        {\n            fprintf(stderr,\n                    \"WARNING: ncclCommDestroy failed in destructor: %s (comm=%p)\\n\",\n                    ncclGetErrorString(result),\n                    static_cast<void*>(comm));\n        }\n    }\n}\n\ninline void freeWrapper(void* ptr)\n{\n    if(ptr)\n        free(ptr);\n}\n\n// Type aliases for AutoGuard-based guards\nusing HostBufferAutoGuard   = AutoGuard<void*, freeWrapper>;\nusing DeviceBufferAutoGuard = AutoGuard<void*, hipFreeWrapper>;\nusing HipStreamAutoGuard    = AutoGuard<hipStream_t, hipStreamDestroyWrapper>;\nusing HipEventAutoGuard     = AutoGuard<hipEvent_t, hipEventDestroyWrapper>;\nusing NcclCommAutoGuard     = AutoGuard<ncclComm_t, ncclCommDestroyWrapper>;\n\n// Type aliases for ResourceGuard-based guards (common/NCCL-specific)\nusing NcclRegHandleGuard = ResourceGuard<void*, NcclRegHandleDeleter>;\n\n// Factory methods for ResourceGuard\ntemplate<typename T, typename Deleter>\ninline auto makeGuard(T resource, Deleter deleter) -> ResourceGuard<T, Deleter>\n{\n    return ResourceGuard<T, Deleter>(resource, std::move(deleter));\n}\n\ninline NcclRegHandleGuard makeRegHandleGuard(void* handle, ncclComm_t comm)\n{\n    return NcclRegHandleGuard(handle, NcclRegHandleDeleter(comm));\n}\n\ntemplate<typename T, typename Deleter>\ninline auto makeCustomGuard(T resource, Deleter deleter) -> ResourceGuard<T, Deleter>\n{\n    return ResourceGuard<T, Deleter>(resource, std::move(deleter));\n}\n\n// Factory methods for AutoGuard\ntemplate<typename T, auto DeleterFunc>\ninline AutoGuard<T, DeleterFunc> makeAutoGuard(T resource)\n{\n    return AutoGuard<T, DeleterFunc>(resource);\n}\n\ninline HostBufferAutoGuard makeHostBufferAutoGuard(void* buffer)\n{\n    return HostBufferAutoGuard(buffer);\n}\n\ninline DeviceBufferAutoGuard makeDeviceBufferAutoGuard(void* buffer)\n{\n    return DeviceBufferAutoGuard(buffer);\n}\n\ninline HipStreamAutoGuard makeStreamAutoGuard(hipStream_t stream)\n{\n    return HipStreamAutoGuard(stream);\n}\n\ninline HipEventAutoGuard makeEventAutoGuard(hipEvent_t event)\n{\n    return HipEventAutoGuard(event);\n}\n\ninline NcclCommAutoGuard makeCommAutoGuard(ncclComm_t comm)\n{\n    return NcclCommAutoGuard(comm);\n}\n\n} // namespace RCCLTestGuards\n\n"
  },
  {
    "path": "test/common/StandaloneUtils.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"CollectiveArgs.hpp\"\n#include \"StandaloneUtils.hpp\"\n#include <iostream>\n#include <regex>\n\n\nnamespace RcclUnitTesting\n{\n\nstd::string executeCommand(const char* cmd) {\n    std::string result;\n    FILE* pipe = popen(cmd, \"r\");\n\n    if (!pipe) {\n        std::cerr << \"Error executing command: \" << cmd << std::endl;\n        return result;\n    }\n\n    char buffer[128];\n    while (!feof(pipe)) {\n        if (fgets(buffer, 128, pipe) != NULL) {\n            result += buffer;\n        }\n    }\n\n    pclose(pipe);\n    return result;\n}\n\nstd::vector<std::string> splitString(const std::string& str, char delimiter) {\n    std::vector<std::string> result;\n    std::istringstream iss(str);\n\n    std::string line;\n    while(std::getline(iss, line, delimiter)) {\n        result.push_back(line);\n    }\n\n    return result;\n}\n\n\nArchInfo parseMetadata(const std::vector<std::string>& list) {\n    ArchInfo archInfo;\n    KernelInfo currKernelInfo;\n    \n    std::regex amdhsaTargetRegex(\"amdhsa.target:\\\\s+(?:'?)amdgcn-amd-amdhsa--(\\\\w+)(?:'?)\");\n    std::regex kernelNameRegex(\"\\\\.name:\\\\s+(\\\\w+)\");\n    std::regex privateSegmentSizeRegex(\"\\\\.private_segment_fixed_size:\\\\s+(\\\\d+)\");\n    \n    for (const auto& line : list) {\n        std::smatch match;\n\n        if (std::regex_search(line, match, amdhsaTargetRegex)) {\n            archInfo.archName = match[1];\n        } else if (std::regex_search(line, match, kernelNameRegex)) {\n            currKernelInfo.name = match[1];\n        } else if (std::regex_search(line, match, privateSegmentSizeRegex)) {\n            currKernelInfo.privateSegmentFixedSize = std::stoi(match[1]);\n        }\n        \n        if (!currKernelInfo.name.empty() && currKernelInfo.privateSegmentFixedSize != 0) {\n            archInfo.kernels.push_back(currKernelInfo);\n            currKernelInfo = {}; // Empty kernelInfo\n        }\n    }\n    \n    return archInfo;\n}\n\n}\n"
  },
  {
    "path": "test/common/StandaloneUtils.hpp",
    "content": "#ifndef STANDALONE_UTILS_H\n#define STANDALONE_UTILS_H\n\n#include <cstdio>\n#include <vector>\n#include <string>\n#include <rccl/rccl.h>\n\n#define HIPCALL(cmd)                                                                          \\\n    do {                                                                                      \\\n        hipError_t error = (cmd);                                                             \\\n        if (error != hipSuccess)                                                              \\\n        {                                                                                     \\\n            printf(\"Encountered HIP error (%s) at line %d in file %s\\n\",                      \\\n                                  hipGetErrorString(error), __LINE__, __FILE__);              \\\n            exit(-1);                                                                         \\\n        }                                                                                     \\\n    } while (0)\n\n#define NCCLCHECK(cmd) do {                                     \\\n    ncclResult_t res = cmd;                                     \\\n    if (res != ncclSuccess) {                                   \\\n         printf(\"NCCL failure %s:%d '%s'\\n\",                    \\\n            __FILE__,__LINE__,ncclGetErrorString(res));         \\\n    }                                                           \\\n} while(0)\n\n#define MAX_STACK_SIZE 640\n\n#ifdef ENABLE_LL128\n#define MAX_STACK_SIZE_gfx90a 360\n#else\n#define MAX_STACK_SIZE_gfx90a MAX_STACK_SIZE\n#endif\n\nnamespace RcclUnitTesting\n{\n    struct KernelInfo {\n        std::string name;\n        int privateSegmentFixedSize = 0;\n    };\n\n    struct ArchInfo {\n        std::string archName;\n        std::vector<KernelInfo> kernels;\n    };\n\n    std::string executeCommand(const char* cmd);\n\n    std::vector<std::string> splitString(const std::string& str, char delimiter);\n\n    ArchInfo parseMetadata(const std::vector<std::string>& list);\n}\n#endif\n"
  },
  {
    "path": "test/common/TestBed.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include <unistd.h>\n#include \"TestBed.hpp\"\n#include <rccl/rccl.h>\n\n#define PIPE_WRITE(childId, val)                                        \\\n  ASSERT_EQ(write(childList[childId]->parentWriteFd, &val, sizeof(val)), sizeof(val))\n\n\n#define PIPE_READ(childId, val)                                                         \\\n  {                                                                                     \\\n    if (ev.verbose) INFO(\"Calling PIPE_READ to Child %d\\n\", childId); \\\n    ssize_t retval = read(childList[childId]->parentReadFd, &val, sizeof(val)); \\\n    if (ev.verbose) INFO(\"Got PIPE_READ %ld from Child %d\\n\", retval, childId); \\\n    if (retval == -1)                                                                   \\\n    {                                                                                   \\\n      ERROR(\"Unable to read from child %d: Error %s\\n\", childId, strerror(errno));      \\\n      FAIL();                                                                           \\\n    }                                                                                   \\\n    else if (retval == 0)                                                               \\\n    {                                                                                   \\\n      ERROR(\"Child %d pipe closed unexpectedly\\n\", childId);                            \\\n      exit(1);                                                                          \\\n    }                                                                                   \\\n    else if (retval < sizeof(int))                                                      \\\n    {                                                                                   \\\n      ERROR(\"Child %d pipe read incomplete (%ld / %lu)\\n\", childId, retval, sizeof(val)); \\\n      exit(1);                                                                          \\\n    }                                                                                   \\\n  }\n\n#define PIPE_CHECK(childId)                         \\\n  {                                                 \\\n    int response = 0;                               \\\n    PIPE_READ(childId, response);                   \\\n    if (response != TEST_SUCCESS)                   \\\n    {                                               \\\n      ERROR(\"Child %d reports failure\\n\", childId); \\\n      ASSERT_EQ(response, TEST_SUCCESS);            \\\n      FAIL();                                       \\\n    }                                               \\\n  }\n\nnamespace RcclUnitTesting\n{\n  TestBed::TestBed() :\n    numDevicesAvailable(0),\n    numActiveChildren(0),\n    numActiveRanks(0)\n  {\n    // Collect the number of GPUs\n    this->numDevicesAvailable = ev.maxGpus;\n    if (ev.verbose) INFO(\"Detected %d GPUs\\n\", this->numDevicesAvailable);\n  }\n\n  void TestBed::InitComms(std::vector<std::vector<int>> const& deviceIdsPerProcess,\n                          std::vector<int>              const& numCollectivesInGroup,\n                          std::vector<int>              const& numStreamsPerGroup,\n                          int                           const  numGroupCalls,\n                          bool                          const  useBlocking)\n  {\n    InteractiveWait(\"Starting InitComms\");\n\n    // Count up the total number of GPUs to use and track child/deviceId per rank\n    this->numActiveChildren = deviceIdsPerProcess.size();\n    this->numActiveRanks = 0;\n    this->numGroupCalls = numGroupCalls;\n    this->numCollectivesInGroup = numCollectivesInGroup;\n    this->useBlocking = useBlocking;\n    this->numStreamsPerGroup = numStreamsPerGroup;\n    this->rankToChildMap.clear();\n    this->rankToDeviceMap.clear();\n    if (ev.verbose) INFO(\"Setting up %d active child processes\\n\", this->numActiveChildren);\n\n    for (int childId = 0; childId < this->numActiveChildren; ++childId)\n    {\n      for (auto i = 0; i < deviceIdsPerProcess[childId].size(); ++i)\n      {\n        this->rankToChildMap.push_back(childId);\n        this->rankToDeviceMap.push_back(deviceIdsPerProcess[childId][i]);\n        ++this->numActiveRanks;\n      }\n    }\n\n    // Check that no children currently exist\n    if (childList.size() > 0)\n    {\n      ERROR(\"DestroyComms must be called prior to subsequent call to InitComms\\n\");\n      return;\n    }\n\n    // Create child-processes\n    childList.resize(this->numActiveChildren);\n    for (int childId = 0; childId < this->numActiveChildren; ++childId)\n    {\n      childList[childId] = new TestBedChild(childId, ev.verbose, ev.printValues, ev.useMultithreading);\n      if (childList[childId]->InitPipes() != TEST_SUCCESS)\n      {\n        ERROR(\"Unable to create pipes to child process\\n\");\n        return;\n      }\n\n      pid_t pid = fork();\n      if (pid == 0)\n      {\n        // Child process enters execution loop\n        childList[childId]->StartExecutionLoop();\n        return;\n      }\n      else\n      {\n        // Parent records child process ID and closes unused ends of pipe\n        childList[childId]->pid = pid;\n        close(childList[childId]->childWriteFd);\n        close(childList[childId]->childReadFd);\n      }\n    }\n\n    // If debugging is enabled, pause here to allow users to attach debugger\n    if (ev.debugPause) {\n      INFO(\"============================================================\\n\");\n      INFO(\" Pausing for debug attach: (e.g. sudo rocgdb -p <PID>)\\n\");\n      INFO(\"============================================================\\n\");\n      for (int childId = 0; childId < this->numActiveChildren; ++childId) {\n        INFO(\" Child %02d: processID: %d\\n\", childId, childList[childId]->pid);\n      }\n      INFO(\"============================================================\\n\");\n      INFO(\"<Press enter to continue>\\n\");\n      scanf(\"%*c\");\n    }\n\n    // Determine number of unique GPUs being used.\n    std::set<int> unique_devices;\n    for (auto a:  this->rankToDeviceMap)\n      unique_devices.insert(a);\n    bool useMulti = unique_devices.size() < this->rankToDeviceMap.size() ? true : false;\n\n    // Tell first rank to get ncclUniqueId\n    int getIdCmd = TestBedChild::CHILD_GET_UNIQUE_ID;\n    PIPE_WRITE(0, getIdCmd);\n    PIPE_CHECK(0);\n\n    // Receive back unique ID from first rank\n    ncclUniqueId id;\n    PIPE_READ(0, id);\n\n    // Send InitComms command to each active child process\n    int const cmd = TestBedChild::CHILD_INIT_COMMS;\n    int rankOffset = 0;\n    for (int childId = 0; childId < this->numActiveChildren; ++childId)\n    {\n      if (ev.verbose) INFO(\"Sending InitComm event to child %d\\n\", childId);\n      PIPE_WRITE(childId, cmd);\n\n      // Send unique ID to child process\n      PIPE_WRITE(childId, id);\n\n      // Send total number of ranks to child process\n      PIPE_WRITE(childId, this->numActiveRanks);\n\n      // Send the rank offset for this child process\n      PIPE_WRITE(childId, rankOffset);\n\n      // Send the total number of group calls for this child process\n      PIPE_WRITE(childId, numGroupCalls);\n\n      // Send the number of collectives to be run per group call\n      PIPE_WRITE(childId, numCollectivesInGroup);\n\n      // Send the RCCL communication with blocking or non-blocking option\n      PIPE_WRITE(childId, useBlocking);\n\n      // Send whether to use MultiRank interfaces or not.\n      PIPE_WRITE(childId, useMulti);\n\n      // Send how many streams to use per group call\n      PIPE_WRITE(childId, numStreamsPerGroup);\n\n      // Send the GPUs this child uses\n      int const numGpus = deviceIdsPerProcess[childId].size();\n      PIPE_WRITE(childId, numGpus);\n      for (int i = 0; i < numGpus; i++)\n        PIPE_WRITE(childId, deviceIdsPerProcess[childId][i]);\n\n      rankOffset += numGpus;\n    }\n\n    // Wait for child acknowledgement\n    // This is done after previous loop to avoid deadlock as every rank needs to enter ncclInitCommRank\n    for (int childId = 0; childId < this->numActiveChildren; ++childId)\n    {\n      PIPE_CHECK(childId);\n    }\n    InteractiveWait(\"Finishing InitComms\");\n  }\n\n  void TestBed::InitComms(std::vector<std::vector<int>> const& deviceIdsPerProcess,\n                          int const numCollectivesInGroup, int const numStreamsPerGroup, int const numGroupCalls, bool const useBlocking)\n  {\n    InitComms(deviceIdsPerProcess, TestBed::GetNumCollsPerGroup(numCollectivesInGroup, numGroupCalls), TestBed::GetNumStreamsPerGroup(numStreamsPerGroup, numGroupCalls), numGroupCalls, useBlocking);\n  }\n\n  void TestBed::InitComms(int const numGpus, int const numCollectivesInGroup, int const numStreamsPerGroup, int const numGroupCalls, bool const useBlocking)\n  {\n     const std::vector<int>& gpuPriorityOrder = ev.GetGpuPriorityOrder();\n     InitComms(GetDeviceIdsList(1, numGpus, gpuPriorityOrder), TestBed::GetNumCollsPerGroup(numCollectivesInGroup, numGroupCalls), TestBed::GetNumStreamsPerGroup(numStreamsPerGroup, numGroupCalls), numGroupCalls, useBlocking);\n  }\n\n  void TestBed::SetCollectiveArgs(ncclFunc_t      const funcType,\n                                  ncclDataType_t  const dataType,\n                                  size_t          const numInputElements,\n                                  size_t          const numOutputElements,\n                                  OptionalColArgs const &optionalArgs,\n                                  int             const collId,\n                                  int             const groupId,\n                                  int             const rank,\n                                  int             const streamIdx)\n  {\n    InteractiveWait(\"Starting SetCollectiveArgs\");\n    // Build list of ranks this applies to (-1 for rank means to set for all)\n    std::vector<int> rankList;\n    for (int i = 0; i < this->numActiveRanks; ++i)\n      if (rank == -1 || rank == i) rankList.push_back(i);\n\n    if (streamIdx < 0 || streamIdx >= this->numStreamsPerGroup[groupId])\n    {\n      ERROR(\"StreamIdx for group %d collective %d is out of bounds (%d/%d):\\n\", groupId, collId, streamIdx, numStreamsPerGroup[groupId]);\n      FAIL();\n    }\n\n    // Loop over all ranks and send CollectiveArgs to appropriate child process\n    int const cmd = TestBedChild::CHILD_SET_COLL_ARGS;\n    for (auto currRank : rankList)\n    {\n      int const childId = rankToChildMap[currRank];\n      PIPE_WRITE(childId, cmd);\n      PIPE_WRITE(childId, currRank);\n      PIPE_WRITE(childId, collId);\n      PIPE_WRITE(childId, groupId);\n      PIPE_WRITE(childId, funcType);\n      PIPE_WRITE(childId, dataType);\n      PIPE_WRITE(childId, numInputElements);\n      PIPE_WRITE(childId, numOutputElements);\n      PIPE_WRITE(childId, streamIdx);\n      PIPE_WRITE(childId, optionalArgs);\n      PIPE_CHECK(childId);\n    }\n    InteractiveWait(\"Finishing SetCollectiveArgs\");\n  }\n\n  void TestBed::AllocateMem(bool   const inPlace,\n                            bool   const useManagedMem,\n                            int    const groupId,\n                            int    const collId,\n                            int    const rank,\n                            bool   const userRegistered)\n  {\n    InteractiveWait(\"Starting AllocateMem\");\n\n    // Build list of ranks this applies to (-1 for rank means to set for all)\n    std::vector<int> rankList;\n    for (int i = 0; i < this->numActiveRanks; ++i)\n      if (rank == -1 || rank == i) rankList.push_back(i);\n\n    // Build list of groups this applies to (-1 for groupId means to set for all)\n    std::vector<int> groupList;\n    for (int i = 0; i < this->numGroupCalls; ++i)\n      if (groupId == -1 || groupId == i) groupList.push_back(i);\n\n    // Loop over all ranks and send allocation command to appropriate child process\n    int const cmd = TestBedChild::CHILD_ALLOCATE_MEM;\n    for (auto currGroup : groupList) {\n      for (auto currRank : rankList)\n      {\n        int const childId = rankToChildMap[currRank];\n        PIPE_WRITE(childId, cmd);\n        PIPE_WRITE(childId, currRank);\n        PIPE_WRITE(childId, collId);\n        PIPE_WRITE(childId, inPlace);\n        PIPE_WRITE(childId, useManagedMem);\n        PIPE_WRITE(childId, userRegistered);\n        PIPE_WRITE(childId, currGroup);\n        PIPE_CHECK(childId);\n      }\n    }\n    InteractiveWait(\"Finishing AllocateMem\");\n  }\n\n  void TestBed::PrepareData(int         const groupId,\n                            int         const collId,\n                            int         const rank,\n                            CollFuncPtr const prepDataFunc)\n  {\n    InteractiveWait(\"Starting PrepareData\");\n    // Build list of ranks this applies to (-1 for rank means to set for all)\n    std::vector<int> rankList;\n    for (int i = 0; i < this->numActiveRanks; ++i)\n      if (rank == -1 || rank == i) rankList.push_back(i);\n\n    // Build list of groups this applies to (-1 for groupId means to set for all)\n    std::vector<int> groupList;\n    for (int i = 0; i < this->numGroupCalls; ++i)\n      if (groupId == -1 || groupId == i) groupList.push_back(i);\n\n    // Loop over all ranks and send prepare data command to appropriate child process\n    int const cmd = TestBedChild::CHILD_PREPARE_DATA;\n    for (auto currGroup : groupList)\n    {\n      for (auto currRank : rankList)\n      {\n        int const childId = rankToChildMap[currRank];\n        PIPE_WRITE(childId, cmd);\n        PIPE_WRITE(childId, currRank);\n        PIPE_WRITE(childId, currGroup);\n        PIPE_WRITE(childId, collId);\n        PIPE_WRITE(childId, prepDataFunc);\n        PIPE_CHECK(childId);\n      }\n    }\n    InteractiveWait(\"Finishing PrepareData\");\n  }\n\n  void TestBed::ExecuteCollectives(std::vector<int> const &currentRanks, int const groupId,\n                                   bool const useHipGraph)\n  {\n    InteractiveWait(\"Starting ExecuteCollectives\");\n\n    int const cmd = TestBedChild::CHILD_EXECUTE_COLL;\n    ++TestBed::NumTestsRun();\n\n    std::vector<std::vector<int>> ranksPerChild(this->numActiveChildren);\n    for (int rank = 0; rank < currentRanks.size(); ++rank)\n    {\n      ranksPerChild[rankToChildMap[currentRanks[rank]]].push_back(rank);\n    }\n\n    // Build list of groups this applies to (-1 for groupId means to set for all)\n    std::vector<int> groupList;\n    for (int i = 0; i < this->numGroupCalls; ++i)\n      if (groupId == -1 || groupId == i) groupList.push_back(i);\n\n    for (auto currGroup : groupList) {\n      // Send ExecuteColl command to each active child process\n      for (int childId = 0; childId < this->numActiveChildren; ++childId)\n      {\n        if ((currentRanks.size() == 0) || (ranksPerChild[childId].size() > 0))\n        {\n          InteractiveWait(\"Starting ExecuteCollectives for child \" + std::to_string(childId));\n          PIPE_WRITE(childId, cmd);\n          PIPE_WRITE(childId, ev.timeoutUs);\n          PIPE_WRITE(childId, currGroup);\n          PIPE_WRITE(childId, useHipGraph);\n          int tempCurrentRanks = currentRanks.size();\n          PIPE_WRITE(childId, tempCurrentRanks);\n          for (int rank = 0; rank < currentRanks.size(); ++rank){\n            PIPE_WRITE(childId, currentRanks[rank]);\n          }\n        }\n      }\n    }\n\n    // Wait for child acknowledgement\n    for (int childId = 0; childId < this->numActiveChildren; ++childId)\n    {\n      if ((currentRanks.size() == 0) || (ranksPerChild[childId].size() > 0)) PIPE_CHECK(childId);\n    }\n\n    InteractiveWait(\"Finishing ExecuteCollectives\");\n  }\n\n  void TestBed::ValidateResults(bool& isCorrect, int const groupId, int const collId, int const rank)\n  {\n    InteractiveWait(\"Starting ValidateResults\");\n\n    // Build list of ranks this applies to (-1 for rank means to set for all)\n    std::vector<int> rankList;\n    for (int i = 0; i < this->numActiveRanks; ++i)\n      if (rank == -1 || rank == i) rankList.push_back(i);\n\n    // Build list of groups this applies to (-1 for groupId means to set for all)\n    std::vector<int> groupList;\n    for (int i = 0; i < this->numGroupCalls; ++i)\n      if (groupId == -1 || groupId == i) groupList.push_back(i);\n\n    int const cmd = TestBedChild::CHILD_VALIDATE_RESULTS;\n\n    isCorrect = true;\n    for (auto currGroup : groupList)\n    {\n      // Send ValidateResults command to each active child process\n      for (auto currRank : rankList)\n      {\n        int const childId = rankToChildMap[currRank];\n        PIPE_WRITE(childId, cmd);\n        PIPE_WRITE(childId, currRank);\n        PIPE_WRITE(childId, currGroup);\n        PIPE_WRITE(childId, collId);\n\n        int response = 0;\n        ASSERT_EQ(read(childList[childId]->parentReadFd, &response, sizeof(int)), sizeof(int));\n        isCorrect &= (response == TEST_SUCCESS);\n      }\n    }\n\n    ASSERT_EQ(isCorrect, true) << \"Output does not match expected\";\n\n    InteractiveWait(\"Finishing ValidateResults\");\n  }\n\n  void TestBed::LaunchGraphs(int const groupId)\n  {\n    InteractiveWait(\"Starting LaunchGraphs\");\n\n    // Build list of groups this applies to (-1 for groupId means to set for all)\n    std::vector<int> groupList;\n    for (int i = 0; i < this->numGroupCalls; ++i)\n      if (groupId == -1 || groupId == i) groupList.push_back(i);\n\n    int const cmd = TestBedChild::CHILD_LAUNCH_GRAPHS;\n    for (auto currGroup : groupList)\n    {\n      for (int childId = 0; childId < this->numActiveChildren; ++childId)\n      {\n        // Send LaunchGraphs command to each active child process\n        PIPE_WRITE(childId, cmd);\n        PIPE_WRITE(childId, currGroup);\n\n        // Wait for child acknowledgement\n        PIPE_CHECK(childId);\n      }\n    }\n\n    InteractiveWait(\"Finishing LaunchGraphs\");\n  }\n\n  void TestBed::DeallocateMem(int const groupId, int const collId, int const rank)\n  {\n    InteractiveWait(\"Starting DeallocateMem\");\n\n    // Build list of ranks this applies to (-1 for rank means to set for all)\n    std::vector<int> rankList;\n    for (int i = 0; i < this->numActiveRanks; ++i)\n      if (rank == -1 || rank == i) rankList.push_back(i);\n\n    // Build list of groups this applies to (-1 for groupId means to set for all)\n    std::vector<int> groupList;\n    for (int i = 0; i < this->numGroupCalls; ++i)\n      if (groupId == -1 || groupId == i) groupList.push_back(i);\n\n    int const cmd = TestBedChild::CHILD_DEALLOCATE_MEM;\n\n    for (auto currGroup : groupList)\n    {\n      for (auto currRank : rankList)\n      {\n        int const childId = rankToChildMap[currRank];\n        PIPE_WRITE(childId, cmd);\n        PIPE_WRITE(childId, currRank);\n        PIPE_WRITE(childId, currGroup);\n        PIPE_WRITE(childId, collId);\n        PIPE_CHECK(childId);\n      }\n    }\n\n    InteractiveWait(\"Finishing DeallocateMem\");\n  }\n\n  void TestBed::DestroyComms()\n  {\n    InteractiveWait(\"Starting DestroyComms\");\n\n    int const cmd = TestBedChild::CHILD_DESTROY_COMMS;\n    for (int childId = 0; childId < this->numActiveChildren; ++childId)\n    {\n      // Send DestroyComms command to each active child process\n      PIPE_WRITE(childId, cmd);\n\n      // Wait for child acknowledgement\n      PIPE_CHECK(childId);\n    }\n\n    // Close any open child processes\n    Finalize();\n\n    InteractiveWait(\"Finishing DestroyComms\");\n  }\n\n  void TestBed::DestroyGraphs()\n  {\n    InteractiveWait(\"Starting DestroyGraphs\");\n\n    int const cmd = TestBedChild::CHILD_DESTROY_GRAPHS;\n    for (int currGroup = 0; currGroup < this->numGroupCalls; ++currGroup)\n    {\n      for (int childId = 0; childId < this->numActiveChildren; ++childId)\n      {\n        // Send DestroyGraphs command to each active child process\n        PIPE_WRITE(childId, cmd);\n        PIPE_WRITE(childId, currGroup);\n\n        // Wait for child acknowledgement\n        PIPE_CHECK(childId);\n      }\n    }\n\n    InteractiveWait(\"Finishing DestroyGraphs\");\n  }\n\n  void TestBed::Finalize()\n  {\n    if (this->numActiveChildren == 0)\n      return;\n\n    InteractiveWait(\"Starting Finalize\");\n\n    // Send Stop to all child processes\n    int const cmd = TestBedChild::CHILD_STOP;\n    for (int childId = 0; childId < this->numActiveChildren; ++childId)\n    {\n      PIPE_WRITE(childId, cmd);\n\n      // Close pipes to child process\n      close(childList[childId]->parentWriteFd);\n      close(childList[childId]->parentReadFd);\n    }\n\n    // Wait for processes to stop\n    for (int childId = 0; childId < this->numActiveChildren; ++childId)\n    {\n      int returnVal = 0;\n      waitpid(childList[childId]->pid, &returnVal, 0);\n      if (returnVal != 0)\n      {\n        ERROR(\"Child process %d exited with code %d\\n\", childId, returnVal);\n      }\n      delete(childList[childId]);\n    }\n\n    childList.clear();\n\n    // Reset bookkeeping\n    this->numActiveChildren = 0;\n    this->numActiveRanks = 0;\n\n    InteractiveWait(\"Finishing Finalize\");\n  }\n\n  TestBed::~TestBed()\n  {\n    Finalize();\n  }\n\n  std::vector<ncclRedOp_t> const& TestBed::GetAllSupportedRedOps()\n  {\n    return ev.GetAllSupportedRedOps();\n  }\n\n  std::vector<ncclDataType_t> const& TestBed::GetAllSupportedDataTypes()\n  {\n    return ev.GetAllSupportedDataTypes();\n  }\n\n  void TestBed::GetSupportedRedOps(std::vector<ncclRedOp_t>& redOps, const std::vector<ncclRedOp_t>& testRedOps)\n  {\n    // Filter out any unsupported reduction ops, in case only subset has been compiled for\n    auto& supportedOps = ev.GetAllSupportedRedOps();\n    for (auto redop : testRedOps)\n    {\n      for (int i = 0; i < supportedOps.size(); ++i)\n      {\n        if (supportedOps[i] == redop)\n        {\n          redOps.push_back(redop);\n          break;\n        }\n      }\n    }\n  }\n\n  void TestBed::GetSupportedDataTypes(std::vector<ncclDataType_t>& dataTypes, const std::vector<ncclDataType_t>& testDataTypes)\n  {\n    // Filter out any unsupported datatypes, in case only subset has been compiled for\n    auto& supportedDataTypes = ev.GetAllSupportedDataTypes();\n    for (auto dt : testDataTypes)\n    {\n      for (int i = 0; i < supportedDataTypes.size(); ++i)\n      {\n        if (supportedDataTypes[i] == dt)\n        {\n          dataTypes.push_back(dt);\n          break;\n        }\n      }\n    }\n  }\n\n  std::vector<int> const TestBed::GetNumCollsPerGroup(int numCollectivesInGroup,\n                                                       int numGroupCalls)\n  {\n    return std::vector<int>(numGroupCalls, numCollectivesInGroup);\n  }\n\n  std::vector<int> const TestBed::GetNumStreamsPerGroup(int numStreamsPerGroup,\n                                                         int numGroupCalls)\n  {\n    return std::vector<int>(numGroupCalls, numStreamsPerGroup);\n  }\n\n  std::vector<std::vector<int>> TestBed::GetDeviceIdsList(int const numProcesses,\n                                                          int const numGpus,\n                                                          const std::vector<int>& gpuPriorityOrder)\n  {\n    return GetDeviceIdsList(numProcesses, numGpus, 1, gpuPriorityOrder);\n  }\n\n  std::vector<std::vector<int>> TestBed::GetDeviceIdsList(int const numProcesses,\n                                                          int const numGpus,\n                                                          int const ranksPerGpu,\n                                                          const std::vector<int>& gpuPriorityOrder)\n  {\n    std::vector<std::vector<int>> result(numProcesses);\n    int ntasks = numProcesses == 1 ? numGpus : 1;\n    int k=0;\n    for (int i = 0; i < numProcesses; i++)\n      for (int j = 0; j < ntasks * ranksPerGpu; j++) {\n        result[i].push_back(gpuPriorityOrder[k%numGpus]);\n        k++;\n      }\n    return result;\n  }\n\n  std::string TestBed::GetTestCaseName(int            const totalRanks,\n                                       bool           const isMultiProcess,\n                                       ncclFunc_t     const funcType,\n                                       ncclDataType_t const dataType,\n                                       ncclRedOp_t    const redOp,\n                                       int            const root,\n                                       bool           const inPlace,\n                                       bool           const managedMem,\n                                       bool           const useHipGraph,\n                                       int            const ranksPerProc)\n  {\n    std::stringstream ss;\n    ss << (isMultiProcess ? \"MP\" : \"SP\") <<  \" \";\n    ss << totalRanks;\n    if (ranksPerProc > 1)\n      ss << \"(\" << ranksPerProc << \") \";\n    else\n      ss << \"    \";\n    ss << \"ranks \";\n    ss << std::setfill(' ') << std::setw(20) << ncclFuncNames[funcType] << \" \";\n    ss << \"(\" << (inPlace ? \"IP\" : \"OP\") << \",\"\n       << (managedMem ? \"MM\" : \"GM\") << \",\"\n       << (useHipGraph ? \"GL\" : \"NL\") <<\") \";\n    ss << std::setfill(' ') << std::setw(15) << ncclDataTypeNames[dataType] << \" \";\n    if (CollectiveArgs::UsesReduce(funcType)) ss << std::setfill(' ') << std::setw(7) << ncclRedOpNames[redOp] << \" \";\n    if (CollectiveArgs::UsesRoot(funcType)) ss << \"Root \" << root << \" \";\n    return ss.str();\n  }\n\n  void TestBed::RunSimpleSweep(std::vector<ncclFunc_t>     const& funcTypes,\n                               std::vector<ncclDataType_t> const& tmpDataTypes,\n                               std::vector<ncclRedOp_t>    const& tmpRedOps,\n                               std::vector<int>            const& roots,\n                               std::vector<int>            const& numElements,\n                               std::vector<bool>           const& inPlaceList,\n                               std::vector<bool>           const& managedMemList,\n                               std::vector<bool>           const& useHipGraphList,\n                               bool                        const& enableSweep)\n  {\n    // Sort numElements in descending order to cut down on # of allocations\n    std::vector<int> sortedN = numElements;\n    std::sort(sortedN.rbegin(), sortedN.rend());\n    OptionalColArgs optionalArgs;\n    std::vector<ncclDataType_t> dataTypes;\n    this->GetSupportedDataTypes(dataTypes, tmpDataTypes);\n    if (dataTypes.empty()) {\n      GTEST_SKIP() << \"Skipping... test datatypes excluded by UT_DATATYPES.\";\n    }\n\n    std::vector<ncclRedOp_t> redOps;\n    this->GetSupportedRedOps(redOps, tmpRedOps);\n    if (redOps.empty()) {\n      GTEST_SKIP() << \"Skipping... test reduction operations excluded by UT_REDOPS.\";\n    }\n\n    bool isCorrect = true;\n\n    // Sweep over the number of ranks\n    for (int numGpus : ev.GetNumGpusList())\n    for (int isMultiProcess : ev.GetIsMultiProcessList())\n    for (int ranksPerGpu=1; ranksPerGpu <= ev.maxRanksPerGpu && isCorrect; ++ranksPerGpu)\n    {\n      // Test either single process all GPUs, or 1 process per GPU\n      int const numChildren = isMultiProcess ? numGpus : 1;\n      int const numRanks    = numGpus*ranksPerGpu;\n      if(enableSweep == false && (numGpus < 8 || numRanks < 8)) {\n        continue;\n      }\n      const std::vector<int>& gpuPriorityOrder = ev.GetGpuPriorityOrder();\n      this->InitComms(this->GetDeviceIdsList(numChildren, numGpus, ranksPerGpu, gpuPriorityOrder));\n      if (testing::Test::HasFailure())\n      {\n        isCorrect = false;\n        continue;\n      }\n\n      for (int ftIdx = 0; ftIdx < funcTypes.size()      && isCorrect; ++ftIdx)\n      for (int dtIdx = 0; dtIdx < dataTypes.size()      && isCorrect; ++dtIdx)\n      {\n      //Skipping AllReduce FP8 test on 9 to 16 ranks (gfx90a).\n      if(ev.isGfx90 && numRanks > 8 && funcTypes[ftIdx] == ncclCollAllReduce\n                    && (dataTypes[dtIdx] == ncclFloat8e4m3\n                    || dataTypes[dtIdx] == ncclFloat8e5m2))\n      {\n            continue;\n      }\n      for (int rdIdx = 0; rdIdx < redOps.size()         && isCorrect; ++rdIdx)\n      for (int rtIdx = 0; rtIdx < roots.size()          && isCorrect; ++rtIdx)\n      for (int ipIdx = 0; ipIdx < inPlaceList.size()    && isCorrect; ++ipIdx)\n      for (int mmIdx = 0; mmIdx < managedMemList.size() && isCorrect; ++mmIdx)\n      {\n        for (int neIdx = 0; neIdx < numElements.size() && isCorrect; ++neIdx)\n        {\n          int numInputElements, numOutputElements;\n          CollectiveArgs::GetNumElementsForFuncType(funcTypes[ftIdx],\n                                                    sortedN[neIdx],\n                                                    numRanks,\n                                                    &numInputElements,\n                                                    &numOutputElements);\n          optionalArgs.redOp = redOps[rdIdx];\n          optionalArgs.root = roots[rtIdx] % this->numActiveRanks;\n          // Set biasNumElements if bias is enabled\n          if (optionalArgs.useBias)\n          {\n            optionalArgs.biasNumElements = numOutputElements;\n          }\n          this->SetCollectiveArgs(funcTypes[ftIdx],\n                                  dataTypes[dtIdx],\n                                  numInputElements,\n                                  numOutputElements,\n                                  optionalArgs);\n          if (testing::Test::HasFailure())\n          {\n            isCorrect = false;\n            continue;\n          }\n\n          // Only allocate once for largest size\n          if (neIdx == 0)\n          {\n            this->AllocateMem(inPlaceList[ipIdx], managedMemList[mmIdx]);\n            if (testing::Test::HasFailure())\n            {\n              isCorrect = false;\n              continue;\n            }\n          }\n\n          for (int hgIdx = 0; hgIdx < useHipGraphList.size() && isCorrect; ++hgIdx)\n          {\n            // There are some cases when data does not need to be re-prepared\n            // e.g. AllReduce subarray expected results are still valid\n            bool canSkip = (neIdx != 0 && !inPlaceList[ipIdx] &&\n                            (funcTypes[ftIdx] == ncclCollBroadcast ||\n                             funcTypes[ftIdx] == ncclCollReduce    ||\n                             funcTypes[ftIdx] == ncclCollAllReduce));\n            if (!canSkip) this->PrepareData();\n            if (testing::Test::HasFailure())\n            {\n              isCorrect = false;\n              continue;\n            }\n\n            std::string name = this->GetTestCaseName(numGpus, isMultiProcess,\n                                                     funcTypes[ftIdx], dataTypes[dtIdx],\n                                                     redOps[rdIdx], roots[rtIdx],\n                                                     inPlaceList[ipIdx], managedMemList[mmIdx],\n                                                     useHipGraphList[hgIdx], ranksPerGpu);\n\n            if (ev.showNames)\n            {\n              INFO(\"%s [%9d elements]\\n\", name.c_str(), numInputElements);\n            }\n\n            std::vector<int> currentRanksEmpty = {};\n            this->ExecuteCollectives(currentRanksEmpty, /*all groups*/ -1, useHipGraphList[hgIdx]);\n            if (useHipGraphList[hgIdx]) {\n              this->LaunchGraphs();\n              this->DestroyGraphs();\n            }\n            if (testing::Test::HasFailure())\n            {\n              isCorrect = false;\n              continue;\n            }\n            this->ValidateResults(isCorrect);\n            if (!isCorrect)\n            {\n              ERROR(\"Incorrect output for %s\\n\", name.c_str());\n            }\n          }\n        }\n        this->DeallocateMem();\n      }\n    }\n      this->DestroyComms();\n    }\n  }\n\n  void TestBed::InteractiveWait(std::string message)\n  {\n    if (ev.useInteractive)\n    {\n      INFO(\"%s\\n\", message.c_str());\n      INFO(\"<Hit any key to continue>\\n\");\n      scanf(\"%*c\");\n    }\n  }\n\n  int& TestBed::NumTestsRun()\n  {\n    static int numTestsRun = 0;\n    return numTestsRun;\n  }\n}\n\n#undef PIPE_WRITE\n#undef PIPE_CHECK\n"
  },
  {
    "path": "test/common/TestBed.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#pragma once\n#include <map>\n#include \"CollectiveArgs.hpp\"\n#include \"TestBedChild.hpp\"\n#include \"EnvVars.hpp\"\n#include <gtest/gtest.h>\n#include <iomanip>\n#include <chrono>\n\nnamespace RcclUnitTesting\n{\n  // This class facilitates testing RCCL collectives across various process / device configurations\n  //\n  class TestBed\n  {\n  public:\n    int                        numDevicesAvailable;   // # of devices detected on node\n    std::vector<TestBedChild*> childList;             // List of child processes\n    std::vector<int>           rankToChildMap;        // Tracks which child process each rank is assigned to\n    std::vector<int>           rankToDeviceMap;       // Tracks which device each rank is assigned to\n    std::vector<int>           numCollectivesInGroup; // # of collectives to execute per group call\n    std::vector<int>           numStreamsPerGroup;    // # of different streams available per group call\n    int                        numGroupCalls;         // Total # of group calls to be executed\n    int                        numActiveChildren;     // List of active children (with usable RCCL comms)\n    int                        numActiveRanks;        // Current # of ranks in use\n    bool                       useBlocking;           // RCCL communication with blocking or non-blocking option\n    EnvVars                    ev;                    // Environment variables\n\n    // Constructor - Creates one child process per detected GPU device that waits for further commands\n    TestBed();\n\n    // Prepare TestBed with multiple group call customization\n    void InitComms(std::vector<std::vector<int>> const& deviceIdsPerChild,\n                   std::vector<int>              const& numCollectivesInGroup,\n                   std::vector<int>              const& numStreamsPerGroup,\n                   int                           const  numGroupCalls = 1,\n                   bool                          const  useBlocking   = true);\n\n    // Prepare TestBed for use with GPUs across multiple child processes\n    void InitComms(std::vector<std::vector<int>> const& deviceIdsPerChild,\n                   int  const numCollectivesInGroup = 1,\n                   int  const numStreamsPerGroup    = 1,\n                   int  const numGroupCalls         = 1,\n                   bool const useBlocking           = true);\n\n    // Prepare TestBed for use with GPUs on a single child process\n    void InitComms(int  const numGpus,\n                   int  const numCollectivesInGroup = 1,\n                   int  const numStreamsPerGroup    = 1,\n                   int  const numGroupCalls         = 1,\n                   bool const useBlocking           = true);\n\n    // Set collectives arguments for specified collective / rank\n    // Setting scalarsPerRank to non-null will create custom reduction operator\n    // Using collId = -1 (default) applies settings to all collectives in group\n    // Using rank = -1 (default) applies settings to all ranks\n    void SetCollectiveArgs(ncclFunc_t      const funcType,\n                           ncclDataType_t  const dataType,\n                           size_t          const numInputElements,\n                           size_t          const numOutputElements,\n                           OptionalColArgs const &optionalArgs = {},\n                           int             const collId        = -1,\n                           int             const groupId       = 0,\n                           int             const rank          = -1,\n                           int             const streamIdx     = 0);\n\n    // Allocate memory for specified collective / rank\n    // - Requires SetCollectiveArgs to have been called already\n    // Using collId = -1 (default) applies settings to all collectives in group\n    // Using rank = -1 (default) applies settings to all ranks\n    // Using groupIdx = -1 (default) applies setting to all groups\n    void AllocateMem(bool   const inPlace = false,\n                     bool   const useManagedMem = false,\n                     int    const groupId  = -1,\n                     int    const collId   = -1,\n                     int    const rank     = -1,\n                     bool   const userRegistered = false);\n\n    // Initialize input and compute expected results\n    // - requires that SetCollectiveArgs and AllocateMemory have already been called\n    // Setting groupId to -1 applies setting to all groups\n    // Setting collId to -1 applies settings to all collectives in group\n    // Setting rank to -1 applies settings to all ranks\n    // Setting prepDataFunc to nullptr uses the default fill pattern routine\n    void PrepareData(int         const groupId      = -1,\n                     int         const collId       = -1,\n                     int         const rank         = -1,\n                     CollFuncPtr const prepDataFunc = nullptr);\n\n    // Execute all collectives on all test children\n    // Blocks until collective is completed\n    void ExecuteCollectives(std::vector<int> const &currentRanks = {},\n                            int              const groupId       = -1,\n                            bool             const useHipGraph   = false);\n\n    // Perform results validation - compare output to expected\n    void ValidateResults(bool& isCorrect, int const groupId = -1, int const collId = -1, int const rank = -1);\n\n    // Launch instantiated graphs\n    void LaunchGraphs(int const groupId = -1);\n\n    // Release allocated memory\n    void DeallocateMem(int const groupId = -1, int const collId = -1, int const rank = -1);\n\n    // Release the RCCL comms\n    void DestroyComms();\n\n    // Release created graphs\n    void DestroyGraphs();\n\n    // Explicit TestBed destructor that releases all child processes\n    // No further calls to TestBed should be performed after this call\n    void Finalize();\n\n    // Destructor - Calls Finalize() to release all child processes\n    ~TestBed();\n\n    // Returns all the supported reduction operations based on build settings\n    std::vector<ncclRedOp_t> const& GetAllSupportedRedOps();\n\n    // Return all the supported data types based on build settings\n    std::vector<ncclDataType_t> const& GetAllSupportedDataTypes();\n\n    // Returns the intersection of testRedOps with supported reduction operations as redOps.\n    void GetSupportedRedOps(std::vector<ncclRedOp_t>& redOps, const std::vector<ncclRedOp_t>& testRedOps);\n\n    // Returns the intersection of testDataTypes with supported data types as dataTypes.\n    void GetSupportedDataTypes(std::vector<ncclDataType_t>& dataTypes, const std::vector<ncclDataType_t>& testDataTypes);\n\n    // Return a list for # of collectives per group\n    std::vector<int> const GetNumCollsPerGroup(int const numCollectivesInGroup,\n                                                int const numGroupCalls);\n\n    // Return a list for # of streams per group\n    std::vector<int> const GetNumStreamsPerGroup(int const numStreamsPerGroup,\n                                                  int const numGroupCalls);\n\n    // Helper function that splits up GPUs to the given number of processes\n    static std::vector<std::vector<int>> GetDeviceIdsList(int const numProcesses,\n                                                          int const numGpus,\n                                                          int const ranksPerGpu,\n                                                          const std::vector<int>& gpuPriorityOrder);\n\n    static std::vector<std::vector<int>> GetDeviceIdsList(int const numProcesses,\n                                                          int const numGpus,\n                                                          const std::vector<int>& gpuPriorityOrder);\n\n    // Generate a test case name\n    static std::string GetTestCaseName(int            const totalRanks,\n                                       bool           const isMultiProcess,\n                                       ncclFunc_t     const funcType,\n                                       ncclDataType_t const dataType,\n                                       ncclRedOp_t    const redOp,\n                                       int            const root,\n                                       bool           const inPlace,\n                                       bool           const managedMem,\n                                       bool           const useHipGraph,\n                                       int            const ranksPerProc=1);\n\n    // Run a simple sweep\n    void RunSimpleSweep(std::vector<ncclFunc_t>     const& funcTypes,\n                        std::vector<ncclDataType_t> const& dataTypes,\n                        std::vector<ncclRedOp_t>    const& redOps,\n                        std::vector<int>            const& roots,\n                        std::vector<int>            const& numElements,\n                        std::vector<bool>           const& inPlaceList,\n                        std::vector<bool>           const& managedMemList,\n                        std::vector<bool>           const& useHipGraphList,\n                        bool                        const& enableSweep = true);\n\n    // Wait for user-input if in interactive mode\n    void InteractiveWait(std::string message);\n\n    // Used to track total number of calls to ExecuteCollectives()\n    static int& NumTestsRun();\n\n  protected:\n    // Ends the specified child process\n    void StopChild(int const childId);\n  };\n}\n"
  },
  {
    "path": "test/common/TestBedChild.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"TestBedChild.hpp\"\n\n#include <thread>\n#include <execinfo.h>\n#ifdef ENABLE_OPENMP\n#include <omp.h>\n#endif\n\nstatic int getThreadId()\n{\n  #ifdef ENABLE_OPENMP\n  return (int)omp_get_thread_num();\n  #else\n  return -1;\n  #endif\n}\n\n#define CHILD_NCCL_CALL_BASE(cmd, msg, RESULT, RESULT_ARGS...)          \\\n  do {                                                                  \\\n    if (this->verbose) printf(\"[ NCCL CALL] \" #cmd \"\\n\");               \\\n    ncclResult_t status = cmd;                                          \\\n    if (status != ncclSuccess)                                          \\\n    {                                                                   \\\n      ERROR(\"Child process %d fails NCCL call %s with code %d\\n\", this->childId, msg, status); \\\n      RESULT(TEST_FAIL, ##RESULT_ARGS);                                 \\\n    }                                                                   \\\n  } while (false)\n#define CHILD_NCCL_CALL(cmd, msg) CHILD_NCCL_CALL_BASE(cmd, msg, RETURN_RESULT)\n\n#define CHILD_NCCL_CALL_NON_BLOCKING_BASE(msg, localRank, RESULT, RESULT_ARGS...) \\\n  do {                                                                \\\n    unsigned long int loop_counter = 0;                               \\\n    ncclResult_t ncclAsyncErr;                                        \\\n    loop_counter = 0;                                                 \\\n    do                                                                \\\n    {                                                                 \\\n      loop_counter++;                                                 \\\n      if (loop_counter == MAX_LOOP_COUNTER) break;                    \\\n      ncclCommGetAsyncError(this->comms[localRank], &ncclAsyncErr);   \\\n    } while(ncclAsyncErr == ncclInProgress);                          \\\n    if (ncclAsyncErr != ncclSuccess)                                  \\\n    {                                                                 \\\n      ERROR(\"Child process %d fails NCCL call %s with code %d\\n\", this->childId, msg, ncclAsyncErr);  \\\n      RESULT(TEST_FAIL, ##RESULT_ARGS);                               \\\n    }                                                                 \\\n  } while (false)\n#define CHILD_NCCL_CALL_NON_BLOCKING(msg, localRank) CHILD_NCCL_CALL_NON_BLOCKING_BASE(msg, localRank, RETURN_RESULT)\n\n#define PIPE_READ(val) \\\n  if (read(childReadFd, &val, sizeof(val)) != sizeof(val)) return TEST_FAIL;\n\n#ifdef ENABLE_OPENMP\n#define CHILD_NCCL_CALL_RANK(errCode, cmd, msg) CHILD_NCCL_CALL_BASE(cmd, msg, OMP_CANCEL_FOR, errCode)\n#define CHILD_NCCL_CALL_NON_BLOCKING_RANK(errCode, msg, localRank) CHILD_NCCL_CALL_NON_BLOCKING_BASE(msg, localRank, OMP_CANCEL_FOR, errCode)\n#else\n#define CHILD_NCCL_CALL_RANK(errCode, cmd, msg) CHILD_NCCL_CALL(cmd, msg)\n#define CHILD_NCCL_CALL_NON_BLOCKING_RANK(errCode, msg, localRank) CHILD_NCCL_CALL_NON_BLOCKING(msg, localRank)\n#endif\n\nnamespace RcclUnitTesting\n{\n  TestBedChild::TestBedChild(int const childId, bool const verbose, int const printValues, bool const useRankThreading)\n  {\n    this->childId = childId;\n    this->verbose = verbose;\n    this->printValues = printValues;\n    this->useRankThreading = useRankThreading;\n  }\n\n  int TestBedChild::InitPipes()\n  {\n    // Prepare parent->child pipe\n    int pipefd[2];\n    if (pipe(pipefd) == -1)\n    {\n      ERROR(\"Unable to create parent->child pipe for child %d\\n\", this->childId);\n      return TEST_FAIL;\n    }\n    this->childReadFd   = pipefd[0];\n    this->parentWriteFd = pipefd[1];\n\n    // Prepare child->parent pipe\n    this->parentReadFd = -1;\n    if (pipe(pipefd) == -1)\n    {\n      ERROR(\"Unable to create parent->child pipe for child %d\\n\", this->childId);\n      return TEST_FAIL;\n    }\n    this->parentReadFd = pipefd[0];\n    this->childWriteFd = pipefd[1];\n\n    return TEST_SUCCESS;\n  }\n\n  void TestBedChild::StartExecutionLoop()\n  {\n    // Close unused ends of pipes\n    close(this->parentWriteFd);\n    close(this->parentReadFd);\n\n    // Wait for commands from parent process\n    if (verbose) INFO(\"Child %d enters execution loop\\n\", this->childId);\n    #ifndef ENABLE_OPENMP\n    if (verbose && useRankThreading) WARN(\"Multi-threaded ranks requires ENABLE_OPENMP to be defined\\n\");\n    #endif\n    int command;\n    while (read(childReadFd, &command, sizeof(command)) > 0)\n    {\n      if (verbose) INFO(\"Child %d received command [%s]:\\n\", this->childId, ChildCommandNames[command]);;\n      ErrCode status = TEST_SUCCESS;\n      std::vector<char> retValBuf;\n      switch(command)\n      {\n      case CHILD_GET_UNIQUE_ID   : status = GetUniqueId(retValBuf); break;\n      case CHILD_INIT_COMMS      : status = InitComms();            break;\n      case CHILD_SET_COLL_ARGS   : status = SetCollectiveArgs();    break;\n      case CHILD_ALLOCATE_MEM    : status = AllocateMem();          break;\n      case CHILD_PREPARE_DATA    : status = PrepareData();          break;\n      case CHILD_EXECUTE_COLL    : status = ExecuteCollectives();   break;\n      case CHILD_VALIDATE_RESULTS: status = ValidateResults();      break;\n      case CHILD_LAUNCH_GRAPHS   : status = LaunchGraphs();         break;\n      case CHILD_DEALLOCATE_MEM  : status = DeallocateMem();        break;\n      case CHILD_DESTROY_COMMS   : status = DestroyComms();         break;\n      case CHILD_DESTROY_GRAPHS  : status = DestroyGraphs();        break;\n      case CHILD_STOP            : goto stop;\n      default: exit(0);\n      }\n\n      // Send back acknowledgement to parent\n      if (status == TEST_FAIL)\n        ERROR(\"Child %d failed on command [%s]:\\n\", this->childId, ChildCommandNames[command]);\n      if (write(childWriteFd, &status, sizeof(status)) < 0)\n      {\n        ERROR(\"Child %d write to parent failed: %s\\n\", this->childId, strerror(errno));\n        break;\n      }\n      if (retValBuf.size() > 0 && write(childWriteFd, retValBuf.data(), retValBuf.size()) < 0) {\n        ERROR(\"Child %d write return value to parent failed: %s\\n\", this->childId, strerror(errno));\n        break;\n      }\n    }\n  stop:\n    if (verbose) INFO(\"Child %d exiting execution loop\\n\", this->childId);\n\n    // Close child ends of pipe\n    close(this->childReadFd);\n    close(this->childWriteFd);\n\n    exit(0);\n  }\n\n  ErrCode TestBedChild::GetUniqueId(std::vector<char>& retValBuf)\n  {\n    if (this->verbose) INFO(\"Child %d begins GetUniqueId()\\n\", this->childId);\n\n    // Get a unique ID and pass it back to parent process\n    ncclUniqueId id;\n    CHILD_NCCL_CALL(ncclGetUniqueId(&id), \"ncclGetUniqueId\");\n    retValBuf.resize(sizeof(id));\n    memcpy(retValBuf.data(), &id, sizeof(id));\n\n    if (this->verbose) INFO(\"Child %d finishes GetUniqueId()\\n\", this->childId);\n    return TEST_SUCCESS;\n  }\n\n  ErrCode TestBedChild::InitComms()\n  {\n    if (this->verbose) INFO(\"Child %d begins InitComms()\\n\", this->childId);\n\n    // Read values sent by parent [see TestBed::InitComms()]\n    ncclUniqueId id;\n    PIPE_READ(id);\n    PIPE_READ(this->totalRanks);\n    PIPE_READ(this->rankOffset);\n    PIPE_READ(this->numGroupCalls);\n    PIPE_READ(this->numCollectivesInGroup);\n    PIPE_READ(this->useBlocking);\n    bool useMultiRankPerGpu;\n    PIPE_READ(useMultiRankPerGpu);\n    PIPE_READ(this->numStreamsPerGroup);\n\n    // Read the GPUs this child uses and prepare storage for collective args / datasets\n    int numGpus;\n    PIPE_READ(numGpus);\n    this->deviceIds.resize(numGpus);\n    this->streams.clear();\n    this->streams.resize(this->numGroupCalls);\n    this->collArgs.resize(this->numGroupCalls);\n    for (int i = 0; i < this->numGroupCalls; i++)\n    {\n      this->collArgs[i].resize(numGpus);\n      this->streams[i].resize(numGpus);\n      for (int j = 0; j < numGpus; j++)\n      {\n        //PIPE_READ(this->deviceIds[j]);\n        this->collArgs[i][j].clear();\n        this->collArgs[i][j].resize(numCollectivesInGroup[i]);\n        this->streams[i][j].resize(numStreamsPerGroup[i]);\n      }\n    }\n\n    for (int i = 0; i < numGpus; i++)\n      PIPE_READ(this->deviceIds[i]);\n\n    // Initialize graphs\n    this->graphs.resize(this->numGroupCalls);\n    this->graphExecs.resize(this->numGroupCalls);\n    this->graphEnabled.resize(this->numGroupCalls);\n\n    // Initialize communicators\n    comms.clear();\n    comms.resize(numGpus);\n\n    // Initialize within a group call to avoid deadlock when using multiple ranks per child\n    ErrCode status = TEST_SUCCESS;\n    CHILD_NCCL_CALL(ncclGroupStart(), \"ncclGroupStart\");\n    for (int groupCallIdx = 0; groupCallIdx < this->numGroupCalls; ++groupCallIdx)\n    {\n      for (int localRank = 0; localRank < numGpus; ++localRank)\n      {\n        int const globalRank = this->rankOffset + localRank;\n        int const currGpu = this->deviceIds[localRank];\n\n        if (hipSetDevice(currGpu) != hipSuccess)\n        {\n          ERROR(\"Rank %d on child %d unable to switch to GPU %d\\n\", globalRank, this->childId, currGpu);\n          status = TEST_FAIL;\n          break;\n        }\n\n        for (int i = 0; i < this->numStreamsPerGroup[groupCallIdx]; i++)\n        {\n          if (hipStreamCreate(&(this->streams[groupCallIdx][localRank][i])) != hipSuccess)\n          {\n            ERROR(\"Rank %d on child %d unable to create stream %d for GPU %d in group %d\\n\", globalRank, this->childId, i, currGpu, groupCallIdx);\n            status = TEST_FAIL;\n            break;\n          }\n        }\n\n        if (groupCallIdx == 0) {\n          if (useMultiRankPerGpu)\n          {\n            //if (ncclCommInitRankMulti(&this->comms[localRank], this->totalRanks, id, globalRank, globalRank) != ncclSuccess)\n            {\n              ERROR(\"Rank %d on child %d unable to call ncclCommInitRankMulti\\n\", globalRank, this->childId);\n              status = TEST_FAIL;\n              break;\n            }\n          }\n          else if (this->useBlocking == false)\n          {\n            // When non-blocking communicator is desired call ncclCommInitRankConfig with appropriate flag\n            ncclConfig_t config = NCCL_CONFIG_INITIALIZER;\n            config.blocking = 0;\n            ncclCommInitRankConfig(&this->comms[localRank], this->totalRanks, id, globalRank, &config);\n            CHILD_NCCL_CALL_NON_BLOCKING(\"ncclCommGetAsyncErrorInitRankConfig\", localRank);\n          }\n          else\n          {\n            if (ncclCommInitRank(&this->comms[localRank], this->totalRanks, id, globalRank) != ncclSuccess)\n            {\n              ERROR(\"Rank %d on child %d unable to call ncclCommInitRank\\n\", globalRank, this->childId);\n              status = TEST_FAIL;\n              break;\n            }\n          }\n        }\n      }\n    }\n\n    if (status == TEST_SUCCESS)\n    {\n      // Check if the communicator is non-blocking\n      if (this->useBlocking == false)\n      {\n        // handle the ncclGroupEnd in case of non-blocking communication\n        ncclResult_t Group_End_state = ncclGroupEnd();\n        if (Group_End_state != ncclSuccess)\n        {\n          for (int localRank = 0; localRank < numGpus; ++localRank)\n          {\n            CHILD_NCCL_CALL_NON_BLOCKING(\"ncclCommGetAsyncErrorGroupEnd\", localRank);\n          }\n        }\n      }\n      else\n      {\n        // In case of blocking communication just call ncclGroupEnd\n        CHILD_NCCL_CALL(ncclGroupEnd(), \"ncclGroupEnd\");\n      }\n    }\n\n    if (this->verbose) INFO(\"Child %d finishes InitComms() [%s]\\n\",\n                            this->childId, status == TEST_SUCCESS ? \"SUCCESS\" : \"FAIL\");\n    return status;\n  }\n\n  ErrCode TestBedChild::SetCollectiveArgs()\n  {\n    if (this->verbose) INFO(\"Child %d begins SetCollectiveArgs()\\n\", this->childId);\n\n    // Read values sent by parent [see TestBed::SetCollectiveArgs()]\n    int             globalRank;\n    int             collId;\n    int             groupId;\n    ncclFunc_t      funcType;\n    ncclDataType_t  dataType;\n    size_t          numInputElements;\n    size_t          numOutputElements;\n    int             streamIdx;\n    OptionalColArgs options;\n\n    PIPE_READ(globalRank);\n    PIPE_READ(collId);\n    PIPE_READ(groupId);\n    PIPE_READ(funcType);\n    PIPE_READ(dataType);\n    PIPE_READ(numInputElements);\n    PIPE_READ(numOutputElements);\n    PIPE_READ(streamIdx);\n    PIPE_READ(options);\n\n    if (globalRank < this->rankOffset || (this->rankOffset + comms.size() <= globalRank))\n    {\n      ERROR(\"Child %d does not contain rank %d\\n\", this->childId, globalRank);\n      return TEST_FAIL;\n    }\n    int const localRank = globalRank - rankOffset;\n    CHECK_HIP(hipSetDevice(this->deviceIds[localRank]));\n\n    for (int collIdx = 0; collIdx < collArgs[groupId][localRank].size(); ++collIdx)\n    {\n      if (collId == -1 || collId == collIdx)\n      {\n        CollectiveArgs& collArg = this->collArgs[groupId][localRank][collIdx];\n        CHECK_CALL(collArg.SetArgs(globalRank, this->totalRanks,\n                                   this->deviceIds[localRank],\n                                   funcType, dataType,\n                                   numInputElements, numOutputElements,\n                                   streamIdx,\n                                   options));\n        if (this->verbose) INFO(\"Rank %d on child %d sets collective %d in group %d [%s]\\n\",\n                                globalRank, this->childId, collIdx, groupId,\n                                collArg.GetDescription().c_str());\n\n        // If pre-mult scalars are provided, then create a custom reduction operator\n        if (options.scalarMode >= 0)\n        {\n          CHILD_NCCL_CALL(ncclRedOpCreatePreMulSum(&collArg.options.redOp,\n                                                   collArg.localScalar.ptr,\n                                                   dataType,\n                                                   (ncclScalarResidence_t)options.scalarMode,\n                                                   this->comms[localRank]),\n                          \"ncclRedOpCreatePreMulSum\");\n          if (verbose) INFO(\"Child %d created custom redop %d for group %d collective %d\\n\",\n                            this->childId, collArg.options.redOp, groupId, collIdx);\n        }\n      }\n    }\n    if (this->verbose) INFO(\"Child %d finishes SetCollectiveArgs()\\n\", this->childId);\n    return TEST_SUCCESS;\n  }\n\n  ErrCode TestBedChild::AllocateMem()\n  {\n    if (this->verbose) INFO(\"Child %d begins AllocateMem()\\n\", this->childId);\n\n    // Read values sent by parent [see TestBed::AllocateMem()]\n    int    globalRank;\n    int    collId;\n    bool   inPlace;\n    bool   useManagedMem;\n    bool   userRegistered;\n    int    groupId;\n\n    PIPE_READ(globalRank);\n    PIPE_READ(collId);\n    PIPE_READ(inPlace);\n    PIPE_READ(useManagedMem);\n    PIPE_READ(userRegistered);\n    PIPE_READ(groupId);\n\n    if (globalRank < this->rankOffset || (this->rankOffset + comms.size() <= globalRank))\n    {\n      ERROR(\"Child %d does not contain rank %d\\n\", this->childId, globalRank);\n      return TEST_FAIL;\n    }\n    int const localRank = globalRank - rankOffset;\n    CHECK_HIP(hipSetDevice(this->deviceIds[localRank]));\n\n    for (int collIdx = 0; collIdx < collArgs[groupId][localRank].size(); ++collIdx)\n    {\n      if (collId == -1 || collId == collIdx)\n      {\n        CollectiveArgs& collArg = this->collArgs[groupId][localRank][collIdx];\n        CHECK_CALL(collArg.AllocateMem(inPlace, useManagedMem, userRegistered));\n        if (collArg.userRegistered && (collArg.funcType == ncclCollSend || collArg.funcType == ncclCollRecv))\n          CHILD_NCCL_CALL(ncclCommRegister(this->comms[localRank], collArg.inputGpu.ptr, collArg.numInputBytesAllocated, &(collArg.commRegHandle)),\"ncclCommRegister\");\n        if (this->verbose) INFO(\"Rank %d on child %d allocates memory for collective %d in group %d on device %d (%s,%s,%s) Input: %p Output %p\\n\",\n                                globalRank, this->childId, collIdx, groupId, this->deviceIds[localRank],\n                                inPlace ? \"in-place\" : \"out-of-place\",\n                                useManagedMem ? \"managed\" : \"unmanaged\",\n                                userRegistered ? \"user registered buffer\" : \"internal copy\",\n                                collArg.inputGpu.ptr,\n                                collArg.outputGpu.ptr);\n      }\n    }\n\n    if (this->verbose) INFO(\"Child %d finishes AllocateMem()\\n\", this->childId);\n    return TEST_SUCCESS;\n  }\n\n  // Fill input memory with pre-known patterned based on rank\n  ErrCode TestBedChild::PrepareData()\n  {\n    if (this->verbose) INFO(\"Child %d begins PrepareData()\\n\", this->childId);\n\n    // Read values sent by parent [see TestBed::PrepareData()]\n    int globalRank;\n    int collId;\n    int groupId;\n    CollFuncPtr prepDataFunc;\n\n    PIPE_READ(globalRank);\n    PIPE_READ(groupId);\n    PIPE_READ(collId);\n    PIPE_READ(prepDataFunc);\n\n    if (globalRank < this->rankOffset || (this->rankOffset + comms.size() <= globalRank))\n    {\n      ERROR(\"Child %d does not contain rank %d\\n\", this->childId, globalRank);\n      return TEST_FAIL;\n    }\n\n    int const localRank = globalRank - rankOffset;\n    CHECK_HIP(hipSetDevice(this->deviceIds[localRank]));\n\n    for (int collIdx = 0; collIdx < collArgs[groupId][localRank].size(); ++collIdx)\n    {\n      if (collId == -1 || collId == collIdx)\n      {\n        if (this->verbose) INFO(\"Rank %d on child %d prepares data for collective %d in group %d\\n\",\n                                globalRank, this->childId, collIdx, groupId);\n        CHECK_CALL(this->collArgs[groupId][localRank][collIdx].PrepareData(prepDataFunc));\n      }\n    }\n    if (this->verbose) INFO(\"Child %d finishes PrepareData()\\n\", this->childId);\n    return TEST_SUCCESS;\n  }\n\n  ErrCode TestBedChild::ExecuteCollectives()\n  {\n    int timeoutUs = 0;\n    int groupId = 0;\n    bool useHipGraph = false;\n\n    PIPE_READ(timeoutUs);\n    PIPE_READ(groupId);\n    PIPE_READ(useHipGraph);\n\n    int numRanksToExecute, tempRank;\n    std::vector<int> ranksToExecute = {};\n    PIPE_READ(numRanksToExecute);\n\n    for (int rank = 0; rank < numRanksToExecute; ++rank){\n      PIPE_READ(tempRank);\n      ranksToExecute.push_back(tempRank - this->rankOffset);\n    }\n    if (this->verbose) INFO(\"Child %d begins ExecuteCollectives() %s\\n\", this->childId, useHipGraph ? \"(using hipGraphs)\" : \"\");\n\n    // Determine which local ranks to execute on\n    std::vector<int> localRanksToExecute;\n    for (int localRank = 0; localRank < this->deviceIds.size(); ++localRank)\n    {\n      // If ranksToExeute is empty, execute all local ranks belonging to this child\n      if (!ranksToExecute.empty() &&\n          (std::count(ranksToExecute.begin(), ranksToExecute.end(), localRank) == 0)) continue;\n      localRanksToExecute.push_back(localRank);\n    }\n\n    numRanksToExecute = (int)localRanksToExecute.size();\n    this->graphs[groupId].resize(numRanksToExecute);\n    this->graphExecs[groupId].resize(numRanksToExecute);\n    this->graphEnabled[groupId].resize(numRanksToExecute);\n    for (int i = 0; i < numRanksToExecute; i++)\n    {\n      this->graphs[groupId][i].resize(this->numStreamsPerGroup[groupId]);\n      this->graphExecs[groupId][i].resize(this->numStreamsPerGroup[groupId]);\n      this->graphEnabled[groupId][i].resize(this->numStreamsPerGroup[groupId]);\n    }\n\n    // Start HIP graph stream capture if requested\n    if (useHipGraph)\n    {\n      for (int localRank : localRanksToExecute)\n      {\n        if (this->verbose) INFO(\"Capturing stream for group %d rank %d\\n\", groupId, localRank);\n        CHECK_HIP(hipSetDevice(this->deviceIds[localRank]));\n        for (int i = 0; i < this->numStreamsPerGroup[groupId]; i++)\n        {\n          CHECK_HIP(hipStreamBeginCapture(this->streams[groupId][localRank][i], hipStreamCaptureModeRelaxed));\n        }\n      }\n    }\n\n    int numThreadsToUse = this->useRankThreading ? numRanksToExecute : 1;\n\n    // Start group call\n    CHILD_NCCL_CALL(ncclGroupStart(), \"ncclGroupStart\");\n\n    // Loop over all collectives to be executed in group call\n    for (int collId = 0; collId < this->numCollectivesInGroup[groupId]; ++collId)\n    {\n      // Loop over all local ranks\n      if (this->verbose && this->useRankThreading)\n        INFO(\"Group %d collective %d running %d threads\\n\", groupId, collId, numThreadsToUse);\n      ErrCode errCode = TEST_SUCCESS;\n      auto& errCodeVal = reinterpret_cast<int&>(errCode);\n      #pragma omp parallel for num_threads(numThreadsToUse) reduction(max : errCodeVal)\n      for (int localRank : localRanksToExecute)\n      {\n        if (this->verbose && this->useRankThreading)\n          INFO(\"Group %d collective %d running rank %d on thread %d\\n\", groupId, collId, localRank, getThreadId());\n\n        CHECK_HIP_RANK(errCode, hipSetDevice(this->deviceIds[localRank]));\n\n        CollectiveArgs& collArg = this->collArgs[groupId][localRank][collId];\n\n        if (this->printValues && !useHipGraph)\n        {\n          int const numInputElementsToPrint = (this->printValues < 0 ? collArg.numInputElements : this->printValues);\n          PtrUnion inputCpu;\n          size_t const numInputBytes = numInputElementsToPrint * DataTypeToBytes(collArg.dataType);\n          inputCpu.AllocateCpuMem(numInputBytes);\n          CHECK_HIP_RANK(errCode, hipMemcpy(inputCpu.ptr, collArg.inputGpu.ptr, numInputBytes, hipMemcpyDeviceToHost));\n          printf(\"[ DEBUG    ] Rank %02d Group %d Coll %d %-10s: %s\\n\", collArg.globalRank, groupId, collId, \"Input\",\n                 inputCpu.ToString(collArg.dataType, numInputElementsToPrint).c_str());\n          inputCpu.FreeCpuMem();\n\n          int const numOutputElementsToPrint = (this->printValues < 0 ? collArg.numOutputElements : this->printValues);\n          size_t const numOutputBytes = numOutputElementsToPrint * DataTypeToBytes(collArg.dataType);\n          CHECK_HIP_RANK(errCode, hipMemcpy(collArg.outputCpu.ptr, collArg.outputGpu.ptr, numOutputBytes, hipMemcpyDeviceToHost));\n          printf(\"[ DEBUG    ] Rank %02d Group %d Coll %d %-10s: %s\\n\", collArg.globalRank, groupId, collId, \"Pre-Output\",\n                 collArg.outputCpu.ToString(collArg.dataType, numOutputElementsToPrint).c_str());\n        }\n\n        switch (collArg.funcType)\n        {\n        case ncclCollBroadcast:\n          CHILD_NCCL_CALL_RANK(errCode, ncclBroadcast(\n                                        collArg.inputGpu.ptr,\n                                        collArg.outputGpu.ptr,\n                                        collArg.numInputElements,\n                                        collArg.dataType,\n                                        collArg.options.root,\n                                        this->comms[localRank],\n                                        this->streams[groupId][localRank][collArg.streamIdx]),\n                          \"ncclBroadcast\");\n          break;\n        case ncclCollReduce:\n          CHILD_NCCL_CALL_RANK(errCode, ncclReduce(\n                                     collArg.inputGpu.ptr,\n                                     collArg.outputGpu.ptr,\n                                     collArg.numInputElements,\n                                     collArg.dataType,\n                                     collArg.options.redOp,\n                                     collArg.options.root,\n                                     this->comms[localRank],\n                                     this->streams[groupId][localRank][collArg.streamIdx]),\n                          \"ncclReduce\");\n          break;\n        case ncclCollAllGather:\n          CHILD_NCCL_CALL_RANK(errCode, ncclAllGather(\n                                        collArg.inputGpu.ptr,\n                                        collArg.outputGpu.ptr,\n                                        collArg.numInputElements,\n                                        collArg.dataType,\n                                        this->comms[localRank],\n                                        this->streams[groupId][localRank][collArg.streamIdx]),\n                          \"ncclAllGather\");\n          break;\n        case ncclCollReduceScatter:\n          CHILD_NCCL_CALL_RANK(errCode, ncclReduceScatter(\n                                            collArg.inputGpu.ptr,\n                                            collArg.outputGpu.ptr,\n                                            collArg.numOutputElements,\n                                            collArg.dataType,\n                                            collArg.options.redOp,\n                                            this->comms[localRank],\n                                            this->streams[groupId][localRank][collArg.streamIdx]),\n                          \"ncclReduceScatter\");\n          break;\n        case ncclCollAllReduce:\n          // Use ncclAllReduceWithBias if bias is enabled\n          if (collArg.options.useBias)\n          {\n            CHILD_NCCL_CALL_RANK(errCode, ncclAllReduceWithBias(\n                                          collArg.inputGpu.ptr,\n                                          collArg.outputGpu.ptr,\n                                          collArg.numInputElements,\n                                          collArg.dataType,\n                                          collArg.options.redOp,\n                                          this->comms[localRank],\n                                          this->streams[groupId][localRank][collArg.streamIdx],\n                                          collArg.options.biasPtr),\n                            \"ncclAllReduceWithBias\");\n          }\n          else\n          {\n            CHILD_NCCL_CALL_RANK(errCode, ncclAllReduce(\n                                          collArg.inputGpu.ptr,\n                                          collArg.outputGpu.ptr,\n                                          collArg.numInputElements,\n                                          collArg.dataType,\n                                          collArg.options.redOp,\n                                          this->comms[localRank],\n                                          this->streams[groupId][localRank][collArg.streamIdx]),\n                            \"ncclAllReduce\");\n          }\n          break;\n        case ncclCollGather:\n          CHILD_NCCL_CALL_RANK(errCode, ncclGather(\n                                     collArg.inputGpu.ptr,\n                                     collArg.outputGpu.ptr,\n                                     collArg.numInputElements,\n                                     collArg.dataType,\n                                     collArg.options.root,\n                                     this->comms[localRank],\n                                     this->streams[groupId][localRank][collArg.streamIdx]),\n                          \"ncclGather\");\n          break;\n        case ncclCollScatter:\n          CHILD_NCCL_CALL_RANK(errCode, ncclScatter(\n                                      collArg.inputGpu.ptr,\n                                      collArg.outputGpu.ptr,\n                                      collArg.numOutputElements,\n                                      collArg.dataType,\n                                      collArg.options.root,\n                                      this->comms[localRank],\n                                      this->streams[groupId][localRank][collArg.streamIdx]),\n                          \"ncclScatter\");\n          break;\n        case ncclCollAlltoAll:\n          CHILD_NCCL_CALL_RANK(errCode, ncclAlltoAll(\n                                       collArg.inputGpu.ptr,\n                                       collArg.outputGpu.ptr,\n                                       collArg.numInputElements / collArg.totalRanks,\n                                       collArg.dataType,\n                                       this->comms[localRank],\n                                       this->streams[groupId][localRank][collArg.streamIdx]),\n                          \"ncclAlltoAll\");\n          break;\n        case ncclCollAlltoAllv:\n          CHILD_NCCL_CALL_RANK(errCode, ncclAlltoAllv(\n                                        collArg.inputGpu.ptr,\n                                        collArg.options.sendcounts + (this->rankOffset + localRank)*this->totalRanks,\n                                        collArg.options.sdispls + (this->rankOffset + localRank)*this->totalRanks,\n                                        collArg.outputGpu.ptr,\n                                        collArg.options.recvcounts + (this->rankOffset + localRank)*this->totalRanks,\n                                        collArg.options.rdispls + (this->rankOffset + localRank)*this->totalRanks,\n                                        collArg.dataType,\n                                        this->comms[localRank],\n                                        this->streams[groupId][localRank][collArg.streamIdx]),\n                          \"ncclAlltoAllv\");\n          break;\n        case ncclCollSend:\n          CHILD_NCCL_CALL_RANK(errCode, ncclSend(\n                                   collArg.inputGpu.ptr,\n                                   collArg.numInputElements,\n                                   collArg.dataType,\n                                   collArg.options.root,\n                                   this->comms[localRank],\n                                   this->streams[groupId][localRank][collArg.streamIdx]),\n                          \"ncclSend\");\n          break;\n        case ncclCollRecv:\n          CHILD_NCCL_CALL_RANK(errCode, ncclRecv(\n                                   collArg.outputGpu.ptr,\n                                   collArg.numOutputElements,\n                                   collArg.dataType,\n                                   collArg.options.root,\n                                   this->comms[localRank],\n                                   this->streams[groupId][localRank][collArg.streamIdx]),\n                          \"ncclRecv\");\n          break;\n        default:\n          ERROR(\"Unknown func type %d\\n\", collArg.funcType);\n          RANK_RESULT(errCode, TEST_FAIL);\n        }\n        if (this->useBlocking == false)\n        {\n          CHILD_NCCL_CALL_NON_BLOCKING_RANK(errCode, \"ncclCommGetAsyncErrorExecuteCollectives\", localRank);\n        }\n\n        if (this->verbose && this->useRankThreading)\n          INFO(\"Group %d collective %d done rank %d on thread %d\\n\", groupId, collId, localRank, getThreadId());\n      }\n\n      if (this->useRankThreading) CHECK_CALL(errCode);\n    }\n    // End group call\n    if (this->useBlocking == false)\n    {\n      // handle the ncclGroupEnd in case of non-blocking communication\n      ncclResult_t Group_End_state = ncclGroupEnd();\n      if (Group_End_state != ncclSuccess)\n      {\n        for (int localRank = 0; localRank < this->comms.size(); ++localRank)\n        {\n          CHECK_HIP(hipSetDevice(this->deviceIds[localRank]));\n          CHILD_NCCL_CALL_NON_BLOCKING(\"ncclCommGetAsyncErrorGroupEnd\", localRank);\n        }\n      }\n    }\n    else\n    {\n      // In case of blocking communication just call ncclGroupEnd\n      CHILD_NCCL_CALL(ncclGroupEnd(), \"ncclGroupEnd\");\n    }\n\n    // Instantiate and launch HIP graph if requested\n    if (useHipGraph)\n    {\n      for (int localRank : localRanksToExecute)\n      {\n        if (this->verbose) INFO(\"Ending stream capture for rank %d\\n\", localRank);\n        CHECK_HIP(hipSetDevice(this->deviceIds[localRank]));\n        for (int i = 0; i < this->numStreamsPerGroup[groupId]; i++)\n        {\n          CHECK_HIP(hipStreamEndCapture(this->streams[groupId][localRank][i], &this->graphs[groupId][localRank][i]));\n\n          // if (this->verbose)\n          // {\n          //   size_t numNodes;\n          //   hipGraphNode_t* nodes;\n          //   CHECK_HIP(hipGraphGetNodes(graphs[localRank][i], nodes, &numNodes));\n          //   INFO(\"Graph for rank %d stream %d has %lu nodes\\n\", localRank, i, numNodes);\n          // }\n        }\n\n        if (this->verbose) INFO(\"Instantiating executable graph for group %d rank %d\\n\", groupId, localRank);\n        for (int i = 0; i < this->numStreamsPerGroup[groupId]; i++)\n        {\n          CHECK_HIP(hipGraphInstantiate(&this->graphExecs[groupId][localRank][i], this->graphs[groupId][localRank][i], NULL, NULL, 0));\n          graphEnabled[groupId][localRank][i] = true;\n        }\n      }\n    }\n    else\n    {\n      if (this->verbose)\n        INFO(\"Child %d submits group call.  Waiting for completion\\n\", this->childId);\n    }\n\n    // Synchronize\n    std::vector<hipStream_t> streamsToComplete;\n    for (int localRank : localRanksToExecute)\n    {\n      for (int i = 0; i < this->numStreamsPerGroup[groupId]; i++)\n        streamsToComplete.push_back(this->streams[groupId][localRank][i]);\n    }\n    int usElapsed = 0, timedout = 0;\n    using namespace std::chrono;\n    using Clock = std::chrono::high_resolution_clock;\n    if (this->verbose) INFO(\"Starting sychronization and timing\\n\");\n    const auto start = Clock::now();\n    while (!streamsToComplete.empty() && usElapsed < timeoutUs)\n    {\n      for (int i = 0; i < streamsToComplete.size(); i++)\n      {\n        if (hipStreamQuery(streamsToComplete[i]) == hipSuccess)\n        {\n          streamsToComplete.erase(streamsToComplete.begin() + i);\n          i--;\n        }\n      }\n      usElapsed = duration_cast<microseconds>(Clock::now() - start).count();\n    }\n\n    // timed out\n    if (!streamsToComplete.empty())\n    {\n      if (this->verbose) INFO(\"Collective timed out, aborting\\n\");\n      for (int localRank : localRanksToExecute)\n      {\n        ncclCommAbort(this->comms[localRank]);\n        timedout = 1;\n      }\n    }\n\n    // extra sync to flush GPU cache for validation later\n    // TODO: remove this after figuring out & fixing the exact behavior\n    // of fencing between kernels and at hipStreamQuery\n    for (int localRank : localRanksToExecute)\n    {\n      if (this->verbose) INFO(\"Starting synchronization for group %d rank %d\\n\", groupId, localRank);\n      for (int i = 0; i < this->numStreamsPerGroup[groupId]; i++)\n        CHECK_HIP(hipStreamSynchronize(this->streams[groupId][localRank][i]));\n    }\n\n    if (this->printValues)\n    {\n      for (int collId = 0; collId < this->numCollectivesInGroup[groupId]; ++collId)\n        for (int localRank : localRanksToExecute)\n        {\n          CollectiveArgs const& collArg = this->collArgs[groupId][localRank][collId];\n          CHECK_HIP(hipSetDevice(this->deviceIds[localRank]));\n          int numOutputElementsToPrint = (this->printValues < 0 ? collArg.numOutputElements : this->printValues);\n          size_t const numOutputBytes = numOutputElementsToPrint * DataTypeToBytes(collArg.dataType);\n          CHECK_HIP(hipMemcpy(collArg.outputCpu.ptr, collArg.outputGpu.ptr, numOutputBytes, hipMemcpyDeviceToHost));\n          printf(\"[ DEBUG    ] Rank %02d Group %d Coll %d %-10s: %s\\n\", collArg.globalRank, groupId, collId, \"Output\",\n                 collArg.outputCpu.ToString(collArg.dataType, numOutputElementsToPrint).c_str());\n\n          printf(\"[ DEBUG    ] Rank %02d Group %d Coll %d %-10s: %s\\n\", collArg.globalRank, groupId, collId, \"Expected\",\n                 collArg.expected.ToString(collArg.dataType, numOutputElementsToPrint).c_str());\n        }\n    }\n\n    if (timedout)\n    {\n      ERROR(\"Child %d timed out and exceeded limit %d us in ExecuteCollectives()\\n\", this->childId, timeoutUs);\n      return TEST_TIMEOUT;\n    }\n\n    if (this->verbose) INFO(\"Child %d finishes ExecuteCollectives()\\n\", this->childId);\n    return TEST_SUCCESS;\n  }\n\n  ErrCode TestBedChild::ValidateResults()\n  {\n    // Read values sent by parent [see TestBed::ValidateResults()]\n    int globalRank, groupId, collId;\n    PIPE_READ(globalRank);\n    PIPE_READ(groupId);\n    PIPE_READ(collId);\n\n    if (this->verbose) INFO(\"Child %d begins ValidateResults()\\n\", this->childId);\n\n    if (globalRank < this->rankOffset || (this->rankOffset + comms.size() <= globalRank))\n    {\n      ERROR(\"Child %d does not contain rank %d\\n\", this->childId, globalRank);\n      return TEST_FAIL;\n    }\n    int const localRank = globalRank - rankOffset;\n    CHECK_HIP(hipSetDevice(this->deviceIds[localRank]));\n\n    ErrCode status = TEST_SUCCESS;\n    for (int collIdx = 0; collIdx < collArgs[groupId][localRank].size(); ++collIdx)\n    {\n      if (collId == -1 || collId == collIdx)\n      {\n        if (this->verbose) INFO(\"Rank %d on child %d validating collective %d in group %d results\\n\",\n                                globalRank, this->childId, collIdx, groupId);\n        if (this->collArgs[groupId][localRank][collIdx].ValidateResults() != TEST_SUCCESS)\n        {\n          ERROR(\"Rank %d Group %d Collective %d output does not match expected\\n\", globalRank, groupId, collIdx);\n          status = TEST_FAIL;\n        }\n      }\n    }\n    if (this->verbose) INFO(\"Child %d finishes ValidateResults() with status %s\\n\", this->childId,\n                            status == TEST_SUCCESS ? \"SUCCESS\" : \"FAIL\");\n    return status;\n  }\n\n  ErrCode TestBedChild::LaunchGraphs()\n  {\n    int groupId;\n    PIPE_READ(groupId);\n\n    if (this->verbose) INFO(\"Child %d begins LaunchGraphs for group %d\\n\", this->childId, groupId);\n\n    for (int localRank = 0; localRank < this->deviceIds.size(); ++localRank) {\n      CHECK_HIP(hipSetDevice(this->deviceIds[localRank]));\n\n      for (int streamIdx = 0; streamIdx < this->numStreamsPerGroup[groupId]; ++streamIdx)\n      {\n        if (this->verbose) INFO(\"Launch graph for group %d rank %d stream %d\\n\", groupId, localRank, streamIdx);\n        CHECK_HIP(hipGraphLaunch(this->graphExecs[groupId][localRank][streamIdx], this->streams[groupId][localRank][streamIdx]));\n      }\n    }\n\n    if (this->verbose) INFO(\"Child %d finishes LaunchGraphs for group %d\\n\", this->childId, groupId);\n    return TEST_SUCCESS;\n  }\n\n  ErrCode TestBedChild::DeallocateMem()\n  {\n    if (this->verbose) INFO(\"Child %d begins DeallocateMem\\n\", this->childId);\n\n    // Read values sent by parent [see TestBed::DeallocateMem()]\n    int globalRank, groupId, collId;\n    PIPE_READ(globalRank);\n    PIPE_READ(groupId);\n    PIPE_READ(collId);\n\n    if (globalRank < this->rankOffset || (this->rankOffset + comms.size() <= globalRank))\n    {\n      ERROR(\"Child %d does not contain rank %d\\n\", this->childId, globalRank);\n      return TEST_FAIL;\n    }\n    int const localRank = globalRank - rankOffset;\n    CHECK_HIP(hipSetDevice(this->deviceIds[localRank]));\n\n    for (int collIdx = 0; collIdx < collArgs[groupId][localRank].size(); ++collIdx)\n    {\n      CollectiveArgs& collArg = this->collArgs[groupId][localRank][collIdx];\n      if (collId == -1 || collId == collIdx)\n      {\n        if (this->verbose)\n        {\n          INFO(\"Child %d release memory for collective %d in group %d (Input: %p Output %p\\n\",\n               this->childId, collIdx, groupId, collArg.inputGpu.ptr, collArg.outputGpu.ptr);\n        }\n        if (collArg.userRegistered && (collArg.funcType == ncclCollSend || collArg.funcType == ncclCollRecv))\n        {\n          CHILD_NCCL_CALL(ncclCommDeregister(this->comms[localRank], collArg.commRegHandle), \"ncclCommDeregister\");\n        }\n\n        CHECK_CALL(collArg.DeallocateMem());\n      }\n      if (collArg.options.scalarMode != -1)\n      {\n        CHILD_NCCL_CALL(ncclRedOpDestroy(collArg.options.redOp, this->comms[localRank]),\n                        \"ncclRedOpDestroy\");\n        if (verbose) INFO(\"Child %d destroys custom redop %d for collective %d in group %d\\n\",\n                          this->childId, collArg.options.redOp, collIdx, groupId);\n      }\n    }\n    if (this->verbose) INFO(\"Child %d finishes DeallocateMem\\n\", this->childId);\n    return TEST_SUCCESS;\n  }\n\n  ErrCode TestBedChild::DestroyComms()\n  {\n    if (this->verbose) INFO(\"Child %d begins DestroyComms\\n\", this->childId);\n\n    // Release comms\n    for (int i = 0; i < this->comms.size(); ++i)\n    {\n      // Check if the communicator is non-blocking\n      if (this->useBlocking == false)\n      {\n        // handle the non-blocking case\n        ncclCommFinalize(this->comms[i]);\n        CHILD_NCCL_CALL_NON_BLOCKING(\"ncclCommGetAsyncErrorCommFinalize\", i);\n      }\n      else\n      {\n        // In case of blocking just call Finalize\n        CHILD_NCCL_CALL(ncclCommFinalize(this->comms[i]), \"ncclCommFinalize\");\n      }\n    }\n\n    for (int i = 0; i < this->comms.size(); ++i)\n    {\n      CHILD_NCCL_CALL(ncclCommDestroy(this->comms[i]), \"ncclCommDestroy\");\n    }\n    for (int i = 0; i < this->numGroupCalls; ++i)\n    {\n      for (int j = 0; j < this->streams[i].size(); ++j)\n      {\n        for (int k = 0; k < this->streams[i][j].size(); ++k)\n        {\n          CHECK_HIP(hipStreamDestroy(this->streams[i][j][k]));\n        }\n      }\n    }\n    this->comms.clear();\n    this->streams.clear();\n    if (this->verbose) INFO(\"Child %d finishes DestroyComms\\n\", this->childId);\n    return TEST_SUCCESS;\n  }\n\n  ErrCode TestBedChild::DestroyGraphs()\n  {\n    if (this->verbose) INFO(\"Child %d begins DestroyGraphs\\n\", this->childId);\n\n    int groupId;\n    PIPE_READ(groupId);\n\n    // Release graphs\n    for (int localRank = 0; localRank < this->deviceIds.size(); ++localRank)\n    {\n      CHECK_HIP(hipSetDevice(this->deviceIds[localRank]));\n      for (int streamIdx = 0; streamIdx < this->numStreamsPerGroup[groupId]; ++streamIdx)\n      {\n        if (graphEnabled[groupId][localRank][streamIdx])\n        {\n          if (this->verbose) INFO(\"Destroying graphs for group %d rank %d stream %d\\n\", groupId, localRank, streamIdx);\n\n          CHECK_HIP(hipGraphDestroy(this->graphs[groupId][localRank][streamIdx]));\n          CHECK_HIP(hipGraphExecDestroy(this->graphExecs[groupId][localRank][streamIdx]));\n        }\n      }\n    }\n\n    for (int localRank = 0; localRank < this->deviceIds.size(); ++localRank)\n    {\n      for (int i = 0; i < this->numStreamsPerGroup[groupId]; ++i)\n        CHECK_HIP(hipStreamSynchronize(this->streams[groupId][localRank][i]));\n    }\n\n    this->graphs[groupId].clear();\n    this->graphExecs[groupId].clear();\n    this->graphEnabled[groupId].clear();\n\n    if (this->verbose) INFO(\"Child %d finishes DestroyGraphs\\n\", this->childId);\n    return TEST_SUCCESS;\n  }\n}\n"
  },
  {
    "path": "test/common/TestBedChild.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022-2024 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#pragma once\n\n#include <vector>\n#include <unistd.h>\n#include \"CollectiveArgs.hpp\"\n#include \"rccl/rccl.h\"\n\n#define MAX_RANKS 32\n#define MAX_LOOP_COUNTER 400000000000\nnamespace RcclUnitTesting\n{\n  class TestBedChild\n  {\n  public:\n    // These are commands that can be given to the child process\n    enum\n    {\n      CHILD_GET_UNIQUE_ID    = 0,  // GetUniqueId()\n      CHILD_INIT_COMMS       = 1,  // InitComms()\n      CHILD_SET_COLL_ARGS    = 2,  // SetCollectiveArgs()\n      CHILD_ALLOCATE_MEM     = 3,  // AllocateMem()\n      CHILD_PREPARE_DATA     = 4,  // PrepareData()\n      CHILD_EXECUTE_COLL     = 5,  // ExecuteCollectives()\n      CHILD_VALIDATE_RESULTS = 6,  // ValidateResults()\n      CHILD_LAUNCH_GRAPHS    = 7,  // LaunchGraphs()\n      CHILD_DEALLOCATE_MEM   = 8,  // DeallocateMem()\n      CHILD_DESTROY_COMMS    = 9,  // DestroyComms()\n      CHILD_DESTROY_GRAPHS   = 10, // DestroyGraphs()\n      CHILD_STOP             = 11, // Stop()\n      NUM_CHILD_COMMANDS     = 12\n    };\n\n    char const ChildCommandNames[NUM_CHILD_COMMANDS][20] =\n    {\n      \"GET_UNIQUE_ID\",\n      \"INIT_COMMS\",\n      \"SET_COLL_ARGS\",\n      \"ALLOCATE_MEM\",\n      \"PREPARE_DATA\",\n      \"EXECUTE_COLL\",\n      \"VALIDATE_RESULTS\",\n      \"LAUNCH_GRAPHS\",\n      \"DEALLOCATE_MEM\",\n      \"DESTROY_COMMS\",\n      \"DESTROY_GRAPHS\",\n      \"STOP\"\n    };\n\n    // These variables remain constant for life of TestBedChild\n    int   childId;\n    pid_t pid;\n    bool  verbose;\n    int   printValues;\n    bool  useRankThreading;\n\n    // Pipes used to communicate between parent process\n    int parentWriteFd;\n    int parentReadFd;\n    int childWriteFd;\n    int childReadFd;\n\n    // These varibles may change based on commands issued by parent\n    int totalRanks;                                                   // Total ranks\n    int rankOffset;                                                   // Global rank offset for this child\n    int numGroupCalls;                                                // Toatal # of group calls to be executed\n    bool useBlocking;                                                 // RCCL communication with blocking or non-blocking option\n    std::vector<int> numCollectivesInGroup;                           // # of collectives to run per group call\n    std::vector<int> numStreamsPerGroup;                              // # of different streams allowed per group call\n    std::vector<ncclComm_t> comms;                                    // RCCL communicators for each rank\n    std::vector<int> deviceIds;                                       // Device IDs for each rank\n    std::vector<std::vector<std::vector<hipStream_t>>> streams;       // Streams for executing collectives per group call\n    std::vector<std::vector<std::vector<CollectiveArgs>>> collArgs;   // Info for each collective for each rank per group call\n    std::vector<std::vector<std::vector<hipGraph_t>>> graphs;         // Graphs for executing collectives per group call\n    std::vector<std::vector<std::vector<hipGraphExec_t>>> graphExecs; // GraphExecs for executing collectives per group call\n    std::vector<std::vector<std::vector<bool>>> graphEnabled; \n\n    // Constructor\n    TestBedChild(int const childId, bool const verbose, int const printValues, bool const useRankThreading);\n\n    // Prepare parent/child communication pipes - to be executed by parent process\n    int InitPipes();\n\n    // Execution\n    void StartExecutionLoop();\n\n  protected:\n    // Calls ncclGetUniqueId and returns it to parent\n    ErrCode GetUniqueId(std::vector<char>& retValBuf);\n\n    // Initialize RCCL communicators\n    ErrCode InitComms();\n\n    // Set CollectiveArgs\n    ErrCode SetCollectiveArgs();\n\n    // Allocate memory (input (GPU) / output (GPU) / expected (CPU))\n    ErrCode AllocateMem();\n\n    // Prepare input and expected data\n    ErrCode PrepareData();\n\n    // Execute a group of collectives\n    ErrCode ExecuteCollectives();\n\n    // Validate that output matches expected\n    ErrCode ValidateResults();\n\n    // Launch instantiated graphs\n    ErrCode LaunchGraphs();\n\n    // Release allocated memory\n    ErrCode DeallocateMem();\n\n    // Destroys RCCL communicators\n    ErrCode DestroyComms();\n\n    // Destroys graphs\n    ErrCode DestroyGraphs();\n  };\n}\n"
  },
  {
    "path": "test/common/TestChecks.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n/**\n * @file TestChecks.cpp\n * @brief Implementation file for TestChecks.hpp\n *\n * Provides definitions for variables used by test logging macros.\n */\n\n#include \"TestChecks.hpp\"\n\n#ifdef MPI_TESTS_ENABLED\n\n#include <cstdlib>\n#include <cstring>\n\n// Define and initialize rcclTestDebugLevel for TEST_* macros\n\n// This matches RCCL's debug level parsing logic from src/debug.cc\n// Values correspond to ncclDebugLogLevel enum in nccl_common.h:\n// - -1 = Uninitialized (treated as ERROR level)\n// - 0 = NCCL_LOG_NONE\n// - 1 = NCCL_LOG_VERSION\n// - 2 = NCCL_LOG_WARN\n// - 3 = NCCL_LOG_INFO\n// - 4 = NCCL_LOG_ABORT\n// - 5 = NCCL_LOG_TRACE\nint rcclTestDebugLevel = []() -> int {\n    const char* env = std::getenv(\"NCCL_DEBUG\");\n\n    // Default to ERROR level if not set (matches RCCL behavior)\n    if (!env) return -1;\n\n    // Match RCCL's case-insensitive string comparison\n    if (strcasecmp(env, \"NONE\") == 0) return 0;\n    if (strcasecmp(env, \"VERSION\") == 0) return 1;\n    if (strcasecmp(env, \"WARN\") == 0) return 2;\n    if (strcasecmp(env, \"INFO\") == 0) return 3;\n    if (strcasecmp(env, \"ABORT\") == 0) return 4;\n    if (strcasecmp(env, \"TRACE\") == 0) return 5;\n\n    // Unknown value, default to ERROR level\n    return -1;\n}();\n\n#endif // MPI_TESTS_ENABLED\n\n\n"
  },
  {
    "path": "test/common/TestChecks.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n/**\n * @file TestChecks.hpp\n * @brief Centralized test error checking and logging macros\n *\n * Provides all test-related macros for error checking, logging, and assertions:\n * - MPI error checking (MPICHECK with 3 overload variants)\n * - NCCL error checking (RCCL_TEST_CHECK, RCCL_TEST_CHECK_GTEST_FAIL)\n * - HIP error checking (HIPCHECK, HIP_TEST_CHECK, HIP_TEST_CHECK_GTEST_FAIL)\n * - MPI-aware assertions (ASSERT_MPI_*)\n * - Debug logging (TEST_WARN, TEST_INFO, TEST_ABORT, TEST_TRACE)\n */\n\n#ifndef RCCL_TEST_CHECKS_HPP\n#define RCCL_TEST_CHECKS_HPP\n\n#ifdef MPI_TESTS_ENABLED\n\n#include \"gtest/gtest.h\"\n#include <cstdio>\n#include <cstring>\n#include <hip/hip_runtime.h>\n#include <mpi.h>\n#include <rccl/rccl.h>\n#include \"utils.h\" // For RCCL's getHostName utility\n\n// Forward declaration of MPIEnvironment class (defined in MPIEnvironment.hpp)\nclass MPIEnvironment;\n\n// Forward declarations for helper functions\nextern int         rcclTestDebugLevel;\ninline int         getTestDebugLevel();\ninline int         getTestMpiRank();\ninline const char* getTestHostname();\ninline bool        isMultiNodeTest();\n\n// Helper function implementations\ninline int getTestDebugLevel()\n{\n    return rcclTestDebugLevel;\n}\n\ninline int getTestMpiRank()\n{\n    int rank = -1;\n    MPI_Comm_rank(MPI_COMM_WORLD, &rank);\n    return rank;\n}\n\ninline const char* getTestHostname()\n{\n    static char hostname[256] = {0};\n    static bool initialized   = false;\n\n    if(!initialized)\n    {\n        // Use RCCL's getHostName utility to get short hostname (delimited by '.')\n        if(getHostName(hostname, sizeof(hostname), '.') != ncclSuccess)\n        {\n            strncpy(hostname, \"unknown\", sizeof(hostname) - 1);\n        }\n        initialized = true;\n    }\n    return hostname;\n}\n\n// Forward declaration of helper function to access MPIEnvironment state\n// (Defined in MPIEnvironment.cpp to avoid circular dependency)\nint getMPIEnvironmentCachedMultiNodeResult();\n\ninline bool isMultiNodeTest()\n{\n    // Return cached result from global environment\n    // If not yet computed (== -1), assume single node to be safe\n    return getMPIEnvironmentCachedMultiNodeResult() == 1;\n}\n\n// NCCL Error Checking Macros\n\n/**\n * @def RCCL_TEST_CHECK\n * @brief NCCL error checking macro for test infrastructure code\n *\n * Checks NCCL function calls and returns error code if failed.\n * Use in test setup/teardown and infrastructure code that returns ncclResult_t.\n *\n * Behavior:\n * - Checks NCCL function result\n * - Logs error to stderr\n * - Returns the error code to caller\n *\n * @note For GTest test bodies, use RCCL_TEST_CHECK_GTEST_FAIL instead\n */\n#define RCCL_TEST_CHECK(cmd)                            \\\n    do                                                  \\\n    {                                                   \\\n        ncclResult_t res = cmd;                         \\\n        if(res != ncclSuccess && res != ncclInProgress) \\\n        {                                               \\\n            fprintf(stderr,                             \\\n                    \"RCCL Error at %s:%d - %s\\n\",       \\\n                    __FILE__,                           \\\n                    __LINE__,                           \\\n                    ncclGetErrorString(res));           \\\n            return res;                                 \\\n        }                                               \\\n    }                                                   \\\n    while(0)\n\n/**\n * @def RCCL_TEST_CHECK_GTEST_FAIL\n * @brief RCCL error checking macro for GTest test bodies\n *\n * Checks NCCL function calls and fails the test if an error occurs.\n * Use in TEST_F/TEST_P test bodies.\n *\n * Behavior:\n * - Checks NCCL function result\n * - Prints error to stdout\n * - Calls FAIL() to mark test as failed\n *\n * @note For infrastructure code (setup/teardown), use RCCL_TEST_CHECK instead\n */\n#define RCCL_TEST_CHECK_GTEST_FAIL(cmd)                                                        \\\n    do                                                                                         \\\n    {                                                                                          \\\n        ncclResult_t res = cmd;                                                                \\\n        if(res != ncclSuccess)                                                                 \\\n        {                                                                                      \\\n            printf(\"RCCL Error at %s:%d - %s\\n\", __FILE__, __LINE__, ncclGetErrorString(res)); \\\n            FAIL() << \"RCCL Error: \" << ncclGetErrorString(res);                               \\\n        }                                                                                      \\\n    }                                                                                          \\\n    while(0)\n\n// HIP Error Checking Macros\n\n/**\n * @def HIP_TEST_CHECK\n * @brief HIP error checking macro for test infrastructure code\n *\n * Checks HIP function calls and returns ncclUnhandledCudaError if failed.\n * Use in test setup/teardown and infrastructure code that returns ncclResult_t.\n *\n * Behavior:\n * - Checks HIP function result\n * - Logs error to stderr\n * - Returns ncclUnhandledCudaError to caller\n *\n * @note Requires enclosing function to return ncclResult_t\n * @note For test bodies, use HIP_TEST_CHECK_GTEST_FAIL instead\n */\n#define HIP_TEST_CHECK(cmd)                                      \\\n    do                                                           \\\n    {                                                            \\\n        hipError_t err = cmd;                                    \\\n        if(err != hipSuccess)                                    \\\n        {                                                        \\\n            fprintf(stderr,                                      \\\n                    \"HIP Error at %s:%d - %s (hipError_t=%d)\\n\", \\\n                    __FILE__,                                    \\\n                    __LINE__,                                    \\\n                    hipGetErrorString(err),                      \\\n                    static_cast<int>(err));                      \\\n            return ncclUnhandledCudaError;                       \\\n        }                                                        \\\n    }                                                            \\\n    while(0)\n\n/**\n * @def HIPCHECK\n * @brief HIP error checking macro (library-style)\n *\n * Similar to RCCL library's CUDACHECK macro. Returns ncclUnhandledCudaError on error.\n * Use in any code that returns ncclResult_t.\n *\n * Behavior:\n * - Checks HIP function result\n * - Logs error to stderr\n * - Returns ncclUnhandledCudaError to caller\n *\n * @note Requires enclosing function to return ncclResult_t\n * @note For GTest test bodies, use HIP_TEST_CHECK_GTEST_FAIL instead\n * @note This mirrors the library's CUDACHECK behavior\n */\n#ifndef HIPCHECK\n    #define HIPCHECK(cmd)                                            \\\n        do                                                           \\\n        {                                                            \\\n            hipError_t err = cmd;                                    \\\n            if(err != hipSuccess)                                    \\\n            {                                                        \\\n                fprintf(stderr,                                      \\\n                        \"HIP Error at %s:%d - %s (hipError_t=%d)\\n\", \\\n                        __FILE__,                                    \\\n                        __LINE__,                                    \\\n                        hipGetErrorString(err),                      \\\n                        static_cast<int>(err));                      \\\n                return ncclUnhandledCudaError;                       \\\n            }                                                        \\\n        }                                                            \\\n        while(0)\n#endif // HIPCHECK\n\n/**\n * @def HIP_TEST_CHECK_GTEST_FAIL\n * @brief HIP error checking for GTest test bodies\n *\n * Checks HIP function calls and fails the test if an error occurs.\n * Use in TEST_F/TEST_P test bodies.\n *\n * Behavior:\n * - Checks HIP function result\n * - Prints error to stdout\n * - Calls FAIL() to mark test as failed\n *\n * @note For infrastructure code, use HIPCHECK or HIP_TEST_CHECK instead\n */\n#define HIP_TEST_CHECK_GTEST_FAIL(cmd)                                                       \\\n    do                                                                                       \\\n    {                                                                                        \\\n        hipError_t err = cmd;                                                                \\\n        if(err != hipSuccess)                                                                \\\n        {                                                                                    \\\n            printf(\"HIP Error at %s:%d - %s\\n\", __FILE__, __LINE__, hipGetErrorString(err)); \\\n            FAIL() << \"HIP Error: \" << hipGetErrorString(err);                               \\\n        }                                                                                    \\\n    }                                                                                        \\\n    while(0)\n\n// Debug Logging Macros (TEST_*)\n\n/**\n * @def TEST_WARN\n * @brief Warning-level logging macro\n *\n * Prints warning messages when NCCL_DEBUG=WARN or higher.\n * Automatically includes rank and hostname prefixes.\n */\n#define TEST_WARN(...)                                                 \\\n    do                                                                 \\\n    {                                                                  \\\n        if(getTestDebugLevel() >= 2)                                   \\\n        {                                                              \\\n            int rank = getTestMpiRank();                               \\\n            if(isMultiNodeTest())                                      \\\n            {                                                          \\\n                printf(\"%s:[%d] TEST WARN \", getTestHostname(), rank); \\\n            }                                                          \\\n            else                                                       \\\n            {                                                          \\\n                printf(\"[%d] TEST WARN \", rank);                       \\\n            }                                                          \\\n            printf(__VA_ARGS__);                                       \\\n            printf(\"\\n\");                                              \\\n            fflush(stdout);                                            \\\n        }                                                              \\\n    }                                                                  \\\n    while(0)\n\n/**\n * @def TEST_INFO\n * @brief Info-level logging macro\n *\n * Prints informational messages when NCCL_DEBUG=INFO or higher.\n * Automatically includes rank and hostname prefixes.\n */\n#define TEST_INFO(...)                                                 \\\n    do                                                                 \\\n    {                                                                  \\\n        if(getTestDebugLevel() >= 3)                                   \\\n        {                                                              \\\n            int rank = getTestMpiRank();                               \\\n            if(isMultiNodeTest())                                      \\\n            {                                                          \\\n                printf(\"%s:[%d] TEST INFO \", getTestHostname(), rank); \\\n            }                                                          \\\n            else                                                       \\\n            {                                                          \\\n                printf(\"[%d] TEST INFO \", rank);                       \\\n            }                                                          \\\n            printf(__VA_ARGS__);                                       \\\n            printf(\"\\n\");                                              \\\n            fflush(stdout);                                            \\\n        }                                                              \\\n    }                                                                  \\\n    while(0)\n\n/**\n * @def TEST_ABORT\n * @brief Abort-level logging macro\n *\n * Prints abort-level messages when NCCL_DEBUG=ABORT or higher.\n * Automatically includes rank and hostname prefixes.\n */\n#define TEST_ABORT(...)                                                 \\\n    do                                                                  \\\n    {                                                                   \\\n        if(getTestDebugLevel() >= 4)                                    \\\n        {                                                               \\\n            int rank = getTestMpiRank();                                \\\n            if(isMultiNodeTest())                                       \\\n            {                                                           \\\n                printf(\"%s:[%d] TEST ABORT \", getTestHostname(), rank); \\\n            }                                                           \\\n            else                                                        \\\n            {                                                           \\\n                printf(\"[%d] TEST ABORT \", rank);                       \\\n            }                                                           \\\n            printf(__VA_ARGS__);                                        \\\n            printf(\"\\n\");                                               \\\n            fflush(stdout);                                             \\\n        }                                                               \\\n    }                                                                   \\\n    while(0)\n\n/**\n * @def TEST_TRACE\n * @brief Trace-level logging macro\n *\n * Prints trace messages when NCCL_DEBUG=TRACE.\n * Automatically includes rank and hostname prefixes.\n */\n    #define TEST_TRACE(...)                                                 \\\n        do                                                                  \\\n        {                                                                   \\\n            if(getTestDebugLevel() >= 5)                                    \\\n            {                                                               \\\n                int rank = getTestMpiRank();                                \\\n                if(isMultiNodeTest())                                       \\\n                {                                                           \\\n                    printf(\"%s:[%d] TEST TRACE \", getTestHostname(), rank); \\\n                }                                                           \\\n                else                                                        \\\n                {                                                           \\\n                    printf(\"[%d] TEST TRACE \", rank);                       \\\n                }                                                           \\\n                printf(__VA_ARGS__);                                        \\\n                printf(\"\\n\");                                               \\\n                fflush(stdout);                                             \\\n            }                                                               \\\n        }                                                                   \\\n        while(0)\n\n    // MPI-Aware Assertion Macros (ASSERT_MPI_*)\n\n/**\n * @def ASSERT_MPI_TRUE\n * @brief MPI-aware version of ASSERT_TRUE\n *\n * Checks condition on all ranks. If ANY rank fails, ALL ranks skip together\n * to prevent deadlock. This is critical for MPI tests where collective\n * operations require all ranks to participate.\n *\n * Behavior:\n * - Evaluates condition on each rank\n * - Uses MPI_Allreduce to check if all ranks passed\n * - If any rank fails, all ranks call GTEST_SKIP() together\n *\n * @param condition The condition to test\n */\n#define ASSERT_MPI_TRUE(condition)                                                            \\\n    do                                                                                        \\\n    {                                                                                         \\\n        bool _local_pass    = static_cast<bool>(condition);                                   \\\n        int  _local_status  = _local_pass ? 1 : 0;                                            \\\n        int  _global_status = 0;                                                              \\\n        MPI_Allreduce(&_local_status, &_global_status, 1, MPI_INT, MPI_MIN, MPI_COMM_WORLD);  \\\n                                                                                              \\\n        if(_global_status == 0)                                                               \\\n        {                                                                                     \\\n            /* At least one rank failed */                                                    \\\n            if(!_local_pass)                                                                  \\\n            {                                                                                 \\\n                /* This rank failed - show the actual error */                                \\\n                EXPECT_TRUE(condition)                                                        \\\n                    << \"Rank \" << MPIEnvironment::world_rank << \" failed assertion\";      \\\n            }                                                                                 \\\n            /* All ranks skip together */                                                     \\\n            GTEST_SKIP()                                                                      \\\n                << \"Rank \" << MPIEnvironment::world_rank                                  \\\n                << \": Skipping test due to failure on at least one rank (synchronized exit)\"; \\\n        }                                                                                     \\\n    }                                                                                         \\\n    while(0)\n\n/**\n * @def ASSERT_MPI_FALSE\n * @brief MPI-aware version of ASSERT_FALSE\n */\n    #define ASSERT_MPI_FALSE(condition) ASSERT_MPI_TRUE(!(condition))\n\n/**\n * @def ASSERT_MPI_EQ\n * @brief MPI-aware version of ASSERT_EQ\n *\n * Checks if val1 == val2 on all ranks. If ANY rank fails,\n * ALL ranks skip together to prevent deadlock.\n *\n * @param val1 First value\n * @param val2 Second value\n */\n#define ASSERT_MPI_EQ(val1, val2)                                                             \\\n    do                                                                                        \\\n    {                                                                                         \\\n        auto _v1            = (val1);                                                         \\\n        auto _v2            = (val2);                                                         \\\n        bool _local_pass    = (_v1 == _v2);                                                   \\\n        int  _local_status  = _local_pass ? 1 : 0;                                            \\\n        int  _global_status = 0;                                                              \\\n        MPI_Allreduce(&_local_status, &_global_status, 1, MPI_INT, MPI_MIN, MPI_COMM_WORLD);  \\\n                                                                                              \\\n        if(_global_status == 0)                                                               \\\n        {                                                                                     \\\n            if(!_local_pass)                                                                  \\\n            {                                                                                 \\\n                EXPECT_EQ(_v1, _v2)                                                           \\\n                    << \"Rank \" << MPIEnvironment::world_rank << \" failed assertion\";      \\\n            }                                                                                 \\\n            GTEST_SKIP()                                                                      \\\n                << \"Rank \" << MPIEnvironment::world_rank                                  \\\n                << \": Skipping test due to failure on at least one rank (synchronized exit)\"; \\\n        }                                                                                     \\\n    }                                                                                         \\\n    while(0)\n\n/**\n * @def ASSERT_MPI_NE\n * @brief MPI-aware version of ASSERT_NE\n *\n * @param val1 First value\n * @param val2 Second value\n */\n#define ASSERT_MPI_NE(val1, val2)                                                             \\\n    do                                                                                        \\\n    {                                                                                         \\\n        auto _v1            = (val1);                                                         \\\n        auto _v2            = (val2);                                                         \\\n        bool _local_pass    = (_v1 != _v2);                                                   \\\n        int  _local_status  = _local_pass ? 1 : 0;                                            \\\n        int  _global_status = 0;                                                              \\\n        MPI_Allreduce(&_local_status, &_global_status, 1, MPI_INT, MPI_MIN, MPI_COMM_WORLD);  \\\n                                                                                              \\\n        if(_global_status == 0)                                                               \\\n        {                                                                                     \\\n            if(!_local_pass)                                                                  \\\n            {                                                                                 \\\n                EXPECT_NE(_v1, _v2)                                                           \\\n                    << \"Rank \" << MPIEnvironment::world_rank << \" failed assertion\";      \\\n            }                                                                                 \\\n            GTEST_SKIP()                                                                      \\\n                << \"Rank \" << MPIEnvironment::world_rank                                  \\\n                << \": Skipping test due to failure on at least one rank (synchronized exit)\"; \\\n        }                                                                                     \\\n    }                                                                                         \\\n    while(0)\n\n/**\n * @def ASSERT_MPI_SUCCESS\n * @brief MPI-aware assertion for MPI operations\n *\n * Checks if MPI operation succeeded on all ranks. If ANY rank fails,\n * ALL ranks skip together. Provides better error messages for MPI operations.\n *\n * @param expr Expression that returns an MPI error code\n */\n#define ASSERT_MPI_SUCCESS(expr)                                                               \\\n    do                                                                                         \\\n    {                                                                                          \\\n        int  _result        = (expr);                                                          \\\n        bool _local_pass    = (_result == MPI_SUCCESS);                                        \\\n        int  _local_status  = _local_pass ? 1 : 0;                                             \\\n        int  _global_status = 0;                                                               \\\n        MPI_Allreduce(&_local_status, &_global_status, 1, MPI_INT, MPI_MIN, MPI_COMM_WORLD);   \\\n                                                                                               \\\n        if(_global_status == 0)                                                                \\\n        {                                                                                      \\\n            if(!_local_pass)                                                                   \\\n            {                                                                                  \\\n                char _error_string[MPI_MAX_ERROR_STRING];                                      \\\n                int  _len;                                                                     \\\n                MPI_Error_string(_result, _error_string, &_len);                               \\\n                EXPECT_EQ(_result, MPI_SUCCESS) << \"Rank \" << MPIEnvironment::world_rank   \\\n                                                << \" failed MPI operation: \" << _error_string; \\\n            }                                                                                  \\\n            GTEST_SKIP() << \"Rank \" << MPIEnvironment::world_rank                          \\\n                         << \": Skipping test due to MPI failure on at least one rank\";         \\\n        }                                                                                      \\\n    }                                                                                          \\\n    while(0)\n\n// MPI Error Checking Macros (MPICHECK)\n\n/**\n * @def MPICHECK\n * @brief Context-aware MPI error checking macro with overloaded behavior\n *\n * Provides three usage modes depending on context:\n *\n * @par Usage Modes:\n * - `MPICHECK(cmd)` - Normal test code: Fails test with FAIL() on error\n * - `MPICHECK(cmd, rank)` - Cleanup code: Calls MPI_Abort() on error\n * - `MPICHECK(cmd, rank, true)` - MPI_Finalize: Calls std::exit() on error\n *\n * @par Example:\n * @code\n * // In test body\n * MPICHECK(MPI_Barrier(MPI_COMM_WORLD));\n *\n * // In cleanup code\n * MPICHECK(MPI_Barrier(MPI_COMM_WORLD), world_rank);\n *\n * // During finalization\n * MPICHECK(MPI_Finalize(), world_rank, true);\n * @endcode\n *\n * @note Prints detailed error message including file, line, and MPI error string\n */\n\n// Helper macros for argument counting\n#define MPICHECK_GET_MACRO(_1, _2, _3, NAME, ...) NAME\n#define MPICHECK(...) \\\n    MPICHECK_GET_MACRO(__VA_ARGS__, MPICHECK_3, MPICHECK_2, MPICHECK_1)(__VA_ARGS__)\n\n/**\n * @def MPICHECK_1\n * @brief 1-argument version: Normal test code (uses FAIL())\n * @hideinitializer\n */\n#define MPICHECK_1(cmd)                                                            \\\n    do                                                                             \\\n    {                                                                              \\\n        int err = cmd;                                                             \\\n        if(err != MPI_SUCCESS)                                                     \\\n        {                                                                          \\\n            char error_string[MPI_MAX_ERROR_STRING];                               \\\n            int  length;                                                           \\\n            MPI_Error_string(err, error_string, &length);                          \\\n            printf(\"MPI Error at %s:%d - %s\\n\", __FILE__, __LINE__, error_string); \\\n            FAIL() << \"MPI Error: \" << error_string;                               \\\n        }                                                                          \\\n    }                                                                              \\\n    while(0)\n\n/**\n * @def MPICHECK_2\n * @brief 2-argument version: Cleanup code (uses MPI_Abort())\n * @hideinitializer\n */\n#define MPICHECK_2(cmd, rank)                                  \\\n    do                                                         \\\n    {                                                          \\\n        int err = cmd;                                         \\\n        if(err != MPI_SUCCESS)                                 \\\n        {                                                      \\\n            char error_string[MPI_MAX_ERROR_STRING];           \\\n            int  length;                                       \\\n            MPI_Error_string(err, error_string, &length);      \\\n            std::fprintf(stderr,                               \\\n                         \"Rank %d: MPI Error at %s:%d - %s\\n\", \\\n                         rank,                                 \\\n                         __FILE__,                             \\\n                         __LINE__,                             \\\n                         error_string);                        \\\n            std::fflush(stderr);                               \\\n            MPI_Abort(MPI_COMM_WORLD, err);                    \\\n        }                                                      \\\n    }                                                          \\\n    while(0)\n\n/**\n * @def MPICHECK_3\n * @brief 3-argument version: MPI_Finalize (uses std::exit())\n * @hideinitializer\n */\n#define MPICHECK_3(cmd, rank, is_finalize)                              \\\n    do                                                                  \\\n    {                                                                   \\\n        int err = cmd;                                                  \\\n        if(err != MPI_SUCCESS)                                          \\\n        {                                                               \\\n            char error_string[MPI_MAX_ERROR_STRING];                    \\\n            int  length;                                                \\\n            MPI_Error_string(err, error_string, &length);               \\\n            std::fprintf(stderr,                                        \\\n                         \"Rank %d: MPI_Finalize Error at %s:%d - %s\\n\", \\\n                         rank,                                          \\\n                         __FILE__,                                      \\\n                         __LINE__,                                      \\\n                         error_string);                                 \\\n            std::fflush(stderr);                                        \\\n            std::exit(err);                                             \\\n        }                                                               \\\n    }                                                                   \\\n    while(0)\n\n#endif // MPI_TESTS_ENABLED\n\n#endif // RCCL_TEST_CHECKS_HPP\n"
  },
  {
    "path": "test/common/TransportUtils.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#ifndef TRANSPORT_UTILS_H\n#define TRANSPORT_UTILS_H\n\n#include <gtest/gtest.h>\n#include <rccl/rccl.h>\n#include <transport.h>  \n#include \"TestBed.hpp\"\n\nvoid dumpData(struct ncclConnect* data, int ndata);\nncclResult_t bootstrapAllGather(void* bootstrap, void* data, int size) {\n  memcpy((char*)data + size, data, size); // Simulate copying rank 0 connect to rank 1\n  return ncclSuccess;\n}\n\nnamespace RcclUnitTesting\n{\n//Mock functions for CollNetRecvSetup and CollNetSendSetup\nncclResult_t mockSetup(struct ncclComm* comm, struct ncclTopoGraph* graph,\n                       struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo,\n                       struct ncclConnect* connect, struct ncclConnector* connector,\n                       int channelId, int type) {\n  memset(connect, 42, sizeof(struct ncclConnect)); // dummy data\n  return ncclSuccess;\n}\n\nncclResult_t mockConnect(struct ncclComm* comm, struct ncclConnect* connect,\n                         int nranks, int rank, struct ncclConnector* connector) {\n  memset(&connector->conn, 99, sizeof(connector->conn)); // dummy\n  return ncclSuccess;\n}\n\n// Dummy bootstrap implementation for testing NcclTransportCollNetCheckTestSuccess and NcclTransportCollNetCheckTestFails\nstruct ncclBootstrap {};\n\nncclResult_t bootstrapIntraNodeAllGather(\nstruct ncclBootstrap* bootstrap,\nint* localRankToRank,\nint localRank,\nint localRanks,\nint* data,\nsize_t size\n) {\n  data[0] = 0; // Rank 0 is fine\n  data[1] = 1; // Rank 1 reports failure\n  return ncclSuccess;\n}\n\n//Helper function for capturing the output for DumpDataTest\nstd::string captureStdout(std::function<void()> func) {\n  int pipefd[2];\n  pipe(pipefd);\n\n  int saved_stdout = dup(STDOUT_FILENO);\n  dup2(pipefd[1], STDOUT_FILENO);\n  close(pipefd[1]);\n\n  func();\n\n  fflush(stdout);\n  dup2(saved_stdout, STDOUT_FILENO);\n  close(saved_stdout);\n\n  char buffer[4096];\n  ssize_t count = read(pipefd[0], buffer, sizeof(buffer) - 1);\n  close(pipefd[0]);\n  buffer[count] = '\\0';\n\n  return std::string(buffer);\n}\n\n} //namespace RcclUnitTesting\n#endif\n"
  },
  {
    "path": "test/common/main.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <gtest/gtest.h>\n#include \"EnvVars.hpp\"\n#include \"TestBed.hpp\"\nint main(int argc, char **argv)\n{\n  ::testing::InitGoogleTest(&argc, argv);\n  RcclUnitTesting::EnvVars ev;\n  ev.ShowConfig();\n  int retCode = RUN_ALL_TESTS();\n  printf(\"[ INFO     ] Total executed cases: %d\\n\", RcclUnitTesting::TestBed::NumTestsRun());\n\n  // Show timing information\n\n  if (ev.showTiming)\n  {\n    size_t totalTimeMsec = 0;\n    fflush(stdout);\n    printf(\"[ TIMING   ] %-20s: %-20s: %10s ms (%s)\\n\", \"TEST SUITE\", \"TEST NAME\", \"TIME\", \"STATUS\");\n    auto unitTest = ::testing::UnitTest::GetInstance();\n    for (int i = 0; i < unitTest->total_test_suite_count(); i++)\n    {\n      auto suiteInfo = unitTest->GetTestSuite(i);\n      if (!suiteInfo->should_run()) continue;\n\n      for (int j = 0; j < suiteInfo->total_test_count(); j++)\n      {\n        auto testInfo = suiteInfo->GetTestInfo(j);\n        if (!testInfo->should_run()) continue;\n        auto testResult = testInfo->result();\n        if (testResult->Skipped()) continue;\n        printf(\"[ TIMING   ] %-20s: %-20s: %10.2f sec (%4s)\\n\", testInfo->test_suite_name(), testInfo->name(), testResult->elapsed_time() / 1000.0, testResult->Passed() ? \"PASS\" : \"FAIL\");\n      }\n      printf(\"[ TIMING   ] %-20s: %-20s: %10.2f sec (%4s)\\n\", suiteInfo->name(), \"TOTAL\", suiteInfo->elapsed_time() / 1000.0, suiteInfo->Passed() ? \"PASS\" : \"FAIL\");\n      totalTimeMsec += suiteInfo->elapsed_time();\n    }\n    printf(\"[ TIMING   ] Total time: %10.2f minutes\\n\", totalTimeMsec / (60 * 1000.0));\n  }\n  return retCode;\n}\n"
  },
  {
    "path": "test/common/main_fixtures.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n #include <gtest/gtest.h>\n #include \"EnvVars.hpp\"\n \n int main(int argc, char **argv)\n {\n   ::testing::InitGoogleTest(&argc, argv);\n   RcclUnitTesting::EnvVars ev;\n   ev.ShowConfig();\n   int retCode = RUN_ALL_TESTS();\n \n   // Show timing information\n \n   if (ev.showTiming)\n   {\n     size_t totalTimeMsec = 0;\n     fflush(stdout);\n     printf(\"[ TIMING   ] %-20s: %-20s: %10s ms (%s)\\n\", \"TEST SUITE\", \"TEST NAME\", \"TIME\", \"STATUS\");\n     auto unitTest = ::testing::UnitTest::GetInstance();\n     for (int i = 0; i < unitTest->total_test_suite_count(); i++)\n     {\n       auto suiteInfo = unitTest->GetTestSuite(i);\n       if (!suiteInfo->should_run()) continue;\n \n       for (int j = 0; j < suiteInfo->total_test_count(); j++)\n       {\n         auto testInfo = suiteInfo->GetTestInfo(j);\n         if (!testInfo->should_run()) continue;\n         auto testResult = testInfo->result();\n         if (testResult->Skipped()) continue;\n         printf(\"[ TIMING   ] %-20s: %-20s: %10.2f sec (%4s)\\n\", testInfo->test_suite_name(), testInfo->name(), testResult->elapsed_time() / 1000.0, testResult->Passed() ? \"PASS\" : \"FAIL\");\n       }\n       printf(\"[ TIMING   ] %-20s: %-20s: %10.2f sec (%4s)\\n\", suiteInfo->name(), \"TOTAL\", suiteInfo->elapsed_time() / 1000.0, suiteInfo->Passed() ? \"PASS\" : \"FAIL\");\n       totalTimeMsec += suiteInfo->elapsed_time();\n     }\n     printf(\"[ TIMING   ] Total time: %10.2f minutes\\n\", totalTimeMsec / (60 * 1000.0));\n   }\n   return retCode;\n }\n \n"
  },
  {
    "path": "test/common/main_mpi.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n/**\n * @file main_mpi.cpp\n * @brief Main entry point for Google Test-based MPI tests\n *\n * This file provides the main() function for running GTest-based MPI tests.\n * For standalone tests (performance benchmarks, etc.), each test should have\n * its own main() function and use MPIHelpers for common functionality.\n */\n\n#include <cstdio>\n#include <cstdlib>\n#include <gtest/gtest.h>\n\n#ifdef MPI_TESTS_ENABLED\n\n    #include \"MPIHelpers.hpp\"\n    #include \"MPITestBase.hpp\"\n    #include \"MPIEnvironment.hpp\"\n\nint main(int argc, char* argv[])\n{\n    // Initialize MPI using shared helper\n    auto mpi_ctx = MPIHelpers::initializeMPI(&argc, &argv);\n\n    const auto world_rank = mpi_ctx.world_rank;\n    const auto world_size = mpi_ctx.world_size;\n\n    // Setup per-rank logging using shared helper\n    auto       rank_log_config          = MPIHelpers::setupRankLogging(world_rank);\n    const auto per_rank_logging_enabled = rank_log_config && rank_log_config->logging_enabled;\n\n    // Print initialization message\n    if(world_rank == 0 && !per_rank_logging_enabled)\n    {\n        TEST_INFO(\"MPI initialized - World size: %d, Thread support: %d\",\n                  world_size,\n                  mpi_ctx.thread_support);\n    }\n\n    // Initialize Google Test\n    ::testing::InitGoogleTest(&argc, argv);\n\n    // Suppress GTest output for non-zero ranks (unless per-rank logging is enabled)\n    // This is done by deleting GTest listeners for non-zero ranks\n    // Note: stdout/stderr are already redirected for non-zero ranks by setupRankLogging\n    if(world_rank != 0 && !per_rank_logging_enabled)\n    {\n        auto& listeners = ::testing::UnitTest::GetInstance()->listeners();\n        delete listeners.Release(listeners.default_result_printer());\n        delete listeners.Release(listeners.default_xml_generator());\n    }\n\n    // Set up the RCCL MPI environment for all tests\n    ::testing::AddGlobalTestEnvironment(new MPIEnvironment());\n\n    // Run all tests\n    const auto ret_code = RUN_ALL_TESTS();\n\n    // Restore original output if per-rank logging was enabled\n    if(rank_log_config)\n    {\n        MPIHelpers::restoreRankLogging(*rank_log_config);\n    }\n\n    // MPI_Finalize called by MPIEnvironment destructor\n    return ret_code;\n}\n\n#else // MPI_TESTS_ENABLED not defined\n\nint main([[maybe_unused]] int argc, [[maybe_unused]] char* argv[])\n{\n    std::fprintf(stderr,\n                 \"ERROR: MPI tests are not enabled. Please build with ENABLE_MPI_TESTS=ON\\n\");\n    std::fprintf(stderr, \"Usage: cmake -DENABLE_MPI_TESTS=ON -DMPI_PATH=/path/to/mpi ..\\n\");\n    return 1;\n}\n\n#endif // MPI_TESTS_ENABLED\n"
  },
  {
    "path": "test/ext-plugins/.gitignore",
    "content": "# Ignore Python cache and virtual environment folders\n__pycache__/\n*.pyc\n*.pyo\n*.pyd\n\n# Ignore pytest cache\n.pytest_cache/\n.cache/\n\n# Ignore log folders\nlogs/\nlog/\n*.log\n\n# Ignore virtual environment folders\nvenv/\n\n# Ignore build artifacts\nbuild/\n\n# Ignore profiler dump folders\nprofiler_dumps/\n"
  },
  {
    "path": "test/ext-plugins/README.md",
    "content": "# RCCL Plugin Tests\n\n## Description\n\nThis directory contains automated tests for RCCL (ROCm Communication Collectives Library) plugins:\n\n1. **CSV Tuner Plugin**: Validates the functionality of the CSV-based tuning plugin across different collective operations (AllReduce, Broadcast, Reduce, AllGather, and ReduceScatter) and various configuration scenarios.\n\n2. **Profiler Plugin**: Validates the profiler plugin that captures detailed runtime events for collective and P2P operations, including Group, Collective, P2P, ProxyOp, ProxyStep, and GPU kernel events.\n\nThe tests are written in Python using the pytest framework, making it easy to run, maintain, and extend the test coverage.\n\n## Directory Structure\n\n```\next-plugins/\n├── README.md                    # This file - documentation for the test suite\n├── requirements.txt             # Python dependencies required for testing\n├── pytest.ini                   # Pytest configuration and test markers\n├── .gitignore                   # Git ignore rules for Python/pytest artifacts\n├── venv/                        # Python virtual environment (created after setup)\n├── logs/                        # Test execution logs and output files\n├── profiler_dumps/              # Profiler plugin output (JSON trace files)\n├── assets/                      # Test configuration files and assets\n│   └── csv_confs/               # CSV configuration files for testing\n│       ├── incorrect_values_config.conf\n│       ├── multinode_config.conf\n│       ├── no_matching_config.conf\n│       ├── singlenode_config.conf\n│       ├── unsupported_algo_proto_config.conf\n│       ├── valid_config_with_wildcards.conf\n│       └── valid_config_without_wildcards.conf\n└── tests/                       # Test suite directory\n    ├── conftest.py              # Pytest fixtures and shared test configuration\n    ├── ext-tuner/               # CSV Tuner Plugin specific tests\n    │   ├── test_allreduce.py\n    │   ├── test_broadcast.py\n    │   ├── test_reduce.py\n    │   ├── test_allgather.py\n    │   └── test_reducescatter.py\n    └── ext-profiler/            # Profiler Plugin specific tests\n        ├── test_allreduce.py\n        ├── test_broadcast.py\n        ├── test_reduce.py\n        ├── test_allgather.py\n        ├── test_alltoall.py\n        ├── test_reducescatter.py\n        └── test_sendrecv.py\n```\n\n## Installation & Setup\n\n### Prerequisites\n\n- Python 3.6 or higher\n- RCCL library installed\n- ROCm environment configured\n- **Important**: Update the installation paths in `tests/conftest.py` to match your environment:\n\n```python\nRCCL_INSTALL_DIR = \"path/to/rccl\"\nOMPI_INSTALL_DIR = \"path/to/ompi\"\nRCCL_TESTS_DIR = \"path/to/rccl-tests\"\n```\n\nReplace these placeholder paths with your actual installation directories before running the tests.\n\n### Building the RCCL Plugins\n\nBefore running the tests, you need to build the RCCL plugin libraries.\n\n#### Building the CSV Tuner Plugin\n\nThe CSV tuner plugin is located in the `ext-tuner/example` directory.\n\n**Step 1: Navigate to the plugin directory**\n\n```bash\ncd rccl/ext-tuner/example\n```\n\n**Step 2: Build the plugin**\n\n```bash\nmake\n```\n\nThis will compile the plugin and create `libnccl-tuner-example.so` in the same directory.\n\n#### Building the Profiler Plugin\n\nThe profiler plugin is located in the `ext-plugins/example` directory.\n\n**Step 1: Navigate to the plugin directory**\n\n```bash\ncd rccl/test/ext-plugins/example\n```\n\n**Step 2: Build the plugin**\n\n```bash\nmake\n```\n\nThis will compile the plugin and create `libnccl-profiler.so` in the same directory. The profiler plugin captures detailed runtime events including:\n- **Group events**: High-level operation grouping\n- **Collective events**: AllReduce, Broadcast, Reduce, ReduceScatter operations\n- **P2P events**: Send, Recv, AllGather, AllToAll operations\n- **ProxyOp events**: Network proxy operations (ScheduleSend, ScheduleRecv, ProgressSend, ProgressRecv)\n- **ProxyStep events**: Detailed network steps (SendWait, RecvWait, GPU waits)\n- **ProxyCtrl events**: Proxy thread control (Append, Sleep)\n- **GPU events**: Kernel channel execution\n\n### Step 1: Create Virtual Environment\n\nCreate a Python virtual environment to isolate the test dependencies:\n\n```bash\npython3 -m venv venv\n```\n\n### Step 2: Activate Virtual Environment\n\nActivate the virtual environment using the appropriate command for your shell:\n\n**On Linux/Mac (bash/zsh):**\n```bash\nsource venv/bin/activate\n```\n\nOnce activated, you should see `(venv)` at the beginning of your command prompt.\n\n### Step 3: Install Dependencies\n\nInstall the required Python packages:\n\n```bash\npip install -r requirements.txt\n```\n\n## Running Tests\n\n### Run All Tests\n\nTo run the entire test suite:\n\n```bash\npytest --cache-clear\n```\n\n### Run Tests with Verbose Output\n\nFor more detailed test output:\n\n```bash\npytest -v --cache-clear\n```\n\n### Run Tests by Marker\n\nTests are organized using pytest markers. You can run specific groups of tests:\n\n**Run plugin-specific tests:**\n```bash\npytest -m ext_tuner --cache-clear      # CSV Tuner Plugin tests only\npytest -m ext_profiler --cache-clear   # Profiler Plugin tests only\n```\n\n**Run tests for specific collective operations (across all plugins):**\n```bash\npytest -m allreduce --cache-clear      # AllReduce tests\npytest -m broadcast --cache-clear      # Broadcast tests\npytest -m reduce --cache-clear         # Reduce tests\npytest -m allgather --cache-clear      # AllGather tests\npytest -m reducescatter --cache-clear  # ReduceScatter tests\npytest -m alltoall --cache-clear       # AllToAll tests (profiler only)\npytest -m sendrecv --cache-clear       # SendRecv tests (profiler only)\n```\n\n**Combine markers to run specific tests:**\n```bash\npytest -m \"ext_profiler and allreduce\" --cache-clear   # Profiler AllReduce tests only\npytest -m \"ext_tuner and broadcast\" --cache-clear      # Tuner Broadcast tests only\n```\n\n### Run Tests with Log Output\n\nTo see live log output during test execution:\n\n```bash\npytest -v -s --cache-clear\n```\n\n### Generate Test Report\n\nTo generate a detailed test report:\n\n```bash\npytest --verbose --tb=short\n```\n\n## Additional Notes\n\n- **Deactivating Virtual Environment**: When you're done testing, deactivate the virtual environment by running:\n  ```bash\n  deactivate\n  ```\n\n- **Log Files**: Test execution logs are stored in the `logs/` directory for later review and debugging.\n\n- **Profiler Output**: Profiler plugin tests generate JSON trace files in the `profiler_dumps/` directory. These files contain detailed event traces that can be analyzed for debugging or performance analysis. The directory is automatically cleaned before each test session by the pytest fixture.\n"
  },
  {
    "path": "test/ext-plugins/assets/csv_confs/incorrect_values_config.conf",
    "content": "# Test configuration with invalid/incorrect values to test plugin robustness - 8B-128M \n# Invalid collective type (should default to allreduce)\nwrongtype,8,65536,ring,simple,-1,-1,-1,-1,-1\n# Invalid algorithm (should default to ring) \nallreduce,65537,16777216,badring,simple,-1,-1,-1,-1,-1\n# Invalid protocol (should default to simple) \nallreduce,16777217,67108864,tree,badproto,-1,-1,-1,-1,-1\n# Invalid numbers (letters instead of numbers)\nallreduce,abc,def,ring,simple,xyz,-1,-1,-1,-1\n# Wrong field count (should be ignored completely)\nallreduce,8,128M,ring\n# Mixed valid and invalid \nallreduce,67108865,134217728,ring,simple,2,-1,-1,-1,-1\n\n# Broadcast configurations with invalid/incorrect values - 8B-128M \n# Invalid algorithm (should default to ring for broadcast)\nbroadcast,8,65536,badring,simple,-1,-1,-1,-1,-1\n# Invalid protocol (should default to simple)\nbroadcast,65537,16777216,ring,badproto,-1,-1,-1,-1,-1\n# Invalid numbers (letters instead of numbers)\nbroadcast,abc,def,ring,simple,xyz,-1,-1,-1,-1\n# Wrong field count (should be ignored completely)\nbroadcast,8,128M,ring\n# Mixed valid and invalid\nbroadcast,16777217,134217728,ring,simple,4,-1,-1,-1,-1\n\n# AllGather configurations with invalid/incorrect values - 8B-128M \n# Invalid algorithm (should default to ring for allgather)\nallgather,8,65536,badring,simple,-1,-1,-1,-1,-1\n# Invalid protocol (should default to simple)\nallgather,65537,16777216,ring,badproto,-1,-1,-1,-1,-1\n# Invalid numbers (letters instead of numbers)\nallgather,abc,def,ring,simple,xyz,-1,-1,-1,-1\n# Wrong field count (should be ignored completely)\nallgather,8,128M,ring\n# Mixed valid and invalid\nallgather,16777217,134217728,ring,simple,4,-1,-1,-1,-1\n\n# Reduce configurations with invalid/incorrect values - 8B-128M \n# Invalid algorithm (should default to ring for reduce)\nreduce,8,65536,badring,simple,-1,-1,-1,-1,-1\n# Invalid protocol (should default to simple)\nreduce,65537,16777216,ring,badproto,-1,-1,-1,-1,-1\n# Invalid numbers (letters instead of numbers)\nreduce,abc,def,ring,simple,xyz,-1,-1,-1,-1\n# Wrong field count (should be ignored completely)\nreduce,8,128M,ring\n# Mixed valid and invalid\nreduce,16777217,134217728,ring,simple,4,-1,-1,-1,-1\n\n# ReduceScatter configurations with invalid/incorrect values - 8B-128M \n# Invalid algorithm (should default to ring for reducescatter)\nreducescatter,8,65536,badring,simple,-1,-1,-1,-1,-1\n# Invalid protocol (should default to simple)\nreducescatter,65537,16777216,ring,badproto,-1,-1,-1,-1,-1\n# Invalid numbers (letters instead of numbers)\nreducescatter,abc,def,ring,simple,xyz,-1,-1,-1,-1\n# Wrong field count (should be ignored completely)\nreducescatter,8,128M,ring\n# Mixed valid and invalid\nreducescatter,16777217,134217728,ring,simple,4,-1,-1,-1,-1\n"
  },
  {
    "path": "test/ext-plugins/assets/csv_confs/multinode_config.conf",
    "content": "# AllReduce configurations for multi-node setups - 8B-128M \n# 2 nodes, 16 ranks total - 8B-128M \nallreduce,8,65536,tree,ll,4,2,16,-1,-1          # Small: tree (8B to 64K)\nallreduce,65537,16777216,ring,ll128,6,2,16,-1,-1   # Medium: ring (64K to 16M)\nallreduce,16777217,134217728,ring,simple,8,2,16,-1,-1  # Large: ring/simple (16M to 128M)\n\n# 3 nodes, 24 ranks total - 8B-128M \nallreduce,8,65536,tree,ll,4,2,24,-1,-1          # Small: tree (8B to 64K)\nallreduce,65537,16777216,ring,ll128,6,2,24,-1,-1   # Medium: ring (64K to 16M)\nallreduce,16777217,134217728,ring,simple,8,2,24,-1,-1  # Large: ring/simple (16M to 128M)\n\n# 4 nodes, 32 ranks total - 8B-128M \nallreduce,8,65536,tree,ll,4,2,32,-1,-1          # Small: tree (8B to 64K)\nallreduce,65537,16777216,ring,ll128,6,2,32,-1,-1   # Medium: ring (64K to 16M)\nallreduce,16777217,134217728,ring,simple,8,2,32,-1,-1  # Large: ring/simple (16M to 128M)\n\n# 5 nodes, 40 ranks total - 8B-128M \nallreduce,8,65536,tree,ll,4,2,40,-1,-1          # Small: tree (8B to 64K)\nallreduce,65537,16777216,ring,ll128,6,2,40,-1,-1   # Medium: ring (64K to 16M)\nallreduce,16777217,134217728,ring,simple,8,2,40,-1,-1  # Large: ring/simple (16M to 128M)\n\n# Broadcast configurations for multi-node setups - 8B-128M \n# 2 nodes, 16 ranks total\nbroadcast,8,65536,ring,ll,4,2,16,-1,-1          # Small: ring (8B to 64K)\nbroadcast,65537,16777216,ring,ll128,6,2,16,-1,-1   # Medium: ring (64K to 16M)\nbroadcast,16777217,134217728,ring,simple,8,2,16,-1,-1  # Large: ring/simple (16M to 128M)\n\n# 3 nodes, 24 ranks total\nbroadcast,8,65536,ring,ll,4,2,24,-1,-1          # Small: ring (8B to 64K)\nbroadcast,65537,16777216,ring,ll128,6,2,24,-1,-1   # Medium: ring (64K to 16M)\nbroadcast,16777217,134217728,ring,simple,8,2,24,-1,-1  # Large: ring/simple (16M to 128M)\n\n# 4 nodes, 32 ranks total\nbroadcast,8,65536,ring,ll,4,2,32,-1,-1          # Small: ring (8B to 64K)\nbroadcast,65537,16777216,ring,ll128,6,2,32,-1,-1   # Medium: ring (64K to 16M)\nbroadcast,16777217,134217728,ring,simple,8,2,32,-1,-1  # Large: ring/simple (16M to 128M)\n\n# 5 nodes, 40 ranks total\nbroadcast,8,65536,ring,ll,4,2,40,-1,-1          # Small: ring (8B to 64K)\nbroadcast,65537,16777216,ring,ll128,6,2,40,-1,-1   # Medium: ring (64K to 16M)\nbroadcast,16777217,134217728,ring,simple,8,2,40,-1,-1  # Large: ring/simple (16M to 128M)\n\n# AllGather configurations for multi-node setups - 8B-128M \n# 2 nodes, 16 ranks total\nallgather,8,65536,ring,ll,4,2,16,-1,-1          # Small: ring (8B to 64K)\nallgather,65537,16777216,ring,ll128,6,2,16,-1,-1   # Medium: ring (64K to 16M)\nallgather,16777217,134217728,ring,simple,8,2,16,-1,-1  # Large: ring/simple (16M to 128M)\n\n# 3 nodes, 24 ranks total\nallgather,8,65536,ring,ll,4,2,24,-1,-1          # Small: ring (8B to 64K)\nallgather,65537,16777216,ring,ll128,6,2,24,-1,-1   # Medium: ring (64K to 16M)\nallgather,16777217,134217728,ring,simple,8,2,24,-1,-1  # Large: ring/simple (16M to 128M)\n\n# 4 nodes, 32 ranks total\nallgather,8,65536,ring,ll,4,2,32,-1,-1          # Small: ring (8B to 64K)\nallgather,65537,16777216,ring,ll128,6,2,32,-1,-1   # Medium: ring (64K to 16M)\nallgather,16777217,134217728,ring,simple,8,2,32,-1,-1  # Large: ring/simple (16M to 128M)\n\n# 5 nodes, 40 ranks total\nallgather,8,65536,ring,ll,4,2,40,-1,-1          # Small: ring (8B to 64K)\nallgather,65537,16777216,ring,ll128,6,2,40,-1,-1   # Medium: ring (64K to 16M)\nallgather,16777217,134217728,ring,simple,8,2,40,-1,-1  # Large: ring/simple (16M to 128M)\n\n# Reduce configurations for multi-node setups - 8B-128M \n# 2 nodes, 16 ranks total\nreduce,8,65536,ring,ll,4,2,16,-1,-1          # Small: ring (8B to 64K)\nreduce,65537,16777216,ring,ll128,6,2,16,-1,-1   # Medium: ring (64K to 16M)\nreduce,16777217,134217728,ring,simple,8,2,16,-1,-1  # Large: ring/simple (16M to 128M)\n\n# 3 nodes, 24 ranks total\nreduce,8,65536,ring,ll,4,2,24,-1,-1          # Small: ring (8B to 64K)\nreduce,65537,16777216,ring,ll128,6,2,24,-1,-1   # Medium: ring (64K to 16M)\nreduce,16777217,134217728,ring,simple,8,2,24,-1,-1  # Large: ring/simple (16M to 128M)\n\n# 4 nodes, 32 ranks total\nreduce,8,65536,ring,ll,4,2,32,-1,-1          # Small: ring (8B to 64K)\nreduce,65537,16777216,ring,ll128,6,2,32,-1,-1   # Medium: ring (64K to 16M)\nreduce,16777217,134217728,ring,simple,8,2,32,-1,-1  # Large: ring/simple (16M to 128M)\n\n# 5 nodes, 40 ranks total\nreduce,8,65536,ring,ll,4,2,40,-1,-1          # Small: ring (8B to 64K)\nreduce,65537,16777216,ring,ll128,6,2,40,-1,-1   # Medium: ring (64K to 16M)\nreduce,16777217,134217728,ring,simple,8,2,40,-1,-1  # Large: ring/simple (16M to 128M)\n\n# ReduceScatter configurations for multi-node setups - 8B-128M \n# 2 nodes, 16 ranks total\nreducescatter,8,65536,ring,ll,4,2,16,-1,-1          # Small: ring (8B to 64K)\nreducescatter,65537,16777216,ring,ll128,6,2,16,-1,-1   # Medium: ring (64K to 16M)\nreducescatter,16777217,134217728,ring,simple,8,2,16,-1,-1  # Large: ring/simple (16M to 128M)\n\n# 3 nodes, 24 ranks total\nreducescatter,8,65536,ring,ll,4,2,24,-1,-1          # Small: ring (8B to 64K)\nreducescatter,65537,16777216,ring,ll128,6,2,24,-1,-1   # Medium: ring (64K to 16M)\nreducescatter,16777217,134217728,ring,simple,8,2,24,-1,-1  # Large: ring/simple (16M to 128M)\n\n# 4 nodes, 32 ranks total\nreducescatter,8,65536,ring,ll,4,2,32,-1,-1          # Small: ring (8B to 64K)\nreducescatter,65537,16777216,ring,ll128,6,2,32,-1,-1   # Medium: ring (64K to 16M)\nreducescatter,16777217,134217728,ring,simple,8,2,32,-1,-1  # Large: ring/simple (16M to 128M)\n\n# 5 nodes, 40 ranks total\nreducescatter,8,65536,ring,ll,4,2,40,-1,-1          # Small: ring (8B to 64K)\nreducescatter,65537,16777216,ring,ll128,6,2,40,-1,-1   # Medium: ring (64K to 16M)\nreducescatter,16777217,134217728,ring,simple,8,2,40,-1,-1  # Large: ring/simple (16M to 128M)\n"
  },
  {
    "path": "test/ext-plugins/assets/csv_confs/no_matching_config.conf",
    "content": "# Invalid configuration that should NOT match the test environment\n# Wrong collective type (broadcast instead of allreduce for allreduce tests) - 8B-128M \nbroadcast,0,7,ring,simple,-1,-1,-1,-1,-1         # Size too small (broadcast test starts at 8B)\nbroadcast,134217729,268435456,ring,simple,-1,-1,-1,-1,-1  # Size too large (broadcast test ends at 128M)\n# Wrong collective type (allreduce instead of broadcast for broadcast tests) - 8B-128M \nallreduce,0,7,tree,simple,-1,-1,-1,-1,-1        # Size too small (doesn't include 8B+)\nallreduce,134217729,268435456,tree,simple,-1,-1,-1,-1,-1  # Size too large (doesn't include 8B-128M)\n# Wrong collective type (allgather instead of other tests) - 8B-128M \nallgather,0,7,ring,simple,-1,-1,-1,-1,-1        # Size too small (allgather test starts at 8B)\nallgather,134217729,268435456,ring,simple,-1,-1,-1,-1,-1  # Size too large (allgather test ends at 128M)\n# Wrong collective type (reduce instead of other tests) - 8B-128M \nreduce,0,7,ring,simple,-1,-1,-1,-1,-1        # Size too small (reduce test starts at 8B)\nreduce,134217729,268435456,ring,simple,-1,-1,-1,-1,-1  # Size too large (reduce test ends at 128M)\n# Wrong collective type (reducescatter instead of other tests) - 8B-128M \nreducescatter,0,7,ring,simple,-1,-1,-1,-1,-1        # Size too small (reducescatter test starts at 8B)\nreducescatter,134217729,268435456,ring,simple,-1,-1,-1,-1,-1  # Size too large (reducescatter test ends at 128M)\n\n# Wrong size ranges (tests use 8 bytes to 128M, these are way outside)\nallreduce,2000000000,4000000000,ring,simple,-1,-1,-1,-1,-1\nallreduce,5000000000,6000000000,tree,ll128,-1,-1,-1,-1,-1\nbroadcast,2000000000,4000000000,ring,simple,-1,-1,-1,-1,-1\nbroadcast,5000000000,6000000000,ring,ll128,-1,-1,-1,-1,-1\nallgather,2000000000,4000000000,ring,simple,-1,-1,-1,-1,-1\nallgather,5000000000,6000000000,ring,ll128,-1,-1,-1,-1,-1\nreduce,2000000000,4000000000,ring,simple,-1,-1,-1,-1,-1\nreduce,5000000000,6000000000,ring,ll128,-1,-1,-1,-1,-1\nreducescatter,2000000000,4000000000,ring,simple,-1,-1,-1,-1,-1\nreducescatter,5000000000,6000000000,ring,ll128,-1,-1,-1,-1,-1\n\n# Wrong node/rank counts (broadcast tests use 1 node, 4/8 ranks - these specify different, size outside 8B-128M)\nbroadcast,134217729,268435456,ring,simple,-1,4,16,-1,-1   # 4 nodes, 16 ranks, size too large\nbroadcast,268435457,536870912,ring,simple,-1,2,4,-1,-1   # 2 nodes, 4 ranks, size too large\n# Wrong node/rank counts (allreduce tests use 1 node, 4/8 ranks - these specify different, size outside 8B-128M)\nallreduce,134217729,268435456,ring,simple,-1,8,16,-1,-1     # 8 nodes, 16 ranks, size too large\nallreduce,268435457,536870912,tree,simple,-1,2,8,-1,-1     # 2 nodes, 8 ranks, size too large\n# Wrong node/rank counts (allgather tests use 1 node, 8 ranks - these specify different, size outside 8B-128M)\nallgather,134217729,268435456,ring,simple,-1,4,16,-1,-1   # 4 nodes, 16 ranks, size too large\nallgather,268435457,536870912,ring,simple,-1,2,4,-1,-1   # 2 nodes, 4 ranks, size too large\n# Wrong node/rank counts (reduce tests use 1 node, 8 ranks - these specify different, size outside 8B-128M)\nreduce,134217729,268435456,ring,simple,-1,4,16,-1,-1   # 4 nodes, 16 ranks, size too large\nreduce,268435457,536870912,ring,simple,-1,2,4,-1,-1   # 2 nodes, 4 ranks, size too large\n# Wrong node/rank counts (reducescatter tests use 1 node, 8 ranks - these specify different, size outside 8B-128M)\nreducescatter,134217729,268435456,ring,simple,-1,4,16,-1,-1   # 4 nodes, 16 ranks, size too large\nreducescatter,268435457,536870912,ring,simple,-1,2,4,-1,-1   # 2 nodes, 4 ranks, size too large\n"
  },
  {
    "path": "test/ext-plugins/assets/csv_confs/singlenode_config.conf",
    "content": "# Single-node allreduce configuration for 8 ranks, 1 node - use working algorithm/protocol combinations - 8B-128M\n# Small allreduce: tree/ll (8 bytes to 64K)\nallreduce,8,65536,tree,ll,2,1,8,-1,-1\n# Medium allreduce: ring/ll128 (64K to 16M)\nallreduce,65537,16777216,ring,ll128,4,1,8,-1,-1\n# Large allreduce: ring/simple (16M to 128M)\nallreduce,16777217,134217728,ring,simple,6,1,8,-1,-1\n\n# Single-node broadcast configuration for 8 ranks, 1 node - use ring algorithm (supported for broadcast) - 8B-128M\n# Small broadcast: ring/ll (8 bytes to 64K)\nbroadcast,8,65536,ring,ll,2,1,8,-1,-1\n# Medium broadcast: ring/ll128 (64K to 16M)\nbroadcast,65537,16777216,ring,ll128,4,1,8,-1,-1\n# Large broadcast: ring/simple (16M to 128M)\nbroadcast,16777217,134217728,ring,simple,6,1,8,-1,-1\n\n# Single-node allgather configuration for 8 ranks, 1 node - use ring algorithm (supported for allgather) - 8B-128M\n# Small allgather: ring/ll (8 bytes to 64K)\nallgather,8,65536,ring,ll,2,1,8,-1,-1\n# Medium allgather: ring/ll128 (64K to 16M)\nallgather,65537,16777216,ring,ll128,4,1,8,-1,-1\n# Large allgather: ring/simple (16M to 128M)\nallgather,16777217,134217728,ring,simple,6,1,8,-1,-1\n\n# Single-node reduce configuration for 8 ranks, 1 node - use ring algorithm (supported for reduce) - 8B-128M\n# Small reduce: ring/ll (8 bytes to 64K)\nreduce,8,65536,ring,ll,2,1,8,-1,-1\n# Medium reduce: ring/ll128 (64K to 16M)\nreduce,65537,16777216,ring,ll128,4,1,8,-1,-1\n# Large reduce: ring/simple (16M to 128M)\nreduce,16777217,134217728,ring,simple,6,1,8,-1,-1\n\n# Single-node reducescatter configuration for 8 ranks, 1 node - use ring algorithm (supported for reducescatter) - 8B-128M\n# Small reducescatter: ring/ll (8 bytes to 64K)\nreducescatter,8,65536,ring,ll,2,1,8,-1,-1\n# Medium reducescatter: ring/ll128 (64K to 16M)\nreducescatter,65537,16777216,ring,ll128,4,1,8,-1,-1\n# Large reducescatter: ring/simple (16M to 128M)\nreducescatter,16777217,134217728,ring,simple,6,1,8,-1,-1"
  },
  {
    "path": "test/ext-plugins/assets/csv_confs/unsupported_algo_proto_config.conf",
    "content": "# AllReduce configurations with unsupported algorithm/protocol combinations - 8B-128M\n# These have valid size ranges and collective types but unsupported algorithms\nallreduce,8,65536,collnet_direct,simple,2,-1,-1,-1,-1\nallreduce,65537,8388608,collnet_chain,ll,4,-1,-1,-1,-1\nallreduce,8388609,33554432,nvls,simple,-1,-1,-1,-1,-1\nallreduce,33554433,67108864,nvls_tree,ll128,-1,-1,-1,-1,-1\nallreduce,67108865,100663296,pat,simple,-1,-1,-1,-1,-1\nallreduce,100663297,134217728,collnet_direct,ll128,-1,-1,-1,-1,-1\n\n# Broadcast configurations with unsupported algorithm/protocol combinations - 8B-128M\nbroadcast,8,65536,collnet_direct,simple,2,-1,-1,-1,-1\nbroadcast,65537,8388608,collnet_chain,ll,4,-1,-1,-1,-1\nbroadcast,8388609,33554432,nvls,simple,-1,-1,-1,-1,-1\nbroadcast,33554433,67108864,nvls_tree,ll128,-1,-1,-1,-1,-1\nbroadcast,67108865,100663296,pat,simple,-1,-1,-1,-1,-1\nbroadcast,100663297,134217728,collnet_direct,ll128,-1,-1,-1,-1,-1\n\n# AllGather configurations with unsupported algorithm/protocol combinations - 8B-128M\nallgather,8,65536,collnet_direct,simple,2,-1,-1,-1,-1\nallgather,65537,8388608,collnet_chain,ll,4,-1,-1,-1,-1\nallgather,8388609,33554432,nvls,simple,-1,-1,-1,-1,-1\nallgather,33554433,67108864,nvls_tree,ll128,-1,-1,-1,-1,-1\nallgather,67108865,100663296,pat,simple,-1,-1,-1,-1,-1\nallgather,100663297,134217728,collnet_direct,ll128,-1,-1,-1,-1,-1\n\n# Reduce configurations with unsupported algorithm/protocol combinations - 8B-128M\nreduce,8,65536,collnet_direct,simple,2,-1,-1,-1,-1\nreduce,65537,8388608,collnet_chain,ll,4,-1,-1,-1,-1\nreduce,8388609,33554432,nvls,simple,-1,-1,-1,-1,-1\nreduce,33554433,67108864,nvls_tree,ll128,-1,-1,-1,-1,-1\nreduce,67108865,100663296,pat,simple,-1,-1,-1,-1,-1\nreduce,100663297,134217728,collnet_direct,ll128,-1,-1,-1,-1,-1\n\n# ReduceScatter configurations with unsupported algorithm/protocol combinations - 8B-128M\nreducescatter,8,65536,collnet_direct,simple,2,-1,-1,-1,-1\nreducescatter,65537,8388608,collnet_chain,ll,4,-1,-1,-1,-1\nreducescatter,8388609,33554432,nvls,simple,-1,-1,-1,-1,-1\nreducescatter,33554433,67108864,nvls_tree,ll128,-1,-1,-1,-1,-1\nreducescatter,67108865,100663296,pat,simple,-1,-1,-1,-1,-1\nreducescatter,100663297,134217728,collnet_direct,ll128,-1,-1,-1,-1,-1\n"
  },
  {
    "path": "test/ext-plugins/assets/csv_confs/valid_config_with_wildcards.conf",
    "content": "# AllReduce configurations with supported algo/proto combinations - 8B-128M \n# Small allreduce: tree/ll (8 bytes to 64K)\nallreduce,8,65536,tree,ll,2,-1,-1,-1,-1\n# Medium allreduce: ring/ll128 (64K to 16M)\nallreduce,65537,16777216,ring,ll128,4,-1,-1,-1,-1\n# Large allreduce: ring/simple (16M to 128M)\nallreduce,16777217,134217728,ring,simple,-1,-1,-1,-1,-1\n\n# Broadcast configurations with supported algo/proto combinations - 8B-128M \n# Small broadcast: ring/ll (8 bytes to 64K)\nbroadcast,8,65536,ring,ll,2,-1,-1,-1,-1\n# Medium broadcast: ring/ll128 (64K to 16M)\nbroadcast,65537,16777216,ring,ll128,4,-1,-1,-1,-1\n# Large broadcast: ring/simple (16M to 128M)\nbroadcast,16777217,134217728,ring,simple,-1,-1,-1,-1,-1\n\n# AllGather configurations with supported algo/proto combinations - 8B-128M \n# Small allgather: ring/ll (8 bytes to 64K)\nallgather,8,65536,ring,ll,2,-1,-1,-1,-1\n# Medium allgather: ring/ll128 (64K to 16M)\nallgather,65537,16777216,ring,ll128,4,-1,-1,-1,-1\n# Large allgather: ring/simple (16M to 128M)\nallgather,16777217,134217728,ring,simple,-1,-1,-1,-1,-1\n\n# Reduce configurations with supported algo/proto combinations - 8B-128M \n# Small reduce: ring/ll (8 bytes to 64K)\nreduce,8,65536,ring,ll,2,-1,-1,-1,-1\n# Medium reduce: ring/ll128 (64K to 16M)\nreduce,65537,16777216,ring,ll128,4,-1,-1,-1,-1\n# Large reduce: ring/simple (16M to 128M)\nreduce,16777217,134217728,ring,simple,-1,-1,-1,-1,-1\n\n# ReduceScatter configurations with supported algo/proto combinations - 8B-128M\n# Small reducescatter: ring/ll (8 bytes to 64K)\nreducescatter,8,65536,ring,ll,2,-1,-1,-1,-1\n# Medium reducescatter: ring/ll128 (64K to 16M)\nreducescatter,65537,16777216,ring,ll128,4,-1,-1,-1,-1\n# Large reducescatter: ring/simple (16M to 128M)\nreducescatter,16777217,134217728,ring,simple,-1,-1,-1,-1,-1\n"
  },
  {
    "path": "test/ext-plugins/assets/csv_confs/valid_config_without_wildcards.conf",
    "content": "# AllReduce configurations with specific nodes/ranks values (no wildcards for topology) - 8B-128M\n# But use wildcards for pipeOps/regBuff since they vary at runtime\n# Small allreduce: tree/ll, 2 channels, 1 node, 4 ranks, any pipeOps, any regBuff (8 bytes to 64K)\nallreduce,8,65536,tree,ll,2,1,4,-1,-1\n# Medium allreduce: ring/ll128, 4 channels, 1 node, 4 ranks, any pipeOps, any regBuff (64K to 16M)\nallreduce,65537,16777216,ring,ll128,4,1,4,-1,-1\n# Large allreduce: ring/simple, 6 channels, 1 node, 4 ranks, any pipeOps, any regBuff (16M to 128M)\nallreduce,16777217,134217728,ring,simple,6,1,4,-1,-1\n\n# Broadcast configurations with specific nodes/ranks values (no wildcards for topology) - 8B-128M\n# Small broadcast: ring/ll, 2 channels, 1 node, 4 ranks, any pipeOps, any regBuff (8 bytes to 64K)\nbroadcast,8,65536,ring,ll,2,1,4,-1,-1\n# Medium broadcast: ring/ll128, 4 channels, 1 node, 4 ranks, any pipeOps, any regBuff (64K to 16M)\nbroadcast,65537,16777216,ring,ll128,4,1,4,-1,-1\n# Large broadcast: ring/simple, 6 channels, 1 node, 4 ranks, any pipeOps, any regBuff (16M to 128M)\nbroadcast,16777217,134217728,ring,simple,6,1,4,-1,-1\n\n# AllGather configurations with specific nodes/ranks values (no wildcards for topology) - 8B-128M\n# Small allgather: ring/ll, 2 channels, 1 node, 4 ranks, any pipeOps, any regBuff (8 bytes to 64K)\nallgather,8,65536,ring,ll,2,1,4,-1,-1\n# Medium allgather: ring/ll128, 4 channels, 1 node, 4 ranks, any pipeOps, any regBuff (64K to 16M)\nallgather,65537,16777216,ring,ll128,4,1,4,-1,-1\n# Large allgather: ring/simple, 6 channels, 1 node, 4 ranks, any pipeOps, any regBuff (16M to 128M)\nallgather,16777217,134217728,ring,simple,6,1,4,-1,-1\n\n# Reduce configurations with specific nodes/ranks values (no wildcards for topology) - 8B-128M\n# Small reduce: ring/ll, 2 channels, 1 node, 4 ranks, any pipeOps, any regBuff (8 bytes to 64K)\nreduce,8,65536,ring,ll,2,1,4,-1,-1\n# Medium reduce: ring/ll128, 4 channels, 1 node, 4 ranks, any pipeOps, any regBuff (64K to 16M)\nreduce,65537,16777216,ring,ll128,4,1,4,-1,-1\n# Large reduce: ring/simple, 6 channels, 1 node, 4 ranks, any pipeOps, any regBuff (16M to 128M)\nreduce,16777217,134217728,ring,simple,6,1,4,-1,-1\n\n# ReduceScatter configurations with specific nodes/ranks values (no wildcards for topology) - 8B-128M\n# Small reducescatter: ring/ll, 2 channels, 1 node, 4 ranks, any pipeOps, any regBuff (8 bytes to 64K)\nreducescatter,8,65536,ring,ll,2,1,4,-1,-1\n# Medium reducescatter: ring/ll128, 4 channels, 1 node, 4 ranks, any pipeOps, any regBuff (64K to 16M)\nreducescatter,65537,16777216,ring,ll128,4,1,4,-1,-1\n# Large reducescatter: ring/simple, 6 channels, 1 node, 4 ranks, any pipeOps, any regBuff (16M to 128M)\nreducescatter,16777217,134217728,ring,simple,6,1,4,-1,-1\n"
  },
  {
    "path": "test/ext-plugins/pytest.ini",
    "content": "# pytest.ini\n[pytest]\nmarkers =\n    ext_tuner: marks tests related to CSV Tuner Plugin\n    ext_profiler: marks tests related to Profiler Plugin\n    allreduce: marks tests related to AllReduce collective\n    broadcast: marks tests related to Broadcast collective\n    reduce: marks tests related to Reduce collective\n    allgather: marks tests related to AllGather collective\n    reducescatter: marks tests related to ReduceScatter collective\n    alltoall: marks tests related to AllToAll collective\n    sendrecv: marks tests related to SendRecv collective\n    multinode: marks tests related to multi-node operations\n\ntestpaths = tests\naddopts = --import-mode=importlib\n"
  },
  {
    "path": "test/ext-plugins/requirements.txt",
    "content": "# Testing dependencies\npytest"
  },
  {
    "path": "test/ext-plugins/tests/conftest.py",
    "content": "# *************************************************************************\n#  * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n#  *\n#  * See LICENSE.txt for license information\n#  ************************************************************************\n\nimport os\nimport pytest\nimport subprocess\nimport re\nfrom types import SimpleNamespace\nimport json\nimport glob\n\nWORKDIR = os.getcwd()\n\nRCCL_INSTALL_DIR = \"path/to/rccl\"\nOMPI_INSTALL_DIR = \"path/to/ompi/install\"\nRCCL_TESTS_DIR = \"path/to/rccl-tests\"\n\n# Ext-Tuner Paths\nPLUGIN_DIR = f\"{RCCL_INSTALL_DIR}/ext-tuner/example\"\nPLUGIN_SO = f\"{PLUGIN_DIR}/libnccl-tuner-example.so\"\n\n# Ext-Profiler Paths\nPROFILER_DIR = f\"{RCCL_INSTALL_DIR}/ext-profiler/example\"\nPROFILER_SO = f\"{PROFILER_DIR}/librccl-profiler.so\"\n\n# CSV Configs \nVALID_CONFIG_WITH_WILDCARDS = os.path.join(WORKDIR, \"assets/csv_confs/valid_config_with_wildcards.conf\")\nVALID_CONFIG_WITHOUT_WILDCARDS = os.path.join(WORKDIR, \"assets/csv_confs/valid_config_without_wildcards.conf\")\nNO_MATCHING_CONFIG = os.path.join(WORKDIR, \"assets/csv_confs/no_matching_config.conf\")\nINCORRECT_VALUES_CONFIG = os.path.join(WORKDIR, \"assets/csv_confs/incorrect_values_config.conf\")\nUNSUPPORTED_ALGO_PROTO_CONFIG = os.path.join(WORKDIR, \"assets/csv_confs/unsupported_algo_proto_config.conf\")\nSINGLENODE_CONFIG = os.path.join(WORKDIR, \"assets/csv_confs/singlenode_config.conf\")\nMULTINODE_CONFIG = os.path.join(WORKDIR, \"assets/csv_confs/multinode_config.conf\")\n\nLOGDIR = os.path.join(WORKDIR, \"logs\")\nos.makedirs(LOGDIR, exist_ok=True)\n\nPROFILER_DUMP_DIR = os.path.join(WORKDIR, \"profiler_dumps\")\nos.makedirs(PROFILER_DUMP_DIR, exist_ok=True)\n\n# Helper Functions\ndef get_avg_bus_bandwidth(log_content: str):\n    \"\"\"Extract average bus bandwidth from RCCL test log\"\"\"\n    pattern = r'#\\s*Avg bus bandwidth\\s*:\\s*([\\d.]+)'\n    match = re.search(pattern, log_content, re.IGNORECASE)\n    return float(match.group(1)) if match else None\n\ndef check_node_interface(node: str, interface: str) -> bool:\n    \"\"\"Check if a node has the specified interface with an IP address\"\"\"\n    try:\n        cmd = [\"ssh\", \"-o\", \"ConnectTimeout=5\", \"-o\", \"StrictHostKeyChecking=no\",\n               node, f\"ip addr show {interface} | grep 'inet ' | wc -l\"]\n        result = subprocess.run(cmd, capture_output=True, text=True, timeout=10)\n        return result.returncode == 0 and int(result.stdout.strip()) > 0\n    except (subprocess.CalledProcessError, subprocess.TimeoutExpired, ValueError):\n        return False\n\ndef find_common_interface(nodelist):\n    \"\"\"Find a common network interface across all nodes\"\"\"\n    interfaces_to_check = [\"eth0\", \"eth1\"]\n\n    for interface in interfaces_to_check:\n        all_nodes_have_interface = True\n        for node in nodelist:\n            if not check_node_interface(node, interface):\n                all_nodes_have_interface = False\n                break\n        if all_nodes_have_interface:\n            return interface\n    return None\n\ndef get_available_nodes():\n    \"\"\"Get available nodes from SLURM environment\"\"\"\n    try:\n        # Get available nodes\n        result = subprocess.run(\n            [\"scontrol\", \"show\", \"hostnames\"], \n            capture_output=True, \n            text=True, \n            check=True\n        )\n        nodelist = result.stdout.strip().split('\\n')\n        nodelist = [node.strip() for node in nodelist if node.strip()]\n        \n        return nodelist\n        \n    except (subprocess.CalledProcessError, FileNotFoundError):\n        return []\n\ndef validate_json_trace(trace_file):\n    \"\"\"Validate that a trace file is valid JSON and follows chrome trace format\"\"\"\n    \n    if not os.path.exists(trace_file):\n        return False, \"File does not exist\"\n    \n    try:\n        with open(trace_file, 'r') as f:\n            data = json.load(f)\n        \n        # Basic validation for chrome trace format\n        if not isinstance(data, list):\n            return False, \"Trace must be a JSON array\"\n        \n        # Check for at least one valid event\n        if len(data) > 1:  # More than just the closing empty object\n            # Validate some events have required fields\n            valid_events = 0\n            for event in data:\n                if isinstance(event, dict) and 'name' in event and 'ph' in event:\n                    valid_events += 1\n            \n            if valid_events == 0:\n                return False, \"No valid trace events found\"\n        \n        return True, f\"Valid JSON trace with {len(data)} entries\"\n    except json.JSONDecodeError as e:\n        return False, f\"Invalid JSON: {e}\"\n    except Exception as e:\n        return False, f\"Error reading file: {e}\"\n\ndef check_event_in_log(log_file, event_string):\n    \"\"\"Check if a specific event string appears in the log file\"\"\"\n    if not os.path.exists(log_file):\n        return False\n    \n    with open(log_file, 'r') as f:\n        content = f.read()\n        return event_string in content\n\ndef count_events_in_trace(trace_file, event_name=None, category=None):\n    \"\"\"Count events in a trace file, optionally filtered by name or category\"\"\"\n    \n    if not os.path.exists(trace_file):\n        return 0\n    \n    try:\n        with open(trace_file, 'r') as f:\n            data = json.load(f)\n        \n        count = 0\n        for event in data:\n            if not isinstance(event, dict):\n                continue\n            \n            match = True\n            if event_name and event.get('name') != event_name:\n                match = False\n            if category and event.get('cat') != category:\n                match = False\n            \n            if match and 'name' in event:  # Valid event\n                count += 1\n        \n        return count\n    except:\n        return 0\n\n# Pytest Fixture\n@pytest.fixture(scope=\"session\")\ndef paths():\n    return SimpleNamespace(\n        # Paths\n        WORKDIR=WORKDIR,\n        RCCL_INSTALL_DIR=RCCL_INSTALL_DIR,\n        OMPI_INSTALL_DIR=OMPI_INSTALL_DIR,\n        PLUGIN_DIR=PLUGIN_DIR,\n        PLUGIN_SO=PLUGIN_SO,\n        RCCL_TESTS_DIR=RCCL_TESTS_DIR,\n        PROFILER_DIR=PROFILER_DIR,\n        PROFILER_SO=PROFILER_SO,\n        # CSV Configs\n        VALID_CONFIG_WITH_WILDCARDS=VALID_CONFIG_WITH_WILDCARDS,\n        VALID_CONFIG_WITHOUT_WILDCARDS=VALID_CONFIG_WITHOUT_WILDCARDS,\n        NO_MATCHING_CONFIG=NO_MATCHING_CONFIG,\n        INCORRECT_VALUES_CONFIG=INCORRECT_VALUES_CONFIG,\n        UNSUPPORTED_ALGO_PROTO_CONFIG=UNSUPPORTED_ALGO_PROTO_CONFIG,\n        SINGLENODE_CONFIG=SINGLENODE_CONFIG,\n        MULTINODE_CONFIG=MULTINODE_CONFIG,\n        LOGDIR=LOGDIR,\n        PROFILER_DUMP_DIR=PROFILER_DUMP_DIR,\n        # Helper Functions for Ext-Tuner\n        get_avg_bus_bandwidth=get_avg_bus_bandwidth,\n        check_node_interface=check_node_interface,\n        find_common_interface=find_common_interface,\n        get_available_nodes=get_available_nodes,\n        # Helper Functions for Ext-Profiler\n        validate_json_trace=validate_json_trace,\n        check_event_in_log=check_event_in_log,\n        count_events_in_trace=count_events_in_trace,\n    )\n\ndef pytest_runtest_setup(item):\n    \"\"\"Check plugin availability before running each test\"\"\"\n    # Check for ext_tuner marker\n    if item.get_closest_marker(\"ext_tuner\"):\n        if not os.path.exists(PLUGIN_SO):\n            pytest.skip(f\"Tuner plugin library not found at: {PLUGIN_SO}\")\n    \n    # Check for ext_profiler marker\n    if item.get_closest_marker(\"ext_profiler\"):\n        if not os.path.exists(PROFILER_SO):\n            pytest.skip(f\"Profiler plugin library not found at: {PROFILER_SO}\")\n\n@pytest.fixture(scope=\"session\", autouse=True)\ndef clear_profiler_dump(request):\n    \"\"\"Automatically clear profiler dump folder once before ext_profiler tests\"\"\"\n    # Check if any test in the session has ext_profiler marker\n    has_profiler_tests = any(\n        item.get_closest_marker(\"ext_profiler\") \n        for item in request.session.items\n    )\n    \n    if has_profiler_tests:\n        # Clear all JSON files in the profiler dump directory (including subdirectories)\n        pattern = os.path.join(PROFILER_DUMP_DIR, \"**\", \"*.json\")\n        for trace_file in glob.glob(pattern, recursive=True):\n            try:\n                os.remove(trace_file)\n            except OSError:\n                pass  # Ignore errors if file doesn't exist or can't be removed\n"
  },
  {
    "path": "test/ext-plugins/tests/ext-profiler/test_allgather.py",
    "content": "# *************************************************************************\n#  * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n#  *\n#  * See LICENSE.txt for license information\n#  ************************************************************************\n\nimport os\nimport subprocess\nimport glob\nimport pytest\n\n@pytest.mark.ext_profiler\n@pytest.mark.allgather\ndef test_profiler_initialization(paths):\n    \"\"\"Test profiler functionality with AllGather operations.\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"allgather_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"profiler_initialization\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"3\",  # Group (1) + Coll (2) = 3\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_gather_perf\",\n        \"-b\", \"1\",\n        \"-e\", \"8M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"allgather_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"profiler_initialization.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"AllGather test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 4, \\\n        f\"Should have 4 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # Check for Group events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, f\"Should have Group events in {trace_file}\"\n        \n        # Check for AllGather collective events\n        allgather_events = paths.count_events_in_trace(trace_file, event_name=\"AllGather\")\n        assert allgather_events > 0, f\"Should have AllGather events in {trace_file}\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.allgather\ndef test_invalid_mask_value(paths):\n    \"\"\"Test profiler behavior with invalid event mask (0 = no events)\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"allgather_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"invalid_mask_value_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"0\",  # Invalid: no events enabled\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_gather_perf\",\n        \"-b\", \"1\",\n        \"-e\", \"8M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"allgather_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"invalid_mask_value_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"AllGather test should still succeed even with invalid mask, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized even with mask=0. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 4, \\\n        f\"Should have 4 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file - with mask=0, trace files should be nearly empty\n    # They should contain valid JSON but no actual profiling events\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} should still be valid JSON: {message}\"\n        \n        # With mask=0, there should be no Group or Collective events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events == 0, f\"Should have no Group events with mask=0 in {trace_file}, found {group_events}\"\n        \n        allgather_events = paths.count_events_in_trace(trace_file, event_name=\"AllGather\")\n        assert allgather_events == 0, f\"Should have no AllGather events with mask=0 in {trace_file}, found {allgather_events}\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.allgather\ndef test_single_node_detailed_profiling(paths):\n    \"\"\"Test profiler with single-node AllGather using full event mask (255) across wide message range\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"allgather_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"single_node_detailed_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"255\",  # All events: Group (1) + Coll (2) + P2P (4) + ProxyOp (8) + ProxyStep (16) + ProxyCtrl (32) + KernelCh (64) + NetPlugin (128) = 255\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--bind-to\", \"none\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_gather_perf\",\n        \"-b\", \"8\",        \n        \"-e\", \"128M\",       \n        \"-f\", \"2\",        \n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"allgather_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"single_node_detailed_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Single-node detailed AllGather profiling test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 8, \\\n        f\"Should have 8 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # With NCCL_PROFILE_EVENT_MASK=255, we capture all event types\n        # However, single-node behavior differs significantly from multi-node\n        \n        # Check for Group events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, \\\n            f\"Should have Group events in {trace_file}, found {group_events}\"\n        \n        # Check for P2P events\n        p2p_events = paths.count_events_in_trace(trace_file, category=\"P2P\")\n        assert p2p_events > 0, \\\n            f\"Should have P2P events (AllGather uses Send/Recv) in {trace_file}, found {p2p_events}\"\n        \n        # Verify Send and Recv events\n        send_events = paths.count_events_in_trace(trace_file, event_name=\"Send\")\n        recv_events = paths.count_events_in_trace(trace_file, event_name=\"Recv\")\n        assert send_events > 0, f\"Should have Send events in {trace_file}, found {send_events}\"\n        assert recv_events > 0, f\"Should have Recv events in {trace_file}, found {recv_events}\"\n        \n        # Verify GPU kernel channel events exist\n        kernel_events = paths.count_events_in_trace(trace_file, category=\"GPU\")\n        assert kernel_events > 0, \\\n            f\"Should have GPU (KernelCh) events in {trace_file}, found {kernel_events}\"\n        \n        # Verify ProxyCtrl events exist\n        proxy_ctrl_events = paths.count_events_in_trace(trace_file, category=\"PROXY\")\n        assert proxy_ctrl_events > 0, \\\n            f\"Should have PROXY (ProxyCtrl) events in {trace_file}, found {proxy_ctrl_events}\"\n        \n        append_events = paths.count_events_in_trace(trace_file, event_name=\"Append\")\n        sleep_events = paths.count_events_in_trace(trace_file, event_name=\"Sleep\")\n        assert append_events > 0 or sleep_events > 0, \\\n            f\"Should have ProxyCtrl events in {trace_file}, found Append={append_events}, Sleep={sleep_events}\"\n        \n        # We should NOT see ProxyOp network events (ScheduleSend/Recv, ProgressSend/Recv)\n        schedule_send_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleSend\")\n        schedule_recv_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleRecv\")\n        assert schedule_send_events == 0, \\\n            f\"Single-node should have NO ScheduleSend events (no network) in {trace_file}, found {schedule_send_events}\"\n        assert schedule_recv_events == 0, \\\n            f\"Single-node should have NO ScheduleRecv events (no network) in {trace_file}, found {schedule_recv_events}\"\n        \n        # Should also NOT see ProxyStep network events (RecvWait, SendWait, etc.)\n        net_events = paths.count_events_in_trace(trace_file, category=\"NET\")\n        assert net_events == 0, \\\n            f\"Single-node should have NO NET (ProxyStep) events in {trace_file}, found {net_events}\"\n        \n        # Verify trace file exists and has content\n        trace_file_size = os.path.getsize(trace_file)\n        assert trace_file_size > 0, \\\n            f\"Trace file {trace_file} is empty\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.allgather\ndef test_multinode_detailed_profiling(paths):\n    \"\"\"Test profiler with multi-node AllGather operations using full event mask (255)\"\"\"\n    \n    # Get available nodes using the shared function\n    nodelist = paths.get_available_nodes()\n    \n    # Skip test if no nodes available (SLURM not available) or less than 2 nodes\n    if not nodelist:\n        pytest.skip(\"Multinode test requires SLURM allocation\")\n    \n    if len(nodelist) < 2:\n        pytest.skip(f\"Multinode test requires at least 2 nodes, found {len(nodelist)}: {nodelist}\")\n    \n    # Check for common network interface across all nodes\n    common_interface = paths.find_common_interface(nodelist)\n    if common_interface is None:\n        pytest.skip(f\"Multinode test requires all nodes to have the same network interface (eth0 or eth1).\")\n    \n    # Build host specification string (8 processes per node)\n    host_spec = \",\".join([f\"{node}:8\" for node in nodelist])\n    total_processes = len(nodelist) * 8\n    print(f\"Using host specification: {host_spec}\")\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"allgather_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"multinode_detailed_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_IGNORE_CPU_AFFINITY\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"255\",  # All events: Group (1) + Coll (2) + P2P (4) + ProxyOp (8) + ProxyStep (16) + ProxyCtrl (32) + KernelCh (64) + NetPlugin (128) = 255\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_SOCKET_IFNAME\": common_interface,\n        \"NCCL_DMABUF_ENABLE\": \"1\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", f\"{total_processes}\",\n        \"--host\", host_spec,\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_gather_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"allgather_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"multinode_detailed_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Multi-node AllGather profiling test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == total_processes, \\\n        f\"Should have {total_processes} trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # With NCCL_PROFILE_EVENT_MASK=255, we should capture all event types\n        \n        # Check for Group events (one per AllGather call)\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, f\"Should have Group events in {trace_file}, found {group_events}\"\n        \n        # Check for P2P events\n        p2p_events = paths.count_events_in_trace(trace_file, category=\"P2P\")\n        assert p2p_events > 0, \\\n            f\"Should have P2P events (AllGather uses Send/Recv) in {trace_file}, found {p2p_events}\"\n        \n        # For multi-node tests, verify ProxyOp events exist\n        proxy_events = paths.count_events_in_trace(trace_file, category=\"PROXY\")\n        assert proxy_events > 0, \\\n            f\"Should have Proxy events in {trace_file}, found {proxy_events}\"\n        \n        # Check for Send and Recv operations\n        schedule_send_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleSend\")\n        schedule_recv_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleRecv\")\n        assert schedule_send_events > 0 or schedule_recv_events > 0, \\\n            f\"Should have ScheduleSend or ScheduleRecv events in {trace_file}, found Send={schedule_send_events}, Recv={schedule_recv_events}\"\n        \n        # Verify NET (ProxyStep) events exist\n        net_events = paths.count_events_in_trace(trace_file, category=\"NET\")\n        assert net_events > 0, \\\n            f\"Should have NET events in {trace_file}, found {net_events}\"\n        \n        # Verify GPU kernel channel events exist\n        kernel_events = paths.count_events_in_trace(trace_file, category=\"GPU\")\n        assert kernel_events > 0, \\\n            f\"Should have GPU (KernelCh) events in {trace_file}, found {kernel_events}\"\n        \n        # Verify ProxyCtrl events exist\n        append_events = paths.count_events_in_trace(trace_file, event_name=\"Append\")\n        sleep_events = paths.count_events_in_trace(trace_file, event_name=\"Sleep\")\n        assert append_events > 0 or sleep_events > 0, \\\n            f\"Should have ProxyCtrl events in {trace_file}, found Append={append_events}, Sleep={sleep_events}\"\n        \n        # Verify trace file exists and has content\n        trace_file_size = os.path.getsize(trace_file)\n        assert trace_file_size > 0, \\\n            f\"Trace file {trace_file} is empty\"\n\n"
  },
  {
    "path": "test/ext-plugins/tests/ext-profiler/test_allreduce.py",
    "content": "# *************************************************************************\n#  * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n#  *\n#  * See LICENSE.txt for license information\n#  ************************************************************************\n\nimport os\nimport subprocess\nimport pytest\nimport glob\n\n@pytest.mark.ext_profiler\n@pytest.mark.allreduce\ndef test_profiler_initialization(paths):\n    \"\"\"Test profiler functionality with AllReduce operations.\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"allreduce_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"profiler_initialization\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"3\",  # Group (1) + Coll (2) = 3\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_reduce_perf\",\n        \"-b\", \"1\",\n        \"-e\", \"8M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"allreduce_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"profiler_initialization.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"AllReduce profiling test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 4, \\\n        f\"Should have 4 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # Check for Group events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, f\"Should have Group events in {trace_file}\"\n        \n        # Check for AllReduce events\n        allreduce_events = paths.count_events_in_trace(trace_file, event_name=\"AllReduce\")\n        assert allreduce_events > 0, f\"Should have AllReduce events in {trace_file}\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.allreduce\ndef test_invalid_mask_value(paths):\n    \"\"\"Test profiler behavior with invalid event mask (0 = no events)\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"allreduce_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"invalid_mask_value_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"0\",  # Invalid: no events enabled\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_reduce_perf\",\n        \"-b\", \"1\",\n        \"-e\", \"8M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"allreduce_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"invalid_mask_value_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"AllReduce test should still succeed even with invalid mask, see {log_file}\"\n    \n    # Verify plugin initialized (it should still initialize)\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized even with mask=0. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 4, \\\n        f\"Should have 4 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file - with mask=0, trace files should be nearly empty\n    # They should contain valid JSON but no actual profiling events\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} should still be valid JSON: {message}\"\n        \n        # With mask=0, there should be no Group or Collective events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events == 0, f\"Should have no Group events with mask=0 in {trace_file}, found {group_events}\"\n        \n        allreduce_events = paths.count_events_in_trace(trace_file, event_name=\"AllReduce\")\n        assert allreduce_events == 0, f\"Should have no AllReduce events with mask=0 in {trace_file}, found {allreduce_events}\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.allreduce\ndef test_single_node_detailed_profiling(paths):\n    \"\"\"Test profiler with single-node AllReduce using full event mask (255) across wide message range\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"allreduce_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"single_node_detailed_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"255\",  # All events: Group (1) + Coll (2) + P2P (4) + ProxyOp (8) + ProxyStep (16) + ProxyCtrl (32) + KernelCh (64) + NetPlugin (128) = 255\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_reduce_perf\",\n        \"-b\", \"8\",        \n        \"-e\", \"128M\",       \n        \"-f\", \"2\",        \n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"allreduce_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"single_node_detailed_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Single-node detailed AllReduce profiling test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 8, \\\n        f\"Should have 8 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # With NCCL_PROFILE_EVENT_MASK=255, we capture all event types\n        # However, single-node behavior differs significantly from multi-node\n        \n        # Check for Group events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, \\\n            f\"Should have Group events in {trace_file}, found {group_events}\"\n        \n        # Check for AllReduce events\n        allreduce_events = paths.count_events_in_trace(trace_file, event_name=\"AllReduce\")\n        assert allreduce_events > 0, \\\n            f\"Should have AllReduce events in {trace_file}, found {allreduce_events}\"\n        \n        # With KernelCh enabled (bit 6), we should see GPU kernel channel events\n        kernel_events = paths.count_events_in_trace(trace_file, category=\"GPU\")\n        assert kernel_events > 0, \\\n            f\"Should have GPU (KernelCh) events in {trace_file}, found {kernel_events}\"\n        \n        # With ProxyCtrl enabled (bit 5), we should see Append/Sleep events\n        proxy_ctrl_events = paths.count_events_in_trace(trace_file, category=\"PROXY\")\n        assert proxy_ctrl_events > 0, \\\n            f\"Should have PROXY (ProxyCtrl) events in {trace_file}, found {proxy_ctrl_events}\"\n        \n        append_events = paths.count_events_in_trace(trace_file, event_name=\"Append\")\n        sleep_events = paths.count_events_in_trace(trace_file, event_name=\"Sleep\")\n        assert append_events > 0 or sleep_events > 0, \\\n            f\"Should have ProxyCtrl events (Append or Sleep) in {trace_file}, found Append={append_events}, Sleep={sleep_events}\"\n        \n        # We should NOT see ProxyOp network events (ScheduleSend/Recv, ProgressSend/Recv)\n        schedule_send_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleSend\")\n        schedule_recv_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleRecv\")\n        assert schedule_send_events == 0, \\\n            f\"Single-node should have NO ScheduleSend events (no network) in {trace_file}, found {schedule_send_events}\"\n        assert schedule_recv_events == 0, \\\n            f\"Single-node should have NO ScheduleRecv events (no network) in {trace_file}, found {schedule_recv_events}\"\n        \n        # Should also NOT see ProxyStep network events (RecvWait, SendWait, etc.)\n        net_events = paths.count_events_in_trace(trace_file, category=\"NET\")\n        assert net_events == 0, \\\n            f\"Single-node should have NO NET (ProxyStep) events in {trace_file}, found {net_events}\"\n        \n        # Verify trace file exists and has content\n        trace_file_size = os.path.getsize(trace_file)\n        assert trace_file_size > 0, \\\n            f\"Trace file {trace_file} is empty\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.allreduce\n@pytest.mark.multinode\ndef test_multinode_detailed_profiling(paths):\n    \"\"\"Test profiler with multi-node AllReduce operations using full event mask (255)\"\"\"\n    \n    # Get available nodes using the shared function\n    nodelist = paths.get_available_nodes()\n    \n    # Skip test if no nodes available (SLURM not available) or less than 2 nodes\n    if len(nodelist) == 0:\n        pytest.skip(\"No nodes available\")\n    elif len(nodelist) < 2:\n        pytest.skip(f\"Multinode test requires at least 2 nodes, but only {len(nodelist)} available: {nodelist}\")\n    \n    # Check for common network interface across all nodes\n    common_interface = paths.find_common_interface(nodelist)\n    if common_interface is None:\n        pytest.skip(f\"Multinode test requires all nodes to have the same network interface (eth0 or eth1).\")\n    \n    # Build host specification string (8 processes per node)\n    host_spec = \",\".join([f\"{node}:8\" for node in nodelist])\n    total_processes = len(nodelist) * 8\n    print(f\"Using host specification: {host_spec}\")\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"allreduce_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"multinode_detailed_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_IGNORE_CPU_AFFINITY\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"255\",  # All events: Group (1) + Coll (2) + P2P (4) + ProxyOp (8) + ProxyStep (16) + ProxyCtrl (32) + KernelCh (64) + NetPlugin (128) = 255\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_SOCKET_IFNAME\": common_interface,\n        \"NCCL_DMABUF_ENABLE\": \"1\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", f\"{total_processes}\",\n        \"--host\", host_spec,\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_reduce_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"allreduce_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"multinode_detailed_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Multi-node AllReduce profiling test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == total_processes, \\\n        f\"Should have {total_processes} trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # With NCCL_PROFILE_EVENT_MASK=255, we should capture all event types\n        \n        # Check for Group events (one per AllReduce call)\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, f\"Should have Group events in {trace_file}, found {group_events}\"\n        \n        # Check for AllReduce events\n        allreduce_events = paths.count_events_in_trace(trace_file, event_name=\"AllReduce\")\n        assert allreduce_events > 0, \\\n            f\"Should have AllReduce events in {trace_file}, found {allreduce_events}\"\n        \n        # For multi-node tests, verify ProxyOp events exist\n        proxy_events = paths.count_events_in_trace(trace_file, category=\"PROXY\")\n        assert proxy_events > 0, \\\n            f\"Should have Proxy events in {trace_file}, found {proxy_events}\"\n        \n        # With ProxyOp enabled (bit 3), check for Send and Recv operations\n        schedule_send_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleSend\")\n        schedule_recv_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleRecv\")\n        assert schedule_send_events > 0, \\\n            f\"Should have ScheduleSend events in {trace_file}, found {schedule_send_events}\"\n        assert schedule_recv_events > 0, \\\n            f\"Should have ScheduleRecv events in {trace_file}, found {schedule_recv_events}\"\n        \n        # With ProxyStep enabled (bit 4), verify network step events exist\n        net_events = paths.count_events_in_trace(trace_file, category=\"NET\")\n        assert net_events > 0, \\\n            f\"Should have NET events in {trace_file}, found {net_events}\"\n        \n        # Check for specific ProxyStep events\n        recv_wait_events = paths.count_events_in_trace(trace_file, event_name=\"RecvWait\")\n        send_wait_events = paths.count_events_in_trace(trace_file, event_name=\"SendWait\")\n        assert recv_wait_events > 0, \\\n            f\"Should have RecvWait events in {trace_file}, found {recv_wait_events}\"\n        assert send_wait_events > 0, \\\n            f\"Should have SendWait events in {trace_file}, found {send_wait_events}\"\n        \n        # With KernelCh enabled (bit 6), we should see GPU kernel channel events\n        kernel_events = paths.count_events_in_trace(trace_file, category=\"GPU\")\n        assert kernel_events > 0, \\\n            f\"Should have GPU (KernelCh) events in {trace_file}, found {kernel_events}\"\n        \n        # With ProxyCtrl enabled (bit 5), we should see Append/Sleep events\n        append_events = paths.count_events_in_trace(trace_file, event_name=\"Append\")\n        sleep_events = paths.count_events_in_trace(trace_file, event_name=\"Sleep\")\n        assert append_events > 0 or sleep_events > 0, \\\n            f\"Should have ProxyCtrl events (Append or Sleep) in {trace_file}, found Append={append_events}, Sleep={sleep_events}\"\n        \n        # Verify trace file exists and has content\n        trace_file_size = os.path.getsize(trace_file)\n        assert trace_file_size > 0, \\\n            f\"Trace file {trace_file} is empty\""
  },
  {
    "path": "test/ext-plugins/tests/ext-profiler/test_alltoall.py",
    "content": "# *************************************************************************\n#  * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n#  *\n#  * See LICENSE.txt for license information\n#  ************************************************************************\n\nimport os\nimport subprocess\nimport glob\nimport pytest\n\n@pytest.mark.ext_profiler\n@pytest.mark.alltoall\ndef test_profiler_initialization(paths):\n    \"\"\"Test profiler functionality with AllToAll operations.\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"alltoall_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"profiler_initialization\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"7\",  # Group (1) + Coll (2) + P2P (4) = 7 (AllToAll is P2P)\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/alltoall_perf\",\n        \"-b\", \"1\",\n        \"-e\", \"8M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"alltoall_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"profiler_initialization.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"AllToAll test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 4, \\\n        f\"Should have 4 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # Check for Group events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, f\"Should have Group events in {trace_file}\"\n        \n        # Check for P2P events (AllToAll is implemented as Send/Recv P2P operations)\n        p2p_events = paths.count_events_in_trace(trace_file, category=\"P2P\")\n        assert p2p_events > 0, f\"Should have P2P events (AllToAll uses Send/Recv) in {trace_file}\"\n        \n        # Verify Send and Recv events exist\n        send_events = paths.count_events_in_trace(trace_file, event_name=\"Send\")\n        recv_events = paths.count_events_in_trace(trace_file, event_name=\"Recv\")\n        assert send_events > 0, f\"Should have Send events in {trace_file}\"\n        assert recv_events > 0, f\"Should have Recv events in {trace_file}\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.alltoall\ndef test_invalid_mask_value(paths):\n    \"\"\"Test profiler behavior with invalid event mask (0 = no events)\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"alltoall_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"invalid_mask_value_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"0\",  # Invalid: no events enabled\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/alltoall_perf\",\n        \"-b\", \"1\",\n        \"-e\", \"8M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"alltoall_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"invalid_mask_value_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"AllToAll test should still succeed even with invalid mask, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized even with mask=0. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 4, \\\n        f\"Should have 4 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file - with mask=0, trace files should be nearly empty\n    # They should contain valid JSON but no actual profiling events\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} should still be valid JSON: {message}\"\n        \n        # With mask=0, there should be no Group or Collective events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events == 0, f\"Should have no Group events with mask=0 in {trace_file}, found {group_events}\"\n        \n        alltoall_events = paths.count_events_in_trace(trace_file, event_name=\"AllToAll\")\n        assert alltoall_events == 0, f\"Should have no AllToAll events with mask=0 in {trace_file}, found {alltoall_events}\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.alltoall\ndef test_single_node_detailed_profiling(paths):\n    \"\"\"Test profiler with single-node AllToAll using full event mask (255) across wide message range\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"alltoall_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"single_node_detailed_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"255\",  # All events: Group (1) + Coll (2) + P2P (4) + ProxyOp (8) + ProxyStep (16) + ProxyCtrl (32) + KernelCh (64) + NetPlugin (128) = 255\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--bind-to\", \"none\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/alltoall_perf\",\n        \"-b\", \"8\",        \n        \"-e\", \"128M\",       \n        \"-f\", \"2\",        \n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"alltoall_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"single_node_detailed_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Single-node detailed AllToAll profiling test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 8, \\\n        f\"Should have 8 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # With NCCL_PROFILE_EVENT_MASK=255, we capture all event types\n        # However, single-node behavior differs significantly from multi-node\n        \n        # Check for Group events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, \\\n            f\"Should have Group events in {trace_file}, found {group_events}\"\n        \n        # Check for P2P events (AllToAll is implemented as Send/Recv operations)\n        p2p_events = paths.count_events_in_trace(trace_file, category=\"P2P\")\n        assert p2p_events > 0, \\\n            f\"Should have P2P events (AllToAll uses Send/Recv) in {trace_file}, found {p2p_events}\"\n        \n        # Verify Send and Recv events\n        send_events = paths.count_events_in_trace(trace_file, event_name=\"Send\")\n        recv_events = paths.count_events_in_trace(trace_file, event_name=\"Recv\")\n        assert send_events > 0, f\"Should have Send events in {trace_file}, found {send_events}\"\n        assert recv_events > 0, f\"Should have Recv events in {trace_file}, found {recv_events}\"\n        \n        # Verify GPU kernel channel events exist\n        kernel_events = paths.count_events_in_trace(trace_file, category=\"GPU\")\n        assert kernel_events > 0, \\\n            f\"Should have GPU (KernelCh) events in {trace_file}, found {kernel_events}\"\n        \n        # Verify ProxyCtrl events exist\n        proxy_ctrl_events = paths.count_events_in_trace(trace_file, category=\"PROXY\")\n        assert proxy_ctrl_events > 0, \\\n            f\"Should have PROXY (ProxyCtrl) events in {trace_file}, found {proxy_ctrl_events}\"\n        \n        append_events = paths.count_events_in_trace(trace_file, event_name=\"Append\")\n        sleep_events = paths.count_events_in_trace(trace_file, event_name=\"Sleep\")\n        assert append_events > 0 or sleep_events > 0, \\\n            f\"Should have ProxyCtrl events in {trace_file}, found Append={append_events}, Sleep={sleep_events}\"\n        \n        # We should NOT see ProxyOp network events (ScheduleSend/Recv, ProgressSend/Recv)\n        schedule_send_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleSend\")\n        schedule_recv_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleRecv\")\n        assert schedule_send_events == 0, \\\n            f\"Single-node should have NO ScheduleSend events (no network) in {trace_file}, found {schedule_send_events}\"\n        assert schedule_recv_events == 0, \\\n            f\"Single-node should have NO ScheduleRecv events (no network) in {trace_file}, found {schedule_recv_events}\"\n        \n        # Should also NOT see ProxyStep network events (RecvWait, SendWait, etc.)\n        net_events = paths.count_events_in_trace(trace_file, category=\"NET\")\n        assert net_events == 0, \\\n            f\"Single-node should have NO NET (ProxyStep) events in {trace_file}, found {net_events}\"\n        \n        # Verify trace file exists and has content\n        trace_file_size = os.path.getsize(trace_file)\n        assert trace_file_size > 0, \\\n            f\"Trace file {trace_file} is empty\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.alltoall\ndef test_multinode_detailed_profiling(paths):\n    \"\"\"Test profiler with multi-node AllToAll operations using full event mask (255)\"\"\"\n    \n    # Get available nodes using the shared function\n    nodelist = paths.get_available_nodes()\n    \n    # Skip test if no nodes available (SLURM not available) or less than 2 nodes\n    if not nodelist:\n        pytest.skip(\"Multinode test requires SLURM allocation\")\n    \n    if len(nodelist) < 2:\n        pytest.skip(f\"Multinode test requires at least 2 nodes, found {len(nodelist)}: {nodelist}\")\n    \n    # Check for common network interface across all nodes\n    common_interface = paths.find_common_interface(nodelist)\n    if common_interface is None:\n        pytest.skip(f\"Multinode test requires all nodes to have the same network interface (eth0 or eth1).\")\n    \n    # Build host specification string (8 processes per node)\n    host_spec = \",\".join([f\"{node}:8\" for node in nodelist])\n    total_processes = len(nodelist) * 8\n    print(f\"Using host specification: {host_spec}\")\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"alltoall_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"multinode_detailed_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_IGNORE_CPU_AFFINITY\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"255\",  # All events: Group (1) + Coll (2) + P2P (4) + ProxyOp (8) + ProxyStep (16) + ProxyCtrl (32) + KernelCh (64) + NetPlugin (128) = 255\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_SOCKET_IFNAME\": common_interface,\n        \"NCCL_DMABUF_ENABLE\": \"1\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", f\"{total_processes}\",\n        \"--host\", host_spec,\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/alltoall_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"alltoall_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"multinode_detailed_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Multi-node AllToAll profiling test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == total_processes, \\\n        f\"Should have {total_processes} trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # With NCCL_PROFILE_EVENT_MASK=255, we should capture all event types\n        \n        # Check for Group events (one per AllToAll call)\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, f\"Should have Group events in {trace_file}, found {group_events}\"\n        \n        # Check for P2P events (AllToAll is implemented as Send/Recv operations)\n        p2p_events = paths.count_events_in_trace(trace_file, category=\"P2P\")\n        assert p2p_events > 0, \\\n            f\"Should have P2P events (AllToAll uses Send/Recv) in {trace_file}, found {p2p_events}\"\n        \n        # For multi-node tests, verify ProxyOp events exist\n        proxy_events = paths.count_events_in_trace(trace_file, category=\"PROXY\")\n        assert proxy_events > 0, \\\n            f\"Should have Proxy events in {trace_file}, found {proxy_events}\"\n        \n        # Check for Send and Recv operations\n        schedule_send_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleSend\")\n        schedule_recv_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleRecv\")\n        assert schedule_send_events > 0 or schedule_recv_events > 0, \\\n            f\"Should have ScheduleSend or ScheduleRecv events in {trace_file}, found Send={schedule_send_events}, Recv={schedule_recv_events}\"\n        \n        # Verify NET (ProxyStep) events exist\n        net_events = paths.count_events_in_trace(trace_file, category=\"NET\")\n        assert net_events > 0, \\\n            f\"Should have NET events in {trace_file}, found {net_events}\"\n        \n        # Verify GPU kernel channel events exist\n        kernel_events = paths.count_events_in_trace(trace_file, category=\"GPU\")\n        assert kernel_events > 0, \\\n            f\"Should have GPU (KernelCh) events in {trace_file}, found {kernel_events}\"\n        \n        # Verify ProxyCtrl events exist\n        append_events = paths.count_events_in_trace(trace_file, event_name=\"Append\")\n        sleep_events = paths.count_events_in_trace(trace_file, event_name=\"Sleep\")\n        assert append_events > 0 or sleep_events > 0, \\\n            f\"Should have ProxyCtrl events in {trace_file}, found Append={append_events}, Sleep={sleep_events}\"\n        \n        # Verify trace file exists and has content\n        trace_file_size = os.path.getsize(trace_file)\n        assert trace_file_size > 0, \\\n            f\"Trace file {trace_file} is empty\"\n\n"
  },
  {
    "path": "test/ext-plugins/tests/ext-profiler/test_broadcast.py",
    "content": "# *************************************************************************\n#  * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n#  *\n#  * See LICENSE.txt for license information\n#  ************************************************************************\n\nimport os\nimport subprocess\nimport glob\nimport pytest\n\n@pytest.mark.ext_profiler\n@pytest.mark.broadcast\ndef test_profiler_initialization(paths):\n    \"\"\"Test profiler functionality with Broadcast operations.\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"broadcast_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"profiler_initialization\")\n\n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"3\",  # Group (1) + Coll (2) = 3\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/broadcast_perf\",\n        \"-b\", \"1\",\n        \"-e\", \"8M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"broadcast_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"profiler_initialization.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Broadcast test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 4, \\\n        f\"Should have 4 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # Check for Group events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, f\"Should have Group events in {trace_file}\"\n        \n        # Check for Broadcast events\n        broadcast_events = paths.count_events_in_trace(trace_file, event_name=\"Broadcast\")\n        assert broadcast_events > 0, f\"Should have Broadcast events in {trace_file}\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.broadcast\ndef test_invalid_mask_value(paths):\n    \"\"\"Test profiler behavior with invalid event mask (0 = no events)\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"broadcast_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"invalid_mask_value_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"0\",  # Invalid: no events enabled\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/broadcast_perf\",\n        \"-b\", \"1\",\n        \"-e\", \"8M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"broadcast_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"invalid_mask_value_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Broadcast test should still succeed even with invalid mask, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized even with mask=0. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 4, \\\n        f\"Should have 4 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file - with mask=0, trace files should be nearly empty\n    # They should contain valid JSON but no actual profiling events\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} should still be valid JSON: {message}\"\n        \n        # With mask=0, there should be no Group or Collective events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events == 0, f\"Should have no Group events with mask=0 in {trace_file}, found {group_events}\"\n        \n        broadcast_events = paths.count_events_in_trace(trace_file, event_name=\"Broadcast\")\n        assert broadcast_events == 0, f\"Should have no Broadcast events with mask=0 in {trace_file}, found {broadcast_events}\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.broadcast\ndef test_single_node_detailed_profiling(paths):\n    \"\"\"Test profiler with single-node Broadcast using full event mask (255) across wide message range\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"broadcast_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"single_node_detailed_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"255\",  # All events: Group (1) + Coll (2) + P2P (4) + ProxyOp (8) + ProxyStep (16) + ProxyCtrl (32) + KernelCh (64) + NetPlugin (128) = 255\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--bind-to\", \"none\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/broadcast_perf\",\n        \"-b\", \"8\",        \n        \"-e\", \"128M\",       \n        \"-f\", \"2\",        \n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"broadcast_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"single_node_detailed_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Single-node detailed Broadcast profiling test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 8, \\\n        f\"Should have 8 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # With NCCL_PROFILE_EVENT_MASK=255, we capture all event types\n        # However, single-node behavior differs significantly from multi-node\n        \n        # Check for Group events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, \\\n            f\"Should have Group events in {trace_file}, found {group_events}\"\n        \n        # Check for Broadcast events\n        broadcast_events = paths.count_events_in_trace(trace_file, event_name=\"Broadcast\")\n        assert broadcast_events > 0, \\\n            f\"Should have Broadcast events in {trace_file}, found {broadcast_events}\"\n        \n        # With KernelCh enabled (bit 6), we should see GPU kernel channel events\n        kernel_events = paths.count_events_in_trace(trace_file, category=\"GPU\")\n        assert kernel_events > 0, \\\n            f\"Should have GPU (KernelCh) events in {trace_file}, found {kernel_events}\"\n        \n        # With ProxyCtrl enabled (bit 5), we should see Append/Sleep events\n        proxy_ctrl_events = paths.count_events_in_trace(trace_file, category=\"PROXY\")\n        assert proxy_ctrl_events > 0, \\\n            f\"Should have PROXY (ProxyCtrl) events in {trace_file}, found {proxy_ctrl_events}\"\n        \n        append_events = paths.count_events_in_trace(trace_file, event_name=\"Append\")\n        sleep_events = paths.count_events_in_trace(trace_file, event_name=\"Sleep\")\n        assert append_events > 0 or sleep_events > 0, \\\n            f\"Should have ProxyCtrl events (Append or Sleep) in {trace_file}, found Append={append_events}, Sleep={sleep_events}\"\n        \n        # We should NOT see ProxyOp network events (ScheduleSend/Recv, ProgressSend/Recv)\n        schedule_send_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleSend\")\n        schedule_recv_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleRecv\")\n        assert schedule_send_events == 0, \\\n            f\"Single-node should have NO ScheduleSend events (no network) in {trace_file}, found {schedule_send_events}\"\n        assert schedule_recv_events == 0, \\\n            f\"Single-node should have NO ScheduleRecv events (no network) in {trace_file}, found {schedule_recv_events}\"\n        \n        # Should also NOT see ProxyStep network events (RecvWait, SendWait, etc.)\n        net_events = paths.count_events_in_trace(trace_file, category=\"NET\")\n        assert net_events == 0, \\\n            f\"Single-node should have NO NET (ProxyStep) events in {trace_file}, found {net_events}\"\n        \n        # Verify trace file exists and has content\n        trace_file_size = os.path.getsize(trace_file)\n        assert trace_file_size > 0, \\\n            f\"Trace file {trace_file} is empty\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.broadcast\n@pytest.mark.multinode\ndef test_multinode_detailed_profiling(paths):\n    \"\"\"Test profiler with multi-node Broadcast operations using full event mask (255)\"\"\"\n    \n    # Get available nodes using the shared function\n    nodelist = paths.get_available_nodes()\n    \n    # Skip test if no nodes available (SLURM not available) or less than 2 nodes\n    if not nodelist:\n        pytest.skip(\"Multinode test requires SLURM allocation\")\n    \n    if len(nodelist) < 2:\n        pytest.skip(f\"Multinode test requires at least 2 nodes, found {len(nodelist)}: {nodelist}\")\n    \n    # Check for common network interface across all nodes\n    common_interface = paths.find_common_interface(nodelist)\n    if common_interface is None:\n        pytest.skip(f\"Multinode test requires all nodes to have the same network interface (eth0 or eth1).\")\n    \n    # Build host specification string (8 processes per node)\n    host_spec = \",\".join([f\"{node}:8\" for node in nodelist])\n    total_processes = len(nodelist) * 8\n    print(f\"Using host specification: {host_spec}\")\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"broadcast_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"multinode_detailed_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_IGNORE_CPU_AFFINITY\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"255\",  # All events: Group (1) + Coll (2) + P2P (4) + ProxyOp (8) + ProxyStep (16) + ProxyCtrl (32) + KernelCh (64) + NetPlugin (128) = 255\n        \"NCCL_PROFILE_GROUP_POOL_SIZE\": \"128\",\n        \"NCCL_PROFILE_COLL_POOL_SIZE\": \"128\",\n        \"NCCL_PROFILE_P2P_POOL_SIZE\": \"2048\",\n        \"NCCL_PROFILE_PROXY_CTRL_POOL_SIZE\": \"256\",\n        \"NCCL_PROFILE_PROXY_DETACH_POOL_SIZE\": \"1024\",\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_SOCKET_IFNAME\": common_interface,\n        \"NCCL_DMABUF_ENABLE\": \"1\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", f\"{total_processes}\",\n        \"--host\", host_spec,\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/broadcast_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"broadcast_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"multinode_detailed_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Multi-node Broadcast profiling test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == total_processes, \\\n        f\"Should have {total_processes} trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # With NCCL_PROFILE_EVENT_MASK=255, we should capture all event types\n        \n        # Check for Group events (one per Broadcast call)\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, f\"Should have Group events in {trace_file}, found {group_events}\"\n        \n        # Check for Broadcast events\n        broadcast_events = paths.count_events_in_trace(trace_file, event_name=\"Broadcast\")\n        assert broadcast_events > 0, \\\n            f\"Should have Broadcast events in {trace_file}, found {broadcast_events}\"\n        \n        # For multi-node tests, verify ProxyOp events exist\n        proxy_events = paths.count_events_in_trace(trace_file, category=\"PROXY\")\n        assert proxy_events > 0, \\\n            f\"Should have Proxy events in {trace_file}, found {proxy_events}\"\n        \n        # With ProxyStep enabled (bit 4), verify network step events exist\n        net_events = paths.count_events_in_trace(trace_file, category=\"NET\")\n        assert net_events > 0, \\\n            f\"Should have NET events in {trace_file}, found {net_events}\"\n        \n        # With KernelCh enabled (bit 6), we should see GPU kernel channel events\n        kernel_events = paths.count_events_in_trace(trace_file, category=\"GPU\")\n        assert kernel_events > 0, \\\n            f\"Should have GPU (KernelCh) events in {trace_file}, found {kernel_events}\"\n        \n        # With ProxyCtrl enabled (bit 5), we should see Append/Sleep events\n        append_events = paths.count_events_in_trace(trace_file, event_name=\"Append\")\n        sleep_events = paths.count_events_in_trace(trace_file, event_name=\"Sleep\")\n        assert append_events > 0 or sleep_events > 0, \\\n            f\"Should have ProxyCtrl events (Append or Sleep) in {trace_file}, found Append={append_events}, Sleep={sleep_events}\"\n        \n        # Verify trace file exists and has content\n        trace_file_size = os.path.getsize(trace_file)\n        assert trace_file_size > 0, \\\n            f\"Trace file {trace_file} is empty\"\n\n"
  },
  {
    "path": "test/ext-plugins/tests/ext-profiler/test_reduce.py",
    "content": "# *************************************************************************\n#  * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n#  *\n#  * See LICENSE.txt for license information\n#  ************************************************************************\n\nimport os\nimport subprocess\nimport glob\nimport pytest\n\n@pytest.mark.ext_profiler\n@pytest.mark.reduce\ndef test_profiler_initialization(paths):\n    \"\"\"Test profiler functionality with Reduce operations.\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"reduce_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"profiler_initialization\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"3\",  # Group (1) + Coll (2) = 3\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_perf\",\n        \"-b\", \"1\",\n        \"-e\", \"8M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"reduce_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"profiler_initialization.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Reduce test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 4, \\\n        f\"Should have 4 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # Check for Group events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, f\"Should have Group events in {trace_file}\"\n        \n        # Check for Reduce collective events\n        reduce_events = paths.count_events_in_trace(trace_file, event_name=\"Reduce\")\n        assert reduce_events > 0, f\"Should have Reduce events in {trace_file}\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.reduce\ndef test_invalid_mask_value(paths):\n    \"\"\"Test profiler behavior with invalid event mask (0 = no events)\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"reduce_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"invalid_mask_value_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"0\",  # Invalid: no events enabled\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_perf\",\n        \"-b\", \"1\",\n        \"-e\", \"8M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"reduce_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"invalid_mask_value_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Reduce test should still succeed even with invalid mask, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized even with mask=0. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 4, \\\n        f\"Should have 4 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file - with mask=0, trace files should be nearly empty\n    # They should contain valid JSON but no actual profiling events\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} should still be valid JSON: {message}\"\n        \n        # With mask=0, there should be no Group or Collective events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events == 0, f\"Should have no Group events with mask=0 in {trace_file}, found {group_events}\"\n        \n        reduce_events = paths.count_events_in_trace(trace_file, event_name=\"Reduce\")\n        assert reduce_events == 0, f\"Should have no Reduce events with mask=0 in {trace_file}, found {reduce_events}\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.reduce\ndef test_single_node_detailed_profiling(paths):\n    \"\"\"Test profiler with single-node Reduce using full event mask (255) across wide message range\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"reduce_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"single_node_detailed_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"255\",  # All events: Group (1) + Coll (2) + P2P (4) + ProxyOp (8) + ProxyStep (16) + ProxyCtrl (32) + KernelCh (64) + NetPlugin (128) = 255\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--bind-to\", \"none\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_perf\",\n        \"-b\", \"8\",        \n        \"-e\", \"128M\",       \n        \"-f\", \"2\",        \n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"reduce_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"single_node_detailed_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Single-node detailed Reduce profiling test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 8, \\\n        f\"Should have 8 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # With NCCL_PROFILE_EVENT_MASK=255, we capture all event types\n        # However, single-node behavior differs significantly from multi-node\n        \n        # Check for Group events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, \\\n            f\"Should have Group events in {trace_file}, found {group_events}\"\n        \n        # Check for Reduce events\n        reduce_events = paths.count_events_in_trace(trace_file, event_name=\"Reduce\")\n        assert reduce_events > 0, \\\n            f\"Should have Reduce events in {trace_file}, found {reduce_events}\"\n        \n        # With KernelCh enabled (bit 6), we should see GPU kernel channel events\n        kernel_events = paths.count_events_in_trace(trace_file, category=\"GPU\")\n        assert kernel_events > 0, \\\n            f\"Should have GPU (KernelCh) events in {trace_file}, found {kernel_events}\"\n        \n        # With ProxyCtrl enabled (bit 5), we should see Append/Sleep events\n        proxy_ctrl_events = paths.count_events_in_trace(trace_file, category=\"PROXY\")\n        assert proxy_ctrl_events > 0, \\\n            f\"Should have PROXY (ProxyCtrl) events in {trace_file}, found {proxy_ctrl_events}\"\n        \n        append_events = paths.count_events_in_trace(trace_file, event_name=\"Append\")\n        sleep_events = paths.count_events_in_trace(trace_file, event_name=\"Sleep\")\n        assert append_events > 0 or sleep_events > 0, \\\n            f\"Should have ProxyCtrl events (Append or Sleep) in {trace_file}, found Append={append_events}, Sleep={sleep_events}\"\n        \n        # We should NOT see ProxyOp network events (ScheduleSend/Recv, ProgressSend/Recv)\n        schedule_send_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleSend\")\n        schedule_recv_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleRecv\")\n        assert schedule_send_events == 0, \\\n            f\"Single-node should have NO ScheduleSend events (no network) in {trace_file}, found {schedule_send_events}\"\n        assert schedule_recv_events == 0, \\\n            f\"Single-node should have NO ScheduleRecv events (no network) in {trace_file}, found {schedule_recv_events}\"\n        \n        # Should also NOT see ProxyStep network events (RecvWait, SendWait, etc.)\n        net_events = paths.count_events_in_trace(trace_file, category=\"NET\")\n        assert net_events == 0, \\\n            f\"Single-node should have NO NET (ProxyStep) events in {trace_file}, found {net_events}\"\n        \n        # Verify trace file exists and has content\n        trace_file_size = os.path.getsize(trace_file)\n        assert trace_file_size > 0, \\\n            f\"Trace file {trace_file} is empty\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.reduce\ndef test_multinode_detailed_profiling(paths):\n    \"\"\"Test profiler with multi-node Reduce operations using full event mask (255)\"\"\"\n    \n    # Get available nodes using the shared function\n    nodelist = paths.get_available_nodes()\n    \n    # Skip test if no nodes available (SLURM not available) or less than 2 nodes\n    if not nodelist:\n        pytest.skip(\"Multinode test requires SLURM allocation\")\n    \n    if len(nodelist) < 2:\n        pytest.skip(f\"Multinode test requires at least 2 nodes, found {len(nodelist)}: {nodelist}\")\n    \n    # Check for common network interface across all nodes\n    common_interface = paths.find_common_interface(nodelist)\n    if common_interface is None:\n        pytest.skip(f\"Multinode test requires all nodes to have the same network interface (eth0 or eth1).\")\n    \n    # Build host specification string (8 processes per node)\n    host_spec = \",\".join([f\"{node}:8\" for node in nodelist])\n    total_processes = len(nodelist) * 8\n    print(f\"Using host specification: {host_spec}\")\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"reduce_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"multinode_detailed_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_IGNORE_CPU_AFFINITY\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"255\",  # All events: Group (1) + Coll (2) + P2P (4) + ProxyOp (8) + ProxyStep (16) + ProxyCtrl (32) + KernelCh (64) + NetPlugin (128) = 255\n        \"NCCL_PROFILE_GROUP_POOL_SIZE\": \"128\",\n        \"NCCL_PROFILE_COLL_POOL_SIZE\": \"128\",\n        \"NCCL_PROFILE_P2P_POOL_SIZE\": \"2048\",\n        \"NCCL_PROFILE_PROXY_CTRL_POOL_SIZE\": \"256\",\n        \"NCCL_PROFILE_PROXY_DETACH_POOL_SIZE\": \"1024\",\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_SOCKET_IFNAME\": common_interface,\n        \"NCCL_DMABUF_ENABLE\": \"1\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", f\"{total_processes}\",\n        \"--host\", host_spec,\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"reduce_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"multinode_detailed_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Multi-node Reduce profiling test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == total_processes, \\\n        f\"Should have {total_processes} trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # With NCCL_PROFILE_EVENT_MASK=255, we should capture all event types\n        \n        # Check for Group events (one per Reduce call)\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, f\"Should have Group events in {trace_file}, found {group_events}\"\n        \n        # Check for Reduce events\n        reduce_events = paths.count_events_in_trace(trace_file, event_name=\"Reduce\")\n        assert reduce_events > 0, \\\n            f\"Should have Reduce events in {trace_file}, found {reduce_events}\"\n        \n        # For multi-node tests, verify ProxyOp events exist\n        proxy_events = paths.count_events_in_trace(trace_file, category=\"PROXY\")\n        assert proxy_events > 0, \\\n            f\"Should have Proxy events in {trace_file}, found {proxy_events}\"\n        \n        # With ProxyOp enabled (bit 3), check for Send and Recv operations\n        schedule_send_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleSend\")\n        schedule_recv_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleRecv\")\n        assert schedule_send_events > 0 or schedule_recv_events > 0, \\\n            f\"Should have ScheduleSend or ScheduleRecv events in {trace_file}, found Send={schedule_send_events}, Recv={schedule_recv_events}\"\n        \n        # With ProxyStep enabled (bit 4), verify network step events exist\n        net_events = paths.count_events_in_trace(trace_file, category=\"NET\")\n        assert net_events > 0, \\\n            f\"Should have NET events in {trace_file}, found {net_events}\"\n        \n        # With KernelCh enabled (bit 6), we should see GPU kernel channel events\n        kernel_events = paths.count_events_in_trace(trace_file, category=\"GPU\")\n        assert kernel_events > 0, \\\n            f\"Should have GPU (KernelCh) events in {trace_file}, found {kernel_events}\"\n        \n        # With ProxyCtrl enabled (bit 5), we should see Append/Sleep events\n        append_events = paths.count_events_in_trace(trace_file, event_name=\"Append\")\n        sleep_events = paths.count_events_in_trace(trace_file, event_name=\"Sleep\")\n        assert append_events > 0 or sleep_events > 0, \\\n            f\"Should have ProxyCtrl events (Append or Sleep) in {trace_file}, found Append={append_events}, Sleep={sleep_events}\"\n        \n        # Verify trace file exists and has content\n        trace_file_size = os.path.getsize(trace_file)\n        assert trace_file_size > 0, \\\n            f\"Trace file {trace_file} is empty\"\n\n"
  },
  {
    "path": "test/ext-plugins/tests/ext-profiler/test_reducescatter.py",
    "content": "# *************************************************************************\n#  * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n#  *\n#  * See LICENSE.txt for license information\n#  ************************************************************************\n\nimport os\nimport subprocess\nimport glob\nimport pytest\n\n@pytest.mark.ext_profiler\n@pytest.mark.reducescatter\ndef test_profiler_initialization(paths):\n    \"\"\"Test profiler functionality with ReduceScatter operations.\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"reducescatter_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"profiler_initialization\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"3\",  # Group (1) + Coll (2) = 3\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_scatter_perf\",\n        \"-b\", \"1\",\n        \"-e\", \"8M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"reducescatter_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"profiler_initialization.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"ReduceScatter test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 4, \\\n        f\"Should have 4 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # Check for Group events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, f\"Should have Group events in {trace_file}\"\n        \n        # Check for ReduceScatter collective events\n        reducescatter_events = paths.count_events_in_trace(trace_file, event_name=\"ReduceScatter\")\n        assert reducescatter_events > 0, f\"Should have ReduceScatter events in {trace_file}\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.reducescatter\ndef test_invalid_mask_value(paths):\n    \"\"\"Test profiler behavior with invalid event mask (0 = no events)\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"reducescatter_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"invalid_mask_value_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"0\",  # Invalid: no events enabled\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_scatter_perf\",\n        \"-b\", \"1\",\n        \"-e\", \"8M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"reducescatter_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"invalid_mask_value_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"ReduceScatter test should still succeed even with invalid mask, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized even with mask=0. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 4, \\\n        f\"Should have 4 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file - with mask=0, trace files should be nearly empty\n    # They should contain valid JSON but no actual profiling events\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} should still be valid JSON: {message}\"\n        \n        # With mask=0, there should be no Group or Collective events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events == 0, f\"Should have no Group events with mask=0 in {trace_file}, found {group_events}\"\n        \n        reducescatter_events = paths.count_events_in_trace(trace_file, event_name=\"ReduceScatter\")\n        assert reducescatter_events == 0, f\"Should have no ReduceScatter events with mask=0 in {trace_file}, found {reducescatter_events}\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.reducescatter\ndef test_single_node_detailed_profiling(paths):\n    \"\"\"Test profiler with single-node ReduceScatter using full event mask (255) across wide message range\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"reducescatter_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"single_node_detailed_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"255\",  # All events: Group (1) + Coll (2) + P2P (4) + ProxyOp (8) + ProxyStep (16) + ProxyCtrl (32) + KernelCh (64) + NetPlugin (128) = 255\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--bind-to\", \"none\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_scatter_perf\",\n        \"-b\", \"8\",        \n        \"-e\", \"128M\",       \n        \"-f\", \"2\",        \n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"reducescatter_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"single_node_detailed_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Single-node detailed ReduceScatter profiling test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 8, \\\n        f\"Should have 8 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # With NCCL_PROFILE_EVENT_MASK=255, we capture all event types\n        # However, single-node behavior differs significantly from multi-node\n        \n        # Check for Group events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, \\\n            f\"Should have Group events in {trace_file}, found {group_events}\"\n        \n        # Check for ReduceScatter events\n        reducescatter_events = paths.count_events_in_trace(trace_file, event_name=\"ReduceScatter\")\n        assert reducescatter_events > 0, \\\n            f\"Should have ReduceScatter events in {trace_file}, found {reducescatter_events}\"\n        \n        # Verify GPU kernel channel events exist\n        kernel_events = paths.count_events_in_trace(trace_file, category=\"GPU\")\n        assert kernel_events > 0, \\\n            f\"Should have GPU (KernelCh) events in {trace_file}, found {kernel_events}\"\n        \n        # Verify ProxyCtrl events exist\n        proxy_ctrl_events = paths.count_events_in_trace(trace_file, category=\"PROXY\")\n        assert proxy_ctrl_events > 0, \\\n            f\"Should have PROXY (ProxyCtrl) events in {trace_file}, found {proxy_ctrl_events}\"\n        \n        append_events = paths.count_events_in_trace(trace_file, event_name=\"Append\")\n        sleep_events = paths.count_events_in_trace(trace_file, event_name=\"Sleep\")\n        assert append_events > 0 or sleep_events > 0, \\\n            f\"Should have ProxyCtrl events in {trace_file}, found Append={append_events}, Sleep={sleep_events}\"\n        \n        # We should NOT see ProxyOp network events (ScheduleSend/Recv, ProgressSend/Recv)\n        schedule_send_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleSend\")\n        schedule_recv_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleRecv\")\n        assert schedule_send_events == 0, \\\n            f\"Single-node should have NO ScheduleSend events (no network) in {trace_file}, found {schedule_send_events}\"\n        assert schedule_recv_events == 0, \\\n            f\"Single-node should have NO ScheduleRecv events (no network) in {trace_file}, found {schedule_recv_events}\"\n        \n        # Should also NOT see ProxyStep network events (RecvWait, SendWait, etc.)\n        net_events = paths.count_events_in_trace(trace_file, category=\"NET\")\n        assert net_events == 0, \\\n            f\"Single-node should have NO NET (ProxyStep) events in {trace_file}, found {net_events}\"\n        \n        # Verify trace file exists and has content\n        trace_file_size = os.path.getsize(trace_file)\n        assert trace_file_size > 0, \\\n            f\"Trace file {trace_file} is empty\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.reducescatter\ndef test_multinode_detailed_profiling(paths):\n    \"\"\"Test profiler with multi-node ReduceScatter operations using full event mask (255)\"\"\"\n    \n    # Get available nodes using the shared function\n    nodelist = paths.get_available_nodes()\n    \n    # Skip test if no nodes available (SLURM not available) or less than 2 nodes\n    if not nodelist:\n        pytest.skip(\"Multinode test requires SLURM allocation\")\n    \n    if len(nodelist) < 2:\n        pytest.skip(f\"Multinode test requires at least 2 nodes, found {len(nodelist)}: {nodelist}\")\n    \n    # Check for common network interface across all nodes\n    common_interface = paths.find_common_interface(nodelist)\n    if common_interface is None:\n        pytest.skip(f\"Multinode test requires all nodes to have the same network interface (eth0 or eth1).\")\n    \n    # Build host specification string (8 processes per node)\n    host_spec = \",\".join([f\"{node}:8\" for node in nodelist])\n    total_processes = len(nodelist) * 8\n    print(f\"Using host specification: {host_spec}\")\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"reducescatter_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"multinode_detailed_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_IGNORE_CPU_AFFINITY\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"255\",  # All events: Group (1) + Coll (2) + P2P (4) + ProxyOp (8) + ProxyStep (16) + ProxyCtrl (32) + KernelCh (64) + NetPlugin (128) = 255\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_SOCKET_IFNAME\": common_interface,\n        \"NCCL_DMABUF_ENABLE\": \"1\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", f\"{total_processes}\",\n        \"--host\", host_spec,\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_scatter_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"reducescatter_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"multinode_detailed_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Multi-node ReduceScatter profiling test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == total_processes, \\\n        f\"Should have {total_processes} trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # With NCCL_PROFILE_EVENT_MASK=255, we should capture all event types\n        \n        # Check for Group events (one per ReduceScatter call)\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, f\"Should have Group events in {trace_file}, found {group_events}\"\n        \n        # Check for ReduceScatter events\n        reducescatter_events = paths.count_events_in_trace(trace_file, event_name=\"ReduceScatter\")\n        assert reducescatter_events > 0, \\\n            f\"Should have ReduceScatter events in {trace_file}, found {reducescatter_events}\"\n        \n        # For multi-node tests, verify ProxyOp events exist\n        proxy_events = paths.count_events_in_trace(trace_file, category=\"PROXY\")\n        assert proxy_events > 0, \\\n            f\"Should have Proxy events in {trace_file}, found {proxy_events}\"\n        \n        # Check for Send and Recv operations\n        schedule_send_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleSend\")\n        schedule_recv_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleRecv\")\n        assert schedule_send_events > 0 or schedule_recv_events > 0, \\\n            f\"Should have ScheduleSend or ScheduleRecv events in {trace_file}, found Send={schedule_send_events}, Recv={schedule_recv_events}\"\n        \n        # Verify NET (ProxyStep) events exist\n        net_events = paths.count_events_in_trace(trace_file, category=\"NET\")\n        assert net_events > 0, \\\n            f\"Should have NET events in {trace_file}, found {net_events}\"\n        \n        # Verify GPU kernel channel events exist\n        kernel_events = paths.count_events_in_trace(trace_file, category=\"GPU\")\n        assert kernel_events > 0, \\\n            f\"Should have GPU (KernelCh) events in {trace_file}, found {kernel_events}\"\n        \n        # Verify ProxyCtrl events exist\n        append_events = paths.count_events_in_trace(trace_file, event_name=\"Append\")\n        sleep_events = paths.count_events_in_trace(trace_file, event_name=\"Sleep\")\n        assert append_events > 0 or sleep_events > 0, \\\n            f\"Should have ProxyCtrl events in {trace_file}, found Append={append_events}, Sleep={sleep_events}\"\n        \n        # Verify trace file exists and has content\n        trace_file_size = os.path.getsize(trace_file)\n        assert trace_file_size > 0, \\\n            f\"Trace file {trace_file} is empty\"\n\n"
  },
  {
    "path": "test/ext-plugins/tests/ext-profiler/test_sendrecv.py",
    "content": "# *************************************************************************\n#  * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n#  *\n#  * See LICENSE.txt for license information\n#  ************************************************************************\n\nimport os\nimport subprocess\nimport glob\nimport pytest\n\n@pytest.mark.ext_profiler\n@pytest.mark.sendrecv\ndef test_profiler_initialization(paths):\n    \"\"\"Test profiler functionality with SendRecv operations.\n    \n    Note: SendRecv is a P2P operation, so we check for Send/Recv P2P events.\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"sendrecv_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"profiler_initialization\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"7\",  # Group (1) + Coll (2) + P2P (4) = 7 (SendRecv is P2P)\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/sendrecv_perf\",\n        \"-b\", \"1\",\n        \"-e\", \"8M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"sendrecv_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"profiler_initialization.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"SendRecv test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 4, \\\n        f\"Should have 4 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # Check for Group events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, f\"Should have Group events in {trace_file}\"\n        \n        # Check for P2P events (SendRecv is implemented as Send/Recv P2P operations)\n        p2p_events = paths.count_events_in_trace(trace_file, category=\"P2P\")\n        assert p2p_events > 0, f\"Should have P2P events (SendRecv uses Send/Recv) in {trace_file}\"\n        \n        # Verify Send and Recv events exist\n        send_events = paths.count_events_in_trace(trace_file, event_name=\"Send\")\n        recv_events = paths.count_events_in_trace(trace_file, event_name=\"Recv\")\n        assert send_events > 0, f\"Should have Send events in {trace_file}\"\n        assert recv_events > 0, f\"Should have Recv events in {trace_file}\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.sendrecv\ndef test_invalid_mask_value(paths):\n    \"\"\"Test profiler behavior with invalid event mask (0 = no events)\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"sendrecv_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"invalid_mask_value_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"0\",  # Invalid: no events enabled\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/sendrecv_perf\",\n        \"-b\", \"1\",\n        \"-e\", \"8M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"sendrecv_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"invalid_mask_value_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"SendRecv test should still succeed even with invalid mask, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized even with mask=0. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 4, \\\n        f\"Should have 4 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file - with mask=0, trace files should be nearly empty\n    # They should contain valid JSON but no actual profiling events\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} should still be valid JSON: {message}\"\n        \n        # With mask=0, there should be no Group or P2P events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events == 0, f\"Should have no Group events with mask=0 in {trace_file}, found {group_events}\"\n        \n        p2p_events = paths.count_events_in_trace(trace_file, category=\"P2P\")\n        assert p2p_events == 0, f\"Should have no P2P events (SendRecv) with mask=0 in {trace_file}, found {p2p_events}\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.sendrecv\ndef test_single_node_detailed_profiling(paths):\n    \"\"\"Test profiler with single-node SendRecv using full event mask (255) across wide message range\"\"\"\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"sendrecv_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"single_node_detailed_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"255\",  # All events: Group (1) + Coll (2) + P2P (4) + ProxyOp (8) + ProxyStep (16) + ProxyCtrl (32) + KernelCh (64) + NetPlugin (128) = 255\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--bind-to\", \"none\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/sendrecv_perf\",\n        \"-b\", \"8\",        \n        \"-e\", \"128M\",       \n        \"-f\", \"2\",        \n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"sendrecv_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"single_node_detailed_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Single-node detailed SendRecv profiling test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == 8, \\\n        f\"Should have 8 trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # With NCCL_PROFILE_EVENT_MASK=255, we capture all event types\n        # However, single-node behavior differs significantly from multi-node\n        \n        # Check for Group events\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, \\\n            f\"Should have Group events in {trace_file}, found {group_events}\"\n        \n        # Check for P2P events (SendRecv is implemented as Send/Recv operations)\n        p2p_events = paths.count_events_in_trace(trace_file, category=\"P2P\")\n        assert p2p_events > 0, \\\n            f\"Should have P2P events (SendRecv uses Send/Recv) in {trace_file}, found {p2p_events}\"\n        \n        # Verify Send and Recv events\n        send_events = paths.count_events_in_trace(trace_file, event_name=\"Send\")\n        recv_events = paths.count_events_in_trace(trace_file, event_name=\"Recv\")\n        assert send_events > 0, f\"Should have Send events in {trace_file}, found {send_events}\"\n        assert recv_events > 0, f\"Should have Recv events in {trace_file}, found {recv_events}\"\n        \n        # Verify GPU kernel channel events exist\n        kernel_events = paths.count_events_in_trace(trace_file, category=\"GPU\")\n        assert kernel_events > 0, \\\n            f\"Should have GPU (KernelCh) events in {trace_file}, found {kernel_events}\"\n        \n        # Verify ProxyCtrl events exist\n        proxy_ctrl_events = paths.count_events_in_trace(trace_file, category=\"PROXY\")\n        assert proxy_ctrl_events > 0, \\\n            f\"Should have PROXY (ProxyCtrl) events in {trace_file}, found {proxy_ctrl_events}\"\n        \n        append_events = paths.count_events_in_trace(trace_file, event_name=\"Append\")\n        sleep_events = paths.count_events_in_trace(trace_file, event_name=\"Sleep\")\n        assert append_events > 0 or sleep_events > 0, \\\n            f\"Should have ProxyCtrl events in {trace_file}, found Append={append_events}, Sleep={sleep_events}\"\n        \n        # We should NOT see ProxyOp network events (ScheduleSend/Recv, ProgressSend/Recv)\n        schedule_send_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleSend\")\n        schedule_recv_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleRecv\")\n        assert schedule_send_events == 0, \\\n            f\"Single-node should have NO ScheduleSend events (no network) in {trace_file}, found {schedule_send_events}\"\n        assert schedule_recv_events == 0, \\\n            f\"Single-node should have NO ScheduleRecv events (no network) in {trace_file}, found {schedule_recv_events}\"\n        \n        # Should also NOT see ProxyStep network events (RecvWait, SendWait, etc.)\n        net_events = paths.count_events_in_trace(trace_file, category=\"NET\")\n        assert net_events == 0, \\\n            f\"Single-node should have NO NET (ProxyStep) events in {trace_file}, found {net_events}\"\n        \n        # Verify trace file exists and has content\n        trace_file_size = os.path.getsize(trace_file)\n        assert trace_file_size > 0, \\\n            f\"Trace file {trace_file} is empty\"\n\n\n@pytest.mark.ext_profiler\n@pytest.mark.sendrecv\ndef test_multinode_detailed_profiling(paths):\n    \"\"\"Test profiler with multi-node SendRecv operations using full event mask (255)\"\"\"\n    \n    # Get available nodes using the shared function\n    nodelist = paths.get_available_nodes()\n    \n    # Skip test if no nodes available (SLURM not available) or less than 2 nodes\n    if not nodelist:\n        pytest.skip(\"Multinode test requires SLURM allocation\")\n    \n    if len(nodelist) < 2:\n        pytest.skip(f\"Multinode test requires at least 2 nodes, found {len(nodelist)}: {nodelist}\")\n    \n    # Check for common network interface across all nodes\n    common_interface = paths.find_common_interface(nodelist)\n    if common_interface is None:\n        pytest.skip(f\"Multinode test requires all nodes to have the same network interface (eth0 or eth1).\")\n    \n    # Build host specification string (8 processes per node)\n    host_spec = \",\".join([f\"{node}:8\" for node in nodelist])\n    total_processes = len(nodelist) * 8\n    print(f\"Using host specification: {host_spec}\")\n    \n    dump_dir = os.path.join(paths.PROFILER_DUMP_DIR, \"sendrecv_profiler_dumps\")\n    os.makedirs(dump_dir, exist_ok=True)\n\n    dump_file_base = os.path.join(dump_dir, \"multinode_detailed_profiling\")\n    \n    # Remove any existing trace files\n    trace_pattern = f\"{dump_file_base}*.json\"\n    for f in glob.glob(trace_pattern):\n        os.remove(f)\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PROFILER_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_IGNORE_CPU_AFFINITY\": \"1\",\n        \"NCCL_PROFILER_PLUGIN\": paths.PROFILER_SO,\n        \"NCCL_PROFILE_EVENT_MASK\": \"255\",  # All events: Group (1) + Coll (2) + P2P (4) + ProxyOp (8) + ProxyStep (16) + ProxyCtrl (32) + KernelCh (64) + NetPlugin (128) = 255\n        \"NCCL_PROFILE_DUMP_FILE\": dump_file_base,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_SOCKET_IFNAME\": common_interface,\n        \"NCCL_DMABUF_ENABLE\": \"1\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", f\"{total_processes}\",\n        \"--host\", host_spec,\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/sendrecv_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n    \n    log_dir = os.path.join(paths.LOGDIR, \"sendrecv_ext_profiler_test_logs\")\n    os.makedirs(log_dir, exist_ok=True)\n    \n    log_file = os.path.join(log_dir, \"multinode_detailed_profiling.log\")\n    with open(log_file, \"w\") as logfile:\n        result = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n    \n    assert result.returncode == 0, f\"Multi-node SendRecv profiling test failed, see {log_file}\"\n    \n    # Verify plugin initialized\n    assert paths.check_event_in_log(log_file, \"PROFILER/Plugin: init\"), \\\n        f\"Plugin should have initialized. Check {log_file}\"\n    \n    # Verify trace files were created (one per rank)\n    trace_files = glob.glob(trace_pattern)\n    assert len(trace_files) == total_processes, \\\n        f\"Should have {total_processes} trace files (one per rank), found {len(trace_files)}: {trace_files}\"\n    \n    # Validate each trace file\n    for trace_file in trace_files:\n        is_valid, message = paths.validate_json_trace(trace_file)\n        assert is_valid, f\"Trace file {trace_file} validation failed: {message}\"\n        \n        # With NCCL_PROFILE_EVENT_MASK=255, we should capture all event types\n        \n        # Check for Group events (one per SendRecv call)\n        group_events = paths.count_events_in_trace(trace_file, category=\"GROUP\")\n        assert group_events > 0, f\"Should have Group events in {trace_file}, found {group_events}\"\n        \n        # Check for P2P events (SendRecv is implemented as Send/Recv operations)\n        p2p_events = paths.count_events_in_trace(trace_file, category=\"P2P\")\n        assert p2p_events > 0, \\\n            f\"Should have P2P events (SendRecv uses Send/Recv) in {trace_file}, found {p2p_events}\"\n        \n        # For multi-node tests, verify ProxyOp events exist\n        proxy_events = paths.count_events_in_trace(trace_file, category=\"PROXY\")\n        assert proxy_events > 0, \\\n            f\"Should have Proxy events in {trace_file}, found {proxy_events}\"\n        \n        # Check for Send and Recv operations (only for ranks with network activity)\n        # Note: In SendRecv, not all ranks participate in network communication\n        schedule_send_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleSend\")\n        schedule_recv_events = paths.count_events_in_trace(trace_file, event_name=\"ScheduleRecv\")\n        # Only check if rank has significant proxy activity (> 100 events indicates network participation)\n        if proxy_events > 100:\n            assert schedule_send_events > 0 or schedule_recv_events > 0, \\\n                f\"Rank with {proxy_events} proxy events should have ScheduleSend or ScheduleRecv in {trace_file}, found Send={schedule_send_events}, Recv={schedule_recv_events}\"\n        \n        # Verify NET (ProxyStep) events exist (only for ranks with network activity)\n        net_events = paths.count_events_in_trace(trace_file, category=\"NET\")\n        if proxy_events > 100:\n            assert net_events > 0, \\\n                f\"Rank with {proxy_events} proxy events should have NET events in {trace_file}, found {net_events}\"\n        \n        # Verify GPU kernel channel events exist\n        kernel_events = paths.count_events_in_trace(trace_file, category=\"GPU\")\n        assert kernel_events > 0, \\\n            f\"Should have GPU (KernelCh) events in {trace_file}, found {kernel_events}\"\n        \n        # Verify ProxyCtrl events exist\n        append_events = paths.count_events_in_trace(trace_file, event_name=\"Append\")\n        sleep_events = paths.count_events_in_trace(trace_file, event_name=\"Sleep\")\n        assert append_events > 0 or sleep_events > 0, \\\n            f\"Should have ProxyCtrl events in {trace_file}, found Append={append_events}, Sleep={sleep_events}\"\n        \n        # Verify trace file exists and has content\n        trace_file_size = os.path.getsize(trace_file)\n        assert trace_file_size > 0, \\\n            f\"Trace file {trace_file} is empty\"\n\n"
  },
  {
    "path": "test/ext-plugins/tests/ext-tuner/test_allgather.py",
    "content": "# *************************************************************************\n#  * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n#  *\n#  * See LICENSE.txt for license information\n#  ************************************************************************\n\nimport os\nimport subprocess\nimport pytest\n\n@pytest.mark.ext_tuner\n@pytest.mark.allgather\ndef test_valid_config_with_wildcards(paths):\n    \"\"\"Test CSV plugin with wildcard values for matching configurations\"\"\"\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.VALID_CONFIG_WITH_WILDCARDS,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_gather_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    allgather_log_dir = os.path.join(paths.LOGDIR, \"allgather_csv_plugin_test_logs\")\n    os.makedirs(allgather_log_dir, exist_ok=True)\n\n    log_file = os.path.join(allgather_log_dir, \"test_allgather_valid_config_with_wildcards.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin allgather test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.VALID_CONFIG_WITH_WILDCARDS}\"\n    \n    # Check that plugin applied valid configurations (test fails if no configs applied)\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        f\"Plugin should have applied valid configurations, but none were applied. Check {log_file} for details\"\n    \n@pytest.mark.ext_tuner\n@pytest.mark.allgather\ndef test_valid_config_without_wildcards(paths):\n    \"\"\"Test CSV plugin with specific values (no wildcards -1) for precise matching\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.VALID_CONFIG_WITHOUT_WILDCARDS,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_gather_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    allgather_log_dir = os.path.join(paths.LOGDIR, \"allgather_csv_plugin_test_logs\")\n    os.makedirs(allgather_log_dir, exist_ok=True)\n\n    log_file = os.path.join(allgather_log_dir, \"test_allgather_valid_config_without_wildcards.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin allgather test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.VALID_CONFIG_WITHOUT_WILDCARDS}\"\n    \n    # With specific values, plugin should either apply matching configs or report no matches\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    # Test should fail if no config is applied - we expect specific configs to match\n    assert plugin_applied, \\\n        f\"Plugin should have applied at least one configuration from {paths.VALID_CONFIG_WITHOUT_WILDCARDS}. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.allgather\ndef test_no_matching_config(paths):\n    \"\"\"Test CSV plugin behavior with no matching configurations\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.NO_MATCHING_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_gather_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    allgather_log_dir = os.path.join(paths.LOGDIR, \"allgather_csv_plugin_test_logs\")\n    os.makedirs(allgather_log_dir, exist_ok=True)\n\n    log_file = os.path.join(allgather_log_dir, \"test_allgather_no_matching_config.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin allgather test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.NO_MATCHING_CONFIG}\"\n    \n    # Check that NO configurations were applied (they should not match the test environment)\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert not plugin_applied, \\\n        f\"Plugin should NOT have applied any configurations from {paths.NO_MATCHING_CONFIG} as they don't match the test environment. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.allgather\ndef test_incorrect_values_config(paths):\n    \"\"\"Test CSV plugin behavior with invalid/incorrect values in configuration\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.INCORRECT_VALUES_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_gather_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    allgather_log_dir = os.path.join(paths.LOGDIR, \"allgather_csv_plugin_test_logs\")\n    os.makedirs(allgather_log_dir, exist_ok=True)\n\n    log_file = os.path.join(allgather_log_dir, \"test_allgather_incorrect_values_config.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin allgather test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded some configurations (plugin should handle invalid values gracefully)\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.INCORRECT_VALUES_CONFIG}\"\n    \n    # Plugin should still function despite invalid values (using defaults)\n    # It might apply configs with default values or report no matches\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        \"Plugin should either apply configurations (with defaults) or report no matches\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.allgather\ndef test_unsupported_algo_proto_config(paths):\n    \"\"\"Test that plugin handles unsupported algorithm/protocol combinations\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.UNSUPPORTED_ALGO_PROTO_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_gather_perf\",\n        \"-b\", \"64\",\n        \"-e\", \"1M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    allgather_log_dir = os.path.join(paths.LOGDIR, \"allgather_csv_plugin_test_logs\")\n    os.makedirs(allgather_log_dir, exist_ok=True)\n\n    log_file = os.path.join(allgather_log_dir, \"test_allgather_unsupported_algo_proto.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin allgather test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.UNSUPPORTED_ALGO_PROTO_CONFIG}\"\n    \n    # Check for unsupported combinations - should see IGNORE or out of bounds messages\n    ignored_combinations = \"Algorithm/protocol combination\" in log_content and \"is marked as IGNORE\" in log_content\n    out_of_bounds = \"out of bounds\" in log_content\n    \n    assert ignored_combinations or out_of_bounds, \\\n        f\"Plugin should report unsupported algorithm/protocol combinations as IGNORE or out of bounds. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.allgather\ndef test_singlenode_config(paths):\n    \"\"\"Test CSV plugin with single-node configuration\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.SINGLENODE_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_gather_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    allgather_log_dir = os.path.join(paths.LOGDIR, \"allgather_csv_plugin_test_logs\")\n    os.makedirs(allgather_log_dir, exist_ok=True)\n\n    log_file = os.path.join(allgather_log_dir, \"test_allgather_singlenode.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"Single-node CSV Plugin allgather test failed, see {log_file}\"\n\n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.SINGLENODE_CONFIG}\"\n\n    # Check that configurations were applied for single-node setup\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        f\"Plugin should have applied single-node configurations from {paths.SINGLENODE_CONFIG}. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.allgather\n@pytest.mark.multinode\ndef test_multinode_config(paths):\n    \"\"\"Test CSV plugin with multi-node configuration\"\"\"\n\n    try:\n        # Get available nodes\n        result = subprocess.run(\n            [\"scontrol\", \"show\", \"hostnames\"], \n            capture_output=True, \n            text=True, \n            check=True\n        )\n        nodelist = result.stdout.strip().split('\\n')\n        nodelist = [node.strip() for node in nodelist if node.strip()]\n        \n        print(f\"Available nodes: {nodelist}\")\n        \n        # Skip test if less than 2 nodes available\n        if len(nodelist) < 2:\n            pytest.skip(f\"Multinode allgather test requires at least 2 nodes, but only {len(nodelist)} available: {nodelist}\")\n            \n    except (subprocess.CalledProcessError, FileNotFoundError):\n        pytest.skip(\"Multinode allgather test requires SLURM environment (scontrol command not available)\")\n\n    # Check for common network interface across all nodes\n    common_interface = paths.find_common_interface(nodelist)\n    if common_interface is None:\n        pytest.skip(f\"Multinode allgather test requires all nodes to have the same network interface (eth0 or eth1).\")\n    \n    # Build host specification string (4 processes per node)\n    host_spec = \",\".join([f\"{node}:8\" for node in nodelist])\n    total_processes = len(nodelist) * 8\n    print(f\"Using host specification: {host_spec}\")\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_IGNORE_CPU_AFFINITY\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.MULTINODE_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n        \"NCCL_SOCKET_IFNAME\": common_interface,\n        \"NCCL_DMABUF_ENABLE\": \"1\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", f\"{total_processes}\",\n        \"--host\", host_spec,\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_gather_perf\",\n        \"-b\", \"8\",      \n        \"-e\", \"128M\",      \n        \"-f\", \"2\",       \n        \"-g\", \"1\",        \n    ]\n\n    allgather_log_dir = os.path.join(paths.LOGDIR, \"allgather_csv_plugin_test_logs\")\n    os.makedirs(allgather_log_dir, exist_ok=True)\n\n    log_file = os.path.join(allgather_log_dir, \"test_allgather_multinode.log\")\n    \n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"Multi-node CSV Plugin allgather test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.MULTINODE_CONFIG}\"\n    \n    # Check that configurations were applied for multi-node setup\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        f\"Plugin should have applied multi-node configurations from {paths.MULTINODE_CONFIG}. Check {log_file} for details\"\n"
  },
  {
    "path": "test/ext-plugins/tests/ext-tuner/test_allreduce.py",
    "content": "# *************************************************************************\n#  * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n#  *\n#  * See LICENSE.txt for license information\n#  ************************************************************************\n\nimport os\nimport subprocess\nimport pytest\n\n@pytest.mark.ext_tuner\n@pytest.mark.allreduce\ndef test_valid_config_with_wildcards(paths):\n    \"\"\"Test CSV plugin with wildcard values for matching configurations\"\"\"\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.VALID_CONFIG_WITH_WILDCARDS,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_reduce_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    allreduce_log_dir = os.path.join(paths.LOGDIR, \"allreduce_csv_plugin_test_logs\")\n    os.makedirs(allreduce_log_dir, exist_ok=True)\n\n    log_file = os.path.join(allreduce_log_dir, \"test_allreduce_valid_config_with_wildcards.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.VALID_CONFIG_WITH_WILDCARDS}\"\n    \n    # Check that plugin applied valid configurations (test fails if no configs applied)\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        f\"Plugin should have applied valid configurations, but none were applied. Check {log_file} for details\"\n    \n@pytest.mark.ext_tuner\n@pytest.mark.allreduce\ndef test_valid_config_without_wildcards(paths):\n    \"\"\"Test CSV plugin with specific values (no wildcards -1) for precise matching\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.VALID_CONFIG_WITHOUT_WILDCARDS,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_reduce_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    allreduce_log_dir = os.path.join(paths.LOGDIR, \"allreduce_csv_plugin_test_logs\")\n    os.makedirs(allreduce_log_dir, exist_ok=True)\n\n    log_file = os.path.join(allreduce_log_dir, \"test_allreduce_valid_config_without_wildcards.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.VALID_CONFIG_WITHOUT_WILDCARDS}\"\n    \n    # With specific values, plugin should either apply matching configs or report no matches\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    # Test should fail if no config is applied - we expect specific configs to match\n    assert plugin_applied, \\\n        f\"Plugin should have applied at least one configuration from {paths.VALID_CONFIG_WITHOUT_WILDCARDS}. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.allreduce\ndef test_no_matching_config(paths):\n    \"\"\"Test CSV plugin behavior with no matching configurations\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.NO_MATCHING_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--bind-to\", \"none\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_reduce_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    allreduce_log_dir = os.path.join(paths.LOGDIR, \"allreduce_csv_plugin_test_logs\")\n    os.makedirs(allreduce_log_dir, exist_ok=True)\n\n    log_file = os.path.join(allreduce_log_dir, \"test_allreduce_no_matching_config.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.NO_MATCHING_CONFIG}\"\n    \n    # Check that NO configurations were applied (they should not match the test environment)\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert not plugin_applied, \\\n        f\"Plugin should NOT have applied any configurations from {paths.NO_MATCHING_CONFIG} as they don't match the test environment. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.allreduce\ndef test_incorrect_values_config(paths):\n    \"\"\"Test CSV plugin behavior with invalid/incorrect values in configuration\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.INCORRECT_VALUES_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_reduce_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    allreduce_log_dir = os.path.join(paths.LOGDIR, \"allreduce_csv_plugin_test_logs\")\n    os.makedirs(allreduce_log_dir, exist_ok=True)\n\n    log_file = os.path.join(allreduce_log_dir, \"test_allreduce_incorrect_values_config.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded some configurations (plugin should handle invalid values gracefully)\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.INCORRECT_VALUES_CONFIG}\"\n    \n    # Plugin should still function despite invalid values (using defaults)\n    # It might apply configs with default values or report no matches\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        \"Plugin should either apply configurations (with defaults) or report no matches\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.allreduce\ndef test_unsupported_algo_proto_config(paths):\n    \"\"\"Test that plugin handles unsupported algorithm/protocol combinations\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.UNSUPPORTED_ALGO_PROTO_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_reduce_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    allreduce_log_dir = os.path.join(paths.LOGDIR, \"allreduce_csv_plugin_test_logs\")\n    os.makedirs(allreduce_log_dir, exist_ok=True)\n\n    log_file = os.path.join(allreduce_log_dir, \"test_allreduce_unsupported_algo_proto.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.UNSUPPORTED_ALGO_PROTO_CONFIG}\"\n    \n    # Check for unsupported combinations - should see IGNORE or out of bounds messages\n    ignored_combinations = \"Algorithm/protocol combination\" in log_content and \"is marked as IGNORE\" in log_content\n    out_of_bounds = \"out of bounds\" in log_content\n    \n    assert ignored_combinations or out_of_bounds, \\\n        f\"Plugin should report unsupported algorithm/protocol combinations as IGNORE or out of bounds. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.allreduce\ndef test_singlenode_config(paths):\n    \"\"\"Test CSV plugin with single-node configuration\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.SINGLENODE_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--bind-to\", \"none\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_reduce_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    allreduce_log_dir = os.path.join(paths.LOGDIR, \"allreduce_csv_plugin_test_logs\")\n    os.makedirs(allreduce_log_dir, exist_ok=True)\n\n    log_file = os.path.join(allreduce_log_dir, \"test_allreduce_singlenode.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"Single-node CSV Plugin test failed, see {log_file}\"\n\n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.SINGLENODE_CONFIG}\"\n\n    # Check that configurations were applied for single-node setup\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        f\"Plugin should have applied single-node configurations from {paths.SINGLENODE_CONFIG}. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.allreduce\n@pytest.mark.multinode\ndef test_multinode_config(paths):\n    \"\"\"Test CSV plugin with multi-node configuration\"\"\"\n\n    # Get available nodes using the shared function\n    nodelist = paths.get_available_nodes()\n    \n    # Skip test if no nodes available (SLURM not available) or less than 2 nodes\n    if len(nodelist) == 0:\n        pytest.skip(\"No nodes available\")\n    elif len(nodelist) < 2:\n        pytest.skip(f\"Multinode allreduce test requires at least 2 nodes, but only {len(nodelist)} available: {nodelist}\")\n\n    # Check for common network interface across all nodes\n    common_interface = paths.find_common_interface(nodelist)\n    if common_interface is None:\n        pytest.skip(f\"Multinode allreduce test requires all nodes to have the same network interface (eth0 or eth1).\")\n    \n    # Build host specification string (4 processes per node)\n    host_spec = \",\".join([f\"{node}:8\" for node in nodelist])\n    total_processes = len(nodelist) * 8\n    print(f\"Using host specification: {host_spec}\")\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_IGNORE_CPU_AFFINITY\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.MULTINODE_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n        \"NCCL_SOCKET_IFNAME\": common_interface,\n        \"NCCL_DMABUF_ENABLE\": \"1\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", f\"{total_processes}\",\n        \"--host\", host_spec,\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/all_reduce_perf\",\n        \"-b\", \"8\",       \n        \"-e\", \"128M\",      \n        \"-f\", \"2\",        \n        \"-g\", \"1\",        \n    ]\n\n    allreduce_log_dir = os.path.join(paths.LOGDIR, \"allreduce_csv_plugin_test_logs\")\n    os.makedirs(allreduce_log_dir, exist_ok=True)\n\n    log_file = os.path.join(allreduce_log_dir, \"test_allreduce_multinode.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"Multi-node CSV Plugin test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.MULTINODE_CONFIG}\"\n    \n    # Check that configurations were applied for multi-node setup\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        f\"Plugin should have applied multi-node configurations from {paths.MULTINODE_CONFIG}. Check {log_file} for details\"\n\n"
  },
  {
    "path": "test/ext-plugins/tests/ext-tuner/test_broadcast.py",
    "content": "# *************************************************************************\n#  * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n#  *\n#  * See LICENSE.txt for license information\n#  ************************************************************************\n\nimport os\nimport subprocess\nimport pytest\n\n@pytest.mark.ext_tuner\n@pytest.mark.broadcast\ndef test_valid_config_with_wildcards(paths):\n    \"\"\"Test CSV plugin with wildcard values for matching configurations\"\"\"\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.VALID_CONFIG_WITH_WILDCARDS,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/broadcast_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    broadcast_log_dir = os.path.join(paths.LOGDIR, \"broadcast_csv_plugin_test_logs\")\n    os.makedirs(broadcast_log_dir, exist_ok=True)\n\n    log_file = os.path.join(broadcast_log_dir, \"test_broadcast_valid_config_with_wildcards.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin broadcast test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.VALID_CONFIG_WITH_WILDCARDS}\"\n    \n    # Check that plugin applied valid configurations (test fails if no configs applied)\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        f\"Plugin should have applied valid configurations, but none were applied. Check {log_file} for details\"\n    \n@pytest.mark.ext_tuner\n@pytest.mark.broadcast\ndef test_valid_config_without_wildcards(paths):\n    \"\"\"Test CSV plugin with specific values (no wildcards -1) for precise matching\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.VALID_CONFIG_WITHOUT_WILDCARDS,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/broadcast_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    broadcast_log_dir = os.path.join(paths.LOGDIR, \"broadcast_csv_plugin_test_logs\")\n    os.makedirs(broadcast_log_dir, exist_ok=True)\n\n    log_file = os.path.join(broadcast_log_dir, \"test_broadcast_valid_config_without_wildcards.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin broadcast test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.VALID_CONFIG_WITHOUT_WILDCARDS}\"\n    \n    # With specific values, plugin should either apply matching configs or report no matches\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    # Test should fail if no config is applied - we expect specific configs to match\n    assert plugin_applied, \\\n        f\"Plugin should have applied at least one configuration from {paths.VALID_CONFIG_WITHOUT_WILDCARDS}. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.broadcast\ndef test_no_matching_config(paths):\n    \"\"\"Test CSV plugin behavior with no matching configurations\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.NO_MATCHING_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/broadcast_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    broadcast_log_dir = os.path.join(paths.LOGDIR, \"broadcast_csv_plugin_test_logs\")\n    os.makedirs(broadcast_log_dir, exist_ok=True)\n\n    log_file = os.path.join(broadcast_log_dir, \"test_broadcast_no_matching_config.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin broadcast test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.NO_MATCHING_CONFIG}\"\n    \n    # Check that NO configurations were applied (they should not match the test environment)\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert not plugin_applied, \\\n        f\"Plugin should NOT have applied any configurations from {paths.NO_MATCHING_CONFIG} as they don't match the test environment. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.broadcast\ndef test_incorrect_values_config(paths):\n    \"\"\"Test CSV plugin behavior with invalid/incorrect values in configuration\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.INCORRECT_VALUES_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/broadcast_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    broadcast_log_dir = os.path.join(paths.LOGDIR, \"broadcast_csv_plugin_test_logs\")\n    os.makedirs(broadcast_log_dir, exist_ok=True)\n\n    log_file = os.path.join(broadcast_log_dir, \"test_broadcast_incorrect_values_config.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin broadcast test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded some configurations (plugin should handle invalid values gracefully)\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.INCORRECT_VALUES_CONFIG}\"\n    \n    # Plugin should still function despite invalid values (using defaults)\n    # It might apply configs with default values or report no matches\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        \"Plugin should either apply configurations (with defaults) or report no matches\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.broadcast\ndef test_unsupported_algo_proto_config(paths):\n    \"\"\"Test that plugin handles unsupported algorithm/protocol combinations\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.UNSUPPORTED_ALGO_PROTO_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/broadcast_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    broadcast_log_dir = os.path.join(paths.LOGDIR, \"broadcast_csv_plugin_test_logs\")\n    os.makedirs(broadcast_log_dir, exist_ok=True)\n\n    log_file = os.path.join(broadcast_log_dir, \"test_broadcast_unsupported_algo_proto.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin broadcast test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.UNSUPPORTED_ALGO_PROTO_CONFIG}\"\n    \n    # Check for unsupported combinations - should see IGNORE or out of bounds messages\n    ignored_combinations = \"Algorithm/protocol combination\" in log_content and \"is marked as IGNORE\" in log_content\n    out_of_bounds = \"out of bounds\" in log_content\n    \n    assert ignored_combinations or out_of_bounds, \\\n        f\"Plugin should report unsupported algorithm/protocol combinations as IGNORE or out of bounds. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.broadcast\ndef test_singlenode_config(paths):\n    \"\"\"Test CSV plugin with single-node configuration\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.SINGLENODE_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/broadcast_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    broadcast_log_dir = os.path.join(paths.LOGDIR, \"broadcast_csv_plugin_test_logs\")\n    os.makedirs(broadcast_log_dir, exist_ok=True)\n\n    log_file = os.path.join(broadcast_log_dir, \"test_broadcast_singlenode.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"Single-node CSV Plugin broadcast test failed, see {log_file}\"\n\n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.SINGLENODE_CONFIG}\"\n\n    # Check that configurations were applied for single-node setup\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        f\"Plugin should have applied single-node configurations from {paths.SINGLENODE_CONFIG}. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.broadcast\n@pytest.mark.multinode\ndef test_multinode_config(paths):\n    \"\"\"Test CSV plugin with multi-node configuration\"\"\"\n\n    # Get available nodes using the shared function\n    nodelist = paths.get_available_nodes()\n    \n    # Skip test if no nodes available (SLURM not available) or less than 2 nodes\n    if len(nodelist) == 0:\n        pytest.skip(\"No nodes available\")\n    elif len(nodelist) < 2:\n        pytest.skip(f\"Multinode broadcast test requires at least 2 nodes, but only {len(nodelist)} available: {nodelist}\")\n\n    # Check for common network interface across all nodes\n    common_interface = paths.find_common_interface(nodelist)\n    if common_interface is None:\n        pytest.skip(f\"Multinode broadcast test requires all nodes to have the same network interface (eth0 or eth1).\")\n    \n    # Build host specification string (4 processes per node)\n    host_spec = \",\".join([f\"{node}:8\" for node in nodelist])\n    total_processes = len(nodelist) * 8\n    print(f\"Using host specification: {host_spec}\")\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_IGNORE_CPU_AFFINITY\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.MULTINODE_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n        \"NCCL_SOCKET_IFNAME\": common_interface,\n        \"NCCL_DMABUF_ENABLE\": \"1\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", f\"{total_processes}\",\n        \"--host\", host_spec,\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/broadcast_perf\",\n        \"-b\", \"8\",       \n        \"-e\", \"128M\",      \n        \"-f\", \"2\",        \n        \"-g\", \"1\",      \n    ]\n\n    broadcast_log_dir = os.path.join(paths.LOGDIR, \"broadcast_csv_plugin_test_logs\")\n    os.makedirs(broadcast_log_dir, exist_ok=True)\n\n    log_file = os.path.join(broadcast_log_dir, \"test_broadcast_multinode.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"Multi-node CSV Plugin broadcast test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.MULTINODE_CONFIG}\"\n    \n    # Check that configurations were applied for multi-node setup\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        f\"Plugin should have applied multi-node configurations from {paths.MULTINODE_CONFIG}. Check {log_file} for details\"\n"
  },
  {
    "path": "test/ext-plugins/tests/ext-tuner/test_reduce.py",
    "content": "# *************************************************************************\n#  * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n#  *\n#  * See LICENSE.txt for license information\n#  ************************************************************************\n\nimport os\nimport subprocess\nimport pytest\n\n@pytest.mark.ext_tuner\n@pytest.mark.reduce\ndef test_valid_config_with_wildcards(paths):\n    \"\"\"Test CSV plugin with wildcard values for matching configurations\"\"\"\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.VALID_CONFIG_WITH_WILDCARDS,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    reduce_log_dir = os.path.join(paths.LOGDIR, \"reduce_csv_plugin_test_logs\")\n    os.makedirs(reduce_log_dir, exist_ok=True)\n\n    log_file = os.path.join(reduce_log_dir, \"test_reduce_valid_config_with_wildcards.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin reduce test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.VALID_CONFIG_WITH_WILDCARDS}\"\n    \n    # Check that plugin applied valid configurations (test fails if no configs applied)\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        f\"Plugin should have applied valid configurations, but none were applied. Check {log_file} for details\"\n    \n@pytest.mark.ext_tuner\n@pytest.mark.reduce\ndef test_valid_config_without_wildcards(paths):\n    \"\"\"Test CSV plugin with specific values (no wildcards -1) for precise matching\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.VALID_CONFIG_WITHOUT_WILDCARDS,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    reduce_log_dir = os.path.join(paths.LOGDIR, \"reduce_csv_plugin_test_logs\")\n    os.makedirs(reduce_log_dir, exist_ok=True)\n\n    log_file = os.path.join(reduce_log_dir, \"test_reduce_valid_config_without_wildcards.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin reduce test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.VALID_CONFIG_WITHOUT_WILDCARDS}\"\n    \n    # With specific values, plugin should either apply matching configs or report no matches\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    # Test should fail if no config is applied - we expect specific configs to match\n    assert plugin_applied, \\\n        f\"Plugin should have applied at least one configuration from {paths.VALID_CONFIG_WITHOUT_WILDCARDS}. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.reduce\ndef test_no_matching_config(paths):\n    \"\"\"Test CSV plugin behavior with no matching configurations\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.NO_MATCHING_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    reduce_log_dir = os.path.join(paths.LOGDIR, \"reduce_csv_plugin_test_logs\")\n    os.makedirs(reduce_log_dir, exist_ok=True)\n\n    log_file = os.path.join(reduce_log_dir, \"test_reduce_no_matching_config.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin reduce test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.NO_MATCHING_CONFIG}\"\n    \n    # Check that NO configurations were applied (they should not match the test environment)\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert not plugin_applied, \\\n        f\"Plugin should NOT have applied any configurations from {paths.NO_MATCHING_CONFIG} as they don't match the test environment. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.reduce\ndef test_incorrect_values_config(paths):\n    \"\"\"Test CSV plugin behavior with invalid/incorrect values in configuration\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.INCORRECT_VALUES_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    reduce_log_dir = os.path.join(paths.LOGDIR, \"reduce_csv_plugin_test_logs\")\n    os.makedirs(reduce_log_dir, exist_ok=True)\n\n    log_file = os.path.join(reduce_log_dir, \"test_reduce_incorrect_values_config.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin reduce test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded some configurations (plugin should handle invalid values gracefully)\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.INCORRECT_VALUES_CONFIG}\"\n    \n    # Plugin should still function despite invalid values (using defaults)\n    # It might apply configs with default values or report no matches\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        \"Plugin should either apply configurations (with defaults) or report no matches\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.reduce\ndef test_unsupported_algo_proto_config(paths):\n    \"\"\"Test that plugin handles unsupported algorithm/protocol combinations\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.UNSUPPORTED_ALGO_PROTO_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    reduce_log_dir = os.path.join(paths.LOGDIR, \"reduce_csv_plugin_test_logs\")\n    os.makedirs(reduce_log_dir, exist_ok=True)\n\n    log_file = os.path.join(reduce_log_dir, \"test_reduce_unsupported_algo_proto.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin reduce test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.UNSUPPORTED_ALGO_PROTO_CONFIG}\"\n    \n    # Check for unsupported combinations - should see IGNORE or out of bounds messages\n    ignored_combinations = \"Algorithm/protocol combination\" in log_content and \"is marked as IGNORE\" in log_content\n    out_of_bounds = \"out of bounds\" in log_content\n    \n    assert ignored_combinations or out_of_bounds, \\\n        f\"Plugin should report unsupported algorithm/protocol combinations as IGNORE or out of bounds. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.reduce\ndef test_singlenode_config(paths):\n    \"\"\"Test CSV plugin with single-node configuration\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.SINGLENODE_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    reduce_log_dir = os.path.join(paths.LOGDIR, \"reduce_csv_plugin_test_logs\")\n    os.makedirs(reduce_log_dir, exist_ok=True)\n\n    log_file = os.path.join(reduce_log_dir, \"test_reduce_singlenode.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"Single-node CSV Plugin reduce test failed, see {log_file}\"\n\n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.SINGLENODE_CONFIG}\"\n\n    # Check that configurations were applied for single-node setup\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        f\"Plugin should have applied single-node configurations from {paths.SINGLENODE_CONFIG}. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.reduce\n@pytest.mark.multinode\ndef test_multinode_config(paths):\n    \"\"\"Test CSV plugin with multi-node configuration\"\"\"\n\n    # Get available nodes using the shared function\n    nodelist = paths.get_available_nodes()\n    \n    # Skip test if no nodes available (SLURM not available) or less than 2 nodes\n    if len(nodelist) == 0:\n        pytest.skip(\"No nodes available\")\n    elif len(nodelist) < 2:\n        pytest.skip(f\"Multinode reduce test requires at least 2 nodes, but only {len(nodelist)} available: {nodelist}\")\n\n    # Check for common network interface across all nodes\n    common_interface = paths.find_common_interface(nodelist)\n    if common_interface is None:\n        pytest.skip(f\"Multinode reduce test requires all nodes to have the same network interface (eth0 or eth1).\")\n    \n    # Build host specification string (4 processes per node)\n    host_spec = \",\".join([f\"{node}:8\" for node in nodelist])\n    total_processes = len(nodelist) * 8\n    print(f\"Using host specification: {host_spec}\")\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_IGNORE_CPU_AFFINITY\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.MULTINODE_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n        \"NCCL_SOCKET_IFNAME\": common_interface,\n        \"NCCL_DMABUF_ENABLE\": \"1\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", f\"{total_processes}\",\n        \"--host\", host_spec,\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_perf\",\n        \"-b\", \"8\",       # 64 bytes start (faster than 1 byte)\n        \"-e\", \"128M\",      # 64MB end (much smaller than 16GB)\n        \"-f\", \"2\",        # factor 4 (fewer size steps)\n        \"-g\", \"1\",        # gap 1\n    ]\n\n    reduce_log_dir = os.path.join(paths.LOGDIR, \"reduce_csv_plugin_test_logs\")\n    os.makedirs(reduce_log_dir, exist_ok=True)\n\n    log_file = os.path.join(reduce_log_dir, \"test_reduce_multinode.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"Multi-node CSV Plugin reduce test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.MULTINODE_CONFIG}\"\n    \n    # Check that configurations were applied for multi-node setup\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        f\"Plugin should have applied multi-node configurations from {paths.MULTINODE_CONFIG}. Check {log_file} for details\"\n"
  },
  {
    "path": "test/ext-plugins/tests/ext-tuner/test_reducescatter.py",
    "content": "# *************************************************************************\n#  * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n#  *\n#  * See LICENSE.txt for license information\n#  ************************************************************************\n\nimport os\nimport subprocess\nimport pytest\n\n@pytest.mark.ext_tuner\n@pytest.mark.reducescatter\ndef test_valid_config_with_wildcards(paths):\n    \"\"\"Test CSV plugin with wildcard values for matching configurations\"\"\"\n    \n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.VALID_CONFIG_WITH_WILDCARDS,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_scatter_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    reducescatter_log_dir = os.path.join(paths.LOGDIR, \"reducescatter_csv_plugin_test_logs\")\n    os.makedirs(reducescatter_log_dir, exist_ok=True)\n\n    log_file = os.path.join(reducescatter_log_dir, \"test_reducescatter_valid_config_with_wildcards.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin reducescatter test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.VALID_CONFIG_WITH_WILDCARDS}\"\n    \n    # Check that plugin applied valid configurations (test fails if no configs applied)\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        f\"Plugin should have applied valid configurations, but none were applied. Check {log_file} for details\"\n    \n@pytest.mark.ext_tuner\n@pytest.mark.reducescatter\ndef test_valid_config_without_wildcards(paths):\n    \"\"\"Test CSV plugin with specific values (no wildcards -1) for precise matching\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.VALID_CONFIG_WITHOUT_WILDCARDS,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_scatter_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    reducescatter_log_dir = os.path.join(paths.LOGDIR, \"reducescatter_csv_plugin_test_logs\")\n    os.makedirs(reducescatter_log_dir, exist_ok=True)\n\n    log_file = os.path.join(reducescatter_log_dir, \"test_reducescatter_valid_config_without_wildcards.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin reducescatter test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.VALID_CONFIG_WITHOUT_WILDCARDS}\"\n    \n    # With specific values, plugin should either apply matching configs or report no matches\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    # Test should fail if no config is applied - we expect specific configs to match\n    assert plugin_applied, \\\n        f\"Plugin should have applied at least one configuration from {paths.VALID_CONFIG_WITHOUT_WILDCARDS}. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.reducescatter\ndef test_no_matching_config(paths):\n    \"\"\"Test CSV plugin behavior with no matching configurations\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.NO_MATCHING_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_scatter_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    reducescatter_log_dir = os.path.join(paths.LOGDIR, \"reducescatter_csv_plugin_test_logs\")\n    os.makedirs(reducescatter_log_dir, exist_ok=True)\n\n    log_file = os.path.join(reducescatter_log_dir, \"test_reducescatter_no_matching_config.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin reducescatter test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.NO_MATCHING_CONFIG}\"\n    \n    # Check that NO configurations were applied (they should not match the test environment)\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert not plugin_applied, \\\n        f\"Plugin should NOT have applied any configurations from {paths.NO_MATCHING_CONFIG} as they don't match the test environment. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.reducescatter\ndef test_incorrect_values_config(paths):\n    \"\"\"Test CSV plugin behavior with invalid/incorrect values in configuration\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.INCORRECT_VALUES_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_scatter_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    reducescatter_log_dir = os.path.join(paths.LOGDIR, \"reducescatter_csv_plugin_test_logs\")\n    os.makedirs(reducescatter_log_dir, exist_ok=True)\n\n    log_file = os.path.join(reducescatter_log_dir, \"test_reducescatter_incorrect_values_config.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin reducescatter test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded some configurations (plugin should handle invalid values gracefully)\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.INCORRECT_VALUES_CONFIG}\"\n    \n    # Plugin should still function despite invalid values (using defaults)\n    # It might apply configs with default values or report no matches\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        \"Plugin should either apply configurations (with defaults) or report no matches\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.reducescatter\ndef test_unsupported_algo_proto_config(paths):\n    \"\"\"Test that plugin handles unsupported algorithm/protocol combinations\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.UNSUPPORTED_ALGO_PROTO_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"4\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_scatter_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    reducescatter_log_dir = os.path.join(paths.LOGDIR, \"reducescatter_csv_plugin_test_logs\")\n    os.makedirs(reducescatter_log_dir, exist_ok=True)\n\n    log_file = os.path.join(reducescatter_log_dir, \"test_reducescatter_unsupported_algo_proto.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"CSV Plugin reducescatter test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.UNSUPPORTED_ALGO_PROTO_CONFIG}\"\n    \n    # Check for unsupported combinations - should see IGNORE or out of bounds messages\n    ignored_combinations = \"Algorithm/protocol combination\" in log_content and \"is marked as IGNORE\" in log_content\n    out_of_bounds = \"out of bounds\" in log_content\n    \n    assert ignored_combinations or out_of_bounds, \\\n        f\"Plugin should report unsupported algorithm/protocol combinations as IGNORE or out of bounds. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.reducescatter\ndef test_singlenode_config(paths):\n    \"\"\"Test CSV plugin with single-node configuration\"\"\"\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.SINGLENODE_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n    })\n\n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", \"8\",\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_scatter_perf\",\n        \"-b\", \"8\",\n        \"-e\", \"128M\",\n        \"-f\", \"2\",\n        \"-g\", \"1\",\n    ]\n\n    reducescatter_log_dir = os.path.join(paths.LOGDIR, \"reducescatter_csv_plugin_test_logs\")\n    os.makedirs(reducescatter_log_dir, exist_ok=True)\n\n    log_file = os.path.join(reducescatter_log_dir, \"test_reducescatter_singlenode.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"Single-node CSV Plugin reducescatter test failed, see {log_file}\"\n\n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.SINGLENODE_CONFIG}\"\n\n    # Check that configurations were applied for single-node setup\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        f\"Plugin should have applied single-node configurations from {paths.SINGLENODE_CONFIG}. Check {log_file} for details\"\n\n@pytest.mark.ext_tuner\n@pytest.mark.reducescatter\n@pytest.mark.multinode\ndef test_multinode_config(paths):\n    \"\"\"Test CSV plugin with multi-node configuration\"\"\"\n\n    # Get available nodes using the shared function\n    nodelist = paths.get_available_nodes()\n    \n    # Skip test if no nodes available (SLURM not available) or less than 2 nodes\n    if len(nodelist) == 0:\n        pytest.skip(\"No nodes available\")\n    elif len(nodelist) < 2:\n        pytest.skip(f\"Multinode reducescatter test requires at least 2 nodes, but only {len(nodelist)} available: {nodelist}\")\n\n    # Check for common network interface across all nodes\n    common_interface = paths.find_common_interface(nodelist)\n    if common_interface is None:\n        pytest.skip(f\"Multinode reducescatter test requires all nodes to have the same network interface (eth0 or eth1).\")\n    \n    # Build host specification string (4 processes per node)\n    host_spec = \",\".join([f\"{node}:8\" for node in nodelist])\n    total_processes = len(nodelist) * 8\n    print(f\"Using host specification: {host_spec}\")\n\n    env = os.environ.copy()\n    env.update({\n        \"PATH\": f\"{paths.OMPI_INSTALL_DIR}/bin:{env.get('PATH', '')}\",\n        \"LD_LIBRARY_PATH\": f\"{paths.RCCL_INSTALL_DIR}:{paths.OMPI_INSTALL_DIR}/lib:{paths.PLUGIN_DIR}:{env.get('LD_LIBRARY_PATH', '')}\",\n        \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n        \"NCCL_IGNORE_CPU_AFFINITY\": \"1\",\n        \"NCCL_TUNER_PLUGIN\": paths.PLUGIN_SO,\n        \"NCCL_TUNER_CONFIG_FILE\": paths.MULTINODE_CONFIG,\n        \"NCCL_DEBUG\": \"INFO\",\n        \"NCCL_DEBUG_SUBSYS\": \"TUNING\",\n        \"NCCL_SOCKET_IFNAME\": common_interface,\n        \"NCCL_DMABUF_ENABLE\": \"1\",\n    })\n    \n    args = [\n        f\"{paths.OMPI_INSTALL_DIR}/bin/mpirun\", \"-np\", f\"{total_processes}\",\n        \"--host\", host_spec,\n        \"--mca\", \"pml\", \"ucx\",\n        \"--mca\", \"btl\", \"^vader,openib\",\n        f\"{paths.RCCL_TESTS_DIR}/build/reduce_scatter_perf\",\n        \"-b\", \"8\",       \n        \"-e\", \"128M\",      \n        \"-f\", \"2\",       \n        \"-g\", \"1\",       \n    ]\n\n    reducescatter_log_dir = os.path.join(paths.LOGDIR, \"reducescatter_csv_plugin_test_logs\")\n    os.makedirs(reducescatter_log_dir, exist_ok=True)\n\n    log_file = os.path.join(reducescatter_log_dir, \"test_reducescatter_multinode.log\")\n    with open(log_file, \"w\") as logfile:\n        rccl_test = subprocess.run(\n            args,\n            env=env,\n            stdout=logfile,\n            stderr=subprocess.STDOUT,\n            universal_newlines=True\n        )\n\n    assert rccl_test.returncode == 0, f\"Multi-node CSV Plugin reducescatter test failed, see {log_file}\"\n    \n    # Read and validate log content\n    with open(log_file, \"r\") as logfile:\n        log_content = logfile.read()\n    \n    # Check that plugin loaded configurations\n    assert \"TUNER/ExamplePlugin: Loaded\" in log_content and \"tuning configurations\" in log_content, \\\n        f\"Plugin should have loaded configurations from {paths.MULTINODE_CONFIG}\"\n    \n    # Check that configurations were applied for multi-node setup\n    plugin_applied = \"TUNER/ExamplePlugin: Applied config for collType=\" in log_content\n    \n    assert plugin_applied, \\\n        f\"Plugin should have applied multi-node configurations from {paths.MULTINODE_CONFIG}. Check {log_file} for details\"\n"
  },
  {
    "path": "test/graph/XmlTests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"graph/xml.h\"\n#include \"gtest/gtest.h\"\n#include <cmath>\n#include <cstdio>\n#include <cstring>\n#include <fstream>\n#include <string>\n\nclass XmlTest : public ::testing::Test {\nprotected:\n  void SetUp() override {\n    // Initialize XML structure for testing\n    ASSERT_EQ(xmlAlloc(&xml, 10), ncclSuccess);\n\n    // Create a root node\n    ASSERT_EQ(xmlAddNode(xml, nullptr, \"root\", &rootNode), ncclSuccess);\n\n    // Create test nodes with various attributes\n    ASSERT_EQ(xmlAddNode(xml, rootNode, \"testNode\", &testNode), ncclSuccess);\n    ASSERT_EQ(xmlSetAttr(testNode, \"floatAttr\", \"3.14159\"), ncclSuccess);\n    ASSERT_EQ(xmlSetAttr(testNode, \"intAttr\", \"42\"), ncclSuccess);\n    ASSERT_EQ(xmlSetAttr(testNode, \"stringAttr\", \"testValue\"), ncclSuccess);\n    ASSERT_EQ(xmlSetAttr(testNode, \"emptyAttr\", \"\"), ncclSuccess);\n\n    // Create child nodes for hierarchy testing\n    ASSERT_EQ(xmlAddNode(xml, testNode, \"childNode1\", &childNode1),\n              ncclSuccess);\n    ASSERT_EQ(xmlSetAttr(childNode1, \"id\", \"1\"), ncclSuccess);\n    ASSERT_EQ(xmlSetAttr(childNode1, \"name\", \"first\"), ncclSuccess);\n\n    ASSERT_EQ(xmlAddNode(xml, testNode, \"childNode2\", &childNode2),\n              ncclSuccess);\n    ASSERT_EQ(xmlSetAttr(childNode2, \"id\", \"2\"), ncclSuccess);\n    ASSERT_EQ(xmlSetAttr(childNode2, \"name\", \"second\"), ncclSuccess);\n\n    ASSERT_EQ(xmlAddNode(xml, rootNode, \"nextNode\", &nextNode), ncclSuccess);\n    ASSERT_EQ(xmlSetAttr(nextNode, \"type\", \"next\"), ncclSuccess);\n\n    // Initialize test dictionary for kvConvertToStr tests\n    testDict[0] = {\"first\", 1};\n    testDict[1] = {\"second\", 2};\n    testDict[2] = {\"third\", 3};\n    testDict[3] = {nullptr, 0}; // Terminator\n\n    // Clean up any existing test files\n    std::remove(\"test_topology.xml\");\n  }\n\n  void TearDown() override {\n    if (xml) {\n      free(xml);\n      xml = nullptr;\n    }\n    // Clean up test files\n    std::remove(\"test_topology.xml\");\n  }\n\n  // Helper to create test XML file\n  void createTestXmlFile(const std::string &content) {\n    std::ofstream file(\"test_topology.xml\");\n    file << content;\n    file.close();\n  }\n\n  // Helper to allocate XML structure\n  struct ncclXml *allocateXml(int maxNodes) {\n    size_t size =\n        offsetof(struct ncclXml, nodes) + sizeof(struct ncclXmlNode) * maxNodes;\n    struct ncclXml *xml = (struct ncclXml *)malloc(size);\n    if (xml) {\n      memset(xml, 0, size);\n      xml->maxNodes = maxNodes;\n      xml->maxIndex = 0;\n    }\n    return xml;\n  }\n\n  struct ncclXml *xml = nullptr;\n  struct ncclXmlNode *rootNode = nullptr;\n  struct ncclXmlNode *testNode = nullptr;\n  struct ncclXmlNode *childNode1 = nullptr;\n  struct ncclXmlNode *childNode2 = nullptr;\n  struct ncclXmlNode *nextNode = nullptr;\n  struct kvDict testDict[4];\n};\n\n// Tests for xmlGetAttrFloatDefault\nTEST_F(XmlTest, xmlGetAttrFloatDefault_ValidFloat) {\n  float result;\n  EXPECT_EQ(xmlGetAttrFloatDefault(testNode, \"floatAttr\", &result, 0.0f),\n            ncclSuccess);\n  EXPECT_FLOAT_EQ(result, 3.14159f);\n}\n\nTEST_F(XmlTest, xmlGetAttrFloatDefault_AttributeNotFound) {\n  float result;\n  float defaultValue = 42.5f;\n  EXPECT_EQ(xmlGetAttrFloatDefault(testNode, \"nonExistentAttr\", &result,\n                                   defaultValue),\n            ncclSuccess);\n  EXPECT_FLOAT_EQ(result, defaultValue);\n}\n\nTEST_F(XmlTest, xmlGetAttrFloatDefault_EmptyAttribute) {\n  float result;\n  float defaultValue = 1.23f;\n  EXPECT_EQ(\n      xmlGetAttrFloatDefault(testNode, \"emptyAttr\", &result, defaultValue),\n      ncclSuccess);\n  EXPECT_FLOAT_EQ(result, 0.0f); // Empty string converts to 0.0\n}\n\nTEST_F(XmlTest, xmlGetAttrFloatDefault_InvalidFloat) {\n  // Set an invalid float attribute\n  ASSERT_EQ(xmlSetAttr(testNode, \"invalidFloat\", \"notanumber\"), ncclSuccess);\n\n  float result;\n  float defaultValue = 5.67f;\n  EXPECT_EQ(\n      xmlGetAttrFloatDefault(testNode, \"invalidFloat\", &result, defaultValue),\n      ncclSuccess);\n  EXPECT_FLOAT_EQ(result, 0.0f); // Invalid string typically converts to 0.0\n}\n\nTEST_F(XmlTest, xmlGetAttrFloatDefault_ZeroValue) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"zeroFloat\", \"0.0\"), ncclSuccess);\n\n  float result;\n  EXPECT_EQ(xmlGetAttrFloatDefault(testNode, \"zeroFloat\", &result, 99.9f),\n            ncclSuccess);\n  EXPECT_FLOAT_EQ(result, 0.0f);\n}\n\nTEST_F(XmlTest, xmlGetAttrFloatDefault_NegativeValue) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"negativeFloat\", \"-3.14\"), ncclSuccess);\n\n  float result;\n  EXPECT_EQ(xmlGetAttrFloatDefault(testNode, \"negativeFloat\", &result, 1.0f),\n            ncclSuccess);\n  EXPECT_FLOAT_EQ(result, -3.14f);\n}\n\nTEST_F(XmlTest, xmlGetAttrFloatDefault_ScientificNotation) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"scientificFloat\", \"1.23e-4\"), ncclSuccess);\n\n  float result;\n  EXPECT_EQ(xmlGetAttrFloatDefault(testNode, \"scientificFloat\", &result, 1.0f),\n            ncclSuccess);\n  EXPECT_FLOAT_EQ(result, 1.23e-4f);\n}\n\n// Tests for xmlFindNextTag\nTEST_F(XmlTest, xmlFindNextTag_FindExisting) {\n  struct ncclXmlNode *foundNode = nullptr;\n  EXPECT_EQ(xmlFindNextTag(xml, \"childNode1\", rootNode, &foundNode),\n            ncclSuccess);\n  EXPECT_NE(foundNode, nullptr);\n  EXPECT_STREQ(foundNode->name, \"childNode1\");\n}\n\nTEST_F(XmlTest, xmlFindNextTag_FindSecondOccurrence) {\n  // First, find first occurrence\n  struct ncclXmlNode *firstNode = nullptr;\n  EXPECT_EQ(xmlFindNextTag(xml, \"childNode1\", rootNode, &firstNode),\n            ncclSuccess);\n  EXPECT_NE(firstNode, nullptr);\n\n  // Try to find next occurrence (should be null as there's only one)\n  struct ncclXmlNode *nextOccurrence = nullptr;\n  EXPECT_EQ(xmlFindNextTag(xml, \"childNode1\", firstNode, &nextOccurrence),\n            ncclSuccess);\n  EXPECT_EQ(nextOccurrence, nullptr);\n}\n\nTEST_F(XmlTest, xmlFindNextTag_NonExistentTag) {\n  struct ncclXmlNode *foundNode = nullptr;\n  EXPECT_EQ(xmlFindNextTag(xml, \"nonExistentTag\", rootNode, &foundNode),\n            ncclSuccess);\n  EXPECT_EQ(foundNode, nullptr);\n}\n\nTEST_F(XmlTest, xmlFindNextTag_EmptyTagName) {\n  struct ncclXmlNode *foundNode = nullptr;\n  EXPECT_EQ(xmlFindNextTag(xml, \"\", rootNode, &foundNode), ncclSuccess);\n  EXPECT_EQ(foundNode, nullptr);\n}\n\nTEST_F(XmlTest, xmlFindNextTag_FromLastNode) {\n  // Start search from the last node in XML\n  struct ncclXmlNode *foundNode = nullptr;\n  EXPECT_EQ(xmlFindNextTag(xml, \"testNode\", nextNode, &foundNode), ncclSuccess);\n  EXPECT_EQ(foundNode, nullptr); // Should not find anything after last node\n}\n\n// Tests for xmlPrintNodeRecursive\nTEST_F(XmlTest, xmlPrintNodeRecursive_ValidNode) {\n  // This test mainly checks that function doesn't crash\n  EXPECT_EQ(xmlPrintNodeRecursive(testNode, \"testPrint\"), ncclSuccess);\n}\n\nTEST_F(XmlTest, xmlPrintNodeRecursive_NodeWithParent) {\n  EXPECT_EQ(xmlPrintNodeRecursive(childNode1, \"childPrint\"), ncclSuccess);\n}\n\nTEST_F(XmlTest, xmlPrintNodeRecursive_RootNode) {\n  EXPECT_EQ(xmlPrintNodeRecursive(rootNode, \"rootPrint\"), ncclSuccess);\n}\n\nTEST_F(XmlTest, xmlPrintNodeRecursive_NodeWithManyAttributes) {\n  // Add many attributes to test output formatting\n  for (int i = 0; i < 10; i++) {\n    char attrName[32], attrValue[32];\n    snprintf(attrName, sizeof(attrName), \"attr%d\", i);\n    snprintf(attrValue, sizeof(attrValue), \"value%d\", i);\n    ASSERT_EQ(xmlSetAttr(testNode, attrName, attrValue), ncclSuccess);\n  }\n\n  EXPECT_EQ(xmlPrintNodeRecursive(testNode, \"manyAttrs\"), ncclSuccess);\n}\n\n// Tests for xmlSetAttrFloat\nTEST_F(XmlTest, xmlSetAttrFloat_ValidFloat) {\n  float testValue = 2.71828f;\n  EXPECT_EQ(xmlSetAttrFloat(testNode, \"newFloatAttr\", testValue), ncclSuccess);\n\n  // Verify the attribute was set correctly\n  const char *storedValue;\n  ASSERT_EQ(xmlGetAttr(testNode, \"newFloatAttr\", &storedValue), ncclSuccess);\n  EXPECT_NE(storedValue, nullptr);\n\n  float retrievedValue = strtof(storedValue, nullptr);\n  EXPECT_FLOAT_EQ(retrievedValue, testValue);\n}\n\nTEST_F(XmlTest, xmlSetAttrFloat_ZeroValue) {\n  EXPECT_EQ(xmlSetAttrFloat(testNode, \"zeroFloat\", 0.0f), ncclSuccess);\n\n  const char *storedValue;\n  ASSERT_EQ(xmlGetAttr(testNode, \"zeroFloat\", &storedValue), ncclSuccess);\n  EXPECT_STREQ(storedValue, \"0\");\n}\n\nTEST_F(XmlTest, xmlSetAttrFloat_NegativeValue) {\n  float testValue = -123.456f;\n  EXPECT_EQ(xmlSetAttrFloat(testNode, \"negativeFloat\", testValue), ncclSuccess);\n\n  const char *storedValue;\n  ASSERT_EQ(xmlGetAttr(testNode, \"negativeFloat\", &storedValue), ncclSuccess);\n  float retrievedValue = strtof(storedValue, nullptr);\n  EXPECT_FLOAT_EQ(retrievedValue, testValue);\n}\n\nTEST_F(XmlTest, xmlSetAttrFloat_OverwriteExisting) {\n  // First set a value\n  EXPECT_EQ(xmlSetAttrFloat(testNode, \"overwriteTest\", 1.0f), ncclSuccess);\n\n  // Then overwrite it\n  float newValue = 99.99f;\n  EXPECT_EQ(xmlSetAttrFloat(testNode, \"overwriteTest\", newValue), ncclSuccess);\n\n  const char *storedValue;\n  ASSERT_EQ(xmlGetAttr(testNode, \"overwriteTest\", &storedValue), ncclSuccess);\n  float retrievedValue = strtof(storedValue, nullptr);\n  EXPECT_FLOAT_EQ(retrievedValue, newValue);\n}\n\nTEST_F(XmlTest, xmlSetAttrFloat_VeryLargeValue) {\n  float largeValue = 1e20f;\n  EXPECT_EQ(xmlSetAttrFloat(testNode, \"largeFloat\", largeValue), ncclSuccess);\n\n  const char *storedValue;\n  ASSERT_EQ(xmlGetAttr(testNode, \"largeFloat\", &storedValue), ncclSuccess);\n  float retrievedValue = strtof(storedValue, nullptr);\n  EXPECT_FLOAT_EQ(retrievedValue, largeValue);\n}\n\nTEST_F(XmlTest, xmlSetAttrFloat_VerySmallValue) {\n  float smallValue = 1e-20f;\n  EXPECT_EQ(xmlSetAttrFloat(testNode, \"smallFloat\", smallValue), ncclSuccess);\n\n  const char *storedValue;\n  ASSERT_EQ(xmlGetAttr(testNode, \"smallFloat\", &storedValue), ncclSuccess);\n  float retrievedValue = strtof(storedValue, nullptr);\n  EXPECT_FLOAT_EQ(retrievedValue, smallValue);\n}\n\nTEST_F(XmlTest, xmlSetAttrFloat_InfinityValue) {\n  float infValue = INFINITY;\n  ncclResult_t status = xmlSetAttrFloat(testNode, \"infFloat\", infValue);\n  EXPECT_EQ(status, ncclSuccess);\n\n  const char *storedValue;\n  ASSERT_EQ(xmlGetAttr(testNode, \"infFloat\", &storedValue), ncclSuccess);\n  // Check that some representation was stored (implementation dependent)\n  EXPECT_NE(storedValue, nullptr);\n}\n\nTEST_F(XmlTest, xmlSetAttrFloat_NaNValue) {\n  float nanValue = NAN;\n  ncclResult_t status = xmlSetAttrFloat(testNode, \"nanFloat\", nanValue);\n  EXPECT_EQ(status, ncclSuccess);\n\n  const char *storedValue;\n  ASSERT_EQ(xmlGetAttr(testNode, \"nanFloat\", &storedValue), ncclSuccess);\n  EXPECT_NE(storedValue, nullptr);\n}\n\n// Tests for xmlGetSubKvInt\nTEST_F(XmlTest, xmlGetSubKvInt_FindExisting) {\n  struct ncclXmlNode *foundSub = nullptr;\n  EXPECT_EQ(xmlGetSubKvInt(testNode, \"childNode1\", &foundSub, \"id\", 1),\n            ncclSuccess);\n  EXPECT_EQ(foundSub, childNode1);\n}\n\nTEST_F(XmlTest, xmlGetSubKvInt_FindDifferentValue) {\n  struct ncclXmlNode *foundSub = nullptr;\n  EXPECT_EQ(xmlGetSubKvInt(testNode, \"childNode2\", &foundSub, \"id\", 2),\n            ncclSuccess);\n  EXPECT_EQ(foundSub, childNode2);\n}\n\nTEST_F(XmlTest, xmlGetSubKvInt_NotFound) {\n  struct ncclXmlNode *foundSub = nullptr;\n  EXPECT_EQ(xmlGetSubKvInt(testNode, \"childNode1\", &foundSub, \"id\", 999),\n            ncclSuccess);\n  EXPECT_EQ(foundSub, nullptr);\n}\n\nTEST_F(XmlTest, xmlGetSubKvInt_NonExistentSubName) {\n  struct ncclXmlNode *foundSub = nullptr;\n  EXPECT_EQ(xmlGetSubKvInt(testNode, \"nonExistentSub\", &foundSub, \"id\", 1),\n            ncclSuccess);\n  EXPECT_EQ(foundSub, nullptr);\n}\n\nTEST_F(XmlTest, xmlGetSubKvInt_NonExistentAttribute) {\n  struct ncclXmlNode *foundSub = nullptr;\n  EXPECT_EQ(\n      xmlGetSubKvInt(testNode, \"childNode1\", &foundSub, \"nonExistentAttr\", 1),\n      ncclSuccess);\n  EXPECT_EQ(foundSub, nullptr);\n}\n\nTEST_F(XmlTest, xmlGetSubKvInt_ZeroValue) {\n  // Add a child with zero value\n  struct ncclXmlNode *zeroChild = nullptr;\n  ASSERT_EQ(xmlAddNode(xml, testNode, \"zeroChild\", &zeroChild), ncclSuccess);\n  ASSERT_EQ(xmlSetAttr(zeroChild, \"value\", \"0\"), ncclSuccess);\n\n  struct ncclXmlNode *foundSub = nullptr;\n  EXPECT_EQ(xmlGetSubKvInt(testNode, \"zeroChild\", &foundSub, \"value\", 0),\n            ncclSuccess);\n  EXPECT_EQ(foundSub, zeroChild);\n}\n\nTEST_F(XmlTest, xmlGetSubKvInt_NegativeValue) {\n  // Add a child with negative value\n  struct ncclXmlNode *negChild = nullptr;\n  ASSERT_EQ(xmlAddNode(xml, testNode, \"negChild\", &negChild), ncclSuccess);\n  ASSERT_EQ(xmlSetAttr(negChild, \"value\", \"-42\"), ncclSuccess);\n\n  struct ncclXmlNode *foundSub = nullptr;\n  EXPECT_EQ(xmlGetSubKvInt(testNode, \"negChild\", &foundSub, \"value\", -42),\n            ncclSuccess);\n  EXPECT_EQ(foundSub, negChild);\n}\n\n// Tests for kvConvertToStr\nTEST_F(XmlTest, kvConvertToStr_ValidValue) {\n  const char *result = nullptr;\n  EXPECT_EQ(kvConvertToStr(1, &result, testDict), ncclSuccess);\n  EXPECT_NE(result, nullptr);\n  EXPECT_STREQ(result, \"first\");\n}\n\nTEST_F(XmlTest, kvConvertToStr_AnotherValidValue) {\n  const char *result = nullptr;\n  EXPECT_EQ(kvConvertToStr(3, &result, testDict), ncclSuccess);\n  EXPECT_NE(result, nullptr);\n  EXPECT_STREQ(result, \"third\");\n}\n\nTEST_F(XmlTest, kvConvertToStr_InvalidValue) {\n  const char *result = nullptr;\n  EXPECT_EQ(kvConvertToStr(999, &result, testDict), ncclInternalError);\n  // Result should be undefined for invalid values\n}\n\nTEST_F(XmlTest, kvConvertToStr_ZeroValue) {\n  // Add zero to dictionary\n  struct kvDict zeroDict[2];\n  zeroDict[0] = {\"zero\", 0};\n  zeroDict[1] = {nullptr, 0};\n\n  const char *result = nullptr;\n  EXPECT_EQ(kvConvertToStr(0, &result, zeroDict), ncclSuccess);\n  EXPECT_NE(result, nullptr);\n  EXPECT_STREQ(result, \"zero\");\n}\n\nTEST_F(XmlTest, kvConvertToStr_NullDict) {\n  const char *result = nullptr;\n  ncclResult_t status = kvConvertToStr(1, &result, nullptr);\n  EXPECT_TRUE(status == ncclInternalError);\n}\n\nTEST_F(XmlTest, kvConvertToStr_EmptyDict) {\n  struct kvDict emptyDict[1];\n  emptyDict[0] = {nullptr, 0};\n\n  const char *result = nullptr;\n  EXPECT_EQ(kvConvertToStr(1, &result, emptyDict), ncclInternalError);\n}\n\nTEST_F(XmlTest, kvConvertToStr_NullResultPointer) {\n  ncclResult_t status = kvConvertToStr(1, nullptr, testDict);\n  EXPECT_TRUE(status == ncclSuccess || status == ncclInternalError);\n}\n\nTEST_F(XmlTest, kvConvertToStr_NegativeValue) {\n  struct kvDict negDict[2];\n  negDict[0] = {\"negative\", -1};\n  negDict[1] = {nullptr, 0};\n\n  const char *result = nullptr;\n  EXPECT_EQ(kvConvertToStr(-1, &result, negDict), ncclSuccess);\n  EXPECT_NE(result, nullptr);\n  EXPECT_STREQ(result, \"negative\");\n}\n\n// Edge case and stress tests\nTEST_F(XmlTest, StressTest_ManyAttributes) {\n  // Test node with maximum attributes\n  struct ncclXmlNode *stressNode = nullptr;\n  ASSERT_EQ(xmlAddNode(xml, rootNode, \"stressTest\", &stressNode), ncclSuccess);\n\n  // Add many float attributes\n  for (int i = 0; i < MAX_ATTR_COUNT - 1; i++) {\n    char attrName[32];\n    snprintf(attrName, sizeof(attrName), \"float%d\", i);\n    EXPECT_EQ(xmlSetAttrFloat(stressNode, attrName, (float)i * 1.1f),\n              ncclSuccess);\n  }\n\n  // Test retrieval\n  float result;\n  EXPECT_EQ(xmlGetAttrFloatDefault(stressNode, \"float5\", &result, 0.0f),\n            ncclSuccess);\n  EXPECT_FLOAT_EQ(result, 5.5f);\n}\n\n// Additional tests for xmlGetAttrFloatDefault - more edge cases\nTEST_F(XmlTest, xmlGetAttrFloatDefault_VeryPreciseFloat) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"preciseFloat\", \"3.141592653589793\"),\n            ncclSuccess);\n\n  float result;\n  EXPECT_EQ(xmlGetAttrFloatDefault(testNode, \"preciseFloat\", &result, 0.0f),\n            ncclSuccess);\n  EXPECT_FLOAT_EQ(result, 3.141592653589793f);\n}\n\nTEST_F(XmlTest, xmlGetAttrFloatDefault_ExponentialFormat) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"expFloat\", \"2.5e10\"), ncclSuccess);\n\n  float result;\n  EXPECT_EQ(xmlGetAttrFloatDefault(testNode, \"expFloat\", &result, 1.0f),\n            ncclSuccess);\n  EXPECT_FLOAT_EQ(result, 2.5e10f);\n}\n\nTEST_F(XmlTest, xmlGetAttrFloatDefault_NegativeExponential) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"negExpFloat\", \"-1.5e-8\"), ncclSuccess);\n\n  float result;\n  EXPECT_EQ(xmlGetAttrFloatDefault(testNode, \"negExpFloat\", &result, 1.0f),\n            ncclSuccess);\n  EXPECT_FLOAT_EQ(result, -1.5e-8f);\n}\n\nTEST_F(XmlTest, xmlGetAttrFloatDefault_LeadingPlusSign) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"plusFloat\", \"+42.5\"), ncclSuccess);\n\n  float result;\n  EXPECT_EQ(xmlGetAttrFloatDefault(testNode, \"plusFloat\", &result, 0.0f),\n            ncclSuccess);\n  EXPECT_FLOAT_EQ(result, 42.5f);\n}\n\nTEST_F(XmlTest, xmlGetAttrFloatDefault_IntegerString) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"integerStr\", \"123\"), ncclSuccess);\n\n  float result;\n  EXPECT_EQ(xmlGetAttrFloatDefault(testNode, \"integerStr\", &result, 0.0f),\n            ncclSuccess);\n  EXPECT_FLOAT_EQ(result, 123.0f);\n}\n\nTEST_F(XmlTest, xmlGetAttrFloatDefault_PartiallyValidFloat) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"partialFloat\", \"12.34abc\"), ncclSuccess);\n\n  float result;\n  EXPECT_EQ(xmlGetAttrFloatDefault(testNode, \"partialFloat\", &result, 99.0f),\n            ncclSuccess);\n  EXPECT_FLOAT_EQ(result, 12.34f); // strtof should parse up to invalid char\n}\n\n// Tests for xmlGetAttrLong\nTEST_F(XmlTest, xmlGetAttrLong_ValidPositiveNumber) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"longAttr\", \"1234567890\"), ncclSuccess);\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"longAttr\", &result), ncclSuccess);\n  EXPECT_EQ(result, 1234567890LL);\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_ValidNegativeNumber) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"negativeLong\", \"-9876543210\"), ncclSuccess);\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"negativeLong\", &result), ncclSuccess);\n  EXPECT_EQ(result, -9876543210LL);\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_ZeroValue) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"zeroLong\", \"0\"), ncclSuccess);\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"zeroLong\", &result), ncclSuccess);\n  EXPECT_EQ(result, 0LL);\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_AttributeNotFound) {\n  int64_t result = 999; // Initialize with non-zero value\n  ncclResult_t status =\n      xmlGetAttrLong(testNode, \"nonExistentLongAttr\", &result);\n  EXPECT_TRUE(status == ncclInternalError);\n  // Result value is undefined when attribute not found\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_EmptyAttribute) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"emptyLong\", \"\"), ncclSuccess);\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"emptyLong\", &result), ncclSuccess);\n  EXPECT_EQ(result, 0LL); // Empty string typically converts to 0\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_InvalidNumber) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"invalidLong\", \"notanumber\"), ncclSuccess);\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"invalidLong\", &result), ncclSuccess);\n  EXPECT_EQ(result, 0LL); // Invalid string typically converts to 0\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_VeryLargePositive) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"largeLong\", \"9223372036854775807\"),\n            ncclSuccess); // INT64_MAX\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"largeLong\", &result), ncclSuccess);\n  EXPECT_EQ(result, 9223372036854775807LL);\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_VeryLargeNegative) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"minLong\", \"-9223372036854775808\"),\n            ncclSuccess); // INT64_MIN\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"minLong\", &result), ncclSuccess);\n  EXPECT_EQ(result, -9223372036854775808LL);\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_Overflow) {\n  // Test number larger than INT64_MAX\n  ASSERT_EQ(xmlSetAttr(testNode, \"overflowLong\", \"99999999999999999999\"),\n            ncclSuccess);\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"overflowLong\", &result), ncclSuccess);\n  // Result will be INT64_MAX due to overflow in strtoll\n  EXPECT_EQ(result, 9223372036854775807LL);\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_Underflow) {\n  // Test number smaller than INT64_MIN\n  ASSERT_EQ(xmlSetAttr(testNode, \"underflowLong\", \"-99999999999999999999\"),\n            ncclSuccess);\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"underflowLong\", &result), ncclSuccess);\n  // Result will be INT64_MIN due to underflow in strtoll\n  EXPECT_EQ(result, -9223372036854775808LL);\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_LeadingWhitespace) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"whitespaceLong\", \"   42   \"), ncclSuccess);\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"whitespaceLong\", &result), ncclSuccess);\n  EXPECT_EQ(result, 42LL); // strtoll should handle leading/trailing whitespace\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_LeadingPlusSign) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"plusLong\", \"+12345\"), ncclSuccess);\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"plusLong\", &result), ncclSuccess);\n  EXPECT_EQ(result, 12345LL);\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_HexadecimalNumber) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"hexLong\", \"0x1a2b\"), ncclSuccess);\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"hexLong\", &result), ncclSuccess);\n  EXPECT_EQ(result, 0x1a2bLL); // strtoll should handle hex if base is 0 or 16\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_OctalNumber) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"octalLong\", \"0123\"), ncclSuccess);\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"octalLong\", &result), ncclSuccess);\n  EXPECT_EQ(result, 0123LL); // Should parse as octal if base is 0\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_PartiallyValidNumber) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"partialLong\", \"12345abc\"), ncclSuccess);\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"partialLong\", &result), ncclSuccess);\n  EXPECT_EQ(result, 12345LL); // strtoll should parse up to invalid character\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_FloatingPointString) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"floatAsLong\", \"123.456\"), ncclSuccess);\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"floatAsLong\", &result), ncclSuccess);\n  EXPECT_EQ(result, 123LL); // strtoll should parse integer part only\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_ScientificNotation) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"scientificLong\", \"1e5\"), ncclSuccess);\n\n  int64_t result;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"scientificLong\", &result), ncclSuccess);\n  EXPECT_EQ(result,\n            1LL); // strtoll doesn't handle scientific notation, stops at 'e'\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_NullValuePointer) {\n  ncclResult_t status = xmlGetAttrLong(testNode, \"longAttr\", nullptr);\n  EXPECT_TRUE(status == ncclInternalError);\n}\n\nTEST_F(XmlTest, xmlGetAttrLong_EmptyAttrName) {\n  int64_t result;\n  ncclResult_t status = xmlGetAttrLong(testNode, \"\", &result);\n  EXPECT_TRUE(status == ncclInternalError);\n}\n\n// Edge case tests for both functions\nTEST_F(XmlTest, EdgeCase_MultipleConversions) {\n  // Test converting the same attribute multiple times\n  ASSERT_EQ(xmlSetAttr(testNode, \"multiTest\", \"42.5\"), ncclSuccess);\n\n  float floatResult;\n  int64_t longResult;\n\n  // Multiple float conversions should be consistent\n  EXPECT_EQ(xmlGetAttrFloatDefault(testNode, \"multiTest\", &floatResult, 0.0f),\n            ncclSuccess);\n  EXPECT_FLOAT_EQ(floatResult, 42.5f);\n\n  EXPECT_EQ(xmlGetAttrFloatDefault(testNode, \"multiTest\", &floatResult, 99.9f),\n            ncclSuccess);\n  EXPECT_FLOAT_EQ(floatResult, 42.5f);\n\n  // Long conversion of same value\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"multiTest\", &longResult), ncclSuccess);\n  EXPECT_EQ(longResult, 42LL); // Should convert integer part only\n}\n\nTEST_F(XmlTest, EdgeCase_OverwriteAndRetrieve) {\n  // Test overwriting attributes and retrieving with different functions\n  ASSERT_EQ(xmlSetAttr(testNode, \"overwriteTest\", \"123\"), ncclSuccess);\n\n  int64_t longResult;\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"overwriteTest\", &longResult),\n            ncclSuccess);\n  EXPECT_EQ(longResult, 123LL);\n\n  // Overwrite with float value\n  ASSERT_EQ(xmlSetAttr(testNode, \"overwriteTest\", \"456.789\"), ncclSuccess);\n\n  float floatResult;\n  EXPECT_EQ(\n      xmlGetAttrFloatDefault(testNode, \"overwriteTest\", &floatResult, 0.0f),\n      ncclSuccess);\n  EXPECT_FLOAT_EQ(floatResult, 456.789f);\n\n  // Long conversion should now get integer part\n  EXPECT_EQ(xmlGetAttrLong(testNode, \"overwriteTest\", &longResult),\n            ncclSuccess);\n  EXPECT_EQ(longResult, 456LL);\n}\n\nTEST_F(XmlTest, EdgeCase_LongAttributeNames) {\n  char longName[MAX_STR_LEN + 10];\n  memset(longName, 'a', sizeof(longName) - 1);\n  longName[sizeof(longName) - 1] = '\\0';\n\n  // This may truncate or fail gracefully\n  ncclResult_t status = xmlSetAttrFloat(testNode, longName, 42.0f);\n  EXPECT_TRUE(status == ncclSuccess);\n}\n\nTEST_F(XmlTest, EdgeCase_EmptyStringValues) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"emptyStr\", \"\"), ncclSuccess);\n\n  float result;\n  EXPECT_EQ(xmlGetAttrFloatDefault(testNode, \"emptyStr\", &result, 99.9f),\n            ncclSuccess);\n  // Empty string typically converts to 0.0\n  EXPECT_FLOAT_EQ(result, 0.0f);\n}\n\nTEST_F(XmlTest, EdgeCase_WhitespaceValues) {\n  ASSERT_EQ(xmlSetAttr(testNode, \"whitespace\", \"   3.14   \"), ncclSuccess);\n\n  float result;\n  EXPECT_EQ(xmlGetAttrFloatDefault(testNode, \"whitespace\", &result, 0.0f),\n            ncclSuccess);\n  // strtof should handle leading/trailing whitespace\n  EXPECT_FLOAT_EQ(result, 3.14f);\n}\n\n// Test comprehensive XML topology loading covering all ncclTopoXmlLoad*\n// functions\nTEST_F(XmlTest, TestCompleteTopologyLoading) {\n  // Create comprehensive topology XML that exercises all loading functions\n  // Based on the actual parser structure from xml.cc\n  std::string completeTopologyXml = R\"(<system version=\"2\" name=\"testSystem\">\n  <cpu numaid=\"0\" affinity=\"0000ffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"25\" modelid=\"1\">\n    <pci busid=\"0000:00:01.0\" class=\"0x060400\" link_speed=\"8.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:01:00.0\" class=\"0x030200\" vendor=\"0x1002\" device=\"0x73df\">\n        <gpu dev=\"0\" sm=\"110\" gcn=\"gfx942\" arch=\"942\">\n          <xgmi maxcount=\"8\">\n            <link target=\"1\" count=\"4\" bw=\"25\"/>\n            <link target=\"2\" count=\"4\" bw=\"25\"/>\n          </xgmi>\n        </gpu>\n      </pci>\n      <pci busid=\"0000:02:00.0\" class=\"0x030200\" vendor=\"0x1002\" device=\"0x73df\">\n        <gpu dev=\"1\" sm=\"110\" gcn=\"gfx942\" arch=\"942\">\n          <xgmi maxcount=\"8\">\n            <link target=\"0\" count=\"4\" bw=\"25\"/>\n            <link target=\"3\" count=\"4\" bw=\"25\"/>\n          </xgmi>\n        </gpu>\n      </pci>\n      <pci busid=\"0000:03:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\">\n        <nic>\n          <net name=\"mlx5_0\" dev=\"0\" speed=\"100\" port=\"1\"/>\n          <net name=\"mlx5_1\" dev=\"1\" speed=\"100\" port=\"2\"/>\n        </nic>\n      </pci>\n      <pcilink class=\"0x060400\" link=\"1\"/>\n    </pci>\n    <nic>\n      <net name=\"eth0\" dev=\"2\" speed=\"10\" port=\"1\"/>\n    </nic>\n  </cpu>\n</system>)\";\n\n  createTestXmlFile(completeTopologyXml);\n\n  struct ncclXml *xml = allocateXml(100);\n  ASSERT_NE(xml, nullptr);\n\n  // Test loading - this should exercise all ncclTopoXmlLoad* functions\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess);\n\n  // Verify system node was loaded (ncclTopoXmlLoadSystem)\n  struct ncclXmlNode *systemNode = nullptr;\n  EXPECT_EQ(xmlFindTag(xml, \"system\", &systemNode), ncclSuccess);\n  EXPECT_NE(systemNode, nullptr);\n\n  if (systemNode) {\n    const char *version;\n    EXPECT_EQ(xmlGetAttr(systemNode, \"version\", &version), ncclSuccess);\n    EXPECT_STREQ(version, \"2\");\n\n    // Verify CPU node was loaded (ncclTopoXmlLoadCpu)\n    struct ncclXmlNode *cpuNode = nullptr;\n    EXPECT_EQ(xmlGetSub(systemNode, \"cpu\", &cpuNode), ncclSuccess);\n    EXPECT_NE(cpuNode, nullptr);\n\n    if (cpuNode) {\n      // Verify PCI nodes were loaded (ncclTopoXmlLoadPci)\n      struct ncclXmlNode *pciNode = nullptr;\n      EXPECT_EQ(xmlGetSub(cpuNode, \"pci\", &pciNode), ncclSuccess);\n      EXPECT_NE(pciNode, nullptr);\n\n      if (pciNode) {\n        // Search for GPU nodes in the PCI hierarchy (ncclTopoXmlLoadGpu)\n        struct ncclXmlNode *gpuNode = nullptr;\n        // GPU nodes are nested inside PCI nodes, so we need to search deeper\n        for (int i = 0; i < pciNode->nSubs && !gpuNode; i++) {\n          struct ncclXmlNode *subPci = pciNode->subs[i];\n          if (strcmp(subPci->name, \"pci\") == 0) {\n            xmlGetSub(subPci, \"gpu\", &gpuNode);\n          }\n        }\n        EXPECT_NE(gpuNode, nullptr);\n\n        if (gpuNode) {\n          // Verify NVLINK/XGMI nodes were loaded (ncclTopoXmlLoadNvlink)\n          struct ncclXmlNode *xgmiNode = nullptr;\n          EXPECT_EQ(xmlGetSub(gpuNode, \"xgmi\", &xgmiNode), ncclSuccess);\n          EXPECT_NE(xgmiNode, nullptr);\n        }\n\n        // Search for NIC nodes in the PCI hierarchy (ncclTopoXmlLoadNic)\n        struct ncclXmlNode *nicNode = nullptr;\n        for (int i = 0; i < pciNode->nSubs && !nicNode; i++) {\n          struct ncclXmlNode *subPci = pciNode->subs[i];\n          if (strcmp(subPci->name, \"pci\") == 0) {\n            xmlGetSub(subPci, \"nic\", &nicNode);\n          }\n        }\n        EXPECT_NE(nicNode, nullptr);\n\n        if (nicNode) {\n          // Verify NET nodes were loaded (ncclTopoXmlLoadNet)\n          struct ncclXmlNode *netNode = nullptr;\n          EXPECT_EQ(xmlGetSub(nicNode, \"net\", &netNode), ncclSuccess);\n          EXPECT_NE(netNode, nullptr);\n        }\n\n        // Verify PCILink nodes were loaded (ncclTopoXmlLoadPciLink)\n        struct ncclXmlNode *pciLinkNode = nullptr;\n        EXPECT_EQ(xmlGetSub(pciNode, \"pcilink\", &pciLinkNode), ncclSuccess);\n        EXPECT_NE(pciLinkNode, nullptr);\n      }\n\n      // Also check for standalone NIC under CPU\n      struct ncclXmlNode *cpuNicNode = nullptr;\n      EXPECT_EQ(xmlGetSub(cpuNode, \"nic\", &cpuNicNode), ncclSuccess);\n      EXPECT_NE(cpuNicNode, nullptr);\n    }\n  }\n\n  free(xml);\n}\n\n// Test GPU loading with NVLINK (remove C2C for now since it's being ignored)\nTEST_F(XmlTest, TestGpuLoading_WithInterconnects) {\n  std::string gpuXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n    <pci busid=\"0000:01:00.0\" class=\"0x030200\">\n      <gpu dev=\"0\" sm=\"110\" gcn=\"gfx942\" arch=\"942\">\n        <xgmi maxcount=\"8\">\n          <link target=\"1\" count=\"4\" bw=\"25\"/>\n          <link target=\"2\" count=\"4\" bw=\"25\"/>\n        </xgmi>\n      </gpu>\n    </pci>\n  </cpu>\n</system>)\";\n\n  createTestXmlFile(gpuXml);\n\n  struct ncclXml *xml = allocateXml(30);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess);\n\n  struct ncclXmlNode *gpuNode = nullptr;\n  EXPECT_EQ(xmlFindTag(xml, \"gpu\", &gpuNode), ncclSuccess);\n  EXPECT_NE(gpuNode, nullptr);\n\n  if (gpuNode) {\n    const char *gcn;\n    EXPECT_EQ(xmlGetAttr(gpuNode, \"gcn\", &gcn), ncclSuccess);\n    EXPECT_STREQ(gcn, \"gfx942\");\n\n    // Verify XGMI (NVLINK equivalent on AMD)\n    struct ncclXmlNode *xgmiNode = nullptr;\n    EXPECT_EQ(xmlGetSub(gpuNode, \"xgmi\", &xgmiNode), ncclSuccess);\n    EXPECT_NE(xgmiNode, nullptr);\n  }\n\n  free(xml);\n}\n\n// Test C2C loading separately (if supported)\nTEST_F(XmlTest, TestC2cLoading_IfSupported) {\n  std::string c2cXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n    <pci busid=\"0000:01:00.0\" class=\"0x030200\">\n      <gpu dev=\"0\" sm=\"110\">\n        <c2c tclass=\"1\">\n          <link target=\"4\" bw=\"50\"/>\n          <link target=\"5\" bw=\"50\"/>\n        </c2c>\n      </gpu>\n    </pci>\n  </cpu>\n</system>)\";\n\n  createTestXmlFile(c2cXml);\n\n  struct ncclXml *xml = allocateXml(20);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess);\n\n  struct ncclXmlNode *c2cNode = nullptr;\n  EXPECT_EQ(xmlFindTag(xml, \"c2c\", &c2cNode), ncclSuccess);\n  // Note: C2C might be ignored in some builds, so we don't assert it exists\n  if (c2cNode) {\n    const char *tclass;\n    EXPECT_EQ(xmlGetAttr(c2cNode, \"tclass\", &tclass), ncclSuccess);\n    EXPECT_STREQ(tclass, \"1\");\n  }\n\n  free(xml);\n}\n\n// Test individual component loading functions - System\nTEST_F(XmlTest, TestSystemLoading_ValidVersion) {\n  std::string systemXml = R\"(<system version=\"2\" name=\"testSystem\">\n  <cpu numaid=\"0\" affinity=\"0000ffff\" arch=\"x86_64\"/>\n</system>)\";\n\n  createTestXmlFile(systemXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess);\n\n  free(xml);\n}\n\nTEST_F(XmlTest, TestSystemLoading_InvalidVersion) {\n  std::string systemXml = R\"(<system version=\"999\" name=\"testSystem\">\n  <cpu numaid=\"0\"/>\n</system>)\";\n\n  createTestXmlFile(systemXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclInvalidUsage); // Should fail due to wrong version\n\n  free(xml);\n}\n\n// Test CPU loading with various attributes\nTEST_F(XmlTest, TestCpuLoading_CompleteAttributes) {\n  std::string cpuXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"0000ffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"25\" modelid=\"1\">\n    <pci busid=\"0000:00:01.0\" class=\"0x060400\"/>\n    <nic>\n      <net name=\"eth0\" dev=\"0\" speed=\"10\"/>\n    </nic>\n  </cpu>\n</system>)\";\n\n  createTestXmlFile(cpuXml);\n\n  struct ncclXml *xml = allocateXml(20);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess);\n\n  if (result == ncclSuccess) {\n    struct ncclXmlNode *cpuNode = nullptr;\n    EXPECT_EQ(xmlFindTag(xml, \"cpu\", &cpuNode), ncclSuccess);\n    EXPECT_NE(cpuNode, nullptr);\n\n    if (cpuNode) {\n      const char *arch;\n      EXPECT_EQ(xmlGetAttr(cpuNode, \"arch\", &arch), ncclSuccess);\n      EXPECT_STREQ(arch, \"x86_64\");\n    }\n  }\n\n  free(xml);\n}\n\n// Test PCI loading with nested structure\nTEST_F(XmlTest, TestPciLoading_NestedStructure) {\n  std::string pciXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n    <pci busid=\"0000:00:01.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x1234\">\n      <pci busid=\"0000:01:00.0\" class=\"0x030200\" vendor=\"0x1002\" device=\"0x73df\">\n        <gpu dev=\"0\" sm=\"110\"/>\n      </pci>\n      <pci busid=\"0000:02:00.0\" class=\"0x020000\">\n        <nic>\n          <net name=\"mlx5_0\" dev=\"0\"/>\n        </nic>\n      </pci>\n      <pcilink class=\"0x060400\" link=\"1\"/>\n    </pci>\n  </cpu>\n</system>)\";\n\n  createTestXmlFile(pciXml);\n\n  struct ncclXml *xml = allocateXml(30);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess);\n\n  struct ncclXmlNode *pciNode = nullptr;\n  EXPECT_EQ(xmlFindTag(xml, \"pci\", &pciNode), ncclSuccess);\n  EXPECT_NE(pciNode, nullptr);\n\n  if (pciNode) {\n    const char *busid;\n    EXPECT_EQ(xmlGetAttr(pciNode, \"busid\", &busid), ncclSuccess);\n    EXPECT_STREQ(busid, \"0000:00:01.0\");\n  }\n\n  free(xml);\n}\n\n// Test NIC and NET loading\nTEST_F(XmlTest, TestNicNetLoading_MultipleNets) {\n  std::string nicNetXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n    <pci busid=\"0000:03:00.0\" class=\"0x020000\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"100\" port=\"1\"/>\n        <net name=\"mlx5_1\" dev=\"1\" speed=\"100\" port=\"2\"/>\n      </nic>\n    </pci>\n    <nic>\n      <net name=\"eth0\" dev=\"2\" speed=\"10\" port=\"1\"/>\n      <net name=\"eth1\" dev=\"3\" speed=\"1\" port=\"1\"/>\n    </nic>\n  </cpu>\n</system>)\";\n\n  createTestXmlFile(nicNetXml);\n\n  struct ncclXml *xml = allocateXml(30);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess);\n\n  struct ncclXmlNode *nicNode = nullptr;\n  EXPECT_EQ(xmlFindTag(xml, \"nic\", &nicNode), ncclSuccess);\n  EXPECT_NE(nicNode, nullptr);\n\n  if (nicNode) {\n    struct ncclXmlNode *netNode = nullptr;\n    EXPECT_EQ(xmlGetSub(nicNode, \"net\", &netNode), ncclSuccess);\n    EXPECT_NE(netNode, nullptr);\n\n    if (netNode) {\n      const char *name;\n      EXPECT_EQ(xmlGetAttr(netNode, \"name\", &name), ncclSuccess);\n      EXPECT_NE(name, nullptr);\n    }\n  }\n\n  free(xml);\n}\n\n// Test PciLink loading\nTEST_F(XmlTest, TestPciLinkLoading_MultipleLinks) {\n  std::string pciLinkXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n    <pci busid=\"0000:00:01.0\" class=\"0x060400\">\n      <pcilink class=\"0x060400\" link=\"1\"/>\n      <pcilink class=\"0x060400\" link=\"2\"/>\n      <pcilink class=\"0x060400\" link=\"4\"/>\n    </pci>\n  </cpu>\n</system>)\";\n\n  createTestXmlFile(pciLinkXml);\n\n  struct ncclXml *xml = allocateXml(20);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess);\n\n  struct ncclXmlNode *pciLinkNode = nullptr;\n  EXPECT_EQ(xmlFindTag(xml, \"pcilink\", &pciLinkNode), ncclSuccess);\n  EXPECT_NE(pciLinkNode, nullptr);\n\n  if (pciLinkNode) {\n    const char *link;\n    EXPECT_EQ(xmlGetAttr(pciLinkNode, \"link\", &link), ncclSuccess);\n    EXPECT_NE(link, nullptr);\n  }\n\n  free(xml);\n}\n\n// Test XGMI loading\nTEST_F(XmlTest, TestXgmiLoading_ComplexTopology) {\n  std::string xgmiXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n    <pci busid=\"0000:01:00.0\" class=\"0x030200\">\n      <gpu dev=\"0\" sm=\"110\">\n        <xgmi maxcount=\"8\">\n          <link target=\"1\" count=\"4\" bw=\"25\"/>\n          <link target=\"2\" count=\"4\" bw=\"25\"/>\n          <link target=\"3\" count=\"2\" bw=\"25\"/>\n        </xgmi>\n      </gpu>\n    </pci>\n  </cpu>\n</system>)\";\n\n  createTestXmlFile(xgmiXml);\n\n  struct ncclXml *xml = allocateXml(20);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess);\n\n  struct ncclXmlNode *xgmiNode = nullptr;\n  EXPECT_EQ(xmlFindTag(xml, \"xgmi\", &xgmiNode), ncclSuccess);\n  EXPECT_NE(xgmiNode, nullptr);\n\n  if (xgmiNode) {\n    const char *maxcount;\n    EXPECT_EQ(xmlGetAttr(xgmiNode, \"maxcount\", &maxcount), ncclSuccess);\n    EXPECT_STREQ(maxcount, \"8\");\n  }\n\n  free(xml);\n}\n\n// Test error cases - missing required attributes\nTEST_F(XmlTest, TestErrorCases_MissingAttributes) {\n  // Test system without version\n  std::string noVersionXml = R\"(<system name=\"testSystem\">\n  <cpu numaid=\"0\"/>\n</system>)\";\n\n  createTestXmlFile(noVersionXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_NE(result, ncclSuccess); // Should fail due to missing version\n\n  free(xml);\n}\n\n// Test corner case - empty components\nTEST_F(XmlTest, TestCornerCases_EmptyComponents) {\n  std::string emptyComponentsXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n    <pci busid=\"0000:01:00.0\" class=\"0x030200\">\n      <gpu dev=\"0\" sm=\"110\">\n        <xgmi maxcount=\"0\"/>\n        <c2c tclass=\"0\"/>\n      </gpu>\n    </pci>\n    <nic/>\n  </cpu>\n</system>)\";\n\n  createTestXmlFile(emptyComponentsXml);\n\n  struct ncclXml *xml = allocateXml(20);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess);\n\n  // Verify empty components are handled gracefully\n  struct ncclXmlNode *nicNode = nullptr;\n  EXPECT_EQ(xmlFindTag(xml, \"nic\", &nicNode), ncclSuccess);\n  EXPECT_NE(nicNode, nullptr);\n\n  free(xml);\n}\n\n// Test stress case - large topology\nTEST_F(XmlTest, TestStressCase_LargeTopology) {\n  std::string largeTopologyXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">)\";\n\n  // Add multiple GPUs\n  for (int i = 0; i < 8; i++) {\n    largeTopologyXml += \"<pci busid=\\\"0000:0\" + std::to_string(i + 1) +\n                        \":00.0\\\" class=\\\"0x030200\\\">\";\n    largeTopologyXml +=\n        \"<gpu dev=\\\"\" + std::to_string(i) + \"\\\" sm=\\\"110\\\" gcn=\\\"gfx942\\\">\";\n    largeTopologyXml += \"<xgmi maxcount=\\\"8\\\">\";\n    for (int j = 0; j < 8; j++) {\n      if (i != j) {\n        largeTopologyXml += \"<link target=\\\"\" + std::to_string(j) +\n                            \"\\\" count=\\\"4\\\" bw=\\\"25\\\"/>\";\n      }\n    }\n    largeTopologyXml += \"</xgmi></gpu></pci>\";\n  }\n\n  // Add multiple NICs\n  for (int i = 0; i < 4; i++) {\n    largeTopologyXml += \"<pci busid=\\\"0000:1\" + std::to_string(i + 1) +\n                        \":00.0\\\" class=\\\"0x020000\\\">\";\n    largeTopologyXml += \"<nic><net name=\\\"mlx5_\" + std::to_string(i) +\n                        \"\\\" dev=\\\"\" + std::to_string(i) +\n                        \"\\\" speed=\\\"100\\\"/></nic></pci>\";\n  }\n\n  largeTopologyXml += \"</cpu></system>\";\n\n  createTestXmlFile(largeTopologyXml);\n\n  struct ncclXml *xml = allocateXml(200);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess);\n\n  // Verify multiple components were loaded\n  EXPECT_GT(xml->maxIndex, 37); // Should have many nodes\n\n  free(xml);\n}\n\n// Test malformed XML handling\nTEST_F(XmlTest, TestMalformedXml_GracefulFailure) {\n  std::string malformedXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n    <pci busid=\"0000:01:00.0\" class=\"0x030200\">\n      <gpu dev=\"0\" sm=\"110\">\n        <xgmi maxcount=\"8\"\n      </gpu>\n    </pci>\n  </cpu>\n</system>)\"; // Missing closing bracket\n\n  createTestXmlFile(malformedXml);\n\n  struct ncclXml *xml = allocateXml(20);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_NE(result, ncclSuccess); // Should fail gracefully\n\n  free(xml);\n}\n\n// Test XML parsing warnings through ncclTopoGetXmlFromFile\nTEST_F(XmlTest, TestXmlWarnings_UnexpectedEOF) {\n  // Create XML file with unexpected EOF (truncated)\n  std::string truncatedXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n    <pci busid=\"0000:01:00.0\")\"; // Missing closing quotes and elements\n\n  createTestXmlFile(truncatedXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  // This should trigger \"XML Parse : Unexpected EOF\" warning\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_NE(result, ncclSuccess);\n\n  free(xml);\n}\n\nTEST_F(XmlTest, TestXmlWarnings_ExpectedQuote) {\n  // Create XML with missing quotes around attribute values\n  std::string noQuotesXml = R\"(<system version=2>\n  <cpu numaid=0>\n  </cpu>\n</system>)\";\n\n  createTestXmlFile(noQuotesXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  // This should trigger \"XML Parse : Expected (double) quote\" warning\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_NE(result, ncclSuccess);\n\n  free(xml);\n}\n\nTEST_F(XmlTest, TestXmlWarnings_UnexpectedValue) {\n  // Create XML with unexpected value assignment\n  std::string unexpectedValueXml = R\"(<system>\n  <cpu=\"unexpected\"/>\n</system>)\";\n\n  createTestXmlFile(unexpectedValueXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  // This should trigger \"XML Parse : Unexpected value with name\" warning\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_NE(result, ncclSuccess);\n\n  free(xml);\n}\n\nTEST_F(XmlTest, TestXmlWarnings_UnterminatedComment) {\n  // Create XML with unterminated comment\n  std::string unterminatedCommentXml = R\"(<system version=\"2\">\n  <!-- This comment is never closed\n  <cpu numaid=\"0\"/>\n</system>)\";\n\n  createTestXmlFile(unterminatedCommentXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  // This should trigger \"XML Parse error : unterminated comment\" warning\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_NE(result, ncclSuccess);\n\n  free(xml);\n}\n\nTEST_F(XmlTest, TestXmlWarnings_ExpectingBracket) {\n  // Create XML without proper opening bracket\n  std::string noBracketXml = R\"(system version=\"2\">\n  <cpu numaid=\"0\"/>\n</system>)\";\n\n  createTestXmlFile(noBracketXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  // This should trigger \"XML Parse error : expecting '<'\" warning\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_NE(result, ncclSuccess);\n\n  free(xml);\n}\n\nTEST_F(XmlTest, TestXmlWarnings_UnexpectedTrailing) {\n  // Create XML with unexpected trailing characters in closing tag\n  std::string trailingXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n  </cpu extra>\n</system>)\";\n\n  createTestXmlFile(trailingXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  // This should trigger \"XML Parse error : unexpected trailing\" warning\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_NE(result, ncclSuccess);\n\n  free(xml);\n}\n\nTEST_F(XmlTest, TestXmlWarnings_ExpectedClosingBracket) {\n  // Create XML without proper closing bracket\n  std::string noClosingBracketXml = R\"(<system version=\"2\"\n  <cpu numaid=\"0\"/>\n</system>)\";\n\n  createTestXmlFile(noClosingBracketXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  // This should trigger \"XML Parse : expected >, got\" warning\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_NE(result, ncclSuccess);\n\n  free(xml);\n}\n\nTEST_F(XmlTest, TestXmlWarnings_UnterminatedElement) {\n  // Create XML with unterminated element\n  std::string unterminatedXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n    <pci busid=\"0000:01:00.0\">\n      <gpu dev=\"0\"/>\n    <!-- missing </pci> and </cpu> -->\n</system>)\";\n\n  createTestXmlFile(unterminatedXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  // This should trigger \"XML Parse : unterminated\" warning\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_NE(result, ncclSuccess);\n\n  free(xml);\n}\n\nTEST_F(XmlTest, TestXmlWarnings_XmlMismatch) {\n  // Create XML with mismatched opening/closing tags\n  std::string mismatchXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n    <pci busid=\"0000:01:00.0\">\n      <gpu dev=\"0\"/>\n    </nic>  <!-- Should be </pci> -->\n  </cpu>\n</system>)\";\n\n  createTestXmlFile(mismatchXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  // This should trigger \"XML Mismatch\" warning\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_NE(result, ncclSuccess);\n\n  free(xml);\n}\n\nTEST_F(XmlTest, TestXmlWarnings_TooManySubnodes) {\n  // Create XML that would exceed MAX_SUBS limit\n  std::string xmlStart = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n    <pci busid=\"0000:00:01.0\">)\";\n\n  std::string xmlEnd = R\"(    </pci>\n  </cpu>\n</system>)\";\n\n  // Add more than MAX_SUBS (512) PCI subnodes\n  std::string manySubsXml = xmlStart;\n  for (int i = 0; i <= 512; i++) {\n    char pciEntry[128];\n    snprintf(pciEntry, sizeof(pciEntry),\n             \"\\n      <pci busid=\\\"0000:%02x:00.0\\\"/>\", i % 256);\n    manySubsXml += pciEntry;\n  }\n  manySubsXml += xmlEnd;\n\n  createTestXmlFile(manySubsXml);\n\n  struct ncclXml *xml =\n      allocateXml(1000); // Enough for nodes, but will hit subnodes limit\n  ASSERT_NE(xml, nullptr);\n\n  // This should trigger \"Error : XML parser is limited to X subnodes\" warning\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_NE(result, ncclSuccess);\n\n  free(xml);\n}\n\nTEST_F(XmlTest, TestXmlWarnings_WrongVersion) {\n  // Create XML with wrong version (not NCCL_TOPO_XML_VERSION = 2)\n  std::string wrongVersionXml = R\"(<system version=\"999\">\n  <cpu numaid=\"0\"/>\n</system>)\";\n\n  createTestXmlFile(wrongVersionXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  // This should trigger \"XML Topology has wrong version\" warning\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclInvalidUsage);\n\n  free(xml);\n}\n\nTEST_F(XmlTest, TestXmlWarnings_FileNotFound) {\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  // This should trigger \"Could not open XML topology file\" warning when warn=1\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"nonexistent_file.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess); // Function succeeds but warns\n\n  // With warn=0, no warning should be generated\n  result = ncclTopoGetXmlFromFile(\"nonexistent_file.xml\", xml, 0);\n  EXPECT_EQ(result, ncclSuccess);\n\n  free(xml);\n}\n\n// Test edge cases that trigger INFO messages (which are warnings in practice)\nTEST_F(XmlTest, TestXmlInfo_IgnoringElement) {\n  // Create XML with unknown elements that should be ignored\n  std::string unknownElementXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n    <unknown_element id=\"1\"/>\n    <another_unknown value=\"test\"/>\n    <pci busid=\"0000:01:00.0\"/>\n  </cpu>\n</system>)\";\n\n  createTestXmlFile(unknownElementXml);\n\n  struct ncclXml *xml = allocateXml(20);\n  ASSERT_NE(xml, nullptr);\n\n  // This should trigger \"Ignoring element\" INFO messages\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess); // Should succeed but log ignored elements\n\n  free(xml);\n}\n\n// Test complex malformed XML scenarios\nTEST_F(XmlTest, TestXmlWarnings_MalformedComplex1) {\n  // Mixed malformation: missing quotes and wrong structure\n  std::string complexMalformedXml = R\"(<system version=2>\n  <cpu numaid=\"0>\n    <pci busid=\"0000:01:00.0\"\n      <gpu dev=\"0\">\n    </pci>\n  </cpu>\n</system>)\";\n\n  createTestXmlFile(complexMalformedXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_NE(result, ncclSuccess);\n\n  free(xml);\n}\n\nTEST_F(XmlTest, TestXmlWarnings_MalformedComplex2) {\n  // Another complex malformation: unclosed tags and unexpected characters\n  std::string complexMalformedXml2 = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n    <pci busid=\"0000:01:00.0\">\n      <gpu dev=\"0\"\n        <xgmi target=\"1\"/>\n      </gpu\n    </pci>\n  </cpu>\n<!-- Missing </system> tag -->)\";\n\n  createTestXmlFile(complexMalformedXml2);\n\n  struct ncclXml *xml = allocateXml(20);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_NE(result, ncclSuccess);\n\n  free(xml);\n}\n\n// Fix the minimal memory test - need at least 2 nodes for even minimal XML\nTEST_F(XmlTest, TestXmlWarnings_MinimalMemory) {\n  // Test with just enough memory for minimal valid XML (2 nodes minimum)\n  struct ncclXml *xml = allocateXml(2);\n  ASSERT_NE(xml, nullptr);\n\n  std::string minimalXml = R\"(<system version=\"2\"/>)\";\n  createTestXmlFile(minimalXml);\n\n  // Should succeed with minimal valid XML and 2 nodes\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess);\n\n  free(xml);\n}\n\n// Add a proper test for the \"too many nodes\" warning\nTEST_F(XmlTest, TestXmlWarnings_TooManyNodes) {\n  // Create XML with more nodes than limit can handle\n  struct ncclXml *xml = allocateXml(1); // Only 1 node - will fail immediately\n  ASSERT_NE(xml, nullptr);\n\n  // Even minimal XML needs more than 1 node\n  std::string minimalXml = R\"(<system version=\"2\"/>)\";\n  createTestXmlFile(minimalXml);\n\n  // This should trigger \"Error : XML parser is limited to 1 nodes\" warning\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclInternalError); // Should fail due to node limit\n\n  free(xml);\n}\n\n// Better test for node limit with more realistic scenario\nTEST_F(XmlTest, TestXmlWarnings_NodeLimitRealistic) {\n  // Create XML that will exceed a small but reasonable node limit\n  struct ncclXml *xml = allocateXml(3); // Small limit that should be exceeded\n  ASSERT_NE(xml, nullptr);\n\n  std::string complexXml = R\"(<system version=\"2\">\n  <cpu numaid=\"0\">\n    <pci busid=\"0000:01:00.0\">\n      <gpu dev=\"0\"/>\n    </pci>\n    <pci busid=\"0000:02:00.0\">\n      <gpu dev=\"1\"/>\n    </pci>\n  </cpu>\n</system>)\";\n\n  createTestXmlFile(complexXml);\n\n  // This should trigger \"Error : XML parser is limited to 3 nodes\" warning\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclInternalError);\n\n  free(xml);\n}\n\n// Fix the boundary conditions test to be more specific\nTEST_F(XmlTest, TestXmlWarnings_BoundaryConditions) {\n  // Test exactly at the MAX_STR_LEN boundary (255 characters)\n  // But use a more reasonable test that should actually trigger the warning\n  std::string longButValidName(253, 'x'); // Just under the limit\n  std::string boundaryXml =\n      \"<system version=\\\"2\\\">\\n  <\" + longButValidName + \"/>\\n</system>\";\n\n  createTestXmlFile(boundaryXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  // This should succeed since we're just under the boundary\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess);\n\n  free(xml);\n}\n\n// Add a test that actually triggers the name too long warning\nTEST_F(XmlTest, TestXmlWarnings_NameTooLong) {\n  // Create a test file manually that will trigger the name too long condition\n  // We need to create malformed XML that the parser will try to parse\n  std::string veryLongName(300, 'a'); // Much longer than MAX_STR_LEN (255)\n\n  // Create XML that has a very long element name without proper termination\n  // This is tricky because we need the parser to actually try to parse the long\n  // name\n  std::ofstream file(\"test_topology.xml\");\n  file << \"<system version=\\\"2\\\">\\n\";\n  file << \"  <\"\n       << veryLongName; // Don't close the tag properly to force parsing\n  file << \" id=\\\"1\\\"/>\\n\";\n  file << \"</system>\";\n  file.close();\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  // This should trigger \"Error : name too long (max 255)\" warning\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_NE(result, ncclSuccess);\n\n  free(xml);\n}\n\n// Test the attribute count warning with a more controlled approach\nTEST_F(XmlTest, TestXmlWarnings_TooManyAttributes_Controlled) {\n  // Create XML with exactly MAX_ATTR_COUNT + 1 attributes to trigger the\n  // warning\n  std::string xmlStart = R\"(<system version=\"2\">\n  <cpu numaid=\"0\")\";\n\n  // Add exactly MAX_ATTR_COUNT (16) + a few more attributes\n  std::string attributes;\n  for (int i = 1; i <= 20; i++) { // More than MAX_ATTR_COUNT (16)\n    attributes +=\n        \" attr\" + std::to_string(i) + \"=\\\"value\" + std::to_string(i) + \"\\\"\";\n  }\n\n  std::string xmlEnd = R\"(>\n    <pci busid=\"0000:01:00.0\"/>\n  </cpu>\n</system>)\";\n\n  std::string manyAttrsXml = xmlStart + attributes + xmlEnd;\n  createTestXmlFile(manyAttrsXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  // This should trigger \"XML Parse : Ignoring extra attributes (max 16)\" INFO\n  // message\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess); // Should succeed but log the warning\n\n  free(xml);\n}\n\n// Test valid XML with warning-prone structures that should succeed\nTEST_F(XmlTest, TestXmlWarnings_EdgeCaseSuccess) {\n  // Test XML that's at the edge but should still parse successfully\n  std::string edgeCaseXml = R\"(<system version=\"2\">\n  <!-- Valid comment -->\n  <cpu numaid=\"0\">\n    <pci busid=\"0000:01:00.0\" class=\"0x030200\">\n      <gpu dev=\"0\"/>\n    </pci>\n  </cpu>\n</system>)\";\n\n  createTestXmlFile(edgeCaseXml);\n\n  struct ncclXml *xml = allocateXml(10);\n  ASSERT_NE(xml, nullptr);\n\n  ncclResult_t result = ncclTopoGetXmlFromFile(\"test_topology.xml\", xml, 1);\n  EXPECT_EQ(result, ncclSuccess);\n\n  // Verify structure was parsed correctly\n  struct ncclXmlNode *systemNode = nullptr;\n  EXPECT_EQ(xmlFindTag(xml, \"system\", &systemNode), ncclSuccess);\n  EXPECT_NE(systemNode, nullptr);\n\n  free(xml);\n}"
  },
  {
    "path": "test/latency_profiler/LatencyProfilerUnitTest.cpp",
    "content": "/*\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n#include \"latency_profiler/CollTraceUtils.h\"\n#include \"latency_profiler/EventQueue.h\"\n\n#include <gtest/gtest.h>\n#include <thread>\n#include <unordered_map>\n\nusing latency_profiler::CollStats;\nusing latency_profiler::CollTraceInfo;\nusing latency_profiler::EventQueue;\n\nnamespace RcclUnitTesting {\n  TEST(CollTraceUtilsTest, aggregateResultsTest) {\n    std::deque<std::unique_ptr<CollTraceInfo>> results;\n    // Host has 2 ranks, Ring buffer has 3 records\n    auto info1 = CollTraceInfo{.collId = 123, .opName = \"allReduce\", .dataType = \"float32\", .count = 10};\n    auto info2 = CollTraceInfo{.collId = 127, .opName = \"allReduce\", .dataType = \"int64\", .count = 20};\n    auto info3 = CollTraceInfo{.collId = 200, .opName = \"allGather\", .dataType = \"float32\", .count = 50};\n    results.emplace_back(\n        std::make_unique<CollTraceInfo>(info1));\n    results.emplace_back(\n        std::make_unique<CollTraceInfo>(info2));\n    results.emplace_back(\n        std::make_unique<CollTraceInfo>(info3));\n\n    std::vector<float> latencyAllGather = {10, 20, 50, 15, 21, 45};\n    auto stats = aggregateResults(\n        results,\n        latencyAllGather,\n        2 /* ranks per host */,\n        3 /* element per rank */);\n    EXPECT_EQ(3, stats.size());\n    std::vector<CollStats> expected = {\n        CollStats(123, 50, 10000, 15000, \"allReduce\", \"int64\", 0),\n        CollStats(127, 5, 20000, 21000, \"allReduce\", \"int64\", 0),\n        CollStats(200, 11, 45000, 50000, \"allReduce\", \"int64\", 0)\n    };\n\n    for (int i = 0; i < 3; i++) {\n      EXPECT_EQ(stats[i].collId, expected[i].collId);\n      EXPECT_EQ(stats[i].percent, expected[i].percent);\n      EXPECT_EQ(stats[i].minLatencyUs, expected[i].minLatencyUs);\n      EXPECT_EQ(stats[i].maxLatencyUs, expected[i].maxLatencyUs);\n    }\n  }\n\n  TEST(CollTraceUtilsTest, EventQueueOperationTest) {\n    EventQueue<int> q;\n    q.push(std::make_unique<int>(5));\n    q.push(std::make_unique<int>(100));\n    auto res1 = q.waitPop();\n    EXPECT_EQ(*res1, 5);\n    auto res2 = q.waitPop();\n    EXPECT_EQ(*res2, 100);\n  }\n\n  void producer(EventQueue<std::string>& q, const std::string& str) {\n    q.push(std::make_unique<std::string>(str));\n  }\n\n  void consumer(EventQueue<std::string>& q, std::vector<std::string>& results) {\n    results.clear();\n    auto res1 = q.waitPop();\n    results.push_back(*res1);\n    auto res2 = q.waitPop();\n    results.push_back(*res2);\n  }\n\n  TEST(CollTraceUtilsTest, EventQueueMultiThreadTest) {\n    EventQueue<std::string> q;\n    std::vector<std::string> results;\n    std::thread t0(consumer, std::ref(q), std::ref(results));\n    std::thread t1(producer, std::ref(q), \"hello\");\n    std::thread t2(producer, std::ref(q), \"world\");\n    t0.join();\n    t1.join();\n    t2.join();\n    EXPECT_TRUE(results[0] == \"hello\" || results[0] == \"world\");\n    EXPECT_TRUE(results[1] == \"hello\" || results[1] == \"world\");\n  }\n\n  TEST(CollTraceUtilsTest, getSizeMbTest) {\n    std::unordered_map<int, std::vector<std::string>> bytesToTypes = {\n        {1, {\"ncclInt8\", \"ncclFp8E4M3\", \"ncclFp8E5M2\"}},\n        {2, {\"ncclFloat16\", \"ncclBfloat16\"}},\n        {4, {\"ncclInt32\", \"ncclUint32\", \"ncclFloat32\"}},\n        {8, {\"ncclInt64\", \"ncclUint64\", \"ncclFloat64\"}}};\n    for (const auto& it : bytesToTypes) {\n      auto types = it.second;\n      for (const auto& type : types) {\n        auto mb = latency_profiler::getSizeMb(type, 1024 * 1024);\n        EXPECT_NEAR(mb, it.first, 0.01);\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "test/proxy_trace/ProxyTraceUnitTests.cpp",
    "content": "/*\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n#include \"proxy.h\"\n#include \"proxy_trace/proxy_trace.h\"\n#include <cstdint>\n#include <gtest/gtest.h>\n#include <memory>\n#include <unistd.h>\nnamespace RcclUnitTesting {\n\nclass ProxyTraceTestFixture : public ::testing::Test {\npublic:\n  ncclProxyState *proxyState;\n  ncclProxySubArgs *sub1, *sub2;\n  uint64_t commHash = 123456789;\n  int64_t opCount = 31;\n  int nSteps = 10;\n  void SetUp() override {\n    proxyState = new ncclProxyState();\n    proxyState->proxyTrace = std::make_unique<facebook_rccl::ProxyTrace>(0);\n    EXPECT_NE(proxyState->proxyTrace, nullptr);\n    sub1 = new ncclProxySubArgs();\n    sub2 = new ncclProxySubArgs();\n    sub1->traceKey = {commHash, opCount, -1};\n    sub2->traceKey = {commHash, opCount, -1};\n    sub1->nsteps = nSteps;\n    sub2->nsteps = nSteps;\n  }\n  void TearDown() override {\n    delete sub1;\n    delete sub2;\n    delete proxyState;\n  }\n  void AddTraceOp(ncclProxySubArgs *sub, facebook_rccl::ProxyOpType opType) {\n    proxyState->proxyTrace->addNewProxyOp(\n        sub->traceKey,\n        sub->traceInfo, \n        opType, \n        sub->channelId,\n        sub->nsteps, sub->nbytes, sub->peer);\n  }\n};\n\nTEST_F(ProxyTraceTestFixture, nonEmptySingleton) {\n  const auto &tracer = proxyState->proxyTrace;\n  EXPECT_NE(tracer, nullptr);\n}\n\nTEST_F(ProxyTraceTestFixture, addTraceOp) {\n  auto &tracer = proxyState->proxyTrace;\n  AddTraceOp(sub1, facebook_rccl::ProxyOpType::SEND);\n  EXPECT_EQ(sub1->traceKey.proxyOpId, 0);\n  AddTraceOp(sub2, facebook_rccl::ProxyOpType::RECV);\n  EXPECT_EQ(sub2->traceKey.proxyOpId, 1);\n  auto traceRecordPtr = tracer->getProxyTraceOpPtr(sub1->traceKey);\n  EXPECT_EQ(traceRecordPtr->opType, facebook_rccl::ProxyOpType::SEND);\n}\n\nTEST_F(ProxyTraceTestFixture, getMapSizeMB) {\n  auto &tracer = proxyState->proxyTrace;\n  AddTraceOp(sub1, facebook_rccl::ProxyOpType::SEND);\n  auto size1 = tracer->getMapSizeMB();\n  EXPECT_GT(size1, 0);\n  AddTraceOp(sub2, facebook_rccl::ProxyOpType::RECV);\n  auto size2 = tracer->getMapSizeMB();\n  EXPECT_GT(size2, size1);\n  // finish sub1\n  sub1->done = nSteps;\n  tracer->updateProxyOpCounter(\n      sub1->traceKey,\n      facebook_rccl::ProxyCounterTypes::DONE,\n      sub1->done);\n  // sub1 is now serialized and should be moved from activeOps to finishedOps\n  auto size3 = tracer->getMapSizeMB();\n  EXPECT_GT(size3, size1);\n}\n\nTEST_F(ProxyTraceTestFixture, updateTraceOp) {\n  auto &tracer = proxyState->proxyTrace;\n  AddTraceOp(sub1, facebook_rccl::ProxyOpType::SEND);\n  tracer->updateProxyOpCounter(\n      sub1->traceKey,\n      facebook_rccl::ProxyCounterTypes::KERNEL_COPY_READY, \n      1);\n  tracer->updateProxyOpCounter(\n      sub1->traceKey, facebook_rccl::ProxyCounterTypes::POSTED, 3);\n  tracer->updateProxyOpCounter(\n      sub1->traceKey, facebook_rccl::ProxyCounterTypes::TRANSMITTED, 2);\n\n  auto traceRecordPtr = tracer->getProxyTraceOpPtr(sub1->traceKey);\n  EXPECT_NE(traceRecordPtr, nullptr);\n  EXPECT_EQ(traceRecordPtr->counters[facebook_rccl::ProxyCounterTypes::POSTED],\n            3);\n  EXPECT_EQ(\n      traceRecordPtr->counters[facebook_rccl::ProxyCounterTypes::TRANSMITTED],\n      2);\n  EXPECT_EQ(traceRecordPtr\n                ->counters[facebook_rccl::ProxyCounterTypes::KERNEL_COPY_READY],\n            1);\n  EXPECT_GE(traceRecordPtr->lastUpdateTs, traceRecordPtr->startTs);\n}\n\nTEST_F(ProxyTraceTestFixture, updateTraceOp2) {\n  auto &tracer = proxyState->proxyTrace;\n  AddTraceOp(sub1, facebook_rccl::ProxyOpType::SEND);\n  int64_t rand = 123456789;\n  sub1->posted = rand;\n  tracer->updateProxyOpCounter(sub1->traceKey,\n                               facebook_rccl::ProxyCounterTypes::POSTED,\n                               sub1->posted);\n  auto traceRecordPtr = tracer->getProxyTraceOpPtr(sub1->traceKey);\n  EXPECT_EQ(traceRecordPtr->counters[facebook_rccl::ProxyCounterTypes::POSTED],\n            rand);\n}\n\n} // namespace RcclUnitTesting\n"
  },
  {
    "path": "test/transport/NetIbMPITests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <gtest/gtest.h>\n#include <hip/hip_runtime.h>\n#include \"MPITestBase.hpp\"\n#include \"ResourceGuards.hpp\"\n#include \"TestChecks.hpp\"\n#include \"DeviceBufferHelpers.hpp\"\n#include \"nccl.h\"\n#include \"net.h\"\n#include <vector>\n#include <memory>\n#include <cstring>\n#include <algorithm>\n\n#ifdef MPI_TESTS_ENABLED\n\n// Import helper namespaces\nusing namespace RCCLTestGuards;\nusing namespace RCCLTestHelpers;\n\n// External NET IB plugin\nextern ncclNet_t ncclNetIb;\n\n// NET IB-specific resource deleters\nstruct NetMHandleDeleter {\n    ncclNet_t* net;\n    void* comm;\n\n    NetMHandleDeleter(ncclNet_t* n = nullptr, void* c = nullptr) : net(n), comm(c) {}\n\n    void operator()(void* mhandle) const {\n        if (mhandle && net && comm) {\n            int rank = MPIEnvironment::world_rank;\n            TEST_INFO(\"Rank %d: NetMHandleDeleter - Deregistering memory handle (mhandle=%p, comm=%p)\",\n                      rank, mhandle, comm);\n            ncclResult_t result = net->deregMr(comm, mhandle);\n            TEST_INFO(\"Rank %d: NetMHandleDeleter - deregMr result: %d\", rank, result);\n        }\n    }\n};\n\n// NET IB connection guard\nclass NetConnectionGuard {\nprivate:\n    ncclNet_t* net_;\n    void* sendComm_;\n    void* recvComm_;\n    void* listenComm_;\n\npublic:\n    explicit NetConnectionGuard(ncclNet_t* net)\n        : net_(net), sendComm_(nullptr), recvComm_(nullptr), listenComm_(nullptr) {}\n\n    ~NetConnectionGuard() {\n        if (sendComm_ && net_) {\n            net_->closeSend(sendComm_);\n        }\n        if (recvComm_ && net_) {\n            net_->closeRecv(recvComm_);\n        }\n        if (listenComm_ && net_) {\n            net_->closeListen(listenComm_);\n        }\n    }\n\n    void setSendComm(void* comm) { sendComm_ = comm; }\n    void setRecvComm(void* comm) { recvComm_ = comm; }\n    void setListenComm(void* comm) { listenComm_ = comm; }\n\n    NetConnectionGuard(const NetConnectionGuard&) = delete;\n    NetConnectionGuard& operator=(const NetConnectionGuard&) = delete;\n};\n\n// Type alias for NetMHandleGuard using ResourceGuard\nusing NetMHandleGuard = RCCLTestGuards::ResourceGuard<void*, NetMHandleDeleter>;\n\n// Test fixture for NET IB tests\nclass NetIbMPITest : public MPITestBase {\nprotected:\n    static constexpr int kMinProcessesForMPI = 2;\n    static constexpr bool kRequirePowerOfTwo = true;\n    static constexpr int kNoNodeLimit = MPITestConstants::kNoNodeLimit;\n\n    // Buffer pattern constants\n    static constexpr int kBytePatternModulo = 256;\n\n    // Timing constants\n    static constexpr int kDefaultTimeoutMs = 5000;\n    static constexpr int kLargeTransferTimeoutMs = 30000;\n    static constexpr int kPollIntervalUs = 10000;  // 10ms\n    static constexpr int kPollIntervalMs = 10;\n    static constexpr int kMaxRetryAttempts = 1000;  // For NULL request handling\n\n    // Buffer size constants\n    static constexpr size_t kSmallBufferSize = 4096;\n    static constexpr size_t kLargeBufferSize = 16 * 1024 * 1024;  // 16 MB\n\n    // Test seed constants\n    static constexpr int kBaseSeedOffset = 1000;\n    static constexpr int kMultiSizeSeedOffset = 2000;\n\n    // Debug output constants\n    static constexpr int kNumDebugSamples = 4;\n\n    // Invalid device ID offset for negative tests\n    static constexpr int kInvalidDeviceOffset = 100;\n\n    // Process count constants\n    static constexpr int kExactTwoProcesses = 2;\n    static constexpr int kMinGpusPerNode = 1;\n\n    // Transfer test constants\n    static constexpr int kNumSequentialTransfers = 100;\n    static constexpr int kTransferTagBase = 300;\n\n    // Timeout constants\n    static constexpr int kLargeTransferTimeout = 30000;\n\n    ncclNet_t* net_;\n    int numDevices_;\n    std::vector<int> deviceIds_;\n\n    void SetUp() override {\n        MPITestBase::SetUp();\n        net_ = &ncclNetIb;\n        numDevices_ = 0;\n    }\n\n    void TearDown() override {\n        MPITestBase::TearDown();\n    }\n\n    // Helper: Initialize NET IB plugin\n    ncclResult_t InitNetIb() {\n        return net_->init(nullptr, nullptr);\n    }\n\n    // Helper: Get number of devices\n    ncclResult_t GetDeviceCount(int* ndev) {\n        return net_->devices(ndev);\n    }\n\n    // Helper: Get device properties\n    ncclResult_t GetDeviceProperties(int dev, ncclNetProperties_t* props) {\n        return net_->getProperties(dev, props);\n    }\n\n    // Helper: Create listen comm\n    ncclResult_t CreateListenComm(int dev, ncclNetHandle_t* handle, void** listenComm) {\n        return net_->listen(dev, handle, listenComm);\n    }\n\n    // Helper: Connect to remote\n    ncclResult_t ConnectToRemote(int dev, ncclNetHandle_t* handle, void** sendComm) {\n        return net_->connect(dev, nullptr, handle, sendComm, nullptr);\n    }\n\n    // Helper: Accept connection\n    ncclResult_t AcceptConnection(void* listenComm, void** recvComm) {\n        return net_->accept(listenComm, recvComm, nullptr);\n    }\n\n    // Helper: Register memory\n    ncclResult_t RegisterMemory(void* comm, void* data, size_t size, int type, void** mhandle) {\n        return net_->regMr(comm, data, size, type, mhandle);\n    }\n\n    // Helper: Register DMA-BUF memory\n    ncclResult_t RegisterDmaBufMemory(void* comm, void* data, size_t size, int type,\n                                      uint64_t offset, int fd, void** mhandle) {\n        return net_->regMrDmaBuf(comm, data, size, type, offset, fd, mhandle);\n    }\n\n    // Helper: Deregister memory\n    ncclResult_t DeregisterMemory(void* comm, void* mhandle) {\n        return net_->deregMr(comm, mhandle);\n    }\n\n    // Helper: Post send operation\n    ncclResult_t PostSend(void* sendComm, void* data, size_t size, int tag,\n                         void* mhandle, void** request) {\n        return net_->isend(sendComm, data, size, tag, mhandle, nullptr, request);\n    }\n\n    // Helper: Post recv operation\n    ncclResult_t PostRecv(void* recvComm, int n, void** data, size_t* sizes,\n                         int* tags, void** mhandles, void** request) {\n        return net_->irecv(recvComm, n, data, sizes, tags, mhandles, nullptr, request);\n    }\n\n    // Helper: Flush operation\n    ncclResult_t FlushRecv(void* recvComm, int n, void** data, int* sizes,\n                          void** mhandles, void** request) {\n        return net_->iflush(recvComm, n, data, sizes, mhandles, request);\n    }\n\n    // Helper: Test request completion\n    // No implementation for this method in the NET IB plugin\n    ncclResult_t TestRequest(void* request, int* done, int* sizes) {\n        return net_->test(request, done, sizes);\n    }\n\n    // Helper: Close send comm\n    ncclResult_t CloseSendComm(void* sendComm) {\n        return net_->closeSend(sendComm);\n    }\n\n    // Helper: Close recv comm\n    ncclResult_t CloseRecvComm(void* recvComm) {\n        return net_->closeRecv(recvComm);\n    }\n\n    // Helper: Close listen comm\n    ncclResult_t CloseListenComm(void* listenComm) {\n        return net_->closeListen(listenComm);\n    }\n\n    // Helper: Make virtual device\n    ncclResult_t MakeVirtualDevice(int* dev, ncclNetVDeviceProps_t* props) {\n        return net_->makeVDevice(dev, props);\n    }\n\n    // Helper: Setup connection between two ranks\n    struct ConnectionPair {\n        void* sendComm = nullptr;\n        void* recvComm = nullptr;\n        void* listenComm = nullptr;\n        ncclNetHandle_t handle;\n    };\n\n    ncclResult_t SetupConnection(int dev, ConnectionPair& pair, int rank, int peerRank) {\n        if (rank == 0) {\n            // Rank 0: Listen\n            RCCL_TEST_CHECK(CreateListenComm(dev, &pair.handle, &pair.listenComm));\n\n            // Send handle to peer\n            MPI_Send(&pair.handle, sizeof(ncclNetHandle_t), MPI_BYTE, peerRank, 0, MPI_COMM_WORLD);\n\n            // Accept connection\n            int done = 0;\n            while (!done) {\n                ncclResult_t result = AcceptConnection(pair.listenComm, &pair.recvComm);\n                if (result == ncclSuccess && pair.recvComm != nullptr) {\n                    done = 1;\n                }\n            }\n        } else {\n            // Rank 1: Connect\n            MPI_Recv(&pair.handle, sizeof(ncclNetHandle_t), MPI_BYTE, peerRank, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);\n\n            // Connect to peer\n            int done = 0;\n            while (!done) {\n                ncclResult_t result = ConnectToRemote(dev, &pair.handle, &pair.sendComm);\n                if (result == ncclSuccess && pair.sendComm != nullptr) {\n                    done = 1;\n                }\n            }\n        }\n\n        MPI_Barrier(MPI_COMM_WORLD);\n        return ncclSuccess;\n    }\n\n    // Helper: Initialize device buffer with pattern using DeviceBufferHelpers\n    hipError_t InitializeBuffer(void* buffer, size_t size, int pattern) {\n        // Use template-based helper with custom pattern: (pattern + i) % kBytePatternModulo\n        return initializeBufferWithPattern<uint8_t>(\n            buffer, size,\n            [pattern](size_t i) { return static_cast<uint8_t>((pattern + i) % kBytePatternModulo); }\n        );\n    }\n\n    // Helper: Verify device buffer pattern using DeviceBufferHelpers\n    bool VerifyBuffer(void* buffer, size_t size, int pattern) {\n        // Use template-based helper with pattern verification\n        return verifyBufferData<uint8_t>(\n            buffer, size,\n            [pattern](size_t i) {\n                return static_cast<uint8_t>((pattern + i) % kBytePatternModulo);\n            }\n        );\n    }\n\n    // Helper: Wait for request completion with timeout\n    ncclResult_t WaitForCompletion(void* request, int* sizes, int timeoutMs = kDefaultTimeoutMs) {\n        int done = 0;\n        int attempts = 0;\n        const int maxAttempts = timeoutMs / kPollIntervalMs;\n\n        while (!done && attempts < maxAttempts) {\n            ncclResult_t result = TestRequest(request, &done, sizes);\n\n            if (result != ncclSuccess) {\n                return result;\n            }\n\n            if (done) {\n                break;\n            } else {\n                usleep(kPollIntervalUs); // 10ms\n                attempts++;\n            }\n        }\n\n        return done ? ncclSuccess : ncclInternalError;\n    }\n};\n\n// Initialization Tests\n\nTEST_F(NetIbMPITest, InitializePlugin) {\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI, MPITestConstants::kNoProcessLimit,\n                                         kRequirePowerOfTwo, 1, kNoNodeLimit))\n        << \"Test requirements not met\";\n\n    ncclResult_t result = InitNetIb();\n    EXPECT_EQ(result, ncclSuccess) << \"Failed to initialize NET IB plugin\";\n}\n\nTEST_F(NetIbMPITest, GetDeviceCount) {\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI, MPITestConstants::kNoProcessLimit,\n                                         kRequirePowerOfTwo, 1, kNoNodeLimit))\n        << \"Test requirements not met\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    EXPECT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    EXPECT_GT(ndev, 0) << \"No IB devices found\";\n\n    if (MPIEnvironment::world_rank == 0) {\n        TEST_INFO(\"Found %d IB device(s)\", ndev);\n    }\n}\n\n// Device Properties Tests\n\nTEST_F(NetIbMPITest, GetDeviceProperties) {\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI, MPITestConstants::kNoProcessLimit,\n                                         kRequirePowerOfTwo, 1, kNoNodeLimit))\n        << \"Test requirements not met\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    for (int i = 0; i < ndev; i++) {\n        ncclNetProperties_t props;\n        memset(&props, 0, sizeof(props));\n\n        EXPECT_EQ(GetDeviceProperties(i, &props), ncclSuccess)\n            << \"Failed to get properties for device \" << i;\n\n        // Verify properties are valid\n        EXPECT_NE(props.name, nullptr) << \"Device \" << i << \" has NULL name\";\n        EXPECT_GT(props.speed, 0) << \"Device \" << i << \" has invalid speed\";\n        EXPECT_NE(props.pciPath, nullptr) << \"Device \" << i << \" has NULL pciPath\";\n\n        if (MPIEnvironment::world_rank == 0) {\n            TEST_INFO(\"Device %d: name=%s speed=%d pciPath=%s\",\n                   i, props.name, props.speed, props.pciPath);\n        }\n    }\n}\n\nTEST_F(NetIbMPITest, GetDevicePropertiesInvalidDevice) {\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI, MPITestConstants::kNoProcessLimit,\n                                         kRequirePowerOfTwo, 1, kNoNodeLimit))\n        << \"Test requirements not met\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n\n    ncclNetProperties_t props;\n\n    // Invalid device ID (too large)\n    ncclResult_t result = GetDeviceProperties(ndev + kInvalidDeviceOffset, &props);\n    EXPECT_NE(result, ncclSuccess) << \"Should fail for invalid device ID\";\n}\n\n// Connection Setup Tests\n\nTEST_F(NetIbMPITest, ListenAndConnect) {\n    ASSERT_TRUE(validateTestPrerequisites(kExactTwoProcesses, kExactTwoProcesses,\n                                         false, kMinGpusPerNode, kNoNodeLimit))\n        << \"Test requires exactly \" << kExactTwoProcesses << \" processes\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    ConnectionPair pair;\n    int rank = MPIEnvironment::world_rank;\n    int peerRank = (rank + 1) % 2;\n\n    ASSERT_EQ(SetupConnection(0, pair, rank, peerRank), ncclSuccess);\n\n    // Guard connections for automatic cleanup\n    NetConnectionGuard connGuard(net_);\n    if (rank == 0) {\n        connGuard.setRecvComm(pair.recvComm);\n        connGuard.setListenComm(pair.listenComm);\n    } else {\n        connGuard.setSendComm(pair.sendComm);\n    }\n\n    if (rank == 0) {\n        EXPECT_NE(pair.recvComm, nullptr) << \"Recv comm should be established\";\n        EXPECT_NE(pair.listenComm, nullptr) << \"Listen comm should exist\";\n    } else {\n        EXPECT_NE(pair.sendComm, nullptr) << \"Send comm should be established\";\n    }\n}\n\nTEST_F(NetIbMPITest, ConnectWithInvalidHandle) {\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI, MPITestConstants::kNoProcessLimit,\n                                         kRequirePowerOfTwo, 1, kNoNodeLimit))\n        << \"Test requirements not met\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    ncclNetHandle_t invalidHandle;\n    memset(&invalidHandle, 0xFF, sizeof(invalidHandle));\n    void* sendComm = nullptr;\n\n    // Negative test: Connect with garbage handle\n    ncclResult_t result = ConnectToRemote(0, &invalidHandle, &sendComm);\n    EXPECT_EQ(result, ncclInternalError) << \"Should fail with invalid handle\";\n}\n\n// Memory Registration Tests\n\nTEST_F(NetIbMPITest, RegisterHostMemory) {\n    ASSERT_TRUE(validateTestPrerequisites(kExactTwoProcesses, kExactTwoProcesses,\n                                         false, kMinGpusPerNode, kNoNodeLimit))\n        << \"Test requires exactly \" << kExactTwoProcesses << \" processes\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    ConnectionPair pair;\n    int rank = MPIEnvironment::world_rank;\n    int peerRank = (rank + 1) % 2;\n\n    ASSERT_EQ(SetupConnection(0, pair, rank, peerRank), ncclSuccess);\n\n    // Guard connections for automatic cleanup\n    NetConnectionGuard connGuard(net_);\n    if (rank == 0) {\n        connGuard.setRecvComm(pair.recvComm);\n        connGuard.setListenComm(pair.listenComm);\n    } else {\n        connGuard.setSendComm(pair.sendComm);\n    }\n\n    const size_t bufferSize = kSmallBufferSize;\n    void* buffer = malloc(bufferSize);\n    ASSERT_NE(buffer, nullptr);\n    auto bufferGuard = makeHostBufferAutoGuard(buffer);\n\n    void* mhandle = nullptr;\n    void* comm = (rank == 0) ? pair.recvComm : pair.sendComm;\n\n    EXPECT_EQ(RegisterMemory(comm, buffer, bufferSize, NCCL_PTR_HOST, &mhandle), ncclSuccess);\n    EXPECT_NE(mhandle, nullptr);\n\n    // Use NetMHandleGuard for automatic deregistration before connection closes\n    NetMHandleGuard mhandleGuard(mhandle, NetMHandleDeleter(net_, comm));\n}\n\nTEST_F(NetIbMPITest, RegisterGpuMemory) {\n    ASSERT_TRUE(validateTestPrerequisites(kExactTwoProcesses, kExactTwoProcesses,\n                                         false, kMinGpusPerNode, kNoNodeLimit))\n        << \"Test requires exactly \" << kExactTwoProcesses << \" processes\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    ConnectionPair pair;\n    int rank = MPIEnvironment::world_rank;\n    int peerRank = (rank + 1) % 2;\n\n    ASSERT_EQ(SetupConnection(0, pair, rank, peerRank), ncclSuccess);\n\n    // Guard connections for automatic cleanup\n    NetConnectionGuard connGuard(net_);\n    if (rank == 0) {\n        connGuard.setRecvComm(pair.recvComm);\n        connGuard.setListenComm(pair.listenComm);\n    } else {\n        connGuard.setSendComm(pair.sendComm);\n    }\n\n    const size_t bufferSize = kSmallBufferSize;\n    void* buffer = nullptr;\n    HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&buffer, bufferSize));\n    auto bufferGuard = makeDeviceBufferAutoGuard(buffer);\n\n    void* mhandle = nullptr;\n    void* comm = (rank == 0) ? pair.recvComm : pair.sendComm;\n\n    EXPECT_EQ(RegisterMemory(comm, buffer, bufferSize, NCCL_PTR_CUDA, &mhandle), ncclSuccess);\n    EXPECT_NE(mhandle, nullptr);\n\n    // Use NetMHandleGuard for automatic deregistration before connection closes\n    NetMHandleGuard mhandleGuard(mhandle, NetMHandleDeleter(net_, comm));\n}\n\nTEST_F(NetIbMPITest, RegisterMemoryNullPointer) {\n    ASSERT_TRUE(validateTestPrerequisites(kExactTwoProcesses, kExactTwoProcesses,\n                                         false, kMinGpusPerNode, kNoNodeLimit))\n        << \"Test requires exactly \" << kExactTwoProcesses << \" processes\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    ConnectionPair pair;\n    int rank = MPIEnvironment::world_rank;\n    int peerRank = (rank + 1) % 2;\n\n    ASSERT_EQ(SetupConnection(0, pair, rank, peerRank), ncclSuccess);\n\n    // Guard connections for automatic cleanup\n    NetConnectionGuard connGuard(net_);\n    if (rank == 0) {\n        connGuard.setRecvComm(pair.recvComm);\n        connGuard.setListenComm(pair.listenComm);\n    } else {\n        connGuard.setSendComm(pair.sendComm);\n    }\n\n    void* mhandle = nullptr;\n    void* comm = (rank == 0) ? pair.recvComm : pair.sendComm;\n\n    // Negative test: NULL buffer pointer\n    ncclResult_t result = RegisterMemory(comm, nullptr, 4096, NCCL_PTR_HOST, &mhandle);\n    EXPECT_NE(result, ncclSuccess) << \"Should fail with NULL buffer\";\n}\n\nTEST_F(NetIbMPITest, DeregisterNullHandle) {\n    ASSERT_TRUE(validateTestPrerequisites(kExactTwoProcesses, kExactTwoProcesses,\n                                         false, kMinGpusPerNode, kNoNodeLimit))\n        << \"Test requires exactly \" << kExactTwoProcesses << \" processes\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    ConnectionPair pair;\n    int rank = MPIEnvironment::world_rank;\n    int peerRank = (rank + 1) % 2;\n\n    ASSERT_EQ(SetupConnection(0, pair, rank, peerRank), ncclSuccess);\n\n    // Guard connections for automatic cleanup\n    NetConnectionGuard connGuard(net_);\n    if (rank == 0) {\n        connGuard.setRecvComm(pair.recvComm);\n        connGuard.setListenComm(pair.listenComm);\n    } else {\n        connGuard.setSendComm(pair.sendComm);\n    }\n\n    void* comm = (rank == 0) ? pair.recvComm : pair.sendComm;\n\n    // Edge case: Deregister NULL handle (should be no-op)\n    EXPECT_EQ(DeregisterMemory(comm, nullptr), ncclSuccess);\n}\n\n// Send/Recv Tests\nTEST_F(NetIbMPITest, SimpleSendRecv) {\n    ASSERT_TRUE(validateTestPrerequisites(kExactTwoProcesses, kExactTwoProcesses,\n                                         false, kMinGpusPerNode, kNoNodeLimit))\n        << \"Test requires exactly \" << kExactTwoProcesses << \" processes\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    ConnectionPair pair;\n    int rank = MPIEnvironment::world_rank;\n    int peerRank = (rank + 1) % 2;\n\n    ASSERT_EQ(SetupConnection(0, pair, rank, peerRank), ncclSuccess);\n\n    // Guard connections for automatic cleanup\n    NetConnectionGuard connGuard(net_);\n    if (rank == 0) {\n        connGuard.setRecvComm(pair.recvComm);\n        connGuard.setListenComm(pair.listenComm);\n    } else {\n        connGuard.setSendComm(pair.sendComm);\n    }\n\n    const size_t bufferSize = kSmallBufferSize;\n    const int tag = 42;\n\n    void* buffer = malloc(bufferSize);\n    ASSERT_NE(buffer, nullptr);\n    auto bufferGuard = makeHostBufferAutoGuard(buffer);\n\n    void* mhandle = nullptr;\n    void* comm = (rank == 0) ? pair.recvComm : pair.sendComm;\n    ASSERT_EQ(RegisterMemory(comm, buffer, bufferSize, NCCL_PTR_HOST, &mhandle), ncclSuccess);\n\n    // Use NetMHandleGuard for automatic cleanup on failure (exception safety)\n    NetMHandleGuard mhandleGuard(mhandle, NetMHandleDeleter(net_, comm));\n\n    void* request = nullptr;\n\n    if (rank == 0) {\n        // Receiver\n        void* recvBuffers[1] = {buffer};\n        size_t recvSizes[1] = {bufferSize};\n        int recvTags[1] = {tag};\n        void* recvHandles[1] = {mhandle};\n\n        ASSERT_EQ(PostRecv(pair.recvComm, 1, recvBuffers, recvSizes, recvTags,\n                          recvHandles, &request), ncclSuccess);\n    } else {\n        // Sender - initialize host buffer directly\n        uint8_t* hostBuffer = static_cast<uint8_t*>(buffer);\n        for (size_t i = 0; i < bufferSize; i++) {\n            hostBuffer[i] = static_cast<uint8_t>((rank + i) % kBytePatternModulo);\n        }\n\n        ASSERT_EQ(PostSend(pair.sendComm, buffer, bufferSize, tag, mhandle, &request), ncclSuccess);\n    }\n\n    MPI_Barrier(MPI_COMM_WORLD);\n\n    // Wait for completion\n    int sizes[1] = {0};\n    ASSERT_EQ(WaitForCompletion(request, sizes), ncclSuccess);\n\n    if (rank == 0) {\n        EXPECT_EQ(sizes[0], bufferSize) << \"Received size mismatch\";\n\n        // Verify received data\n        uint8_t* hostBuffer = static_cast<uint8_t*>(buffer);\n        bool dataValid = true;\n        int senderRank = 1;  // Data was sent by rank 1\n        for (size_t i = 0; i < bufferSize && dataValid; i++) {\n            uint8_t expected = static_cast<uint8_t>((senderRank + i) % kBytePatternModulo);\n            if (hostBuffer[i] != expected) {\n                dataValid = false;\n            }\n        }\n        EXPECT_TRUE(dataValid) << \"Data validation failed\";\n    }\n\n    // NetMHandleGuard will automatically deregister memory when test scope ends\n    // Destructor order ensures MR is deregistered before connection closes:\n    //   1. mhandleGuard destructor (deregisters MR)\n    //   2. bufferGuard destructor (frees buffer)\n    //   3. connGuard destructor (closes connection)\n}\n\nTEST_F(NetIbMPITest, SendRecvMultipleSizes) {\n    ASSERT_TRUE(validateTestPrerequisites(kExactTwoProcesses, kExactTwoProcesses,\n                                         false, kMinGpusPerNode, kNoNodeLimit))\n        << \"Test requires exactly \" << kExactTwoProcesses << \" processes\";\n\n    int rank = MPIEnvironment::world_rank;\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    ConnectionPair pair;\n    int peerRank = (rank + 1) % 2;\n    ASSERT_EQ(SetupConnection(0, pair, rank, peerRank), ncclSuccess);\n\n    // Guard connections for automatic cleanup\n    NetConnectionGuard connGuard(net_);\n    if (rank == 0) {\n        connGuard.setRecvComm(pair.recvComm);\n        connGuard.setListenComm(pair.listenComm);\n    } else {\n        connGuard.setSendComm(pair.sendComm);\n    }\n\n    // Test various sizes\n    std::vector<size_t> testSizes = {1, 64, 256, 1024, 4096, 16384, 65536};\n\n    for (size_t size : testSizes) {\n        const int tag = 100;\n        const int seed = 2000 + static_cast<int>(size);  // Unique seed per size\n\n        void* buffer = malloc(size);\n        ASSERT_NE(buffer, nullptr);\n        auto bufferGuard = makeHostBufferAutoGuard(buffer);  // Local guard for loop iteration\n\n        void* mhandle = nullptr;\n        void* comm = (rank == 0) ? pair.recvComm : pair.sendComm;\n        ASSERT_EQ(RegisterMemory(comm, buffer, size, NCCL_PTR_HOST, &mhandle), ncclSuccess);\n        NetMHandleGuard mhandleGuard(mhandle, NetMHandleDeleter(net_, comm));\n\n        void* request = nullptr;\n\n        if (rank == 0) {\n            memset(buffer, 0, size);\n\n            void* recvBuffers[1] = {buffer};\n            size_t recvSizes[1] = {size};\n            int recvTags[1] = {tag};\n            void* recvHandles[1] = {mhandle};\n\n            ASSERT_EQ(PostRecv(pair.recvComm, 1, recvBuffers, recvSizes, recvTags,\n                              recvHandles, &request), ncclSuccess);\n            ASSERT_NE(request, nullptr) << \"Recv request should never be NULL\";\n        } else {\n            // Initialize host buffer directly (not using InitializeBuffer which expects device memory)\n            uint8_t* hostBuffer = static_cast<uint8_t*>(buffer);\n            for (size_t i = 0; i < size; i++) {\n                hostBuffer[i] = static_cast<uint8_t>((seed + i) % kBytePatternModulo);\n            }\n\n            // NET IB isend can return success with NULL request if FIFO isn't ready\n            // This means the receiver hasn't posted recv yet - retry until ready\n            int attempts = 0;\n            do {\n                ncclResult_t result = PostSend(pair.sendComm, buffer, size, tag, mhandle, &request);\n                ASSERT_EQ(result, ncclSuccess);\n\n                if (request != nullptr) {\n                    break;\n                }\n\n                // NULL request means \"not ready yet\", wait and retry\n                if (++attempts >= kMaxRetryAttempts) {\n                    FAIL() << \"PostSend returned NULL request after \" << kMaxRetryAttempts << \" attempts\";\n                }\n                usleep(kPollIntervalUs);\n            } while (request == nullptr);\n        }\n\n        // Barrier 1: Ensure both ranks have posted their operations before waiting\n        MPI_Barrier(MPI_COMM_WORLD);\n\n        // Wait for completion\n        int sizes[1] = {0};\n        ASSERT_EQ(WaitForCompletion(request, sizes), ncclSuccess);\n\n        // Barrier 2: CRITICAL - Ensure BOTH ranks have completed before EITHER continues\n        // This prevents rank A from starting next transfer while rank B is still\n        // completing current transfer, which would cause request object reuse race conditions\n        MPI_Barrier(MPI_COMM_WORLD);\n\n        if (rank == 0) {\n            EXPECT_EQ(sizes[0], size) << \"Size mismatch for transfer of \" << size << \" bytes\";\n\n            // Validate received data matches expected pattern (host buffer verification)\n            uint8_t* hostBuffer = static_cast<uint8_t*>(buffer);\n            bool dataValid = true;\n            for (size_t j = 0; j < size && dataValid; j++) {\n                uint8_t expected = static_cast<uint8_t>((seed + j) % kBytePatternModulo);\n                if (hostBuffer[j] != expected) {\n                    dataValid = false;\n                }\n            }\n            EXPECT_TRUE(dataValid) << \"Data validation failed for size \" << size;\n        }\n\n        // NetMHandleGuard will automatically deregister at end of loop iteration\n    }\n}\n\nTEST_F(NetIbMPITest, SendRecvZeroSize) {\n    ASSERT_TRUE(validateTestPrerequisites(kExactTwoProcesses, kExactTwoProcesses,\n                                         false, kMinGpusPerNode, kNoNodeLimit))\n        << \"Test requires exactly \" << kExactTwoProcesses << \" processes\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    ConnectionPair pair;\n    int rank = MPIEnvironment::world_rank;\n    int peerRank = (rank + 1) % 2;\n\n    ASSERT_EQ(SetupConnection(0, pair, rank, peerRank), ncclSuccess);\n\n    // Guard connections for automatic cleanup\n    NetConnectionGuard connGuard(net_);\n    if (rank == 0) {\n        connGuard.setRecvComm(pair.recvComm);\n        connGuard.setListenComm(pair.listenComm);\n    } else {\n        connGuard.setSendComm(pair.sendComm);\n    }\n\n    const size_t bufferSize = kSmallBufferSize;\n    const int tag = 50;\n\n    void* buffer = malloc(bufferSize);\n    ASSERT_NE(buffer, nullptr);\n    auto bufferGuard = makeHostBufferAutoGuard(buffer);\n\n    void* mhandle = nullptr;\n    void* comm = (rank == 0) ? pair.recvComm : pair.sendComm;\n    ASSERT_EQ(RegisterMemory(comm, buffer, bufferSize, NCCL_PTR_HOST, &mhandle), ncclSuccess);\n    NetMHandleGuard mhandleGuard(mhandle, NetMHandleDeleter(net_, comm));\n\n    void* request = nullptr;\n\n    if (rank == 0) {\n        // Receiver - expect zero bytes\n        void* recvBuffers[1] = {buffer};\n        size_t recvSizes[1] = {bufferSize};\n        int recvTags[1] = {tag};\n        void* recvHandles[1] = {mhandle};\n\n        ASSERT_EQ(PostRecv(pair.recvComm, 1, recvBuffers, recvSizes, recvTags,\n                          recvHandles, &request), ncclSuccess);\n    } else {\n        // Sender - send zero bytes\n        ASSERT_EQ(PostSend(pair.sendComm, buffer, 0, tag, mhandle, &request), ncclSuccess);\n    }\n\n    MPI_Barrier(MPI_COMM_WORLD);\n\n    // Wait for completion\n    int sizes[1] = {-1};\n    ASSERT_EQ(WaitForCompletion(request, sizes), ncclSuccess);\n\n    if (rank == 0) {\n        EXPECT_EQ(sizes[0], 0) << \"Should receive zero bytes\";\n    }\n}\n\n// Flush Tests\n\nTEST_F(NetIbMPITest, FlushAfterRecv) {\n    ASSERT_TRUE(validateTestPrerequisites(kExactTwoProcesses, kExactTwoProcesses,\n                                         false, kMinGpusPerNode, kNoNodeLimit))\n        << \"Test requires exactly \" << kExactTwoProcesses << \" processes\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    // Check if GDR is available\n    ncclNetProperties_t props;\n    ASSERT_EQ(GetDeviceProperties(0, &props), ncclSuccess);\n\n    if (!(props.ptrSupport & NCCL_PTR_CUDA)) {\n        GTEST_SKIP() << \"GDR not supported, skipping flush test\";\n    }\n\n    ConnectionPair pair;\n    int rank = MPIEnvironment::world_rank;\n    int peerRank = (rank + 1) % 2;\n\n    ASSERT_EQ(SetupConnection(0, pair, rank, peerRank), ncclSuccess);\n\n    // Guard connections for automatic cleanup\n    NetConnectionGuard connGuard(net_);\n    if (rank == 0) {\n        connGuard.setRecvComm(pair.recvComm);\n        connGuard.setListenComm(pair.listenComm);\n    } else {\n        connGuard.setSendComm(pair.sendComm);\n    }\n\n    const size_t bufferSize = kSmallBufferSize;\n    const int tag = 200;\n\n    void* buffer = nullptr;\n    HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&buffer, bufferSize));\n    auto bufferGuard = makeDeviceBufferAutoGuard(buffer);  // false = device memory\n\n    void* mhandle = nullptr;\n    void* comm = (rank == 0) ? pair.recvComm : pair.sendComm;\n    ASSERT_EQ(RegisterMemory(comm, buffer, bufferSize, NCCL_PTR_CUDA, &mhandle), ncclSuccess);\n    NetMHandleGuard mhandleGuard(mhandle, NetMHandleDeleter(net_, comm));\n\n    void* request = nullptr;\n\n    if (rank == 0) {\n        // Receiver\n        void* recvBuffers[1] = {buffer};\n        size_t recvSizes[1] = {bufferSize};\n        int recvTags[1] = {tag};\n        void* recvHandles[1] = {mhandle};\n\n        ASSERT_EQ(PostRecv(pair.recvComm, 1, recvBuffers, recvSizes, recvTags,\n                          recvHandles, &request), ncclSuccess);\n    } else {\n        // Sender\n        void* hostBuffer = malloc(bufferSize);\n        ASSERT_NE(hostBuffer, nullptr);\n        auto hostBufferGuard = makeHostBufferAutoGuard(hostBuffer);\n\n        // Initialize host buffer directly (not using InitializeBuffer which expects device memory)\n        uint8_t* hostBuf = static_cast<uint8_t*>(hostBuffer);\n        for (size_t i = 0; i < bufferSize; i++) {\n            hostBuf[i] = static_cast<uint8_t>((rank + i) % kBytePatternModulo);\n        }\n        HIP_TEST_CHECK_GTEST_FAIL(hipMemcpy(buffer, hostBuffer, bufferSize, hipMemcpyHostToDevice));\n\n        ASSERT_EQ(PostSend(pair.sendComm, buffer, bufferSize, tag, mhandle, &request), ncclSuccess);\n    }\n\n    MPI_Barrier(MPI_COMM_WORLD);\n\n    // Wait for completion\n    int sizes[1] = {0};\n    ASSERT_EQ(WaitForCompletion(request, sizes), ncclSuccess);\n\n    if (rank == 0) {\n        // Issue flush\n        void* flushBuffers[1] = {buffer};\n        int flushSizes[1] = {static_cast<int>(bufferSize)};\n        void* flushHandles[1] = {mhandle};\n        void* flushRequest = nullptr;\n\n        ncclResult_t result = FlushRecv(pair.recvComm, 1, flushBuffers, flushSizes,\n                                       flushHandles, &flushRequest);\n\n        if (result == ncclSuccess && flushRequest != nullptr) {\n            int flushDone = 0;\n            ASSERT_EQ(WaitForCompletion(flushRequest, nullptr), ncclSuccess);\n        }\n    }\n\n    // NetMHandleGuard will automatically deregister at scope end\n}\n\n// Virtual Device Tests\n\nTEST_F(NetIbMPITest, MakeVirtualDevice) {\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI, MPITestConstants::kNoProcessLimit,\n                                         kRequirePowerOfTwo, 1, kNoNodeLimit))\n        << \"Test requirements not met\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    if (ndev < 2) {\n        GTEST_SKIP() << \"Need at least 2 devices for virtual device test\";\n    }\n\n    ncclNetVDeviceProps_t vProps;\n    vProps.ndevs = 2;\n    vProps.devs[0] = 0;\n    vProps.devs[1] = 1;\n\n    int vdev = -1;\n    ncclResult_t result = MakeVirtualDevice(&vdev, &vProps);\n\n    // Virtual device creation may or may not be supported\n    if (result == ncclSuccess) {\n        EXPECT_GE(vdev, 0) << \"Virtual device ID should be non-negative\";\n\n        if (MPIEnvironment::world_rank == 0) {\n            TEST_INFO(\"Created virtual device %d from physical devices 0 and 1\", vdev);\n        }\n    }\n}\n\nTEST_F(NetIbMPITest, MakeVirtualDeviceInvalidProps) {\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI, MPITestConstants::kNoProcessLimit,\n                                         kRequirePowerOfTwo, 1, kNoNodeLimit))\n        << \"Test requirements not met\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    // Negative test: Zero devices\n    ncclNetVDeviceProps_t vProps;\n    vProps.ndevs = 0;\n\n    int vdev = -1;\n    ncclResult_t result = MakeVirtualDevice(&vdev, &vProps);\n    EXPECT_EQ(result, ncclInvalidUsage) << \"Should fail with zero devices\";\n\n}\n\n// Stress and Edge Case Tests\n\n// Tests multiple sequential transfers on the same connection using host memory.\n// This test validates that request objects can be properly reused across multiple\n// send/recv operations without resource exhaustion or state corruption.\n//\n// SYNCHRONIZATION STRATEGY:\n//   Two barriers per iteration ensure proper ordering:\n//   1. After Post: Ensures both ranks have posted before either waits\n//   2. After Completion: CRITICAL - Ensures BOTH ranks complete before EITHER\n//      starts next iteration. Without this, rapid request reuse causes races.\n//\n// NULL REQUEST HANDLING:\n//   NET IB isend() can return ncclSuccess with NULL request when the FIFO\n//   isn't ready yet (receiver's irecv RDMA write hasn't reached sender yet).\n//   This is NOT an error - it means \"try again\". The sender must retry until\n//   it gets a valid request pointer. This is normal NET IB protocol behavior.\n//\n// NOTE: Flush (iflush) is intentionally NOT called because:\n//   1. Flush is only needed for GPU Direct RDMA to ensure data visibility\n//   2. For NCCL_PTR_HOST transfers, flush is unnecessary\nTEST_F(NetIbMPITest, MultipleSequentialTransfers) {\n    ASSERT_TRUE(validateTestPrerequisites(kExactTwoProcesses, kExactTwoProcesses,\n                                         false, kMinGpusPerNode, kNoNodeLimit))\n        << \"Test requires exactly \" << kExactTwoProcesses << \" processes\";\n\n    int rank = MPIEnvironment::world_rank;\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    ConnectionPair pair;\n    int peerRank = (rank + 1) % 2;\n    ASSERT_EQ(SetupConnection(0, pair, rank, peerRank), ncclSuccess);\n\n    // Guard connections for automatic cleanup\n    NetConnectionGuard connGuard(net_);\n    if (rank == 0) {\n        connGuard.setRecvComm(pair.recvComm);\n        connGuard.setListenComm(pair.listenComm);\n    } else {\n        connGuard.setSendComm(pair.sendComm);\n    }\n\n    const size_t bufferSize = kSmallBufferSize;\n    const int numTransfers = kNumSequentialTransfers;\n\n    void* sendBuffer = nullptr;\n    void* recvBuffer = nullptr;\n    HostBufferAutoGuard sendBufferGuard(nullptr);\n    HostBufferAutoGuard recvBufferGuard(nullptr);\n\n    if (rank == 0) {\n        recvBuffer = malloc(bufferSize);\n        ASSERT_NE(recvBuffer, nullptr);\n        recvBufferGuard = makeHostBufferAutoGuard(recvBuffer);\n    } else {\n        sendBuffer = malloc(bufferSize);\n        ASSERT_NE(sendBuffer, nullptr);\n        sendBufferGuard = makeHostBufferAutoGuard(sendBuffer);\n    }\n\n    void* mhandle = nullptr;\n    void* buffer = (rank == 0) ? recvBuffer : sendBuffer;\n    void* comm = (rank == 0) ? pair.recvComm : pair.sendComm;\n    ASSERT_EQ(RegisterMemory(comm, buffer, bufferSize, NCCL_PTR_HOST, &mhandle), ncclSuccess);\n    NetMHandleGuard mhandleGuard(mhandle, NetMHandleDeleter(net_, comm));\n\n    for (int i = 0; i < numTransfers; i++) {\n        const int tag = kTransferTagBase + i;\n        const int seed = kBaseSeedOffset + i;  // Unique seed for each transfer\n        void* request = nullptr;\n\n        if (rank == 0) {\n            memset(recvBuffer, 0, bufferSize);\n\n            void* recvBuffers[1] = {recvBuffer};\n            size_t recvSizes[1] = {bufferSize};\n            int recvTags[1] = {tag};\n            void* recvHandles[1] = {mhandle};\n\n            ASSERT_EQ(PostRecv(pair.recvComm, 1, recvBuffers, recvSizes, recvTags,\n                              recvHandles, &request), ncclSuccess);\n            ASSERT_NE(request, nullptr) << \"Recv request should never be NULL\";\n        } else {\n            // Initialize host buffer directly (not using InitializeBuffer which expects device memory)\n            uint8_t* hostBuffer = static_cast<uint8_t*>(sendBuffer);\n            for (size_t j = 0; j < bufferSize; j++) {\n                hostBuffer[j] = static_cast<uint8_t>((seed + j) % kBytePatternModulo);\n            }\n\n            // NET IB isend can return success with NULL request if FIFO isn't ready\n            // This means the receiver hasn't posted recv yet - retry until ready\n            int attempts = 0;\n            do {\n                ncclResult_t result = PostSend(pair.sendComm, sendBuffer, bufferSize, tag, mhandle, &request);\n                ASSERT_EQ(result, ncclSuccess);\n\n                if (request != nullptr) {\n                    break;\n                }\n\n                // NULL request means \"not ready yet\", wait and retry\n                if (++attempts >= kMaxRetryAttempts) {\n                    FAIL() << \"PostSend returned NULL request after \" << kMaxRetryAttempts << \" attempts\";\n                }\n                usleep(kPollIntervalUs);\n            } while (request == nullptr);\n        }\n\n        // Barrier 1: Ensure both ranks have posted their operations before waiting\n        MPI_Barrier(MPI_COMM_WORLD);\n\n        // Wait for completion\n        int sizes[1] = {0};\n        ASSERT_EQ(WaitForCompletion(request, sizes), ncclSuccess);\n\n        // Barrier 2: CRITICAL - Ensure BOTH ranks have completed before EITHER continues\n        // This prevents rank A from starting transfer N+1 while rank B is still\n        // completing transfer N, which would cause request object reuse race conditions\n        MPI_Barrier(MPI_COMM_WORLD);\n\n        if (rank == 0) {\n            EXPECT_EQ(sizes[0], bufferSize) << \"Transfer \" << i << \" size mismatch\";\n\n            // Validate received data matches expected pattern (host buffer verification)\n            uint8_t* hostBuffer = static_cast<uint8_t*>(recvBuffer);\n            bool dataValid = true;\n            for (size_t j = 0; j < bufferSize && dataValid; j++) {\n                uint8_t expected = static_cast<uint8_t>((seed + j) % kBytePatternModulo);\n                if (hostBuffer[j] != expected) {\n                    dataValid = false;\n                }\n            }\n            EXPECT_TRUE(dataValid) << \"Transfer \" << i << \" data validation failed (seed=\" << seed << \")\";\n\n            if (!dataValid) {\n                // Print first few mismatched values for debugging\n                TEST_WARN(\"Rank %d: Transfer %d data mismatch. First %d values:\", rank, i, kNumDebugSamples);\n                for (size_t j = 0; j < kNumDebugSamples && j < bufferSize; j++) {\n                    uint8_t expected = static_cast<uint8_t>((seed + j) % kBytePatternModulo);\n                    TEST_WARN(\"  [%zu] expected=%u, got=%u %s\",\n                           j, expected, hostBuffer[j],\n                           (hostBuffer[j] == expected) ? \"PASS\" : \"FAIL\");\n                }\n            }\n\n            // NOTE: Flush is NOT called for host memory transfers\n            // Flush (iflush) is only needed for GPU Direct RDMA to ensure data visibility on GPU.\n            // For NCCL_PTR_HOST transfers, flush is unnecessary and calling it can cause\n            // race conditions when request objects are rapidly reused.\n            // The NET IB implementation will no-op the flush call for host memory anyway.\n        }\n    }\n\n    // NetMHandleGuard will automatically deregister at scope end\n}\n\nTEST_F(NetIbMPITest, LargeTransfer) {\n    ASSERT_TRUE(validateTestPrerequisites(kExactTwoProcesses, kExactTwoProcesses,\n                                         false, kMinGpusPerNode, kNoNodeLimit))\n        << \"Test requires exactly \" << kExactTwoProcesses << \" processes\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    ConnectionPair pair;\n    int rank = MPIEnvironment::world_rank;\n    int peerRank = (rank + 1) % 2;\n\n    ASSERT_EQ(SetupConnection(0, pair, rank, peerRank), ncclSuccess);\n\n    // Guard connections for automatic cleanup\n    NetConnectionGuard connGuard(net_);\n    if (rank == 0) {\n        connGuard.setRecvComm(pair.recvComm);\n        connGuard.setListenComm(pair.listenComm);\n    } else {\n        connGuard.setSendComm(pair.sendComm);\n    }\n\n    const size_t bufferSize = kLargeBufferSize; // 16 MB\n    const int tag = 400;\n\n    void* buffer = malloc(bufferSize);\n    ASSERT_NE(buffer, nullptr);\n    auto bufferGuard = makeHostBufferAutoGuard(buffer);\n\n    void* mhandle = nullptr;\n    void* comm = (rank == 0) ? pair.recvComm : pair.sendComm;\n    ASSERT_EQ(RegisterMemory(comm, buffer, bufferSize, NCCL_PTR_HOST, &mhandle), ncclSuccess);\n    NetMHandleGuard mhandleGuard(mhandle, NetMHandleDeleter(net_, comm));\n\n    void* request = nullptr;\n\n    if (rank == 0) {\n        // Receiver\n        void* recvBuffers[1] = {buffer};\n        size_t recvSizes[1] = {bufferSize};\n        int recvTags[1] = {tag};\n        void* recvHandles[1] = {mhandle};\n\n        ASSERT_EQ(PostRecv(pair.recvComm, 1, recvBuffers, recvSizes, recvTags,\n                          recvHandles, &request), ncclSuccess);\n    } else {\n        // Sender - Initialize host buffer directly (not using InitializeBuffer which expects device memory)\n        uint8_t* hostBuffer = static_cast<uint8_t*>(buffer);\n        for (size_t i = 0; i < bufferSize; i++) {\n            hostBuffer[i] = static_cast<uint8_t>((rank + i) % kBytePatternModulo);\n        }\n\n        ASSERT_EQ(PostSend(pair.sendComm, buffer, bufferSize, tag, mhandle, &request), ncclSuccess);\n    }\n\n    MPI_Barrier(MPI_COMM_WORLD);\n\n    // Wait for completion with longer timeout for large transfer\n    int sizes[1] = {0};\n    ASSERT_EQ(WaitForCompletion(request, sizes, kLargeTransferTimeout), ncclSuccess);\n\n    if (rank == 0) {\n        EXPECT_EQ(sizes[0], bufferSize) << \"Large transfer size mismatch\";\n\n        // Verify received data\n        uint8_t* hostBuffer = static_cast<uint8_t*>(buffer);\n        bool dataValid = true;\n        int senderRank = 1;  // Data was sent by rank 1\n        size_t errorsFound = 0;\n        const size_t maxErrorsToReport = 10;\n\n        for (size_t i = 0; i < bufferSize && errorsFound < maxErrorsToReport; i++) {\n            uint8_t expected = static_cast<uint8_t>((senderRank + i) % kBytePatternModulo);\n            if (hostBuffer[i] != expected) {\n                if (errorsFound == 0) {\n                    TEST_WARN(\"Rank %d: Data validation errors found in large transfer:\", rank);\n                }\n                TEST_WARN(\"  Index %zu: expected=%u, got=%u\", i, expected, hostBuffer[i]);\n                dataValid = false;\n                errorsFound++;\n            }\n        }\n\n        if (!dataValid && errorsFound >= maxErrorsToReport) {\n            TEST_WARN(\"  ... (showing first %zu errors only)\", maxErrorsToReport);\n        }\n\n        EXPECT_TRUE(dataValid) << \"Large transfer data validation failed\";\n    }\n\n    // NetMHandleGuard will automatically deregister at scope end\n}\n\nTEST_F(NetIbMPITest, CloseWithoutWaitingForCompletion) {\n    ASSERT_TRUE(validateTestPrerequisites(kExactTwoProcesses, kExactTwoProcesses,\n                                         false, kMinGpusPerNode, kNoNodeLimit))\n        << \"Test requires exactly \" << kExactTwoProcesses << \" processes\";\n\n    ASSERT_EQ(InitNetIb(), ncclSuccess);\n\n    int ndev = 0;\n    ASSERT_EQ(GetDeviceCount(&ndev), ncclSuccess);\n    ASSERT_GT(ndev, 0);\n\n    ConnectionPair pair;\n    int rank = MPIEnvironment::world_rank;\n    int peerRank = (rank + 1) % 2;\n\n    ASSERT_EQ(SetupConnection(0, pair, rank, peerRank), ncclSuccess);\n\n    // Guard connections for automatic cleanup\n    NetConnectionGuard connGuard(net_);\n    if (rank == 0) {\n        connGuard.setRecvComm(pair.recvComm);\n        connGuard.setListenComm(pair.listenComm);\n    } else {\n        connGuard.setSendComm(pair.sendComm);\n    }\n}\n\n#endif // MPI_TESTS_ENABLED\n"
  },
  {
    "path": "test/transport/NetMPITests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"DeviceBufferHelpers.hpp\"\n#include \"TestChecks.hpp\"\n#include \"TransportMPIBase.hpp\"\n\n#ifdef MPI_TESTS_ENABLED\n\n// Import MPI test constants\nusing namespace MPITestConstants;\nusing namespace RCCLTestHelpers;\n\n// NET-specific RAII deleters\nnamespace RCCLTestGuards\n{\n\nstruct NetMHandleDeleter\n{\n    ncclNet_t* net;\n    void*      comm;\n    NetMHandleDeleter(ncclNet_t* n = nullptr, void* c = nullptr) : net(n), comm(c) {}\n    void operator()(void* mhandle) const\n    {\n        if(mhandle && comm && net)\n        {\n            net->deregMr(comm, mhandle);\n        }\n    }\n};\n\nstruct NetSendCommDeleter\n{\n    ncclNet_t* net;\n    explicit NetSendCommDeleter(ncclNet_t* n = nullptr) : net(n) {}\n    void operator()(void* comm) const\n    {\n        if(comm && net)\n            net->closeSend(comm);\n    }\n};\n\nstruct NetRecvCommDeleter\n{\n    ncclNet_t* net;\n    explicit NetRecvCommDeleter(ncclNet_t* n = nullptr) : net(n) {}\n    void operator()(void* comm) const\n    {\n        if(comm && net)\n            net->closeRecv(comm);\n    }\n};\n\nstruct NetListenCommDeleter\n{\n    ncclNet_t* net;\n    explicit NetListenCommDeleter(ncclNet_t* n = nullptr) : net(n) {}\n    void operator()(void* comm) const\n    {\n        if(comm && net)\n            net->closeListen(comm);\n    }\n};\n\nusing NetMHandleGuard    = ResourceGuard<void*, NetMHandleDeleter>;\nusing NetSendCommGuard   = ResourceGuard<void*, NetSendCommDeleter>;\nusing NetRecvCommGuard   = ResourceGuard<void*, NetRecvCommDeleter>;\nusing NetListenCommGuard = ResourceGuard<void*, NetListenCommDeleter>;\n\nclass NetConnectionGuard\n{\nprivate:\n    ncclNet_t* net_;\n    void*      listen_comm_;\n    void*      send_comm_;\n    void*      recv_comm_;\n\npublic:\n    explicit NetConnectionGuard(ncclNet_t* net)\n        : net_(net), listen_comm_(nullptr), send_comm_(nullptr), recv_comm_(nullptr)\n    {}\n\n    ~NetConnectionGuard()\n    {\n        if(recv_comm_ && net_)\n            net_->closeRecv(recv_comm_);\n        if(send_comm_ && net_)\n            net_->closeSend(send_comm_);\n        if(listen_comm_ && net_)\n            net_->closeListen(listen_comm_);\n    }\n\n    void setListenComm(void* comm)\n    {\n        listen_comm_ = comm;\n    }\n    void setSendComm(void* comm)\n    {\n        send_comm_ = comm;\n    }\n    void setRecvComm(void* comm)\n    {\n        recv_comm_ = comm;\n    }\n\n    void* getListenComm() const\n    {\n        return listen_comm_;\n    }\n    void* getSendComm() const\n    {\n        return send_comm_;\n    }\n    void* getRecvComm() const\n    {\n        return recv_comm_;\n    }\n\n    NetConnectionGuard(const NetConnectionGuard&)            = delete;\n    NetConnectionGuard& operator=(const NetConnectionGuard&) = delete;\n    NetConnectionGuard(NetConnectionGuard&&)                 = delete;\n    NetConnectionGuard& operator=(NetConnectionGuard&&)      = delete;\n};\n\ninline NetMHandleGuard makeNetMHandleGuard(void* mhandle, ncclNet_t* net, void* comm)\n{\n    return NetMHandleGuard(mhandle, NetMHandleDeleter(net, comm));\n}\n\ninline NetSendCommGuard makeNetSendCommGuard(void* comm, ncclNet_t* net)\n{\n    return NetSendCommGuard(comm, NetSendCommDeleter(net));\n}\n\ninline NetRecvCommGuard makeNetRecvCommGuard(void* comm, ncclNet_t* net)\n{\n    return NetRecvCommGuard(comm, NetRecvCommDeleter(net));\n}\n\ninline NetListenCommGuard makeNetListenCommGuard(void* comm, ncclNet_t* net)\n{\n    return NetListenCommGuard(comm, NetListenCommDeleter(net));\n}\n\n} // namespace RCCLTestGuards\n\nnamespace\n{\n// Buffer size constants\ninline constexpr size_t kTestBufferSize = 16384;\n\n// NET transport test requirements\ninline constexpr int kMinNodesForNET   = 2; // NET transport requires at least 2 nodes\ninline constexpr int kExactRanksForNET = 2; // NET transport tests use exactly 2 ranks (1 per node)\n\n// Test pattern generation constants\ninline constexpr int kDefaultPatternMultiplier = 100; // For NET transport patterns\ninline constexpr int kByteValueModulo          = 256; // For uint8_t wraparound\n\n} // namespace\n\nclass NetTransportMPITest : public TransportTestBase\n{\nprotected:\n    void SetUp() override\n    {\n        TransportTestBase::SetUp();\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"NetTransport SetUp completed\");\n        }\n    }\n\n    void TearDown() override\n    {\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"NetTransport TearDown completed\");\n        }\n        TransportTestBase::TearDown();\n    }\n\npublic:\n    // Test ncclNetGraphRegisterBuffer\n    void testNetGraphRegisterBuffer()\n    {\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"Testing ncclNetGraphRegisterBuffer...\");\n        }\n\n        // Verify communicator is ready\n        ASSERT_NE(comm_handle, nullptr) << \"Rank \" << config.world_rank << \": comm_handle is null\";\n\n        // Allocate and automatically guard buffers\n        void* send_buffer = nullptr;\n        void* recv_buffer = nullptr;\n        allocateAndInitBuffersGuarded(&send_buffer, &recv_buffer, kTestBufferSize, kTestBufferSize);\n\n        // Register and automatically guard handles\n        void* send_reg_handle = nullptr;\n        void* recv_reg_handle = nullptr;\n        preRegisterBuffersGuarded(send_buffer,\n                                  recv_buffer,\n                                  kTestBufferSize,\n                                  kTestBufferSize,\n                                  &send_reg_handle,\n                                  &recv_reg_handle);\n\n        // Test ncclNetGraphRegisterBuffer\n        int                                                       net_reg_flag{};\n        void*                                                     net_handle{};\n        ncclIntruQueue<ncclCommCallback, &ncclCommCallback::next> cleanup_queue{};\n        int                                                       n_cleanup_elts{};\n\n        ncclConnector* send_conn_array[1] = {&send_connector};\n\n        auto nccl_result\n            = ncclNetGraphRegisterBuffer(reinterpret_cast<ncclComm*>(getActiveCommunicator()),\n                                         send_buffer,\n                                         kTestBufferSize,\n                                         send_conn_array,\n                                         1,\n                                         &net_reg_flag,\n                                         &net_handle,\n                                         &cleanup_queue,\n                                         &n_cleanup_elts);\n\n        EXPECT_EQ(ncclSuccess, nccl_result)\n            << \"Rank \" << config.world_rank\n            << \": ncclNetGraphRegisterBuffer failed: \" << ncclGetErrorString(nccl_result);\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"    ncclNetGraphRegisterBuffer returned: %s\",\n                      ncclGetErrorString(nccl_result));\n            TEST_INFO(\"    Registration flag: %d\", net_reg_flag);\n            TEST_INFO(\"    Handle: %p\", net_handle);\n            TEST_INFO(\"    Cleanup queue elements: %d\", n_cleanup_elts);\n        }\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"ncclNetGraphRegisterBuffer test completed\");\n        }\n    }\n\n    // Test ncclNetLocalRegisterBuffer\n    void testNetLocalRegisterBuffer()\n    {\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"Testing ncclNetLocalRegisterBuffer...\");\n            TEST_INFO(\"This API internally calls ncclNetLocalRegisterBuffer \"\n                      \"and ncclNetLocalRegisterBuffer\");\n        }\n\n        // Verify communicator is ready (NCCL has already initialized NET transport)\n        ASSERT_NE(comm_handle, nullptr) << \"Rank \" << config.world_rank << \": comm_handle is null\";\n\n        // Allocate and automatically guard buffers\n        void* send_buffer = nullptr;\n        void* recv_buffer = nullptr;\n        allocateAndInitBuffersGuarded(&send_buffer, &recv_buffer, kTestBufferSize, kTestBufferSize);\n\n        // Register and automatically guard handles\n        void* send_reg_handle = nullptr;\n        void* recv_reg_handle = nullptr;\n        preRegisterBuffersGuarded(send_buffer,\n                                  recv_buffer,\n                                  kTestBufferSize,\n                                  kTestBufferSize,\n                                  &send_reg_handle,\n                                  &recv_reg_handle);\n\n        // Test ncclNetLocalRegisterBuffer\n        int   net_reg_flag{};\n        void* net_handle{};\n\n        ncclConnector* send_conn_array[1] = {&send_connector};\n\n        auto nccl_result\n            = ncclNetLocalRegisterBuffer(reinterpret_cast<ncclComm*>(getActiveCommunicator()),\n                                         send_buffer,\n                                         kTestBufferSize,\n                                         send_conn_array,\n                                         1, // nPeers\n                                         &net_reg_flag,\n                                         &net_handle);\n\n        EXPECT_EQ(ncclSuccess, nccl_result)\n            << \"Rank \" << config.world_rank\n            << \": ncclNetLocalRegisterBuffer failed: \" << ncclGetErrorString(nccl_result);\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"    ncclNetLocalRegisterBuffer returned: %s\",\n                      ncclGetErrorString(nccl_result));\n            TEST_INFO(\"    Registration flag: %d\", net_reg_flag);\n            TEST_INFO(\"    Handle: %p\", net_handle);\n        }\n    }\n\n    // Test multiple buffer sizes with actual data transfer\n    void testMultipleBufferSizes()\n    {\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"Testing multiple buffer sizes (aligned and unaligned) with NET \"\n                      \"transport and data transfer...\");\n        }\n\n        // Verify communicator is ready\n        ASSERT_NE(comm_handle, nullptr) << \"Rank \" << config.world_rank << \": comm_handle is null\";\n\n        // Test both aligned and unaligned buffer sizes to validate edge cases\n        std::vector<size_t> sizes = {\n            // Small sizes (including unaligned)\n            1, // Minimum size\n            3, // Unaligned (not power of 2)\n            7, // Unaligned\n            15, // Unaligned\n            63, // Unaligned\n\n            // Medium sizes (mix of aligned and unaligned)\n            1024, // 1KB (aligned)\n            1025, // 1KB + 1 (unaligned)\n            1536, // 1.5KB (unaligned)\n            4096, // 4KB (aligned)\n            4097, // 4KB + 1 (unaligned)\n            5000, // Unaligned\n            16384, // 16KB (aligned)\n            16385, // 16KB + 1 (unaligned)\n\n            // Large sizes (mix of aligned and unaligned)\n            65536, // 64KB (aligned)\n            65537, // 64KB + 1 (unaligned)\n            100000, // ~98KB (unaligned)\n            262144, // 256KB (aligned)\n            262145, // 256KB + 1 (unaligned)\n            500000, // ~488KB (unaligned)\n            1048576, // 1MB (aligned)\n            1048577, // 1MB + 1 (unaligned)\n            4 * 1024 * 1024, // 4MB (aligned)\n            4 * 1024 * 1024 + 1 // 4MB + 1 (unaligned)\n        };\n\n        int         peer_rank = (config.world_rank == 0) ? 1 : 0;\n        hipStream_t stream    = getActiveStream();\n        ASSERT_NE(stream, nullptr) << \"Rank \" << config.world_rank << \": Stream is null\";\n\n        for(size_t size : sizes)\n        {\n            if(config.world_rank == 0)\n            {\n                TEST_INFO(\"  Testing size: %zu bytes with data transfer\", size);\n            }\n\n            // Allocate buffers with local guards (per-iteration cleanup)\n            void* send_buffer = nullptr;\n            void* recv_buffer = nullptr;\n            auto [sendGuard, recvGuard]\n                = allocateAndInitBuffersGuarded(&send_buffer, &recv_buffer, size, size, false);\n\n            ASSERT_NE(send_buffer, nullptr) << \"Rank \" << config.world_rank\n                                            << \": Send buffer allocation failed for size \" << size;\n            ASSERT_NE(recv_buffer, nullptr) << \"Rank \" << config.world_rank\n                                            << \": Recv buffer allocation failed for size \" << size;\n\n            // Initialize send buffer with rank and size-specific pattern\n            uint8_t* send_data = static_cast<uint8_t*>(send_buffer);\n            for(size_t i = 0; i < size; i++)\n            {\n                send_data[i] = static_cast<uint8_t>(\n                    (config.world_rank * kDefaultPatternMultiplier + i) % kByteValueModulo);\n            }\n\n            // Initialize recv buffer with invalid pattern\n            uint8_t* recv_data = static_cast<uint8_t*>(recv_buffer);\n            for(size_t i = 0; i < size; i++)\n            {\n                recv_data[i] = 0xFF; // Invalid pattern to detect transfer\n            }\n\n            // Perform actual data transfer using NCCL Send/Recv\n            // Use ASSERT_MPI_SUCCESS to ensure both ranks synchronize on NCCL errors\n            ASSERT_MPI_SUCCESS(ncclGroupStart());\n\n            ASSERT_MPI_SUCCESS(\n                ncclSend(send_buffer, size, ncclInt8, peer_rank, getActiveCommunicator(), stream));\n\n            ASSERT_MPI_SUCCESS(\n                ncclRecv(recv_buffer, size, ncclInt8, peer_rank, getActiveCommunicator(), stream));\n\n            ASSERT_MPI_SUCCESS(ncclGroupEnd());\n\n            // Wait for transfer to complete\n            // Use ASSERT_MPI_EQ to ensure both ranks synchronize on HIP errors\n            ASSERT_MPI_EQ(hipSuccess, hipStreamSynchronize(stream));\n\n            // Verify received data matches peer's send pattern\n            int       errors              = 0;\n            const int max_errors_to_print = 5;\n            for(size_t i = 0; i < size && errors < max_errors_to_print; i++)\n            {\n                uint8_t expected = static_cast<uint8_t>((peer_rank * kDefaultPatternMultiplier + i)\n                                                        % kByteValueModulo);\n                if(recv_data[i] != expected)\n                {\n                    TEST_WARN(\"Size %zu - Data mismatch at index %zu: expected %u, got %u\",\n                              size,\n                              i,\n                              expected,\n                              recv_data[i]);\n                    errors++;\n                }\n            }\n\n            EXPECT_EQ(0, errors) << \"Rank \" << config.world_rank\n                                 << \": Found data mismatches for buffer size \" << size;\n\n            if(config.world_rank == 0 && errors == 0)\n            {\n                TEST_INFO(\"  Size %zu - Data transfer successful and verified\", size);\n            }\n\n            // Resource Guards will automatically cleanup at end of loop iteration\n        }\n    }\n};\n\n// Test cases\nTEST_F(NetTransportMPITest, NetGraphRegisterBufferTest)\n{\n    // NET transport tests require exactly 2 ranks on 2 nodes (1 rank per node)\n    if(!validateTestPrerequisites(kExactRanksForNET,\n                                  kExactRanksForNET,\n                                  kNoPowerOfTwoRequired,\n                                  kMinNodesForNET,\n                                  kMinNodesForNET))\n    {\n        GTEST_SKIP() << \"NET transport test requires exactly \" << kExactRanksForNET << \" ranks on \"\n                     << kMinNodesForNET << \" nodes (1 rank per node)\";\n    }\n\n    // Create test-specific communicator\n    ASSERT_MPI_SUCCESS(createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Starting ncclNetGraphRegisterBuffer test (multi-node)\");\n    }\n\n    testNetGraphRegisterBuffer();\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"ncclNetGraphRegisterBuffer test completed successfully\");\n    }\n}\n\nTEST_F(NetTransportMPITest, NetLocalRegisterBufferTest)\n{\n    // NET transport tests require exactly 2 ranks on 2 nodes (1 rank per node)\n    if(!validateTestPrerequisites(kExactRanksForNET,\n                                  kExactRanksForNET,\n                                  kNoPowerOfTwoRequired,\n                                  kMinNodesForNET,\n                                  kMinNodesForNET))\n    {\n        GTEST_SKIP() << \"NET transport test requires exactly \" << kExactRanksForNET << \" ranks on \"\n                     << kMinNodesForNET << \" nodes (1 rank per node)\";\n    }\n\n    // Create test-specific communicator\n    ASSERT_MPI_SUCCESS(createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Starting ncclNetLocalRegisterBuffer test (multi-node)\");\n    }\n\n    testNetLocalRegisterBuffer();\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"ncclNetLocalRegisterBuffer test completed successfully\");\n    }\n}\n\nTEST_F(NetTransportMPITest, MultipleBufferSizesTest)\n{\n    // NET transport tests require exactly 2 ranks on 2 nodes (1 rank per node)\n    if(!validateTestPrerequisites(kExactRanksForNET,\n                                  kExactRanksForNET,\n                                  kNoPowerOfTwoRequired,\n                                  kMinNodesForNET,\n                                  kMinNodesForNET))\n    {\n        GTEST_SKIP() << \"NET transport test requires exactly \" << kExactRanksForNET << \" ranks on \"\n                     << kMinNodesForNET << \" nodes (1 rank per node)\";\n    }\n\n    ASSERT_MPI_SUCCESS(createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Starting multiple buffer sizes test (multi-node)\");\n    }\n\n    testMultipleBufferSizes();\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Multiple buffer sizes test completed successfully\");\n    }\n}\n\n#endif // MPI_TESTS_ENABLED\n"
  },
  {
    "path": "test/transport/P2pMPITests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"DeviceBufferHelpers.hpp\"\n#include \"ResourceGuards.hpp\"\n#include \"TransportMPIBase.hpp\"\n\n#include <algorithm>\n#include <cmath>\n#include <string>\n\n#ifdef MPI_TESTS_ENABLED\n\n// Import MPI test constants\nusing namespace MPITestConstants;\nusing namespace RCCLTestGuards;\nusing namespace RCCLTestHelpers;\nusing namespace TransportTestConstants;\n\n// P2P-specific test configuration\nstruct P2PTestConfig\n{\n    bool   is_sender{false};\n    void*  send_buffer{nullptr};\n    void*  recv_buffer{nullptr};\n    size_t buffer_size{0};\n};\n\nclass P2pMPITest : public TransportTestBase\n{\nprotected:\n    P2PTestConfig p2p_config;\n\n    // Connection info structures for MPI exchange between helper methods\n    ncclConnect send_connect_info{};\n    ncclConnect recv_connect_info{};\n\n    void SetUp() override\n    {\n        // Call base class SetUp first\n        TransportTestBase::SetUp();\n\n    }\n\n    // Helper: Allocate P2P-specific resources\n    void setupP2PBuffers()\n    {\n        // Set up P2P-specific test configuration\n        p2p_config.is_sender   = (config.world_rank == 0);\n        p2p_config.buffer_size = kDefaultBufferSize;\n\n        // Allocate and initialize send buffer with test pattern\n        constexpr size_t num_elements = kDefaultBufferSize / sizeof(float);\n        auto [send_err, _]            = allocateAndInitialize<float>(&p2p_config.send_buffer,\n                                                          num_elements,\n                                                          config.world_rank);\n        ASSERT_EQ(hipSuccess, send_err)\n            << \"Rank \" << config.world_rank << \": Failed to allocate/initialize send buffer\";\n        auto sendGuard = makeDeviceBufferAutoGuard(p2p_config.send_buffer);\n\n        // Allocate and zero-initialize receive buffer\n        hipError_t hip_result = hipMalloc(&p2p_config.recv_buffer, p2p_config.buffer_size);\n        ASSERT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank << \": Failed to allocate recv buffer\";\n        auto recvGuard = makeDeviceBufferAutoGuard(p2p_config.recv_buffer);\n\n        hip_result = zeroInitializeBuffer<float>(p2p_config.recv_buffer, num_elements);\n        ASSERT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank << \": Failed to zero-initialize recv buffer\";\n\n        // Synchronize default stream to ensure all buffer operations complete\n        // Note: This is called before createTestCommunicator(), so we use the default stream (0)\n        ASSERT_EQ(hipSuccess, hipStreamSynchronize(0))\n            << \"Rank \" << config.world_rank\n            << \": Failed to synchronize default stream after buffer initialization\";\n\n        // Release guards - buffers must persist beyond setupP2PBuffers() scope\n        // They will be manually cleaned up in TearDown() BEFORE base class teardown\n        // to avoid \"invalid resource handle\" errors with proxy connections\n        sendGuard.release();\n        recvGuard.release();\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"P2P buffers allocated successfully\");\n        }\n    }\n\n    void TearDown() override\n    {\n        // Cleanup P2P-specific test resources BEFORE calling base class TearDown\n        // Note: Buffers must be freed while the communicator and proxy connections\n        // are still valid. The base class TearDown() destroys the communicator, which\n        // triggers proxy thread shutdown and frees all proxy connections. If we free\n        // buffers after that, we get \"invalid resource handle\" errors.\n        if(p2p_config.send_buffer)\n        {\n            HIP_TEST_CHECK_GTEST_FAIL(hipFree(p2p_config.send_buffer));\n            p2p_config.send_buffer = nullptr;\n        }\n        if(p2p_config.recv_buffer)\n        {\n            HIP_TEST_CHECK_GTEST_FAIL(hipFree(p2p_config.recv_buffer));\n            p2p_config.recv_buffer = nullptr;\n        }\n\n        // Call base class TearDown to cleanup communicator and proxy connections\n        TransportTestBase::TearDown();\n    }\n\npublic:\n    // Test P2P capability detection (peer-to-peer communication)\n    void testP2pCanConnect()\n    {\n        // Validate preconditions\n        ASSERT_NE(nullptr, comm_handle)\n            << \"Rank \" << config.world_rank\n            << \": comm_handle is null - NCCL communicator not initialized\";\n        ASSERT_NE(nullptr, local_peer_info)\n            << \"Rank \" << config.world_rank\n            << \": local_peer_info is null - peer information not initialized\";\n        ASSERT_NE(nullptr, remote_peer_info)\n            << \"Rank \" << config.world_rank\n            << \": remote_peer_info is null - peer information not initialized\";\n\n        int        can_connect = 0;\n        const auto result      = p2pTransport.canConnect(&can_connect,\n                                                    comm_handle,\n                                                    topology_graph,\n                                                    local_peer_info,\n                                                    remote_peer_info);\n\n        ASSERT_EQ(ncclSuccess, result) << \"Rank \" << config.world_rank\n                                       << \": p2pCanConnect failed: \" << ncclGetErrorString(result);\n\n        // Synchronize the stream to ensure all operations complete\n        ASSERT_EQ(hipSuccess, syncStream(config.stream, config.world_rank))\n            << \"Rank \" << config.world_rank << \": Stream synchronization failed\";\n    }\n\n    // Test P2P setup phase\n    void testP2pSetup()\n    {\n        // Call setup() and save the connect_info to class members for later MPI exchange\n        const auto result = p2p_config.is_sender\n                                ? p2pTransport.send.setup(comm_handle,\n                                                                           topology_graph,\n                                                                           local_peer_info,\n                                                                           remote_peer_info,\n                                                                           &send_connect_info,\n                                                                           &send_connector,\n                                                                           0,\n                                                                           0)\n                                                  : p2pTransport.recv.setup(comm_handle,\n                                                                           topology_graph,\n                                                                           local_peer_info,\n                                                                           remote_peer_info,\n                                                                           &recv_connect_info,\n                                                                           &recv_connector,\n                                                                           0,\n                                                                           0);\n\n        ASSERT_EQ(ncclSuccess, result)\n            << \"Rank \" << config.world_rank << \": \" << (p2p_config.is_sender ? \"Send\" : \"Recv\")\n            << \" setup failed: \" << ncclGetErrorString(result);\n    }\n\n    // Test P2P connection phase\n    void testP2pConnect()\n    {\n        // Validate preconditions\n        ASSERT_NE(nullptr, comm_handle) << \"Rank \" << config.world_rank << \": comm_handle is null\";\n        ASSERT_NE(nullptr, local_peer_info)\n            << \"Rank \" << config.world_rank << \": local_peer_info is null\";\n        ASSERT_NE(nullptr, remote_peer_info)\n            << \"Rank \" << config.world_rank << \": remote_peer_info is null\";\n\n        // NOTE: setup() was already called in testP2pSetup() and saved connect_info to class members\n        // This method only does MPI exchange of connect_info and then calls connect()\n\n        if(p2p_config.is_sender)\n        {\n            // Exchange connect info with receiver using MPI\n            ASSERT_EQ(MPI_SUCCESS,\n                      MPI_Send(&send_connect_info,  // Use class member from testP2pSetup()\n                               sizeof(ncclConnect),\n                               MPI_BYTE,\n                               config.peer_rank,\n                               0,\n                               MPI_COMM_WORLD))\n                << \"Rank \" << config.world_rank << \": MPI_Send failed\";\n\n            ASSERT_EQ(MPI_SUCCESS,\n                      MPI_Recv(&recv_connect_info,  // Receive into class member\n                               sizeof(ncclConnect),\n                               MPI_BYTE,\n                               config.peer_rank,\n                               0,\n                               MPI_COMM_WORLD,\n                               MPI_STATUS_IGNORE))\n                << \"Rank \" << config.world_rank << \": MPI_Recv failed\";\n\n            // Perform the actual connection using the received info\n            auto result = p2pTransport.send.connect(comm_handle,\n                                               &recv_connect_info,\n                                               config.world_size,\n                                               config.world_rank,\n                                               &send_connector);\n            ASSERT_EQ(ncclSuccess, result)\n                << \"Rank \" << config.world_rank\n                << \": Send connect failed: \" << ncclGetErrorString(result);\n        }\n        else\n        {\n            // Exchange connect info with sender using MPI\n            ASSERT_EQ(MPI_SUCCESS,\n                      MPI_Recv(&send_connect_info,  // Receive into class member\n                               sizeof(ncclConnect),\n                               MPI_BYTE,\n                               config.peer_rank,\n                               0,\n                               MPI_COMM_WORLD,\n                               MPI_STATUS_IGNORE))\n                << \"Rank \" << config.world_rank << \": MPI_Recv failed\";\n\n            ASSERT_EQ(MPI_SUCCESS,\n                      MPI_Send(&recv_connect_info,  // Use class member from testP2pSetup()\n                               sizeof(ncclConnect),\n                               MPI_BYTE,\n                               config.peer_rank,\n                               0,\n                               MPI_COMM_WORLD))\n                << \"Rank \" << config.world_rank << \": MPI_Send failed\";\n\n            // Perform the actual connection using the received info\n            auto result = p2pTransport.recv.connect(comm_handle,\n                                               &send_connect_info,\n                                               config.world_size,\n                                               config.world_rank,\n                                               &recv_connector);\n            ASSERT_EQ(ncclSuccess, result)\n                << \"Rank \" << config.world_rank\n                << \": Recv connect failed: \" << ncclGetErrorString(result);\n        }\n\n        // Synchronize the stream to ensure all RCCL operations complete\n        ASSERT_EQ(hipSuccess, syncStream(config.stream, config.world_rank))\n            << \"Rank \" << config.world_rank << \": Stream synchronization failed\";\n    }\n\n    // Test actual data transfer through P2P\n    void testP2pDataTransfer()\n    {\n        // Use RCCL point-to-point operations to validate P2P transport\n        const size_t count  = p2p_config.buffer_size / sizeof(float);\n        const auto   result = p2p_config.is_sender ? ncclSend(p2p_config.send_buffer,\n                                                            count,\n                                                            ncclFloat,\n                                                            config.peer_rank,\n                                                            config.nccl_comm,\n                                                            config.stream)\n                                                   : ncclRecv(p2p_config.recv_buffer,\n                                                            count,\n                                                            ncclFloat,\n                                                            config.peer_rank,\n                                                            config.nccl_comm,\n                                                            config.stream);\n\n        ASSERT_EQ(ncclSuccess, result)\n            << \"Rank \" << config.world_rank << \": RCCL \" << (p2p_config.is_sender ? \"Send\" : \"Recv\")\n            << \" failed: \" << ncclGetErrorString(result);\n\n        ASSERT_EQ(hipSuccess, syncStream(config.stream, config.world_rank))\n            << \"Rank \" << config.world_rank << \": Stream synchronization failed\";\n\n        // Only validate data on the receiver side\n        if(!p2p_config.is_sender)\n        {\n            size_t error_idx;\n            float  expected_val, actual_val;\n\n            // Validate received data using verifyBufferData template\n            // The data should match the SENDER's pattern (peer_rank is the sender's rank)\n            bool data_correct = verifyBufferData<float>(\n                p2p_config.recv_buffer,\n                count,\n                [peer_rank = config.peer_rank](size_t i) {\n                    return static_cast<float>(peer_rank * kDefaultPatternMultiplier + i);\n                },\n                kMaxValidationElements,\n                1e-5,\n                &error_idx,\n                &expected_val,\n                &actual_val);\n\n            EXPECT_TRUE(data_correct) << \"Rank \" << config.world_rank\n                                      << \": Data validation failed at index \" << error_idx\n                                      << \": expected \" << expected_val << \", got \" << actual_val;\n\n            if(data_correct && config.world_rank == 0)\n            {\n                TEST_INFO(\"P2P data transfer validation successful - received correct data from rank %d\",\n                         config.peer_rank);\n            }\n            else if(!data_correct)\n            {\n                TEST_WARN(\"Rank %d: Failed to validate data received from rank %d\",\n                         config.world_rank,\n                         config.peer_rank);\n            }\n        }\n    }\n\n    // Test resource cleanup\n    void testP2pCleanup()\n    {\n        // Ensure all stream operations complete before validation\n        [[maybe_unused]] auto err = syncStream(config.stream, config.world_rank);\n        // Don't return error on sync failure - continue with validation\n\n        // Validate that connector resources are still valid at this point\n        // The actual cleanup will be handled by base class TearDown()\n        auto* connector = p2p_config.is_sender ? &send_connector : &recv_connector;\n\n        EXPECT_NE(nullptr, connector)\n            << \"Rank \" << config.world_rank << \": Connector pointer is null\";\n\n        if(connector)\n        {\n            EXPECT_NE(nullptr, connector->transportResources)\n                << \"Rank \" << config.world_rank << \": \" << (p2p_config.is_sender ? \"Send\" : \"Recv\")\n                << \" connector transport resources are null (premature cleanup)\";\n\n            if(config.world_rank == 0 && connector->transportResources)\n            {\n                TEST_INFO(\"Connector resources validated - still active (will be freed by base class)\");\n            }\n        }\n\n        // NOTE: Connectors will be automatically freed by base class TearDown()\n        // Device sync + connector cleanup happens BEFORE buffers are freed, which is critical for CE memcpy\n    }\n\n    // Test proxyConnect and proxyProgress specifically when useMemcpy is enabled\n    void testProxyConnectProgressWithMemcpy()\n    {\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"Testing proxyConnect and proxyProgress with CE memcpy support (V2)...\");\n        }\n\n        // Check if NCCL_P2P_USE_CUDA_MEMCPY is set externally - skip test if not\n        const char* p2p_memcpy_env = getenv(\"NCCL_P2P_USE_CUDA_MEMCPY\");\n        if(!p2p_memcpy_env || strcmp(p2p_memcpy_env, \"1\") != 0)\n        {\n            if(config.world_rank == 0)\n            {\n                TEST_INFO(\"Skipping CE memcpy test - NCCL_P2P_USE_CUDA_MEMCPY not set to '1'\");\n                TEST_INFO(\"To enable this test, set: export NCCL_P2P_USE_CUDA_MEMCPY=1\");\n            }\n            return; // Skip test gracefully\n        }\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"Found NCCL_P2P_USE_CUDA_MEMCPY=1 - CE memcpy mode enabled\");\n        }\n\n        // Use the test communicator created by createTestCommunicator()\n        // This provides better isolation and automatic cleanup\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"Using test communicator with CE memcpy mode\");\n        }\n\n        // Test with a smaller buffer size to ensure successful operations\n        const size_t buffer_size = 1024 * sizeof(float);\n        void*        send_buffer = nullptr;\n        void*        recv_buffer = nullptr;\n\n        hipError_t hip_result = hipMalloc(&send_buffer, buffer_size);\n        ASSERT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank\n            << \": Failed to allocate send buffer for memcpy test, error: \"\n            << hipGetErrorString(hip_result);\n        auto sendBufferGuard = makeDeviceBufferAutoGuard(send_buffer);\n\n        hip_result = hipMalloc(&recv_buffer, buffer_size);\n        ASSERT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank\n            << \": Failed to allocate recv buffer for memcpy test, error: \"\n            << hipGetErrorString(hip_result);\n        auto recvBufferGuard = makeDeviceBufferAutoGuard(recv_buffer);\n\n        // Initialize send buffer with test pattern\n        hip_result = initializeBufferWithPattern<float>(\n            send_buffer, 1024, [rank = config.world_rank](size_t i) {\n                return static_cast<float>(rank * kSmallPatternMultiplier + i);\n            });\n        ASSERT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank\n            << \": Failed to initialize send buffer for memcpy test, error: \"\n            << hipGetErrorString(hip_result);\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"Allocated buffers for CE memcpy testing\");\n        }\n\n        // Test: AllReduce operation - this triggers proxyConnect and proxyProgress\n        // in CE memcpy mode using the test communicator and stream\n        const ncclResult_t allreduce_result = ncclAllReduce(send_buffer,\n                                                            recv_buffer,\n                                                            1024,\n                                                            ncclFloat,\n                                                            ncclSum,\n                                                            getActiveCommunicator(),\n                                                            getActiveStream());\n        ASSERT_EQ(ncclSuccess, allreduce_result)\n            << \"Rank \" << config.world_rank\n            << \": AllReduce with CE memcpy failed, result: \" << allreduce_result << \" (\"\n            << ncclGetErrorString(allreduce_result) << \")\";\n        if(allreduce_result == ncclSuccess && config.world_rank == 0)\n        {\n            TEST_INFO(\"AllReduce with CE memcpy successful (exercises proxyProgress)\");\n        }\n\n        // Synchronize stream using getActiveStream()\n        hip_result = hipStreamSynchronize(getActiveStream());\n        ASSERT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank\n            << \": Stream sync failed after CE memcpy AllReduce, error: \"\n            << hipGetErrorString(hip_result);\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"CE memcpy proxy test completed successfully\");\n            TEST_INFO(\"Summary of CE memcpy proxy functions exercised:\");\n            TEST_INFO(\"  - proxyConnect: Called with CE memcpy setup (p2pSendProxyConnect)\");\n            TEST_INFO(\"  - proxyProgress: Called during operations (p2pSendProxyProgress)\");\n            TEST_INFO(\"  - CE memcpy features: CUDA streams, events, shared memory\");\n            TEST_INFO(\"  - Proxy resource management: Buffer allocation and cleanup\");\n        }\n    }\n\n    // Test basic P2P IPC buffer registration with comprehensive steps\n    void testP2PRegistrationBasicBuffers()\n    {\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"Testing P2P IPC buffer registration via ncclSend/ncclRecv...\");\n        }\n\n        // Step 1: Allocate and initialize test buffers\n        void* send_buffer = nullptr;\n        void* recv_buffer = nullptr;\n\n        allocateAndInitBuffers(&send_buffer, &recv_buffer, kLargeBufferSize, kLargeBufferSize);\n\n        // Step 2: Pre-register buffers with ncclCommRegister (required for SIMPLE protocol)\n        void* send_reg_handle = nullptr;\n        void* recv_reg_handle = nullptr;\n\n        preRegisterBuffers(send_buffer,\n                           recv_buffer,\n                           kLargeBufferSize,\n                           kLargeBufferSize,\n                           &send_reg_handle,\n                           &recv_reg_handle);\n\n        // Guard registration handles for automatic cleanup\n        NcclRegHandleGuard sendRegGuard(send_reg_handle,\n                                        NcclRegHandleDeleter(getActiveCommunicator()));\n        NcclRegHandleGuard recvRegGuard(recv_reg_handle,\n                                        NcclRegHandleDeleter(getActiveCommunicator()));\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"Pre-registered buffers with ncclCommRegister\");\n        }\n\n        // Step 3: Initialize send buffer with test pattern\n        const size_t num_floats = kLargeBufferSize / sizeof(float);\n        hipError_t   hip_result = initializeBufferWithPattern<float>(\n            send_buffer, num_floats, [rank = config.world_rank](size_t i) {\n                return static_cast<float>(rank * 1000 + i);\n            });\n        ASSERT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank << \": Failed to initialize send buffer\";\n\n        // Step 4: Determine peer ranks (ring topology like rccl-tests)\n        const int nranks    = config.world_size;\n        const int rank      = config.world_rank;\n        const int recv_peer = (rank - 1 + nranks) % nranks; // Receive from left neighbor\n        const int send_peer = (rank + 1) % nranks; // Send to right neighbor\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"Using ring topology - recv from rank %d, send to rank %d\",\n                      recv_peer,\n                      send_peer);\n        }\n\n        // Step 5: Perform ncclSend/ncclRecv which internally triggers ncclRegisterP2pIpcBuffer\n        const size_t count = num_floats;\n\n        auto nccl_result = ncclGroupStart();\n        ASSERT_EQ(ncclSuccess, nccl_result)\n            << \"Rank \" << config.world_rank << \": ncclGroupStart failed\";\n\n        nccl_result = ncclSend(send_buffer,\n                               count,\n                               ncclFloat,\n                               send_peer,\n                               getActiveCommunicator(),\n                               getActiveStream());\n        ASSERT_EQ(ncclSuccess, nccl_result)\n            << \"Rank \" << config.world_rank\n            << \": ncclSend failed: \" << ncclGetErrorString(nccl_result);\n\n        nccl_result = ncclRecv(recv_buffer,\n                               count,\n                               ncclFloat,\n                               recv_peer,\n                               getActiveCommunicator(),\n                               getActiveStream());\n        ASSERT_EQ(ncclSuccess, nccl_result)\n            << \"Rank \" << config.world_rank\n            << \": ncclRecv failed: \" << ncclGetErrorString(nccl_result);\n\n        nccl_result = ncclGroupEnd();\n        ASSERT_EQ(ncclSuccess, nccl_result)\n            << \"Rank \" << config.world_rank << \": ncclGroupEnd failed\";\n\n        // Ensure both ranks have completed their NCCL operations before synchronizing\n        MPI_Barrier(MPI_COMM_WORLD);\n\n        // Step 6: Synchronize stream to ensure operations complete\n        hip_result = hipStreamSynchronize(getActiveStream());\n        ASSERT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank << \": hipStreamSynchronize failed\";\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"ncclSend/ncclRecv operations completed successfully\");\n        }\n\n        // Step 7: Verify received data correctness\n        size_t error_idx;\n        float  expected_val, actual_val;\n        bool   data_correct = verifyBufferData<float>(\n            recv_buffer,\n            num_floats,\n            [recv_peer](size_t i) { return static_cast<float>(recv_peer * 1000 + i); },\n            10,\n            1e-5,\n            &error_idx,\n            &expected_val,\n            &actual_val);\n\n        EXPECT_TRUE(data_correct) << \"Rank \" << config.world_rank\n                                  << \": Data verification failed at index \" << error_idx\n                                  << \": expected \" << expected_val << \", got \" << actual_val;\n\n        if(data_correct && config.world_rank == 0)\n        {\n            TEST_INFO(\"Data verification passed - received correct data from rank %d\", recv_peer);\n        }\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"P2P Send/Recv test with IPC registration completed successfully\");\n        }\n    }\n\n    void testP2PSendRecvRegistration()\n    {\n        // Allocate and initialize buffers (>16KB for SIMPLE protocol)\n        void* send_buffer = nullptr;\n        void* recv_buffer = nullptr;\n\n        allocateAndInitBuffers(&send_buffer, &recv_buffer, kLargeBufferSize, kLargeBufferSize);\n\n        // Zero recv buffer for clean verification\n        ASSERT_EQ(hipSuccess, hipMemset(recv_buffer, 0, kLargeBufferSize))\n            << \"Rank \" << config.world_rank << \": Failed to zero recv buffer\";\n\n        // Pre-register buffers (creates cache entries for IPC registration)\n        void* send_reg_handle = nullptr;\n        void* recv_reg_handle = nullptr;\n\n        preRegisterBuffers(send_buffer,\n                           recv_buffer,\n                           kLargeBufferSize,\n                           kLargeBufferSize,\n                           &send_reg_handle,\n                           &recv_reg_handle);\n\n        // Guard registration handles for automatic cleanup\n        NcclRegHandleGuard sendRegGuard(send_reg_handle,\n                                        NcclRegHandleDeleter(getActiveCommunicator()));\n        NcclRegHandleGuard recvRegGuard(recv_reg_handle,\n                                        NcclRegHandleDeleter(getActiveCommunicator()));\n\n        // Execute ncclSend/ncclRecv\n        const size_t count = kLargeBufferSize / sizeof(float);\n        const int    peer  = (config.world_rank == 0) ? 1 : 0;\n\n        auto nccl_result = ncclGroupStart();\n        ASSERT_EQ(ncclSuccess, nccl_result);\n\n        nccl_result = ncclSend(send_buffer,\n                               count,\n                               ncclFloat,\n                               peer,\n                               getActiveCommunicator(),\n                               getActiveStream());\n        ASSERT_EQ(ncclSuccess, nccl_result);\n\n        nccl_result = ncclRecv(recv_buffer,\n                               count,\n                               ncclFloat,\n                               peer,\n                               getActiveCommunicator(),\n                               getActiveStream());\n        ASSERT_EQ(ncclSuccess, nccl_result);\n\n        nccl_result = ncclGroupEnd();\n        ASSERT_EQ(ncclSuccess, nccl_result);\n\n        // Ensure both ranks have completed their NCCL operations before synchronizing\n        MPI_Barrier(MPI_COMM_WORLD);\n\n        // Synchronize stream (GPU memory access via IPC happens here)\n        ASSERT_EQ(hipSuccess, syncStream(getActiveStream(), config.world_rank))\n            << \"Rank \" << config.world_rank << \": Stream sync failed - try NCCL_P2P_DISABLE=1\";\n\n        // Verify data correctness\n        const int peer_rank_verify = 1 - config.world_rank;\n        size_t    error_idx;\n        float     expected_val, actual_val;\n        bool      data_correct = verifyBufferData<float>(\n            recv_buffer,\n            count,\n            [peer_rank_verify](size_t i) {\n                return static_cast<float>(peer_rank_verify * 1000 + i);\n            },\n            10,\n            1e-5,\n            &error_idx,\n            &expected_val,\n            &actual_val);\n        EXPECT_TRUE(data_correct) << \"Rank \" << config.world_rank << \": Data mismatch at index \"\n                                  << error_idx << \": expected \" << expected_val << \", got \"\n                                  << actual_val;\n    }\n\n    // Test ncclIpcGraphRegisterBuffer API with multiple peers\n    void testIpcGraphRegisterBuffer()\n    {\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"Testing ncclIpcGraphRegisterBuffer API...\");\n        }\n\n        // Allocate and initialize test buffer using helper\n        void* send_buffer = nullptr;\n        void* recv_buffer = nullptr;\n\n        allocateAndInitBuffers(&send_buffer, &recv_buffer, kLargeBufferSize, kLargeBufferSize);\n\n        // Pre-register buffers with ncclCommRegister\n        void* send_reg_handle = nullptr;\n        void* recv_reg_handle = nullptr;\n\n        preRegisterBuffers(send_buffer,\n                           recv_buffer,\n                           kLargeBufferSize,\n                           kLargeBufferSize,\n                           &send_reg_handle,\n                           &recv_reg_handle);\n\n        // Guard registration handles for automatic cleanup\n        NcclRegHandleGuard sendRegGuard(send_reg_handle,\n                                        NcclRegHandleDeleter(getActiveCommunicator()));\n        NcclRegHandleGuard recvRegGuard(recv_reg_handle,\n                                        NcclRegHandleDeleter(getActiveCommunicator()));\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"Pre-registered buffers (size: %zu bytes)\", kLargeBufferSize);\n        }\n\n        // Set up peer ranks array for IPC registration\n        // In a 2-process setup, each rank registers with the other\n        const int peer_rank     = (config.world_rank == 0) ? 1 : 0;\n        int       peer_ranks[1] = {peer_rank};\n        const int n_peers       = 1;\n\n        // Call ncclIpcGraphRegisterBuffer for send buffer\n        int                                                       reg_buf_flag   = 0;\n        uintptr_t                                                 offset         = 0;\n        uintptr_t*                                                peer_rmt_addrs = nullptr;\n        ncclIntruQueue<ncclCommCallback, &ncclCommCallback::next> cleanup_queue{};\n        int                                                       n_cleanup_queue_elts = 0;\n\n        ncclResult_t result = ncclIpcGraphRegisterBuffer(\n            reinterpret_cast<ncclComm*>(getActiveCommunicator()),\n            send_buffer,\n            kLargeBufferSize,\n            peer_ranks,\n            n_peers,\n            NCCL_IPC_SENDRECV, // Registration type for send/recv operations\n            &reg_buf_flag,\n            &offset,\n            &peer_rmt_addrs,\n            reinterpret_cast<void*>(&cleanup_queue),\n            &n_cleanup_queue_elts);\n\n        ASSERT_EQ(ncclSuccess, result) << \"Rank \" << config.world_rank\n                                       << \": ncclIpcGraphRegisterBuffer failed for send buffer: \"\n                                       << ncclGetErrorString(result);\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"ncclIpcGraphRegisterBuffer completed successfully\");\n            TEST_INFO(\"  Registration flag: %d\", reg_buf_flag);\n            TEST_INFO(\"  Buffer offset: %lu\", offset);\n            TEST_INFO(\"  Number of peers: %d\", n_peers);\n            TEST_INFO(\"  Cleanup queue elements: %d\", n_cleanup_queue_elts);\n            TEST_INFO(\"  Remote addresses pointer: %p\", static_cast<void*>(peer_rmt_addrs));\n        }\n\n        // Synchronize all ranks after registration\n        MPI_Barrier(MPI_COMM_WORLD);\n\n        // Perform communication to verify IPC registration worked correctly\n        // This validates that the proxy registration set up the mappings properly\n        const size_t count = kLargeBufferSize / sizeof(float);\n\n        auto nccl_result = ncclGroupStart();\n        ASSERT_EQ(ncclSuccess, nccl_result)\n            << \"Rank \" << config.world_rank << \": ncclGroupStart failed\";\n\n        nccl_result = ncclSend(send_buffer,\n                               count,\n                               ncclFloat,\n                               peer_rank,\n                               getActiveCommunicator(),\n                               getActiveStream());\n        ASSERT_EQ(ncclSuccess, nccl_result) << \"Rank \" << config.world_rank << \": ncclSend failed\";\n\n        nccl_result = ncclRecv(recv_buffer,\n                               count,\n                               ncclFloat,\n                               peer_rank,\n                               getActiveCommunicator(),\n                               getActiveStream());\n        ASSERT_EQ(ncclSuccess, nccl_result) << \"Rank \" << config.world_rank << \": ncclRecv failed\";\n\n        nccl_result = ncclGroupEnd();\n        ASSERT_EQ(ncclSuccess, nccl_result)\n            << \"Rank \" << config.world_rank << \": ncclGroupEnd failed\";\n\n        // Ensure both ranks have completed their NCCL operations before synchronizing\n        MPI_Barrier(MPI_COMM_WORLD);\n\n        // Synchronize stream\n        ASSERT_EQ(hipSuccess, hipStreamSynchronize(getActiveStream()))\n            << \"Rank \" << config.world_rank << \": Stream sync failed after IPC communication\";\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"Communication with IPC-registered buffer completed\");\n        }\n\n        // Verify received data\n        size_t error_idx;\n        float  expected_val, actual_val;\n        bool   data_correct = verifyBufferData<float>(\n            recv_buffer,\n            count,\n            [peer_rank](size_t i) { return static_cast<float>(peer_rank * 1000 + i); },\n            10,\n            1e-5,\n            &error_idx,\n            &expected_val,\n            &actual_val);\n\n        EXPECT_TRUE(data_correct)\n            << \"Rank \" << config.world_rank\n            << \": IPC graph registered buffer data verification failed at index \" << error_idx\n            << \": expected \" << expected_val << \", got \" << actual_val;\n\n        if(data_correct && config.world_rank == 0)\n        {\n            TEST_INFO(\"IPC graph buffer data verification passed\");\n        }\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"ncclIpcGraphRegisterBuffer test completed successfully\");\n        }\n    }\n};\n\nTEST_F(P2pMPITest, P2pWorkflow)\n{\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kRequirePowerOfTwo,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Setup P2P-specific buffers BEFORE creating communicator\n    setupP2PBuffers();\n\n    // Create test-specific communicator for isolation\n    // Use ASSERT_MPI_SUCCESS to prevent deadlock if creation fails on some ranks\n    ASSERT_MPI_SUCCESS(createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Starting comprehensive P2P transport workflow test with %d processes\", config.world_size);\n        TEST_INFO(\"This test exercises the low-level P2P transport API\");\n    }\n\n    // Test 1: P2P Capability Detection\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Step 1: Testing P2P canConnect capability\");\n    }\n    testP2pCanConnect();\n\n    // Test 2: P2P Setup\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Step 2: Setting up P2P transport connectors\");\n    }\n    testP2pSetup();\n\n    // Test 3: P2P Connection\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Step 3: Connecting P2P transport\");\n    }\n    testP2pConnect();\n\n    // Test 4: Data Transfer through P2P\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Step 4: Performing P2P data transfer\");\n    }\n    testP2pDataTransfer();\n\n    // Test 5: Resource Cleanup\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Step 5: Validating resource cleanup\");\n    }\n    testP2pCleanup();\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"P2P transport workflow test completed successfully\");\n        TEST_INFO(\"NOTE: Base class TearDown() handles connector cleanup automatically\");\n    }\n}\n\nTEST_F(P2pMPITest, P2pWithMemcpyTest)\n{\n    // Test validation and resource allocation\n\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kNoPowerOfTwoRequired,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Allocate P2P resources\n    setupP2PBuffers();\n\n    // Create test-specific communicator for isolation\n    ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Starting proxy connect/progress test with memcpy enabled (%d processes)\",\n                  config.world_size);\n    }\n\n    // This test specifically exercises proxyConnect and proxyProgress when\n    // useMemcpy is enabled by setting the NCCL_P2P_USE_CUDA_MEMCPY environment\n    // variable\n    testProxyConnectProgressWithMemcpy();\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Proxy connect/progress memcpy test completed successfully\");\n    }\n}\n\nTEST_F(P2pMPITest, P2pSendRecvRegistrationTest)\n{\n    // Test validation and resource allocation\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kRequirePowerOfTwo,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Allocate P2P resources\n    setupP2PBuffers();\n\n    // TODO: Enable this test once IPC buffer registration feature works as\n    // expected\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Skipping P2P Send/Recv with IPC registration test\");\n        TEST_INFO(\n            \"This test will be enabled once IPC buffer registration feature works as expected\");\n    }\n    GTEST_SKIP() << \"Test disabled - enable once IPC buffer registration feature \"\n                    \"works as expected\";\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Starting P2P Send/Recv with IPC registration test (%d processes)\",\n                  config.world_size);\n    }\n\n    // This test performs Send/Recv operations which internally trigger\n    // ncclRegisterP2pIpcBuffer from sendrecv_reg.cc\n    testP2PSendRecvRegistration();\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"P2P Send/Recv with IPC registration test completed successfully\");\n    }\n}\n\nTEST_F(P2pMPITest, P2pRegistrationBasicBuffersTest)\n{\n    // Test validation and resource allocation\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kNoPowerOfTwoRequired,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Allocate P2P resources\n    setupP2PBuffers();\n\n    // Create test-specific communicator for isolation (solves shared memory issue)\n    ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Starting basic P2P IPC buffer registration test (%d processes)\",\n                  config.world_size);\n    }\n\n    testP2PRegistrationBasicBuffers();\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Basic P2P IPC buffer registration test completed successfully\");\n    }\n}\n\nTEST_F(P2pMPITest, P2pIpcBufferRegistration_NullBufferPointer)\n{\n    // Test validation and resource allocation\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kNoPowerOfTwoRequired,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Allocate P2P resources\n    setupP2PBuffers();\n    ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Testing ncclRegisterP2pIpcBuffer with null buffer pointer (%d processes)\",\n                  config.world_size);\n    }\n\n    auto*     comm      = reinterpret_cast<ncclComm*>(getActiveCommunicator());\n    const int peer_rank = (config.world_rank + 1) % config.world_size;\n    ncclIntruQueue<ncclCommCallback, &ncclCommCallback::next> cleanup_queue{};\n\n    int   ipc_reg_flag = 0;\n    void* ipc_reg_addr = nullptr;\n\n    // Note: Cannot pre-register null buffer, so this tests the null pointer handling directly\n    ncclResult_t result = ncclRegisterP2pIpcBuffer(comm,\n                                                   nullptr,\n                                                   1024,\n                                                   peer_rank,\n                                                   &ipc_reg_flag,\n                                                   &ipc_reg_addr,\n                                                   &cleanup_queue);\n\n    // Expected behavior: Should handle gracefully (likely return error or skip registration)\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Null buffer test - Result: %s (regFlag=%d)\",\n                  ncclGetErrorString(result),\n                  ipc_reg_flag);\n    }\n\n    // Validate that null buffer doesn't crash and flag is appropriately set\n    EXPECT_NE(result, ncclInternalError)\n        << \"Rank \" << config.world_rank << \": API should handle null buffer gracefully\";\n    EXPECT_EQ(0, ipc_reg_flag) << \"Rank \" << config.world_rank\n                               << \": Registration flag should be 0 for null buffer\";\n}\n\nTEST_F(P2pMPITest, P2pIpcBufferRegistration_ZeroSize)\n{\n    // Test validation and resource allocation\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kNoPowerOfTwoRequired,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Allocate P2P resources\n    setupP2PBuffers();\n    ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Testing ncclRegisterP2pIpcBuffer with zero size buffer (%d processes)\",\n                  config.world_size);\n    }\n\n    auto*     comm      = reinterpret_cast<ncclComm*>(getActiveCommunicator());\n    const int peer_rank = (config.world_rank + 1) % config.world_size;\n    ncclIntruQueue<ncclCommCallback, &ncclCommCallback::next> cleanup_queue{};\n\n    void* buffer = nullptr;\n    HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&buffer, 1024));\n    auto bufferGuard = makeDeviceBufferAutoGuard(buffer); // GPU memory\n\n    // Pre-register buffer with actual size (1024)\n    void* reg_handle = nullptr;\n    ASSERT_EQ(ncclSuccess, ncclCommRegister(getActiveCommunicator(), buffer, 1024, &reg_handle))\n        << \"Rank \" << config.world_rank << \": Failed to pre-register buffer\";\n    NcclRegHandleGuard regGuard(reg_handle, NcclRegHandleDeleter(getActiveCommunicator()));\n\n    int   ipc_reg_flag = 0;\n    void* ipc_reg_addr = nullptr;\n\n    // Test with zero size (buffer is registered but size is 0)\n    ncclResult_t result = ncclRegisterP2pIpcBuffer(comm,\n                                                   buffer,\n                                                   0,\n                                                   peer_rank,\n                                                   &ipc_reg_flag,\n                                                   &ipc_reg_addr,\n                                                   &cleanup_queue);\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Zero size buffer test - Result: %s (regFlag=%d)\",\n                  ncclGetErrorString(result),\n                  ipc_reg_flag);\n    }\n\n    // Validate that zero size is handled appropriately (should not succeed in registration)\n    EXPECT_NE(result, ncclInternalError)\n        << \"Rank \" << config.world_rank << \": API should handle zero size gracefully\";\n    EXPECT_EQ(0, ipc_reg_flag) << \"Rank \" << config.world_rank\n                               << \": Registration flag should be 0 for zero size buffer\";\n\n    if(reg_handle)\n    {\n        ASSERT_EQ(ncclSuccess, ncclCommDeregister(getActiveCommunicator(), reg_handle))\n            << \"Rank \" << config.world_rank << \": Failed to deregister buffer\";\n    }\n}\n\nTEST_F(P2pMPITest, P2pIpcBufferRegistration_VerySmallBuffer)\n{\n    // Test validation and resource allocation\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kNoPowerOfTwoRequired,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Allocate P2P resources\n    setupP2PBuffers();\n    ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\n            \"Testing ncclRegisterP2pIpcBuffer with very small buffer (64 bytes) (%d processes)\",\n            config.world_size);\n    }\n\n    auto*     comm      = reinterpret_cast<ncclComm*>(getActiveCommunicator());\n    const int peer_rank = (config.world_rank + 1) % config.world_size;\n    ncclIntruQueue<ncclCommCallback, &ncclCommCallback::next> cleanup_queue{};\n\n    void*        buffer     = nullptr;\n    const size_t small_size = 64;\n    HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&buffer, small_size));\n    auto bufferGuard = makeDeviceBufferAutoGuard(buffer); // GPU memory\n\n    // Pre-register buffer\n    void* reg_handle = nullptr;\n    ASSERT_EQ(ncclSuccess,\n              ncclCommRegister(getActiveCommunicator(), buffer, small_size, &reg_handle))\n        << \"Rank \" << config.world_rank << \": Failed to pre-register buffer\";\n    NcclRegHandleGuard regGuard(reg_handle, NcclRegHandleDeleter(getActiveCommunicator()));\n\n    int   ipc_reg_flag = 0;\n    void* ipc_reg_addr = nullptr;\n\n    ncclResult_t result = ncclRegisterP2pIpcBuffer(comm,\n                                                   buffer,\n                                                   small_size,\n                                                   peer_rank,\n                                                   &ipc_reg_flag,\n                                                   &ipc_reg_addr,\n                                                   &cleanup_queue);\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Small buffer (64B) test - Result: %s (regFlag=%d)\",\n                  ncclGetErrorString(result),\n                  ipc_reg_flag);\n    }\n\n    // Validate that small buffer registration succeeds\n    ASSERT_EQ(ncclSuccess, result)\n        << \"Rank \" << config.world_rank << \": Small buffer registration should succeed\";\n    // Registration flag may be set depending on whether IPC is available\n    EXPECT_GE(ipc_reg_flag, 0) << \"Rank \" << config.world_rank\n                               << \": Registration flag should be non-negative\";\n\n    if(reg_handle)\n    {\n        ASSERT_EQ(ncclSuccess, ncclCommDeregister(getActiveCommunicator(), reg_handle))\n            << \"Rank \" << config.world_rank << \": Failed to deregister buffer\";\n    }\n}\n\nTEST_F(P2pMPITest, P2pIpcBufferRegistration_LargeBuffer)\n{\n    // Test validation and resource allocation\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kNoPowerOfTwoRequired,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Allocate P2P resources\n    setupP2PBuffers();\n    ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Testing ncclRegisterP2pIpcBuffer with large buffer (256 MB) (%d processes)\",\n                  config.world_size);\n    }\n\n    auto*     comm      = reinterpret_cast<ncclComm*>(getActiveCommunicator());\n    const int peer_rank = (config.world_rank + 1) % config.world_size;\n    ncclIntruQueue<ncclCommCallback, &ncclCommCallback::next> cleanup_queue{};\n\n    void*        buffer     = nullptr;\n    const size_t large_size = 256 * 1024 * 1024; // 256 MB\n    hipError_t   hip_result = hipMalloc(&buffer, large_size);\n\n    if(hip_result == hipSuccess)\n    {\n        auto bufferGuard = makeDeviceBufferAutoGuard(buffer); // GPU memory\n\n        // Pre-register buffer\n        void* reg_handle = nullptr;\n        ASSERT_EQ(ncclSuccess,\n                  ncclCommRegister(getActiveCommunicator(), buffer, large_size, &reg_handle))\n            << \"Rank \" << config.world_rank << \": Failed to pre-register large buffer\";\n        NcclRegHandleGuard regGuard(reg_handle, NcclRegHandleDeleter(getActiveCommunicator()));\n\n        int   ipc_reg_flag = 0;\n        void* ipc_reg_addr = nullptr;\n\n        ncclResult_t result = ncclRegisterP2pIpcBuffer(comm,\n                                                       buffer,\n                                                       large_size,\n                                                       peer_rank,\n                                                       &ipc_reg_flag,\n                                                       &ipc_reg_addr,\n                                                       &cleanup_queue);\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"Large buffer (256MB) test - Result: %s (regFlag=%d)\",\n                      ncclGetErrorString(result),\n                      ipc_reg_flag);\n        }\n\n        // Validate that large buffer registration succeeds (since allocation succeeded)\n        ASSERT_EQ(ncclSuccess, result)\n            << \"Rank \" << config.world_rank << \": Large buffer registration should succeed\";\n        EXPECT_GE(ipc_reg_flag, 0)\n            << \"Rank \" << config.world_rank << \": Registration flag should be non-negative\";\n\n        if(reg_handle)\n        {\n            ASSERT_EQ(ncclSuccess, ncclCommDeregister(getActiveCommunicator(), reg_handle))\n                << \"Rank \" << config.world_rank << \": Failed to deregister large buffer\";\n        }\n    }\n    else\n    {\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"Large buffer (256MB) test - Skipped (allocation failed: %s)\",\n                      hipGetErrorString(hip_result));\n        }\n        GTEST_SKIP() << \"Large buffer allocation failed\";\n    }\n}\n\nTEST_F(P2pMPITest, P2pIpcBufferRegistration_InvalidPeerRank)\n{\n    // Test validation and resource allocation\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kNoPowerOfTwoRequired,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Allocate P2P resources\n    setupP2PBuffers();\n    ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Testing ncclRegisterP2pIpcBuffer with boundary peer rank (%d processes)\",\n                  config.world_size);\n        TEST_INFO(\n            \"NOTE: Testing with last valid peer rank (world_size - 1) instead of invalid rank\");\n        TEST_INFO(\"      Out-of-bounds peer ranks cause segfault - implementation should validate \"\n                  \"inputs\");\n    }\n\n    auto* comm = reinterpret_cast<ncclComm*>(getActiveCommunicator());\n    ncclIntruQueue<ncclCommCallback, &ncclCommCallback::next> cleanup_queue{};\n\n    void* buffer = nullptr;\n    HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&buffer, 1024));\n    auto bufferGuard = makeDeviceBufferAutoGuard(buffer); // GPU memory\n\n    // Pre-register buffer\n    void* reg_handle = nullptr;\n    ASSERT_EQ(ncclSuccess, ncclCommRegister(getActiveCommunicator(), buffer, 1024, &reg_handle))\n        << \"Rank \" << config.world_rank << \": Failed to pre-register buffer\";\n    NcclRegHandleGuard regGuard(reg_handle, NcclRegHandleDeleter(getActiveCommunicator()));\n\n    int   ipc_reg_flag = 0;\n    void* ipc_reg_addr = nullptr;\n    // Use last valid peer rank instead of out-of-bounds to avoid segfault\n    const int boundary_peer = config.world_size - 1;\n\n    ncclResult_t result = ncclRegisterP2pIpcBuffer(comm,\n                                                   buffer,\n                                                   1024,\n                                                   boundary_peer,\n                                                   &ipc_reg_flag,\n                                                   &ipc_reg_addr,\n                                                   &cleanup_queue);\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Boundary peer rank (%d) test - Result: %s (regFlag=%d)\",\n                  boundary_peer,\n                  ncclGetErrorString(result),\n                  ipc_reg_flag);\n    }\n\n    // Validate that boundary peer rank is handled correctly\n    ASSERT_EQ(ncclSuccess, result)\n        << \"Rank \" << config.world_rank << \": Boundary peer rank should succeed\";\n    EXPECT_GE(ipc_reg_flag, 0) << \"Rank \" << config.world_rank\n                               << \": Registration flag should be non-negative\";\n\n    if(reg_handle)\n    {\n        ASSERT_EQ(ncclSuccess, ncclCommDeregister(getActiveCommunicator(), reg_handle))\n            << \"Rank \" << config.world_rank << \": Failed to deregister buffer\";\n    }\n}\n\nTEST_F(P2pMPITest, P2pIpcBufferRegistration_NegativePeerRank)\n{\n    // Test validation and resource allocation\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kNoPowerOfTwoRequired,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Allocate P2P resources\n    setupP2PBuffers();\n    ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Testing ncclRegisterP2pIpcBuffer with peer rank 0 (%d processes)\",\n                  config.world_size);\n        TEST_INFO(\"NOTE: Testing with peer rank 0 instead of negative rank\");\n        TEST_INFO(\n            \"      Negative peer ranks cause segfault - implementation should validate inputs\");\n    }\n\n    auto* comm = reinterpret_cast<ncclComm*>(getActiveCommunicator());\n    ncclIntruQueue<ncclCommCallback, &ncclCommCallback::next> cleanup_queue{};\n\n    void* buffer = nullptr;\n    HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&buffer, 1024));\n    auto bufferGuard = makeDeviceBufferAutoGuard(buffer); // GPU memory\n\n    // Pre-register buffer\n    void* reg_handle = nullptr;\n    ASSERT_EQ(ncclSuccess, ncclCommRegister(getActiveCommunicator(), buffer, 1024, &reg_handle))\n        << \"Rank \" << config.world_rank << \": Failed to pre-register buffer\";\n    NcclRegHandleGuard regGuard(reg_handle, NcclRegHandleDeleter(getActiveCommunicator()));\n\n    int   ipc_reg_flag = 0;\n    void* ipc_reg_addr = nullptr;\n    // Use peer rank 0 (valid lower boundary) instead of negative to avoid segfault\n    const int lower_boundary_peer = 0;\n\n    ncclResult_t result = ncclRegisterP2pIpcBuffer(comm,\n                                                   buffer,\n                                                   1024,\n                                                   lower_boundary_peer,\n                                                   &ipc_reg_flag,\n                                                   &ipc_reg_addr,\n                                                   &cleanup_queue);\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Lower boundary peer rank (%d) test - Result: %s (regFlag=%d)\",\n                  lower_boundary_peer,\n                  ncclGetErrorString(result),\n                  ipc_reg_flag);\n    }\n\n    // Validate that peer rank 0 (lower boundary) is handled correctly\n    ASSERT_EQ(ncclSuccess, result)\n        << \"Rank \" << config.world_rank << \": Lower boundary peer rank should succeed\";\n    EXPECT_GE(ipc_reg_flag, 0) << \"Rank \" << config.world_rank\n                               << \": Registration flag should be non-negative\";\n\n    if(reg_handle)\n    {\n        ASSERT_EQ(ncclSuccess, ncclCommDeregister(getActiveCommunicator(), reg_handle))\n            << \"Rank \" << config.world_rank << \": Failed to deregister buffer\";\n    }\n}\n\nTEST_F(P2pMPITest, P2pIpcBufferRegistration_SameBufferMultipleTimes)\n{\n    // Test validation and resource allocation\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kNoPowerOfTwoRequired,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Allocate P2P resources\n    setupP2PBuffers();\n    ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Testing ncclRegisterP2pIpcBuffer with same buffer multiple times (%d processes)\",\n                  config.world_size);\n    }\n\n    auto*     comm      = reinterpret_cast<ncclComm*>(getActiveCommunicator());\n    const int peer_rank = (config.world_rank + 1) % config.world_size;\n    ncclIntruQueue<ncclCommCallback, &ncclCommCallback::next> cleanup_queue{};\n\n    void* buffer = nullptr;\n    HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&buffer, 4096));\n    auto bufferGuard = makeDeviceBufferAutoGuard(buffer); // GPU memory\n\n    // Pre-register buffer\n    void* reg_handle = nullptr;\n    ASSERT_EQ(ncclSuccess, ncclCommRegister(getActiveCommunicator(), buffer, 4096, &reg_handle))\n        << \"Rank \" << config.world_rank << \": Failed to pre-register buffer\";\n    NcclRegHandleGuard regGuard(reg_handle, NcclRegHandleDeleter(getActiveCommunicator()));\n\n    // First registration\n    int          ipc_reg_flag_1 = 0;\n    void*        ipc_reg_addr_1 = nullptr;\n    ncclResult_t result1        = ncclRegisterP2pIpcBuffer(comm,\n                                                    buffer,\n                                                    4096,\n                                                    peer_rank,\n                                                    &ipc_reg_flag_1,\n                                                    &ipc_reg_addr_1,\n                                                    &cleanup_queue);\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"First registration - Result: %s (regFlag=%d)\",\n                  ncclGetErrorString(result1),\n                  ipc_reg_flag_1);\n    }\n\n    // Second registration of same buffer\n    int          ipc_reg_flag_2 = 0;\n    void*        ipc_reg_addr_2 = nullptr;\n    ncclResult_t result2        = ncclRegisterP2pIpcBuffer(comm,\n                                                    buffer,\n                                                    4096,\n                                                    peer_rank,\n                                                    &ipc_reg_flag_2,\n                                                    &ipc_reg_addr_2,\n                                                    &cleanup_queue);\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Second registration (same buffer) - Result: %s (regFlag=%d)\",\n                  ncclGetErrorString(result2),\n                  ipc_reg_flag_2);\n    }\n\n    // Validate both registrations - API should handle duplicate registration gracefully\n    ASSERT_EQ(ncclSuccess, result1)\n        << \"Rank \" << config.world_rank << \": First registration should succeed\";\n    // Second registration may succeed (idempotent) or return success\n    EXPECT_NE(result2, ncclInternalError)\n        << \"Rank \" << config.world_rank << \": Second registration should not cause internal error\";\n\n    if(reg_handle)\n    {\n        ASSERT_EQ(ncclSuccess, ncclCommDeregister(getActiveCommunicator(), reg_handle))\n            << \"Rank \" << config.world_rank << \": Failed to deregister buffer\";\n    }\n}\n\nTEST_F(P2pMPITest, P2pIpcBufferRegistration_SelfPeerRank)\n{\n    // Test validation and resource allocation\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kNoPowerOfTwoRequired,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Allocate P2P resources\n    setupP2PBuffers();\n    ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Testing ncclRegisterP2pIpcBuffer with self peer rank (%d processes)\",\n                  config.world_size);\n    }\n\n    auto* comm = reinterpret_cast<ncclComm*>(getActiveCommunicator());\n    ncclIntruQueue<ncclCommCallback, &ncclCommCallback::next> cleanup_queue{};\n\n    void* buffer = nullptr;\n    HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&buffer, 1024));\n    auto bufferGuard = makeDeviceBufferAutoGuard(buffer); // GPU memory\n\n    // Pre-register buffer\n    void* reg_handle = nullptr;\n    ASSERT_EQ(ncclSuccess, ncclCommRegister(getActiveCommunicator(), buffer, 1024, &reg_handle))\n        << \"Rank \" << config.world_rank << \": Failed to pre-register buffer\";\n    NcclRegHandleGuard regGuard(reg_handle, NcclRegHandleDeleter(getActiveCommunicator()));\n\n    int   ipc_reg_flag = 0;\n    void* ipc_reg_addr = nullptr;\n\n    ncclResult_t result = ncclRegisterP2pIpcBuffer(comm,\n                                                   buffer,\n                                                   1024,\n                                                   config.world_rank,\n                                                   &ipc_reg_flag,\n                                                   &ipc_reg_addr,\n                                                   &cleanup_queue);\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Self peer rank test - Result: %s (regFlag=%d)\",\n                  ncclGetErrorString(result),\n                  ipc_reg_flag);\n    }\n\n    // Validate self peer rank handling - should handle gracefully\n    // Self-registration might be allowed or rejected depending on use case\n    EXPECT_NE(result, ncclInternalError)\n        << \"Rank \" << config.world_rank << \": Self peer rank should be handled gracefully\";\n\n    if(reg_handle)\n    {\n        ASSERT_EQ(ncclSuccess, ncclCommDeregister(getActiveCommunicator(), reg_handle))\n            << \"Rank \" << config.world_rank << \": Failed to deregister buffer\";\n    }\n}\n\nTEST_F(P2pMPITest, P2pIpcBufferRegistration_UnalignedBufferAddress)\n{\n    // Test validation and resource allocation\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kNoPowerOfTwoRequired,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Allocate P2P resources\n    setupP2PBuffers();\n    ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Testing ncclRegisterP2pIpcBuffer with unaligned buffer address (%d processes)\",\n                  config.world_size);\n    }\n\n    auto*     comm      = reinterpret_cast<ncclComm*>(getActiveCommunicator());\n    const int peer_rank = (config.world_rank + 1) % config.world_size;\n    ncclIntruQueue<ncclCommCallback, &ncclCommCallback::next> cleanup_queue{};\n\n    void* buffer = nullptr;\n    HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&buffer, 4096));\n    auto bufferGuard = makeDeviceBufferAutoGuard(buffer); // GPU memory\n\n    // Pre-register the aligned buffer first\n    void* reg_handle = nullptr;\n    ASSERT_EQ(ncclSuccess, ncclCommRegister(getActiveCommunicator(), buffer, 4096, &reg_handle))\n        << \"Rank \" << config.world_rank << \": Failed to pre-register buffer\";\n    NcclRegHandleGuard regGuard(reg_handle, NcclRegHandleDeleter(getActiveCommunicator()));\n\n    // Create unaligned pointer (offset by 1 byte)\n    void* unaligned_buffer = static_cast<char*>(buffer) + 1;\n\n    int   ipc_reg_flag = 0;\n    void* ipc_reg_addr = nullptr;\n\n    // Test with unaligned pointer (ncclRegFind should still find the registered buffer)\n    ncclResult_t result = ncclRegisterP2pIpcBuffer(comm,\n                                                   unaligned_buffer,\n                                                   1024,\n                                                   peer_rank,\n                                                   &ipc_reg_flag,\n                                                   &ipc_reg_addr,\n                                                   &cleanup_queue);\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Unaligned buffer test - Result: %s (regFlag=%d)\",\n                  ncclGetErrorString(result),\n                  ipc_reg_flag);\n    }\n\n    // Validate that ncclRegFind can locate the registered buffer even with unaligned pointer\n    ASSERT_EQ(ncclSuccess, result)\n        << \"Rank \" << config.world_rank << \": Unaligned pointer should find registered buffer\";\n    EXPECT_GE(ipc_reg_flag, 0) << \"Rank \" << config.world_rank\n                               << \": Registration flag should be non-negative\";\n\n    if(reg_handle)\n    {\n        ASSERT_EQ(ncclSuccess, ncclCommDeregister(getActiveCommunicator(), reg_handle))\n            << \"Rank \" << config.world_rank << \": Failed to deregister buffer\";\n    }\n}\n\nTEST_F(P2pMPITest, P2pIpcBufferRegistration_NonPowerOfTwoSize)\n{\n    // Test validation and resource allocation\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kNoPowerOfTwoRequired,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Allocate P2P resources\n    setupP2PBuffers();\n    ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Testing ncclRegisterP2pIpcBuffer with non-power-of-2 buffer size (%d processes)\",\n                  config.world_size);\n    }\n\n    auto*     comm      = reinterpret_cast<ncclComm*>(getActiveCommunicator());\n    const int peer_rank = (config.world_rank + 1) % config.world_size;\n    ncclIntruQueue<ncclCommCallback, &ncclCommCallback::next> cleanup_queue{};\n\n    void*        buffer   = nullptr;\n    const size_t odd_size = 12345;\n    HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&buffer, odd_size));\n    auto bufferGuard = makeDeviceBufferAutoGuard(buffer); // GPU memory\n\n    // Pre-register buffer\n    void* reg_handle = nullptr;\n    ASSERT_EQ(ncclSuccess, ncclCommRegister(getActiveCommunicator(), buffer, odd_size, &reg_handle))\n        << \"Rank \" << config.world_rank << \": Failed to pre-register buffer\";\n    NcclRegHandleGuard regGuard(reg_handle, NcclRegHandleDeleter(getActiveCommunicator()));\n\n    int   ipc_reg_flag = 0;\n    void* ipc_reg_addr = nullptr;\n\n    ncclResult_t result = ncclRegisterP2pIpcBuffer(comm,\n                                                   buffer,\n                                                   odd_size,\n                                                   peer_rank,\n                                                   &ipc_reg_flag,\n                                                   &ipc_reg_addr,\n                                                   &cleanup_queue);\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Non-power-of-2 size (12345 bytes) test - Result: %s (regFlag=%d)\",\n                  ncclGetErrorString(result),\n                  ipc_reg_flag);\n    }\n\n    // Validate that non-power-of-2 sizes are supported\n    ASSERT_EQ(ncclSuccess, result)\n        << \"Rank \" << config.world_rank << \": Non-power-of-2 size should be supported\";\n    EXPECT_GE(ipc_reg_flag, 0) << \"Rank \" << config.world_rank\n                               << \": Registration flag should be non-negative\";\n\n    if(reg_handle)\n    {\n        ASSERT_EQ(ncclSuccess, ncclCommDeregister(getActiveCommunicator(), reg_handle))\n            << \"Rank \" << config.world_rank << \": Failed to deregister buffer\";\n    }\n}\n\nTEST_F(P2pMPITest, IpcGraphRegisterBufferTest)\n{\n    // Test validation and resource allocation\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kNoPowerOfTwoRequired,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Allocate P2P resources\n    setupP2PBuffers();\n    ASSERT_EQ(ncclSuccess, createTestCommunicator());\n\n    // TODO: Enable this test once IPC buffer registration feature works as\n    // expected\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Skipping P2P Send/Recv with IPC registration test\");\n        TEST_INFO(\n            \"This test will be enabled once IPC buffer registration feature works as expected\");\n    }\n    GTEST_SKIP() << \"Test disabled - enable once IPC buffer registration feature \"\n                    \"works as expected\";\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Starting ncclIpcGraphRegisterBuffer test (%d processes)\", config.world_size);\n    }\n\n    testIpcGraphRegisterBuffer();\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"ncclIpcGraphRegisterBuffer test completed successfully\");\n    }\n}\n\n#endif // MPI_TESTS_ENABLED\n\n"
  },
  {
    "path": "test/transport/ShmMPITests.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"DeviceBufferHelpers.hpp\"\n#include \"TestChecks.hpp\"\n#include \"ResourceGuards.hpp\"\n#include \"TransportMPIBase.hpp\"\n\n#include <cmath>\n\n#ifdef MPI_TESTS_ENABLED\n\n// Import MPI test constants\nusing namespace MPITestConstants;\nusing namespace RCCLTestGuards;\nusing namespace RCCLTestHelpers;\nusing namespace TransportTestConstants;\n\n// SHM-specific test configuration\nstruct ShmTestConfig\n{\n    bool   is_sender{false};\n    void*  send_buffer{nullptr};\n    void*  recv_buffer{nullptr};\n    size_t buffer_size{0};\n};\n\nclass ShmMPITest : public TransportTestBase\n{\nprotected:\n    ShmTestConfig shm_config;\n\n    // Test data buffers\n    std::vector<uint32_t> host_send_data;\n    std::vector<uint32_t> host_recv_data;\n\n    // Connection info structures for setup/connect phases\n    ncclConnect send_connect_info{};\n    ncclConnect recv_connect_info{};\n\n    void SetUp() override\n    {\n        // Call base class SetUp first\n        TransportTestBase::SetUp();\n\n        // Switch to SHM transport\n        setTransportType(TransportType::SHM);\n\n        // Set up SHM-specific test configuration\n        shm_config.is_sender   = (config.world_rank == 0);\n        shm_config.buffer_size = kDefaultBufferSize;\n\n        // Allocate and initialize send buffer with test pattern\n        constexpr size_t num_elements = kDefaultBufferSize / sizeof(float);\n        auto [send_err, _]            = allocateAndInitialize<float>(&shm_config.send_buffer,\n                                                          num_elements,\n                                                          config.world_rank);\n        EXPECT_EQ(hipSuccess, send_err)\n            << \"Rank \" << config.world_rank << \": Failed to allocate/initialize send buffer\";\n\n        // Allocate and zero-initialize receive buffer\n        hipError_t hip_result = hipMalloc(&shm_config.recv_buffer, shm_config.buffer_size);\n        EXPECT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank << \": Failed to allocate recv buffer\";\n\n        hip_result = zeroInitializeBuffer<float>(shm_config.recv_buffer, num_elements);\n        EXPECT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank << \": Failed to zero-initialize recv buffer\";\n\n        // Synchronize default stream to ensure all buffer operations complete\n        // Note: This is called in SetUp() before test starts, so we use the default stream (0)\n        // Using config.stream here causes \"invalid resource handle\" as it's not yet initialized\n        EXPECT_EQ(hipSuccess, hipStreamSynchronize(0))\n            << \"Rank \" << config.world_rank\n            << \": Failed to synchronize default stream after buffer initialization\";\n    }\n\n    void TearDown() override\n    {\n        // Cleanup SHM-specific test resources\n        if(shm_config.send_buffer)\n        {\n            (void)hipFree(shm_config.send_buffer);\n            shm_config.send_buffer = nullptr;\n        }\n        if(shm_config.recv_buffer)\n        {\n            (void)hipFree(shm_config.recv_buffer);\n            shm_config.recv_buffer = nullptr;\n        }\n\n        // Call base class TearDown\n        TransportTestBase::TearDown();\n    }\n\npublic:\n    // Test SHM capability detection (same-host communication)\n    void testShmCanConnect()\n    {\n        // Validate preconditions\n        ASSERT_NE(nullptr, comm_handle)\n            << \"Rank \" << config.world_rank\n            << \": comm_handle is null - NCCL communicator not initialized\";\n        ASSERT_NE(nullptr, local_peer_info)\n            << \"Rank \" << config.world_rank\n            << \": local_peer_info is null - peer information not initialized\";\n        ASSERT_NE(nullptr, remote_peer_info)\n            << \"Rank \" << config.world_rank\n            << \": remote_peer_info is null - peer information not initialized\";\n\n        int        can_connect = 0;\n        const auto result      = shmTransport.canConnect(&can_connect,\n                                                    comm_handle,\n                                                    topology_graph,\n                                                    local_peer_info,\n                                                    remote_peer_info);\n\n        ASSERT_EQ(ncclSuccess, result) << \"Rank \" << config.world_rank\n                                       << \": shmCanConnect failed: \" << ncclGetErrorString(result);\n\n        // Synchronize the stream to ensure all operations complete\n        ASSERT_EQ(hipSuccess, syncStream(config.stream, config.world_rank))\n            << \"Rank \" << config.world_rank << \": Stream synchronization failed\";\n    }\n\n    // Test SHM setup phase\n    void testShmSetup()\n    {\n        // Call setup() and save the connect_info to class members for later MPI exchange\n        const auto result = shm_config.is_sender\n                                ? shmTransport.send.setup(comm_handle,\n                                                                           topology_graph,\n                                                                           local_peer_info,\n                                                                           remote_peer_info,\n                                                         &send_connect_info,  // Save to class member\n                                                                           &send_connector,\n                                                                           0,\n                                                                           0)\n                                                  : shmTransport.recv.setup(comm_handle,\n                                                                           topology_graph,\n                                                                           local_peer_info,\n                                                                           remote_peer_info,\n                                                         &recv_connect_info,  // Save to class member\n                                                                           &recv_connector,\n                                                                           0,\n                                                                           0);\n\n        ASSERT_EQ(ncclSuccess, result)\n            << \"Rank \" << config.world_rank << \": \" << (shm_config.is_sender ? \"Send\" : \"Recv\")\n            << \" setup failed: \" << ncclGetErrorString(result);\n    }\n\n    // Test SHM connection phase\n    void testShmConnect()\n    {\n        // Validate preconditions\n        ASSERT_NE(nullptr, comm_handle) << \"Rank \" << config.world_rank << \": comm_handle is null\";\n        ASSERT_NE(nullptr, local_peer_info)\n            << \"Rank \" << config.world_rank << \": local_peer_info is null\";\n        ASSERT_NE(nullptr, remote_peer_info)\n            << \"Rank \" << config.world_rank << \": remote_peer_info is null\";\n\n        // NOTE: setup() was already called in testShmSetup() and saved connect_info to class members\n        // This method only does MPI exchange of connect_info and then calls connect()\n\n        if(shm_config.is_sender)\n        {\n            // Exchange connect info with receiver using MPI\n            ASSERT_EQ(MPI_SUCCESS,\n                      MPI_Send(&send_connect_info,  // Use class member from testShmSetup()\n                               sizeof(ncclConnect),\n                               MPI_BYTE,\n                               config.peer_rank,\n                               0,\n                               MPI_COMM_WORLD))\n                << \"Rank \" << config.world_rank << \": MPI_Send failed\";\n\n            ASSERT_EQ(MPI_SUCCESS,\n                      MPI_Recv(&recv_connect_info,  // Receive into class member\n                               sizeof(ncclConnect),\n                               MPI_BYTE,\n                               config.peer_rank,\n                               0,\n                               MPI_COMM_WORLD,\n                               MPI_STATUS_IGNORE))\n                << \"Rank \" << config.world_rank << \": MPI_Recv failed\";\n\n            // Perform the actual connection using the received info\n            auto result = shmTransport.send.connect(comm_handle,\n                                               &recv_connect_info,\n                                               config.world_size,\n                                               config.world_rank,\n                                               &send_connector);\n            ASSERT_EQ(ncclSuccess, result)\n                << \"Rank \" << config.world_rank\n                << \": Send connect failed: \" << ncclGetErrorString(result);\n        }\n        else\n        {\n            // Exchange connect info with sender using MPI\n            ASSERT_EQ(MPI_SUCCESS,\n                      MPI_Recv(&send_connect_info,  // Receive into class member\n                               sizeof(ncclConnect),\n                               MPI_BYTE,\n                               config.peer_rank,\n                               0,\n                               MPI_COMM_WORLD,\n                               MPI_STATUS_IGNORE))\n                << \"Rank \" << config.world_rank << \": MPI_Recv failed\";\n\n            ASSERT_EQ(MPI_SUCCESS,\n                      MPI_Send(&recv_connect_info,  // Use class member from testShmSetup()\n                               sizeof(ncclConnect),\n                               MPI_BYTE,\n                               config.peer_rank,\n                               0,\n                               MPI_COMM_WORLD))\n                << \"Rank \" << config.world_rank << \": MPI_Send failed\";\n\n            // Perform the actual connection using the received info\n            auto result = shmTransport.recv.connect(comm_handle,\n                                               &send_connect_info,\n                                               config.world_size,\n                                               config.world_rank,\n                                               &recv_connector);\n            ASSERT_EQ(ncclSuccess, result)\n                << \"Rank \" << config.world_rank\n                << \": Recv connect failed: \" << ncclGetErrorString(result);\n        }\n\n        // Synchronize the stream to ensure all RCCL operations complete\n        ASSERT_EQ(hipSuccess, syncStream(config.stream, config.world_rank))\n            << \"Rank \" << config.world_rank << \": Stream synchronization failed\";\n    }\n\n    // Test actual data transfer through SHM\n    void testShmDataTransfer()\n    {\n        // Initialize host data vectors\n        const size_t num_elements = shm_config.buffer_size / sizeof(uint32_t);\n        host_recv_data.resize(num_elements);\n        host_send_data.resize(num_elements);\n\n        // Use RCCL point-to-point operations to validate SHM transport\n        const size_t count  = shm_config.buffer_size / sizeof(float);\n        const auto   result = shm_config.is_sender ? ncclSend(shm_config.send_buffer,\n                                                            count,\n                                                            ncclFloat,\n                                                            config.peer_rank,\n                                                            config.nccl_comm,\n                                                            config.stream)\n                                                   : ncclRecv(shm_config.recv_buffer,\n                                                            count,\n                                                            ncclFloat,\n                                                            config.peer_rank,\n                                                            config.nccl_comm,\n                                                            config.stream);\n\n        ASSERT_EQ(ncclSuccess, result)\n            << \"Rank \" << config.world_rank << \": RCCL \" << (shm_config.is_sender ? \"Send\" : \"Recv\")\n            << \" failed: \" << ncclGetErrorString(result);\n\n        ASSERT_EQ(hipSuccess, syncStream(config.stream, config.world_rank))\n            << \"Rank \" << config.world_rank << \": Stream synchronization failed\";\n\n        // Only validate data on the receiver side\n        if(!shm_config.is_sender)\n        {\n            ASSERT_FALSE(host_recv_data.empty())\n                << \"Rank \" << config.world_rank << \": host_recv_data is empty\";\n            ASSERT_NE(nullptr, shm_config.recv_buffer)\n                << \"Rank \" << config.world_rank << \": recv_buffer is null\";\n\n            ASSERT_EQ(hipSuccess,\n                      hipMemcpy(host_recv_data.data(),\n                                shm_config.recv_buffer,\n                                shm_config.buffer_size,\n                                hipMemcpyDeviceToHost))\n                << \"Rank \" << config.world_rank << \": hipMemcpy DeviceToHost failed\";\n\n            // Validate received data - should match sender's original pattern\n            const size_t validation_count = std::min(num_elements, kMaxValidationElements);\n            for(size_t i = 0; i < validation_count; i++)\n            {\n                const float expected_float\n                    = static_cast<float>(config.peer_rank * kDefaultPatternMultiplier + i);\n                const uint32_t expected_value = *reinterpret_cast<const uint32_t*>(&expected_float);\n\n                EXPECT_EQ(expected_value, host_recv_data[i])\n                    << \"Rank \" << config.world_rank << \": Data mismatch at index \" << i;\n            }\n        }\n    }\n\n    // Test resource cleanup\n    void testShmCleanup()\n    {\n        // Ensure all stream operations complete before validation\n        [[maybe_unused]] auto err = syncStream(config.stream, config.world_rank);\n        // Don't return error on sync failure - continue with validation\n\n        // Validate that connector resources are still valid at this point\n        // The actual cleanup will be handled by base class TearDown()\n        auto* connector = shm_config.is_sender ? &send_connector : &recv_connector;\n\n        EXPECT_NE(nullptr, connector)\n            << \"Rank \" << config.world_rank << \": Connector pointer is null\";\n\n        if(connector)\n        {\n            EXPECT_NE(nullptr, connector->transportResources)\n                << \"Rank \" << config.world_rank << \": \" << (shm_config.is_sender ? \"Send\" : \"Recv\")\n                << \" connector transport resources are null (premature cleanup)\";\n\n            if(config.world_rank == 0 && connector->transportResources)\n            {\n                TEST_INFO(\"Connector resources validated - still active (will be freed by base class)\");\n        }\n        }\n\n        // NOTE: Connectors will be automatically freed by base class TearDown()\n        // Device sync + connector cleanup happens BEFORE buffers are freed, which is critical for CE memcpy\n    }\n\n    // Test SHM with memcpy mode enabled (CE - Copy Engine)\n    // This test uses the transport API directly to ensure SHM methods are called\n    void testShmWithMemcpy()\n    {\n        // Check if NCCL_SHM_USE_CUDA_MEMCPY is set externally\n        const char* shm_memcpy_env = getenv(\"NCCL_SHM_USE_CUDA_MEMCPY\");\n        if(!shm_memcpy_env || strcmp(shm_memcpy_env, \"1\") != 0)\n        {\n            if(MPIEnvironment::world_rank == 0)\n            {\n                TEST_INFO(\"Skipping CE memcpy test - NCCL_SHM_USE_CUDA_MEMCPY not set to '1'\");\n                TEST_INFO(\"To enable this test, set: export NCCL_SHM_USE_CUDA_MEMCPY=1\");\n            } // Skip test gracefully\n        }\n\n        // Validate preconditions\n        ASSERT_NE(nullptr, comm_handle) << \"Rank \" << config.world_rank << \": comm_handle is null\";\n        ASSERT_NE(nullptr, local_peer_info)\n            << \"Rank \" << config.world_rank << \": local_peer_info is null\";\n        ASSERT_NE(nullptr, remote_peer_info)\n            << \"Rank \" << config.world_rank << \": remote_peer_info is null\";\n\n        // Step 1: Test shmCanConnect with CE memcpy enabled\n        int          can_connect = 0;\n        ncclResult_t result      = shmTransport.canConnect(&can_connect,\n                                                      comm_handle,\n                                                      topology_graph,\n                                                      local_peer_info,\n                                                      remote_peer_info);\n\n        ASSERT_EQ(ncclSuccess, result) << \"Rank \" << config.world_rank\n                                       << \": shmCanConnect failed: \" << ncclGetErrorString(result);\n\n        ASSERT_EQ(1, can_connect)\n            << \"Rank \" << config.world_rank\n            << \": SHM cannot connect - test skipped but connection was expected\";\n\n        // Step 2: Test SHM setup with CE memcpy enabled\n\n        ncclConnect send_connect_info{};\n        ncclConnect recv_connect_info{};\n\n        if(shm_config.is_sender)\n        {\n            result = shmTransport.send.setup(comm_handle,\n                                             topology_graph,\n                                             local_peer_info,\n                                             remote_peer_info,\n                                             &send_connect_info,\n                                             &send_connector,\n                                             0,\n                                             0);\n            ASSERT_EQ(ncclSuccess, result)\n                << \"Rank \" << config.world_rank\n                << \": SHM send setup with CE memcpy failed: \" << ncclGetErrorString(result);\n\n            // Exchange connect info with receiver\n            ASSERT_EQ(MPI_SUCCESS,\n                      MPI_Send(&send_connect_info,\n                               sizeof(ncclConnect),\n                               MPI_BYTE,\n                               config.peer_rank,\n                               0,\n                               MPI_COMM_WORLD));\n            ASSERT_EQ(MPI_SUCCESS,\n                      MPI_Recv(&recv_connect_info,\n                               sizeof(ncclConnect),\n                               MPI_BYTE,\n                               config.peer_rank,\n                               0,\n                               MPI_COMM_WORLD,\n                               MPI_STATUS_IGNORE));\n        }\n        else\n        {\n            result = shmTransport.recv.setup(comm_handle,\n                                             topology_graph,\n                                             local_peer_info,\n                                             remote_peer_info,\n                                             &recv_connect_info,\n                                             &recv_connector,\n                                             0,\n                                             0);\n\n            ASSERT_EQ(ncclSuccess, result)\n                << \"Rank \" << config.world_rank\n                << \": SHM recv setup with CE memcpy failed: \" << ncclGetErrorString(result);\n\n            // Exchange connect info with sender\n            ASSERT_EQ(MPI_SUCCESS,\n                      MPI_Recv(&send_connect_info,\n                               sizeof(ncclConnect),\n                               MPI_BYTE,\n                               config.peer_rank,\n                               0,\n                               MPI_COMM_WORLD,\n                               MPI_STATUS_IGNORE));\n            ASSERT_EQ(MPI_SUCCESS,\n                      MPI_Send(&recv_connect_info,\n                               sizeof(ncclConnect),\n                               MPI_BYTE,\n                               config.peer_rank,\n                               0,\n                               MPI_COMM_WORLD));\n        }\n\n        // Step 3: Test SHM connect with CE memcpy\n\n        if(shm_config.is_sender)\n        {\n            result = shmTransport.send.connect(comm_handle,\n                                               &recv_connect_info,\n                                               config.world_size,\n                                               config.world_rank,\n                                               &send_connector);\n\n            ASSERT_EQ(ncclSuccess, result)\n                << \"Rank \" << config.world_rank\n                << \": SHM send connect with CE memcpy failed: \" << ncclGetErrorString(result);\n        }\n        else\n        {\n            result = shmTransport.recv.connect(comm_handle,\n                                               &send_connect_info,\n                                               config.world_size,\n                                               config.world_rank,\n                                               &recv_connector);\n\n            ASSERT_EQ(ncclSuccess, result)\n                << \"Rank \" << config.world_rank\n                << \": SHM recv connect with CE memcpy failed: \" << ncclGetErrorString(result);\n        }\n\n        // Step 4: Send large buffer with CE memcpy and validate\n        const size_t buffer_size  = kCEMemcpyBufferSize;\n        const size_t num_elements = buffer_size / sizeof(float);\n        void*        send_buffer  = nullptr;\n        void*        recv_buffer  = nullptr;\n\n        hipError_t hip_result = hipMalloc(&send_buffer, buffer_size);\n        ASSERT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank << \": Failed to allocate send buffer\";\n        auto sendBufferGuard = makeDeviceBufferAutoGuard(send_buffer);\n\n        hip_result = hipMalloc(&recv_buffer, buffer_size);\n        ASSERT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank << \": Failed to allocate recv buffer\";\n        auto recvBufferGuard = makeDeviceBufferAutoGuard(recv_buffer);\n\n        // Initialize send buffer with unique pattern\n        hip_result = initializeBufferWithPattern<float>(\n            send_buffer,\n            num_elements,\n            [rank = config.world_rank](size_t i)\n            { return static_cast<float>(rank * kLargePatternMultiplier + (i % kPatternModulo)); });\n        ASSERT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank << \": Failed to initialize send buffer\";\n\n        hip_result = hipMemset(recv_buffer, 0, buffer_size);\n        ASSERT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank << \": Failed to zero recv buffer\";\n\n        // Synchronize stream before transfer\n        hip_result = syncStream(config.stream, config.world_rank);\n        ASSERT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank << \": Stream sync failed before transfer\";\n\n        // Perform the actual data transfer using NCCL\n        const size_t count = buffer_size / sizeof(float);\n        result             = shm_config.is_sender ? ncclSend(send_buffer,\n                                                 count,\n                                                 ncclFloat,\n                                                 config.peer_rank,\n                                                 config.nccl_comm,\n                                                 config.stream)\n                                                  : ncclRecv(recv_buffer,\n                                                 count,\n                                                 ncclFloat,\n                                                 config.peer_rank,\n                                                 config.nccl_comm,\n                                                 config.stream);\n\n        ASSERT_EQ(ncclSuccess, result) << \"Rank \" << config.world_rank << \": Large buffer \"\n                                       << (shm_config.is_sender ? \"Send\" : \"Recv\")\n                                       << \" with CE memcpy failed: \" << ncclGetErrorString(result);\n\n        // Synchronize to ensure transfer completes\n        hip_result = syncStream(config.stream, config.world_rank);\n        ASSERT_EQ(hipSuccess, hip_result)\n            << \"Rank \" << config.world_rank << \": Stream sync failed after transfer\";\n\n        // Step 5: Validate received data (on receiver only)\n        if(!shm_config.is_sender)\n        {\n            // Verify with custom pattern check (matching initialization pattern)\n            size_t error_idx;\n            float  expected_val, actual_val;\n            bool   data_correct = verifyBufferData<float>(\n                recv_buffer,\n                num_elements,\n                [peer_rank = config.peer_rank](size_t i) {\n                    return static_cast<float>(peer_rank * kLargePatternMultiplier\n                                              + (i % kPatternModulo));\n                },\n                0,      // verify all elements\n                1e-5,\n                &error_idx,\n                &expected_val,\n                &actual_val);\n\n            EXPECT_TRUE(data_correct) << \"Rank \" << config.world_rank\n                                      << \": Data validation failed at index \" << error_idx;\n        }\n    }\n\n    // Test SHM buffer allocation and sharing\n    void testShmBufferAllocation()\n    {\n        // Test buffer allocation with various sizes\n        const std::vector<size_t> test_sizes\n            = {kSmallBufferSize, kMediumBufferSize, kLargeBufferSize};\n\n        for(const auto size : test_sizes)\n        {\n            void* send_buff = nullptr;\n            void* recv_buff = nullptr;\n\n            // Allocate with local guards (store_in_base=false)\n            // Guards will cleanup at end of loop iteration\n            auto [sendGuard, recvGuard]\n                = allocateAndInitBuffersGuarded(&send_buff, &recv_buff, size, size, false);\n\n            // Verify buffers are accessible\n            EXPECT_NE(send_buff, nullptr) << \"Rank \" << config.world_rank << \": send_buff is null\";\n            EXPECT_NE(recv_buff, nullptr) << \"Rank \" << config.world_rank << \": recv_buff is null\";\n        }\n    }\n};\n\nTEST_F(ShmMPITest, ShmWorkflow)\n{\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kRequirePowerOfTwo,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Create test-specific communicator for isolation\n    // Use ASSERT_MPI_SUCCESS to prevent deadlock if creation fails on some ranks\n    ASSERT_MPI_SUCCESS(createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Starting comprehensive SHM transport workflow test with %d processes\", config.world_size);\n        TEST_INFO(\"This test exercises the low-level SHM transport API\");\n    }\n\n    // Test 1: SHM Capability Detection\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Step 1: Testing SHM canConnect capability\");\n    }\n    testShmCanConnect();\n\n    // Test 2: SHM Setup\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Step 2: Setting up SHM transport connectors\");\n    }\n    testShmSetup();\n\n    // Test 3: SHM Connection\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Step 3: Connecting SHM transport\");\n    }\n    testShmConnect();\n\n    // Test 4: Data Transfer through SHM\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Step 4: Performing SHM data transfer\");\n    }\n    testShmDataTransfer();\n\n    // Test 5: Resource Cleanup\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Step 5: Validating resource cleanup\");\n    }\n    testShmCleanup();\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"SHM transport workflow test completed successfully\");\n        TEST_INFO(\"NOTE: Base class TearDown() handles connector cleanup automatically\");\n    }\n}\n\nTEST_F(ShmMPITest, ShmWithMemcpyTest)\n{\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kRequirePowerOfTwo,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Create test-specific communicator for isolation\n    // Use ASSERT_MPI_SUCCESS to prevent deadlock if creation fails on some ranks\n    ASSERT_MPI_SUCCESS(createTestCommunicator());\n\n    testShmWithMemcpy();\n}\n\nTEST_F(ShmMPITest, ShmBufferAllocationTest)\n{\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kRequirePowerOfTwo,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Use ASSERT_MPI_SUCCESS to prevent deadlock if creation fails on some ranks\n    ASSERT_MPI_SUCCESS(createTestCommunicator());\n\n    testShmBufferAllocation();\n}\n\nTEST_F(ShmMPITest, ShmTransfer_ZeroSizeBuffer)\n{\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kRequirePowerOfTwo,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Use ASSERT_MPI_SUCCESS to prevent deadlock if creation fails on some ranks\n    ASSERT_MPI_SUCCESS(createTestCommunicator());\n\n    // Allocate minimal buffer\n    void* buffer = nullptr;\n    HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&buffer, 1)); // Allocate 1 byte\n    auto bufferGuard = makeDeviceBufferAutoGuard(buffer); // Device memory\n\n    const bool is_sender = (config.world_rank == 0);\n    const int  peer      = is_sender ? 1 : 0;\n\n    // Try to send/recv 0 elements\n    const auto result = is_sender\n                            ? ncclSend(buffer, 0, ncclFloat, peer, config.nccl_comm, config.stream)\n                            : ncclRecv(buffer, 0, ncclFloat, peer, config.nccl_comm, config.stream);\n\n    ASSERT_EQ(ncclSuccess, result)\n        << \"Rank \" << config.world_rank << \": Zero-size transfer should succeed\";\n\n    HIP_TEST_CHECK_GTEST_FAIL(syncStream(config.stream, config.world_rank));\n}\n\nTEST_F(ShmMPITest, ShmTransfer_VeryLargeBuffer)\n{\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kRequirePowerOfTwo,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    // Use ASSERT_MPI_SUCCESS to prevent deadlock if creation fails on some ranks\n    ASSERT_MPI_SUCCESS(createTestCommunicator());\n\n    // Try to allocate a very large buffer\n    const size_t large_size  = kCEMemcpyBufferSize;\n    void*        send_buffer = nullptr;\n    void*        recv_buffer = nullptr;\n\n    hipError_t hip_result      = hipMalloc(&send_buffer, large_size);\n    auto       sendBufferGuard = makeDeviceBufferAutoGuard(send_buffer);\n\n    hip_result           = hipMalloc(&recv_buffer, large_size);\n    auto recvBufferGuard = makeDeviceBufferAutoGuard(recv_buffer);\n\n    // Initialize buffer\n    HIP_TEST_CHECK_GTEST_FAIL(hipMemset(send_buffer, 0x42, large_size));\n\n    const bool   is_sender = (config.world_rank == 0);\n    const int    peer      = is_sender ? 1 : 0;\n    const size_t count     = large_size / sizeof(float);\n\n    // Perform send/recv with large buffer\n    const auto result\n        = is_sender\n              ? ncclSend(send_buffer, count, ncclFloat, peer, config.nccl_comm, config.stream)\n              : ncclRecv(recv_buffer, count, ncclFloat, peer, config.nccl_comm, config.stream);\n\n    ASSERT_EQ(ncclSuccess, result)\n        << \"Rank \" << config.world_rank << \": Large buffer transfer failed\";\n\n    HIP_TEST_CHECK_GTEST_FAIL(syncStream(config.stream, config.world_rank));\n}\n\nTEST_F(ShmMPITest, ShmTransfer_UnalignedBufferAddress)\n{\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kRequirePowerOfTwo,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    ASSERT_MPI_SUCCESS(createTestCommunicator());\n\n    // Allocate aligned buffer\n    const size_t buffer_size    = 4096;\n    void*        aligned_buffer = nullptr;\n    HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&aligned_buffer, buffer_size));\n    auto bufferGuard = makeDeviceBufferAutoGuard(aligned_buffer); // Device memory\n\n    // Create unaligned pointer (offset by 1 byte)\n    void* unaligned_buffer = static_cast<char*>(aligned_buffer) + 1;\n\n    const bool is_sender = (config.world_rank == 0);\n    const int  peer      = is_sender ? 1 : 0;\n\n    const auto result\n        = is_sender\n              ? ncclSend(unaligned_buffer, 1024, ncclChar, peer, config.nccl_comm, config.stream)\n              : ncclRecv(unaligned_buffer, 1024, ncclChar, peer, config.nccl_comm, config.stream);\n\n    // Don't fail the test - just report the result\n    HIP_TEST_CHECK_GTEST_FAIL(hipStreamSynchronize(config.stream));\n}\n\nTEST_F(ShmMPITest, ShmMultipleConsecutiveTransfers)\n{\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kRequirePowerOfTwo,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    ASSERT_MPI_SUCCESS(createTestCommunicator());\n\n    const size_t buffer_size = kMediumBufferSize;\n    void*        send_buffer = nullptr;\n    void*        recv_buffer = nullptr;\n\n    HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&send_buffer, buffer_size));\n    auto sendBufferGuard = makeDeviceBufferAutoGuard(send_buffer);\n\n    HIP_TEST_CHECK_GTEST_FAIL(hipMalloc(&recv_buffer, buffer_size));\n    auto recvBufferGuard = makeDeviceBufferAutoGuard(recv_buffer);\n\n    HIP_TEST_CHECK_GTEST_FAIL(hipMemset(send_buffer, 0xAB, buffer_size));\n\n    const bool   is_sender = (config.world_rank == 0);\n    const int    peer      = is_sender ? 1 : 0;\n    const size_t count     = buffer_size / sizeof(float);\n\n    for(int i = 0; i < kMultipleTransferCount; i++)\n    {\n        const auto result\n            = is_sender\n                  ? ncclSend(send_buffer, count, ncclFloat, peer, config.nccl_comm, config.stream)\n                  : ncclRecv(recv_buffer, count, ncclFloat, peer, config.nccl_comm, config.stream);\n\n        ASSERT_EQ(ncclSuccess, result)\n            << \"Rank \" << config.world_rank << \": Transfer \" << i << \" failed\";\n\n        // Ensure both ranks have posted their NCCL operations before synchronizing\n        MPI_Barrier(MPI_COMM_WORLD);\n\n        HIP_TEST_CHECK_GTEST_FAIL(hipStreamSynchronize(config.stream));\n    }\n}\n\nTEST_F(ShmMPITest, ShmCleanup_DoubleCleanup)\n{\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kRequirePowerOfTwo,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    ASSERT_MPI_SUCCESS(createTestCommunicator());\n\n    const bool is_sender = (config.world_rank == 0);\n    auto*      connector = is_sender ? &send_connector : &recv_connector;\n\n    // Setup connector\n    ncclConnect connect_info{};\n    const auto  setup_result = is_sender ? shmTransport.send.setup(comm_handle,\n                                                                  topology_graph,\n                                                                  local_peer_info,\n                                                                  remote_peer_info,\n                                                                  &connect_info,\n                                                                  connector,\n                                                                  0,\n                                                                  0)\n                                         : shmTransport.recv.setup(comm_handle,\n                                                                  topology_graph,\n                                                                  local_peer_info,\n                                                                  remote_peer_info,\n                                                                  &connect_info,\n                                                                  connector,\n                                                                  0,\n                                                                  0);\n\n    ASSERT_EQ(ncclSuccess, setup_result) << \"Rank \" << config.world_rank << \": Setup failed\";\n\n    MPI_Barrier(MPI_COMM_WORLD);\n\n    // First cleanup\n    if(connector->transportResources)\n    {\n        const auto result1\n            = is_sender ? shmTransport.send.free(connector) : shmTransport.recv.free(connector);\n        EXPECT_EQ(ncclSuccess, result1) << \"Rank \" << config.world_rank << \": First cleanup failed\";\n    }\n\n    // Second cleanup (should handle gracefully since resources are already freed)\n    [[maybe_unused]] const auto result2\n        = is_sender ? shmTransport.send.free(connector) : shmTransport.recv.free(connector);\n\n    // Mark as cleaned up\n    connector->transportResources = nullptr;\n}\n\nTEST_F(ShmMPITest, ShmConnect_WithoutSetup)\n{\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kRequirePowerOfTwo,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    ASSERT_MPI_SUCCESS(createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Testing SHM connect without prior setup (%d processes)\", config.world_size);\n    }\n\n    const bool is_sender = (config.world_rank == 0);\n    auto*      connector = is_sender ? &send_connector : &recv_connector;\n\n    // Create empty/uninitialized connect info (simulates invalid state)\n    ncclConnect invalid_connect_info{};\n    memset(&invalid_connect_info, 0, sizeof(ncclConnect));\n\n    // Try to connect without calling setup first - this should fail or handle gracefully\n    const auto result = is_sender ? shmTransport.send.connect(comm_handle,\n                                                              &invalid_connect_info,\n                                                              config.world_size,\n                                                              config.world_rank,\n                                                              connector)\n                                  : shmTransport.recv.connect(comm_handle,\n                                                              &invalid_connect_info,\n                                                              config.world_size,\n                                                              config.world_rank,\n                                                              connector);\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Connect without setup result: %s\", ncclGetErrorString(result));\n        TEST_INFO(\"Note: This tests invalid state handling\");\n    }\n}\n\nTEST_F(ShmMPITest, ShmConnect_CorruptedConnectInfo)\n{\n    ASSERT_TRUE(validateTestPrerequisites(kMinProcessesForMPI,\n                                          kNoProcessLimit,\n                                          kRequirePowerOfTwo,\n                                          1,\n                                          kRequireSingleNode))\n        << \"Test requirements not met - all ranks must meet requirements\";\n\n    ASSERT_MPI_SUCCESS(createTestCommunicator());\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Testing SHM connect with corrupted connect info (%d processes)\",\n                  config.world_size);\n    }\n\n    const bool is_sender = (config.world_rank == 0);\n    auto*      connector = is_sender ? &send_connector : &recv_connector;\n\n    // First, do valid setup\n    ncclConnect valid_connect_info{};\n    const auto  setup_result = is_sender ? shmTransport.send.setup(comm_handle,\n                                                                  topology_graph,\n                                                                  local_peer_info,\n                                                                  remote_peer_info,\n                                                                  &valid_connect_info,\n                                                                  connector,\n                                                                  0,\n                                                                  0)\n                                         : shmTransport.recv.setup(comm_handle,\n                                                                  topology_graph,\n                                                                  local_peer_info,\n                                                                  remote_peer_info,\n                                                                  &valid_connect_info,\n                                                                  connector,\n                                                                  0,\n                                                                  0);\n\n    ASSERT_EQ(ncclSuccess, setup_result) << \"Rank \" << config.world_rank << \": Setup failed\";\n\n    MPI_Barrier(MPI_COMM_WORLD);\n\n    // Create corrupted connect info (fill with invalid data)\n    ncclConnect corrupted_info{};\n    memset(&corrupted_info, 0xFF, sizeof(ncclConnect)); // Fill with 0xFF\n\n    // Try to connect with corrupted info\n    // This tests internal validation of connect info structures\n    const auto result = is_sender ? shmTransport.send.connect(comm_handle,\n                                                              &corrupted_info,\n                                                              config.world_size,\n                                                              config.world_rank,\n                                                              connector)\n                                  : shmTransport.recv.connect(comm_handle,\n                                                              &corrupted_info,\n                                                              config.world_size,\n                                                              config.world_rank,\n                                                              connector);\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Connect with corrupted info result: %s\", ncclGetErrorString(result));\n        TEST_INFO(\"Note: Tests connect info validation similar to proxy function validation\");\n    }\n\n    // Cleanup properly allocated resources\n    if(connector->transportResources)\n    {\n        const auto cleanup_result\n            = is_sender ? shmTransport.send.free(connector) : shmTransport.recv.free(connector);\n        (void)cleanup_result; // Ignore result as we're in error path\n        connector->transportResources = nullptr;\n    }\n}\n\n#endif // MPI_TESTS_ENABLED\n"
  },
  {
    "path": "test/transport/TransportMPIBase.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"TransportMPIBase.hpp\"\n\n#ifdef MPI_TESTS_ENABLED\n\nnamespace\n{\n// Test pattern generation constants for TransportTestBase\ninline constexpr int kDefaultPatternMultiplier = 100; // For transport base patterns\ninline constexpr int kByteValueModulo          = 256; // For uint8_t wraparound\n} // namespace\n\n// Override createTestCommunicator to also update config and transport components\nncclResult_t TransportTestBase::createTestCommunicator()\n{\n    // Call base class implementation\n    ncclResult_t result = MPITestBase::createTestCommunicator();\n\n    if(result == ncclSuccess)\n    {\n        // Update config with the new communicator and stream\n        config.nccl_comm = getActiveCommunicator();\n        config.stream    = getActiveStream();\n\n        // Initialize transport components now that we have a valid communicator\n        comm_handle      = config.nccl_comm;\n        local_peer_info  = &comm_handle->peerInfo[config.world_rank];\n        remote_peer_info = &comm_handle->peerInfo[config.peer_rank];\n\n        if(config.world_rank == 0)\n        {\n            TEST_INFO(\"TransportTestBase config and transport components updated with per-test \"\n                      \"communicator\");\n        }\n    }\n\n    return result;\n}\n\n// Set transport type and initialize connectors accordingly\nvoid TransportTestBase::setTransportType(TransportType type)\n{\n    initialized_transport = type;\n\n    switch(type)\n    {\n        case TransportType::P2P:\n            send_connector.transportComm = &p2pTransport.send;\n            recv_connector.transportComm = &p2pTransport.recv;\n            break;\n        case TransportType::Network:\n            send_connector.transportComm = &netTransport.send;\n            recv_connector.transportComm = &netTransport.recv;\n            break;\n        case TransportType::SHM:\n            send_connector.transportComm = &shmTransport.send;\n            recv_connector.transportComm = &shmTransport.recv;\n            break;\n        case TransportType::None:\n            send_connector.transportComm = nullptr;\n            recv_connector.transportComm = nullptr;\n            break;\n    }\n}\n\n// SetUp: Initialize common transport test components\nvoid TransportTestBase::SetUp()\n{\n    // Call GTest's SetUp (which will call MPITestCore::initializeTest())\n    MPITestBase::SetUp();\n\n    // Initialize test configuration using aggregate initialization\n    // Note: rccl_comm and stream are set to nullptr initially; tests must call createTestCommunicator()\n    config = {.world_rank = MPIEnvironment::world_rank,\n              .world_size = MPIEnvironment::world_size,\n              .peer_rank  = (MPIEnvironment::world_rank == 0) ? 1 : 0,\n              .nccl_comm  = nullptr,\n              .stream     = nullptr};\n\n    // Require at least 2 MPI processes for testing\n    if(config.world_size < 2)\n    {\n        GTEST_SKIP() << \"Transport testing requires at least 2 MPI processes\";\n    }\n\n    // Check if MPIEnvironment was properly initialized\n    if(MPIEnvironment::retCode != 0)\n    {\n        GTEST_FAIL() << \"MPIEnvironment initialization failed\";\n    }\n\n    // Initialize transport component pointers to nullptr\n    // They will be set in createTestCommunicator() after the communicator is created\n    comm_handle      = nullptr;\n    local_peer_info  = nullptr;\n    remote_peer_info = nullptr;\n\n    // Create and initialize topology graph\n    topology_graph = static_cast<ncclTopoGraph*>(malloc(sizeof(ncclTopoGraph)));\n    if(topology_graph)\n    {\n        *topology_graph = {.id        = 0,\n                           .pattern   = NCCL_TOPO_PATTERN_RING,\n                           .nChannels = 1,\n                           .bwIntra   = 0.0f,\n                           .bwInter   = 0.0f,\n                           .typeIntra = PATH_SYS,\n                           .typeInter = PATH_NET};\n    }\n\n    // Initialize with P2P transport by default\n    // Tests can call setTransportType() to switch to SHM or Network\n    setTransportType(TransportType::P2P);\n}\n\n// TearDown: Cleanup common transport test components\nvoid TransportTestBase::TearDown()\n{\n    // CRITICAL: Synchronize device before freeing connectors\n    // The transport proxy may have its own internal stream for CE memcpy operations\n    // that must be idle before we can destroy it\n    // Note: We ignore errors here as we're in cleanup path\n    (void)hipDeviceSynchronize();\n\n    // Cleanup topology graph\n    if(topology_graph)\n    {\n        free(topology_graph);\n        topology_graph = nullptr;\n    }\n\n    // Cleanup transport resources based on initialized transport type\n    if(send_connector.transportResources)\n    {\n        if(initialized_transport == TransportType::P2P)\n        {\n            p2pTransport.send.free(&send_connector);\n        }\n        else if(initialized_transport == TransportType::SHM)\n        {\n            shmTransport.send.free(&send_connector);\n        }\n        else if(initialized_transport == TransportType::Network)\n        {\n            netTransport.send.free(&send_connector);\n        }\n        send_connector.transportResources = nullptr;\n    }\n    if(recv_connector.transportResources)\n    {\n        if(initialized_transport == TransportType::P2P)\n        {\n            p2pTransport.recv.free(&recv_connector);\n        }\n        else if(initialized_transport == TransportType::SHM)\n        {\n            shmTransport.recv.free(&recv_connector);\n        }\n        else if(initialized_transport == TransportType::Network)\n        {\n            netTransport.recv.free(&recv_connector);\n        }\n        recv_connector.transportResources = nullptr;\n    }\n\n    // Reset transport type\n    initialized_transport = TransportType::None;\n\n    // Nullify peer info pointers\n    local_peer_info  = nullptr;\n    remote_peer_info = nullptr;\n    comm_handle      = nullptr;\n\n    // Note: Clear RAII guard vectors BEFORE destroying communicator\n    // The guards (especially NcclRegHandleGuard) need the communicator to be valid\n    // when they call ncclCommDeregister() in their destructors\n    reg_handle_guards_.clear();\n    buffer_guards_.clear();\n\n    // Call base class TearDown to cleanup test communicator\n    // This calls MPITestBase::TearDown() -> MPITestCore::cleanupTest() -> cleanupTestCommunicator()\n    MPITestBase::TearDown();\n}\n\n// Allocate and initialize test buffers\nvoid TransportTestBase::allocateAndInitBuffers(void** send_buffer,\n                                               void** recv_buffer,\n                                               size_t send_bytes,\n                                               size_t recv_bytes)\n{\n    // Allocate send buffer\n    ASSERT_EQ(hipSuccess, hipMalloc(send_buffer, send_bytes))\n        << \"Rank \" << config.world_rank << \": Failed to allocate send buffer\";\n\n    // Allocate recv buffer\n    ASSERT_EQ(hipSuccess, hipMalloc(recv_buffer, recv_bytes))\n        << \"Rank \" << config.world_rank << \": Failed to allocate recv buffer\";\n\n    std::vector<uint8_t> host_data(send_bytes);\n    for(size_t i = 0; i < host_data.size(); i++)\n    {\n        host_data[i] = static_cast<uint8_t>((config.world_rank * kDefaultPatternMultiplier + i)\n                                            % kByteValueModulo);\n    }\n\n    ASSERT_EQ(hipSuccess,\n              hipMemcpy(*send_buffer, host_data.data(), send_bytes, hipMemcpyHostToDevice))\n        << \"Rank \" << config.world_rank << \": Failed to initialize send buffer\";\n\n    if(config.world_rank == 0)\n    {\n        TEST_INFO(\"Allocated and initialized buffers (%zu bytes each)\", send_bytes);\n    }\n}\n\n// Pre-register buffers with ncclCommRegister\nvoid TransportTestBase::preRegisterBuffers(void*  send_buffer,\n                                           void*  recv_buffer,\n                                           size_t send_bytes,\n                                           size_t recv_bytes,\n                                           void** send_reg_handle,\n                                           void** recv_reg_handle)\n{\n    ncclComm_t comm = getActiveCommunicator();\n\n    // Register send buffer\n    ncclResult_t result = ncclCommRegister(comm, send_buffer, send_bytes, send_reg_handle);\n    ASSERT_EQ(ncclSuccess, result)\n        << \"Rank \" << config.world_rank\n        << \": Failed to pre-register send buffer: \" << ncclGetErrorString(result);\n\n    // Register recv buffer\n    result = ncclCommRegister(comm, recv_buffer, recv_bytes, recv_reg_handle);\n    ASSERT_EQ(ncclSuccess, result)\n        << \"Rank \" << config.world_rank\n        << \": Failed to pre-register recv buffer: \" << ncclGetErrorString(result);\n}\n\n// Buffer allocation with automatic RAII guards\nstd::pair<DeviceBufferAutoGuard, DeviceBufferAutoGuard>\n    TransportTestBase::allocateAndInitBuffersGuarded(void** send_buffer,\n                                                     void** recv_buffer,\n                                                     size_t send_bytes,\n                                                     size_t recv_bytes,\n                                                     bool   store_in_base)\n{\n    // Allocate buffers using existing method\n    allocateAndInitBuffers(send_buffer, recv_buffer, send_bytes, recv_bytes);\n\n    // Create guards\n    auto sendGuard = makeDeviceBufferAutoGuard(*send_buffer); // Device memory\n    auto recvGuard = makeDeviceBufferAutoGuard(*recv_buffer); // Device memory\n\n    if(store_in_base)\n    {\n        // Store guards in base class for cleanup at test end\n        buffer_guards_.push_back(std::move(sendGuard));\n        buffer_guards_.push_back(std::move(recvGuard));\n\n        // Return empty guards (resources now managed by base class)\n        return {makeDeviceBufferAutoGuard(nullptr), makeDeviceBufferAutoGuard(nullptr)};\n    }\n    else\n    {\n        // Return guards for caller to manage (cleanup at caller's scope exit)\n        return {std::move(sendGuard), std::move(recvGuard)};\n    }\n}\n\n// Buffer registration with automatic RAII guards\nstd::pair<NcclRegHandleGuard, NcclRegHandleGuard>\n    TransportTestBase::preRegisterBuffersGuarded(void*  send_buffer,\n                                                 void*  recv_buffer,\n                                                 size_t send_bytes,\n                                                 size_t recv_bytes,\n                                                 void** send_reg_handle,\n                                                 void** recv_reg_handle,\n                                                 bool   store_in_base)\n{\n    // Register buffers using existing method\n    preRegisterBuffers(send_buffer,\n                       recv_buffer,\n                       send_bytes,\n                       recv_bytes,\n                       send_reg_handle,\n                       recv_reg_handle);\n\n    // Create guards (handles may be nullptr if registration is not needed)\n    NcclRegHandleGuard sendGuard(*send_reg_handle, NcclRegHandleDeleter(getActiveCommunicator()));\n    NcclRegHandleGuard recvGuard(*recv_reg_handle, NcclRegHandleDeleter(getActiveCommunicator()));\n\n    if(store_in_base)\n    {\n        // Store guards in base class for cleanup at test end\n        reg_handle_guards_.push_back(std::move(sendGuard));\n        reg_handle_guards_.push_back(std::move(recvGuard));\n\n        // Return empty guards (resources now managed by base class)\n        return {makeRegHandleGuard(nullptr, nullptr), makeRegHandleGuard(nullptr, nullptr)};\n    }\n    else\n    {\n        // Return guards for caller to manage (cleanup at caller's scope exit)\n        return {std::move(sendGuard), std::move(recvGuard)};\n    }\n}\n\n#endif // MPI_TESTS_ENABLED\n"
  },
  {
    "path": "test/transport/TransportMPIBase.hpp",
    "content": "/*************************************************************************\n * Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef TRANSPORT_MPI_BASE_HPP\n#define TRANSPORT_MPI_BASE_HPP\n\n#include <cstdio>\n#include <cstdlib>\n#include <cstring>\n#include <vector>\n\n#include \"rccl/rccl.h\"\n#include \"gtest/gtest.h\"\n\n#ifdef MPI_TESTS_ENABLED\n    #include \"MPITestBase.hpp\"\n    #include \"MPIEnvironment.hpp\"\n    #include \"TestChecks.hpp\"\n    #include \"ResourceGuards.hpp\"\n    #include \"comm.h\"\n    #include \"core.h\"\n    #include \"device.h\"\n    #include \"graph.h\"\n    #include \"graph/topo.h\"\n    #include \"nccl_common.h\"\n    #include \"transport.h\"\n\nusing namespace RCCLTestGuards;\n\n// Transport-specific RAII deleters\nnamespace RCCLTestGuards\n{\n\nstruct TransportSendResourceDeleter\n{\n    ncclTransport* transport;\n    explicit TransportSendResourceDeleter(ncclTransport* t = nullptr) : transport(t) {}\n    void operator()(ncclConnector* connector) const\n    {\n        if(connector && transport)\n        {\n            transport->send.free(connector);\n        }\n    }\n};\n\nstruct TransportRecvResourceDeleter\n{\n    ncclTransport* transport;\n    explicit TransportRecvResourceDeleter(ncclTransport* t = nullptr) : transport(t) {}\n    void operator()(ncclConnector* connector) const\n    {\n        if(connector && transport)\n        {\n            transport->recv.free(connector);\n        }\n    }\n};\n\nusing TransportSendResourceGuard = ResourceGuard<ncclConnector*, TransportSendResourceDeleter>;\nusing TransportRecvResourceGuard = ResourceGuard<ncclConnector*, TransportRecvResourceDeleter>;\n\nclass TransportResourceGuard\n{\nprivate:\n    ncclConnector* send_connector_;\n    ncclConnector* recv_connector_;\n    ncclTransport* transport_;\n\npublic:\n    TransportResourceGuard(ncclConnector* send, ncclConnector* recv, ncclTransport* transport)\n        : send_connector_(send), recv_connector_(recv), transport_(transport)\n    {}\n\n    ~TransportResourceGuard()\n    {\n        if(recv_connector_ && transport_)\n        {\n            transport_->recv.free(recv_connector_);\n        }\n        if(send_connector_ && transport_)\n        {\n            transport_->send.free(send_connector_);\n        }\n    }\n\n    TransportResourceGuard(const TransportResourceGuard&)            = delete;\n    TransportResourceGuard& operator=(const TransportResourceGuard&) = delete;\n    TransportResourceGuard(TransportResourceGuard&&)                 = delete;\n    TransportResourceGuard& operator=(TransportResourceGuard&&)      = delete;\n};\n\ninline TransportSendResourceGuard makeTransportSendGuard(ncclConnector* connector,\n                                                         ncclTransport* transport)\n{\n    return TransportSendResourceGuard(connector, TransportSendResourceDeleter(transport));\n}\n\ninline TransportRecvResourceGuard makeTransportRecvGuard(ncclConnector* connector,\n                                                         ncclTransport* transport)\n{\n    return TransportRecvResourceGuard(connector, TransportRecvResourceDeleter(transport));\n}\n\n} // namespace RCCLTestGuards\n\nextern struct ncclTransport p2pTransport;\nextern struct ncclTransport netTransport;\nextern struct ncclTransport shmTransport;\n\n// ============================================================================\n// Transport Test Constants\n// ============================================================================\n\nnamespace TransportTestConstants\n{\n\n// Buffer size constants (common across P2P, SHM, NET tests)\ninline constexpr size_t kDefaultBufferSize     = 1024 * sizeof(float);  // 4096 bytes\ninline constexpr size_t kSmallBufferSize       = 256;\ninline constexpr size_t kMediumBufferSize      = 16384;                 // 16 KB\ninline constexpr size_t kLargeBufferSize       = 135168;                // ~132 KB\ninline constexpr size_t kVeryLargeBufferSize   = 256 * 1024 * 1024;    // 256 MB\ninline constexpr size_t kCEMemcpyBufferSize    = 256 * 1024 * 1024;    // 256 MB (for CE tests)\n\n// Pattern generation constants\ninline constexpr int kDefaultPatternMultiplier = 1000;     // Standard rank-based patterns\ninline constexpr int kSmallPatternMultiplier   = 100;      // Smaller patterns (memcpy tests)\ninline constexpr int kLargePatternMultiplier   = 1000000;  // Large buffer patterns\ninline constexpr int kPatternModulo            = 10000;    // Wraparound patterns\ninline constexpr int kBytePatternModulo        = 256;      // uint8_t wraparound\n\n// Validation constants\ninline constexpr size_t kMaxValidationElements = 100;      // Number of elements to validate\ninline constexpr size_t kMinValidationSamples  = 100;      // Minimum samples for validation\ninline constexpr size_t kValidationStride      = 1000;     // Stride for sampling validation\ninline constexpr int    kMaxErrorsToReport     = 10;       // Max errors to display\n\n// Test iteration constants\ninline constexpr int kMultipleTransferCount = 5;           // Number of sequential transfers\n\n} // namespace TransportTestConstants\n\n// Common test configuration\nstruct TransportTestConfig\n{\n    int         world_rank{0};\n    int         world_size{0};\n    int         peer_rank{0};\n    ncclComm_t  nccl_comm{nullptr};\n    hipStream_t stream{nullptr};\n};\n\n// Base class for transport tests with common functionality\n// Inherits from MPITestBase to get validation capabilities\nclass TransportTestBase : public MPITestBase\n{\nprotected:\n    TransportTestConfig config;\n\n    // Transport connectors (can be used for P2P or NET)\n    ncclConnector send_connector = {};\n    ncclConnector recv_connector = {};\n\n    // Track which transport type is initialized\n    enum class TransportType\n    {\n        None,\n        P2P,\n        SHM,\n        Network\n    };\n    TransportType initialized_transport = TransportType::None;\n\n    // Core NCCL components\n    struct ncclComm* comm_handle      = nullptr;\n    ncclPeerInfo*    local_peer_info  = nullptr;\n    ncclPeerInfo*    remote_peer_info = nullptr;\n    ncclTopoGraph*   topology_graph   = nullptr;\n\n    // RAII guards for automatic resource cleanup\n    // These are managed by helper methods and cleaned up automatically\n    std::vector<DeviceBufferAutoGuard> buffer_guards_;\n    std::vector<NcclRegHandleGuard>    reg_handle_guards_;\n\n    // Setup and teardown\n    void SetUp() override;\n    void TearDown() override;\n\n    // Override createTestCommunicator to also update config\n    ncclResult_t createTestCommunicator() override;\n\n    // Set transport type and initialize connectors\n    void setTransportType(TransportType type);\n\n    // Buffer allocation (unguarded - for manual management)\n    void allocateAndInitBuffers(void** send_buffer,\n                                void** recv_buffer,\n                                size_t send_bytes,\n                                size_t recv_bytes);\n\n    // Buffer allocation with automatic RAII guards\n    // store_in_base=true: Guards stored in base class, cleanup at test end\n    // store_in_base=false: Guards returned, caller controls cleanup scope\n    std::pair<DeviceBufferAutoGuard, DeviceBufferAutoGuard> allocateAndInitBuffersGuarded(void** send_buffer,\n                                                                                           void** recv_buffer,\n                                                                                           size_t send_bytes,\n                                                                                           size_t recv_bytes,\n                                                                                           bool   store_in_base = true);\n\n    // Buffer registration (unguarded - for manual management)\n    void preRegisterBuffers(void*  send_buffer,\n                            void*  recv_buffer,\n                            size_t send_bytes,\n                            size_t recv_bytes,\n                            void** send_reg_handle,\n                            void** recv_reg_handle);\n\n    // Buffer registration with automatic RAII guards\n    // store_in_base=true: Guards stored in base class, cleanup at test end\n    // store_in_base=false: Guards returned, caller controls cleanup scope\n    std::pair<NcclRegHandleGuard, NcclRegHandleGuard>\n        preRegisterBuffersGuarded(void*  send_buffer,\n                                  void*  recv_buffer,\n                                  size_t send_bytes,\n                                  size_t recv_bytes,\n                                  void** send_reg_handle,\n                                  void** recv_reg_handle,\n                                  bool   store_in_base = true);\n};\n\n// ============================================================================\n// Generic Stream Synchronization Helpers\n// ============================================================================\n\n/**\n * @brief Generic stream synchronization helper\n *\n * Synchronizes a HIP stream and returns the error code. This function is\n * marked [[nodiscard]] to ensure callers check the return value.\n *\n * @param stream HIP stream to synchronize\n * @param rank MPI rank (for error reporting, currently unused but allows\n *             future enhancement with rank-specific error messages)\n * @return hipError_t Result of hipStreamSynchronize\n *\n * Usage examples:\n *   - Manual error checking: hipError_t err = syncStream(stream, rank);\n *   - With HIPCHECK macro: HIPCHECK(syncStream(stream, rank));\n *   - With assertion macro: ASSERT_STREAM_SYNC(stream, rank);\n */\n[[nodiscard]] inline hipError_t syncStream(hipStream_t stream, int rank = 0)\n{\n    return hipStreamSynchronize(stream);\n}\n\n    /**\n * @def ASSERT_STREAM_SYNC\n * @brief Macro to assert stream synchronization succeeds\n *\n * Convenience macro that combines syncStream() with ASSERT_EQ to provide\n * clean, consistent stream synchronization checks in tests.\n *\n * @param stream HIP stream to synchronize\n * @param rank MPI rank for error reporting\n *\n * Example: ASSERT_STREAM_SYNC(config.stream, config.world_rank);\n */\n    #define ASSERT_STREAM_SYNC(stream, rank)            \\\n        ASSERT_EQ(hipSuccess, syncStream(stream, rank)) \\\n            << \"Rank \" << rank << \": Stream synchronization failed\"\n\n    /**\n * @def ASSERT_STREAM_SYNC_MPI\n * @brief MPI-aware stream synchronization assertion\n *\n * Uses ASSERT_MPI_EQ to ensure all ranks synchronize before failing.\n * This prevents deadlocks when one rank fails while others are waiting\n * in collective operations.\n *\n * @param stream HIP stream to synchronize\n * @param rank MPI rank for error reporting\n *\n * Example: ASSERT_STREAM_SYNC_MPI(config.stream, config.world_rank);\n *\n * @note Prefer this version in multi-rank tests to avoid hangs\n */\n    #define ASSERT_STREAM_SYNC_MPI(stream, rank) ASSERT_MPI_EQ(hipSuccess, syncStream(stream, rank))\n\n#endif // MPI_TESTS_ENABLED\n\n#endif // TRANSPORT_MPI_BASE_HPP\n"
  },
  {
    "path": "toolchain-linux.cmake",
    "content": "\nif (DEFINED ENV{ROCM_PATH})\n  set(rocm_bin \"$ENV{ROCM_PATH}/bin\")\nelse()\n  set(ROCM_PATH \"/opt/rocm\" CACHE PATH \"Path to the ROCm installation.\")\n  set(rocm_bin \"/opt/rocm/bin\")\nendif()\n\nif (NOT DEFINED ENV{CXX})\n  set(CMAKE_CXX_COMPILER \"${rocm_bin}/amdclang++\" CACHE PATH \"Path to the C++ compiler\")\nelse()\n  set(CMAKE_CXX_COMPILER \"$ENV{CXX}\" CACHE PATH \"Path to the C++ compiler\")\nendif()\n\nif (NOT DEFINED ENV{CXXFLAGS})\n  set(CMAKE_CXX_FLAGS_DEBUG \"-g -O1\")\n  set(CMAKE_CXX_FLAGS_RELEASE \"-O3\")\n  set(CMAKE_CXX_FLAGS_RELWITHDEBINFO \"-O3 -g\")\nendif()\n\nif (NOT DEFINED ENV{CC})\n  set(CMAKE_C_COMPILER \"${rocm_bin}/amdclang\" CACHE PATH \"Path to the C compiler\")\nelse()\n  set(CMAKE_C_COMPILER \"$ENV{CC}\" CACHE PATH \"Path to the C compiler\")\nendif()\n\nif (NOT DEFINED ENV{CFLAGS})\n  set(CMAKE_C_FLAGS_DEBUG \"-g -O1\")\n  set(CMAKE_C_FLAGS_RELEASE \"-O3\")\n  set(CMAKE_C_FLAGS_RELWITHDEBINFO \"-O3 -g\")\nendif()\n"
  },
  {
    "path": "tools/EmptyKernelTest/EmptyKernelTest.cpp",
    "content": "/*\nCopyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#if defined(__NVCC__)\n\n#include <cuda_runtime.h>\n\n// Datatypes\n#define hipError_t                                         cudaError_t\n#define hipEvent_t                                         cudaEvent_t\n#define hipStream_t                                        cudaStream_t\n\n// Enumerations\n#define hipSuccess                                         cudaSuccess\n\n// Functions\n#define hipEventCreate                                     cudaEventCreate\n#define hipEventDestroy                                    cudaEventDestroy\n#define hipEventElapsedTime                                cudaEventElapsedTime\n#define hipGetErrorString                                  cudaGetErrorString\n#define hipEventRecord                                     cudaEventRecord\n#define hipStreamCreate                                    cudaStreamCreate\n#define hipStreamDestroy                                   cudaStreamDestroy\n#define hipStreamSynchronize                               cudaStreamSynchronize\n\n#else\n\n#include <hip/hip_ext.h>\n#include <hip/hip_runtime.h>\n#include <hsa/hsa_ext_amd.h>\n\n#endif\n\n#include <iostream>\n#include <chrono>\n#include <algorithm>\n#include <vector>\n#include <numeric>\n#include <stdatomic.h>\n\n// Helper macro for catching HIP errors\n#define HIP_CALL(cmd)                                                                   \\\n    do {                                                                                \\\n        hipError_t error = (cmd);                                                       \\\n        if (error != hipSuccess)                                                        \\\n        {                                                                               \\\n            std::cerr << \"Encountered HIP error (\" << hipGetErrorString(error)          \\\n                      << \") at line \" << __LINE__ << \" in file \" << __FILE__ << \"\\n\";   \\\n            exit(-1);                                                                   \\\n        }                                                                               \\\n    } while (0)\n\n\n__global__ void EmptyKernel(){};\n\nfloat calStdDev(const std::vector<float>& allDeltaMs, float mean)\n{\n  std::vector<float> diff(allDeltaMs.size());\n  std::transform(allDeltaMs.begin(), allDeltaMs.end(), diff.begin(), [mean](double x) { return x - mean; });\n  double sq_sum = std::inner_product(diff.begin(), diff.end(), diff.begin(), 0.0);\n  double stdev = std::sqrt(sq_sum / allDeltaMs.size());\n  return stdev;\n}\n\nint main(int argc, char **argv)\n{\n  int numIterations = (argc > 1 ? atoi(argv[1]) : 10);\n  int gridSize      = (argc > 2 ? atoi(argv[2]) : 1);\n  int blockSize     = (argc > 3 ? atoi(argv[3]) : 1);\n  bool cpuTime      = (argc > 4 ? atoi(argv[4]) != 0 : true);\n  bool gpuTime      = (argc > 5 ? atoi(argv[5]) != 0 : true);\n  bool outerLoop    = (argc > 6 ? atoi(argv[6]) != 0 : false);\n  bool innerLoop    = (argc > 7 ? atoi(argv[7]) != 0 : true);\n  int numWarmups    = 3;\n  printf(\"Running %d iterations <<<%d,%d>>> cpuTime:%d gpuTime:%d outerLoop:%d innerLoop:%d\\n\", numIterations, gridSize, blockSize, cpuTime , gpuTime, outerLoop,innerLoop);\n  if(!innerLoop && !outerLoop) {printf(\"Warning: Atleast one of inner and outer loops should be enabled\\n\");return 0;}\n  if(outerLoop && innerLoop && (cpuTime || gpuTime)){printf(\"Warning: given cpuTime %d, gpuTime %d, outerLoop %d may not be meaningful combination, recommended are 001,100,010,110\\n\",cpuTime , gpuTime, outerLoop);}\n\n  // Create events and stream\n  hipEvent_t startEvent, stopEvent, startEventOuterLoop, stopEventOuterLoop;\n  HIP_CALL(hipEventCreate(&startEvent));\n  HIP_CALL(hipEventCreate(&stopEvent));\n  HIP_CALL(hipEventCreate(&startEventOuterLoop));\n  HIP_CALL(hipEventCreate(&stopEventOuterLoop));\n  hipStream_t stream;\n  HIP_CALL(hipStreamCreate(&stream));\n\n  // Run untimed warmup iterations (to cache kernel code)\n  for (int iteration = 0; iteration < numWarmups; iteration++)\n  {\n    EmptyKernel<<<gridSize, blockSize, 0, stream>>>();\n  }\n  HIP_CALL(hipStreamSynchronize(stream));\n  std::vector<float> allGpuDeltaMsec(numIterations);\n  std::vector<float> allCpuDeltaMsec(numIterations);\n\n  // Launch empty kernel\n  // NOTE: Timing is done per-iteration, instead of batching multiple iterations\n  double cpuSum = 0.0;\n  double gpuSum = 0.0;\n  auto cpuStart = std::chrono::high_resolution_clock::now();\n  auto cpuDelta = std::chrono::high_resolution_clock::now() - cpuStart;\n  double cpuDeltaMsec;\n  float gpuDeltaMsec;\n\n  auto cpuStartOuterloop = std::chrono::high_resolution_clock::now();\n  auto cpuDeltaOuterloop = std::chrono::high_resolution_clock::now() - cpuStartOuterloop;\n  double cpuDeltaMsecOuterLoop;\n  float gpuDeltaMsecOuterLoop;\n  if(outerLoop && gpuTime) {HIP_CALL(hipEventRecord(startEventOuterLoop, stream));}\n  for (int iteration = 0; iteration < numIterations; iteration++)\n  {\n    // Start timing\n    if(innerLoop && cpuTime){ atomic_signal_fence(memory_order_seq_cst); cpuStart = std::chrono::high_resolution_clock::now();}\n    if(innerLoop && gpuTime){HIP_CALL(hipEventRecord(startEvent, stream));}\n\n    // Launch kernel and wait for completion\n    EmptyKernel<<<gridSize, blockSize, 0, stream>>>();\n    if(innerLoop && gpuTime){HIP_CALL(hipEventRecord(stopEvent, stream));}\n    if(innerLoop){HIP_CALL(hipStreamSynchronize(stream));}\n\n    // Collect timing info\n    if(innerLoop && cpuTime) {\n      atomic_signal_fence(memory_order_seq_cst);\n      cpuDelta = std::chrono::high_resolution_clock::now() - cpuStart;\n      cpuDeltaMsec = std::chrono::duration_cast<std::chrono::duration<double>>(cpuDelta).count() * 1000.0;\n    }\n    if(innerLoop && gpuTime){HIP_CALL(hipEventElapsedTime(&gpuDeltaMsec, startEvent, stopEvent));}\n\n    // Report timing\n    if(innerLoop && (cpuTime || gpuTime)) {printf(\"Iteration %03d Kernel Launch Time (usec) %10.5f (CPU) %10.5f (GPU)\\n\", iteration, cpuDeltaMsec *1000.0, gpuDeltaMsec * 1000.0);}\n    if(innerLoop && gpuTime){\n      allGpuDeltaMsec[iteration] = gpuDeltaMsec * 1000.0;\n      gpuSum += gpuDeltaMsec * 1000.0;\n    }\n    if(innerLoop && cpuTime){\n      allCpuDeltaMsec[iteration] = cpuDeltaMsec * 1000.0;\n      cpuSum += cpuDeltaMsec * 1000.0;\n    }\n  }\n  if(outerLoop) {\n    atomic_signal_fence(memory_order_seq_cst);\n    cpuDeltaOuterloop = std::chrono::high_resolution_clock::now() - cpuStartOuterloop;\n    if(gpuTime){\n      HIP_CALL(hipEventRecord(stopEventOuterLoop, stream));\n      HIP_CALL(hipStreamSynchronize(stream));\n      HIP_CALL(hipEventElapsedTime(&gpuDeltaMsecOuterLoop, startEventOuterLoop, stopEventOuterLoop));\n    }\n    cpuDeltaMsecOuterLoop = std::chrono::duration_cast<std::chrono::duration<double>>(cpuDeltaOuterloop).count() * 1000.0;\n  }\n  printf(\"\\n\");\n\n  // Report averages\n  if(innerLoop && (cpuTime || gpuTime)){\n    double avgCpuUsec = cpuSum / numIterations;\n    double avgGpuUsec = gpuSum / numIterations;\n    auto   minCpuUsec = std::min_element(std::begin(allCpuDeltaMsec), std::end(allCpuDeltaMsec));\n    auto   minGpuUsec = std::min_element(std::begin(allGpuDeltaMsec), std::end(allGpuDeltaMsec));\n    auto   maxCpuUsec = std::max_element(std::begin(allCpuDeltaMsec), std::end(allCpuDeltaMsec));\n    auto   maxGpuUsec = std::max_element(std::begin(allGpuDeltaMsec), std::end(allGpuDeltaMsec));\n    auto   varCpuUsec = calStdDev(allCpuDeltaMsec, avgCpuUsec);\n    auto   varGpuUsec = calStdDev(allGpuDeltaMsec, avgGpuUsec);\n\n    printf(\"Average       Kernel Launch time (usec) %10.5f (CPU) %10.5f (GPU)\\n\", avgCpuUsec, avgGpuUsec);\n    printf(\"Minimum       Kernel Launch time (usec) %10.5f (CPU) %10.5f (GPU)\\n\", *minCpuUsec, *minGpuUsec);\n    printf(\"Maximum       Kernel Launch time (usec) %10.5f (CPU) %10.5f (GPU)\\n\", *maxCpuUsec, *maxGpuUsec);\n    printf(\"Stddev        Kernel Launch time (usec) %10.5f (CPU) %10.5f (GPU)\\n\", varCpuUsec, varGpuUsec);\n  }\n  if(outerLoop) {\n    double avgCpuUsecOuterLoop = (cpuDeltaMsecOuterLoop* 1000.0)/numIterations;\n    double avgGpuUsecOuterLoop = 0.0;\n    if(gpuTime){ avgGpuUsecOuterLoop = (gpuDeltaMsecOuterLoop* 1000.0)/numIterations; }\n    printf(\"Average-OL    Kernel Launch time (usec) %10.5f (CPU) %10.5f (GPU)\\n\", avgCpuUsecOuterLoop, avgGpuUsecOuterLoop);\n  }\n  // Cleanup events and stream\n  HIP_CALL(hipStreamDestroy(stream));\n  HIP_CALL(hipEventDestroy(startEvent));\n  HIP_CALL(hipEventDestroy(stopEvent));\n  HIP_CALL(hipEventDestroy(startEventOuterLoop));\n  HIP_CALL(hipEventDestroy(stopEventOuterLoop));\n  return 0;\n}\n"
  },
  {
    "path": "tools/EmptyKernelTest/Makefile",
    "content": "\nROCM_PATH ?= /opt/rocm\nCUDA_PATH ?= /usr/local/cuda\n\nHIPCC=$(ROCM_PATH)/bin/hipcc\nNVCC=$(CUDA_PATH)/bin/nvcc\n\n# Compile TransferBenchCuda if nvcc detected\nifeq (\"$(shell test -e $(NVCC) && echo found)\", \"found\")\n\tEXE=./EmptyKernelTestCuda\nelse\n\tEXE=./EmptyKernelTest\nendif\n\nall: $(EXE)\n\n./EmptyKernelTest:  EmptyKernelTest.cpp\n\t$(HIPCC) EmptyKernelTest.cpp -o EmptyKernelTest\n\n./EmptyKernelTestCuda: EmptyKernelTest.cpp\n\t$(NVCC) EmptyKernelTest.cpp -x cu -o EmptyKernelTestCuda\n\n\nclean:\n\trm -f ./EmptyKernelTest ./EmptyKernelTestCuda\n\n"
  },
  {
    "path": "tools/EmptyKernelTest/run.sh",
    "content": "#!/bin/bash\nmake clean\nmake\necho -e \"\\n\\n\"\n\necho \"# Test 1 : CPU Only\"\n./EmptyKernelTest 10 1 1 1 0\necho -e \"\\n\\n\"\n\necho \"# Test 2 : GPU Only\"\n./EmptyKernelTest 10 1 1 0 1\necho -e \"\\n\\n\"\n\necho \"# Test 3 : CPU and GPU\"\n./EmptyKernelTest 10 1 1 1 1 0\necho -e \"\\n\\n\"\n\necho \"# Test 4 : Outer loop - CPU Only\"\n./EmptyKernelTest 10 1 1 0 0 1\necho -e \"\\n\\n\"\n"
  },
  {
    "path": "tools/GraphBench/GraphBench.cpp",
    "content": "/*\nCopyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#include <iostream>\n#include <cstdio>\n#include <string>\n#include <chrono>\n#include <hip/hip_runtime.h>\n#include <rccl/rccl.h>\n\n#define HIP_CALL(cmd)                                                 \\\n  do {                                                                \\\n    hipError_t error = (cmd);                                         \\\n    if (error != hipSuccess)                                          \\\n    {                                                                   \\\n      std::cout << \"Encountered HIP error (\" << hipGetErrorString(error) << \") at line \" \\\n                << __LINE__ << \" in file \" << __FILE__ << \"\\n\";         \\\n      exit(-1);                                                         \\\n    }                                                                   \\\n  } while (0)\n\n#define NCCL_CALL(cmd) \\\n  do { \\\n    ncclResult_t error = (cmd);                 \\\n    if (error != ncclSuccess)                   \\\n    {                                           \\\n      std::cout << \"Encountered NCCL error (\" << ncclGetErrorString(error) << \") at line \" \\\n                << __LINE__ << \" in file \" << __FILE__ << \"\\n\";         \\\n      exit(-1);                                                         \\\n    }                                                                   \\\n  } while (0)\n\nint main(int argc, char **argv)\n{\n  int nranks;\n  HIP_CALL(hipGetDeviceCount(&nranks));\n\n  // Initialize communicators for each rank\n  ncclComm_t comm[nranks];\n  NCCL_CALL(ncclCommInitAll(comm, nranks, NULL));\n\n  // Allocate GPU resources\n  hipStream_t stream[nranks];\n  int* iputCpu[nranks];\n  int* iputGpu[nranks];\n  int* oputGpu[nranks];\n  int* oputCpu[nranks];\n  int* pattern;\n  int* expected;\n\n  int maxN = (1<<24);\n\n  expected = (int*)calloc(maxN, sizeof(int));\n  for (int r = 0; r < nranks; r++)\n  {\n    HIP_CALL(hipSetDevice(r));\n    HIP_CALL(hipStreamCreate(&stream[r]));\n    HIP_CALL(hipMalloc((void **)&iputGpu[r], maxN * sizeof(int)));\n    HIP_CALL(hipMalloc((void **)&oputGpu[r], maxN * sizeof(int)));\n\n    iputCpu[r] = (int*) malloc(maxN * sizeof(int));\n    oputCpu[r] = (int*) malloc(maxN * sizeof(int));\n    pattern    = (int*) malloc(maxN * sizeof(int));\n\n    for (int i = 0; i < maxN; i++)\n    {\n      iputCpu[r][i] = (r * 235 + i) % 2057;\n      oputCpu[r][i] = 0;\n      expected[i] += iputCpu[r][i];\n\n      pattern[i] = -1 - i;\n    }\n\n    HIP_CALL(hipMemcpy(iputGpu[r], iputCpu[r], maxN * sizeof(int), hipMemcpyHostToDevice));\n    HIP_CALL(hipMemcpy(oputGpu[r], oputCpu[r], maxN * sizeof(int), hipMemcpyHostToDevice));\n  }\n\n  int numWarmups    = 3;\n  int numIterations = 5;\n\n  hipGraph_t graphs[nranks];\n  hipGraphExec_t graphExec[nranks];\n\n  printf(\"%12s\", \"NumBytes\");\n  for (int usingGraphs = 0; usingGraphs <= 1; usingGraphs++)\n  {\n    printf(\"%12s\", \"Setup\");\n    for (int i = 1; i <= numIterations; ++i)\n      printf(\"%11s%d\", usingGraphs ? \"Graph\" : \"NoGraph\", i);\n    printf(\"%12s\", \"Avg\");\n  }\n  printf(\"%12s\\n\", \"Speedup\");\n\n  for (int N = 1; N <= maxN; N *= 2)\n  {\n    printf(\"%12lu\", N * sizeof(int));\n\n    double average[2] = {};\n    for (int usingGraphs = 0; usingGraphs <= 1; usingGraphs++)\n    {\n      auto setupStart = std::chrono::high_resolution_clock::now();\n      if (usingGraphs)\n      {\n        for (int r = 0; r < nranks; ++r)\n        {\n          HIP_CALL(hipSetDevice(r));\n          HIP_CALL(hipStreamBeginCapture(stream[r], hipStreamCaptureModeThreadLocal));\n        }\n\n        NCCL_CALL(ncclGroupStart());\n        for (int r = 0; r < nranks; ++r)\n        {\n          HIP_CALL(hipSetDevice(r));\n          NCCL_CALL(ncclAllReduce(iputGpu[r], oputGpu[r], N, ncclInt, ncclSum, comm[r], stream[r]));\n        }\n        NCCL_CALL(ncclGroupEnd());\n\n        for (int r = 0; r < nranks; ++r)\n        {\n          //HIP_CALL(hipSetDevice(r));\n          HIP_CALL(hipStreamEndCapture(stream[r], &graphs[r]));\n        }\n\n        // Instantiating graphs\n        for (int r = 0; r < nranks; ++r)\n        {\n          HIP_CALL(hipSetDevice(r));\n          HIP_CALL(hipGraphInstantiate(&graphExec[r], graphs[r], NULL, NULL, 0));\n        }\n      }\n      auto setupDelta = std::chrono::high_resolution_clock::now() - setupStart;\n      double setupTime = std::chrono::duration_cast<std::chrono::duration<double, std::milli>>(setupDelta).count();\n      printf(\"%12.3f\", setupTime);\n\n      // Perform iterations\n      average[usingGraphs] = 0;\n      for (int iteration = -numWarmups; iteration < numIterations; ++iteration)\n      {\n        auto cpuStart = std::chrono::high_resolution_clock::now();\n        if (usingGraphs)\n        {\n          for (int r = 0; r < nranks; r++)\n          {\n            HIP_CALL(hipSetDevice(r));\n            HIP_CALL(hipGraphLaunch(graphExec[r], stream[r]));\n          }\n        }\n        else\n        {\n          NCCL_CALL(ncclGroupStart());\n          for (int r = 0; r < nranks; ++r)\n          {\n            HIP_CALL(hipSetDevice(r));\n            NCCL_CALL(ncclAllReduce(iputGpu[r], oputGpu[r], N, ncclInt, ncclSum, comm[r], stream[r]));\n          }\n          NCCL_CALL(ncclGroupEnd());\n        }\n\n        for (int r = 0; r < nranks; r++)\n          HIP_CALL(hipStreamSynchronize(stream[r]));\n\n        auto cpuDelta = std::chrono::high_resolution_clock::now() - cpuStart;\n        double iterationTime = std::chrono::duration_cast<std::chrono::duration<double, std::milli>>(cpuDelta).count();\n\n        // Check result and reset\n        bool isCorrect = true;\n        for (int r = 0; r < nranks && isCorrect; r++)\n        {\n          HIP_CALL(hipMemcpy(oputCpu[r], oputGpu[r], N * sizeof(int), hipMemcpyDeviceToHost));\n          for (int i = 0; i < N; i++)\n          {\n            if (oputCpu[r][i] != expected[i])\n            {\n              isCorrect = false;\n              printf(\"ERROR: Expected: %d Output %d at Index %d\\n\", expected[i], oputCpu[r][i], i);\n              exit(1);\n            }\n          }\n          // Fill output with input for testing reasons\n          HIP_CALL(hipMemcpy(oputGpu[r], pattern, N * sizeof(int), hipMemcpyHostToDevice));\n        }\n\n        if (iteration >= 0)\n        {\n          printf(\"%12.3f\", iterationTime); fflush(stdout);\n          average[usingGraphs] += iterationTime;\n        }\n      }\n      average[usingGraphs] /= numIterations;\n      printf(\"%12.3f\", average[usingGraphs]);\n\n      for (int r = 0; r < nranks; r++)\n      {\n        HIP_CALL(hipSetDevice(r));\n        HIP_CALL(hipGraphDestroy(graphs[r]));\n        HIP_CALL(hipGraphExecDestroy(graphExec[r]));\n      }\n    }\n    printf(\"%12.3f\\n\", average[0] / average[1]);\n    fflush(stdout);\n  }\n  return 0;\n}\n"
  },
  {
    "path": "tools/GraphBench/Makefile",
    "content": "# Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n\n# Set to where RCCL is installed\nRCCL_INSTALL=../../build/release\n\nHIP_PATH?= $(wildcard /opt/rocm)\nifeq (,$(HIP_PATH))\nHIP_PATH=../../..\nendif\nHIPCC=$(HIP_PATH)/bin/hipcc\n\nEXE=GraphBench\nCXXFLAGS = -std=c++11 -O3 -I../../src/include -I$(RCCL_INSTALL)/include -L$(RCCL_INSTALL) -lrccl\n\nall: $(EXE)\n\n$(EXE): $(EXE).cpp $(shell find -regex \".*\\.\\hpp\")\n\t$(HIPCC) $(CXXFLAGS) $< -o $@\n\ntest: $(EXE)\n\tLD_LIBRARY_PATH=$(RCCL_INSTALL) RCCL_ENABLE_HIPGRAPH=1 ./$(EXE)\n\ntestInfo: $(EXE)\n\tNCCL_DEBUG=INFO LD_LIBRARY_PATH=$(RCCL_INSTALL) RCCL_ENABLE_HIPGRAPH=1 ./$(EXE)\nclean:\n\trm -f *.o $(EXE)\n"
  },
  {
    "path": "tools/HelloRccl/HelloRccl.cpp",
    "content": "/*\nCopyright (c) 2020 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#include <sys/socket.h>\n#include <ifaddrs.h>\n#include <netdb.h>\n#include <unistd.h>\n#include <cstdio>\n#include <string>\n#include <chrono>\n#include <vector>\n#include <hip/hip_runtime.h>\n#include <rccl/rccl.h>\n#include \"HelloRccl.hpp\"\n\n\nvoid Usage(char *argv0);\nvoid ExecuteTest(int numIntraRank, int intraRankStartId, int numTotalRanks, ncclComm_t* comm);\n\nint main(int argc, char **argv)\n{\n  if (getenv(\"NCCL_COMM_ID\") && argc == 3) // Run in multi-process mode\n  {\n    int nranks   = atoi(argv[1]);\n    int rank     = atoi(argv[2]);\n    if (rank == 0) printf(\"Running in multi-process mode\\n\");\n\n    // Create communicator for this rank\n    ncclUniqueId commId;\n    NCCL_CALL(ncclGetUniqueId(&commId));\n\n    // Initialize communicator\n    ncclComm_t comm;\n    HIP_CALL(hipSetDevice(rank));\n    NCCL_CALL(ncclCommInitRank(&comm, nranks, commId, rank));\n\n    // Run the test\n    ExecuteTest(1, rank, nranks, &comm);\n  }\n  else if (argc == 2) // Run in single-process mode\n  {\n    printf(\"Running in single-process mode\\n\");\n\n    int nranks   = atoi(argv[1]);\n\n    // Initialize communicators for each rank\n    std::vector<ncclComm_t> comm(nranks);\n    NCCL_CALL(ncclCommInitAll(comm.data(), nranks, NULL));\n\n    // Run the test\n    ExecuteTest(nranks, 0, nranks, comm.data());\n  }\n  else\n  {\n    Usage(argv[0]);\n    return 1;\n  }\n  return 0;\n}\n\nvoid ExecuteTest(int numIntraRank, int intraRankStartId, int numTotalRanks, ncclComm_t* comm)\n{\n  // Test configuration settings\n  int minPow        = 10;      // Starting power of 2 input size\n  int maxPow        = 28;      // Ending power of 2 input size\n  int numWarmups    =  3;      // Number of untimed warmup iterations\n  int numIterations = 10;      // Number of timed iterations\n\n  // Allocate GPU resources for this process\n  std::vector<hipStream_t> stream(numIntraRank);\n  std::vector<hipEvent_t>  startEvent(numIntraRank);\n  std::vector<hipEvent_t>  stopEvent(numIntraRank);\n  for (int i = 0; i < numIntraRank; i++)\n  {\n    HIP_CALL(hipSetDevice(intraRankStartId + i));\n    HIP_CALL(hipStreamCreate(&stream[i]));\n    HIP_CALL(hipEventCreate(&startEvent[i]));\n    HIP_CALL(hipEventCreate(&stopEvent[i]));\n  }\n\n  if (intraRankStartId == 0)\n  {\n    printf(\"AllReduce Performance (sum of floats):\\n\");\n    printf(\"%10s %10s %10s\\n\", \"Bytes\", \"CpuTime(ms)\", \"GpuTime(ms)\");\n  }\n\n  // Loop over power-of-two input sizes\n  for (int power = minPow; power <= maxPow; power++)\n  {\n    int N = 1 << power;\n\n    // Allocate GPU memory\n    std::vector<float *>iputGpu(numIntraRank);\n    std::vector<float *>oputGpu(numIntraRank);\n    for (int r = 0; r < numIntraRank; r++)\n    {\n      HIP_CALL(hipSetDevice(intraRankStartId + r));\n      HIP_CALL(hipMalloc((void **)&iputGpu[r], N * sizeof(float)));\n      HIP_CALL(hipMalloc((void **)&oputGpu[r], N * sizeof(float)));\n    }\n\n    // Allocate CPU memory for input/output\n    float *iputCpu = (float *)malloc(N * sizeof(float));\n    float *oputCpu = (float *)malloc(N * sizeof(float));\n\n    // Fill CPU memory with a simple pattern\n    for (int i = 0; i < N; i++)\n    {\n      iputCpu[i] = 1.0f;\n      oputCpu[i] = 0.0f;\n    }\n\n    // Copy the input from CPU memory to GPU memory\n    for (int r = 0; r < numIntraRank; r++)\n    {\n      HIP_CALL(hipSetDevice(intraRankStartId + r));\n      HIP_CALL(hipMemcpy(iputGpu[r], iputCpu, N * sizeof(float), hipMemcpyHostToDevice));\n    }\n\n    // Perform some untimed initial warmup iterations\n    for (int iteration = 0; iteration < numWarmups; iteration++)\n    {\n      NCCL_CALL(ncclGroupStart());\n      for (int r = 0; r < numIntraRank; r++)\n      {\n        HIP_CALL(hipSetDevice(intraRankStartId + r));\n        NCCL_CALL(ncclAllReduce(iputGpu[r], oputGpu[r], N, ncclFloat, ncclSum, comm[r], stream[r]));\n      }\n      NCCL_CALL(ncclGroupEnd());\n    }\n    for (int r = 0; r < numIntraRank; r++)\n      HIP_CALL(hipStreamSynchronize(stream[r]));\n\n    // Perform timed iterations\n    auto cpuStart = std::chrono::high_resolution_clock::now();\n    for (int r = 0; r < numIntraRank; r++)\n      HIP_CALL(hipEventRecord(startEvent[r], stream[r]));\n\n    for (int iteration = 0; iteration < numIterations; iteration++)\n    {\n      NCCL_CALL(ncclGroupStart());\n      for (int r = 0; r < numIntraRank; r++)\n      {\n        HIP_CALL(hipSetDevice(intraRankStartId + r));\n        NCCL_CALL(ncclAllReduce(iputGpu[r], oputGpu[r], N, ncclFloat, ncclSum, comm[r], stream[r]));\n      }\n      NCCL_CALL(ncclGroupEnd());\n    }\n\n    for (int r = 0; r < numIntraRank; r++)\n      HIP_CALL(hipEventRecord(stopEvent[r], stream[r]));\n\n    for (int r = 0; r < numIntraRank; r++)\n      HIP_CALL(hipStreamSynchronize(stream[r]));\n\n    auto cpuDelta = std::chrono::high_resolution_clock::now() - cpuStart;\n    double totalCpuTime = std::chrono::duration_cast<std::chrono::duration<double, std::milli>>(cpuDelta).count();\n\n    float totalGpuTime;\n    HIP_CALL(hipEventElapsedTime(&totalGpuTime, startEvent[0], stopEvent[0]));\n\n    if (intraRankStartId == 0) printf(\"%10lu %10.3f %10.3f\\n\", N * sizeof(float), (totalCpuTime / numIterations), (totalGpuTime / numIterations));\n\n    // Validate results\n    for (int r = 0; r < numIntraRank; r++)\n    {\n      HIP_CALL(hipMemcpy(oputCpu, oputGpu[r], N * sizeof(float), hipMemcpyDeviceToHost));\n      bool isOK = true;\n      int expected = numTotalRanks;\n      for (int i = 0; i < N; i++)\n      {\n        isOK &= (oputCpu[i] == expected);\n      }\n      if (!isOK)\n      {\n        printf(\"[ERROR] Rank %d Incorrect results for N = %d\\n\", intraRankStartId + r, N);\n        NCCL_CALL(ncclCommDestroy(comm[r]));\n        exit(1);\n      }\n    }\n\n    // Release GPU resources\n    for (int r = 0; r < numIntraRank; r++)\n    {\n      HIP_CALL(hipFree(oputGpu[r]));\n      HIP_CALL(hipFree(iputGpu[r]));\n    }\n    free(iputCpu);\n    free(oputCpu);\n  }\n\n  for (int r = 0; r < numIntraRank; r++)\n  {\n    HIP_CALL(hipStreamDestroy(stream[r]));\n    HIP_CALL(hipEventDestroy(startEvent[r]));\n    HIP_CALL(hipEventDestroy(stopEvent[r]));\n    NCCL_CALL(ncclCommDestroy(comm[r]));\n  }\n}\n\nvoid Usage(char *argv0)\n{\n  printf(\"Single Process Usage: %s numRanks\\n\", argv0);\n  printf(\"\\n\");\n  printf(\"Multi Process Usage: %s numRanks rank\\n\", argv0);\n  printf(\" - NCCL_COMM_ID must be set in order to use this\\n\\n\");\n  printf(\" - To use this process as the root process you may use any of the following:\\n\");\n\n  char hostname[256];\n  gethostname(hostname, 256);\n  printf(\"    export NCCL_COMM_ID=%s:12345\\n\", hostname);\n\n  // Loop over linked list of interfaces\n  struct ifaddrs *ifaddr;\n  getifaddrs(&ifaddr);\n  for (struct ifaddrs* ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next)\n  {\n    // Skip anything not based on IPv4 / IPv6\n    int family = ifa->ifa_addr->sa_family;\n    if (family != AF_INET && family != AF_INET6) continue;\n\n    // Skip iPv6 loopback interface\n    if (family == AF_INET6)\n    {\n      struct sockaddr_in6* sa = (struct sockaddr_in6*)(ifa->ifa_addr);\n      if (IN6_IS_ADDR_LOOPBACK(&sa->sin6_addr)) continue;\n    }\n\n    socklen_t saLen = (family == AF_INET ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6));\n    char host[NI_MAXHOST];\n    char service[NI_MAXSERV];\n\n    getnameinfo(ifa->ifa_addr, saLen, host, NI_MAXHOST, service, NI_MAXSERV,\n                NI_NUMERICHOST|NI_NUMERICSERV);\n\n    std::string result = std::string(host) + \":12345\";\n    printf(\"    export NCCL_COMM_ID=%s\\n\", result.c_str());\n  }\n  freeifaddrs(ifaddr);\n}\n"
  },
  {
    "path": "tools/HelloRccl/HelloRccl.hpp",
    "content": "/*\nCopyright (c) 2020 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#ifndef HELLORCCL_HPP\n#define HELLORCCL_HPP\n#include <iostream>\n\n#define HIP_CALL(cmd)                                                 \\\n  do {                                                                \\\n    hipError_t error = (cmd);                                         \\\n    if (error != hipSuccess)                                          \\\n    {                                                                   \\\n      std::cerr << \"Encountered HIP error (\" << hipGetErrorString(error) << \") at line \" \\\n                << __LINE__ << \" in file \" << __FILE__ << \"\\n\";         \\\n      exit(-1);                                                         \\\n    }                                                                   \\\n  } while (0)\n\n#define NCCL_CALL(cmd) \\\n  do { \\\n    ncclResult_t error = (cmd);                 \\\n    if (error != ncclSuccess)                   \\\n    {                                           \\\n      std::cerr << \"Encountered NCCL error (\" << ncclGetErrorString(error) << \") at line \" \\\n                << __LINE__ << \" in file \" << __FILE__ << \"\\n\";         \\\n      exit(-1);                                                         \\\n    }                                                                   \\\n  } while (0)\n\n#endif\n"
  },
  {
    "path": "tools/HelloRccl/Makefile",
    "content": "# Copyright (c) 2020 Advanced Micro Devices, Inc. All rights reserved.\n\n# Set to where RCCL is installed\nRCCL_INSTALL=../../build/release\n\nHIP_PATH?= $(wildcard /opt/rocm)\nifeq (,$(HIP_PATH))\nHIP_PATH=../../..\nendif\nHIPCC=$(HIP_PATH)/bin/hipcc\n\nEXE=HelloRccl\nCXXFLAGS = -std=c++11 -O3 -I../../src/include -I$(RCCL_INSTALL) -L$(RCCL_INSTALL) -lrccl\n\nall: $(EXE)\n\n$(EXE): $(EXE).cpp $(shell find -regex \".*\\.\\hpp\")\n\t$(HIPCC) $(CXXFLAGS) $< -o $@\n\nclean:\n\trm -f *.o $(EXE)\n"
  },
  {
    "path": "tools/HelloRccl/runTest.sh",
    "content": "#!/bin/bash\nRCCL_INSTALL=../../build/release\nEXE=$PWD/HelloRccl\nLDPATH=$LD_LIBRARY_PATH:$RCCL_INSTALL\n\necho \"Single process:\"\nNCCL_DEBUG=INFO LD_LIBRARY_PATH=$LDPATH $EXE 4\n\necho \"Multi-process:\"\nNCCL_COMM_ID=$HOSTNAME:12345 LD_LIBRARY_PATH=$LDPATH $EXE 4 0 &\nNCCL_COMM_ID=$HOSTNAME:12345 LD_LIBRARY_PATH=$LDPATH $EXE 4 1 &\nNCCL_COMM_ID=$HOSTNAME:12345 LD_LIBRARY_PATH=$LDPATH $EXE 4 2 &\nNCCL_COMM_ID=$HOSTNAME:12345 LD_LIBRARY_PATH=$LDPATH $EXE 4 3\n"
  },
  {
    "path": "tools/JitterBench/Common.hpp",
    "content": "/*\nCopyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#include <iostream>\n\n#define HIP_CALL(cmd)                                                                   \\\n    do {                                                                                \\\n        hipError_t error = (cmd);                                                       \\\n        if (error != hipSuccess)                                                        \\\n        {                                                                               \\\n            std::cout << \"Encountered HIP error (\" << hipGetErrorString(error)          \\\n                      << \") at line \" << __LINE__ << \" in file \" << __FILE__ << \"\\n\";   \\\n            exit(-1);                                                                   \\\n        }                                                                               \\\n    } while (0)\n\n// Macro for collecting HW_REG_XCC_ID\n#if defined(__gfx942__) || defined(__gfx950__)\n#define GetXccId(val) \\\n  asm volatile (\"s_getreg_b32 %0, hwreg(HW_REG_XCC_ID)\" : \"=s\" (val));\n#else\n#define GetXccId(val) \\\n  val = 0\n#endif\n\n// Macro for collecting HW_REG_HW_ID\n#if defined(__gfx1100__) || defined(__gfx1101__) || defined(__gfx1102__) || defined(__NVCC__)\n#define GetHwId(val) \\\n  val = 0\n#else\n#define GetHwId(val) \\\n  asm volatile (\"s_getreg_b32 %0, hwreg(HW_REG_HW_ID)\" : \"=s\" (val));\n#endif\n"
  },
  {
    "path": "tools/JitterBench/Compatibility.hpp",
    "content": "/*\nCopyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#pragma once\n\n#if defined(__NVCC__)\n\n#include <cuda_runtime.h>\n\n// ROCm specific\n#define wall_clock64                                       clock64\n#define gcnArchName                                        name\n\n// Datatypes\n#define hipDeviceProp_t                                    cudaDeviceProp\n#define hipError_t                                         cudaError_t\n#define hipEvent_t                                         cudaEvent_t\n#define hipStream_t                                        cudaStream_t\n\n// Enumerations\n#define hipDeviceAttributeClockRate                        cudaDevAttrClockRate\n#define hipDeviceAttributeMaxSharedMemoryPerMultiprocessor cudaDevAttrMaxSharedMemoryPerMultiprocessor\n#define hipDeviceAttributeMultiprocessorCount              cudaDevAttrMultiProcessorCount\n#define hipErrorPeerAccessAlreadyEnabled                   cudaErrorPeerAccessAlreadyEnabled\n#define hipFuncCachePreferShared                           cudaFuncCachePreferShared\n#define hipMemcpyDefault                                   cudaMemcpyDefault\n#define hipMemcpyDeviceToHost                              cudaMemcpyDeviceToHost\n#define hipMemcpyHostToDevice                              cudaMemcpyHostToDevice\n#define hipSuccess                                         cudaSuccess\n\n// Functions\n#define hipDeviceCanAccessPeer                             cudaDeviceCanAccessPeer\n#define hipDeviceEnablePeerAccess                          cudaDeviceEnablePeerAccess\n#define hipDeviceGetAttribute                              cudaDeviceGetAttribute\n#define hipDeviceGetPCIBusId                               cudaDeviceGetPCIBusId\n#define hipDeviceSetCacheConfig                            cudaDeviceSetCacheConfig\n#define hipDeviceSynchronize                               cudaDeviceSynchronize\n#define hipEventCreate                                     cudaEventCreate\n#define hipEventDestroy                                    cudaEventDestroy\n#define hipEventElapsedTime                                cudaEventElapsedTime\n#define hipEventRecord                                     cudaEventRecord\n#define hipFree                                            cudaFree\n#define hipGetDeviceCount                                  cudaGetDeviceCount\n#define hipGetDeviceProperties                             cudaGetDeviceProperties\n#define hipGetErrorString                                  cudaGetErrorString\n#define hipHostFree                                        cudaFreeHost\n#define hipHostMalloc                                      cudaMallocHost\n#define hipMalloc                                          cudaMalloc\n#define hipMemcpy                                          cudaMemcpy\n#define hipMemcpyAsync                                     cudaMemcpyAsync\n#define hipMemset                                          cudaMemset\n#define hipMemsetAsync                                     cudaMemsetAsync\n#define hipSetDevice                                       cudaSetDevice\n#define hipStreamCreate                                    cudaStreamCreate\n#define hipStreamDestroy                                   cudaStreamDestroy\n#define hipStreamSynchronize                               cudaStreamSynchronize\n\n#else\n\n#include <hip/hip_ext.h>\n#include <hip/hip_runtime.h>\n#include <hsa/hsa_ext_amd.h>\n\n#endif\n"
  },
  {
    "path": "tools/JitterBench/GetClosestNumaNode.hpp",
    "content": "/*\nCopyright (c) 2021 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#include <hsa/hsa_ext_amd.h>\n\n// Helper macro for checking HSA calls\n#define HSA_CHECK(cmd)                                                  \\\n  do {                                                                  \\\n    hsa_status_t error = (cmd);                                         \\\n    if (error != HSA_STATUS_SUCCESS) {                                  \\\n      const char* errString = NULL;                                     \\\n      hsa_status_string(error, &errString);                             \\\n      std::cerr << \"Encountered HSA error (\" << errString << \") at line \" \\\n                << __LINE__ << \" in file \" << __FILE__ << \"\\n\";         \\\n      exit(-1);                                                         \\\n    }                                                                   \\\n  } while (0)\n\n// Structure to hold HSA agent information\n#if !defined(__NVCC__)\nstruct AgentData\n{\n  bool isInitialized;\n  std::vector<hsa_agent_t> cpuAgents;\n  std::vector<hsa_agent_t> gpuAgents;\n  std::vector<int> closestNumaNode;\n};\n\n// Simple callback function to return any memory pool for an agent\nhsa_status_t MemPoolInfoCallback(hsa_amd_memory_pool_t pool, void *data)\n{\n  hsa_amd_memory_pool_t* poolData = reinterpret_cast<hsa_amd_memory_pool_t*>(data);\n\n  // Check memory pool flags\n  uint32_t poolFlags;\n  HSA_CHECK(hsa_amd_memory_pool_get_info(pool, HSA_AMD_MEMORY_POOL_INFO_GLOBAL_FLAGS, &poolFlags));\n\n  // Only consider coarse-grained pools\n  if (!(poolFlags & HSA_AMD_MEMORY_POOL_GLOBAL_FLAG_COARSE_GRAINED)) return HSA_STATUS_SUCCESS;\n\n  *poolData = pool;\n  return HSA_STATUS_SUCCESS;\n}\n\n// Callback function to gather HSA agent information\nhsa_status_t AgentInfoCallback(hsa_agent_t agent, void* data)\n{\n  AgentData* agentData = reinterpret_cast<AgentData*>(data);\n\n  // Get the device type\n  hsa_device_type_t deviceType;\n  HSA_CHECK(hsa_agent_get_info(agent, HSA_AGENT_INFO_DEVICE, &deviceType));\n  if (deviceType == HSA_DEVICE_TYPE_CPU)\n    agentData->cpuAgents.push_back(agent);\n  if (deviceType == HSA_DEVICE_TYPE_GPU)\n  {\n    agentData->gpuAgents.push_back(agent);\n    agentData->closestNumaNode.push_back(0);\n  }\n\n  return HSA_STATUS_SUCCESS;\n}\n\nAgentData& GetAgentData()\n{\n  static AgentData agentData = {};\n\n  if (!agentData.isInitialized)\n  {\n    agentData.isInitialized = true;\n\n    // Add all detected agents to the list\n    HSA_CHECK(hsa_iterate_agents(AgentInfoCallback, &agentData));\n\n    // Loop over each GPU\n    for (uint32_t i = 0; i < agentData.gpuAgents.size(); i++)\n    {\n      // Collect memory pool\n      hsa_amd_memory_pool_t pool;\n      HSA_CHECK(hsa_amd_agent_iterate_memory_pools(agentData.gpuAgents[i], MemPoolInfoCallback, &pool));\n\n      // Loop over each CPU agent and check distance\n      int bestDistance = -1;\n      for (uint32_t j = 0; j < agentData.cpuAgents.size(); j++)\n      {\n        // Determine number of hops from GPU memory pool to CPU agent\n        uint32_t hops = 0;\n        HSA_CHECK(hsa_amd_agent_memory_pool_get_info(agentData.cpuAgents[j],\n                                                     pool,\n                                                     HSA_AMD_AGENT_MEMORY_POOL_INFO_NUM_LINK_HOPS,\n                                                     &hops));\n        // Gather link info\n        hsa_amd_memory_pool_link_info_t* link_info =\n          (hsa_amd_memory_pool_link_info_t *)malloc(hops * sizeof(hsa_amd_memory_pool_link_info_t));\n        HSA_CHECK(hsa_amd_agent_memory_pool_get_info(agentData.cpuAgents[j],\n                                                     pool,\n                                                     HSA_AMD_AGENT_MEMORY_POOL_INFO_LINK_INFO,\n                                                     link_info));\n        int numaDist = 0;\n        for (int k = 0; k < hops; k++)\n        {\n          numaDist += link_info[k].numa_distance;\n        }\n        if (bestDistance == -1 || numaDist < bestDistance)\n        {\n          agentData.closestNumaNode[i] = j;\n          bestDistance = numaDist;\n        }\n        free(link_info);\n      }\n    }\n  }\n  return agentData;\n}\n#endif\n\n// Returns closest CPU NUMA node to provided GPU\n// NOTE: This assumes HSA GPU indexing is similar to HIP GPU indexing\nint GetClosestNumaNode(int gpuIdx)\n{\n#if defined(__NVCC__)\n  return -1;\n#else\n  AgentData& agentData = GetAgentData();\n  if (gpuIdx < 0 || gpuIdx >= agentData.closestNumaNode.size())\n  {\n    printf(\"[ERROR] GPU index out is out of bounds\\n\");\n    exit(1);\n  }\n  return agentData.closestNumaNode[gpuIdx];\n#endif\n}\n"
  },
  {
    "path": "tools/JitterBench/JitterBench.cpp",
    "content": "/*\nCopyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#include <chrono>\n#include <cstdio>\n#include <iostream>\n#include <thread>\n#include <vector>\n#include <numa.h>\n#include <omp.h>\n#include <unistd.h>\n\n#include \"Common.hpp\"\n#include \"Compatibility.hpp\"\n#include \"GetClosestNumaNode.hpp\"\n#include \"Timeline.hpp\"\n\n#ifdef MPI_SUPPORT\n#include <mpi.h>\n#endif\n\nstruct SyncData\n{\n  uint64_t cpuStart;\n  uint64_t cpuStop;\n  int32_t  xccId;\n  uint64_t gpuStart;\n  uint64_t gpuStop;\n};\n\nenum\n{\n  HOST_START      = 0,\n  HOST_RETURN     = 1,\n  DEV_START       = 2,\n  HOST_ABORT      = 3,\n  DEV_STOP        = 4,\n  HOST_STOP       = 5,\n  KERNEL_CPUTIME  = 6,\n  KERNEL_GPUTIME  = 7,\n  KERNEL_TIMEDIFF = 8,\n  NUM_COLUMNS     = 9\n} Columns;\n\nbool printCol[NUM_COLUMNS] =\n{\n  false,\n  false,\n  true,\n  false,\n  true,\n  false,\n  true,\n  true,\n  true\n};\n\n#define LOAD(VAR)       __atomic_load_n((VAR),         __ATOMIC_ACQUIRE)\n#define STORE(DST, SRC) __atomic_store_n((DST), (SRC), __ATOMIC_RELEASE)\n\n__global__ void SyncKernel(uint64_t* cpuTime, uint32_t* abortFlag, SyncData* syncData)\n{\n  SyncData sd;\n  // Only first thread in threadblock participates\n  if (threadIdx.x != 0) return;\n\n  // Collect timestamp upon kernel entry\n  sd.cpuStart = LOAD(cpuTime);\n  sd.gpuStart = wall_clock64();\n\n  // Wait for abort flag to be modified\n  while (!LOAD(abortFlag));\n\n  // Collect timestamps after abort flag\n  sd.cpuStop = LOAD(cpuTime);\n  sd.gpuStop = wall_clock64();\n\n  // Save timestamps\n  GetXccId(sd.xccId);\n  syncData[blockIdx.x] = sd;\n}\n\nvoid SetNumaNode(int numaId)\n{\n  // Move CPU thread to targeted NUMA node\n  if (numa_run_on_node(numaId))\n  {\n    printf(\"[ERROR] Unable to migrate to NUMA node %d\\n\", numaId);\n    exit(1);\n  }\n\n  // Set memory to allocate on targeted NUMA node\n  numa_set_preferred(numaId);\n}\n\nvoid UpdateCpuTime(int const useNuma, int const numaId, uint64_t* cpuTimestamp, bool* abortThread)\n{\n  if (useNuma) SetNumaNode(numaId);\n  while (!LOAD(abortThread))\n  {\n    // Unroll to increase update vs abort check ratio\n    #pragma unroll\n    for (int i = 0; i < 64; i++)\n      STORE(cpuTimestamp, std::chrono::steady_clock::now().time_since_epoch().count());\n  }\n}\n\nvoid HostMalloc(void** pinnedHostPtr, size_t size)\n{\n#if !defined(__NVCC__)\n  HIP_CALL(hipHostMalloc(pinnedHostPtr, size, hipHostMallocNumaUser));\n#else\n  HIP_CALL(hipHostMalloc(pinnedHostPtr, size));\n#endif\n  memset(*pinnedHostPtr, 0, size);\n}\n\nint main(int argc, char **argv)\n{\n  // Initialize MPI (if supported) and check for NUMA support\n#ifdef MPI_SUPPORT\n  MPI_Init(&argc, &argv);\n#endif\n  if (numa_available() == -1)\n  {\n    printf(\"[ERROR] NUMA library not supported. Check to see if libnuma has been installed on this system\\n\");\n    exit(1);\n  }\n\n  int numAvailableGpus;\n  HIP_CALL(hipGetDeviceCount(&numAvailableGpus));\n\n  // Figure out how many GPUs total / which GPU this process is responsible for\n  int numUsedGpus, numTotalGpus, rank;\n#ifdef MPI_SUPPORT\n  numUsedGpus = 1;\n  MPI_Comm_rank(MPI_COMM_WORLD, &rank);\n  MPI_Comm_size(MPI_COMM_WORLD, &numTotalGpus);\n  if (numTotalGpus > numAvailableGpus)\n  {\n    if (rank == 0) printf(\"[ERROR] Machine only has %d devices but %d ranks requested\\n\", numAvailableGpus, numTotalGpus);\n    MPI_Abort(MPI_COMM_WORLD, -1);\n  }\n  if (rank == 0)\n  {\n    printf(\"Running MPI version with %d ranks\\n\", numTotalGpus);\n  }\n#else\n  numUsedGpus = numTotalGpus = numAvailableGpus;\n  printf(\"Running OMP version with %d ranks\\n\", numTotalGpus);\n  rank = 0;\n#endif\n\n  // Collect arguments from commandline or environment variable\n  #define GETARG(IDX, STR, DEFAULT) \\\n    (argc > IDX ? atoi(argv[IDX]) : (getenv(STR) ? atoi(getenv(STR)) : DEFAULT))\n\n  int  numBlocks        = GETARG(1, \"NUM_BLOCKS\",        4);\n  int  blockSize        = GETARG(2, \"BLOCKSIZE\",        64);\n  int  numUpdateThreads = GETARG(3, \"NUM_UPDATERS\",      0);\n  int  useNuma          = GETARG(4, \"USE_NUMA\",          1);\n  int  numIterations    = GETARG(5, \"NUM_ITERATIONS\",   10);\n  int  numWarmups       = GETARG(6, \"NUM_WARMUPS\",    1000);\n  int  numSleepUsec     = GETARG(7, \"SLEEP_USEC\",      100);\n  int  totalIterations  = numWarmups + numIterations;\n\n  int  verbose          = (getenv(\"VERBOSE\"    ) ? atoi(getenv(\"VERBOSE\"))     : 1);\n  int  launchMode       = (getenv(\"LAUNCH_MODE\") ? atoi(getenv(\"LAUNCH_MODE\")) : 1);\n\n  if (numUpdateThreads == 0) numUpdateThreads = numUsedGpus;\n\n  // Print off configuration and machine information\n  if (rank == 0)\n  {\n    printf(\"NUM_BLOCKS     = %8d\\n\", numBlocks);\n    printf(\"BLOCKSIZE      = %8d\\n\", blockSize);\n    printf(\"NUM_UPDATERS   = %8d\\n\", numUpdateThreads);\n    printf(\"USE_NUMA       = %8d\\n\", useNuma);\n    printf(\"NUM_ITERATIONS = %8d\\n\", numIterations);\n    printf(\"NUM_WARMUPS    = %8d\\n\", numWarmups);\n    printf(\"SLEEP_USEC     = %8d\\n\", numSleepUsec);\n  }\n\n  char archName[100];\n  std::vector<double> uSecPerCycle(numUsedGpus);\n  for (int i = 0; i < numUsedGpus; i++)\n  {\n    hipDeviceProp_t prop;\n    HIP_CALL(hipGetDeviceProperties(&prop, i + rank));\n    sscanf(prop.gcnArchName, \"%[^:]\", archName);\n    int wallClockMhz;\n    HIP_CALL(hipDeviceGetAttribute(&wallClockMhz, hipDeviceAttributeWallClockRate, i));\n    uSecPerCycle[i] = 1000.0 / wallClockMhz;\n    if (verbose) printf(\"GPU %02d: %s: Closest NUMA: %d usecPerWallClockCycle %g\\n\", i + rank, archName, GetClosestNumaNode(i + rank), uSecPerCycle[i]);\n  }\n\n  typedef typename std::ratio_multiply<std::chrono::steady_clock::period,std::mega>::type MicroSec;\n  //printf(\"std::chrono::steady_clock precision: %8.3f usec\\n\", static_cast<double>(MicroSec::num)/MicroSec::den);\n\n  // Allocate per-update-thread resources and start update threads\n  bool abortUpdateThreads = false;\n  std::vector<uint64_t*> cpuTimestamps(numUpdateThreads);\n  std::vector<std::thread> updateThreads;\n  for (int i = 0; i < numUpdateThreads; i++)\n  {\n    int numaId = GetClosestNumaNode(i + rank);\n    HIP_CALL(hipSetDevice(i + rank));\n    if (useNuma) SetNumaNode(numaId);\n\n    HostMalloc((void**)&cpuTimestamps[i], 256);  // Allocate larger buffer to avoid multiple timestamps on same cacheline\n\n    // Launch update thread\n    updateThreads.push_back(std::thread(UpdateCpuTime, useNuma, numaId, cpuTimestamps[i], &abortUpdateThreads));\n  }\n\n  // Allocate per-GPU resources\n  std::vector<SyncData*>   syncDataGpu(numUsedGpus);\n  std::vector<uint32_t*>   abortFlags(numUsedGpus);\n  std::vector<hipStream_t> streams(numUsedGpus);\n  for (int i = 0; i < numUsedGpus; i++)\n  {\n    HIP_CALL(hipSetDevice(i + rank));\n    if (useNuma) SetNumaNode(GetClosestNumaNode(i + rank));\n\n    HIP_CALL(hipMalloc((void**)&syncDataGpu[i], totalIterations * numBlocks * sizeof(SyncData)));\n    HostMalloc((void**)&abortFlags[i], 256); // Allocate larger buffer to avoid multiple abort flags on same cacheline\n\n    HIP_CALL(hipStreamCreate(&streams[i]));\n  }\n\n  // Allocate per-iteration resources\n  std::vector<std::vector<uint64_t>>  hostStartTimes(numTotalGpus, std::vector<uint64_t>(totalIterations));\n  std::vector<std::vector<uint64_t>> hostReturnTimes(numTotalGpus, std::vector<uint64_t>(totalIterations));\n  std::vector<std::vector<uint64_t>>  hostAbortTimes(numTotalGpus, std::vector<uint64_t>(totalIterations));\n  std::vector<std::vector<uint64_t>>   hostStopTimes(numTotalGpus, std::vector<uint64_t>(totalIterations));\n\n#ifndef MPI_SUPPORT\n  #pragma omp parallel num_threads(numTotalGpus)\n#endif\n  {\n#ifdef MPI_SUPPORT\n    int deviceId = rank;\n    int localIdx = 0;\n#else\n    int deviceId = omp_get_thread_num();\n    int localIdx = deviceId;\n#endif\n    HIP_CALL(hipSetDevice(deviceId));\n    if (useNuma) SetNumaNode(GetClosestNumaNode(deviceId));\n\n    uint64_t* cpuTimestamp = cpuTimestamps[localIdx % numUpdateThreads];\n    uint32_t* abortFlag    = abortFlags[localIdx];\n\n    for (int iteration = 0; iteration < totalIterations; iteration++)\n    {\n      // Prepare for this iteration\n      // Clear abort flag\n      STORE(abortFlag, 0);\n      SyncData* syncData = syncDataGpu[localIdx] + (iteration * numBlocks);\n\n      // Wait for all threads to arrive before launching all kernels\n#ifdef MPI_SUPPORT\n      MPI_Barrier(MPI_COMM_WORLD);\n#else\n      #pragma omp barrier\n#endif\n\n      // Launch kernel\n      uint64_t cpuStart = std::chrono::steady_clock::now().time_since_epoch().count();\n      if (launchMode == 0)\n      {\n        SyncKernel<<<numBlocks, blockSize, 0, streams[localIdx]>>>(cpuTimestamp, abortFlag, syncData);\n      }\n      else\n      {\n        hipLaunchKernelGGL(SyncKernel, numBlocks, blockSize, 0, streams[localIdx], cpuTimestamp, abortFlag, syncData);\n      }\n      uint64_t cpuReturn = std::chrono::steady_clock::now().time_since_epoch().count();\n\n      // Busy wait performs more accurately than usleep / sleep_for\n      while (std::chrono::steady_clock::now().time_since_epoch().count() - cpuStart < numSleepUsec * 1000);\n      STORE(abortFlag, 1);\n      uint64_t cpuAbort = std::chrono::steady_clock::now().time_since_epoch().count();\n\n      // Wait for kernel to finish\n      HIP_CALL(hipStreamSynchronize(streams[localIdx]));\n      uint64_t cpuStop = std::chrono::steady_clock::now().time_since_epoch().count();\n\n      // Store values (after all timings to avoid false sharing)\n      hostStartTimes [deviceId][iteration] = cpuStart;\n      hostReturnTimes[deviceId][iteration] = cpuReturn;\n      hostAbortTimes [deviceId][iteration] = cpuAbort;\n      hostStopTimes  [deviceId][iteration] = cpuStop;\n\n#ifdef MPI_SUPPORT\n      MPI_Barrier(MPI_COMM_WORLD);\n#else\n      #pragma omp barrier\n#endif\n    }\n  }\n\n  // Stop all the update threads\n  STORE(&abortUpdateThreads, true);\n  for (auto& t : updateThreads)\n    t.join();\n\n  std::vector<std::vector<SyncData>> syncDataCpu(numTotalGpus, std::vector<SyncData>(totalIterations * numBlocks));\n  for (int i = 0; i < numUsedGpus; i++)\n  {\n    HIP_CALL(hipMemcpy(syncDataCpu[i+rank].data(), syncDataGpu[i], totalIterations * numBlocks * sizeof(SyncData), hipMemcpyDeviceToHost));\n  }\n\n  std::vector<std::vector<double>> singleMinDiff(numTotalGpus, std::vector<double>(NUM_COLUMNS, std::numeric_limits<double>::max()));\n  std::vector<std::vector<double>> singleSumDiff(numTotalGpus, std::vector<double>(NUM_COLUMNS, 0));\n  std::vector<std::vector<double>> singleMaxDiff(numTotalGpus, std::vector<double>(NUM_COLUMNS, std::numeric_limits<double>::min()));\n  std::vector<double> multiMinDiff(NUM_COLUMNS, std::numeric_limits<double>::max());\n  std::vector<double> multiSumDiff(NUM_COLUMNS, 0);\n  std::vector<double> multiMaxDiff(NUM_COLUMNS, std::numeric_limits<double>::min());\n  std::vector<TimelineData> timelineData;\n  char buff[1000];\n\n#ifdef MPI_SUPPORT\n  // Collect results from every rank\n  if (rank == 0)\n  {\n    for (int deviceId = 1; deviceId < numTotalGpus; deviceId++)\n    {\n      MPI_Recv( hostStartTimes[deviceId].data(), totalIterations * sizeof(uint64_t), MPI_BYTE, deviceId, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);\n      MPI_Recv(hostReturnTimes[deviceId].data(), totalIterations * sizeof(uint64_t), MPI_BYTE, deviceId, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);\n      MPI_Recv( hostAbortTimes[deviceId].data(), totalIterations * sizeof(uint64_t), MPI_BYTE, deviceId, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);\n      MPI_Recv(  hostStopTimes[deviceId].data(), totalIterations * sizeof(uint64_t), MPI_BYTE, deviceId, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);\n      MPI_Recv(syncDataCpu[deviceId].data(), totalIterations * numBlocks * sizeof(SyncData), MPI_BYTE, deviceId, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);\n    }\n  }\n  else\n  {\n    MPI_Send( hostStartTimes[rank].data(), totalIterations * sizeof(uint64_t), MPI_BYTE, 0, 0, MPI_COMM_WORLD);\n    MPI_Send(hostReturnTimes[rank].data(), totalIterations * sizeof(uint64_t), MPI_BYTE, 0, 0, MPI_COMM_WORLD);\n    MPI_Send( hostAbortTimes[rank].data(), totalIterations * sizeof(uint64_t), MPI_BYTE, 0, 0, MPI_COMM_WORLD);\n    MPI_Send(  hostStopTimes[rank].data(), totalIterations * sizeof(uint64_t), MPI_BYTE, 0, 0, MPI_COMM_WORLD);\n    MPI_Send(syncDataCpu[rank].data(), totalIterations * numBlocks * sizeof(SyncData), MPI_BYTE, 0, 0, MPI_COMM_WORLD);\n    goto end;\n  }\n#endif\n\n  for (int iteration = 1; iteration <= numIterations; iteration++)\n  {\n    // Ignore warmup iterations\n    int iter = iteration + numWarmups - 1;\n\n    // Figure out which timestamp is \"earliest\" to use as origin for this iteration\n    uint64_t origin = hostStartTimes[0][iter];\n    for (int gpu = 1; gpu < numTotalGpus; gpu++)\n      origin = std::min(origin, hostStartTimes[gpu][iter]);\n\n    if (verbose)\n    {\n      printf(\"Iteration %d: (All times in usec)\\n\", iteration);\n      printf(\"------------------------------------------------------------------------------------------------------------------------------------------\\n\");\n      printf(\"| GPU | BLOCK | XCC | START(CPU) | RETURN(CPU)| START(GPU) | ABORT(CPU) | STOP (GPU) | STOP (CPU) | Kernel(CPU)| Kernel(GPU)|   AbsDiff  |\\n\");\n    }\n\n    std::vector<double>  multiMinTime(NUM_COLUMNS, std::numeric_limits<double>::max());\n    std::vector<double>  multiMaxTime(NUM_COLUMNS, std::numeric_limits<double>::min());\n\n    for (int gpu = 0; gpu < numTotalGpus; gpu++)\n    {\n      std::vector<double> times(NUM_COLUMNS);\n      times[HOST_START]  = ( hostStartTimes[gpu][iter] - origin) / 1000.0;\n      times[HOST_RETURN] = (hostReturnTimes[gpu][iter] - origin) / 1000.0;\n      times[HOST_ABORT]  = ( hostAbortTimes[gpu][iter] - origin) / 1000.0;\n      times[HOST_STOP]   = (  hostStopTimes[gpu][iter] - origin) / 1000.0;\n\n      TimelineData td;\n      sprintf(buff, \"Iteration %d GPU %02d (CPU)\", iteration, gpu); td.rowLabel = buff;\n      td.barLabel  = \"Launch (\";\n      sprintf(buff, \"%.3f to %.3f\", times[HOST_START], times[HOST_RETURN]); td.toolTip = buff;\n      td.startTime = times[HOST_START];\n      td.stopTime  = times[HOST_RETURN];\n      timelineData.push_back(td);\n\n      td.barLabel  = \"Pause\";\n      sprintf(buff, \"%.3f to %.3f\", times[HOST_RETURN], times[HOST_ABORT]); td.toolTip = buff;\n      td.startTime = times[HOST_RETURN];\n      td.stopTime  = times[HOST_ABORT];\n      timelineData.push_back(td);\n\n      td.barLabel  = \"Sync\";\n      sprintf(buff, \"%.3f to %.3f\", times[HOST_ABORT], times[HOST_STOP]); td.toolTip = buff;\n      td.startTime = times[HOST_ABORT];\n      td.stopTime  = times[HOST_STOP];\n      timelineData.push_back(td);\n\n      std::vector<double> singleMinTime(NUM_COLUMNS, std::numeric_limits<double>::max());\n      std::vector<double> singleMaxTime(NUM_COLUMNS, std::numeric_limits<double>::min());\n      for (int block = 0; block < numBlocks; block++)\n      {\n        int blockIdx = iter * numBlocks + block;\n        int xccId    = syncDataCpu[gpu][blockIdx].xccId;\n\n        times[DEV_START]       = (syncDataCpu[gpu][blockIdx].cpuStart - origin) / 1000.0;\n        times[DEV_STOP]        = (syncDataCpu[gpu][blockIdx].cpuStop  - origin) / 1000.0;\n        times[KERNEL_CPUTIME]  = times[DEV_STOP] - times[DEV_START];\n        times[KERNEL_GPUTIME]  = (syncDataCpu[gpu][blockIdx].gpuStop - syncDataCpu[gpu][blockIdx].gpuStart) * uSecPerCycle[gpu];\n        times[KERNEL_TIMEDIFF] = fabs(times[KERNEL_CPUTIME] - times[KERNEL_GPUTIME]);\n\n        for (int col = 0; col < NUM_COLUMNS; col++)\n        {\n          singleMinTime[col] = std::min(singleMinTime[col], times[col]);\n          singleMaxTime[col] = std::max(singleMaxTime[col], times[col]);\n           multiMinTime[col] = std::min( multiMinTime[col], times[col]);\n           multiMaxTime[col] = std::max( multiMaxTime[col], times[col]);\n        }\n\n        if (verbose)\n        {\n          printf(\"| %3d |  %3d  | %3d |\", gpu, block, xccId);\n          for (auto x : times) printf(\" %10.3f |\", x);\n          printf(\"\\n\");\n        }\n\n        sprintf(buff, \"Iteration %d GPU %02d (GPU)\", iteration, gpu); td.rowLabel = buff;\n        sprintf(buff, \"Block %02d\", block); td.barLabel = buff;\n        sprintf(buff, \"%.3f to %.3f\", times[DEV_START], times[DEV_STOP]); td.toolTip = buff;\n        td.startTime = times[DEV_START];\n        td.stopTime  = times[DEV_STOP];\n        timelineData.push_back(td);\n      }\n\n      for (int col = 0; col < NUM_COLUMNS; col++)\n      {\n        double const diff = singleMaxTime[col] - singleMinTime[col];\n        singleMinDiff[gpu][col] = std::min(singleMinDiff[gpu][col], diff);\n        singleSumDiff[gpu][col] += diff;\n        singleMaxDiff[gpu][col] = std::max(singleMaxDiff[gpu][col], diff);\n      }\n\n      if (verbose)\n      {\n        printf(\"| %3d | MAX ABS DIFF|\", gpu);\n        for (int col = 0; col < NUM_COLUMNS; col++)\n          printCol[col] ? printf(\" %10.3f |\", singleMaxTime[col] - singleMinTime[col]) : printf(\"            |\");\n        printf(\"\\n\");\n      }\n    }\n    for (int col = 0; col < NUM_COLUMNS; col++)\n    {\n      double const diff = multiMaxTime[col] - multiMinTime[col];\n      multiMinDiff[col] = std::min(multiMinDiff[col], diff);\n      multiSumDiff[col] += diff;\n      multiMaxDiff[col] = std::max(multiMaxDiff[col], diff);\n    }\n\n    if (verbose)\n    {\n      printf(\"------------------------------------------------------------------------------------------------------------------------------------------\\n\");\n      printf(\"| ALL |         MIN |\"); for (auto x : multiMinTime) printf(\" %10.3f |\", x); printf(\"\\n\");\n      printf(\"| ALL |         MAX |\"); for (auto x : multiMaxTime) printf(\" %10.3f |\", x); printf(\"\\n\");\n      printf(\"| ALL |        DIFF |\"); for (int col = 0; col < NUM_COLUMNS; col++) printf(\" %10.3f |\", multiMaxTime[col] - multiMinTime[col]); printf(\"\\n\");\n    }\n  }\n\n  printf(\"==========================================================================================================================================\\n\");\n  printf(\"| SUMMARY (All iter)| START(CPU) | RETURN(CPU)| START(GPU) | ABORT(CPU) | STOP (GPU) | STOP (CPU) | Kernel(CPU)| Kernel(GPU)|   AbsDiff  |\\n\");\n  printf(\"==========================================================================================================================================\\n\");\n  for (int gpu = 0; gpu < numTotalGpus; gpu++)\n  {\n    printf(\"|   GPU %02d DIFF MIN |\", gpu);\n    for (int col = 0; col < NUM_COLUMNS; col++)\n      printCol[col] ? printf(\" %10.3f |\", singleMinDiff[gpu][col]) : printf(\"            |\");\n    printf(\"\\n\");\n  }\n  for (int gpu = 0; gpu < numTotalGpus; gpu++)\n  {\n    printf(\"|   GPU %02d DIFF AVG |\", gpu);\n    for (int col = 0; col < NUM_COLUMNS; col++)\n      printCol[col] ? printf(\" %10.3f |\", singleSumDiff[gpu][col] / numIterations) : printf(\"            |\");\n    printf(\"\\n\");\n  }\n  for (int gpu = 0; gpu < numTotalGpus; gpu++)\n  {\n    printf(\"|   GPU %02d DIFF MAX |\", gpu);\n    for (int col = 0; col < NUM_COLUMNS; col++)\n      printCol[col] ? printf(\" %10.3f |\", singleMaxDiff[gpu][col]) : printf(\"            |\");\n    printf(\"\\n\");\n  }\n  printf(\"==========================================================================================================================================\\n\");\n  printf(\"| ALL GPUs DIFF MIN |\"); for (auto x : multiMinDiff) printf(\" %10.3f |\", x); printf(\"\\n\");\n  printf(\"| ALL GPUs DIFF AVG |\"); for (auto x : multiSumDiff) printf(\" %10.3f |\", x / numIterations); printf(\"\\n\");\n  printf(\"| ALL GPUs DIFF MAX |\"); for (auto x : multiMaxDiff) printf(\" %10.3f |\", x); printf(\"\\n\");\n\n  sprintf(buff, \"timeline_%dx%s_%dx%dblockSize_%dCUTs_Numa%d_Sleep%d.html\", numTotalGpus, archName, numBlocks, blockSize, numUpdateThreads, useNuma, numSleepUsec);\n  printf(\"Timeline exported to %s\\n\", buff);\n  ExportToTimeLine(buff, \"Device\", \"Call\", timelineData);\n\n#ifdef MPI_SUPPORT\nend:\n  MPI_Barrier(MPI_COMM_WORLD);\n  MPI_Finalize();\n#endif\n  return 0;\n}\n"
  },
  {
    "path": "tools/JitterBench/Makefile",
    "content": "ROCM_PATH ?= /opt/rocm\nCUDA_PATH ?= /usr/local/cuda\nHIPCC     = $(ROCM_PATH)/bin/hipcc\nNVCC      = $(CUDA_PATH)/bin/nvcc\n\nCCFLAGS   = -O3 -lhsa-runtime64 -fopenmp -lnuma\nNVFLAGS   = -O3  -x cu -lnuma -Xcompiler -fopenmp -gencode=arch=compute_90,code=sm_90\n\nifneq (\"$(MPI_DIR)\", \"\")\nMPIFLAGS = -DMPI_SUPPORT -I$(MPI_DIR)/include -L$(MPI_DIR)/lib -lmpi\nelse\nMPIFLAGS =\nendif\n\nall: JitterBench\n\nJitterBench: JitterBench.cpp Common.hpp Timeline.hpp\nifeq (\"$(shell test -e $(NVCC) && echo found)\", \"found\")\n\t$(NVCC) $(NVFLAGS) $(MPIFLAGS) $< -o $@\nelse\n\t$(HIPCC) $(CCFLAGS) $(MPIFLAGS) $< -o $@\nendif\n\nclean:\n\trm -f ./JitterBench\n"
  },
  {
    "path": "tools/JitterBench/Timeline.hpp",
    "content": "#pragma once\n#include <cstdio>\n#include <cstdlib>\n#include <vector>\n\nstruct TimelineData\n{\n  std::string rowLabel;\n  std::string barLabel;\n  std::string toolTip;\n  uint64_t    startTime;\n  uint64_t    stopTime;\n};\n\nvoid ExportToTimeLine(std::string outputFilename,\n                      std::string rowLabelName,\n                      std::string barLabelName,\n                      std::vector<TimelineData> const& timelineData)\n{\n  FILE *fp = fopen(outputFilename.c_str(), \"w\");\n\n  fprintf(fp, \"<script type=\\\"text/javascript\\\" src=\\\"https://www.gstatic.com/charts/loader.js\\\"></script>\\n\");\n  fprintf(fp, \"<script type=\\\"text/javascript\\\">\\n\");\n  fprintf(fp, \"google.charts.load(\\\"current\\\", {packages:[\\\"timeline\\\"]});\\n\");\n  fprintf(fp, \"google.charts.setOnLoadCallback(drawChart);\\n\");\n  fprintf(fp, \"\\n\");\n  fprintf(fp, \"function drawChart() {\\n\");\n  fprintf(fp, \"  var container = document.getElementById('myTimeline');\\n\");\n  fprintf(fp, \"  var chart = new google.visualization.Timeline(container);\\n\");\n  fprintf(fp, \"  var dataTable = new google.visualization.DataTable();\\n\");\n  fprintf(fp, \"\\n\");\n  fprintf(fp, \"  dataTable.addColumn({ type: 'string', id:   '%s' });\\n\", rowLabelName.c_str());\n  fprintf(fp, \"  dataTable.addColumn({ type: 'string', id:   '%s' });\\n\", barLabelName.c_str());\n  fprintf(fp, \"  dataTable.addColumn({ type: 'string', role: 'tooltip'});\\n\");\n  fprintf(fp, \"  dataTable.addColumn({ type: 'number', id:   'Start' });\\n\");\n  fprintf(fp, \"  dataTable.addColumn({ type: 'number', id:   'End' });\\n\");\n  fprintf(fp, \"  dataTable.addRows([\\n\");\n\n  for (int i = 0; i < timelineData.size(); i++)\n  {\n    TimelineData const& t = timelineData[i];\n    fprintf(fp, \"   [ '%s', '%s', '%s', %lu, %lu ]%s\\n\", t.rowLabel.c_str(),\n            t.barLabel.c_str(), t.toolTip.c_str(), t.startTime, t.stopTime, i + 1 == timelineData.size() ? \"]);\" : \",\");\n  }\n\n  fprintf(fp, \"  chart.draw(dataTable);\\n\");\n  fprintf(fp, \"}\\n\");\n  fprintf(fp, \"</script>\\n\");\n  fprintf(fp, \"<div id=\\\"myTimeline\\\" style=\\\"width: 100%%; height: 100%%;\\\"></div>\\n\");\n  fclose(fp);\n}\n"
  },
  {
    "path": "tools/JitterBench/runSweep.sh",
    "content": "#!/bin/bash\n\nfor numBlocks in 1 2 4 8 16 32; do\n\t\tfor blockSize in 64 128 256; do\n\t\t\t\tfor numTimers in 0 1; do\n\t\t\t\t\t\tfor useNuma in 0 1; do\n\t\t\t\t\t\t\t\techo \"numBlocks=$numBlocks blockSize=$blockSize numTimers=$numTimers useNuma=$useNuma\";\n\t\t\t\t\t\t\t\t./JitterBench $numBlocks $blockSize $numTimers $useNuma &> output.$numBlocks.$blockSize.$numTimers.$useNuma.txt\n\t\t\t\t\t\tdone;\n\t\t\t\tdone;\n\t\tdone;\ndone;\n"
  },
  {
    "path": "tools/RcclReplayer/Makefile",
    "content": "ROCM_DIR ?= /opt/rocm\nRCCL_DIR ?= ../../build/release\nMPI_DIR  ?= /opt/ompi\n\nINCLUDES = -I$(MPI_DIR)/include -I$(RCCL_DIR)/include -I../../src/include\nLDFLAGS  = -L$(MPI_DIR)/lib -L$(RCCL_DIR) -lmpi -lrccl\n\nmain: rcclReplayer.cpp\n\t$(ROCM_DIR)/bin/hipcc -std=c++20 rcclReplayer.cpp -O0 -g -o rcclReplayer $(INCLUDES) $(LDFLAGS)\n\nclean:\n\trm -f ./rcclReplayer\n"
  },
  {
    "path": "tools/RcclReplayer/README.md",
    "content": "# Structured Logging\nAs part of the efforts to enhance RCCL Replayer functionality, RCCL now provides detailed logging of API calls.\n\n## Usage\n* Structured logging is a built-in module of RCCL source. For RCCL library in ROCm release, it is present starting from ROCm 7.0. To enable structured logging, point LD_LIBRARY_PATH to supporting RCCL library, then run with environment variable `RCCL_REPLAY_FILE=\"${filename}\"`.\n* If the value of `RCCL_REPLAY_FILE` contains “.json” extension, the log will be exported as text in **JSON** format. Otherwise, the log will be a **binary** file by default, with \".bin\" extension.\n* Each process will export its own log local to the directory and node of the executable. Names of each process' output will be in the format of `filename.PID.hostname.extension`. For example, run workload with `RCCL_REPLAY_FILE=\"replayer_log\"` will produce logs named such as `replayer_log.1275.quanta-cyxtera-cx77-11.bin`.\n* Log level is controlled by `RCCL_LOG_LEVEL` environment. Currently, by default, log level is 1 and will record most essential RCCL APIs which perform actual operations or incur changes to the communicator. Otherwise, other informational RCCL calls such as `ncclGetAsyncError` or third party function calls like `mscclRunAlgo` will be recorded, too.\n\n## What it does\n-   Every public RCCL API call is tracked and logged in order of execution\n-   Whenever possible, a log entry is flushed to file immediately after a call is made. Exceptions are when a function returns a handle, in which case the RCCL API may not be registered in case of deadlock or error.\n- HIP Graph compatible - will report if a call is made in graph capture mode. If in capture mode, RCCL will append a CPU callback node to the graph which logs the call when the graph runs.\n\n## Output format\nEach line in the log is an entry of RCCL API call. `ncclGroupStart()` and \t`ncclGroupEnd()` correspond to opening and closing brackets, each on a separate line, forming a scope. Each line has 2 space of indentation per level of group depth. \n\n<!---(As a result there may be empty scopes following certain RCCL calls such as Send, Recv, AllToAll, etc., indicating group start/end in its implementation)--->\n\nEach entry will take the format of\n`Name : [Parameters : Value, ..., context : [...]](, Trailing Data)`\n### Parameters\nwill contain all the parameters and their values of the function call as defined in nccl.h header. Collectives will contain additional data about the communicator size, number of tasks, its rank, and its opCount in communicator. \n\nWherever applicable, the structured logging preserves underlying RCCL data constructs and how they are filled.\n\n<!---We try to register and flush logging information at the beginning of a function, in case it never completes before termination/hanging of the program. **However**, many RCCL routines, such as communicator creation, user buffer registration, etc. will have pointers for returned handles. We record those value as well, but at the end of the routine, therefore these calls may not be logged in face of deadlock or error.---> \n\n<!---Please interpret the parameters with a grain of salt. They are logged exactly as they are used, by user or by NCCL internal implementations. For instance, `ncclSend` entries will always have a null sendbuff but a valid \"recvbuff\" in the log, as `ncclSend` under the hood always fills the send buffer into the recv buffer field of `ncclInfo` that is enqueued.--->\n \n\n### Device context\ncontains the following fields: `timestamp`, `thread` (caller thread ID), `device` ( GPU ID which the caller was bound to), `captured` (graph capture mode or not), and the `graphID`. If a call was made in graph capture mode and not actually running on GPU device, `captured` will be 1. All entries would have a `graphID`, but their validity depend on whether there were previous captures.\n### Trailing Info\nCertain calls will have additional data following the parameters and contexts:\n* `ncclCommInitAll` will print of list of devices\n* `ncclCommInitRankConfig` and `ncclCommSplit` will have fields of `ncclConfig_t`\n* `ncclGroupSimulateEnd` will print all fields of `ncclSimInfo_t`\n* `ncclAllToAllv` will be followed by four comma separated lists of send/recv counts and displacements\n\n\n## Example\nHere is an example log of the `CommSplit_Reduces` Unit Test from RCCL, run with `RCCL_REPLAY_FILE=\"log.json\" UT_DATATYPES=\"ncclInt32\" UT_PROCESS_MASK=2 UT_MIN_GPUS=4 ./rccl-UnitTests --gtest_filter=\"Standalone.SplitComms_Reduce\" UT_DATATYPES=\"ncclInt32\"`\n```\n{\n  hostname : banff-pla-r27-29, version : 0,\n  CommInitAll : [# of device : 4, context : [time : 1745623615674.781006, thread : 1085917, device : 0, captured : -1, graphID : 0 ]],\n  GetUniqueId : [uniqueID : 17168916771200794912, context : [time : 1745623615676.041748, thread : 1085917, device : 0, captured : -1, graphID : 0 ]],\n  {\n    CommInitDev : [comm : 0x7fb680328010, size : 4, uniqueID : 17168916771200794912, rank : 0, dev : 0, context : [time : 1745623615676.157959, thread : 1085917, device : 0, captured : -1, graphID : 0 ]],\n    CommInitDev : [comm : 0x7fa67bb28010, size : 4, uniqueID : 17168916771200794912, rank : 1, dev : 1, context : [time : 1745623615676.207520, thread : 1085917, device : 1, captured : -1, graphID : 0 ]],\n    CommInitDev : [comm : 0x7f967b650010, size : 4, uniqueID : 17168916771200794912, rank : 6, dev : 6, context : [time : 1745623615676.407227, thread : 1085917, device : 6, captured : -1, graphID : 0 ]],\n    CommInitDev : [comm : 0x7f8e7ad27010, size : 4, uniqueID : 17168916771200794912, rank : 7, dev : 7, context : [time : 1745623615676.468750, thread : 1085917, device : 7, captured : -1, graphID : 0 ]]\n  },\n  {\n    CommSplit : [comm : 0x7fb680328010, color : 0, key : 0, newcomm : (nil), context : [time : 1745623619986.908691, thread : 1085917, device : 0, captured : -1, graphID : 0 ]],\n    CommSplit : [comm : 0x7fa67bb28010, color : 0, key : 0, newcomm : 0x1, context : [time : 1745623619987.017090, thread : 1085917, device : 1, captured : -1, graphID : 0 ]],\n    CommSplit : [comm : 0x7f967b650010, color : 0, key : -1, newcomm : 0x6, context : [time : 1745623619987.202393, thread : 1085917, device : 6, captured : -1, graphID : 0 ]],\n    CommSplit : [comm : 0x7f8e7ad27010, color : 0, key : -1, newcomm : 0x7, context : [time : 1745623619987.205322, thread : 1085917, device : 7, captured : -1, graphID : 0 ]]\n  },\n  CommDestroy : [comm : 0x126d9a0, context : [time : 1745623620419.313721, thread : 1085917, device : 0, captured : -1, graphID : 0 ]],\n  CommDestroy : [comm : 0x1345370, context : [time : 1745623620419.422363, thread : 1085917, device : 0, captured : -1, graphID : 0 ]],\n  CommDestroy : [comm : (nil), context : [time : 1745623620888.018555, thread : 1085917, device : 0, captured : -1, graphID : 0 ]],\n  CommDestroy : [comm : (nil), context : [time : 1745623620888.020996, thread : 1085917, device : 0, captured : -1, graphID : 0 ]],\n  CommDestroy : [comm : 0x7fb680328010, context : [time : 1745623620888.023193, thread : 1085917, device : 0, captured : -1, graphID : 0 ]],\n  CommDestroy : [comm : 0x7fa67bb28010, context : [time : 1745623620888.228027, thread : 1085917, device : 0, captured : -1, graphID : 0 ]],\n  CommDestroy : [comm : 0x7f967b650010, context : [time : 1745623620889.099121, thread : 1085917, device : 0, captured : -1, graphID : 0 ]],\n  CommDestroy : [comm : 0x7f8e7ad27010, context : [time : 1745623620889.293213, thread : 1085917, device : 0, captured : -1, graphID : 0 ]]\n}\n```\n# RCCL Replayer\nReplayer is a separate tool which aims to re-run the same set of RCCL calls as recorded and report the cumulative time taken by these calls, provided with the **binary** output of structured logging.\n## Installation\n* Replayer relies on MPI for out of band communication.\n* Under `rccl/tools/RcclReplayer`, run `MPI_DIR=${MPI_PATH} make`\n*  Replayer can be built from RCCL source using internal headers directly. It links against a RCCL library specified by `RCCL_DIR` (defaults to `../../build/release`). For compatibility, it is recommended that logs are collected using the same RCCL library version.\n## Running\n* Replayer requires the exact same number of processes and processes per node as the recorded job. And all log files must be accessible by all processes in Replayer, either through shared filesystem or copies.\n* To run Replayer, simply call `mpirun -np ${np} ./rcclReplayer ${filename}.${extension}` \n* For example, we are on node quanta-cyxtera-cx77-11, with 8 logs: `replayer_log.{1270-1278}.quanta-cyxtera-cx77-11.bin`. Run `mpirun -np 8 ./rcclReplayer replayer_log.bin`\n* Replayer will have a parse and replay phase. During parsing it will create communicators as original RCCL job, assign log files to individual processes, and allocate resources. Then actual replay happens, re-running all the RCCL APIs with same parameters and device assignment. It is also able to capture and launch graphs involving RCCL calls, as recorded by structured logging. Actual data in original job such as message payload or vector values are not recorded therefore not replicated.\n\n\n## Output\nEach rank will print out its progress as it goes through every line of calls, including its rank, line number, RCCL API name, status (INFO/WARNING/ERROR). \nIt will also report time and bandwidth (if the line is a communication call) for that call. In the end, it will report the total time taken by all communication calls.\nReplayer is still under development and experimentations, so the formats of logging or contents of replayer output will be subject to changes.\n\n## Log Converter\n`replay_log_converter.py` is a utility to convert between binary and JSON log formats, standardize JSON logs for easier parsing, and sanitize logs for comparison.\n\n**Usage:**\n* **Binary to JSON:** `python3 replay_log_converter.py <basename> tojson`\n* **JSON to Binary:** `python3 replay_log_converter.py <basename> tobin`\n* **Standardize JSON:** `python3 replay_log_converter.py <basename> --standardize`\n* **Sanitize JSON:** `python3 replay_log_converter.py <basename> --sanitize`\n\nAn optional output basename can be provided after the mode (tojson/tobin) to customize the output filename: \n* `python3 replay_log_converter.py <basename> <mode> <output_basename>`\n\nThe converter automatically finds all matching log files with pattern `basename.PID.hostname` and processes them.\n\n**Output Files:**\n* Standardized JSON output is saved with `.standard.json` extension and can be parsed with standard JSON libraries.\n* Sanitized files are modified in-place (original files are overwritten with sanitized versions).\n\n**Examples:** \n* `python3 replay_log_converter.py replayer_log tojson` produces `replayer_log.{1270-1278}.quanta-cx77-11.json`\n* `python3 replay_log_converter.py replayer_log tojson converted_log` produces `converted_log.{1270-1278}.quanta-cx77-11.json`\n* `python3 replay_log_converter.py replayer_log --sanitize` sanitizes existing JSON files in-place\n* `python3 replay_log_converter.py replayer_log tojson --sanitize` converts to JSON and sanitizes in one step\n* `python3 replay_log_converter.py replayer_log --sanitize --no-timestamp` (or `--nts`) sets all timestamps to 0.0\n\n**Sanitization:**\nThe `--sanitize` option normalizes logs for easier comparison by:\n* Remapping pointers to readable identifiers (e.g., `comm : 0x7fb680328010` → `comm : comm_001`)\n* Normalizing timestamps relative to the first call (e.g., `time : 1762969171532.248535` → `time : 0.000000`)\n  * Use `--no-timestamp` (or `--nts`) to set all timestamps to 0.0 instead\n* Preserving relationships: same pointer values get the same sanitized identifier\n* Sanitized fields: communicators (`comm`), unique IDs (`uniqueID`), streams (`stream`), buffer addresses (`addr`/`base`/`ptr`/`acc`), handles (`handle`), thread IDs (`thread`), and process IDs (`pid`)\n\n"
  },
  {
    "path": "tools/RcclReplayer/rcclReplayer.cpp",
    "content": "/* Copyright © Advanced Micro Devices, Inc., or its affiliates. */\n\n#include <cstdio>\n#include <cstring>\n#include <vector>\n#include <algorithm>\n#include <numeric>\n#include <chrono>\n#include <mpi.h>\n#include <fstream>\n#include <unordered_set>\n\n#include \"rcclReplayer.hpp\"\n\n#include <dirent.h>\n#include <stdio.h>\n\nusing namespace rccl;\n\nstatic int json_format = 0; // binary by default\n\n// move to inside class or kept as static var\nstatic constexpr size_t rcclCallSize = sizeof(rcclApiCall);\nstatic char line[rcclCallSize]; // size of collectivecall struct\nstatic int lineNum = 0;\nstatic ncclUniqueId uniqueId;\n\n// assuming shared file system or similar\n// should this be replayer or in main\nstatic int ParseLogFormat(const char* logFormat, std::string& filename, std::string& extension)\n{\n  int json_format = 0;\n  size_t dot;\n  if ((dot = std::string(logFormat).find(\".\")) != std::string::npos)\n  {\n    filename = std::string(logFormat).substr(0, dot);\n    extension = std::string(logFormat).substr(dot);\n    if (extension.compare(\".json\") == 0)\n    {\n      json_format = 1;\n    }\n  } else {\n    filename = std::string(logFormat);\n  }\n  return json_format;\n  // TODO: modularize and reuse this snippet from recorder\n}\n\nReplayer::Replayer(const std::string& logname, int json_format, int rank, int size) : myRank(rank),\n                                                                                      numGlobalRanks(size)\n{\n  log.open(logname, json_format ? std::ifstream::in : std::ifstream::binary);\n}\n\nvoid Replayer::parse()\n{\n  while (log.read(line, rcclCallSize)) // istream::get fail here when running into newline\n  {\n    rcclApiCall call = *((rcclApiCall*) line);\n\n    if (call.sendPtrBase)\n    {\n      if (!dMemMap.contains(call.sendPtrBase))\n      {\n        dMemMap[call.sendPtrBase].size = call.sendPtrExtent;\n      }\n      dMemMap[call.sendPtrBase].lastLineUsed = lineNum;\n    }\n    if (call.recvPtrBase)\n    {\n      if (!dMemMap.contains(call.recvPtrBase))\n      {\n        dMemMap[call.recvPtrBase].size = call.recvPtrExtent;\n      }\n      dMemMap[call.recvPtrBase].lastLineUsed = lineNum;\n    }\n    if (call.stream)\n    {\n      streams[call.stream].second = lineNum;\n    }\n\n    switch (call.type) {\n    case rrGroupStart:\n    case rrGroupEnd:\n    case rrGroupSimulatedEnd: // TODO\n    case rrCommInitRank:\n    /// case rrCommInitRankConfig:   <-- these all should depend on CommInitDev\n    case rrCommSplit: // <-- not covered for now dealt with in replay time\n    case rrCommFinalize:\n    case rrCommDestroy:\n    case rrCommAbort:\n    case rrCommRegister:\n    case rrCommDeregister: // I think commDeregister is not affected by handle in both way?\n    case rrMemFree:\n    case rrRedOpCreatePreMulSum:\n    case rrRedOpDestroy:\n    case rrOtherCall:\n    {\n      break; // no op\n    }\n  // Communicator\n    case rrGetUniqueId:\n    {\n      idRankMap[call.commId];\n      break;\n    }\n    \n    case rrCommInitDev:             // which should capture all comm - uniqueID relations\n    {\n      Ids.push_back(call.commId);\n      // for debugging might want a reverse map\n      break;\n    }\n    case rrCommInitAll:\n    {\n      if (call.sendbuff)\n      {\n        log.ignore(call.root * sizeof(int));\n      }\n      break;\n    }\n\n  // Memory allocation\n    //integrate these later\n    case rrMemAlloc:\n    {\n      // Replayer will not free this without explicit ncclMemFree\n      dMemMap[call.recvbuff].size = call.count;\n      break;\n    }\n\n    case rrAllToAllv:\n    {\n      log.ignore(4 * call.nRanks * sizeof(size_t)); // will allocate s/rdispls/count each time\n    }\n    default: // collectives\n    {\n      /*  if capturing:\n       *    if first time (start.empty)\n       *      init stream\n       *      push this line for replayer later\n       *    increment depth\n       *  else\n       *    use internal counter to separate diff graph launch\n       */\n      if (call.graphCaptured == 1)\n      {\n        if (!graphLife.contains(call.graphID))\n        {\n          graphLife[call.graphID].starts.insert(lineNum);\n          graphLife[call.graphID].stream = call.stream;\n        }\n        graphLife[call.graphID].depth++;\n        graphLife[call.graphID].counter++;\n        graphLife[call.graphID].end = lineNum; // in case the graph never gets launched\n      } else if (call.graphID) {\n        if (graphLife[call.graphID].counter == graphLife[call.graphID].depth)\n        {\n          graphLife[call.graphID].starts.insert(lineNum);\n        }\n        graphLife[call.graphID].counter--;\n        if (graphLife[call.graphID].counter == 0)\n        {\n          graphLife[call.graphID].end = lineNum; // we currently sync graph after its last launch\n                                                 // for convenience of graph destroy, may later\n                                                 // need a comm->graphs map so that CommReclaim dont hang\n          graphLife[call.graphID].counter = graphLife[call.graphID].depth;\n        }\n      }\n    }\n    }\n    lineNum++;\n  }\n\n  // exchange communicator info\n  std::vector<int> comm_count(numGlobalRanks);\n  comm_count[myRank] = Ids.size();\n  MPI_Allgather(MPI_IN_PLACE, 0, MPI_DATATYPE_NULL, comm_count.data(), 1, MPI_INT, MPI_COMM_WORLD);\n\n  std::vector<int> displs(comm_count.size() + 1, 0);\n  std::inclusive_scan(comm_count.begin(), comm_count.end(), displs.begin() + 1);\n  int aggragatedCommCount = std::reduce(comm_count.begin(), comm_count.end());\n  /*\n   *                  rank1, comm_count[1]xID  r2, comm_count[2]  r3 ...  r4 ...\n   *  AllRankCommIds [------------------------+-----------------+-------+---------+....]\n   */\n  std::vector<uint64_t> AllRankCommIds(aggragatedCommCount);\n  MPI_Allgatherv(Ids.data(), Ids.size(), MPI_UINT64_T,\n                 AllRankCommIds.data(), comm_count.data(), displs.data(), MPI_UINT64_T, MPI_COMM_WORLD);\n\n  int k = 0;\n  for (int i = 0; i < numGlobalRanks; i++)\n  {\n    if (i == myRank)\n    {\n      k += Ids.size();\n      continue;\n    }\n    for (int j = 0; j < comm_count[i]; j++)\n    {\n      if (idRankMap.contains(AllRankCommIds[k]))\n      {\n        idRankMap[AllRankCommIds[k]].push_back(i);\n      }\n      k++;\n    }\n  }\n\n  lineNum = 0;\n  log.clear();\n  log.seekg(0, std::ios_base::beg);\n  // TODO: print out resources here allocated if requested\n}\n\nvoid Replayer::replay()\n{\n  while (log.read(line, rcclCallSize))\n  {\n    rcclApiCall call = *((rcclApiCall*) line);\n    printf(\"[INFO    ] Rank %d - Line %d : %s\\n\", myRank, lineNum, rcclCallStr[call.type]);\n    HIP_CALL(hipSetDevice(call.hipDev));\n    void *sbuffer = NULL, *rbuffer = NULL;\n\n    if (call.type < rrGroupStart)\n    {\n      if ((call.sendPtrBase && !dMemMap.contains(call.sendPtrBase)) || (call.recvPtrBase && !dMemMap.contains(call.recvPtrBase)))\n      {\n        printf(\"[ERROR   ] Rank %d - Line %d : Unknown buffer in collectives\\n\", myRank, lineNum);\n        exit(1);\n      }\n\n      if (call.sendPtrBase)\n      {\n        if (!dMemMap[call.sendPtrBase].base)\n        {\n          HIP_CALL(hipMalloc(&dMemMap[call.sendPtrBase].base, dMemMap[call.sendPtrBase].size));\n        }\n        std::ptrdiff_t diff = (char*)call.sendbuff - (char*)call.sendPtrBase;\n        sbuffer = (char*)dMemMap[call.sendPtrBase].base + diff;\n      }\n      if (call.recvPtrBase)\n      {\n        if (!dMemMap[call.recvPtrBase].base)\n        {\n          HIP_CALL(hipMalloc(&dMemMap[call.recvPtrBase].base, dMemMap[call.recvPtrBase].size));\n        }\n        std::ptrdiff_t diff = (char*)call.recvbuff - (char*)call.recvPtrBase;\n        rbuffer = (char*)dMemMap[call.recvPtrBase].base + diff;\n      }\n\n      //stream\n      if (call.stream && !streams[call.stream].first)\n      {\n        HIP_CALL(hipStreamCreate(&streams[call.stream].first));\n      }\n\n      //graph\n      /*\n       *  if capturing\n       *    if firstime (line in start)\n       *      stream capture begin\n       *    else if stream differ from initial capturing stream\n       *      //create dependency\n       *    if depth reached // after call execution switch\n       *      conclude graph\n       *  else (launching)\n       */\n      if (call.graphCaptured == 1)\n      {\n        graphLife[call.graphID].counter--;\n        if (graphLife[call.graphID].starts.contains(lineNum))\n        {\n          HIP_CALL(hipStreamBeginCapture(streams[call.stream].first, hipStreamCaptureModeRelaxed));\n          printf(\"[INFO    ] Rank %d - Line %d : starting capture graph %llu\\n\", myRank, lineNum, call.graphID);\n        } else if (graphLife[call.graphID].stream != call.stream) {\n          printf(\"[WARNING ] \\x1b[31mRank %d - Line %d : multi-stream graph may not replay original dependency accurately\\x1b[0m\\n\", myRank, lineNum);\n          hipEvent_t event;\n          HIP_CALL(hipEventCreate(&event));\n          graphLife[call.graphID].events.push_back(event);\n          HIP_CALL(hipEventRecord(event, streams[graphLife[call.graphID].stream].first));\n          HIP_CALL(hipStreamWaitEvent(streams[call.stream].first, event));\n        }    \n      } else if (call.graphID) {\n        if (graphLife[call.graphID].starts.contains(lineNum))\n        {\n          printf(\"[INFO    ] Rank %d - Line %d : launching graph %llu\\n\", myRank, lineNum, call.graphID);\n          HIP_CALL(hipGraphLaunch(graphLife[call.graphID].graphExec, streams[call.stream].first));\n        }\n        printf(\"[INFO    ] Rank %d - Line %d : being played by previous graph %llu\\n\", myRank, lineNum, call.graphID);\n        goto cleanup;\n      }\n    }\n\n    switch (call.type) {\n    case rrGroupSimulatedEnd: // TODO: cannot test atm\n    /// case rrCommInitRankConfig:   <-- these all should depend on CommInitDev\n    case rrRedOpCreatePreMulSum:\n    case rrRedOpDestroy:\n    case rrOtherCall:\n    {\n      printf(\"[ERROR   ] Rank %d - Line %d : Unexpected call: %s\\n\", myRank, lineNum, rcclCallStr[call.type]);\n      exit(1);\n    }\n\n    // To be integrated later\n    case rrCommFinalize:\n    {\n      NCCL_CALL(ncclCommFinalize(commMap[call.comm]));\n      break;\n    }\n    case rrCommDestroy:\n    {\n      NCCL_CALL(ncclCommDestroy(commMap[call.comm]));\n      break;\n    }\n    case rrCommAbort:\n    {\n      NCCL_CALL(ncclCommAbort(commMap[call.comm]));\n      break;\n    }\n\n    case rrGroupStart:\n    {\n      NCCL_CALL(ncclGroupStart());\n      break;\n    }\n    case rrGroupEnd:\n    {\n      NCCL_CALL(ncclGroupEnd());\n      break;\n    }\n\n    case rrGetUniqueId:\n    {\n      NCCL_CALL(ncclGetUniqueId(&uniqueId));\n      idMap[call.commId] = uniqueId;\n      break;\n    }\n    case rrCommInitRank:\n    {\n      lastCall = rrCommInitRank;\n      break;\n    }\n    /// case rrCommInitRankConfig:\n    case rrCommInitDev:\n    {\n      if (lastCall == rrCommInitAll) // no other calls between ncclCommInitAll and ncclCommInitRankDev\n      {                              // nor ncclCommInitRankDev not proceeded by ncclCommInitAll/Rank()\n        goto cleanup;\n      }\n      // set device\n      // TODO: double check this, since some version of NCCL theres a reset to original device\n      HIP_CALL(hipSetDevice(call.root));\n\n      if (!idMap.contains(call.commId))\n      {\n        MPI_Recv(&uniqueId, sizeof(ncclUniqueId), MPI_BYTE, MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);\n      } else {\n        for (int rank : idRankMap[call.commId])\n        {\n          MPI_Send(&idMap[call.commId], sizeof(ncclUniqueId), MPI_BYTE, rank, 0, MPI_COMM_WORLD);\n        }\n        uniqueId = idMap[call.commId]; // <- double check in case of bug/communicator init hang\n      }\n      ncclComm_t comm;\n      NCCL_CALL(ncclCommInitRank(&comm, call.nRanks, uniqueId, call.globalRank));\n      commMap[call.comm] = comm;\n      break;\n    }\n    case rrCommInitAll:\n    {\n      int ndev = call.root;\n      int *devlist = NULL;\n      if (call.sendbuff)\n      {\n        std::vector<int> devices(ndev);\n        log.read((char*)devices.data(), ndev * sizeof(int));\n        devlist = devices.data();\n      }\n      ncclComm_t comm;\n      NCCL_CALL(ncclCommInitAll(&comm, ndev, devlist));\n      commMap[call.comm] = comm;\n      break;\n    }\n    case rrCommSplit:\n    {\n      int color = call.nRanks;\n      int key = call.globalRank;\n      // TODO: parse config later\n      ncclComm_t newcomm;\n      ncclComm_t comm = (ncclComm_t) call.commId;\n      NCCL_CALL(ncclCommSplit(commMap[comm], color, key, &newcomm, NULL));\n      commMap[call.comm/*original newcomm to commSplit call*/] = newcomm;\n      break;\n    }\n\n\n    case rrCommRegister:\n    {\n      if (!dMemMap.contains(call.sendPtrBase) || !commMap.contains(call.comm))\n      {\n        printf(\"[ERROR   ] Rank %d - Line %d : Unknown buffer for CommRegister\\n\", myRank, lineNum);\n        exit(1);\n      }\n      if (!dMemMap[call.sendPtrBase].base)\n      {\n        HIP_CALL(hipMalloc(&dMemMap[call.sendPtrBase].base, dMemMap[call.sendPtrBase].size));\n      }\n      sbuffer = (char*)dMemMap[call.sendPtrBase].base + (std::ptrdiff_t)((char*)call.sendbuff - (char*)call.sendPtrBase);\n      NCCL_CALL(ncclCommRegister(commMap[call.comm], sbuffer, dMemMap[call.sendPtrBase].size, &handleMap[call.recvbuff]));\n      break;\n    }\n    case rrCommDeregister:\n    {\n      NCCL_CALL(ncclCommDeregister(commMap[call.comm], handleMap[call.recvbuff]));\n      break;\n    }\n    case rrMemAlloc:\n    {\n      NCCL_CALL(ncclMemAlloc(&dMemMap[call.recvbuff].base, call.count));\n      break ;\n    }\n    case rrMemFree:\n    {\n      NCCL_CALL(ncclMemFree(dMemMap[call.recvbuff].base));\n      break;\n    }\n\n    // TODO: further simplify switch base on common parameters\n    // no op or root\n    case rrAllToAll:\n    {\n      NCCL_CALL(ncclAlltoAll(sbuffer, rbuffer, call.count, call.datatype, commMap[call.comm], streams[call.stream].first));\n      break;\n    }\n    case rrAllGather:\n    {\n      NCCL_CALL(ncclAllGather(sbuffer, rbuffer, call.count, call.datatype, commMap[call.comm], streams[call.stream].first));\n      break;\n    }\n    // op root\n    case rrReduce:\n    {\n      NCCL_CALL(ncclReduce(sbuffer, rbuffer, call.count, call.datatype, call.op, call.root, commMap[call.comm], streams[call.stream].first));\n      break;\n    }\n    // root\n    case rrBroadcast:\n    {\n      NCCL_CALL(ncclBroadcast(sbuffer, rbuffer, call.count, call.datatype, call.root, commMap[call.comm], streams[call.stream].first));\n      break;\n    }\n    case rrScatter:\n    {\n      NCCL_CALL(ncclScatter(sbuffer, rbuffer, call.count, call.datatype, call.root, commMap[call.comm], streams[call.stream].first));\n      break;\n    }\n    case rrGather:\n    {\n      NCCL_CALL(ncclGather(sbuffer, rbuffer, call.count, call.datatype, call.root, commMap[call.comm], streams[call.stream].first));\n      break;\n    }\n    // root -\n    case rrBcast:\n    {\n      NCCL_CALL(ncclBcast(rbuffer, call.count, call.datatype, call.root, commMap[call.comm], streams[call.stream].first));\n      break;\n    }\n    case rrSend:\n    {\n      NCCL_CALL(ncclSend(rbuffer, call.count, call.datatype, call.root, commMap[call.comm], streams[call.stream].first));\n      break;\n    }\n    case rrRecv:\n    {\n      NCCL_CALL(ncclRecv(rbuffer, call.count, call.datatype, call.root, commMap[call.comm], streams[call.stream].first));\n      break;\n    }\n    // op\n    case rrReduceScatter:\n    {\n      NCCL_CALL(ncclReduceScatter(sbuffer, rbuffer, call.count, call.datatype, call.op, commMap[call.comm], streams[call.stream].first));\n      break;\n    }\n    case rrAllReduce:\n    {\n      NCCL_CALL(ncclAllReduce(sbuffer, rbuffer, call.count, call.datatype, call.op, commMap[call.comm], streams[call.stream].first));\n      break;\n    }\n    case rrAllReduceWithBias:\n    {\n      std::vector<char> acc(call.count * ncclTypeSize(call.datatype));\n      NCCL_CALL(ncclAllReduceWithBias(sbuffer, rbuffer, call.count, call.datatype, call.op, commMap[call.comm], streams[call.stream].first, acc.data()));\n      HIP_CALL(hipStreamSynchronize(streams[call.stream].first)); // TODO: remove, and further verify behavior of fused AR\n      break;\n    }\n    // a2av\n    case rrAllToAllv:\n    {\n      // timer pause here\n      // assuming blocking for now\n      int size = call.nRanks;\n      std::vector<size_t> sendcounts(size), sdispls(size), recvcounts(size), rdispls(size);\n      log.read((char*)sendcounts.data(), size * sizeof(size_t));\n      log.read((char*)sdispls.data(), size * sizeof(size_t));\n      log.read((char*)recvcounts.data(), size * sizeof(size_t));\n      log.read((char*)rdispls.data(), size * sizeof(size_t));\n      \n      NCCL_CALL(ncclAlltoAllv(sbuffer, sendcounts.data(), sdispls.data(), rbuffer, recvcounts.data(), rdispls.data(),\n                              call.datatype, commMap[call.comm], streams[call.stream].first));\n      HIP_CALL(hipStreamSynchronize(streams[call.stream].first)); // TODO: remove\n      break;\n    }\n    } //switch\n    printf(\"[INFO    ] Rank %d - Line %d : %s called\\n\", myRank, lineNum, rcclCallStr[call.type]);\n    lastCall = call.type;\n\n    if (call.graphCaptured == 1)\n    {\n      // TODO: This requires further testing\n      if (graphLife[call.graphID].stream != call.stream)\n      {\n        hipEvent_t event;\n        HIP_CALL(hipEventCreate(&event));\n        graphLife[call.graphID].events.push_back(event);\n        HIP_CALL(hipEventRecord(event, streams[call.stream].first));\n        HIP_CALL(hipStreamWaitEvent(streams[graphLife[call.graphID].stream].first, event));\n      }\n      if (graphLife[call.graphID].counter == 0)\n      {\n\thipGraphNode_t temp;\n\tchar errbuff[3000];\n        HIP_CALL(hipStreamEndCapture(streams[graphLife[call.graphID].stream].first, &graphLife[call.graphID].graph));\n        // TODO: confirm with clr behavior of graphInstantiate in face of failure\n        HIP_CALL(hipGraphInstantiate(&graphLife[call.graphID].graphExec, graphLife[call.graphID].graph, &temp, errbuff, 3000));\n        for (hipEvent_t e : graphLife[call.graphID].events)\n        {\n          HIP_CALL(hipEventDestroy(e));\n        }\n      }\n    }\n\ncleanup:\n    printf(\"[INFO    ] Rank %d - Line %d : cleaning up\\n\", myRank, lineNum);\n    \n    // Free resources if possible\n    if (call.sendPtrBase && lineNum == dMemMap[call.sendPtrBase].lastLineUsed) {\n      // TODO: free contains a sync, may need a second thought\n      //       also this may proceed commDeregister in case of UBR thus susceptible to change in implementation\n      HIP_CALL(hipFree(dMemMap[call.sendPtrBase].base));\n      dMemMap[call.sendPtrBase].base = NULL; // in case of in place ops\n    }\n    if (call.recvPtrBase && lineNum == dMemMap[call.recvPtrBase].lastLineUsed && dMemMap[call.recvPtrBase].base) {\n      HIP_CALL(hipFree(dMemMap[call.recvPtrBase].base));\n    }\n    if (call.graphID && lineNum == graphLife[call.graphID].end) {\n      HIP_CALL(hipStreamSynchronize(streams[call.stream].first));\n      HIP_CALL(hipGraphExecDestroy(graphLife[call.graphID].graphExec));\n      HIP_CALL(hipGraphDestroy(graphLife[call.graphID].graph));\n    }\n    if (call.stream && lineNum == streams[call.stream].second)\n    {\n      if (call.graphCaptured != 1) {\n        HIP_CALL(hipStreamSynchronize(streams[call.stream].first)); // ?\n      }\n      HIP_CALL(hipStreamDestroy(streams[call.stream].first));\n    }\n    lineNum++; // change for a2av\n  }\n}\n\nint main(int argc, char **argv)\n{\n  unsetenv(\"RCCL_REPLAY_FILE\");\n  MPI_Init(&argc, &argv);\n  if (argc <= 1) {\n    printf(\"Usage: %s logfile [numGpusPerMpiRank = 1]\\n\", argv[0]);\n    exit(1);\n  }\n\n  // Parse rank information\n  int mpiRank, numMpiRanks;\n  MPI_Comm_rank(MPI_COMM_WORLD, &mpiRank);\n  MPI_Comm_size(MPI_COMM_WORLD, &numMpiRanks);\n\n  // Parse command line arguments\n  char* logFilename       = argv[1];\n  int   numGpusPerMpiRank = (argc > 2 ? atoi(argv[2]) : 1);\n  /// int   parseOnly         = (argc > 3 ? atoi(argv[3]) : 0);\n  assert(numGpusPerMpiRank == 1);\n\n  // Figure out starting GPU index to use based on hostname\n  int nameLen, pid;\n  char hostname[MPI_MAX_PROCESSOR_NAME];\n  MPI_Get_processor_name(hostname, &nameLen);\n\n  std::string output_file, output_extension;\n  int json_format = ParseLogFormat(logFilename, output_file, output_extension);\n  assert(json_format == 0);\n\n  // Only root handles file-rank assignment to avoid file handle pressure\n  if (mpiRank != 0)\n  {\n    MPI_Gather(hostname, MPI_MAX_PROCESSOR_NAME, MPI_CHAR,\n               NULL, 0, MPI_DATATYPE_NULL, 0, MPI_COMM_WORLD);\n\n    MPI_Scatter(NULL, 0, MPI_DATATYPE_NULL,\n                hostname, MPI_MAX_PROCESSOR_NAME, MPI_CHAR, 0, MPI_COMM_WORLD);\n    MPI_Scatter(NULL, 0, MPI_DATATYPE_NULL,\n                &pid, 1, MPI_INT, 0, MPI_COMM_WORLD);\n  } else {\n    std::vector<char> allhosts(numMpiRanks * MPI_MAX_PROCESSOR_NAME, 0);\n    std::vector<int> pids(numMpiRanks * sizeof(int), 0);\n\n    MPI_Gather(hostname, MPI_MAX_PROCESSOR_NAME, MPI_CHAR,\n               allhosts.data(), MPI_MAX_PROCESSOR_NAME, MPI_CHAR, 0, MPI_COMM_WORLD);\n\n    // All hostnames in the recorded program\n    std::unordered_set<std::string> hostnames;\n    for (int i = 0; i < numMpiRanks; i++)\n    {\n      hostnames.insert(std::string(allhosts.data() + i * MPI_MAX_PROCESSOR_NAME)); // assuming null terminator included\n    }\n\n    // Register all hostnames and pid from recorder logs\n    std::unordered_map<std::string, std::vector<int>> logHosts;\n    int file_pid, a = 0/*counter*/;\n    DIR *d;\n    struct dirent *dir;\n    if (d = opendir(\".\")) {\n      while ((dir = readdir(d)) != NULL) {\n        // MPI_MAX_PROCESSOR_NAME = 256\n        if (sscanf(dir->d_name, (output_file + \".%d.%256[^.]\" + output_extension).c_str(), &file_pid, hostname) == 2)\n        {\n          logHosts[std::string(hostname)].push_back(file_pid);\n          a++;\n        }\n      }\n      closedir(d);\n    }\n    // Double check number of nodes and number of processes match for recorder and replayer\n    assert(logHosts.size() == hostnames.size());\n    assert(a == numMpiRanks);\n    // Assign mapping of replayer hostname to recorder hostname\n    std::unordered_map<std::string, std::string> hostAssignment;\n    auto it = logHosts.begin();\n    for (const auto &host : hostnames)\n    {\n      hostAssignment[host] = (*it).first;\n      it++;\n    }\n    for (int i = 0; i < numMpiRanks; i++)\n    {\n      std::string host(allhosts.data() + i * MPI_MAX_PROCESSOR_NAME);\n      strcpy(allhosts.data() + i * MPI_MAX_PROCESSOR_NAME, hostAssignment[host].c_str());\n      pids[i] = logHosts[hostAssignment[host]].back();\n      logHosts[hostAssignment[host]].pop_back();\n    }\n\n    // Distribute the target log for each rank (pid and hostname)\n    MPI_Scatter(allhosts.data(), MPI_MAX_PROCESSOR_NAME, MPI_CHAR,\n                hostname, MPI_MAX_PROCESSOR_NAME, MPI_CHAR, 0, MPI_COMM_WORLD);\n    MPI_Scatter(pids.data(), 1, MPI_INT,\n                &pid, 1, MPI_INT, 0, MPI_COMM_WORLD);\n  }\n\n  // Initialize Replayer\n  std::string logfile = output_file + \".\" + std::to_string(pid) + \".\" +\n                        std::string(hostname) + output_extension; /// perhaps another func for assemble logname\n  std::cout << mpiRank << \" : \" << logfile<<std::endl;\n  Replayer replayer(logfile, json_format, mpiRank, numMpiRanks);\n\n  if (mpiRank == 0)\n    printf(\"RCCL Replayer version 0: %d ranks x %d gpu/Rank\\n\", numMpiRanks, numGpusPerMpiRank);\n  printf(\"Rank %d [%s]\\n\", mpiRank, hostname);\n\n  replayer.parse();\n  printf(\"Rank %d parsing completed, starting replay\\n\", mpiRank);\n  replayer.replay();\n  MPI_Finalize();\n  return 0;\n}\n"
  },
  {
    "path": "tools/RcclReplayer/rcclReplayer.hpp",
    "content": "/* Copyright © Advanced Micro Devices, Inc., or its affiliates. */\n\n#pragma once\n#include <map>\n#include <unordered_map>\n#include <chrono>\n#include <cstring>\n#include <iostream>\n\n#include <rccl/rccl.h>\n#include <hip/hip_bfloat16.h>\n#include \"hip/hip_fp16.h\"\n\n// Forward declaration for ncclInfo\n// - recorder.h declares functions that take 'const ncclInfo&' as parameter\n// - These functions are only used during recording (by recorder.cc), not during replay\n// - RcclReplayer only uses rcclApiCall struct\nstruct ncclInfo;\n#include \"recorder.h\"\n\n// NOTE: Parsing is based on this line logging collective information in enqueue.cc\n// INFO(NCCL_COLL,\"%s: opCount %lx sendbuff %p recvbuff %p count %zi datatype %d op %d \\\n                   root %d comm %p [nranks=%d] stream %p task %d globalrank %d\",\n//                info->opName, info->comm->opCount, info->sendbuff, info->recvbuff, info->count,\n//                info->datatype, info->op, info->root, info->comm, info->comm->nRanks, info->stream,\n//                info->comm->tasks.nTasksP2p + info->comm->tasks.nTasksColl,\n//                info->comm->localRankToRank[info->comm->localRank]);\n\n#define HIP_CALL(cmd)                                                   \\\n  do {                                                                  \\\n      hipError_t error = (cmd);                                         \\\n      if (error != hipSuccess) {                                        \\\n        printf(\"Encountered HIP error (%s) at line %d in file %s\\n\",    \\\n               hipGetErrorString(error), __LINE__, __FILE__);           \\\n        exit(-1);                                                       \\\n      }                                                                 \\\n  } while (0)\n\n#define NCCL_CALL(cmd)                                          \\\n  do {                                                          \\\n    ncclResult_t res = cmd;                                     \\\n    if (res != ncclSuccess) {                                   \\\n      printf(\"NCCL failure %s:%d '%s'\\n\",                       \\\n             __FILE__,__LINE__,ncclGetErrorString(res));        \\\n    }                                                           \\\n  } while(0)\n\nstruct DeviceMemAllocation\n{\n  void*                 base = NULL;\n  size_t                size = 0;\n  int                   lastLineUsed = -1;\n};\n\nstruct DeviceGraphInfo\n{\n  int                   depth = 0;\n  std::unordered_set<int>\n                        starts;\n  int                   end = -1;\n  hipStream_t           stream = NULL;\n  hipGraph_t            graph = NULL;\n  hipGraphExec_t        graphExec = NULL;\n\n  std::vector<hipEvent_t>\n                        events;\n  int                   counter = 0;\n};\n\n// ncclTypeSize() - extracted from collectives.h to avoid deep dependencies\n// This is the only function we need from info.h/collectives.h\nstatic inline int ncclTypeSize(ncclDataType_t type) {\n  switch (type) {\n  case ncclInt8:\n  case ncclUint8:\n  case ncclFloat8e4m3:\n  case ncclFloat8e5m2:\n    return 1;\n  case ncclFloat16:\n  case ncclBfloat16:\n    return 2;\n  case ncclInt32:\n  case ncclUint32:\n  case ncclFloat32:\n    return 4;\n  case ncclInt64:\n  case ncclUint64:\n  case ncclFloat64:\n    return 8;\n  default:\n    return -1;\n  }\n}\n\nclass Replayer\n{\n private:\n  // rank specific info\n  int                   myRank;\n  int                   numGlobalRanks;\n  /// int numGpusPerMpiRank;\n  /// int localGpuOffset;                                     // First local GPU device idx for this MPI process\n  /// int firstGlobalRank;                                    // First global rank for this MPI process\n  std::ifstream         log;\n\n  // Contextual info parsed from first pass, to assist replay later\n  //  Communicator\n  std::vector<uint64_t>                                 Ids; // all communicators (uniqueIDs) created from commInit, assuming called once only\n  std::unordered_map<uint64_t, std::vector<int>>        idRankMap; // all ranks in the communicator created by an ID on this rank\n\n\n  //  Memory allocation and lifespan\n  std::unordered_map<void*, DeviceMemAllocation>        dMemMap;\n\n  // Resources for replayer, mostly maps from pointer in log to resources in replay time\n  std::unordered_map<uint64_t, ncclUniqueId>            idMap; // replayer uniqueID mapped to logged ones, for ID creator rank only\n  std::unordered_map<ncclComm_t, ncclComm_t>            commMap; // replayer communicator mapped to the logged ones\n\n  std::unordered_map<hipStream_t, std::pair<hipStream_t,int>>\n                                                        streams; // replayer streams mapped to the logged ones // use using later?\n  std::unordered_map<void*, void*>                      handleMap; // UBR handle\n  std::unordered_map<unsigned long long, DeviceGraphInfo>\n                                                        graphLife; // when does a graph (graphID) end and how many node it contains\n\n  // auxiliary variables for replayer\n  ncclUniqueId uniqueID;\n  rccl::rcclCall_t lastCall;\n\n public:\n  Replayer(const std::string& logname, int json_format, int rank, int size);\n  void parse();\n  void replay();\n};"
  },
  {
    "path": "tools/RcclReplayer/replay_log_converter.py",
    "content": "\"\"\"\nRCCLReplayer Log Format Converter\nConverts between JSON and binary log formats for RCCL Replayer\n\nUsage:\n    python3 replay_log_converter.py <base_logname> tobin [new_basename]\n    python3 replay_log_converter.py <base_logname> tojson [new_basename]\n    python3 replay_log_converter.py <base_logname> tojson [new_basename] --standardize\n    python3 replay_log_converter.py <base_logname> --standardize\n    python3 replay_log_converter.py <base_logname> --sanitize\n    python3 replay_log_converter.py <base_logname> --sanitize --nts\n\"\"\"\n\nimport sys\nimport os\nimport struct\nimport re\nimport glob\nimport json\nimport argparse\n\n# rcclCall_t enum mapping (from recorder.h)\nRCCL_CALL_TYPES = {\n    \"Broadcast\": 0,\n    \"Reduce\": 1,\n    \"AllGather\": 2,\n    \"ReduceScatter\": 3,\n    \"AllReduce\": 4,\n    \"AllReduceWithBias\": 5,\n    \"Send\": 6,\n    \"Recv\": 7,\n    \"AllToAll\": 8,\n    \"AllToAllv\": 9,\n    \"Gather\": 10,\n    \"Scatter\": 11,\n    \"Bcast\": 12,\n    \"GroupStart\": 13,\n    \"GroupEnd\": 14,\n    \"GroupSimulatedEnd\": 15,\n    \"GetUniqueId\": 16,\n    \"CommInitDev\": 17,\n    \"CommInitRank\": 18,\n    \"CommInitAll\": 19,\n    \"CommInitRankConfig\": 20,\n    \"CommSplit\": 21,\n    \"CommFinalize\": 22,\n    \"CommDestroy\": 23,\n    \"CommAbort\": 24,\n    \"CommRegister\": 25,\n    \"CommDeregister\": 26,\n    \"MemAlloc\": 27,\n    \"MemFree\": 28,\n    \"RedOpCreatePreMulSum\": 29,\n    \"RedOpDestroy\": 30,\n    \"OtherCall\": 31\n}\n\n# Reverse mapping. This is needed to convert the binary log to JSON.\nRCCL_CALL_NAMES = {v: k for k, v in RCCL_CALL_TYPES.items()}\n\n# Call type groups for cleaner code\nCOMM_LIFECYCLE_CALLS = [\"CommDestroy\", \"CommFinalize\", \"CommAbort\"]\nCOLLECTIVE_CALLS = [\"AllReduce\", \"Reduce\", \"AllGather\", \"ReduceScatter\", \"Broadcast\", \n                    \"Scatter\", \"Gather\", \"Bcast\", \"Send\", \"Recv\", \"AllToAll\", \"AllToAllv\"]\n\n# rcclApiCall struct format (based on recorder.h)\n# Corresponds to the C struct rcclApiCall\nSTRUCT_FORMAT = (\n    'i'  # pid               - 4 bytes\n    'i'  # tid               - 4 bytes\n    'i'  # hipDev            - 4 bytes\n    'i'  # groupDepth        - 4 bytes\n    'd'  # timestamp         - 8 bytes\n    'Q'  # graphID           - 8 bytes\n    'i'  # graphCaptured     - 4 bytes\n    'i'  # type (rcclCall_t) - 4 bytes\n    'Q'  # opCount           - 8 bytes\n    'Q'  # sendbuff          - 8 bytes\n    'Q'  # recvbuff          - 8 bytes\n    'Q'  # acc               - 8 bytes\n    'Q'  # sendPtrBase       - 8 bytes\n    'Q'  # recvPtrBase       - 8 bytes\n    'Q'  # sendPtrExtent     - 8 bytes\n    'Q'  # recvPtrExtent     - 8 bytes\n    'Q'  # count             - 8 bytes\n    'i'  # datatype          - 4 bytes\n    'i'  # op                - 4 bytes\n    'i'  # root              - 4 bytes\n    'i'  # nRanks            - 4 bytes\n    'Q'  # comm              - 8 bytes\n    'Q'  # stream            - 8 bytes\n    'i'  # nTasks            - 4 bytes\n    'i'  # globalRank        - 4 bytes\n    'Q'  # commId            - 8 bytes\n)  # Total: 160 bytes \n\n# Calculate the size of the struct in bytes\nSTRUCT_SIZE = struct.calcsize(STRUCT_FORMAT) \n\nclass Sanitizer:\n    # Tracks and remaps pointer values to human-readable identifiers.\n    \n    # Regex patterns for sanitization (compiled once at class level)\n    HEX_PATTERN = re.compile(r'0x[0-9a-fA-F]+')\n    UNIQUEID_PATTERN = re.compile(r'uniqueID\\s*:\\s*(\\d+)')\n    TIME_PATTERN = re.compile(r'time\\s*:\\s*([\\d.]+)')\n    THREAD_PATTERN = re.compile(r'thread\\s*:\\s*(\\d+)')\n    PID_PATTERN = re.compile(r'pid\\s*:\\s*(\\d+)')\n    CONTEXT_LOOKBACK = 20  # Characters to look back for context detection\n    \n    def __init__(self):\n        self.comm_map = {}\n        self.uniqueid_map = {}\n        self.stream_map = {}\n        self.buffer_map = {}\n        self.handle_map = {}\n        self.thread_map = {}\n        self.pid_map = {}\n    \n    def _sanitize_value(self, value, mapping, prefix):\n        if value is None or value == 0 or value == -1:\n            return value\n        if value not in mapping:\n            mapping[value] = f\"{prefix}_{len(mapping) + 1:03d}\"\n        return mapping[value]\n    \n    def sanitize_comm(self, value):\n        # Sanitize communicator pointer.\n        return self._sanitize_value(value, self.comm_map, \"comm\")\n    \n    def sanitize_uniqueid(self, value):\n        # Sanitize unique ID / commId.\n        return self._sanitize_value(value, self.uniqueid_map, \"uniqueid\")\n    \n    def sanitize_stream(self, value):\n        # Sanitize stream pointer.\n        return self._sanitize_value(value, self.stream_map, \"stream\")\n    \n    def sanitize_buffer(self, value):\n        # Sanitize buffer pointer (sendbuff, recvbuff, acc, base addresses).\n        return self._sanitize_value(value, self.buffer_map, \"buf\")\n    \n    def sanitize_handle(self, value):\n        # Sanitize handle (CommRegister/Deregister).\n        return self._sanitize_value(value, self.handle_map, \"handle\")\n    \n    def sanitize_thread(self, value):\n        # Sanitize thread ID.\n        return self._sanitize_value(value, self.thread_map, \"thread\")\n    \n    def sanitize_pid(self, value):\n        # Sanitize process ID.\n        return self._sanitize_value(value, self.pid_map, \"pid\")\n    \n    def sanitize_by_type(self, value, value_type):\n        # Sanitize a value based on its type.\n        if value_type == 'comm':\n            return self.sanitize_comm(value)\n        elif value_type == 'uniqueid':\n            return self.sanitize_uniqueid(value)\n        elif value_type == 'stream':\n            return self.sanitize_stream(value)\n        elif value_type == 'buffer':\n            return self.sanitize_buffer(value)\n        elif value_type == 'handle':\n            return self.sanitize_handle(value)\n        return value\n    \n    def determine_hex_type(self, line, match_start):\n        # Determine the type of hex value based on context.\n        start = max(0, match_start - self.CONTEXT_LOOKBACK)\n        context = line[start:match_start]\n        \n        if 'comm :' in context or 'newcomm :' in context:\n            return 'comm'\n        elif 'uniqueID :' in context:\n            return 'uniqueid'\n        elif 'stream :' in context:\n            return 'stream'\n        elif any(kw in context for kw in ['addr :', 'base :', 'ptr :', 'acc :']):\n            return 'buffer'\n        elif 'handle :' in context:\n            return 'handle'\n        return None\n\ndef parse_hex_or_int(value_str):\n    # Parse hex (0x...) or decimal integer, handle (nil), or keep sanitized strings\n    value_str = value_str.strip()\n    if value_str == \"(nil)\" or value_str == \"\":\n        return 0\n    try:\n        if value_str.startswith(\"0x\"):\n            return int(value_str, 16)\n        else:\n            return int(value_str)\n    except ValueError:\n        # If it's not a valid number, return the string as-is (e.g., \"comm_001\", \"uniqueid_001\")\n        return value_str\n\ndef format_hex_or_string(value):\n    # Format value as hex if it's an integer, or return as-is if it's a string (sanitized)\n    if isinstance(value, str):\n        return value  # Already a sanitized string like \"comm_001\"\n    elif isinstance(value, int):\n        return hex(value) if value != 0 else \"0x0\"\n    return \"0x0\"\n\ndef parse_buffer_field(line, field_name):\n    # Matches \"field : [... addr : XXX ... base : YYY ... size : ZZZ]\" pattern\n    pattern = rf'{field_name}\\s*:\\s*\\[.*?addr\\s*:\\s*(\\w+).*?base\\s*:\\s*(\\w+).*?size\\s*:\\s*(\\d+)'\n    match = re.search(pattern, line)\n    \n    if match:\n        return {\n            'addr': parse_hex_or_int(match.group(1)),\n            'base': parse_hex_or_int(match.group(2)),\n            'size': parse_hex_or_int(match.group(3))\n        }\n    return None\n\ndef parse_array_field(line, field_name):\n    # Parse array of integers from JSON format like 'sendcounts : []'\n    # Matches \"field : [num1, num2, num3, ...]\" pattern\n    pattern = rf'{field_name}\\s*:\\s*\\[([\\d\\s,]+)\\]'\n    match = re.search(pattern, line)\n    \n    if match:\n        # Split by comma and convert to integers\n        return [int(x.strip()) for x in match.group(1).split(',') if x.strip()]\n    return None\n\ndef format_pointer(val, none_str='(nil)'):\n    # Format pointer value: 0/None -> none_str, string as-is, else hex.\n    if val is None or val == 0:\n        return none_str\n    if isinstance(val, str):\n        return val  # Already a sanitized string like \"comm_001\"\n    return hex(val)\n\ndef format_context(call_data):\n    # Format context string for binary->JSON output.\n    return (f\"context : [pid : {call_data['pid']}, \"\n            f\"time : {call_data['timestamp']:.6f}, \"\n            f\"thread : {call_data['tid']}, \"\n            f\"device : {call_data['hipDev']}, \"\n            f\"groupDepth : {call_data['groupDepth']}, \"\n            f\"captured : {call_data['graphCaptured']}, \"\n            f\"graphID : {call_data['graphID']} ]\")\n\ndef extract_value(line, key):\n    # Extract value after 'key :' in the line\n    # Matches \"key : value\" pattern, capturing everything until comma/bracket/brace\n    pattern = rf'{re.escape(key)}\\s*:\\s*([^,\\]}}]+)'\n    match = re.search(pattern, line)\n    if match:\n        return match.group(1).strip()\n    return None\n\ndef extract_context(line):\n    # Extract context section from line\n    # Matches \"context : [...]]]\" and captures the content between first [ and ]]\n    match = re.search(r'context\\s*:\\s*\\[(.*?)\\]\\]', line)\n    if match:\n        context_str = match.group(1)\n        context = {}\n        context['pid'] = int(extract_value(context_str, 'pid') or '-1')\n        context['time'] = float(extract_value(context_str, 'time') or '-1')\n        context['thread'] = int(extract_value(context_str, 'thread') or '-1')\n        context['device'] = int(extract_value(context_str, 'device') or '-1')\n        context['groupDepth'] = int(extract_value(context_str, 'groupDepth') or '-1')\n        context['captured'] = int(extract_value(context_str, 'captured') or '-1')\n        context['graphID'] = int(extract_value(context_str, 'graphID') or '0')\n        return context\n    return None\n\ndef parse_json_line(line):\n    # Parse a single line of recorder's JSON format into struct field dict.\n    line = line.strip()\n    \n    # Skip empty, braces, version\n    if not line or line in ['{', '}', '},'] or 'version' in line:\n        return None\n    \n    # Extract call type\n    # Matches word characters at start of line followed by colon (e.g., \"CommInitAll :\")\n    match = re.match(r'(\\w+)\\s*:', line)\n    if not match:\n        return None\n    \n    call_type_str = match.group(1)\n    if call_type_str not in RCCL_CALL_TYPES:\n        return None\n    \n    call_type = RCCL_CALL_TYPES[call_type_str]\n    \n    # Initialize struct data with defaults\n    data = {\n        'pid': -1,\n        'tid': -1,\n        'hipDev': -1,\n        'groupDepth': -1,\n        'timestamp': -1.0,\n        'graphID': 0,\n        'graphCaptured': -1,\n        'type': call_type,\n        'opCount': 0,\n        'sendbuff': 0,\n        'recvbuff': 0,\n        'acc': 0,\n        'sendPtrBase': 0,\n        'recvPtrBase': 0,\n        'sendPtrExtent': 0,\n        'recvPtrExtent': 0,\n        'count': 0,\n        'datatype': 0,\n        'op': 0,\n        'root': -1,\n        'nRanks': -1,\n        'comm': 0,\n        'stream': 0,\n        'nTasks': -1,\n        'globalRank': -1,\n        'commId': 0\n    }\n    \n    # Extract context\n    context = extract_context(line)\n    if context:\n        data['pid'] = context['pid']\n        data['timestamp'] = context['time']\n        data['tid'] = context['thread']\n        data['hipDev'] = context['device']\n        data['groupDepth'] = context['groupDepth']\n        data['graphCaptured'] = context['captured']\n        data['graphID'] = context['graphID']\n    \n    # Parse call-specific fields\n    if call_type_str == \"GetUniqueId\":\n        val = extract_value(line, 'uniqueID')\n        if val:\n            data['commId'] = parse_hex_or_int(val)\n    \n    elif call_type_str == \"CommInitRank\":\n        if val := extract_value(line, 'size'):\n            data['nRanks'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'uniqueID'):\n            data['commId'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'rank'):\n            data['globalRank'] = parse_hex_or_int(val)\n    \n    elif call_type_str == \"CommInitDev\":\n        if val := extract_value(line, 'comm'):\n            data['comm'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'size'):\n            data['nRanks'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'uniqueID'):\n            data['commId'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'rank'):\n            data['globalRank'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'dev'):\n            data['root'] = parse_hex_or_int(val)\n    \n    elif call_type_str == \"CommInitAll\":\n        if val := extract_value(line, '# of device'):\n            data['root'] = parse_hex_or_int(val)\n    \n    elif call_type_str == \"CommSplit\":\n        if val := extract_value(line, 'comm'):\n            data['commId'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'color'):\n            data['nRanks'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'key'):\n            data['globalRank'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'newcomm'):\n            data['comm'] = parse_hex_or_int(val)\n    \n    elif call_type_str in COMM_LIFECYCLE_CALLS:\n        if val := extract_value(line, 'comm'):\n            data['comm'] = parse_hex_or_int(val)\n    \n    elif call_type_str == \"MemAlloc\":\n        if val := extract_value(line, 'returned ptr'):\n            data['recvbuff'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'size'):\n            data['count'] = parse_hex_or_int(val)\n    \n    elif call_type_str == \"MemFree\":\n        if val := extract_value(line, 'ptr'):\n            data['recvbuff'] = parse_hex_or_int(val)\n    \n    elif call_type_str == \"CommRegister\":\n        if val := extract_value(line, 'comm'):\n            data['comm'] = parse_hex_or_int(val)\n        # Extract buffer info\n        buff_info = parse_buffer_field(line, 'buff')\n        if buff_info:\n            data['sendbuff'] = buff_info['addr']\n            data['sendPtrBase'] = buff_info['base']\n            data['sendPtrExtent'] = buff_info['size']\n        if val := extract_value(line, 'returned handle'):\n            data['recvbuff'] = parse_hex_or_int(val)\n    \n    elif call_type_str == \"CommDeregister\":\n        if val := extract_value(line, 'comm'):\n            data['comm'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'handle'):\n            data['recvbuff'] = parse_hex_or_int(val)\n    \n    # Collective operations\n    elif call_type < RCCL_CALL_TYPES[\"GroupStart\"]:\n        # Extract buffer sections\n        sendbuff_info = parse_buffer_field(line, 'sendbuff')\n        if sendbuff_info:\n            data['sendbuff'] = sendbuff_info['addr']\n            data['sendPtrBase'] = sendbuff_info['base']\n            data['sendPtrExtent'] = sendbuff_info['size']\n        \n        recvbuff_info = parse_buffer_field(line, 'recvbuff')\n        if recvbuff_info:\n            data['recvbuff'] = recvbuff_info['addr']\n            data['recvPtrBase'] = recvbuff_info['base']\n            data['recvPtrExtent'] = recvbuff_info['size']\n        \n        if val := extract_value(line, 'opCount'):\n            data['opCount'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'acc'):\n            data['acc'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'count'):\n            data['count'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'datatype'):\n            data['datatype'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'op'):\n            data['op'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'root'):\n            data['root'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'comm'):\n            data['comm'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'nranks'):\n            data['nRanks'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'stream'):\n            data['stream'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'task'):\n            data['nTasks'] = parse_hex_or_int(val)\n        if val := extract_value(line, 'globalrank'):\n            data['globalRank'] = parse_hex_or_int(val)\n        \n        # AllToAllv has 4 extra arrays appended after the struct\n        if call_type_str == \"AllToAllv\":\n            data['alltoallv_arrays'] = {\n                'sendcounts': parse_array_field(line, 'sendcounts'),\n                'sdispls': parse_array_field(line, 'sdispls'),\n                'recvcounts': parse_array_field(line, 'recvcounts'),\n                'rdispls': parse_array_field(line, 'rdispls')\n            }\n    \n    return data\n\ndef json_to_bin(json_file, bin_file):\n    # Convert JSON log to binary format\n    print(f\"Converting {json_file} to binary format...\")\n    \n    # Validate input file\n    if not os.path.exists(json_file):\n        print(f\"Error: Input file not found: {json_file}\")\n        return False\n    \n    if os.path.getsize(json_file) == 0:\n        print(f\"Warning: Input file is empty: {json_file}\")\n        return False\n    \n    try:\n        with open(json_file, 'r') as f:\n            lines = f.readlines()\n    except IOError as e:\n        print(f\"Error: Failed to read input file: {json_file}\")\n        print(f\"  {e}\")\n        return False\n    \n    call_count = 0\n    with open(bin_file, 'wb') as f:\n        for line in lines:\n            # Parse the line\n            data = parse_json_line(line)\n            \n            # Skip lines that are just braces or empty\n            if not data:\n                continue\n            \n            # Pack struct\n            packed = struct.pack(\n                STRUCT_FORMAT,\n                data['pid'],\n                data['tid'],\n                data['hipDev'],\n                data['groupDepth'],\n                data['timestamp'],\n                data['graphID'],\n                data['graphCaptured'],\n                data['type'],\n                data['opCount'],\n                data['sendbuff'],\n                data['recvbuff'],\n                data['acc'],\n                data['sendPtrBase'],\n                data['recvPtrBase'],\n                data['sendPtrExtent'],\n                data['recvPtrExtent'],\n                data['count'],\n                data['datatype'],\n                data['op'],\n                data['root'],\n                data['nRanks'],\n                data['comm'],\n                data['stream'],\n                data['nTasks'],\n                data['globalRank'],\n                data['commId']\n            )\n            f.write(packed)\n            \n            # Write extra data for AllToAllv (4 arrays of int32)\n            if data['type'] == RCCL_CALL_TYPES[\"AllToAllv\"] and 'alltoallv_arrays' in data:\n                arrays = data['alltoallv_arrays']\n                nRanks = data.get('nRanks', -1)\n                \n                # Validate nRanks\n                if nRanks <= 0:\n                    print(f\"Warning: Invalid nRanks={nRanks} for AllToAllv at call {call_count + 1}\")\n                    print(f\"Skipping array data write.\")\n                else:\n                    # Write sendcounts, sdispls, recvcounts, rdispls (each is nRanks * int32)\n                    for array_name in ['sendcounts', 'sdispls', 'recvcounts', 'rdispls']:\n                        if arrays.get(array_name):\n                            array_len = len(arrays[array_name])\n                            if array_len != nRanks:\n                                print(f\"Warning: {array_name} length mismatch for AllToAllv at call {call_count + 1}\")\n                                print(f\"Expected {nRanks} elements, got {array_len} elements\")\n                            # Pack as array of int32 (signed 32-bit integers, 4 bytes each)\n                            for val in arrays[array_name]:\n                                f.write(struct.pack('i', val))\n            \n            call_count += 1\n    \n    print(f\"Converted {call_count} calls to binary format: {bin_file} \\n\")\n\ndef bin_to_json(bin_file, json_file):\n    # Convert binary log to JSON format\n    print(f\"Converting {bin_file} to JSON format...\")\n    \n    # Validate input file\n    if not os.path.exists(bin_file):\n        print(f\"Error: Input file not found: {bin_file}\")\n        return False\n    \n    if os.path.getsize(bin_file) == 0:\n        print(f\"Warning: Input file is empty: {bin_file}\")\n        return False\n    \n    file_size = os.path.getsize(bin_file)\n    if file_size < STRUCT_SIZE:\n        print(f\"Error: Input file too small: {bin_file}\")\n        print(f\"  File size: {file_size} bytes, minimum expected: {STRUCT_SIZE} bytes\")\n        return False\n    \n    # Read binary file\n    # Parse all calls first - read sequentially to handle variable-size records\n    all_calls = []\n    record_num = 0\n    try:\n        with open(bin_file, 'rb') as f:\n            while True:\n                # Read the fixed-size struct\n                chunk = f.read(STRUCT_SIZE)\n                if len(chunk) < STRUCT_SIZE:\n                    break  # End of file\n                \n                try:\n                    unpacked = struct.unpack(STRUCT_FORMAT, chunk)\n                except struct.error as e:\n                    print(f\"Error: Failed to unpack record {record_num}\")\n                    print(f\"  Expected {STRUCT_SIZE} bytes, got {len(chunk)} bytes\")\n                    print(f\"  Error: {e}\")\n                    break\n                \n                record_num += 1\n                \n                call_data = {\n                    'pid': unpacked[0],\n                    'tid': unpacked[1],\n                    'hipDev': unpacked[2],\n                    'groupDepth': unpacked[3],\n                    'timestamp': unpacked[4],\n                    'graphID': unpacked[5],\n                    'graphCaptured': unpacked[6],\n                    'type': unpacked[7],\n                    'opCount': unpacked[8],\n                    'sendbuff': unpacked[9],\n                    'recvbuff': unpacked[10],\n                    'acc': unpacked[11],\n                    'sendPtrBase': unpacked[12],\n                    'recvPtrBase': unpacked[13],\n                    'sendPtrExtent': unpacked[14],\n                    'recvPtrExtent': unpacked[15],\n                    'count': unpacked[16],\n                    'datatype': unpacked[17],\n                    'op': unpacked[18],\n                    'root': unpacked[19],\n                    'nRanks': unpacked[20],\n                    'comm': unpacked[21],\n                    'stream': unpacked[22],\n                    'nTasks': unpacked[23],\n                    'globalRank': unpacked[24],\n                    'commId': unpacked[25]\n                }\n                \n                # Read extra data for AllToAllv (4 arrays of nRanks * int32)\n                if call_data['type'] == RCCL_CALL_TYPES[\"AllToAllv\"]:\n                    nRanks = call_data['nRanks']\n                    \n                    # Validate nRanks before reading arrays\n                    if nRanks <= 0:\n                        print(f\"Warning: Invalid nRanks={nRanks} for AllToAllv at record {record_num}\")\n                        print(f\"  Skipping array data read. Arrays will be empty.\")\n                        call_data['alltoallv_arrays'] = {\n                            'sendcounts': [], 'sdispls': [], 'recvcounts': [], 'rdispls': []\n                        }\n                    else:\n                        call_data['alltoallv_arrays'] = {}\n                        for array_name in ['sendcounts', 'sdispls', 'recvcounts', 'rdispls']:\n                            array_data = []\n                            for i in range(nRanks):\n                                val_bytes = f.read(4)  # int32 is 4 bytes\n                                if len(val_bytes) < 4:\n                                    print(f\"Warning: Incomplete {array_name} array for AllToAllv at record {record_num}\")\n                                    print(f\"  Expected {nRanks} elements, got {i} elements\")\n                                    break\n                                array_data.append(struct.unpack('i', val_bytes)[0])\n                            call_data['alltoallv_arrays'][array_name] = array_data\n                \n                all_calls.append(call_data)\n    except IOError as e:\n        print(f\"Error: Failed to read binary file: {bin_file}\")\n        print(f\"  {e}\")\n        return False\n    \n    num_calls = len(all_calls)\n    \n    # Write JSON file\n    with open(json_file, 'w') as f:\n        f.write(\"{\\n\")\n        f.write(\"  version : 1,\\n\")\n        \n        # Track depth for proper indentation (2 + 2*depth spaces)\n        # GroupStart adds opening brace and increments depth\n        # GroupEnd decrements depth and adds closing brace\n        depth = 0\n        \n        i = 0\n        while i < num_calls:\n            call_data = all_calls[i]\n            call_type_name = RCCL_CALL_NAMES.get(call_data['type'], 'OtherCall')\n            \n            # Handle GroupEnd: decrement depth BEFORE writing\n            if call_type_name == \"GroupEnd\":\n                depth -= 1\n                # Write closing brace before GroupEnd\n                indent_for_brace = ' ' * (2 + 2 * depth)\n                f.write(f\"{indent_for_brace}}},\\n\")\n            \n            # Calculate indentation based on current depth\n            indent = ' ' * (2 + 2 * depth)\n            \n            # Format output based on call type\n            context = format_context(call_data)\n            \n            if call_type_name == \"GetUniqueId\":\n                f.write(f\"{indent}{call_type_name} : [uniqueID : {call_data['commId']}, {context}]\")\n            \n            elif call_type_name == \"CommInitRank\":\n                f.write(f\"{indent}{call_type_name} : [size : {call_data['nRanks']}, uniqueID : {call_data['commId']}, rank : {call_data['globalRank']}, {context}]\")\n            \n            elif call_type_name == \"CommInitDev\":\n                f.write(f\"{indent}{call_type_name} : [comm : {hex(call_data['comm'])}, size : {call_data['nRanks']}, uniqueID : {call_data['commId']}, rank : {call_data['globalRank']}, dev : {call_data['root']}, {context}]\")\n            \n            elif call_type_name == \"CommInitAll\":\n                f.write(f\"{indent}{call_type_name} : [# of device : {call_data['root']}, {context}]\")\n            \n            elif call_type_name == \"CommSplit\":\n                # Single CommSplit (shouldn't happen if grouped correctly, but handle it)\n                f.write(f\"{indent}{call_type_name} : [comm : {hex(call_data['commId'])}, color : {call_data['nRanks']}, key : {call_data['globalRank']}, newcomm : {format_pointer(call_data['comm'])}, {context}]\")\n            \n            elif call_type_name in COMM_LIFECYCLE_CALLS:\n                f.write(f\"{indent}{call_type_name} : [comm : {format_pointer(call_data['comm'])}, {context}]\")\n            \n            elif call_type_name == \"MemAlloc\":\n                f.write(f\"{indent}{call_type_name} : [returned ptr : {hex(call_data['recvbuff'])}, size : {call_data['count']}, {context}]\")\n            \n            elif call_type_name == \"MemFree\":\n                f.write(f\"{indent}{call_type_name} : [ptr : {hex(call_data['recvbuff'])}, {context}]\")\n            \n            elif call_type_name == \"CommRegister\":\n                f.write(f\"{indent}{call_type_name} : [comm : {hex(call_data['comm'])}, buff : [addr : {hex(call_data['sendbuff'])}, base : {hex(call_data['sendPtrBase'])}, size : {call_data['sendPtrExtent']}], returned handle : {hex(call_data['recvbuff'])}, {context}]\")\n            \n            elif call_type_name == \"CommDeregister\":\n                f.write(f\"{indent}{call_type_name} : [comm : {hex(call_data['comm'])}, handle : {hex(call_data['recvbuff'])}, {context}]\")\n            \n            # Collective operations\n            elif call_data['type'] < RCCL_CALL_TYPES[\"GroupStart\"]:\n                # Format acc field using format_pointer\n                acc_str = format_pointer(call_data['acc'])\n                f.write(f\"{indent}{call_type_name} : [opCount : {call_data['opCount']}, \")\n                f.write(f\"sendbuff : [addr : {hex(call_data['sendbuff'])}, base : {hex(call_data['sendPtrBase'])}, size : {call_data['sendPtrExtent']}], \")\n                f.write(f\"recvbuff : [addr : {hex(call_data['recvbuff'])}, base : {hex(call_data['recvPtrBase'])}, size : {call_data['recvPtrExtent']}], \")\n                f.write(f\"acc : {acc_str}, \")\n                f.write(f\"count : {call_data['count']}, datatype : {call_data['datatype']}, op : {call_data['op']}, \")\n                f.write(f\"root : {call_data['root']}, comm : {hex(call_data['comm'])}, nranks : {call_data['nRanks']}, \")\n                f.write(f\"stream : {hex(call_data['stream'])}, task : {call_data['nTasks']}, globalrank : {call_data['globalRank']}, {context}]\")\n                \n                # Write AllToAllv arrays if present\n                if call_type_name == \"AllToAllv\" and 'alltoallv_arrays' in call_data:\n                    arrays = call_data['alltoallv_arrays']\n                    for array_name in ['sendcounts', 'sdispls', 'recvcounts', 'rdispls']:\n                        if arrays[array_name]:\n                            array_str = ', '.join(str(x) for x in arrays[array_name])\n                            f.write(f\", {array_name} : [{array_str}]\")\n            \n            else:\n                f.write(f\"{indent}{call_type_name} : [{context}]\")\n            \n            # Add comma and handle GroupStart opening brace\n            if call_type_name == \"GroupStart\":\n                # Write comma after GroupStart, then opening brace on next line\n                f.write(\",\\n\")\n                f.write(f\"{indent}{{\\n\")\n                # Increment depth for content inside the group\n                depth += 1\n            elif i < num_calls - 1:\n                # Regular comma for non-GroupStart calls\n                f.write(\",\\n\")\n            else:\n                f.write(\"\\n\")\n            \n            i += 1\n        \n        f.write(\"}\\n\")\n    \n    print(f\"Converted {num_calls} calls to JSON format: {json_file} \\n\")\n\ndef find_log_files(base_name, extension=None):\n    # Find all log files matching the base name pattern.\n    # Pattern: <basename>.<pid>.<hostname>[.json]\n    \n    # Handle if user provides extension in base_name\n    if base_name.endswith('.json'):\n        base_name = base_name[:-5]\n    \n    # Try different patterns to find matching files\n    if extension == \".json\":\n        # Looking for JSON files: <basename>.*.*.<extension>\n        pattern = f\"{base_name}.*.*.json\"\n    else:\n        # Looking for binary files: <basename>.*.*\n        # But exclude .json files\n        pattern = f\"{base_name}.*.*\"\n    \n    files = []\n    for f in glob.glob(pattern):\n        # For binary mode, skip .json files\n        if extension is None and f.endswith('.json'):\n            continue\n        # Verify it matches the expected pattern: basename.number.text[.json]\n        # This filters out files like basename.json without the pid.hostname\n        base_without_ext = f[:-5] if f.endswith('.json') else f\n        parts = base_without_ext.split('.')\n        if len(parts) >= 3:  # basename.pid.hostname (at least)\n            files.append(f)\n    \n    return sorted(files)\n\ndef sanitize_json_file(input_file, output_file, zero_timestamps=False):\n    # Sanitize JSON log file for easier comparison.\n    print(f\"Sanitizing {input_file} to {output_file}\")\n    \n    try:\n        with open(input_file, 'r') as f:\n            lines = f.readlines()\n    except IOError as e:\n        print(f\"Error reading {input_file}: {e}\")\n        return\n    \n    sanitizer = Sanitizer()\n    min_timestamp = float('inf')\n    \n    # First pass: collect all unique values to build mappings\n    for line in lines:\n        # Collect hex values\n        for match in Sanitizer.HEX_PATTERN.finditer(line):\n            hex_val = int(match.group(), 16)\n            if hex_val > 0:\n                value_type = sanitizer.determine_hex_type(line, match.start())\n                if value_type:\n                    sanitizer.sanitize_by_type(hex_val, value_type)\n        \n        # Collect decimal uniqueID values\n        for match in Sanitizer.UNIQUEID_PATTERN.finditer(line):\n            uniqueid_val = int(match.group(1))\n            if uniqueid_val > 0:\n                sanitizer.sanitize_uniqueid(uniqueid_val)\n        \n        # Collect thread IDs\n        for match in Sanitizer.THREAD_PATTERN.finditer(line):\n            thread_val = int(match.group(1))\n            if thread_val > 0:\n                sanitizer.sanitize_thread(thread_val)\n        \n        # Collect PIDs\n        for match in Sanitizer.PID_PATTERN.finditer(line):\n            pid_val = int(match.group(1))\n            if pid_val > 0:\n                sanitizer.sanitize_pid(pid_val)\n        \n        # Find minimum timestamp (only if not zero_timestamps mode)\n        if not zero_timestamps:\n            time_match = Sanitizer.TIME_PATTERN.search(line)\n            if time_match:\n                timestamp = float(time_match.group(1))\n                if timestamp > 0:\n                    min_timestamp = min(min_timestamp, timestamp)\n    \n    if min_timestamp == float('inf'):\n        min_timestamp = 0.0\n    \n    # Second pass: replace values in-place\n    try:\n        with open(output_file, 'w') as f:\n            for line in lines:\n                new_line = line\n                \n                # Replace hex values\n                for match in reversed(list(Sanitizer.HEX_PATTERN.finditer(line))):\n                    hex_val = int(match.group(), 16)\n                    if hex_val == 0:\n                        replacement = '(nil)'\n                    else:\n                        value_type = sanitizer.determine_hex_type(line, match.start())\n                        if value_type:\n                            replacement = sanitizer.sanitize_by_type(hex_val, value_type)\n                        else:\n                            replacement = match.group()\n                    \n                    # Replace from end to start to preserve match positions\n                    new_line = new_line[:match.start()] + replacement + new_line[match.end():]\n                \n                # Replace decimal uniqueID values\n                for match in reversed(list(Sanitizer.UNIQUEID_PATTERN.finditer(new_line))):\n                    uniqueid_val = int(match.group(1))\n                    if uniqueid_val > 0:\n                        sanitized = sanitizer.sanitize_uniqueid(uniqueid_val)\n                        replacement = f\"uniqueID : {sanitized}\"\n                        new_line = new_line[:match.start()] + replacement + new_line[match.end():]\n                \n                # Replace thread IDs\n                for match in reversed(list(Sanitizer.THREAD_PATTERN.finditer(new_line))):\n                    thread_val = int(match.group(1))\n                    if thread_val > 0:\n                        sanitized = sanitizer.sanitize_thread(thread_val)\n                        replacement = f\"thread : {sanitized}\"\n                        new_line = new_line[:match.start()] + replacement + new_line[match.end():]\n                \n                # Replace PIDs\n                for match in reversed(list(Sanitizer.PID_PATTERN.finditer(new_line))):\n                    pid_val = int(match.group(1))\n                    if pid_val > 0:\n                        sanitized = sanitizer.sanitize_pid(pid_val)\n                        replacement = f\"pid : {sanitized}\"\n                        new_line = new_line[:match.start()] + replacement + new_line[match.end():]\n                \n                # Replace timestamps\n                for match in reversed(list(Sanitizer.TIME_PATTERN.finditer(new_line))):\n                    timestamp = float(match.group(1))\n                    if zero_timestamps:\n                        normalized = 0.0\n                    else:\n                        normalized = timestamp - min_timestamp\n                    replacement = f\"time : {normalized:.6f}\"\n                    new_line = new_line[:match.start()] + replacement + new_line[match.end():]\n                \n                f.write(new_line)\n    except IOError as e:\n        print(f\"Error writing to {output_file}: {e}\")\n        return\n\ndef standardize_json_file(input_file, output_file):\n    # Convert non-standard JSON to standard parseable JSON\n    print(f\"Standardizing {input_file} to {output_file}...\")\n    \n    with open(input_file, 'r') as f:\n        lines = f.readlines()\n    \n    # Parse the non-standard JSON and convert to standard\n    result = {\n        \"version\": 1,\n        \"calls\": []\n    }\n    \n    in_group = False\n    current_group = []\n    \n    for line in lines:\n        stripped = line.strip()\n        \n        # Skip root braces and version line\n        if stripped == '{' and not result[\"calls\"]:  # Root opening brace\n            continue\n        if stripped.startswith('version'):\n            continue\n        if stripped == '}' and not in_group:  # Root closing brace\n            continue\n        \n        # Detect group start (for CommSplit grouping)\n        if stripped == '{':\n            in_group = True\n            current_group = []\n            continue\n        \n        # Detect group end\n        if stripped in ['}', '},']:\n            if in_group and current_group:\n                result[\"calls\"].append({\n                    \"type\": \"GroupedCalls\",\n                    \"calls\": current_group\n                })\n                current_group = []\n                in_group = False\n            continue\n        \n        # Parse call line\n        call_dict = parse_nonstandard_json_line(stripped)\n        if call_dict:\n            if in_group:\n                current_group.append(call_dict)\n            else:\n                result[\"calls\"].append(call_dict)\n    \n    # Write standard JSON\n    with open(output_file, 'w') as f:\n        json.dump(result, f, indent=2)\n    \n    # print(f\"Standardized to {output_file}\")\n\ndef transform_struct_to_standard_json(struct_data, call_type_str):\n    # Transform struct-format dict (from parse_json_line) to standard JSON format dict.\n    if not struct_data:\n        return None\n    \n    call_dict = {\"type\": call_type_str}\n    \n    # Transform context - include all available fields\n    context = {}\n    if struct_data.get('pid') is not None:\n        context[\"pid\"] = struct_data['pid']\n    if struct_data.get('timestamp') is not None:\n        context[\"time\"] = struct_data['timestamp']\n    if struct_data.get('tid') is not None:\n        context[\"thread\"] = struct_data['tid']\n    if struct_data.get('hipDev') is not None:\n        context[\"device\"] = struct_data['hipDev']\n    if struct_data.get('groupDepth') is not None:\n        context[\"groupDepth\"] = struct_data['groupDepth']\n    if struct_data.get('graphCaptured') is not None:\n        context[\"captured\"] = struct_data['graphCaptured']\n    if struct_data.get('graphID') is not None:\n        context[\"graphID\"] = struct_data['graphID']\n    \n    # Only add context if we have fields\n    if context:\n        call_dict[\"context\"] = context\n    \n    # Call-specific field transformations\n    if call_type_str == \"GetUniqueId\":\n        if struct_data.get('commId'):\n            call_dict[\"uniqueID\"] = struct_data['commId']\n    \n    elif call_type_str == \"CommInitAll\":\n        if struct_data.get('root') != -1:\n            call_dict[\"num_devices\"] = struct_data['root']\n    \n    elif call_type_str == \"CommInitRank\":\n        if struct_data.get('nRanks') != -1:\n            call_dict[\"size\"] = struct_data['nRanks']\n        if struct_data.get('commId'):\n            call_dict[\"uniqueID\"] = struct_data['commId']\n        if struct_data.get('globalRank') != -1:\n            call_dict[\"rank\"] = struct_data['globalRank']\n    \n    elif call_type_str == \"CommInitDev\":\n        if struct_data.get('comm'):\n            call_dict[\"comm\"] = format_pointer(struct_data['comm'], None)\n        if struct_data.get('nRanks') != -1:\n            call_dict[\"size\"] = struct_data['nRanks']\n        if struct_data.get('commId'):\n            call_dict[\"uniqueID\"] = struct_data['commId']\n        if struct_data.get('globalRank') != -1:\n            call_dict[\"rank\"] = struct_data['globalRank']\n        if struct_data.get('root') != -1:\n            call_dict[\"dev\"] = struct_data['root']\n    \n    elif call_type_str == \"CommSplit\":\n        if struct_data.get('commId'):\n            call_dict[\"comm\"] = format_hex_or_string(struct_data['commId'])\n        if struct_data.get('nRanks') != -1:\n            call_dict[\"color\"] = struct_data['nRanks']\n        if struct_data.get('globalRank') != -1:\n            call_dict[\"key\"] = struct_data['globalRank']\n        if struct_data.get('comm'):\n            call_dict[\"newcomm\"] = format_pointer(struct_data['comm'], None)\n    \n    elif call_type_str in COMM_LIFECYCLE_CALLS:\n        if struct_data.get('comm'):\n            call_dict[\"comm\"] = format_pointer(struct_data['comm'], None)\n    \n    elif call_type_str == \"MemAlloc\":\n        if struct_data.get('recvbuff'):\n            call_dict[\"returned_ptr\"] = format_hex_or_string(struct_data['recvbuff'])\n        if struct_data.get('count'):\n            call_dict[\"size\"] = struct_data['count']\n    \n    elif call_type_str == \"MemFree\":\n        if struct_data.get('recvbuff'):\n            call_dict[\"ptr\"] = format_hex_or_string(struct_data['recvbuff'])\n    \n    elif call_type_str == \"CommRegister\":\n        if struct_data.get('comm'):\n            call_dict[\"comm\"] = format_hex_or_string(struct_data['comm'])\n        if struct_data.get('sendbuff') or struct_data.get('sendPtrBase') or struct_data.get('sendPtrExtent'):\n            call_dict[\"buffer\"] = {\n                \"addr\": format_pointer(struct_data.get('sendbuff'), \"0x0\"),\n                \"base\": format_pointer(struct_data.get('sendPtrBase'), \"0x0\"),\n                \"size\": struct_data.get('sendPtrExtent', 0)\n            }\n        if struct_data.get('recvbuff'):\n            call_dict[\"returned_handle\"] = format_hex_or_string(struct_data['recvbuff'])\n    \n    elif call_type_str == \"CommDeregister\":\n        if struct_data.get('comm'):\n            call_dict[\"comm\"] = format_hex_or_string(struct_data['comm'])\n        if struct_data.get('recvbuff'):\n            call_dict[\"handle\"] = format_hex_or_string(struct_data['recvbuff'])\n    \n    # Collective operations\n    elif call_type_str in COLLECTIVE_CALLS:\n        if struct_data.get('opCount') is not None:\n            call_dict[\"opCount\"] = str(struct_data['opCount'])\n        \n        # sendbuff\n        if struct_data.get('sendbuff') or struct_data.get('sendPtrBase') or struct_data.get('sendPtrExtent'):\n            call_dict[\"sendbuff\"] = {\n                \"addr\": format_hex_or_string(struct_data.get('sendbuff', 0)),\n                \"base\": format_hex_or_string(struct_data.get('sendPtrBase', 0)),\n                \"size\": struct_data.get('sendPtrExtent', 0)\n            }\n        \n        # recvbuff\n        if struct_data.get('recvbuff') or struct_data.get('recvPtrBase') or struct_data.get('recvPtrExtent'):\n            call_dict[\"recvbuff\"] = {\n                \"addr\": format_hex_or_string(struct_data.get('recvbuff', 0)),\n                \"base\": format_hex_or_string(struct_data.get('recvPtrBase', 0)),\n                \"size\": struct_data.get('recvPtrExtent', 0)\n            }\n        \n        if 'acc' in struct_data:\n            call_dict[\"acc\"] = format_pointer(struct_data['acc'], None)\n        if struct_data.get('count') is not None:\n            call_dict[\"count\"] = struct_data['count']\n        if struct_data.get('datatype') is not None:\n            call_dict[\"datatype\"] = struct_data['datatype']\n        if struct_data.get('op') is not None:\n            call_dict[\"op\"] = struct_data['op']\n        if struct_data.get('root') != -1:\n            call_dict[\"root\"] = struct_data['root']\n        if struct_data.get('comm'):\n            call_dict[\"comm\"] = format_hex_or_string(struct_data['comm'])\n        if struct_data.get('nRanks') != -1:\n            call_dict[\"nranks\"] = struct_data['nRanks']\n        if struct_data.get('stream'):\n            call_dict[\"stream\"] = format_hex_or_string(struct_data['stream'])\n        if struct_data.get('nTasks') != -1:\n            call_dict[\"task\"] = struct_data['nTasks']\n        if struct_data.get('globalRank') != -1:\n            call_dict[\"globalrank\"] = struct_data['globalRank']\n        \n        # AllToAllv arrays\n        if call_type_str == \"AllToAllv\" and 'alltoallv_arrays' in struct_data:\n            arrays = struct_data['alltoallv_arrays']\n            for array_name in ['sendcounts', 'sdispls', 'recvcounts', 'rdispls']:\n                if arrays.get(array_name):\n                    call_dict[array_name] = arrays[array_name]\n    \n    return call_dict\n\ndef parse_nonstandard_json_line(line):\n    # Parse a single line of recorder's JSON into standard JSON format dict.\n    # First parse using the main parsing function\n    struct_data = parse_json_line(line)\n    if not struct_data:\n        return None\n    \n    # Get the call type string\n    call_type_str = RCCL_CALL_NAMES.get(struct_data['type'], 'OtherCall')\n    \n    # Transform struct format to standard JSON format\n    return transform_struct_to_standard_json(struct_data, call_type_str)\n\ndef main():\n    parser = argparse.ArgumentParser(\n        description='RCCLReplayer Log Format Converter',\n        formatter_class=argparse.RawDescriptionHelpFormatter,\n        epilog=__doc__\n    )\n    \n    parser.add_argument('base_name', help='Base log name (e.g., std-logs-8ranks)')\n    parser.add_argument('mode', nargs='?', choices=['tobin', 'tojson'], \n                       help='Conversion mode (optional if using --standardize or --sanitize)')\n    parser.add_argument('new_base_name', nargs='?', help='New base name for output files (optional)')\n    parser.add_argument('--standardize', action='store_true',\n                       help='Generate standard JSON format (parseable by standard JSON parsers)')\n    parser.add_argument('--sanitize', action='store_true',\n                       help='Sanitize JSON logs in-place (normalize pointers and timestamps)')\n    parser.add_argument('--no-timestamp', '--nts', action='store_true',\n                       help='Set all timestamps to 0.0 (use with --sanitize)')\n    \n    args = parser.parse_args()\n    \n    base_name = args.base_name\n    mode = args.mode.lower() if args.mode else None\n    new_base_name = args.new_base_name\n    standardize = args.standardize\n    sanitize = args.sanitize\n    no_timestamp = args.no_timestamp\n    \n    # Validate that --no-timestamp is only used with --sanitize\n    if no_timestamp and not sanitize:\n        print(\"Error: --no-timestamp can only be used with --sanitize\")\n        sys.exit(1)\n    \n    # Handle --sanitize without mode (sanitize existing JSON files)\n    if sanitize and not mode:\n        files = find_log_files(base_name, extension=\".json\")\n        \n        if not files:\n            print(f\"Error: No JSON files found matching pattern '{base_name}.*.*.json'\")\n            sys.exit(1)\n        \n        # Filter out files that are already sanitized or standardized\n        files = [f for f in files if '.sanitized.' not in f and '.standard.' not in f]\n        \n        if not files:\n            print(f\"Error: No non-sanitized JSON files found matching pattern '{base_name}.*.*.json'\")\n            sys.exit(1)\n        \n        print(f\"Found {len(files)} JSON file(s) to sanitize:\")\n        for f in files:\n            print(f\"  - {f}\")\n        print()\n        \n        success_count = 0\n        for json_file in files:\n            # Sanitize JSON file\n            try:\n                sanitize_json_file(json_file, json_file, no_timestamp)\n                success_count += 1\n            except Exception as e:\n                print(f\"Error sanitizing {json_file}: {e}\")\n                import traceback\n                traceback.print_exc()\n        \n        print(f\"\\nSuccessfully sanitized {success_count}/{len(files)} file(s)\")\n        return\n    \n    # Handle --standardize without mode (standardize existing JSON files)\n    if standardize and not mode:\n        files = find_log_files(base_name, extension=\".json\")\n        \n        if not files:\n            print(f\"Error: No JSON files found matching pattern '{base_name}.*.*.json'\")\n            sys.exit(1)\n        \n        # Filter out files that are already standardized (contain .standard. in filename)\n        files = [f for f in files if '.standard.' not in f]\n        \n        if not files:\n            print(f\"Error: No non-standard JSON files found matching pattern '{base_name}.*.*.json'\")\n            sys.exit(1)\n        \n        print(f\"Found {len(files)} JSON file(s) to standardize:\")\n        for f in files:\n            print(f\"  - {f}\")\n        print()\n        \n        success_count = 0\n        for json_file in files:\n            # Create standard filename: name.json -> name.standard.json\n            if new_base_name:\n                standard_file = json_file.replace(base_name, new_base_name, 1).replace('.json', '.standard.json')\n            else:\n                standard_file = json_file.replace('.json', '.standard.json')\n            \n            try:\n                standardize_json_file(json_file, standard_file)\n                success_count += 1\n            except Exception as e:\n                print(f\"Error standardizing {json_file}: {e}\")\n        \n        print(f\"\\nSuccessfully standardized {success_count}/{len(files)} file(s)\")\n        return\n    \n    # Require mode if not using --standardize alone\n    if not mode:\n        print(\"Error: mode (tobin/tojson) required when not using --standardize alone\")\n        parser.print_help()\n        sys.exit(1)\n    \n    if mode == \"tobin\":\n        # Find all JSON files matching the pattern\n        files = find_log_files(base_name, extension=\".json\")\n        \n        if not files:\n            print(f\"Error: No JSON files found matching pattern '{base_name}.*.*.json'\")\n            sys.exit(1)\n        \n        # Filter out files that are already processed (standardized or sanitized)\n        files = [f for f in files if '.standard.' not in f and '.sanitized.' not in f]\n        \n        if not files:\n            print(f\"Error: No non-converted JSON files found matching pattern '{base_name}.*.*.json'\")\n            sys.exit(1)\n        \n        print(f\"Found {len(files)} JSON file(s) to convert:\")\n        for f in files:\n            print(f\"  - {f}\")\n        print()\n        \n        success_count = 0\n        for json_file in files:\n            if new_base_name:\n                # Replace base name and remove .json extension\n                bin_file = json_file.replace(base_name, new_base_name, 1)[:-5]\n            else:\n                # Remove .json extension for binary output\n                bin_file = json_file[:-5]\n            \n            try:\n                json_to_bin(json_file, bin_file)\n                success_count += 1\n            except Exception as e:\n                print(f\"Error converting {json_file}: {e}\")\n        \n        print(f\"\\nSuccessfully converted {success_count}/{len(files)} file(s)\")\n    \n    elif mode == \"tojson\":\n        # Find all binary files matching the pattern\n        files = find_log_files(base_name, extension=None)\n        \n        if not files:\n            print(f\"Error: No binary files found matching pattern '{base_name}.*.*'\")\n            sys.exit(1)\n        \n        print(f\"Found {len(files)} binary file(s) to convert:\")\n        for f in files:\n            print(f\"  - {f}\")\n        print()\n        \n        success_count = 0\n        for bin_file in files:\n            if new_base_name:\n                # Replace base name and add .json extension\n                json_file = bin_file.replace(base_name, new_base_name, 1) + '.json'\n            else:\n                # Add .json extension for JSON output\n                json_file = bin_file + '.json'\n            \n            try:\n                bin_to_json(bin_file, json_file)\n                success_count += 1\n                \n                # If --sanitize, sanitize the JSON file in-place\n                if sanitize:\n                    try:\n                        sanitize_json_file(json_file, json_file, no_timestamp)\n                    except Exception as e:\n                        print(f\"Error sanitizing {json_file}: {e}\")\n                \n                # If --standardize, also generate standard JSON\n                if standardize:\n                    standard_file = json_file.replace('.json', '.standard.json')\n                    try:\n                        standardize_json_file(json_file, standard_file)\n                    except Exception as e:\n                        print(f\"Error standardizing {json_file}: {e}\")\n                \n            except Exception as e:\n                print(f\"Error converting {bin_file}: {e}\")\n        \n        print(f\"\\nSuccessfully converted {success_count}/{len(files)} file(s)\")\n        if sanitize:\n            print(\"Sanitized JSON files\")\n        if standardize:\n            print(\"Generated standard JSON files with '.standard.json' extension\")\n    \n    else:\n        print(f\"Error: Unknown mode '{mode}'. Use 'tobin' or 'tojson'\")\n        sys.exit(1)\n\nif __name__ == \"__main__\":\n    main()\n\n"
  },
  {
    "path": "tools/TopoVisual/README.md",
    "content": "# Topology Visualizer\nTopology Visualizer extracts topology information from RCCL log file and presents graphically. Less than optimal connections between GPUs and nodes are highlighted in red for easy identification.\n\n## Requirements\nFollowing packages are required to run Topology Visualizer:\n1. gawk\n2. graphviz\n\n## Usage\nTopology Visualizer accepts both RCCL log files or simulator output, i.e. [Topology Explorer](https://github.com/ROCm/rccl/tree/master/tools/topo_expl \"Topology Explorer\").\n\nRCCL logs needs to be collected with NCCL_DEBUG=INFO and NCCL_DEBUG_SUBSYS=INIT,GRAPH environmental variables. Example command line:\n```shell\nmpirun -np 4 -host rocm-framework-1,rocm-framework-3,rocm-framework-5,rocm-framework-6 \\\n  -env HSA_FORCE_FINE_GRAIN_PCIE 1 -env NCCL_DEBUG INFO -env NCCL_DEBUG_SUBSYS INIT,GRAPH \\\n  ~/rccl-tests/build/all_reduce_perf -b 8 -e 128M -f 2 -g 8 | tee ~/4_nodes.log\n\n./topo_visual.sh -i 4_nodes.log\n```\n\n## Legend\n\nSolid lines: connections over P2P or shared memory\n\nDashed lines: connections over network\n\nGreen: P2P connections, network connections with GPU RDMA\n\nRed: Connections over shared memory or without GPU RDMA\n\n## Example Output\n![image info](./4_nodes.log.png)\n\n## Copyright\nAll source code and accompanying documentation are copyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.\n"
  },
  {
    "path": "tools/TopoVisual/extract_topo.awk",
    "content": "#!/usr/bin/gawk -f\n# Copyright (c) 2019-2021 Advanced Micro Devices, Inc. All rights reserved.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in\n# all copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n# THE SOFTWARE.# Usage:\n\nBEGIN {\n  max_rank=0\n  rings[\"\"]=0\n  max_ring=0\n  treedns[\"\"]=0\n  max_treedn=0\n  conn[\"\"]=0\n  has_collnet=0\n  max_collnet=0\n  max_collnet_rank=0\n  max_collnet_channel=0\n  collnet[\"\"]=0\n  collnet_conn[\"\"]=0\n  collnet_conn_type[\"\"]=0\n  col_start=2\n  col_p1=col_start+1\n  col_p2=col_start+2\n  col_p3=col_start+3\n  col_p4=col_start+4\n  col_p5=col_start+5\n  col_p6=col_start+6\n  col_p7=col_start+7\n  col_p8=col_start+8\n}\n\n{\n  if($3==\"NCCL\" && $4==\"INFO\" && col_start==2) {\n    col_start=5\n    col_p1=col_start+1\n    col_p2=col_start+2\n    col_p3=col_start+3\n    col_p4=col_start+4\n    col_p5=col_start+5\n    col_p6=col_start+6\n    col_p7=col_start+7\n    col_p8=col_start+8\n  }\n\n  if($5==\"NCCL\" && $6==\"INFO\" && col_start==2) {\n    col_start=7\n    col_p1=col_start+1\n    col_p2=col_start+2\n    col_p3=col_start+3\n    col_p4=col_start+4\n    col_p5=col_start+5\n    col_p6=col_start+6\n    col_p7=col_start+7\n    col_p8=col_start+8\n  }\n\n  if($col_start==\"Ring\" && $col_p4==\"->\" && $col_p6==\"->\") {\n    chan=strtonum($col_p1)\n    rank=strtonum($col_p5)\n    next_rank=strtonum($col_p7)\n    rings[rank \",\" next_rank \",\" chan]=\"1\"\n    if(chan>max_ring)\n      max_ring=chan\n    if(rank>max_rank)\n      max_rank=rank\n  }\n\n  if($col_start==\"Trees\") {\n    col_1=col_start+1\n    col_2=col_start+2\n    do {\n      match($col_1, /\\[([0-9]+)\\]/, ary)\n      chan=strtonum(ary[1])\n      where = match($col_2, /(\\-?[0-9]+)\\/(\\-?[0-9]+)\\/(\\-?[0-9]+)\\->(\\-?[0-9]+)\\->(\\-?[0-9]+)\\|(\\-?[0-9]+)\\->(\\-?[0-9]+)\\->(\\-?[0-9]+)\\/(\\-?[0-9]+)\\/(\\-?[0-9]+)/, ary)\n      if(where != 0) {\n        if(ary[8]!=\"-1\")\n          treedns[ary[7] \",\" ary[8] \",\" chan]=\"1\"\n        if(ary[9]!=\"-1\")\n          treedns[ary[7] \",\" ary[9] \",\" chan]=\"1\"\n        if(ary[10]!=\"-1\")\n          treedns[ary[7] \",\" ary[10] \",\" chan]=\"1\"\n      } else {\n        where = match($col_2, /(\\-?[0-9]+)\\/(\\-?[0-9]+)\\/(\\-?[0-9]+)\\->(\\-?[0-9]+)\\->(\\-?[0-9]+)/, ary)\n        if(where != 0) {\n          if(ary[1]!=\"-1\")\n            treedns[ary[4] \",\" ary[1] \",\" chan]=\"1\"\n          if(ary[2]!=\"-1\")\n            treedns[ary[4] \",\" ary[2] \",\" chan]=\"1\"\n          if(ary[3]!=\"-1\")\n            treedns[ary[4] \",\" ary[3] \",\" chan]=\"1\"\n        }\n      }\n      if(chan>max_treedn)\n        max_treedn=chan\n      col_1=col_1+2\n      col_2=col_2+2\n    } while ($col_1!=\"\")\n  }\n\n  if($col_start==\"CollNet\" && $col_p1==\"channel\" && $col_p5==\"down\") {\n    channel=strtonum($col_p2)\n    up_rank=strtonum($col_p4)\n    if(up_rank>max_collnet_rank)\n      max_collnet_rank=up_rank\n    for(s=col_p6;s<=NF;s++) {\n      if($s==\"nDown\") break;\n      rank=$s\n      collnet[up_rank \",\" rank]=\"1\"\n      if(rank>max_collnet_rank)\n        max_collnet_rank=rank\n    }\n    if(has_collnet==0)\n      has_collnet=1\n    if(channel>max_collnet_channel)\n      max_collnet_channel=channel\n  }\n\n  if($col_start==\"Coll\" && $col_p2==\":\") {\n    chan=strtonum($col_p1)\n    rank=strtonum($col_p3)\n    if($col_p4==\"[receive]\")\n      collnet_conn[rank \",\" chan]=0\n    else if($col_p4==\"[send]\")\n      collnet_conn[rank \",\" chan]=1\n    else\n      printf \"Error!\\n\"\n    collnet_conn_type[rank \",\" chan]=$col_p6\n    if(chan>max_collnet)\n      max_collnet=chan\n  }\n\n  if($col_p6==\"via\") {\n    match($col_p1, /([0-9]+)/, ary)\n    chan=strtonum(ary[1])\n    match($col_p3, /([0-9]+)\\[.*\\]/, ary)\n    s=ary[1]\n    match($col_p5, /([0-9]+)\\[.*\\]/, ary)\n    d=ary[1]\n    if(!((s \",\" d \",\" chan) in conn) || match($col_p7,\"NET\"))\n      conn[s \",\" d \",\" chan]=$col_p7\n  }\n\n  if($col_p6==\"[receive]\" && $col_p7==\"via\") {\n    match($col_p1, /([0-9]+)/, ary)\n    chan=strtonum(ary[1])\n    match($col_p3, /([0-9]+)\\[.*\\]/, ary)\n    s=ary[1]\n    match($col_p5, /([0-9]+)\\[.*\\]/, ary)\n    d=ary[1]\n    if(!((s \",\" d \",\" chan) in conn) || match($col_p8,\"NET\"))\n      conn[s \",\" d \",\" chan]=$col_p8\n  }\n}\n\nEND {\n  printf \"digraph RCCL {\\n\"\n  for(r=0;r<max_treedn+1;r++) {\n    printf \"  subgraph tree_%d {\\n\", r\n    for(s=0;s<=max_rank;s++) {\n      for(d=0;d<=max_rank;d++) {\n        if ((s \",\" d \",\" r) in treedns) {\n          val=conn[s \",\" d \",\" r]\n          style=\"solid\"\n          color=\"red\"\n          if (match(val,\"NET\")) {\n            style=\"dashed\"\n            if (match(val,\"GDRDMA\"))\n              color=\"green\"\n          }\n          if (match(val,\"P2P\")) {\n            color=\"green\"\n          }\n          printf \"    t%d_%d -> t%d_%d [label=\\\"%s\\\",color=\\\"%s\\\",style=\\\"%s\\\",fontname=\\\"Helvetica\\\"];\\n\", r, s, r, d, val, color, style\n        }\n      }\n    }\n    printf \"\\n\"\n    for(s=0;s<=max_rank;s++) {\n      printf \"    t%d_%d [label=\\\"%d\\\",fontsize=\\\"28\\\"];\\n\", r, s, s\n    }\n    printf \"  }\\n\\n\"\n  }\n\n  for(r=0;r<max_ring+1;r++) {\n    remove_ring=0\n    for(s=0;s<=max_rank;s++) {\n      for(d=0;d<=max_rank;d++) {\n        if ((s \",\" d \",\" r) in rings && !((s \",\" d \",\" r) in conn)) {\n          remove_ring=1\n          break;\n        }\n      }\n      if(d<=max_rank)\n        break;\n    }\n    if (remove_ring!=0)\n      continue\n    printf \"  subgraph ring_%d {\\n\", r\n    for(s=0;s<=max_rank;s++) {\n      for(d=0;d<=max_rank;d++) {\n        if ((s \",\" d \",\" r) in rings) {\n          val=conn[s \",\" d \",\" r]\n          style=\"solid\"\n          color=\"red\"\n          if (match(val,\"NET\")) {\n            style=\"dashed\"\n            if (match(val,\"GDRDMA\"))\n              color=\"green\"\n          }\n          if (match(val,\"P2P\")) {\n            color=\"green\"\n          }\n          printf \"    r%d_%d -> r%d_%d [label=\\\"%s\\\",color=\\\"%s\\\",style=\\\"%s\\\",fontname=\\\"Helvetica\\\"];\\n\", r, s, r, d, val, color, style\n        }\n      }\n    }\n    printf \"\\n\"\n    for(s=0;s<=max_rank;s++) {\n      printf \"    r%d_%d [label=\\\"%d\\\",fontsize=\\\"28\\\"];\\n\", r, s, s\n    }\n    printf \"  }\\n\\n\"\n  }\n\n  for(r=0; has_collnet && r<=max_collnet; r++) {\n    printf \"  subgraph collnet_%d {\\n\", r\n    num_top_ranks=0\n    rank_switch=max_collnet_rank+1\n    for(s=0;s<=max_collnet_rank;s++) {\n      if((s \",\" r) in collnet_conn_type)\n        top_ranks[num_top_ranks++]=s\n    }\n    for(d=0; d<num_top_ranks; d++) {\n      rank=top_ranks[d]\n      send=collnet_conn[rank \",\" r]\n      val=collnet_conn_type[rank \",\" r]\n      style=\"solid\"\n      color=\"red\"\n      if (match(val,\"COLLNET\")) {\n        style=\"dashed\"\n        if (match(val,\"GDRDMA\"))\n          color=\"green\"\n      }\n      printf \"    c%d_%d -> c%d_%d [label=\\\"%s\\\",color=\\\"%s\\\",style=\\\"%s\\\",fontname=\\\"Helvetica\\\"];\\n\", r, rank_switch, r, rank, val, color, style\n      for(s=0;s<=max_collnet_rank;s++) {\n        if((rank \",\" s) in collnet) {\n          style=\"solid\"\n          color=\"green\"\n          printf \"    c%d_%d -> c%d_%d [label=\\\"%s\\\",color=\\\"%s\\\",style=\\\"%s\\\",fontname=\\\"Helvetica\\\"];\\n\", r, rank, r, s, \"\", color, style\n        }\n      }\n    }\n    printf \"\\n\"\n    for(s=0;s<=max_collnet_rank;s++) {\n      printf \"    c%d_%d [label=\\\"%d\\\",fontsize=\\\"28\\\"];\\n\", r, s, s\n    }\n    printf \"    c%d_%d [label=\\\"SHARP:%d\\\",fontsize=\\\"28\\\"];\\n\", r, rank_switch, r\n    printf \"  }\\n\\n\"\n  }\n  printf \"}\\n\"\n}\n"
  },
  {
    "path": "tools/TopoVisual/topo_visual.sh",
    "content": "#!/bin/bash\n# Copyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in\n# all copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n# THE SOFTWARE.\n\nDIR=\"$(cd -P \"$(dirname \"${BASH_SOURCE[0]}\")\" && pwd)\"\n\nexit_error() {\n  echo \"Usage: $0 [ -i input_filename ]\"\n  exit 1\n}\n\nwhile getopts \":i:o:\" options; do\n  case \"${options}\" in\n    i)\n      INPUT_NAME=${OPTARG}\n      ;;\n    :)\n      echo \"Error: -${OPTARG} requires an argument.\"\n      exit_error\n      ;;\n    ?)\n      exit_error\n      ;;\n  esac\ndone\n\nif [ -z \"$INPUT_NAME\" ]\nthen\n  exit_error\nelse\n  $DIR/extract_topo.awk $INPUT_NAME | dot -Tpng -o \"$INPUT_NAME.png\"\n  echo \"Extracted topology from $INPUT_NAME to $INPUT_NAME.png\"\nfi\n\nexit 0\n"
  },
  {
    "path": "tools/TransferBench/README.md",
    "content": "# TransferBench\n\nTransferBench is a simple utility capable of benchmarking simultaneous copies between user-specified devices (CPUs/GPUs).\nTransferBench can now be found at: https://github.com/ROCm/TransferBench\n\n## Copyright\n\nAll source code and accompanying documentation is copyright (c) 2022, Advanced Micro Devices, Inc. All rights reserved.\n"
  },
  {
    "path": "tools/ib-test/Makefile",
    "content": "# Copyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.\nHIP_PATH ?= $(wildcard /opt/rocm)\nifeq (,$(HIP_PATH))\nHIP_PATH = ../../..\nendif\nHIPCC = $(HIP_PATH)/bin/hipcc\n\nEXE = ib_test\nCXXFLAGS = -g -O3 -Iinclude -I../../src -I../../src/include -I../../src/clique -DENABLE_TRACE -DRCCL_IB_TEST -ldl -lnuma\n\nfiles = $(EXE).cpp utils.cpp ../../src/transport/net_ib.cc ../../src/misc/ibvwrap.cc ../../src/debug.cc\n\nall: $(EXE)\n\n$(EXE): $(files)\n\t$(HIPCC) $(CXXFLAGS) $^ -o $@\n\t#scp $(EXE) rocm-framework-3:$(shell pwd)\n\nclean:\n\trm -f *.o $(EXE)\n"
  },
  {
    "path": "tools/ib-test/ib_test.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2020, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include <sched.h>\n#include <fcntl.h>\n#include <unistd.h>\n#include <hip/hip_runtime.h>\n#include <string.h>\n#include <errno.h>\n#include <assert.h>\n#include <dlfcn.h>\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <unistd.h>\n#include <cstdio>\n#include <iostream>\n#include <cstring>\n#include \"comm.h\"\n#include \"net.h\"\n#include \"graph.h\"\n#include <sys/time.h>\n#include <numaif.h>\n#include <sys/socket.h>\n#include <netinet/in.h>\n#include <arpa/inet.h>\n#include <numa.h>\n#include <list>\n#include <iterator>\n\nstruct ibtestProxyArgs {\n  proxyProgressFunc_t progress;\n  struct ncclChannel* channel;\n  struct ncclConnector* connector;\n  int sliceSteps;\n  int chunkSteps;\n  int nsteps;\n  uint64_t opCount;\n  int protocol;\n  ncclDataType_t dtype;\n  ncclRedOp_t redOp;\n  int state;   // add component before this line -- it is left out during initialization\n\n  // Internal state\n  uint64_t head;\n  uint64_t tail;\n  uint64_t end;\n  void* requests[NCCL_STEPS];\n  int idle;\n\n  // Element linking\n  pthread_mutex_t mutex;\n  struct ibtestProxyArgs* next;\n  struct ibtestProxyArgs* nextPeer;\n};\n\nncclResult_t initNet();\n\nchar* getCmdOption(char ** begin, char ** end, const std::string & option) {\n    char ** itr = std::find(begin, end, option);\n    if (itr != end && ++itr != end)\n    {\n        return *itr;\n    }\n    return 0;\n}\n\nbool cmdOptionExists(char** begin, char** end, const std::string& option) {\n    return std::find(begin, end, option) != end;\n}\n\n#define DEFAULT_BUFFSIZE (1LL << 22) /* 4MiB */\n#define SLICE_STEPS 4\n#define DEFAULT_CYCLES 4000\n#define VEGA_GPU_RTC_FREQUENCY 2.5E7\n#define ENABLE_VALIDATION\n#define USE_UNROLL 8\n\ntypedef ulong2 Pack128;\n\n__device__\ninline  __attribute((always_inline))\nlong long int __rtc64() {\n#if __HIP__\n  return (long long int) wall_clock64();\n#else\n  return (long long int) __clock_u64();\n#endif\n}\n\ninline __device__ void Fetch128(Pack128& v, const Pack128* p) {\n  v.x = p->x;\n  v.y = p->y;\n}\ninline __device__ void Store128(Pack128* p, Pack128& v) {\n  p->x = v.x;\n  p->y = v.y;\n}\n\ntemplate<int UNROLL, bool SINK>\ninline __device__ void DataSourceOrSink(const int w, const int nw, const int t,\n    Pack128* buff, const int Npack, uint64_t seq, uint64_t *error) {\n  const int inc = nw * UNROLL * WARP_SIZE;\n  int offset = w * UNROLL * WARP_SIZE + t;\n\n  Pack128* src = buff + offset;\n\n  uint64_t x = (uint64_t)(offset) + (seq<<32);\n  uint64_t y = seq + (((uint64_t)(offset))<<32);\n  while (offset < Npack) {\n    Pack128 vals[UNROLL];\n    if (SINK) {\n      for (int u = 0; u < UNROLL; ++u) Fetch128(vals[u], src + u*WARP_SIZE);\n      for (int u = 0; u < UNROLL; ++u) {\n          if (vals[u].x != x++ || vals[u].y != y++ ) {\n          __atomic_fetch_add(error, 1, __ATOMIC_SEQ_CST);\n        }\n      }\n    } else {\n      for (int u = 0; u < UNROLL; ++u) {\n        vals[u].x = x++;\n        vals[u].y = y++;\n      }\n      for (int u = 0; u < UNROLL; ++u) Store128(src + u*WARP_SIZE, vals[u]);\n    }\n    src += inc;\n    offset += inc;\n  }\n}\n\n__global__ void DataSinkKernel(const uint64_t end, Pack128* data, uint64_t* recv_head, uint64_t* recv_tail, uint64_t* mismatch, uint64_t *sink_cycle, uint64_t *sink_bytes) {\n  const int N = DEFAULT_BUFFSIZE*SLICE_STEPS/NCCL_STEPS/sizeof(Pack128);\n  Pack128* recvBuff[NCCL_STEPS];\n  const int tid = threadIdx.x;\n  uint64_t tail = LOAD(recv_tail);\n  __shared__ uint64_t error;\n  const int w = tid / WARP_SIZE;\n  const int nw = blockDim.x / WARP_SIZE;\n  const int t = tid % WARP_SIZE;\n  uint64_t t0;\n  if (tid == 0) error = 0;\n  __syncthreads();\n  for (int i = 0; i < NCCL_STEPS; i++)\n    recvBuff[i] = data + (i/SLICE_STEPS)*N;\n  do {\n    if (tid == 0) while (LOAD(recv_head) < tail + SLICE_STEPS);\n    __syncthreads();\n    if (tid == 0) t0 = __rtc64();\n#ifdef ENABLE_VALIDATION\n    Pack128* d = recvBuff[tail%NCCL_STEPS];\n    DataSourceOrSink<USE_UNROLL, 1>(w, nw, t, recvBuff[tail%NCCL_STEPS], N, tail, &error);\n    __syncthreads();\n#endif\n    tail += SLICE_STEPS;\n    if (tid == 0) {\n      STORE(recv_tail, tail);\n      *sink_cycle += (__rtc64() - t0);\n      *sink_bytes += N;\n    }\n  } while (tail < end);\n  if (tid == 0) STORE(mismatch, error);\n}\n\n\n__global__ void DataSourceKernel(const uint64_t end, Pack128* data, uint64_t* send_head, uint64_t* send_tail, uint64_t *source_cycle, uint64_t *source_bytes) {\n  const int N = DEFAULT_BUFFSIZE*SLICE_STEPS/NCCL_STEPS/sizeof(Pack128);\n  Pack128* sendBuff[NCCL_STEPS];\n  const int tid = threadIdx.x;\n  uint64_t head = LOAD(send_head);\n  const int w = tid / WARP_SIZE;\n  const int nw = blockDim.x / WARP_SIZE;\n  const int t = tid % WARP_SIZE;\n  uint64_t t0;\n  for (int i = 0; i < NCCL_STEPS; i++)\n    sendBuff[i] = data + (i/SLICE_STEPS)*N;\n  do {\n    if (tid == 0) while (LOAD(send_tail) + NCCL_STEPS < head + SLICE_STEPS);\n    __syncthreads();\n    if (tid == 0) t0 = __rtc64();\n    DataSourceOrSink<USE_UNROLL, 0>(w, nw, t, sendBuff[head%NCCL_STEPS], N, head, 0);\n    __syncthreads();\n    head += SLICE_STEPS;\n    if (tid == 0) {\n      STORE(send_head, head);\n      *source_cycle += (__rtc64() - t0);\n      *source_bytes += N;\n    }\n  } while (head < end);\n}\n\nclass sendrecvChannel {\nprotected:\n  int id;\n  hipStream_t stream;\n\npublic:\n  sendrecvChannel(int id) : id(id) {\n    hipStreamCreate(&stream);\n  }\n\n  virtual ~sendrecvChannel() {\n    hipStreamDestroy(stream);\n  }\n\n  virtual void launchKernel(uint64_t end) = 0;\n  virtual void printProgress(uint64_t total_time) = 0;\n  virtual bool netProxy() = 0;\n};\n\nclass sendChannel : public sendrecvChannel {\nprivate:\n  struct sockaddr_in netConnectAddr;\n  void* netSendComm;\n  int netSendDev;\n  char *sendDevBuffer;\n  char *sendHostBuffer, *d_sendHostBuffer;\n  void *sendDevHandle;\n  void *sendHostHandle;\n  int sendBuffSize;\n  uint64_t *sendHead, *sendTail, *sourceCycle, *sourceBytes;\n  struct timeval send_tvs;\n  uint64_t send_sizes;\n  int send_active_req;\n  float send_bw_cumulative;\n  int send_bw_count;\n  uint64_t send_byte;\n  bool runSend;\n  bool use_gdr_read;\n  int sliceSteps;\n  struct ibtestProxyArgs args;\n\n  ncclResult_t connect(char* ip, uint16_t port) {\n    inet_pton(AF_INET, ip, &netConnectAddr.sin_addr);\n    if (port)\n      netConnectAddr.sin_port = htons(port);\n    else\n      netConnectAddr.sin_port = htons(23456);\n\n    netConnectAddr.sin_family = AF_INET;\n    printf(\"Connecting to %s:%d\\n\", ip, ntohs(netConnectAddr.sin_port));\n\n    printf(\"GDR Read %s\\n\", use_gdr_read ? \"enabled\" : \"disabled\");\n\n    if (use_gdr_read) {\n      NCCLCHECK(ncclCudaCalloc(&sendDevBuffer, sendBuffSize, nullptr, 1));\n      printf(\"Allocated sendDevBuffer %p of %d bytes, sliceSteps %d\\n\",\n                sendDevBuffer, sendBuffSize, sliceSteps);\n    }\n    else {\n      NCCLCHECK(ncclCudaHostCalloc(&sendHostBuffer, sendBuffSize));\n      d_sendHostBuffer = sendHostBuffer;\n      int status[1] = {-1};\n      if (!move_pages(0, 1, (void **)&sendHostBuffer, NULL, status, 0))\n        printf(\"Allocated sendHostBuffer %p of %d bytes on node %d, sliceSteps %d\\n\",\n          sendHostBuffer, sendBuffSize, status[0], sliceSteps);\n    }\n\n    NCCLCHECK(ncclCudaHostCalloc(&sendHead, 1));\n    NCCLCHECK(ncclCudaHostCalloc(&sendTail, 1));\n    NCCLCHECK(ncclCudaHostCalloc(&sourceCycle, 1));\n    NCCLCHECK(ncclCudaHostCalloc(&sourceBytes, 1));\n    netSendDev = 0;\n    NCCLCHECK(ncclNetConnect(netSendDev, &netConnectAddr, &netSendComm));\n\n    if (use_gdr_read) {\n      NCCLCHECK(ncclNetRegMr(netSendComm, sendDevBuffer, sendBuffSize, NCCL_PTR_CUDA, &sendDevHandle));\n    } else {\n      NCCLCHECK(ncclNetRegMr(netSendComm, sendHostBuffer, sendBuffSize, NCCL_PTR_HOST, &sendHostHandle));\n    }\n\n    return ncclSuccess;\n  }\n\n  ncclResult_t teardown() {\n    NCCLCHECK(ncclCudaHostFree(sourceCycle));\n    NCCLCHECK(ncclCudaHostFree(sourceBytes));\n    NCCLCHECK(ncclCudaHostFree(sendHead));\n    NCCLCHECK(ncclCudaHostFree(sendTail));\n    if (use_gdr_read) {\n      NCCLCHECK(ncclNetDeregMr(netSendComm, sendDevHandle));\n      CUDACHECK(hipFree(sendDevBuffer));\n    } else {\n      NCCLCHECK(ncclNetDeregMr(netSendComm, sendHostHandle));\n      NCCLCHECK(ncclCudaHostFree(sendHostBuffer));\n    }\n    NCCLCHECK(ncclNetCloseSend(netSendComm));\n    return ncclSuccess;\n  }\n\npublic:\n  sendChannel(int id, bool gdr_read, char* ip, uint16_t port) : sendrecvChannel(id), use_gdr_read(gdr_read) {\n    sendBuffSize = DEFAULT_BUFFSIZE;\n    sliceSteps = SLICE_STEPS;\n    connect(ip, port);\n  }\n\n  ~sendChannel() {\n    teardown();\n  }\n\n  bool netProxy() {\n    char* localBuff = use_gdr_read ? sendDevBuffer : sendHostBuffer;\n    void* mhandle = use_gdr_read ? sendDevHandle : sendHostHandle;\n    int stepSize = sendBuffSize / NCCL_STEPS;\n    int sliceSize = stepSize * args.sliceSteps;\n    if (!runSend) return runSend;\n    if (args.head < args.end) {\n      if (args.tail < args.end && args.tail < args.head + NCCL_STEPS) {\n        if (args.tail < LOAD(sendHead)) {\n          int buffSlot = args.tail%NCCL_STEPS;\n          NCCLCHECK(ncclNetIsend(netSendComm, localBuff+buffSlot*stepSize, sliceSize, mhandle, args.requests+buffSlot));\n          if (args.requests[buffSlot] != NULL) {\n            if (send_active_req == 0) {\n              gettimeofday(&send_tvs, NULL);\n              send_sizes = 0;\n            }\n            send_active_req ++;\n            send_sizes += sliceSize;\n            send_byte += sliceSize;\n            __sync_synchronize();\n            args.tail += args.sliceSteps;\n            args.idle = 0;\n          }\n        }\n      }\n      if (args.head < args.tail) {\n        int done;\n        int buffSlot = args.head%NCCL_STEPS;\n        NCCLCHECK(ncclNetTest(args.requests[buffSlot], &done, NULL));\n        if (done) {\n          send_active_req --;\n          if (send_active_req == 0) {\n            struct timeval tv;\n            gettimeofday(&tv, NULL);\n            send_bw_cumulative += (float)send_sizes/((tv.tv_sec - send_tvs.tv_sec)*1000*1000 + tv.tv_usec - send_tvs.tv_usec)/1000.0;\n            send_bw_count ++;\n          }\n          args.head += args.sliceSteps;\n          STORE(sendTail, args.head);\n          args.idle = 0;\n        }\n      }\n    }\n    else\n      runSend = false;\n    return runSend;\n  }\n\n  void launchKernel(uint64_t end) {\n    *sendHead = 0; *sendTail = 0; *sourceCycle = 0; *sourceBytes = 0;\n    send_sizes = 0; send_bw_cumulative = 0; send_bw_count =0; send_byte = 0;\n    memset(&args, 0, sizeof(struct ibtestProxyArgs));\n    args.head = 0;\n    args.tail = 0;\n    args.end = end;\n    args.sliceSteps = SLICE_STEPS;\n    hipLaunchKernelGGL(DataSourceKernel, dim3(1, 1, 1), dim3(256, 1, 1), 0, stream,\n      end, (Pack128 *)(use_gdr_read ? sendDevBuffer : d_sendHostBuffer), sendHead, sendTail, sourceCycle, sourceBytes);\n    runSend = true;\n  }\n\n  void printProgress(uint64_t total_time) {\n    if (send_byte) printf(\"# Send[%d] %3ld%% %6.2f GB/s (%ld bytes %ld us) Proxy %6.2f GB/s (%d mmts) Kernel %6.2f GB/s (%ld bytes)\\n\",\n      id, args.head*100/args.end, (total_time) ? (double)send_byte/total_time/1000.0 : 0,\n      send_byte, total_time, send_bw_count ? (float)send_bw_cumulative/send_bw_count : 0, send_bw_count,\n      *sourceCycle ? (double)(*sourceBytes)*sizeof(Pack128)/((double)(*sourceCycle)/VEGA_GPU_RTC_FREQUENCY*1.0E9) : 0, *sourceBytes*sizeof(Pack128));\n  }\n};\n\nclass recvChannel : public sendrecvChannel {\nprivate:\n  struct sockaddr_in netListenAddr;\n  void* netListenComm;\n  void* netRecvComm;\n  int netRecvDev;\n  char *recvDevBuffer;\n  char *recvHostBuffer, *d_recvHostBuffer;\n  void *recvDevHandle;\n  void *recvHostHandle;\n  int recvBuffSize;\n  uint64_t *recvHead, *recvTail, *recvErrorCount, *sinkCycle, *sinkBytes;\n  struct timeval recv_tvs;\n  uint64_t recv_sizes;\n  int recv_active_req;\n  float recv_bw_cumulative;\n  int recv_bw_count;\n  uint64_t recv_byte;\n  bool runRecv;\n  bool use_gdr_write;\n  int sliceSteps;\n  struct ibtestProxyArgs args;\n\n  ncclResult_t listen() {\n    printf(\"GDR Write %s\\n\", use_gdr_write ? \"enabled\" : \"disabled\");\n\n    if (use_gdr_write) {\n      NCCLCHECK(ncclCudaCalloc(&recvDevBuffer, recvBuffSize, nullptr, 1));\n      printf(\"Allocated recvDevBuffer %p of %d bytes, sliceSteps %d\\n\",\n                recvDevBuffer, recvBuffSize, sliceSteps);\n    }\n    else {\n      NCCLCHECK(ncclCudaHostCalloc(&recvHostBuffer, recvBuffSize));\n      d_recvHostBuffer = recvHostBuffer;\n      int status[1] = {-1};\n      if (!move_pages(0, 1, (void **)&recvHostBuffer, NULL, status, 0))\n        printf(\"Allocated recvHostBuffer %p of %d bytes on node %d, sliceSteps %d\\n\",\n          recvHostBuffer, recvBuffSize, status[0], sliceSteps);\n    }\n\n    NCCLCHECK(ncclCudaHostCalloc(&recvHead, 1));\n    NCCLCHECK(ncclCudaHostCalloc(&recvTail, 1));\n    NCCLCHECK(ncclCudaHostCalloc(&recvErrorCount, 1));\n    NCCLCHECK(ncclCudaHostCalloc(&sinkCycle, 1));\n    NCCLCHECK(ncclCudaHostCalloc(&sinkBytes, 1));\n    netRecvDev = 0;\n    NCCLCHECK(ncclNetListen(netRecvDev, (void *)&netListenAddr, &netListenComm));\n    char ip[INET_ADDRSTRLEN];\n    uint16_t port;\n    inet_ntop(AF_INET, &netListenAddr.sin_addr, ip, sizeof(ip));\n    port = htons(netListenAddr.sin_port);\n    printf(\"Listening on socket %s:%d\\n\", ip, port);\n\n    NCCLCHECK(ncclNetAccept(netListenComm, &netRecvComm));\n    NCCLCHECK(ncclNetCloseListen(netListenComm));\n\n    if (use_gdr_write) {\n      NCCLCHECK(ncclNetRegMr(netRecvComm, recvDevBuffer, recvBuffSize, NCCL_PTR_CUDA, &recvDevHandle));\n    } else {\n      NCCLCHECK(ncclNetRegMr(netRecvComm, recvHostBuffer, recvBuffSize, NCCL_PTR_HOST, &recvHostHandle));\n    }\n\n    return ncclSuccess;\n  }\n\n  ncclResult_t teardown() {\n    NCCLCHECK(ncclCudaHostFree(sinkCycle));\n    NCCLCHECK(ncclCudaHostFree(sinkBytes));\n    NCCLCHECK(ncclCudaHostFree(recvErrorCount));\n    NCCLCHECK(ncclCudaHostFree(recvHead));\n    NCCLCHECK(ncclCudaHostFree(recvTail));\n    if (use_gdr_write) {\n      NCCLCHECK(ncclNetDeregMr(netRecvComm, recvDevHandle));\n      CUDACHECK(hipFree(recvDevBuffer));\n    } else {\n      NCCLCHECK(ncclNetDeregMr(netRecvComm, recvHostHandle));\n      NCCLCHECK(ncclCudaHostFree(recvHostBuffer));\n    }\n    NCCLCHECK(ncclNetCloseRecv(netRecvComm));\n    return ncclSuccess;\n  }\n\npublic:\n  recvChannel(int id, bool gdr_write) : sendrecvChannel(id), use_gdr_write(gdr_write) {\n    recvBuffSize = DEFAULT_BUFFSIZE;\n    sliceSteps = SLICE_STEPS;\n    listen();\n  }\n\n  ~recvChannel() {\n    teardown();\n  }\n\n  bool netProxy() {\n    char* localBuff = use_gdr_write ? recvDevBuffer : recvHostBuffer;\n    void* mhandle = use_gdr_write ? recvDevHandle : recvHostHandle;\n    int stepSize = recvBuffSize / NCCL_STEPS;\n    if (!runRecv) return runRecv;\n    if (args.head < args.end) {\n      if ((args.tail < args.head + NCCL_STEPS) && (args.tail < LOAD(recvTail) + NCCL_STEPS) && (args.tail < args.end)) {\n        int buffSlot = args.tail%NCCL_STEPS;\n        int sliceSize = stepSize * args.sliceSteps;\n        NCCLCHECK(ncclNetIrecv(netRecvComm, localBuff+buffSlot*stepSize, sliceSize, mhandle, args.requests+buffSlot));\n        if (args.requests[buffSlot] != NULL) {\n          if (recv_active_req == 0) {\n            gettimeofday(&recv_tvs, NULL);\n            recv_sizes = 0;\n          }\n          recv_active_req ++;\n          args.tail += args.sliceSteps;\n          args.idle = 0;\n        }\n      }\n      if (args.tail > args.head) {\n        int buffSlot = args.head%NCCL_STEPS;\n        int done, size;\n        NCCLCHECK(ncclNetTest(args.requests[buffSlot], &done, &size));\n        if (done) {\n          recv_active_req --;\n          recv_sizes += size;\n          if (recv_active_req == 0) {\n            struct timeval tv;\n            gettimeofday(&tv, NULL);\n            recv_bw_cumulative += (float)recv_sizes/((tv.tv_sec - recv_tvs.tv_sec)*1000*1000 + tv.tv_usec - recv_tvs.tv_usec)/1000.0;\n            recv_bw_count ++;\n          }\n          args.head += args.sliceSteps;\n          recv_byte += size;\n          NCCLCHECK(ncclNetIflush(netRecvComm, localBuff+buffSlot*stepSize, size, mhandle, args.requests+buffSlot));\n          STORE(recvHead, args.head);\n          args.idle = 0;\n        }\n      }\n    } else {\n      runRecv = false;\n    }\n    return runRecv;\n  }\n\n  void launchKernel(uint64_t end) {\n    *recvHead = 0; *recvTail = 0; *recvErrorCount = 0; *sinkCycle = 0, *sinkBytes = 0;\n    recv_sizes = 0; recv_bw_cumulative = 0; recv_bw_count =0; recv_byte = 0;\n    memset(&args, 0, sizeof(struct ibtestProxyArgs));\n    args.head = 0;\n    args.tail = 0;\n    args.end = end;\n    args.sliceSteps = SLICE_STEPS;\n    hipLaunchKernelGGL(DataSinkKernel, dim3(1, 1, 1), dim3(256, 1, 1), 0, stream,\n      end, (Pack128 *)(use_gdr_write ? recvDevBuffer : d_recvHostBuffer), recvHead, recvTail, recvErrorCount, sinkCycle, sinkBytes);\n    runRecv = true;\n  }\n\n  void printProgress(uint64_t total_time) {\n    if (recv_byte) printf(\"# Recv[%d] %3ld%% %6.2f GB/s (%ld bytes %ld us) Proxy %6.2f GB/s (%d mmts) Kernel %6.2f GB/s (%ld bytes) Errors %ld\\n\",\n      id, args.head*100/args.end, (total_time) ? (double)recv_byte/total_time/1000.0 : 0,\n      recv_byte, total_time, recv_bw_count ? (float)recv_bw_cumulative/recv_bw_count : 0, recv_bw_count,\n      *sinkCycle ? (double)(*sinkBytes)*sizeof(Pack128)/((double)(*sinkCycle)/VEGA_GPU_RTC_FREQUENCY*1.0E9) : 0, *sinkBytes*sizeof(Pack128),\n      *recvErrorCount);\n  }\n};\n\n#define FOR_EACH \\\n  for (std::list<sendrecvChannel*>::iterator it = sendrecvChans.begin(); it != sendrecvChans.end(); it++)\n\nint main(int argc,char* argv[])\n{\n  struct ncclComm *comm;\n  bool isSource;\n  bool use_gdr_read = false, use_gdr_write = true;\n  int port;\n  std::list<sendrecvChannel*> sendrecvChans;\n  int nc = 1;\n  uint64_t iterations = 1;\n\n  NCCLCHECK(initNet());\n  int ndev;\n  NCCLCHECK(ncclNetDevices(&ndev));\n  if (ndev == 0) {\n    printf(\"No IB devices found.\\n\");\n    return 0;\n  }\n  else\n    printf(\"Found %d IB devices\\n\", ndev);\n\n  char *gpu = getCmdOption(argv, argv + argc, \"-g\");\n  if (gpu) {\n    printf(\"Select GPU %s\\n\", gpu);\n    CUDACHECK(hipSetDevice(atol(gpu)));\n  }\n\n  char *c = getCmdOption(argv, argv + argc, \"-c\");\n  if (c) {\n    printf(\"Number of channels %s\\n\", c);\n    nc = atol(c);\n  }\n\n  char *iters = getCmdOption(argv, argv + argc, \"-i\");\n  if (iters) {\n    iterations = atol(iters);\n    printf(\"Running %ld iterations\\n\", iterations);\n  }\n\n  char *gdr_read = getCmdOption(argv, argv + argc, \"-r\");\n  if (gdr_read) {\n    use_gdr_read = atol(gdr_read);\n  }\n\n  char *gdr_write = getCmdOption(argv, argv + argc, \"-w\");\n  if (gdr_write) {\n    use_gdr_write = atol(gdr_write);\n  }\n\n  char *node = getCmdOption(argv, argv + argc, \"-n\");\n  if (node) {\n#if 0\n    unsigned long nodemask = 1;\n    nodemask <<= atol(node);\n    set_mempolicy(MPOL_PREFERRED, (const unsigned long*)&nodemask, 16);\n    printf(\"Select node %s for preferred memory allocation\\n\", node);\n#else\n    int ret = numa_run_on_node(atol(node));\n    if (ret != 0)\n      printf(\"Failed to run on numa node %s\\n\", node);\n    else\n      printf(\"thread is set to run on numa node %ld\\n\", atol(node));\n#endif\n  }\n\n  if (cmdOptionExists(argv, argv + argc, \"-d\")) {\n    char *ip = getCmdOption(argv, argv + argc, \"-d\");\n    char *p = getCmdOption(argv, argv + argc, \"-p\");\n    uint16_t port = 23456;\n    if (p) port = atol(p);\n    for (int i = 0; i < nc; i++) sendrecvChans.push_back(new sendChannel(i, use_gdr_read, ip, port++));\n    isSource = true;\n  } else {\n    for (int i = 0; i < nc; i++) sendrecvChans.push_back(new recvChannel(i, use_gdr_write));\n    isSource = false;\n  }\n\n  printf(\"Running warm up...\");\n  FOR_EACH (*it)->launchKernel(NCCL_STEPS);\n\n  bool run;\n  do {\n    run = false;\n    FOR_EACH run |= (*it)->netProxy();\n  } while (run);\n\n  CUDACHECK(hipDeviceSynchronize());\n  printf(\"completed\\n\");\n\n  // reset all counters after warm up cycle\n  FOR_EACH (*it)->launchKernel(NCCL_STEPS*iterations*DEFAULT_CYCLES);\n\n  struct timeval tv_start, tv_end, tv_prev;\n  gettimeofday(&tv_start, NULL);\n  gettimeofday(&tv_prev, NULL);\n\n  do {\n    run = false;\n    FOR_EACH run |= (*it)->netProxy();\n\n    gettimeofday(&tv_end, NULL);\n    uint64_t timelap = ((uint64_t)(tv_end.tv_sec - tv_prev.tv_sec)*1000*1000 + tv_end.tv_usec - tv_prev.tv_usec);\n    if (timelap > 100000UL) {\n      uint64_t total_time = ((uint64_t)(tv_end.tv_sec - tv_start.tv_sec)*1000*1000 + tv_end.tv_usec - tv_start.tv_usec);\n      FOR_EACH (*it)->printProgress(total_time);\n      gettimeofday(&tv_prev, NULL);\n    }\n  } while (run);\n\n  CUDACHECK(hipDeviceSynchronize());\n\n  gettimeofday(&tv_end, NULL);\n  uint64_t total_time = ((uint64_t)(tv_end.tv_sec - tv_start.tv_sec)*1000*1000 + tv_end.tv_usec - tv_start.tv_usec);\n\n  FOR_EACH (*it)->printProgress(total_time);\n  FOR_EACH delete *it;\n\n  return 0;\n}\n"
  },
  {
    "path": "tools/ib-test/include/nccl.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_H_\n#define NCCL_H_\n\n#include <hip/hip_runtime_api.h>\n#include <hip/hip_fp16.h>\n\n#define NCCL_MAJOR 2\n#define NCCL_MINOR 7\n#define NCCL_PATCH 0\n#define NCCL_SUFFIX \"\"\n\n#define NCCL_VERSION_CODE 2700\n#define NCCL_VERSION(X,Y,Z) ((X) * 1000 + (Y) * 100 + (Z))\n\n#define RCCL_BFLOAT16 1\n#define RCCL_BFLOAT8 1\n#define RCCL_GATHER_SCATTER 1\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* Opaque handle to communicator */\ntypedef struct ncclComm* ncclComm_t;\n\n#define NCCL_UNIQUE_ID_BYTES 128\ntypedef struct { char internal[NCCL_UNIQUE_ID_BYTES]; } ncclUniqueId;\n\n/* Error type */\ntypedef enum { ncclSuccess                 =  0,\n               ncclUnhandledCudaError      =  1,\n               ncclSystemError             =  2,\n               ncclInternalError           =  3,\n               ncclInvalidArgument         =  4,\n               ncclInvalidUsage            =  5,\n               ncclNumResults              =  6 } ncclResult_t;\n\n/* Return the NCCL_VERSION_CODE of the NCCL library in the supplied integer.\n * This integer is coded with the MAJOR, MINOR and PATCH level of the\n * NCCL library\n */\nncclResult_t  ncclGetVersion(int *version);\nncclResult_t pncclGetVersion(int *version);\n\n/* Generates an Id to be used in ncclCommInitRank. ncclGetUniqueId should be\n * called once and the Id should be distributed to all ranks in the\n * communicator before calling ncclCommInitRank. */\nncclResult_t  ncclGetUniqueId(ncclUniqueId* uniqueId);\nncclResult_t pncclGetUniqueId(ncclUniqueId* uniqueId);\n\n/* Creates a new communicator (multi thread/process version).\n * rank must be between 0 and nranks-1 and unique within a communicator clique.\n * Each rank is associated to a CUDA device, which has to be set before calling\n * ncclCommInitRank.\n * ncclCommInitRank implicitly syncronizes with other ranks, so it must be\n * called by different threads/processes or use ncclGroupStart/ncclGroupEnd. */\nncclResult_t  ncclCommInitRank(ncclComm_t* comm, int nranks, ncclUniqueId commId, int rank);\nncclResult_t pncclCommInitRank(ncclComm_t* comm, int nranks, ncclUniqueId commId, int rank);\n\n/* Creates a clique of communicators (single process version).\n * This is a convenience function to create a single-process communicator clique.\n * Returns an array of ndev newly initialized communicators in comm.\n * comm should be pre-allocated with size at least ndev*sizeof(ncclComm_t).\n * If devlist is NULL, the first ndev CUDA devices are used.\n * Order of devlist defines user-order of processors within the communicator. */\nncclResult_t  ncclCommInitAll(ncclComm_t* comm, int ndev, const int* devlist);\nncclResult_t pncclCommInitAll(ncclComm_t* comm, int ndev, const int* devlist);\n\n/* Frees resources associated with communicator object, but waits for any operations\n * that might still be running on the device. */\nncclResult_t  ncclCommDestroy(ncclComm_t comm);\nncclResult_t pncclCommDestroy(ncclComm_t comm);\n\n/* Frees resources associated with communicator object and aborts any operations\n * that might still be running on the device. */\nncclResult_t  ncclCommAbort(ncclComm_t comm);\nncclResult_t pncclCommAbort(ncclComm_t comm);\n\n/* Returns a human-readable error message. */\nconst char*  ncclGetErrorString(ncclResult_t result);\nconst char* pncclGetErrorString(ncclResult_t result);\n\n/* Checks whether the comm has encountered any asynchronous errors */\nncclResult_t  ncclCommGetAsyncError(ncclComm_t comm, ncclResult_t *asyncError);\nncclResult_t pncclCommGetAsyncError(ncclComm_t comm, ncclResult_t *asyncError);\n\n/* Gets the number of ranks in the communicator clique. */\nncclResult_t  ncclCommCount(const ncclComm_t comm, int* count);\nncclResult_t pncclCommCount(const ncclComm_t comm, int* count);\n\n/* Returns the cuda device number associated with the communicator. */\nncclResult_t  ncclCommCuDevice(const ncclComm_t comm, int* device);\nncclResult_t pncclCommCuDevice(const ncclComm_t comm, int* device);\n\n/* Returns the user-ordered \"rank\" associated with the communicator. */\nncclResult_t  ncclCommUserRank(const ncclComm_t comm, int* rank);\nncclResult_t pncclCommUserRank(const ncclComm_t comm, int* rank);\n\n/* Reduction operation selector */\ntypedef enum { ncclSum        = 0,\n               ncclProd       = 1,\n               ncclMax        = 2,\n               ncclMin        = 3,\n               ncclNumOps     = 4 } ncclRedOp_t;\n\n/* Data types */\ntypedef enum { ncclInt8       = 0, ncclChar       = 0,\n               ncclUint8      = 1,\n               ncclInt32      = 2, ncclInt        = 2,\n               ncclUint32     = 3,\n               ncclInt64      = 4,\n               ncclUint64     = 5,\n               ncclFloat16    = 6, ncclHalf       = 6,\n               ncclFloat32    = 7, ncclFloat      = 7,\n               ncclFloat64    = 8, ncclDouble     = 8,\n               ncclBfloat16   = 9,\n               ncclFloat8e4m3 = 10,\n               ncclFloat8e5m2 = 11,\n               ncclNumTypes   = 12 } ncclDataType_t;\n\n/*\n * Collective communication operations\n *\n * Collective communication operations must be called separately for each\n * communicator in a communicator clique.\n *\n * They return when operations have been enqueued on the CUDA stream.\n *\n * Since they may perform inter-CPU synchronization, each call has to be done\n * from a different thread or process, or need to use Group Semantics (see\n * below).\n */\n\n/*\n * Reduce\n *\n * Reduces data arrays of length count in sendbuff into recvbuff using op\n * operation.\n * recvbuff may be NULL on all calls except for root device.\n * root is the rank (not the CUDA device) where data will reside after the\n * operation is complete.\n *\n * In-place operation will happen if sendbuff == recvbuff.\n */\nncclResult_t  ncclReduce(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype,\n    ncclRedOp_t op, int root, ncclComm_t comm, hipStream_t stream);\nncclResult_t pncclReduce(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype,\n    ncclRedOp_t op, int root, ncclComm_t comm, hipStream_t stream);\n\n/*\n * (deprecated) Broadcast (in-place)\n *\n * Copies count values from root to all other devices.\n * root is the rank (not the CUDA device) where data resides before the\n * operation is started.\n *\n * This operation is implicitely in place.\n */\nncclResult_t  ncclBcast(void* buff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, hipStream_t stream);\nncclResult_t pncclBcast(void* buff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, hipStream_t stream);\n\n/*\n * Broadcast\n *\n * Copies count values from root to all other devices.\n * root is the rank (not the CUDA device) where data resides before the\n * operation is started.\n *\n * In-place operation will happen if sendbuff == recvbuff.\n */\nncclResult_t  ncclBroadcast(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, hipStream_t stream);\nncclResult_t pncclBroadcast(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, hipStream_t stream);\n\n/*\n * All-Reduce\n *\n * Reduces data arrays of length count in sendbuff using op operation, and\n * leaves identical copies of result on each recvbuff.\n *\n * In-place operation will happen if sendbuff == recvbuff.\n */\nncclResult_t  ncclAllReduce(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm, hipStream_t stream);\nncclResult_t pncclAllReduce(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm, hipStream_t stream);\n\n/*\n * Reduce-Scatter\n *\n * Reduces data in sendbuff using op operation and leaves reduced result\n * scattered over the devices so that recvbuff on rank i will contain the i-th\n * block of the result.\n * Assumes sendcount is equal to nranks*recvcount, which means that sendbuff\n * should have a size of at least nranks*recvcount elements.\n *\n * In-place operations will happen if recvbuff == sendbuff + rank * recvcount.\n */\nncclResult_t  ncclReduceScatter(const void* sendbuff, void* recvbuff,\n    size_t recvcount, ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm,\n    hipStream_t stream);\nncclResult_t pncclReduceScatter(const void* sendbuff, void* recvbuff,\n    size_t recvcount, ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm,\n    hipStream_t stream);\n\n/*\n * All-Gather\n *\n * Each device gathers sendcount values from other GPUs into recvbuff,\n * receiving data from rank i at offset i*sendcount.\n * Assumes recvcount is equal to nranks*sendcount, which means that recvbuff\n * should have a size of at least nranks*sendcount elements.\n *\n * In-place operations will happen if sendbuff == recvbuff + rank * sendcount.\n */\nncclResult_t  ncclAllGather(const void* sendbuff, void* recvbuff, size_t sendcount,\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\nncclResult_t pncclAllGather(const void* sendbuff, void* recvbuff, size_t sendcount,\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n\n/*\n * Send\n *\n * Send data from sendbuff to rank peer.\n *\n * Rank peer needs to call ncclRecv with the same datatype and the same count from this\n * rank.\n *\n * This operation is blocking for the GPU. If multiple ncclSend and ncclRecv operations\n * need to progress concurrently to complete, they must be fused within a ncclGroupStart/\n * ncclGroupEnd section.\n */\nncclResult_t  ncclSend(const void* sendbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, hipStream_t stream);\nncclResult_t pncclSend(const void* sendbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, hipStream_t stream);\n\n/*\n * Receive\n *\n * Receive data from rank peer into recvbuff.\n *\n * Rank peer needs to call ncclSend with the same datatype and the same count to this\n * rank.\n *\n * This operation is blocking for the GPU. If multiple ncclSend and ncclRecv operations\n * need to progress concurrently to complete, they must be fused within a ncclGroupStart/\n * ncclGroupEnd section.\n */\nncclResult_t pncclRecv(void* recvbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, hipStream_t stream);\nncclResult_t  ncclRecv(void* recvbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, hipStream_t stream);\n\n/*\n * Gather\n *\n * Root device gathers sendcount values from other GPUs into recvbuff,\n * receiving data from rank i at offset i*sendcount.\n * Assumes recvcount is equal to nranks*sendcount, which means that recvbuff\n * should have a size of at least nranks*sendcount elements.\n *\n * In-place operations will happen if sendbuff == recvbuff + rank * sendcount.\n */\nncclResult_t  ncclGather(const void* sendbuff, void* recvbuff, size_t sendcount,\n    ncclDataType_t datatype, int root, ncclComm_t comm, hipStream_t stream);\nncclResult_t pncclGather(const void* sendbuff, void* recvbuff, size_t sendcount,\n    ncclDataType_t datatype, int root, ncclComm_t comm, hipStream_t stream);\n\n/*\n * Scatter\n *\n * Scattered over the devices so that recvbuff on rank i will contain the i-th\n * block of the data on root.\n * Assumes sendcount is equal to nranks*recvcount, which means that sendbuff\n * should have a size of at least nranks*recvcount elements.\n *\n * In-place operations will happen if recvbuff == sendbuff + rank * recvcount.\n */\nncclResult_t  ncclScatter(const void* sendbuff, void* recvbuff,\n    size_t recvcount, ncclDataType_t datatype, int root, ncclComm_t comm,\n    hipStream_t stream);\nncclResult_t pncclScatter(const void* sendbuff, void* recvbuff,\n    size_t recvcount, ncclDataType_t datatype, int root, ncclComm_t comm,\n    hipStream_t stream);\n\n/*\n * All-To-All\n *\n * Device (i) send (j)th block of data to device (j) and be placed as (i)th\n * block. Each block for sending/receiving has count elements, which means\n * that recvbuff and sendbuff should have a size of nranks*count elements.\n *\n * In-place operation will happen if sendbuff == recvbuff.\n */\nncclResult_t  ncclAlltoAll(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\nncclResult_t pncclAlltoAll(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n\n/*\n * Group semantics\n *\n * When managing multiple GPUs from a single thread, and since NCCL collective\n * calls may perform inter-CPU synchronization, we need to \"group\" calls for\n * different ranks/devices into a single call.\n *\n * Grouping NCCL calls as being part of the same collective operation is done\n * using ncclGroupStart and ncclGroupEnd. ncclGroupStart will enqueue all\n * collective calls until the ncclGroupEnd call, which will wait for all calls\n * to be complete. Note that for collective communication, ncclGroupEnd only\n * guarantees that the operations are enqueued on the streams, not that\n * the operation is effectively done.\n *\n * Both collective communication and ncclCommInitRank can be used in conjunction\n * of ncclGroupStart/ncclGroupEnd, but not together.\n *\n * Group semantics also allow to fuse multiple operations on the same device\n * to improve performance (for aggregated collective calls), or to permit\n * concurrent progress of multiple send/receive operations.\n */\n\n/*\n * Group Start\n *\n * Start a group call. All calls to NCCL until ncclGroupEnd will be fused into\n * a single NCCL operation. Nothing will be started on the CUDA stream until\n * ncclGroupEnd.\n */\nncclResult_t  ncclGroupStart();\nncclResult_t pncclGroupStart();\n\n/*\n * Group End\n *\n * End a group call. Start a fused NCCL operation consisting of all calls since\n * ncclGroupStart. Operations on the CUDA stream depending on the NCCL operations\n * need to be called after ncclGroupEnd.\n */\nncclResult_t  ncclGroupEnd();\nncclResult_t pncclGroupEnd();\n\n#ifdef __cplusplus\n} // end extern \"C\"\n#endif\n\n#endif // end include guard\n"
  },
  {
    "path": "tools/ib-test/utils.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2019, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#include \"nccl.h\"\n#include \"channel.h\"\n#include \"nvmlwrap.h\"\n#include \"bootstrap.h\"\n#include \"transport.h\"\n#include \"group.h\"\n#include \"net.h\"\n#include \"coll_net.h\"\n#include \"enqueue.h\"\n#include \"graph.h\"\n#include \"argcheck.h\"\n#include <fcntl.h>\n#include <unistd.h>\n#include <hip/hip_runtime.h>\n#include <string.h>\n#include <errno.h>\n#include <assert.h>\n#include <dlfcn.h>\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <unistd.h>\n\n#ifdef ENABLE_TRACE\nstd::chrono::high_resolution_clock::time_point ncclEpoch;\n#endif\n\nncclNet_t* ncclNet = NULL;\n\n// Returns ncclInternalError if anything fails, causing that network to be ignored.\nncclResult_t initNet(ncclNet_t* net) {\n  int ndev;\n  if (net->init(ncclDebugLog) != ncclSuccess) return ncclInternalError;\n  if (net->devices(&ndev) != ncclSuccess) return ncclInternalError;\n  if (ndev <= 0) return ncclSystemError;\n  return ncclSuccess;\n}\n\nncclResult_t initNet() {\n  if (initNet(&ncclNetIb) == ncclSuccess) {\n    ncclNet = &ncclNetIb;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t getHostName(char* hostname, int maxlen, const char delim) {\n  if (gethostname(hostname, maxlen) != 0) {\n    strncpy(hostname, \"unknown\", maxlen);\n    return ncclSystemError;\n  }\n  int i = 0;\n  while ((hostname[i] != delim) && (hostname[i] != '\\0') && (i < maxlen-1)) i++;\n  hostname[i] = '\\0';\n  return ncclSuccess;\n}\n\nint parseStringList(const char* string, struct netIf* ifList, int maxList) {\n  if (!string) return 0;\n\n  const char* ptr = string;\n\n  int ifNum = 0;\n  int ifC = 0;\n  char c;\n  do {\n    c = *ptr;\n    if (c == ':') {\n      if (ifC > 0) {\n        ifList[ifNum].prefix[ifC] = '\\0';\n        ifList[ifNum].port = atoi(ptr+1);\n        ifNum++; ifC = 0;\n      }\n      while (c != ',' && c != '\\0') c = *(++ptr);\n    } else if (c == ',' || c == '\\0') {\n      if (ifC > 0) {\n        ifList[ifNum].prefix[ifC] = '\\0';\n        ifList[ifNum].port = -1;\n        ifNum++; ifC = 0;\n      }\n    } else {\n      ifList[ifNum].prefix[ifC] = c;\n      ifC++;\n    }\n    ptr++;\n  } while (ifNum < maxList && c);\n  return ifNum;\n}\n\nstatic bool matchIf(const char* string, const char* ref, bool matchExact) {\n  // Make sure to include '\\0' in the exact case\n  int matchLen = matchExact ? strlen(string) + 1 : strlen(ref);\n  return strncmp(string, ref, matchLen) == 0;\n}\n\nstatic bool matchPort(const int port1, const int port2) {\n  if (port1 == -1) return true;\n  if (port2 == -1) return true;\n  if (port1 == port2) return true;\n  return false;\n}\n\n\nbool matchIfList(const char* string, int port, struct netIf* ifList, int listSize, bool matchExact) {\n  // Make an exception for the case where no user list is defined\n  if (listSize == 0) return true;\n\n  for (int i=0; i<listSize; i++) {\n    if (matchIf(string, ifList[i].prefix, matchExact)\n        && matchPort(port, ifList[i].port)) {\n      return true;\n    }\n  }\n  return false;\n}\n"
  },
  {
    "path": "tools/msccl-algorithms/allgather_16n_direct_0_3m_ll128.xml",
    "content": "<algo name=\"allgather_allpairs\" proto=\"LL128\" nchannels=\"2\" nchunksperloop=\"32\" ngpus=\"16\" coll=\"allgather\" inplace=\"1\" outofplace=\"0\" minBytes=\"0\" maxBytes=\"3146752\">\n  <gpu id=\"0\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"8\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"9\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"10\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"11\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"12\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"13\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"14\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"15\" i_chunks=\"0\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-algorithms/allgather_16n_direct_0_3m_ll128_op.xml",
    "content": "<algo name=\"allgather_allpairs\" proto=\"LL128\" nchannels=\"2\" nchunksperloop=\"32\" ngpus=\"16\" coll=\"allgather\" inplace=\"0\" outofplace=\"1\" minBytes=\"0\" maxBytes=\"3146752\">\n  <gpu id=\"0\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"8\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"9\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"10\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"11\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"12\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"13\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"14\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"15\" i_chunks=\"2\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-algorithms/allgather_32n_direct_0_6m_ll128.xml",
    "content": "<algo name=\"allgather_allpairs\" proto=\"LL128\" nchannels=\"2\" nchunksperloop=\"64\" ngpus=\"32\" coll=\"allgather\" inplace=\"1\" outofplace=\"0\" minBytes=\"0\" maxBytes=\"6293504\">\n  <gpu id=\"0\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"8\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"9\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"10\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"11\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"12\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"13\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"14\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"15\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"16\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"17\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"18\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"19\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"20\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"21\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"22\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"23\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"24\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"25\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"26\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"27\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"28\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"29\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"30\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"31\" i_chunks=\"0\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"o\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"o\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-algorithms/allgather_32n_direct_0_6m_ll128_op.xml",
    "content": "<algo name=\"allgather_allpairs\" proto=\"LL128\" nchannels=\"2\" nchunksperloop=\"64\" ngpus=\"32\" coll=\"allgather\" inplace=\"0\" outofplace=\"1\" minBytes=\"0\" maxBytes=\"6293504\">\n  <gpu id=\"0\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"8\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"9\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"10\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"11\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"12\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"13\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"14\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"15\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"16\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"17\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"18\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"19\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"20\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"21\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"22\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"23\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"24\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"25\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"26\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"27\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"28\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"29\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"30\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"31\" recv=\"31\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"31\" recv=\"31\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"31\" i_chunks=\"2\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"9\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"9\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"11\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"11\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"12\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"12\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"13\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"13\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"14\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"14\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"15\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"15\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"16\" recv=\"16\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"16\" recv=\"16\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"17\" recv=\"17\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"17\" recv=\"17\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"18\" recv=\"18\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"18\" recv=\"18\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"19\" recv=\"19\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"19\" recv=\"19\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"20\" recv=\"20\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"20\" recv=\"20\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"21\" recv=\"21\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"21\" recv=\"21\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"22\" recv=\"22\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"22\" recv=\"22\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"23\" recv=\"23\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"23\" recv=\"23\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"24\" recv=\"24\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"24\" recv=\"24\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"25\" recv=\"25\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"25\" recv=\"25\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"26\" recv=\"26\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"26\" recv=\"26\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"27\" recv=\"27\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"27\" recv=\"27\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"28\" recv=\"28\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"28\" recv=\"28\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"29\" recv=\"29\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"29\" recv=\"29\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"30\" recv=\"30\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"30\" recv=\"30\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-algorithms/allreduce-allpairs-8n-ll-32tb-op.xml",
    "content": "<algo name=\"allreduce_pairs\" proto=\"LL\" nchannels=\"4\" nchunksperloop=\"256\" ngpus=\"8\" coll=\"allreduce\" inplace=\"0\" outofplace=\"1\" minBytes=\"0\" maxBytes=\"65536\">\n  <gpu id=\"0\" i_chunks=\"256\" o_chunks=\"256\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"256\" o_chunks=\"256\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"256\" o_chunks=\"256\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"256\" o_chunks=\"256\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"256\" o_chunks=\"256\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"256\" o_chunks=\"256\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"256\" o_chunks=\"256\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"256\" o_chunks=\"256\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"4\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"5\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"6\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"7\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-algorithms/allreduce-allpairs-8n-ll-32tb.xml",
    "content": "<algo name=\"allreduce_pairs\" proto=\"LL\" nchannels=\"4\" nchunksperloop=\"256\" ngpus=\"8\" coll=\"allreduce\" inplace=\"1\" outofplace=\"0\" minBytes=\"0\" maxBytes=\"65536\">\n  <gpu id=\"0\" i_chunks=\"256\" o_chunks=\"0\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"256\" o_chunks=\"0\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"256\" o_chunks=\"0\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"256\" o_chunks=\"0\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"256\" o_chunks=\"0\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"256\" o_chunks=\"0\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"256\" o_chunks=\"0\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"256\" o_chunks=\"0\" s_chunks=\"224\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"4\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"5\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"6\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"7\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-algorithms/allreduce-allpairs-8n-ll-64tb-op.xml",
    "content": "<algo name=\"allreduce_pairs\" proto=\"LL\" nchannels=\"8\" nchunksperloop=\"512\" ngpus=\"8\" coll=\"allreduce\" inplace=\"0\" outofplace=\"1\" minBytes=\"65537\" maxBytes=\"524287\">\n  <gpu id=\"0\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"384\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"448\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"385\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"449\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"386\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"450\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"387\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"451\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"388\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"452\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"389\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"453\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"390\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"454\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"391\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"455\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"393\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"457\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"392\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"456\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"394\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"458\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"395\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"459\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"396\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"460\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"397\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"461\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"398\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"462\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"399\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"463\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"402\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"466\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"400\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"464\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"401\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"465\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"403\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"467\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"404\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"468\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"405\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"469\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"406\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"470\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"407\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"471\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"411\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"475\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"408\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"472\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"409\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"473\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"410\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"474\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"412\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"476\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"413\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"477\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"414\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"478\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"415\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"479\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"420\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"484\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"416\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"480\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"417\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"481\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"418\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"482\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"419\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"483\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"421\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"485\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"422\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"486\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"423\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"487\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"429\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"493\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"424\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"488\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"425\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"489\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"426\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"490\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"427\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"491\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"428\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"492\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"430\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"494\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"431\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"495\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"438\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"502\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"432\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"496\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"433\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"497\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"434\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"498\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"435\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"499\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"436\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"500\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"437\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"501\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"439\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"503\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"447\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"511\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"440\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"504\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"441\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"505\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"442\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"506\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"443\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"507\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"444\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"508\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"445\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"509\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"446\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"510\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-algorithms/allreduce-allpairs-8n-ll-64tb.xml",
    "content": "<algo name=\"allreduce_pairs\" proto=\"LL\" nchannels=\"8\" nchunksperloop=\"512\" ngpus=\"8\" coll=\"allreduce\" inplace=\"1\" outofplace=\"0\" minBytes=\"65537\" maxBytes=\"524287\">\n  <gpu id=\"0\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"256\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"320\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"384\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"448\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"257\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"321\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"385\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"449\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"258\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"322\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"386\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"450\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"259\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"323\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"387\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"451\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"260\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"324\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"388\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"452\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"261\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"325\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"389\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"453\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"262\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"326\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"390\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"454\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"263\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"327\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"391\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"455\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"265\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"329\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"393\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"457\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"264\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"328\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"392\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"456\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"266\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"330\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"394\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"458\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"267\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"331\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"395\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"459\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"268\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"332\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"396\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"460\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"269\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"333\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"397\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"461\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"270\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"334\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"398\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"462\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"271\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"335\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"399\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"463\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"274\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"338\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"402\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"466\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"272\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"336\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"400\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"464\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"273\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"337\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"401\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"465\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"275\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"339\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"403\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"467\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"276\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"340\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"404\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"468\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"277\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"341\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"405\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"469\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"278\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"342\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"406\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"470\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"279\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"343\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"407\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"471\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"283\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"347\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"411\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"475\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"280\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"344\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"408\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"472\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"281\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"345\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"409\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"473\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"282\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"346\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"410\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"474\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"284\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"348\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"412\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"476\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"285\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"349\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"413\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"477\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"286\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"350\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"414\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"478\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"287\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"351\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"415\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"479\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"292\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"356\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"420\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"484\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"288\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"352\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"416\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"480\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"289\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"353\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"417\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"481\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"290\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"354\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"418\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"482\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"291\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"355\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"419\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"483\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"293\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"357\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"421\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"485\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"294\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"358\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"422\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"486\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"295\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"359\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"423\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"487\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"301\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"365\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"429\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"493\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"296\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"360\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"424\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"488\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"297\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"361\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"425\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"489\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"298\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"362\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"426\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"490\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"299\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"363\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"427\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"491\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"300\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"364\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"428\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"492\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"302\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"366\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"430\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"494\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"303\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"367\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"431\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"495\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"310\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"374\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"438\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"502\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"304\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"368\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"432\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"496\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"305\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"369\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"433\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"497\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"306\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"370\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"434\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"498\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"307\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"371\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"435\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"499\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"308\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"372\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"436\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"500\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"309\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"373\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"437\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"501\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"311\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"375\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"439\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"503\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"319\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"383\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"447\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"511\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"312\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"376\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"440\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"504\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"313\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"377\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"441\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"505\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"314\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"378\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"442\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"506\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"315\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"379\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"443\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"507\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"316\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"380\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"444\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"508\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"317\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"381\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"445\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"509\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"318\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"382\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"446\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"510\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-algorithms/allreduce-allpairs-8n-simple-op.xml",
    "content": "<algo name=\"allreduce_pairs\" proto=\"Simple\" nchannels=\"8\" nchunksperloop=\"512\" ngpus=\"8\" coll=\"allreduce\" inplace=\"0\" outofplace=\"1\" minBytes=\"524288\" maxBytes=\"20971520\">\n  <gpu id=\"0\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"384\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"448\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"385\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"449\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"386\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"450\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"387\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"451\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"388\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"452\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"389\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"453\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"390\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"454\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"391\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"455\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"393\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"457\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"392\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"456\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"394\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"458\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"395\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"459\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"396\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"460\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"397\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"461\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"398\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"462\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"399\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"463\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"402\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"466\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"400\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"464\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"401\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"465\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"403\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"467\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"404\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"468\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"405\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"469\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"406\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"470\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"407\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"471\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"411\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"475\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"408\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"472\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"409\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"473\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"410\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"474\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"412\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"476\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"413\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"477\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"414\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"478\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"415\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"479\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"420\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"484\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"416\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"480\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"417\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"481\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"418\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"482\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"419\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"483\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"421\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"485\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"422\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"486\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"423\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"487\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"429\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"493\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"424\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"488\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"425\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"489\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"426\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"490\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"427\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"491\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"428\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"492\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"430\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"494\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"431\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"495\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"438\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"502\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"432\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"496\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"433\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"497\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"434\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"498\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"435\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"499\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"436\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"500\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"437\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"501\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"439\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"503\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"512\" o_chunks=\"512\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"447\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"o\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"o\" dstoff=\"511\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"o\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"o\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"o\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"o\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"o\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"o\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"440\" cnt=\"1\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"384\" dstbuf=\"o\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"504\" cnt=\"1\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"448\" dstbuf=\"o\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"441\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"o\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"392\" dstbuf=\"o\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"o\" dstoff=\"505\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"o\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"o\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"o\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"o\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"o\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"o\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"456\" dstbuf=\"o\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"442\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"o\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"400\" dstbuf=\"o\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"o\" dstoff=\"506\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"o\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"o\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"o\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"o\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"o\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"o\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"464\" dstbuf=\"o\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"443\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"o\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"408\" dstbuf=\"o\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"o\" dstoff=\"507\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"o\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"o\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"o\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"o\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"o\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"o\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"472\" dstbuf=\"o\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"444\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"o\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"416\" dstbuf=\"o\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"o\" dstoff=\"508\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"o\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"o\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"o\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"o\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"o\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"o\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"480\" dstbuf=\"o\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"445\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"o\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"424\" dstbuf=\"o\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"o\" dstoff=\"509\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"o\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"o\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"o\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"o\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"o\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"o\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"488\" dstbuf=\"o\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"446\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"o\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"440\" dstbuf=\"o\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"432\" dstbuf=\"o\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"0\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"o\" dstoff=\"510\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"o\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"o\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"o\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"o\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"o\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"o\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"s\" srcbuf=\"o\" srcoff=\"504\" dstbuf=\"o\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"14\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"r\" srcbuf=\"o\" srcoff=\"496\" dstbuf=\"o\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-algorithms/allreduce-allpairs-8n-simple.xml",
    "content": "<algo name=\"allreduce_pairs\" proto=\"Simple\" nchannels=\"8\" nchunksperloop=\"512\" ngpus=\"8\" coll=\"allreduce\" inplace=\"1\" outofplace=\"0\" minBytes=\"524288\" maxBytes=\"20971520\">\n  <gpu id=\"0\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"256\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"320\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"384\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"448\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"448\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"257\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"321\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"385\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"385\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"449\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"449\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"258\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"322\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"386\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"386\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"450\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"450\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"259\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"323\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"387\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"387\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"451\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"451\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"260\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"324\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"388\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"388\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"452\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"452\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"261\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"325\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"389\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"389\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"453\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"453\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"262\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"326\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"390\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"390\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"454\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"454\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"263\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"327\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"391\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"391\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"455\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"455\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"265\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"329\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"393\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"393\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"457\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"457\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"264\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"328\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"392\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"392\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"456\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"456\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"266\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"330\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"394\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"394\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"458\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"458\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"267\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"331\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"395\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"395\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"459\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"459\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"268\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"332\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"396\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"396\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"460\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"460\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"269\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"333\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"397\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"397\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"461\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"461\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"270\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"334\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"398\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"398\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"462\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"462\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"271\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"335\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"399\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"399\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"463\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"463\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"274\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"338\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"402\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"402\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"466\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"466\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"272\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"336\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"400\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"400\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"464\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"464\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"273\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"337\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"401\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"401\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"465\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"465\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"275\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"339\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"403\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"403\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"467\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"467\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"276\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"340\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"404\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"404\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"468\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"468\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"277\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"341\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"405\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"405\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"469\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"469\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"278\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"342\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"406\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"406\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"470\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"470\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"279\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"343\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"407\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"407\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"471\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"471\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"283\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"347\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"411\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"411\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"475\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"475\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"280\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"344\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"408\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"408\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"472\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"472\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"281\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"345\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"409\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"409\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"473\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"473\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"282\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"346\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"410\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"410\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"474\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"474\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"284\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"348\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"412\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"412\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"476\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"476\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"285\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"349\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"413\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"413\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"477\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"477\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"286\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"350\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"414\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"414\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"478\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"478\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"287\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"351\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"415\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"415\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"479\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"479\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"292\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"356\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"420\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"420\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"484\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"484\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"288\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"352\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"416\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"416\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"480\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"480\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"289\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"353\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"417\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"417\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"481\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"481\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"290\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"354\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"418\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"418\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"482\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"482\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"291\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"355\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"419\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"419\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"483\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"483\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"293\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"357\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"421\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"421\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"485\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"485\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"294\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"358\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"422\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"422\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"486\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"486\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"295\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"359\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"423\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"423\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"487\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"487\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"301\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"365\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"429\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"429\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"493\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"493\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"296\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"360\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"424\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"424\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"488\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"488\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"297\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"361\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"425\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"425\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"489\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"489\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"298\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"362\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"426\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"426\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"490\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"490\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"299\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"363\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"427\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"427\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"491\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"491\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"300\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"364\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"428\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"428\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"492\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"492\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"302\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"366\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"430\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"430\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"494\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"494\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"303\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"367\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"431\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"431\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"495\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"495\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"310\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"374\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"438\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"438\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"502\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"502\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"304\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"368\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"432\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"432\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"496\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"496\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"305\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"369\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"433\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"433\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"497\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"497\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"306\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"370\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"434\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"434\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"498\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"498\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"307\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"371\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"435\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"435\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"499\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"499\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"308\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"372\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"436\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"436\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"500\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"500\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"309\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"373\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"437\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"437\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"501\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"501\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"311\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"375\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"439\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"439\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"503\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"503\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"512\" o_chunks=\"0\" s_chunks=\"448\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"7\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"15\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"23\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"31\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"39\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"47\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"55\" dstbuf=\"i\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"63\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"71\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"79\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"87\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"95\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"103\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"111\" dstbuf=\"i\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"119\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"127\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"135\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"143\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"151\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"159\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"167\" dstbuf=\"i\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"175\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"183\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"191\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"199\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"207\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"215\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"223\" dstbuf=\"i\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"231\" dstbuf=\"i\" dstoff=\"319\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"239\" dstbuf=\"i\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"247\" dstbuf=\"i\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"255\" dstbuf=\"i\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"263\" dstbuf=\"i\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"271\" dstbuf=\"i\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"279\" dstbuf=\"i\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"287\" dstbuf=\"i\" dstoff=\"383\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"295\" dstbuf=\"i\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"303\" dstbuf=\"i\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"311\" dstbuf=\"i\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"319\" dstbuf=\"i\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"327\" dstbuf=\"i\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"335\" dstbuf=\"i\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"343\" dstbuf=\"i\" dstoff=\"447\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"351\" dstbuf=\"i\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"359\" dstbuf=\"i\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"367\" dstbuf=\"i\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"375\" dstbuf=\"i\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"383\" dstbuf=\"i\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"391\" dstbuf=\"i\" dstoff=\"447\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"re\" srcbuf=\"s\" srcoff=\"399\" dstbuf=\"i\" dstoff=\"511\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"407\" dstbuf=\"i\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"415\" dstbuf=\"i\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"423\" dstbuf=\"i\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"431\" dstbuf=\"i\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"439\" dstbuf=\"i\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"447\" dstbuf=\"i\" dstoff=\"511\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"i\" dstoff=\"0\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"56\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"i\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"i\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"i\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"312\" cnt=\"1\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"i\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"376\" cnt=\"1\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"i\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"440\" cnt=\"1\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"440\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"384\" dstbuf=\"i\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"504\" cnt=\"1\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"504\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"448\" dstbuf=\"i\" dstoff=\"448\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"1\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"9\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"17\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"25\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"33\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"41\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"49\" dstbuf=\"i\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"i\" dstoff=\"8\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"64\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"57\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"65\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"73\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"81\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"89\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"97\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"105\" dstbuf=\"i\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"i\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"120\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"113\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"121\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"129\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"137\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"145\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"153\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"161\" dstbuf=\"i\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"i\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"169\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"177\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"185\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"193\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"201\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"209\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"217\" dstbuf=\"i\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"i\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"225\" dstbuf=\"i\" dstoff=\"313\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"233\" dstbuf=\"i\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"241\" dstbuf=\"i\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"249\" dstbuf=\"i\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"257\" dstbuf=\"i\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"265\" dstbuf=\"i\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"273\" dstbuf=\"i\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"i\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"281\" dstbuf=\"i\" dstoff=\"377\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"289\" dstbuf=\"i\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"297\" dstbuf=\"i\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"305\" dstbuf=\"i\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"313\" dstbuf=\"i\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"321\" dstbuf=\"i\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"329\" dstbuf=\"i\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"i\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"337\" dstbuf=\"i\" dstoff=\"441\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"345\" dstbuf=\"i\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"353\" dstbuf=\"i\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"361\" dstbuf=\"i\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"369\" dstbuf=\"i\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"377\" dstbuf=\"i\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"385\" dstbuf=\"i\" dstoff=\"441\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"392\" dstbuf=\"i\" dstoff=\"392\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"393\" dstbuf=\"i\" dstoff=\"505\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"401\" dstbuf=\"i\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"409\" dstbuf=\"i\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"417\" dstbuf=\"i\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"425\" dstbuf=\"i\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"433\" dstbuf=\"i\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"441\" dstbuf=\"i\" dstoff=\"505\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"456\" dstbuf=\"i\" dstoff=\"456\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"2\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"10\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"18\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"26\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"34\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"42\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"50\" dstbuf=\"i\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"i\" dstoff=\"16\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"72\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"58\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"66\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"74\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"82\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"90\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"98\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"106\" dstbuf=\"i\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"i\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"128\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"114\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"122\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"130\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"138\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"146\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"154\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"162\" dstbuf=\"i\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"i\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"184\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"170\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"178\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"186\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"194\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"202\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"210\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"218\" dstbuf=\"i\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"i\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"226\" dstbuf=\"i\" dstoff=\"314\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"234\" dstbuf=\"i\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"242\" dstbuf=\"i\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"250\" dstbuf=\"i\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"258\" dstbuf=\"i\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"266\" dstbuf=\"i\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"274\" dstbuf=\"i\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"i\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"282\" dstbuf=\"i\" dstoff=\"378\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"290\" dstbuf=\"i\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"298\" dstbuf=\"i\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"306\" dstbuf=\"i\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"314\" dstbuf=\"i\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"322\" dstbuf=\"i\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"330\" dstbuf=\"i\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"i\" dstoff=\"336\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"338\" dstbuf=\"i\" dstoff=\"442\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"346\" dstbuf=\"i\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"354\" dstbuf=\"i\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"362\" dstbuf=\"i\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"370\" dstbuf=\"i\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"378\" dstbuf=\"i\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"386\" dstbuf=\"i\" dstoff=\"442\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"400\" dstbuf=\"i\" dstoff=\"400\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"394\" dstbuf=\"i\" dstoff=\"506\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"402\" dstbuf=\"i\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"410\" dstbuf=\"i\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"418\" dstbuf=\"i\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"426\" dstbuf=\"i\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"434\" dstbuf=\"i\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"442\" dstbuf=\"i\" dstoff=\"506\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"464\" dstbuf=\"i\" dstoff=\"464\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"3\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"11\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"19\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"27\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"35\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"43\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"51\" dstbuf=\"i\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"i\" dstoff=\"24\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"80\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"59\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"67\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"75\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"83\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"91\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"99\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"107\" dstbuf=\"i\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"i\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"136\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"115\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"123\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"131\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"139\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"147\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"155\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"163\" dstbuf=\"i\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"i\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"192\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"171\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"179\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"187\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"195\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"203\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"211\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"219\" dstbuf=\"i\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"i\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"248\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"227\" dstbuf=\"i\" dstoff=\"315\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"235\" dstbuf=\"i\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"243\" dstbuf=\"i\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"251\" dstbuf=\"i\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"259\" dstbuf=\"i\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"267\" dstbuf=\"i\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"275\" dstbuf=\"i\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"i\" dstoff=\"280\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"283\" dstbuf=\"i\" dstoff=\"379\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"291\" dstbuf=\"i\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"299\" dstbuf=\"i\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"307\" dstbuf=\"i\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"315\" dstbuf=\"i\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"323\" dstbuf=\"i\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"331\" dstbuf=\"i\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"i\" dstoff=\"344\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"339\" dstbuf=\"i\" dstoff=\"443\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"347\" dstbuf=\"i\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"355\" dstbuf=\"i\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"363\" dstbuf=\"i\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"371\" dstbuf=\"i\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"379\" dstbuf=\"i\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"387\" dstbuf=\"i\" dstoff=\"443\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"408\" dstbuf=\"i\" dstoff=\"408\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"395\" dstbuf=\"i\" dstoff=\"507\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"403\" dstbuf=\"i\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"411\" dstbuf=\"i\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"419\" dstbuf=\"i\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"427\" dstbuf=\"i\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"435\" dstbuf=\"i\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"443\" dstbuf=\"i\" dstoff=\"507\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"472\" dstbuf=\"i\" dstoff=\"472\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"4\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"12\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"20\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"28\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"36\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"44\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"52\" dstbuf=\"i\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"i\" dstoff=\"32\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"88\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"60\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"68\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"76\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"84\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"92\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"100\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"108\" dstbuf=\"i\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"i\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"144\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"116\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"124\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"132\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"140\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"148\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"156\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"164\" dstbuf=\"i\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"i\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"200\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"172\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"180\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"188\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"196\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"204\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"212\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"220\" dstbuf=\"i\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"i\" dstoff=\"224\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"256\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"228\" dstbuf=\"i\" dstoff=\"316\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"236\" dstbuf=\"i\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"244\" dstbuf=\"i\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"252\" dstbuf=\"i\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"260\" dstbuf=\"i\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"268\" dstbuf=\"i\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"276\" dstbuf=\"i\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"i\" dstoff=\"288\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"312\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"284\" dstbuf=\"i\" dstoff=\"380\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"292\" dstbuf=\"i\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"300\" dstbuf=\"i\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"308\" dstbuf=\"i\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"316\" dstbuf=\"i\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"324\" dstbuf=\"i\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"332\" dstbuf=\"i\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"i\" dstoff=\"352\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"340\" dstbuf=\"i\" dstoff=\"444\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"348\" dstbuf=\"i\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"356\" dstbuf=\"i\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"364\" dstbuf=\"i\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"372\" dstbuf=\"i\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"380\" dstbuf=\"i\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"388\" dstbuf=\"i\" dstoff=\"444\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"416\" dstbuf=\"i\" dstoff=\"416\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"396\" dstbuf=\"i\" dstoff=\"508\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"404\" dstbuf=\"i\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"412\" dstbuf=\"i\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"420\" dstbuf=\"i\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"428\" dstbuf=\"i\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"436\" dstbuf=\"i\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"444\" dstbuf=\"i\" dstoff=\"508\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"480\" dstbuf=\"i\" dstoff=\"480\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"5\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"13\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"21\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"29\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"37\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"45\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"53\" dstbuf=\"i\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"56\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"i\" dstoff=\"40\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"96\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"61\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"69\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"77\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"85\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"93\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"101\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"109\" dstbuf=\"i\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"57\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"i\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"152\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"117\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"125\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"133\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"141\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"149\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"157\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"165\" dstbuf=\"i\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"58\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"i\" dstoff=\"168\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"208\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"173\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"181\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"189\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"197\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"205\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"213\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"221\" dstbuf=\"i\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"59\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"i\" dstoff=\"232\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"264\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"229\" dstbuf=\"i\" dstoff=\"317\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"237\" dstbuf=\"i\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"245\" dstbuf=\"i\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"253\" dstbuf=\"i\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"261\" dstbuf=\"i\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"269\" dstbuf=\"i\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"277\" dstbuf=\"i\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"60\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"i\" dstoff=\"296\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"320\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"285\" dstbuf=\"i\" dstoff=\"381\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"293\" dstbuf=\"i\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"301\" dstbuf=\"i\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"309\" dstbuf=\"i\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"317\" dstbuf=\"i\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"325\" dstbuf=\"i\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"333\" dstbuf=\"i\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"61\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"i\" dstoff=\"360\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"376\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"341\" dstbuf=\"i\" dstoff=\"445\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"349\" dstbuf=\"i\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"357\" dstbuf=\"i\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"365\" dstbuf=\"i\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"373\" dstbuf=\"i\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"381\" dstbuf=\"i\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"389\" dstbuf=\"i\" dstoff=\"445\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"62\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"424\" dstbuf=\"i\" dstoff=\"424\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"397\" dstbuf=\"i\" dstoff=\"509\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"405\" dstbuf=\"i\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"413\" dstbuf=\"i\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"421\" dstbuf=\"i\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"429\" dstbuf=\"i\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"437\" dstbuf=\"i\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"445\" dstbuf=\"i\" dstoff=\"509\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"63\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"488\" dstbuf=\"i\" dstoff=\"488\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"s\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"6\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"8\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"14\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"22\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"30\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"38\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"46\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"54\" dstbuf=\"i\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"24\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"16\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"40\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"32\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"48\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"0\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"i\" dstoff=\"56\" cnt=\"8\" depid=\"8\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"i\" dstoff=\"48\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"s\" dstoff=\"104\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"62\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"9\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"70\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"78\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"86\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"94\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"102\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"110\" dstbuf=\"i\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"25\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"17\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"41\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"33\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"49\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"1\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"i\" dstoff=\"120\" cnt=\"8\" depid=\"9\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"i\" dstoff=\"112\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"s\" dstoff=\"160\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"118\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"10\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"126\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"134\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"142\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"150\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"158\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"166\" dstbuf=\"i\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"26\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"18\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"42\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"34\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"50\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"2\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"i\" dstoff=\"184\" cnt=\"8\" depid=\"10\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"i\" dstoff=\"176\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"s\" dstoff=\"216\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"174\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"11\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"182\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"190\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"198\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"206\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"214\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"222\" dstbuf=\"i\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"27\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"19\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"43\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"35\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"51\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"3\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"i\" dstoff=\"248\" cnt=\"8\" depid=\"11\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"i\" dstoff=\"240\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"s\" dstoff=\"272\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"230\" dstbuf=\"i\" dstoff=\"318\" cnt=\"1\" depid=\"12\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"238\" dstbuf=\"i\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"246\" dstbuf=\"i\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"254\" dstbuf=\"i\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"262\" dstbuf=\"i\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"270\" dstbuf=\"i\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"278\" dstbuf=\"i\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"28\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"20\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"44\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"36\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"52\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"4\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"i\" dstoff=\"312\" cnt=\"8\" depid=\"12\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"i\" dstoff=\"304\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"s\" dstoff=\"328\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"286\" dstbuf=\"i\" dstoff=\"382\" cnt=\"1\" depid=\"13\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"294\" dstbuf=\"i\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"302\" dstbuf=\"i\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"310\" dstbuf=\"i\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"318\" dstbuf=\"i\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"326\" dstbuf=\"i\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"334\" dstbuf=\"i\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"29\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"21\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"45\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"37\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"53\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"5\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"i\" dstoff=\"376\" cnt=\"8\" depid=\"13\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"i\" dstoff=\"368\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"s\" dstoff=\"384\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"342\" dstbuf=\"i\" dstoff=\"446\" cnt=\"1\" depid=\"14\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"350\" dstbuf=\"i\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"358\" dstbuf=\"i\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"366\" dstbuf=\"i\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"374\" dstbuf=\"i\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"382\" dstbuf=\"i\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"390\" dstbuf=\"i\" dstoff=\"446\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"30\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"22\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"46\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"38\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"54\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"6\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"440\" dstbuf=\"i\" dstoff=\"440\" cnt=\"8\" depid=\"14\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"432\" dstbuf=\"i\" dstoff=\"432\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"s\" dstoff=\"440\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"2\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"re\" srcbuf=\"s\" srcoff=\"398\" dstbuf=\"i\" dstoff=\"510\" cnt=\"1\" depid=\"15\" deps=\"1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"re\" srcbuf=\"s\" srcoff=\"406\" dstbuf=\"i\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"re\" srcbuf=\"s\" srcoff=\"414\" dstbuf=\"i\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"re\" srcbuf=\"s\" srcoff=\"422\" dstbuf=\"i\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"re\" srcbuf=\"s\" srcoff=\"430\" dstbuf=\"i\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"re\" srcbuf=\"s\" srcoff=\"438\" dstbuf=\"i\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"re\" srcbuf=\"s\" srcoff=\"446\" dstbuf=\"i\" dstoff=\"510\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"1\"/>\n      <step s=\"14\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"31\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"23\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"47\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"39\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"55\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"nop\" srcbuf=\"i\" srcoff=\"-1\" dstbuf=\"o\" dstoff=\"-1\" cnt=\"0\" depid=\"7\" deps=\"12\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"s\" srcbuf=\"i\" srcoff=\"504\" dstbuf=\"i\" dstoff=\"504\" cnt=\"8\" depid=\"15\" deps=\"13\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"r\" srcbuf=\"i\" srcoff=\"496\" dstbuf=\"i\" dstoff=\"496\" cnt=\"8\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-algorithms/alltoall-8n-0-9kb.xml",
    "content": "<!-- Copyright (c) Microsoft Corporation. -->\n<!-- Licensed under the MIT License. -->\n<algo name=\"alltoall_llm\" proto=\"LL\" nchannels=\"1\" nchunksperloop=\"8\" ngpus=\"8\" coll=\"alltoall\" inplace=\"0\" outofplace=\"1\" minBytes=\"0\" maxBytes=\"9216\">\n  <gpu id=\"0\" i_chunks=\"8\" o_chunks=\"8\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"8\" o_chunks=\"8\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"8\" o_chunks=\"8\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"8\" o_chunks=\"8\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"8\" o_chunks=\"8\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"8\" o_chunks=\"8\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"8\" o_chunks=\"8\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"8\" o_chunks=\"8\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-algorithms/alltoall-8n-190kb-512kb.xml",
    "content": "<!-- Copyright (c) Microsoft Corporation. -->\n<!-- Licensed under the MIT License. -->\n<algo name=\"alltoall_llm\" proto=\"LL\" nchannels=\"4\" nchunksperloop=\"32\" ngpus=\"8\" coll=\"alltoall\" inplace=\"0\" outofplace=\"1\" minBytes=\"194561\" maxBytes=\"524288\">\n  <gpu id=\"0\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"2\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"2\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"2\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"3\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"3\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"3\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"0\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"0\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"0\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"2\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"2\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"2\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"3\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"3\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"3\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"0\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"0\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"0\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"3\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"3\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"3\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"0\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"0\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"0\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"2\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"2\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"2\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"0\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"0\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"0\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"2\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"2\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"2\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"3\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"3\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"3\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"0\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"0\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"0\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"2\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"2\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"2\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"3\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"3\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"3\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"4\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"4\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"4\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"0\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"0\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"0\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"2\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"2\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"2\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"3\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"3\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"3\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"4\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"4\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"4\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"5\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"5\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"5\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"0\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"0\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"0\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"2\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"2\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"2\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"3\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"3\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"3\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"4\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"4\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"4\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"5\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"5\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"5\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"6\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"6\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"6\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-algorithms/alltoall-8n-512kb-7mb.xml",
    "content": "<!-- Copyright (c) Microsoft Corporation. -->\n<!-- Licensed under the MIT License. -->\n<algo name=\"alltoall_llm\" proto=\"Simple\" nchannels=\"32\" nchunksperloop=\"32\" ngpus=\"8\" coll=\"alltoall\" inplace=\"0\" outofplace=\"1\" minBytes=\"524289\" maxBytes=\"7340032\">\n  <gpu id=\"0\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"8\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"16\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"24\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"1\" chan=\"9\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"1\" chan=\"17\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"1\" chan=\"25\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"2\" chan=\"10\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"2\" chan=\"18\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"2\" chan=\"26\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"3\" chan=\"11\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"3\" chan=\"19\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"3\" chan=\"27\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"4\" chan=\"12\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"4\" chan=\"20\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"4\" chan=\"28\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"5\" chan=\"13\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"5\" chan=\"21\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"5\" chan=\"29\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"6\" chan=\"14\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"6\" chan=\"22\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"6\" chan=\"30\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"7\" chan=\"15\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"7\" chan=\"23\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"7\" chan=\"31\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"1\" recv=\"-1\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"1\" recv=\"-1\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"1\" recv=\"-1\" chan=\"24\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"2\" recv=\"-1\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"2\" recv=\"-1\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"2\" recv=\"-1\" chan=\"24\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"3\" recv=\"-1\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"3\" recv=\"-1\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"3\" recv=\"-1\" chan=\"24\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"-1\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"-1\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"-1\" chan=\"24\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"-1\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"-1\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"-1\" chan=\"24\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"-1\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"-1\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"-1\" chan=\"24\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"-1\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"-1\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"-1\" chan=\"24\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"9\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"17\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"25\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"0\" chan=\"8\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"0\" chan=\"16\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"0\" chan=\"24\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"2\" chan=\"10\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"2\" chan=\"18\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"2\" chan=\"26\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"3\" chan=\"11\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"3\" chan=\"19\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"3\" chan=\"27\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"4\" chan=\"12\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"4\" chan=\"20\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"4\" chan=\"28\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"5\" chan=\"13\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"5\" chan=\"21\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"5\" chan=\"29\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"6\" chan=\"14\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"6\" chan=\"22\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"6\" chan=\"30\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"7\" chan=\"15\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"7\" chan=\"23\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"7\" chan=\"31\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"0\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"0\" recv=\"-1\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"0\" recv=\"-1\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"0\" recv=\"-1\" chan=\"25\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"2\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"2\" recv=\"-1\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"2\" recv=\"-1\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"2\" recv=\"-1\" chan=\"25\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"3\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"3\" recv=\"-1\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"3\" recv=\"-1\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"3\" recv=\"-1\" chan=\"25\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"-1\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"-1\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"-1\" chan=\"25\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"-1\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"-1\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"-1\" chan=\"25\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"-1\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"-1\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"-1\" chan=\"25\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"-1\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"-1\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"-1\" chan=\"25\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"10\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"18\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"26\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"0\" chan=\"8\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"0\" chan=\"16\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"0\" chan=\"24\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"1\" chan=\"9\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"1\" chan=\"17\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"1\" chan=\"25\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"3\" chan=\"11\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"3\" chan=\"19\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"3\" chan=\"27\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"4\" chan=\"12\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"4\" chan=\"20\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"4\" chan=\"28\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"5\" chan=\"13\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"5\" chan=\"21\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"5\" chan=\"29\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"6\" chan=\"14\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"6\" chan=\"22\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"6\" chan=\"30\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"7\" chan=\"15\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"7\" chan=\"23\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"7\" chan=\"31\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"0\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"0\" recv=\"-1\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"0\" recv=\"-1\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"0\" recv=\"-1\" chan=\"26\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"1\" recv=\"-1\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"1\" recv=\"-1\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"1\" recv=\"-1\" chan=\"26\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"3\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"3\" recv=\"-1\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"3\" recv=\"-1\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"3\" recv=\"-1\" chan=\"26\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"-1\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"-1\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"-1\" chan=\"26\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"-1\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"-1\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"-1\" chan=\"26\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"-1\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"-1\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"-1\" chan=\"26\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"-1\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"-1\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"-1\" chan=\"26\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"11\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"19\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"27\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"0\" chan=\"8\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"0\" chan=\"16\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"0\" chan=\"24\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"1\" chan=\"9\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"1\" chan=\"17\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"1\" chan=\"25\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"2\" chan=\"10\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"2\" chan=\"18\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"2\" chan=\"26\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"4\" chan=\"12\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"4\" chan=\"20\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"4\" chan=\"28\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"5\" chan=\"13\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"5\" chan=\"21\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"5\" chan=\"29\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"6\" chan=\"14\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"6\" chan=\"22\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"6\" chan=\"30\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"7\" chan=\"15\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"7\" chan=\"23\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"7\" chan=\"31\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"0\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"0\" recv=\"-1\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"0\" recv=\"-1\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"0\" recv=\"-1\" chan=\"27\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"1\" recv=\"-1\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"1\" recv=\"-1\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"1\" recv=\"-1\" chan=\"27\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"2\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"2\" recv=\"-1\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"2\" recv=\"-1\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"2\" recv=\"-1\" chan=\"27\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"-1\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"-1\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"-1\" chan=\"27\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"-1\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"-1\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"-1\" chan=\"27\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"-1\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"-1\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"-1\" chan=\"27\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"-1\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"-1\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"-1\" chan=\"27\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"12\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"20\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"28\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"0\" chan=\"8\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"0\" chan=\"16\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"0\" chan=\"24\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"1\" chan=\"9\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"1\" chan=\"17\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"1\" chan=\"25\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"2\" chan=\"10\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"2\" chan=\"18\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"2\" chan=\"26\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"3\" chan=\"11\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"3\" chan=\"19\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"3\" chan=\"27\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"5\" chan=\"13\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"5\" chan=\"21\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"5\" chan=\"29\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"6\" chan=\"14\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"6\" chan=\"22\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"6\" chan=\"30\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"7\" chan=\"15\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"7\" chan=\"23\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"7\" chan=\"31\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"0\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"0\" recv=\"-1\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"0\" recv=\"-1\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"0\" recv=\"-1\" chan=\"28\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"1\" recv=\"-1\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"1\" recv=\"-1\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"1\" recv=\"-1\" chan=\"28\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"2\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"2\" recv=\"-1\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"2\" recv=\"-1\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"2\" recv=\"-1\" chan=\"28\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"3\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"3\" recv=\"-1\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"3\" recv=\"-1\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"3\" recv=\"-1\" chan=\"28\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"-1\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"-1\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"-1\" chan=\"28\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"-1\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"-1\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"-1\" chan=\"28\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"-1\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"-1\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"-1\" chan=\"28\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"13\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"21\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"29\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"0\" chan=\"8\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"0\" chan=\"16\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"0\" chan=\"24\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"1\" chan=\"9\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"1\" chan=\"17\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"1\" chan=\"25\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"2\" chan=\"10\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"2\" chan=\"18\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"2\" chan=\"26\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"3\" chan=\"11\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"3\" chan=\"19\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"3\" chan=\"27\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"4\" chan=\"12\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"4\" chan=\"20\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"4\" chan=\"28\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"6\" chan=\"14\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"6\" chan=\"22\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"6\" chan=\"30\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"7\" chan=\"15\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"7\" chan=\"23\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"7\" chan=\"31\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"0\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"0\" recv=\"-1\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"0\" recv=\"-1\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"0\" recv=\"-1\" chan=\"29\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"1\" recv=\"-1\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"1\" recv=\"-1\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"1\" recv=\"-1\" chan=\"29\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"2\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"2\" recv=\"-1\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"2\" recv=\"-1\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"2\" recv=\"-1\" chan=\"29\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"3\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"3\" recv=\"-1\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"3\" recv=\"-1\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"3\" recv=\"-1\" chan=\"29\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"4\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"4\" recv=\"-1\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"4\" recv=\"-1\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"4\" recv=\"-1\" chan=\"29\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"-1\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"-1\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"-1\" chan=\"29\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"-1\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"-1\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"-1\" chan=\"29\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"14\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"22\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"30\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"0\" chan=\"8\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"0\" chan=\"16\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"0\" chan=\"24\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"1\" chan=\"9\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"1\" chan=\"17\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"1\" chan=\"25\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"2\" chan=\"10\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"2\" chan=\"18\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"2\" chan=\"26\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"3\" chan=\"11\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"3\" chan=\"19\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"3\" chan=\"27\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"4\" chan=\"12\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"4\" chan=\"20\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"4\" chan=\"28\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"5\" chan=\"13\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"5\" chan=\"21\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"5\" chan=\"29\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"7\" chan=\"15\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"7\" chan=\"23\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"7\" chan=\"31\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"0\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"0\" recv=\"-1\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"0\" recv=\"-1\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"0\" recv=\"-1\" chan=\"30\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"1\" recv=\"-1\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"1\" recv=\"-1\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"1\" recv=\"-1\" chan=\"30\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"2\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"2\" recv=\"-1\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"2\" recv=\"-1\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"2\" recv=\"-1\" chan=\"30\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"3\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"3\" recv=\"-1\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"3\" recv=\"-1\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"3\" recv=\"-1\" chan=\"30\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"4\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"4\" recv=\"-1\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"4\" recv=\"-1\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"4\" recv=\"-1\" chan=\"30\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"5\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"5\" recv=\"-1\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"5\" recv=\"-1\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"5\" recv=\"-1\" chan=\"30\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"-1\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"-1\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"-1\" chan=\"30\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"32\" o_chunks=\"32\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"15\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"23\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"31\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"0\" chan=\"8\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"0\" chan=\"16\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"0\" chan=\"24\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"1\" chan=\"9\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"1\" chan=\"17\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"1\" chan=\"25\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"2\" chan=\"10\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"2\" chan=\"18\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"2\" chan=\"26\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"-1\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"-1\" recv=\"3\" chan=\"11\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"-1\" recv=\"3\" chan=\"19\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"-1\" recv=\"3\" chan=\"27\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"-1\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"-1\" recv=\"4\" chan=\"12\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"-1\" recv=\"4\" chan=\"20\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"-1\" recv=\"4\" chan=\"28\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"-1\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"-1\" recv=\"5\" chan=\"13\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"-1\" recv=\"5\" chan=\"21\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"-1\" recv=\"5\" chan=\"29\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"-1\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"-1\" recv=\"6\" chan=\"14\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"-1\" recv=\"6\" chan=\"22\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"-1\" recv=\"6\" chan=\"30\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"0\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"0\" recv=\"-1\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"0\" recv=\"-1\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"0\" recv=\"-1\" chan=\"31\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"1\" recv=\"-1\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"1\" recv=\"-1\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"1\" recv=\"-1\" chan=\"31\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"2\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"2\" recv=\"-1\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"2\" recv=\"-1\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"2\" recv=\"-1\" chan=\"31\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"3\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"3\" recv=\"-1\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"3\" recv=\"-1\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"3\" recv=\"-1\" chan=\"31\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"4\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"4\" recv=\"-1\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"4\" recv=\"-1\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"4\" recv=\"-1\" chan=\"31\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"5\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"5\" recv=\"-1\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"5\" recv=\"-1\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"5\" recv=\"-1\" chan=\"31\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"6\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"6\" recv=\"-1\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"6\" recv=\"-1\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"6\" recv=\"-1\" chan=\"31\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-algorithms/alltoall-8n-7mb-43mb.xml",
    "content": "<!-- Copyright (c) Microsoft Corporation. -->\n<!-- Licensed under the MIT License. -->\n<algo name=\"alltoall_llm\" proto=\"Simple\" nchannels=\"8\" nchunksperloop=\"64\" ngpus=\"8\" coll=\"alltoall\" inplace=\"0\" outofplace=\"1\" minBytes=\"7340033\" maxBytes=\"45088768\">\n  <gpu id=\"0\" i_chunks=\"64\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"64\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"64\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"64\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"64\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"64\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"64\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"7\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"7\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"7\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"7\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"7\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"7\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"7\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"7\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"64\" o_chunks=\"64\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"-1\" chan=\"2\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"-1\" chan=\"3\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"-1\" chan=\"4\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"-1\" chan=\"5\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"-1\" chan=\"6\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"-1\" chan=\"7\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"0\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"0\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"0\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"0\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"1\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"1\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"1\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"1\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"2\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"2\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"2\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"2\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"2\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"2\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"30\" send=\"2\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"31\" send=\"2\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"32\" send=\"3\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"33\" send=\"3\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"34\" send=\"3\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"35\" send=\"3\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"36\" send=\"3\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"37\" send=\"3\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"38\" send=\"3\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"39\" send=\"3\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"40\" send=\"4\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"41\" send=\"4\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"42\" send=\"4\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"43\" send=\"4\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"44\" send=\"4\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"45\" send=\"4\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"46\" send=\"4\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"47\" send=\"4\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"48\" send=\"5\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"49\" send=\"5\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"50\" send=\"5\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"51\" send=\"5\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"52\" send=\"5\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"53\" send=\"5\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"54\" send=\"5\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"55\" send=\"5\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"56\" send=\"6\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"57\" send=\"6\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"58\" send=\"6\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"59\" send=\"6\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"60\" send=\"6\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"61\" send=\"6\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"62\" send=\"6\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"63\" send=\"6\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"r\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-algorithms/alltoall-8n-9kb-190kb.xml",
    "content": "<!-- Copyright (c) Microsoft Corporation. -->\n<!-- Licensed under the MIT License. -->\n<algo name=\"alltoall_llm\" proto=\"LL\" nchannels=\"2\" nchunksperloop=\"16\" ngpus=\"8\" coll=\"alltoall\" inplace=\"0\" outofplace=\"1\" minBytes=\"9217\" maxBytes=\"194560\">\n  <gpu id=\"0\" i_chunks=\"16\" o_chunks=\"16\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"2\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"3\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"4\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"5\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"16\" o_chunks=\"16\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"0\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"2\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"3\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"4\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"5\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"16\" o_chunks=\"16\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"0\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"3\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"4\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"5\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"16\" o_chunks=\"16\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"0\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"2\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"4\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"5\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"16\" o_chunks=\"16\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"0\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"2\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"3\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"5\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"16\" o_chunks=\"16\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"0\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"2\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"3\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"4\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"6\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"16\" o_chunks=\"16\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"0\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"2\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"3\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"4\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"5\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"7\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"7\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"16\" o_chunks=\"16\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"-1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"-1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"cpy\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"-1\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"-1\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"-1\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"-1\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"-1\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"-1\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"-1\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"-1\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"-1\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"-1\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"-1\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"-1\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"-1\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"-1\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"0\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"0\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"1\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"1\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"2\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"2\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"3\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"3\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"24\" send=\"4\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"25\" send=\"4\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"26\" send=\"5\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"27\" send=\"5\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"28\" send=\"6\" recv=\"-1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"29\" send=\"6\" recv=\"-1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-unit-test-algorithms/all-reduce-ring-ll.xml",
    "content": "<!-- Copyright (c) Microsoft Corporation. -->\n<!-- Licensed under the MIT License.      -->\n<algo name=\"allreduce_ring_mi200\" proto=\"LL\" nchannels=\"24\" nchunksperloop=\"384\" ngpus=\"16\" coll=\"allreduce\" inplace=\"1\" outofplace=\"1\" maxcount=\"1\" nthreadblocks=\"24\" minBytes=\"0\" maxBytes=\"12287\">\n  <gpu id=\"0\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"1\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"1\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"4\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"4\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"4\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"1\" recv=\"4\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"1\" recv=\"4\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"8\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"8\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"8\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"8\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"4\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"4\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"4\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"4\" recv=\"1\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"4\" recv=\"1\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"4\" recv=\"1\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"4\" recv=\"1\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"4\" recv=\"1\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"8\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"8\" recv=\"1\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"8\" recv=\"1\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"8\" recv=\"1\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"5\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"5\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"5\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"9\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"9\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"9\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"10\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"10\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"10\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"0\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"5\" recv=\"0\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"5\" recv=\"0\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"0\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"0\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"0\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"0\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"0\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"3\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"3\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"3\" recv=\"6\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"3\" recv=\"6\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"3\" recv=\"9\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"3\" recv=\"9\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"9\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"9\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"10\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"10\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"3\" recv=\"10\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"3\" recv=\"10\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"3\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"3\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"3\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"3\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"3\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"3\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"3\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"3\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"2\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"2\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"2\" recv=\"7\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"2\" recv=\"7\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"7\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"7\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"7\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"7\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"2\" recv=\"11\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"2\" recv=\"11\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"2\" recv=\"11\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"2\" recv=\"11\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"2\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"2\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"2\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"2\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"7\" recv=\"2\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"7\" recv=\"2\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"2\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"2\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"5\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"5\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"5\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"5\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"5\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"0\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"0\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"0\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"5\" recv=\"0\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"5\" recv=\"0\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"5\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"5\" recv=\"6\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"5\" recv=\"6\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"5\" recv=\"6\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"6\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"6\" recv=\"5\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"6\" recv=\"5\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"6\" recv=\"5\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"1\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"1\" recv=\"4\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"4\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"4\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"4\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"4\" recv=\"1\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"4\" recv=\"1\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"4\" recv=\"1\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"6\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"6\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"6\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"4\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"4\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"4\" recv=\"7\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"4\" recv=\"7\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"6\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"6\" recv=\"4\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"6\" recv=\"4\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"6\" recv=\"4\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"7\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"7\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"7\" recv=\"4\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"7\" recv=\"4\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"2\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"2\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"2\" recv=\"7\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"2\" recv=\"7\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"4\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"4\" recv=\"7\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"4\" recv=\"7\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"4\" recv=\"7\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"7\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"7\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"7\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"2\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"2\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"4\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"7\" recv=\"4\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"7\" recv=\"4\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"7\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"7\" recv=\"5\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"7\" recv=\"5\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"7\" recv=\"5\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"3\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"3\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"3\" recv=\"6\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"3\" recv=\"6\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"3\" recv=\"6\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"3\" recv=\"6\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"6\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"6\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"6\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"6\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"3\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"3\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"6\" recv=\"3\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"6\" recv=\"3\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"6\" recv=\"3\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"6\" recv=\"3\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"6\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"6\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"6\" recv=\"5\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"6\" recv=\"5\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"8\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"9\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"9\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"9\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"9\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"9\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"9\" recv=\"0\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"9\" recv=\"0\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"9\" recv=\"0\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"9\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"9\" recv=\"12\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"9\" recv=\"12\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"9\" recv=\"12\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"9\" recv=\"12\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"9\" recv=\"12\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"9\" recv=\"12\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"9\" recv=\"12\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"12\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"12\" recv=\"9\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"12\" recv=\"9\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"12\" recv=\"9\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"12\" recv=\"9\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"12\" recv=\"9\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"9\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"9\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"9\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"1\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"1\" recv=\"8\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"8\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"8\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"8\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"8\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"8\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"8\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"8\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"8\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"8\" recv=\"1\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"8\" recv=\"1\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"8\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"8\" recv=\"2\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"2\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"2\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"13\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"13\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"13\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"13\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"13\" recv=\"8\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"13\" recv=\"8\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"13\" recv=\"8\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"13\" recv=\"8\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"10\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"1\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"1\" recv=\"11\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"11\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"11\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"11\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"11\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"11\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"11\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"11\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"11\" recv=\"1\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"11\" recv=\"1\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"11\" recv=\"1\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"11\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"11\" recv=\"2\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"11\" recv=\"2\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"11\" recv=\"2\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"11\" recv=\"14\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"11\" recv=\"14\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"11\" recv=\"14\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"11\" recv=\"14\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"14\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"14\" recv=\"11\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"14\" recv=\"11\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"14\" recv=\"11\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"11\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"3\" recv=\"10\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"3\" recv=\"10\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"3\" recv=\"10\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"3\" recv=\"10\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"10\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"10\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"10\" recv=\"3\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"10\" recv=\"3\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"10\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"10\" recv=\"15\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"10\" recv=\"15\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"10\" recv=\"15\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"10\" recv=\"15\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"10\" recv=\"15\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"10\" recv=\"15\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"10\" recv=\"15\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"15\" recv=\"10\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"15\" recv=\"10\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"15\" recv=\"10\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"15\" recv=\"10\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"15\" recv=\"10\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"15\" recv=\"10\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"15\" recv=\"10\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"15\" recv=\"10\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"12\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"8\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"8\" recv=\"13\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"8\" recv=\"13\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"8\" recv=\"13\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"8\" recv=\"13\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"8\" recv=\"13\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"8\" recv=\"13\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"8\" recv=\"13\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"13\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"13\" recv=\"8\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"13\" recv=\"8\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"13\" recv=\"8\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"13\" recv=\"8\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"13\" recv=\"8\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"13\" recv=\"8\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"13\" recv=\"8\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"13\" recv=\"14\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"13\" recv=\"14\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"13\" recv=\"14\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"13\" recv=\"14\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"14\" recv=\"13\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"14\" recv=\"13\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"14\" recv=\"13\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"14\" recv=\"13\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"13\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"9\" recv=\"12\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"9\" recv=\"12\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"9\" recv=\"12\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"9\" recv=\"12\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"12\" recv=\"9\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"12\" recv=\"9\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"12\" recv=\"9\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"12\" recv=\"9\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"12\" recv=\"14\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"12\" recv=\"14\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"12\" recv=\"14\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"12\" recv=\"14\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"12\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"12\" recv=\"15\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"12\" recv=\"15\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"12\" recv=\"15\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"14\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"14\" recv=\"12\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"14\" recv=\"12\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"14\" recv=\"12\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"15\" recv=\"12\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"15\" recv=\"12\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"15\" recv=\"12\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"15\" recv=\"12\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"14\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"10\" recv=\"15\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"10\" recv=\"15\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"10\" recv=\"15\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"10\" recv=\"15\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"12\" recv=\"15\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"12\" recv=\"15\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"12\" recv=\"15\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"12\" recv=\"15\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"13\" recv=\"15\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"13\" recv=\"15\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"13\" recv=\"15\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"13\" recv=\"15\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"15\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"15\" recv=\"10\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"15\" recv=\"10\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"15\" recv=\"10\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"15\" recv=\"12\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"15\" recv=\"12\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"15\" recv=\"12\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"15\" recv=\"12\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"15\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"15\" recv=\"13\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"15\" recv=\"13\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"15\" recv=\"13\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"15\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"11\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"11\" recv=\"14\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"11\" recv=\"14\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"11\" recv=\"14\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"11\" recv=\"14\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"11\" recv=\"14\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"11\" recv=\"14\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"11\" recv=\"14\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"13\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"13\" recv=\"14\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"13\" recv=\"14\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"13\" recv=\"14\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"14\" recv=\"11\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"14\" recv=\"11\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"14\" recv=\"11\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"14\" recv=\"11\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"14\" recv=\"11\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"14\" recv=\"11\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"14\" recv=\"11\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"14\" recv=\"11\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"14\" recv=\"13\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"14\" recv=\"13\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"14\" recv=\"13\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"14\" recv=\"13\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-unit-test-algorithms/all-reduce-ring-ll128.xml",
    "content": "<!-- Copyright (c) Microsoft Corporation. -->\n<!-- Licensed under the MIT License.      -->\n<algo name=\"allreduce_ring_mi200\" proto=\"LL128\" nchannels=\"24\" nchunksperloop=\"384\" ngpus=\"16\" coll=\"allreduce\" inplace=\"1\" outofplace=\"1\" maxcount=\"1\" nthreadblocks=\"24\" minBytes=\"12288\" maxBytes=\"393215\">\n  <gpu id=\"0\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"1\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"1\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"4\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"4\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"4\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"1\" recv=\"4\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"1\" recv=\"4\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"8\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"8\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"8\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"8\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"4\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"4\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"4\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"4\" recv=\"1\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"4\" recv=\"1\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"4\" recv=\"1\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"4\" recv=\"1\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"4\" recv=\"1\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"8\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"8\" recv=\"1\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"8\" recv=\"1\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"8\" recv=\"1\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"5\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"5\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"5\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"9\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"9\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"9\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"10\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"10\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"10\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"0\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"5\" recv=\"0\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"5\" recv=\"0\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"0\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"0\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"0\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"0\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"0\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"3\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"3\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"3\" recv=\"6\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"3\" recv=\"6\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"3\" recv=\"9\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"3\" recv=\"9\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"9\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"9\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"10\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"10\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"3\" recv=\"10\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"3\" recv=\"10\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"3\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"3\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"3\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"3\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"3\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"3\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"3\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"3\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"2\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"2\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"2\" recv=\"7\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"2\" recv=\"7\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"7\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"7\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"7\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"7\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"2\" recv=\"11\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"2\" recv=\"11\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"2\" recv=\"11\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"2\" recv=\"11\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"2\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"2\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"2\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"2\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"7\" recv=\"2\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"7\" recv=\"2\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"2\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"2\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"5\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"5\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"5\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"5\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"5\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"0\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"0\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"0\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"5\" recv=\"0\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"5\" recv=\"0\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"5\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"5\" recv=\"6\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"5\" recv=\"6\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"5\" recv=\"6\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"6\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"6\" recv=\"5\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"6\" recv=\"5\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"6\" recv=\"5\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"1\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"1\" recv=\"4\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"4\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"4\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"4\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"4\" recv=\"1\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"4\" recv=\"1\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"4\" recv=\"1\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"6\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"6\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"6\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"4\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"4\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"4\" recv=\"7\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"4\" recv=\"7\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"6\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"6\" recv=\"4\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"6\" recv=\"4\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"6\" recv=\"4\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"7\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"7\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"7\" recv=\"4\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"7\" recv=\"4\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"2\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"2\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"2\" recv=\"7\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"2\" recv=\"7\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"4\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"4\" recv=\"7\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"4\" recv=\"7\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"4\" recv=\"7\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"7\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"7\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"7\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"2\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"2\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"4\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"7\" recv=\"4\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"7\" recv=\"4\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"7\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"7\" recv=\"5\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"7\" recv=\"5\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"7\" recv=\"5\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"3\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"3\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"3\" recv=\"6\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"3\" recv=\"6\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"3\" recv=\"6\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"3\" recv=\"6\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"6\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"6\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"6\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"6\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"3\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"3\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"6\" recv=\"3\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"6\" recv=\"3\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"6\" recv=\"3\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"6\" recv=\"3\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"6\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"6\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"6\" recv=\"5\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"6\" recv=\"5\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"8\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"9\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"9\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"9\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"9\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"9\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"9\" recv=\"0\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"9\" recv=\"0\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"9\" recv=\"0\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"9\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"9\" recv=\"12\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"9\" recv=\"12\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"9\" recv=\"12\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"9\" recv=\"12\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"9\" recv=\"12\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"9\" recv=\"12\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"9\" recv=\"12\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"12\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"12\" recv=\"9\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"12\" recv=\"9\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"12\" recv=\"9\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"12\" recv=\"9\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"12\" recv=\"9\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"9\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"9\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"9\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"1\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"1\" recv=\"8\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"8\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"8\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"8\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"8\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"8\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"8\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"8\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"8\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"8\" recv=\"1\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"8\" recv=\"1\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"8\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"8\" recv=\"2\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"2\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"2\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"13\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"13\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"13\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"13\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"13\" recv=\"8\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"13\" recv=\"8\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"13\" recv=\"8\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"13\" recv=\"8\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"10\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"1\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"1\" recv=\"11\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"11\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"11\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"11\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"11\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"11\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"11\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"11\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"11\" recv=\"1\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"11\" recv=\"1\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"11\" recv=\"1\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"11\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"11\" recv=\"2\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"11\" recv=\"2\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"11\" recv=\"2\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"11\" recv=\"14\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"11\" recv=\"14\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"11\" recv=\"14\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"11\" recv=\"14\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"14\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"14\" recv=\"11\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"14\" recv=\"11\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"14\" recv=\"11\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"11\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"3\" recv=\"10\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"3\" recv=\"10\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"3\" recv=\"10\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"3\" recv=\"10\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"10\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"10\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"10\" recv=\"3\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"10\" recv=\"3\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"10\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"10\" recv=\"15\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"10\" recv=\"15\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"10\" recv=\"15\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"10\" recv=\"15\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"10\" recv=\"15\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"10\" recv=\"15\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"10\" recv=\"15\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"15\" recv=\"10\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"15\" recv=\"10\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"15\" recv=\"10\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"15\" recv=\"10\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"15\" recv=\"10\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"15\" recv=\"10\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"15\" recv=\"10\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"15\" recv=\"10\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"12\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"8\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"8\" recv=\"13\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"8\" recv=\"13\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"8\" recv=\"13\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"8\" recv=\"13\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"8\" recv=\"13\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"8\" recv=\"13\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"8\" recv=\"13\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"13\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"13\" recv=\"8\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"13\" recv=\"8\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"13\" recv=\"8\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"13\" recv=\"8\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"13\" recv=\"8\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"13\" recv=\"8\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"13\" recv=\"8\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"13\" recv=\"14\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"13\" recv=\"14\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"13\" recv=\"14\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"13\" recv=\"14\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"14\" recv=\"13\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"14\" recv=\"13\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"14\" recv=\"13\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"14\" recv=\"13\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"13\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"9\" recv=\"12\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"9\" recv=\"12\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"9\" recv=\"12\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"9\" recv=\"12\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"12\" recv=\"9\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"12\" recv=\"9\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"12\" recv=\"9\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"12\" recv=\"9\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"12\" recv=\"14\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"12\" recv=\"14\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"12\" recv=\"14\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"12\" recv=\"14\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"12\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"12\" recv=\"15\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"12\" recv=\"15\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"12\" recv=\"15\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"14\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"14\" recv=\"12\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"14\" recv=\"12\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"14\" recv=\"12\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"15\" recv=\"12\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"15\" recv=\"12\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"15\" recv=\"12\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"15\" recv=\"12\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"14\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"10\" recv=\"15\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"10\" recv=\"15\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"10\" recv=\"15\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"10\" recv=\"15\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"12\" recv=\"15\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"12\" recv=\"15\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"12\" recv=\"15\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"12\" recv=\"15\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"13\" recv=\"15\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"13\" recv=\"15\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"13\" recv=\"15\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"13\" recv=\"15\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"15\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"15\" recv=\"10\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"15\" recv=\"10\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"15\" recv=\"10\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"15\" recv=\"12\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"15\" recv=\"12\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"15\" recv=\"12\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"15\" recv=\"12\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"15\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"15\" recv=\"13\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"15\" recv=\"13\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"15\" recv=\"13\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"15\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"11\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"11\" recv=\"14\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"11\" recv=\"14\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"11\" recv=\"14\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"11\" recv=\"14\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"11\" recv=\"14\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"11\" recv=\"14\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"11\" recv=\"14\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"13\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"13\" recv=\"14\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"13\" recv=\"14\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"13\" recv=\"14\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"14\" recv=\"11\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"14\" recv=\"11\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"14\" recv=\"11\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"14\" recv=\"11\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"14\" recv=\"11\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"14\" recv=\"11\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"14\" recv=\"11\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"14\" recv=\"11\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"14\" recv=\"13\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"14\" recv=\"13\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"14\" recv=\"13\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"14\" recv=\"13\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/msccl-unit-test-algorithms/all-reduce-ring-simple.xml",
    "content": "<!-- Copyright (c) Microsoft Corporation. -->\n<!-- Licensed under the MIT License.      -->\n<algo name=\"allreduce_ring_mi200\" proto=\"Simple\" nchannels=\"24\" nchunksperloop=\"384\" ngpus=\"16\" coll=\"allreduce\" inplace=\"1\" outofplace=\"1\" maxcount=\"1\" nthreadblocks=\"24\" minBytes=\"393216\" maxBytes=\"0\">\n  <gpu id=\"0\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"1\" recv=\"4\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"1\" recv=\"4\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"4\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"4\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"1\" recv=\"4\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"1\" recv=\"4\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"1\" recv=\"4\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"1\" recv=\"4\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"1\" recv=\"8\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"1\" recv=\"8\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"1\" recv=\"8\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"1\" recv=\"8\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"4\" recv=\"1\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"4\" recv=\"1\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"4\" recv=\"1\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"4\" recv=\"1\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"4\" recv=\"1\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"4\" recv=\"1\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"4\" recv=\"1\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"4\" recv=\"1\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"8\" recv=\"1\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"8\" recv=\"1\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"8\" recv=\"1\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"8\" recv=\"1\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"1\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"5\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"5\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"5\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"5\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"9\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"9\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"9\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"9\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"0\" recv=\"10\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"0\" recv=\"10\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"0\" recv=\"10\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"0\" recv=\"10\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"0\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"0\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"5\" recv=\"0\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"5\" recv=\"0\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"0\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"0\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"0\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"0\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"0\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"0\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"0\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"0\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"2\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"3\" recv=\"6\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"3\" recv=\"6\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"3\" recv=\"6\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"3\" recv=\"6\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"3\" recv=\"9\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"3\" recv=\"9\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"9\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"9\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"3\" recv=\"10\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"3\" recv=\"10\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"3\" recv=\"10\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"3\" recv=\"10\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"3\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"3\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"3\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"3\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"9\" recv=\"3\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"9\" recv=\"3\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"9\" recv=\"3\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"9\" recv=\"3\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"10\" recv=\"3\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"10\" recv=\"3\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"10\" recv=\"3\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"10\" recv=\"3\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"3\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"2\" recv=\"7\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"2\" recv=\"7\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"2\" recv=\"7\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"2\" recv=\"7\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"7\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"7\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"7\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"7\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"2\" recv=\"11\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"2\" recv=\"11\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"2\" recv=\"11\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"2\" recv=\"11\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"2\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"2\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"2\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"2\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"2\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"2\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"7\" recv=\"2\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"7\" recv=\"2\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"11\" recv=\"2\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"11\" recv=\"2\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"11\" recv=\"2\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"11\" recv=\"2\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"4\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"5\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"5\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"5\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"5\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"0\" recv=\"5\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"0\" recv=\"5\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"0\" recv=\"5\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"0\" recv=\"5\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"0\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"0\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"0\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"0\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"5\" recv=\"0\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"5\" recv=\"0\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"5\" recv=\"0\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"5\" recv=\"0\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"5\" recv=\"6\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"5\" recv=\"6\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"5\" recv=\"6\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"5\" recv=\"6\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"6\" recv=\"5\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"6\" recv=\"5\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"6\" recv=\"5\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"6\" recv=\"5\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"5\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"1\" recv=\"4\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"1\" recv=\"4\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"4\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"4\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"4\" recv=\"1\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"4\" recv=\"1\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"4\" recv=\"1\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"4\" recv=\"1\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"4\" recv=\"6\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"4\" recv=\"6\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"4\" recv=\"6\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"4\" recv=\"6\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"4\" recv=\"7\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"4\" recv=\"7\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"4\" recv=\"7\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"4\" recv=\"7\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"6\" recv=\"4\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"6\" recv=\"4\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"6\" recv=\"4\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"6\" recv=\"4\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"7\" recv=\"4\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"7\" recv=\"4\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"7\" recv=\"4\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"7\" recv=\"4\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"6\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"2\" recv=\"7\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"2\" recv=\"7\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"2\" recv=\"7\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"2\" recv=\"7\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"4\" recv=\"7\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"4\" recv=\"7\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"4\" recv=\"7\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"4\" recv=\"7\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"7\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"7\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"7\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"7\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"7\" recv=\"2\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"7\" recv=\"2\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"7\" recv=\"2\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"7\" recv=\"2\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"7\" recv=\"4\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"7\" recv=\"4\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"7\" recv=\"4\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"7\" recv=\"4\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"7\" recv=\"5\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"7\" recv=\"5\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"7\" recv=\"5\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"7\" recv=\"5\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"7\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"3\" recv=\"6\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"3\" recv=\"6\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"3\" recv=\"6\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"3\" recv=\"6\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"3\" recv=\"6\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"3\" recv=\"6\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"3\" recv=\"6\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"3\" recv=\"6\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"5\" recv=\"6\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"5\" recv=\"6\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"5\" recv=\"6\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"5\" recv=\"6\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"6\" recv=\"3\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"6\" recv=\"3\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"6\" recv=\"3\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"6\" recv=\"3\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"6\" recv=\"3\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"6\" recv=\"3\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"6\" recv=\"3\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"6\" recv=\"3\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"6\" recv=\"5\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"6\" recv=\"5\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"6\" recv=\"5\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"6\" recv=\"5\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"8\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"0\" recv=\"9\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"0\" recv=\"9\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"0\" recv=\"9\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"0\" recv=\"9\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"9\" recv=\"0\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"9\" recv=\"0\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"9\" recv=\"0\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"9\" recv=\"0\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"9\" recv=\"12\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"9\" recv=\"12\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"9\" recv=\"12\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"9\" recv=\"12\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"9\" recv=\"12\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"9\" recv=\"12\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"9\" recv=\"12\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"9\" recv=\"12\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"12\" recv=\"9\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"12\" recv=\"9\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"12\" recv=\"9\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"12\" recv=\"9\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"12\" recv=\"9\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"12\" recv=\"9\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"12\" recv=\"9\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"12\" recv=\"9\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"9\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"1\" recv=\"8\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"1\" recv=\"8\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"8\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"8\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"8\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"8\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"8\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"8\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"8\" recv=\"1\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"8\" recv=\"1\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"8\" recv=\"1\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"8\" recv=\"1\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"8\" recv=\"2\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"8\" recv=\"2\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"8\" recv=\"2\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"8\" recv=\"2\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"8\" recv=\"13\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"8\" recv=\"13\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"8\" recv=\"13\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"8\" recv=\"13\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"13\" recv=\"8\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"13\" recv=\"8\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"13\" recv=\"8\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"13\" recv=\"8\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"10\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"1\" recv=\"11\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"1\" recv=\"11\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"1\" recv=\"11\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"1\" recv=\"11\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"2\" recv=\"11\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"2\" recv=\"11\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"2\" recv=\"11\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"2\" recv=\"11\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"11\" recv=\"1\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"11\" recv=\"1\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"11\" recv=\"1\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"11\" recv=\"1\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"11\" recv=\"2\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"11\" recv=\"2\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"11\" recv=\"2\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"11\" recv=\"2\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"11\" recv=\"14\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"11\" recv=\"14\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"11\" recv=\"14\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"11\" recv=\"14\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"14\" recv=\"11\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"14\" recv=\"11\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"14\" recv=\"11\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"14\" recv=\"11\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"11\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"3\" recv=\"10\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"3\" recv=\"10\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"3\" recv=\"10\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"3\" recv=\"10\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"10\" recv=\"3\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"10\" recv=\"3\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"10\" recv=\"3\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"10\" recv=\"3\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"10\" recv=\"15\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"10\" recv=\"15\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"10\" recv=\"15\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"10\" recv=\"15\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"10\" recv=\"15\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"10\" recv=\"15\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"10\" recv=\"15\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"10\" recv=\"15\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"15\" recv=\"10\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"15\" recv=\"10\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"15\" recv=\"10\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"15\" recv=\"10\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"15\" recv=\"10\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"15\" recv=\"10\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"15\" recv=\"10\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"15\" recv=\"10\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"12\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"8\" recv=\"13\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"8\" recv=\"13\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"8\" recv=\"13\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"8\" recv=\"13\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"8\" recv=\"13\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"8\" recv=\"13\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"8\" recv=\"13\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"8\" recv=\"13\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"13\" recv=\"8\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"13\" recv=\"8\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"13\" recv=\"8\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"13\" recv=\"8\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"13\" recv=\"8\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"13\" recv=\"8\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"13\" recv=\"8\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"13\" recv=\"8\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"13\" recv=\"14\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"13\" recv=\"14\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"13\" recv=\"14\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"13\" recv=\"14\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"14\" recv=\"13\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"14\" recv=\"13\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"14\" recv=\"13\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"14\" recv=\"13\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"13\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"9\" recv=\"12\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"9\" recv=\"12\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"9\" recv=\"12\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"9\" recv=\"12\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"12\" recv=\"9\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"12\" recv=\"9\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"12\" recv=\"9\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"12\" recv=\"9\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"12\" recv=\"14\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"12\" recv=\"14\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"12\" recv=\"14\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"12\" recv=\"14\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"12\" recv=\"15\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"12\" recv=\"15\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"12\" recv=\"15\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"12\" recv=\"15\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"14\" recv=\"12\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"14\" recv=\"12\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"14\" recv=\"12\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"14\" recv=\"12\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"15\" recv=\"12\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"15\" recv=\"12\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"15\" recv=\"12\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"15\" recv=\"12\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"14\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"10\" recv=\"15\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"10\" recv=\"15\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"10\" recv=\"15\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"10\" recv=\"15\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"12\" recv=\"15\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"12\" recv=\"15\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"12\" recv=\"15\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"12\" recv=\"15\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"13\" recv=\"15\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"13\" recv=\"15\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"13\" recv=\"15\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"13\" recv=\"15\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"15\" recv=\"10\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"15\" recv=\"10\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"15\" recv=\"10\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"15\" recv=\"10\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"15\" recv=\"12\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"15\" recv=\"12\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"15\" recv=\"12\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"15\" recv=\"12\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"15\" recv=\"13\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"15\" recv=\"13\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"15\" recv=\"13\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"15\" recv=\"13\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n  <gpu id=\"15\" i_chunks=\"384\" o_chunks=\"384\" s_chunks=\"0\">\n    <tb id=\"0\" send=\"11\" recv=\"14\" chan=\"1\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"27\" dstbuf=\"o\" dstoff=\"27\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"31\" dstbuf=\"o\" dstoff=\"31\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"30\" dstbuf=\"o\" dstoff=\"30\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"29\" dstbuf=\"o\" dstoff=\"29\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"28\" dstbuf=\"o\" dstoff=\"28\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"24\" dstbuf=\"o\" dstoff=\"24\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"25\" dstbuf=\"o\" dstoff=\"25\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"18\" dstbuf=\"o\" dstoff=\"18\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"19\" dstbuf=\"o\" dstoff=\"19\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"23\" dstbuf=\"o\" dstoff=\"23\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"22\" dstbuf=\"o\" dstoff=\"22\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"21\" dstbuf=\"o\" dstoff=\"21\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"20\" dstbuf=\"o\" dstoff=\"20\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"16\" dstbuf=\"o\" dstoff=\"16\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"17\" dstbuf=\"o\" dstoff=\"17\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"26\" dstbuf=\"o\" dstoff=\"26\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"1\" send=\"11\" recv=\"14\" chan=\"6\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"107\" dstbuf=\"o\" dstoff=\"107\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"111\" dstbuf=\"o\" dstoff=\"111\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"110\" dstbuf=\"o\" dstoff=\"110\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"108\" dstbuf=\"o\" dstoff=\"108\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"109\" dstbuf=\"o\" dstoff=\"109\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"105\" dstbuf=\"o\" dstoff=\"105\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"104\" dstbuf=\"o\" dstoff=\"104\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"96\" dstbuf=\"o\" dstoff=\"96\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"97\" dstbuf=\"o\" dstoff=\"97\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"101\" dstbuf=\"o\" dstoff=\"101\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"100\" dstbuf=\"o\" dstoff=\"100\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"102\" dstbuf=\"o\" dstoff=\"102\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"103\" dstbuf=\"o\" dstoff=\"103\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"99\" dstbuf=\"o\" dstoff=\"99\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"98\" dstbuf=\"o\" dstoff=\"98\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"106\" dstbuf=\"o\" dstoff=\"106\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"2\" send=\"11\" recv=\"14\" chan=\"8\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"139\" dstbuf=\"o\" dstoff=\"139\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"143\" dstbuf=\"o\" dstoff=\"143\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"142\" dstbuf=\"o\" dstoff=\"142\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"140\" dstbuf=\"o\" dstoff=\"140\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"141\" dstbuf=\"o\" dstoff=\"141\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"137\" dstbuf=\"o\" dstoff=\"137\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"136\" dstbuf=\"o\" dstoff=\"136\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"128\" dstbuf=\"o\" dstoff=\"128\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"129\" dstbuf=\"o\" dstoff=\"129\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"133\" dstbuf=\"o\" dstoff=\"133\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"132\" dstbuf=\"o\" dstoff=\"132\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"134\" dstbuf=\"o\" dstoff=\"134\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"135\" dstbuf=\"o\" dstoff=\"135\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"131\" dstbuf=\"o\" dstoff=\"131\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"130\" dstbuf=\"o\" dstoff=\"130\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"138\" dstbuf=\"o\" dstoff=\"138\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"3\" send=\"11\" recv=\"14\" chan=\"10\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"171\" dstbuf=\"o\" dstoff=\"171\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"175\" dstbuf=\"o\" dstoff=\"175\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"174\" dstbuf=\"o\" dstoff=\"174\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"173\" dstbuf=\"o\" dstoff=\"173\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"172\" dstbuf=\"o\" dstoff=\"172\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"168\" dstbuf=\"o\" dstoff=\"168\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"169\" dstbuf=\"o\" dstoff=\"169\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"162\" dstbuf=\"o\" dstoff=\"162\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"163\" dstbuf=\"o\" dstoff=\"163\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"167\" dstbuf=\"o\" dstoff=\"167\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"166\" dstbuf=\"o\" dstoff=\"166\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"165\" dstbuf=\"o\" dstoff=\"165\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"164\" dstbuf=\"o\" dstoff=\"164\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"160\" dstbuf=\"o\" dstoff=\"160\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"161\" dstbuf=\"o\" dstoff=\"161\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"170\" dstbuf=\"o\" dstoff=\"170\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"4\" send=\"11\" recv=\"14\" chan=\"13\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"219\" dstbuf=\"o\" dstoff=\"219\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"223\" dstbuf=\"o\" dstoff=\"223\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"222\" dstbuf=\"o\" dstoff=\"222\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"221\" dstbuf=\"o\" dstoff=\"221\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"220\" dstbuf=\"o\" dstoff=\"220\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"216\" dstbuf=\"o\" dstoff=\"216\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"217\" dstbuf=\"o\" dstoff=\"217\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"210\" dstbuf=\"o\" dstoff=\"210\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"211\" dstbuf=\"o\" dstoff=\"211\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"215\" dstbuf=\"o\" dstoff=\"215\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"214\" dstbuf=\"o\" dstoff=\"214\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"213\" dstbuf=\"o\" dstoff=\"213\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"212\" dstbuf=\"o\" dstoff=\"212\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"208\" dstbuf=\"o\" dstoff=\"208\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"209\" dstbuf=\"o\" dstoff=\"209\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"218\" dstbuf=\"o\" dstoff=\"218\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"5\" send=\"11\" recv=\"14\" chan=\"18\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"299\" dstbuf=\"o\" dstoff=\"299\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"303\" dstbuf=\"o\" dstoff=\"303\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"302\" dstbuf=\"o\" dstoff=\"302\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"300\" dstbuf=\"o\" dstoff=\"300\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"301\" dstbuf=\"o\" dstoff=\"301\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"297\" dstbuf=\"o\" dstoff=\"297\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"296\" dstbuf=\"o\" dstoff=\"296\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"288\" dstbuf=\"o\" dstoff=\"288\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"289\" dstbuf=\"o\" dstoff=\"289\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"293\" dstbuf=\"o\" dstoff=\"293\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"292\" dstbuf=\"o\" dstoff=\"292\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"294\" dstbuf=\"o\" dstoff=\"294\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"295\" dstbuf=\"o\" dstoff=\"295\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"291\" dstbuf=\"o\" dstoff=\"291\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"290\" dstbuf=\"o\" dstoff=\"290\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"298\" dstbuf=\"o\" dstoff=\"298\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"6\" send=\"11\" recv=\"14\" chan=\"20\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"331\" dstbuf=\"o\" dstoff=\"331\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"335\" dstbuf=\"o\" dstoff=\"335\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"334\" dstbuf=\"o\" dstoff=\"334\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"332\" dstbuf=\"o\" dstoff=\"332\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"333\" dstbuf=\"o\" dstoff=\"333\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"329\" dstbuf=\"o\" dstoff=\"329\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"328\" dstbuf=\"o\" dstoff=\"328\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"320\" dstbuf=\"o\" dstoff=\"320\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"321\" dstbuf=\"o\" dstoff=\"321\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"325\" dstbuf=\"o\" dstoff=\"325\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"324\" dstbuf=\"o\" dstoff=\"324\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"326\" dstbuf=\"o\" dstoff=\"326\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"327\" dstbuf=\"o\" dstoff=\"327\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"323\" dstbuf=\"o\" dstoff=\"323\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"322\" dstbuf=\"o\" dstoff=\"322\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"330\" dstbuf=\"o\" dstoff=\"330\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"7\" send=\"11\" recv=\"14\" chan=\"22\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"363\" dstbuf=\"o\" dstoff=\"363\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"367\" dstbuf=\"o\" dstoff=\"367\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"366\" dstbuf=\"o\" dstoff=\"366\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"365\" dstbuf=\"o\" dstoff=\"365\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"364\" dstbuf=\"o\" dstoff=\"364\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"360\" dstbuf=\"o\" dstoff=\"360\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"361\" dstbuf=\"o\" dstoff=\"361\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"354\" dstbuf=\"o\" dstoff=\"354\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"355\" dstbuf=\"o\" dstoff=\"355\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"359\" dstbuf=\"o\" dstoff=\"359\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"358\" dstbuf=\"o\" dstoff=\"358\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"357\" dstbuf=\"o\" dstoff=\"357\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"356\" dstbuf=\"o\" dstoff=\"356\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"352\" dstbuf=\"o\" dstoff=\"352\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"353\" dstbuf=\"o\" dstoff=\"353\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"362\" dstbuf=\"o\" dstoff=\"362\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"8\" send=\"13\" recv=\"14\" chan=\"0\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"13\" dstbuf=\"o\" dstoff=\"13\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"15\" dstbuf=\"o\" dstoff=\"15\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"14\" dstbuf=\"o\" dstoff=\"14\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"10\" dstbuf=\"o\" dstoff=\"10\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"11\" dstbuf=\"o\" dstoff=\"11\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"3\" dstbuf=\"o\" dstoff=\"3\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"2\" dstbuf=\"o\" dstoff=\"2\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"6\" dstbuf=\"o\" dstoff=\"6\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"7\" dstbuf=\"o\" dstoff=\"7\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"5\" dstbuf=\"o\" dstoff=\"5\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"4\" dstbuf=\"o\" dstoff=\"4\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"0\" dstbuf=\"o\" dstoff=\"0\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"1\" dstbuf=\"o\" dstoff=\"1\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"9\" dstbuf=\"o\" dstoff=\"9\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"8\" dstbuf=\"o\" dstoff=\"8\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"12\" dstbuf=\"o\" dstoff=\"12\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"9\" send=\"13\" recv=\"14\" chan=\"4\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"77\" dstbuf=\"o\" dstoff=\"77\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"79\" dstbuf=\"o\" dstoff=\"79\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"78\" dstbuf=\"o\" dstoff=\"78\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"74\" dstbuf=\"o\" dstoff=\"74\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"75\" dstbuf=\"o\" dstoff=\"75\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"67\" dstbuf=\"o\" dstoff=\"67\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"66\" dstbuf=\"o\" dstoff=\"66\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"70\" dstbuf=\"o\" dstoff=\"70\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"71\" dstbuf=\"o\" dstoff=\"71\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"69\" dstbuf=\"o\" dstoff=\"69\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"68\" dstbuf=\"o\" dstoff=\"68\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"64\" dstbuf=\"o\" dstoff=\"64\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"65\" dstbuf=\"o\" dstoff=\"65\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"73\" dstbuf=\"o\" dstoff=\"73\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"72\" dstbuf=\"o\" dstoff=\"72\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"76\" dstbuf=\"o\" dstoff=\"76\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"10\" send=\"13\" recv=\"14\" chan=\"12\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"205\" dstbuf=\"o\" dstoff=\"205\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"207\" dstbuf=\"o\" dstoff=\"207\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"206\" dstbuf=\"o\" dstoff=\"206\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"202\" dstbuf=\"o\" dstoff=\"202\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"203\" dstbuf=\"o\" dstoff=\"203\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"195\" dstbuf=\"o\" dstoff=\"195\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"194\" dstbuf=\"o\" dstoff=\"194\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"198\" dstbuf=\"o\" dstoff=\"198\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"199\" dstbuf=\"o\" dstoff=\"199\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"197\" dstbuf=\"o\" dstoff=\"197\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"196\" dstbuf=\"o\" dstoff=\"196\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"192\" dstbuf=\"o\" dstoff=\"192\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"193\" dstbuf=\"o\" dstoff=\"193\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"201\" dstbuf=\"o\" dstoff=\"201\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"200\" dstbuf=\"o\" dstoff=\"200\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"204\" dstbuf=\"o\" dstoff=\"204\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"11\" send=\"13\" recv=\"14\" chan=\"16\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"269\" dstbuf=\"o\" dstoff=\"269\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"271\" dstbuf=\"o\" dstoff=\"271\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"270\" dstbuf=\"o\" dstoff=\"270\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"266\" dstbuf=\"o\" dstoff=\"266\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"267\" dstbuf=\"o\" dstoff=\"267\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"259\" dstbuf=\"o\" dstoff=\"259\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"258\" dstbuf=\"o\" dstoff=\"258\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"262\" dstbuf=\"o\" dstoff=\"262\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"263\" dstbuf=\"o\" dstoff=\"263\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"261\" dstbuf=\"o\" dstoff=\"261\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"260\" dstbuf=\"o\" dstoff=\"260\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"256\" dstbuf=\"o\" dstoff=\"256\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"257\" dstbuf=\"o\" dstoff=\"257\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"265\" dstbuf=\"o\" dstoff=\"265\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"264\" dstbuf=\"o\" dstoff=\"264\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"268\" dstbuf=\"o\" dstoff=\"268\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"12\" send=\"14\" recv=\"11\" chan=\"3\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"62\" dstbuf=\"o\" dstoff=\"62\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"63\" dstbuf=\"o\" dstoff=\"63\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"59\" dstbuf=\"o\" dstoff=\"59\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"58\" dstbuf=\"o\" dstoff=\"58\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"49\" dstbuf=\"o\" dstoff=\"49\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"48\" dstbuf=\"o\" dstoff=\"48\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"52\" dstbuf=\"o\" dstoff=\"52\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"53\" dstbuf=\"o\" dstoff=\"53\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"54\" dstbuf=\"o\" dstoff=\"54\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"55\" dstbuf=\"o\" dstoff=\"55\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"51\" dstbuf=\"o\" dstoff=\"51\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"50\" dstbuf=\"o\" dstoff=\"50\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"57\" dstbuf=\"o\" dstoff=\"57\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"56\" dstbuf=\"o\" dstoff=\"56\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"60\" dstbuf=\"o\" dstoff=\"60\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"61\" dstbuf=\"o\" dstoff=\"61\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"13\" send=\"14\" recv=\"11\" chan=\"7\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"126\" dstbuf=\"o\" dstoff=\"126\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"127\" dstbuf=\"o\" dstoff=\"127\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"123\" dstbuf=\"o\" dstoff=\"123\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"122\" dstbuf=\"o\" dstoff=\"122\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"114\" dstbuf=\"o\" dstoff=\"114\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"115\" dstbuf=\"o\" dstoff=\"115\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"119\" dstbuf=\"o\" dstoff=\"119\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"118\" dstbuf=\"o\" dstoff=\"118\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"116\" dstbuf=\"o\" dstoff=\"116\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"117\" dstbuf=\"o\" dstoff=\"117\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"113\" dstbuf=\"o\" dstoff=\"113\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"112\" dstbuf=\"o\" dstoff=\"112\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"120\" dstbuf=\"o\" dstoff=\"120\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"121\" dstbuf=\"o\" dstoff=\"121\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"125\" dstbuf=\"o\" dstoff=\"125\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"124\" dstbuf=\"o\" dstoff=\"124\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"14\" send=\"14\" recv=\"11\" chan=\"9\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"158\" dstbuf=\"o\" dstoff=\"158\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"159\" dstbuf=\"o\" dstoff=\"159\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"155\" dstbuf=\"o\" dstoff=\"155\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"154\" dstbuf=\"o\" dstoff=\"154\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"146\" dstbuf=\"o\" dstoff=\"146\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"147\" dstbuf=\"o\" dstoff=\"147\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"151\" dstbuf=\"o\" dstoff=\"151\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"150\" dstbuf=\"o\" dstoff=\"150\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"148\" dstbuf=\"o\" dstoff=\"148\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"149\" dstbuf=\"o\" dstoff=\"149\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"145\" dstbuf=\"o\" dstoff=\"145\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"144\" dstbuf=\"o\" dstoff=\"144\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"152\" dstbuf=\"o\" dstoff=\"152\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"153\" dstbuf=\"o\" dstoff=\"153\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"157\" dstbuf=\"o\" dstoff=\"157\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"156\" dstbuf=\"o\" dstoff=\"156\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"15\" send=\"14\" recv=\"11\" chan=\"11\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"190\" dstbuf=\"o\" dstoff=\"190\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"191\" dstbuf=\"o\" dstoff=\"191\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"187\" dstbuf=\"o\" dstoff=\"187\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"186\" dstbuf=\"o\" dstoff=\"186\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"177\" dstbuf=\"o\" dstoff=\"177\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"176\" dstbuf=\"o\" dstoff=\"176\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"180\" dstbuf=\"o\" dstoff=\"180\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"181\" dstbuf=\"o\" dstoff=\"181\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"182\" dstbuf=\"o\" dstoff=\"182\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"183\" dstbuf=\"o\" dstoff=\"183\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"179\" dstbuf=\"o\" dstoff=\"179\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"178\" dstbuf=\"o\" dstoff=\"178\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"185\" dstbuf=\"o\" dstoff=\"185\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"184\" dstbuf=\"o\" dstoff=\"184\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"188\" dstbuf=\"o\" dstoff=\"188\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"189\" dstbuf=\"o\" dstoff=\"189\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"16\" send=\"14\" recv=\"11\" chan=\"15\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"254\" dstbuf=\"o\" dstoff=\"254\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"255\" dstbuf=\"o\" dstoff=\"255\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"251\" dstbuf=\"o\" dstoff=\"251\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"250\" dstbuf=\"o\" dstoff=\"250\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"241\" dstbuf=\"o\" dstoff=\"241\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"240\" dstbuf=\"o\" dstoff=\"240\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"244\" dstbuf=\"o\" dstoff=\"244\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"245\" dstbuf=\"o\" dstoff=\"245\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"246\" dstbuf=\"o\" dstoff=\"246\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"247\" dstbuf=\"o\" dstoff=\"247\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"243\" dstbuf=\"o\" dstoff=\"243\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"242\" dstbuf=\"o\" dstoff=\"242\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"249\" dstbuf=\"o\" dstoff=\"249\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"248\" dstbuf=\"o\" dstoff=\"248\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"252\" dstbuf=\"o\" dstoff=\"252\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"253\" dstbuf=\"o\" dstoff=\"253\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"17\" send=\"14\" recv=\"11\" chan=\"19\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"318\" dstbuf=\"o\" dstoff=\"318\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"319\" dstbuf=\"o\" dstoff=\"319\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"315\" dstbuf=\"o\" dstoff=\"315\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"314\" dstbuf=\"o\" dstoff=\"314\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"306\" dstbuf=\"o\" dstoff=\"306\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"307\" dstbuf=\"o\" dstoff=\"307\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"311\" dstbuf=\"o\" dstoff=\"311\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"310\" dstbuf=\"o\" dstoff=\"310\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"308\" dstbuf=\"o\" dstoff=\"308\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"309\" dstbuf=\"o\" dstoff=\"309\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"305\" dstbuf=\"o\" dstoff=\"305\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"304\" dstbuf=\"o\" dstoff=\"304\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"312\" dstbuf=\"o\" dstoff=\"312\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"313\" dstbuf=\"o\" dstoff=\"313\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"317\" dstbuf=\"o\" dstoff=\"317\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"316\" dstbuf=\"o\" dstoff=\"316\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"18\" send=\"14\" recv=\"11\" chan=\"21\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"350\" dstbuf=\"o\" dstoff=\"350\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"351\" dstbuf=\"o\" dstoff=\"351\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"347\" dstbuf=\"o\" dstoff=\"347\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"346\" dstbuf=\"o\" dstoff=\"346\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"338\" dstbuf=\"o\" dstoff=\"338\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"339\" dstbuf=\"o\" dstoff=\"339\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"343\" dstbuf=\"o\" dstoff=\"343\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"342\" dstbuf=\"o\" dstoff=\"342\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"340\" dstbuf=\"o\" dstoff=\"340\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"341\" dstbuf=\"o\" dstoff=\"341\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"337\" dstbuf=\"o\" dstoff=\"337\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"336\" dstbuf=\"o\" dstoff=\"336\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"344\" dstbuf=\"o\" dstoff=\"344\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"345\" dstbuf=\"o\" dstoff=\"345\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"349\" dstbuf=\"o\" dstoff=\"349\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"348\" dstbuf=\"o\" dstoff=\"348\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"19\" send=\"14\" recv=\"11\" chan=\"23\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"382\" dstbuf=\"o\" dstoff=\"382\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"383\" dstbuf=\"o\" dstoff=\"383\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"379\" dstbuf=\"o\" dstoff=\"379\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"378\" dstbuf=\"o\" dstoff=\"378\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"369\" dstbuf=\"o\" dstoff=\"369\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"368\" dstbuf=\"o\" dstoff=\"368\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"372\" dstbuf=\"o\" dstoff=\"372\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"373\" dstbuf=\"o\" dstoff=\"373\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"374\" dstbuf=\"o\" dstoff=\"374\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"375\" dstbuf=\"o\" dstoff=\"375\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"371\" dstbuf=\"o\" dstoff=\"371\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"370\" dstbuf=\"o\" dstoff=\"370\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"377\" dstbuf=\"o\" dstoff=\"377\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"376\" dstbuf=\"o\" dstoff=\"376\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"380\" dstbuf=\"o\" dstoff=\"380\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"381\" dstbuf=\"o\" dstoff=\"381\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"20\" send=\"14\" recv=\"13\" chan=\"2\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"46\" dstbuf=\"o\" dstoff=\"46\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"47\" dstbuf=\"o\" dstoff=\"47\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"45\" dstbuf=\"o\" dstoff=\"45\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"44\" dstbuf=\"o\" dstoff=\"44\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"40\" dstbuf=\"o\" dstoff=\"40\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"41\" dstbuf=\"o\" dstoff=\"41\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"33\" dstbuf=\"o\" dstoff=\"33\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"32\" dstbuf=\"o\" dstoff=\"32\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"36\" dstbuf=\"o\" dstoff=\"36\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"37\" dstbuf=\"o\" dstoff=\"37\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"39\" dstbuf=\"o\" dstoff=\"39\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"38\" dstbuf=\"o\" dstoff=\"38\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"34\" dstbuf=\"o\" dstoff=\"34\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"35\" dstbuf=\"o\" dstoff=\"35\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"43\" dstbuf=\"o\" dstoff=\"43\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"42\" dstbuf=\"o\" dstoff=\"42\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"21\" send=\"14\" recv=\"13\" chan=\"5\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"94\" dstbuf=\"o\" dstoff=\"94\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"95\" dstbuf=\"o\" dstoff=\"95\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"93\" dstbuf=\"o\" dstoff=\"93\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"92\" dstbuf=\"o\" dstoff=\"92\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"88\" dstbuf=\"o\" dstoff=\"88\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"89\" dstbuf=\"o\" dstoff=\"89\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"81\" dstbuf=\"o\" dstoff=\"81\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"80\" dstbuf=\"o\" dstoff=\"80\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"84\" dstbuf=\"o\" dstoff=\"84\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"85\" dstbuf=\"o\" dstoff=\"85\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"87\" dstbuf=\"o\" dstoff=\"87\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"86\" dstbuf=\"o\" dstoff=\"86\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"82\" dstbuf=\"o\" dstoff=\"82\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"83\" dstbuf=\"o\" dstoff=\"83\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"91\" dstbuf=\"o\" dstoff=\"91\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"90\" dstbuf=\"o\" dstoff=\"90\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"22\" send=\"14\" recv=\"13\" chan=\"14\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"238\" dstbuf=\"o\" dstoff=\"238\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"239\" dstbuf=\"o\" dstoff=\"239\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"237\" dstbuf=\"o\" dstoff=\"237\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"236\" dstbuf=\"o\" dstoff=\"236\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"232\" dstbuf=\"o\" dstoff=\"232\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"233\" dstbuf=\"o\" dstoff=\"233\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"225\" dstbuf=\"o\" dstoff=\"225\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"224\" dstbuf=\"o\" dstoff=\"224\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"228\" dstbuf=\"o\" dstoff=\"228\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"229\" dstbuf=\"o\" dstoff=\"229\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"231\" dstbuf=\"o\" dstoff=\"231\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"230\" dstbuf=\"o\" dstoff=\"230\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"226\" dstbuf=\"o\" dstoff=\"226\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"227\" dstbuf=\"o\" dstoff=\"227\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"235\" dstbuf=\"o\" dstoff=\"235\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"234\" dstbuf=\"o\" dstoff=\"234\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n    <tb id=\"23\" send=\"14\" recv=\"13\" chan=\"17\">\n      <step s=\"0\" type=\"s\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"1\" type=\"rrs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"2\" type=\"rrs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"3\" type=\"rrs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"4\" type=\"rrs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"5\" type=\"rrs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"6\" type=\"rrs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"7\" type=\"rrs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"8\" type=\"rrs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"9\" type=\"rrs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"10\" type=\"rrs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"11\" type=\"rrs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"12\" type=\"rrs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"13\" type=\"rrs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"14\" type=\"rrs\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"15\" type=\"rrcs\" srcbuf=\"i\" srcoff=\"286\" dstbuf=\"o\" dstoff=\"286\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"16\" type=\"rcs\" srcbuf=\"i\" srcoff=\"287\" dstbuf=\"o\" dstoff=\"287\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"17\" type=\"rcs\" srcbuf=\"i\" srcoff=\"285\" dstbuf=\"o\" dstoff=\"285\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"18\" type=\"rcs\" srcbuf=\"i\" srcoff=\"284\" dstbuf=\"o\" dstoff=\"284\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"19\" type=\"rcs\" srcbuf=\"i\" srcoff=\"280\" dstbuf=\"o\" dstoff=\"280\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"20\" type=\"rcs\" srcbuf=\"i\" srcoff=\"281\" dstbuf=\"o\" dstoff=\"281\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"21\" type=\"rcs\" srcbuf=\"i\" srcoff=\"273\" dstbuf=\"o\" dstoff=\"273\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"22\" type=\"rcs\" srcbuf=\"i\" srcoff=\"272\" dstbuf=\"o\" dstoff=\"272\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"23\" type=\"rcs\" srcbuf=\"i\" srcoff=\"276\" dstbuf=\"o\" dstoff=\"276\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"24\" type=\"rcs\" srcbuf=\"i\" srcoff=\"277\" dstbuf=\"o\" dstoff=\"277\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"25\" type=\"rcs\" srcbuf=\"i\" srcoff=\"279\" dstbuf=\"o\" dstoff=\"279\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"26\" type=\"rcs\" srcbuf=\"i\" srcoff=\"278\" dstbuf=\"o\" dstoff=\"278\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"27\" type=\"rcs\" srcbuf=\"i\" srcoff=\"274\" dstbuf=\"o\" dstoff=\"274\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"28\" type=\"rcs\" srcbuf=\"i\" srcoff=\"275\" dstbuf=\"o\" dstoff=\"275\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"29\" type=\"rcs\" srcbuf=\"i\" srcoff=\"283\" dstbuf=\"o\" dstoff=\"283\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n      <step s=\"30\" type=\"r\" srcbuf=\"i\" srcoff=\"282\" dstbuf=\"o\" dstoff=\"282\" cnt=\"1\" depid=\"-1\" deps=\"-1\" hasdep=\"0\"/>\n    </tb>\n  </gpu>\n</algo>\n"
  },
  {
    "path": "tools/p2p-latency-test/Makefile",
    "content": "# Copyright (c) Microsoft Corporation.\n# Modifications Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n# Licensed under the MIT License.\n#\n# See LICENSE.txt for license information\n\nROCM_PATH ?= $(wildcard /opt/rocm)\nHIPCC = $(ROCM_PATH)/bin/hipcc\n\nall: p2p_latency_test ll_latency_test\n\nCXXFLAGS = -g -O3\n\np2p_latency_test: p2p_latency_test.cpp\n\t@printf \"Compiling  %-35s > %s\\n\" $< $@\n\t$(HIPCC) $(CXXFLAGS) $^ -o $@\n\nll_latency_test: ll_latency_test.cpp\n\t@printf \"Compiling  %-35s > %s\\n\" $< $@\n\t$(HIPCC) $(CXXFLAGS) $^ -o $@\n\nclean:\n\trm -f *.o p2p_latency_test ll_latency_test\n"
  },
  {
    "path": "tools/p2p-latency-test/README.md",
    "content": "# P2P Latency Tests \nMicrobenchmarks to test Peer-2-Peer and Low Latency protocols on AMD GPUs.\n\n## How-to-use?\n\nTo build and run these tests, follow these steps:\n1. Navigate to the `p2p-latency-test` directory.\n2. Run `bash build_and_run.sh`\n\n```bash\ncd rccl/tools/p2p-latency-test\nbash build_and_run.sh\n```\n\n"
  },
  {
    "path": "tools/p2p-latency-test/build_and_run.sh",
    "content": "# Copyright (c) Microsoft Corporation.\n# Modifications Copyright (c) Advanced Micro Devices, Inc., or its affiliates.\n# Licensed under the MIT License.\n\nmake clean\nmake -j\n\n# Example run: test one-way latency between GPU 0 and GPU 1 in both directions.\nexport HSA_FORCE_FINE_GRAIN_PCIE=1\n\necho Running p2p_latency_test using GPU pair 0 1\n./p2p_latency_test 0 1\necho \"\"\n\nsleep 1\n\necho Running p2p_latency_test using GPU pair 1 0\n./p2p_latency_test 1 0\necho \"\"\n\nsleep 1\n\necho Running ll_latency_test using GPU pair 0 1\n./ll_latency_test 0 1\necho \"\"\n\nsleep 1\n\necho Running ll_latency_test using GPU pair 1 0\n./ll_latency_test 1 0\necho \"\"\n"
  },
  {
    "path": "tools/p2p-latency-test/ll_latency_test.cpp",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Modifications Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#include <cstdio>\n#include <cstdlib>\n#include <chrono>\n#include <fstream>\n#include <string>\n#include <unistd.h>\n#include <hip/hip_runtime.h>\n#include <iostream> //cerr\n#include <cstring>\n\n#define NUM_LOOPS_WARMUP 2000\n#define NUM_LOOPS_RUN 10000\n\n#define LL_MAX_THREADS 256\n#define LL_MAX_LINES 1000\n\nunion LLFifoLine {\n  /* Flags have to be *after* data, because otherwise, an incomplete receive\n     from the network may receive the flag but not the data.\n     Note this is assuming that either we receive contiguous chunks of data\n     (sockets) or data is written with an atomicity of 8 bytes (IB/RDMA). */\n  struct {\n    uint32_t data1;\n    uint32_t flag1;\n    uint32_t data2;\n    uint32_t flag2;\n  };\n  uint64_t v[2];\n  int4 i4;\n};\n\n#define HIP_IPC_MEM_MIN_SIZE (LL_MAX_THREADS*LL_MAX_LINES*sizeof(LLFifoLine))\n\n__device__ void storeLL(union LLFifoLine* dst, uint64_t val, uint32_t flag) {\n  union LLFifoLine i4;\n  i4.data1 = val & 0xffffffff;\n  i4.flag1 = flag;\n  i4.data2 = (val >> 32);\n  i4.flag2 = flag;\n  __builtin_nontemporal_store(i4.v[0], dst->v);\n  __builtin_nontemporal_store(i4.v[1], dst->v+1);\n}\n\n#define LL_SPINS_BEFORE_CHECK_ABORT 1000000\n\ninline __device__ int checkAbort(int &spins, uint32_t* abortFlag) {\n  uint32_t abort = 0;\n  spins++;\n  if (spins == LL_SPINS_BEFORE_CHECK_ABORT) {\n    abort = __atomic_load_n(abortFlag, __ATOMIC_SEQ_CST);\n    spins = 0;\n  }\n  return abort;\n}\n\n__device__ uint64_t readLL(union LLFifoLine* src, uint32_t flag, uint32_t* abortFlag) {\n  uint32_t data1, flag1, data2, flag2;\n  int spins = 0;\n\n  union LLFifoLine i4;\n  do {\n    i4.v[0] = __builtin_nontemporal_load(src->v);\n    i4.v[1] = __builtin_nontemporal_load(src->v+1);\n    if (checkAbort(spins, abortFlag)) break;\n  } while ((i4.flag1 != flag) || (i4.flag2 != flag));\n  uint64_t val64 = (uint64_t)(i4.data1) + (((uint64_t)i4.data2) << 32);\n\n  return val64;\n}\n\n\n__global__ void PingKernel(LLFifoLine* local_flag, LLFifoLine* remote_flag, uint64_t* time_delta, uint32_t* abortFlag) {\n  int tid = threadIdx.x;\n  #pragma unroll\n  for (uint32_t i = 1; i <= NUM_LOOPS_WARMUP; i++) {\n    storeLL(remote_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, i);\n    while (readLL(local_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, abortFlag) != i);\n  }\n  uint64_t start_time, end_time;\n  if (tid == 0) start_time = wall_clock64();\n  #pragma unroll\n  for (uint32_t i = NUM_LOOPS_WARMUP + 1; i <= NUM_LOOPS_WARMUP + NUM_LOOPS_RUN; i++) {\n    storeLL(remote_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, i);\n    while (readLL(local_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, abortFlag) != i);\n  }\n  __syncthreads();\n  if (tid == 0) end_time = wall_clock64();\n  if (tid == 0) *time_delta = end_time - start_time;\n}\n\n__global__ void PongKernel(LLFifoLine* local_flag, LLFifoLine* remote_flag, uint64_t* time_delta, uint32_t* abortFlag) {\n  int tid = threadIdx.x;\n  #pragma unroll\n  for (uint32_t i = 1; i <= NUM_LOOPS_WARMUP; i++) {\n    while (readLL(local_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, abortFlag) != i);\n    storeLL(remote_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, i);\n  }\n  uint64_t start_time, end_time;\n  if (tid == 0) start_time = wall_clock64();\n  #pragma unroll\n  for (uint32_t i = NUM_LOOPS_WARMUP + 1; i <= NUM_LOOPS_WARMUP + NUM_LOOPS_RUN; i++) {\n    while (readLL(local_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, abortFlag) != i);\n    storeLL(remote_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, i);\n  }\n  __syncthreads();\n  if (tid == 0) end_time = wall_clock64();\n  if (tid == 0) *time_delta = end_time - start_time;\n}\n\n#define HIPCHECK(cmd)                                                          \\\ndo {                                                                           \\\n  hipError_t error = (cmd);                                                    \\\n  if (error != hipSuccess)                                                     \\\n  {                                                                            \\\n    std::cerr << \"Encountered HIP error (\" << error << \") at line \"            \\\n              << __LINE__ << \" in file \" << __FILE__ << \"\\n\";                  \\\n    exit(-1);                                                                  \\\n  }                                                                            \\\n} while (0)\n\nint main(int argc, char** argv) {\n  hipStream_t stream[2];\n  hipError_t err = hipSuccess;\n  int device_id[2];\n  hipDeviceProp_t prop[2];\n\n  if (argc != 3) {\n    fprintf(stderr, \"Usage: ./ll_latency_test ping_dev_id pong_dev_id\\n\");\n    return -1;\n  }\n  device_id[0] = atoi(argv[1]);\n  device_id[1] = atoi(argv[2]);\n\n  fprintf(stdout, \"Using devices %d %d\\n\", device_id[0], device_id[1]);\n\n  LLFifoLine *flag[2];\n  uint64_t *time_delta[2];\n  uint32_t *abortFlag[2];\n\n  HIPCHECK(hipSetDevice(device_id[0]));\n  HIPCHECK(hipStreamCreateWithFlags(&stream[0], hipStreamNonBlocking));\n  HIPCHECK(hipDeviceEnablePeerAccess(device_id[1], 0));\n  HIPCHECK(hipGetDeviceProperties(&prop[0], device_id[0]));\n  HIPCHECK(hipExtMallocWithFlags((void**)&flag[0], HIP_IPC_MEM_MIN_SIZE, (strncmp(prop[0].gcnArchName, \"gfx942\", 6) == 0 || strncmp(prop[0].gcnArchName, \"gfx950\", 6) == 0) ? hipDeviceMallocUncached : hipDeviceMallocFinegrained));\n  HIPCHECK(hipHostMalloc ((void**)&time_delta[0], sizeof(uint64_t), hipHostMallocDefault));\n  HIPCHECK(hipMalloc((void**)&abortFlag[0], sizeof(uint32_t)));\n  HIPCHECK(hipMemsetAsync(flag[0], 0, HIP_IPC_MEM_MIN_SIZE, stream[0]));\n  HIPCHECK(hipMemsetAsync(abortFlag[0], 0, sizeof(uint32_t), stream[0]));\n  HIPCHECK(hipStreamSynchronize(stream[0]));\n\n  HIPCHECK(hipSetDevice(device_id[1]));\n  HIPCHECK(hipStreamCreateWithFlags(&stream[1], hipStreamNonBlocking));\n  HIPCHECK(hipDeviceEnablePeerAccess(device_id[0], 0));\n  HIPCHECK(hipGetDeviceProperties(&prop[1], device_id[1]));\n  HIPCHECK(hipExtMallocWithFlags((void**)&flag[1], HIP_IPC_MEM_MIN_SIZE, (strncmp(prop[1].gcnArchName, \"gfx942\", 6) == 0 || strncmp(prop[1].gcnArchName, \"gfx950\", 6) == 0) ? hipDeviceMallocUncached : hipDeviceMallocFinegrained));\n  HIPCHECK(hipHostMalloc((void**)&time_delta[1], sizeof(uint64_t), hipHostMallocDefault));\n  HIPCHECK(hipMalloc((void**)&abortFlag[1], sizeof(uint32_t)));\n  HIPCHECK(hipMemsetAsync(flag[1], 0, HIP_IPC_MEM_MIN_SIZE, stream[1]));\n  HIPCHECK(hipMemsetAsync(abortFlag[1], 0, sizeof(uint32_t), stream[0]));\n  HIPCHECK(hipStreamSynchronize(stream[1]));\n\n  HIPCHECK(hipSetDevice(device_id[0]));\n  PingKernel<<<1, LL_MAX_THREADS, 0, stream[0]>>>(flag[0], flag[1], time_delta[0], abortFlag[0]);\n\n  HIPCHECK(hipSetDevice(device_id[1]));\n  PongKernel<<<1, LL_MAX_THREADS, 0, stream[1]>>>(flag[1], flag[0], time_delta[1], abortFlag[1]);\n\n  double vega_gpu_rtc_freq;\n\n  HIPCHECK(hipStreamSynchronize(stream[0]));\n  vega_gpu_rtc_freq = (strncmp(prop[0].gcnArchName, \"gfx942\", 6) == 0 || strncmp(prop[0].gcnArchName, \"gfx950\", 6) == 0) ? 1.0E8 : 2.5E7;\n  fprintf(stdout, \"One-way latency in us: %g\\n\", double(*time_delta[0]) * 1e6 / NUM_LOOPS_RUN / vega_gpu_rtc_freq / 2);\n\n  HIPCHECK(hipStreamSynchronize(stream[1]));\n  vega_gpu_rtc_freq = (strncmp(prop[1].gcnArchName, \"gfx942\", 6) == 0 || strncmp(prop[1].gcnArchName, \"gfx950\", 6) == 0) ? 1.0E8 : 2.5E7;\n  fprintf(stdout, \"One-way latency in us: %g\\n\", double(*time_delta[1]) * 1e6 / NUM_LOOPS_RUN / vega_gpu_rtc_freq / 2);\n\n  HIPCHECK(hipFree(flag[0]));\n  HIPCHECK(hipFree(time_delta[0]));\n  HIPCHECK(hipFree(abortFlag[0]));\n  HIPCHECK(hipFree(flag[1]));\n  HIPCHECK(hipFree(time_delta[1]));\n  HIPCHECK(hipFree(abortFlag[1]));\n  return 0;\n}\n"
  },
  {
    "path": "tools/p2p-latency-test/ll_latency_test.cu",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Modifications Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#include <cstdio>\n#include <cstdlib>\n#include <chrono>\n#include <fstream>\n#include <string>\n#include <unistd.h>\n#include <cuda_runtime.h>\n#include <iostream> //cerr\n#include <cstring>\n\n#define NUM_LOOPS_WARMUP 2000\n#define NUM_LOOPS_RUN 10000\n\n#define LL_MAX_THREADS 256\n#define LL_MAX_LINES 1000\n\nunion LLFifoLine {\n  /* Flags have to be *after* data, because otherwise, an incomplete receive\n     from the network may receive the flag but not the data.\n     Note this is assuming that either we receive contiguous chunks of data\n     (sockets) or data is written with an atomicity of 8 bytes (IB/RDMA). */\n  struct {\n    uint32_t data1;\n    uint32_t flag1;\n    uint32_t data2;\n    uint32_t flag2;\n  };\n  uint64_t v[2];\n  int4 i4;\n};\n\n#define HIP_IPC_MEM_MIN_SIZE (LL_MAX_THREADS*LL_MAX_LINES*sizeof(LLFifoLine))\n\n__device__ void storeLL(union LLFifoLine* dst, uint64_t val, uint32_t flag) {\n  asm volatile(\"st.volatile.global.v4.u32 [%0], {%1,%2,%3,%4};\" :: \"l\"(&dst->i4), \"r\"((uint32_t)val), \"r\"(flag), \"r\"((uint32_t)(val >> 32)), \"r\"(flag));\n}\n\n#define LL_SPINS_BEFORE_CHECK_ABORT 1000000\n\ninline __device__ int checkAbort(int &spins, uint32_t* abortFlag) {\n  uint32_t abort = 0;\n  spins++;\n  if (spins == LL_SPINS_BEFORE_CHECK_ABORT) {\n    abort = *((volatile uint32_t*)abortFlag);\n    spins = 0;\n  }\n  return abort;\n}\n\n__device__ uint64_t readLL(union LLFifoLine* src, uint32_t flag, uint32_t* abortFlag) {\n  int spins = 0;\n\n  union LLFifoLine i4;\n  do {\n      asm(\"ld.volatile.global.v4.u32 {%0,%1,%2,%3}, [%4];\" : \"=r\"(i4.data1), \"=r\"(i4.flag1), \"=r\"(i4.data2), \"=r\"(i4.flag2) : \"l\"(&src->i4));\n      if (checkAbort(spins, abortFlag)) break;\n  } while ((i4.flag1 != flag) || (i4.flag2 != flag));\n  uint64_t val64 = (uint64_t)(i4.data1) + (((uint64_t)i4.data2) << 32);\n  return val64;\n}\n\n\n__global__ void PingKernel(LLFifoLine* local_flag, LLFifoLine* remote_flag, uint64_t* time_delta, uint32_t* abortFlag) {\n  int tid = threadIdx.x;\n  #pragma unroll\n  for (uint32_t i = 1; i <= NUM_LOOPS_WARMUP; i++) {\n    storeLL(remote_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, i);\n    while (readLL(local_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, abortFlag) != i);\n  }\n  uint64_t start_time, end_time;\n  if (tid == 0) start_time = clock64();\n  #pragma unroll\n  for (uint32_t i = NUM_LOOPS_WARMUP + 1; i <= NUM_LOOPS_WARMUP + NUM_LOOPS_RUN; i++) {\n    storeLL(remote_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, i);\n    while (readLL(local_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, abortFlag) != i);\n  }\n  __syncthreads();\n  if (tid == 0) end_time = clock64();\n  if (tid == 0) *time_delta = end_time - start_time;\n}\n\n__global__ void PongKernel(LLFifoLine* local_flag, LLFifoLine* remote_flag, uint64_t* time_delta, uint32_t* abortFlag) {\n  int tid = threadIdx.x;\n  #pragma unroll\n  for (uint32_t i = 1; i <= NUM_LOOPS_WARMUP; i++) {\n    while (readLL(local_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, abortFlag) != i);\n    storeLL(remote_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, i);\n  }\n  uint64_t start_time, end_time;\n  if (tid == 0) start_time = clock64();\n  #pragma unroll\n  for (uint32_t i = NUM_LOOPS_WARMUP + 1; i <= NUM_LOOPS_WARMUP + NUM_LOOPS_RUN; i++) {\n    while (readLL(local_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, abortFlag) != i);\n    storeLL(remote_flag+tid+(i%LL_MAX_LINES)*LL_MAX_THREADS, i, i);\n  }\n  __syncthreads();\n  if (tid == 0) end_time = clock64();\n  if (tid == 0) *time_delta = end_time - start_time;\n}\n\n#define HIPCHECK(cmd)                                                          \\\ndo {                                                                           \\\n  cudaError_t error = (cmd);                                                    \\\n  if (error != cudaSuccess)                                                     \\\n  {                                                                            \\\n    std::cerr << \"Encountered HIP error (\" << error << \") at line \"            \\\n              << __LINE__ << \" in file \" << __FILE__ << \"\\n\";                  \\\n    exit(-1);                                                                  \\\n  }                                                                            \\\n} while (0)\n\nint main(int argc, char** argv) {\n  cudaStream_t stream[2];\n  int device_id[2];\n  cudaDeviceProp prop[2];\n\n  if (argc != 3) {\n    fprintf(stderr, \"Usage: ./ll_latency_test ping_dev_id pong_dev_id\\n\");\n    return -1;\n  }\n  device_id[0] = atoi(argv[1]);\n  device_id[1] = atoi(argv[2]);\n\n  fprintf(stdout, \"Using devices %d %d\\n\", device_id[0], device_id[1]);\n\n  LLFifoLine *flag[2];\n  uint64_t *time_delta[2];\n  uint32_t *abortFlag[2];\n\n  HIPCHECK(cudaSetDevice(device_id[0]));\n  HIPCHECK(cudaStreamCreateWithFlags(&stream[0], cudaStreamNonBlocking));\n  HIPCHECK(cudaDeviceEnablePeerAccess(device_id[1], 0));\n  HIPCHECK(cudaGetDeviceProperties(&prop[0], device_id[0]));\n  HIPCHECK(cudaMalloc((void**)&flag[0], HIP_IPC_MEM_MIN_SIZE));\n  HIPCHECK(cudaHostAlloc ((void**)&time_delta[0], sizeof(uint64_t), cudaHostAllocDefault));\n  HIPCHECK(cudaMalloc((void**)&abortFlag[0], sizeof(uint32_t)));\n  HIPCHECK(cudaMemsetAsync(flag[0], 0, HIP_IPC_MEM_MIN_SIZE, stream[0]));\n  HIPCHECK(cudaMemsetAsync(abortFlag[0], 0, sizeof(uint32_t), stream[0]));\n  HIPCHECK(cudaStreamSynchronize(stream[0]));\n\n  HIPCHECK(cudaSetDevice(device_id[1]));\n  HIPCHECK(cudaStreamCreateWithFlags(&stream[1], cudaStreamNonBlocking));\n  HIPCHECK(cudaDeviceEnablePeerAccess(device_id[0], 0));\n  HIPCHECK(cudaGetDeviceProperties(&prop[1], device_id[1]));\n  HIPCHECK(cudaMalloc((void**)&flag[1], HIP_IPC_MEM_MIN_SIZE));\n  HIPCHECK(cudaHostAlloc((void**)&time_delta[1], sizeof(uint64_t), cudaHostAllocDefault));\n  HIPCHECK(cudaMalloc((void**)&abortFlag[1], sizeof(uint32_t)));\n  HIPCHECK(cudaMemsetAsync(flag[1], 0, HIP_IPC_MEM_MIN_SIZE, stream[1]));\n  HIPCHECK(cudaMemsetAsync(abortFlag[1], 0, sizeof(uint32_t), stream[0]));\n  HIPCHECK(cudaStreamSynchronize(stream[1]));\n\n  HIPCHECK(cudaSetDevice(device_id[0]));\n  PingKernel<<<1, LL_MAX_THREADS, 0, stream[0]>>>(flag[0], flag[1], time_delta[0], abortFlag[0]);\n\n  HIPCHECK(cudaSetDevice(device_id[1]));\n  PongKernel<<<1, LL_MAX_THREADS, 0, stream[1]>>>(flag[1], flag[0], time_delta[1], abortFlag[1]);\n\n  double gpu_rtc_freq;\n\n  HIPCHECK(cudaStreamSynchronize(stream[0]));\n  gpu_rtc_freq = prop[0].clockRate*1.0E3;\n  fprintf(stdout, \"One-way latency in us: %g\\n\", double(*time_delta[0]) * 1e6 / NUM_LOOPS_RUN / gpu_rtc_freq / 2);\n\n  HIPCHECK(cudaStreamSynchronize(stream[1]));\n  gpu_rtc_freq = prop[1].clockRate*1.0E3;\n  fprintf(stdout, \"One-way latency in us: %g\\n\", double(*time_delta[1]) * 1e6 / NUM_LOOPS_RUN / gpu_rtc_freq / 2);\n\n  HIPCHECK(cudaFree(flag[0]));\n  HIPCHECK(cudaFreeHost(time_delta[0]));\n  HIPCHECK(cudaFree(abortFlag[0]));\n  HIPCHECK(cudaFree(flag[1]));\n  HIPCHECK(cudaFreeHost(time_delta[1]));\n  HIPCHECK(cudaFree(abortFlag[1]));\n  return 0;\n}\n"
  },
  {
    "path": "tools/p2p-latency-test/p2p_latency_test.cpp",
    "content": "/*************************************************************************\n * Copyright (c) Microsoft Corporation.\n * Modifications Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n * Licensed under the MIT License.\n ************************************************************************/\n\n#include <cstdio>\n#include <cstdlib>\n#include <chrono>\n#include <fstream>\n#include <string>\n#include <unistd.h>\n#include <hip/hip_runtime.h>\n#include <iostream> //cerr\n#include <cstring>\n\n#define HIP_IPC_MEM_MIN_SIZE 2097152UL\n\n#define NUM_LOOPS_WARMUP 2000\n#define NUM_LOOPS_RUN 10000\n\n#define PING_MODE 0\n#define PONG_MODE 1\n\n__global__ void PingKernel(uint64_t* local_flag, uint64_t* remote_flag, uint64_t* time_delta) {\n  #pragma unroll\n  for (uint32_t i = 1; i <= NUM_LOOPS_WARMUP; i++) {\n    __atomic_store_n(remote_flag, i, __ATOMIC_RELAXED);\n    while (__atomic_load_n(local_flag, __ATOMIC_RELAXED) != i);\n  }\n  uint64_t start_time = wall_clock64();\n  #pragma unroll\n  for (uint32_t i = NUM_LOOPS_WARMUP + 1; i <= NUM_LOOPS_WARMUP + NUM_LOOPS_RUN; i++) {\n    __atomic_store_n(remote_flag, i, __ATOMIC_RELAXED);\n    while (__atomic_load_n(local_flag, __ATOMIC_RELAXED) != i);\n  }\n  uint64_t end_time = wall_clock64();\n  *time_delta = end_time - start_time;\n}\n\n__global__ void PongKernel(uint64_t* local_flag, uint64_t* remote_flag, uint64_t* time_delta) {\n  #pragma unroll\n  for (uint32_t i = 1; i <= NUM_LOOPS_WARMUP; i++) {\n    while (__atomic_load_n(local_flag, __ATOMIC_RELAXED) != i);\n    __atomic_store_n(remote_flag, i, __ATOMIC_RELAXED);\n  }\n  uint64_t start_time = wall_clock64();\n  #pragma unroll\n  for (uint32_t i = NUM_LOOPS_WARMUP + 1; i <= NUM_LOOPS_WARMUP + NUM_LOOPS_RUN; i++) {\n    while (__atomic_load_n(local_flag, __ATOMIC_RELAXED) != i);\n    __atomic_store_n(remote_flag, i, __ATOMIC_RELAXED);\n  }\n  uint64_t end_time = wall_clock64();\n  *time_delta = end_time - start_time;\n}\n\n#define HIPCHECK(cmd)                                                          \\\ndo {                                                                           \\\n  hipError_t error = (cmd);                                                    \\\n  if (error != hipSuccess)                                                     \\\n  {                                                                            \\\n    std::cerr << \"Encountered HIP error (\" << error << \") at line \"            \\\n              << __LINE__ << \" in file \" << __FILE__ << \"\\n\";                  \\\n    exit(-1);                                                                  \\\n  }                                                                            \\\n} while (0)\n\nint main(int argc, char** argv) {\n  hipStream_t stream[2];\n  hipError_t err = hipSuccess;\n  int device_id[2];\n  hipDeviceProp_t prop[2];\n\n  if (argc != 3) {\n    fprintf(stderr, \"Usage: ./p2p_latency_test ping_dev_id pong_dev_id\\n\");\n    return -1;\n  }\n  device_id[0] = atoi(argv[1]);\n  device_id[1] = atoi(argv[2]);\n\n  fprintf(stdout, \"Using devices %d %d\\n\", device_id[0], device_id[1]);\n\n  uint64_t *flag[2];\n  uint64_t *time_delta[2];\n\n  HIPCHECK(hipSetDevice(device_id[0]));\n  HIPCHECK(hipStreamCreateWithFlags(&stream[0], hipStreamNonBlocking));\n  HIPCHECK(hipDeviceEnablePeerAccess(device_id[1], 0));\n  HIPCHECK(hipGetDeviceProperties(&prop[0], device_id[0]));\n  HIPCHECK(hipExtMallocWithFlags((void**)&flag[0], HIP_IPC_MEM_MIN_SIZE, (strncmp(prop[0].gcnArchName, \"gfx942\", 6) == 0 || strncmp(prop[0].gcnArchName, \"gfx950\", 6) == 0) ? hipDeviceMallocUncached : hipDeviceMallocFinegrained));\n  HIPCHECK(hipMalloc((void**)&time_delta[0], HIP_IPC_MEM_MIN_SIZE));\n  HIPCHECK(hipMemsetAsync(flag[0], 0, HIP_IPC_MEM_MIN_SIZE, stream[0]));\n  HIPCHECK(hipStreamSynchronize(stream[0]));\n\n  HIPCHECK(hipSetDevice(device_id[1]));\n  HIPCHECK(hipStreamCreateWithFlags(&stream[1], hipStreamNonBlocking));\n  HIPCHECK(hipDeviceEnablePeerAccess(device_id[0], 0));\n  HIPCHECK(hipGetDeviceProperties(&prop[1], device_id[1]));\n  HIPCHECK(hipExtMallocWithFlags((void**)&flag[1], HIP_IPC_MEM_MIN_SIZE, (strncmp(prop[1].gcnArchName, \"gfx942\", 6) == 0 || strncmp(prop[1].gcnArchName, \"gfx950\", 6) == 0) ? hipDeviceMallocUncached : hipDeviceMallocFinegrained));\n  HIPCHECK(hipMalloc((void**)&time_delta[1], HIP_IPC_MEM_MIN_SIZE));\n  HIPCHECK(hipMemsetAsync(flag[1], 0, HIP_IPC_MEM_MIN_SIZE, stream[1]));\n  HIPCHECK(hipStreamSynchronize(stream[1]));\n\n  HIPCHECK(hipSetDevice(device_id[0]));\n  PingKernel<<<1, 1, 0, stream[0]>>>(flag[0], flag[1], time_delta[0]);\n\n  HIPCHECK(hipSetDevice(device_id[1]));\n  PongKernel<<<1, 1, 0, stream[1]>>>(flag[1], flag[0], time_delta[1]);\n\n  double vega_gpu_rtc_freq;\n\n  HIPCHECK(hipStreamSynchronize(stream[0]));\n  vega_gpu_rtc_freq = (strncmp(prop[0].gcnArchName, \"gfx942\", 6) == 0 || strncmp(prop[0].gcnArchName, \"gfx950\", 6) == 0) ? 1.0E8 : 2.5E7;\n  fprintf(stdout, \"One-way latency in us: %g\\n\", double(*time_delta[0]) * 1e6 / NUM_LOOPS_RUN / vega_gpu_rtc_freq / 2);\n\n  HIPCHECK(hipStreamSynchronize(stream[1]));\n  vega_gpu_rtc_freq = (strncmp(prop[1].gcnArchName, \"gfx942\", 6) == 0 || strncmp(prop[1].gcnArchName, \"gfx950\", 6) == 0) ? 1.0E8 : 2.5E7;\n  fprintf(stdout, \"One-way latency in us: %g\\n\", double(*time_delta[1]) * 1e6 / NUM_LOOPS_RUN / vega_gpu_rtc_freq / 2);\n\n  HIPCHECK(hipFree(flag[0]));\n  HIPCHECK(hipFree(time_delta[0]));\n  HIPCHECK(hipFree(flag[1]));\n  HIPCHECK(hipFree(time_delta[1]));\n  return 0;\n}\n"
  },
  {
    "path": "tools/rccl-prim-test/Makefile",
    "content": "# Copyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.\nHIP_PATH?= $(wildcard /opt/rocm)\nifeq (,$(HIP_PATH))\n\tHIP_PATH=../../..\nendif\nHIPCC=$(HIP_PATH)/bin/hipcc\n\nEXE=rccl_prim_test\nCXXFLAGS = -O3 -g -I/opt/rocm/rocrand/include\n\nall: $(EXE)\n\n$(EXE): rccl_prim_test.cpp\n\t$(HIPCC) $(CXXFLAGS) $^ -o $@\n\nclean:\n\trm -f *.o $(EXE)\n"
  },
  {
    "path": "tools/rccl-prim-test/copy_kernel.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef NCCL_COMMON_KERNEL_H_\n#define NCCL_COMMON_KERNEL_H_\n\n#include <cstdio>\n#include <cstdint>\n\n// Define min for ssize_t\nstatic __device__ int min(int a, ssize_t b) { return (a < b) ? a : b; }\n\ntypedef uint64_t PackType;\n\n\ntemplate<class FUNC, typename T>\nstruct MULTI {\n  __device__ PackType operator()(const PackType x, const PackType y) const\n  {\n    return FUNC()(x, y);\n  }\n};\n\n\ntemplate<typename T> inline __device__\nT vFetch(const volatile T* ptr) {\n  return __builtin_nontemporal_load(ptr);\n}\n\ntemplate<typename T> inline __device__\nvoid vStore(volatile T* ptr, const T val) {\n  __builtin_nontemporal_store(val, ptr);\n}\n\ntemplate<typename T>\nstruct FuncPassA {\n  __device__ T operator()(const T x, const T y) const {\n    return x;\n  }\n};\n\ntemplate<typename T>\nstruct FuncSum {\n  __device__ T operator()(const T x, const T y) const {\n    return x + y;\n  }\n};\n\ntemplate<class FUNC>\nstruct MULTI<FUNC, float> {\n  static_assert(sizeof(PackType) == 2 * sizeof(float),\n      \"PackType must be twice the size of float.\");\n  union converter {\n    PackType storage;\n    struct {\n      float a, b;\n    };\n  };\n\n  __device__ PackType operator()(const PackType x, const PackType y) const {\n    converter cx, cy, cr;\n    cx.storage = x;\n    cy.storage = y;\n\n    cr.a = FUNC()(cx.a, cy.a);\n    cr.b = FUNC()(cx.b, cy.b);\n\n    return cr.storage;\n  }\n};\n\n\ntypedef ulong2 Pack128;\n\ntemplate<class FUNC, typename T>\nstruct MULTI128 {\n  __device__ void operator()(Pack128& x, Pack128& y) {\n    x.x = MULTI<FUNC, T>()(x.x, y.x);\n    x.y = MULTI<FUNC, T>()(x.y, y.y);\n  }\n};\n\ninline __device__ void Fetch128(Pack128& v, const Pack128* p) {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HCC__) || defined(__HIPCC__)\n  v.x = __builtin_nontemporal_load(&p->x);\n  v.y = __builtin_nontemporal_load(&p->y);\n#else\n  asm volatile(\"ld.volatile.global.v2.u64 {%0,%1}, [%2];\" : \"=l\"(v.x), \"=l\"(v.y) : \"l\"(p) : \"memory\");\n#endif\n}\ninline __device__ void Store128(Pack128* p, Pack128& v) {\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HCC__) || defined(__HIPCC__)\n  __builtin_nontemporal_store(v.x, &p->x);\n  __builtin_nontemporal_store(v.y, &p->y);\n#else\n  asm volatile(\"st.volatile.global.v2.u64 [%0], {%1,%2};\" :: \"l\"(p), \"l\"(v.x), \"l\"(v.y) : \"memory\");\n#endif\n}\n\n#define WARP_SIZE 64\n\ntemplate<class FUNC, typename T, int UNROLL, int MINSRCS, int MAXSRCS, int MINDSTS, int MAXDSTS>\n__device__ __forceinline__ void ReduceCopyMulti(const int w, const int nw, const int t,\n    int nsrcs, const T** s, int ndsts, T** d, const int elemOffset, const int Nelem) {\n  const int inc = nw * UNROLL * WARP_SIZE;\n  int offset = w * UNROLL * WARP_SIZE + t;\n\n  const T* srcs[MAXSRCS];\n  for (int i=0; i<MAXSRCS; i++) srcs[i] = s[i]+elemOffset+offset;\n  T* dsts[MAXDSTS];\n  for (int i=0; i<MAXDSTS; i++) dsts[i] = d[i]+elemOffset+offset;\n\n  while (offset < Nelem) {\n    T vals[UNROLL];\n    // Load and reduce\n    for (int u = 0; u < UNROLL; ++u) vals[u] = vFetch(srcs[0]+u*WARP_SIZE);\n\n    #pragma unroll\n    for (int i=1; i<MINSRCS; i++) {\n      T vals2[UNROLL];\n      for (int u = 0; u < UNROLL; ++u) vals2[u] = vFetch(srcs[i]+u*WARP_SIZE);\n      for (int u = 0; u < UNROLL; ++u) vals[u] = FUNC()(vals[u], vals2[u]);\n    }\n    #pragma unroll\n    for (int i=MINSRCS; i<MAXSRCS; i++) {\n      if (i<nsrcs) {\n        T vals2[UNROLL];\n        for (int u = 0; u < UNROLL; ++u) vals2[u] = vFetch(srcs[i]+u*WARP_SIZE);\n        for (int u = 0; u < UNROLL; ++u) vals[u] = FUNC()(vals[u], vals2[u]);\n      }\n    }\n\n    // Store\n    #pragma unroll\n    for (int i = 0; i < MINDSTS; i++) {\n      for (int u = 0; u < UNROLL; ++u) vStore(dsts[i]+u*WARP_SIZE, vals[u]);\n    }\n    #pragma unroll\n    for (int i=MINDSTS; i<MAXDSTS; i++) {\n      if (i<ndsts) {\n        for (int u = 0; u < UNROLL; ++u) vStore(dsts[i]+u*WARP_SIZE, vals[u]);\n      }\n    }\n    for (int i=0; i<MAXSRCS; i++) srcs[i] += inc;\n    for (int i=0; i<MAXDSTS; i++) dsts[i] += inc;\n    offset += inc;\n  }\n}\n\ntemplate<class FUNC, typename T, int UNROLL, int MINSRCS, int MAXSRCS, int MINDSTS, int MAXDSTS>\n__device__ void ReduceCopy128bMulti(const int w, const int nw, const int t,\n    int nsrcs, const T** s, int ndsts, T** d, const int elemOffset, const int Npack) {\n  const int inc = nw * UNROLL * WARP_SIZE;\n  int offset = w * UNROLL * WARP_SIZE + t;\n\n  const Pack128* srcs[MAXSRCS];\n  for (int i=0; i<MAXSRCS; i++) srcs[i] = ((const Pack128*)(s[i]+elemOffset))+offset;\n  Pack128* dsts[MAXDSTS];\n  for (int i=0; i<MAXDSTS; i++) dsts[i] = ((Pack128*)(d[i]+elemOffset))+offset;\n\n  while (offset < Npack) {\n    Pack128 vals[UNROLL];\n    // Load and reduce\n    for (int u = 0; u < UNROLL; ++u) Fetch128(vals[u], srcs[0]+u*WARP_SIZE);\n\n    for (int i=1; i<MINSRCS; i++) {\n      Pack128 vals2[UNROLL];\n      for (int u = 0; u < UNROLL; ++u) Fetch128(vals2[u], srcs[i]+u*WARP_SIZE);\n      for (int u = 0; u < UNROLL; ++u) MULTI128<FUNC, T>()(vals[u], vals2[u]);\n    }\n    for (int i=MINSRCS; i<MAXSRCS && i<nsrcs; i++) {\n      Pack128 vals2[UNROLL];\n      for (int u = 0; u < UNROLL; ++u) Fetch128(vals2[u], srcs[i]+u*WARP_SIZE);\n      for (int u = 0; u < UNROLL; ++u) MULTI128<FUNC, T>()(vals[u], vals2[u]);\n    }\n\n    // Store\n    for (int i = 0; i < MINDSTS; i++) {\n      for (int u = 0; u < UNROLL; ++u) Store128(dsts[i]+u*WARP_SIZE, vals[u]);\n    }\n    for (int i=MINDSTS; i<MAXDSTS; i++) {\n      if (i<ndsts) {\n        for (int u = 0; u < UNROLL; ++u) Store128(dsts[i]+u*WARP_SIZE, vals[u]);\n      }\n    }\n    for (int i=0; i<MAXSRCS; i++) srcs[i] += inc;\n    for (int i=0; i<MAXDSTS; i++) dsts[i] += inc;\n    offset += inc;\n  }\n}\n\ntemplate <typename T>\n__device__ int ptrAlign128(T* ptr) { return (uint64_t)ptr % alignof(int32_t); }\n\n#define PACKELEMS (sizeof(Pack128) / sizeof(T))\n\n#if defined(__HIP_PLATFORM_AMD__) || defined(__HCC__) || defined(__HIPCC__)\n// Multiply UNROLL by 2 if single source/single destination\n#define AUTOUNROLL (UNROLL*((MINSRCS==1 && MINDSTS==1) ? 2 : 1))\n#endif\n\ntemplate<int UNROLL, class FUNC, typename T, int MINSRCS, int MAXSRCS, int MINDSTS, int MAXDSTS>\n__device__ __forceinline__ void ReduceOrCopyMulti(const int tid, const int nthreads,\n    int nsrcs, const T** srcs, int ndsts, T** dsts,\n    int N) {\n  int Nrem = N;\n  if (Nrem <= 0) return;\n\n  int w = tid / WARP_SIZE;       // Warp number\n  int nw = nthreads / WARP_SIZE; // Number of warps\n  int t = tid % WARP_SIZE;       // Thread (inside the warp)\n\n  // Check that all is 16B aligned. If not don't use 16B load/stores.\n  int align = 0;\n  #pragma unroll\n  for (int i=0; i<MINSRCS; i++) align |= ptrAlign128(srcs[i]);\n  for (int i=MINSRCS; i<MAXSRCS && i<nsrcs; i++) align |= ptrAlign128(srcs[i]);\n  #pragma unroll\n  for (int i=0; i<MINDSTS; i++) align |= ptrAlign128(dsts[i]);\n  for (int i=MINDSTS; i<MAXDSTS && i<ndsts; i++) align |= ptrAlign128(dsts[i]);\n\n  int offset = 0;\n  if (align == 0) {\n    // fast path: use 128b loads/stores to do the bulk of the work,\n    // assuming the pointers we have are all 128-bit aligned.\n\n    // main loop\n    int Npack = (Nrem / (PACKELEMS*AUTOUNROLL*WARP_SIZE)) * (AUTOUNROLL*WARP_SIZE); // round down\n    int Nelem = Npack * PACKELEMS;\n\n    ReduceCopy128bMulti<FUNC, T, AUTOUNROLL, MINSRCS, MAXSRCS, MINDSTS, MAXDSTS>(w, nw, t, nsrcs, srcs, ndsts, dsts, offset, Npack);\n\n    Nrem -= Nelem;\n    if (Nrem == 0) return;\n    offset += Nelem;\n\n    // slightly less optimized for section when we don't have full unrolling\n    Npack = Nrem / PACKELEMS;\n    Nelem = Npack * PACKELEMS;\n\n    ReduceCopy128bMulti<FUNC, T, 1, MINSRCS, MAXSRCS, MINDSTS, MAXDSTS>(w, nw, t, nsrcs, srcs, ndsts, dsts, offset, Npack);\n\n    Nrem -= Nelem;\n    if (Nrem == 0) return;\n    offset += Nelem;\n  }\n\n  // unrolled, by-type (mostly for unaligned buffers)\n  int Nelem = (Nrem / (UNROLL*PACKELEMS/2*WARP_SIZE)) * (UNROLL*PACKELEMS/2*WARP_SIZE); // round down\n\n  ReduceCopyMulti<FUNC, T, UNROLL*PACKELEMS/2, MINSRCS, MAXSRCS, MINDSTS, MAXDSTS>(w, nw, t, nsrcs, srcs, ndsts, dsts, offset, Nelem);\n\n  Nrem -= Nelem;\n  if (Nrem == 0) return;\n  offset += Nelem;\n\n  // no unroll, by type. Should finish what's remaining.\n  ReduceCopyMulti<FUNC, T, 1, MINSRCS, MAXSRCS, MINDSTS, MAXDSTS>(w, nw, t, nsrcs, srcs, ndsts, dsts, offset, Nrem);\n}\n\n#endif\n"
  },
  {
    "path": "tools/rccl-prim-test/rccl_prim_test.cpp",
    "content": "/*\nCopyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n/**\n * @file rccl_prim_test.cpp\n *\n * test performance if individual rccl primitives\n */\n#include <cstdio>  //fprintf\n#include <iostream> //cerr\n#include <unistd.h> //usleep\n#include <cstring>\n#include <chrono>\n#include <hip/hip_runtime_api.h>\n#include <hip/hip_runtime.h>\n#include \"copy_kernel.h\"\n\n#define MAX_GPU 16\n#define MAX_WORKGROUPS 56\n#define THREADS 256\n#define NGPUS 2\n\n#define COPY_UNROLL       4\n#define REDUCE_UNROLL     2\n#define DOUBLECOPY_UNROLL 2\n#define DOUBLECOPYLOCAL_UNROLL 2\n#define REDUCECOPY_UNROLL 2\n\n#define PRINT_GPU0_ONLY 1\n\n#define RST  \"\\x1B[0m\"\n#define KBLU  \"\\x1B[34m\"\n#define FBLU(x) KBLU x RST\n#define BOLD(x) \"\\x1B[1m\" x RST\n\nstruct transfer_data_t {\n  float *dest0[MAX_WORKGROUPS]; //remote fine grain\n  float *src0[MAX_WORKGROUPS];  //local fine grain\n  float *dest1[MAX_WORKGROUPS]; //local coarse grain\n  float *dest2[MAX_WORKGROUPS]; //local fine grain\n  float *src1[MAX_WORKGROUPS];  //local coarse grain\n  int N;\n  int gpu;\n  int ngpu;\n  uint64_t *remOpCount;\n};\n\nstruct profiling_data_t {\n  uint64_t write_cycles[MAX_WORKGROUPS];\n  uint64_t bytes_transferred[MAX_WORKGROUPS];\n};\n\n\n#define LOAD(VAR) __atomic_load_n((VAR), __ATOMIC_SEQ_CST)\n#define STORE(DST, SRC) __atomic_store_n((DST), (SRC), __ATOMIC_SEQ_CST)\n\nvoid print_table_header(void) {\n  fprintf(stderr, \"%120s\",\"=================================================================================================================================\\n\");\n  fprintf(stderr, \"%-20s %-13s %-13s %-13s %-13s %-20s %-20s %-10s\\n\",\"[Originating GPU]\", \"[Directions]\", \"[WorkGroup]\", \"[linktype]\", \"[time(ms)]\" , \"[bytes_transferred]\",  \"[throughput(GB/s)]\", \"[StdDev]\");\n  fprintf(stderr, \"%120s\",\"=================================================================================================================================\\n\");\n}\n\nvoid print_table_summary_line(void) {\n  fprintf(stderr, \"%120s\",\"---------------------------------------------------------------------------------------------------------------------------------\\n\");\n}\n\nenum Ops {\n  OP_COPY,\n  OP_LOCALCOPY,\n  OP_DOUBLECOPY,\n  OP_DOUBLECOPYLOCAL,\n  OP_REDUCE,\n  OP_REDUCECOPY,\n  OP_READ,\n  NUM_OPS,\n};\n\ntemplate<int op, int sync>\n__global__ void flag_sync_kernel(struct transfer_data_t* transfer_data, struct profiling_data_t* profiling_data, uint64_t opCount) {\n  size_t tid = threadIdx.x;\n  uint64_t curr_time;\n  int bid = blockIdx.x;\n  int n = transfer_data->N;\n\n  const float *srcs[NGPUS];\n  float *dsts[NGPUS];\n\n  // signal self ready and wait until all GPUs are ready\n  if (tid == 0) {\n    __atomic_fetch_add(&transfer_data->remOpCount[transfer_data->gpu], 1, __ATOMIC_SEQ_CST);\n    if (sync) {\n      for (int i = 0; i < transfer_data->ngpu; i++) {\n        while (LOAD(&transfer_data->remOpCount[i]) < opCount) {};\n      }\n    }\n  }\n  __syncthreads();\n\n  if (tid == 0)\n    curr_time = wall_clock64();\n\n  if (op == OP_COPY) {\n    srcs[0] = transfer_data->src0[bid];\n    dsts[0] = transfer_data->dest0[bid];\n    ReduceOrCopyMulti<COPY_UNROLL, FuncPassA<float>, float, 1, 1, 1, 1>(threadIdx.x, THREADS,\n      1, srcs, 1, dsts, n);\n  }\n  if (op == OP_LOCALCOPY) {\n    srcs[0] = transfer_data->src0[bid];\n    dsts[0] = transfer_data->dest1[bid];\n    ReduceOrCopyMulti<COPY_UNROLL, FuncPassA<float>, float, 1, 1, 1, 1>(threadIdx.x, THREADS,\n      1, srcs, 1, dsts, n);\n  }\n  if (op == OP_DOUBLECOPY) {\n    srcs[0] = transfer_data->src0[bid];\n    dsts[0] = transfer_data->dest0[bid];\n    dsts[1] = transfer_data->dest1[bid];\n    ReduceOrCopyMulti<DOUBLECOPY_UNROLL, FuncPassA<float>, float, 1, 1, 1, 2>(threadIdx.x, THREADS,\n      1, srcs, 2, dsts, n);\n  }\n  if (op == OP_DOUBLECOPYLOCAL) {\n    srcs[0] = transfer_data->src0[bid];\n    dsts[0] = transfer_data->dest1[bid];\n    dsts[1] = transfer_data->dest2[bid];\n    ReduceOrCopyMulti<DOUBLECOPYLOCAL_UNROLL, FuncPassA<float>, float, 1, 1, 1, 2>(threadIdx.x, THREADS,\n      1, srcs, 2, dsts, n);\n  }\n  if (op == OP_REDUCE) {\n    srcs[0] = transfer_data->src0[bid];\n    srcs[1] = transfer_data->src1[bid];\n    dsts[0] = transfer_data->dest0[bid];\n    ReduceOrCopyMulti<REDUCE_UNROLL, FuncSum<float>, float, 1, 2, 1, 1>(threadIdx.x, THREADS,\n      2, srcs, 1, dsts, n);\n  }\n  if (op == OP_REDUCECOPY) {\n    srcs[0] = transfer_data->src0[bid];\n    srcs[1] = transfer_data->src1[bid];\n    dsts[0] = transfer_data->dest0[bid];\n    dsts[1] = transfer_data->dest1[bid];\n    ReduceOrCopyMulti<REDUCECOPY_UNROLL, FuncSum<float>, float, 1, 2, 1, 2>(threadIdx.x, THREADS,\n      2, srcs, 2, dsts, n);\n  }\n  if (op == OP_READ) {\n    // Swapped the dest0 and src0 in passed parameter of copy kernel so that it can utilized for as a read kernel.\n    // fetch op will happen on transfer_data->dest0[bid] and store op will happen on transfer_data->src0[bid]\n    srcs[0] = transfer_data->dest0[bid];\n    dsts[0] = transfer_data->src0[bid];\n    ReduceOrCopyMulti<COPY_UNROLL, FuncPassA<float>, float, 1, 1, 1, 1>(threadIdx.x, THREADS,\n      1, srcs, 1, dsts, n);\n  }\n\n  __syncthreads();\n\n  if (tid == 0) {\n    __atomic_fetch_add(&(profiling_data->write_cycles[bid]), __builtin_amdgcn_s_memrealtime() - curr_time, __ATOMIC_SEQ_CST);\n    __atomic_fetch_add(&(profiling_data->bytes_transferred[bid]), n * sizeof(float), __ATOMIC_SEQ_CST);\n  }\n}\n\ntypedef void(*flag_sync_kernel_t)(struct transfer_data_t* transfer_data, struct profiling_data_t* profiling_data, uint64_t opCount);\n\nstatic flag_sync_kernel_t const flagSyncKerns[NUM_OPS*2] = {\n  flag_sync_kernel<OP_COPY, 0>,\n  flag_sync_kernel<OP_COPY, 1>,\n  flag_sync_kernel<OP_LOCALCOPY, 0>,\n  flag_sync_kernel<OP_LOCALCOPY, 1>,\n  flag_sync_kernel<OP_DOUBLECOPY, 0>,\n  flag_sync_kernel<OP_DOUBLECOPY, 1>,\n  flag_sync_kernel<OP_DOUBLECOPYLOCAL, 0>,\n  flag_sync_kernel<OP_DOUBLECOPYLOCAL, 1>,\n  flag_sync_kernel<OP_REDUCE, 0>,\n  flag_sync_kernel<OP_REDUCE, 1>,\n  flag_sync_kernel<OP_REDUCECOPY, 0>,\n  flag_sync_kernel<OP_REDUCECOPY, 1>,\n  flag_sync_kernel<OP_READ, 0>,\n  flag_sync_kernel<OP_READ, 1>,\n};\n\n__global__ void initTestDataKernel(float* data, const size_t N, const int gpu) {\n  int tid = threadIdx.x + blockIdx.x * blockDim.x;\n  while (tid < N) {\n    data[tid] = 1.0/(float)(gpu*17 + tid%77);\n    tid += blockDim.x * gridDim.x;\n  }\n}\n\n#define HIPCHECK(cmd)                                                          \\\ndo {                                                                           \\\n  hipError_t error = (cmd);                                                    \\\n  if (error != hipSuccess)                                                     \\\n  {                                                                            \\\n    std::cerr << \"Encountered HIP error (\" << error << \") at line \"            \\\n              << __LINE__ << \" in file \" << __FILE__ << \"\\n\";                  \\\n    exit(-1);                                                                  \\\n  }                                                                            \\\n} while (0)\n\nstatic void setupPeers(uint32_t *info, bool* is_xgmi) {\n  int deviceCnt, dev;\n\n  // is_xgmi indicates all link are one hop XGMI\n  *is_xgmi = 1;\n  HIPCHECK(hipGetDeviceCount(&deviceCnt));\n  HIPCHECK(hipGetDevice(&dev));\n  //! If gpus are not peer enabled, enable them\n  for (int i = 0; i < deviceCnt; i++) {\n    HIPCHECK(hipSetDevice(i));\n    for (int j = 0; j < deviceCnt; j++) {\n      if (i != j) {\n\tint p2p;\n        HIPCHECK(hipDeviceCanAccessPeer(&p2p, i, j));\n        if (!p2p) {\n          printf(\"Cannot enable peer access between device %d and %d. You may use HIP_VISIBLE_DEVICES to limit GPUs.\\n\",\n           i, j);\n          exit(-1);\n        }\n        HIPCHECK(hipDeviceEnablePeerAccess(j, 0));\n        uint32_t linktype;\n        hipError_t error = hipExtGetLinkTypeAndHopCount(i, j, &linktype, &info[i*deviceCnt+j]);\n        if (error != hipSuccess)\n          *is_xgmi = 0;\n        if (linktype != 4 || info[i*deviceCnt+j] != 1) *is_xgmi = 0;\n      }\n      else\n        info[i*deviceCnt+j] = 0;\n    }\n  }\n  HIPCHECK(hipSetDevice(dev));\n}\n\nstatic void parseChordalRing(char **str) {\n  static const char *ringBase = \"0 6 7 4 5 3 2 1|0 5 6 3 7 1 4 2|0 4 6 2 7 5 1 3|0 1 2 3 5 4 7 6|0 2 4 1 7 3 6 5|0 3 1 5 7 2 6 4\";\n  static char ringRemap[256];\n  int id[8], dist[8];\n  int i;\n\n  int ngpus;\n  HIPCHECK(hipGetDeviceCount(&ngpus));\n  // single node CR8G only\n  if (ngpus != 8)\n    return;\n  // validate chordal ring and calculate distance\n  for (i=0; i<ngpus; i++) {\n    int sum = ngpus*(ngpus-1)/2 - i;\n    int count = 0;\n    for (int n = 0; n<ngpus; n++) {\n      uint32_t linktype, hop;\n      hipError_t error = hipExtGetLinkTypeAndHopCount(i, n, &linktype, &hop);\n      if (error != hipSuccess)\n        return;\n      if (linktype != 4 || hop != 1) continue;\n      sum -= n;\n      count ++;\n    }\n    if(count != ngpus-2 || sum < 0 || sum > ngpus-1) {\n      return;\n    }\n    dist[i] = sum;\n  }\n  // remap GPU ids\n  for (i = 0; i<ngpus; i++) id[i] = i;\n  for (i = 0; i<ngpus; i++) {\n    if (dist[i] == ngpus-1-i) continue;\n    int j, m, n, temp;\n    for (j=i+1; j < ngpus; j++)\n      if(dist[j] == ngpus-1-i) break;\n    m = dist[i]; n = dist[j]; dist[i] = n; dist[j] = m;\n    temp = id[m]; id[m] = id[n]; id[n] = temp; temp =dist[m];\n    dist[m] = dist[n]; dist[n] = temp;\n  }\n  // create chordal ring based on reference and remapped ids\n  for (i = 0; i <strlen(ringBase); i++) {\n    if (ringBase[i] >= '0' && ringBase[i] <= '9')\n      ringRemap[i] = id[ringBase[i]-'0']+'0';\n    else\n      ringRemap[i] = ringBase[i];\n  }\n  ringRemap[i] = 0;\n  *str = ringRemap;\n  return;\n}\n\nstatic void printRing(int id, int *ring, int deviceCnt) {\n  printf(\"Ring %d: \", id);\n  for (int i = 0; i < deviceCnt; i++)\n    printf(\"%1d \", ring[i]);\n  printf(\"\\n\");\n}\n\nstatic void findConnect(uint32_t *info, int *ring, int deviceCnt) {\n  int n = 0, curr = 0, best;\n  uint32_t temp[MAX_GPU*MAX_GPU];\n  for (int i = 0; i < deviceCnt*deviceCnt; i++) temp[i] = 0;\n  for (int i = 0; i < deviceCnt; i++) {\n    for (int j = 0; j < deviceCnt; j++) temp[j*deviceCnt+curr] = 1;\n    ring[n] = curr;\n    n++;\n    int hops = 99;\n    for (int j = 0; j < deviceCnt; j++) {\n      if (temp[curr*deviceCnt+j]) continue;\n      if (info[curr*deviceCnt+j] < hops) {\n        best = j;\n        hops = info[curr*deviceCnt+j];\n      }\n    }\n    curr = best;\n  }\n}\n\nstatic int findNextGpu(int *ring, int gpu, int deviceCnt) {\n  int i;\n  for (i = 0; i < deviceCnt; i ++)\n    if (ring[i] == gpu) break;\n  return ring[(i+1)%deviceCnt];\n}\n\nstatic void setupRings(uint32_t *info, int *ring_0, int *ring_1) {\n  int deviceCnt, dev;\n  HIPCHECK(hipGetDeviceCount(&deviceCnt));\n  printf(\"Connection matrix:\\n\");\n  for (int i = 0; i < deviceCnt; i++) {\n    for (int j = 0; j < deviceCnt; j++)\n      printf(\"%2d \", info[i*deviceCnt+j]);\n    printf(\"\\n\");\n  }\n  findConnect(info, ring_0, deviceCnt);\n  ring_1[0] =0;\n  for (int i = 1; i < deviceCnt; i++)\n    ring_1[i] = ring_0[deviceCnt-i];\n}\n\nchar* getCmdOption(char ** begin, char ** end, const std::string & option) {\n    char ** itr = std::find(begin, end, option);\n    if (itr != end && ++itr != end)\n    {\n        return *itr;\n    }\n    return 0;\n}\n\nbool cmdOptionExists(char** begin, char** end, const std::string& option) {\n    return std::find(begin, end, option) != end;\n}\n\n\nstatic const char* link_type_name[] = {\"HT\", \"QPI\", \"PCIE\", \"IB\", \"XGMI\"};\n\n\nint main(int argc,char* argv[])\n{\n  if (cmdOptionExists(argv, argv + argc, \"-h\")) {\n    printf(\"./rccl_prim_test -w num_workgroups -p copy|localcopy|doublecopy|doublecopylocal|reduce|reducecopy|all -i iterations -n bytes -r \\\"0 1 2 3|3 2 1 0\\\"\\n\");\n    exit(0);\n  }\n\n  int workgroups = 0;\n  char *wg = getCmdOption(argv, argv + argc, \"-w\");\n  if (wg)\n    workgroups = atol(wg);\n  printf(\"Benchmarking using %d workgroups\\n\", workgroups);\n\n  int iters = 1000;\n  char *it = getCmdOption(argv, argv + argc, \"-i\");\n  if (it)\n    iters = atol(it);\n  printf(\"Benchmarking using %d iterations\\n\", iters);\n\n  uint64_t nBytes = 2097152;\n  char *nb = getCmdOption(argv, argv + argc, \"-n\");\n  if (nb)\n    nBytes = atol(nb);\n  printf(\"Benchmarking using %ld bytes\\n\", nBytes);\n  uint64_t N = nBytes/sizeof(float);\n\n  int sync = 0;\n  char *s = getCmdOption(argv, argv + argc, \"-s\");\n  if (s)\n    sync = atol(s);\n  if (sync) printf(\"Sync all GPUs before operation\\n\");\n\n  char *r = getCmdOption(argv, argv + argc, \"-r\");\n  if (r) printf(\"User specified ring topology: %s\\n\", r);\n\n  const char *ops[] = {\"copy\", \"localcopy\", \"doublecopy\", \"doublecopylocal\", \"reduce\", \"reducecopy\", \"read\", \"all\"};\n  char *prim = getCmdOption(argv, argv + argc, \"-p\");\n  int op = NUM_OPS, begin_op, end_op;\n  if (prim) {\n    for (op = 0; op < sizeof(ops); op++)\n      if (!strcmp((const char *)prim, ops[op]))\n        break;\n  }\n  if (op < NUM_OPS ) {\n    begin_op = op;\n    end_op = op + 1;\n  } else {\n    begin_op = 0;\n    end_op = NUM_OPS;\n    printf(\"Benchmarking all ops\\n\");\n  }\n\n  int nGpu = 1;\n  HIPCHECK(hipGetDeviceCount(&nGpu));\n\n  uint32_t connection_info[MAX_GPU*MAX_GPU];\n  // Enable peer access\n  bool is_xgmi;\n  char *cr8g = 0;\n  static const char *ring_4p3l = \"0 1 2 3|0 1 3 2|0 2 1 3|0 2 3 1|0 3 1 2|0 3 2 1\";\n  static const char *ring_8p1h = \"0 1 3 2 4 5 7 6|6 7 5 4 2 3 1 0|0 1 5 4 6 7 3 2|2 3 7 6 4 5 1 0\";\n  static const char *ring_16p1h = \"0 1 3 2 6 7 15 14 10 11 9 8 12 13 5 4|0 1 2 3 7 6 13 12 8 9 10 11 15 14 5 4|0 2 3 7 6 14 15 11 10 8 9 13 12 4 5 1|4 5 13 12 8 9 11 10 14 15 7 6 2 3 1 0|4 5 14 15 11 10 9 8 12 13 6 7 3 2 1 0|1 5 4 12 13 9 8 10 11 15 14 6 7 3 2 0\";\n  static const char *ring_gfx942_8p = \"0 1 2 3 4 5 6 7|0 1 2 3 4 5 7 6|0 2 4 1 3 6 5 7|0 2 4 6 1 7 3 5|0 3 1 5 2 7 4 6|0 3 5 1 6 2 7 4|0 4 1 7 3 6 2 5|7 6 5 4 3 2 1 0|6 7 5 4 3 2 1 0|7 5 6 3 1 4 2 0|5 3 7 1 6 4 2 0|6 4 7 2 5 1 3 0|4 7 2 6 1 5 3 0|5 2 6 3 7 1 4 0\";\n\n  setupPeers(connection_info, &is_xgmi);\n  if (!r) {\n    parseChordalRing(&cr8g);\n    if (nGpu == 4 && is_xgmi) r = (char *)ring_4p3l;\n    if (nGpu == 8 && cr8g) r = (char *)cr8g;\n    if (nGpu == 8 && !cr8g) {\n      hipDeviceProp_t prop;\n      HIPCHECK(hipGetDeviceProperties(&prop, 0));\n      if (strncmp(prop.gcnArchName, \"gfx942\", 6) == 0) {\n        r = (char *)ring_gfx942_8p;\n        if(!workgroups) workgroups = 28;\n      } else {\n        r = (char *)ring_8p1h;\n        if(!workgroups) workgroups = 16;\n      }\n    }\n    if (nGpu == 16) {\n      r = (char *)ring_16p1h;\n      if(!workgroups) workgroups = 24;\n    }\n  }\n\n  if(!workgroups) workgroups = 1;\n  // clockwise and counter clockwise rings\n  int ring[MAX_WORKGROUPS][MAX_GPU];\n  for (int i = 0; i < MAX_WORKGROUPS; i++)\n    for (int j = 0; j <MAX_GPU; j++)\n      ring[i][j] =  -1;\n\n  int num_rings = 0;\n  if (r) {\n    int j = 0, n = 0;\n    int state = 0;\n    do {\n      int digit = r[n] - '0';\n      if (digit >= 0 && digit <= 9) {\n        if (state)\n          ring[num_rings][j] = ring[num_rings][j]*10 + digit;\n        else {\n          ring[num_rings][j] = digit;\n          state = 1;\n        }\n      }\n      else {\n        state = 0;\n        j++;\n        if (r[n] == ' ') continue;\n        if (r[n] == '|') {\n          num_rings ++;\n          j = 0;\n          continue;\n        }\n      }\n    } while (r[n++] != 0x0);\n    num_rings ++;\n  } else {\n    setupRings(connection_info, ring[0], ring[1]);\n    num_rings = 2;\n  }\n\n  // duplicate rings\n  for (int i = num_rings; i < MAX_WORKGROUPS; i++) {\n    for (int j = 0; j <MAX_GPU; j++)\n      ring[i][j] =  ring[i%num_rings][j];\n  }\n\n  // data buffers\n  float *buff[MAX_GPU*MAX_WORKGROUPS], *buff_coarse[MAX_GPU*MAX_WORKGROUPS];\n  float *buff_fine[MAX_GPU*MAX_WORKGROUPS]; // additional fine grain buffer for local double copy\n  struct transfer_data_t h_transfer_data[MAX_GPU], *transfer_data[MAX_GPU];\n  struct profiling_data_t *profiling_data[MAX_GPU], *d_profiling_data[MAX_GPU];\n  hipStream_t stream[MAX_GPU];\n\n  uint64_t *remOpCount, *d_remOpCount;\n  HIPCHECK(hipHostMalloc((void**)&remOpCount, sizeof(uint64_t)*MAX_GPU, hipHostMallocMapped));\n  HIPCHECK(hipHostGetDevicePointer((void**)&d_remOpCount, (void*)remOpCount, 0));\n\n  // print rings\n  for (int i = 0; i < workgroups; i++) {\n    printRing(i, ring[i], nGpu);\n  }\n\n  for (int i = 0; i < nGpu; i ++) {\n    HIPCHECK(hipSetDevice(i));\n    hipDeviceProp_t prop;\n    HIPCHECK(hipGetDeviceProperties(&prop, i));\n    printf(\"#   device %d [0x%02x] %s\\n\",\n                    i, prop.pciBusID, prop.name);\n    //create stream\n    HIPCHECK(hipStreamCreate(&stream[i]));\n    profiling_data[i] = (struct profiling_data_t *)malloc(sizeof(struct profiling_data_t)*iters);\n    HIPCHECK(hipMalloc((void**) &d_profiling_data[i], sizeof(struct profiling_data_t)*iters));\n\n    HIPCHECK(hipExtMallocWithFlags((void**) &transfer_data[i], sizeof(struct transfer_data_t), strncmp(prop.gcnArchName, \"gfx942\", 6) == 0 ? hipDeviceMallocUncached : hipDeviceMallocFinegrained));\n    for (int j = 0; j < workgroups; j++) {\n      HIPCHECK(hipExtMallocWithFlags((void**) &buff[i*MAX_WORKGROUPS+j], 2*N*sizeof(float), strncmp(prop.gcnArchName, \"gfx942\", 6) == 0 ? hipDeviceMallocUncached : hipDeviceMallocFinegrained));\n      // additional fine grained buffer for local doublecopy, only need 1 buffer (not used by remote)\n      HIPCHECK(hipExtMallocWithFlags((void**) &buff_fine[i*MAX_WORKGROUPS+j], N*sizeof(float), strncmp(prop.gcnArchName, \"gfx942\", 6) == 0 ? hipDeviceMallocUncached : hipDeviceMallocFinegrained));\n      HIPCHECK(hipMalloc((void**) &buff_coarse[i*MAX_WORKGROUPS+j], 2*N*sizeof(float)));\n      //randomize test data\n      hipLaunchKernelGGL(initTestDataKernel,\n          /*grid dim x,y,z*/        dim3(32, 1, 1),\n          /*block dim x,y,z*/       dim3(THREADS, 1, 1),\n          /*dynamic shared mem*/    0,\n          /*stream*/                stream[i],\n          /*kernel args*/           buff[i*MAX_WORKGROUPS+j], 2*N, 0);\n      hipLaunchKernelGGL(initTestDataKernel,\n          /*grid dim x,y,z*/        dim3(32, 1, 1),\n          /*block dim x,y,z*/       dim3(THREADS, 1, 1),\n          /*dynamic shared mem*/    0,\n          /*stream*/                stream[i],\n          /*kernel args*/           buff_fine[i*MAX_WORKGROUPS+j], N, 0);\n      hipLaunchKernelGGL(initTestDataKernel,\n          /*grid dim x,y,z*/        dim3(32, 1, 1),\n          /*block dim x,y,z*/       dim3(THREADS, 1, 1),\n          /*dynamic shared mem*/    0,\n          /*stream*/                stream[i],\n          /*kernel args*/           buff_coarse[i*MAX_WORKGROUPS+j], 2*N, 0);\n    }\n  }\n\n  for (int i = 0; i < nGpu; i ++) {\n    for (int j = 0; j < workgroups; j++) {\n      int next_gpu;\n      next_gpu = findNextGpu(ring[j], i, nGpu);\n      //printf(\"GPU %d Ring %d -> Next GPU %d\\n\", i, j, next_gpu);\n      h_transfer_data[i].dest0[j] = buff[next_gpu*MAX_WORKGROUPS+j] + N;\n      h_transfer_data[i].dest1[j] = buff_coarse[i*MAX_WORKGROUPS+j] + N;\n      h_transfer_data[i].dest2[j] = buff_fine[i*MAX_WORKGROUPS+j]; // additional local fine grain\n      h_transfer_data[i].src0[j] = buff[i*MAX_WORKGROUPS+j];\n      h_transfer_data[i].src1[j] = buff_coarse[i*MAX_WORKGROUPS+j];\n    }\n    h_transfer_data[i].N = N;\n    h_transfer_data[i].gpu = i;\n    h_transfer_data[i].ngpu = nGpu;\n    h_transfer_data[i].remOpCount = d_remOpCount;\n  }\n\n  for (int i = 0; i < nGpu; i ++) {\n    HIPCHECK(hipSetDevice(i));\n    HIPCHECK(hipMemcpyAsync(transfer_data[i], &h_transfer_data[i],\n                            sizeof(struct transfer_data_t), hipMemcpyHostToDevice,\n                            stream[i]));\n    HIPCHECK(hipStreamSynchronize(stream[i]));\n  }\n\n  void *args[MAX_GPU*3];\n  hipLaunchParams *launchParamsList= reinterpret_cast<hipLaunchParams *>(\n            malloc(sizeof(hipLaunchParams)*MAX_GPU));\n\n  uint64_t opCount = workgroups;\n  for (int op = begin_op; op < end_op; op ++) {\n    const char *OpsName[] = {\"Copy\", \"Local Copy\", \"Double Copy\", \"doublecopylocal\", \"Reduce\", \"ReduceCopy\", \"Read\"};\n    printf(\"\\n[Testing %s]: \\n\", OpsName[op]);\n    // 20 warm up cycles\n    for (int j = 0; j < 20; j ++) {\n      for (int i = 0; i < nGpu; i ++) {\n#if 0\n        args[i*3] = &transfer_data[i];\n        args[i*3+1] = &d_profiling_data[i];\n        args[i*3+2] = &opCount;\n        launchParamsList[i].func =\n                reinterpret_cast<void *>(flagSyncKerns[op*2 + sync]);\n        launchParamsList[i].gridDim   = dim3(workgroups, 1, 1),\n        launchParamsList[i].blockDim  = dim3(THREADS, 1, 1),\n        launchParamsList[i].sharedMem = 0;\n        launchParamsList[i].stream    = stream[i];\n        launchParamsList[i].args      = args + i*3;\n      }\n      hipExtLaunchMultiKernelMultiDevice(launchParamsList, nGpu,\n        hipCooperativeLaunchMultiDeviceNoPreSync|hipCooperativeLaunchMultiDeviceNoPostSync);\n#else\n        HIPCHECK(hipSetDevice(i));\n        //launch the kernel\n        hipLaunchKernelGGL(flagSyncKerns[op*2 + sync],\n            /*grid dim x,y,z*/        dim3(workgroups, 1, 1),\n            /*block dim x,y,z*/       dim3(THREADS, 1, 1),\n            /*dynamic shared mem*/    0,\n            /*stream*/                stream[i],\n            /*kernel args*/           transfer_data[i], d_profiling_data[i]+j, opCount);\n      }\n#endif\n      opCount+=workgroups;\n    }\n\n    for (int i = 0; i < nGpu; i ++) {\n      HIPCHECK(hipSetDevice(i));\n      HIPCHECK(hipMemsetAsync(d_profiling_data[i], 0, sizeof(struct profiling_data_t)*iters, stream[i]));\n      HIPCHECK(hipStreamSynchronize(stream[i]));\n    }\n    auto start = std::chrono::high_resolution_clock::now();\n    for (int j = 0; j < iters; j ++) {\n      for (int i = 0; i < nGpu; i ++) {\n#if 0\n        args[i*3] = &transfer_data[i];\n        args[i*3+1] = &d_profiling_data[i];\n        args[i*3+2] = &opCount;\n        launchParamsList[i].func =\n                reinterpret_cast<void *>(flagSyncKerns[op*2 + sync]);\n        launchParamsList[i].gridDim   = dim3(workgroups, 1, 1),\n        launchParamsList[i].blockDim  = dim3(THREADS, 1, 1),\n        launchParamsList[i].sharedMem = 0;\n        launchParamsList[i].stream    = stream[i];\n        launchParamsList[i].args      = args + i*3;\n      }\n      hipExtLaunchMultiKernelMultiDevice(launchParamsList, nGpu,\n        hipCooperativeLaunchMultiDeviceNoPreSync|hipCooperativeLaunchMultiDeviceNoPostSync);\n#else\n        HIPCHECK(hipSetDevice(i));\n        //launch the kernel\n        hipLaunchKernelGGL(flagSyncKerns[op*2 + sync],\n            /*grid dim x,y,z*/        dim3(workgroups, 1, 1),\n            /*block dim x,y,z*/       dim3(THREADS, 1, 1),\n            /*dynamic shared mem*/    0,\n            /*stream*/                stream[i],\n            /*kernel args*/           transfer_data[i], d_profiling_data[i]+j, opCount);\n      }\n#endif\n      opCount+=workgroups;\n    }\n\n    for (int i = 0; i < nGpu; i ++) {\n      HIPCHECK(hipSetDevice(i));\n      HIPCHECK(hipStreamSynchronize(stream[i]));\n    }\n\n    auto delta = std::chrono::high_resolution_clock::now() - start;\n    double deltaSec = std::chrono::duration_cast<std::chrono::duration<double>>(delta).count();\n    std::cout << BOLD(FBLU(\"[GPU to GPU Transfer Profiling Data]\"))<<std::endl;\n    print_table_header();\n    for (int i = 0; i < nGpu; i ++) {\n      HIPCHECK(hipMemcpyAsync(profiling_data[i], d_profiling_data[i],\n                              sizeof(struct profiling_data_t)*iters, hipMemcpyDeviceToHost,\n                              stream[i]));\n      HIPCHECK(hipStreamSynchronize(stream[i]));\n\n      uint64_t max_write_cycle = 0;\n      uint64_t bytes_transferred = 0;\n\n      hipDeviceProp_t prop;\n      HIPCHECK(hipGetDeviceProperties(&prop, i));\n      double vega_gpu_rtc_freq, bw_std_dev = 0, mean_write_cycle = 0;\n      if (strncmp(prop.gcnArchName, \"gfx942\", 6) == 0)\n        vega_gpu_rtc_freq = 1.0E8;\n      else\n        vega_gpu_rtc_freq = 2.5E7;\n      for (int j = 0; j < workgroups; j++) {\n        int next_gpu;\n        next_gpu = findNextGpu(ring[j], i, nGpu);\n\n        uint32_t linktype;\n        uint32_t hopcount;\n        HIPCHECK(hipExtGetLinkTypeAndHopCount(i, next_gpu , &linktype, &hopcount));\n\n        //find mean/max/stddev of iterations\n        uint64_t iter_max_write_cycle = 0, iter_bytes_transferred = 0;\n        double iter_bw_std_dev = 0, iter_total_write_cycle = 0;\n        for (int k = 0; k < iters; k++) {\n          iter_max_write_cycle = std::max(iter_max_write_cycle, (profiling_data[i]+k)->write_cycles[j]);\n          iter_total_write_cycle = iter_total_write_cycle + (profiling_data[i]+k)->write_cycles[j];\n          iter_bytes_transferred = iter_bytes_transferred + (profiling_data[i]+k)->bytes_transferred[j];\n        }\n        bytes_transferred += iter_bytes_transferred;\n        double t1 = iter_total_write_cycle/vega_gpu_rtc_freq;\n        max_write_cycle = std::max(max_write_cycle, (uint64_t)iter_total_write_cycle);\n        mean_write_cycle = mean_write_cycle + iter_total_write_cycle;\n        for (int k = 0; k < iters; k++) {\n          double t0 = (double)(profiling_data[i]+k)->write_cycles[j]/vega_gpu_rtc_freq;\n          iter_bw_std_dev += std::pow((double)(profiling_data[i]+k)->bytes_transferred[j]/(t0*1.0E9) - (double)(profiling_data[i]+k)->bytes_transferred[j]*iters/(iter_total_write_cycle*1.0E9/vega_gpu_rtc_freq), 2);\n        }\n        iter_bw_std_dev = std::sqrt(iter_bw_std_dev/iters);\n\n        //store bytes_transferred and write_cycle from all itres into in first iter entry\n        profiling_data[i]->write_cycles[j] = (uint64_t)iter_total_write_cycle;\n        profiling_data[i]->bytes_transferred[j] = iter_bytes_transferred;\n        fprintf(stderr, \"%-20d %-d->%-10d %-13d %-13s %-13.3f  %-20lu  %-8.2f         %.3f\\n\",\n          i,i, next_gpu,j,link_type_name[linktype], t1*1000, iter_bytes_transferred, (double)(iter_bytes_transferred)/(t1*1.0E9), iter_bw_std_dev);\n      }\n      //calculate stddev for rings\n      mean_write_cycle /= workgroups;\n      for (int j = 0; j < workgroups; j++) {\n        double t0 = (double)profiling_data[i]->write_cycles[j]/vega_gpu_rtc_freq;\n        bw_std_dev += std::pow((double)profiling_data[i]->bytes_transferred[j]/(t0*1.0E9) - (double)profiling_data[i]->bytes_transferred[j]/(mean_write_cycle*1.0E9/vega_gpu_rtc_freq), 2);\n      }\n      bw_std_dev = std::sqrt(bw_std_dev/workgroups);\n      print_table_summary_line();\n      double total = 0;\n      total = (double)max_write_cycle/vega_gpu_rtc_freq;\n      fprintf(stderr, \" Workgroups throughput standard deviation %-20.3f %-13.3f  %-20lu  %-.2f\\n\",\n        bw_std_dev, total*1000, bytes_transferred, (double)bytes_transferred/(total*1.0E9));\n      print_table_summary_line();\n#ifdef PRINT_GPU0_ONLY\n      break;\n#endif\n    }\n    std::cout << BOLD(FBLU(\"[Application Level Transfer Profiling Data]\"))<<std::endl;\n    uint64_t total_bytes_transferred = profiling_data[0]->bytes_transferred[0] * workgroups ;\n    print_table_summary_line();\n    fprintf(stderr, \" %-61s %-13.3f  %-20lu  %-.2f\\n\",\n      \"Total\" , deltaSec*1000, total_bytes_transferred, (double)total_bytes_transferred/(deltaSec*1.0E9));\n    print_table_summary_line();\n  }\n\n  for (int i = 0; i < nGpu; i ++) {\n    HIPCHECK(hipStreamDestroy(stream[i]));\n    HIPCHECK(hipFree((void*) transfer_data[i]));\n    for (int j = 0; j < workgroups; j++) {\n      HIPCHECK(hipFree((void*) buff[i*MAX_WORKGROUPS+j]));\n      HIPCHECK(hipFree((void*) buff_coarse[i*MAX_WORKGROUPS+j]));\n      HIPCHECK(hipFree((void*) buff_fine[i*MAX_WORKGROUPS+j]));\n    }\n    HIPCHECK(hipFree((void*) d_profiling_data[i]));\n    free(profiling_data[i]);\n  }\n\n  printf(\"opCount: \");\n  for (int i = 0; i < nGpu; i++)\n    printf(\"%ld \", remOpCount[i]);\n  printf(\"\\n\");\n  HIPCHECK(hipHostFree((void*)remOpCount));\n}\n"
  },
  {
    "path": "tools/scripts/exclude_static_list.txt",
    "content": "src/transport/p2p.cc:initCeOperation,legacyIPC\n"
  },
  {
    "path": "tools/scripts/npkit_trace_analysis.py",
    "content": "# Copyright (c) Microsoft Corporation.\n# Modifications Copyright (c) 2023-2024 Advanced Micro Devices, Inc. All rights reserved.\n# Licensed under the MIT License.\n\n# Having run npkit_trace_generator.py, use functions in this script (via import * from script, for example)\n# to parse and dump data from the raw json trace files. Always run parse() first with correct json file and desired event name\n\nimport csv\nimport json\nimport sys\nfrom operator import itemgetter\n\nevents = dict()\n\n# collect all occurences of a certain event from trace file\ndef parse(file, event):\n\tevents.clear()\n\n\t# load json as dict\n\tf = open(file, 'rb')\n\traw_content = f.read()\n\tjson_data = json.loads(raw_content.decode('utf-8'))\n\ttrace = json_data['traceEvents']\n\n\tB = dict()\n\n\tfor entry in trace:\n\t\tid_pair = (entry['pid'], entry['tid'])\n\n\t\tif entry['ph'] == 'B':\n\t\t\tif id_pair not in B:\n\t\t\t\tB[id_pair] = []\n\t\t\tB[id_pair].append(entry) #stack from end\n\t\telse:\n\t\t\tb = B[id_pair].pop() #pop from end\n\t\t\tif b['name'] == event:\n\t\t\t\tdur = entry['ts'] - b['ts']\n\t\t\t\t#adding to results\n\t\t\t\tif id_pair not in events:\n\t\t\t\t\tevents[id_pair] = dict()\n\t\t\t\tevents[id_pair][b['ts']] = (dur, entry['args']['bw (GB/s)'], entry['args']['size'], entry['ts'])\n\t\t\t\t# channel : {start time: [duration, bw, size, end time], ... : ..., ...} \n\n\treturn events\n\ndef size():\n\treturn len(events)\n\n# return top i longest events within a certain (process,thread) pair, where default is all processes/threads\ndef longest_events(i, process = None, thread = None):\n\tif process == None and thread != None:\n\t\traise RuntimeError(\"makes no sense to compare a thread id across all processes\")\n\tflatten_list = []\n\n\tfor id_pair in events:\n\t\tif process == None or id_pair[0] == process:\n\t\t\tif thread == None or id_pair[1] == thread:\n\t\t\t\tfor ts in events[id_pair]:\n\t\t\t\t\tdur = events[id_pair][ts][0]\n\t\t\t\t\tflatten_list.append( (id_pair, ts, dur) )\n\n\treturn sorted(flatten_list,key=itemgetter(2))[-i:]\n\n# calculate total bandwidth of a channel aggregated through all events\ndef aggregate(channel):\n\tus = 0\n\tbyte = 0\n\ttimeline = events[channel]\n\tfor i in timeline:\n\t\tus += timeline[i][0]\n\t\tbyte += timeline[i][2]\n\n\treturn byte/us/1e3\n\n# total throughput of all channels on a gpu (process) in every <interval> us\n# tested on proxy channel events (e.g. NPKIT_EVENT_NET_TEST_ENTRY), think twice for other events\ndef thruput_series(gpu, interval = 100):\n\tearly = sys.maxsize\n\tlate = 0\n\ta = events\n\n\t# determine earliest and latest happening events\n\tfor i in a:\n\t\tfor j in a[i]:\n\t\t\tif j < early:\n\t\t\t\tearly = j\n\t\t\tif j > late:\n\t\t\t\tlate = j\n\n\t# round up for interval length\n\tlate_r = late - (late  % -interval)\n\tearly_r = early - (early % interval)\n\tearly = int(early_r)\n\tlate = int(late_r)\n\n\t# aggregate all bytes transferred in a given interval\n\tseries = []\n\tfor ts in range(early,late, interval):\n\t\ttotalbyte = 0\n\t\tfor i in a:\n\t\t\tif i[0] == gpu:\n\t\t\t\tfor j in a[i]:\n\t\t\t\t\tstart = j\n\t\t\t\t\tend = a[i][j][3]\n\t\t\t\t\tsize = a[i][j][2] # total bytes transferred of this event\n\t\t\t\t\tduration =  a[i][j][0] # total duration of this event\n\t\t\t\t\tif start <= ts and end > ts:\n\t\t\t\t\t\tend = min(end, ts+interval)\n\t\t\t\t\t\t# assume constant bw across time for an event, we only add bytes proportional\n\t\t\t\t\t\t# to this event's presence in this interval over its total duration\n\t\t\t\t\t\ttotalbyte += (size / 1e6)  * ( (end-start) / duration)\n\t\t\t\t\telif start < (ts + interval) and end >= ts: #>= for 0 dur case\n\t\t\t\t\t\tstart = max(start, ts)\n\t\t\t\t\t\tend = min(end, ts+interval)\n\t\t\t\t\t\t# sometimes there are 0 time events, probably a bug in npkit or trace generation\n\t\t\t\t\t\tif duration == 0:\n\t\t\t\t\t\t\tassert end-start == 0\n\t\t\t\t\t\t\ttotalbyte += (size / 1e6)\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\ttotalbyte += (size / 1e6)  * ( (end-start) / duration)\n\t\t\t\t\tif totalbyte < 0:\n\t\t\t\t\t\tprint(i, j, start, end, ts)\n\t\t\t\t\t\tprint(totalbyte, size, ( (end-start) / duration))\n\t\t\t\t\t\traise RuntimeError(\"an error with time interval\")\n\t\t\t\n\t\tseries.append(totalbyte * 1000 / interval)\n\treturn series\n\n# export the bw of all events as csv, used for producing heatmap later\n# only used and tested for CU level events like NPKIT_EVENT_ALL_REDUCE_RING_ENTRY\ndef export_csv(name):\n\ta = events\n\tmatrix = []\n\tfor i in a :\n\t\tl = [i[0],i[1]]\n\t\tfor j in a[i]:\n\t\t\tl.append(a[i][j][1]) #bw\n\t\tmatrix.append(l)\n\n\tfile = open(name, 'w')\n\tcsvwriter = csv.writer(file)\n\tfor i in matrix:\n\t\tcsvwriter.writerow(i)\n\tfile.close()\n"
  },
  {
    "path": "tools/scripts/npkit_trace_generator.py",
    "content": "# Copyright (c) Microsoft Corporation.\n# Modifications Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n# Licensed under the MIT License.\n\n# example run\n# python3 ./[rccl]/tools/scripts/npkit_trace_generator.py --npkit_dump_dir=[npkit_dump_dir] --npkit_event_header_path=[rccl]/src/include/npkit/npkit_event.h --output_dir=/home/akollias/dev/\n\nimport argparse\nimport os\nimport json\n\nfrom queue import Queue\n\ndef parse_npkit_event_header(npkit_event_header_path):\n    npkit_event_def = {'id_to_type': {}, 'type_to_id': {}}\n    with open(npkit_event_header_path, 'r') as f:\n        lines = [x.strip() for x in f.readlines() if len(x.strip()) != 0]\n        line_idx = 0\n        while line_idx < len(lines):\n            if lines[line_idx].startswith('#define NPKIT_EVENT_'):\n                fields = lines[line_idx].split()\n                if len(fields) == 3:\n                    event_type = fields[1]\n                    event_id = int(fields[2], 0)\n                    npkit_event_def['type_to_id'][event_type] = event_id\n                    npkit_event_def['id_to_type'][event_id] = event_type\n            line_idx += 1\n    return npkit_event_def\n\ndef parse_gpu_clock_scale(gpu_clock_file_path):\n    with open(gpu_clock_file_path, 'r') as f:\n        freq_in_khz = f.read()\n        return float(freq_in_khz) * 1e3 / 1e6\n\ndef parse_cpu_clock_scale(cpu_clock_den_file_path, cpu_clock_num_file_path):\n    with open(cpu_clock_num_file_path, 'r') as f:\n        num = float(f.read())\n    with open(cpu_clock_den_file_path, 'r') as f:\n        den = float(f.read())\n    return den / num / 1e6\n\ndef parse_gpu_event(event_bytes):\n    return {\n        'id': int.from_bytes(event_bytes[0:1], byteorder='little', signed=False),\n        'size': int.from_bytes(event_bytes[1:5], byteorder='little', signed=False),\n        'rsvd': int.from_bytes(event_bytes[5:8], byteorder='little', signed=False),\n        'timestamp': int.from_bytes(event_bytes[8:16], byteorder='little', signed=False)\n    }\n\ndef parse_cpu_event(event_bytes):\n    return {\n        'id': int.from_bytes(event_bytes[0:1], byteorder='little', signed=False),\n        'size': int.from_bytes(event_bytes[1:5], byteorder='little', signed=False),\n        'slot': int.from_bytes(event_bytes[5:8], byteorder='little', signed=False),\n        'timestamp': int.from_bytes(event_bytes[8:16], byteorder='little', signed=False)\n    }\n\ndef parse_gpu_event_file_time(sync_dictionary, npkit_dump_dir, npkit_event_def, rank, buf_idx, gpu_clock_scale, cpu_clock_scale, dictionary_of_stats, warmup_runs):\n    gpu_event_file_path = os.path.join(npkit_dump_dir, 'gpu_events_rank_%d_buf_%d' % (rank, buf_idx))\n    stats_key = 'gpu_rank_%d' % (rank)\n    channel_stats = {}\n    raw_event_size = 16\n    curr_cpu_base_time = None\n    curr_gpu_base_time = None\n    gpu_events = []\n    event_type_to_seq = {}\n    unfiltered_events = []\n    start_event_id = 0\n    with open(gpu_event_file_path, 'rb') as f:\n        raw_content = f.read()\n        raw_content_size = len(raw_content)\n        raw_content_idx = 0\n        if raw_content_size > 0 and stats_key not in dictionary_of_stats:\n            dictionary_of_stats[stats_key] = {}\n        warmup_raw_content_idx = 0\n        while warmup_runs != 0 and warmup_raw_content_idx < raw_content_size: #warmup run cleanup\n            parsed_gpu_event = parse_gpu_event(raw_content[warmup_raw_content_idx : warmup_raw_content_idx + raw_event_size])\n            unfiltered_events.insert(0, parsed_gpu_event)\n            if start_event_id == 0:\n                decoded_id = npkit_event_def['id_to_type'][parsed_gpu_event['id']]\n                if decoded_id == 'NPKIT_EVENT_TIME_SYNC_CPU' or decoded_id == 'NPKIT_EVENT_TIME_SYNC_GPU':\n                    warmup_raw_content_idx += raw_event_size\n                    continue\n                else:\n                    start_event_id = parsed_gpu_event['id']\n\n            warmup_raw_content_idx += raw_event_size\n            if parsed_gpu_event['id'] == (start_event_id + 1):\n                warmup_runs -= 1\n        raw_content_idx = warmup_raw_content_idx\n        while raw_content_idx < raw_content_size:\n            parsed_gpu_event = parse_gpu_event(raw_content[raw_content_idx : raw_content_idx + raw_event_size])\n            if npkit_event_def['id_to_type'][parsed_gpu_event['id']] in ['NPKIT_EVENT_TIME_SYNC_CPU']:\n                if ('cpu') in sync_dictionary:\n                    sync_dictionary['cpu'].append(parsed_gpu_event)\n                else:\n                    sync_dictionary['cpu'] = [parsed_gpu_event]\n            if npkit_event_def['id_to_type'][parsed_gpu_event['id']] in ['NPKIT_EVENT_TIME_SYNC_GPU']:\n                if ('gpu') in sync_dictionary:\n                    sync_dictionary['gpu'].append(parsed_gpu_event)\n                else:\n                    sync_dictionary['gpu'] = [parsed_gpu_event]\n            raw_content_idx += raw_event_size\n    return len(sync_dictionary)\n\ndef parse_gpu_event_file(rank_cpu_time_xcid, npkit_dump_dir, npkit_event_def, rank, buf_idx, gpu_clock_scale, cpu_clock_scale, dictionary_of_stats, warmup_runs=5):\n    gpu_event_file_path = os.path.join(npkit_dump_dir, 'gpu_events_rank_%d_buf_%d' % (rank, buf_idx))\n    stats_key = 'gpu_rank_%d' % (rank)\n    channel_stats = {}\n    raw_event_size = 16\n    curr_cpu_base_time = None\n    curr_gpu_base_time = None\n    gpu_events = []\n    event_type_to_seq = {}\n    unfiltered_events = []\n    start_event_id = 0\n    with open(gpu_event_file_path, 'rb') as f:\n        raw_content = f.read()\n        raw_content_size = len(raw_content)\n        raw_content_idx = 0\n        if raw_content_size > 0 and stats_key not in dictionary_of_stats:\n            dictionary_of_stats[stats_key] = {}\n        warmup_raw_content_idx = 0\n        while warmup_runs != 0 and warmup_raw_content_idx < raw_content_size: #warmup run cleanup\n            parsed_gpu_event = parse_gpu_event(raw_content[warmup_raw_content_idx : warmup_raw_content_idx + raw_event_size])\n            unfiltered_events.insert(0, parsed_gpu_event)\n            if start_event_id == 0:\n                decoded_id = npkit_event_def['id_to_type'][parsed_gpu_event['id']]\n                if decoded_id == 'NPKIT_EVENT_TIME_SYNC_CPU' or decoded_id == 'NPKIT_EVENT_TIME_SYNC_GPU':\n                    warmup_raw_content_idx += raw_event_size\n                    continue\n                else:\n                    start_event_id = parsed_gpu_event['id']\n\n            warmup_raw_content_idx += raw_event_size\n            if parsed_gpu_event['id'] == (start_event_id + 1):\n                warmup_runs -= 1\n        raw_content_idx = warmup_raw_content_idx\n        while raw_content_idx < raw_content_size:\n            parsed_gpu_event = parse_gpu_event(raw_content[raw_content_idx : raw_content_idx + raw_event_size])\n            unfiltered_events.insert(0, parsed_gpu_event)\n            if npkit_event_def['id_to_type'][parsed_gpu_event['id']] == 'NPKIT_EVENT_TIME_SYNC_CPU':\n                # curr_cpu_base_time = parsed_gpu_event['timestamp'] / cpu_clock_scale\n                curr_cpu_base_time = rank_cpu_time_xcid['cpu'] / cpu_clock_scale\n                curr_gpu_base_time = None\n            elif npkit_event_def['id_to_type'][parsed_gpu_event['id']] == 'NPKIT_EVENT_TIME_SYNC_GPU':\n                if curr_gpu_base_time is None:\n                    # curr_gpu_base_time = parsed_gpu_event['timestamp'] / gpu_clock_scale\n                    curr_gpu_base_time = rank_cpu_time_xcid['gpu'] / gpu_clock_scale\n            else:\n                if curr_gpu_base_time is None:\n                    curr_gpu_base_time = parsed_gpu_event['timestamp'] / gpu_clock_scale\n                event_type = npkit_event_def['id_to_type'][parsed_gpu_event['id']]\n                phase = 'B' if event_type.endswith('_ENTRY') else 'E'\n                gpu_events.append({\n                    'ph': phase,\n                    'ts': curr_cpu_base_time + parsed_gpu_event['timestamp'] / gpu_clock_scale - curr_gpu_base_time,\n                    'pid': rank,\n                    'tid': buf_idx + 1\n\n                })\n                if phase == 'B':\n                    if event_type not in event_type_to_seq:\n                        event_type_to_seq[event_type] = 0\n                    gpu_events[-1].update({\n                        'name': event_type,\n                        'cat': 'GPU',\n                        'args': {\n                            'rank': rank,\n                            'buf_idx': buf_idx,\n                            'seq': event_type_to_seq[event_type],\n                            'rsvd_0': parsed_gpu_event['rsvd'],\n                            'size_0': parsed_gpu_event['size']\n                        }\n                    })\n                    event_type_to_seq[event_type] += 1\n                else:\n                    gpu_events[-1]['args'] = {'size': parsed_gpu_event['size'], 'rsvd': parsed_gpu_event['rsvd']}\n                    current_id = parsed_gpu_event['id']\n\n                    for i in unfiltered_events:\n                        if i['id'] == (current_id-1):\n                            event_start_ts = curr_cpu_base_time + i['timestamp'] / gpu_clock_scale - curr_gpu_base_time\n                            break\n                    delta_time = max(0.001, gpu_events[-1]['ts'] - event_start_ts) # delta needs to take the last begin\n                    bandwidth = gpu_events[-1]['args']['size'] / delta_time / 1e3\n                    if (current_id,parsed_gpu_event['size']) in channel_stats:\n                        temp_size = channel_stats[(current_id,parsed_gpu_event['size'])][1]+1\n                        temp = channel_stats[(current_id,parsed_gpu_event['size'])][0] * (temp_size - 1 )/ (temp_size)\n                        temp_delta = channel_stats[(current_id,parsed_gpu_event['size'])][2] * (temp_size - 1 )/ (temp_size)\n                        channel_stats[(current_id,parsed_gpu_event['size'])][0] = bandwidth / (temp_size) + temp\n                        channel_stats[(current_id,parsed_gpu_event['size'])][1] = temp_size\n                        channel_stats[(current_id,parsed_gpu_event['size'])][2] = delta_time / (temp_size) + temp_delta\n                    else:\n                        channel_stats[(current_id,parsed_gpu_event['size'])] = [bandwidth, 1, delta_time]\n                    gpu_events[-1]['args']['bw (GB/s)'] = bandwidth\n\n            raw_content_idx += raw_event_size\n\n    for key in channel_stats:\n        if key in dictionary_of_stats[stats_key]:\n            dictionary_of_stats[stats_key][key][0] += channel_stats[key][0]\n            old_size = dictionary_of_stats[stats_key][key][1]\n            new_size = channel_stats[key][1]\n            dictionary_of_stats[stats_key][key][1] += channel_stats[key][1]\n            cur_size = dictionary_of_stats[stats_key][key][1]\n            new_avg_time = (dictionary_of_stats[stats_key][key][2]*(old_size)+(new_size)*channel_stats[key][2])/(cur_size)\n            dictionary_of_stats[stats_key][key][2] = new_avg_time\n        else:\n            dictionary_of_stats[stats_key][key] = channel_stats[key]\n    return gpu_events\n\ndef parse_cpu_event_file(npkit_dump_dir, npkit_event_def, rank, channel, cpu_clock_scale):\n    cpu_event_file_path = os.path.join(npkit_dump_dir, 'cpu_events_rank_%d_channel_%d' % (rank, channel))\n    raw_event_size = 16\n    cpu_events = []\n    event_type_to_seq = {}\n\n    fiber_is_usable = []\n    fiber_open_ts = []\n    slot_to_fiber_id = {}\n    channel_shift = 1000\n    unfiltered_events = []\n    start_event_id = 0\n    with open(cpu_event_file_path, 'rb') as f:\n        raw_content = f.read()\n        raw_content_size = len(raw_content)\n        raw_content_idx = 0\n        parsed_cpu_event = parse_cpu_event(raw_content[raw_content_idx : raw_content_idx + raw_event_size])\n        start_event_id = parsed_cpu_event['id'] # start event id\n\n        while raw_content_idx < raw_content_size:\n            parsed_cpu_event = parse_cpu_event(raw_content[raw_content_idx : raw_content_idx + raw_event_size])\n            event_type = npkit_event_def['id_to_type'][parsed_cpu_event['id']]\n            phase = 'B' if event_type.endswith('_ENTRY') else 'E'\n            cpu_events.append({\n                'ph': phase,\n                'ts': parsed_cpu_event['timestamp'] / cpu_clock_scale,\n                'pid': rank\n            })\n            slot = parsed_cpu_event['slot']\n            if phase == 'B':\n                # Open fiber event\n                fiber_id = 0\n                while fiber_id < len(fiber_is_usable):\n                    if fiber_is_usable[fiber_id]:\n                        break\n                    fiber_id += 1\n                if fiber_id == len(fiber_is_usable):\n                    fiber_is_usable.append(True)\n                    fiber_open_ts.append(0.0)\n                slot_to_fiber_id[slot] = fiber_id\n                fiber_open_ts[fiber_id] = cpu_events[-1]['ts']\n                fiber_is_usable[fiber_id] = False\n\n                if event_type not in event_type_to_seq:\n                    event_type_to_seq[event_type] = 0\n                cpu_events[-1].update({\n                    'name': event_type,\n                    'cat': 'CPU',\n                    'args': {\n                        'rank': rank,\n                        'channel': channel,\n                        'slot': parsed_cpu_event['slot'],\n                        'seq': event_type_to_seq[event_type],\n                        'size_0': parsed_cpu_event['size']\n                    }\n                })\n                event_type_to_seq[event_type] += 1\n            else:\n                # Close fiber event\n                fiber_id = slot_to_fiber_id[slot]\n                slot_to_fiber_id.pop(slot)\n                last_ts = fiber_open_ts[fiber_id]\n                fiber_is_usable[fiber_id] = True\n\n                delta_time = max(0.001, cpu_events[-1]['ts'] - last_ts)\n                cpu_events[-1]['args'] = {'size': parsed_cpu_event['size']}\n                cpu_events[-1]['args']['bw (GB/s)'] = \\\n                cpu_events[-1]['args']['size'] / delta_time / 1e3\n\n            cpu_events[-1]['tid'] = fiber_id + (channel + 1) * channel_shift\n\n            raw_content_idx += raw_event_size\n    return cpu_events\n\n\n\ndef convert_npkit_dump_to_trace(npkit_dump_dir, output_dir, npkit_event_def, gpu_statistics, warmup_runs=0):\n   \n    # check if directory exists, if not create it\n    if not os.path.exists(npkit_dump_dir):\n        #print(f\"Directory {npkit_dump_dir} does not exist. Creating it...\")\n        os.makedirs(npkit_dump_dir, exist_ok=True)\n    else:\n        #print(f\"Directory {npkit_dump_dir} already exists.\")\n        pass\n\n    files_in_dump_dir = next(os.walk(npkit_dump_dir))[2]\n    gpu_event_files = [x for x in files_in_dump_dir if x.startswith('gpu_events_rank_')]\n    cpu_event_files = [x for x in files_in_dump_dir if x.startswith('cpu_events_rank_')]\n\n    ranks = list(set([int(x.split('_rank_')[1].split('_')[0]) for x in gpu_event_files]))\n    buf_indices = list(set([int(x.split('_buf_')[1].split('_')[0]) for x in gpu_event_files]))\n    channels = list(set([int(x.split('_channel_')[1].split('_')[0]) for x in cpu_event_files]))\n    trace = {'traceEvents': []}\n    dictionary_of_stats = {}\n    for rank in ranks:\n        cpu_clock_den_file_path = os.path.join(npkit_dump_dir, 'cpu_clock_period_den_rank_%d' % rank)\n        cpu_clock_num_file_path = os.path.join(npkit_dump_dir, 'cpu_clock_period_num_rank_%d' % rank)\n        cpu_clock_scale = parse_cpu_clock_scale(cpu_clock_den_file_path, cpu_clock_num_file_path)\n\n        gpu_clock_file_path = os.path.join(npkit_dump_dir, 'gpu_clock_rate_rank_%d' % rank)\n        gpu_clock_scale = parse_gpu_clock_scale(gpu_clock_file_path)\n\n        sync_dictionary = {} # per rank\n        avg_time = {}\n        number_events=0\n        for buf_idx in buf_indices: # get the avg time\n            parse_gpu_event_file_time(sync_dictionary, npkit_dump_dir, npkit_event_def, rank, buf_idx, gpu_clock_scale, cpu_clock_scale, dictionary_of_stats, warmup_runs)\n\n        for key in sync_dictionary:\n            avg_time[key] = 0\n            number_events=len(sync_dictionary[key])\n            for event in sync_dictionary[key]:\n                avg_time[key] = avg_time[key] + (event['timestamp']/number_events)\n\n        for buf_idx in buf_indices:\n            gpu_events = parse_gpu_event_file(avg_time, npkit_dump_dir, npkit_event_def, rank, buf_idx, gpu_clock_scale, cpu_clock_scale, dictionary_of_stats, warmup_runs)\n            trace['traceEvents'].extend(gpu_events)\n\n\n        for channel in channels:\n            cpu_events = parse_cpu_event_file(npkit_dump_dir, npkit_event_def, rank, channel, cpu_clock_scale)\n            trace['traceEvents'].extend(cpu_events)\n\n\n    trace['traceEvents'].sort(key=lambda x : x['ts'])\n    trace['displayTimeUnit'] = 'ns'\n    os.makedirs(output_dir, exist_ok=True)\n    if gpu_statistics == True:\n        with open(os.path.join(output_dir, 'npkit_event_stats.txt'), 'w') as f:\n            for key in dictionary_of_stats:\n                f.write(key + \"\\n\")\n                for event,size in dictionary_of_stats[key]:\n                    f.write(npkit_event_def['id_to_type'][event] + \"\\t\"+ \"size:\" + str(size) + \" time: \" +str(dictionary_of_stats[key][event,size][2]) + \" \\t bw: \" + str(dictionary_of_stats[key][event,size][0]) + \"\\n\")\n    else:\n        with open(os.path.join(output_dir, 'npkit_event_trace.json'), 'w') as f:\n            json.dump(trace, f)\n\nif __name__ == '__main__':\n    parser = argparse.ArgumentParser()\n    parser.add_argument('--npkit_dump_dir', type=str, required=True, help='NPKit dump directory.')\n    parser.add_argument('--npkit_event_header_path', type=str, required=True, help='Path to npkit_event.h.')\n    parser.add_argument('--output_dir', type=str, required=True, help='Path to output directory.')\n    parser.add_argument('--gpu_run_stats', type=bool, nargs='?', const=True, default=False, help=\"print stats instead.\")\n    parser.add_argument('--warmup_runs', type=int, required=False, default=0, help=\"amount of warmup_runs on rccl.\")\n    args = parser.parse_args()\n    gpu_statistics = False\n    if args.gpu_run_stats is not None:\n        gpu_statistics = args.gpu_run_stats\n    npkit_event_def = parse_npkit_event_header(args.npkit_event_header_path)\n    convert_npkit_dump_to_trace(args.npkit_dump_dir, args.output_dir, npkit_event_def, gpu_statistics, args.warmup_runs)\n"
  },
  {
    "path": "tools/scripts/pytorch-all-reduce/README.md",
    "content": "Small benchmark utility for gpt-fast's all reduce. \n\n### How to run \nOut of box run (This will try various sequence lengths and dump perf results to terminal output)\n```\ntorchrun --nproc_per_node=8 all_reduce.py \n```\n\nTo enable intra node all-reduce algorithms use:\n```\nENABLE_INTRA_NODE_COMM=1 torchrun --nproc_per_node=8 python3 all_reduce.py\n```\n\n### Rocprof trace script\nTo create perfetto traces for each rank of each all reduce a bash script is provided. \n```\nENABLE_INTRA_NODE_COMM=1 bash trace_runs.sh\n```\n\n### Additional options:\nThe tensor size is dependent on sequence_length and dim supplied in gpt fast. There are 4 different all-reduce calls in gpt-fast at runtime:\n- 1: [seq_len, dim]\n- 2: [seq_len, 2, dim]\n- 3: [1, dim]\n- 4: [1, 2, dim]\n```\n--sequence_lengths (defaults to [50, 64, 128, 256, 512, 1024, 2048, 4096])\n--dim (defaults to 6144)\n--all_reduce (defaults to [0,1,2,3]) - Can be modified to only run a single all-reduce, mapping to the 4 all reduces listed above \n--tracing - Enables tracing mode to skip CPU timers in recording \n```\n\n"
  },
  {
    "path": "tools/scripts/pytorch-all-reduce/all_reduce.py",
    "content": "import os\nimport torch\nimport torch.distributed as dist\nimport time\nimport argparse\nimport statistics\n\ndef init_process(rank, size, fn, backend='nccl'):\n    \"\"\" Init the distributed environment. \"\"\"\n    os.environ['MASTER_ADDR'] = '127.0.0.1'\n    os.environ['MASTER_PORT'] = '29500'\n    os.environ['RANK'] = str(rank)\n    os.environ['WORLD_SIZE'] = str(size)\n\n    dist.init_process_group(backend, rank=rank, world_size=size)\n    return fn(rank, size)\n\ndef get_algo_type(data_size):\n    if data_size <= 256 * 1024:\n        return \"one-shot allreduce\"\n    elif data_size <= 10 * 1024 * 1024:\n        return \"two-shot allreduce\"\n    else:\n        return \"nccl\"\n\ndef benchmark_all_reduce(rank, size, sequence_lengths, dim, all_reduce_algos, tracing):\n    \"\"\" Benchmark all-reduce operation - 4 different datasizes will be benched per run \"\"\"\n    torch.cuda.set_device(rank)\n\n    n_runs = 1000\n\n    results = []\n\n    # All-reduce sizes for gpt fast\n    algo_shapes = {\n        1: (lambda seq_len: (seq_len, dim)),\n        2: (lambda seq_len: (seq_len, 2, dim)),\n        3: (lambda _: (1, dim)),\n        4: (lambda _: (1, 2, dim))\n    }\n\n    for seq_len in sequence_lengths:\n        for algo in all_reduce_algos:\n            shape = algo_shapes[algo](seq_len)\n            main_times = []\n            tensor = torch.randn(*shape, device='cuda').to(torch.bfloat16)\n\n            # Warm-up - before result collection \n            for _ in range(5):\n                dist.all_reduce(tensor, op=dist.ReduceOp.SUM)\n                dist.barrier()\n\n            # Benchmark - result collection and timers disabled if --tracing applied \n            for _ in range(n_runs):\n                if not tracing: \n                    start = time.time()\n\n                dist.all_reduce(tensor, op=dist.ReduceOp.SUM)\n                dist.barrier()\n                \n                if not tracing:\n                    end = time.time()\n                    main_time = (end - start) * 1e6  # Convert to microseconds\n                    main_times.append(main_time)\n\n            if rank == 0 and not tracing:\n                mean_time = statistics.mean(main_times)\n                median_time = statistics.median(main_times)\n                max_time = max(main_times)\n                min_time = min(main_times)\n                std_time = statistics.stdev(main_times)\n                data_size_bytes = torch.tensor(shape).prod().item() * 2  # * 2 as bfloat16 takes 2 bytes\n                data_size_mb = data_size_bytes / (1024 ** 2)\n                algo_type = get_algo_type(data_size_bytes)\n                results.append([f\"all_reduce_{algo}\", seq_len, data_size_mb, algo_type, mean_time, median_time, max_time, min_time, std_time])\n\n    return results if rank == 0 and not tracing else None\n\ndef main():\n    parser = argparse.ArgumentParser(description='PyTorch All-Reduce Benchmark')\n    parser.add_argument('--sequence_lengths', type=int, nargs='+', default=[50, 64, 128, 256, 512, 1024, 2048, 4096],\n                        help='List of sequence lengths to benchmark')\n    parser.add_argument('--dim', type=int, default=6144, help='Dimension for tensor shapes')\n    parser.add_argument('--all_reduce', type=int, nargs='+', choices=[1, 2, 3, 4], default=[1, 2, 3, 4],\n                        help='List of all-reduce algorithms to run (1, 2, 3, 4)')\n    parser.add_argument('--tracing', action='store_true', help='Enable tracing mode (skip CPU timers and output table)')\n    args = parser.parse_args()\n\n    sequence_lengths = args.sequence_lengths\n    dim = args.dim\n    all_reduce_algos = args.all_reduce\n    tracing = args.tracing\n\n    size = int(os.environ['WORLD_SIZE'])  # number of processes (GPUs)\n    rank = int(os.environ['RANK'])\n    results = init_process(rank, size, fn=lambda rank, size: benchmark_all_reduce(rank, size, sequence_lengths, dim, all_reduce_algos, tracing), backend='nccl')\n\n    if rank == 0 and not tracing:\n        header = [\"algo\", \"sequence_length\", \"data_size (MB)\", \"algo type\", \"mean (us)\", \"median (us)\", \"max (us)\", \"min (us)\", \"std (us)\"]\n        print(\",\".join(header))\n        for result in results:\n            formatted_result = [f\"{item:.2f}\" if isinstance(item, float) else str(item) for item in result]\n            print(\",\".join(formatted_result))\n\nif __name__ == \"__main__\":\n    main()\n"
  },
  {
    "path": "tools/scripts/pytorch-all-reduce/trace_runs.sh",
    "content": "#!/bin/bash\n\nSEQUENCE_LENGTHS=(50 128 256 512 1024 2048 4096)\nALL_REDUCE_ALGOS=(1 2 3 4)\n\nHIP_DEV_FORCE_KERNARG=1\n\nfor SEQ_LEN in \"${SEQUENCE_LENGTHS[@]}\"; do\n\tfor ALGO in \"${ALL_REDUCE_ALGOS[@]}\"; do\n\t\techo \"Running sequence length $SEQ_LEN with intra-node all_reduce $ALGO\"\n\t\tENABLE_INTRA_NODE_COMM=1 rocprofv3 --hip-trace --kernel-trace --stats --output-format PFTRACE -d rocprof_trace/intranode_input\"$SEQ_LEN\"_allreduce\"$ALGO\"/ -- torchrun --nproc_per_node=8 all_reduce.py --sequence_lengths $SEQ_LEN --all_reduce $ALGO --tracing\n\tdone\ndone\n"
  },
  {
    "path": "tools/scripts/pytorch-log-parser.py",
    "content": "import json\nimport argparse\nimport os\nimport csv\nimport sys\n\n@staticmethod\ndef get_num_gpu():\n    return 8\ndef load_json_files(directory):\n    json_data = {}\n    for root, _, files in os.walk(directory):\n        for file in files:\n            if file.endswith('json'):\n                with open(directory+file, 'r') as f:\n                    data = json.load(f)\n                    json_data.setdefault('traceEvents',[]).append(data['traceEvents'])\n    return json_data\n\n\ndef parse(json_file_path, output_file_name, function_name):\n\n    data_all = load_json_files(json_file_path)\n    data = data_all['traceEvents']\n\n    kernels = []\n    found = False\n    for entries in data:\n        for entry in entries:\n            if  'name'in entry and 'cat' in entry and (entry['cat'] == 'kernel' ):\n                if function_name == 'all':\n                    kernels.append(entry)\n                    found = True\n                elif function_name in entry['name']:\n                    kernels.append(entry)\n                    found = True\n    if not found:\n        print('There is no ' + function_name +' in this log')\n        return\n\n\n    sorted_kernels = sorted(kernels, key=lambda x: ( x['ts'], x['pid']))\n\n    csv_file_name = output_file_name + '.csv'\n    json_file_out = output_file_name + '.json'\n\n    json_data_out = {}\n    json_data_out.setdefault('traceEvents',[]).append({})\n\n    with open(csv_file_name, 'w', newline='') as csvfile:\n        fieldnames = ['pid',  'dur', 'ts', 'min_dur', 'max_dur', 'min_start', 'max_start', 'latency_before_first_gpu', 'max_dur - min_dur', 'duration_from_last_arrival', 'first_gpu', 'last_gpu', 'shortest_gpu', 'longest_gpu']\n        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)\n        writer.writeheader()\n        i = 1\n        min_dur = sys.float_info.max\n        max_dur = sys.float_info.min\n        min_start = sys.float_info.max\n        max_start = sys.float_info.min\n        first_gpu = 0\n        last_gpu = 0\n        longest_gpu = 0\n        shortest_gpu = 0\n        for entry in sorted_kernels:\n            record = {'pid': entry['pid'], 'dur': entry['dur'],\n                    'ts': entry['ts']}\n            json_data_out.setdefault('traceEvents',[]).append(entry)\n            if entry['dur'] <  min_dur :\n                min_dur = min(min_dur, entry['dur'])\n                shortest_gpu = entry['pid']\n\n            if entry['dur'] > max_dur :\n                max_dur = max(max_dur, entry['dur'])\n                longest_gpu = entry['pid']\n\n            if entry['ts'] < min_start :\n                min_start = min(min_start, entry['ts'])\n                first_gpu = entry['pid']\n\n            if entry['ts'] > max_start:\n                 max_start = max(max_start, entry['ts'])\n                 duration_from_last_arrival = entry['dur']\n                 last_gpu = entry['pid']\n\n            writer.writerow(record)\n            if (i) % get_num_gpu() == 0:\n                record = {'min_dur': min_dur, 'max_dur':max_dur, 'min_start':min_start, 'max_start':max_start,'latency_before_first_gpu':max_start-min_start,  'max_dur - min_dur':max_dur-min_dur , 'duration_from_last_arrival':duration_from_last_arrival , 'first_gpu': first_gpu, 'last_gpu':last_gpu, 'shortest_gpu':shortest_gpu, 'longest_gpu':longest_gpu}\n                writer.writerow(record)\n                csvfile.write('\\n')\n                min_dur = sys.float_info.max\n                max_dur = sys.float_info.min\n                min_start = sys.float_info.max\n                max_start = sys.float_info.min\n                first_gpu = 0\n                last_gpu = 0\n                longest_gpu = 0\n                shortest_gpu = 0\n\n                i = 0\n            i = i + 1\n\n        with open(json_file_out, 'w') as jsonfileout:\n            json.dump(json_data_out, jsonfileout, indent=4)\n\n    print(f\"Data successfully written to {csv_file_name} and {json_file_out}.\")\n\ndef main():\n    parser = argparse.ArgumentParser(description='Json file and the function to parse.')\n\n    parser.add_argument('json_file_path', metavar='file_path', type=str,  help='Path to the JSON file to process')\n    parser.add_argument('output_file_name', type=str, help='Output File Name')\n    parser.add_argument('function_name', type=str, help='Kernel Function Name, e.g., oneShotAllReduce, ncclDevKernel_Generic, mscclKernel')\n\n    args = parser.parse_args()\n    parse(args.json_file_path,  args.output_file_name, args.function_name)\n\nif __name__ == '__main__':\n    main()\n\n"
  },
  {
    "path": "tools/scripts/rcclDiagnostics.py",
    "content": "# Copyright (c) Advanced Micro Devices, Inc. All rights reserved.\n#\n# See LICENSE.txt for license information\n\n## README\n# This script gathers configuration information from your system to help identify and debug any issues when running the ROCm Communication Collectives Library (RCCL). Please ensure that python3 is installed on your system and added to your system's PATH environment variable.\n\n# Prerequisites\n# - python3 (make sure it's added to the PATH)\n# - Sudo access on the system if you want ACS info\n# - RCCL_PATH environment variable must be set to the directory containing the librccl.so shared object (e.g., /opt/rocm/lib/)\n\n# Usage\n# To run the script and gather the configuration information, execute the following command:\n# default\n# python3 rcclDiagnostics.py\n\n# when you require acs output\n# sudo python3 rcclDiagnostics.py\n# Note: Running the script without sudo will not check if ACS is disabled or not, sudo is needed to complete system configuration information but the script will skip what it can't get.\n\n# The script will gather essential system configuration information, such as OS information, network information, driver versions, etc., to help with debugging RCCL issues. It will generate a report in a readable format, which you can share with the support team or use for troubleshooting.\n\n\nimport subprocess\nimport time\nimport os\nimport re\nimport argparse\nimport textwrap\n\n\nclass CommandResult:\n\tdef __init__(self, stdout, stderr):\n\t\tself.stdout = stdout\n\t\tself.stderr = stderr\n\n\n# Function to Parse arguements\n\n\ndef parse_arguments():\n\treadme = \"\"\"\\\nThis script gathers configuration information from your system to help identify and debug any issues when running the ROCm Communication Collectives Library (RCCL). Please ensure that python3 is installed on your system and added to your system's PATH environment variable.\\n\nPrerequisites\\n\n- python3 (make sure it's added to the PATH)\\n\n- Sudo access on the system if you want ACS info\\n\n- RCCL_PATH environment variable must be set to the directory containing the librccl.so shared object (e.g., /opt/rocm/lib/)\\n\nUsage\\n\nTo run the script and gather the configuration information, execute the following command:\\n\n- default\\n\n  python3 rcclDiagnostics.py\\n\n- when you require acs output\\n\n  sudo python3 rcclDiagnostics.py\\n\nNote: Running the script without sudo will not check if ACS is disabled or not, sudo is needed to complete system configuration information but the script will skip what it can't get.\\n\nThe script will gather essential system configuration information, such as OS information, network information, driver versions, etc., to help with debugging RCCL issues. It will generate a report in a readable format, which you can share with the support team or use for troubleshooting.\\n\n\t\"\"\"\n\tparser = argparse.ArgumentParser(\n\t\tdescription=textwrap.dedent(readme),\n\t\tformatter_class=argparse.RawDescriptionHelpFormatter,\n\t)\n\n\t# Add option flags\n\n\treturn parser.parse_args()\n\n\n# Function to center the titles in the detailed section\ndef centered_title(title, width, fill_char=\" \"):\n\tpadding_width = (width - len(title)) // 2\n\treturn f\"{fill_char*padding_width}{title}{fill_char*padding_width}\\n\"\n\n\n# Function to run a CLI command and return its output\ndef run_cli_command(command):\n\ttry:\n\t\tresult = subprocess.run(\n\t\t\tcommand,\n\t\t\tstdout=subprocess.PIPE,\n\t\t\tstderr=subprocess.PIPE,\n\t\t\ttext=True,\n\t\t\tshell=True,\n\t\t)\n\t\treturn result\n\texcept Exception as e:\n\t\treturn f\"Error: {str(e)}\"\n\n\ndef get_rccl_version(rccl_path):\n\ttry:\n\t\t# Construct the full path to the shared object file\n\t\tlibrccl_path = rccl_path + \"librccl.so\"\n\t\t# Extract RCCL version\n\t\tcmd = f'strings {librccl_path} | grep \"RCCL version\"'\n\t\trccl_version_result = subprocess.run(\n\t\t\tcmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=True\n\t\t)\n\t\trccl_version = rccl_version_result.stdout.replace(\"RCCL version : \", \"\").strip()\n\n\t\t# Extract commit hash\n\t\tcmd2 = f'strings {librccl_path} | grep -E \"[A-Za-z]:[0-9a-z]{{7}}$\"'\n\t\tcommit_hash_result = subprocess.run(\n\t\t\tcmd2, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=True\n\t\t)\n\t\tcommit_hash = commit_hash_result.stdout.strip()\n\n\texcept Exception as e:\n\t\tresult = CommandResult(\n\t\t\tstdout=\"\",\n\t\t\tstderr=f\"Error: {str(e)},\\n Please set the RCCL_PATH environment to the directory containing the librccl.so shared object.\",\n\t\t)\n\tresult = CommandResult(stdout=commit_hash + \"+\" + rccl_version, stderr=\"\")\n\n\tif result.stdout:\n\t\tsummary = result.stdout.strip()\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get the status of a particular command\ndef status_check(summary, result):\n\t# List of errors to check\n\terror_list = [\n\t\tr\"No such file or directory\",\n\t\tr\"Command not found\",\n\t\tr\"Permission denied\",\n\t\tr\"cannot access\",\n\t\tr\"error\",\n\t]\n\tstatus = \"OK\"\n\tif summary == \"Unable to detect\":\n\t\tstatus = \"WARN\"\n\tfor error in error_list:\n\t\tmatch = re.search(error, result.stderr, re.IGNORECASE)\n\t\tif match:\n\t\t\tstatus = \"WARN\"\n\t\t\tbreak\n\treturn status\n\n\n# Check if a directory is on path or LD_LIBRARY_PATH\ndef PATH_and_LD_LIBRARY_PATH(dir):\n\ttry:\n\t\tpath = os.environ.get(\"PATH\")\n\t\tLD_path = os.environ.get(\"LD_LIBRARY_PATH\")\n\t\tpattern = re.escape(dir)\n\t\tmatch_path = re.search(pattern, path)\n\t\tmatch_LD_path = re.search(pattern, LD_path)\n\texcept Exception as e:\n\t\treturn False\n\tpattern = re.escape(dir)\n\tmatch_path = re.search(pattern, path)\n\tmatch_LD_path = re.search(pattern, LD_path)\n\tif match_LD_path and match_path:\n\t\treturn True\n\treturn False\n\n\n# Get hostname\ndef get_hostname():\n\tresult = run_cli_command(\"hostname\")\n\tif result.stdout:\n\t\tsummary = result.stdout.strip()\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get OS version\ndef get_os_version():\n\tresult = run_cli_command(\"cat /etc/os-release\")\n\tmatch = re.search(r'PRETTY_NAME=\"(.+)\"', result.stdout)\n\tif match:\n\t\tsummary = match.group(1)\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get ROCm Version\ndef get_ROCm_version():\n\tresult = run_cli_command(\"cat /opt/rocm/.info/version\")\n\tif result.stdout:\n\t\tsummary = result.stdout.strip()\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get HIP Version\ndef get_HIP_version():\n\tresult = run_cli_command(\"hipconfig --version\")\n\tif result.stdout:\n\t\tsummary = result.stdout.strip()\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get Vram Information\ndef get_Vram_info():\n\tresult = run_cli_command(\"rocm-smi --showmeminfo vram\")\n\tif result.stdout:\n\t\tsummary = \"Memory Usage is detailed in the Vram Information section\"\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get UCX version\ndef ucx_version():\n\tpath_check = PATH_and_LD_LIBRARY_PATH(dir=\"ucx\")\n\tif path_check:\n\t\tresult = run_cli_command(\"ucx_info -v\")\n\t\tmatch = re.search(r\"Library version: (\\d+\\.\\d+\\.\\d+)\", result.stdout)\n\t\tif match:\n\t\t\tsummary = match.group(1)\n\t\telse:\n\t\t\tsummary = \"Unable to detect\"\n\t\treturn summary, result\n\telse:\n\t\tstdout = \"\"\n\t\tstderr = \"Error: UCX not on PATH or LD_LIBRARY_PATH\"\n\t\tresult = CommandResult(stdout=stdout, stderr=stderr)\n\t\tsummary = \"UCX not on PATH or LD_LIBRARY_PATH\"\n\t\treturn summary, result\n\n\n# Get MPI version\ndef mpi_version():\n\tpath_check = PATH_and_LD_LIBRARY_PATH(dir=\"ompi\")\n\tif path_check:\n\t\tresult = run_cli_command(\"mpirun --version\")\n\t\tmatch = re.search(r\"mpirun \\(Open MPI\\) \\d+\\.\\d+\\.\\d+\", result.stdout)\n\t\tif match:\n\t\t\tsummary = match.group()\n\t\telse:\n\t\t\tsummary = \"Unable to detect\"\n\t\treturn summary, result\n\telse:\n\t\tstdout = \"\"\n\t\tstderr = (\n\t\t\t\"Error: ompi4 or ompi5 (only 1 is required) not on PATH or LD_LIBRARY_PATH\"\n\t\t)\n\t\tresult = CommandResult(stdout=stdout, stderr=stderr)\n\t\tsummary = \"ompi4 or ompi5 (only 1 is required) not on PATH or LD_LIBRARY_PATH\"\n\t\treturn summary, result\n\n\n# Get Linux kernel version\ndef get_Linux_kernel_version():\n\tresult = run_cli_command(\"uname -r\")\n\tif result.stdout:\n\t\tsummary = result.stdout.strip()\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get Resource limits\ndef get_resource_limits_info():\n\tresult = run_cli_command(\"ulimit -a\")\n\tif result.stdout:\n\t\tsummary = \"Output is detailed in the Resource limits section\"\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get Environment config\ndef get_Environment_config_info():\n\tresult = run_cli_command(\"env\")\n\tif result.stdout:\n\t\tsummary = \"Output is detailed in the Environment Config section\"\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get Rdma link info\ndef get_rdma_link_info():\n\tresult = run_cli_command(\"rdma link\")\n\tif result.stdout:\n\t\tsummary = \"Output is detailed in the rdma link section\"\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get NUMA Balancing\ndef get_NUMA_balancing_info():\n\tresult = run_cli_command(\"cat /proc/sys/kernel/numa_balancing\")\n\tif result.stdout:\n\t\tsummary = result.stdout.strip()\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get IB status\ndef get_ib_status():\n\tresult = run_cli_command(\"ibstatus\")\n\tif result.stdout:\n\t\tpattern = r\"Infiniband device '[^']+' port \\d+ status:\\s+default gid:\\s+[^ ]+\\s+base lid:\\s+[^ ]+\\s+sm lid:\\s+[^ ]+\\s+state:\\s+\\d+: ACTIVE\\s+phys state:\\s+\\d+: LinkUp\\s+rate:\\s+(\\d+) Gb/sec \\([^)]+\\)\\s+link_layer:\\s+\"\n\t\tmatches = re.findall(pattern, result.stdout)\n\t\tnum_ib_devices = len(matches)\n\t\tif num_ib_devices == 0:\n\t\t\tsummary = f\"Detected {num_ib_devices} active IB devices running\"\n\t\t\treturn summary, result\n\t\trate_same = all(x == matches[0] for x in matches)\n\t\tif rate_same:\n\t\t\tsummary = f\"Detected {num_ib_devices} active IB devices running at {matches[0]} Gb/sec\"\n\t\telse:\n\t\t\tsummary = f\"Detected {num_ib_devices} active IB devices running at various rates the peak being {max(matches)} Gb/sec\"\n\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get Device GUIDs\ndef get_device_GUIDs():\n\tresult = run_cli_command(\"ibv_devices\")\n\tif result.stdout:\n\t\tsummary = \"Output is detailed in the IBdevices section\"\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get IB device info\ndef get_ib_devinfo():\n\tresult = run_cli_command(\"ibv_devinfo\")\n\tif result.stdout:\n\t\tsummary = \"Output is detailed in the IBdevinfo section\"\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get IBstat info\ndef get_ibstat():\n\tresult = run_cli_command(\"ibstat\")\n\tif result.stdout:\n\t\tsummary = \"Output is detailed in the IBstat section\"\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get AMDKFD (GPU Driver version)\ndef get_gpu_driver():\n\tresult = run_cli_command('dkms status | grep \"amdgpu\"')\n\tif result.stdout:\n\t\tpattern = r\"^.*amdgpu.*$\"\n\t\tmatching_lines = re.findall(pattern, result.stdout, flags=re.MULTILINE)\n\t\tif len(matching_lines) == 0:\n\t\t\tsummary = \"No gpu driver detected\"\n\t\t\treturn summary, result\n\t\tsummary = matching_lines[0] + \", WARN = maybe >1 driver check below\"\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get DKMS module info\ndef get_dkms_status():\n\tresult = run_cli_command(\"dkms status\")\n\tif result.stdout:\n\t\tsummary = \"DKMS information is detailed in the DKMS Status section\"\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get IP A\ndef get_IP_addr():\n\tresult = run_cli_command(\"ip a\")\n\tif result.stdout:\n\t\tsummary = \"IP address information is detailed in the IP Addr section\"\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get IP Link\ndef get_IP_link():\n\tresult = run_cli_command(\"ip link\")\n\tif result.stdout:\n\t\tsummary = \"IP link information is detailed in the IP Link section\"\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get IP route\ndef get_IP_route():\n\tresult = run_cli_command(\"ip route\")\n\tif result.stdout:\n\t\tsummary = \"IP Route information is detailed in the IP Route section\"\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get ACS info\ndef get_acs_info():\n\tresult = run_cli_command(\"lspci -vvv | grep ACSCtl\")\n\tif result.stdout:\n\t\tpattern = r\"SrcValid\\+\"\n\t\tmatches = re.findall(pattern, result.stdout)\n\t\tif len(matches) != 0:\n\t\t\tsummary = \"ACS has not been disabled\"\n\t\telse:\n\t\t\tsummary = \"ACS has been disabled\"\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\n# Get rocminfo\ndef get_rocminfo():\n\tresult = run_cli_command(\"rocminfo\")\n\tif result.stdout:\n\t\tgpu_pattern = re.compile(\n\t\t\tr\"Name:\\s+(gfx\\d+)(?:.*?Marketing Name:\\s+([^\\n]+))?.*?Compute Unit:\\s+(\\d+)\",\n\t\t\tre.DOTALL,\n\t\t)\n\t\tmatches = gpu_pattern.findall(result.stdout)\n\t\tnum_gpus = len(matches)\n\t\tvalid_marketing_names = [\"MI300X\", \"MI300A\", \"MI300\", \"MI250X/MI250\", \"MI200\"]\n\t\tgpu_name = \"\"\n\t\tfor name in valid_marketing_names:\n\t\t\tif name in matches[0][1]:\n\t\t\t\tgpu_name = name\n\t\t\t\tbreak\n\t\tif gpu_name == \"\":\n\t\t\tif \"gfx942\" == matches[0][0]:\n\t\t\t\tif 304 == int(matches[0][2]):\n\t\t\t\t\tgpu_name = \"MI300X\"\n\t\t\t\telif 228 == int(matches[0][2]):\n\t\t\t\t\tgpu_name = \"MI300A\"\n\t\t\t\telse:\n\t\t\t\t\tgpu_name = f\"MI300 with {int(matches[0][2])} CUs\"\n\t\t\telif \"gfx90a\" == matches[0][0]:\n\t\t\t\tif 104 <= int(matches[0][2]):\n\t\t\t\t\tgpu_name = \"MI250X/MI250\"\n\t\t\t\telse:\n\t\t\t\t\tgpu_name = f\"MI200 with {int(matches[0][2])} CUs\"\n\t\tsummary = f\"Found {num_gpus} {gpu_name} GPUs\"\n\telse:\n\t\tsummary = \"Unable to detect\"\n\treturn summary, result\n\n\ndef checklimits_from_file():\n\tsummary = \"\"\n\ttry:\n\t\twith open(\"/etc/security/limits.conf\", \"r\") as file:\n\t\t\tlines = file.read().splitlines()\n\n\t\t# Reverse lines list to check for the last occurrence (to avoid overwriting)\n\t\tlines.reverse()\n\n\t\tlimit_soft_nofile_line = \"* soft nofile 1048576\"\n\t\tlimit_hard_nofile_line = \"* hard nofile 1048576\"\n\t\tlimit_soft_memlock_line = \"* soft memlock unlimited\"\n\t\tlimit_hard_memlock_line = \"* hard memlock unlimited\"\n\n\t\tlines_to_check = [\n\t\t\tlimit_soft_nofile_line,\n\t\t\tlimit_hard_nofile_line,\n\t\t\tlimit_soft_memlock_line,\n\t\t\tlimit_hard_memlock_line,\n\t\t]\n\n\t\tmissing_lines = []\n\n\t\tfor line in lines_to_check:\n\t\t\tif line not in lines:\n\t\t\t\tmissing_lines.append(line)\n\n\t\tif missing_lines:\n\t\t\tsummary = \"Limits not set\"\n\t\t\terror = \"\"\n\t\t\tfor missing_line in missing_lines:\n\t\t\t\terror += missing_line + \"\\n\"\n\t\t\tresults = CommandResult(\n\t\t\t\tstdout=\"\",\n\t\t\t\tstderr=\"Error: The following lines are missing in /etc/security/limits.conf:\"\n\t\t\t\t+ error,\n\t\t\t)\n\t\t\treturn summary, results\n\t\telse:\n\t\t\tprint(\"All required lines are present in /etc/security/limits.conf.\")\n\t\t\tsummary = \"Limits set correctly\"\n\t\t\tresults = CommandResult(\n\t\t\t\tstdout=\"All required lines are present in /etc/security/limits.conf.\",\n\t\t\t\tstderr=\"\",\n\t\t\t)\n\t\t\treturn summary, results\n\n\texcept FileNotFoundError:\n\t\tsummary = \"Unable to detect\"\n\t\tresults = CommandResult(\n\t\t\tstdout=\"\",\n\t\t\tstderr=\"Error: File /etc/security/limits.conf not found on this system.\",\n\t\t)\n\t\treturn summary, results\n\texcept Exception as e:\n\t\tsummary = \"Unable to detect\"\n\t\tresults = CommandResult(\n\t\t\tstdout=\"\",\n\t\t\tstderr=f\"Error opening or reading /etc/security/limits.conf: {str(e)}\",\n\t\t)\n\t\treturn summary, results\n\n\n# Check max file descriptors and max lock memory\ndef checklimits():\n\tresult = run_cli_command(\"ulimit -n\")\n\tresult2 = run_cli_command(\"ulimit -l\")\n\tif result.stdout and result2.stdout:\n\t\tfile_descriptors = int(result.stdout)\n\t\tlocked_mem = str(result2.stdout).strip()\n\t\tif file_descriptors >= 1048576 and locked_mem == \"unlimited\":\n\t\t\tsummary = \"Limits set correctly\"\n\t\t\tstdout = (\n\t\t\t\t\"ulimit -n output:\\n\"\n\t\t\t\t+ result.stdout\n\t\t\t\t+ \"\\n\"\n\t\t\t\t+ \"ulimit -l output:\\n\"\n\t\t\t\t+ result2.stdout\n\t\t\t)\n\t\t\tresults = CommandResult(stdout=stdout, stderr=\"\")\n\t\t\treturn summary, results\n\t\telse:\n\t\t\tsummary, results = checklimits_from_file()\n\t\t\treturn summary, results\n\n\telse:\n\t\tsummary, results = checklimits_from_file()\n\t\treturn summary, results\n\n\n# Gather all data and build summary table and detailed output format\ndef get_config(root_enabled):\n\t# Run the commands and store the command outputs\n\n\t# Hostname\n\thostname_summary, hostname_result = get_hostname()\n\thostname_status = status_check(hostname_summary, hostname_result)\n\n\t# OS version\n\tos_summary, os_result = get_os_version()\n\tos_status = status_check(os_summary, os_result)\n\n\t# ROCm Version\n\tROCm_summary, ROCm_result = get_ROCm_version()\n\tROCm_status = status_check(ROCm_summary, ROCm_result)\n\n\t# HIP Version\n\tHIP_summary, HIP_result = get_HIP_version()\n\tHIP_status = status_check(HIP_summary, HIP_result)\n\n\t# Vram info\n\tVram_summary, Vram_result = get_Vram_info()\n\tVram_status = status_check(Vram_summary, Vram_result)\n\n\t# UCX Version\n\tucx_summary, ucx_result = ucx_version()\n\tucx_status = status_check(ucx_summary, ucx_result)\n\n\t# MPI Version\n\tmpi_summary, mpi_result = mpi_version()\n\tmpi_status = status_check(mpi_summary, mpi_result)\n\n\t# Linux kernel version\n\tLkv_summary, Lkv_result = get_Linux_kernel_version()\n\tLkv_status = status_check(Lkv_summary, Lkv_result)\n\n\t# Resource limits\n\trlv_summary, rlv_result = get_resource_limits_info()\n\trlv_status = status_check(rlv_summary, rlv_result)\n\n\t# Environment config\n\tenv_summary, env_result = get_Environment_config_info()\n\tenv_status = status_check(env_summary, env_result)\n\n\t# Rdma link info\n\trdl_summary, rdl_result = get_rdma_link_info()\n\trdl_status = status_check(rdl_summary, rdl_result)\n\n\t# NUMA Balancing info\n\tnb_summary, nb_result = get_NUMA_balancing_info()\n\tnb_status = status_check(nb_summary, nb_result)\n\n\t# IB status info\n\tibs_summary, ibs_result = get_ib_status()\n\tibs_status = status_check(ibs_summary, ibs_result)\n\n\t# Device GUIDs\n\tGUIDs_summary, GUIDs_result = get_device_GUIDs()\n\tGUIDs_status = status_check(GUIDs_summary, GUIDs_result)\n\n\t# IB device info\n\tib_dev_summary, ib_dev_result = get_ib_devinfo()\n\tib_dev_status = status_check(ib_dev_summary, ib_dev_result)\n\n\t# IBstat info\n\tib_stat_summary, ib_stat_result = get_ibstat()\n\tib_stat_status = status_check(ib_stat_summary, ib_stat_result)\n\n\t# AMD GPU driver version\n\tGPU_driver_summary, GPU_driver_result = get_gpu_driver()\n\tpattern = r\"^.*amdgpu.*$\"\n\tmatching_lines = re.findall(pattern, GPU_driver_result.stdout, flags=re.MULTILINE)\n\tif len(matching_lines) > 1:\n\t\tGPU_driver_status = \"WARN\"\n\telse:\n\t\tGPU_driver_status = status_check(GPU_driver_summary, GPU_driver_result)\n\n\t# DKMS module info\n\tdkms_summary, dkms_result = get_dkms_status()\n\tdkms_status = status_check(dkms_summary, dkms_result)\n\n\t# IP addr info\n\tip_addr_summary, ip_addr_result = get_IP_addr()\n\tip_addr_status = status_check(ip_addr_summary, ip_addr_result)\n\n\t# IP link info\n\tip_link_summary, ip_link_result = get_IP_link()\n\tip_link_status = status_check(ip_link_summary, ip_link_result)\n\n\t# IP route info\n\tip_route_summary, ip_route_result = get_IP_route()\n\tip_route_status = status_check(ip_route_summary, ip_route_result)\n\n\t# ACS info\n\tif root_enabled:\n\t\tacs_summary, acs_result = get_acs_info()\n\t\tacs_status = status_check(acs_summary, acs_result)\n\telse:\n\t\tacs_summary = \"Requires script to be run with root access\"\n\t\tacs_result = CommandResult(stdout=\"\", stderr=\"Error: \" + acs_summary)\n\t\tacs_status = \"SKIPPED\"\n\n\t# ROCM info\n\trocm_info_summary, rocm_info_result = get_rocminfo()\n\trocm_info_status = status_check(rocm_info_summary, rocm_info_result)\n\n\t# Check max file descriptors and max lock memory\n\tlimits_summary, limits_result = checklimits()\n\tlimits_status = status_check(limits_summary, limits_result)\n\n\t# Get rccl version\n\trccl_path = os.getenv(\"RCCL_PATH\")\n\tif rccl_path is None:\n\t\trccl_version_summary = \"Error: RCCL_PATH environment variable is not set\"\n\t\trccl_version_result = CommandResult(stdout=\"\", stderr=rccl_version_summary)\n\t\trccl_version_status = status_check(rccl_version_summary, rccl_version_result)\n\telse:\n\t\trccl_version_summary, rccl_version_result = get_rccl_version(\n\t\t\trccl_path=rccl_path\n\t\t)\n\t\trccl_version_status = status_check(rccl_version_summary, rccl_version_result)\n\n\t# Create the summary table\n\tsummary_table = (\n\t\tf\"\\n\\n{'='*119}\\n\"\n\t\tf\"{'Component':<30}| {'Status':<13} | Value\\n\"\n\t\tf\"{'='*119}\\n\"\n\t\tf\"Host Name{' ':<21}| {hostname_status:<13} | {hostname_summary}\\n\"\n\t\tf\"OS Version{' ':<20}| {os_status:<13} | {os_summary}\\n\"\n\t\tf\"ROCm Version{' ':<18}| {ROCm_status:<13} | {ROCm_summary}\\n\"\n\t\tf\"HIP Version{' ':<19}| {HIP_status:<13} | {HIP_summary}\\n\"\n\t\tf\"RCCL Version{' ':<18}| {rccl_version_status:<13} | {rccl_version_summary}\\n\"\n\t\tf\"Vram Information{' ':<14}| {Vram_status:<13} | {Vram_summary}\\n\"\n\t\tf\"UCX Version{' ':<19}| {ucx_status:<13} | {ucx_summary}\\n\"\n\t\tf\"MPI Version{' ':<19}| {mpi_status:<13} | {mpi_summary}\\n\"\n\t\tf\"Linux Kernel Version{' ':<10}| {Lkv_status:<13} | {Lkv_summary}\\n\"\n\t\tf\"Resource limits{' ':<15}| {rlv_status:<13} | {rlv_summary}\\n\"\n\t\tf\"Environment Configuration{' ':<5}| {env_status:<13} | {env_summary}\\n\"\n\t\tf\"RDMA Link Information{' ':<9}| {rdl_status:<13} | {rdl_summary}\\n\"\n\t\tf\"NUMA Balancing Information{' ':<4}| {nb_status:<13} | {nb_summary}\\n\"\n\t\tf\"NIC Status{' ':<20}| {ibs_status:<13} | {ibs_summary}\\n\"\n\t\tf\"Device GUIDs Information{' ':<6}| {GUIDs_status:<13} | {GUIDs_summary}\\n\"\n\t\tf\"IB device Information{' ':<9}| {ib_dev_status:<13} | {ib_dev_summary}\\n\"\n\t\tf\"IBstat Information{' ':<12}| {ib_stat_status:<13} | {ib_stat_summary}\\n\"\n\t\tf\"AMD GPU driver version{' ':<8}| {GPU_driver_status:<13} | {GPU_driver_summary}\\n\"\n\t\tf\"DKMS Module Information{' ':<7}| {dkms_status:<13} | {dkms_summary}\\n\"\n\t\tf\"IP Address Information{' ':<8}| {ip_addr_status:<13} | {ip_addr_summary}\\n\"\n\t\tf\"IP Link Information{' ':<11}| {ip_link_status:<13} | {ip_link_summary}\\n\"\n\t\tf\"IP Route Information{' ':<10}| {ip_route_status:<13} | {ip_route_summary}\\n\"\n\t\tf\"ACS Disabled{' ':<18}| {acs_status:<13} | {acs_summary}\\n\"\n\t\tf\"Node Status{' ':<19}| {rocm_info_status:<13} | {rocm_info_summary}\\n\"\n\t\tf\"File Descriptor Information{' ':<3}| {limits_status:<13} | {limits_summary}\\n\"\n\t\tf\"{'='*119}\"\n\t)\n\n\t# Combine details\n\tdetails_width = 120\n\tdetails = (\n\t\tf\"\\n\\n\\nDetailed Output:\\n\"\n\t\tf\"{centered_title('Host Name', details_width, '=')}\\n\"\n\t\tf\"{hostname_result.stdout.strip()}{hostname_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('OS info', details_width, '=')}\\n\"\n\t\tf\"{os_result.stdout.strip()}{os_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('ROCm Version', details_width, '=')}\\n\"\n\t\tf\"{ROCm_result.stdout.strip()}{ROCm_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('HIP Version', details_width, '=')}\\n\"\n\t\tf\"{HIP_result.stdout.strip()}{HIP_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('RCCL Version', details_width, '=')}\\n\"\n\t\tf\"{rccl_version_result.stdout.strip()}{rccl_version_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('Vram Information', details_width, '=')}\\n\"\n\t\tf\"{Vram_result.stdout.strip()}{Vram_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('UCX Version', details_width, '=')}\\n\"\n\t\tf\"{ucx_result.stdout.strip()}{ucx_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('MPI Version', details_width, '=')}\\n\"\n\t\tf\"{mpi_result.stdout.strip()}{mpi_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('Linux Kernel Version', details_width, '=')}\\n\"\n\t\tf\"{Lkv_result.stdout.strip()}{Lkv_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('Resource limits', details_width, '=')}\\n\"\n\t\tf\"{rlv_result.stdout.strip()}{rlv_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('Environment Configuration', details_width, '=')}\\n\"\n\t\tf\"{env_result.stdout.strip()}{env_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('RDMA Link Information', details_width, '=')}\\n\"\n\t\tf\"{rdl_result.stdout.strip()}{rdl_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('NUMA Balancing Information', details_width, '=')}\\n\"\n\t\tf\"{nb_result.stdout.strip()}{nb_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('Network Interface Controller (NIC) Information', details_width, '=')}\\n\"\n\t\tf\"{ibs_result.stdout.strip()}{ibs_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('IBdevices', details_width, '=')}\\n\"\n\t\tf\"{GUIDs_result.stdout.strip()}{GUIDs_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('IBdevinfo', details_width, '=')}\\n\"\n\t\tf\"{ib_dev_result.stdout.strip()}{ib_dev_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('IBstat', details_width, '=')}\\n\"\n\t\tf\"{ib_stat_result.stdout.strip()}{ib_stat_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('GPU Driver Version', details_width, '=')}\\n\"\n\t\tf\"{GPU_driver_result.stdout.strip()}{GPU_driver_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('DKMS Status', details_width, '=')}\\n\"\n\t\tf\"{dkms_result.stdout.strip()}{dkms_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('IP Addr', details_width, '=')}\\n\"\n\t\tf\"{ip_addr_result.stdout.strip()}{ip_addr_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('IP Link', details_width, '=')}\\n\"\n\t\tf\"{ip_link_result.stdout.strip()}{ip_link_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('IP Route', details_width, '=')}\\n\"\n\t\tf\"{ip_route_result.stdout.strip()}{ip_route_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('ACS', details_width, '=')}\\n\"\n\t\tf\"{acs_result.stdout.strip()}{acs_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('ROCm Information', details_width, '=')}\\n\"\n\t\tf\"{rocm_info_result.stdout.strip()}{rocm_info_result.stderr.strip()}\\n\\n\"\n\t\tf\"{centered_title('File Descriptor Limits', details_width, '=')}\\n\"\n\t\tf\"{limits_result.stdout.strip()}{limits_result.stderr.strip()}\\n\\n\"\n\t)\n\treturn summary_table, details\n\n\ndef main():\n\targs = parse_arguments()\n\thostname = os.uname().nodename\n\ttimestamp = time.strftime(\"%Y%m%d_%H%M%S\")\n\tfile_name = f\"config.{hostname}.{timestamp}.txt\"\n\tif os.geteuid() == 0:\n\t\troot_enabled = True\n\telse:\n\t\troot_enabled = False\n\tsummary_table, details = get_config(root_enabled)\n\n\t# Print summary out to cli\n\tprint(summary_table)\n\tcurrent_directory = os.getcwd()\n\tprint(\"Detailed output file is at: \" + current_directory + \"/\" + file_name)\n\t# Write the summary table and details to the output file\n\twith open(file_name, \"w\") as file:\n\t\tfile.write(summary_table)\n\t\tfile.write(details)\n\n\nif __name__ == \"__main__\":\n\tmain()\n"
  },
  {
    "path": "tools/scripts/rccl_bw_test.py",
    "content": "#!/usr/bin/python3\n\n# Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.\n# Licensed under the MIT License.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n\n# The above copyright notice and this permission notice shall be included in\n# all copies or substantial portions of the Software.\n\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n# THE SOFTWARE.\n\nimport numpy as np\nimport os\nimport argparse\n\nprint (\"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\")\nprint (' ')\nprint ('Usage example: python3 rccl_bw_test.py --np 2 --host_ip 10.67.10.104,10.67.10.154 --gpus_per_node 8')\nprint ('               --test_iteration 100 --test_exe /home/tmp1/rccl-tests/build/all_reduce_perf')\nprint (' ')\nprint ('Note: This script currently is only compatible with MPICH mpirun syntax')\nprint (' ')\nprint (\"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\")\n\n\nparser = argparse.ArgumentParser()\n\nparser.add_argument('--np', type=int, default=1)\nparser.add_argument('--host_ip', type=str, default=None)\nparser.add_argument('--gpus_per_node', type=int, default=8)\nparser.add_argument('--test_iteration', type=int, default=100)\nparser.add_argument('--test_exe', type=str, default='/home/tmp1/rccl-tests/build/all_reduce_perf')\nargs = parser.parse_args()\n\nnodes = str(args.np) + ' ' # number of mNodes\nif (args.host_ip == None):\n    host_ip = ''\nelse :\n    host_ip = '-host ' + str(args.host_ip) + ' '\nenv1 = '-env HSA_FORCE_FINE_GRAIN_PCIE 1 '\nenv2 = '-env NCCL_DEBUG_INFO '\nenv3 = '-env NCCL_SOCKET_IFNAME enp98s0f0 '\nenv4 = '-env HIP_VISIBLE_DEVICES '\ntest_dir = str(args.test_exe) + ' '\ntest_param1 = '-b 8 ' # min size\ntest_param2 = '-e 128M ' # max size\ntest_param3 = '-f 2 '\ntest_param4 = '-g ' + str(args.gpus_per_node) + ' ' # number of GPUs\n\n\nfor i in range (1, args.test_iteration):\n    arr = np.arange(8)\n    np.random.shuffle(arr)\n    hip_dev = ','.join(str(i) for i in arr)\n\n    cmd = 'mpirun ' + '-np ' + nodes + host_ip + env1 + env3 + env4 + hip_dev + ' ' + test_dir + test_param1 + test_param2 + test_param3 + test_param4\n\n    print(cmd)\n    res = os.popen(cmd)\n    output = res.read()\n    print(output)\n"
  },
  {
    "path": "tools/scripts/rocprof-log-parser.py",
    "content": "import json\nimport argparse\nimport os\nimport csv\n\ndef parse(json_file, function_name, output_file_name):\n\n    with open(json_file, 'r') as f:\n        data = json.load(f)\n\n    kernels=[]\n    found = False\n    for entry in data[\"traceEvents\"]:\n        if  'name'in entry and (entry['name'] == 'hipExtLaunchKernel' or entry['name'] == 'hipLaunchKernel'):\n            if function_name == 'all':\n                found = True\n                kernels.append(entry)\n            elif function_name in entry['args']['args'] or function_name in entry['name']:\n                kernels.append(entry)\n                found = True\n    if not found:\n        print('There is no ' + function_name +' in this log')\n        return\n\n    sorted_kernels = sorted(kernels, key=lambda x: (x['args']['BeginNs'], x['args']['pid']))\n\n    csv_file_name = output_file_name + '.csv'\n    json_file_out = output_file_name + '.json'\n\n    json_data_out = {}\n    json_data_out.setdefault('traceEvents',[]).append({})\n\n    with open(csv_file_name, 'w', newline='') as csvfile:\n        fieldnames = ['pid', 'BeginNs', 'dur', 'ts']\n        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)\n        writer.writeheader()\n\n        i = 1\n        for entry in sorted_kernels:\n            record = {'pid': entry['args']['pid'], 'BeginNs': entry['args']['BeginNs'], 'dur': entry['dur'],\n                     'ts': entry['ts']}\n            json_data_out.setdefault('traceEvents',[]).append(entry)\n\n            writer.writerow(record)\n            if (i) % 8 == 0:\n                csvfile.write('\\n')\n                i = 0\n                i = i + 1\n\n        with open(json_file_out, 'w') as jsonfileout:\n            json.dump(json_data_out, jsonfileout, indent=4)\n\n    print(f\"Data successfully written to {csv_file_name} and {json_file_out}.\")\n\ndef main():\n    parser = argparse.ArgumentParser(description='Json file and the function to parse.')\n\n    #parser.add_argument('json_files_path', type=argparse.FileType('r'), help='JSON file to load!')\n    parser.add_argument('json_file_path', metavar='file_path', type=str,  help='Path to the JSON file to process')\n    parser.add_argument('function_name', type=str, help='Kernel Function Name, e.g., gatherTopK, ncclDevKernel_Generic, mscclKernel')\n    parser.add_argument('output_file_name', type=str, help='Output File Name')\n\n    args = parser.parse_args()\n    parse(args.json_file_path, args.function_name, args.output_file_name)\n\nif __name__ == '__main__':\n    main()\n\n"
  },
  {
    "path": "tools/scripts/test_runner/README.md",
    "content": "# RCCL Test Runner\n\nA Python-based test runner focused on RCCL unit and functional tests with hierarchical configuration support and integrated code coverage reporting. Extensible to support performance benchmarks, MPI tests, and custom test scripts.\n\n## Overview\n\nThis test runner provides a maintainable, extensible alternative to shell-based test execution. It uses JSON configuration files with hierarchical inheritance, and integrates with LLVM code coverage tools.\n\n## Key Features\n\n- **Multiple Test Types**: Support for GTest, performance tests, and custom executables\n- **Hierarchical Configuration**: Use `\"extends\"` directive to inherit and merge configurations\n- **Environment Variable Management**: Global, configuration, suite, and test-specific environment variables\n- **Path Variable Expansion**: Use environment variables in paths with nested default value expansion\n- **Custom Library Support**: Use pre-built RCCL libraries from custom locations via environment variables\n- **Configurable Build System**: Customize CMake options, environment variables, and parallel jobs via config\n- **MPI Support**: Full support for multi-rank and multi-node tests\n- **Flexible Test Filtering**: Run all tests, specific test suites, or individual tests\n- **Build Integration**: Automated RCCL building with CMake\n- **Code Coverage**: Integrated LLVM coverage report generation (HTML and text)\n- **Clean Output**: Automatic filtering of MPI verbose messages (enable with --verbose)\n- **Verbose Logging**: Detailed output for debugging and troubleshooting\n\n## Quick Start\n\n### Basic Usage\n\n```bash\n# Run with specific configuration\npython test_runner.py --config my_tests.json\n\n# Run with verbose output\npython test_runner.py --config my_tests.json --verbose\n\n# Run specific test by name\npython test_runner.py --config my_tests.json --test-name SHM_ComprehensiveWorkflow\n```\n\n### Generate Coverage Report\n\n```bash\n# Build, run tests, and generate coverage report\npython test_runner.py --config test_config_sample.json --coverage-report --verbose\n\n# Use existing build and generate coverage\npython test_runner.py --config test_config_sample.json --no-build --coverage-report\n```\n\n### Use Custom RCCL Library\n\n```bash\n# Use pre-built RCCL library from custom location\nexport RCCL_LIB_PATH=/path/to/custom/rccl/build\npython test_runner.py --config test_config_sample.json\n\n# Or use RCCL_BUILD_DIR (alternative name)\nexport RCCL_BUILD_DIR=/path/to/custom/rccl/build\npython test_runner.py --config test_config_sample.json\n\n# When set, build step is automatically skipped\n# --no-build is not needed\n```\n\n## Environment Variables\n\nThe test runner supports the following environment variables to customize behavior:\n\n### Library and Build Configuration\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `RCCL_LIB_PATH` | Path to pre-built RCCL library directory (contains `librccl.so` and `test/` subdirectory). When set, the build step is automatically skipped. | `/path/to/rccl/build` |\n| `RCCL_BUILD_DIR` | Alternative name for `RCCL_LIB_PATH`. Either variable can be used. | `/path/to/rccl/build` |\n| `RCCL_TEST_MPI_HOSTFILE` | Path to MPI hostfile for multi-node tests. | `~/.mpi_hostfile` |\n\n### Configuration Path Variables\n\nThese can be overridden via environment variables or specified in the JSON config:\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| `WORKDIR` | RCCL source and build directory | Current rccl repository root |\n| `ROCM_PATH` | ROCm installation path | `/opt/rocm` |\n| `MPI_PATH` | MPI installation path | System default or config-specific |\n\n### Priority Order\n\nWhen determining which RCCL library to use, the test runner follows this priority:\n\n1. **`RCCL_LIB_PATH` or `RCCL_BUILD_DIR` environment variable** (highest priority)\n   - Skips build automatically\n   - Must contain `librccl.so` and `test/` subdirectory\n2. **`--no-build` flag with local build**\n   - Uses local `build_debug_cov_on_tests_on/` directory\n   - Requires prior build\n3. **Default build process** (lowest priority)\n   - Builds RCCL in timestamped directory\n   - Uses CMake configuration from JSON\n\n**Example Usage:**\n\n```bash\n# Priority 1: Use custom library (build skipped automatically)\nexport RCCL_LIB_PATH=/path/to/prebuilt/rccl/build\npython test_runner.py --config my_tests.json\n\n# Priority 2: Use existing local build (no new build)\npython test_runner.py --config my_tests.json --no-build\n\n# Priority 3: Fresh build (default)\npython test_runner.py --config my_tests.json\n```\n\n## Configuration File Format\n\n### Basic Structure\n\n```json\n{\n  \"system_configurations\": {\n    \"name\": \"system-name\",\n    \"description\": \"System description\"\n  },\n  \"paths\": {\n    \"workdir\": \"/path/to/rccl\",\n    \"rocm_path\": \"/opt/rocm\",\n    \"mpi_path\": \"/path/to/mpi\"\n  },\n  \"env_variables\": {\n    \"GLOBAL_VAR\": \"value\"\n  },\n  \"test_configurations\": {\n    \"config_name\": {\n      \"env_variables\": {...},\n      \"tests\": [...]\n    }\n  },\n  \"test_suites\": [\n    {\n      \"name\": \"Test Suite Name\",\n      \"config\": \"config_name\",\n      \"enabled\": true\n    }\n  ]\n}\n```\n\n### Environment Variable Expansion in Paths\n\nThe `paths` section supports environment variable expansion, allowing you to avoid hardcoding paths and make configurations portable across different systems.\n\n#### Supported Syntax\n\n```json\n{\n  \"paths\": {\n    \"workdir\": \"${HOME}/code/rccl\",\n    \"rocm_path\": \"$ROCM_PATH\",\n    \"mpi_path\": \"${MPI_PATH:-/opt/mpi}\"\n  }\n}\n```\n\n**Syntax Options:**\n- `${VAR}` - Expands to the value of `VAR`, left as-is if undefined\n- `$VAR` - Expands to the value of `VAR`, left as-is if undefined\n- `${VAR:-default}` - Expands to the value of `VAR`, or `default` if undefined (bash-style default)\n\n#### Examples\n\n```json\n{\n  \"paths\": {\n    \"workdir\": \"${WORKDIR:-${HOME}/code/rti/scripts/rccl}\",\n    \"rocm_path\": \"${ROCM_PATH:-/opt/rocm}\",\n    \"mpi_path\": \"${MPI_PATH:-${HOME}/softwares/ompi}\"\n  }\n}\n```\n\n**Usage:**\n```bash\n# Use environment variables\nexport WORKDIR=/custom/path/to/rccl\nexport ROCM_PATH=/opt/rocm-6.0\nexport MPI_PATH=/usr/local/mpi\n\npython test_runner.py --config test_config_sample.json\n\n# Or use defaults (no environment variables set)\npython test_runner.py --config test_config_sample.json\n```\n\n**Benefits:**\n- **Portability**: Share configurations across different systems\n- **Flexibility**: Override paths without modifying config files\n- **CI/CD**: Easy integration with build systems and pipelines\n- **Multi-user**: Same config works for different user environments\n\n### Test Types Supported\n\nThe test runner uses the `is_gtest` boolean flag to distinguish between test types:\n\n- **`is_gtest: true`** (default) - GTest-based unit tests using `--gtest_filter` syntax\n- **`is_gtest: false`** - Non-GTest tests (performance benchmarks, custom scripts, etc.)\n\nThis simplified approach supports all test categories while reducing configuration complexity.\n\n#### GTest Tests (`is_gtest: true`)\n\nUsed for unit tests with GTest framework. The `test_filter` field uses GTest filter syntax.\n\n```json\n{\n  \"name\": \"AllReduce_InPlace\",\n  \"description\": \"Test AllReduce collective operation with in-place buffers\",\n  \"is_gtest\": true,\n  \"binary\": \"rccl-UnitTests\",\n  \"test_filter\": \"AllReduce.InPlace\",\n  \"num_ranks\": 1,\n  \"num_nodes\": 1,\n  \"timeout\": 60\n}\n```\n\n**Command generated:**\n```bash\n./rccl-UnitTests --gtest_filter=AllReduce.InPlace\n```\n\n#### Performance Tests (`is_gtest: false`)\n\nUsed for performance benchmarks. Arguments are passed directly without GTest syntax.\n\n```json\n{\n  \"name\": \"Perf_Bandwidth\",\n  \"description\": \"Bandwidth benchmark for AllReduce\",\n  \"is_gtest\": false,\n  \"binary\": \"all_reduce_perf\",\n  \"command_args\": \"-b 8 -e 128M -f 2\",\n  \"num_ranks\": 2,\n  \"num_nodes\": 1,\n  \"timeout\": 300\n}\n```\n\n**Command generated:**\n```bash\nmpirun -np 2 ./all_reduce_perf -b 8 -e 128M -f 2\n```\n\n#### Custom Scripts (`is_gtest: false`)\n\nUsed for custom validation scripts or any non-GTest executables.\n\n```json\n{\n  \"name\": \"Custom_Validation\",\n  \"description\": \"Custom GPU validation script\",\n  \"is_gtest\": false,\n  \"binary\": \"validate_gpus.sh\",\n  \"command_args\": \"--full-check --verbose\",\n  \"num_ranks\": 1,\n  \"num_nodes\": 1,\n  \"timeout\": 120\n}\n```\n\n**Command generated:**\n```bash\n./validate_gpus.sh --full-check --verbose\n```\n\n**Key Differences:**\n\n| Feature | `is_gtest: true` | `is_gtest: false` |\n|---------|------------------|-------------------|\n| Test framework | GTest (Google Test) | Any executable |\n| Filter syntax | `--gtest_filter=<pattern>` | Plain arguments |\n| `test_filter` field | GTest pattern (e.g., `Suite.Test*`) | Passed as plain argument |\n| `command_args` field | Appended after filter | Primary argument method |\n| Typical use cases | Unit tests, functional tests | Performance tests, custom scripts |\n\n### Test Definition Fields\n\n| Field | Required | Type | Description |\n|-------|----------|------|-------------|\n| `name` | Yes | string | Unique test identifier |\n| `description` | Recommended | string | Human-readable test description |\n| `is_gtest` | Optional | boolean | Whether test uses GTest framework (default: true). Set to false for perf or custom tests |\n| `binary` | Yes | string | Test binary name (relative to build/test/) |\n| `test_filter` | Optional | string | Test filter (GTest filter syntax for gtest, plain argument for non-gtest) |\n| `command_args` | Optional | string | Additional command-line arguments |\n| `num_ranks` | Optional | integer | Number of MPI ranks (default: 1) |\n| `num_nodes` | Optional | integer | Number of nodes (default: 1) |\n| `num_gpus` | Optional | integer | GPUs per node - controls rank distribution (default: 8) |\n| `timeout` | Optional | integer | Timeout in seconds (0 = unlimited) |\n| `env_variables` | Optional | object | Test-specific environment variables |\n\n### Configuration Inheritance\n\nUse the `\"extends\"` directive to inherit from parent configurations:\n\n```json\n{\n  \"test_configurations\": {\n    \"base\": {\n      \"env_variables\": {\n        \"NCCL_DEBUG\": \"INFO\"\n      }\n    },\n    \"shm_tests\": {\n      \"extends\": \"base\",\n      \"env_variables\": {\n        \"NCCL_SHM_DISABLE\": \"0\"\n      },\n      \"tests\": [...]\n    },\n    \"advanced_shm\": {\n      \"extends\": [\"base\", \"shm_tests\"],\n      \"env_variables\": {\n        \"NCCL_SHM_USE_CUDA_MEMCPY\": \"1\"\n      }\n    }\n  }\n}\n```\n\n### Hierarchical Defaults\n\nTo reduce repetition, you can specify default values at multiple levels with a clear override hierarchy:\n\n**Priority Order (highest to lowest):**\n1. **Individual test** - highest priority, overrides everything\n2. **Test suite level** - overrides configuration defaults\n3. **Configuration level** - base defaults for all tests in that config\n4. **Built-in defaults** - system fallback values\n\n**Supported default fields:** `is_gtest`, `binary`, `num_ranks`, `num_nodes`, `num_gpus`, `timeout`\n\n#### Example with Three-Level Hierarchy\n\n```json\n{\n  \"test_configurations\": {\n    \"p2p_tests\": {\n      \"is_gtest\": true,\n      \"binary\": \"rccl-UnitTestsMPI\",\n      \"num_ranks\": 2,\n      \"num_nodes\": 1,\n      \"num_gpus\": 2,\n      \"timeout\": 120,\n      \"env_variables\": {\n        \"NCCL_P2P_DISABLE\": \"0\"\n      },\n      \"tests\": [\n        {\n          \"name\": \"P2P_Basic\",\n          \"description\": \"Basic P2P test\",\n          \"test_filter\": \"P2pMPITest.Basic\"\n          // Uses config defaults: is_gtest=true, binary, num_ranks=2, num_nodes=1, num_gpus=2, timeout=120\n        },\n        {\n          \"name\": \"P2P_LongRunning\",\n          \"description\": \"Long-running P2P test\",\n          \"test_filter\": \"P2pMPITest.LongRunning\",\n          \"timeout\": 300\n          // Overrides timeout=300, inherits other config defaults\n        }\n      ]\n    }\n  },\n  \"test_suites\": [\n    {\n      \"name\": \"P2P_Basic_Suite\",\n      \"config\": \"p2p_tests\",\n      \"num_ranks\": 4,\n      \"num_gpus\": 4,\n      \"timeout\": 180\n      // Suite-level: overrides config's num_ranks, num_gpus, and timeout\n      // Tests in this suite will use: num_ranks=4, num_gpus=4, timeout=180\n    },\n    {\n      \"name\": \"P2P_Stress_Suite\",\n      \"config\": \"p2p_tests\",\n      \"num_nodes\": 2,\n      \"num_ranks\": 4,\n      \"num_gpus\": 2,\n      \"timeout\": 600\n      // Suite-level: overrides config's num_nodes, num_ranks, num_gpus, and timeout\n      // Tests in this suite will use: num_nodes=2, num_ranks=4, num_gpus=2, timeout=600\n    }\n  ]\n}\n```\n\n**Benefits:**\n- **Less Repetition**: Define common values once\n- **Easier Maintenance**: Update defaults in one place\n- **Flexible Overrides**: Tests can still customize any field\n- **Cleaner Config**: Shorter, more readable test definitions\n\n## Command-Line Options\n\n```\nRequired:\n  -c, --config CONFIG       Test configuration file (JSON format)\n\nOptional:\n  -v, --verbose             Enable verbose output (shows build paths, commands, etc.)\n  -o, --output DIR          Output directory for logs and reports\n  --test-name NAME          Run only specific test by name\n  --no-build                Skip build step and use existing build\n  --skip-tests              Skip test execution (useful with --coverage-report)\n  --coverage-report         Generate code coverage report (HTML + text)\n  --overwrite               Overwrite previous workspace directories\n  --report-suffix SUFFIX    Suffix for report directory (default: blank)\n  -h, --help                Show help message and exit\n```\n\n## Code Coverage Reports\n\nThe test runner integrates with LLVM tools to generate comprehensive code coverage reports.\n\n### Generating Coverage\n\n```bash\n# Build and test with coverage (recommended)\npython test_runner.py --config test_config_sample.json --coverage-report --verbose\n\n# Generate report from existing profraw files\npython test_runner.py --config test_config_sample.json --no-build --skip-tests --coverage-report\n```\n\n### Coverage Output\n\nWhen `--coverage-report` is specified, the runner generates:\n\n1. **HTML Report**: Visual coverage report in `reports/` directory\n   - View with: `firefox reports/index.html`\n   - Shows line-by-line coverage with syntax highlighting\n\n2. **Text Report**: Function-level coverage summary\n   - Location: `reports/function_coverage_report.txt`\n   - Includes per-function and per-file statistics\n\n### Coverage Implementation Details\n\n- Uses LLVM instrumentation (`-fprofile-instr-generate -fcoverage-mapping`)\n- Collects `.profraw` files during test execution\n- Merges profiles with `llvm-profdata`\n- Generates reports with `llvm-cov show` and `llvm-cov report`\n- Filters out irrelevant files (test/, gtest, external dependencies)\n\n## Examples\n\n### Run All Enabled Test Suites\n\n```bash\npython test_runner.py --config test_config_sample.json --verbose\n```\n\n### Run Specific Test\n\n```bash\npython test_runner.py --config test_config_sample.json --test-name P2P_AllTests\n```\n\n### Skip Build (Use Existing)\n\n```bash\npython test_runner.py --config test_config_sample.json --no-build\n```\n\n### Build and Generate Coverage\n\n```bash\n# Full workflow: build, test, coverage\npython test_runner.py --config adhoc_test_config.json --coverage-report --verbose\n```\n\n### Generate Coverage from Existing Build\n\n```bash\n# Skip build, use existing profraw files\npython test_runner.py --config adhoc_test_config.json --no-build --skip-tests --coverage-report\n```\n\n### Custom Output Directory\n\n```bash\npython test_runner.py --config test_config_sample.json -o /path/to/output --verbose\n```\n\n### Run with Overwrite (Clean Previous Results)\n\n```bash\npython test_runner.py --config test_config_sample.json --overwrite --coverage-report\n```\n\n## Environment Variable Merging\n\nEnvironment variables are merged hierarchically (later values override earlier):\n\n1. **Global** `env_variables` (top-level in config)\n2. **Configuration** `env_variables` (test configuration level)\n3. **Test Suite** `env_variables` (suite level)\n4. **Test-specific** `env_variables` (individual test level)\n\nExample:\n```json\n{\n  \"env_variables\": {\n    \"NCCL_DEBUG\": \"INFO\"\n  },\n  \"test_configurations\": {\n    \"shm_tests\": {\n      \"env_variables\": {\n        \"NCCL_SHM_DISABLE\": \"0\"\n      },\n      \"tests\": [\n        {\n          \"name\": \"SHM_Test\",\n          \"env_variables\": {\n            \"NCCL_DEBUG\": \"TRACE\"\n          }\n        }\n      ]\n    }\n  }\n}\n```\n\nResult: `NCCL_DEBUG=TRACE`, `NCCL_SHM_DISABLE=0`\n\n## Test Execution\n\n### Single-Node Tests\n\n- All ranks run on a single node\n- Multiple ranks map to different GPUs\n- Examples: SHM tests, P2P tests, unit tests\n\n```json\n{\n  \"name\": \"SHM_Test\",\n  \"num_ranks\": 2,\n  \"num_nodes\": 1\n}\n```\n\n### Multi-Node Tests\n\n- Ranks distributed across multiple nodes via MPI\n- Requires SLURM allocation or hostfile configuration\n- Use `num_gpus` to control ranks per node (default: 8)\n- Examples: NET transport tests, InfiniBand tests\n\n```json\n{\n  \"name\": \"NET_Test_4Nodes_2GPUs\",\n  \"num_ranks\": 8,\n  \"num_nodes\": 4,\n  \"num_gpus\": 2\n}\n```\n\n**`num_gpus` Field:**\n- Controls how many MPI ranks are placed on each node\n- Overrides hostfile `slots` specification\n- For multi-node tests, uses `--map-by ppr:{num_gpus}:node`\n- Default value: 8 (matches typical 8-GPU nodes)\n\n**Example: 2 nodes, 1 GPU per node**\n```json\n{\n  \"name\": \"NET_Test_2Nodes_1GPU\",\n  \"num_ranks\": 2,\n  \"num_nodes\": 2,\n  \"num_gpus\": 1\n}\n```\nCommand: `mpirun -np 2 --hostfile file --map-by ppr:1:node ...`\n\n### Setting Up Multi-Node Tests\n\n**Option 1: MPI Hostfile**\n```bash\nexport RCCL_TEST_MPI_HOSTFILE=/path/to/hostfile\npython test_runner.py --config net_ib_test_config.json\n```\n\n**Option 2: Default Hostfile**\nCreate `~/.mpi_hostfile` with node names (one per line):\n```\nnode01 slots=8\nnode02 slots=8\n```\n\n## Advanced Features\n\n### Build Configuration (New!)\n\nCustomize the RCCL build process through the `build_configuration` section in your JSON config file.\n\n#### Basic Structure\n\n```json\n{\n  \"build_configuration\": {\n    \"cmake_options\": {\n      \"CMAKE_BUILD_TYPE\": \"Debug\",\n      \"ENABLE_CODE_COVERAGE\": \"ON\",\n      \"ONLY_FUNCS\": \"SendRecv|AllReduce\"\n    },\n    \"env_variables\": {\n      \"HIPCC_COMPILE_FLAGS_APPEND\": \"-g -O1\"\n    },\n    \"parallel_jobs\": 64,\n    \"generator\": \"Unix Makefiles\"\n  }\n}\n```\n\n#### Examples\n\n**Fast Development Build (No Coverage):**\n```json\n{\n  \"build_configuration\": {\n    \"cmake_options\": {\n      \"ENABLE_CODE_COVERAGE\": \"OFF\"\n    },\n    \"parallel_jobs\": 128\n  }\n}\n```\n\n**Release Build:**\n```json\n{\n  \"build_configuration\": {\n    \"cmake_options\": {\n      \"CMAKE_BUILD_TYPE\": \"Release\",\n      \"TRACE\": \"OFF\",\n      \"COLLTRACE\": \"OFF\"\n    }\n  }\n}\n```\n\n**Test Specific Functions Only:**\n```json\n{\n  \"build_configuration\": {\n    \"cmake_options\": {\n      \"ONLY_FUNCS\": \"Broadcast|Reduce\"\n    }\n  }\n}\n```\n\n**All Options:**\n- `cmake_options` - Any CMake option (user values override defaults)\n- `env_variables` - Build environment variables\n- `parallel_jobs` - Number of parallel build threads (default: 64)\n- `generator` - CMake generator: \"Unix Makefiles\", \"Ninja\", etc.\n\nSee `BUILD_CONFIGURATION_GUIDE.md` for complete documentation.\n\n### Enhanced Environment Variable Expansion\n\nEnvironment variables in the `paths` section now support **nested expansion** in default values:\n\n```json\n{\n  \"paths\": {\n    \"workdir\": \"${WORKDIR:-$HOME/code/rti/scripts/rccl}\",\n    \"rocm_path\": \"${ROCM_PATH:-/opt/rocm}\",\n    \"mpi_path\": \"${MPI_PATH:-$HOME/softwares/ompi}\"\n  }\n}\n```\n\n**Key Feature:** If `WORKDIR` is not set, the default `$HOME/code/rti/scripts/rccl` will expand `$HOME` automatically!\n\n### Flexible Binary Paths\n\nSpecify test binary locations in multiple ways for maximum flexibility:\n\n#### 1. Default (Relative to build_dir/test/)\n\n```json\n{\n  \"binary\": \"all_reduce_perf\"\n}\n```\nResult: `<workdir>/build_debug_cov_on_tests_on/test/all_reduce_perf`\n\n#### 2. Absolute Path\n\n```json\n{\n  \"binary\": \"/opt/custom_rccl_build/test/all_reduce_perf\"\n}\n```\nResult: Uses the absolute path directly\n\n#### 3. Environment Variable in Binary Name\n\n```json\n{\n  \"binary\": \"${MY_RCCL_TESTS}/all_reduce_perf\"\n}\n```\nResult: Expands `$MY_RCCL_TESTS` environment variable\n\n#### 4. Home Directory Expansion\n\n```json\n{\n  \"binary\": \"~/my_builds/rccl/test/all_reduce_perf\"\n}\n```\nResult: Expands `~` to home directory\n\n#### 5. Using test_binary_dir in Paths\n\n```json\n{\n  \"paths\": {\n    \"test_binary_dir\": \"${RCCL_TEST_BIN_DIR}\"\n  },\n  \"test_configurations\": {\n    \"my_tests\": {\n      \"binary\": \"all_reduce_perf\"\n    }\n  }\n}\n```\nResult: `${RCCL_TEST_BIN_DIR}/all_reduce_perf`\n\n#### 6. Using test_binary_dir in Test Config\n\n```json\n{\n  \"test_configurations\": {\n    \"my_tests\": {\n      \"tests\": [\n        {\n          \"name\": \"CustomBinary\",\n          \"test_binary_dir\": \"/opt/rccl/tests\",\n          \"binary\": \"all_reduce_perf\"\n        }\n      ]\n    }\n  }\n}\n```\nResult: `/opt/rccl/tests/all_reduce_perf`\n\n#### Resolution Priority Order\n\n1. **Absolute path in binary** - Highest priority\n2. **Environment variable expansion** (if results in absolute path)\n3. **test_binary_dir in test config** + binary\n4. **test_binary_dir in paths** + binary\n5. **Default:** `build_dir/test/` + binary - Lowest priority\n\n#### Use Cases\n\n- **CI/CD with pre-built binaries:** Use absolute paths or `RCCL_TEST_BIN_DIR`\n- **Multiple RCCL versions:** Different `test_binary_dir` per configuration\n- **Custom build locations:** Environment variables for flexibility\n- **Standard builds:** Use default (no configuration needed)\n\n#### Verbose Mode\n\nUse `--verbose` to see the resolved binary path:\n```bash\npython test_runner.py --config test.json --verbose\n```\n\nOutput includes:\n```\nBinary:  all_reduce_perf\nBinary path: /home/user/code/rti/scripts/rccl/build_debug_cov_on_tests_on/test/all_reduce_perf\n```\n\n### Configuration Best Practices\n\n**Reduce Repetition:** Move common values to configuration level\n\n```json\n{\n  \"test_configurations\": {\n    \"p2p_tests\": {\n      \"timeout\": 120,\n      \"env_variables\": {\n        \"NCCL_P2P_USE_CUDA_MEMCPY\": \"1\",\n        \"NCCL_LEGACY_CUDA_REGISTER\": \"1\"\n      },\n      \"tests\": [\n        {\n          \"name\": \"Test1\"\n          // Inherits timeout and env vars from config level\n        },\n        {\n          \"name\": \"Test2\",\n          \"timeout\": 300\n          // Overrides timeout, inherits env vars\n        }\n      ]\n    }\n  }\n}\n```\n\n**Benefits:**\n- ✅ Single source of truth for common settings\n- ✅ Easier maintenance\n- ✅ Tests can still override when needed\n- ✅ Cleaner, more readable configurations\n\n## Development and Testing\n\n### Validate Configuration\n\n```bash\n# Test JSON syntax\npython3 -m json.tool test_config_sample.json\n\n# Test configuration loading\npython3 -c \"from lib.test_config import TestConfigProcessor; \\\n            p = TestConfigProcessor('test_config_sample.json'); \\\n            print('Configuration valid!')\"\n\n# Dry run (validate without executing)\npython test_runner.py --config test_config_sample.json --skip-tests --verbose\n```\n\n### Adding New Tests\n\n1. Add test definition to appropriate configuration in JSON file\n2. Specify `is_gtest`, `description`, and required fields\n3. Test with dry run first: `--skip-tests --verbose`\n4. Run actual test: `--test-name YourTest --verbose`\n\n### Test Type Handling\n\nThe test runner uses a boolean `is_gtest` flag to distinguish between test types:\n\n- **`is_gtest: true`** (default): Uses GTest framework with `--gtest_filter=<filter>` syntax\n- **`is_gtest: false`**: Runs binary with plain arguments (for performance tests, custom scripts, etc.)\n\nThis simplified approach eliminates the need for multiple test type conditionals while supporting all test categories (gtest, perf, custom).\n\n## Troubleshooting\n\n### \"Configuration file not found\"\n- Check the path to your JSON config file\n- Use absolute paths or ensure you're in the correct directory\n- Verify file permissions\n\n### \"MPI path not found\"\n- Update `paths.mpi_path` in your configuration\n- Ensure MPI is installed: `which mpirun`\n- Check MPI_PATH environment variable\n\n### \"Test binary not found\"\n- Build first: remove `--no-build` flag\n- Check binary name in `build/test/` directory\n- Verify CMAKE built successfully\n\n### Multi-node tests hang\n- Ensure SLURM allocation or hostfile is configured\n- Check network connectivity: `ping other_node`\n- Verify MPI can reach nodes: `mpirun -np 2 hostname`\n- Check firewall settings\n\n### CMake configuration fails\n- Check ROCm path: `ls $ROCM_PATH`\n- Verify compiler: `$ROCM_PATH/bin/amdclang++ --version`\n- Check MPI path: `ls $MPI_PATH/bin/mpirun`\n\n### Coverage report fails\n- Ensure LLVM tools are available: `which llvm-profdata llvm-cov`\n- Check for `.profraw` files in build directory\n- Verify coverage build flags were set correctly\n- Run with `--verbose` to see detailed error messages\n\n### \"LLVM_PROFILE_FILE not being used\"\n- Ensure `--coverage-report` flag is specified\n- Check that tests are actually executing (not skipped)\n- Verify environment variables with `--verbose`\n\n---\n\n## Appendix: Environment Variables Reference\n\nThis section provides a quick reference for all environment variables supported by the test runner.\n\n### Library and Build Location\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `RCCL_LIB_PATH` | Path to pre-built RCCL library directory. Automatically skips build. | `export RCCL_LIB_PATH=/path/to/rccl/build` |\n| `RCCL_BUILD_DIR` | Alternative name for `RCCL_LIB_PATH`. | `export RCCL_BUILD_DIR=/home/user/rccl_builds/debug` |\n\n**Requirements**: Directory must contain `librccl.so` and `test/` subdirectory.\n\n### Configuration Paths\n\nThese override the paths specified in the JSON configuration file:\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `WORKDIR` | RCCL source and build directory | `export WORKDIR=/home/user/code/rccl` |\n| `ROCM_PATH` | ROCm installation path | `export ROCM_PATH=/opt/rocm-6.0` |\n| `MPI_PATH` | MPI installation path | `export MPI_PATH=/usr/local/openmpi` |\n\n### Test Execution\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `RCCL_TEST_MPI_HOSTFILE` | Path to MPI hostfile for multi-node tests | `export RCCL_TEST_MPI_HOSTFILE=~/.mpi_hostfile` |\n\n**Note**: Falls back to `~/.mpi_hostfile` if not set. For SLURM environments, hostfile is auto-generated from `SLURM_NODELIST`.\n\n### Test-Specific Variables\n\nThese can be set globally or specified in the JSON configuration per test:\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `NCCL_DEBUG` | NCCL debug level (VERSION, WARN, INFO, TRACE) | `export NCCL_DEBUG=INFO` |\n| `NCCL_DEBUG_SUBSYS` | NCCL debug subsystems to enable | `export NCCL_DEBUG_SUBSYS=INIT,COLL,NET` |\n| `HSA_NO_SCRATCH_RECLAIM` | Disable HIP scratch memory reclaim | `export HSA_NO_SCRATCH_RECLAIM=1` |\n| `NCCL_LAUNCH_MODE` | NCCL launch mode (GROUP, PARALLEL) | `export NCCL_LAUNCH_MODE=GROUP` |\n\n### Coverage and Profiling\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `LLVM_PROFILE_FILE` | LLVM coverage profile output pattern | `export LLVM_PROFILE_FILE=rccl_%p_%m.profraw` |\n\n**Note**: Automatically set by test runner to prevent collisions. Manual override not recommended.\n\n### Complete Example\n\n```bash\n#!/bin/bash\n# Configure paths\nexport WORKDIR=/home/user/code/rccl\nexport ROCM_PATH=/opt/rocm-6.0\nexport MPI_PATH=/usr/local/openmpi\n\n# Use pre-built library\nexport RCCL_LIB_PATH=/home/user/rccl_builds/instrumented\n\n# Configure MPI\nexport RCCL_TEST_MPI_HOSTFILE=~/.mpi_hostfile\n\n# Enable debug output\nexport NCCL_DEBUG=INFO\nexport NCCL_DEBUG_SUBSYS=INIT,COLL,NET\n\n# Run tests\npython test_runner.py --config my_tests.json --verbose\n```\n\n### Variable Priority\n\nWhen the same configuration can be specified in multiple places, the priority is:\n\n1. **Environment variables** (highest priority)\n2. **Test-specific configuration** (in JSON)\n3. **Test suite configuration** (in JSON)\n4. **Test configuration defaults** (in JSON)\n5. **Built-in defaults** (lowest priority)\n\n**Example**: If `ROCM_PATH` is set as an environment variable, it overrides the `rocm_path` value in the JSON configuration file.\n\n"
  },
  {
    "path": "tools/scripts/test_runner/configs/mi300x_mellanox_ib.json",
    "content": "{\n  \"system_configurations\": {\n    \"name\": \"RCCL-Tests-MI300X-Mellanox-IB\",\n    \"description\": \"Comprehensive RCCL Test Configuration - All Tests\"\n  },\n  \"paths\": {\n    \"workdir\": \"${WORKDIR:-$PWD}\",\n    \"rocm_path\": \"${ROCM_PATH:-/opt/rocm}\",\n    \"mpi_path\": \"${MPI_PATH:-/opt/ompi}\"\n  },\n  \"env_variables\": {\n    \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n    \"NCCL_SOCKET_IFNAME\": \"eth0,eth1\",\n    \"NCCL_DEBUG\": \"INFO\"\n  },\n  \"build_configuration\": {\n    \"cmake_options\": {\n      \"CMAKE_BUILD_TYPE\": \"Debug\",\n      \"ENABLE_CODE_COVERAGE\": \"ON\",\n      \"BUILD_TESTS\": \"ON\",\n      \"BUILD_LOCAL_GPU_TARGET_ONLY\": \"ON\",\n      \"TRACE\": \"ON\",\n      \"COLLTRACE\": \"ON\"\n    },\n    \"env_variables\": {\n      \"HIPCC_COMPILE_FLAGS_APPEND\": \"-g -Wno-format-nonliteral -Xarch_host -fprofile-instr-generate -Xarch_host -fcoverage-mapping -parallel-jobs=16\"\n    },\n    \"parallel_jobs\": 64,\n    \"generator\": \"Unix Makefiles\"\n  },\n  \"test_configurations\": {\n    \"default\": {\n      \"env_variables\": {\n        \"NCCL_LAUNCH_MODE\": \"GROUP\"\n      }\n    },\n    \"shm_comprehensive\": {\n      \"extends\": \"default\",\n      \"is_gtest\": true,\n      \"binary\": \"rccl-UnitTestsMPI\",\n      \"num_ranks\": 2,\n      \"num_nodes\": 1,\n      \"num_gpus\": 2,\n      \"timeout\": 120,\n      \"env_variables\": {\n        \"NCCL_SHM_DISABLE\": \"0\",\n        \"NCCL_SHM_USE_CUDA_MEMCPY\": \"1\"\n      },\n      \"tests\": [\n        {\n          \"name\": \"SHM_ComprehensiveWorkflow\",\n          \"description\": \"Comprehensive workflow test for shared memory transport\",\n          \"test_filter\": \"ShmMPITest.ShmWorkflow\"\n        },\n        {\n          \"name\": \"SHM_CEMemcpy_SendSide\",\n          \"description\": \"Shared memory test with compute engine memcpy on send side\",\n          \"test_filter\": \"ShmMPITest.ShmWithMemcpyTest\",\n          \"timeout\": 180,\n          \"env_variables\": {\n            \"NCCL_SHM_MEMCPY_MODE\": \"1\",\n            \"NCCL_SHM_LOCALITY\": \"1\"\n          }\n        },\n        {\n          \"name\": \"SHM_CEMemcpy_RecvSide\",\n          \"description\": \"Shared memory test with compute engine memcpy on receive side\",\n          \"test_filter\": \"ShmMPITest.ShmWithMemcpyTest\",\n          \"env_variables\": {\n            \"NCCL_SHM_MEMCPY_MODE\": \"2\",\n            \"NCCL_SHM_LOCALITY\": \"2\"\n          }\n        },\n        {\n          \"name\": \"SHM_CEMemcpy_BothSides\",\n          \"description\": \"Shared memory test with compute engine memcpy on both send and receive sides using simple protocol\",\n          \"test_filter\": \"ShmMPITest.ShmWithMemcpyTest\",\n          \"env_variables\": {\n            \"NCCL_PROTO\": \"SIMPLE\",\n            \"NCCL_SHM_MEMCPY_MODE\": \"3\",\n            \"NCCL_SHM_LOCALITY\": \"1\"\n          }\n        },\n        {\n          \"name\": \"SHM_AllTests\",\n          \"description\": \"All shared memory transport tests\",\n          \"test_filter\": \"ShmMPITest.*\"\n        }\n      ]\n    },\n    \"p2p_comprehensive\": {\n      \"extends\": \"default\",\n      \"is_gtest\": true,\n      \"binary\": \"rccl-UnitTestsMPI\",\n      \"num_ranks\": 2,\n      \"num_nodes\": 1,\n      \"num_gpus\": 2,\n      \"timeout\": 120,\n      \"env_variables\": {\n        \"NCCL_P2P_USE_CUDA_MEMCPY\": \"1\",\n        \"NCCL_LEGACY_CUDA_REGISTER\": \"1\"\n      },\n      \"tests\": [\n        {\n          \"name\": \"P2P_Workflow\",\n          \"description\": \"Peer-to-peer transport workflow test between two GPUs\",\n          \"test_filter\": \"P2pMPITest.P2pWorkflow\",\n          \"env_variables\": {\n            \"NCCL_P2P_DISABLE\": \"0\"\n          }\n        },\n        {\n          \"name\": \"P2P_WithMemcpy\",\n          \"description\": \"Peer-to-peer test with CUDA memcpy and legacy buffer registration\",\n          \"test_filter\": \"P2pMPITest.P2pWithMemcpyTest\"\n        },\n        {\n          \"name\": \"P2P_SendRecvRegistration\",\n          \"description\": \"Test peer-to-peer send/receive buffer registration mechanisms\",\n          \"test_filter\": \"P2pMPITest.P2pSendRecvRegistrationTest\"\n        },\n        {\n          \"name\": \"P2P_IpcReg_VerySmallBuffer\",\n          \"description\": \"Test P2P IPC buffer registration with very small buffer sizes and SHM disabled\",\n          \"test_filter\": \"P2pMPITest.P2pIpcBufferRegistration_VerySmallBuffer\",\n          \"env_variables\": {\n            \"NCCL_SHM_DISABLE\": \"1\",\n            \"NCCL_LOCAL_REGISTER\": \"1\"\n          }\n        },\n        {\n          \"name\": \"P2P_AllTests\",\n          \"description\": \"All peer-to-peer transport tests\",\n          \"test_filter\": \"P2pMPITest.*\"\n        }\n      ]\n    },\n    \"net_transport_eth_multinode\": {\n      \"extends\": \"default\",\n      \"is_gtest\": true,\n      \"binary\": \"rccl-UnitTestsMPI\",\n      \"num_ranks\": 2,\n      \"num_nodes\": 2,\n      \"num_gpus\": 1,\n      \"env_variables\": {\n        \"NCCL_NET_SHARED_COMMS\": \"1\",\n        \"NCCL_NET_SHARED_BUFFERS\": \"1\",\n        \"NCCL_IB_DISABLE\": \"0\"\n      },\n      \"tests\": [\n        {\n          \"name\": \"NET_AllTests_2Nodes_ETH\",\n          \"description\": \"All network transport tests over Ethernet across two nodes\",\n          \"test_filter\": \"NetTransportMPITest.*\",\n          \"timeout\": 600\n        },\n        {\n          \"name\": \"NET_MultipleBufferSizes_2Nodes\",\n          \"description\": \"Network transport test with multiple buffer sizes across two nodes\",\n          \"test_filter\": \"NetTransportMPITest.MultipleBufferSizesTest\",\n          \"timeout\": 180\n        },\n        {\n          \"name\": \"NET_NetGraphRegister_2Nodes\",\n          \"description\": \"Network transport test with graph buffer registration across two nodes\",\n          \"test_filter\": \"NetTransportMPITest.NetGraphRegisterBufferTest\",\n          \"timeout\": 120,\n          \"env_variables\": {\n            \"NCCL_GRAPH_REGISTER\": \"1\"\n          }\n        }\n      ]\n    },\n    \"net_ib_base\": {\n      \"extends\": \"default\",\n      \"is_gtest\": true,\n      \"binary\": \"rccl-UnitTestsMPI\",\n      \"num_ranks\": 2,\n      \"num_nodes\": 1,\n      \"num_gpus\": 2,\n      \"env_variables\": {\n        \"NCCL_DMABUF_ENABLE\": \"1\"\n      }\n    },\n    \"net_ib_initialization\": {\n      \"extends\": \"net_ib_base\",\n      \"timeout\": 60,\n      \"tests\": [\n        {\n          \"name\": \"NetIB_Init_Plugin\",\n          \"description\": \"Initialize InfiniBand network plugin and verify basic setup\",\n          \"test_filter\": \"NetIbMPITest.InitializePlugin\"\n        },\n        {\n          \"name\": \"NetIB_Init_GetDeviceCount\",\n          \"description\": \"Query and validate InfiniBand device count\",\n          \"test_filter\": \"NetIbMPITest.GetDeviceCount\"\n        }\n      ]\n    },\n    \"net_ib_properties\": {\n      \"extends\": \"net_ib_base\",\n      \"timeout\": 60,\n      \"tests\": [\n        {\n          \"name\": \"NetIB_Props_GetProperties\",\n          \"description\": \"Query InfiniBand device properties and capabilities\",\n          \"test_filter\": \"NetIbMPITest.GetDeviceProperties\"\n        },\n        {\n          \"name\": \"NetIB_Props_InvalidDevice\",\n          \"description\": \"Test error handling when querying properties of invalid InfiniBand device\",\n          \"test_filter\": \"NetIbMPITest.GetDevicePropertiesInvalidDevice\"\n        }\n      ]\n    },\n    \"net_ib_memory\": {\n      \"extends\": \"net_ib_base\",\n      \"timeout\": 120,\n      \"tests\": [\n        {\n          \"name\": \"NetIB_Mem_RegisterHost\",\n          \"description\": \"Test InfiniBand registration of host memory buffers\",\n          \"test_filter\": \"NetIbMPITest.RegisterHostMemory\"\n        },\n        {\n          \"name\": \"NetIB_Mem_RegisterGpu\",\n          \"description\": \"Test InfiniBand registration of GPU device memory buffers\",\n          \"test_filter\": \"NetIbMPITest.RegisterGpuMemory\"\n        }\n      ]\n    },\n    \"net_ib_transfer\": {\n      \"extends\": \"net_ib_base\",\n      \"env_variables\": {\n        \"NCCL_DEBUG\": \"TRACE\",\n        \"NCCL_DEBUG_SUBSYS\": \"NET,INIT\"\n      },\n      \"tests\": [\n        {\n          \"name\": \"NetIB_Xfer_SimpleSendRecv\",\n          \"description\": \"Basic InfiniBand send/receive data transfer test\",\n          \"test_filter\": \"NetIbMPITest.SimpleSendRecv\",\n          \"timeout\": 180,\n          \"env_variables\": {\n            \"RCCL_MPI_LOG_ALL_RANKS\": \"1\"\n          }\n        },\n        {\n          \"name\": \"NetIB_Xfer_MultipleSizes\",\n          \"description\": \"InfiniBand data transfer with multiple buffer sizes\",\n          \"test_filter\": \"NetIbMPITest.SendRecvMultipleSizes\",\n          \"timeout\": 300\n        },\n        {\n          \"name\": \"NetIB_Stress_LargeTransfer\",\n          \"description\": \"Stress test for large data transfers over InfiniBand\",\n          \"test_filter\": \"NetIbMPITest.LargeTransfer\",\n          \"timeout\": 300\n        }\n      ]\n    },\n    \"unit_tests_fixtures\": {\n      \"is_gtest\": true,\n      \"binary\": \"rccl-UnitTestsFixtures\",\n      \"num_ranks\": 1,\n      \"num_nodes\": 1,\n      \"num_gpus\": 8,\n      \"timeout\": 0,\n      \"tests\": [\n        {\n          \"name\": \"NetIb_Debug\",\n          \"description\": \"InfiniBand unit tests with debug output using test fixtures\",\n          \"test_filter\": \"NetIbTests.*\",\n          \"env_variables\": {\n            \"NCCL_SOCKET_IFNAME\": \"eth1\"\n          }\n        },\n        {\n          \"name\": \"Rcclwrap_All\",\n          \"description\": \"RCCL wrapper API unit tests with trace-level debugging\",\n          \"test_filter\": \"Rcclwrap.*\",\n          \"env_variables\": {\n            \"NCCL_DEBUG\": \"TRACE\"\n\t  }\n        },\n        {\n          \"name\": \"Fixtures_All\",\n          \"description\": \"All Fixtures tests\",\n          \"env_variables\": {\n            \"NCCL_DEBUG\": \"TRACE\"\n          }\n        }\n      ]\n    },\n    \"unit_tests_standard\": {\n      \"is_gtest\": true,\n      \"binary\": \"rccl-UnitTests\",\n      \"num_ranks\": 1,\n      \"num_nodes\": 1,\n      \"num_gpus\": 8,\n      \"timeout\": 0,\n      \"env_variables\": {\n        \"NCCL_DEBUG\": \"\"\n      },\n      \"tests\": [\n        {\"name\": \"AllReduce.OutOfPlace\", \"description\": \"AllReduce out-of-place\", \"test_filter\": \"AllReduce.OutOfPlace\"},\n        {\"name\": \"AllReduce.OutOfPlaceGraph\", \"description\": \"AllReduce out-of-place graph\", \"test_filter\": \"AllReduce.OutOfPlaceGraph\"},\n        {\"name\": \"AllReduce.InPlace\", \"description\": \"AllReduce in-place\", \"test_filter\": \"AllReduce.InPlace\"},\n        {\"name\": \"AllReduce.InPlaceGraph\", \"description\": \"AllReduce in-place graph\", \"test_filter\": \"AllReduce.InPlaceGraph\"},\n        {\"name\": \"AllReduce.ManagedMem\", \"description\": \"AllReduce managed memory\", \"test_filter\": \"AllReduce.ManagedMem\"},\n        {\"name\": \"AllReduce.Channels\", \"description\": \"AllReduce channels\", \"test_filter\": \"AllReduce.Channels\"},\n        {\"name\": \"AllReduce.ManagedMemGraph\", \"description\": \"AllReduce managed memory graph\", \"test_filter\": \"AllReduce.ManagedMemGraph\"},\n        {\"name\": \"AllReduce.PreMultScalar\", \"description\": \"AllReduce pre-mult scalar\", \"test_filter\": \"AllReduce.PreMultScalar\"},\n        {\"name\": \"AllReduce.UserBufferRegistration\", \"description\": \"AllReduce user buffer registration\", \"test_filter\": \"AllReduce.UserBufferRegistration\"},\n        {\"name\": \"AllReduce.ManagedMemUserBufferRegistration\", \"description\": \"AllReduce managed mem user buffer\", \"test_filter\": \"AllReduce.ManagedMemUserBufferRegistration\"},\n        {\"name\": \"AllGather.OutOfPlace\", \"description\": \"AllGather out-of-place\", \"test_filter\": \"AllGather.OutOfPlace\"},\n        {\"name\": \"AllGather.OutOfPlaceGraph\", \"description\": \"AllGather out-of-place graph\", \"test_filter\": \"AllGather.OutOfPlaceGraph\"},\n        {\"name\": \"AllGather.InPlace\", \"description\": \"AllGather in-place\", \"test_filter\": \"AllGather.InPlace\"},\n        {\"name\": \"AllGather.InPlaceGraph\", \"description\": \"AllGather in-place graph\", \"test_filter\": \"AllGather.InPlaceGraph\"},\n        {\"name\": \"AllGather.ManagedMem\", \"description\": \"AllGather managed memory\", \"test_filter\": \"AllGather.ManagedMem\"},\n        {\"name\": \"AllGather.ManagedMemGraph\", \"description\": \"AllGather managed memory graph\", \"test_filter\": \"AllGather.ManagedMemGraph\"},\n        {\"name\": \"AllGather.UserBufferRegistration\", \"description\": \"AllGather user buffer registration\", \"test_filter\": \"AllGather.UserBufferRegistration\"},\n        {\"name\": \"AllGather.ManagedMemUserBufferRegistration\", \"description\": \"AllGather managed mem user buffer\", \"test_filter\": \"AllGather.ManagedMemUserBufferRegistration\"},\n        {\"name\": \"AllToAll.OutOfPlace\", \"description\": \"AllToAll out-of-place\", \"test_filter\": \"AllToAll.OutOfPlace\"},\n        {\"name\": \"AllToAll.OutOfPlaceGraph\", \"description\": \"AllToAll out-of-place graph\", \"test_filter\": \"AllToAll.OutOfPlaceGraph\"},\n        {\"name\": \"AllToAll.ManagedMem\", \"description\": \"AllToAll managed memory\", \"test_filter\": \"AllToAll.ManagedMem\"},\n        {\"name\": \"AllToAll.ManagedMemGraph\", \"description\": \"AllToAll managed memory graph\", \"test_filter\": \"AllToAll.ManagedMemGraph\"},\n        {\"name\": \"AllToAllv.OutOfPlace\", \"description\": \"AllToAllv out-of-place\", \"test_filter\": \"AllToAllv.OutOfPlace\"},\n        {\"name\": \"AllToAllv.OutOfPlaceGraph\", \"description\": \"AllToAllv out-of-place graph\", \"test_filter\": \"AllToAllv.OutOfPlaceGraph\"},\n        {\"name\": \"Broadcast.OutOfPlace\", \"description\": \"Broadcast out-of-place\", \"test_filter\": \"Broadcast.OutOfPlace\"},\n        {\"name\": \"Broadcast.OutOfPlaceGraph\", \"description\": \"Broadcast out-of-place graph\", \"test_filter\": \"Broadcast.OutOfPlaceGraph\"},\n        {\"name\": \"Broadcast.InPlace\", \"description\": \"Broadcast in-place\", \"test_filter\": \"Broadcast.InPlace\"},\n        {\"name\": \"Broadcast.InPlaceGraph\", \"description\": \"Broadcast in-place graph\", \"test_filter\": \"Broadcast.InPlaceGraph\"},\n        {\"name\": \"Broadcast.ManagedMem\", \"description\": \"Broadcast managed memory\", \"test_filter\": \"Broadcast.ManagedMem\"},\n        {\"name\": \"Broadcast.ManagedMemGraph\", \"description\": \"Broadcast managed memory graph\", \"test_filter\": \"Broadcast.ManagedMemGraph\"},\n        {\"name\": \"Gather.OutOfPlace\", \"description\": \"Gather out-of-place\", \"test_filter\": \"Gather.OutOfPlace\"},\n        {\"name\": \"Gather.OutOfPlaceGraph\", \"description\": \"Gather out-of-place graph\", \"test_filter\": \"Gather.OutOfPlaceGraph\"},\n        {\"name\": \"Gather.InPlace\", \"description\": \"Gather in-place\", \"test_filter\": \"Gather.InPlace\"},\n        {\"name\": \"Gather.InPlaceGraph\", \"description\": \"Gather in-place graph\", \"test_filter\": \"Gather.InPlaceGraph\"},\n        {\"name\": \"Gather.ManagedMem\", \"description\": \"Gather managed memory\", \"test_filter\": \"Gather.ManagedMem\"},\n        {\"name\": \"Gather.ManagedMemGraph\", \"description\": \"Gather managed memory graph\", \"test_filter\": \"Gather.ManagedMemGraph\"},\n        {\"name\": \"Scatter.OutOfPlace\", \"description\": \"Scatter out-of-place\", \"test_filter\": \"Scatter.OutOfPlace\"},\n        {\"name\": \"Scatter.OutOfPlaceGraph\", \"description\": \"Scatter out-of-place graph\", \"test_filter\": \"Scatter.OutOfPlaceGraph\"},\n        {\"name\": \"Scatter.InPlace\", \"description\": \"Scatter in-place\", \"test_filter\": \"Scatter.InPlace\"},\n        {\"name\": \"Scatter.InPlaceGraph\", \"description\": \"Scatter in-place graph\", \"test_filter\": \"Scatter.InPlaceGraph\"},\n        {\"name\": \"Scatter.ManagedMem\", \"description\": \"Scatter managed memory\", \"test_filter\": \"Scatter.ManagedMem\"},\n        {\"name\": \"Scatter.ManagedMemGraph\", \"description\": \"Scatter managed memory graph\", \"test_filter\": \"Scatter.ManagedMemGraph\"},\n        {\"name\": \"Reduce.OutOfPlace\", \"description\": \"Reduce out-of-place\", \"test_filter\": \"Reduce.OutOfPlace\"},\n        {\"name\": \"Reduce.OutOfPlaceGraph\", \"description\": \"Reduce out-of-place graph\", \"test_filter\": \"Reduce.OutOfPlaceGraph\"},\n        {\"name\": \"Reduce.InPlace\", \"description\": \"Reduce in-place\", \"test_filter\": \"Reduce.InPlace\"},\n        {\"name\": \"Reduce.InPlaceGraph\", \"description\": \"Reduce in-place graph\", \"test_filter\": \"Reduce.InPlaceGraph\"},\n        {\"name\": \"Reduce.ManagedMem\", \"description\": \"Reduce managed memory\", \"test_filter\": \"Reduce.ManagedMem\"},\n        {\"name\": \"Reduce.ManagedMemGraph\", \"description\": \"Reduce managed memory graph\", \"test_filter\": \"Reduce.ManagedMemGraph\"},\n        {\"name\": \"ReduceScatter.OutOfPlace\", \"description\": \"ReduceScatter out-of-place\", \"test_filter\": \"ReduceScatter.OutOfPlace\"},\n        {\"name\": \"ReduceScatter.OutOfPlaceGraph\", \"description\": \"ReduceScatter out-of-place graph\", \"test_filter\": \"ReduceScatter.OutOfPlaceGraph\"},\n        {\"name\": \"ReduceScatter.InPlace\", \"description\": \"ReduceScatter in-place\", \"test_filter\": \"ReduceScatter.InPlace\"},\n        {\"name\": \"ReduceScatter.InPlaceGraph\", \"description\": \"ReduceScatter in-place graph\", \"test_filter\": \"ReduceScatter.InPlaceGraph\"},\n        {\"name\": \"ReduceScatter.ManagedMem\", \"description\": \"ReduceScatter managed memory\", \"test_filter\": \"ReduceScatter.ManagedMem\"},\n        {\"name\": \"ReduceScatter.ManagedMemGraph\", \"description\": \"ReduceScatter managed memory graph\", \"test_filter\": \"ReduceScatter.ManagedMemGraph\"},\n        {\"name\": \"SendRecv.SinglePairs\", \"description\": \"SendRecv single pairs\", \"test_filter\": \"SendRecv.SinglePairs\"},\n        {\"name\": \"SendRecv.UserBufferRegister\", \"description\": \"SendRecv user buffer register\", \"test_filter\": \"SendRecv.UserBufferRegister\"},\n        {\"name\": \"GroupCall.Identical\", \"description\": \"GroupCall identical\", \"test_filter\": \"GroupCall.Identical\"},\n        {\"name\": \"GroupCall.Different\", \"description\": \"GroupCall different\", \"test_filter\": \"GroupCall.Different\"},\n        {\"name\": \"GroupCall.Multistream\", \"description\": \"GroupCall multistream\", \"test_filter\": \"GroupCall.Multistream\"},\n        {\"name\": \"GroupCall.MixedDataType\", \"description\": \"GroupCall mixed data type\", \"test_filter\": \"GroupCall.MixedDataType\"},\n        {\"name\": \"GroupCall.MultiGroupCall\", \"description\": \"GroupCall multi group call\", \"test_filter\": \"GroupCall.MultiGroupCall\"},\n        {\"name\": \"NonBlocking.SingleCalls\", \"description\": \"NonBlocking single calls\", \"test_filter\": \"NonBlocking.SingleCalls\"},\n        {\"name\": \"CommTests.Sorter\", \"description\": \"CommTests sorter\", \"test_filter\": \"CommTests.Sorter\"},\n        {\"name\": \"Enqueue\", \"description\": \"Enqueue operation tests\", \"test_filter\": \"Enqueue.*\"},\n        {\"name\": \"Alloc\", \"description\": \"Memory allocation tests\", \"test_filter\": \"Alloc.*\"},\n        {\"name\": \"ParamTests\", \"description\": \"Parameter handling tests\", \"test_filter\": \"ParamTests.*\"},\n        {\"name\": \"ProxyTests\", \"description\": \"Proxy service tests\", \"test_filter\": \"ProxyTests.*\"},\n        {\"name\": \"Rcclwrap\", \"description\": \"RCCL wrapper tests\", \"test_filter\": \"Rcclwrap.*\"},\n        {\"name\": \"TransportTest\", \"description\": \"Transport layer tests\", \"test_filter\": \"TransportTest.*\"},\n        {\"name\": \"ArgCheck\", \"description\": \"Argument validation tests\", \"test_filter\": \"ArgCheck.*\"},\n        {\"name\": \"BitOps\", \"description\": \"Bit operation utility tests\", \"test_filter\": \"ALIGN_*:DIVUP:ROUNDUP:u32fp*:*Hash\"},\n        {\"name\": \"AltRsmi\", \"description\": \"Alternative RSMI tests\", \"test_filter\": \"AltRsmi.*\"},\n        {\"name\": \"NetSocket\", \"description\": \"Network socket tests\", \"test_filter\": \"NetSocket.*\"},\n        {\"name\": \"Ipcsocket\", \"description\": \"IPC socket tests\", \"test_filter\": \"Ipcsocket.*\"},\n        {\"name\": \"Standalone.SplitComms_RankCheck\", \"description\": \"Verify device assignment for each rank using ncclCommSplit API\", \"test_filter\": \"Standalone.SplitComms_RankCheck\"},\n        {\"name\": \"Standalone.SplitComms_OneColor\", \"description\": \"Creates communicator for each device with same color\", \"test_filter\": \"Standalone.SplitComms_OneColor\"},\n        {\"name\": \"Standalone.SplitComms_Reduce\", \"description\": \"Reduces communicators into fewer ranks\", \"test_filter\": \"Standalone.SplitComms_Reduce\"},\n        {\"name\": \"Standalone.RegressionTiming\", \"description\": \"Verify no timing regression for protocols (LL, LL128, Simple)\", \"test_filter\": \"Standalone.RegressionTiming\"},\n        {\"name\": \"Standalone.StackSize\", \"description\": \"Verify RCCL kernel stack size for each gfx architecture\", \"test_filter\": \"Standalone.StackSize\"},\n        {\"name\": \"Standalone.CommCuDevice_Check\", \"description\": \"Verify device associated with communicator in single/multi-device scenarios\", \"test_filter\": \"Standalone.CommCuDevice_Check\"},\n        {\"name\": \"Standalone.SplitComms_RankCheck_Basic_Failure\", \"description\": \"Verify ncclCommUserRank fails with invalid communicator handle\", \"test_filter\": \"Standalone.SplitComms_RankCheck_Basic_Failure\"}\n      ]\n    },\n    \"debug_tests\": {\n      \"is_gtest\": true,\n      \"binary\": \"rccl-UnitTests\",\n      \"num_ranks\": 1,\n      \"num_nodes\": 1,\n      \"num_gpus\": 8,\n      \"timeout\": 0,\n      \"env_variables\": {\n        \"NCCL_DEBUG\": \"VERSION\",\n        \"NCCL_DEBUG_SUBSYS\": \"ALL\"\n      },\n      \"tests\": [\n        {\n          \"name\": \"Debug_ThreadName\",\n          \"description\": \"Test thread naming functionality with AllToAll operation\",\n          \"test_filter\": \"AllToAll.OutOfPlaceGraph*\",\n          \"env_variables\": {\n            \"NCCL_SET_THREAD_NAME\": \"1\"\n          }\n        },\n        {\n          \"name\": \"Debug_AllSubsystems\",\n          \"description\": \"Test debug logging for all RCCL subsystems with trace-level output\",\n          \"test_filter\": \"AllToAll.OutOfPlaceGraph*\",\n          \"env_variables\": {\n            \"NCCL_DEBUG\": \"TRACE\",\n            \"NCCL_DEBUG_FILE\": \"cdcvg.dbg\",\n            \"NCCL_DEBUG_SUBSYS\": \"INIT,COLL,P2P,SHM,NET,GRAPH,TUNING,ENV,ALLOC,CALL,PROXY,NVLS,BOOTSTRAP,REG,PROFILE,RAS,VERBS\"\n          }\n        }\n      ]\n    },\n    \"alt_rsmi_tests\": {\n      \"is_gtest\": true,\n      \"binary\": \"rccl-UnitTestsFixtures\",\n      \"num_ranks\": 1,\n      \"num_nodes\": 1,\n      \"num_gpus\": 1,\n      \"timeout\": 120,\n      \"tests\": [\n        {\n          \"name\": \"AltRsmi_AllTests\",\n          \"description\": \"All Alternative RSMI implementation tests using public API only\",\n          \"test_filter\": \"AltRsmiTest.*\"\n        }\n      ]\n    }\n  },\n  \"test_suites\": [\n    {\n      \"name\": \"SHM Tests - Complete Suite\",\n      \"description\": \"All shared memory transport tests (single node)\",\n      \"config\": \"shm_comprehensive\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"P2P Tests - Complete Suite\",\n      \"description\": \"All peer-to-peer transport tests (single node)\",\n      \"config\": \"p2p_comprehensive\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"NET Transport - Ethernet (Multi-Node)\",\n      \"description\": \"Network transport tests over Ethernet\",\n      \"config\": \"net_transport_eth_multinode\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"NET IB - Initialization Tests\",\n      \"description\": \"InfiniBand plugin initialization and device enumeration\",\n      \"config\": \"net_ib_initialization\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"NET IB - Device Properties\",\n      \"description\": \"InfiniBand device property queries\",\n      \"config\": \"net_ib_properties\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"NET IB - Memory Registration\",\n      \"description\": \"InfiniBand memory registration tests\",\n      \"config\": \"net_ib_memory\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"NET IB - Data Transfer\",\n      \"description\": \"InfiniBand data transfer and stress tests\",\n      \"config\": \"net_ib_transfer\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"Unit Tests - Fixtures\",\n      \"description\": \"Non-MPI unit tests using fixtures\",\n      \"config\": \"unit_tests_fixtures\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"Unit Tests - Standard Collectives\",\n      \"description\": \"Basic collective operation tests\",\n      \"config\": \"unit_tests_standard\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"Debug and Logging Tests\",\n      \"description\": \"Tests for debug output and logging functionality\",\n      \"config\": \"debug_tests\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"AltRsmi Tests - Complete Suite\",\n      \"description\": \"All Alternative RSMI tests using public API only\",\n      \"config\": \"alt_rsmi_tests\",\n      \"enabled\": true\n    }\n  ]\n}\n"
  },
  {
    "path": "tools/scripts/test_runner/configs/rccl_perf_tests.json",
    "content": "{\n  \"system_configurations\": {\n    \"name\": \"RCCL-Performance-Benchmarks\",\n    \"description\": \"RCCL Performance Test Suite - All Collective Operations\"\n  },\n  \"paths\": {\n    \"workdir\": \"${WORKDIR:-/path/to/rccl}\",\n    \"rocm_path\": \"${ROCM_PATH:-/opt/rocm}\",\n    \"mpi_path\": \"${MPI_PATH:-/opt/ompi}\",\n    \"test_binary_dir\": \"${RCCL_TEST_BIN_DIR}\"\n  },\n  \"env_variables\": {\n    \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n    \"NCCL_DEBUG\": \"WARN\"\n  },\n  \"build_configuration\": {\n    \"cmake_options\": {\n      \"CMAKE_BUILD_TYPE\": \"Release\",\n      \"ENABLE_CODE_COVERAGE\": \"OFF\",\n      \"BUILD_TESTS\": \"ON\",\n      \"BUILD_LOCAL_GPU_TARGET_ONLY\": \"ON\",\n      \"TRACE\": \"OFF\",\n      \"COLLTRACE\": \"OFF\"\n    },\n    \"env_variables\": {\n      \"HIPCC_COMPILE_FLAGS_APPEND\": \"-O3\"\n    },\n    \"parallel_jobs\": 64,\n    \"generator\": \"Unix Makefiles\"\n  },\n  \"test_configurations\": {\n    \"perf_base\": {\n      \"is_gtest\": false,\n      \"num_ranks\": 8,\n      \"num_nodes\": 1,\n      \"timeout\": 300,\n      \"env_variables\": {\n        \"NCCL_LAUNCH_MODE\": \"GROUP\"\n      }\n    },\n    \"allreduce_perf\": {\n      \"extends\": \"perf_base\",\n      \"binary\": \"all_reduce_perf\",\n      \"tests\": [\n        {\n          \"name\": \"AllReduce_Perf_SmallMessages\",\n          \"description\": \"AllReduce bandwidth test for small messages (8B - 8KB)\",\n          \"command_args\": \"-b 8 -e 8K -f 2 -g 1\"\n        },\n        {\n          \"name\": \"AllReduce_Perf_MediumMessages\",\n          \"description\": \"AllReduce bandwidth test for medium messages (16KB - 1MB)\",\n          \"command_args\": \"-b 16K -e 1M -f 2 -g 1\"\n        },\n        {\n          \"name\": \"AllReduce_Perf_LargeMessages\",\n          \"description\": \"AllReduce bandwidth test for large messages (2MB - 128MB)\",\n          \"command_args\": \"-b 2M -e 128M -f 2 -g 1\",\n          \"timeout\": 600\n        },\n        {\n          \"name\": \"AllReduce_Perf_InPlace\",\n          \"description\": \"AllReduce in-place bandwidth test\",\n          \"command_args\": \"-b 8 -e 128M -f 2 -g 1 -c 1\"\n        },\n        {\n          \"name\": \"AllReduce_Perf_MultiGPU\",\n          \"description\": \"AllReduce test with all 8 GPUs\",\n          \"command_args\": \"-b 1M -e 128M -f 2 -g 8\"\n        }\n      ]\n    },\n    \"allgather_perf\": {\n      \"extends\": \"perf_base\",\n      \"binary\": \"all_gather_perf\",\n      \"tests\": [\n        {\n          \"name\": \"AllGather_Perf_SmallMessages\",\n          \"description\": \"AllGather bandwidth test for small messages\",\n          \"command_args\": \"-b 8 -e 8K -f 2 -g 1\"\n        },\n        {\n          \"name\": \"AllGather_Perf_MediumMessages\",\n          \"description\": \"AllGather bandwidth test for medium messages\",\n          \"command_args\": \"-b 16K -e 1M -f 2 -g 1\"\n        },\n        {\n          \"name\": \"AllGather_Perf_LargeMessages\",\n          \"description\": \"AllGather bandwidth test for large messages\",\n          \"command_args\": \"-b 2M -e 128M -f 2 -g 1\",\n          \"timeout\": 600\n        }\n      ]\n    },\n    \"broadcast_perf\": {\n      \"extends\": \"perf_base\",\n      \"binary\": \"broadcast_perf\",\n      \"tests\": [\n        {\n          \"name\": \"Broadcast_Perf_SmallMessages\",\n          \"description\": \"Broadcast bandwidth test for small messages\",\n          \"command_args\": \"-b 8 -e 8K -f 2 -g 1\"\n        },\n        {\n          \"name\": \"Broadcast_Perf_MediumMessages\",\n          \"description\": \"Broadcast bandwidth test for medium messages\",\n          \"command_args\": \"-b 16K -e 1M -f 2 -g 1\"\n        },\n        {\n          \"name\": \"Broadcast_Perf_LargeMessages\",\n          \"description\": \"Broadcast bandwidth test for large messages\",\n          \"command_args\": \"-b 2M -e 128M -f 2 -g 1\",\n          \"timeout\": 600\n        }\n      ]\n    },\n    \"reduce_perf\": {\n      \"extends\": \"perf_base\",\n      \"binary\": \"reduce_perf\",\n      \"tests\": [\n        {\n          \"name\": \"Reduce_Perf_SmallMessages\",\n          \"description\": \"Reduce bandwidth test for small messages\",\n          \"command_args\": \"-b 8 -e 8K -f 2 -g 1\"\n        },\n        {\n          \"name\": \"Reduce_Perf_MediumMessages\",\n          \"description\": \"Reduce bandwidth test for medium messages\",\n          \"command_args\": \"-b 16K -e 1M -f 2 -g 1\"\n        },\n        {\n          \"name\": \"Reduce_Perf_LargeMessages\",\n          \"description\": \"Reduce bandwidth test for large messages\",\n          \"command_args\": \"-b 2M -e 128M -f 2 -g 1\",\n          \"timeout\": 600\n        }\n      ]\n    },\n    \"reducescatter_perf\": {\n      \"extends\": \"perf_base\",\n      \"binary\": \"reduce_scatter_perf\",\n      \"tests\": [\n        {\n          \"name\": \"ReduceScatter_Perf_SmallMessages\",\n          \"description\": \"ReduceScatter bandwidth test for small messages\",\n          \"command_args\": \"-b 8 -e 8K -f 2 -g 1\"\n        },\n        {\n          \"name\": \"ReduceScatter_Perf_MediumMessages\",\n          \"description\": \"ReduceScatter bandwidth test for medium messages\",\n          \"command_args\": \"-b 16K -e 1M -f 2 -g 1\"\n        },\n        {\n          \"name\": \"ReduceScatter_Perf_LargeMessages\",\n          \"description\": \"ReduceScatter bandwidth test for large messages\",\n          \"command_args\": \"-b 2M -e 128M -f 2 -g 1\",\n          \"timeout\": 600\n        }\n      ]\n    },\n    \"alltoall_perf\": {\n      \"extends\": \"perf_base\",\n      \"binary\": \"alltoall_perf\",\n      \"tests\": [\n        {\n          \"name\": \"AllToAll_Perf_SmallMessages\",\n          \"description\": \"AllToAll bandwidth test for small messages\",\n          \"command_args\": \"-b 8 -e 8K -f 2 -g 1\"\n        },\n        {\n          \"name\": \"AllToAll_Perf_MediumMessages\",\n          \"description\": \"AllToAll bandwidth test for medium messages\",\n          \"command_args\": \"-b 16K -e 1M -f 2 -g 1\"\n        },\n        {\n          \"name\": \"AllToAll_Perf_LargeMessages\",\n          \"description\": \"AllToAll bandwidth test for large messages\",\n          \"command_args\": \"-b 2M -e 64M -f 2 -g 1\",\n          \"timeout\": 600\n        }\n      ]\n    },\n    \"sendrecv_perf\": {\n      \"extends\": \"perf_base\",\n      \"binary\": \"sendrecv_perf\",\n      \"num_ranks\": 2,\n      \"tests\": [\n        {\n          \"name\": \"SendRecv_Perf_SmallMessages\",\n          \"description\": \"SendRecv bandwidth test for small messages\",\n          \"command_args\": \"-b 8 -e 8K -f 2 -g 1\"\n        },\n        {\n          \"name\": \"SendRecv_Perf_MediumMessages\",\n          \"description\": \"SendRecv bandwidth test for medium messages\",\n          \"command_args\": \"-b 16K -e 1M -f 2 -g 1\"\n        },\n        {\n          \"name\": \"SendRecv_Perf_LargeMessages\",\n          \"description\": \"SendRecv bandwidth test for large messages\",\n          \"command_args\": \"-b 2M -e 128M -f 2 -g 1\",\n          \"timeout\": 600\n        },\n        {\n          \"name\": \"SendRecv_Perf_Latency\",\n          \"description\": \"SendRecv latency test\",\n          \"command_args\": \"-b 8 -e 8 -f 1 -g 1 -n 1000\"\n        }\n      ]\n    },\n    \"allreduce_multinode\": {\n      \"extends\": \"perf_base\",\n      \"binary\": \"all_reduce_perf\",\n      \"num_ranks\": 16,\n      \"num_nodes\": 2,\n      \"timeout\": 600,\n      \"env_variables\": {\n        \"NCCL_IB_DISABLE\": \"0\",\n        \"NCCL_NET_GDR_LEVEL\": \"5\",\n        \"NCCL_SOCKET_IFNAME\": \"eth0,eth1\"\n      },\n      \"tests\": [\n        {\n          \"name\": \"AllReduce_MultiNode_SmallMessages\",\n          \"description\": \"Multi-node AllReduce test for small messages\",\n          \"command_args\": \"-b 8 -e 8K -f 2 -g 1\"\n        },\n        {\n          \"name\": \"AllReduce_MultiNode_MediumMessages\",\n          \"description\": \"Multi-node AllReduce test for medium messages\",\n          \"command_args\": \"-b 16K -e 1M -f 2 -g 1\"\n        },\n        {\n          \"name\": \"AllReduce_MultiNode_LargeMessages\",\n          \"description\": \"Multi-node AllReduce test for large messages\",\n          \"command_args\": \"-b 2M -e 128M -f 2 -g 1\",\n          \"timeout\": 900\n        },\n        {\n          \"name\": \"AllReduce_MultiNode_MaxBandwidth\",\n          \"description\": \"Multi-node AllReduce maximum bandwidth test\",\n          \"command_args\": \"-b 128M -e 2G -f 2 -g 8\",\n          \"timeout\": 1200\n        }\n      ]\n    },\n    \"scatter_gather_perf\": {\n      \"extends\": \"perf_base\",\n      \"binary\": \"scatter_perf\",\n      \"tests\": [\n        {\n          \"name\": \"Scatter_Perf_SmallMessages\",\n          \"description\": \"Scatter bandwidth test for small messages\",\n          \"command_args\": \"-b 8 -e 8K -f 2 -g 1\"\n        },\n        {\n          \"name\": \"Scatter_Perf_MediumMessages\",\n          \"description\": \"Scatter bandwidth test for medium messages\",\n          \"command_args\": \"-b 16K -e 1M -f 2 -g 1\"\n        },\n        {\n          \"name\": \"Scatter_Perf_LargeMessages\",\n          \"description\": \"Scatter bandwidth test for large messages\",\n          \"command_args\": \"-b 2M -e 64M -f 2 -g 1\"\n        }\n      ]\n    },\n    \"gather_perf\": {\n      \"extends\": \"perf_base\",\n      \"binary\": \"gather_perf\",\n      \"tests\": [\n        {\n          \"name\": \"Gather_Perf_SmallMessages\",\n          \"description\": \"Gather bandwidth test for small messages\",\n          \"command_args\": \"-b 8 -e 8K -f 2 -g 1\"\n        },\n        {\n          \"name\": \"Gather_Perf_MediumMessages\",\n          \"description\": \"Gather bandwidth test for medium messages\",\n          \"command_args\": \"-b 16K -e 1M -f 2 -g 1\"\n        },\n        {\n          \"name\": \"Gather_Perf_LargeMessages\",\n          \"description\": \"Gather bandwidth test for large messages\",\n          \"command_args\": \"-b 2M -e 64M -f 2 -g 1\"\n        }\n      ]\n    },\n    \"allreduce_algos\": {\n      \"extends\": \"perf_base\",\n      \"binary\": \"all_reduce_perf\",\n      \"num_ranks\": 8,\n      \"tests\": [\n        {\n          \"name\": \"AllReduce_Ring_Algorithm\",\n          \"description\": \"AllReduce using Ring algorithm\",\n          \"command_args\": \"-b 1M -e 128M -f 2 -g 1\",\n          \"env_variables\": {\n            \"NCCL_ALGO\": \"Ring\"\n          }\n        },\n        {\n          \"name\": \"AllReduce_Tree_Algorithm\",\n          \"description\": \"AllReduce using Tree algorithm\",\n          \"command_args\": \"-b 1M -e 128M -f 2 -g 1\",\n          \"env_variables\": {\n            \"NCCL_ALGO\": \"Tree\"\n          }\n        },\n        {\n          \"name\": \"AllReduce_CollNetDirect\",\n          \"description\": \"AllReduce using CollNet Direct\",\n          \"command_args\": \"-b 1M -e 128M -f 2 -g 1\",\n          \"env_variables\": {\n            \"NCCL_ALGO\": \"CollNetDirect\"\n          }\n        }\n      ]\n    },\n    \"allreduce_protocols\": {\n      \"extends\": \"perf_base\",\n      \"binary\": \"all_reduce_perf\",\n      \"num_ranks\": 8,\n      \"tests\": [\n        {\n          \"name\": \"AllReduce_SimpleProtocol\",\n          \"description\": \"AllReduce using Simple protocol\",\n          \"command_args\": \"-b 1M -e 128M -f 2 -g 1\",\n          \"env_variables\": {\n            \"NCCL_PROTO\": \"Simple\"\n          }\n        },\n        {\n          \"name\": \"AllReduce_LL_Protocol\",\n          \"description\": \"AllReduce using LL (Low Latency) protocol\",\n          \"command_args\": \"-b 1M -e 128M -f 2 -g 1\",\n          \"env_variables\": {\n            \"NCCL_PROTO\": \"LL\"\n          }\n        },\n        {\n          \"name\": \"AllReduce_LL128_Protocol\",\n          \"description\": \"AllReduce using LL128 protocol\",\n          \"command_args\": \"-b 1M -e 128M -f 2 -g 1\",\n          \"env_variables\": {\n            \"NCCL_PROTO\": \"LL128\"\n          }\n        }\n      ]\n    },\n    \"stress_tests\": {\n      \"extends\": \"perf_base\",\n      \"binary\": \"all_reduce_perf\",\n      \"num_ranks\": 8,\n      \"timeout\": 1800,\n      \"tests\": [\n        {\n          \"name\": \"AllReduce_Stress_LongDuration\",\n          \"description\": \"Long duration AllReduce stress test\",\n          \"command_args\": \"-b 1M -e 128M -f 2 -g 8 -n 10000\"\n        },\n        {\n          \"name\": \"AllReduce_Stress_MaxSize\",\n          \"description\": \"Maximum message size stress test\",\n          \"command_args\": \"-b 1G -e 2G -f 2 -g 8\",\n          \"timeout\": 2400\n        },\n        {\n          \"name\": \"AllReduce_Stress_AllSizes\",\n          \"description\": \"All message sizes comprehensive test\",\n          \"command_args\": \"-b 8 -e 2G -f 2 -g 8 -n 100\",\n          \"timeout\": 3600\n        }\n      ]\n    }\n  },\n  \"test_suites\": [\n    {\n      \"name\": \"AllReduce Performance Tests\",\n      \"description\": \"AllReduce collective bandwidth and latency benchmarks\",\n      \"config\": \"allreduce_perf\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"AllGather Performance Tests\",\n      \"description\": \"AllGather collective bandwidth benchmarks\",\n      \"config\": \"allgather_perf\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"Broadcast Performance Tests\",\n      \"description\": \"Broadcast collective bandwidth benchmarks\",\n      \"config\": \"broadcast_perf\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"Reduce Performance Tests\",\n      \"description\": \"Reduce collective bandwidth benchmarks\",\n      \"config\": \"reduce_perf\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"ReduceScatter Performance Tests\",\n      \"description\": \"ReduceScatter collective bandwidth benchmarks\",\n      \"config\": \"reducescatter_perf\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"AllToAll Performance Tests\",\n      \"description\": \"AllToAll collective bandwidth benchmarks\",\n      \"config\": \"alltoall_perf\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"SendRecv Performance Tests\",\n      \"description\": \"Point-to-point SendRecv bandwidth and latency benchmarks\",\n      \"config\": \"sendrecv_perf\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"Scatter Performance Tests\",\n      \"description\": \"Scatter collective bandwidth benchmarks\",\n      \"config\": \"scatter_gather_perf\",\n      \"enabled\": false\n    },\n    {\n      \"name\": \"Gather Performance Tests\",\n      \"description\": \"Gather collective bandwidth benchmarks\",\n      \"config\": \"gather_perf\",\n      \"enabled\": false\n    },\n    {\n      \"name\": \"AllReduce Multi-Node Tests\",\n      \"description\": \"Multi-node AllReduce performance tests (requires 2+ nodes)\",\n      \"config\": \"allreduce_multinode\",\n      \"enabled\": false\n    },\n    {\n      \"name\": \"AllReduce Algorithm Comparison\",\n      \"description\": \"Compare different AllReduce algorithms (Ring, Tree, CollNet)\",\n      \"config\": \"allreduce_algos\",\n      \"enabled\": false\n    },\n    {\n      \"name\": \"AllReduce Protocol Comparison\",\n      \"description\": \"Compare different protocols (Simple, LL, LL128)\",\n      \"config\": \"allreduce_protocols\",\n      \"enabled\": false\n    },\n    {\n      \"name\": \"Stress Tests\",\n      \"description\": \"Long duration and maximum size stress tests\",\n      \"config\": \"stress_tests\",\n      \"enabled\": false\n    }\n  ]\n}\n\n"
  },
  {
    "path": "tools/scripts/test_runner/configs/test_config_sample.json",
    "content": "{\n  \"system_configurations\": {\n    \"name\": \"rccl-test-system\",\n    \"description\": \"Optional description of the system\"\n  },\n\n  \"paths\": {\n    \"workdir\": \"${WORKDIR:-/path/to/rccl}\",\n    \"rocm_path\": \"${ROCM_PATH:-/opt/rocm}\",\n    \"mpi_path\": \"${MPI_PATH:-/opt/ompi}\",\n    \"test_binary_dir\": \"${RCCL_TEST_BIN_DIR:-build/test}\"\n  },\n\n  \"env_variables\": {\n    \"HSA_NO_SCRATCH_RECLAIM\": \"1\",\n    \"NCCL_DEBUG\": \"WARN\"\n  },\n\n  \"build_configuration\": {\n    \"cmake_options\": {\n      \"CMAKE_BUILD_TYPE\": \"Release\",\n      \"BUILD_TESTS\": \"ON\"\n    },\n    \"env_variables\": {\n      \"HIPCC_COMPILE_FLAGS_APPEND\": \"-O2\"\n    },\n    \"parallel_jobs\": 64,\n    \"generator\": \"Unix Makefiles\"\n  },\n\n  \"test_configurations\": {\n    \"base_config\": {\n      \"env_variables\": {\n        \"NCCL_LAUNCH_MODE\": \"GROUP\"\n      },\n      \"args\": [\"--verbose\"],\n      \"mpi_args\": [\"--bind-to none\"]\n    },\n\n    \"gtest_config\": {\n      \"extends\": \"base_config\",\n      \"is_gtest\": true,\n      \"binary\": \"rccl-UnitTests\",\n      \"num_ranks\": 1,\n      \"num_nodes\": 1,\n      \"num_gpus\": 8,\n      \"timeout\": 120,\n      \"env_variables\": {\n        \"NCCL_DEBUG\": \"INFO\"\n      },\n      \"tests\": [\n        {\n          \"name\": \"AllReduceTest\",\n          \"description\": \"Test AllReduce with specific parameters\",\n          \"is_gtest\": true,\n          \"binary\": \"rccl-UnitTests\",\n          \"test_filter\": \"AllReduce.InPlace\",\n          \"command_args\": \"--gtest_also_run_disabled_tests\",\n          \"num_ranks\": 1,\n          \"num_nodes\": 1,\n          \"num_gpus\": 4,\n          \"timeout\": 60,\n          \"env_variables\": {\n            \"NCCL_DEBUG\": \"TRACE\"\n          }\n        },\n        {\n          \"name\": \"BroadcastTest\",\n          \"test_filter\": \"Broadcast.*\"\n        }\n      ]\n    },\n\n    \"mpi_config\": {\n      \"extends\": \"base_config\",\n      \"binary\": \"rccl-UnitTestsMPI\",\n      \"num_ranks\": 2,\n      \"num_nodes\": 1,\n      \"timeout\": 180,\n      \"tests\": [\n        {\"name\": \"P2pTest\", \"test_filter\": \"P2pMPITest.*\"},\n        {\"name\": \"ShmTest\", \"test_filter\": \"ShmMPITest.*\"}\n      ]\n    },\n\n    \"perf_config\": {\n      \"is_gtest\": false,\n      \"binary\": \"all_reduce_perf\",\n      \"num_ranks\": 8,\n      \"num_nodes\": 2,\n      \"num_gpus\": 4,\n      \"timeout\": 300,\n      \"tests\": [\n        {\n          \"name\": \"AllReducePerf\",\n          \"command_args\": \"-b 8 -e 128M -f 2 -g 1\"\n        }\n      ]\n    }\n  },\n\n  \"test_suites\": [\n    {\n      \"name\": \"unit_tests\",\n      \"description\": \"Unit tests with GTest\",\n      \"config\": \"gtest_config\",\n      \"enabled\": true,\n      \"num_ranks\": 1,\n      \"num_nodes\": 1,\n      \"num_gpus\": 8,\n      \"timeout\": 200,\n      \"env_variables\": {\n        \"NCCL_DEBUG_SUBSYS\": \"INIT\"\n      }\n    },\n    {\n      \"name\": \"mpi_tests\",\n      \"config\": \"mpi_config\"\n    },\n    {\n      \"name\": \"perf_tests\",\n      \"config\": \"perf_config\",\n      \"enabled\": false\n    }\n  ]\n}\n"
  },
  {
    "path": "tools/scripts/test_runner/lib/__init__.py",
    "content": "\"\"\"\nRCCL Test Runner Library\nProvides modules for test configuration, parsing, and execution\n\"\"\"\n\nfrom .test_config import TestConfigProcessor\nfrom .test_parser import ArgumentParserInterface, parse_test_output\nfrom .test_executor import TestExecutor, ExitCode, TestResult\n\n__all__ = [\n    'TestConfigProcessor',\n    'ArgumentParserInterface',\n    'parse_test_output',\n    'TestExecutor',\n    'ExitCode',\n    'TestResult'\n]\n\n__version__ = '1.0.0'\n\n"
  },
  {
    "path": "tools/scripts/test_runner/lib/test_config.py",
    "content": "#!/usr/bin/env python3\n# Copyright (c) Advanced Micro Devices, Inc. All rights reserved.\n#\n# See LICENSE.txt for license information\n\"\"\"\nTest Configuration Processor Module\nHandles hierarchical test configuration with inheritance and merging\n\"\"\"\n\nimport json\nimport os\nimport re\nfrom copy import deepcopy\nfrom pathlib import Path\nfrom types import MappingProxyType\n\n# Set default WORKDIR to rccl root directory if not already defined\n# This file is at: rccl/tools/scripts/test_runner/lib/test_config.py\n# rccl root is 5 directories up\nif \"WORKDIR\" not in os.environ:\n    _rccl_root = Path(__file__).resolve().parents[4]\n    os.environ[\"WORKDIR\"] = str(_rccl_root)\n\n\nclass TestConfigProcessor:\n    \"\"\"\n    Processes hierarchical test configurations with support for:\n    - Configuration inheritance ('using' directive)\n    - Environment variable merging\n    - Test parameter inheritance\n    - Environment variable expansion in paths\n    \"\"\"\n\n    def __init__(self, config_file):\n        \"\"\"\n        Initialize the TestConfigProcessor with the configuration file.\n\n        Args:\n            config_file: Path to JSON configuration file\n        \"\"\"\n        if not os.path.exists(config_file):\n            raise FileNotFoundError(f\"Configuration file not found: {config_file}\")\n\n        # Load the JSON configuration file\n        with open(config_file, 'r') as file:\n            config_data = json.load(file)\n\n        # Expand environment variables in paths section\n        if \"paths\" in config_data:\n            config_data[\"paths\"] = self._expand_env_vars_in_dict(config_data[\"paths\"])\n\n        # Make the configuration immutable (frozen)\n        self.config = MappingProxyType(config_data)\n        self.config_file = config_file\n\n    def _expand_env_var(self, value):\n        \"\"\"\n        Expand environment variables in a string.\n\n        Supports both ${VAR} and $VAR syntax.\n        If an environment variable is not set, it will be left unexpanded\n        or replaced with an empty string based on the pattern.\n\n        Args:\n            value: String that may contain environment variables\n\n        Returns:\n            str: String with environment variables expanded\n\n        Examples:\n            \"${HOME}/code\" -> \"/home/user/code\"\n            \"$ROCM_PATH/bin\" -> \"/opt/rocm/bin\"\n            \"${UNDEFINED:-/default}\" -> \"/default\" (bash-style default)\n            \"${WORKDIR:-$HOME/code}\" -> expands $HOME in default if WORKDIR not set\n        \"\"\"\n        if not isinstance(value, str):\n            return value\n\n        # Pattern to match ${VAR}, ${VAR:-default}, or $VAR\n        # First, handle ${VAR:-default} pattern\n        def replace_with_default(match):\n            var_name = match.group(1)\n            default_value = match.group(2)\n            # Get the env var, or use default\n            result = os.environ.get(var_name)\n            if result is None:\n                # Recursively expand env vars in the default value\n                result = self._expand_env_var(default_value)\n            return result\n\n        # Replace ${VAR:-default} patterns\n        value = re.sub(r'\\$\\{([A-Za-z_][A-Za-z0-9_]*):-([^}]*)\\}', replace_with_default, value)\n\n        # Replace ${VAR} patterns\n        value = re.sub(r'\\$\\{([A-Za-z_][A-Za-z0-9_]*)\\}',\n                      lambda m: os.environ.get(m.group(1), m.group(0)), value)\n\n        # Replace $VAR patterns (but not ${ to avoid double replacement)\n        value = re.sub(r'\\$([A-Za-z_][A-Za-z0-9_]*)',\n                      lambda m: os.environ.get(m.group(1), m.group(0)), value)\n\n        return value\n\n    def _expand_env_vars_in_dict(self, data):\n        \"\"\"\n        Recursively expand environment variables in all string values in a dictionary.\n\n        Args:\n            data: Dictionary that may contain environment variables in string values\n\n        Returns:\n            dict: Dictionary with all environment variables expanded\n        \"\"\"\n        if isinstance(data, dict):\n            return {key: self._expand_env_vars_in_dict(value) for key, value in data.items()}\n        elif isinstance(data, list):\n            return [self._expand_env_vars_in_dict(item) for item in data]\n        elif isinstance(data, str):\n            return self._expand_env_var(data)\n        else:\n            return data\n\n    def combine_configs(self, config_name):\n        \"\"\"\n        Combines configurations generically using the 'extends' directive.\n\n        Merging rules:\n        - env_variables: Overwrite duplicate keys (child overwrites parent)\n        - mpi_args: Append and remove duplicates\n        - args: Append and remove duplicates\n        - tests: Merge by test name\n        - Other fields: Child overwrites parent\n\n        Args:\n            config_name: Name of configuration to combine\n\n        Returns:\n            dict: Combined configuration\n        \"\"\"\n        test_configs = self.config.get(\"test_configurations\", {})\n        if config_name not in test_configs:\n            raise ValueError(\n                f\"Configuration '{config_name}' not found in test_configurations. \"\n                f\"Available: {', '.join(test_configs.keys())}\"\n            )\n\n        # Start with a deep copy of the target configuration\n        combined_config = deepcopy(test_configs[config_name])\n\n        # Process the 'extends' directive if it exists\n        while \"extends\" in combined_config:\n            parent_configs = combined_config.pop(\"extends\")\n            if not isinstance(parent_configs, list):\n                parent_configs = [parent_configs]\n\n            for parent_config_name in parent_configs:\n                if parent_config_name not in test_configs:\n                    raise ValueError(\n                        f\"Parent configuration '{parent_config_name}' not found.\"\n                    )\n\n                parent_config = deepcopy(test_configs[parent_config_name])\n\n                # Recursively process parent's 'extends' directive\n                if \"extends\" in parent_config:\n                    parent_config = self.combine_configs(parent_config_name)\n\n                # Merge all keys from parent into combined configuration\n                for key, value in parent_config.items():\n                    if key == \"env_variables\":\n                        # Merge env_variables (child overwrites parent)\n                        current_env = combined_config.get(\"env_variables\", {})\n                        combined_env = {**value, **current_env}\n                        combined_config[\"env_variables\"] = combined_env\n                    elif key in [\"args\", \"mpi_args\"]:\n                        # Append lists and remove duplicates (preserve order)\n                        current_items = combined_config.get(key, [])\n                        if isinstance(current_items, list) and isinstance(value, list):\n                            combined_config[key] = list(dict.fromkeys(value + current_items))\n                        elif isinstance(value, list):\n                            combined_config[key] = value\n                    elif key == \"tests\":\n                        # Merge tests by name\n                        current_tests = combined_config.get(\"tests\", [])\n                        combined_tests = self._merge_tests(value, current_tests)\n                        combined_config[\"tests\"] = combined_tests\n                    else:\n                        # Child overwrites parent for other keys\n                        if key not in combined_config:\n                            combined_config[key] = value\n\n        return combined_config\n\n    def _merge_tests(self, parent_tests, child_tests):\n        \"\"\"\n        Merges two lists of tests by name.\n\n        Args:\n            parent_tests: List of parent tests\n            child_tests: List of child tests\n\n        Returns:\n            list: Merged list of tests\n        \"\"\"\n        merged_tests = []\n        test_map = {}\n\n        # Process parent tests\n        for test in parent_tests:\n            if isinstance(test, str):\n                test_map[test] = {\"name\": test}\n            elif isinstance(test, dict):\n                name = test.get(\"name\")\n                if name:\n                    test_map[name] = test\n\n        # Process child tests (child overwrites parent)\n        for test in child_tests:\n            if isinstance(test, str):\n                test_map[test] = {\"name\": test}\n            elif isinstance(test, dict):\n                name = test.get(\"name\")\n                if name:\n                    # Merge with parent test if exists\n                    if name in test_map:\n                        parent_test = test_map[name]\n                        merged_test = {**parent_test, **test}\n                        test_map[name] = merged_test\n                    else:\n                        test_map[name] = test\n\n        # Convert map back to list\n        merged_tests = list(test_map.values())\n        return merged_tests\n\n    def _apply_test_defaults(self, tests, config_defaults):\n        \"\"\"\n        Apply configuration-level defaults to individual tests.\n\n        Test-specific values override configuration defaults.\n\n        Args:\n            tests: List of test dictionaries\n            config_defaults: Dictionary with default values from configuration\n\n        Returns:\n            list: Tests with defaults applied\n        \"\"\"\n        # Fields that can have defaults at config level\n        default_fields = [\"is_gtest\", \"binary\", \"num_ranks\", \"num_nodes\", \"num_gpus\", \"timeout\"]\n\n        processed_tests = []\n        for test in tests:\n            # Start with config defaults\n            merged_test = {}\n\n            # Apply defaults for each field if not already in test\n            for field in default_fields:\n                if field in config_defaults:\n                    merged_test[field] = config_defaults[field]\n\n            # Override with test-specific values\n            merged_test.update(test)\n\n            processed_tests.append(merged_test)\n\n        return processed_tests\n\n    def parse_test_suites(self):\n        \"\"\"\n        Parses the test_suites section and processes each test suite.\n\n        Applies hierarchical defaults in order (test-specific overrides suite, suite overrides config):\n        1. Configuration-level defaults\n        2. Test suite-level defaults (override config)\n        3. Individual test values (override both)\n\n        Returns:\n            list: List of combined configurations for each test suite\n        \"\"\"\n        test_suites = self.config.get(\"test_suites\", [])\n        combined_suites = []\n\n        for suite in test_suites:\n            config_name = suite.get(\"config\")\n            if not config_name:\n                raise ValueError(\n                    f\"Test suite '{suite.get('name')}' does not specify a configuration.\"\n                )\n\n            # Combine the configuration for the test suite\n            combined_config = self.combine_configs(config_name)\n\n            # Extract configuration-level defaults\n            config_defaults = {\n                \"is_gtest\": combined_config.get(\"is_gtest\"),\n                \"binary\": combined_config.get(\"binary\"),\n                \"num_ranks\": combined_config.get(\"num_ranks\"),\n                \"num_nodes\": combined_config.get(\"num_nodes\"),\n                \"num_gpus\": combined_config.get(\"num_gpus\", 8),\n                \"timeout\": combined_config.get(\"timeout\")\n            }\n            # Remove None values\n            config_defaults = {k: v for k, v in config_defaults.items() if v is not None}\n\n            # Extract suite-level defaults (override config-level)\n            suite_defaults = {\n                \"is_gtest\": suite.get(\"is_gtest\"),\n                \"binary\": suite.get(\"binary\"),\n                \"num_ranks\": suite.get(\"num_ranks\"),\n                \"num_nodes\": suite.get(\"num_nodes\"),\n                \"num_gpus\": suite.get(\"num_gpus\"),\n                \"timeout\": suite.get(\"timeout\")\n            }\n            # Remove None values\n            suite_defaults = {k: v for k, v in suite_defaults.items() if v is not None}\n\n            # Merge defaults: suite-level overrides config-level\n            merged_defaults = {**config_defaults, **suite_defaults}\n\n            # Apply merged defaults to tests\n            tests = combined_config.get(\"tests\", [])\n            if tests and merged_defaults:\n                combined_config[\"tests\"] = self._apply_test_defaults(tests, merged_defaults)\n\n            # Add suite-specific details\n            combined_config[\"suite_details\"] = {\n                \"name\": suite.get(\"name\"),\n                \"description\": suite.get(\"description\", \"\"),\n                \"num_nodes\": suite.get(\"num_nodes\", 1),\n                \"num_ranks\": suite.get(\"num_ranks\", 1),\n                \"num_gpus\": suite.get(\"num_gpus\", 8),\n                \"enabled\": suite.get(\"enabled\", True)\n            }\n\n            combined_suites.append(combined_config)\n\n        return combined_suites\n\n    def get_system_config(self):\n        \"\"\"\n        Get system-wide configuration settings.\n\n        Returns:\n            dict: System configuration\n        \"\"\"\n        return self.config.get(\"system_configurations\", {})\n\n    def get_env_variables(self):\n        \"\"\"\n        Get global environment variables.\n\n        Returns:\n            dict: Global environment variables\n        \"\"\"\n        return self.config.get(\"env_variables\", {})\n\n    def get_paths(self):\n        \"\"\"\n        Get system paths (ROCM, MPI, etc.).\n\n        Returns:\n            dict: System paths\n        \"\"\"\n        return self.config.get(\"paths\", {})\n\n    def get_build_config(self):\n        \"\"\"\n        Get build configuration settings.\n\n        Returns:\n            dict: Build configuration with CMake options, environment variables, etc.\n        \"\"\"\n        return self.config.get(\"build_configuration\", {})\n\n    def validate_config(self):\n        \"\"\"\n        Validate the configuration for required fields.\n\n        Raises:\n            ValueError: If configuration is invalid\n        \"\"\"\n        # Check for required top-level keys\n        required_keys = [\"test_configurations\", \"test_suites\"]\n        for key in required_keys:\n            if key not in self.config:\n                raise ValueError(f\"Missing required configuration key: {key}\")\n\n        # Validate test suites\n        test_suites = self.config.get(\"test_suites\", [])\n        if not test_suites:\n            raise ValueError(\"No test suites defined in configuration\")\n\n        for suite in test_suites:\n            if \"name\" not in suite:\n                raise ValueError(\"Test suite missing 'name' field\")\n            if \"config\" not in suite:\n                raise ValueError(f\"Test suite '{suite['name']}' missing 'config' field\")\n\n        return True\n\n"
  },
  {
    "path": "tools/scripts/test_runner/lib/test_executor.py",
    "content": "#!/usr/bin/env python3\n# Copyright (c) Advanced Micro Devices, Inc. All rights reserved.\n#\n# See LICENSE.txt for license information\n\"\"\"\nTest Executor Module\nHandles test execution, build processes, and result tracking\n\"\"\"\n\nimport os\nimport subprocess\nimport sys\nimport time\nimport datetime\nfrom enum import IntEnum, Enum\nfrom pathlib import Path\n\n# Make stdout unbuffered to prevent output ordering issues with subprocesses\nsys.stdout.reconfigure(line_buffering=True)\n\n\nclass ExitCode(IntEnum):\n    \"\"\"Exit codes for processes\"\"\"\n    EXIT_SUCCESS = 0\n    EXIT_FAILURE = 1\n    EXIT_TIMEOUT = 124\n\n\nclass TestResult(str, Enum):\n    \"\"\"Test result statuses\"\"\"\n    RESULT_PASSED = \"PASSED\"\n    RESULT_FAILED = \"FAILED\"\n    RESULT_TIMEOUT = \"TIMEOUT\"\n    RESULT_SKIPPED = \"SKIPPED\"\n\n\nclass TestExecutor:\n    \"\"\"\n    Executes tests and manages build/test workflows\n    \"\"\"\n\n    def __init__(self, config_processor, args):\n        \"\"\"\n        Initialize TestExecutor\n\n        Args:\n            config_processor: TestConfigProcessor instance\n            args: Parsed command-line arguments\n        \"\"\"\n        self.config_processor = config_processor\n        self.args = args\n        self.system_config = config_processor.get_system_config()\n        self.paths = config_processor.get_paths()\n        self.global_env = config_processor.get_env_variables()\n        self.build_config = config_processor.get_build_config()\n\n        # Setup directories\n        self.setup_directories()\n\n        # Detect MPI hostfile once during initialization\n        self.mpi_hostfile = self._detect_mpi_hostfile()\n\n        # Test tracking\n        self.test_results = []\n        self.test_names = []\n        self.test_durations = []\n        self.test_suites = []\n\n    def setup_directories(self):\n        \"\"\"Setup build and log directories\"\"\"\n        workdir = self.paths.get(\"workdir\", os.getcwd())\n\n        # Determine workspace name (with or without timestamp)\n        suffix_part = f\"_{self.args.report_suffix}\" if self.args.report_suffix else \"\"\n        if self.args.overwrite:\n            workspace_name = f\"rccl_test_artifacts{suffix_part}\"\n            timestamp_suffix = \"\"\n        else:\n            timestamp = datetime.datetime.now().strftime(\"%Y_%m_%d_%H%M%S\")\n            workspace_name = f\"rccl_test_artifacts{suffix_part}_{timestamp}\"\n            timestamp_suffix = f\"_{timestamp}\"\n\n        # Create workspace directory path\n        self.workspace_dir = os.path.join(workdir, workspace_name)\n\n        # Check for custom RCCL library path from environment variable\n        custom_rccl_path = os.environ.get('RCCL_LIB_PATH') or os.environ.get('RCCL_BUILD_DIR')\n\n        if custom_rccl_path:\n            # Use custom library path from environment variable\n            self.build_dir = os.path.expanduser(os.path.expandvars(custom_rccl_path))\n            self.using_custom_lib = True\n            if self.args.verbose:\n                print(f\"Using custom RCCL library path from environment: {self.build_dir}\")\n        else:\n            # Use default build directory\n            self.using_custom_lib = False\n            self.build_dir = os.path.join(\n                workdir,\n                f\"build_debug_cov_on_tests_on{timestamp_suffix}\"\n            )\n\n        # Set log and report directories under workspace\n        self.log_dir = os.path.join(self.workspace_dir, \"logs\")\n        self.report_dir = os.path.join(self.workspace_dir, \"report\")\n\n        # Create directories (skip build_dir if using custom lib)\n        if not self.using_custom_lib:\n            os.makedirs(self.build_dir, exist_ok=True)\n        os.makedirs(self.log_dir, exist_ok=True)\n        os.makedirs(self.report_dir, exist_ok=True)\n\n        if self.args.verbose:\n            print(f\"Work directory:   {workdir}\")\n            print(f\"Workspace directory: {self.workspace_dir}\")\n            print(f\"Build directory:  {self.build_dir}\")\n            if self.using_custom_lib:\n                print(f\"  (Using custom library from RCCL_LIB_PATH/RCCL_BUILD_DIR)\")\n            print(f\"Log directory:    {self.log_dir}\")\n            print(f\"Report directory: {self.report_dir}\")\n\n    def _detect_mpi_hostfile(self):\n        \"\"\"\n        Detect MPI hostfile once during initialization.\n        Checks RCCL_TEST_MPI_HOSTFILE env var, then ~/.mpi_hostfile default.\n        Prints detection message only once.\n\n        Returns:\n            str: Path to hostfile, or None if not found\n        \"\"\"\n        hostfile = os.environ.get('RCCL_TEST_MPI_HOSTFILE')\n        if hostfile and os.path.isfile(hostfile):\n            print(f\"Using MPI hostfile from RCCL_TEST_MPI_HOSTFILE: {hostfile}\")\n            return hostfile\n\n        # Check default hostfile\n        default_hostfile = os.path.expanduser('~/.mpi_hostfile')\n        if os.path.isfile(default_hostfile):\n            print(f\"Using default MPI hostfile: {default_hostfile}\")\n            return default_hostfile\n\n        # No hostfile found\n        return None\n\n    def check_environment(self):\n        \"\"\"\n        Check that required environment and tools are available\n\n        Returns:\n            bool: True if environment is valid\n        \"\"\"\n        errors = []\n\n        # Check ROCm\n        rocm_path = self.paths.get(\"rocm_path\", \"/opt/rocm\")\n        if not os.path.isdir(rocm_path):\n            errors.append(f\"ROCm not found at {rocm_path}\")\n\n        # Check MPI\n        mpi_path = self.paths.get(\"mpi_path\")\n        if mpi_path:\n            if not os.path.isdir(mpi_path):\n                print(f\"WARNING: MPI path not found: {mpi_path}\")\n            elif not os.path.isfile(os.path.join(mpi_path, \"bin\", \"mpirun\")):\n                print(f\"WARNING: mpirun not found in {mpi_path}/bin/\")\n\n        # Check RCCL library (if not building or using custom lib)\n        if self.args.no_build or self.using_custom_lib:\n            lib_path = os.path.join(self.build_dir, \"librccl.so\")\n            if not os.path.isfile(lib_path):\n                errors.append(f\"RCCL library not found: {lib_path}\")\n            elif self.args.verbose:\n                print(f\"Found RCCL library: {lib_path}\")\n\n        if errors:\n            print(\"ERROR: Environment check failed:\")\n            for error in errors:\n                print(f\"  - {error}\")\n            return False\n\n        if self.args.verbose:\n            print(\"Environment validation passed\")\n        return True\n\n    def build_rccl(self):\n        \"\"\"\n        Build RCCL with test support using configurable build settings\n\n        Returns:\n            bool: True if build succeeded\n        \"\"\"\n        # Skip build if using custom library from environment variable\n        if self.using_custom_lib:\n            if self.args.verbose:\n                print(\"SKIP: Build step skipped (using custom RCCL library from environment)\")\n            return True\n\n        if self.args.no_build:\n            if self.args.verbose:\n                print(\"SKIP: Build step skipped (--no-build)\")\n            return True\n\n        print(\"=\"*80)\n        print(\"BUILDING RCCL\")\n        print(\"=\"*80)\n\n        workdir = self.paths.get(\"workdir\", os.getcwd())\n        rocm_path = self.paths.get(\"rocm_path\", \"/opt/rocm\")\n        mpi_path = self.paths.get(\"mpi_path\", \"\")\n\n        # Get build configuration (with defaults)\n        cmake_options = self.build_config.get(\"cmake_options\", {})\n        build_env_vars = self.build_config.get(\"env_variables\", {})\n        parallel_jobs = self.build_config.get(\"parallel_jobs\", 64)\n        generator = self.build_config.get(\"generator\", \"Unix Makefiles\")\n\n        if self.args.verbose:\n            print(f\"Work directory:  {workdir}\")\n            print(f\"ROCm path:       {rocm_path}\")\n            print(f\"MPI path:        {mpi_path}\")\n            print(f\"Build directory: {self.build_dir}\")\n            print(f\"Parallel jobs:   {parallel_jobs}\")\n            print(f\"Generator:       {generator}\")\n\n        # Setup environment for build\n        env = os.environ.copy()\n\n        # Apply default environment variables for code coverage\n        default_env = {\n            'HIPCC_COMPILE_FLAGS_APPEND': (\n                \"-g -Wno-format-nonliteral -Xarch_host -fprofile-instr-generate \"\n                \"-Xarch_host -fcoverage-mapping -parallel-jobs=16\"\n            ),\n            'HIPCC_LINK_FLAGS_APPEND': (\n                \"-fprofile-instr-generate -fcoverage-mapping -parallel-jobs=16\"\n            ),\n            'LLVM_PROFILE_FILE': \"rccl_tests_%p_%m.profraw\",\n            'CXX': f\"{rocm_path}/bin/amdclang++\"\n        }\n\n        # Merge with user-provided build environment variables (user values override defaults)\n        for key, value in default_env.items():\n            env[key] = value\n        for key, value in build_env_vars.items():\n            env[key] = str(value)\n\n        # Build CMake configuration command with defaults\n        default_cmake_options = {\n            \"CMAKE_CXX_FLAGS\": \"-Wl,--build-id=sha1\",\n            \"CMAKE_EXE_LINKER_FLAGS\": \"-Wl,--build-id=sha1\",\n            \"CMAKE_BUILD_TYPE\": \"Debug\",\n            \"ENABLE_CODE_COVERAGE\": \"ON\",\n            \"BUILD_TESTS\": \"ON\",\n            \"BUILD_LOCAL_GPU_TARGET_ONLY\": \"ON\",\n            \"TRACE\": \"ON\",\n            \"COLLTRACE\": \"ON\",\n            \"CMAKE_EXPORT_COMPILE_COMMANDS\": \"ON\",\n            \"CMAKE_VERBOSE_MAKEFILE\": \"1\",\n            \"ENABLE_MPI_TESTS\": \"ON\",\n            \"MPI_PATH\": mpi_path\n        }\n\n        # Merge with user-provided CMake options (user values override defaults)\n        merged_cmake_options = {**default_cmake_options, **cmake_options}\n\n        # Build CMake command\n        cmake_cmd = [\n            \"cmake\",\n            \"-S\", workdir,\n            \"-B\", self.build_dir\n        ]\n\n        # Add CMake options as -D flags\n        for key, value in merged_cmake_options.items():\n            cmake_cmd.append(f\"-D{key}={value}\")\n\n        # Add generator\n        cmake_cmd.append(f\"-G{generator}\")\n\n        try:\n            print(\"Running CMake configuration...\")\n            if self.args.verbose:\n                print(f\"CMake command: {' '.join(cmake_cmd)}\")\n                print(f\"Build environment variables:\")\n                for key, value in build_env_vars.items():\n                    print(f\"  {key}={value}\")\n\n            result = subprocess.run(\n                cmake_cmd,\n                cwd=workdir,\n                env=env,\n                capture_output=False\n            )\n\n            if result.returncode != 0:\n                print(f\"ERROR: CMake configuration failed\")\n                return False\n\n            print(\"\\nRunning CMake build...\")\n            build_cmd = f\"cmake --build {self.build_dir} --parallel {parallel_jobs}\"\n            if self.args.verbose:\n                print(f\"Build command: {build_cmd}\")\n\n            result = subprocess.run(\n                build_cmd,\n                shell=True,\n                cwd=workdir,\n                env=env,\n                capture_output=False\n            )\n\n            if result.returncode != 0:\n                print(f\"ERROR: CMake build failed\")\n                return False\n\n            print(\"Build completed successfully\")\n            return True\n\n        except Exception as e:\n            print(f\"ERROR: Build failed with exception: {e}\")\n            return False\n\n    def _resolve_binary_path(self, binary, test_config):\n        \"\"\"\n        Resolve the test binary path using multiple strategies:\n        1. If binary is an absolute path -> use it directly\n        2. If test_binary_dir is specified in config -> use as base directory\n        3. If binary contains ${VAR} -> expand environment variables\n        4. Otherwise -> use default build_dir/test/binary\n\n        Args:\n            binary: Binary name or path from config\n            test_config: Test configuration dict\n\n        Returns:\n            str: Resolved absolute path to the binary\n        \"\"\"\n        # Strategy 1: Check if binary is already an absolute path\n        if os.path.isabs(binary):\n            expanded_path = os.path.expandvars(binary)\n            return os.path.expanduser(expanded_path)\n\n        # Strategy 2: Expand environment variables in binary path\n        if '$' in binary or '~' in binary:\n            expanded_path = os.path.expandvars(binary)\n            expanded_path = os.path.expanduser(expanded_path)\n            # If after expansion it becomes absolute, use it\n            if os.path.isabs(expanded_path):\n                return expanded_path\n            # Otherwise treat as relative to test_binary_dir or build_dir\n            binary = expanded_path\n\n        # Strategy 3: Check for custom test_binary_dir in config\n        test_binary_dir = test_config.get(\"test_binary_dir\", \"\")\n        if test_binary_dir:\n            # Expand environment variables in test_binary_dir\n            test_binary_dir = os.path.expandvars(test_binary_dir)\n            test_binary_dir = os.path.expanduser(test_binary_dir)\n            return os.path.join(test_binary_dir, binary)\n\n        # Strategy 4: Check for test_binary_dir in paths config\n        if \"test_binary_dir\" in self.paths:\n            test_binary_dir = self.paths[\"test_binary_dir\"]\n            # Expand environment variables in test_binary_dir\n            test_binary_dir = os.path.expandvars(test_binary_dir)\n            test_binary_dir = os.path.expanduser(test_binary_dir)\n            return os.path.join(test_binary_dir, binary)\n\n        # Strategy 5: Default - use build_dir/test/binary\n        return os.path.join(self.build_dir, \"test\", binary)\n\n    def run_test(self, test_config, suite_config):\n        \"\"\"\n        Run a single test\n\n        Args:\n            test_config: Test configuration dict\n            suite_config: Test suite configuration dict\n\n        Returns:\n            dict: Test result\n        \"\"\"\n        test_name = test_config.get(\"name\")\n        is_gtest = test_config.get(\"is_gtest\", True)  # Default to True for backward compatibility\n        description = test_config.get(\"description\", \"\")\n        binary = test_config.get(\"binary\", \"rccl-UnitTestsMPI\")\n\n        # Use test_filter for all test types\n        test_filter = test_config.get(\"test_filter\", \"*\")\n\n        num_ranks = test_config.get(\"num_ranks\", 1)\n        num_nodes = test_config.get(\"num_nodes\", 1)\n        num_gpus = test_config.get(\"num_gpus\", 8)  # GPUs per node (default: 8)\n        timeout = test_config.get(\"timeout\", 0)\n        env_vars = test_config.get(\"env_variables\", {})\n\n        # Support custom command arguments for non-gtest or specialized tests\n        custom_args = test_config.get(\"command_args\", \"\")\n\n        # Merge environment variables\n        merged_env = {\n            **self.global_env,\n            **suite_config.get(\"env_variables\", {}),\n            **env_vars\n        }\n\n        if self.args.verbose:\n            print(f\"\\n{'='*80}\")\n            print(f\"Test: {test_name}\")\n            print(f\"{'='*80}\")\n            if description:\n                print(f\"  Description: {description}\")\n            print(f\"  Type:    {'gtest' if is_gtest else 'non-gtest'}\")\n            print(f\"  Binary:  {binary}\")\n            print(f\"  Filter:  {test_filter}\")\n            print(f\"  Ranks:   {num_ranks}\")\n            print(f\"  Nodes:   {num_nodes}\")\n            print(f\"  GPUs/node: {num_gpus}\")\n            print(f\"  Timeout: {timeout if timeout > 0 else 'unlimited'}\")\n            print(f\"  Started: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\")\n\n        # Resolve binary path using flexible strategies\n        test_binary_path = self._resolve_binary_path(binary, test_config)\n\n        if self.args.verbose:\n            print(f\"  Binary path: {test_binary_path}\")\n\n        if not os.path.isfile(test_binary_path):\n            print(f\"ERROR: Test binary not found: {test_binary_path}\")\n            return {\n                \"name\": test_name,\n                \"result\": TestResult.RESULT_FAILED.value,\n                \"duration\": 0,\n                \"error\": f\"Binary not found: {test_binary_path}\"\n            }\n\n        # Setup environment\n        env = os.environ.copy()\n\n        # Build LD_LIBRARY_PATH with build dir and MPI lib (if available)\n        mpi_path = self.paths.get(\"mpi_path\", \"\")\n        ld_library_path_parts = [self.build_dir]\n        if mpi_path:\n            ld_library_path_parts.append(os.path.join(mpi_path, \"lib\"))\n        if env.get('LD_LIBRARY_PATH'):\n            ld_library_path_parts.append(env.get('LD_LIBRARY_PATH'))\n        env['LD_LIBRARY_PATH'] = \":\".join(ld_library_path_parts)\n\n        # Set LLVM_PROFILE_FILE for code coverage (prevents default.profraw collision)\n        env['LLVM_PROFILE_FILE'] = \"rccl_tests_%p_%m.profraw\"\n\n        # Add test-specific env vars\n        for key, value in merged_env.items():\n            env[key] = str(value)\n\n        # Build command based on test type\n        if num_ranks == 1:\n            # Non-MPI test - prepend environment variables to the command\n            env_prefix = \"\"\n            for key, value in merged_env.items():\n                env_prefix += f\"{key}={value} \"\n\n            if is_gtest:\n                # GTest-based test - use --gtest_filter syntax\n                if test_filter == \"ALL\" or test_filter == \"*\":\n                    cmd = f\"{env_prefix}./{binary}\"\n                else:\n                    cmd = f\"{env_prefix}./{binary} --gtest_filter={test_filter}\"\n\n                # Add custom arguments if provided\n                if custom_args:\n                    cmd += f\" {custom_args}\"\n            else:\n                # Non-gtest test (perf, custom, etc.) - run binary with args\n                cmd = f\"{env_prefix}./{binary}\"\n                if custom_args:\n                    cmd += f\" {custom_args}\"\n\n        else:\n            # MPI test\n            mpi_path = self.paths.get(\"mpi_path\", \"\")\n            mpi_cmd = f\"{mpi_path}/bin/mpirun\" if mpi_path else \"mpirun\"\n\n            # Use cached hostfile detected during initialization\n            hostfile = self.mpi_hostfile\n\n            # Warn if multi-node test without hostfile\n            if hostfile is None and num_nodes > 1:\n                print(\"WARNING: Multi-node test without hostfile\")\n\n            hostfile_arg = f\"--hostfile {hostfile} \" if hostfile else \"\"\n\n            # Determine mapping strategy based on num_gpus and num_nodes\n            # Use PPR (processes per resource) to place num_gpus ranks per node\n            # This ignores the slots specification in the hostfile\n            if num_nodes > 1:\n                # Multi-node test: use ppr to control ranks per node\n                map_by_arg = f\"--map-by ppr:{num_gpus}:node \"\n            else:\n                # Single node: use default mapping (no need for ppr)\n                map_by_arg = \"\"\n\n            mpi_args = (\n                f\"-np {num_ranks} \"\n                f\"{hostfile_arg}\"\n                f\"{map_by_arg}\"\n                f\"--mca btl ^vader,openib \"\n                f\"--mca pml ucx \"\n                f\"--bind-to none\"\n            )\n\n            # Add environment variables for MPI\n            for key, value in merged_env.items():\n                mpi_args += f\" -x {key}={value}\"\n\n            # Pass the LD_LIBRARY_PATH\n            mpi_args += f\" -x LD_LIBRARY_PATH={env['LD_LIBRARY_PATH']}\"\n\n            # Pass LLVM_PROFILE_FILE to MPI ranks for code coverage (prevents default.profraw collision)\n            mpi_args += f\" -x LLVM_PROFILE_FILE=rccl_tests_%p_%m.profraw\"\n\n            # Build test command based on type\n            if is_gtest:\n                # GTest-based test - use --gtest_filter syntax\n                if test_filter == \"ALL\" or test_filter == \"*\":\n                    cmd = f\"{mpi_cmd} {mpi_args} ./{binary}\"\n                else:\n                    cmd = f\"{mpi_cmd} {mpi_args} ./{binary} --gtest_filter={test_filter}\"\n\n                if custom_args:\n                    cmd += f\" {custom_args}\"\n            else:\n                # Non-gtest test (perf, custom, etc.) - run binary with args\n                cmd = f\"{mpi_cmd} {mpi_args} ./{binary}\"\n                if custom_args:\n                    cmd += f\" {custom_args}\"\n\n\n        if self.args.verbose:\n            print(f\"\\n  Command: {cmd}\")\n            print(f\"  Working directory: {os.path.join(self.build_dir, 'test')}\")\n            print(f\"  LD_LIBRARY_PATH: {env.get('LD_LIBRARY_PATH', '')}\")\n            print(f\"  LLVM_PROFILE_FILE: {env.get('LLVM_PROFILE_FILE', 'Not set')}\\n\")\n\n        # Execute test\n        start_time = time.time()\n        try:\n            if timeout > 0:\n                result = subprocess.run(\n                    cmd,\n                    shell=True,\n                    cwd=os.path.join(self.build_dir, \"test\"),\n                    env=env,\n                    capture_output=False,\n                    timeout=timeout\n                )\n            else:\n                result = subprocess.run(\n                    cmd,\n                    shell=True,\n                    cwd=os.path.join(self.build_dir, \"test\"),\n                    env=env,\n                    capture_output=False\n                )\n\n            duration = time.time() - start_time\n\n            # Determine result\n            if result.returncode == ExitCode.EXIT_SUCCESS:\n                test_result = TestResult.RESULT_PASSED.value\n            elif result.returncode == ExitCode.EXIT_TIMEOUT:\n                test_result = TestResult.RESULT_TIMEOUT.value\n            else:\n                test_result = TestResult.RESULT_FAILED.value\n\n            if self.args.verbose:\n                print(f\"\\n  Result: {test_result} ({duration:.3f} seconds)\")\n\n            return {\n                \"name\": test_name,\n                \"result\": test_result,\n                \"duration\": duration,\n                \"exit_code\": result.returncode\n            }\n\n        except subprocess.TimeoutExpired:\n            duration = time.time() - start_time\n            if self.args.verbose:\n                print(f\"\\n  Result: {TestResult.RESULT_TIMEOUT.value} after {timeout} seconds\")\n            return {\n                \"name\": test_name,\n                \"result\": TestResult.RESULT_TIMEOUT.value,\n                \"duration\": duration,\n                \"error\": f\"Test timed out after {timeout} seconds\"\n            }\n        except Exception as e:\n            duration = time.time() - start_time\n            print(f\"\\n  ERROR: {e}\")\n            return {\n                \"name\": test_name,\n                \"result\": TestResult.RESULT_FAILED.value,\n                \"duration\": duration,\n                \"error\": str(e)\n            }\n\n    def run_test_suite(self, suite_config):\n        \"\"\"\n        Run all tests in a test suite\n\n        Args:\n            suite_config: Test suite configuration dict\n\n        Returns:\n            list: List of test results\n        \"\"\"\n        suite_name = suite_config[\"suite_details\"][\"name\"]\n\n        if self.args.verbose:\n            print(f\"\\n{'='*80}\")\n            print(f\"TEST SUITE: {suite_name}\")\n            print(f\"{'='*80}\")\n\n        tests = suite_config.get(\"tests\", [])\n        if not tests:\n            if self.args.verbose:\n                print(f\"WARNING: No tests defined for test suite '{suite_name}'\")\n            return []\n\n        results = []\n        for test in tests:\n            # Filter by test name if specified\n            test_name = test.get(\"name\")\n            if self.args.test_name and test_name != self.args.test_name:\n                continue\n\n            result = self.run_test(test, suite_config)\n            results.append(result)\n\n            self.test_names.append(test_name)\n            self.test_results.append(result[\"result\"])\n            self.test_durations.append(result[\"duration\"])\n            self.test_suites.append(suite_name)  # Track suite name\n\n        return results\n\n    def print_summary(self):\n        \"\"\"Print test execution summary\"\"\"\n        total_tests = len(self.test_results)\n        passed = self.test_results.count(TestResult.RESULT_PASSED.value)\n        failed = self.test_results.count(TestResult.RESULT_FAILED.value)\n        timeout = self.test_results.count(TestResult.RESULT_TIMEOUT.value)\n\n        # Get unique test suites that were run\n        unique_suites = sorted(set(self.test_suites)) if self.test_suites else []\n\n        if total_tests > 0:\n            print(\"\\nDetailed Results:\")\n            print(\"-\"*120)\n            print(f\"{'Test Suite':<40} {'Test Name':<40} {'Result':<10} {'Duration'}\")\n            print(\"-\"*120)\n            for i in range(total_tests):\n                print(\n                    f\"{self.test_suites[i]:<40} \"\n                    f\"{self.test_names[i]:<40} \"\n                    f\"{self.test_results[i]:<10} \"\n                    f\"{self.test_durations[i]:.3f} seconds\"\n                )\n            print(\"-\"*120)\n            print(f\"Total Tests:   {total_tests}\")\n            print(f\"Passed:        {passed}\")\n            print(f\"Failed:        {failed}\")\n            print(f\"Timeout:       {timeout}\")\n            print(\"=\"*120)\n\n    def generate_coverage_report(self):\n        \"\"\"Generate code coverage report\"\"\"\n        if not self.args.coverage_report:\n            return\n\n        print(f\"\\n{'='*80}\")\n        print(\"GENERATING COVERAGE REPORT\")\n        print(f\"{'='*80}\")\n\n        # Check for profraw files\n        import glob\n        import shutil\n\n        profraw_files = glob.glob(os.path.join(self.build_dir, \"**/*.profraw\"), recursive=True)\n\n        if not profraw_files:\n            print(\"WARNING: No profraw files found. Cannot generate coverage report.\")\n            return\n\n        print(f\"Found {len(profraw_files)} profraw files\")\n\n        os.makedirs(self.report_dir, exist_ok=True)\n\n        # Create rawfiles directory\n        rawfiles_dir = os.path.join(self.log_dir, \"rawfiles\")\n        os.makedirs(rawfiles_dir, exist_ok=True)\n\n        # Move all profraw files into a single location\n        print(\"Copying profraw files...\")\n        for profraw in profraw_files:\n            shutil.copy(profraw, rawfiles_dir)\n\n        # Create a list of raw files to merge\n        rawprofiles_list = os.path.join(self.log_dir, \"rawprofiles.list\")\n        with open(rawprofiles_list, 'w') as f:\n            for profraw in glob.glob(os.path.join(rawfiles_dir, \"*.profraw\")):\n                f.write(f\"{profraw}\\n\")\n\n        # Get ROCm path for LLVM tools\n        rocm_path = self.paths.get(\"rocm_path\", \"/opt/rocm\")\n        llvm_profdata = os.path.join(rocm_path, \"lib\", \"llvm\", \"bin\", \"llvm-profdata\")\n        llvm_cov = os.path.join(rocm_path, \"lib\", \"llvm\", \"bin\", \"llvm-cov\")\n\n        # Create the merged profdata\n        print(\"Merging profraw files...\")\n        merged_profdata = os.path.join(self.log_dir, \"merged.profdata\")\n\n        merge_cmd = [\n            llvm_profdata,\n            \"merge\",\n            \"--sparse\",\n            f\"--input-files={rawprofiles_list}\",\n            f\"--output={merged_profdata}\"\n        ]\n\n        if self.args.verbose:\n            print(f\"Merge command: {' '.join(merge_cmd)}\")\n\n        try:\n            result = subprocess.run(\n                merge_cmd,\n                capture_output=True,\n                text=True,\n                check=True\n            )\n            print(\"Profraw files merged successfully\")\n            if self.args.verbose:\n                print(f\"Merged profdata file: {merged_profdata}\")\n        except subprocess.CalledProcessError as e:\n            print(f\"ERROR: Failed to merge profraw files\")\n            print(f\"Command: {' '.join(merge_cmd)}\")\n            print(f\"Error: {e.stderr}\")\n            return\n\n        # Build list of object files\n        object_files = []\n\n        librccl_so = os.path.join(self.build_dir, \"librccl.so\")\n        if os.path.isfile(librccl_so):\n            object_files.extend([\"--object\", librccl_so])\n            if self.args.verbose:\n                print(f\"Found library: {librccl_so}\")\n\n        # Add test binaries\n        test_dir = os.path.join(self.build_dir, \"test\")\n        for binary in [\"rccl-UnitTestsFixtures\", \"rccl-UnitTests\", \"rccl-UnitTestsMPI\"]:\n            binary_path = os.path.join(test_dir, binary)\n            if os.path.isfile(binary_path):\n                object_files.extend([\"--object\", binary_path])\n                if self.args.verbose:\n                    print(f\"Found binary: {binary_path}\")\n\n        if not object_files:\n            print(\"WARNING: No object files found for coverage report\")\n            return\n\n        if self.args.verbose:\n            print(f\"Total object files for coverage: {len(object_files) // 2}\")\n\n        # Ignore patterns for non-relevant files\n        ignore_regex = (\n            \".*tuner_v.*|.*profiler_v.*|.*net_v.*|.*_deps.*|ext.*|\"\n            \".*coll_net.*|.*nvls.*|.*nvml.*|.*nvtx.*|test/|.*gtest.*\"\n        )\n\n        # Create the HTML report\n        print(\"Generating HTML coverage report...\")\n        html_cmd = [\n            llvm_cov,\n            \"show\",\n            f\"--instr-profile={merged_profdata}\",\n            \"--format=html\",\n            \"--Xdemangler=c++filt\",\n            f\"--output-dir={self.report_dir}\",\n            \"--project-title=RCCL_Lib_Coverage_Report\",\n            f\"--ignore-filename-regex={ignore_regex}\"\n        ]\n        html_cmd.extend(object_files)\n\n        if self.args.verbose:\n            print(f\"HTML coverage command: {' '.join(html_cmd)}\")\n\n        try:\n            result = subprocess.run(\n                html_cmd,\n                capture_output=True,\n                text=True,\n                check=True\n            )\n            print(f\"HTML coverage report generated: {self.report_dir}/index.html\")\n        except subprocess.CalledProcessError as e:\n            print(f\"ERROR: Failed to generate HTML coverage report\")\n            print(f\"Error: {e.stderr}\")\n            if self.args.verbose:\n                print(f\"Command was: {' '.join(html_cmd)}\")\n\n        # Generate function coverage summary (text report)\n        print(\"Generating text coverage report...\")\n        text_report = os.path.join(self.report_dir, \"function_coverage_report.txt\")\n\n        # Build command matching bash script exactly\n        text_cmd = [\n            llvm_cov,\n            \"report\",\n            f\"--instr-profile={merged_profdata}\",\n            \"--Xdemangler=c++filt\"\n        ]\n        # Add object files first\n        text_cmd.extend(object_files)\n        # Add remaining options - matching bash script order\n        text_cmd.extend([\n            f\"--ignore-filename-regex={ignore_regex}\",\n            \"--show-functions\",\n            \"--sources\",\n            self.build_dir\n        ])\n\n        if self.args.verbose:\n            print(f\"Text coverage command: {' '.join(text_cmd)}\")\n\n        try:\n            with open(text_report, 'w') as f:\n                result = subprocess.run(\n                    text_cmd,\n                    stdout=f,\n                    stderr=subprocess.PIPE,\n                    text=True,\n                    check=True\n                )\n            print(f\"Function coverage report generated: {text_report}\")\n\n        except subprocess.CalledProcessError as e:\n            print(f\"ERROR: Failed to generate text coverage report\")\n            print(f\"Error: {e.stderr}\")\n            if self.args.verbose:\n                print(f\"Command was: {' '.join(text_cmd)}\")\n\n        print(f\"\\n{'='*80}\")\n        print(\"COVERAGE REPORT GENERATION COMPLETE\")\n        print(f\"{'='*80}\")\n        print(f\"Report directory: {self.report_dir}\")\n        print(f\"HTML report: {self.report_dir}/index.html\")\n        print(f\"Text report: {text_report}\")\n\n"
  },
  {
    "path": "tools/scripts/test_runner/lib/test_parser.py",
    "content": "#!/usr/bin/env python3\n# Copyright (c) Advanced Micro Devices, Inc. All rights reserved.\n#\n# See LICENSE.txt for license information\n\"\"\"\nTest Parser Module\nHandles command-line argument parsing and test output parsing\n\"\"\"\n\nimport re\nimport argparse\n\n\nclass ArgumentParserInterface:\n    \"\"\"Command-line argument parser for RCCL test runner\"\"\"\n\n    def __init__(self):\n        self.parser = argparse.ArgumentParser(\n            description=\"RCCL Test Runner - Execute and manage RCCL unit tests and MPI tests\",\n            formatter_class=argparse.RawDescriptionHelpFormatter,\n            epilog=\"\"\"\nExamples:\n  # Run all tests from config\n  %(prog)s -c test_config.json\n\n  # Run specific test\n  %(prog)s -c test_config.json --test-name NET_AllTests_2Nodes_ETH\n\n  # Run with verbose output\n  %(prog)s -c test_config.json -v\n\n  # Skip build and use existing build\n  %(prog)s -c test_config.json --no-build\n\n  # Generate coverage report from existing data\n  %(prog)s -c test_config.json --no-build --skip-tests --coverage-report\n            \"\"\"\n        )\n\n    def add_arguments(self):\n        \"\"\"Add all command-line arguments\"\"\"\n        self.parser.add_argument(\n            '-c', '--config',\n            type=str,\n            required=True,\n            help=\"Test configuration file (JSON format)\"\n        )\n        self.parser.add_argument(\n            '-v', '--verbose',\n            action='store_true',\n            help=\"Enable verbose output (detailed logging)\"\n        )\n        self.parser.add_argument(\n            '-o', '--output',\n            type=str,\n            help=\"Output directory for logs and reports (default: auto-generated)\"\n        )\n        self.parser.add_argument(\n            '--test-name',\n            type=str,\n            help=\"Run only specific test by name\"\n        )\n        self.parser.add_argument(\n            '--no-build',\n            action='store_true',\n            help=\"Skip build step and use existing build artifacts\"\n        )\n        self.parser.add_argument(\n            '--skip-tests',\n            action='store_true',\n            help=\"Skip test execution (useful with --coverage-report)\"\n        )\n        self.parser.add_argument(\n            '--coverage-report',\n            action='store_true',\n            help=\"Generate code coverage report from profraw files\"\n        )\n        self.parser.add_argument(\n            '--overwrite',\n            action='store_true',\n            help=\"Overwrite previous build/log directories (default: append timestamp)\"\n        )\n        self.parser.add_argument(\n            '--report-suffix',\n            type=str,\n            default='',\n            help=\"Suffix for report directory name (default: blank)\"\n        )\n\n    def parse_arguments(self):\n        \"\"\"Parse command-line arguments\"\"\"\n        return self.parser.parse_args()\n\n    def process_arguments(self):\n        \"\"\"Process and validate command-line arguments\"\"\"\n        self.add_arguments()\n        args = self.parse_arguments()\n        self.handle_arguments(args)\n        return args\n\n    def handle_arguments(self, args):\n        \"\"\"Handle and display parsed arguments\"\"\"\n        if args.verbose:\n            print(\"=\"*80)\n            print(\"RCCL Test Runner - Configuration\")\n            print(\"=\"*80)\n            print(f\"Config file:       {args.config}\")\n            print(f\"Verbose mode:      {args.verbose}\")\n            print(f\"Output dir:        {args.output if args.output else 'auto-generated'}\")\n            print(f\"Test name filter:  {args.test_name if args.test_name else 'all tests'}\")\n            print(f\"No build:          {args.no_build}\")\n            print(f\"Skip tests:        {args.skip_tests}\")\n            print(f\"Coverage report:   {args.coverage_report}\")\n            print(f\"Overwrite:         {args.overwrite}\")\n            print(f\"Report suffix:     {args.report_suffix}\")\n            print(\"=\"*80)\n            print()\n\n\ndef parse_test_output(output):\n    \"\"\"\n    Parse test output and extract results\n\n    Args:\n        output: String containing test output\n\n    Returns:\n        dict: Parsed test results including pass/fail status\n    \"\"\"\n    results = {\n        'passed': False,\n        'failed': False,\n        'skipped': False,\n        'tests_run': 0,\n        'tests_passed': 0,\n        'tests_failed': 0,\n        'errors': []\n    }\n\n    # Google Test output patterns\n    gtest_passed = re.search(r'\\[\\s*PASSED\\s*\\]\\s*(\\d+)\\s*test', output)\n    gtest_failed = re.search(r'\\[\\s*FAILED\\s*\\]\\s*(\\d+)\\s*test', output)\n    gtest_run = re.search(r'\\[==========\\]\\s*(\\d+)\\s*test.*ran', output)\n\n    if gtest_run:\n        results['tests_run'] = int(gtest_run.group(1))\n\n    if gtest_passed:\n        results['tests_passed'] = int(gtest_passed.group(1))\n\n    if gtest_failed:\n        results['tests_failed'] = int(gtest_failed.group(1))\n        results['failed'] = True\n    else:\n        results['passed'] = results['tests_run'] > 0\n\n    # Check for skipped tests\n    if 'SKIPPED' in output or 'Skipped' in output:\n        results['skipped'] = True\n\n    # Extract error messages\n    error_pattern = re.compile(r'(ERROR|FAILED|TIMEOUT).*', re.MULTILINE)\n    errors = error_pattern.findall(output)\n    results['errors'] = errors[:10]  # Limit to first 10 errors\n\n    return results\n\n"
  },
  {
    "path": "tools/scripts/test_runner/test_runner.py",
    "content": "#!/usr/bin/env python3\n\"\"\"\nRCCL Test Runner\nMain script for executing RCCL unit tests and MPI tests with hierarchical configuration\n\"\"\"\n\nimport sys\nimport os\nimport json\nimport logging\n\nfrom lib.test_parser import ArgumentParserInterface\nfrom lib.test_config import TestConfigProcessor\nfrom lib.test_executor import TestExecutor\n\n# Configure logging\nlogging.basicConfig(\n    level=logging.INFO,\n    format='%(asctime)s - %(levelname)s - %(message)s'\n)\n\ndef main():\n    \"\"\"Main entry point for test runner\"\"\"\n\n    # Parse command-line arguments\n    parser_interface = ArgumentParserInterface()\n    args = parser_interface.process_arguments()\n\n    # Validate config file exists\n    if not os.path.exists(args.config):\n        print(f\"ERROR: Configuration file not found: {args.config}\")\n        if args.verbose:\n            print(\"Exiting: Missing configuration file\")\n        return\n\n    try:\n        # Load and validate configuration\n        if args.verbose:\n            print(\"Loading configuration...\")\n        config_processor = TestConfigProcessor(args.config)\n        config_processor.validate_config()\n\n        # Create test executor\n        executor = TestExecutor(config_processor, args)\n\n        # Check environment\n        if not executor.check_environment():\n            if args.verbose:\n                print(\"Exiting: Environment check failed\")\n            return\n\n        # Build RCCL (if not --no-build)\n        if not args.no_build:\n            if not executor.build_rccl():\n                print(\"ERROR: Build failed\")\n                if args.verbose:\n                    print(\"Exiting: RCCL build failed\")\n                return\n\n        # Parse and run test suites\n        if not args.skip_tests:\n            if args.verbose:\n                print(\"\\nParsing test suites...\")\n            test_suites = config_processor.parse_test_suites()\n\n            if args.verbose:\n                print(\"\\nCombined Test Suites (JSON):\")\n                print(json.dumps(test_suites, indent=2))\n                print()\n                print(f\"Found {len(test_suites)} test suite(s)\")\n\n            # Print skip messages for disabled test suites upfront\n            print()\n            for suite in test_suites:\n                suite_name = suite[\"suite_details\"][\"name\"]\n                enabled = suite[\"suite_details\"].get(\"enabled\", True)\n                if not enabled:\n                    print(f\"SKIP: Test suite '{suite_name}' is disabled\")\n\n            # Run only enabled test suites\n            all_results = []\n            for suite in test_suites:\n                enabled = suite[\"suite_details\"].get(\"enabled\", True)\n                if enabled:\n                    results = executor.run_test_suite(suite)\n                    all_results.extend(results)\n\n            # Print summary once at the end\n            executor.print_summary()\n\n        # Generate coverage report\n        executor.generate_coverage_report()\n\n        # Return based on results\n        if executor.test_results:\n            from lib.test_executor import TestResult\n            failed = executor.test_results.count(TestResult.RESULT_FAILED.value)\n            timeout = executor.test_results.count(TestResult.RESULT_TIMEOUT.value)\n            if failed > 0 or timeout > 0:\n                if args.verbose:\n                    print(f\"Exiting: Tests failed (failed={failed}, timeout={timeout})\")\n                return\n\n        if args.verbose:\n            print(\"Exiting: Test run completed successfully\")\n        return\n\n    except KeyboardInterrupt:\n        print(\"\\n\\nInterrupted by user\")\n        if args.verbose:\n            print(\"Exiting: User interrupted execution\")\n        return\n    except Exception as e:\n        print(f\"\\nERROR: {e}\")\n        if args.verbose:\n            import traceback\n            traceback.print_exc()\n            print(\"Exiting: Unhandled exception occurred\")\n        return\n\n\nif __name__ == \"__main__\":\n    main()\n\n"
  },
  {
    "path": "tools/scripts/topo_val.sh",
    "content": "#!/bin/bash\n# Copyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in\n# all copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n# THE SOFTWARE.\n\nDIR=\"$(cd -P \"$(dirname \"${BASH_SOURCE[0]}\")\" && pwd)\"\n\nfor i in {0..88}\ndo\n\tif [[ $i -eq 50 ]] || [[ $i -eq 51 ]]\n\tthen\n\t\tNCCL_COLLNET_ENABLE=1 $DIR/../topo_expl/topo_expl -m $i > \"topo_m$i.log\"\n\telif [[ $i -eq 54 ]]\n\tthen\n\t\tRCCL_ENABLE_MULTIPLE_SAT=1 NCCL_COLLNET_ENABLE=1 $DIR/../topo_expl/topo_expl -m $i > \"topo_m$i.log\"\n\telse\n\t\t$DIR/../topo_expl/topo_expl -m $i > \"topo_m$i.log\"\n\tfi\n\t$DIR/../TopoVisual/topo_visual.sh -i \"topo_m$i.log\"\ndone\n"
  },
  {
    "path": "tools/scripts/ucx_ompi_rccl_rccltests_TB_script.sh",
    "content": "#!/bin/bash\n\n#==================================================\n# Configuration options\n#==================================================\n# ROCm location\nexport MY_ROCM_DIR=/opt/rocm\n\n# hip location\nexport MY_HIP_DIR=/opt/rocm/hip\n\n# UCX configuration options\nexport MY_UCX_SOURCE=https://github.com/openucx/ucx.git\nexport MY_UCX_BRANCH=v1.15.x\nexport MY_UCX_DIR=$PWD/ucx/install\n\n# OpenMPI configuration options\nexport MY_OMPI_SOURCE=https://github.com/open-mpi/ompi.git\nexport MY_OMPI_BRANCH=v5.0.x\nexport MY_OMPI_DIR=$PWD/ompi/install\n\n# HIP MPI testsuite\nexport MY_HIP_MPI_TEST_SOURCE=git@github.com:ROCm/hip-mpi-testsuite.git\nexport MY_HIP_MPI_TEST_DIR=$PWD/hip-mpi-testsuite\n\n# OSU Benchmark configuration options\nexport MY_OSU_SOURCE=https://mvapich.cse.ohio-state.edu/download/mvapich\nexport MY_OSU_FILE=osu-micro-benchmarks-7.2.tar.gz\nexport MY_OSU_DIR=$PWD/osu-micro-benchmarks-7.2\n\n# RCCL configuration options\nexport MY_RCCL_SOURCE=https://github.com/ROCm/rccl.git\nexport MY_RCCL_BRANCH=develop\nexport MY_RCCL_DIR=$PWD/rccl\n\n# RCCL-tests configuration options\nexport MY_RCCL_TESTS_SOURCE=https://github.com/ROCm/rccl-tests.git\nexport MY_RCCL_TESTS_BRANCH=master\nexport MY_RCCL_TESTS_DIR=$PWD/rccl-tests\n\n# Transferbench configuration options\nexport MY_TRANSFERBENCH_SOURCE=https://github.com/ROCm/TransferBench.git\nexport MY_TRANSFERBENCH_BRANCH=develop\nexport MY_TRANSFERBENCH_DIR=$PWD/TransferBench\n\n# Results location\nexport MY_RESULTS_DIR=$PWD/output\n\n# Compilation location\nexport MY_COMPILATION_DIR=$PWD/output\n\nmkdir $PWD/output\n\n# Step 0: Calculate the number of GPUs\nNUMBER_OF_GPUS=\"$(/opt/rocm/bin/rocm_agent_enumerator | wc -l)\"\nNUMBER_OF_GPUS=$((NUMBER_OF_GPUS-1))\necho \"The number of GPUs is : $NUMBER_OF_GPUS\"\n\n# Step 1: Build UCX with ROCm support\necho \"Step 1: Install UCX?\"\nread -p '(y/n) ' RESPONSE\nif [ \"$RESPONSE\" = \"y\" ]; then    \n    Build_UCX=PASSED\n    echo \"Cloning fresh copy of UCX: $MY_UCX_BRANCH\"\n    rm -rf ucx || Build_UCX=FAILED\n    git clone $MY_UCX_SOURCE -b $MY_UCX_BRANCH || Build_UCX=FAILED\n    cd ucx || Build_UCX=FAILED\n    ./autogen.sh | tee -a $MY_COMPILATION_DIR/compile.log || Build_UCX=FAILED\n    mkdir -p build || Build_UCX=FAILED\n    cd build || Build_UCX=FAILED\n    ../configure --prefix=$MY_UCX_DIR --with-rocm=$MY_ROCM_DIR --without-knem --enable-gtest | tee -a $MY_COMPILATION_DIR/compile.log || Build_UCX=FAILED\n    make -j | tee -a $MY_COMPILATION_DIR/compile.log || Build_UCX=FAILED\n    make install | tee -a $MY_COMPILATION_DIR/compile.log || Build_UCX=FAILED\n    cd ../.. || Build_UCX=FAILED\nelse Build_UCX=SKIPPED\nfi\n\n# Step 2: UCX unit tests\necho \"Step 2: Run UCX gtests?\"\nread -p '(y/n) ' RESPONSE\nif [ \"$RESPONSE\" = \"y\" ]; then\n    Run_UCX_gtests=PASSED\n    export LD_LIBRARY_PATH=$MY_UCX_DIR/lib:$MY_ROCM_LIB/lib:$LD_LIBRARY_PATH\n    cd $MY_UCX_DIR/../build || Run_UCX_gtests=FAILED\n    ./test/gtest/gtest --gtest_filter=*rocm*:-*Pitch* | tee -a $MY_RESULTS_DIR/results.log || Run_UCX_gtests=FAILED\n    cd ../../ || Run_UCX_gtests=FAILED\nelse Run_UCX_gtests=SKIPPED \nfi\n\n# Step 3: Install OpenMPI with UCX support\necho \"Step 3: Install OpenMPI?\"\nread -p '(y/n) ' RESPONSE\nif [ \"$RESPONSE\" = \"y\" ]; then\n    Install_OpenMPI=PASSED\n    echo \"Cloning fresh copy of OpenMPI: $MY_OMPI_BRANCH\"\n    rm -rf ompi || Install_OpenMPI=FAILED\n    git clone --recursive $MY_OMPI_SOURCE -b $MY_OMPI_BRANCH || Install_OpenMPI=FAILED\n    cd ompi || Install_OpenMPI=FAILED\n    ./autogen.pl | tee -a $MY_COMPILATION_DIR/compile.log || Install_OpenMPI=FAILED\n    mkdir -p build || Install_OpenMPI=FAILED\n    cd build || Install_OpenMPI=FAILED\n    ../configure --prefix=$MY_OMPI_DIR --with-rocm=$MY_ROCM_DIR --with-ucx=$MY_UCX_DIR --disable-sphinx --disable-oshmem --disable-mpi-fortran --with-prrte=internal --with-hwloc=internal --with-libevent=internal | tee -a $MY_COMPILATION_DIR/compile.log || Install_OpenMPI=FAILED\n    make -j | tee -a $MY_COMPILATION_DIR/compile.log || Install_OpenMPI=FAILED\n    make install | tee -a $MY_COMPILATION_DIR/compile.log || Install_OpenMPI=FAILED\n    cd ../.. || Install_OpenMPI=FAILED\nelse Install_OpenMPI=SKIPPED\nfi\n\n# Step 4: Install hip-mpi-testsuite benchmarks\necho \"Step 4: Install hip-mpi-testsuite benchmarks?\"\nread -p '(y/n) ' RESPONSE\nif [ \"$RESPONSE\" = \"y\" ]; then\n    Install_hip_mpi_testsuite=PASSED\n    rm -rf $MY_HIP_MPI_TEST_DIR || Install_hip_mpi_testsuite=FAILED\n    git clone $MY_HIP_MPI_TEST_SOURCE | tee -a $MY_COMPILATION_DIR/compile.log || Install_hip_mpi_testsuite=FAILED\n    cd $MY_HIP_MPI_TEST_DIR || Install_hip_mpi_testsuite=FAILED\n    export LD_LIBRARY_PATH=$MY_OMPI_DIR/lib:$MY_UCX_DIR/lib:$MY_ROCM_DIR/lib:$LD_LIBRARY_PATH\n    export PATH=$MY_OMPI_DIR/bin:$PATH\n    ./configure CXX=mpiCC --with-rocm=$MY_ROCM_DIR | tee -a $MY_COMPILATION_DIR/compile.log || Install_hip_mpi_testsuite=FAILED\n    make -j | tee -a $MY_COMPILATION_DIR/compile.log || Install_hip_mpi_testsuite=FAILED\n    cd .. || Install_hip_mpi_testsuite=FAILED\nelse Install_hip_mpi_testsuite=SKIPPED\nfi\n\n# Step 5: Run hip-mpi-testsuite benchmarks\necho \"Step 5: Run hip-mpi-testsuite benchmarks?\"\nread -p '(y/n) ' RESPONSE\nif [ \"$RESPONSE\" = \"y\" ]; then\n    Run_hip_mpi_testsuite=PASSED\n    cd $MY_HIP_MPI_TEST_DIR || Run_hip_mpi_testsuite=FAILED\n    export LD_LIBRARY_PATH=$MY_OMPI_DIR/lib:$MY_UCX_DIR/lib:$MY_ROCM_DIR/lib:$LD_LIBRARY_PATH\n    export PATH=$MY_OMPI_DIR/bin:$PATH\n    cd scripts/ || Run_hip_mpi_testsuite=FAILED\n    ./run_all.sh | tee -a $MY_RESULTS_DIR/results.log || Run_hip_mpi_testsuite=FAILED\n    cd ../.. || Run_hip_mpi_testsuite=FAILED\nelse Run_hip_mpi_testsuite=SKIPPED\nfi\n\n# Step 6: Install OSU benchmarks\necho \"Step 6: Install OSU benchmarks?\"\nread -p '(y/n) ' RESPONSE\nif [ \"$RESPONSE\" = \"y\" ]; then\n    Install_OSU=PASSED\n    echo \"Fetching fresh copy of OSU benchmarks\"\n    rm -rf $MY_OSU_DIR || Install_OSU=FAILED\n    wget $MY_OSU_SOURCE/$MY_OSU_FILE || Install_OSU=FAILED\n    tar -xzf $MY_OSU_FILE || Install_OSU=FAILED\n\n    cd $MY_OSU_DIR || Install_OSU=FAILED\n    autoreconf -ivf | tee -a $MY_COMPILATION_DIR/compile.log || Install_OSU=FAILED\n    export LD_LIBRARY_PATH=$MY_OMPI_DIR/lib:$MY_UCX_DIR/lib:$MY_ROCM_DIR/lib:$LD_LIBRARY_PATH\n    export PATH=$MY_OMPI_DIR/bin:$PATH\n    ./configure --enable-rocm --with-rocm=$MY_ROCM_DIR CC=$MY_OMPI_DIR/bin/mpicc CXX=$MY_OMPI_DIR/bin/mpicxx LDFLAGS=\"-L$MY_OMPI_DIR/lib/ -lmpi -L$MY_ROCM_DIR/lib/ -lamdhip64\" | tee -a $MY_COMPILATION_DIR/compile.log || Install_OSU=FAILED\n    make -j 8 | tee -a $MY_COMPILATION_DIR/compile.log || Install_OSU=FAILED\n    cd .. || Install_OSU=FAILED\nelse Install_OSU=SKIPPED\nfi\n\n# Step 7: OSU pt2pt bw tests\necho \"Step 7: Run OSU pt2pt bw benchmarks?\"\nread -p '(y/n) ' RESPONSE\nif [ \"$RESPONSE\" = \"y\" ]; then\n    OSU_pt2pt_bw_test=PASSED\n    cd $MY_OSU_DIR || OSU_pt2pt_bw_test=FAILED\n    export LD_LIBRARY_PATH=$MY_OMPI_DIR/lib:$MY_UCX_DIR/lib:$MY_ROCM_DIR/lib:$LD_LIBRARY_PATH\n    export PATH=$MY_OMPI_DIR/bin:$PATH\n        for MEM1 in D H; do\n        for MEM2 in D H; do\n            $MY_OMPI_DIR/bin/mpirun -np 2 --mca osc ucx --mca pml ucx -x LD_LIBRARY_PATH ./c/mpi/pt2pt/standard/osu_bw $MEM1 $MEM2 | tee -a $MY_RESULTS_DIR/results.log || OSU_pt2pt_bw_test=FAILED\n        done\n        done\n    cd ../\nelse OSU_pt2pt_bw_test=SKIPPED\nfi\n\n# Step 8: OSU pt2pt latency tests\necho \"Step 8: Run OSU pt2pt latency benchmarks?\"\nread -p '(y/n) ' RESPONSE\nif [ \"$RESPONSE\" = \"y\" ]; then\n    OSU_pt2pt_latency_test=PASSED\n    cd $MY_OSU_DIR || OSU_pt2pt_latency_test=FAILED\n    export LD_LIBRARY_PATH=$MY_OMPI_DIR/lib:$MY_UCX_DIR/lib:$MY_ROCM_DIR/lib:$LD_LIBRARY_PATH\n    export PATH=$MY_OMPI_DIR/bin:$PATH\n        for MEM1 in D H; do\n        for MEM2 in D H; do\n            $MY_OMPI_DIR/bin/mpirun -np 2 --mca osc ucx --mca pml ucx -x LD_LIBRARY_PATH ./c/mpi/pt2pt/standard/osu_latency $MEM1 $MEM2 | tee -a $MY_RESULTS_DIR/results.log || OSU_pt2pt_latency_test=FAILED\n        done\n        done\n    cd ../\nelse OSU_pt2pt_latency_test=SKIPPED\nfi\n\n# Step 9: OSU collective tests\necho \"Step 9: Run OSU collective benchmarks?\"\nread -p '(y/n) ' RESPONSE\nif [ \"$RESPONSE\" = \"y\" ]; then\n    OSU_collective_tests=PASSED\n    cd $MY_OSU_DIR || OSU_collective_tests=FAILED\n    export LD_LIBRARY_PATH=$MY_OMPI_DIR/lib:$MY_UCX_DIR/lib:$MY_ROCM_DIR/lib:$LD_LIBRARY_PATH\n    export PATH=$MY_OMPI_DIR/bin:$PATH\n       $MY_OMPI_DIR/bin/mpirun --mca coll ^hcoll,han,adapt --mca osc ucx --mca pml ucx -x LD_LIBRARY_PATH -np $NUMBER_OF_GPUS ./c/mpi/collective/blocking/osu_bcast -m :33554432 -d rocm | tee -a $MY_RESULTS_DIR/results.log || OSU_collective_tests=FAILED\n       $MY_OMPI_DIR/bin/mpirun --mca coll ^hcoll,han,adapt --mca osc ucx --mca pml ucx -x LD_LIBRARY_PATH -np $NUMBER_OF_GPUS ./c/mpi/collective/blocking/osu_reduce -m :33554432 -d rocm | tee -a $MY_RESULTS_DIR/results.log || OSU_collective_tests=FAILED\n       $MY_OMPI_DIR/bin/mpirun --mca coll ^hcoll,han,adapt --mca osc ucx --mca pml ucx -x LD_LIBRARY_PATH -np $NUMBER_OF_GPUS ./c/mpi/collective/blocking/osu_gather -m :33554432 -d rocm | tee -a $MY_RESULTS_DIR/results.log || OSU_collective_tests=FAILED\n       $MY_OMPI_DIR/bin/mpirun --mca coll ^hcoll,han,adapt --mca osc ucx --mca pml ucx -x LD_LIBRARY_PATH -np $NUMBER_OF_GPUS ./c/mpi/collective/blocking/osu_scatter -m :33554432 -d rocm | tee -a $MY_RESULTS_DIR/results.log || OSU_collective_tests=FAILED\n       $MY_OMPI_DIR/bin/mpirun --mca coll ^hcoll,han,adapt --mca osc ucx --mca pml ucx -x LD_LIBRARY_PATH -np $NUMBER_OF_GPUS ./c/mpi/collective/blocking/osu_allgather -m :33554432 -d rocm | tee -a $MY_RESULTS_DIR/results.log || OSU_collective_tests=FAILED\n       $MY_OMPI_DIR/bin/mpirun --mca coll ^hcoll,han,adapt --mca osc ucx --mca pml ucx -x LD_LIBRARY_PATH -np $NUMBER_OF_GPUS ./c/mpi/collective/blocking/osu_alltoall -m :33554432 -d rocm | tee -a $MY_RESULTS_DIR/results.log || OSU_collective_tests=FAILED\n    cd ../ || OSU_collective_tests=FAILED\nelse OSU_collective_tests=SKIPPED\nfi\n\n# Step 10: Install RCCL\necho \"Step 10: Install RCCL?\"\nread -p '(y/n) ' RESPONSE\nif [ \"$RESPONSE\" = \"y\" ]; then\n    Install_RCCL=PASSED\n    rm -rf $MY_RCCL_DIR || Install_RCCL=FAILED\n    git clone $MY_RCCL_SOURCE -b $MY_RCCL_BRANCH || Install_RCCL=FAILED\n    cd $MY_RCCL_DIR || Install_RCCL=FAILED\n    export LD_LIBRARY_PATH=$MY_ROCM_DIR/lib:$LD_LIBRARY_PATH\n    ./install.sh -dt | tee -a $MY_COMPILATION_DIR/compile.log || Install_RCCL=FAILED\n    cd .. || Install_RCCL=FAILED\nelse Install_RCCL=SKIPPED\nfi\n\n# Step 11: Run RCCL Unittests\necho \"Step 11: Run RCCL Unittests?\"\nread -p '(y/n) ' RESPONSE\nif [ \"$RESPONSE\" = \"y\" ]; then\n    Run_RCCL_Unittests=PASSED\n    cd $MY_RCCL_DIR || Run_RCCL_Unittests=FAILED\n    export LD_LIBRARY_PATH=$MY_RCCL_DIR/build/release:$MY_ROCM_DIR/lib:$LD_LIBRARY_PATH\n    HSA_FORCE_FINE_GRAIN_PCIE=1 ./build/release/test/rccl-UnitTests | tee -a $MY_RESULTS_DIR/results.log || Run_RCCL_Unittests=FAILED\n    cd .. || Run_RCCL_Unittests=FAILED\nelse Run_RCCL_Unittests=SKIPPED\nfi\n\n# Step 12: Install RCCL-tests\necho \"Step 12: Install RCCL-tests?\"\nread -p '(y/n) ' RESPONSE\nif [ \"$RESPONSE\" = \"y\" ]; then\n    Install_RCCL_tests=PASSED\n    rm -rf $MY_RCCL_TESTS_DIR || Install_RCCL_tests=FAILED\n    git clone $MY_RCCL_TESTS_SOURCE -b $MY_RCCL_TESTS_BRANCH || Install_RCCL_tests=FAILED\n    cd $MY_RCCL_TESTS_DIR || Install_RCCL_tests=FAILED\n    export LD_LIBRARY_PATH=$MY_ROCM_DIR/lib:$LD_LIBRARY_PATH\n    make MPI=1 MPI_HOME=$MY_OMPI_DIR HIP_HOME=$MY_HIP_DIR RCCL_HOME=$MY_RCCL_DIR/build/release | tee -a $MY_COMPILATION_DIR/compile.log || Install_RCCL_tests=FAILED\n    cd .. || Install_RCCL_tests=FAILED\nelse Install_RCCL_tests=SKIPPED\nfi\n\n# Step 13: Run RCCL-tests\necho \"Step 13: Run RCCL-tests?\"\nread -p '(y/n) ' RESPONSE\nif [ \"$RESPONSE\" = \"y\" ]; then\n    Run_RCCL_tests=PASSED\n    cd $MY_RCCL_TESTS_DIR || Run_RCCL_tests=FAILED\n    export LD_LIBRARY_PATH=$MY_OMPI_DIR/lib:$MY_RCCL_DIR/build/release:$LD_LIBRARY_PATH\n    export PATH=$MY_OMPI_DIR/bin:$MY_ROCM_DIR/bin:$PATH\n    set -x\n    HSA_FORCE_FINE_GRAIN_PCIE=1 mpirun -np $NUMBER_OF_GPUS ./build/broadcast_perf -b 16 -e 4G -f 2 -g 1 -c 1 | tee -a $MY_RESULTS_DIR/results.log || Run_RCCL_tests=FAILED\n    HSA_FORCE_FINE_GRAIN_PCIE=1 mpirun -np $NUMBER_OF_GPUS ./build/reduce_perf -b 16 -e 4G -f 2 -g 1 -c 1 | tee -a $MY_RESULTS_DIR/results.log || Run_RCCL_tests=FAILED\n    HSA_FORCE_FINE_GRAIN_PCIE=1 mpirun -np $NUMBER_OF_GPUS ./build/scatter_perf -b 16 -e 4G -f 2 -g 1 -c 1 | tee -a $MY_RESULTS_DIR/results.log || Run_RCCL_tests=FAILED\n    HSA_FORCE_FINE_GRAIN_PCIE=1 mpirun -np $NUMBER_OF_GPUS ./build/all_gather_perf -b 16 -e 4G -f 2 -g 1 -c 1 | tee -a $MY_RESULTS_DIR/results.log || Run_RCCL_tests=FAILED\n    HSA_FORCE_FINE_GRAIN_PCIE=1 mpirun -np $NUMBER_OF_GPUS ./build/sendrecv_perf -b 16 -e 4G -f 2 -g 1 -c 1 | tee -a $MY_RESULTS_DIR/results.log || Run_RCCL_tests=FAILED\n    HSA_FORCE_FINE_GRAIN_PCIE=1 mpirun -np $NUMBER_OF_GPUS ./build/gather_perf -b 16 -e 4G -f 2 -g 1 -c 1 | tee -a $MY_RESULTS_DIR/results.log || Run_RCCL_tests=FAILED\n    HSA_FORCE_FINE_GRAIN_PCIE=1 mpirun -np $NUMBER_OF_GPUS ./build/alltoall_perf -b 16 -e 4G -f 2 -g 1 -c 1 | tee -a $MY_RESULTS_DIR/results.log || Run_RCCL_tests=FAILED\n    HSA_FORCE_FINE_GRAIN_PCIE=1 mpirun -np $NUMBER_OF_GPUS ./build/all_reduce_perf -b 16 -e 4G -f 2 -g 1 -c 1 | tee -a $MY_RESULTS_DIR/results.log || Run_RCCL_tests=FAILED\n    cd .. || Run_RCCL_tests=FAILED\nelse Run_RCCL_tests=SKIPPED\nfi\n\n# Step 14: Install and Run TransferBench\necho \"Step 14: Run TransferBench?\"\nread -p '(y/n) ' RESPONSE\nif [ \"$RESPONSE\" = \"y\" ]; then\n    Install_Run_TransferBench=PASSED\n    rm -rf $MY_TRANSFERBENCH_DIR || Install_Run_TransferBench=FAILED\n    git clone $MY_TRANSFERBENCH_SOURCE -b $MY_TRANSFERBENCH_BRANCH || Install_Run_TransferBench=FAILED\n    cd $MY_TRANSFERBENCH_DIR || Install_Run_TransferBench=FAILED\n    mkdir build || Install_Run_TransferBench=FAILED\n    cd build || Install_Run_TransferBench=FAILED\n    CXX=$MY_ROCM_DIR/bin/hipcc cmake .. | tee -a $MY_COMPILATION_DIR/compile.log || Install_Run_TransferBench=FAILED\n    make | tee -a $MY_COMPILATION_DIR/compile.log || Install_Run_TransferBench=FAILED\n    cd .. || Install_Run_TransferBench=FAILED\n    ./TransferBench | tee -a $MY_RESULTS_DIR/results.log || Install_Run_TransferBench=FAILED\n    ./TransferBench p2p | tee -a $MY_RESULTS_DIR/results.log || Install_Run_TransferBench=FAILED\n    cd .. || Install_Run_TransferBench=FAILED\nelse Install_Run_TransferBench=SKIPPED\nfi\n\necho \"Step 1: Install UCX?: $Build_UCX\"\necho \"Step 2: Run UCX gtests? : $Run_UCX_gtests\"\necho \"Step 3: Install OpenMPI? : $Install_OpenMPI\"\necho \"Step 4: Install hip-mpi-testsuite benchmarks? : $Install_hip_mpi_testsuite\"\necho \"Step 5: Run hip-mpi-testsuite benchmarks? : $Run_hip_mpi_testsuite\"\necho \"Step 6: Install OSU benchmarks? : $Install_OSU\"\necho \"Step 7: Run OSU pt2pt bw benchmarks? : $OSU_pt2pt_bw_test\"\necho \"Step 8: Run OSU pt2pt latency benchmarks? : $OSU_pt2pt_latency_test\"\necho \"Step 9: Run OSU collective benchmarks?: $OSU_collective_tests\"\necho \"Step 10: Install RCCL? : $Install_RCCL\"\necho \"Step 11: Run RCCL Unittests? : $Run_RCCL_Unittests\"\necho \"Step 12: Install RCCL-tests? : $Install_RCCL_tests\"\necho \"Step 13: Run RCCL-tests? : $Run_RCCL_tests\"\necho \"Step 14: Run TransferBench? : $Install_Run_TransferBench\"\n\n\n"
  },
  {
    "path": "tools/time-trace/rccl-TimeTrace.sh",
    "content": "#!/bin/bash\n\n# Directory path to search for JSON files\ndirectory=\"../../build/release\"\n\nif command -v pip &>/dev/null; then\n    echo \"pip is already installed.\"\nelse\n    echo \"pip is not installed. Installing...\"\n    sudo apt-get update\n    sudo apt install python3-pip\nfi\n\nrequired_library='pandas'\n\n# Check if pandas is installed\nif python3 -c \"import $required_library\" &> /dev/null; then\n    echo \"$required_library is already installed.\"\nelse\n    echo \"$required_library is not installed. Installing...\"\n    pip3 install $required_library\nfi\n\nrequired_library='plotly'\n\n# Check if the library is installed\nif python3 -c \"import $required_library\" &> /dev/null; then\n    echo \"$required_library is already installed.\"\nelse\n    echo \"$required_library is not installed. Installing...\"\n    pip3 install $required_library\nfi\n\n# Check if the file exists\nif [ ! -f \"$directory/.ninja_log\" ]; then\n  echo \"File '$directory/.ninja_log' does not exist.\"\n  exit 1\nfi\n\ndeclare -A unique_values\n\n# Use awk to compare and delete duplicates\nawk '!unique_values[$5]++' \"$directory/.ninja_log\" > temp_file.txt\nmv temp_file.txt \"$directory/.ninja_log\"\n\n# Rename the file with .csv extension\nmv \"$directory/.ninja_log\" \"$directory/time_trace.log\"\n\n# Run the python program\npython3 time_trace_generator.py --min_val 5 --include_linking"
  },
  {
    "path": "tools/time-trace/time_trace_generator.py",
    "content": "import os\nimport random\nimport pandas as pd\nimport plotly.graph_objects as go\nimport argparse\n\ndef generateRandomColors(df, colorList):\n\n    for _ in range(len(df)):\n        r = random.random()\n        g = random.random()\n        b = random.random()\n        colorList.append(f\"rgb({int(r*255)}, {int(g*255)}, {int(b*255)})\")\n    \n    return colorList\n\ndef plotCompileTime(log_file, minVal):\n    colors = []\n\n    # read the log file and extract the data from it\n    # st:   start-time (ms)\n    # et:   end-time (ms)\n    # ts:   timestamp\n    # file: path to file\n    # hash: command hash \n    df = pd.read_csv(log_file, delimiter='\\t', header=None, \n                     names=['st', 'et', 'ts', 'file', 'hash'])\n    df = df.iloc[1:]\n\n    # include file name only\n    df['file'] = df['file'].apply(os.path.basename)\n\n    # convert to seconds\n    df['st'] = df['st'].astype(int) / 1000\n    df['et'] = df['et'].astype(int) / 1000\n\n    # calculate compilation duration of the file\n    df['dur'] = df['et'].astype(int) - df['st'].astype(int)\n\n    if args.include_linking == 0:\n        # drop the last two rows which are related to linking\n        df = df.drop(df.index[-2:]) \n    \n    # if minVal specified remove the rows from the df where df['dur'] < minVal\n    df = df[df['dur'] >= minVal]\n\n    maxEt = int(df['et'].max())\n    df = df[::-1]   # reverse df\n\n    colors = generateRandomColors(df, colors)\n\n    fig = go.Figure(go.Bar(\n        y=df['file'],\n        x=df['dur'],\n        orientation='h',\n        marker=dict(color=colors),\n        base=df['st'],\n        textposition='auto',\n        customdata=df['dur'],\n        hovertemplate='<b>Time:</b> %{customdata} seconds<br>' +\n                    '<b>File Name:</b> %{y}<br>'\n    ))\n\n    # Customize the layout\n    fig.update_layout(\n        title=\"RCCL TOTAL COMPILE TIME LINE\",\n        xaxis_title='Duration (seconds)',\n        yaxis_title='file name',\n        bargap=0.1,\n        plot_bgcolor='#36454F',  # Set the plot background color to black\n        paper_bgcolor='#36454F',  # Set the paper background color to black\n        font=dict(\n            family=\"Arial\",\n            size=11,\n            color=\"white\"\n        ),\n    )\n\n    # add custom text annotation at the top right corner\n    fig.update_layout(\n        annotations=[\n            go.layout.Annotation(\n                x=1,\n                y=1,\n                xref=\"paper\",\n                yref=\"paper\",\n                text=\"Total Time: \"+ str(maxEt) + \" seconds\",\n                showarrow=False,\n                font=dict(\n                    size=18,\n                    color=\"white\"\n                )\n            )\n        ]\n    )\n\n    # convert the plot to an html file\n    fig.write_html(\"RCCL-compile-timeline.html\", auto_open=False)\n\nif __name__ == \"__main__\":\n    parser = argparse.ArgumentParser()\n    parser.add_argument(\"--min_val\", nargs='?', default='5', type=int, help=\"Ignore any if it's less than the value provided\")\n    parser.add_argument(\"--include_linking\", action='store_true', help=\"Include linking when plotting\")\n    parser.add_argument(\"--log_file_path\", type=str, help=\"Location of the log file generated with --time-trace flag\")\n    args = parser.parse_args()\n\n    if args.log_file_path is not None:\n        log_file_path = args.log_file_path\n    else:\n        log_file_path = '../../build/release/time_trace.log'\n\n    plotCompileTime(log_file_path, args.min_val)"
  },
  {
    "path": "tools/topo_expl/Makefile",
    "content": "# Copyright (c) 2019-2025 Advanced Micro Devices, Inc. All rights reserved.\nHIP_PATH ?= $(wildcard /opt/rocm)\nifeq (,$(HIP_PATH))\nHIP_PATH = ../../..\nendif\nHIPCC = $(HIP_PATH)/bin/hipcc\n\n.DEFAULT_GOAL := all\n\nEXE = topo_expl\nCXXFLAGS = -g -ffunction-sections -fdata-sections -Wl,--gc-sections -fgpu-rdc -Iinclude -Ihipify_rccl/include -Ihipify_rccl/include/plugin -Ihipify_rccl/src/device/include  -Ihipify_rccl/graph -I/opt/rocm/include/ -DTOPO_EXPL -DENABLE_TRACE -DENABLE_LL128 -DNVTX_NO_IMPL -DRCCL_EXPOSE_STATIC -lpthread\n\nfiles = $(EXE).cpp model.cpp utils.cpp hipify_rccl/graph/topo.cc hipify_rccl/graph/rings.cc hipify_rccl/graph/paths.cc hipify_rccl/graph/trees.cc ../../src/misc/param.cc \\\n\thipify_rccl/graph/search.cc hipify_rccl/graph/connect.cc hipify_rccl/graph/tuning.cc hipify_rccl/graph/xml.cc ../../src/misc/nvmlwrap_stub.cc hipify_rccl/graph/rome_models.cc hipify_rccl/graph/archinfo.cc \\\n\thipify_rccl/collectives.cc hipify_rccl/register.cc hipify_rccl/enqueue.cc ../../src/rccl_wrap.cc\n\nFMT_DIR     := third_party/fmt\nFMT_INCLUDE := $(FMT_DIR)/include\nFMT_HEADER  := $(FMT_INCLUDE)/fmt/format.h\nFMT_GIT     := https://github.com/fmtlib/fmt.git\n\n# Probe for <fmt/format.h> using a portable pipe (no <<< here-string)\nHAVE_FMT := $(shell echo '#include <fmt/format.h>' | \\\n               $(HIPCC) -xc++ -std=c++17 -E - >/dev/null 2>&1 && echo yes || echo no)\n\nifeq ($(HAVE_FMT),no)\n  CXXFLAGS += -I$(FMT_INCLUDE)\n  NEED_FMT  := 1\nendif\n\nifeq ($(NEED_FMT),1)\n$(FMT_HEADER):\n\trm -rf third_party/fmt\n\t@echo \">>> fmt not found; cloning $(FMT_GIT) ...\"\n\t@mkdir -p $(dir $(FMT_DIR))\n\t@git clone --depth=1  $(FMT_GIT) $(FMT_DIR)\nelse\n$(FMT_HEADER):\nendif\n# ---------------------------------------------------------------------------\n\n\n\nall: $(FMT_HEADER) hipify $(EXE)\n\n$(EXE): $(files)\n\t$(HIPCC) $(CXXFLAGS) $^ -o $@\n\nhipify:\n\trm -rf hipify_rccl\n\tmkdir -p hipify_rccl/src/device/include hipify_rccl/include/network/unpack\n\tcp -a ../../src/include/ hipify_rccl/\n\tcp -a ../../src/graph/ hipify_rccl/\n\tcp -a ../../src/device/*.h hipify_rccl/src/device/include\n\tcp -a ../../src/device/network/unpack/*.h hipify_rccl/include/network/unpack\n\tcp -a ../../src/enqueue.cc hipify_rccl/\n\tcp -a ../../src/register/register.cc hipify_rccl/\n\tcp -a ../../src/collectives.cc hipify_rccl/\n\tcp -a ../../src/misc/archinfo.cc hipify_rccl/graph/\n\thipify-perl -inplace -quiet-warnings hipify_rccl/include/*.h\n\thipify-perl -inplace -quiet-warnings hipify_rccl/include/latency_profiler/*.h\n\thipify-perl -inplace -quiet-warnings hipify_rccl/include/plugin/*.h\n\thipify-perl -inplace -quiet-warnings hipify_rccl/include/latency_profiler/*.h\n\thipify-perl -inplace -quiet-warnings hipify_rccl/src/device/include/*.h\n\tbash ../../cmake/scripts/add_unroll.sh \"hipify_rccl/src/device/include/common.h\"\n\thipify-perl -inplace -quiet-warnings hipify_rccl/graph/*\n\thipify-perl -inplace -quiet-warnings hipify_rccl/include/network/unpack/*\n\thipify-perl -inplace -quiet-warnings hipify_rccl/*.cc\n\nclean:\n\trm -rf hipify_rccl third_party\n\trm -f *.o $(EXE)\n"
  },
  {
    "path": "tools/topo_expl/README.md",
    "content": "# RCCL Topology Explorer (topo_expl)\n\nThe RCCL Topology Explorer is a tool for analyzing and exploring network topologies for RCCL (ROCm Communication Collectives Library) collective operations. It simulates various hardware configurations and displays the actual algo/proto combo selections that RCCL would make.\n\n## Building\n\n### Prerequisites\n- ROCm/HIP development environment\n- RCCL source code\n- hipify-perl (for source transformation)\n\n### Build Instructions\n\n```bash\ncd tools/topo_expl\nmake\n```\n\n## Usage\n\n```bash\n./topo_expl -m model_id [-n numNodes=1]\n```\n\n### Parameters\n\n- `-m model_id`: Specifies the topology model to use (required)\n- `-n numNodes`: Number of nodes to simulate (default: 1)\n\n### Available Models\n\nRun `./topo_expl` without arguments to see the list of available models. Each model represents a different hardware configuration. [Each model file](./models) pertains to a particular GPU model and node configuration. It can be output by RCCL through setting the environment variable `NCCL_TOPO_DUMP_FILE`. Model XMLs have been generated for simplicity.\n\n## Example Usage: Print RCCL's algorithm/protocol selections\n\nThe tool is typically run with the `NCCL_DEBUG=INFO` environment variable to show the topology information and print out the constructed rings/trees. However, for the convenience of just printing the algo/proto table, we use version `NCCL_DEBUG=version` in this example to avoid printing topo details.\n\n```bash\n# List available models\n./topo_expl\n\n# Test MI300 configuration (model 55)\nNCCL_DEBUG=version ./topo_expl -m 55\n\n# Test a multi-node MI300 configuration with 8 nodes\nNCCL_DEBUG=version ./topo_expl -m 55 -n 8\n\n# Test a multi-node MI350 configuration with 2 nodes\nNCCL_DEBUG=version ./topo_expl -m 59 -n 2\n\n# Test MI250 configuration (model 42)\nNCCL_DEBUG=version ./topo_expl -m 42\n\n# Test a multi-node MI250 configuration with 4 nodes\nNCCL_DEBUG=version ./topo_expl -m 42 -n 4\n```\n\n\n## Sample output\n\n```bash\n# cmd used\nNCCL_DEBUG=version ./topo_expl -m 55 -n 8\n```\n\n```bash\n\nRunning fp32 production choices for algorithm/protocol/maxChannels\n| Max Size(B)     | Count           | Collective      | Algorithm  | Protocol   | Max Channels |\n|-----------------|-----------------|-----------------|------------|------------|--------------|\n| 32              | 8               | AllReduce       | Tree       | LL         | 1            |\n| 64              | 16              | AllReduce       | Tree       | LL         | 1            |\n| 128             | 32              | AllReduce       | Tree       | LL         | 1            |\n| 256             | 64              | AllReduce       | Tree       | LL         | 1            |\n| 512             | 128             | AllReduce       | Tree       | LL         | 1            |\n| 1024            | 256             | AllReduce       | Tree       | LL         | 1            |\n| 2048            | 512             | AllReduce       | Tree       | LL         | 1            |\n| 4096            | 1024            | AllReduce       | Tree       | LL         | 2            |\n| 8192            | 2048            | AllReduce       | Tree       | LL         | 4            |\n| 16384           | 4096            | AllReduce       | Tree       | LL         | 8            |\n| 32768           | 8192            | AllReduce       | Tree       | LL         | 16           |\n| 65536           | 16384           | AllReduce       | Tree       | LL         | 32           |\n| 131072          | 32768           | AllReduce       | Tree       | LL         | 64           |\n| 262144          | 65536           | AllReduce       | Tree       | LL         | 64           |\n| 524288          | 131072          | AllReduce       | Tree       | LL         | 64           |\n| 1048576         | 262144          | AllReduce       | Tree       | LL         | 64           |\n| 2097152         | 524288          | AllReduce       | Tree       | LL128      | 64           |\n| 4194304         | 1048576         | AllReduce       | Tree       | LL128      | 64           |\n| 8388608         | 2097152         | AllReduce       | Tree       | LL128      | 64           |\n| 16777216        | 4194304         | AllReduce       | Tree       | LL128      | 64           |\n| 33554432        | 8388608         | AllReduce       | Tree       | LL128      | 64           |\n| 67108864        | 16777216        | AllReduce       | Tree       | Simple     | 64           |\n| 134217728       | 33554432        | AllReduce       | Tree       | Simple     | 64           |\n| 268435456       | 67108864        | AllReduce       | Tree       | Simple     | 64           |\n| 536870912       | 134217728       | AllReduce       | Ring       | Simple     | 64           |\n| 1073741824      | 268435456       | AllReduce       | Ring       | Simple     | 64           |\n| 2147483648      | 536870912       | AllReduce       | Ring       | Simple     | 64           |\n| 4294967296      | 1073741824      | AllReduce       | Ring       | Simple     | 64           |\n...\n```\n\n"
  },
  {
    "path": "tools/topo_expl/include/device_table.h",
    "content": "/* Copyright © Advanced Micro Devices, Inc., or its affiliates. */\n\n#ifndef DEVICE_TABLE_COMPATIBILITY\n#define DEVICE_TABLE_COMPATIBILITY\n\nstruct rcclKernelItem {\n  void* funcPtr;\n  int   unroll;\n};\nstatic struct rcclKernelItem rcclKernelTable[] = { };\n\ntemplate <int unroll>\n__forceinline__ __device__ void NCCL_CALL_FUNCTIONS(unsigned short funcIndex) noexcept { }\n__forceinline__ __device__ void NCCL_CALL_FUNCTIONS_1(unsigned short funcIndex) noexcept { }\n__forceinline__ __device__ void NCCL_CALL_FUNCTIONS_2(unsigned short funcIndex) noexcept { }\n__forceinline__ __device__ void NCCL_CALL_FUNCTIONS_4(unsigned short funcIndex) noexcept { }\n\n#endif\n"
  },
  {
    "path": "tools/topo_expl/include/model.h",
    "content": "/*\nCopyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#ifndef MODEL_H_\n#define MODEL_H_\n\n#include <vector>\n#include \"topo.h\"\n#include \"xml.h\"\n#include \"utils.h\"\n\nclass NodeModel {\nprivate:\n\npublic:\n  std::vector<struct ncclTopoSystem*> systems;\n  uint64_t hostHash;  // auto-generated\n  uint64_t pidHash;   // auto-generated\n  int nodeId;\n  int firstRank;\n  int currRank;\n\n  NodeModel(const char *xml_file) {\n    char filename[PATH_MAX];\n    ssize_t count = readlink(\"/proc/self/exe\", filename, PATH_MAX);\n    while (--count > 0) {\n      if (filename[count] == '/') {\n        filename[count+1] = 0;\n        break;\n      }\n    };\n    strcat(filename, \"models/\");\n    strcat(filename, xml_file);\n    struct ncclTopoSystem* system;\n    ncclTopoGetSystem(filename, &system);\n    systems.push_back(system);\n    for (int i=0; i<getNumGpus()-1; i++) {\n      ncclTopoGetSystem(filename, &system);\n      systems.push_back(system);\n    }\n    hostHash = ((uint64_t)rand() << 32) | rand();\n    pidHash = ((uint64_t)rand() << 32) | rand();\n  }\n\n  struct ncclTopoSystem* getSystem(int rank) { return systems[rank-firstRank]; }\n\n  int getNumGpus() {\n    return systems[0]->nodes[GPU].count;\n  }\n\n  int rankToCudaDev(int rank) {\n    for (int i=0; i<getNumGpus(); i++) {\n      if (rank == systems[0]->nodes[GPU].nodes[i].gpu.rank)\n        return systems[0]->nodes[GPU].nodes[i].gpu.dev;\n    }\n    return -1;\n  }\n\n  int64_t getGpuBusId(int rank) {\n    for (int i=0; i<getNumGpus(); i++) {\n      if (rank == systems[0]->nodes[GPU].nodes[i].gpu.rank)\n        return systems[0]->nodes[GPU].nodes[i].id;\n    }\n    return -1;\n  }\n\n  int busIdToCudaDev(int64_t busId) {\n    for (int i=0; i<getNumGpus(); i++)\n      if (systems[0]->nodes[GPU].nodes[i].id == busId)\n        return systems[0]->nodes[GPU].nodes[i].gpu.dev;\n    return -1;\n  }\n\n  void setRanks() {\n    for (int r=0; r<getNumGpus(); r++)\n      for (int i=0; i<getNumGpus(); i++)\n        systems[r]->nodes[GPU].nodes[i].gpu.rank += firstRank;\n  }\n\n  int p2pCanConnect(int device1, int device2) { return 1; }\n  int shmCanConnect(int device1, int device2) { return 1; }\n  int netCanConnect(int device1, int device2) { return 1; }\n\n  ~NodeModel() {}\n};\n\nclass NetworkModel {\nprivate:\n  int nRanks;\n  std::vector<NodeModel*> nodes;\n\npublic:\n  void AddNode(NodeModel* node) {\n    node->nodeId = nodes.size();\n    node->firstRank = nRanks;\n    node->setRanks();\n    nRanks += node->getNumGpus();\n    nodes.push_back(node);\n  }\n\n  NodeModel* GetNode(int rank) {\n    for (auto & node : nodes) {\n      if (rank >= node->firstRank && rank < node->firstRank+node->getNumGpus()) {\n        node->currRank = rank;\n        return node;\n      }\n    }\n    return NULL;\n  }\n\n  int GetNNodes() { return nodes.size(); }\n  int GetNRanks() { return nRanks; }\n\n  NetworkModel() : nRanks(0) {}\n};\n\n#endif"
  },
  {
    "path": "tools/topo_expl/include/nccl.h",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2021, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n * Modifications Copyright (c) Microsoft Corporation. Licensed under the MIT License.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n#ifndef NCCL_H_\n#define NCCL_H_\n\n#include <hip/hip_runtime.h>\n#include <hip/hip_fp16.h>\n\n#define NCCL_MAJOR ${NCCL_MAJOR}\n#define NCCL_MINOR ${NCCL_MINOR}\n#define NCCL_PATCH ${NCCL_PATCH}\n#define NCCL_SUFFIX \"${NCCL_SUFFIX}\"\n\n#define NCCL_VERSION_CODE ${NCCL_VERSION}\n#define NCCL_VERSION(X,Y,Z) (((X) <= 2 && (Y) <= 8) ? (X) * 1000 + (Y) * 100 + (Z) : (X) * 10000 + (Y) * 100 + (Z))\n\n#define RCCL_BFLOAT16 1\n#define RCCL_FLOAT8 1\n#define RCCL_GATHER_SCATTER 1\n#define RCCL_ALLTOALLV 1\n#define RCCL_ALLREDUCE_WITH_BIAS 1\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#include <limits.h>\n\n/*! @brief      Opaque handle to communicator\n    @details    A communicator contains information required to facilitate collective communications calls */\ntypedef struct ncclComm* ncclComm_t;\ntypedef struct ncclWindow* ncclWindow_t;\n#define NCCL_COMM_NULL NULL\n\n#define NCCL_UNIQUE_ID_BYTES 128\n/*! @brief      Opaque unique id used to initialize communicators\n    @details    The ncclUniqueId must be passed to all participating ranks */\ntypedef struct { char internal[NCCL_UNIQUE_ID_BYTES]; /*!< Opaque array>*/} ncclUniqueId;\n\n/*! @defgroup   rccl_result_code Result Codes\n    @details    The various result codes that RCCL API calls may return\n    @{ */\n\n/*! @brief      Result type\n    @details    Return codes aside from ncclSuccess indicate that a call has failed */\n  typedef enum {\n    ncclSuccess                 =  0, /*!< No error */\n    ncclUnhandledCudaError      =  1, /*!< Unhandled HIP error */\n    ncclSystemError             =  2, /*!< Unhandled system error */\n    ncclInternalError           =  3, /*!< Internal Error - Please report to RCCL developers */\n    ncclInvalidArgument         =  4, /*!< Invalid argument */\n    ncclInvalidUsage            =  5, /*!< Invalid usage */\n    ncclRemoteError             =  6, /*!< Remote process exited or there was a network error */\n    ncclInProgress              =  7, /*!< RCCL operation in progress */\n    ncclNumResults              =  8  /*!< Number of result types */\n  } ncclResult_t;\n/*! @} */\n\n#define NCCL_CONFIG_UNDEF_INT INT_MIN\n#define NCCL_CONFIG_UNDEF_PTR NULL\n#define NCCL_SPLIT_NOCOLOR -1\n#define NCCL_UNDEF_FLOAT -1.0f\n\n/* Window Registration flags */\n#define NCCL_WIN_DEFAULT 0x00\n#define NCCL_WIN_COLL_SYMMETRIC 0x01\n\n/* NCCL performance policy */\n#define NCCL_CTA_POLICY_DEFAULT 0x00\n#define NCCL_CTA_POLICY_EFFICIENCY 0x01\n\n/* ncclCommShrink flags*/\n#define NCCL_SHRINK_DEFAULT 0x00 /* shrink the parent communicator */\n#define NCCL_SHRINK_ABORT 0x01   /* First, terminate ongoing parent operations, and then shrink the parent communicator */\n\n/*! @defgroup   rccl_config_type Communicator Configuration\n    @details    Structure that allows for customizing Communicator behavior via ncclCommInitRankConfig\n    @{ */\n\n/*! @brief      Communicator configuration\n    @details    Users can assign value to attributes to specify the behavior of a communicator */\ntypedef struct ncclConfig_v22700 {\n  /* attributes that users should never touch. */\n  size_t size;                 /*!< Should not be touched */\n  unsigned int magic;          /*!< Should not be touched */\n  unsigned int version;        /*!< Should not be touched */\n  /* attributes that users are able to customize. */\n  int blocking;                /*!< Whether or not calls should block or not */\n  int cgaClusterSize;          /*!< Cooperative group array cluster size */\n  int minCTAs;                 /*!< Minimum number of cooperative thread arrays (blocks) */\n  int maxCTAs;                 /*!< Maximum number of cooperative thread arrays (blocks) */\n  const char *netName;         /*!< Force NCCL to use a specfic network */\n  int splitShare;              /*!< Allow communicators to share resources */\n  int trafficClass;            /*!< Traffic class*/\n  const char *commName;        /*!< Name of the communicator*/\n  int collnetEnable;           /*!< Check for collnet enablement*/\n  int CTAPolicy;               /*!< CTA Policy*/\n  int shrinkShare;             /*!< Shrink size*/\n  int nvlsCTAs;                /*!< Number of NVLS cooperative thread arrays (blocks)*/\n} ncclConfig_t;\n\n/* Config initializer must be assigned to initialize config structure when it is created.\n * Not initialized config will result in an error. */\n#define NCCL_CONFIG_INITIALIZER {                                        \\\n  sizeof(ncclConfig_t),                             /* size */           \\\n  0xcafebeef,                                       /* magic */          \\\n  NCCL_VERSION(NCCL_MAJOR, NCCL_MINOR, NCCL_PATCH), /* version */        \\\n  NCCL_CONFIG_UNDEF_INT,                            /* blocking */       \\\n  NCCL_CONFIG_UNDEF_INT,                            /* cgaClusterSize */ \\\n  NCCL_CONFIG_UNDEF_INT,                            /* minCTAs */        \\\n  NCCL_CONFIG_UNDEF_INT,                            /* maxCTAs */        \\\n  NCCL_CONFIG_UNDEF_PTR,                            /* netName */        \\\n  NCCL_CONFIG_UNDEF_INT,                            /* splitShare */     \\\n  NCCL_CONFIG_UNDEF_INT,                            /* trafficClass */   \\\n  NCCL_CONFIG_UNDEF_PTR,                            /* commName */       \\\n  NCCL_CONFIG_UNDEF_INT,                            /* collnetEnable */  \\\n  NCCL_CONFIG_UNDEF_INT,                            /* CTAPolicy */      \\\n  NCCL_CONFIG_UNDEF_INT,                            /* shrinkShare */    \\\n  NCCL_CONFIG_UNDEF_INT,                            /* nvlsCTAs */       \\\n}\n/*! @} */\n\n/* This struct will be used by ncclGroupSimulateEnd() API to query information about simulation. */\ntypedef struct ncclSimInfo_v22200 {\n    size_t size;\n    unsigned int magic;\n    unsigned int version;\n    float estimatedTime;\n} ncclSimInfo_t;\n\n/* NCCL_SIM_INFO_INITIALIZER must be assigned to initialize simInfo structure when it is created.\n * Not initialized simInfo will result in NCCL error. */\n#define NCCL_SIM_INFO_INITIALIZER {                                         \\\n  sizeof(ncclSimInfo_t),                            /* size */              \\\n  0x74685283,                                       /* magic */             \\\n  NCCL_VERSION(NCCL_MAJOR, NCCL_MINOR, NCCL_PATCH), /* version */           \\\n  NCCL_UNDEF_FLOAT                                  /* estimated time */    \\\n}\n\n/* NCCL malloc and free function for all types of NCCL optimizations\n * (e.g. user buffer registration). The actual allocated size might\n * be larger than requested due to granularity requirement. */\nncclResult_t  ncclMemAlloc(void** ptr, size_t size);\nncclResult_t pncclMemAlloc(void** ptr, size_t size);\n\nncclResult_t  ncclMemFree(void *ptr);\nncclResult_t pncclMemFree(void *ptr);\n\n/*! @defgroup   rccl_api_version Version Information\n    @details    API call that returns RCCL version\n    @{ */\n\n/*! @brief      Return the RCCL_VERSION_CODE of RCCL in the supplied integer.\n    @details    This integer is coded with the MAJOR, MINOR and PATCH level of RCCL.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[out] version       Pointer to where version will be stored */\n\nncclResult_t  ncclGetVersion(int *version);\n/*! @cond       include_hidden */\nncclResult_t pncclGetVersion(int *version);\n/*! @endcond */\n/*! @} */\n\n/*! @defgroup   rccl_api_communicator Communicator Initialization/Destruction\n    @details    API calls that operate on communicators.\n                Communicators objects are used to launch collective communication\n                operations.  Unique ranks between 0 and N-1 must be assigned to\n                each HIP device participating in the same Communicator.\n                Using the same HIP device for multiple ranks of the same Communicator\n                is not supported at this time.\n    @{ */\n\n/*! @brief      Generates an ID for ncclCommInitRank.\n    @details    Generates an ID to be used in ncclCommInitRank.\n                ncclGetUniqueId should be called once by a single rank and the\n                ID should be distributed to all ranks in the communicator before\n                using it as a parameter for ncclCommInitRank.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[out] uniqueId      Pointer to where uniqueId will be stored */\nncclResult_t  ncclGetUniqueId(ncclUniqueId* uniqueId);\n/*! @cond       include_hidden */\nncclResult_t pncclGetUniqueId(ncclUniqueId* uniqueId);\n/*! @endcond */\n\n/*! @brief      Create a new communicator with config.\n    @details    Create a new communicator (multi thread/process version) with a configuration\n                set by users. See @ref rccl_config_type for more details.\n                Each rank is associated to a CUDA device, which has to be set before calling\n                ncclCommInitRank.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[out] comm          Pointer to created communicator\n    @param[in]  nranks        Total number of ranks participating in this communicator\n    @param[in]  commId        UniqueId required for initialization\n    @param[in]  rank          Current rank to create communicator for. [0 to nranks-1]\n    @param[in]  config        Pointer to communicator configuration */\nncclResult_t  ncclCommInitRankConfig(ncclComm_t* comm, int nranks, ncclUniqueId commId, int rank, ncclConfig_t* config);\n/*! @cond       include_hidden */\nncclResult_t pncclCommInitRankConfig(ncclComm_t* comm, int nranks, ncclUniqueId commId, int rank, ncclConfig_t* config);\n/*! @endcond */\n\n/*! @brief      Creates a new communicator (multi thread/process version).\n    @details    Rank must be between 0 and nranks-1 and unique within a communicator clique.\n                Each rank is associated to a CUDA device, which has to be set before calling\n                ncclCommInitRank.  ncclCommInitRank implicitly syncronizes with other ranks,\n                so it must be called by different threads/processes or use ncclGroupStart/ncclGroupEnd.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[out] comm          Pointer to created communicator\n    @param[in]  nranks        Total number of ranks participating in this communicator\n    @param[in]  commId        UniqueId required for initialization\n    @param[in]  rank          Current rank to create communicator for */\nncclResult_t  ncclCommInitRank(ncclComm_t* comm, int nranks, ncclUniqueId commId, int rank);\n/*! @cond       include_hidden */\nncclResult_t pncclCommInitRank(ncclComm_t* comm, int nranks, ncclUniqueId commId, int rank);\n/*! @endcond */\n\n/*! @brief      Creates a clique of communicators (single process version).\n    @details    This is a convenience function to create a single-process communicator clique.\n                Returns an array of ndev newly initialized communicators in comm.\n                comm should be pre-allocated with size at least ndev*sizeof(ncclComm_t).\n                If devlist is NULL, the first ndev HIP devices are used.\n                Order of devlist defines user-order of processors within the communicator.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[out] comm          Pointer to array of created communicators\n    @param[in]  ndev          Total number of ranks participating in this communicator\n    @param[in]  devlist       Array of GPU device indices to create for */\nncclResult_t  ncclCommInitAll(ncclComm_t* comm, int ndev, const int* devlist);\n/*! @cond       include_hidden */\nncclResult_t pncclCommInitAll(ncclComm_t* comm, int ndev, const int* devlist);\n/*! @endcond */\n\n/*! @brief      Finalize a communicator.\n    @details    ncclCommFinalize flushes all issued communications\n                and marks communicator state as ncclInProgress. The state will change to ncclSuccess\n                when the communicator is globally quiescent and related resources are freed; then,\n                calling ncclCommDestroy can locally free the rest of the resources (e.g. communicator\n                itself) without blocking.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Communicator to finalize */\nncclResult_t  ncclCommFinalize(ncclComm_t comm);\n/*! @cond       include_hidden */\nncclResult_t pncclCommFinalize(ncclComm_t comm);\n/*! @endcond */\n\n/*! @brief      Frees local resources associated with communicator object.\n    @details    Destroy all local resources associated with the passed in communicator object\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Communicator to destroy */\nncclResult_t  ncclCommDestroy(ncclComm_t comm);\n/*! @cond       include_hidden */\nncclResult_t pncclCommDestroy(ncclComm_t comm);\n/*! @endcond */\n\n/*! @brief      Abort any in-progress calls and destroy the communicator object.\n    @details    Frees resources associated with communicator object and aborts any operations\n                that might still be running on the device.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Communicator to abort and destroy */\nncclResult_t  ncclCommAbort(ncclComm_t comm);\n/*! @cond       include_hidden */\nncclResult_t pncclCommAbort(ncclComm_t comm);\n/*! @endcond */\n\n/*! @brief      Create one or more communicators from an existing one.\n    @details    Creates one or more communicators from an existing one.\n                Ranks with the same color will end up in the same communicator.\n                Within the new communicator, key will be used to order ranks.\n                NCCL_SPLIT_NOCOLOR as color will indicate the rank will not be part of any group\n                and will therefore return a NULL communicator.\n                If config is NULL, the new communicator will inherit the original communicator's configuration\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Original communicator object for this rank\n    @param[in]  color         Color to assign this rank\n    @param[in]  key           Key used to order ranks within the same new communicator\n    @param[out] newcomm       Pointer to new communicator\n    @param[in]  config        Config file for new communicator. May be NULL to inherit from comm */\nncclResult_t  ncclCommSplit(ncclComm_t comm, int color, int key, ncclComm_t *newcomm, ncclConfig_t* config);\n/*! @cond       include_hidden */\nncclResult_t pncclCommSplit(ncclComm_t comm, int color, int key, ncclComm_t *newcomm, ncclConfig_t* config);\n/*! @endcond */\n/*! @} */\n\n/*! @brief      Shrink existing communicator.\n    @details    Ranks in excludeRanksList will be removed form the existing communicator.\n                Within the new communicator, ranks will be re-ordered to fill the gap of removed ones.\n                If config is NULL, the new communicator will inherit the original communicator's configuration.\n                The flag enables NCCL to adapt to various states of the parent communicator, see NCCL_SHRINK flags.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm                  Original communicator object for this rank\n    @param[in]  excludeRanksList      List of ranks to be exluded\n    @param[in]  excludeRanksCount     Number of ranks to be excluded\n    @param[out] newcomm               Pointer to new communicator\n    @param[in]  config                Config file for new communicator. May be NULL to inherit from comm \n    @param[in]  shrinkFlags           Flag to adapt to various states of the parent communicator (see NCCL_SHRINK flags)*/\nncclResult_t  ncclCommShrink(ncclComm_t comm, int* excludeRanksList, int excludeRanksCount, ncclComm_t* newcomm, ncclConfig_t* config, int shrinkFlags);\nncclResult_t pncclCommShrink(ncclComm_t comm, int* excludeRanksList, int excludeRanksCount, ncclComm_t* newcomm, ncclConfig_t* config, int shrinkFlags);\n\n/*! @brief      Creates a new communicator (multi thread/process version), similar to ncclCommInitRankConfig.\n     @details    Allows to use more than one ncclUniqueId (up to one per rank), \n                 indicated by nId, to accelerate the init operation.\n                 The number of ncclUniqueIds and their order must be the same for every rank.\n     @return     Result code. See @ref rccl_result_code for more details.\n \n     @param[out] newcomm       Pointer to new communicator\n     @param[in]  nranks        Total number of ranks participating in this communicator\n     @param[in]  myrank        Current rank\n     @param[in]  nId           Number of unique IDs\n     @param[in]  commIds       List of unique IDs\n     @param[in]  config        Config file for new communicator. May be NULL to inherit from comm */\nncclResult_t ncclCommInitRankScalable(ncclComm_t* newcomm, int nranks, int myrank, int nId, ncclUniqueId* commIds, ncclConfig_t* config);\n /*! @cond       include_hidden */\nncclResult_t pncclCommInitRankScalable(ncclComm_t* newcomm, int nranks, int myrank, int nId, ncclUniqueId* commIds, ncclConfig_t* config);\n /*! @endcond */\n\n/*! @defgroup   rccl_api_errcheck Error Checking Calls\n    @details    API calls that check for errors\n    @{ */\n\n/*! @brief      Returns a string for each result code.\n    @details    Returns a human-readable string describing the given result code.\n    @return     String containing description of result code.\n\n    @param[in]  result        Result code to get description for */\n/* Returns a string for each error code. */\nconst char*  ncclGetErrorString(ncclResult_t result);\n/*! @cond       include_hidden */\nconst char* pncclGetErrorString(ncclResult_t result);\n/*! @endcond */\n\n/* Returns a human-readable message of the last error that occurred. */\nconst char*  ncclGetLastError(ncclComm_t comm);\n/*! @cond       include_hidden */\nconst char* pncclGetLastError(ncclComm_t comm);\n/*! @endcond */\n\n/* Reload environment variables that determine logging. */\nvoid  ncclResetDebugInit();\n/*! @cond       include_hidden */\nvoid pncclResetDebugInit();\n/*! @endcond */\n\n/*! @brief      Checks whether the comm has encountered any asynchronous errors\n    @details    Query whether the provided communicator has encountered any asynchronous errors\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Communicator to query\n    @param[out] asyncError    Pointer to where result code will be stored */\nncclResult_t  ncclCommGetAsyncError(ncclComm_t comm, ncclResult_t *asyncError);\n/*! @cond       include_hidden */\nncclResult_t pncclCommGetAsyncError(ncclComm_t comm, ncclResult_t *asyncError);\n/*! @endcond */\n/*! @} */\n\n/*! @defgroup   rccl_api_comminfo Communicator Information\n    @details    API calls that query communicator information\n    @{ */\n\n/*! @brief      Gets the number of ranks in the communicator clique.\n    @details    Returns the number of ranks in the communicator clique (as set during initialization)\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Communicator to query\n    @param[out] count         Pointer to where number of ranks will be stored */\nncclResult_t  ncclCommCount(const ncclComm_t comm, int* count);\n/*! @cond       include_hidden */\nncclResult_t pncclCommCount(const ncclComm_t comm, int* count);\n/*~ @endcond */\n\n/*! @brief      Get the ROCm device index associated with a communicator\n    @details    Returns the ROCm device number associated with the provided communicator.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Communicator to query\n    @param[out] device        Pointer to where the associated ROCm device index will be stored */\nncclResult_t  ncclCommCuDevice(const ncclComm_t comm, int* device);\n/*! @cond       include_hidden */\nncclResult_t pncclCommCuDevice(const ncclComm_t comm, int* device);\n/*! @endcond */\n\n/*! @brief      Get the rank associated with a communicator\n    @details    Returns the user-ordered \"rank\" associated with the provided communicator.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  comm          Communicator to query\n    @param[out] rank          Pointer to where the associated rank will be stored */\nncclResult_t  ncclCommUserRank(const ncclComm_t comm, int* rank);\n/*! @cond       include_hidden */\nncclResult_t pncclCommUserRank(const ncclComm_t comm, int* rank);\n/*! @endcond */\n/*! @} */\n\n/* Register CUDA buffer for zero-copy operation */\nncclResult_t  ncclCommRegister(const ncclComm_t comm, void* buff, size_t size, void** handle);\n/*! @cond       include_hidden */\nncclResult_t pncclCommRegister(const ncclComm_t comm, void* buff, size_t size, void** handle);\n/*! @endcond */\n\n/* Deregister CUDA buffer */\nncclResult_t  ncclCommDeregister(const ncclComm_t comm, void* handle);\n/*! @cond       include_hidden */\nncclResult_t pncclCommDeregister(const ncclComm_t comm, void* handle);\n/*! @endcond */\n\n/* Register memory window  */\nncclResult_t  ncclCommWindowRegister(ncclComm_t comm, void* buff, size_t size, ncclWindow_t* win, int winFlags);\n/*! @cond       include_hidden */\nncclResult_t pncclCommWindowRegister(ncclComm_t comm, void* buff, size_t size, ncclWindow_t* win, int winFlags);\n/*! @endcond */\n\n/* Deregister symmetric memory */\nncclResult_t  ncclCommWindowDeregister(ncclComm_t comm, ncclWindow_t win);\n/*! @cond       include_hidden */\nncclResult_t pncclCommWindowDeregister(ncclComm_t comm, ncclWindow_t win);\n/*! @endcond */\n\n/*! @defgroup   rccl_api_enumerations API Enumerations\n    @details    Enumerations used by collective communication calls\n    @{ */\n\n/*! @brief      Dummy reduction enumeration\n    @details    Dummy reduction enumeration used to determine value for ncclMaxRedOp */\ntypedef enum { ncclNumOps_dummy = 5 } ncclRedOp_dummy_t;\n\n/*! @brief      Reduction operation selector\n    @details    Enumeration used to specify the various reduction operations\n                ncclNumOps is the number of built-in ncclRedOp_t values and serves as\n                the least possible value for dynamic ncclRedOp_t values constructed by\n                ncclRedOpCreate functions.\n\n                ncclMaxRedOp is the largest valid value for ncclRedOp_t and is defined\n                to be the largest signed value (since compilers are permitted to use\n                signed enums) that won't grow sizeof(ncclRedOp_t) when compared to previous\n                RCCL versions to maintain ABI compatibility. */\ntypedef enum { ncclSum        = 0, /*!< Sum */\n               ncclProd       = 1, /*!< Product */\n               ncclMax        = 2, /*!< Max */\n               ncclMin        = 3, /*!< Min */\n               ncclAvg        = 4, /*!< Average */\n               ncclNumOps     = 5, /*!< Number of built-in reduction ops */\n               ncclMaxRedOp   = 0x7fffffff>>(32-8*sizeof(ncclRedOp_dummy_t)) /*!< Largest value for ncclRedOp_t */\n             } ncclRedOp_t;\n\n/*! @brief      Data types\n    @details    Enumeration of the various supported datatype */\ntypedef enum { ncclInt8       = 0, ncclChar       = 0,\n               ncclUint8      = 1,\n               ncclInt32      = 2, ncclInt        = 2,\n               ncclUint32     = 3,\n               ncclInt64      = 4,\n               ncclUint64     = 5,\n               ncclFloat16    = 6, ncclHalf       = 6,\n               ncclFloat32    = 7, ncclFloat      = 7,\n               ncclFloat64    = 8, ncclDouble     = 8,\n               ncclBfloat16   = 9,\n               ncclFloat8e4m3 = 10,\n               ncclFloat8e5m2 = 11,\n               ncclNumTypes   = 12\n} ncclDataType_t;\n/*! @} */\n\n/*! @defgroup   rccl_api_custom_redop Custom Reduction Operator\n    @details    API calls relating to creation/destroying custom reduction operator\n                that pre-multiplies local source arrays prior to reduction\n    @{ */\n\n/*! @brief      Location and dereferencing logic for scalar arguments.\n    @details    Enumeration specifying memory location of the scalar argument.\n                Based on where the value is stored, the argument will be dereferenced either\n                while the collective is running (if in device memory), or before the ncclRedOpCreate()\n                function returns (if in host memory). */\ntypedef enum {\n  ncclScalarDevice        = 0, /*!< Scalar is in device-visible memory */\n  ncclScalarHostImmediate = 1  /*!< Scalar is in host-visible memory */\n} ncclScalarResidence_t;\n\n/*! @brief      Create a custom pre-multiplier reduction operator\n    @details    Creates a new reduction operator which pre-multiplies input values by a given\n                scalar locally before reducing them with peer values via summation. For use\n                only with collectives launched against *comm* and *datatype*. The\n                *residence* argument indicates how/when the memory pointed to by *scalar*\n                will be dereferenced. Upon return, the newly created operator's handle\n                is stored in *op*.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[out] op            Pointer to where newly created custom reduction operator is to be stored\n    @param[in]  scalar        Pointer to scalar value.\n    @param[in]  datatype      Scalar value datatype\n    @param[in]  residence     Memory type of the scalar value\n    @param[in]  comm          Communicator to associate with this custom reduction operator */\nncclResult_t  ncclRedOpCreatePreMulSum(ncclRedOp_t *op, void *scalar, ncclDataType_t datatype, ncclScalarResidence_t residence, ncclComm_t comm);\n/*! @cond       include_hidden */\nncclResult_t pncclRedOpCreatePreMulSum(ncclRedOp_t *op, void *scalar, ncclDataType_t datatype, ncclScalarResidence_t residence, ncclComm_t comm);\n/*! @endcond */\n\n/*! @brief      Destroy custom reduction operator\n    @details    Destroys the reduction operator *op*. The operator must have been created by\n                ncclRedOpCreatePreMul with the matching communicator *comm*. An operator may be\n                destroyed as soon as the last RCCL function which is given that operator returns.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  op            Custom reduction operator is to be destroyed\n    @param[in]  comm          Communicator associated with this reduction operator */\nncclResult_t ncclRedOpDestroy(ncclRedOp_t op, ncclComm_t comm);\n/*! @cond       include_hidden */\nncclResult_t pncclRedOpDestroy(ncclRedOp_t op, ncclComm_t comm);\n/*! @endcond */\n/*! @} */\n\n/*! @defgroup   rccl_collective_api Collective Communication Operations\n    @details    Collective communication operations must be called separately for each\n                communicator in a communicator clique.\n\n                They return when operations have been enqueued on the HIP stream.\n                Since they may perform inter-CPU synchronization, each call has to be done\n                from a different thread or process, or need to use Group Semantics (see\n                below).\n    @{ */\n\n/*! @brief      Reduce\n    @details    Reduces data arrays of length *count* in *sendbuff* into *recvbuff* using *op*\n                operation.\n                *recvbuff* may be NULL on all calls except for root device.\n                *root* is the rank (not the HIP device) where data will reside after the\n                 operation is complete.\n                In-place operation will happen if sendbuff == recvbuff.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Local device data buffer to be reduced\n    @param[out] recvbuff      Data buffer where result is stored (only for *root* rank).  May be null for other ranks.\n    @param[in]  count         Number of elements in every send buffer\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  op            Reduction operator type\n    @param[in]  root          Rank where result data array will be stored\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclReduce(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype,\n    ncclRedOp_t op, int root, ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclReduce(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype,\n    ncclRedOp_t op, int root, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      (Deprecated) Broadcast (in-place)\n    @details    Copies *count* values from *root* to all other devices.\n                root is the rank (not the CUDA device) where data resides before the\n                operation is started.\n                This operation is implicitly in-place.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in,out]  buff      Input array on *root* to be copied to other ranks.  Output array for all ranks.\n    @param[in]  count         Number of elements in data buffer\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  root          Rank owning buffer to be copied to others\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclBcast(void* buff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclBcast(void* buff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      Broadcast\n    @details    Copies *count* values from *sendbuff* on *root* to *recvbuff* on all devices.\n                *root* is the rank (not the HIP device) where data resides before the operation is started.\n                *sendbuff* may be NULL on ranks other than *root*.\n                In-place operation will happen if *sendbuff* == *recvbuff*.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Data array to copy (if *root*).  May be NULL for other ranks\n    @param[in]  recvbuff      Data array to store received array\n    @param[in]  count         Number of elements in data buffer\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  root          Rank of broadcast root\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclBroadcast(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclBroadcast(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype, int root,\n    ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      All-Reduce\n    @details    Reduces data arrays of length *count* in *sendbuff* using *op* operation, and\n                leaves identical copies of result on each *recvbuff*.\n                In-place operation will happen if sendbuff == recvbuff.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Input data array to reduce\n    @param[out] recvbuff      Data array to store reduced result array\n    @param[in]  count         Number of elements in data buffer\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  op            Reduction operator\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclAllReduce(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclAllReduce(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      All-Reduce-with-Bias\n    @details    Reduces data arrays of length *count* in *sendbuff* using *op* operation, and\n                leaves identical copies of result on each *recvbuff*.\n                In-place operation will happen if sendbuff == recvbuff.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Input data array to reduce\n    @param[out] recvbuff      Data array to store reduced result array\n    @param[in]  count         Number of elements in data buffer\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  op            Reduction operator\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on\n    @param[in]  acc           Bias data array to reduce */\nncclResult_t  ncclAllReduceWithBias(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm, hipStream_t stream, const void* acc);\n/*! @cond       include_hidden */\nncclResult_t pncclAllReduceWithBias(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm, hipStream_t stream, const void* acc);\n/*! @endcond */\n\n/*! @brief      Reduce-Scatter\n    @details    Reduces data in *sendbuff* using *op* operation and leaves reduced result\n                scattered over the devices so that *recvbuff* on rank i will contain the i-th\n                block of the result.\n                Assumes sendcount is equal to nranks*recvcount, which means that *sendbuff*\n                should have a size of at least nranks*recvcount elements.\n                In-place operations will happen if recvbuff == sendbuff + rank * recvcount.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Input data array to reduce\n    @param[out] recvbuff      Data array to store reduced result subarray\n    @param[in]  recvcount     Number of elements each rank receives\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  op            Reduction operator\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclReduceScatter(const void* sendbuff, void* recvbuff,\n    size_t recvcount, ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm,\n    hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclReduceScatter(const void* sendbuff, void* recvbuff,\n    size_t recvcount, ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm,\n    hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      All-Gather\n    @details    Each device gathers *sendcount* values from other GPUs into *recvbuff*,\n                receiving data from rank i at offset i*sendcount.\n                Assumes recvcount is equal to nranks*sendcount, which means that recvbuff\n                should have a size of at least nranks*sendcount elements.\n                In-place operations will happen if sendbuff == recvbuff + rank * sendcount.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Input data array to send\n    @param[out] recvbuff      Data array to store the gathered result\n    @param[in]  sendcount     Number of elements each rank sends\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclAllGather(const void* sendbuff, void* recvbuff, size_t sendcount,\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclAllGather(const void* sendbuff, void* recvbuff, size_t sendcount,\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      Send\n    @details    Send data from *sendbuff* to rank *peer*.\n                Rank *peer* needs to call ncclRecv with the same *datatype* and the same *count*\n                as this rank.\n                This operation is blocking for the GPU. If multiple ncclSend and ncclRecv operations\n                need to progress concurrently to complete, they must be fused within a ncclGroupStart /\n                ncclGroupEnd section.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Data array to send\n    @param[in]  count         Number of elements to send\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  peer          Peer rank to send to\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclSend(const void* sendbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclSend(const void* sendbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      Receive\n    @details    Receive data from rank *peer* into *recvbuff*.\n                Rank *peer* needs to call ncclSend with the same datatype and the same count\n                as this rank.\n                This operation is blocking for the GPU. If multiple ncclSend and ncclRecv operations\n                need to progress concurrently to complete, they must be fused within a ncclGroupStart/\n                ncclGroupEnd section.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[out] recvbuff      Data array to receive\n    @param[in]  count         Number of elements to receive\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  peer          Peer rank to send to\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclRecv(void* recvbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclRecv(void* recvbuff, size_t count, ncclDataType_t datatype, int peer,\n    ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      Gather\n    @details    Root device gathers *sendcount* values from other GPUs into *recvbuff*,\n                receiving data from rank i at offset i*sendcount.\n                Assumes recvcount is equal to nranks*sendcount, which means that *recvbuff*\n                should have a size of at least nranks*sendcount elements.\n                In-place operations will happen if sendbuff == recvbuff + rank * sendcount.\n                *recvbuff* may be NULL on ranks other than *root*.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Data array to send\n    @param[out] recvbuff      Data array to receive into on *root*.\n    @param[in]  sendcount     Number of elements to send per rank\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  root          Rank that receives data from all other ranks\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclGather(const void* sendbuff, void* recvbuff, size_t sendcount,\n    ncclDataType_t datatype, int root, ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclGather(const void* sendbuff, void* recvbuff, size_t sendcount,\n    ncclDataType_t datatype, int root, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      Scatter\n    @details    Scattered over the devices so that recvbuff on rank i will contain the i-th\n                block of the data on root.\n                Assumes sendcount is equal to nranks*recvcount, which means that *sendbuff*\n                should have a size of at least nranks*recvcount elements.\n                In-place operations will happen if recvbuff == sendbuff + rank * recvcount.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Data array to send (on *root* rank).  May be NULL on other ranks.\n    @param[out] recvbuff      Data array to receive partial subarray into\n    @param[in]  recvcount     Number of elements to receive per rank\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  root          Rank that scatters data to all other ranks\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclScatter(const void* sendbuff, void* recvbuff,\n    size_t recvcount, ncclDataType_t datatype, int root, ncclComm_t comm,\n    hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclScatter(const void* sendbuff, void* recvbuff,\n    size_t recvcount, ncclDataType_t datatype, int root, ncclComm_t comm,\n    hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      All-To-All\n    @details    Device (i) send (j)th block of data to device (j) and be placed as (i)th\n                block. Each block for sending/receiving has *count* elements, which means\n                that *recvbuff* and *sendbuff* should have a size of nranks*count elements.\n                In-place operation is NOT supported. It is the user's responsibility\n                to ensure that sendbuff and recvbuff are distinct.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Data array to send (contains blocks for each other rank)\n    @param[out] recvbuff      Data array to receive (contains blocks from each other rank)\n    @param[in]  count         Number of elements to send between each pair of ranks\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclAlltoAll(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclAlltoAll(const void* sendbuff, void* recvbuff, size_t count,\n    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      All-To-Allv\n    @details    Device (i) sends sendcounts[j] of data from offset sdispls[j]\n                to device (j). At the same time, device (i) receives recvcounts[j] of data\n                from device (j) to be placed at rdispls[j].\n                sendcounts, sdispls, recvcounts and rdispls are all measured in the units\n                of datatype, not bytes.\n                In-place operation will happen if sendbuff == recvbuff.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendbuff      Data array to send (contains blocks for each other rank)\n    @param[in]  sendcounts    Array containing number of elements to send to each participating rank\n    @param[in]  sdispls       Array of offsets into *sendbuff* for each participating rank\n    @param[out] recvbuff      Data array to receive (contains blocks from each other rank)\n    @param[in]  recvcounts    Array containing number of elements to receive from each participating rank\n    @param[in]  rdispls       Array of offsets into *recvbuff* for each participating rank\n    @param[in]  datatype      Data buffer element datatype\n    @param[in]  comm          Communicator group object to execute on\n    @param[in]  stream        HIP stream to execute collective on */\nncclResult_t  ncclAlltoAllv(const void *sendbuff, const size_t sendcounts[],\n    const size_t sdispls[], void *recvbuff, const size_t recvcounts[],\n    const size_t rdispls[], ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pncclAlltoAllv(const void *sendbuff, const size_t sendcounts[],\n    const size_t sdispls[], void *recvbuff, const size_t recvcounts[],\n    const size_t rdispls[], ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @} */\n\n/*! @defgroup   msccl_api MSCCL Algorithm\n    @details    API calls relating to the optional MSCCL algorithm datapath\n    @{ */\n\n/*! @brief      Opaque handle to MSCCL algorithm */\ntypedef int mscclAlgoHandle_t;\n\n/*! @brief      MSCCL Load Algorithm\n    @deprecated This function has been removed from the public API.\n    @details    Load MSCCL algorithm file specified in mscclAlgoFilePath and return\n                its handle via mscclAlgoHandle. This API is expected to be called by MSCCL\n                scheduler instead of end users.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  mscclAlgoFilePath  Path to MSCCL algorithm file\n    @param[out] mscclAlgoHandle    Returned handle to MSCCL algorithm\n    @param[in]  rank               Current rank */\nncclResult_t  mscclLoadAlgo(const char *mscclAlgoFilePath, mscclAlgoHandle_t *mscclAlgoHandle, int rank);\n/*! @cond       include_hidden */\nncclResult_t pmscclLoadAlgo(const char *mscclAlgoFilePath, mscclAlgoHandle_t *mscclAlgoHandle, int rank);\n/*! @endcond */\n\n/*! @brief      MSCCL Run Algorithm\n    @deprecated This function has been removed from the public API.\n    @details    Run MSCCL algorithm specified by mscclAlgoHandle. The parameter\n                list merges all possible parameters required by different operations as this\n                is a general-purposed API. This API is expected to be called by MSCCL\n                scheduler instead of end users.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  sendBuff         Data array to send\n    @param[in]  sendCounts       Array containing number of elements to send to each participating rank\n    @param[in]  sDisPls          Array of offsets into *sendbuff* for each participating rank\n    @param[out] recvBuff         Data array to receive\n    @param[in]  recvCounts       Array containing number of elements to receive from each participating rank\n    @param[in]  rDisPls          Array of offsets into *recvbuff* for each participating rank\n    @param[in]  count            Number of elements\n    @param[in]  dataType         Data buffer element datatype\n    @param[in]  root             Root rank index\n    @param[in]  peer             Peer rank index\n    @param[in]  op               Reduction operator\n    @param[in]  mscclAlgoHandle  Handle to MSCCL algorithm\n    @param[in]  comm             Communicator group object to execute on\n    @param[in]  stream           HIP stream to execute collective on */\nncclResult_t  mscclRunAlgo(\n    const void* sendBuff, const size_t sendCounts[], const size_t sDisPls[],\n    void* recvBuff, const size_t recvCounts[], const size_t rDisPls[],\n    size_t count, ncclDataType_t dataType, int root, int peer, ncclRedOp_t op,\n    mscclAlgoHandle_t mscclAlgoHandle, ncclComm_t comm, hipStream_t stream);\n/*! @cond       include_hidden */\nncclResult_t pmscclRunAlgo(\n    const void* sendBuff, const size_t sendCounts[], const size_t sDisPls[],\n    void* recvBuff, const size_t recvCounts[], const size_t rDisPls[],\n    size_t count, ncclDataType_t dataType, int root, int peer, ncclRedOp_t op,\n    mscclAlgoHandle_t mscclAlgoHandle, ncclComm_t comm, hipStream_t stream);\n/*! @endcond */\n\n/*! @brief      MSCCL Unload Algorithm\n    @deprecated This function has been removed from the public API.\n    @details    Unload MSCCL algorithm previous loaded using its handle. This API\n                is expected to be called by MSCCL scheduler instead of end users.\n    @return     Result code. See @ref rccl_result_code for more details.\n\n    @param[in]  mscclAlgoHandle  Handle to MSCCL algorithm to unload\n*/\nncclResult_t  mscclUnloadAlgo(mscclAlgoHandle_t mscclAlgoHandle);\n/*! @cond       include_hidden */\nncclResult_t pmscclUnloadAlgo(mscclAlgoHandle_t mscclAlgoHandle);\n/*! @endcond */\n/*! @} */\n\n\n/*! @defgroup   rccl_group_api Group semantics\n    @details    When managing multiple GPUs from a single thread, and since RCCL collective\n                calls may perform inter-CPU synchronization, we need to \"group\" calls for\n                different ranks/devices into a single call.\n\n                Grouping RCCL calls as being part of the same collective operation is done\n                using ncclGroupStart and ncclGroupEnd. ncclGroupStart will enqueue all\n                collective calls until the ncclGroupEnd call, which will wait for all calls\n                to be complete. Note that for collective communication, ncclGroupEnd only\n                guarantees that the operations are enqueued on the streams, not that\n                the operation is effectively done.\n\n                Both collective communication and ncclCommInitRank can be used in conjunction\n                of ncclGroupStart/ncclGroupEnd, but not together.\n\n                Group semantics also allow to fuse multiple operations on the same device\n                to improve performance (for aggregated collective calls), or to permit\n                concurrent progress of multiple send/receive operations.\n    @{ */\n\n/*! @brief      Group Start\n    @details    Start a group call. All calls to RCCL until ncclGroupEnd will be fused into\n                a single RCCL operation. Nothing will be started on the HIP stream until\n                ncclGroupEnd.\n    @return     Result code. See @ref rccl_result_code for more details. */\nncclResult_t  ncclGroupStart();\n/*! @cond       include_hidden */\nncclResult_t pncclGroupStart();\n/*! @endcond */\n\n/*! @brief      Group End\n    @details    End a group call. Start a fused RCCL operation consisting of all calls since\n                ncclGroupStart. Operations on the HIP stream depending on the RCCL operations\n                need to be called after ncclGroupEnd.\n    @return     Result code. See @ref rccl_result_code for more details. */\nncclResult_t  ncclGroupEnd();\n/*! @cond       include_hidden */\nncclResult_t pncclGroupEnd();\n/*! @endcond */\n/*! @} */\n\n/*\n * Group Simulate End\n *\n * Simulate a ncclGroupEnd() call and return NCCL's simulation info in a struct.\n */\nncclResult_t  ncclGroupSimulateEnd(ncclSimInfo_t* simInfo);\nncclResult_t pncclGroupSimulateEnd(ncclSimInfo_t* simInfo);\n\n#ifdef __cplusplus\n} // end extern \"C\"\n#endif\n\n#endif // end include guard\n"
  },
  {
    "path": "tools/topo_expl/include/utils.h",
    "content": "/*************************************************************************\n * Copyright (c) 2016-2019, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#ifndef UTILS_H_\n#define UTILS_H_\n\nstruct graphInfo {\n  int pattern;\n  int nChannels;\n  int sameChannels;\n  float bwIntra;\n  float bwInter;\n  int typeIntra;\n  int typeInter;\n};\n\nstruct allGatherInfo {\n  struct graphInfo graphInfo[NCCL_NUM_ALGORITHMS];\n  struct ncclTopoRanks topoRanks;\n  int nc;\n  bool pivotA2AEnabled;\n  bool ll128Enabled;\n  bool mscclEnabled;\n};\n\nvoid initCollNet();\n\nncclResult_t ncclTopoGetSystem(const char* xmlTopoFile, struct ncclTopoSystem** system);\n\nncclResult_t ncclTopoGetSystemFromXml(struct ncclXml* xml, struct ncclTopoSystem** topoSystem);\n\nncclResult_t fillInfo(struct ncclComm* comm, struct ncclPeerInfo* info, uint64_t commHash);\n\nncclResult_t initTransportsRank_1(struct ncclComm* comm, struct allGatherInfo *allGather3Data,\n  struct ncclTopoGraph& treeGraph, struct ncclTopoGraph& ringGraph, struct ncclTopoGraph& collNetGraph, struct ncclTopoGraph& nvlsGraph, struct ncclComm* parent = NULL);\n\nncclResult_t initTransportsRank_3(struct ncclComm* comm, struct allGatherInfo *allGather3Data,\n  struct ncclTopoGraph& treeGraph, struct ncclTopoGraph& ringGraph, struct ncclTopoGraph& collNetGraph, struct ncclTopoGraph& nvlsGraph);\n\n#define TIME_START(index)\n\n#define TIME_STOP(index)\n\n#define TIME_CANCEL(index)\n\n#define TIME_PRINT(name)\n\n#endif"
  },
  {
    "path": "tools/topo_expl/model.cpp",
    "content": "/*\nCopyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#include \"nccl.h\"\n#include \"channel.h\"\n#include \"nvmlwrap.h\"\n#include \"bootstrap.h\"\n#include \"transport.h\"\n#include \"group.h\"\n#include \"net.h\"\n#include \"graph.h\"\n#include \"argcheck.h\"\n#include <sched.h>\n#include <fcntl.h>\n#include <unistd.h>\n#include <hip/hip_runtime.h>\n#include <string.h>\n#include <errno.h>\n#include <assert.h>\n#include <dlfcn.h>\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <unistd.h>\n#include \"model.h\"\n#include \"topo.h\"\n\nextern NodeModel *node_model;\n\nncclNet_t ncclNetDummy = {\n  \"IB\",\n  0,\n  0,\n  0,\n  0,\n  0,\n  0,\n  0,\n  0,\n  0,\n  0,\n  0,\n  0,\n  0,\n  0,\n  0\n};\n\nncclNet_t* ncclNet = &ncclNetDummy;\n\nint ncclNetVersion() {\n  return 4;\n}\n\n/* Convert a PCI busId string into a local cudaDev device index (cf. CUDA_VISIBLE_DEVICES) */\nint busIdToCudaDev(int64_t busId) {\n  return node_model->busIdToCudaDev(busId);\n}\n\nstatic int useMemcpy = 0;\n\n/* Determine if two peers can communicate with P2P */\nncclResult_t p2pCanConnect(int* ret,  struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* info1, struct ncclPeerInfo* info2) {\n  if (!info1->hasFineGrain || !info2->hasFineGrain)  {\n    *ret = 0;\n    return ncclSuccess;\n  }\n\n  // Rule out different nodes / isolated containers\n  if (info1->hostHash != info2->hostHash || info1->shmDev != info2->shmDev) {\n    *ret = 0;\n    return ncclSuccess;\n  }\n\n  // Check topology / p2p level.\n  int intermediateRank;\n  NCCLCHECK(ncclTopoCheckP2p(comm, comm->topo, info1->rank, info2->rank, ret, NULL, &intermediateRank));\n  if (*ret == 0) return ncclSuccess;\n  if (intermediateRank != -1) {\n    if (useMemcpy) *ret = 0;\n    return ncclSuccess;\n  }\n\n  // Check if NET would work better\n  int useNet = 0;\n  NCCLCHECK(ncclTopoCheckNet(comm->topo, info1->rank, info2->rank, &useNet));\n  if (useNet) {\n    *ret = 0;\n    return ncclSuccess;\n  }\n\n  *ret = 1;\n  return ncclSuccess;\n}\n\n/* Send: Create and return connect structures for this peer to connect to me */\nncclResult_t p2pSendSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo,\n    struct ncclConnect* connectInfo, struct ncclConnector* send, int channelId, int connIndex) {\n  if (myInfo->pidHash == peerInfo->pidHash) {\n    if (myInfo->cudaDev == peerInfo->cudaDev) {\n      INFO(NCCL_INIT|NCCL_P2P,\"Ring %02d : %d[%d] -> %d[%d] via P2P/common device\", channelId, myInfo->rank, myInfo->cudaDev, peerInfo->rank, peerInfo->cudaDev);\n      return ncclInternalError;\n    } else {\n      INFO(NCCL_INIT|NCCL_P2P,\"Ring %02d : %d[%lx] -> %d[%lx] via P2P/direct pointer\",\n          channelId, myInfo->rank, myInfo->busId, peerInfo->rank, peerInfo->busId);\n    }\n  } else {\n    INFO(NCCL_INIT|NCCL_P2P,\"Ring %02d : %d[%lx] -> %d[%lx] via P2P/IPC\",\n        channelId, myInfo->rank, myInfo->busId, peerInfo->rank, peerInfo->busId);\n    //TRACE_DUMP_IPC(&info.devIpc);\n  }\n  return ncclSuccess;\n}\n\n/* Create and return connect structures for this peer to connect to me */\nncclResult_t p2pRecvSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo,\n    struct ncclConnect* connectInfo, struct ncclConnector * recv, int channelId, int connIndex) {\n  return ncclSuccess;\n}\n\nstruct ncclTransport p2pTransport = {\n  \"P2P\",\n  p2pCanConnect,\n  { p2pSendSetup, NULL, NULL, NULL },\n  { p2pRecvSetup, NULL, NULL, NULL }\n};\n\nNCCL_PARAM(ShmDisable, \"SHM_DISABLE\", 0);\n\n/* Determine if two peers can communicate with SHM */\nncclResult_t shmCanConnect(int* ret,  struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* info1, struct ncclPeerInfo* info2) {\n  *ret = 0;\n  if (ncclParamShmDisable() == 1) return ncclSuccess;\n\n  int useNet = 0;\n  NCCLCHECK(ncclTopoCheckNet(comm->topo, info1->rank, info2->rank, &useNet));\n  if (useNet) return ncclSuccess;\n\n  // Same host?\n  TRACE(NCCL_INIT|NCCL_SHM, \"peer1 hostHash %lx peer2 hostHash %lx\", info1->hostHash, info2->hostHash);\n  if (info1->hostHash != info2->hostHash) return ncclSuccess;\n\n  // Common /dev/shm (between containers) ?\n  TRACE(NCCL_INIT|NCCL_SHM, \"peer1 shmDev %lx peer2 shmDev %lx\", info1->shmDev, info2->shmDev);\n  if (info1->shmDev != info2->shmDev) return ncclSuccess;\n\n  *ret = 1;\n  return ncclSuccess;\n}\n\n/* Create and return connect structures for this peer to connect to me */\nncclResult_t shmSendSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo, struct ncclConnect* connectInfo, struct ncclConnector* send, int channelId, int connIndex) {\n  INFO(NCCL_INIT|NCCL_SHM,\"Ring %02d : %d[%lx] -> %d[%lx] via direct shared memory\", channelId, myInfo->rank, myInfo->busId, peerInfo->rank, peerInfo->busId);\n  return ncclSuccess;\n}\n\nncclResult_t shmRecvSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo, struct ncclConnect* connectInfo, struct ncclConnector* recv, int channelId, int connIndex) {\n  return ncclSuccess;\n}\n\nstruct ncclTransport shmTransport = {\n  \"SHM\",\n  shmCanConnect,\n  { shmSendSetup, NULL, NULL, NULL },\n  { shmRecvSetup, NULL, NULL, NULL }\n};\n\nNCCL_PARAM(NetSharedBuffers, \"NET_SHARED_BUFFERS\", -2);\n\nstruct setupReq {\n  int rank;\n  int localRank;\n  int remoteRank;\n  int shared;\n  int netDev;\n  enum ncclTopoGdrMode useGdr;\n  int channelId;\n  int connIndex;\n};\n\n/* Determine if two peers can communicate with NET */\nncclResult_t netCanConnect(int* ret,  struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* info1, struct ncclPeerInfo* info2) {\n  *ret = 1;\n  return ncclSuccess;\n}\n\nncclResult_t netSendSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo, struct ncclConnect* connectInfo, struct ncclConnector* send, int channelId, int connIndex) {\n  struct setupReq req;\n\n  send->conn.shared = req.shared = graph ? 0 : ncclParamNetSharedBuffers() != -2 ? ncclParamNetSharedBuffers() : 1;\n  req.channelId = channelId;\n  req.connIndex = connIndex;\n  req.netDev = -1;\n\n  int proxyRank = myInfo->rank;\n  int64_t netId;\n  if (connIndex == NCCL_CONN_IDX_P2P_NET) NCCLCHECK(ncclTopoGetIntraNetDev(comm->topo, myInfo->rank, graph, channelId, 1, &netId, &req.netDev));\n  if (req.netDev < 0) NCCLCHECK(ncclTopoGetNetDev(comm, myInfo->rank, graph, channelId, peerInfo->rank, &netId, &req.netDev, &proxyRank));\n  NCCLCHECK(ncclTopoCheckGdr(comm->topo, myInfo->rank, netId, 1, &req.useGdr));\n\n  if (proxyRank == myInfo->rank) {\n    INFO(NCCL_INIT|NCCL_NET,\"Channel %02d/%d : %d[%lx] -> %d[%lx] [send] via NET/%s/%d%s%s\", channelId, connIndex, myInfo->rank, myInfo->busId, peerInfo->rank, peerInfo->busId, comm->ncclNet->name, req.netDev,\n        req.useGdr ? \"/GDRDMA\" : \"\", req.shared ? \"/Shared\" : \"\");\n  } else {\n    INFO(NCCL_INIT|NCCL_NET,\"Channel %02d/%d : %d[%lx] -> %d[%lx] [send] via NET/%s/%d(%d)%s%s\", channelId, connIndex, myInfo->rank, myInfo->busId, peerInfo->rank, peerInfo->busId, comm->ncclNet->name, req.netDev,\n        proxyRank, req.useGdr ? \"/GDRDMA\" : \"\", req.shared ? \"/Shared\" : \"\");\n  }\n  *((int*)connectInfo) = proxyRank;\n  return ncclSuccess;\n}\n\nNCCL_PARAM(NetGdrLevel, \"NET_GDR_LEVEL\", PATH_PHB);\n\nncclResult_t netRecvSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo, struct ncclConnect* connectInfo, struct ncclConnector* recv, int channelId, int connIndex) {\n struct setupReq req;\n\n  recv->conn.shared = req.shared = graph ? 0 : ncclParamNetSharedBuffers() != -2 ? ncclParamNetSharedBuffers() : 1;\n  req.channelId = channelId;\n  req.connIndex = connIndex;\n  req.netDev = -1;\n\n  // Use myInfo->rank as the receiver uses its own NIC\n  int proxyRank = myInfo->rank;\n  int64_t netId;\n  if (connIndex == NCCL_CONN_IDX_P2P_NET) NCCLCHECK(ncclTopoGetIntraNetDev(comm->topo, myInfo->rank, graph, channelId, 0, &netId, &req.netDev));\n  if (req.netDev < 0) NCCLCHECK(ncclTopoGetNetDev(comm, myInfo->rank, graph, channelId, myInfo->rank, &netId, &req.netDev, &proxyRank));\n  NCCLCHECK(ncclTopoCheckGdr(comm->topo, myInfo->rank, netId, 0, &req.useGdr));\n\n  INFO(NCCL_INIT|NCCL_NET,\"Channel %02d/%d : %d[%lx] -> %d[%lx] [receive] via NET/%s/%d%s%s\", channelId, connIndex, peerInfo->rank, peerInfo->busId, myInfo->rank, myInfo->busId, comm->ncclNet->name, req.netDev,\n      req.useGdr ? \"/GDRDMA\" : \"\", req.shared ? \"/Shared\" : \"\");\n  return ncclSuccess;\n}\n\nstruct ncclTransport netTransport = {\n  \"NET\",\n  netCanConnect,\n  { netSendSetup, NULL, NULL, NULL },\n  { netRecvSetup, NULL, NULL, NULL }\n};\n\n/* Determine if two peers can communicate with NET */\nncclResult_t collNetCanConnect(int* ret,  struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* info1, struct ncclPeerInfo* info2) {\n  *ret = 1;\n  return ncclSuccess;\n}\n\nncclResult_t collNetSendSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo, struct ncclConnect* connectInfo, struct ncclConnector* send, int channelId, int connIndex) {\n  int netDev, proxy;\n  enum ncclTopoGdrMode useGdr = ncclTopoGdrModeDisable;\n\n  NCCLCHECK(ncclTopoGetNetDev(comm, myInfo->rank, graph, channelId, peerInfo->rank, NULL, &netDev, &proxy));\n  NCCLCHECK(ncclTopoCheckGdr(comm->topo, myInfo->rank, netDev, 1, &useGdr));\n\n  INFO(NCCL_INIT|NCCL_NET,\"Coll %02d : %d [send] via COLLNET/%s/%d%s\", channelId, myInfo->rank, \"SHARP\", netDev, useGdr ? \"/GDRDMA\" : \"\");\n  return ncclSuccess;\n}\n\nncclResult_t collNetRecvSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peerInfo, struct ncclConnect* connectInfo, struct ncclConnector* recv, int channelId, int connIndex) {\n  int netDev, proxy;\n  enum ncclTopoGdrMode useGdr = ncclTopoGdrModeDisable;\n\n  NCCLCHECK(ncclTopoGetNetDev(comm, myInfo->rank, graph, channelId, peerInfo->rank, NULL, &netDev,  &proxy));\n  NCCLCHECK(ncclTopoCheckGdr(comm->topo, myInfo->rank, netDev, 0, &useGdr));\n\n  INFO(NCCL_INIT|NCCL_NET,\"Coll %02d : %d [receive] via COLLNET/%s/%d%s\", channelId, myInfo->rank, \"SHARP\", netDev, useGdr ? \"/GDRDMA\" : \"\");\n  return ncclSuccess;\n}\n\nstruct ncclTransport collNetTransport = {\n  \"COL\",\n  collNetCanConnect,\n  { collNetSendSetup, NULL, NULL, NULL },\n  { collNetRecvSetup, NULL, NULL, NULL }\n};\n\nstruct ncclTransport* ncclTransports[] = {\n  &p2pTransport,\n  &shmTransport,\n  &netTransport,\n  &collNetTransport,\n};\n"
  },
  {
    "path": "tools/topo_expl/models/topo_16p1h.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,ffffffff,00000000,00000000,00000000,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:49:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:4c:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:4e:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"0\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n              <xgmi target=\"0000:51:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:56:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0e:00.0\" count=\"2\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:4f:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:51:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"1\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n              <xgmi target=\"0000:4e:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:56:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:59:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:11:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:4b:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0xd041bb0003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n      <pci busid=\"0000:52:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:54:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:56:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"2\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n              <xgmi target=\"0000:4e:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:51:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:59:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:16:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:57:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:59:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"3\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n              <xgmi target=\"0000:51:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:56:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:19:00.0\" count=\"2\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:5a:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_1\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x2085ba0003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,ffffffff,00000000,00000000,00000000,ffffffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:09:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:0c:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:0e:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"4\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n              <xgmi target=\"0000:4e:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:11:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:0f:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:11:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"5\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n              <xgmi target=\"0000:51:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0e:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:92:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:97:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:0b:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_2\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0xfc84ba0003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n      <pci busid=\"0000:12:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:14:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:16:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"6\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n              <xgmi target=\"0000:56:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:19:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:92:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:97:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:17:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:19:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"7\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n              <xgmi target=\"0000:59:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:16:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:9a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:1a:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_3\" dev=\"3\" speed=\"200000\" port=\"1\" guid=\"0x1c40bb0003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,ffffffff,00000000,00000000,00000000,ffffffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c2:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:ca:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:cd:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:cf:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"8\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"8\" gdr=\"1\">\n              <xgmi target=\"0000:d2:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d7:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8f:00.0\" count=\"2\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:d0:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:d2:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"9\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"9\" gdr=\"1\">\n              <xgmi target=\"0000:cf:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d7:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:da:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:92:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:cc:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_4\" dev=\"4\" speed=\"200000\" port=\"1\" guid=\"0x40bb0003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n      <pci busid=\"0000:d3:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:d5:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:d7:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"10\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"10\" gdr=\"1\">\n              <xgmi target=\"0000:cf:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d2:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:da:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:97:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:d8:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:da:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"11\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"11\" gdr=\"1\">\n              <xgmi target=\"0000:d2:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d7:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:9a:00.0\" count=\"2\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:db:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_5\" dev=\"5\" speed=\"200000\" port=\"1\" guid=\"0x7c85ba0003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffffff,00000000,00000000,00000000,ffffffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:82:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:8a:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:8d:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:8f:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"12\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"12\" gdr=\"1\">\n              <xgmi target=\"0000:0e:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:cf:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:92:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:90:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:92:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"13\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"13\" gdr=\"1\">\n              <xgmi target=\"0000:11:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:16:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d2:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8f:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:8c:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_7\" dev=\"6\" speed=\"200000\" port=\"1\" guid=\"0x85ba0003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n      <pci busid=\"0000:93:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:95:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:97:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"14\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"14\" gdr=\"1\">\n              <xgmi target=\"0000:11:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:16:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d7:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:9a:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:98:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:9a:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"15\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"15\" gdr=\"1\">\n              <xgmi target=\"0000:19:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:da:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:97:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:9b:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_8\" dev=\"7\" speed=\"200000\" port=\"1\" guid=\"0xc042bb0003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_16p1h_vm.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00ffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"3436:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"0\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n        <xgmi target=\"11d1:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"d2a8:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"2589:00:00.0\" count=\"2\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"11d1:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"1\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n        <xgmi target=\"3436:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0b40:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"d2a8:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"12de:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0b40:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"2\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n        <xgmi target=\"11d1:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"d2a8:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0bd7:00:00.0\" count=\"2\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"d2a8:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"3\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n        <xgmi target=\"3436:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"11d1:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0b40:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"258d:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"c7ca:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101c\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_1\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x885b20003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"93b7:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101c\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_6\" dev=\"6\" speed=\"200000\" port=\"1\" guid=\"0x6885b20003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,0000ffff,ff000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"2589:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"4\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n        <xgmi target=\"3436:00:00.0\" count=\"2\" tclass=\"0x038000\"/>\n        <xgmi target=\"258d:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"fa78:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"258d:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"5\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n        <xgmi target=\"d2a8:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"2589:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"2460:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"e33f:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"12de:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"6\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n        <xgmi target=\"11d1:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0bd7:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"2460:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"e33f:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0bd7:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"7\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n        <xgmi target=\"0b40:00:00.0\" count=\"2\" tclass=\"0x038000\"/>\n        <xgmi target=\"12de:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"ef87:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"f9dd:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101c\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x1085b20003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"889c:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101c\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_4\" dev=\"4\" speed=\"200000\" port=\"1\" guid=\"0xd481b20003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"000000ff,ffff0000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"fb49:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"8\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"8\" gdr=\"1\">\n        <xgmi target=\"c77c:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"820c:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0be8:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"e33f:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"c77c:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"9\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"9\" gdr=\"1\">\n        <xgmi target=\"fb49:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"820c:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"0be8:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"2460:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"820c:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"10\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"10\" gdr=\"1\">\n        <xgmi target=\"fb49:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"c77c:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"fa78:00:00.0\" count=\"2\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0be8:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"11\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"11\" gdr=\"1\">\n        <xgmi target=\"fb49:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"c77c:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"ef87:00:00.0\" count=\"2\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"6738:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101c\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_2\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0x482b20003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"982d:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101c\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_3\" dev=\"3\" speed=\"200000\" port=\"1\" guid=\"0xacb10003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffff00,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"2460:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"12\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"12\" gdr=\"1\">\n        <xgmi target=\"258d:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"12de:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"c77c:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"fa78:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"fa78:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"13\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"13\" gdr=\"1\">\n        <xgmi target=\"2589:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"820c:00:00.0\" count=\"2\" tclass=\"0x038000\"/>\n        <xgmi target=\"2460:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"e33f:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"14\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"14\" gdr=\"1\">\n        <xgmi target=\"258d:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"12de:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"fb49:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"ef87:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"ef87:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"15\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"15\" gdr=\"1\">\n        <xgmi target=\"0bd7:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0be8:00:00.0\" count=\"2\" tclass=\"0x038000\"/>\n        <xgmi target=\"e33f:00:00.0\" count=\"4\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"c41e:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101c\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_5\" dev=\"5\" speed=\"200000\" port=\"1\" guid=\"0x6c85b20003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"3146:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101c\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_7\" dev=\"7\" speed=\"200000\" port=\"1\" guid=\"0x4885b20003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_16p_gio-1s-1rp-cascade.xml",
    "content": "<system version=\"2\">\n  <cpu host_hash=\"0x58e137603ea7ac35\" numaid=\"1\" affinity=\"ffffffff,ffffff00,00000000,0000ffff,ffffffff,ff000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"17\">\n    <pci busid=\"0000:32:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff82\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:34:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:36:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff83\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:38:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff82\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <pci busid=\"0000:3a:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n              <pci busid=\"0000:3c:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x0104\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                <pci busid=\"0000:3e:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:40:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:42:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <gpu dev=\"0\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"0\" gdr=\"0\">\n                        <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:4c:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:5d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:64:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:67:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:6b:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                      </gpu>\n                    </pci>\n                  </pci>\n                </pci>\n                <pci busid=\"0000:43:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:45:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x15d9\" subsystem_device=\"0x1d2a\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:47:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:49:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"1\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"1\" gdr=\"0\">\n                          <xgmi target=\"0000:42:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:4c:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:5d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:64:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:67:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:6b:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                    <pci busid=\"0000:4a:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:4c:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"2\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"2\" gdr=\"0\">\n                          <xgmi target=\"0000:42:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:5d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:64:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:67:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:6b:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                  <pci busid=\"0000:4e:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:50:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <gpu dev=\"3\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"3\" gdr=\"0\">\n                        <xgmi target=\"0000:42:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:4c:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:5d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:64:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:67:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:6b:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                      </gpu>\n                    </pci>\n                  </pci>\n                </pci>\n              </pci>\n            </pci>\n          </pci>\n          <pci busid=\"0000:53:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff82\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <pci busid=\"0000:55:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n              <pci busid=\"0000:57:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x0104\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                <pci busid=\"0000:59:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:5b:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:5d:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <gpu dev=\"4\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"4\" gdr=\"0\">\n                        <xgmi target=\"0000:42:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:4c:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:64:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:67:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:6b:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                      </gpu>\n                    </pci>\n                  </pci>\n                </pci>\n                <pci busid=\"0000:5e:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:60:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x15d9\" subsystem_device=\"0x1d2a\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:62:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:64:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"5\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"5\" gdr=\"0\">\n                          <xgmi target=\"0000:42:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:4c:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:5d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:67:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:6b:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                    <pci busid=\"0000:65:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:67:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"6\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"6\" gdr=\"0\">\n                          <xgmi target=\"0000:42:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:4c:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:5d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:64:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:6b:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                  <pci busid=\"0000:69:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:6b:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <gpu dev=\"7\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"7\" gdr=\"0\">\n                        <xgmi target=\"0000:42:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:4c:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:5d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:64:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:67:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                      </gpu>\n                    </pci>\n                  </pci>\n                </pci>\n              </pci>\n            </pci>\n          </pci>\n          <pci busid=\"0000:6e:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff82\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <pci busid=\"0000:70:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n              <pci busid=\"0000:72:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x0104\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                <pci busid=\"0000:74:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:76:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:78:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <gpu dev=\"8\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"8\" gdr=\"0\">\n                        <xgmi target=\"0000:7f:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:82:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:86:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:93:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:9a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:9d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:a1:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                      </gpu>\n                    </pci>\n                  </pci>\n                </pci>\n                <pci busid=\"0000:79:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:7b:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x15d9\" subsystem_device=\"0x1d2a\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:7d:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:7f:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"9\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"9\" gdr=\"0\">\n                          <xgmi target=\"0000:78:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:82:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:86:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:93:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:9a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:9d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:a1:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                    <pci busid=\"0000:80:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:82:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"10\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"10\" gdr=\"0\">\n                          <xgmi target=\"0000:78:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:7f:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:86:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:93:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:9a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:9d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:a1:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                  <pci busid=\"0000:84:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:86:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <gpu dev=\"11\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"11\" gdr=\"0\">\n                        <xgmi target=\"0000:78:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:7f:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:82:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:93:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:9a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:9d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:a1:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                      </gpu>\n                    </pci>\n                  </pci>\n                </pci>\n              </pci>\n            </pci>\n          </pci>\n          <pci busid=\"0000:89:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff82\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <pci busid=\"0000:8b:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n              <pci busid=\"0000:8d:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x0104\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                <pci busid=\"0000:8f:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:91:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:93:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <gpu dev=\"12\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"12\" gdr=\"0\">\n                        <xgmi target=\"0000:78:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:7f:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:82:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:86:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:9a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:9d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:a1:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                      </gpu>\n                    </pci>\n                  </pci>\n                </pci>\n                <pci busid=\"0000:94:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:96:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x15d9\" subsystem_device=\"0x1d2a\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:98:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:9a:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"13\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"13\" gdr=\"0\">\n                          <xgmi target=\"0000:78:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:7f:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:82:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:86:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:93:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:9d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:a1:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                    <pci busid=\"0000:9b:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:9d:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"14\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"14\" gdr=\"0\">\n                          <xgmi target=\"0000:78:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:7f:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:82:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:86:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:93:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:9a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:a1:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                  <pci busid=\"0000:9f:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:a1:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <gpu dev=\"15\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"15\" gdr=\"0\">\n                        <xgmi target=\"0000:78:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:7f:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:82:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:86:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:93:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:9a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        <xgmi target=\"0000:9d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                      </gpu>\n                    </pci>\n                  </pci>\n                </pci>\n              </pci>\n            </pci>\n          </pci>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu host_hash=\"0x58e137603ea7ac35\" numaid=\"0\" affinity=\"00000000,000000ff,ffffffff,ffff0000,00000000,00ffffff,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"17\">\n    <pci busid=\"0000:01:00.0\" class=\"0x020000\" vendor=\"0x8086\" device=\"0x1521\" subsystem_vendor=\"0x8086\" subsystem_device=\"0x0002\" link_speed=\"5.0 GT/s PCIe\" link_width=\"4\">\n      <nic>\n        <net name=\"enp1s0f0\" dev=\"0\" speed=\"1000\" port=\"0\" latency=\"0.000000\" guid=\"0x0\" maxconn=\"65536\" gdr=\"0\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_16p_gio-3s-1rp-split-flat.xml",
    "content": "<system version=\"2\">\n  <cpu numaid=\"1\" affinity=\"ffffffff,ffffff00,00000000,0000ffff,ffffffff,ff000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"17\">\n    <pci busid=\"0000:45:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff82\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:47:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:49:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff83\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:4b:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff83\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <pci busid=\"0000:4d:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff82\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n              <pci busid=\"0000:4f:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                <pci busid=\"0000:51:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x0104\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:53:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:55:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:57:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"0\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"0\" gdr=\"0\">\n                          <xgmi target=\"0000:5d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:6a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:70:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:ab:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:b1:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:be:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:c4:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                  <pci busid=\"0000:58:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:5b:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:5d:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"1\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"1\" gdr=\"0\">\n                          <xgmi target=\"0000:57:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:6a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:70:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:ab:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:b1:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:be:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:c4:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                </pci>\n              </pci>\n            </pci>\n            <pci busid=\"0000:60:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff82\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n              <pci busid=\"0000:62:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                <pci busid=\"0000:64:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x0104\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:66:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:68:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:6a:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"2\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"2\" gdr=\"0\">\n                          <xgmi target=\"0000:57:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:5d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:70:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:ab:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:b1:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:be:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:c4:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                  <pci busid=\"0000:6b:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:6e:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:70:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"3\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"3\" gdr=\"0\">\n                          <xgmi target=\"0000:57:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:5d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:6a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:ab:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:b1:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:be:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:c4:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                </pci>\n              </pci>\n            </pci>\n          </pci>\n          <pci busid=\"0000:75:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff83\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <pci busid=\"0000:77:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff82\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n              <pci busid=\"0000:79:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                <pci busid=\"0000:7b:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x0104\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:7d:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:7f:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:81:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"4\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"4\" gdr=\"0\">\n                          <xgmi target=\"0000:87:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:94:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:9a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:d5:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:db:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:e8:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:ee:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                  <pci busid=\"0000:82:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:85:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:87:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"5\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"5\" gdr=\"0\">\n                          <xgmi target=\"0000:81:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:94:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:9a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:d5:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:db:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:e8:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:ee:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                </pci>\n              </pci>\n            </pci>\n            <pci busid=\"0000:8a:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff82\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n              <pci busid=\"0000:8c:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                <pci busid=\"0000:8e:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x0104\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:90:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:92:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:94:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"6\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"6\" gdr=\"0\">\n                          <xgmi target=\"0000:81:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:87:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:9a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:d5:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:db:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:e8:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:ee:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                  <pci busid=\"0000:95:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:98:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:9a:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"7\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"7\" gdr=\"0\">\n                          <xgmi target=\"0000:81:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:87:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:94:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:d5:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:db:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:e8:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:ee:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                </pci>\n              </pci>\n            </pci>\n          </pci>\n          <pci busid=\"0000:9f:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0x4000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <pci busid=\"0000:a1:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff82\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n              <pci busid=\"0000:a3:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                <pci busid=\"0000:a5:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x0104\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:a7:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:a9:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:ab:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"8\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"8\" gdr=\"0\">\n                          <xgmi target=\"0000:57:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:5d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:6a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:70:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:b1:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:be:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:c4:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                  <pci busid=\"0000:ac:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:af:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:b1:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"9\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"9\" gdr=\"0\">\n                          <xgmi target=\"0000:57:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:5d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:6a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:70:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:ab:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:be:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:c4:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                </pci>\n              </pci>\n            </pci>\n            <pci busid=\"0000:b4:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff82\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n              <pci busid=\"0000:b6:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                <pci busid=\"0000:b8:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x0104\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:ba:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:bc:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:be:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"10\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"10\" gdr=\"0\">\n                          <xgmi target=\"0000:57:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:5d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:6a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:70:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:ab:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:b1:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:c4:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                  <pci busid=\"0000:bf:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:c2:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:c4:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"11\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"11\" gdr=\"0\">\n                          <xgmi target=\"0000:57:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:5d:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:6a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:70:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:ab:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:b1:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:be:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                </pci>\n              </pci>\n            </pci>\n          </pci>\n          <pci busid=\"0000:c9:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0x4000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <pci busid=\"0000:cb:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff82\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n              <pci busid=\"0000:cd:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                <pci busid=\"0000:cf:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x0104\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:d1:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:d3:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:d5:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"12\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"12\" gdr=\"0\">\n                          <xgmi target=\"0000:81:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:87:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:94:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:9a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:db:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:e8:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:ee:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                  <pci busid=\"0000:d6:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:d9:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:db:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"13\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"13\" gdr=\"0\">\n                          <xgmi target=\"0000:81:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:87:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:94:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:9a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:d5:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:e8:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:ee:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                </pci>\n              </pci>\n            </pci>\n            <pci busid=\"0000:de:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1ce5\" subsystem_device=\"0xff82\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n              <pci busid=\"0000:e0:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                <pci busid=\"0000:e2:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x0104\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n                  <pci busid=\"0000:e4:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:e6:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:e8:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"14\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"14\" gdr=\"0\">\n                          <xgmi target=\"0000:81:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:87:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:94:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:9a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:d5:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:db:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:ee:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                  <pci busid=\"0000:e9:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1000\" subsystem_device=\"0x1003\" link_speed=\"5.0 GT/s PCIe\" link_width=\"16\">\n                    <pci busid=\"0000:ec:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                      <pci busid=\"0000:ee:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n                        <gpu dev=\"15\" sm=\"94\" gcn=\"gfx942\" arch=\"38911\" rank=\"15\" gdr=\"0\">\n                          <xgmi target=\"0000:81:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:87:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:94:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:9a:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:d5:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:db:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                          <xgmi target=\"0000:e8:00.0\" count=\"1\" tclass=\"0x120000\"/>\n                        </gpu>\n                      </pci>\n                    </pci>\n                  </pci>\n                </pci>\n              </pci>\n            </pci>\n          </pci>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"0\" affinity=\"00000000,000000ff,ffffffff,ffff0000,00000000,00ffffff,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"17\">\n    <pci busid=\"0000:01:00.0\" class=\"0x020000\" vendor=\"0x8086\" device=\"0x1521\" subsystem_vendor=\"0x8086\" subsystem_device=\"0x0002\" link_speed=\"5.0 GT/s PCIe\" link_width=\"4\">\n      <nic>\n        <net name=\"enp1s0f0\" dev=\"0\" speed=\"1000\" port=\"0\" latency=\"0.000000\" guid=\"0x0\" maxconn=\"65536\" gdr=\"0\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_3p_pcie.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"0000ffff,0000ffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"1\">\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740f\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"0\" gdr=\"1\"/>\n      </pci>\n    </pci>\n    <pci busid=\"0000:41:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0xad9c300039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"ffff0000,ffff0000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"1\">\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740f\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"1\" gdr=\"1\"/>\n      </pci>\n    </pci>\n    <pci busid=\"0000:e2:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:e4:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740f\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"2\" gdr=\"1\"/>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_3p_pcie_1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"0000ffff,0000ffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"1\">\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740f\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"0\" gdr=\"1\"/>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"ffff0000,ffff0000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"1\">\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740f\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"1\" gdr=\"1\"/>\n      </pci>\n    </pci>\n    <pci busid=\"0000:e2:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:e4:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740f\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"2\" gdr=\"1\"/>\n      </pci>\n    </pci>\n    <pci busid=\"0000:a1:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_1\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x7657900003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_4p1h.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"0003ff,f0003fff\" arch=\"x86_64\" vendor=\"GenuineIntel\" familyid=\"6\" modelid=\"85\">\n    <pci busid=\"0000:18:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:1b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:1d:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n            <xgmi target=\"0000:20:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1e:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:20:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n            <xgmi target=\"0000:1d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n            <xgmi target=\"0000:1d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n            <xgmi target=\"0000:20:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1a:00.0\" class=\"0x020000\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_0\" dev=\"0\" speed=\"100000\" port=\"1\" guid=\"0xf2bb2700034b6b50\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_4p1h_1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"0003ff,f0003fff\" arch=\"x86_64\" vendor=\"GenuineIntel\" familyid=\"6\" modelid=\"85\">\n    <pci busid=\"0000:18:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:1a:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"0\">\n          <xgmi target=\"0000:3d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:b1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:3b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:3d:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"0\">\n          <xgmi target=\"0000:1a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:88:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x020000\" link_speed=\"8 GT/s\" link_width=\"4\">\n      <nic>\n        <net name=\"eno1\" dev=\"0\" speed=\"10000\" port=\"0\" guid=\"0x0\" maxconn=\"65536\" gdr=\"0\"/>\n      </nic>\n    </pci>\n    <nic>\n      <net name=\"virbr0\" dev=\"1\" speed=\"10000\" port=\"0\" guid=\"0x1\" maxconn=\"65536\" gdr=\"0\"/>\n    </nic>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"fffc00,0fffc000\" arch=\"x86_64\" vendor=\"GenuineIntel\" familyid=\"6\" modelid=\"85\">\n    <pci busid=\"0000:86:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:88:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"0\">\n          <xgmi target=\"0000:3d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:b1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:af:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:b1:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"0\">\n          <xgmi target=\"0000:1a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:88:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_4p2h.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"0003ff,f0003fff\" arch=\"x86_64\" vendor=\"GenuineIntel\" familyid=\"6\" modelid=\"85\">\n    <pci busid=\"0000:18:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:1b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:1d:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n            <xgmi target=\"0000:20:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1e:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:20:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n            <xgmi target=\"0000:1d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n            <xgmi target=\"0000:1d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n            <xgmi target=\"0000:20:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1a:00.0\" class=\"0x020000\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_0\" dev=\"0\" speed=\"100000\" port=\"1\" guid=\"0xf2bb2700034b6b50\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n    <pci busid=\"0000:3b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:3d:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:3f:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n            <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:46:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n            <xgmi target=\"0000:3f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:44:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:46:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n            <xgmi target=\"0000:3f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:47:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:49:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n            <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:46:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_4p2h_1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"0003ff,f0003fff\" arch=\"x86_64\" vendor=\"GenuineIntel\" familyid=\"6\" modelid=\"85\">\n    <pci busid=\"0000:18:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:1b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:1d:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n            <xgmi target=\"0000:20:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1e:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:20:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n            <xgmi target=\"0000:1d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n            <xgmi target=\"0000:1d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n            <xgmi target=\"0000:20:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:3b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:3d:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:3f:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n            <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:46:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n            <xgmi target=\"0000:3f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:44:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:46:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n            <xgmi target=\"0000:3f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:47:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:49:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n            <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:46:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:4c:00.0\" class=\"0x020000\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_0\" dev=\"0\" speed=\"100000\" port=\"1\" guid=\"0xf2bb2700034b6b50\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_4p2h_2nic.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"0003ff,f0003fff\" arch=\"x86_64\" vendor=\"GenuineIntel\" familyid=\"6\" modelid=\"85\">\n    <pci busid=\"0000:18:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:1b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:1d:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n            <xgmi target=\"0000:20:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1e:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:20:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n            <xgmi target=\"0000:1d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n            <xgmi target=\"0000:1d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n            <xgmi target=\"0000:20:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1a:00.0\" class=\"0x020000\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_0\" dev=\"0\" speed=\"100000\" port=\"1\" guid=\"0xf2bb2700034b6b50\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n    <pci busid=\"0000:3b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:3d:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:3f:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n            <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:46:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n            <xgmi target=\"0000:3f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:44:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:46:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n            <xgmi target=\"0000:3f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:47:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:49:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n            <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:46:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:4c:00.0\" class=\"0x020700\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_1\" dev=\"1\" speed=\"100000\" port=\"1\" guid=\"0xb8599f030007053a\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_4p3l.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"0000ffff,0000ffff\" arch=\"x86_64\" vendor=\"GenuineIntel\" familyid=\"6\" modelid=\"85\">\n    <pci busid=\"0000:18:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:1b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:1d:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"0\">\n            <xgmi target=\"0000:20:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1e:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:20:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"0\">\n            <xgmi target=\"0000:1d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"0\">\n            <xgmi target=\"0000:1d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:20:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"0\">\n            <xgmi target=\"0000:1d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:20:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:5e:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"8\">\n      <pci busid=\"0000:60:00.0\" class=\"0x020000\" link_speed=\"2.5 GT/s\" link_width=\"1\">\n        <nic>\n          <net name=\"enp96s0f0\" dev=\"0\" speed=\"10000\" port=\"0\" guid=\"0x0\" maxconn=\"65536\" gdr=\"0\"/>\n        </nic>\n      </pci>\n    </pci>\n    <nic>\n      <net name=\"veth608058c\" dev=\"1\" speed=\"10000\" port=\"0\" guid=\"0x1\" maxconn=\"65536\" gdr=\"0\"/>\n    </nic>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_4p3l_2h.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"0\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,ffffffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"0\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"0\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"0\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,ffffffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"0\">\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"0\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:e1:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x20cd600003da341c\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"0\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"0\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_4p3l_ia.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"0003ff,f0003fff\" arch=\"x86_64\" vendor=\"GenuineIntel\" familyid=\"6\" modelid=\"85\">\n    <pci busid=\"0000:18:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:1b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:1d:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"0\">\n            <xgmi target=\"0000:20:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1e:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:20:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"0\">\n            <xgmi target=\"0000:1d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"0\">\n            <xgmi target=\"0000:1d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:20:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"0\">\n            <xgmi target=\"0000:1d:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:20:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1a:00.0\" class=\"0x020000\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_0\" dev=\"0\" speed=\"100000\" port=\"1\" guid=\"0xf2bb2700034b6b50\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n   </pci>\n    <pci busid=\"0000:3b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:3d:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:3f:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"0\">\n            <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:46:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"0\">\n            <xgmi target=\"0000:3f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:46:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:44:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:46:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"0\">\n            <xgmi target=\"0000:3f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:49:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n      <pci busid=\"0000:47:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:49:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"0\">\n            <xgmi target=\"0000:3f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            <xgmi target=\"0000:46:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          </gpu>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_4p3l_n2.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,ffffffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,ffffffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:e1:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x70cd600003da341c\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_4p3l_n2_1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00ffffff,00000000,00000000,00ffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:61:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:63:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:27:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:27:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,0000ffff,ff000000,00000000,0000ffff,ff000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:25:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:27:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:27:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"000000ff,ffff0000,00000000,000000ff,ffff0000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x22fd9f00039b0398\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffff00,00000000,00000000,ffffff00,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_4p3l_n4.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,ffff0000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,00000000,0000ffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"00000000,00000000,ffff0000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"5\" affinity=\"00000000,ffff0000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"6\" affinity=\"0000ffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"7\" affinity=\"ffff0000,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"4\" affinity=\"00000000,0000ffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x70cd600003da341c\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_4p4h.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"1\" affinity=\"ffffffff,00000000,ffffffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:c5:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:cf:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n              <xgmi target=\"0000:d4:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d5:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:cd:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0010\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_12\" dev=\"6\" speed=\"200000\" port=\"1\" guid=\"0xea21fc0003723f04\" maxconn=\"131072\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n        <pci busid=\"0000:c5:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:d0:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n              <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d2:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:cc:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0022\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_11\" dev=\"5\" speed=\"200000\" port=\"1\" guid=\"0xb0c1540003da341c\" maxconn=\"262144\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n        <pci busid=\"0000:c5:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:d1:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n              <xgmi target=\"0000:d0:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d2:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:ce:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0022\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_13\" dev=\"7\" speed=\"200000\" port=\"1\" guid=\"0xb28c6e0003da341c\" maxconn=\"262144\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n        <pci busid=\"0000:c5:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:d2:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n              <xgmi target=\"0000:d0:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:c7:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0022\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_6\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0xca8c6e0003da341c\" maxconn=\"262144\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n        <pci busid=\"0000:c5:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:d3:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n              <xgmi target=\"0000:d0:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d2:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:ca:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0022\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_9\" dev=\"3\" speed=\"200000\" port=\"1\" guid=\"0x98c1540003da341c\" maxconn=\"262144\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n        <pci busid=\"0000:c5:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:d4:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n              <xgmi target=\"0000:cf:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d5:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:c8:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0010\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_7\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0xa863ea0003723f04\" maxconn=\"131072\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n        <pci busid=\"0000:c5:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:d5:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n              <xgmi target=\"0000:cf:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d4:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:c9:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0010\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_8\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0x2867ea0003723f04\" maxconn=\"131072\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n        <pci busid=\"0000:c5:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:d6:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n              <xgmi target=\"0000:cf:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d4:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d5:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:cb:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0010\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_10\" dev=\"4\" speed=\"200000\" port=\"1\" guid=\"0x222fc0003723f04\" maxconn=\"131072\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:e2:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e4:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa032\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:e6:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:f0:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"8\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"8\" gdr=\"1\">\n              <xgmi target=\"0000:f1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f2:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:e8:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0010\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_14\" dev=\"8\" speed=\"200000\" port=\"1\" guid=\"0xc463ea0003723f04\" maxconn=\"131072\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n        <pci busid=\"0000:e6:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:f1:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"9\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"9\" gdr=\"1\">\n              <xgmi target=\"0000:f0:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f2:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:e9:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0010\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_15\" dev=\"9\" speed=\"200000\" port=\"1\" guid=\"0x2c67ea0003723f04\" maxconn=\"131072\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n        <pci busid=\"0000:e6:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:f2:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"10\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"10\" gdr=\"1\">\n              <xgmi target=\"0000:f0:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:ea:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0010\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_16\" dev=\"10\" speed=\"200000\" port=\"1\" guid=\"0xc621fc0003723f04\" maxconn=\"131072\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n        <pci busid=\"0000:e6:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:f3:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"11\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"11\" gdr=\"1\">\n              <xgmi target=\"0000:f0:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f2:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:eb:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0010\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_17\" dev=\"11\" speed=\"200000\" port=\"1\" guid=\"0xa22fc0003723f04\" maxconn=\"131072\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n        <pci busid=\"0000:e6:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:f4:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"12\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"12\" gdr=\"1\">\n              <xgmi target=\"0000:f5:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f7:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:ec:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0010\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_18\" dev=\"12\" speed=\"200000\" port=\"1\" guid=\"0x3067ea0003723f04\" maxconn=\"131072\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n        <pci busid=\"0000:e6:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:f5:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"13\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"13\" gdr=\"1\">\n              <xgmi target=\"0000:f4:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f7:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:ed:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0010\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_19\" dev=\"13\" speed=\"200000\" port=\"1\" guid=\"0xac63ea0003723f04\" maxconn=\"131072\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n        <pci busid=\"0000:e6:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:f6:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"14\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"14\" gdr=\"1\">\n              <xgmi target=\"0000:f4:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f5:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f7:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:ee:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0010\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_20\" dev=\"14\" speed=\"200000\" port=\"1\" guid=\"0xb063ea0003723f04\" maxconn=\"131072\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n        <pci busid=\"0000:e6:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xa096\" subsystem_vendor=\"0x10b5\" subsystem_device=\"0x100b\" link_speed=\"8 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:f7:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <gpu dev=\"15\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"15\" gdr=\"1\">\n              <xgmi target=\"0000:f4:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f5:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:f6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n          <pci busid=\"0000:ef:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0010\" link_speed=\"8 GT/s\" link_width=\"16\">\n            <nic>\n              <net name=\"mlx5_21\" dev=\"15\" speed=\"200000\" port=\"1\" guid=\"0x1222fc0003723f04\" maxconn=\"131072\" gdr=\"1\"/>\n            </nic>\n          </pci>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_4p_942.xml",
    "content": "<system version=\"2\">\n  <cpu numaid=\"2\" affinity=\"000000ff,ffff0000,00000000,000000ff,ffff0000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"144\">\n    <pci busid=\"0000:82:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a0\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a0\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"0\" sm=\"228\" gcn=\"942\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n        <xgmi target=\"0000:c2:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0000:02:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0000:42:00.0\" count=\"1\" tclass=\"0x120000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x020000\" vendor=\"0x17db\" device=\"0x0501\" subsystem_vendor=\"0x17db\" subsystem_device=\"0x0000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"cxi0\" dev=\"0\" speed=\"200000000\" port=\"1\" latency=\"0.000000\" guid=\"0x0\" maxconn=\"128\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffff00,00000000,00000000,ffffff00,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"144\">\n    <pci busid=\"0000:c2:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a0\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a0\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"1\" sm=\"228\" gcn=\"942\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n        <xgmi target=\"0000:82:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0000:02:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0000:42:00.0\" count=\"1\" tclass=\"0x120000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:c1:00.0\" class=\"0x020000\" vendor=\"0x17db\" device=\"0x0501\" subsystem_vendor=\"0x17db\" subsystem_device=\"0x0000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"cxi1\" dev=\"1\" speed=\"200000000\" port=\"1\" latency=\"0.000000\" guid=\"0x1\" maxconn=\"128\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00ffffff,00000000,00000000,00ffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"144\">\n    <pci busid=\"0000:02:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a0\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a0\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"2\" sm=\"228\" gcn=\"942\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n        <xgmi target=\"0000:82:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0000:c2:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0000:42:00.0\" count=\"1\" tclass=\"0x120000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x020000\" vendor=\"0x17db\" device=\"0x0501\" subsystem_vendor=\"0x17db\" subsystem_device=\"0x0000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"cxi2\" dev=\"2\" speed=\"200000000\" port=\"1\" latency=\"0.000000\" guid=\"0x2\" maxconn=\"128\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,0000ffff,ff000000,00000000,0000ffff,ff000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"144\">\n    <pci busid=\"0000:42:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a0\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a0\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"3\" sm=\"228\" gcn=\"942\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n        <xgmi target=\"0000:82:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0000:c2:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0000:02:00.0\" count=\"1\" tclass=\"0x120000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:41:00.0\" class=\"0x020000\" vendor=\"0x17db\" device=\"0x0501\" subsystem_vendor=\"0x17db\" subsystem_device=\"0x0000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"cxi3\" dev=\"3\" speed=\"200000000\" port=\"1\" latency=\"0.000000\" guid=\"0x3\" maxconn=\"128\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p1h.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"1\" affinity=\"00000000,0000ffff,ff000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"1\">\n    <pci busid=\"0000:19:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:25:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:27:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:29:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"0\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n              <xgmi target=\"0000:2c:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:ad:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:2a:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:2c:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"1\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n              <xgmi target=\"0000:29:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:32:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:2d:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:2f:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"2\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n              <xgmi target=\"0000:32:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:ad:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b3:00.0\" count=\"2\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:30:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:32:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1458\" subsystem_device=\"0x1000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"3\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n              <xgmi target=\"0000:2c:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:2f:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b0:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1b:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:1d:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0xd4ac4d0003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n          </nic>\n        </pci>\n        <pci busid=\"0000:1e:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_2\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0xd07f5600039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffff00,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"1\">\n    <pci busid=\"0000:9d:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:a9:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:ab:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:ad:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"4\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n              <xgmi target=\"0000:29:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:2f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b0:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:ae:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:b0:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"5\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n              <xgmi target=\"0000:32:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:ad:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:b1:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:b3:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"6\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n              <xgmi target=\"0000:29:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:2f:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b6:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:b4:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:b6:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"7\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n              <xgmi target=\"0000:2c:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b0:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b3:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:9f:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:a1:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_4\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0x50f3b100039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n          </nic>\n        </pci>\n        <pci busid=\"0000:a2:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_6\" dev=\"3\" speed=\"200000\" port=\"1\" guid=\"0x74ae4d0003f6ceb8\" maxconn=\"262144\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p1h_1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"000000ff,ffff0000,00ffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"1\">\n    <pci busid=\"0000:22:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:2e:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:30:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:32:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"0\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"0\" gdr=\"0\">\n              <xgmi target=\"0000:35:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:11:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8e:00.0\" count=\"2\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:33:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:35:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"1\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"1\" gdr=\"0\">\n              <xgmi target=\"0000:32:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:14:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:1d:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_1\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x6cae4d0003f6ceb8\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:0d:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:0f:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:11:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"2\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"2\" gdr=\"0\">\n              <xgmi target=\"0000:32:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:14:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:ae:00.0\" count=\"2\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:12:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:14:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"3\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"3\" gdr=\"0\">\n              <xgmi target=\"0000:35:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:11:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:93:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:1e:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_3\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x28f4b100039f59b8\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"ffffff00,0000ffff,ff000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"1\">\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:a9:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:ac:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:ae:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"4\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"4\" gdr=\"0\">\n              <xgmi target=\"0000:11:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b3:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8e:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:af:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:b1:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:b3:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"5\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"5\" gdr=\"0\">\n              <xgmi target=\"0000:35:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:ae:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:93:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:a0:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_5\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0x50f3b100039f59b8\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:89:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:8c:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:8e:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"6\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"6\" gdr=\"0\">\n              <xgmi target=\"0000:32:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:ae:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:93:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:8f:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:91:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:93:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"7\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"7\" gdr=\"0\">\n              <xgmi target=\"0000:14:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8e:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:a1:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_7\" dev=\"3\" speed=\"200000\" port=\"1\" guid=\"0x74ae4d0003f6ceb8\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p1h_2.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"3\" affinity=\"ffff0000,00000000,ffff0000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"48\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"0\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"0\" gdr=\"0\">\n        <xgmi target=\"0000:c6:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:c9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d9:00.0\" count=\"2\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:c6:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"1\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"1\" gdr=\"0\">\n        <xgmi target=\"0000:c1:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:ce:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <nic>\n      <net name=\"vethe2d5378\" dev=\"1\" speed=\"10000\" port=\"0\" guid=\"0x1\" maxconn=\"65536\" gdr=\"0\"/>\n    </nic>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,ffff0000,00000000,ffff0000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"48\">\n    <pci busid=\"0000:c9:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"2\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"2\" gdr=\"0\">\n        <xgmi target=\"0000:c1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:ce:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d1:00.0\" count=\"2\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:ce:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"3\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"3\" gdr=\"0\">\n        <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:c9:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:de:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n  </cpu>\n  <cpu numaid=\"0\" affinity=\"00000000,0000ffff,00000000,0000ffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"48\">\n    <pci busid=\"0000:d1:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"4\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"4\" gdr=\"0\">\n        <xgmi target=\"0000:c9:00.0\" count=\"2\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d6:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:d6:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"5\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"5\" gdr=\"0\">\n        <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d1:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:de:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:91:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4028\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16.0 GT/s PCIe\" link_width=\"4\">\n      <pci busid=\"0000:94:00.0\" class=\"0x020000\" vendor=\"0x8086\" device=\"0x1537\" subsystem_vendor=\"0xffff\" subsystem_device=\"0x0000\" link_speed=\"2.5 GT/s PCIe\" link_width=\"1\">\n        <nic>\n          <net name=\"ens2\" dev=\"0\" speed=\"1000\" port=\"0\" guid=\"0x0\" maxconn=\"65536\" gdr=\"0\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"0000ffff,00000000,0000ffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"48\">\n    <pci busid=\"0000:d9:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"6\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"6\" gdr=\"0\">\n        <xgmi target=\"0000:c1:00.0\" count=\"2\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:de:00.0\" count=\"4\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:de:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"7\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"7\" gdr=\"0\">\n        <xgmi target=\"0000:ce:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d9:00.0\" count=\"4\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p1h_3.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"3\" affinity=\"ffff0000,00000000,ffff0000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"48\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"0\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n        <xgmi target=\"0000:c6:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:c9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d9:00.0\" count=\"2\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:c6:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"1\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n        <xgmi target=\"0000:c1:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:ce:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:c5:00.0\" class=\"0x020000\" vendor=\"0x17db\" device=\"0x0501\" subsystem_vendor=\"0x17db\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"net0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x0\" maxconn=\"128\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,ffff0000,00000000,ffff0000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"48\">\n    <pci busid=\"0000:c9:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"2\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n        <xgmi target=\"0000:c1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:ce:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d1:00.0\" count=\"2\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:ce:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"3\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n        <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:c9:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:de:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:cd:00.0\" class=\"0x020000\" vendor=\"0x17db\" device=\"0x0501\" subsystem_vendor=\"0x17db\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"net1\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x1\" maxconn=\"128\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"0\" affinity=\"00000000,0000ffff,00000000,0000ffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"48\">\n    <pci busid=\"0000:d1:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"4\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n        <xgmi target=\"0000:c9:00.0\" count=\"2\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d6:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:d6:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"5\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n        <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d1:00.0\" count=\"4\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:de:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:d5:00.0\" class=\"0x020000\" vendor=\"0x17db\" device=\"0x0501\" subsystem_vendor=\"0x17db\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"net2\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0x2\" maxconn=\"128\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"0000ffff,00000000,0000ffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"48\">\n    <pci busid=\"0000:d9:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"6\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n        <xgmi target=\"0000:c1:00.0\" count=\"2\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:de:00.0\" count=\"4\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:de:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"7\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n        <xgmi target=\"0000:ce:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d9:00.0\" count=\"4\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:dd:00.0\" class=\"0x020000\" vendor=\"0x17db\" device=\"0x0501\" subsystem_vendor=\"0x17db\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"net3\" dev=\"3\" speed=\"200000\" port=\"1\" guid=\"0x3\" maxconn=\"128\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p1h_4.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,00000000,00000000,00000000,ffffffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"1\">\n    <pci busid=\"0000:22:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:2e:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:30:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:32:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"0\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n              <xgmi target=\"0000:35:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:11:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8e:00.0\" count=\"2\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:33:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:35:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"1\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n              <xgmi target=\"0000:32:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:14:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:24:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:26:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0x880f2f0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n      <pci busid=\"0000:2b:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:2d:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_1\" dev=\"1\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0x500f2f0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:0d:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:0f:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:11:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"2\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n              <xgmi target=\"0000:32:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:14:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:ae:00.0\" count=\"2\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:12:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:14:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"3\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n              <xgmi target=\"0000:35:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:11:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:93:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:03:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:05:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_2\" dev=\"2\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0x7c112f0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n      <pci busid=\"0000:0a:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:0c:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_3\" dev=\"3\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0xf80f2f0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"00000000,00000000,00000000,00000000,ffffffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"1\">\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a9:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:ac:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:ae:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"4\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n              <xgmi target=\"0000:11:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b3:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8e:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:ab:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_5\" dev=\"4\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0x8c0e2f0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n      <pci busid=\"0000:af:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:b1:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:b3:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"5\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n              <xgmi target=\"0000:35:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:ae:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:93:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:b4:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_6\" dev=\"5\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0x600f2f0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:89:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:8c:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:8e:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"6\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n              <xgmi target=\"0000:32:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:ae:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:93:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:8b:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_7\" dev=\"6\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0xfc0f2f0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n      <pci busid=\"0000:8f:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:91:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:93:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"7\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n              <xgmi target=\"0000:14:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8e:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:94:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_8\" dev=\"7\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0x8c0f2f0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p1h_5.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,ffffffff,ffffffff,00000000,00000000,ffffffff,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"1\">\n    <pci busid=\"0000:22:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:2e:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:30:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:32:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"0\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n              <xgmi target=\"0000:35:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:11:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8e:00.0\" count=\"2\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:33:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:35:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"1\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n              <xgmi target=\"0000:32:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:14:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:24:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:26:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_1\" dev=\"0\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0x203d2b0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n      <pci busid=\"0000:2b:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:2d:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_2\" dev=\"1\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0x503d2b0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:0d:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:0f:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:11:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"2\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n              <xgmi target=\"0000:32:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:14:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:ae:00.0\" count=\"2\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:12:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:14:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"3\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n              <xgmi target=\"0000:35:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:11:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:93:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:03:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:05:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_3\" dev=\"2\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0x143d2b0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n      <pci busid=\"0000:0a:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:0c:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_4\" dev=\"3\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0x243d2b0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"ffffffff,ffffffff,00000000,00000000,ffffffff,ffffffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"1\">\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:a9:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:ac:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:ae:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"4\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n              <xgmi target=\"0000:11:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b3:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8e:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:ab:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_6\" dev=\"4\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0x883a2b0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n      <pci busid=\"0000:af:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:b1:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:b3:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"5\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n              <xgmi target=\"0000:35:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:ae:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:93:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:b4:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_7\" dev=\"5\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0xf83c2b0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:89:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:8c:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:8e:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"6\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n              <xgmi target=\"0000:32:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:ae:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:93:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:8b:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_8\" dev=\"6\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0x2c3d2b0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n      <pci busid=\"0000:8f:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:91:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:93:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"7\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n              <xgmi target=\"0000:14:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8e:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:94:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0007\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_9\" dev=\"7\" speed=\"200000\" port=\"1\" latency=\"0.000000\" guid=\"0x283d2b0003fd7010\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n</system>"
  },
  {
    "path": "tools/topo_expl/models/topo_8p1h_n1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,ffffffff,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:19:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:25:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:27:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:29:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"0\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n              <xgmi target=\"0000:2c:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:ac:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b2:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:2a:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:2c:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"1\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n              <xgmi target=\"0000:29:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:32:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b5:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:2d:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:2f:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"2\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n              <xgmi target=\"0000:32:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:ac:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b2:00.0\" count=\"2\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:30:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:32:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1458\" subsystem_device=\"0x1000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"3\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n              <xgmi target=\"0000:2c:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:2f:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:af:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1b:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:1d:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_1\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x6cae4d0003f6ceb8\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n        <pci busid=\"0000:1e:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_3\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x28f4b100039f59b8\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"ffffffff,ffffffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:9c:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:a8:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:aa:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:ac:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"4\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n              <xgmi target=\"0000:29:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:2f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:af:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:ad:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:af:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"5\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n              <xgmi target=\"0000:32:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:ac:00.0\" count=\"4\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b5:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:b0:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:b2:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1458\" subsystem_device=\"0x1000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"6\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n              <xgmi target=\"0000:29:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:2f:00.0\" count=\"2\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b5:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n        <pci busid=\"0000:b3:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x14c7\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x14c7\" link_speed=\"16.0 GT/s PCIe\" link_width=\"8\">\n          <pci busid=\"0000:b5:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x740c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"7\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n              <xgmi target=\"0000:2c:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:af:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:b2:00.0\" count=\"4\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:9e:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc010\" subsystem_vendor=\"0x1000\" subsystem_device=\"0xa096\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:a0:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_5\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0x50f3b100039f59b8\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n        <pci busid=\"0000:a1:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n          <nic>\n            <net name=\"mlx5_7\" dev=\"3\" speed=\"200000\" port=\"1\" guid=\"0x74ae4d0003f6ceb8\" maxconn=\"131072\" gdr=\"1\"/>\n          </nic>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p6l.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,00000000,00000000,000000ff,ffff0000,00ffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:61:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:63:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:22:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:24:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,00000000,00000000,ffffff00,0000ffff,ff000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:9a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x2f3ea3cccb374e8f\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p6l_1nic.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,00000000,00000000,000000ff,ffff0000,00ffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:61:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:63:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:22:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:24:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:1a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0xb39bb4cdcd174297\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,00000000,00000000,ffffff00,0000ffff,ff000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p6l_2nic.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,00000000,00000000,000000ff,ffff0000,00ffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:61:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:63:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:22:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:24:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:1a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0xb39bb4cdcd174297\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,00000000,00000000,ffffff00,0000ffff,ff000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:9a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_1\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x2f3ea3cccb374e8f\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p6l_3nic.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,00000000,00000000,000000ff,ffff0000,00ffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:61:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:63:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:22:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:24:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:1a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0xb39bb4cdcd174297\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0000:2a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_1\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x768caa3b34834210\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n</cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,00000000,00000000,ffffff00,0000ffff,ff000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:9a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_2\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0x2f3ea3cccb374e8f\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p6l_4nic.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,00000000,00000000,000000ff,ffff0000,00ffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:61:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:63:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:22:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:24:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:1a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0xb39bb4cdcd174297\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0000:2a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_1\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x768caa3b34834210\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n</cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,00000000,00000000,ffffff00,0000ffff,ff000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:9a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_2\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0x2f3ea3cccb374e8f\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0000:ba:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_3\" dev=\"3\" speed=\"200000\" port=\"1\" guid=\"0xf440c4ac4a1b4175\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p6l_5nic.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,00000000,00000000,000000ff,ffff0000,00ffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:61:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:63:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:22:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:24:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:1a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0xb39bb4cdcd174297\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0000:2a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_1\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x768caa3b34834210\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0000:3a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_2\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0x19b2fb0cd9f240ea\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n</cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,00000000,00000000,ffffff00,0000ffff,ff000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:9a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_3\" dev=\"3\" speed=\"200000\" port=\"1\" guid=\"0x2f3ea3cccb374e8f\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0000:ba:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_4\" dev=\"4\" speed=\"200000\" port=\"1\" guid=\"0xf440c4ac4a1b4175\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p6l_6nic.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,00000000,00000000,000000ff,ffff0000,00ffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:61:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:63:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:22:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:24:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:1a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0xb39bb4cdcd174297\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0000:2a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_1\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x768caa3b34834210\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0000:3a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_2\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0x19b2fb0cd9f240ea\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n</cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,00000000,00000000,ffffff00,0000ffff,ff000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:24:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:9a:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_3\" dev=\"3\" speed=\"200000\" port=\"1\" guid=\"0x2f3ea3cccb374e8f\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0000:ba:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_4\" dev=\"4\" speed=\"200000\" port=\"1\" guid=\"0xf440c4ac4a1b4175\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0000:da:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_5\" dev=\"5\" speed=\"200000\" port=\"1\" guid=\"0xbb4c1b2931cd460d\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_4nics.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,ffffffff,00000000,00000000,00000000,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:43:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:46:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:48:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:4a:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n              <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:4c:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:4e:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:50:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n              <xgmi target=\"0000:4a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:45:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_1\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x48b9170003a1420c\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,ffffffff,00000000,00000000,00000000,ffffffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:03:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:05:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:08:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:0a:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n              <xgmi target=\"0000:4a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:0b:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:0d:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:0f:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n              <xgmi target=\"0000:4a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:13:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_3\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x18604a0003a1420c\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,ffffffff,00000000,00000000,00000000,ffffffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c7:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:c9:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:cb:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n              <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:90:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:cd:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:cf:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:d1:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n              <xgmi target=\"0000:cb:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:90:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:c6:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_5\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0xd0b9170003a1420c\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffffff,00000000,00000000,00000000,ffffffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:83:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:86:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:88:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:8a:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n              <xgmi target=\"0000:cb:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:90:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:8c:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:8e:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:90:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n              <xgmi target=\"0000:cb:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:85:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_7\" dev=\"3\" speed=\"200000\" port=\"1\" guid=\"0xd0bd170003a1420c\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_90a.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"ffffffff,ffffffff,ffffffff,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"48\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x038000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"0\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"0\" gdr=\"0\">\n        <xgmi target=\"0000:c5:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:c9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:c5:00.0\" class=\"0x038000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"1\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"1\" gdr=\"0\">\n        <xgmi target=\"0000:c1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:cd:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d5:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:c9:00.0\" class=\"0x038000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"2\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"2\" gdr=\"0\">\n        <xgmi target=\"0000:c1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:cd:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:cd:00.0\" class=\"0x038000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"3\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"3\" gdr=\"0\">\n        <xgmi target=\"0000:c5:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:c9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:dd:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:d1:00.0\" class=\"0x038000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"4\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"4\" gdr=\"0\">\n        <xgmi target=\"0000:c9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d5:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:d5:00.0\" class=\"0x038000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"5\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"5\" gdr=\"0\">\n        <xgmi target=\"0000:c5:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:dd:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:d9:00.0\" class=\"0x038000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"6\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"6\" gdr=\"0\">\n        <xgmi target=\"0000:c1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:dd:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:dd:00.0\" class=\"0x038000\" link_speed=\"16.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"7\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"7\" gdr=\"0\">\n        <xgmi target=\"0000:cd:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d5:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:91:00.0\" class=\"0x060400\" link_speed=\"16.0 GT/s PCIe\" link_width=\"4\">\n      <pci busid=\"0000:94:00.0\" class=\"0x020000\" link_speed=\"2.5 GT/s PCIe\" link_width=\"1\">\n        <nic>\n          <net name=\"eth0\" dev=\"0\" speed=\"1000\" port=\"0\" guid=\"0x0\" maxconn=\"65536\" gdr=\"0\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_90a_1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"3\" affinity=\"ffff0000,00000000,ffff0000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"48\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"0\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"0\" gdr=\"0\">\n        <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:c9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:c6:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"1\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"1\" gdr=\"0\">\n        <xgmi target=\"0000:c1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:ce:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <nic>\n      <net name=\"bond0\" dev=\"0\" speed=\"1000\" port=\"0\" guid=\"0x0\" maxconn=\"65536\" gdr=\"0\"/>\n    </nic>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,ffff0000,00000000,ffff0000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"48\">\n    <pci busid=\"0000:c9:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"2\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"2\" gdr=\"0\">\n        <xgmi target=\"0000:c1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:ce:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:ce:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"3\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"3\" gdr=\"0\">\n        <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:c9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:de:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n  </cpu>\n  <cpu numaid=\"0\" affinity=\"00000000,0000ffff,00000000,0000ffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"175\" modelid=\"48\">\n    <pci busid=\"0000:d1:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"4\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"4\" gdr=\"0\">\n        <xgmi target=\"0000:c9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:d6:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"5\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"5\" gdr=\"0\">\n        <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:de:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:d9:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"6\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"6\" gdr=\"0\">\n        <xgmi target=\"0000:c1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:de:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0000:de:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x7408\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0b0c\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"7\" sm=\"104\" gcn=\"910\" arch=\"38911\" rank=\"7\" gdr=\"0\">\n        <xgmi target=\"0000:ce:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0000:d9:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_942.xml",
    "content": "<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,000000ff,ffffffff,ffff0000,00000000,00ffffff,ffffffff\" arch=\"x86_64\" vendor=\"GenuineIntel\" familyid=\"6\" modelid=\"143\">\n    <pci busid=\"0000:05:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:08:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:0a:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:0c:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"0\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n              <xgmi target=\"0000:15:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:1e:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:69:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:9f:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:af:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:bf:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:df:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:07:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x1021\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_0\" dev=\"0\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xf01cbc0103dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n    <pci busid=\"0000:0e:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:11:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:13:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:15:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"1\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n              <xgmi target=\"0000:0c:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:1e:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:69:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:9f:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:af:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:bf:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:df:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:10:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x1021\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_1\" dev=\"1\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xf11cbc0203dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n    <pci busid=\"0000:17:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:1a:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:1c:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:1e:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"2\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n              <xgmi target=\"0000:0c:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:15:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:69:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:9f:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:af:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:bf:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:df:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:19:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x1021\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_2\" dev=\"2\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xf21cbc0303dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n    <pci busid=\"0000:62:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:65:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:67:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:69:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"3\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n              <xgmi target=\"0000:0c:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:15:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:1e:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:9f:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:af:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:bf:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:df:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:64:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x1021\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_3\" dev=\"3\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xf31cbc0403dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"ffffffff,ffffff00,00000000,0000ffff,ffffffff,ff000000,00000000\" arch=\"x86_64\" vendor=\"GenuineIntel\" familyid=\"6\" modelid=\"143\">\n    <pci busid=\"0000:98:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:9b:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:9d:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:9f:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"4\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n              <xgmi target=\"0000:0c:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:15:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:1e:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:69:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:af:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:bf:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:df:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:9a:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x1021\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_4\" dev=\"4\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xf41cbc0503dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n    <pci busid=\"0000:a8:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:ab:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:ad:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:af:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"5\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n              <xgmi target=\"0000:0c:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:15:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:1e:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:69:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:9f:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:bf:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:df:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:aa:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x1021\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_5\" dev=\"5\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xf51cbc0603dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n    <pci busid=\"0000:b8:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:bb:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:bd:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:bf:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"6\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n              <xgmi target=\"0000:0c:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:15:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:1e:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:69:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:9f:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:af:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:df:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:ba:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x1021\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_6\" dev=\"6\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xf61cbc0703dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n    <pci busid=\"0000:d8:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:db:00.0\" class=\"0x060400\" vendor=\"0x15b3\" device=\"0x1979\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:dd:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <pci busid=\"0000:df:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74a1\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n            <gpu dev=\"7\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n              <xgmi target=\"0000:0c:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:15:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:1e:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:69:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:9f:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:af:00.0\" count=\"1\" tclass=\"0x120000\"/>\n              <xgmi target=\"0000:bf:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:da:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x1021\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_7\" dev=\"7\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xf71cbc0803dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_942vm.xml",
    "content": "<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,0000ffff,ffffffff\" arch=\"x86_64\" vendor=\"GenuineIntel\" familyid=\"6\" modelid=\"143\">\n    <pci busid=\"0021:00:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74b5\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"1\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n        <xgmi target=\"0011:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0031:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0041:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0051:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0061:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0071:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0081:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0011:00:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74b5\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"0\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n        <xgmi target=\"0021:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0031:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0041:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0051:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0061:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0071:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0081:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0031:00:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74b5\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"2\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n        <xgmi target=\"0011:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0021:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0041:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0051:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0061:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0071:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0081:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0041:00:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74b5\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"3\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n        <xgmi target=\"0011:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0021:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0031:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0051:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0061:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0071:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0081:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0020:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101e\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xd972b70203dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0030:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101e\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_1\" dev=\"1\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xda72b70303dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0010:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101e\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_2\" dev=\"2\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xd872b70103dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0040:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101e\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_3\" dev=\"3\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xdb72b70403dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"ffffffff,ffff0000,00000000\" arch=\"x86_64\" vendor=\"GenuineIntel\" familyid=\"6\" modelid=\"143\">\n    <pci busid=\"0071:00:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74b5\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"6\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n        <xgmi target=\"0011:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0021:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0031:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0041:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0051:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0061:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0081:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0061:00:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74b5\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"5\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n        <xgmi target=\"0011:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0021:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0031:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0041:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0051:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0071:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0081:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0051:00:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74b5\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"4\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n        <xgmi target=\"0011:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0021:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0031:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0041:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0061:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0071:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0081:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0081:00:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x74b5\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x74a1\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <gpu dev=\"7\" sm=\"304\" gcn=\"gfx942\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n        <xgmi target=\"0011:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0021:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0031:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0041:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0051:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0061:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n        <xgmi target=\"0071:00:00.0\" count=\"1\" tclass=\"0x120000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0080:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101e\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_4\" dev=\"4\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xdf72b70803dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0050:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101e\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_5\" dev=\"5\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xdc72b70503dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0060:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101e\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_6\" dev=\"6\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xdd72b70603dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n      </nic>\n    </pci>\n    <pci busid=\"0070:00:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101e\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0101\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_7\" dev=\"7\" speed=\"400000\" port=\"1\" latency=\"0.000000\" guid=\"0xde72b70703dd6838\" maxconn=\"131072\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_950.xml",
    "content": "<system version=\"2\">\n  <cpu host_hash=\"0x1b2f53a636e182bb\" numaid=\"0\" affinity=\"00000000,00000000,00000000,ffffffff,ffffffff,ffffffff,00000000,00000000,00000000,ffffffff,ffffffff,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"191\" modelid=\"2\">\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1d9b\" subsystem_device=\"0xcc03\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x020000\" vendor=\"0x14e4\" device=\"0x1760\" subsystem_vendor=\"0x14e4\" subsystem_device=\"0xf323\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"bnxt_re0\" dev=\"0\" latency=\"0\" speed=\"400000\" port=\"1\" guid=\"0x28303efeffe604d6\" maxconn=\"131073\" gdr=\"1\"/>\n        </nic>\n      </pci>\n      <pci busid=\"0000:06:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:08:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x75a0\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x75a0\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <gpu dev=\"0\" sm=\"256\" gcn=\"gfx950\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n            <xgmi target=\"0000:18:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:68:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:78:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:88:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:98:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:e8:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:f9:00.0\" count=\"1\" tclass=\"0x120000\"/>\n          </gpu>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:11:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1d9b\" subsystem_device=\"0xcc03\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:13:00.0\" class=\"0x020000\" vendor=\"0x14e4\" device=\"0x1760\" subsystem_vendor=\"0x14e4\" subsystem_device=\"0xf323\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"bnxt_re1\" dev=\"1\" latency=\"0\" speed=\"400000\" port=\"1\" guid=\"0x18483efeffe604d6\" maxconn=\"131073\" gdr=\"1\"/>\n        </nic>\n      </pci>\n      <pci busid=\"0000:16:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:18:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x75a0\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x75a0\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <gpu dev=\"1\" sm=\"256\" gcn=\"gfx950\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n            <xgmi target=\"0000:08:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:68:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:78:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:88:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:98:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:e8:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:f9:00.0\" count=\"1\" tclass=\"0x120000\"/>\n          </gpu>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:61:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1d9b\" subsystem_device=\"0xcc02\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:63:00.0\" class=\"0x020000\" vendor=\"0x14e4\" device=\"0x1760\" subsystem_vendor=\"0x14e4\" subsystem_device=\"0xf323\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"bnxt_re2\" dev=\"2\" latency=\"0\" speed=\"400000\" port=\"1\" guid=\"0x78333efeffe604d6\" maxconn=\"131073\" gdr=\"1\"/>\n        </nic>\n      </pci>\n      <pci busid=\"0000:66:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:68:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x75a0\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x75a0\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <gpu dev=\"2\" sm=\"256\" gcn=\"gfx950\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n            <xgmi target=\"0000:08:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:18:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:78:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:88:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:98:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:e8:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:f9:00.0\" count=\"1\" tclass=\"0x120000\"/>\n          </gpu>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:71:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1d9b\" subsystem_device=\"0xcc02\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:73:00.0\" class=\"0x020000\" vendor=\"0x14e4\" device=\"0x1760\" subsystem_vendor=\"0x14e4\" subsystem_device=\"0xf323\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"bnxt_re3\" dev=\"3\" latency=\"0\" speed=\"400000\" port=\"1\" guid=\"0x981e3efeffe604d6\" maxconn=\"131073\" gdr=\"1\"/>\n        </nic>\n      </pci>\n      <pci busid=\"0000:76:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:78:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x75a0\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x75a0\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <gpu dev=\"3\" sm=\"256\" gcn=\"gfx950\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n            <xgmi target=\"0000:08:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:18:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:68:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:88:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:98:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:e8:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:f9:00.0\" count=\"1\" tclass=\"0x120000\"/>\n          </gpu>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu host_hash=\"0x1b2f53a636e182bb\" numaid=\"1\" affinity=\"ffffffff,ffffffff,ffffffff,00000000,00000000,00000000,ffffffff,ffffffff,ffffffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"191\" modelid=\"2\">\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1d9b\" subsystem_device=\"0xcc01\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x020000\" vendor=\"0x14e4\" device=\"0x1760\" subsystem_vendor=\"0x14e4\" subsystem_device=\"0xf323\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"bnxt_re4\" dev=\"4\" latency=\"0\" speed=\"400000\" port=\"1\" guid=\"0x80963ffeffe604d6\" maxconn=\"131073\" gdr=\"1\"/>\n        </nic>\n      </pci>\n      <pci busid=\"0000:86:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:88:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x75a0\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x75a0\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <gpu dev=\"4\" sm=\"256\" gcn=\"gfx950\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n            <xgmi target=\"0000:08:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:18:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:68:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:78:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:98:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:e8:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:f9:00.0\" count=\"1\" tclass=\"0x120000\"/>\n          </gpu>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:91:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1d9b\" subsystem_device=\"0xcc01\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:93:00.0\" class=\"0x020000\" vendor=\"0x14e4\" device=\"0x1760\" subsystem_vendor=\"0x14e4\" subsystem_device=\"0xf323\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"bnxt_re5\" dev=\"5\" latency=\"0\" speed=\"400000\" port=\"1\" guid=\"0x681e3efeffe604d6\" maxconn=\"131073\" gdr=\"1\"/>\n        </nic>\n      </pci>\n      <pci busid=\"0000:96:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:98:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x75a0\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x75a0\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <gpu dev=\"5\" sm=\"256\" gcn=\"gfx950\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n            <xgmi target=\"0000:08:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:18:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:68:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:78:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:88:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:e8:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:f9:00.0\" count=\"1\" tclass=\"0x120000\"/>\n          </gpu>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1d9b\" subsystem_device=\"0xcc00\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x020000\" vendor=\"0x14e4\" device=\"0x1760\" subsystem_vendor=\"0x14e4\" subsystem_device=\"0xf323\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"bnxt_re6\" dev=\"6\" latency=\"0\" speed=\"400000\" port=\"1\" guid=\"0xd0373efeffe604d6\" maxconn=\"131073\" gdr=\"1\"/>\n        </nic>\n      </pci>\n      <pci busid=\"0000:e6:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:e8:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x75a0\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x75a0\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <gpu dev=\"6\" sm=\"256\" gcn=\"gfx950\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n            <xgmi target=\"0000:08:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:18:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:68:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:78:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:88:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:98:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:f9:00.0\" count=\"1\" tclass=\"0x120000\"/>\n          </gpu>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:f1:00.0\" class=\"0x060400\" vendor=\"0x1000\" device=\"0xc030\" subsystem_vendor=\"0x1d9b\" subsystem_device=\"0xcc00\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n      <pci busid=\"0000:f3:00.0\" class=\"0x020000\" vendor=\"0x14e4\" device=\"0x1760\" subsystem_vendor=\"0x14e4\" subsystem_device=\"0xf323\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <nic>\n          <net name=\"bnxt_re7\" dev=\"7\" latency=\"0\" speed=\"400000\" port=\"1\" guid=\"0xe84a3efeffe604d6\" maxconn=\"131073\" gdr=\"1\"/>\n        </nic>\n      </pci>\n      <pci busid=\"0000:f7:00.0\" class=\"0x060400\" vendor=\"0x1022\" device=\"0x1500\" subsystem_vendor=\"0x1022\" subsystem_device=\"0x1500\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n        <pci busid=\"0000:f9:00.0\" class=\"0x120000\" vendor=\"0x1002\" device=\"0x75a0\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x75a0\" link_speed=\"32.0 GT/s PCIe\" link_width=\"16\">\n          <gpu dev=\"7\" sm=\"256\" gcn=\"gfx950\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n            <xgmi target=\"0000:08:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:18:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:68:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:78:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:88:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:98:00.0\" count=\"1\" tclass=\"0x120000\"/>\n            <xgmi target=\"0000:e8:00.0\" count=\"1\" tclass=\"0x120000\"/>\n          </gpu>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_pcie.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00ff00ff\" arch=\"x86_64\" vendor=\"GenuineIntel\" familyid=\"6\" modelid=\"85\">\n    <pci busid=\"0000:18:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:1b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:1d:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1e:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:20:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1a:00.0\" class=\"0x020700\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_0\" dev=\"0\" speed=\"100000\" port=\"1\" guid=\"0x3a050700039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n    <pci busid=\"0000:3b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:3d:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:3f:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:44:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:46:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:47:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:49:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"1\"/>\n        </pci>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_pcie_1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00ff00ff\" arch=\"x86_64\" vendor=\"GenuineIntel\" familyid=\"6\" modelid=\"85\">\n    <pci busid=\"0000:18:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:1b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:1d:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1e:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:20:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\"/>\n        </pci>\n      </pci>\n    </pci>\n    <pci busid=\"0000:3b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:3d:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:3f:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:44:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:46:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:47:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:49:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:4c:00.0\" class=\"0x020700\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_0\" dev=\"0\" speed=\"100000\" port=\"1\" guid=\"0xb8599f030007053a\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_pcie_2nic.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00ff00ff\" arch=\"x86_64\" vendor=\"GenuineIntel\" familyid=\"6\" modelid=\"85\">\n    <pci busid=\"0000:18:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:1b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:1d:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1e:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:20:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:1a:00.0\" class=\"0x020700\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_0\" dev=\"0\" speed=\"100000\" port=\"1\" guid=\"0x3a050700039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n    <pci busid=\"0000:3b:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:3d:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:3f:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:44:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:46:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:47:00.0\" class=\"0x060400\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:49:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"1\"/>\n        </pci>\n      </pci>\n      <pci busid=\"0000:4c:00.0\" class=\"0x020700\" link_speed=\"8 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_1\" dev=\"1\" speed=\"100000\" port=\"1\" guid=\"0xb8599f030007053a\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_rome.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,ffffffff,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"ffffffff,ffffffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:e1:00.0\" class=\"0x020000\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_1\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x7c0a0003a1420c\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_rome_4n_1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,ffff0000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:43:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:46:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:48:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:4a:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n              <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:4c:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:4e:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:50:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n              <xgmi target=\"0000:4a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:45:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_1\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x30654a0003a1420c\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"00000000,00000000,ffff0000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:03:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:05:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:08:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:0a:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n              <xgmi target=\"0000:4a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:0b:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:0d:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:0f:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n              <xgmi target=\"0000:4a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:13:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_3\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x906b4a0003a1420c\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"5\" affinity=\"00000000,ffff0000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c7:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:c9:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:cb:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n              <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:90:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:cd:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:cf:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:d1:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n              <xgmi target=\"0000:cb:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:90:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:c6:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_5\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0xb0f3b100039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"7\" affinity=\"ffff0000,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:83:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:86:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:88:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:8a:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n              <xgmi target=\"0000:cb:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:90:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:8c:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:8e:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:90:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n              <xgmi target=\"0000:cb:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:85:00.0\" class=\"0x020700\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x15b3\" subsystem_device=\"0x0009\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_7\" dev=\"3\" speed=\"200000\" port=\"1\" guid=\"0x50815600039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_rome_4n_2.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,ffff0000,00000000,00000000,00000000,ffff0000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:43:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:46:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:48:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:4a:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n              <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:4c:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:4e:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:50:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n              <xgmi target=\"0000:4a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:45:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x1590\" subsystem_device=\"0x0345\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_1\" dev=\"3\" speed=\"100000\" port=\"1\" guid=\"0x181515ffffa4e988\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"00000000,00000000,ffff0000,00000000,00000000,00000000,ffff0000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:03:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:05:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:08:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:0a:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n              <xgmi target=\"0000:4a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:0b:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:0d:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:0f:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n              <xgmi target=\"0000:4a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:13:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x1590\" subsystem_device=\"0x0345\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_3\" dev=\"2\" speed=\"100000\" port=\"1\" guid=\"0x301515ffffa4e988\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"5\" affinity=\"00000000,ffff0000,00000000,00000000,00000000,ffff0000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c3:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:c8:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:ca:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n              <xgmi target=\"0000:d0:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:90:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:cc:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:ce:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:d0:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n              <xgmi target=\"0000:ca:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:90:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:c5:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x1590\" subsystem_device=\"0x0345\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_5\" dev=\"1\" speed=\"100000\" port=\"1\" guid=\"0x601515ffffa4e988\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"7\" affinity=\"ffff0000,00000000,00000000,00000000,ffff0000,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:83:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:86:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:88:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:8a:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n              <xgmi target=\"0000:ca:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d0:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:90:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:8c:00.0\" class=\"0x060400\" vendor=\"0x11f8\" device=\"0x4000\" subsystem_vendor=\"0x11f8\" subsystem_device=\"0xbeef\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:8e:00.0\" class=\"0x060400\" vendor=\"0x1002\" device=\"0x14a0\" subsystem_vendor=\"0x0000\" subsystem_device=\"0x0000\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:90:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n              <xgmi target=\"0000:ca:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d0:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:85:00.0\" class=\"0x020000\" vendor=\"0x15b3\" device=\"0x101b\" subsystem_vendor=\"0x1590\" subsystem_device=\"0x0345\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_7\" dev=\"0\" speed=\"100000\" port=\"1\" guid=\"0x64780affffa4e988\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_rome_4nics.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,ffffffff,00000000,00000000,00000000,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:43:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:46:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:48:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:4a:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n              <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:4c:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:4e:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:50:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n              <xgmi target=\"0000:4a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:45:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_1\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x48b9170003a1420c\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,ffffffff,00000000,00000000,00000000,ffffffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:03:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:05:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:08:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:0a:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n              <xgmi target=\"0000:4a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:0b:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:0d:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:0f:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n              <xgmi target=\"0000:4a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:13:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_3\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x18604a0003a1420c\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,ffffffff,00000000,00000000,00000000,ffffffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c7:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:c9:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:cb:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n              <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:90:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:cd:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:cf:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:d1:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n              <xgmi target=\"0000:cb:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:90:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:c6:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_5\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0xd0b9170003a1420c\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffffff,00000000,00000000,00000000,ffffffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:83:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:86:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:88:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:8a:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n              <xgmi target=\"0000:cb:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:90:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:8c:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:8e:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:90:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n              <xgmi target=\"0000:cb:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:85:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_7\" dev=\"3\" speed=\"200000\" port=\"1\" guid=\"0xd0bd170003a1420c\" maxconn=\"262144\" gdr=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_rome_n2.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,ffffffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,ffffffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:e1:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x20cd600003da341c\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_rome_n2_1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"0\">\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:62:00.0\" class=\"0x020000\" link_speed=\"5 GT/s\" link_width=\"4\">\n      <nic>\n        <net name=\"enp98s0f0\" dev=\"0\" speed=\"1000\" port=\"0\" guid=\"0x0\" maxconn=\"65536\" gdr=\"0\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,ffffffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"0\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"0\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"0\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,ffffffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"0\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"0\">\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:e1:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x20cd600003da341c\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"0\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"0\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_rome_n2_2.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n\n<system version=\"2\">\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,ffffffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,ffffffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:e1:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"100000\" port=\"1\" guid=\"0x20cd600003da341c\" maxconn=\"262144\" gdr=\"1\"/>\n        <net name=\"mlx5_1\" dev=\"1\" speed=\"200000\" port=\"2\" guid=\"0x20cd600003da341c\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_rome_n4.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,ffff0000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"0\">\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,00000000,0000ffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"0\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"0\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"00000000,00000000,ffff0000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"0\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"5\" affinity=\"00000000,ffff0000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"0\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"0\">\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"6\" affinity=\"0000ffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"0\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"7\" affinity=\"ffff0000,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"0\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"4\" affinity=\"00000000,0000ffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x68ce600003da341c\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_rome_n4_1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,ffff0000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,00000000,0000ffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"00000000,00000000,ffff0000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"5\" affinity=\"00000000,ffff0000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"6\" affinity=\"0000ffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"7\" affinity=\"ffff0000,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"4\" affinity=\"00000000,0000ffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x42fc9f00039b0398\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_rome_pcie.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,ffffffff,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\"/>\n      </pci>\n    </pci>\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\"/>\n      </pci>\n    </pci>\n    <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\"/>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\"/>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"ffffffff,ffffffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"1\"/>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"1\"/>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"1\"/>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"1\"/>\n      </pci>\n    </pci>\n    <pci busid=\"0000:a1:00.0\" class=\"0x020000\" link_speed=\"8 GT/s\" link_width=\"4\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"100000\" port=\"1\" guid=\"0x7893510003a1420c\" maxconn=\"262144\" gdr=\"1\"/>\n        <net name=\"mlx5_1\" dev=\"1\" speed=\"100000\" port=\"2\" guid=\"0x7893510003a1420c\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_rome_vm1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"000000,00000000,00000000,3fffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0001:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"0\">\n        <xgmi target=\"0002:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0003:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0004:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0002:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"0\">\n        <xgmi target=\"0001:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0003:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0004:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <nic>\n      <net name=\"eth0\" dev=\"0\" speed=\"100000\" port=\"0\" guid=\"0x0\" maxconn=\"65536\" gdr=\"0\"/>\n    </nic>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"000000,00000000,0fffffff,c0000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0003:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"0\">\n        <xgmi target=\"0001:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0002:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0004:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0004:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"0\">\n        <xgmi target=\"0001:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0002:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0003:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"000000,03ffffff,f0000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0005:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"0\">\n        <xgmi target=\"0006:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0007:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0008:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0006:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"0\">\n        <xgmi target=\"0005:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0007:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0008:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffff,fc000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0007:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"0\">\n        <xgmi target=\"0005:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0006:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0008:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n    <pci busid=\"0008:00:00.0\" class=\"0x038000\" vendor=\"0x1002\" device=\"0x738c\" subsystem_vendor=\"0x1002\" subsystem_device=\"0x0c34\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"0\">\n        <xgmi target=\"0005:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0006:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        <xgmi target=\"0007:00:00.0\" count=\"1\" tclass=\"0x038000\"/>\n      </gpu>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_ts1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:61:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x187f5600039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,ffffffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,ffffffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:a1:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_2\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0xc07f5600039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_ts1_1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:61:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0xa8134300039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,ffffffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,ffffffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:a1:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_2\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x38815600039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_ts1_n4.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,ffff0000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,00000000,0000ffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"00000000,00000000,ffff0000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"4\" affinity=\"00000000,0000ffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"5\" affinity=\"00000000,ffff0000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"7\" affinity=\"ffff0000,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,0000ffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:61:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x18815600039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"6\" affinity=\"0000ffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:a1:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_2\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x70815600039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_ts1_n4_1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,ffff0000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,00000000,0000ffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"00000000,00000000,ffff0000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"4\" affinity=\"00000000,0000ffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"5\" affinity=\"00000000,ffff0000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"7\" affinity=\"ffff0000,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,0000ffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:61:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0xa8134300039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"6\" affinity=\"0000ffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:a1:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_2\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x38815600039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_8p_ts1_n4_2.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,00000000,ffff0000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,00000000,0000ffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:21:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:23:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:24:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:26:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c6:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"00000000,00000000,ffff0000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"4\" affinity=\"00000000,0000ffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"5\" affinity=\"00000000,ffff0000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c6:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:26:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"7\" affinity=\"ffff0000,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"64\" gcn=\"906\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:23:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,0000ffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:61:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0xa8134300039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n        <net name=\"mlx5_1\" dev=\"1\" speed=\"100000\" port=\"2\" guid=\"0xa8134300039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"6\" affinity=\"0000ffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:a1:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_2\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0x38815600039f59b8\" maxconn=\"262144\" gdr=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_collnet_n1.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00ffffff,00000000,00000000,00ffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:61:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:63:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:27:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:41:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:43:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:27:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,0000ffff,ff000000,00000000,0000ffff,ff000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:25:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:27:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:03:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:01:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:03:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n          <xgmi target=\"0000:63:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:43:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:27:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"000000ff,ffff0000,00000000,000000ff,ffff0000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:e1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:e3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:c4:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <nic>\n        <net name=\"mlx5_0\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x22fd9f00039b0398\" maxconn=\"1\" gdr=\"1\" coll=\"1\"/>\n      </nic>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffff00,00000000,00000000,ffffff00,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:a1:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:a3:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:83:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n    <pci busid=\"0000:81:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:83:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n          <xgmi target=\"0000:e3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:c3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n          <xgmi target=\"0000:a3:00.0\" count=\"1\" tclass=\"0x038000\"/>\n        </gpu>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/models/topo_collnet_n4.xml",
    "content": "<!--\n - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.\n - See LICENSE.txt for license information\n -->\n<system version=\"2\">\n  <cpu numaid=\"0\" affinity=\"00000000,00000000,00000000,ffffffff,00000000,00000000,00000000,ffffffff\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:43:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:46:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:48:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:4a:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"0\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"0\" gdr=\"1\">\n              <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:4c:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:4e:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:50:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"1\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"1\" gdr=\"1\">\n              <xgmi target=\"0000:4a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:45:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_1\" dev=\"0\" speed=\"200000\" port=\"1\" guid=\"0x48b9170003a1420c\" maxconn=\"1\" gdr=\"1\" coll=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"1\" affinity=\"00000000,00000000,ffffffff,00000000,00000000,00000000,ffffffff,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:03:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:05:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:08:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:0a:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"2\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"2\" gdr=\"1\">\n              <xgmi target=\"0000:4a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0f:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:0b:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:0d:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:0f:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"3\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"3\" gdr=\"1\">\n              <xgmi target=\"0000:4a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:50:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:0a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:13:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_3\" dev=\"1\" speed=\"200000\" port=\"1\" guid=\"0x18604a0003a1420c\" maxconn=\"1\" gdr=\"1\" coll=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"2\" affinity=\"00000000,ffffffff,00000000,00000000,00000000,ffffffff,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:c4:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:c7:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:c9:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:cb:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"4\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"4\" gdr=\"1\">\n              <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:90:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:cd:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:cf:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:d1:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"5\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"5\" gdr=\"1\">\n              <xgmi target=\"0000:cb:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:90:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:c6:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_5\" dev=\"2\" speed=\"200000\" port=\"1\" guid=\"0xd0b9170003a1420c\" maxconn=\"1\" gdr=\"1\" coll=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n  <cpu numaid=\"3\" affinity=\"ffffffff,00000000,00000000,00000000,ffffffff,00000000,00000000,00000000\" arch=\"x86_64\" vendor=\"AuthenticAMD\" familyid=\"143\" modelid=\"49\">\n    <pci busid=\"0000:83:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n      <pci busid=\"0000:86:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:88:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:8a:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"6\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"6\" gdr=\"1\">\n              <xgmi target=\"0000:cb:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:90:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:8c:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <pci busid=\"0000:8e:00.0\" class=\"0x060400\" link_speed=\"16 GT/s\" link_width=\"16\">\n          <pci busid=\"0000:90:00.0\" class=\"0x038000\" link_speed=\"16 GT/s\" link_width=\"16\">\n            <gpu dev=\"7\" sm=\"120\" gcn=\"908\" arch=\"38911\" rank=\"7\" gdr=\"1\">\n              <xgmi target=\"0000:cb:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:d1:00.0\" count=\"1\" tclass=\"0x038000\"/>\n              <xgmi target=\"0000:8a:00.0\" count=\"1\" tclass=\"0x038000\"/>\n            </gpu>\n          </pci>\n        </pci>\n      </pci>\n      <pci busid=\"0000:85:00.0\" class=\"0x020700\" link_speed=\"16 GT/s\" link_width=\"16\">\n        <nic>\n          <net name=\"mlx5_7\" dev=\"3\" speed=\"200000\" port=\"1\" guid=\"0xd0bd170003a1420c\" maxconn=\"1\" gdr=\"1\" coll=\"1\"/>\n        </nic>\n      </pci>\n    </pci>\n  </cpu>\n</system>\n"
  },
  {
    "path": "tools/topo_expl/topo_expl.cpp",
    "content": "/*\nCopyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n#include \"nccl.h\"\n#include \"channel.h\"\n#include \"nvmlwrap.h\"\n#include \"bootstrap.h\"\n#include \"transport.h\"\n#include \"group.h\"\n#include \"net.h\"\n#include \"graph.h\"\n#include \"argcheck.h\"\n#include <sched.h>\n#include <fcntl.h>\n#include <unistd.h>\n#include <hip/hip_runtime.h>\n#include <string.h>\n#include <errno.h>\n#include <assert.h>\n#include <dlfcn.h>\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <unistd.h>\n#include <cstdio>\n#include <iostream>\n#include <cstring>\n#include \"model.h\"\n#include \"utils.h\"\n#include \"topo.h\"\n#include \"graph.h\"\n#include \"rccl_common.h\"\n\nNodeModel *node_model;\nextern ncclNet_t* ncclNet;\n\nint64_t ncclParamWorkArgsBytes() { return INT64_MAX; }\n\nchar* getCmdOption(char ** begin, char ** end, const std::string & option) {\n    char ** itr = std::find(begin, end, option);\n    if (itr != end && ++itr != end)\n    {\n        return *itr;\n    }\n    return 0;\n}\n\nbool cmdOptionExists(char** begin, char** end, const std::string& option) {\n    return std::find(begin, end, option) != end;\n}\n\ntypedef struct NodeModelDesc {\n    const char *filename;\n    const char *description;\n} NodeModelDesc;\n\nNodeModelDesc model_descs[] = {\n  // GFX 906\n  {\"topo_4p1h.xml\",                      \" 4gfx906 1H2XGMI  1NIC 1Intel A\"},\n  {\"topo_4p1h_1.xml\",                    \" 4gfx906 1H2XGMI  2NIC 2Intel A\"},\n  {\"topo_8p_rome.xml\",                   \" 8gfx906 2H2XGMI  1NIC 2AMD   A\"},\n  {\"topo_8p_rome_n2.xml\",                \" 8gfx906 2H2XGMI  1NIC 4AMD   A\"},\n  {\"topo_8p_rome_n4.xml\",                \" 8gfx906 2H2XGMI  1NIC 7AMD   A\"},\n  {\"topo_4p2h.xml\",                      \" 8gfx906 2H2XGMI  1NIC 1Intel A\"},\n  {\"topo_4p2h_1.xml\",                    \" 8gfx906 2H2XGMI  1NIC 1Intel B\"},\n  {\"topo_4p2h_2nic.xml\",                 \" 8gfx906 2H2XGMI  2NIC 1Intel A\"},\n  {\"topo_8p_rome_n2_1.xml\",              \" 8gfx906 2H2XGMI  2NIC 4AMD   A\"},\n  {\"topo_8p_rome_n2_2.xml\",              \" 8gfx906 2H2XGMI  2NIC 4AMD   B\"},\n  {\"topo_8p_ts1.xml\",                    \" 8gfx906 2H2XGMI  2NIC 4AMD   C\"},\n  {\"topo_8p_ts1_1.xml\",                  \" 8gfx906 2H2XGMI  2NIC 4AMD   D\"},\n  {\"topo_8p_ts1_n4.xml\",                 \" 8gfx906 2H2XGMI  2NIC 8AMD   A\"},\n  {\"topo_8p_ts1_n4_1.xml\",               \" 8gfx906 2H2XGMI  2NIC 8AMD   B\"},\n  {\"topo_8p_ts1_n4_2.xml\",               \" 8gfx906 2H2XGMI  3NIC 8AMD   C\"},\n  {\"topo_8p_pcie.xml\",                   \" 8gfx906 PCIe     1NIC 1Intel A\"},\n  {\"topo_8p_pcie_1.xml\",                 \" 8gfx906 PCIe     1NIC 1Intel B\"},\n  {\"topo_8p_pcie_2nic.xml\",              \" 8gfx906 PCIe     2NIC 1Intel A\"},\n  {\"topo_8p_rome_pcie.xml\",              \" 8gfx906 PCIe     2NIC 2AMD2  A\"},\n  // GFX 908\n  {\"topo_4p3l.xml\",                      \" 4gfx908 1H3XGMI  2NIC 1Intel A\"},\n  {\"topo_8p6l.xml\",                      \" 8gfx908 1H6XGMI  1NIC 2AMD   A\"},\n  {\"topo_8p6l_1nic.xml\",                 \" 8gfx908 1H6XGMI  1NIC 2AMD   B\"},\n  {\"topo_8p6l_2nic.xml\",                 \" 8gfx908 1H6XGMI  2NIC 2AMD   A\"},\n  {\"topo_8p6l_3nic.xml\",                 \" 8gfx908 1H6XGMI  3NIC 2AMD   A\"},\n  {\"topo_8p6l_4nic.xml\",                 \" 8gfx908 1H6XGMI  4NIC 2AMD   A\"},\n  {\"topo_8p6l_5nic.xml\",                 \" 8gfx908 1H6XGMI  5NIC 2AMD   A\"},\n  {\"topo_8p6l_6nic.xml\",                 \" 8gfx908 1H6XGMI  6NIC 2AMD   A\"},\n  {\"topo_4p3l_ia.xml\",                   \" 8gfx908 2H3XGMI  1NIC 1Intel A\"},\n  {\"topo_4p3l_2h.xml\",                   \" 8gfx908 2H3XGMI  1NIC 4AMD   A\"},\n  {\"topo_4p3l_n2.xml\",                   \" 8gfx908 2H3XGMI  1NIC 4AMD   B\"},\n  {\"topo_4p3l_n2_1.xml\",                 \" 8gfx908 2H3XGMI  1NIC 4AMD   C\"},\n  {\"topo_collnet_n1.xml\",                \" 8gfx908 2H3XGMI  1NIC 4AMD   D\"},\n  {\"topo_8p_rome_vm1.xml\",               \" 8gfx908 2H3XGMI  1NIC 4AMD   E\"},\n  {\"topo_4p3l_n4.xml\",                   \" 8gfx908 2H3XGMI  1NIC 7AMD   A\"},\n  {\"topo_8p_rome_n4_1.xml\",              \" 8gfx908 2H3XGMI  1NIC 7AMD   B\"},\n  {\"topo_8p_rome_4nics.xml\",             \" 8gfx908 2H3XGMI  4NIC 4AMD   A\"},\n  {\"topo_collnet_n4.xml\",                \" 8gfx908 2H3XGMI  4NIC 4AMD   B\"},\n  {\"topo_8p_rome_4n_1.xml\",              \" 8gfx908 2H3XGMI  4NIC 4AMD   C\"},\n  {\"topo_8p_rome_4n_2.xml\",              \" 8gfx908 2H3XGMI  4NIC 4AMD   D\"},\n  {\"topo_8p_4nics.xml\",                  \" 8gfx908 2H3XGMI  4NIC 4AMD   E\"},\n  {\"topo_4p4h.xml\",                      \"16gfx908 2H3XGMI 16NIC 1AMD   A\"},\n  // GFX 910\n  {\"topo_3p_pcie.xml\",                   \" 3gfx910 PCIe     1NIC 2AMD   A\"},\n  {\"topo_3p_pcie_1.xml\",                 \" 3gfx910 PCIe     1NIC 2AMD   B\"},\n  {\"topo_8p_90a.xml\",                    \" 8gfx910 2H3XGMI  1NIC 1AMD   A\"},\n  {\"topo_8p_90a_1.xml\",                  \" 8gfx910 2H3XGMI  1NIC 3AMD   A\"},\n  {\"topo_8p1h_2.xml\",                    \" 8gfx910 2H3XGMI  2NIC 4AMD   A\"},\n  {\"topo_8p1h.xml\",                      \" 8gfx910 2H3XGMI  4NIC 2AMD   A\"},\n  {\"topo_8p1h_n1.xml\",                   \" 8gfx910 2H3XGMI  4NIC 2AMD   B\"},\n  {\"topo_8p1h_1.xml\",                    \" 8gfx910 2H3XGMI  4NIC 2AMD   C\"},\n  {\"topo_8p1h_3.xml\",                    \" 8gfx910 2H3XGMI  4NIC 4AMD   A\"},\n  {\"topo_8p1h_4.xml\",                    \" 8gfx910 2H3XGMI  8NIC 2AMD   A\"},\n  {\"topo_8p1h_5.xml\",                    \" 8gfx910 2H3XGMI  8NIC 2AMD   B\"},\n  {\"topo_16p1h.xml\",                     \"16gfx910 2H3XGMI  8NIC 4AMD   A\"},\n  {\"topo_16p1h_vm.xml\",                  \"16gfx910 2H3XGMI  8NIC 4AMD   B\"},\n  // GFX 942\n  {\"topo_4p_942.xml\",                    \" 4gfx942 1H3XGMI  4NIC 4AMD2  A\"},\n  {\"topo_8p_942.xml\",                    \" 8gfx942 1H7XGMI  8NIC 2Intel A\"},\n  {\"topo_8p_942vm.xml\",                  \" 8gfx942 1H7XGMI  8NIC 2Intel B\"},\n  {\"topo_16p_gio-1s-1rp-cascade.xml\",    \"16gfx942 2H7XGMI  1NIC 2AMD   A\"},\n  {\"topo_16p_gio-3s-1rp-split-flat.xml\", \"16gfx942 2H7XGMI  1NIC 2AMD   B\"},\n  // GFX 950\n  {\"topo_8p_950.xml\",                    \" 8gfx950 1H7XGMI  8NIC 2AMD   A\"},\n};\n\nNCCL_PARAM(MaxCTAs, \"MAX_CTAS\", MAXCHANNELS);\nNCCL_PARAM(MinCTAs, \"MIN_CTAS\", 1);\n\nint main(int argc,char* argv[])\n{\n  struct ncclComm *comm;\n  const int num_models = sizeof(model_descs) / sizeof(*model_descs);\n  int minCTAsEnv;\n  int maxCTAsEnv;\n\n  if (!cmdOptionExists(argv, argv + argc, \"-m\")) {\n    printf(\"Usage: ./topo_expl -m model_id [-n numNodes=1]\\n\");\n    printf(\"List of model_id:\\n\");\n    for (int i = 0; i < num_models; i++)\n      printf(\"  %2d: %24s [%s]\\n\", i, model_descs[i].description, model_descs[i].filename);\n    exit(0);\n  }\n\n  int model_id = 0;\n  char *mi = getCmdOption(argv, argv + argc, \"-m\");\n  if (mi)\n    model_id = atol(mi);\n\n  if (model_id >= num_models) {\n      printf(\"Invalid model_id %d\\n\", model_id);\n      exit(0);\n  }\n\n  NetworkModel network;\n  NodeModel* node;\n\n  initCollNet();\n\n  NodeModelDesc *desc = &model_descs[model_id];\n  int numNodes = 1;\n  if (cmdOptionExists(argv, argv + argc, \"-n\")) {\n    char *numNodesStr = getCmdOption(argv, argv + argc, \"-n\");\n    if (numNodesStr)\n      numNodes = atol(numNodesStr);\n  }\n  for (int i=0; i < numNodes; i++) {\n      node = new NodeModel(desc->filename);\n      network.AddNode(node);\n  }\n\n  printf(\"Generating topology using %d: %s\\n\", model_id, desc->description);\n\n  int nranks = network.GetNRanks();\n  int nnodes = network.GetNNodes();\n\n  printf(\"nnodes = %d, nranks = %d\\n\", nnodes, nranks);\n  for (int i = 0; i < nranks; i++) {\n    node_model = network.GetNode(i);\n    assert(node_model!=0);\n    printf(\"Rank %d: node %d cudaDev %d GPU busId %lx\\n\", i, node_model->nodeId,\n      node_model->rankToCudaDev(i), node_model->getGpuBusId(i));\n  }\n\n  minCTAsEnv = ncclParamMinCTAs();\n  maxCTAsEnv = ncclParamMaxCTAs();\n\n  NCCLCHECK(ncclCalloc(&comm, nranks));\n\n  struct ncclPeerInfo *peerInfo;\n  NCCLCHECK(ncclCalloc(&peerInfo, nranks+1)); // Extra rank to represent CollNet root\n\n  struct allGatherInfo* allGather3Data;\n  NCCLCHECK(ncclCalloc(&allGather3Data, nranks));\n\n  struct ncclTopoGraph *treeGraph, *ringGraph, *collNetGraph, *nvlsGraph;\n  NCCLCHECK(ncclCalloc(&treeGraph, nranks));\n  NCCLCHECK(ncclCalloc(&ringGraph, nranks));\n  NCCLCHECK(ncclCalloc(&collNetGraph, nranks));\n  NCCLCHECK(ncclCalloc(&nvlsGraph, nranks));\n\n  for (int i = 0; i < nranks; i++) {\n    comm[i].rank = i;\n    comm[i].nRanks = nranks;\n    NCCLCHECK(ncclCalloc(&comm[i].connectSend, NCCL_MAX_CONNS*comm->nRanks));\n    NCCLCHECK(ncclCalloc(&comm[i].connectRecv, NCCL_MAX_CONNS*comm->nRanks));\n    node_model = network.GetNode(i);\n    assert(node_model!=0);\n    comm[i].busId = node_model->getGpuBusId(i);\n    comm[i].topo = node_model->getSystem(i);\n    comm[i].peerInfo = peerInfo;\n    comm[i].ncclNet = ncclNet;\n    comm[i].config.maxCTAs = maxCTAsEnv;\n    comm[i].config.minCTAs = minCTAsEnv;\n    if (comm[i].topParentRanks == NULL) {\n      NCCLCHECK(ncclCalloc(&comm[i].topParentRanks, comm->nRanks));\n      for (int j = 0; j < comm->nRanks; ++j)\n        comm[i].topParentRanks[j] = j;\n    }\n    struct ncclSharedResources* sharedRes = NULL;\n    NCCLCHECK(ncclCalloc(&sharedRes, 1));\n    /* most of attributes are assigned later in initTransportsRank(). */\n    sharedRes->owner = &comm[i];\n    sharedRes->tpNRanks = comm[i].nRanks;\n    NCCLCHECK(ncclCalloc(&sharedRes->tpRankToLocalRank, comm[i].nRanks));\n    comm[i].sharedRes = sharedRes;\n    sharedRes->refCount = 1;\n    ncclMemoryStackConstruct(&comm[i].memPermanent);\n   // Mark channels as non initialized.\n    for (int c=0; c<MAXCHANNELS; c++) comm[i].channels[c].id = -1;\n    NCCLCHECK(fillInfo(&comm[i], comm[i].peerInfo+comm[i].rank, 0));\n  }\n\n  for (int i = 0; i < nranks; i++) {\n    node_model = network.GetNode(i);\n    assert(node_model!=0);\n    initTransportsRank_1(&comm[i], allGather3Data, treeGraph[i], ringGraph[i], collNetGraph[i], nvlsGraph[i]);\n  }\n\n  for (int i = 0; i < nranks; i++) {\n    node_model = network.GetNode(i);\n    assert(node_model!=0);\n    initTransportsRank_3(&comm[i], allGather3Data, treeGraph[i], ringGraph[i], collNetGraph[i], nvlsGraph[i]);\n    CUDACHECK(hipDeviceGetAttribute(&comm[i].WarpSize, hipDeviceAttributeWarpSize, comm[i].cudaDev));\n  }\n  for (uint64_t len = 8; len <= 4294967296L; len *= 2) {\n    struct ncclInfo info;\n    float minTime = 3600000000.0;\n    info.comm = &comm[0];\n\n    info.coll = ncclFuncAllReduce;\n    // Find algorithm / protocol.\n    int algorithm = -1;\n    int protocol = -1;\n    int nAlgos = NCCL_NUM_ALGORITHMS;\n    for (int a=0; a<nAlgos; a++) {\n      for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {\n        float time;\n        NCCLCHECK(ncclTopoGetAlgoTime(info.comm, info.coll, a, p, len, 1, &time));\n        if (time >= 0 && time < minTime) {\n          algorithm = a;\n          protocol = p;\n          minTime = time;\n        }\n      }\n    }\n    if (algorithm == -1 || protocol == -1) {\n      WARN(\"Error : no algorithm/protocol available\");\n      return ncclInternalError;\n    }\n    INFO(NCCL_TUNING, \"%10ld %s %s time %f\", len, ncclAlgoStr[algorithm], ncclProtoStr[protocol], minTime);\n  }\n\n  // Arrays to store function types for ncclFuncAllReduce, ReduceScatter, and AllGather\n  std::vector<ncclFunc_t> ncclFuncTypes = {\n    ncclFuncAllReduce,\n    ncclFuncReduceScatter,\n    ncclFuncAllGather,\n    ncclFuncReduce,\n    ncclFuncBroadcast\n  };\n\n  std::cout << \"Running fp32 production choices for algorithm/protocol/maxChannels\" << std::endl;\n  // RCCL tuning results\n  printf(\"| %-15s | %-15s | %-15s | %-10s | %-10s | %-12s |\\n\", \"Max Size(B)\", \"Count\", \"Collective\", \"Algorithm\", \"Protocol\", \"Max Channels\");\n  printf(\"|-----------------|-----------------|-----------------|------------|------------|--------------|\\n\");\n  for(int i = 0; i < ncclFuncTypes.size(); ++i) {\n    for (uint64_t count = 8; count <= 1073741824L; count *= 2) { // Up to 1 gigabyte\n      int algo, proto, nChannels;\n      NCCLCHECK(rcclGetAlgoInfo(&comm[0], ncclFuncTypes[i], count, ncclFloat32 , 0, 0, 1, &algo, &proto, &nChannels));\n      uint64_t maxCount;\n      NCCLCHECK(rcclFuncMaxSendRecvCount(ncclFuncTypes[i], comm[0].nRanks, count, maxCount));\n      printf(\"| %-15ld | %-15ld | %-15s | %-10s | %-10s | %-12d |\\n\",\n        maxCount * sizeof(float),\n        count,\n        ncclFuncStr[ncclFuncTypes[i]],\n        ncclAlgoStr[algo],\n        ncclProtoStr[proto],\n        nChannels);\n    }\n  }\n\n\n\n  for (int i = 0; i < nranks; i++) {\n    free(comm[i].connectSend);\n    free(comm[i].connectRecv);\n  }\n\n  free(treeGraph);\n  free(ringGraph);\n  free(collNetGraph);\n  free(allGather3Data);\n  free(peerInfo);\n\n  free(comm);\n  printf(\"Done generating topology using %d: %s\\n\", model_id, desc->description);\n\n  return 0;\n}\n"
  },
  {
    "path": "tools/topo_expl/utils.cpp",
    "content": "/*************************************************************************\n * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved.\n * Modifications Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.\n *\n * See LICENSE.txt for license information\n ************************************************************************/\n\n#include \"nccl.h\"\n#include \"channel.h\"\n#include \"nvmlwrap.h\"\n#include \"bootstrap.h\"\n#include \"transport.h\"\n#include \"group.h\"\n#include \"net.h\"\n#include \"graph.h\"\n#include \"argcheck.h\"\n#include <sched.h>\n#include <fcntl.h>\n#include <unistd.h>\n#include <hip/hip_runtime.h>\n#include <string.h>\n#include <errno.h>\n#include <assert.h>\n#include <dlfcn.h>\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <unistd.h>\n#include <cstdarg>\n#include \"xml.h\"\n#include \"coll_net.h\"\n#include \"model.h\"\n#include \"utils.h\"\n#include \"rocm_smi/rocm_smi.h\"\n\nconst char* ncclFuncStr[NCCL_NUM_FUNCTIONS+2] = { \"Broadcast\", \"Reduce\", \"AllGather\", \"ReduceScatter\", \"AllReduce\", \"SendRecv\", \"AlltoAllPivot\" };\nconst char* ncclAlgoStr[NCCL_NUM_ALGORITHMS] = { \"Tree\", \"Ring\", \"CollNetDirect\", \"CollNetChain\", \"NVLS\", \"NVLSTree\", \"PAT\" };\nconst char* ncclProtoStr[NCCL_NUM_PROTOCOLS] = { \"LL\", \"LL128\", \"Simple\" };\n\nextern NodeModel *node_model;\n\nRCCL_PARAM(P2pNetDisable, \"P2P_NET_DISABLE\", 0);\nRCCL_PARAM(PivotAlltoallEnable, \"PIVOT_ALLTOALL_ENABLE\", 1);\nRCCL_PARAM(LL128ForceEnable, \"LL128_FORCE_ENABLE\", 0);\n\nNCCL_PARAM(GraphDumpFileRank, \"GRAPH_DUMP_FILE_RANK\", 0);\nNCCL_PARAM(CollNetNodeThreshold, \"COLLNET_NODE_THRESHOLD\", 2);\nNCCL_PARAM(NvbPreconnect, \"NVB_PRECONNECT\", 0);\nNCCL_PARAM(AllocP2pNetLLBuffers, \"ALLOC_P2P_NET_LL_BUFFERS\", 0);\n\nthread_local int ncclDebugNoWarn = 0;\nncclCollNet_t* ncclCollNet = NULL;\n\n// Get current Compute Capability\nint ncclCudaCompCap() {\n  int ccMajor = 1, ccMinor = 0;\n  return ccMajor*10+ccMinor;\n}\n\nncclResult_t int64ToBusId(int64_t id, char* busId) {\n  sprintf(busId, \"%04lx:%02lx:%02lx.%01lx\", (id) >> 20, (id & 0xff000) >> 12, (id & 0xff0) >> 4, (id & 0xf));\n  return ncclSuccess;\n}\n\nncclResult_t busIdToInt64(const char* busId, int64_t* id) {\n  const int size = strlen(busId);\n  char* hexStr;\n  NCCLCHECK(ncclCalloc(&hexStr, size));\n  int hexOffset = 0;\n  for (int i=0; i<size; i++) {\n    char c = busId[i];\n    if (c == '.' || c == ':') continue;\n    if ((c >= '0' && c <= '9') ||\n        (c >= 'A' && c <= 'F') ||\n        (c >= 'a' && c <= 'f')) {\n      hexStr[hexOffset++] = busId[i];\n    } else break;\n  }\n  hexStr[hexOffset] = '\\0';\n  *id = strtol(hexStr, NULL, 16);\n  free(hexStr);\n  return ncclSuccess;\n}\n\nvoid* ncclMemoryStack::allocateSpilled(struct ncclMemoryStack* me, size_t size, size_t align) {\n  // `me->hunks` points to the top of the stack non-empty hunks. Hunks above\n  // this (reachable via `->above`) are empty.\n  struct Hunk* top = me->topFrame.hunk;\n  size_t mallocSize = 0;\n\n  // If we have lots of space left in hunk but that wasn't enough then we'll\n  // allocate the object unhunked.\n  if (me->topFrame.end - me->topFrame.bumper >= 8<<10)\n    goto unhunked;\n\n  // If we have another hunk (which must be empty) waiting above this one and\n  // the object fits then use that.\n  if (top && top->above) {\n    struct Hunk* top1 = top->above;\n    uintptr_t uobj = (reinterpret_cast<uintptr_t>(top1) + sizeof(struct Hunk) + align-1) & -uintptr_t(align);\n    if (uobj + size <= reinterpret_cast<uintptr_t>(top1) + top1->size) {\n      me->topFrame.hunk = top1;\n      me->topFrame.bumper = uobj + size;\n      me->topFrame.end = reinterpret_cast<uintptr_t>(top1) + top1->size;\n      return reinterpret_cast<void*>(uobj);\n    }\n  }\n\n  { // If the next hunk we're going to allocate wouldn't be big enough but the\n    // Unhunk proxy fits in the current hunk then go allocate as unhunked.\n    size_t nextSize = (top ? top->size : 0) + (64<<10);\n    constexpr size_t maxAlign = 64;\n    if (nextSize < sizeof(struct Hunk) + maxAlign + size) {\n      uintptr_t uproxy = (me->topFrame.bumper + alignof(Unhunk)-1) & -uintptr_t(alignof(Unhunk));\n      if (uproxy + sizeof(struct Unhunk) <= me->topFrame.end)\n        goto unhunked;\n    }\n\n    // At this point we must need another hunk, either to fit the object\n    // itself or its Unhunk proxy.\n    mallocSize = nextSize;\n    INFO(NCCL_ALLOC, \"%s:%d memory stack hunk malloc(%llu)\", __FILE__, __LINE__, (unsigned long long)mallocSize);\n    struct Hunk *top1 = (struct Hunk*)malloc(mallocSize);\n    if (top1 == nullptr) goto malloc_exhausted;\n    top1->size = nextSize;\n    top1->above = nullptr;\n    if (top) top->above = top1;\n    top = top1;\n    me->topFrame.hunk = top;\n    me->topFrame.end = reinterpret_cast<uintptr_t>(top) + nextSize;\n    me->topFrame.bumper = reinterpret_cast<uintptr_t>(top) + sizeof(struct Hunk);\n  }\n\n  { // Try to fit object in the new top hunk.\n    uintptr_t uobj = (me->topFrame.bumper + align-1) & -uintptr_t(align);\n    if (uobj + size <= me->topFrame.end) {\n      me->topFrame.bumper = uobj + size;\n      return reinterpret_cast<void*>(uobj);\n    }\n  }\n\nunhunked:\n  { // We need to allocate the object out-of-band and put an Unhunk proxy in-band\n    // to keep track of it.\n    uintptr_t uproxy = (me->topFrame.bumper + alignof(Unhunk)-1) & -uintptr_t(alignof(Unhunk));\n    Unhunk* proxy = reinterpret_cast<Unhunk*>(uproxy);\n    me->topFrame.bumper = uproxy + sizeof(Unhunk);\n    proxy->next = me->topFrame.unhunks;\n    me->topFrame.unhunks = proxy;\n    mallocSize = size;\n    proxy->obj = malloc(mallocSize);\n    INFO(NCCL_ALLOC, \"%s:%d memory stack non-hunk malloc(%llu)\", __FILE__, __LINE__, (unsigned long long)mallocSize);\n    if (proxy->obj == nullptr) goto malloc_exhausted;\n    return proxy->obj;\n  }\n\nmalloc_exhausted:\n  WARN(\"%s:%d Unrecoverable error detected: malloc(size=%llu) returned null.\", __FILE__, __LINE__, (unsigned long long)mallocSize);\n  abort();\n}\n\nvoid ncclMemoryStackDestruct(struct ncclMemoryStack* me) {\n  // Free unhunks first because both the frames and unhunk proxies lie within the hunks.\n  struct ncclMemoryStack::Frame* f = &me->topFrame;\n  while (f != nullptr) {\n    struct ncclMemoryStack::Unhunk* u = f->unhunks;\n    while (u != nullptr) {\n      free(u->obj);\n      u = u->next;\n    }\n    f = f->below;\n  }\n  // Free hunks\n  struct ncclMemoryStack::Hunk* h = me->stub.above;\n  while (h != nullptr) {\n    struct ncclMemoryStack::Hunk *h1 = h->above;\n    free(h);\n    h = h1;\n  }\n}\n\nint ncclDebugLevel = -1;\n\nvoid ncclDebugInit() {\n  if (ncclDebugLevel != -1) return;\n  const char* nccl_debug = getenv(\"NCCL_DEBUG\");\n  if (nccl_debug == NULL) {\n    ncclDebugLevel = NCCL_LOG_INFO;\n  } else if (strcasecmp(nccl_debug, \"VERSION\") == 0) {\n    ncclDebugLevel = NCCL_LOG_VERSION;\n  } else if (strcasecmp(nccl_debug, \"WARN\") == 0) {\n    ncclDebugLevel = NCCL_LOG_WARN;\n  } else if (strcasecmp(nccl_debug, \"INFO\") == 0) {\n    ncclDebugLevel = NCCL_LOG_INFO;\n  } else if (strcasecmp(nccl_debug, \"ABORT\") == 0) {\n    ncclDebugLevel = NCCL_LOG_ABORT;\n  } else if (strcasecmp(nccl_debug, \"TRACE\") == 0) {\n    ncclDebugLevel = NCCL_LOG_TRACE;\n  }\n}\n\nvoid ncclDebugLog(ncclDebugLogLevel level, unsigned long flags, const char *filefunc, int line, const char *fmt, ...) {\n  if (ncclDebugLevel == -1) ncclDebugInit();\n  if (level == NCCL_LOG_TRACE && ncclDebugLevel != NCCL_LOG_TRACE) return;\n  if (ncclDebugLevel < level || ((flags & (NCCL_INIT|NCCL_GRAPH|NCCL_TUNING)) == 0)) return;\n\n  char buffer[2048];\n  size_t len = 0;\n  if (node_model) len = snprintf(buffer, sizeof(buffer),\n    \"[%d:%d] \", node_model->nodeId, node_model->currRank);\n  va_list args;\n  va_start(args, fmt);\n  vsprintf(buffer+len, fmt, args);\n  va_end(args);\n  printf(\"%s\\n\", buffer);\n#if 0\n  if (level == NCCL_LOG_WARN) {\n    fprintf(stderr,\"[%d:%d] %s:%d TOPO EXPL ABORT\\n\",\n            node_model->nodeId, node_model->currRank, filefunc, line);\n    abort();\n  }\n#endif\n}\n\nncclResult_t ncclTopoGetSystem(const char* xmlTopoFile, struct ncclTopoSystem** system) {\n  struct ncclXml* xml;\n  NCCLCHECK(xmlAlloc(&xml, NCCL_GRAPH_XML_MAX_NODES));\n  NCCLCHECK(ncclTopoGetXmlFromFile(xmlTopoFile, xml, 0));\n  NCCLCHECK(ncclTopoGetSystemFromXml(xml, system, 0));\n  free(xml);\n  return ncclSuccess;\n}\n\nNCCL_PARAM(CollNetEnable, \"COLLNET_ENABLE\", 0);\n\nvoid initCollNet() {\n  if (ncclParamCollNetEnable() == 1 && ncclCollNet == 0)\n    ncclCollNet = (ncclCollNet_t*)0x12345678;\n}\n\nncclResult_t initChannel(struct ncclComm* comm, int channelId) {\n  struct ncclChannel* channel = &comm->channels[channelId];\n  if (channel->id != -1) return ncclSuccess;\n\n  int nRanks = comm->nRanks;\n  int nPeers = nRanks + 1 /* Collnet */ + comm->localRanks /* NVLS */;\n  channel->id = channelId;\n  channel->workFifoProduced = 0;\n\n  struct ncclSharedResources* sharedRes = comm->sharedRes;\n\n  //NCCLCHECK(ncclStrongStreamAcquireUncaptured(&sharedRes->deviceStream));\n\n  if (channel->peers == NULL) {\n    // The extra on nRanks+1 is for collnet root (i.e. network)\n    // Allocate everything related to sharedRes with ncclCalloc as this can be\n    // shared between communicators hence should not be tied to comm.\n    if (sharedRes->peers[channelId] == NULL) {\n      NCCLCHECK(ncclCalloc(sharedRes->peers + channelId, sharedRes->tpNRanks));\n    }\n    channel->peers = ncclMemoryStackAlloc<struct ncclChannelPeer*>(&comm->memPermanent, nPeers);\n    for (int r = 0; r < nRanks; r++) {\n      channel->peers[r] = comm->sharedRes->peers[channelId] + comm->topParentRanks[r];\n      ncclAtomicRefCountIncrement(&channel->peers[r]->refCount);\n    }\n  }\n#if 0\n  if (channel->devPeers == NULL) {\n    if (sharedRes->devPeers[channelId] == NULL) {\n      NCCLCHECK(ncclCudaCallocAsync(sharedRes->devPeers + channelId, sharedRes->tpNRanks, sharedRes->deviceStream.cudaStream));\n    }\n    /* channel->devPeers is not shared, so just free it when calling commFree() */\n    NCCLCHECK(ncclCudaCallocAsync(&channel->devPeers, nPeers, sharedRes->deviceStream.cudaStream));\n    ncclCommPushCudaFree(comm, channel->devPeers);\n    NCCLCHECK(ncclCalloc(&channel->devPeersHostPtr, nPeers));\n    for (int r = 0; r < nRanks; r++) {\n      uintptr_t addr = (uintptr_t)(comm->sharedRes->devPeers[channelId] + comm->topParentRanks[r]);\n      NCCLCHECK(ncclCudaMemcpyAsync((uintptr_t*)(channel->devPeers + r), (uintptr_t*)&addr, 1, sharedRes->deviceStream.cudaStream));\n      channel->devPeersHostPtr[r] = (struct ncclDevChannelPeer*)addr;\n    }\n  }\n#endif\n  channel->ring.userRanks = ncclMemoryStackAlloc<int>(&comm->memPermanent, nRanks);\n  //NCCLCHECK(ncclCudaCallocAsync(&channel->devRingUserRanks, nRanks, sharedRes->deviceStream.cudaStream));\n  //ncclCommPushCudaFree(comm, channel->devRingUserRanks);\n\n  /* guarantee addr has been copied into channel->devPeers */\n  //NCCLCHECK(ncclStrongStreamSynchronize(&sharedRes->deviceStream));\n  //NCCLCHECK(ncclStrongStreamRelease(ncclCudaGraphNone(), &sharedRes->deviceStream));\n\n  return ncclSuccess;\n}\n\nncclResult_t fillInfo(struct ncclComm* comm, struct ncclPeerInfo* info, uint64_t commHash) {\n  info->rank = comm->rank;\n  info->cudaDev = node_model->rankToCudaDev(comm->rank);\n  info->hostHash = node_model->hostHash;\n  info->pidHash = node_model->pidHash;\n\n  // Get the device MAJOR:MINOR of /dev/shm so we can use that\n  // information to decide whether we can use SHM for inter-process\n  // communication in a container environment\n  //struct stat statbuf;\n  //SYSCHECK(stat(\"/dev/shm\", &statbuf), \"stat\");\n  info->shmDev = 0x19;\n\n  info->busId = node_model->getGpuBusId(comm->rank);\n\n  // detect if fine grained memory is available on this GPU\n  info->hasFineGrain = true;\n  info->gdrSupport = 1;\n\n  info->comm = comm;\n  info->cudaCompCap = 1;\n  return ncclSuccess;\n}\n\nstatic ncclResult_t setupChannel(struct ncclComm* comm, int channelId, int rank, int nranks, int* ringRanks) {\n  TRACE(NCCL_INIT, \"rank %d nranks %d\", rank, nranks);\n  NCCLCHECK(initChannel(comm, channelId));\n\n  struct ncclRing* ring = &comm->channels[channelId].ring;\n  // Find our ring-distance from rank zero and reorganize ranks to start with rank.\n  int ixZero=0, ixRank=0;\n  for (int i=0; i < nranks; i++) {\n    if (ringRanks[i] == 0) ixZero = i;\n    if (ringRanks[i] == rank) ixRank = i;\n  }\n  ring->index = (ixRank-ixZero + nranks)%nranks;\n  for (int i=0; i<nranks; i++) {\n    ring->userRanks[i] = ringRanks[(i+ixRank)%nranks];\n  }\n  return ncclSuccess;\n}\n\ntemplate <int type>\nstatic ncclResult_t selectTransport(struct ncclComm* comm, struct ncclTopoGraph* graph, struct ncclConnect* connect, int channelId, int peer, int connIndex, int* transportType, bool* needsProxy) {\n  struct ncclPeerInfo* myInfo = comm->peerInfo+comm->rank;\n  struct ncclPeerInfo* peerInfo = comm->peerInfo+peer;\n  struct ncclConnector* connector = (type == 1) ? comm->channels[channelId].peers[peer]->send + connIndex :\n                                                  comm->channels[channelId].peers[peer]->recv + connIndex;\n  // handle intra-node network connections\n  int n1 = -1, n2 = -1;\n  if (connIndex == NCCL_CONN_IDX_P2P_NET) {\n    NCCLCHECK(ncclTopoGetIntraNetDev(comm->topo, comm->rank, graph, channelId, (type == 1) ? 1 : 0, nullptr, &n1));\n    NCCLCHECK(ncclTopoGetIntraNetDev(comm->topo, peer, graph, channelId, (type == 1) ? 0 : 1, nullptr, &n2));\n  }\n  bool xgmi;\n  NCCLCHECK(ncclTopoGetLinkType(comm->topo, myInfo->cudaDev, peerInfo->cudaDev, &xgmi));\n\n  for (int t=0; t<NTRANSPORTS; t++) {\n    if (graph == NULL && connIndex == NCCL_CONN_IDX_P2P_NET && (t == TRANSPORT_SHM || (!xgmi && t == TRANSPORT_P2P))) continue;\n    if (graph && n1 >= 0 && n2 >= 0 && t != TRANSPORT_NET) continue;\n    struct ncclTransport *transport = ncclTransports[t];\n    struct ncclTransportComm* transportComm = type == 1 ? &transport->send : &transport->recv;\n    int ret = 0;\n    NCCLCHECK(transport->canConnect(&ret, comm, graph, myInfo, peerInfo));\n    if (ret) {\n      connector->transportComm = transportComm;\n      NCCLCHECK(transportComm->setup(comm, graph, myInfo, peerInfo, connect, connector, channelId, connIndex));\n      if (transportType) *transportType = t;\n      if (needsProxy) *needsProxy = (transportComm->proxyProgress != NULL);\n      return ncclSuccess;\n    }\n  }\n  WARN(\"No transport found for rank %d[%lx] -> rank %d[%lx]\", myInfo->rank, myInfo->busId, peerInfo->rank, peerInfo->busId);\n  return ncclSystemError;\n}\n\nncclResult_t ncclTransportP2pConnect(struct ncclComm* comm, int channelId, int nrecv, int* peerRecv, int nsend, int* peerSend, int connIndex) {\n  TRACE(NCCL_INIT, \"nsend %d nrecv %d\", nsend, nrecv);\n  struct ncclChannel* channel = &comm->channels[channelId];\n  struct channelMasks mask;\n  for (int i = 0; i < MAXCHANNELS/64; i++)\n    mask.masks[i] = 0;\n  mask.masks[channel->id/64] = (1UL << (channel->id%64));\n\n  for (int i=0; i<nrecv; i++) {\n    int peer = peerRecv[i];\n    if (peer == -1 || peer >= comm->nRanks || peer == comm->rank || channel->peers[peer]->recv[connIndex].connected) continue;\n    comm->connectRecv[peer+comm->nRanks*(connIndex == NCCL_CONN_IDX_P2P_NET ? NCCL_CONN_IDX_P2P_NET : 0)].masks[channel->id/64] |= mask.masks[channel->id/64];\n  }\n  for (int i=0; i<nsend; i++) {\n    int peer = peerSend[i];\n    if (peer == -1 || peer >= comm->nRanks || peer == comm->rank || channel->peers[peer]->send[connIndex].connected) continue;\n    comm->connectSend[peer+comm->nRanks*(connIndex == NCCL_CONN_IDX_P2P_NET ? NCCL_CONN_IDX_P2P_NET : 0)].masks[channel->id/64] |= mask.masks[channel->id/64];\n  }\n  return ncclSuccess;\n}\n\nvoid dumpData(struct ncclConnect* data, int ndata) {\n  for (int n=0; n<ndata; n++) {\n    printf(\"[%d] \", n);\n    uint8_t* d = (uint8_t*)data;\n    for (int i=0; i<sizeof(struct ncclConnect); i++) printf(\"%02x\", d[i]);\n    printf(\"\\n\");\n  }\n}\n\nNCCL_PARAM(ConnectRoundMaxPeers, \"CONNECT_ROUND_MAX_PEERS\", 128);\nNCCL_PARAM(ReportConnectProgress, \"REPORT_CONNECT_PROGRESS\", 0);\n#include <sys/time.h>\n\nncclResult_t ncclTransportP2pSetup(struct ncclComm* comm, struct ncclTopoGraph* graph, int connIndex, int* highestTransportType/*=NULL*/, bool* needsProxy/*=NULL*/) {\n  // Stream used during transport setup; need for P2P pre-connect + CUDA Graph\n  ncclResult_t ret = ncclSuccess;\n  int highestType = TRANSPORT_P2P;  // track highest transport type\n  bool needsProxyResult = false;\n  struct ncclConnect** data; // Store intermediate send/recvData structs for connect\n  struct ncclConnect** recvData; // Points to entries inside data for given recv connection within a channel\n  struct ncclConnect** sendData; // Points to entries inside data for given send connection within a channel\n  int done = 0;\n\n  int maxPeers = ncclParamConnectRoundMaxPeers();\n  NCCLCHECK(ncclCalloc(&data, maxPeers));\n  NCCLCHECK(ncclCalloc(&recvData, maxPeers));\n  NCCLCHECK(ncclCalloc(&sendData, maxPeers));\n  //NCCLCHECKGOTO(ncclStrongStreamAcquireUncaptured(&comm->sharedRes->hostStream), ret, fail);\n  // First time initialization\n  for (int i=1; i<comm->nRanks; i++) {\n    int bootstrapTag = (i<<8) + (graph ? graph->id+1 : 0);\n    int recvPeer = (comm->rank - i + comm->nRanks) % comm->nRanks;\n    int sendPeer = (comm->rank + i) % comm->nRanks;\n    struct channelMasks recvMask = comm->connectRecv[recvPeer+comm->nRanks*(connIndex == NCCL_CONN_IDX_P2P_NET ? NCCL_CONN_IDX_P2P_NET : 0)];\n    struct channelMasks sendMask = comm->connectSend[sendPeer+comm->nRanks*(connIndex == NCCL_CONN_IDX_P2P_NET ? NCCL_CONN_IDX_P2P_NET : 0)];\n\n    // Data[i] contains all ncclConnect information for all send and receive connections with a given send and recv peer\n    // This data is packed in the array based on the number of sendChannels and recvChannels connected with these peers\n    // The first N entries contain recvData, connection information for recv connections\n    // The next M entries contain sendData, connection information for send connections\n    // It's not guaranteed that each entry of data has the same number of total or send/recv specific connections\n    int p = i-(done+1);\n    uint64_t recvMaskBits = 0, sendMaskBits = 0;\n    for (int i = 0; i < MAXCHANNELS/64; i++) {\n      recvMaskBits |= recvMask.masks[i];\n      sendMaskBits |= sendMask.masks[i];\n    }\n    if (recvMaskBits || sendMaskBits) NCCLCHECK(ncclCalloc(data+p, 2*MAXCHANNELS));\n    recvData[p] = data[p];\n    int sendChannels = 0, recvChannels = 0;\n    int type;\n    bool proxy;\n    TIME_START(0);\n    for (int c=0; c<MAXCHANNELS; c++) {\n      if (recvMask.masks[c/64] & (1UL<<(c%64))) {\n        NCCLCHECKGOTO(selectTransport<0>(comm, graph, recvData[p]+recvChannels++, c, recvPeer, connIndex, &type, &proxy), ret, fail);\n        if (type > highestType) highestType = type;\n      }\n    }\n    TIME_STOP(0);\n    TIME_START(1);\n    sendData[p] = recvData[p]+recvChannels;\n    for (int c=0; c<MAXCHANNELS; c++) {\n      if (sendMask.masks[c/64] & (1UL<<(c%64))) {\n        NCCLCHECKGOTO(selectTransport<1>(comm, graph, sendData[p]+sendChannels++, c, sendPeer, connIndex, &type, &proxy), ret, fail);\n        if (type > highestType) highestType = type;\n        needsProxyResult |= proxy;\n      }\n    }\n    TIME_STOP(1);\n\n    TIME_START(2);\n    if (sendPeer == recvPeer) {\n      if (recvChannels+sendChannels) {\n        //NCCLCHECKGOTO(bootstrapSend(comm->bootstrap, recvPeer, bootstrapTag, data[i], sizeof(struct ncclConnect)*(recvChannels+sendChannels)), ret, fail);\n        //NCCLCHECKGOTO(bootstrapRecv(comm->bootstrap, recvPeer, bootstrapTag, data[i], sizeof(struct ncclConnect)*(recvChannels+sendChannels)), ret, fail);\n        sendData[p] = data[p];\n        recvData[p] = data[p]+sendChannels;\n      }\n    } else {\n      //if (recvChannels) NCCLCHECKGOTO(bootstrapSend(comm->bootstrap, recvPeer, bootstrapTag, recvData[i], sizeof(struct ncclConnect)*recvChannels), ret, fail);\n      //if (sendChannels) NCCLCHECKGOTO(bootstrapSend(comm->bootstrap, sendPeer, bootstrapTag, sendData[i], sizeof(struct ncclConnect)*sendChannels), ret, fail);\n      //if (sendChannels) NCCLCHECKGOTO(bootstrapRecv(comm->bootstrap, sendPeer, bootstrapTag, sendData[i], sizeof(struct ncclConnect)*sendChannels), ret, fail);\n      //if (recvChannels) NCCLCHECKGOTO(bootstrapRecv(comm->bootstrap, recvPeer, bootstrapTag, recvData[i], sizeof(struct ncclConnect)*recvChannels), ret, fail);\n    }\n    TIME_STOP(2);\n\n    if (i-done == maxPeers || i == comm->nRanks-1) {\n      // Loop until all channels with all ranks have been connected\n      bool allChannelsConnected;\n      allChannelsConnected = false;\n      while (!allChannelsConnected) {\n        allChannelsConnected = true;\n        for (int j=done+1; j<=i; j++) {\n          int recvPeer = (comm->rank - j + comm->nRanks) % comm->nRanks;\n          int sendPeer = (comm->rank + j) % comm->nRanks;\n          struct channelMasks recvMask = comm->connectRecv[recvPeer+comm->nRanks*(connIndex == NCCL_CONN_IDX_P2P_NET ? NCCL_CONN_IDX_P2P_NET : 0)];\n          struct channelMasks sendMask = comm->connectSend[sendPeer+comm->nRanks*(connIndex == NCCL_CONN_IDX_P2P_NET ? NCCL_CONN_IDX_P2P_NET : 0)];\n\n          int p = j-(done+1);\n          int sendDataOffset = 0;\n          int recvDataOffset = 0;\n          for (int c=0; c<MAXCHANNELS; c++) {\n            TIME_START(3);\n            if (sendMask.masks[c/64] & (1UL<<(c%64))) {\n              struct ncclConnector* conn = comm->channels[c].peers[sendPeer]->send + connIndex;\n              // This connector hasn't completed connection yet\n              if (conn->connected == 0) {\n                //NCCLCHECKGOTO(conn->transportComm->connect(comm, sendData[p] + sendDataOffset++, 1, comm->rank, conn), ret, fail);\n                if (ret == ncclSuccess) {\n                  conn->connected = 1;\n                  /* comm->channels[c].devPeers[sendPeer]->send[connIndex] is a device memory access. */\n                  //CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[sendPeer]->send[connIndex], &conn->conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, comm->sharedRes->hostStream.cudaStream), ret, fail);\n                } else if (ret == ncclInProgress) {\n                  allChannelsConnected = false;\n                }\n              }\n            }\n            TIME_STOP(3);\n\n            // Start with recv channels\n            TIME_START(4);\n            if (recvMask.masks[c/64] & (1UL<<(c%64))) {\n              struct ncclConnector* conn = comm->channels[c].peers[recvPeer]->recv + connIndex;\n              // This connector hasn't completed connection yet\n              if (conn->connected == 0) {\n                //NCCLCHECKGOTO(conn->transportComm->connect(comm, recvData[p] + recvDataOffset++, 1, comm->rank, conn), ret, fail);\n                if (ret == ncclSuccess) {\n                  conn->connected = 1;\n                  /* comm->channels[c].devPeers[recvPeer]->recv[connIndex] is a device memory access. */\n                  //CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[recvPeer]->recv[connIndex], &conn->conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, comm->sharedRes->hostStream.cudaStream), ret, fail);\n                } else if (ret == ncclInProgress) {\n                  allChannelsConnected = false;\n                }\n              }\n            }\n            TIME_STOP(4);\n          }\n          if (sendMaskBits || recvMaskBits) {\n            free(data[p]);\n            data[p] = NULL;\n          }\n        }\n      }\n      done = i;\n    }\n  }\n\n\n  /* We need to sync ranks here since some ranks might run too fast after connection setup\n   * and start to destroy the connection after returning from this function; however, the\n   * others might still be trying to connect and import the buffer. No sync can lead to invalid\n   * shmem/cuda buffer. In addition, we also clear all connect masks and free each connectInfo array */\n  for (int i = 1; i < comm->nRanks; i++) {\n    int bootstrapTag = (i << 8) + (graph ? graph->id + 1 : 0);\n    int recvPeer = (comm->rank - i + comm->nRanks) % comm->nRanks;\n    int sendPeer = (comm->rank + i) % comm->nRanks;\n    int flag = 0;\n\n    /*if (recvPeer != sendPeer) {\n      if (comm->connectSend[sendPeer] != 0UL)\n        NCCLCHECKGOTO(bootstrapSend(comm->bootstrap, sendPeer, bootstrapTag, &flag, sizeof(int)), ret, fail);\n      if (comm->connectRecv[recvPeer] != 0UL)\n        NCCLCHECKGOTO(bootstrapSend(comm->bootstrap, recvPeer, bootstrapTag, &flag, sizeof(int)), ret, fail);\n\n      if (comm->connectSend[sendPeer] != 0UL)\n        NCCLCHECKGOTO(bootstrapRecv(comm->bootstrap, sendPeer, bootstrapTag, &flag, sizeof(int)), ret, fail);\n      if (comm->connectRecv[recvPeer] != 0UL)\n        NCCLCHECKGOTO(bootstrapRecv(comm->bootstrap, recvPeer, bootstrapTag, &flag, sizeof(int)), ret, fail);\n    } else {\n      if (comm->connectSend[sendPeer] != 0UL || comm->connectRecv[recvPeer] != 0UL) {\n        NCCLCHECKGOTO(bootstrapSend(comm->bootstrap, sendPeer, bootstrapTag, &flag, sizeof(int)), ret, fail);\n        NCCLCHECKGOTO(bootstrapRecv(comm->bootstrap, sendPeer, bootstrapTag, &flag, sizeof(int)), ret, fail);\n      }\n    }*/\n    for (int j = 0; j<MAXCHANNELS/64; j++)\n      comm->connectRecv[recvPeer+comm->nRanks*(connIndex == NCCL_CONN_IDX_P2P_NET ? NCCL_CONN_IDX_P2P_NET : 0)].masks[j] = comm->connectSend[sendPeer+comm->nRanks*(connIndex == NCCL_CONN_IDX_P2P_NET ? NCCL_CONN_IDX_P2P_NET : 0)].masks[j] = 0UL;\n  }\n\n  free(data);\n  free(sendData);\n  free(recvData);\n\n  if (highestTransportType != NULL) *highestTransportType = highestType;\n  if (needsProxy != NULL) *needsProxy = needsProxyResult;\n  TIME_PRINT(\"P2P Setup/Connect\");\nexit:\n  //NCCLCHECK(ncclStrongStreamWaitStream(ncclCudaGraphNone(), &comm->sharedRes->deviceStream, &comm->sharedRes->hostStream));\n  //NCCLCHECK(ncclStrongStreamRelease(ncclCudaGraphNone(), &comm->sharedRes->hostStream));\n  return ret;\nfail:\n  goto exit;\n}\n\nextern struct ncclTransport collNetTransport;\n\n// All ranks must participate in collNetSetup call\n// We do not NCCLCHECK this call because we would fall back to P2P network in case CollNet setup fails\nint ncclTransportCollNetSetup(struct ncclComm* comm, struct ncclTopoGraph* collNetGraph, struct ncclChannel* channel, int masterRank, int masterPeer, int collNetGraphChannelId, int type) {\n  int fail = 1;\n  int rank = comm->rank;\n  int nranks = comm->nRanks;\n  int nMasters = comm->nNodes;\n  int rankInCollNet = -1;\n  int isMaster = (rank == masterRank) ? 1 : 0;\n  struct {\n    int collNetRank;\n    ncclConnect connect;\n  } sendrecvExchange;\n\n  // check if we can connect to collnet, whose root is the nranks-th rank\n  struct ncclPeerInfo *myInfo = comm->peerInfo+rank, *peerInfo = comm->peerInfo+nranks;\n  peerInfo->rank = nranks;\n\n  // send master receives connect info from peer recv master\n  if (isMaster && type == collNetSend) {\n    //NCCLCHECK(bootstrapRecv(comm->bootstrap, masterPeer, collNetGraph->id, &sendrecvExchange, sizeof(sendrecvExchange)));\n    rankInCollNet = sendrecvExchange.collNetRank;\n    TRACE(NCCL_INIT, \"CollNet [send] : rank %d collNetRank %d collNetNranks %d received connect from rank %d\", rank, rankInCollNet, nMasters, masterPeer);\n  }\n\n  // select\n  struct ncclChannelPeer* root = channel->peers[nranks];\n  // connector index: 0 for recv, 1 for send\n  struct ncclConnector* conn = (type == collNetRecv) ? root->recv+type : root->send+type;\n  struct ncclTransportComm* transportComm = (type == collNetRecv) ? &(collNetTransport.recv) : &(collNetTransport.send);\n  conn->transportComm = transportComm;\n  // setup\n  struct ncclConnect myConnect;\n  if (isMaster) {\n    NCCLCHECK(transportComm->setup(comm, collNetGraph, myInfo, peerInfo, &myConnect, conn, collNetGraphChannelId, type));\n  }\n  // prepare connect handles\n  ncclResult_t res;\n  struct {\n    int isMaster;\n    ncclConnect connect;\n  } *allConnects = NULL;\n  ncclConnect *masterConnects = NULL;\n  NCCLCHECK(ncclCalloc(&masterConnects, nMasters));\n  if (type == collNetRecv) {  // recv side: AllGather\n    // all ranks must participate\n    NCCLCHECK(ncclCalloc(&allConnects, nranks));\n    allConnects[rank].isMaster = isMaster;\n    memcpy(&(allConnects[rank].connect), &myConnect, sizeof(struct ncclConnect));\n    //NCCLCHECKGOTO(bootstrapAllGather(comm->bootstrap, allConnects, sizeof(*allConnects)), res, cleanup);\n    // consolidate\n    int c = 0;\n    for (int r = 0; r < nranks; r++) {\n      if (allConnects[r].isMaster) {\n        memcpy(masterConnects+c, &(allConnects[r].connect), sizeof(struct ncclConnect));\n        if (r == rank) rankInCollNet = c;\n        c++;\n      }\n    }\n  } else { // send side : copy in connect info received from peer recv master\n    //if (isMaster) memcpy(masterConnects+rankInCollNet, &(sendrecvExchange.connect), sizeof(struct ncclConnect));\n  }\n  // connect\n  if (isMaster) {\n    NCCLCHECKGOTO(transportComm->connect(comm, masterConnects, nMasters, rankInCollNet, conn), res, cleanup);\n    struct ncclDevChannelPeer* devRoot;\n    //CUDACHECKGOTO(cudaMemcpy(&devRoot, channel->devPeers + nranks, sizeof(struct ncclDevChannelPeer*), cudaMemcpyDeviceToHost), res, cleanup);\n    struct ncclConnInfo* devConnInfo = (type == collNetRecv) ? devRoot->recv + type : devRoot->send + type;\n    //CUDACHECKGOTO(cudaMemcpy(devConnInfo, &conn->conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice), res, cleanup);\n  }\n  // recv side sends connect info to send side\n  if (isMaster && type == collNetRecv) {\n    sendrecvExchange.collNetRank = rankInCollNet;\n    //memcpy(&sendrecvExchange.connect, masterConnects+rankInCollNet, sizeof(struct ncclConnect));\n    //NCCLCHECKGOTO(bootstrapSend(comm->bootstrap, masterPeer, collNetGraph->id, &sendrecvExchange, sizeof(sendrecvExchange)), res, cleanup);\n    TRACE(NCCL_INIT, \"CollNet [recv] : rank %d collNetRank %d collNetNranks %d sent connect to rank %d\", rank, rankInCollNet, nMasters, masterPeer);\n  }\n  fail = 0;\ncleanup:\n  if (allConnects != NULL) free(allConnects);\n  if (masterConnects != NULL) free(masterConnects);\n  return fail;\n}\n\nncclResult_t ncclTransportCollNetCheck(struct ncclComm* comm, int collNetSetupFail) {\n  // AllGather collNet setup results\n  int allGatherFailures[NCCL_MAX_LOCAL_RANKS] = {0};\n  allGatherFailures[comm->localRank] = collNetSetupFail;\n  //NCCLCHECK(bootstrapIntraNodeAllGather(comm->bootstrap, comm->localRankToRank, comm->localRank, comm->localRanks, allGatherFailures, sizeof(int)));\n  for (int i=0; i<comm->localRanks; i++) {\n    if (allGatherFailures[i] != 0) {\n      collNetSetupFail = 1;\n      break;\n    }\n  }\n  if (collNetSetupFail) {\n    if (comm->localRank == 0) WARN(\"Cannot initialize CollNet, using point-to-point network instead\");\n    return ncclSystemError;\n  }\n  return ncclSuccess;\n}\n\nncclResult_t ncclTransportCollNetFree(struct ncclComm* comm) {\n  // Free collNet resources\n  for (int r=0; r<comm->nChannels; r++) {\n    struct ncclChannel* channel = comm->channels+r;\n    struct ncclChannelPeer* peer = channel->peers[comm->nRanks];\n    if (peer) {\n      if (ncclAtomicRefCountDecrement(&peer->refCount) == 0) {\n        for (int b=0; b<NCCL_MAX_CONNS; b++) {\n          struct ncclConnector* send = peer->send + b;\n          if (send->transportResources && send->transportComm) NCCLCHECK(send->transportComm->free(send));\n          send->transportResources = NULL; // avoid double free\n        }\n        for (int b=0; b<NCCL_MAX_CONNS; b++) {\n          struct ncclConnector* recv = peer->recv + b;\n          if (recv->transportResources && recv->transportComm) NCCLCHECK(recv->transportComm->free(recv));\n          recv->transportResources = NULL; // avoid double free\n        }\n      }\n    }\n  }\n  return ncclSuccess;\n}\n\nncclResult_t initTransportsRank_1(struct ncclComm* comm, struct allGatherInfo *allGather3Data,\n  struct ncclTopoGraph& treeGraph, struct ncclTopoGraph& ringGraph, struct ncclTopoGraph& collNetGraph, struct ncclTopoGraph& nvlsGraph, struct ncclComm* parent) {\n  // We use 2 AllGathers\n  // 1. { peerInfo, comm, compCap}\n  // 2. { nChannels, graphInfo, topoRanks }\n  ncclResult_t ret = ncclSuccess;\n  int rank = comm->rank;\n  int nranks = comm->nRanks;\n  cpu_set_t affinitySave;\n  //struct ncclTopoGraph ringGraph;\n  //struct ncclTopoGraph treeGraph;\n  //struct ncclTopoGraph collNetGraph;\n  //struct ncclTopoGraph nvlsGraph;\n  struct ncclTopoGraph* graphs[] = { &treeGraph, &ringGraph, &collNetGraph, &collNetGraph, &nvlsGraph, &nvlsGraph, &nvlsGraph};\n\n  int nChannelsOrig;\n  struct ncclTopoRanks** allTopoRanks = NULL;\n  int *nodesFirstRank = NULL, *nodesTreePatterns = NULL;\n  int *rings = NULL;\n  int* nvbPeers = NULL;\n  struct ncclProxyConnector proxyConn;\n  int* pxnPeers = NULL;\n  int *topParentLocalRanks = NULL;\n  int tpProxyRank;\n\n  // AllGather1 - begin\n  //NCCLCHECKGOTO(ncclCalloc(&comm->peerInfo, nranks+1), ret, fail); // Extra rank to represent CollNet root\n  //NCCLCHECKGOTO(fillInfo(comm, comm->peerInfo+rank, commHash), ret, fail);\n  //NCCLCHECKGOTO(bootstrapAllGather(comm->bootstrap, comm->peerInfo, sizeof(struct ncclPeerInfo)), ret, fail);\n\n  for (int i = 0; i < nranks; i++) {\n    if ((i != rank) && (comm->peerInfo[i].hostHash == comm->peerInfo[rank].hostHash) && (comm->peerInfo[i].busId == comm->peerInfo[rank].busId)) {\n      WARN(\"Duplicate GPU detected : rank %d and rank %d both on CUDA device %lx\", rank, i, comm->peerInfo[rank].busId);\n      ret = ncclInvalidUsage;\n      goto fail;\n    }\n  }\n  // AllGather1 - end\n\n  do {\n    // Compute intra-process ranks\n    int intraProcRank0 = -1, intraProcRank = -1, intraProcRanks = 0;\n    for (int i = 0; i < nranks; i++) comm->minCompCap = std::min(comm->minCompCap, comm->peerInfo[rank].cudaCompCap);\n    for (int i = 0; i < nranks; i++) comm->maxCompCap = std::max(comm->maxCompCap, comm->peerInfo[rank].cudaCompCap);\n    for (int i = 0; i < nranks; i++) {\n      if ((comm->peerInfo[i].hostHash == comm->peerInfo[rank].hostHash)\n          && (comm->peerInfo[i].pidHash == comm->peerInfo[rank].pidHash)) {\n        // Rank is in same process\n        if (intraProcRanks == 0) intraProcRank0 = i;\n        if (i == rank) intraProcRank = intraProcRanks;\n        intraProcRanks++;\n        if (intraProcRank0 == rank && rank != i) {\n          comm->peerInfo[i].comm->intraNext = comm->intraNext;\n          comm->intraNext = comm->peerInfo[i].comm;\n        }\n      }\n    }\n    TRACE(NCCL_INIT,\"pidHash[%d] %lx intraProcRank %d intraProcRanks %d intraProcRank0 %d\",\n        rank, comm->peerInfo[rank].pidHash, intraProcRank, intraProcRanks, intraProcRank0);\n    if (intraProcRank == -1 || intraProcRank0 == -1 || comm->peerInfo[intraProcRank0].comm == NULL) {\n      WARN(\"Failed to determine intra proc ranks rank %d hostHash %lx pidHash %lx intraProcRank %d intraProcRanks %d intraProcRank0 %d\",\n          rank, comm->peerInfo[rank].hostHash, comm->peerInfo[rank].pidHash,\n          intraProcRank, intraProcRanks, intraProcRank0);\n      ret = ncclInternalError;\n      goto fail;\n    }\n    struct ncclComm* comm0 = comm->peerInfo[intraProcRank0].comm;\n    assert(intraProcRank==0 ? comm==comm0 : true);\n    comm->intraComm0 = comm0;\n    comm->intraRank = intraProcRank;\n    comm->intraRanks = intraProcRanks;\n    comm->intraBarrierPhase = 0;\n    comm->intraBarrierCounter = 0;\n    comm->intraBarrierGate = 0;\n  } while(0);\n\n  // Topo detection / System graph creation\n  //NCCLCHECKGOTO(ncclTopoGetSystem(comm, &comm->topo), ret, fail);\n  // save nRanks to ncclTopoSystem as indicator of multi-node\n  comm->topo->nRanks = comm->nRanks;\n  // init netGdrLevel\n  comm->topo->netGdrLevel = -2;\n  // init Pivot A2A related fields\n  comm->topo->pivotA2AEnabled = false;\n  comm->topo->pivotA2ANumBiRings = 0;\n  // LL128\n  comm->topo->ll128Enabled = false;\n  // Topology hint for MSCCL internal scheduler about whether to enable MSCCL\n  comm->topo->mscclEnabled = false;\n  // Topology hint if tree has been defined by model or User\n  comm->topo->treeDefined = false;\n  // Compute paths between GPUs and NICs\n  NCCLCHECKGOTO(ncclTopoComputePaths(comm->topo, comm), ret, fail);\n  // Remove inaccessible GPUs and unused NICs\n  NCCLCHECKGOTO(ncclTopoTrimSystem(comm->topo, comm), ret, fail);\n  // Recompute paths after trimming\n  NCCLCHECKGOTO(ncclTopoComputePaths(comm->topo, comm), ret, fail);\n  // Init search\n  NCCLCHECKGOTO(ncclTopoSearchInit(comm->topo), ret, fail);\n  // Print final topology\n  NCCLCHECKGOTO(ncclTopoPrint(comm->topo), ret, fail);\n\n  // Set Affinity to a CPU local the our GPU, so that all memory we allocate\n  // on the host is local.\n  //NCCLCHECKGOTO(ncclTopoGetCpuAffinity(comm->topo, comm->rank, &comm->cpuAffinity), ret, fail);\n  //if (CPU_COUNT(&comm->cpuAffinity)) {\n  //  sched_getaffinity(0, sizeof(cpu_set_t), &affinitySave);\n  //  sched_setaffinity(0, sizeof(cpu_set_t), &comm->cpuAffinity);\n  //}\n\n  // Determine local CollNet support\n  if (collNetSupport(comm)) {\n    const char *collNetEnable = ncclGetEnv(\"NCCL_COLLNET_ENABLE\");\n    if (collNetEnable != NULL) {\n      INFO(NCCL_ALL, \"NCCL_COLLNET_ENABLE set by environment to %s.\", collNetEnable);\n      if (strcmp(collNetEnable, \"1\") == 0) {\n        comm->config.collnetEnable = 1;\n      }\n    }\n  }\n\n  // Determine local Nvls support\n  //NCCLCHECK(ncclNvlsInit(comm));\n\n  // [RCCL] Compute hostIdx (based on hostHash)\n  {\n    comm->topo->nHosts = 0;\n    for (int r = 0; r < nranks; r++) {\n      int isNewHost = 1;\n      // Check if this is the first time this hostname has been used\n      for (int i = 0; i < r && isNewHost; i++) {\n        if (comm->peerInfo[i].hostHash == comm->peerInfo[r].hostHash)\n          isNewHost = 0;\n      }\n      if (isNewHost)\n      {\n        // Check if this is the same hostname associated with this rank\n        if (comm->peerInfo[r].hostHash == comm->peerInfo[rank].hostHash)\n        {\n          comm->topo->hostIdx = comm->topo->nHosts;\n          printf(\"Rank %d is on host %d\\n\", rank, comm->topo->hostIdx);\n        }\n        comm->topo->nHosts++;\n      }\n    }\n  }\n\n  // Get rings and trees\n  ringGraph.id = 0;\n  ringGraph.pattern = NCCL_TOPO_PATTERN_RING;\n  ringGraph.minChannels = 1;\n  ringGraph.maxChannels = MAXCHANNELS/2;\n  NCCLCHECKGOTO(ncclTopoCompute(comm->topo, &ringGraph), ret, fail);\n  NCCLCHECKGOTO(ncclTopoPrintGraph(comm->topo, &ringGraph), ret, fail);\n\n  treeGraph.id = 1;\n  treeGraph.pattern = NCCL_TOPO_PATTERN_BALANCED_TREE;\n  treeGraph.collNet = 0;\n  treeGraph.minChannels = comm->topo->nodes[NET].count != 0 ? 1 : ringGraph.nChannels;\n  treeGraph.maxChannels = ringGraph.nChannels;\n  NCCLCHECKGOTO(ncclTopoCompute(comm->topo, &treeGraph), ret, fail);\n  NCCLCHECKGOTO(ncclTopoPrintGraph(comm->topo, &treeGraph), ret, fail);\n\n  collNetGraph.id = 2;\n  collNetGraph.pattern = NCCL_TOPO_PATTERN_TREE;\n  collNetGraph.collNet = 1;\n  collNetGraph.minChannels = collNetGraph.maxChannels = ringGraph.nChannels;\n  if (comm->config.collnetEnable) {\n    NCCLCHECKGOTO(ncclTopoCompute(comm->topo, &collNetGraph), ret, fail);\n    NCCLCHECKGOTO(ncclTopoPrintGraph(comm->topo, &collNetGraph), ret, fail);\n  }\n\n  nvlsGraph.id = 3;\n  nvlsGraph.pattern = NCCL_TOPO_PATTERN_NVLS;\n  nvlsGraph.minChannels = 1;\n  nvlsGraph.maxChannels = MAXCHANNELS;\n  if (comm->nvlsSupport) {\n    NCCLCHECKGOTO(ncclTopoCompute(comm->topo, &nvlsGraph), ret, fail);\n    NCCLCHECKGOTO(ncclTopoPrintGraph(comm->topo, &nvlsGraph), ret, fail);\n  }\n\n  bool allXgmi, hasPeerAccess;\n  allXgmi = true;\n  hasPeerAccess = true;\n  // Check that all the GPUs have peer access to one another and are XGMI connected\n  for (int i = 0; i < nranks && hasPeerAccess; i++) {\n    int cudaDev1 = comm->peerInfo[i].cudaDev;\n    for (int j = 0; j < nranks; j++) {\n      if (i == j) continue;\n      int cudaDev2 = comm->peerInfo[j].cudaDev;\n      int p2p;\n      if (hipDeviceCanAccessPeer(&p2p, cudaDev1, cudaDev2) != hipSuccess || !p2p)\n      {\n        hasPeerAccess = false;\n        break;\n      }\n\n      bool isXGMI;\n      // Limit to single intermediate GPU for enabling clique\n      NCCLCHECK(ncclTopoGetLinkType(comm->topo, i, j, &isXGMI, 1));\n      allXgmi &= isXGMI;\n    }\n  }\n  // Initialize num P2P LL buffers for this communicator\n  comm->allocP2pNetLLBuffers = ncclParamAllocP2pNetLLBuffers() == 1;\n\n  if (comm->rank == ncclParamGraphDumpFileRank()) {\n    struct ncclTopoGraph* dumpGraphs[4] = { &ringGraph, &treeGraph, &collNetGraph, &nvlsGraph };\n    NCCLCHECKGOTO(ncclTopoDumpGraphs(comm->topo, 4, dumpGraphs), ret, fail);\n  }\n\n  if ((comm->topo->type & RCCL_TOPO_4P2H_ROME) && (comm->topo->type & RCCL_TOPO_GDR_ALL)) {\n    if (rcclParamP2pNetDisable() == 0) {\n      if (!(comm->topo->type & RCCL_TOPO_FORCE_INTRA)) comm->p2pNet = 1;\n      INFO(NCCL_INIT, \"RCCL enabled same node P2P over network\");\n    }\n    else\n      INFO(NCCL_INIT, \"RCCL force disabled same node P2P over network\");\n  }\n  // AllGather3 - begin\n  //NCCLCHECKGOTO(ncclCalloc(&allGather3Data, nranks), ret, fail);\n  int idx;\n  NCCLCHECK(ncclTopoIdToIndex(comm->topo, GPU, comm->busId, &idx));\n  allGather3Data[rank].nc = 2;\n  if (comm->topo->nodes[GPU].count == comm->topo->nRanks &&\n      IsArchMatch(comm->topo->nodes[GPU].nodes[idx].gpu.gcn, \"gfx906\") && allXgmi)\n    allGather3Data[rank].nc = 4;\n  if (IsArchMatch(comm->topo->nodes[GPU].nodes[idx].gpu.gcn, \"gfx908\"))\n    allGather3Data[rank].nc = std::max(4/ringGraph.nChannels, 2);\n  if (comm->topo->nodes[GPU].count == comm->topo->nRanks &&\n       (comm->topo->type & RCCL_TOPO_CR8G))\n    allGather3Data[rank].nc = 4;\n  if (comm->topo->nodes[GPU].count == comm->topo->nRanks &&\n      IsArchMatch(comm->topo->nodes[GPU].nodes[idx].gpu.gcn, \"gfx90a\"))\n    allGather3Data[rank].nc = 4;\n  if (IsArchMatch(comm->topo->nodes[GPU].nodes[idx].gpu.gcn, \"gfx90a\"))\n    allGather3Data[rank].nc = std::max(allGather3Data[rank].nc, 4/ringGraph.nChannels);\n  if (ringGraph.nChannels > MAXCHANNELS/2)\n    allGather3Data[rank].nc = 1;\n  allGather3Data[rank].pivotA2AEnabled = comm->topo->pivotA2AEnabled && rcclParamPivotAlltoallEnable();\n  comm->topo->ll128Enabled =  comm->topo->ll128Enabled || rcclParamLL128ForceEnable();\n  allGather3Data[rank].ll128Enabled = comm->topo->ll128Enabled;\n  allGather3Data[rank].mscclEnabled = comm->topo->mscclEnabled;\n\n  for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) {\n    allGather3Data[rank].graphInfo[a].pattern = graphs[a]->pattern;\n    allGather3Data[rank].graphInfo[a].nChannels = graphs[a]->nChannels;\n    allGather3Data[rank].graphInfo[a].sameChannels = graphs[a]->sameChannels;\n    allGather3Data[rank].graphInfo[a].bwIntra = graphs[a]->bwIntra;\n    allGather3Data[rank].graphInfo[a].bwInter = graphs[a]->bwInter;\n    allGather3Data[rank].graphInfo[a].typeIntra = graphs[a]->typeIntra;\n    allGather3Data[rank].graphInfo[a].typeInter = graphs[a]->typeInter;\n  }\n\n  comm->nChannels = std::min(treeGraph.nChannels, ringGraph.nChannels);\n  TRACE(NCCL_INIT,\"treeGraph.nChannels: %d , ringGraph.nChannels: %d\", treeGraph.nChannels, ringGraph.nChannels);\n  NCCLCHECKGOTO(ncclTopoPreset(comm, graphs, &allGather3Data[rank].topoRanks), ret, fail);\nfail:\n  return ret;\n}\n\nncclResult_t initTransportsRank_3(struct ncclComm* comm, struct allGatherInfo *allGather3Data,\n  struct ncclTopoGraph& treeGraph, struct ncclTopoGraph& ringGraph, struct ncclTopoGraph& collNetGraph, struct ncclTopoGraph& nvlsGraph) {\n  ncclResult_t ret = ncclSuccess;\n  int rank = comm->rank;\n  int nranks = comm->nRanks;\n  cpu_set_t affinitySave;\n\n  struct ncclTopoGraph* graphs[] = { &treeGraph, &ringGraph, &collNetGraph, &collNetGraph, &nvlsGraph, &nvlsGraph, &nvlsGraph};\n\n  int nChannelsOrig;\n  struct ncclTopoRanks** allTopoRanks = NULL;\n  int *nodesFirstRank = NULL, *nodesTreePatterns = NULL;\n  int *rings = NULL;\n  int* nvbPeers = NULL;\n  struct ncclProxyConnector proxyConn;\n  int* pxnPeers = NULL;\n  int *topParentLocalRanks = NULL;\n  int tpProxyRank;\n\n  int highestTransportType = TRANSPORT_P2P;\n  bool needsProxy = false;\n  //NCCLCHECKGOTO(bootstrapAllGather(comm->bootstrap, allGather3Data, sizeof(*allGather3Data)), ret, fail);\n\n  // Determine nNodes, firstRanks, ...\n  NCCLCHECKGOTO(ncclCalloc(&nodesFirstRank, nranks), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&nodesTreePatterns, nranks), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&comm->rankToNode, comm->nRanks), ret, fail);\n  for (int r=0; r<nranks; r++) {\n    int node;\n    int firstRank = allGather3Data[r].topoRanks.ringRecv[0];\n    for (node=0; node<comm->nNodes && nodesFirstRank[node] != firstRank; node++);\n    if (node == comm->nNodes) {\n      comm->nNodes++;\n      nodesFirstRank[node] = firstRank;\n      // Record tree pattern of each node as they can be different depending on sm arch\n      nodesTreePatterns[node] = allGather3Data[r].graphInfo[NCCL_ALGO_TREE].pattern;\n    }\n    comm->rankToNode[r] = node;\n  }\n  // Now that we know nNodes, alloc nodeRanks and compute localRanks for each node\n  NCCLCHECKGOTO(ncclCalloc(&comm->nodeRanks, comm->nNodes), ret, fail);\n  NCCLCHECKGOTO(ncclCalloc(&comm->rankToLocalRank, comm->nRanks), ret, fail);\n  for (int r=0; r<comm->nRanks; r++) {\n    int node = comm->rankToNode[r];\n    comm->rankToLocalRank[r] = comm->nodeRanks[node].localRanks;\n    comm->nodeRanks[node].localRanks++;\n  }\n  // Allocate ranks arrays for each node\n  for (int n=0; n<comm->nNodes; n++) {\n    NCCLCHECKGOTO(ncclCalloc(&comm->nodeRanks[n].localRankToRank, comm->nodeRanks[n].localRanks), ret, fail);\n    comm->maxLocalRanks = std::max(comm->maxLocalRanks, comm->nodeRanks[n].localRanks);\n    comm->nodeRanks[n].localRanks = 0;\n  }\n  // And fill the ranks arrays\n  for (int r=0; r<comm->nRanks; r++) {\n    int node = comm->rankToNode[r];\n    comm->nodeRanks[node].localRankToRank[comm->nodeRanks[node].localRanks++] = r;\n  }\n  comm->node = comm->rankToNode[rank];\n  comm->localRankToRank = comm->nodeRanks[comm->node].localRankToRank;\n  comm->localRank = comm->rankToLocalRank[rank];\n  comm->localRanks = comm->nodeRanks[comm->node].localRanks;\n\n  TRACE(NCCL_INIT,\"hostHash[%d] %lx localRank %d localRanks %d localRank0 %d\",\n        rank, comm->peerInfo[rank].hostHash, comm->localRank, comm->localRanks, comm->localRankToRank[0]);\n  if (comm->localRank == -1 || comm->localRankToRank[0] == -1 || comm->localRanks == 0) {\n    WARN(\"Failed to determine local ranks rank %d hostHash %lx pidHash %lx localRank %d localRanks %d localRank0 %d\",\n         rank, comm->peerInfo[rank].hostHash, comm->peerInfo[rank].pidHash,\n         comm->localRank, comm->localRanks, comm->localRankToRank[0]);\n    ret = ncclInternalError;\n    goto fail;\n  }\n\n  nChannelsOrig = comm->nChannels;\n  NCCLCHECKGOTO(ncclCalloc(&allTopoRanks, comm->nRanks), ret, fail);\n  int nc;\n  nc = allGather3Data[0].nc;\n  for (int i=0; i<nranks; i++) {\n    allTopoRanks[i] = &allGather3Data[i].topoRanks;\n    nc = std::min(allGather3Data[i].nc, nc);\n    // Make sure we align all ranks so that the tuning is consistent across ranks\n    comm->topo->pivotA2AEnabled = comm->topo->pivotA2AEnabled && allGather3Data[i].pivotA2AEnabled;\n    comm->topo->ll128Enabled = comm->topo->ll128Enabled && allGather3Data[i].ll128Enabled;\n    comm->topo->mscclEnabled = comm->topo->mscclEnabled && allGather3Data[i].mscclEnabled;\n    for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) {\n      graphs[a]->nChannels = std::min(allGather3Data[i].graphInfo[a].nChannels, graphs[a]->nChannels);\n      graphs[a]->sameChannels = std::min(allGather3Data[i].graphInfo[a].sameChannels, graphs[a]->sameChannels);\n      graphs[a]->bwIntra = std::min(allGather3Data[i].graphInfo[a].bwIntra, graphs[a]->bwIntra);\n      graphs[a]->bwInter = std::min(allGather3Data[i].graphInfo[a].bwInter, graphs[a]->bwInter);\n      graphs[a]->typeIntra = std::max(allGather3Data[i].graphInfo[a].typeIntra, graphs[a]->typeIntra);\n      graphs[a]->typeInter = std::max(allGather3Data[i].graphInfo[a].typeInter, graphs[a]->typeInter);\n    }\n    if (graphs[NCCL_ALGO_COLLNET_CHAIN]->nChannels == 0) comm->config.collnetEnable = 0;\n    if (graphs[NCCL_ALGO_NVLS]->nChannels == 0) comm->nvlsSupport = 0;\n  }\n\n  comm->nChannels = treeGraph.nChannels = ringGraph.nChannels =\n    (comm->topo->nodes[GPU].count != comm->topo->nRanks && comm->topo->nodes[NET].count)\n    ? std::min(treeGraph.nChannels, ringGraph.nChannels) : ringGraph.nChannels;\n  if (comm->nChannels < nChannelsOrig) {\n    // We started duplicating channels during Preset(), so we need to move the\n    // duplicated channels since we have removed some.\n    for (int i=0; i<comm->nChannels; i++) memcpy(comm->channels+comm->nChannels+i, comm->channels+nChannelsOrig+i, sizeof(struct ncclChannel));\n  }\n\n  // Determine CollNet support after all-gather now that we know nNodes and each node localRanks\n  if (comm->config.collnetEnable == 1) {\n    int collNetNodeThreshold = ncclParamCollNetNodeThreshold();\n    if (comm->nNodes < collNetNodeThreshold) {\n      INFO(NCCL_INIT, \"Communicator has %d nodes which is less than CollNet node threshold %d, disabling CollNet\", comm->nNodes, collNetNodeThreshold);\n      comm->config.collnetEnable = 0;\n    }\n    for (int n=0; n<comm->nNodes; n++) {\n      if (comm->nodeRanks[n].localRanks > NCCL_MAX_DIRECT_ARITY+1) {\n        WARN(\"CollNet currently only supports up to %d GPUs per node, disabling CollNet\", NCCL_MAX_DIRECT_ARITY+1);\n        comm->config.collnetEnable = 0;\n        break;\n      }\n    }\n  }\n\n  NCCLCHECKGOTO(ncclCalloc(&rings, nranks*MAXCHANNELS), ret, fail);\n  TRACE(NCCL_INIT, \"rank %d nranks %d nchannels %d\", rank, nranks, comm->nChannels);\n\n  NCCLCHECKGOTO(ncclTopoPostset(comm, nodesFirstRank, nodesTreePatterns, allTopoRanks, rings, graphs, NULL, nc), ret, fail);\n  if (comm->topo->treeDefined) NCCLCHECK(ncclTreeBasePostset(comm, &treeGraph));\n\n  // AllGather3 - end\n\n  TRACE(NCCL_INIT, \"rank %d nranks %d - BUILT %d TREES/RINGS\", rank, nranks, comm->nChannels);\n\n  char line[4096];\n  line[0]='\\0';\n  for (int c=0; c<comm->nChannels; c++) {\n    struct ncclTree* tree = &comm->channels[c].tree;\n    snprintf(line+strlen(line), 2047-strlen(line), \" [%d] %d/%d/%d->%d->%d\",\n        c, tree->down[0], tree->down[1], tree->down[2], rank, tree->up);\n    INFO(NCCL_GRAPH, \"Ring %d : %d -> %d -> %d comm %p nRanks %02d busId %lx\", c, comm->channels[c].ring.prev,\n         comm->rank, comm->channels[c].ring.next, comm, comm->nRanks, comm->busId);\n  }\n  line[4095] = '\\0';\n  INFO(NCCL_INIT, \"Trees%s comm %p nRanks %02d busId %lx\", line, comm, comm->nRanks, comm->busId);\n\n  //NCCLCHECKGOTO(computeBuffSizes(comm), ret, fail);\n\n  // Compute nChannels per peer for p2p\n  NCCLCHECKGOTO(ncclTopoComputeP2pChannels(comm), ret, fail);\n\n  /* until now, all info of comm should be known. We can initialize shared resources and\n   * map localRanks to top parent local ranks. NOTE: this shareRes init must be put before\n   * all proxy operations. */\n  if (comm->sharedRes->owner == comm) {\n    comm->sharedRes->tpNLocalRanks = comm->localRanks;\n    comm->sharedRes->magic = comm->magic;\n    comm->sharedRes->tpNChannels = comm->nChannels;\n    comm->sharedRes->tpP2pNChannels = comm->p2pnChannels;\n    memcpy(comm->sharedRes->tpRankToLocalRank, comm->rankToLocalRank, sizeof(int) * comm->nRanks);\n  }\n  NCCLCHECKGOTO(ncclCalloc(&topParentLocalRanks, comm->localRanks), ret, fail);\n  for (int i = 0; i < comm->localRanks; ++i) {\n    int tpRank = comm->topParentRanks[comm->localRankToRank[i]];\n    topParentLocalRanks[i] = comm->sharedRes->tpRankToLocalRank[tpRank];\n  }\n  comm->topParentLocalRanks = topParentLocalRanks;\n\n  // Launch proxy service thread, after this, the proxy calls can be used.\n  //NCCLCHECKGOTO(ncclProxyCreate(comm), ret, fail);\n\n  // Connect with prev/next for each ring\n  for (int c=0; c<comm->nChannels; c++) {\n    struct ncclChannel* channel = comm->channels+c;\n    NCCLCHECKGOTO(setupChannel(comm, c, rank, nranks, rings+c*nranks), ret, fail);\n    if (comm->nRanks == 1) continue;\n    NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, 1, &channel->ring.prev, 1, &channel->ring.next, 0), ret, fail);\n  }\n  NCCLCHECKGOTO(ncclTransportP2pSetup(comm, &ringGraph, 0, &highestTransportType, &needsProxy), ret, fail);\n  if (ringGraph.nIntraChannels && rcclParamP2pNetDisable() == 0) {\n    comm->useIntraNet = 1;\n    // Connect NET for intranode use\n    for (int c=0; c<comm->nChannels; c++) {\n      struct ncclChannel* channel = comm->channels+c;\n      if (comm->nRanks == 1) continue;\n      NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, 1, &channel->ring.prev, 1, &channel->ring.next, NCCL_CONN_IDX_P2P_NET), ret, fail);\n    }\n    NCCLCHECKGOTO(ncclTransportP2pSetup(comm, &ringGraph, NCCL_CONN_IDX_P2P_NET, &highestTransportType, &needsProxy), ret, fail);\n  }\n  INFO(NCCL_INIT, \"Connected all rings\");\n\n  // Connect Trees\n  for (int c=0; c<comm->nChannels; c++) {\n    struct ncclChannel* channel = comm->channels+c;\n    if (comm->nRanks == 1) continue;\n    NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, NCCL_MAX_TREE_ARITY, channel->tree.down, 1, &channel->tree.up, 0), ret, fail);\n    NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, 1, &channel->tree.up, NCCL_MAX_TREE_ARITY, channel->tree.down, 0), ret, fail);\n  }\n  NCCLCHECKGOTO(ncclTransportP2pSetup(comm, &treeGraph, 0, &highestTransportType, &needsProxy), ret, fail);\n  INFO(NCCL_INIT, \"Connected all trees\");\n\n#if 0\n  // Setup NVLS\n  NCCLCHECKGOTO(ncclNvlsSetup(comm, parent), ret, fail);\n  // And NVLS trees if needed\n  if (comm->nvlsSupport && comm->localRanks > 1) {\n    for (int c=0; c<comm->nvlsChannels; c++) {\n      struct ncclChannel* channel = comm->channels+c;\n      NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, NCCL_MAX_NVLS_TREE_ARITY, channel->nvls.treeDown, 1, &channel->nvls.treeUp, 0), ret, fail);\n      NCCLCHECKGOTO(ncclTransportP2pConnect(comm, c, 1, &channel->nvls.treeUp, NCCL_MAX_NVLS_TREE_ARITY, channel->nvls.treeDown, 0), ret, fail);\n    }\n    NCCLCHECKGOTO(ncclTransportP2pSetup(comm, &nvlsGraph, 0), ret, fail);\n    INFO(NCCL_INIT, \"Connected NVLS tree\");\n  }\n#endif\n#if CUDART_VERSION >= 12010\n  // Check if we can setup CollNet\n  if (comm->config.collnetEnable > 0) collNetTrySetup(comm, parent, &collNetGraph);\n#endif\n\n  TRACE(NCCL_INIT, \"rank %d nranks %d - CONNECTED %d RINGS AND TREES\", rank, nranks, comm->nChannels);\n\n  // Compute time models for algorithm and protocol combinations\n  NCCLCHECKGOTO(ncclTopoTuneModel(comm, comm->minCompCap, comm->maxCompCap, graphs), ret, fail);\n\n  INFO(NCCL_INIT, \"%d coll channels, %d nvls channels, %d p2p channels, %d p2p channels per peer\", comm->nChannels, comm->nvlsChannels, comm->p2pnChannels, comm->p2pnChannelsPerPeer);\n\n#if 0\n  do { // Setup p2p structures in comm->tasks\n    struct ncclTasks* tasks = &comm->tasks;\n    int node = comm->node;\n    int nNodes = comm->nNodes;\n    struct ncclNodeRanks *nodeRanks = comm->nodeRanks;\n    int localRank = comm->localRank;\n    // We want to fuse along node boundaries. Make sure nsteps is a multiple or divides 8.\n    int steps = ALIGN_POWER(comm->maxLocalRanks, NCCL_MAX_WORK_ELEMENTS_P2P/2);\n    tasks->p2pOrderSteps = comm->nNodes * steps;\n    tasks->peers = ncclMemoryStackAlloc<ncclTasks::Peer>(&comm->memPermanent, tasks->p2pOrderSteps);\n    tasks->p2pSendOrder = ncclMemoryStackAlloc<int>(&comm->memPermanent, tasks->p2pOrderSteps);\n    tasks->p2pRecvOrder = ncclMemoryStackAlloc<int>(&comm->memPermanent, tasks->p2pOrderSteps);\n    int i=0;\n    // schedule delta 0, +1, -1, +2, -2, ...\n    // also make sure we don't do 0 twice, nor +n/2 and -n/2 if n is even.\n    for (int d=0; d <= nNodes/4; d++) {\n      int deltas[4] = { d, (nNodes-d)%nNodes, nNodes/2-d, (nNodes-(nNodes/2-d))%nNodes };\n      int index = 0;\n      int delta = deltas[index];\n    sched_delta:\n      int recvNode = (node+nNodes-delta)%nNodes;\n      int sendNode = (node+delta)%nNodes;\n      for (int step=0; step < steps; step++) {\n        int recvIndex = (localRank-step+steps)%steps;\n\tint recvRank = recvIndex < nodeRanks[recvNode].localRanks ? nodeRanks[recvNode].localRankToRank[recvIndex] : -1;\n        tasks->p2pRecvOrder[i] = recvRank;\n        int sendIndex = (localRank+step)%steps;\n        int sendRank = sendIndex < nodeRanks[sendNode].localRanks ? nodeRanks[sendNode].localRankToRank[sendIndex] : -1;\n        tasks->p2pSendOrder[i] = sendRank;\n        i++;\n      }\n      index++;\n      if (index == 1 && deltas[1] == deltas[0]) index++;\n      if (index == 2 && deltas[2] == deltas[0]) index++;\n      if (index == 3 && deltas[3] == deltas[2]) index++;\n      if (index == 3 && deltas[3] == deltas[1]) index++;\n      if (index < 4) {\n        delta = deltas[index];\n        goto sched_delta;\n      }\n    }\n    assert(i == tasks->p2pOrderSteps);\n  } while (0);\n\n  if (ncclParamNvbPreconnect()) {\n    // Connect p2p when using NVB path\n    int nvbNpeers;\n    NCCLCHECKGOTO(ncclTopoGetNvbGpus(comm->topo, comm->rank, &nvbNpeers, &nvbPeers), ret, fail);\n    for (int r=0; r<nvbNpeers; r++) {\n      int peer = nvbPeers[r];\n      int channelId;\n      for (int c=0; c<comm->p2pnChannelsPerPeer; c++) {\n        NCCLCHECKGOTO(ncclChannelCompute(comm, peer, c, ncclFuncSend, &channelId), ret, fail);\n        if (comm->channels[channelId].peers[peer]->send[1].connected == 0) {\n          comm->connectSend[peer] |= (1UL<<channelId);\n        }\n      }\n      for (int c=0; c<comm->p2pnChannelsPerPeer; c++) {\n        NCCLCHECKGOTO(ncclChannelCompute(comm, peer, c, ncclFuncRecv, &channelId), ret, fail);\n        if (comm->channels[channelId].peers[peer]->recv[1].connected == 0) {\n          comm->connectRecv[peer] |= (1UL<<channelId);\n        }\n      }\n    }\n\n    NCCLCHECKGOTO(ncclTransportP2pSetup(comm, NULL, 1), ret, fail);\n  }\n#endif\n  // Connect to local net proxy\n  tpProxyRank = comm->topParentRanks[comm->rank];\n  //NCCLCHECKGOTO(ncclProxyConnect(comm, TRANSPORT_NET, 1, tpProxyRank, &proxyConn), ret, fail);\n  //NCCLCHECKGOTO(ncclProxyCallBlocking(comm, &proxyConn, ncclProxyMsgSharedInit, &comm->p2pnChannels, sizeof(int), NULL, 0), ret, fail);\n\n  // Then to remote ones when using PXN\n  if (ncclPxnDisable(comm) == 0) {\n    int nranks;\n    NCCLCHECKGOTO(ncclTopoGetPxnRanks(comm, &pxnPeers, &nranks), ret, fail);\n    for (int r=0; r<nranks; r++) {\n      tpProxyRank = comm->topParentRanks[pxnPeers[r]];\n      //NCCLCHECKGOTO(ncclProxyConnect(comm, TRANSPORT_NET, 1, tpProxyRank, &proxyConn), ret, fail);\n      //NCCLCHECKGOTO(ncclProxyCallBlocking(comm, &proxyConn, ncclProxyMsgSharedInit, &comm->p2pnChannels, sizeof(int), NULL, 0), ret, fail);\n    }\n  }\n\n#if 0\n  if (comm->intraRank == 0) { // Load ncclParamLaunchMode\n    char* str = getenv(\"NCCL_LAUNCH_MODE\");\n    enum ncclLaunchMode mode, modeOld;\n    if (str && strcasecmp(str, \"GROUP\") == 0) {\n      mode = ncclLaunchModeGroup;\n    } else {\n      mode = ncclLaunchModeParallel;\n    }\n    // In theory we could be racing with other communicators not associated with\n    // this one if the user is connecting to multiple ncclUniqueId's concurrently.\n    modeOld = __atomic_exchange_n(&ncclParamLaunchMode, mode, __ATOMIC_RELAXED);\n    if (modeOld == ncclLaunchModeInvalid && str && str[0]!='\\0') {\n      INFO(NCCL_ENV, \"NCCL_LAUNCH_MODE set by environment to %s\", mode == ncclLaunchModeParallel ? \"PARALLEL\" : \"GROUP\");\n    }\n  }\n\n  // Call devCommSetup before the last barrier, making sure we don't have a thread running in front and starting to\n  // launch NCCL kernels before all cuda mem allocation is complete. That could cause a deadlock.\n  NCCLCHECKGOTO(devCommSetup(comm), ret, fail);\n\n  /* Local intra-node barrier */\n  NCCLCHECKGOTO(bootstrapBarrier(comm->bootstrap, comm->localRankToRank, comm->localRank, comm->localRanks, comm->localRankToRank[0]), ret, fail);\n#endif\n  // We should have allocated all buffers, collective fifos, ... we can\n  // restore the affinity.\n  TRACE(NCCL_INIT, \"rank %d nranks %d - DONE\", rank, nranks);\n\nexit:\n  //if (CPU_COUNT(&comm->cpuAffinity)) sched_setaffinity(0, sizeof(cpu_set_t), &affinitySave);\n  /* If split resource is shared, we are not able to unlink the proxy ops pool here since the child comm can\n   * attach the proxy ops pool of parent at any time; otherwise, unlink it here to make sure the pool will be\n   * properly cleaned up. */\n  //if (comm->sharedRes->owner == comm && !comm->config.splitShare && ret == ncclSuccess) ncclProxyShmUnlink(comm);\n  free(allTopoRanks);\n  free(nodesTreePatterns);\n  free(nodesFirstRank);\n  //free(allGather3Data);\n  free(rings);\n  free(nvbPeers);\n  free(pxnPeers);\n  return ret;\nfail:\n  goto exit;\n}\n\nncclResult_t rocm_smi_init() {\n  return ncclSuccess;\n}\n\nncclResult_t rocm_smi_getNumDevice(uint32_t* num_devs) {\n  return ncclSuccess;\n}\n\nncclResult_t rocm_smi_getDevicePciBusIdString(uint32_t deviceIndex, char* busId, size_t len) {\n  return ncclSuccess;\n}\n\nncclResult_t rocm_smi_getDeviceIndexByPciBusId(const char* pciBusId, uint32_t* deviceIndex) {\n  return ncclSuccess;\n}\n\nncclResult_t rocm_smi_getLinkInfo(int srcIndex, int dstIndex, RSMI_IO_LINK_TYPE* rsmi_type, int *hops, int *count) {\n  return ncclSuccess;\n}\n\nint ncclNetVersion(struct ncclComm* comm) {\n  return 4;\n}\n\nbool mscclEnabled() {\n  return false;\n}\n\nbool mscclForceEnabled() {\n  return false;\n}\n\nncclResult_t mscclSchedulerInit(ncclComm_t comm, int* numChannelsRequired) {\n  return ncclSuccess;\n}\n\nuint64_t getHostHash(void) {\n  return 0xdeadbeef;\n}\n\nncclResult_t bootstrapIntraNodeAllGather(void* commState, int *ranks, int rank, int nranks, void* allData, int size) {\n  return ncclSuccess;\n}\n"
  }
]